diff --git a/cps/translations/ar/LC_MESSAGES/messages.mo b/cps/translations/ar/LC_MESSAGES/messages.mo index d83d9b910..75500a7d6 100644 Binary files a/cps/translations/ar/LC_MESSAGES/messages.mo and b/cps/translations/ar/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/ar/LC_MESSAGES/messages.po b/cps/translations/ar/LC_MESSAGES/messages.po index d1faa68ce..3573e6285 100644 --- a/cps/translations/ar/LC_MESSAGES/messages.po +++ b/cps/translations/ar/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2025-06-07 14:44+0300\n" "Last-Translator: UsamaFoad \n" "Language: ar\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "أمر غير معروف" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "تم بنجاح! الكتب في قائمة انتظار النسخ الاحتياطي للبيانات الوصفية، يُرجى مراجعة \"المهام\" لمعرفة النتيجة" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "غير معروف" @@ -60,7 +60,7 @@ msgstr "الاعدادات الأساسية" msgid "UI Configuration" msgstr "إعدادات واجهة المستخدم" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,444 +75,463 @@ msgstr "تحرير المستخدمين" msgid "All" msgstr "الكل" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "لم يتم العثور على المستخدم" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "تم حذف {} مستخدم(ين) بنجاح" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "إظهار الكل" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "طلب مشوه" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "لا يمكن تغيير اسم الضيف" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "لا يمكن للضيف الحصول على هذا الدور" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "لم يتبق مستخدم مسؤول، ولا يمكن إزالة دور المسؤول" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "القيمة يجب أن تكون صحيحة أو خاطئة" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "دور غير صالح" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "لا يمكن للضيف الحصول على هذا العرض" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "عرض غير صالح" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "يتم تحديد موقع الضيف تلقائيًا ولا يمكن تعيينه" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "لم يتم تحديد موقع صالح" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "لم يتم تقديم لغة الكتاب الصالحة" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "لم يتم العثور على المُتغير" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "عمود قراءة خاطئ" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "عمود مقيد خاطئ" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "تم تحديث تكوين Calibre-Web" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "هل تريد حقًا حذف رمز Kobo؟" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "هل تريد حقًا حذف هذا النطاق؟" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "هل تريد حقًا حذف هذا المستخدم؟" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "هل تريد حقًا حذف هذا النطاق؟" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "هل أنت متأكد أنك تريد حذف هذا الرف؟" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "هل أنت متأكد أنك تريد تغيير الإعدادات المحلية للمستخدم (المستخدمين) المحدد(ين)؟" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "هل أنت متأكد أنك تريد تغيير لغات الكتاب المرئية للمستخدم (للمستخدمين) المحدد(ين)؟" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "هل أنت متأكد أنك تريد تغيير الدور المحدد للمستخدم (المستخدمين) المحدد(ين)؟" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "هل أنت متأكد أنك تريد تغيير القيود المحددة للمستخدم(ين) المحدد(ين)؟" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "هل أنت متأكد أنك تريد تغيير القيود المحددة للمستخدم(ين) المحدد(ين)؟" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "هل أنت متأكد أنك تريد تغيير القيود المحددة للمستخدم(ين) المحدد(ين)؟" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "هل أنت متأكد أنك تريد تغيير قيود الرؤية المحددة للمستخدم (المستخدمين) المحدد(ين)؟" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "هل أنت متأكد أنك تريد تغيير سلوك مزامنة الرف للمستخدم (المستخدمين) المحدد(ين)؟" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "هل أنت متأكد أنك تريد تغيير موقع مكتبة Calibre؟" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "سيقوم Calibre-Web بالبحث عن أغلفة محدثة وتحديث صور الغلاف المصغرة، وقد يستغرق هذا بعض الوقت؟" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "هل أنت متأكد أنك تريد حذف قاعدة بيانات مزامنة Calibre-Web لفرض المزامنة الكاملة مع قارئ Kobo الخاص بك؟" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "منع" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "سماح" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "تم حذف {} إدخالات المزامنة" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "لم يتم العثور على العلامة" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "إجراء غير صالح" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "لم يتم تكوين ملف client_secrets.json لتطبيق الويب" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "موقع ملف السجل غير صالح، يرجى إدخال المسار الصحيح" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "موقع ملف سجل الوصول غير صالح، يرجى إدخال المسار الصحيح" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "الرجاء إدخال موفر LDAP والمنفذ والاسم المميز ومعرف كائن المستخدم" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "الرجاء إدخال حساب خدمة LDAP وكلمة المرور" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "الرجاء إدخال حساب خدمة LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "يجب أن يحتوي مرشح كائن مجموعة LDAP على معرف تنسيق \"%s\" واحد" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "مرشح كائن مجموعة LDAP يحتوي على أقواس غير متطابقة" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "يجب أن يحتوي مرشح كائن مستخدم LDAP على معرف تنسيق \"%s\" واحد" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "مرشح كائن مستخدم LDAP يحتوي على أقواس غير متطابقة" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "يجب أن يحتوي مرشح مستخدم عضو LDAP على معرف تنسيق \"%s\" واحد" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "مرشح مستخدم عضو LDAP لديه أقواس غير متطابقة" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "شهادة LDAP CAC أو الشهادة أو موقع المفتاح غير صالح، يرجى إدخال المسار الصحيح" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "إضافة مستخدم جديد" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "تعديل إعدادات خادم البريد الإلكتروني" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "تم التحقق بنجاح! تم التحقق من حساب Gmail." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "عفواً! خطأ في قاعدة البيانات: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "تم وضع البريد الإلكتروني التجريبي في قائمة الانتظار لإرساله إلى %(email)s، يرجى التحقق من المهام للحصول على النتيجة" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "حدث خطأ أثناء إرسال البريد الإلكتروني الاختباري: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "يرجى تكوين عنوان بريدك الإلكتروني أولاً..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "تم تحديث إعدادات خادم البريد الإلكتروني" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "تحرير إعدادات المهام المجدولة" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "وقت بدء غير صالح للمهمة المحددة" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "مدة غير صالحة للمهمة المحددة" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "تم تحديث إعدادات المهام المجدولة" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "عفواً! حدث خطأ غير معروف. يُرجى المحاولة لاحقًا." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "قاعدة بيانات الإعدادات غير قابلة للكتابة" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "تعديل المستخدم %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "تم بنجاح! تم إعادة تعيين كلمة المرور للمستخدم %(user)s" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "عفواً! يُرجى ضبط إعدادات بريد SMTP." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "عارض ملف السجل" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "طلب حزمة التحديث" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "تنزيل حزمة التحديث" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "فك ضغط حزمة التحديث" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "استبدال الملفات" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "تم إغلاق اتصالات قاعدة البيانات" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "إيقاف الخادم" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "إيقاف الخادم تم الانتهاء من التحديث، الرجاء الضغط على موافق وإعادة تحميل الصفحة" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "فشل التحديث:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "خطأ HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "خطأ في الاتصال" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "انتهاء المهلة أثناء إنشاء الاتصال" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "خطأ عام" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "لم يتم حفظ ملف التحديث في الدليل المؤقت" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "لم يكن من الممكن استبدال الملفات أثناء التحديث" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "فشل استخراج مستخدم LDAP واحد على الأقل" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "فشل إنشاء مستخدم LDAP واحد على الأقل" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "خطأ: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "خطأ: لم يتم إرجاع أي مستخدم استجابةً لخادم LDAP" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "لم يتم العثور على مستخدم LDAP واحد على الأقل في قاعدة البيانات" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} تم استيراد المستخدم بنجاح" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "مسار الكتب غير صالح" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "موقع قاعدة البيانات غير صالح، يرجى إدخال المسار الصحيح" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "قاعدة البيانات غير قابلة للكتابة" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "موقع الملف الرئيسي غير صالح، يرجى إدخال المسار الصحيح" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "موقع ملف الشهادة غير صالح، يرجى إدخال المسار الصحيح" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "يجب أن يكون طول كلمة المرور بين 1 و 40" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "تم تحديث إعدادات قاعدة البيانات" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "تكوين قاعدة البيانات" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "عفواً! الرجاء تعبئة جميع الحقول." -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "البريد الإلكتروني ليس من نطاق صالح" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "إضافة مستخدم جديد" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "تم إنشاء المستخدم '%(user)s'" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "عفواً! يوجد حساب بالفعل لهذا البريد الإلكتروني أو الاسم." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "تم حذف المستخدم '%(nick)s'" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "لا يمكن حذف المستخدم الضيف" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "لم يتبق مستخدم مسؤول، لا يمكن حذف المستخدم" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "لا يمكن أن يكون البريد الإلكتروني فارغًا ويجب أن يكون بريدًا إلكترونيًا صالحًا" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "تم تحديث المستخدم '%(nick)s'" @@ -541,114 +560,130 @@ msgstr "أذونات التنفيذ مفقودة" msgid "None" msgstr "غير موجود" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "تم تحميل الملف %(file)s" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "تنسيق المصدر أو الوجهة للتحويل مفقود" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "تم وضع الكتاب في قائمة الانتظار بنجاح للتحويل إلى %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "حدث خطأ أثناء تحويل هذا الكتاب: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "تم حذف الرف بنجاح" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "عفواً! الكتاب المحدد غير متوفر. الملف غير موجود أو غير قابل للوصول" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "ليس لدى المستخدم الحق في تحميل الغلاف" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "المعرفات ليست حساسة لحالة الأحرف، مما يؤدي إلى استبدال المعرف القديم" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' ليست لغة صالحة" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "تم تحديث البيانات الوصفية بنجاح" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "خطأ في تحرير الكتاب: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "من المحتمل أن يكون الكتاب الذي تم تحميله موجودًا في المكتبة، لذا فكر في التغيير قبل تحميل كتاب جديد: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "لا يُسمح بتحميل نوع الملف إلى هذا الخادم" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "لا يُسمح بتحميل ملحق الملف '%(ext)s' إلى هذا الخادم" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "يجب أن يكون للملف المراد تحميله امتداد" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "لم يتم حفظ الملف %(filename)s في الدليل المؤقت" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "فشل نقل ملف الغلاف %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "تم حذف تنسيق الكتاب بنجاح" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "تم حذف الكتاب بنجاح" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "أنت تفتقد الأذونات اللازمة لحذف الكتب" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "تحرير البيانات الوصفية" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "مؤشر السلسلة: %(seriesindex)s ليس رقمًا صالحًا، تخطي" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "ليس للمستخدم الحق في تحميل تنسيقات ملفات إضافية" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "فشل إنشاء المسار %(path)s (تم رفض الإذن)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "فشل تخزين الملف %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "تمت إضافة تنسيق الملف %(ext)s إلى %(book)s" @@ -666,12 +701,12 @@ msgstr "لم يتم التحقق من نطاق الاتصال، يرجى اتب msgid "%(format)s format not found for book id: %(book)d" msgstr "لم يتم العثور على تنسيق %(format)s لمعرف الكتاب: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "لم يتم العثور على %(format)s على Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "لم يتم العثور على %(format)s: %(fn)s" @@ -720,136 +755,142 @@ msgstr "%(book)s إرسال إلى القارئ الإلكتروني" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "لم تتم قراءة الملف المطلوب. ربما الأذونات خاطئة؟" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "لم يتم ضبط حالة القراءة: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "فشلت عملية حذف مجلد الكتاب %(id)s، المسار يحتوي على مجلدات فرعية: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "حذف الكتاب %(id)s فشل %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "حذف الكتاب %(id)s من قاعدة البيانات فقط، مسار الكتاب في قاعدة البيانات غير صالح: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "فشلت عملية إعادة تسمية المؤلف من: '%(src)s' إلى '%(dest)s' مع الخطأ: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "لم يتم العثور على الملف %(file)s على Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "فشلت عملية إعادة تسمية العنوان من: '%(src)s' إلى '%(dest)s' مع الخطأ: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "لم يتم العثور على مسار الكتاب %(path)s على Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "تم العثور على حساب موجود لعنوان البريد الإلكتروني هذا" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "اسم المستخدم هذا مستخدم بالفعل" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "تنسيق عنوان البريد الإلكتروني غير صالح" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "كلمة المرور لا تتوافق مع قواعد التحقق من صحة كلمة المرور" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "لم يتم تثبيت وحدة Python 'advocate' ولكنها ضرورية لتحميلات الغلاف" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "خطأ في تنزيل الغلاف" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "خطأ في تنسيق الغلاف" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "لا يُسمح لك بالوصول إلى localhost أو الشبكة المحلية لتحميل الغلاف" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "فشل في إنشاء مسار الغلاف" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "ملف الغلاف ليس ملف صورة صالحًا، أو لا يمكن تخزينه" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "ملفات jpg/jpeg/png/webp/bmp فقط مدعومة كملفات غلاف" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "محتوى ملف الغلاف غير صالح" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "ملفات jpg/jpeg فقط مدعومة كملفات غلاف" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "الغلاف" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "ملف UnRar الثنائي غير موجود" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "خطأ في تنفيذ UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "تعذر العثور على الدليل المحدد" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "الرجاء تحديد دليل، وليس ملف" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "ملفات Calibre الثنائية غير قابلة للاستخدام" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "ملفات Calibre الثنائية مفقودة: %(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "أذونات التنفيذ مفقودة: %(missing)s" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "خطأ في تنفيذ Calibre" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "وضع جميع الكتب في قائمة الانتظار لنسخ البيانات الوصفية احتياطيًا" @@ -916,6 +957,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "خطأ في OAuth الخاص بـ GitHub، يرجى المحاولة لاحقًا." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "خطأ في OAuth الخاص بـ GitHub: {}" @@ -924,10 +966,12 @@ msgid "Google Oauth error, please retry later." msgstr "خطأ في OAuth الخاص بـ Google، يرجى المحاولة لاحقًا." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "خطأ في OAuth الخاص بـ Google: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} نجوم" @@ -1009,7 +1053,7 @@ msgstr "اكتشف" msgid "Show Random Books" msgstr "عرض الكتب العشوائية" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "الفئات" @@ -1019,7 +1063,7 @@ msgid "Show Category Section" msgstr "عرض قسم الفئات" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "السلاسل" @@ -1028,7 +1072,7 @@ msgstr "السلاسل" msgid "Show Series Section" msgstr "عرض قسم السلاسل" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "المؤلفون" @@ -1037,7 +1081,7 @@ msgstr "المؤلفون" msgid "Show Author Section" msgstr "عرض قسم المؤلفين" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "الناشرون" @@ -1046,7 +1090,7 @@ msgstr "الناشرون" msgid "Show Publisher Section" msgstr "عرض قسم الناشرين" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1273,7 +1317,7 @@ msgstr "بيانات غير متوقعة أثناء قراءة معلومات ا msgid "No update available. You already have the latest version installed" msgstr "لا يوجد تحديث متاح. لديك بالفعل أحدث إصدار مثبت" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "يتوفر تحديث جديد. انقر على الزر أدناه للتحديث إلى أحدث إصدار." @@ -1281,7 +1325,7 @@ msgstr "يتوفر تحديث جديد. انقر على الزر أدناه لل msgid "Could not fetch update information" msgstr "تعذر جلب معلومات التحديث" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "انقر على الزر أدناه للتحديث إلى أحدث إصدار مستقر." @@ -1492,7 +1536,7 @@ msgstr "فشل محول الكتب الإلكترونية بخطأ غير معر msgid "Kepubify-converter failed: %(error)s" msgstr "فشل محول Kepubify: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "لم يتم العثور على الملف المحول أو أكثر من ملف واحد في المجلد %(folder)s" @@ -1534,6 +1578,7 @@ msgid "Cover Thumbnails" msgstr "صور الغلاف المصغرة" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "تم إنشاء {0} صور مصغرة للمسلسلات" @@ -1585,15 +1630,15 @@ msgstr "تنزيل" msgid "View Books" msgstr "عرض الكتب" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "تحرير" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "حذف" @@ -1786,7 +1831,10 @@ msgid "OK" msgstr "موافق" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2076,125 +2124,205 @@ msgstr "خطأ في البحث!" msgid "No Result(s) found! Please try another keyword." msgstr "لم يتم العثور على نتائج! يرجى تجربة كلمة مفتاحية أخرى." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "هذا الحقل مطلوب" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "دمج الكتب المختارة" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "دمج الكتب المختارة" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "دمج الكتب المختارة" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "دمج الكتب المختارة" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "دمج الكتب المختارة" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "إزالة التحديدات" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "دمج الكتب المختارة" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "تبديل المؤلف والعنوان" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "تحديث ترتيب العنوان تلقائيًا" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "تحديث ترتيب المؤلف تلقائيًا" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "أدخل العنوان" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "العنوان" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "أدخل ترتيب العنوان" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "ترتيب العنوان" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "أدخل ترتيب المؤلف" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "ترتيب المؤلف" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "أدخل المؤلفين" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "أدخل الفئات" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "أدخل السلاسل" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "فهرس السلسلة" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "أدخل اللغات" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "تاريخ النشر" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "أدخل الناشرين" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "أدخل التعليقات" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "التعليقات" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "حالة الأرشيف" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "أدخل " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "دمج الكتب المختارة" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "هل أنت متأكد حقًا؟" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "سيتم دمج الكتب ذات العنوان من:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "إلى الكتاب ذي العنوان:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "دمج" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "أرشفة" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "أرشفة" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "وضع علامة كـ مقروء" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "وضع علامة كـ غير مقروء" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "تحرير البيانات الوصفية" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "موقع قاعدة بيانات Calibre" @@ -2687,10 +2815,6 @@ msgstr "إضافة إلى الأرشيف" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "وضع علامة على الكتاب كـ مؤرشف أو لا، لإخفائه في Calibre-Web وحذفه من قارئ Kobo" -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "أرشفة" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2703,10 +2827,6 @@ msgstr "إضافة إلى الرف" msgid "(Public)" msgstr "(عام)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "تحرير البيانات الوصفية" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "نوع حساب البريد الإلكتروني" diff --git a/cps/translations/cs/LC_MESSAGES/messages.mo b/cps/translations/cs/LC_MESSAGES/messages.mo index 846c06771..572c73cf8 100644 Binary files a/cps/translations/cs/LC_MESSAGES/messages.mo and b/cps/translations/cs/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/cs/LC_MESSAGES/messages.po b/cps/translations/cs/LC_MESSAGES/messages.po index de487c332..7927542a2 100644 --- a/cps/translations/cs/LC_MESSAGES/messages.po +++ b/cps/translations/cs/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2020-06-09 21:11+0100\n" "Last-Translator: Lukas Heroudek \n" "Language: cs_CZ\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -44,8 +44,8 @@ msgstr "Neznámý příkaz" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Kniha byla úspěšně zařazena do fronty pro odeslání na %(eReadermail)s" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Neznámý" @@ -62,7 +62,7 @@ msgstr "Základní konfigurace" msgid "UI Configuration" msgstr "Konfigurace uživatelského rozhraní" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,455 +78,474 @@ msgstr "Uživatel admin" msgid "All" msgstr "Vše" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Uživatel nenalezen" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Zobrazit vše" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Nezbývá žádný správce, nelze odebrat roli správce" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Konfigurace Calibre-Web aktualizována" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Opravdu chcete odstranit Kobo token?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Opravdu chcete odstranit Kobo token?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Jste si jisti, že chcete odstranit tuto polici?" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Jste si jisti, že chcete odstranit tuto polici?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Jste si jisti, že chcete odstranit tuto polici?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Jste si jisti, že chcete odstranit tuto polici?" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Jste si jisti, že chcete odstranit tuto polici?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Jste si jisti, že chcete odstranit tuto polici?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Opravdu chcete vypnout?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Zakázat" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Povolit" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json není nakonfigurováno pro webové aplikace" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Umístění zápisového souboru není platné. Určete prosím platnou polohu" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Umístění zápisového souboru pro přístup není platné. Určete prosím platnou polohu" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Prosím zadejte LDAP poskytovatele, port, DN a Identifikátor objektu uživatele" -#: cps/admin.py:1223 +#: cps/admin.py:1228 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Zadejte platné uživatelské jméno pro obnovení hesla" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Filtr objektů skupiny LDAP musí mít jeden “%s” formátový identifikátor" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filtr objektů skupiny LDAP má nesrovnatelnou závorku" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Filtr uživatelských objektů LDAP musí mít jeden “%s” formátový identifikátor" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filtr uživatelských objektů LDAP má nesrovnatelnou závorku" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Přidat nového uživatele" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Změnit SMTP nastavení" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Chyba databáze: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Při odesílání zkušebního e-mailu došlo k chybě: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Prvně nastavte svou e-mailovou adresu..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Nastavení e-mailového serveru aktualizováno" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Neznámá chyba. Opakujte prosím později." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Upravit uživatele %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Heslo pro uživatele %(user)s resetováno" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Nejprve nakonfigurujte nastavení pošty SMTP..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Prohlížeč log souborů" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Požadování balíčku aktualizace" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Stahování balíčku aktualizace" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Rozbalování balíčku aktualizace" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Nahrazování souborů" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Databázová připojení jsou uzavřena" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Zastavuji server" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Aktualizace dokončena, klepněte na tlačítko OK a znovu načtěte stránku" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Aktualizace selhala:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP chyba" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Chyba připojení" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Vypršel časový limit při navazování spojení" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Všeobecná chyba" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Aktualizační soubor nemohl být uložen do Temp Dir" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Nepodařilo se vytvořit nejméně jednoho uživatele LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Chyba: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Chyba: Žádná reakce od uživatele LDAP serveru" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Nejméně jeden uživatel LDAP nenalezen v databázi" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Umístění databáze není platné, opravte prosím cestu" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "Databáze není zapisovatelná" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Umístění souboru klíčů není platné, zadejte prosím správnou cestu" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Umístění certifikátu není platné, zadejte prosím správnou cestu" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "Nastavení e-mailového serveru aktualizováno" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Konfigurace funkcí" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Vyplňte všechna pole!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-mail není z platné domény" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Přidat nového uživatele" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Uživatel '%(user)s' vytvořen" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Byl nalezen existující účet pro tuto e-mailovou adresu nebo přezdívku." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Uživatel '%(nick)s' smazán" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Nezbývá žádný správce, nemůžete jej odstranit" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Uživatel '%(nick)s' aktualizován" @@ -555,115 +574,131 @@ msgstr "Chybí povolení k exekuci" msgid "None" msgstr "Žádné" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Soubor %(file)s nahrán" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Chybí zdrojový nebo cílový formát pro převod" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Kniha byla úspěšně zařazena do fronty pro převod do %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Při převodu této knihy došlo k chybě: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Kniha úspěšně smazána" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Jejda! Vybraná kniha není k dispozici. Soubor neexistuje nebo není přístupný" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s není platným jazykem" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadata úspěšně aktualizována" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Nahraná kniha pravděpodobně existuje v knihovně, zvažte prosím změnu před nahráním nové: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Soubor s příponou '%(ext)s' nelze odeslat na tento server" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Soubor s příponou '%(ext)s' nelze odeslat na tento server" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Soubor, který má být odeslán musí mít příponu" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Soubor %(filename)s nemohl být uložen do dočasného adresáře" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Nepodařilo se přesunout soubor obalu %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Formát knihy úspěšně smazán" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Kniha úspěšně smazána" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "upravit metadata" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nepodařilo se vytvořit cestu %(path)s (oprávnění odepřeno)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Uložení souboru %(file)s se nezdařilo." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formát souboru %(ext)s přidán do %(book)s" @@ -681,12 +716,12 @@ msgstr "Doména zpětného volání není ověřena, postupujte podle pokynů k msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formát pro knihu: %(book)d nenalezen" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s nenalezen na Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nenalezen: %(fn)s" @@ -739,140 +774,146 @@ msgstr "Poslat do Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Požadovaný soubor nelze přečíst. Možná nesprávná oprávnění?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Mazání knihy selhalo %(id)s failed: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Mazání knihy %(id)s, cesta ke knize není platná %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Soubor %(file)s nenalezen na Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Přejmenování názvu z: '%(src)s' na '%(dest)s' selhalo chybou: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Cesta ke knize %(path)s nebyla nalezena na Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Zadané uživatelské jméno je již použito" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Chyba stahování obalu" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Chyba formátu obalu" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Vytvoření cesty obalu selhalo" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Soubor obalu není platný, nebo nelze uložit" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Pouze jpg/jpeg jsou podporované soubory pro obal" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Objevte" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "UnRar binární soubor nenalezen" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Chyba provádění UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "Databáze není zapisovatelná" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Chybí povolení k exekuci" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Chyba provádění UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -940,6 +981,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth chyba, prosím opakujte později." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -948,10 +990,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth chyba, prosím opakujte později." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "" @@ -1034,7 +1078,7 @@ msgstr "Objevte" msgid "Show Random Books" msgstr "Zobrazit náhodné knihy" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategorie" @@ -1045,7 +1089,7 @@ msgid "Show Category Section" msgstr "Zobrazit výběr kategorie" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Série" @@ -1055,7 +1099,7 @@ msgstr "Série" msgid "Show Series Section" msgstr "Zobrazit výběr sérií" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autoři" @@ -1065,7 +1109,7 @@ msgstr "Autoři" msgid "Show Author Section" msgstr "Zobrazit výběr autora" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Vydavatelé" @@ -1075,7 +1119,7 @@ msgstr "Vydavatelé" msgid "Show Publisher Section" msgstr "Zobrazit výběr vydavatele" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1309,7 +1353,7 @@ msgstr "Neočekávaná data při čtení informací o aktualizaci" msgid "No update available. You already have the latest version installed" msgstr "Aktualizace není k dispozici. Máte nainstalovanou nejnovější verzi" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Nová aktualizace k dispozici. Klepnutím na tlačítko níže aktualizujte na nejnovější verzi." @@ -1317,7 +1361,7 @@ msgstr "Nová aktualizace k dispozici. Klepnutím na tlačítko níže aktualizu msgid "Could not fetch update information" msgstr "Nelze získat informace o aktualizaci" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Klepnutím na tlačítko níže aktualizujte na nejnovější stabilní verzi." @@ -1538,7 +1582,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-převaděč selhal: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Převedený soubor nebyl nalezen nebo více než jeden soubor ve složce %(folder)s" @@ -1581,6 +1625,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1633,15 +1678,15 @@ msgstr "Stahovat" msgid "View Books" msgstr "Prohlížení knih" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Upravovat" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Smazat" @@ -1835,7 +1880,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2126,127 +2174,207 @@ msgstr "Chyba vyhledávání!" msgid "No Result(s) found! Please try another keyword." msgstr "Nebyly nalezeny žádné výsledky! Zadejte jiné klíčové slovo." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Archivované knihy" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Archivované knihy" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Označit jako nepřečtené" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Označit jako nepřečtené" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +msgid "Clear selections" msgstr "" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Smazat knihu" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Název" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Zadejte jméno domény" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Identifikátory" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Smazat knihu" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Jste si opravdu jisti?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Archivováno" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Archivováno" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Označit jako přečtené" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Označit jako nepřečtené" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Upravit metadata" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Umístění Calibre databáze" @@ -2747,11 +2875,6 @@ msgstr "Archívovat" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Archivováno" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2764,10 +2887,6 @@ msgstr "Přidat do police" msgid "(Public)" msgstr "(Veřejné)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Upravit metadata" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo index 2dc96605e..59022c03a 100644 Binary files a/cps/translations/de/LC_MESSAGES/messages.mo and b/cps/translations/de/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/de/LC_MESSAGES/messages.po b/cps/translations/de/LC_MESSAGES/messages.po index b4ed57439..545bbeeef 100644 --- a/cps/translations/de/LC_MESSAGES/messages.po +++ b/cps/translations/de/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2024-11-16 20:41+0100\n" "Last-Translator: Ozzie Isaacs\n" "Language: de\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "Unbekannter Befehl" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Bücher wurden für Metadaten Backup eingereiht, für das Ergebnis bitte Aufgaben überprüfen" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Unbekannt" @@ -60,7 +60,7 @@ msgstr "Basiskonfiguration" msgid "UI Configuration" msgstr "Benutzeroberflächenkonfiguration" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,444 +75,463 @@ msgstr "Benutzer bearbeiten" msgid "All" msgstr "Alle" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Benutzer nicht gefunden" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} Benutzer erfolgreich gelöscht" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Zeige alle" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Ungültige Anfrage" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Name 'Guest' kann nicht geändert werden" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Benutzer 'Guest' kann diese Rolle nicht haben" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Kein Admin Benutzer verblieben, Admin Berechtigung kann nicht entfernt werden" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Wert muss true oder false sein" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Ungültige Rolle" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Benutzer 'Guest' kann diese Ansicht nicht haben" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Ungültige Ansicht" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Sprache von 'Guest' wird automatisch bestimmt und kann nicht eingestellt werden" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Keine gültige Sprache gewählt" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Keine gültige Buchsprache gewählt" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parameter wurde nicht gefunden" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Ungültige Gelesen Spalte" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Ungültiger Spaltenname für Einschränkung" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Konfiguration von Calibre-Web wurde aktualisiert" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Möchten Sie den Kobo Token wirklich löschen?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Möchten Sie diese Domain wirklich löschen?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Möchten Sie diesen Benutzer wirklich löschen?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Möchten Sie diese Domain wirklich löschen?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Möchten Sie dieses Bücherregal wirklich löschen?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Möchten Sie die Anzeigesprache der ausgewählten Benutzer wirklich ändern?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Möchten Sie die Büchersprachen für die ausgewählten Benutzer wirklich ändern?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Möchten Sie die ausgewählte Rolle für die ausgewählten Benutzer wirklich verändern?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Möchten Sie die ausgewählten Sichtbarkeitsbeschränkungen der ausgewählten Benutzer wirklich ändern?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Möchten Sie die ausgewählten Sichtbarkeitsbeschränkungen der ausgewählten Benutzer wirklich ändern?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Möchten Sie die ausgewählten Sichtbarkeitsbeschränkungen der ausgewählten Benutzer wirklich ändern?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Möchten Sie die Sichtbarkeiten für die ausgewählten Benutzer wirklich verändern?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Möchten Sie die Synchronisation von Bücherregalen für die ausgewählten Benutzer wirklich verändern?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Ort der Calibre Datenbank editieren?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web wird nach neuen Covern suchen und Cover Miniaturansichten aktualisieren, dies kann eine Weile dauern?" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Möchten Sie die Synchronisationsdatenbank von Calibre-Web wirklich löschen, um eine komplette Synchronisation zu erzwingen?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Verbieten" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Erlauben" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} Synchronisationseinträge gelöscht" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Tag nicht gefunden" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Ungültige Aktion" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json ist nicht für Web Anwendungen konfiguriert" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Logdatei Pfad ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Zugriffs-Logdatei Pfad ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Bitte einen LDAP Server, Port, DN und Benutzer Objekt Identifikator angeben" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Bitte einen LDAP Service Account und Passwort eingeben" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Bitte einen LDAP Service Account eingeben" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP Gruppen Objekt Filter benötigt genau eine \"%s\" Format Kennung" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP Gruppen Objekt Filter hat ungleiche Anzahl von Klammern" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Benutzer Objekt Filter benötigt genau eine \"%s\" Format Kennung" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP Benutzer Objekt Filter hat ungleiche Anzahl von Klammern" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Der LDAP Member User Filter benötigt genau eine \"%s\" Formatierungsmarkierung" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP Member User Filter hat eine ungleiche Anzahl von geöffneten und geschlossenen Klammern" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA-Zertifikat, Zertifikat oder Key Datei ist kein gültiger Pfad" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Neuen Benutzer hinzufügen" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "SMTP-Einstellungen ändern" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "G-Mail Konto verifiziert." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Datenbankfehler: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Test E-Mail an %(email)s wurde zum Senden in die Warteschlange eingereiht, für das Ergebnis bitte Aufgaben überprüfen" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Es trat ein Fehler beim Versenden der Test-E-Mail auf: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Bitte zuerst E-Mail Adresse konfigurieren..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Einstellungen des E-Mail-Servers aktualisiert" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Einstellungen für Geplante Aufgaben" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Ungültigen Startzeitpunkt für Aufgaben spezifiziert" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Ungültige Laufzeit für Aufgaben spezifiziert" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Einstellungen für Geplante Aufgaben aktualisiert" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Es ist ein unbekannter Fehler aufgetreten. Bitte später erneut versuchen." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "Einstellungsdatenbank ist nicht schreibbar" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Benutzer %(nick)s bearbeiten" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "Passwort für Benutzer %(user)s wurde zurückgesetzt" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "Bitte zuerst die SMTP-Einstellungen konfigurieren." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Logdatei Anzeige" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Frage Update an" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Lade Update herunter" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Entpacke Update" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Ersetze Dateien" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Schließe Datenbankverbindungen" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Stoppe Server" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Update abgeschlossen, bitte okay drücken und Seite neu laden" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Update fehlgeschlagen:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP Fehler" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Verbindungsfehler" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Timeout beim Verbindungsaufbau" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Allgemeiner Fehler" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Updatedatei konnte nicht in temporärem Ordner gespeichert werden" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Dateien konnten während des Updates nicht ausgetauscht werden" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Mindestens ein LDAP Benutzer konnte nicht extrahiert werden" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Mindestens ein LDAP Benutzer konnte nicht erzeugt werden" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Fehler: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Fehler: Keine Benutzerinformationen von LDAP Server empfangen" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Mindestens ein LDAP Benutzer wurde nicht in der Datenbank gefudnen" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} Benutzer erfolgreich importiert" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "Bücherpfad ungültig" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "DB Pfad ist nicht gültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "Datenbank ist nicht schreibbar" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Schlüsseldatei ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Zertifikatsdatei ist ungültig, bitte einen gültigen Pfad angeben" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "Passwortlänge muss zwischen 1 und 40 Zeichen liegen" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Datenbankeinstellung aktualisiert" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Datenbank-Konfiguration" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Bitte alle Felder ausfüllen." -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-Mail bezieht sich nicht auf eine gültige Domain" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Neuen Benutzer hinzufügen" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Benutzer '%(user)s' angelegt" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Es existiert bereits ein Account für diese E-Mail Adresse oder diesen Benutzernamen." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Benutzer '%(nick)s' gelöscht" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Benutzer 'Guest' kann nicht gelöscht werden" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Benutzer kann nicht gelöscht werden, es wäre kein Admin Benutzer übrig" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "E-Mail kann nicht leer sein und muss gültig sein" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Benutzer '%(nick)s' aktualisiert" @@ -541,114 +560,130 @@ msgstr "Ausführberechtigung fehlt" msgid "None" msgstr "Keine" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Datei %(file)s hochgeladen" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Quell- oder Zielformat für Konvertierung fehlt" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Buch wurde erfolgreich für die Konvertierung nach %(book_format)s eingereiht" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Es trat ein Fehler beim Konvertieren des Buches auf: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Bücherregal erfolgreich gelöscht" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Öffnen des Buches fehlgeschlagen. Datei existiert nicht oder ist nicht zugänglich" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "Benutzer hat keine Berechtigung Cover hochzuladen" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDs unterscheiden nicht zwischen Groß- und Kleinschreibung, alte ID wird überschrieben" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' ist keine gültige Sprache" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadaten wurden erfolgreich aktualisiert" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Fehler beim Editieren des Buches: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Das hochgeladene Buch existiert evtl. schon in der Bibliothek: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "Dateityp kann nicht auf diesen Server hochgeladen werden" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Dateiendung '%(ext)s' kann nicht auf diesen Server hochgeladen werden" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Dateien müssen eine Erweiterung haben, um hochgeladen zu werden" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Die Datei %(filename)s konnte nicht im temporären Ordner gespeichert werden" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Fehler beim Verschieben der Cover Datei %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Buch Format erfolgreich gelöscht" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Buch erfolgreich gelöscht" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Keine Erlaubnis zum Löschen von Büchern" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "Metadaten editieren" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "Serienindex %(seriesindex)s ist keine gültige Zahl, Eintrag wird ignoriert" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "Benutzer hat kein Recht zusätzliche Dateiformate hochzuladen" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fehler beim Erzeugen des Pfads %(path)s (Zugriff verweigert)" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Fehler beim Speichern der Datei %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Dateiformat %(ext)s zu %(book)s hinzugefügt" @@ -666,12 +701,12 @@ msgstr "Callback Domain ist nicht verifiziert, bitte Domain in der Google Develo msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s Format für Buch-ID %(book)d nicht gefunden" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s von Buch %(fn)s nicht auf Google Drive gefunden" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nicht gefunden: %(fn)s" @@ -720,136 +755,142 @@ msgstr "%(book)s an E-Reader gesendet" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Die angeforderte Datei konnte nicht gelesen werden. Evtl. falsche Zugriffsrechte?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Gelesen-Status konnte nicht aktualisiert werden: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Löschen des Ordners für Buch %(id)s ist fehlgeschlagen, der Pfad hat Unterordner: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Löschen von Buch %(id)s fehlgeschlagen: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Lösche Buch %(id)s nur aus Datenbank, Pfad zum Buch in Datenbank ist nicht gültig: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Umbenennen des Autors '%(src)s' zu '%(dest)s' fehlgeschlagen: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Datei %(file)s wurde nicht auf Google Drive gefunden" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Umbenennen des Titels '%(src)s' zu '%(dest)s' fehlgeschlagen: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Buchpfad %(path)s wurde nicht auf Google Drive gefunden" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "Es existiert bereits ein Benutzerkonto für diese E-Mail Adresse" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Benutzername ist schon vorhanden" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "Ungültiges E-Mail Adressformat" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "Passwort stimmt nicht mit den Passwortregeln überein" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Python Modul 'advocate' ist nicht installiert, wird aber für das Hochladen von Covern benötigt" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Fehler beim Herunterladen des Covers" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Coverdatei fehlerhaft" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Keine Berechtigung Cover von localhost oder dem lokalen Netzwerk hochzuladen" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Fehler beim Erzeugen des Ordners für die Coverdatei" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Coverdatei ist keine gültige Bilddatei, kann nicht gespeichert werden" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Nur jpg/jpeg/png/webp/bmp Dateien werden als Coverdatei unterstützt" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Ungültiger Coverdatei-Inhalt" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Es werden nur jpg/jpeg Dateien als Cover unterstützt" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "Titelbild" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "UnRar Programm nicht gefunden" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "Fehler beim Ausführen von UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "Angegebener Ordner konnte nicht gefunden werden" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "Bitte keine Datei sondern einen Ordner angeben" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "Calibre Programm ist nicht nutzbar" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "Fehlende Calibre Binärdateien: %(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Ausführberechtigung fehlt: %(missing)s" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "Fehler beim Ausführen von Calibre" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Alle Bücher für Metadaten Backup einreihen" @@ -916,6 +957,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub OAuth Fehler, bitte später erneut versuchen." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Github OAuth Fehler {}" @@ -924,10 +966,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google OAuth Fehler, bitte später erneut versuchen." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google OAuth Fehler: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} Sterne" @@ -1009,7 +1053,7 @@ msgstr "Entdecken" msgid "Show Random Books" msgstr "Zeige zufällige Bücher" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategorien" @@ -1019,7 +1063,7 @@ msgid "Show Category Section" msgstr "Zeige Kategorien" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Serien" @@ -1028,7 +1072,7 @@ msgstr "Serien" msgid "Show Series Section" msgstr "Zeige Serien" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autoren" @@ -1037,7 +1081,7 @@ msgstr "Autoren" msgid "Show Author Section" msgstr "Zeige Autoren" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Verleger" @@ -1046,7 +1090,7 @@ msgstr "Verleger" msgid "Show Publisher Section" msgstr "Zeige Verleger" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1273,7 +1317,7 @@ msgstr "Updateinformationen enthalten unbekannte Daten" msgid "No update available. You already have the latest version installed" msgstr "Kein Update verfügbar. Es ist bereits die aktuellste Version installiert" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Es sind Updates verfügbar. Klicke auf den Button unten, um auf die aktuellste Version zu aktualisieren." @@ -1281,7 +1325,7 @@ msgstr "Es sind Updates verfügbar. Klicke auf den Button unten, um auf die aktu msgid "Could not fetch update information" msgstr "Updateinformationen konnten nicht geladen werden" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Klicke auf den Button unten, um auf die letzte stabile Version zu aktualisieren." @@ -1492,7 +1536,7 @@ msgstr "E-Book Converter mit unbekanntem Fehler fehlgeschlagen" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify Konverter Aufruf fehlgeschlagen: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Konvertierte Datei nicht gefunden, oder mehr als eine Datei im Pfad %(folder)s" @@ -1534,6 +1578,7 @@ msgid "Cover Thumbnails" msgstr "Cover Miniaturansichten" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "{0} Serien Miniaturansichten erzeugt" @@ -1585,15 +1630,15 @@ msgstr "Download" msgid "View Books" msgstr "Bücher ansehen" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Editieren" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Löschen" @@ -1786,7 +1831,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2076,125 +2124,205 @@ msgstr "Fehler bei der Suche!" msgid "No Result(s) found! Please try another keyword." msgstr "Keine Ergebnisse gefunden! Bitte ein anderes Schlüsselwort benutzen." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Dieses Feld ist erforderlich" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Buchauswahl zusammenführen" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Buchauswahl zusammenführen" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Buchauswahl zusammenführen" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Buchauswahl zusammenführen" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Buchauswahl zusammenführen" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Auswahl aufheben" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Buchauswahl zusammenführen" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Autor und Titel tauschen" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Titelsortierung automatisch aktualisieren" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Autorensortierung automatisch aktualisieren" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Titel eingeben" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Titel" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Titelsortierung eingeben" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Titelsortierung" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Autorensortierung eingeben" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Autorensortierung" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Autoren eingeben" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Kategorien eingeben" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Serie eingeben" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Serienindex" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Sprache eingeben" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Herausgabedatum" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Herausgeber eingeben" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Kommentare eingeben" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Kommentare" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Archivstatus" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Lesestatus" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Eingeben " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Buchauswahl zusammenführen" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Sicher?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Bücher werden zusammengeführt. Von Titel:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "In Buch mit Titel:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Zusammenführen" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "Archiviert" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Archiviert" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Als gelesen markieren" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Als ungelesen markieren" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Metadaten bearbeiten" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Speicherort der Calibre-Datenbank" @@ -2687,10 +2815,6 @@ msgstr "Zum Archiv hinzufügen" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "Buch als archiviert oder nicht markieren, um es in Calibre-Web auszublenden und vom Kobo Reader zu löschen" -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "Archiviert" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2703,10 +2827,6 @@ msgstr "Zu Bücherregal hinzufügen" msgid "(Public)" msgstr "(Öffentlich)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Metadaten bearbeiten" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Wähle Servertyp" diff --git a/cps/translations/el/LC_MESSAGES/messages.mo b/cps/translations/el/LC_MESSAGES/messages.mo index 0be9463d1..3b22540b2 100644 Binary files a/cps/translations/el/LC_MESSAGES/messages.mo and b/cps/translations/el/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/el/LC_MESSAGES/messages.po b/cps/translations/el/LC_MESSAGES/messages.po index b15147027..39802d915 100644 --- a/cps/translations/el/LC_MESSAGES/messages.po +++ b/cps/translations/el/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Depountis Georgios\n" "Language: el\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -44,8 +44,8 @@ msgstr "Άγνωστη εντολή" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Το βιβλίο έχει επιτυχώς μπει σε σειρά για αποστολή στο %(eReadermail)s" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "ʼΑγνωστο" @@ -62,7 +62,7 @@ msgstr "Βασική Διαμόρφωση" msgid "UI Configuration" msgstr "UI Διαμόρφωση" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,455 +78,474 @@ msgstr "Χρήστης Διαχειριστής" msgid "All" msgstr "Όλα" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Δεν βρέθηκε χρήστης" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Προβολή Όλων" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να αφαιρεθεί ο ρόλος διαχειριστή" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Ενημερώθηκε η διαμόρφωση Calibre-Web" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Θέλεις πραγματικά να διαγράψεις τη Μονάδα Kobo;" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Θέλεις πραγματικά να διαγράψεις τη Μονάδα Kobo;" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Είσαι σίγουρος/η πως θέλεις να διαγράψεις αυτό το ράφι;" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Είσαι σίγουρος/η πως θέλεις να κάνεις κλείσιμο;" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Απόρριψη" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Επιτρέπεται" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json Δεν Έχει Διαμορφωθεί Για Διαδικτυακή Εφαρμογή" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Το Φύλλο Καταγραφής Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Η Πρόσβαση Φύλλου Καταγραφης Τοποθεσίας δεν είναι έγκυρη, Παρακαλούμε Συμπλήρωσε Τη Σωστή Πορεία" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Παρακαλούμε Συμπλήρωσε ένα Πάροχο LDAP, Θύρα, DN και Αντικείμενο Αναγνώρισης Χρήστη" -#: cps/admin.py:1223 +#: cps/admin.py:1228 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Παρακαλούμε συμπλήρωσε ένα έγκυρο όνομα χρήστη για επαναφορά του κωδικού" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Το Αντικείμενο Φίλτρου Ομάδας LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP πρέπει να Έχει Μια \"%s\" Αναγνώριση Μορφής" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Το Αντικείμενο Φίλτρου Χρήστη LDAP Έχει Παρενθέσεις Που Δεν Ταιριάζουν" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Προσθήκη Νέου Χρήστη" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Επεξεργασία Ρυθμίσεων E-mail Διακομιστή" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Σφάλμα βάσης δεδομένων: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Παρουσιάστηκε σφάλμα κατά την αποστολή του δοκιμαστικού e-mail:% (res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Παρακαλούμε ρύθμισε πρώτα τη διεύθυνση e-mail σου..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Προέκυψε ένα άγνωστο σφάλμα. Παρακαλούμε δοκίμασε ξανά αργότερα." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Επεξεργασία χρήστη %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Κωδικός για επαναφορά %(user) χρήστη/ών" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Παρακαλούμε διαμόρφωσε πρώτα τις ρυθμίσεις ταχυδρομείου SMTP..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Προβολέας αρχείου φύλλου καταγραφής" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Αίτημα πακέτου ενημέρωσης" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Κατεβάζει πακέτο ενημέρωσης" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Ανοίγει πακέτο ενημέρωσης" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Αντικατάσταση αρχείων" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Οι συνδέσεις βάσης δεδομένων είναι κλειστές" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Σταματάει το διακομιστή" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Η ενημέρωση τελειώσε, παρακαλούμε πιέστε το εντάξει και φορτώστε ξανά τη σελίδα" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Η ενημέρωση απέτυχε:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP Σφάλμα" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Σφάλμα σύνδεσης" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Τελείωσε ο χρόνος κατά την προσπάθεια δημιουργίας σύνδεσης" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Γενικό σφάλμα" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Το Αρχείο Ενημέρωσης Δεν Μπόρεσε Να Αποθηκευτεί σε" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Αποτυχία Δημιουργίας Τουλάχιστον Ενός Χρήστη LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Σφάλμα: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Σφάλμα: Δεν επιστράφηκε χρήστης σε απάντηση του διακομιστή LDAP" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Τουλάχιστον Ένας Χρήστης LDAP Δεν Βρέθηκε Στη Βάση Δεδομένων" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Η Τοποθεσία DB δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "Η DB δεν μπορεί να Γραφτεί" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Το Αρχειο Κλειδί Τοποθεσίας δεν είναι Έγκυρο, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Η Τοποθεσία Certfile δεν είναι Έγκυρη, Παρακαλούμε Συμπληρώστε Τη Σωστή Πορεία" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "Ενημερώθηκαν οι ρυθμίσεις E-mail διακομιστή" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Διαμόρφωση Λειτουργίας" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Παρακαλούμε συμπλήρωσε όλα τα πεδία!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "Το E-mail δεν είναι από έγκυρο domain" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Προσθήκη νέου χρήστη" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Χρήστης/ες '%(user)s' δημιουργήθηκαν" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Βρέθηκε ένας ήδη υπάρχον λογαριασμός για αυτή τη διεύθυνση e-mail ή όνομα χρήστη." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Χρήστης/ες '%(nick)s' διαγράφηκαν" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Δεν έχει απομείνει χρήστης διαχειριστής, δεν μπορεί να διαγραφεί ο χρήστης" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Χρήστης/ες '%(nick)s' ενημερώθηκαν" @@ -555,115 +574,131 @@ msgstr "Λείπουν άδειες εκτέλεσης" msgid "None" msgstr "Κανένα" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Το αρχείο %(file)s ανέβηκε" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Η δομή πηγής ή προορισμού για μετατροπή λείπει" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Το βιβλίο είναι σε σειρά επιτυχώς για μετατροπή σε %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Υπήρξε ένα σφάλμα στη μετατροπή αυτού του βιβλίου: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oυπς! Ο επιλεγμένος τίτλος βιβλίου δεν είναι διαθέσιμος. Το αρχείο δεν υπάρχει ή δεν είναι προσβάσιμο" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Τα αναγνωριστικά δεν έχουν Διάκριση Πεζών-Κεφαλαίων Γραμμάτων, Αντικατάσταση Παλιού Αναγνωριστικού" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s δεν είναι μια έγκυρη γλώσσα" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Τα μεταδεδομένα ενημερώθηκαν επιτυχώς" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Το βιβλίο που ανέβηκε πιθανόν να υπάρχει στη βιβλιοθήκη, σκέψου να το αλλάξεις πριν ανεβάσεις νέο: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Η επέκταση αρχείου '%(ext)s' δεν επιτρέπεται να ανέβει σε αυτό το διακομιστή" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Η επέκταση αρχείου '%(ext)s' δεν επιτρέπεται να ανέβει σε αυτό το διακομιστή" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Το αρχείο προς ανέβασμα πρέπει να έχει μια επέκταση" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Το αρχείο %(filename)s δεν μπόρεσε να αποθηκευτεί σε temp dir" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Αποτυχία Μετακίνησης Αρχείου Φόντου %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Η μορφή βιβλίου Διαγράφηκε Επιτυχώς" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Το Βιβλίο Διαγράφηκε Επιτυχώς" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "επεξεργασία μεταδεδομένων" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Αποτυχεία δημιουργίας πορείας %(path)s (Η άδεια απορρήφθηκε)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Αποτυχία αποθήκευσης αρχείου %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Μορφή αρχείου %(ext)s προστέθηκε σε %(book)s" @@ -681,12 +716,12 @@ msgstr "Η ανάκληση ονόματος δεν έχει επαληθευτ msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s η δομή δεν βρέθηκε για την ταυτότητα βιβλίου: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s δεν βρέθηκε στο Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s δεν βρέθηκε: %(fn)s" @@ -739,140 +774,146 @@ msgstr "Αποστολή στο Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Το αρχείου που χητήθηκε δεν μπορεί να διαβαστεί. Μπορεί να υπάρχουν λαθασμένες άδειες;" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Η διαγραφή φακέλου βιβλίου για το βιβλίο %(id)s απέτυχε, η πορεία έχει υπό-φακέλους: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Η διαγραφή βιβλίου %(id)s απέτυχε: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Διαγραφή βιβλίου %(id)s, η πορεία βιβλίου δεν είναι έγκυρη: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Η μετονομασία τίτλου από: '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Η μετονομασία τίτλου από: '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Το αρχείο %(file)s δεν βρέθηκε στο Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Η μετονομασία τίτλου από: '%(src)s' σε '%(dest)s' απέτυχε με σφάλμα: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Η πορεία βιβλίου %(path)s δεν βρέθηκε στο Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Αυτό το όνομα χρήστη έχει ήδη παρθεί" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Σφάλμα Κατεβάσματος Φόντου" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Σφάλμα Μορφής Φόντου" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Αποτυχία δημιουργίας πορείας για φόντο" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Το αρχείο φόντου δεν είναι ένα έγκυρο αρχείο εικόνας, ή δεν μπόρεσε να αποθηκευτεί" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Μόνο jpg/jpeg αρχεία υποστηρίζονται ως αρχεία φόντου" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Ανακάλυψε" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Δεν βρέθηκε δυαδικό αρχείο UnRar" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Σφάλμα εκτέλεσης UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "Η DB δεν μπορεί να Γραφτεί" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Λείπουν άδειες εκτέλεσης" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Σφάλμα εκτέλεσης UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -940,6 +981,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth σφάλμα, παρακαλούμε δοκίμασε ξανά αργότερα." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -948,10 +990,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth σφάλμα, παρακαλούμε δοκίμασε ξανά αργότερα." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "" @@ -1034,7 +1078,7 @@ msgstr "Ανακάλυψε" msgid "Show Random Books" msgstr "Προβολή Τυχαίων Βιβλίων" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Κατηγορίες" @@ -1045,7 +1089,7 @@ msgid "Show Category Section" msgstr "Προβολή επιλογών κατηγορίας" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Σειρές" @@ -1055,7 +1099,7 @@ msgstr "Σειρές" msgid "Show Series Section" msgstr "Προβολή επιλογών σειράς" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Συγγραφείς" @@ -1065,7 +1109,7 @@ msgstr "Συγγραφείς" msgid "Show Author Section" msgstr "Προβολή επιλογών συγγραφέα" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Εκδότες" @@ -1075,7 +1119,7 @@ msgstr "Εκδότες" msgid "Show Publisher Section" msgstr "Προβολή επιλογών εκδότη" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1309,7 +1353,7 @@ msgstr "Απρόβλεπτα δεδομένα κατά την ανάγνωση msgid "No update available. You already have the latest version installed" msgstr "Δεν υπάρχει διαθέσιμη ενημέρωση. Έχεις ήδη την τελευταία έκδοση εγκατεστημένη" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Μια νέα ενημέρωση είναι διαθέσιμη. Κάνε κλικ στο κουμπί πιο κάτω για να ενημερώσεις με την τελευταία έκδοση." @@ -1317,7 +1361,7 @@ msgstr "Μια νέα ενημέρωση είναι διαθέσιμη. Κάνε msgid "Could not fetch update information" msgstr "Δεν μπόρεσε να συγκεντρώσει τις πληροφορίες ενημέρωσης" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Κάνε κλικ στο κουμπί πιο κάτω για να ενημερώσεις με την τελευταία σταθερή έκδοση." @@ -1538,7 +1582,7 @@ msgstr "Ο μετατροπέας Ebook απέτυχε με άγνωστο σφ msgid "Kepubify-converter failed: %(error)s" msgstr "Ο μετατροπέας Kepubify απέτυχε: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Το τροποποιημένο αρχείο δεν βρέθηκε ή υπάρχουν περισσότερα από ένα αρχεία στο φάκελο %(folder)s" @@ -1581,6 +1625,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1633,15 +1678,15 @@ msgstr "Κατέβασμα" msgid "View Books" msgstr "Προβολή Βιβλίων" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Επεξεργασία" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Διαγραφή" @@ -1835,7 +1880,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2126,127 +2174,208 @@ msgstr "Σφάλμα αναζήτησης!" msgid "No Result(s) found! Please try another keyword." msgstr "Δεν βρέθηκε(αν) αποτέλεσμα(τα)! Παρακαλούμε δοκίμασε μια άλλη λέξη κλειδί." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Αυτό το Πεδίο Απαιτείται" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Συγχώνευση επιλεγμένων βιβλίων" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Συγχώνευση επιλεγμένων βιβλίων" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Συγχώνευση επιλεγμένων βιβλίων" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Συγχώνευση επιλεγμένων βιβλίων" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Συγχώνευση επιλεγμένων βιβλίων" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Αφαίρεση Επιλογών" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Συγχώνευση επιλεγμένων βιβλίων" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Ενημέρωση Ταξινόμησης Τίτλων αυτόματα" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Ενημέρωση Ταξινίμησης Συγγραφέα αυτόματα" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Εισαγωγή Τίτλου" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Τίτλος" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Εισαγωγή Ταξινόμησης Τίτλου" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Ταξινόμηση Τίτλου" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Εισαγωγή Ταξινόμησης Συγγραφέας" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Ταξινόμηση Συγγραφέα" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Εισαγωγή Συγγραφέων" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Εισαγωγή Κατηγοριών" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Εισαγωγή Σειρών" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Ευρετήριο Σειρών" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Εισαγωγή Γλωσσών" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Ημερομηνία Έκδοσης" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Εισαγωγή Εκδοτών" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Όνομα domain" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Αναγνωριστικά" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Συγχώνευση επιλεγμένων βιβλίων" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Είσαι πραγματικά σίγουρος/η;" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Βιβλία με Τίτλους θα ενωθούν από:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Μέσα σε Βιβλίο με Τίτλο:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Συγχώνευση" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Αρχειοθετήθηκε" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Αρχειοθετήθηκε" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Σήμανση ως Διαβασμένο" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Σήμανση ως Αδιάβαστο" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Επεξεργασία Μεταδεδομένων" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Τοποθεσία Βάσης Δεδομένων Calibre" @@ -2747,11 +2876,6 @@ msgstr "Προσθήκη στο αρχείο" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Αρχειοθετήθηκε" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2764,10 +2888,6 @@ msgstr "Προσθήκη στο ράφι" msgid "(Public)" msgstr "(Δημόσιο)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Επεξεργασία Μεταδεδομένων" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo index 7b2a510bb..ad6437b7a 100644 Binary files a/cps/translations/es/LC_MESSAGES/messages.mo and b/cps/translations/es/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po index 9fc72621e..f2322c8c3 100644 --- a/cps/translations/es/LC_MESSAGES/messages.po +++ b/cps/translations/es/LC_MESSAGES/messages.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2024-10-29 15:26+0100\n" "Last-Translator: adruki \n" "Language: es\n" @@ -19,7 +19,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -45,8 +45,8 @@ msgstr "Comando desconocido" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Libros en cola para la copia de seguridad de metadatos, por favor verifica las tareas para ver el resultado" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Desconocido" @@ -63,7 +63,7 @@ msgstr "Configuración básica" msgid "UI Configuration" msgstr "Configuración de la interfaz de usuario" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,444 +78,463 @@ msgstr "Editar usuarios" msgid "All" msgstr "Todo" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Usuario no encontrado" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} usuarios eliminados con éxito" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostrar todo" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Petición malformada" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "El nombre de invitado no se puede cambiar" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "El invitado no puede tener ese rol" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "No queda ningún usuario administrador, no se puede eliminar al usuario" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Valor tiene que ser verdadero o falso" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Rol inválido" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "El invitado no puede tener esta vista" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Vista no válida" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "El idioma del invitado se determina automáticamente y no puede ser cambiado" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "No hay un idioma válido" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "No se ha indicado un idioma válido para el libro" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parámetro no encontrado" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Columna de lectura no válida" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Columna restringida no válida" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Configuración de Calibre-Web actualizada" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "¿Seguro que quieres eliminar el Token de Kobo?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "¿Seguro que deseas borrar este dominio?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "¿Seguro que quieres borrar este usuario?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "¿Seguro que deseas borrar este dominio?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "¿Estas seguro de que deseas eliminar este estante?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "¿Estas seguro de que deseas quieres cambiar el idioma de los usuarios seleccionados?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "¿Estas seguro de que deseas cambiar los idiomas visibles del libro de los usuarios seleccionados?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "¿Estas seguro de que deseas cambiar el rol seleccionado de el usuario seleccionado?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "¿Estas seguro de que deseas cambiar las restricciones de los usuarios seleccionados?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "¿Estas seguro de que deseas cambiar las restricciones de los usuarios seleccionados?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "¿Estas seguro de que deseas cambiar las restricciones de los usuarios seleccionados?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "¿Estas seguro de que deseas cambiar las restricciones de visibilidad de los usuarios seleccionados?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "¿Estas seguro de que deseas cambiar el comportamiento de sincronización de estante del usuario seleccionado?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "¿Estas seguro de que deseas cambiar la ubicación de la biblioteca de Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web buscará portadas actualizadas y actualizará las miniaturas de las portadas, esto puede tardar un tiempo" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "¿Estas seguro de que deseas eliminar la base de datos de sincronización de Calibre-Web para forzar una sincronización completa con tu lector Kobo?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Prohibir" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Permitir" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} entradas de sincronización eliminadas" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Etiqueta no encontrada" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Acción no válida" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json no está configurado para la aplicación web" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "La ruta del Logfile no es válida. Por favor, Introduce la ruta correcta" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "La ruta del Access Logfile no es válida. Por favor, Introduce la ruta correcta" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Por favor, Introduce un proveedor LDAP, puerto, DN y el User Object Identifier" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Por favor, introduce una cuenta de servicio LDAP y su contraseña" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Por favor, introduce una cuenta de servicio LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP Group Object Filter necesita tener un identificador de formato \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "El LDAP Group Object Filter tiene un paréntesis diferente" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Group Object Filter necesita tener un identificador de formato \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "El LDAP Group Object Filter tiene un paréntesis diferente" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "El filtro de usuarios LDAP necesita tener un identificador de formato \"%s\"" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "El filtro de LDAP \"Member User\" tiene paréntesis no coincidentes" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Ubicaciones del certificado de la CA del LDAP, del certificado o de la clave no válidos. Por favor introduce la ruta correcta" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Añadir nuevo usuario" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Cambiar parámetros de correo" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Cuenta de Gmail verificada." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Error en la base de datos: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Puesto en cola un correo electrónico de prueba enviado a %(email)s, por favor, comprueba el resultado en Tareas" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Ocurrió un error enviando el correo electrónico de prueba: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Por favor, configura tu correo electrónico primero..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Actualizados los ajustes del servidor de correo electrónico" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Editar la configuración de tareas programadas" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Hora de inicio no válida para la tarea especificada" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Duración no válida para la tarea especificada" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Configuración de tareas programadas actualizada" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "La base de datos de configuraciones no es modificable" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Editar usuario %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "Restablecida contraseña para el usuario %(user)s" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "Por favor, configura los ajustes de correo SMTP." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Visor del fichero de log" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Solicitando paquete de actualización" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Descargando paquete de actualización" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Descomprimiendo paquete de actualización" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Remplazando archivos" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Los conexiones con la base datos están cerradas" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Parando el servidor" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Actualización finalizada. Por favor, pulse OK y recargue la página" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Falló la actualización:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Error HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Error de conexión" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Tiempo agotado mientras se trataba de establecer la conexión" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Error general" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "La actualización del archivo no pudo guardarse en el directorio temporal" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Los archivos no se pudieron reemplazar durante la actualización" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Error al extraer al menos un usuario LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Error al crear al menos un usuario LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Error: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Error: el servidor LDAP no ha devuelto ningún usuario" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Al menos, un usuario LDAP no se ha encontrado en la base de datos" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} Usuario importado con éxito" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "La ruta de los libros no es válida" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "La ruta de la base de datos no es válida. Por favor, Introduce la ruta correcta" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "La base de datos no es modificable" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "La ruta del Keyfile no es válida, por favor, Introduce la ruta correcta" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "La ruta de Certfile no es válida, por favor, Introduce la ruta correcta" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "La longitud de la contraseña debe estar entre 1 y 40 caracteres" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Actualizados los ajustes de la base de datos" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Configuración de la base de datos" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Por favor, rellena todos los campos." -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "El correo electrónico no tiene un dominio válido" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Añadir un nuevo usuario" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Usuario '%(user)s' creado" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Ya existe una cuenta para este correo electrónico o nombre." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuario '%(nick)s' eliminado" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "No puedes borrar al Usuario Invitado" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "No queda ningún usuario administrador, no se puede borrar al usuario" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "El correo electrónico no puede estar vacío y debe ser un correo electrónico válido" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" @@ -544,114 +563,130 @@ msgstr "Faltan permisos de ejecución" msgid "None" msgstr "Ninguna" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "El fichero %(file)s ha sido subido" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Falta la fuente o el formato de destino para la conversión" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Libro puesto a la cola para su conversión a %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocurrió un error al convertir este libro: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Estantería eliminada correctamente" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "El libro seleccionado no está disponible. El archivo no existe o no es accesible" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "El usuario no tiene derechos para subir la portada" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Los identificadores no distinguen entre mayúsculas y minúsculas, sobrescribiendo el identificador antiguo" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' no es un idioma válido" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadatos actualizados con éxito" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Error al editar el libro: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "El libro subido probablemente ya existe en la biblioteca, considera cambiarlo antes de subir uno nuevo: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "No se permite subir este tipo de archivo a este servidor" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "No se permite subir archivos con la extensión '%(ext)s' a este servidor" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "El archivo a subir debe tener una extensión" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "El archivo %(filename)s no pudo salvarse en el directorio temporal (Temp Dir)" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Fallo al mover el archivo de portada %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Formato de libro eliminado con éxito" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Libro eliminado con éxito" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Te faltan permisos para eliminar libros" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "editar metadatos" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "Seriesindex: %(seriesindex)s no es un número válido, saltando" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "El usuario no tiene derechos para subir formatos de archivo adicionales" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Error al crear la ruta %(path)s (permiso denegado)" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Error al guardar el archivo %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Archivo con formato %(ext)s añadido a %(book)s" @@ -669,12 +704,12 @@ msgstr "El dominio de retorno (callback) no está verificado, por favor sigue lo msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formato no encontrado para el id del libro: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s no encontrado en Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s no encontrado: %(fn)s" @@ -723,136 +758,142 @@ msgstr "%(book)s enviado al eReader" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "El archivo solicitado no puede ser leído. ¿Quizás existen problemas con los permisos?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "No se pudo establecer el estado de lectura: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Fallo al intentar borrar la carpeta del libro %(id)s, la ruta tiene subcarpetas: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "La eliminación del libro %(id)s falló: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Eliminando el libro %(id)s solo de la base de datos, la ruta del libro en la base de datos no es válida: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "El cambio de nombre del autor de '%(src)s' a '%(dest)s' falló con el error: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "El cambio de nombre del autor de '%(src)s' a '%(dest)s' falló con el error: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Archivo %(file)s no encontrado en Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "El cambio de nombre del título de '%(src)s' a '%(dest)s' falló con el error: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "La ruta %(path)s del libro no fue encontrada en Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "Se encontró una cuenta existente para esta dirección de correo electrónico" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Este nombre de usuario ya está en uso" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "Formato de dirección de correo electrónico no válido" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "La contraseña no cumple con las reglas de validación de contraseñas" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "El módulo de Python 'advocate' no está instalado, pero se necesita para subir portadas" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Error al descargar la portada" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Error en el formato de la portada" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "No tienes permiso para acceder a localhost o a la red local para subir portadas" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Error al crear una ruta para la portada" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "El archivo de la portada no es una imagen válida o no se pudo almacenar" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Sólo se admiten como portada los archivos jpg/jpeg/png/webp/bmp" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Contenido del archivo de la portada no válido" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Sólo se admiten como portada los archivos jpg/jpeg" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "Portada" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "No se encontró el archivo binario de UnRar." -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "Error ejecutando UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "No se pudo encontrar el directorio especificado" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "Por favor, especifica un directorio, no un archivo" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "Los binarios de Calibre no son viables" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "Faltan los binarios de Calibre: %(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Faltan permisos de ejecución: %(missing)s" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "Error ejecutando Calibre" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Poner en cola todos los libros para la copia de seguridad de metadatos" @@ -919,6 +960,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Error en GitHub Oauth, por favor, vuelve a intentarlo más tarde." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Error GitHub Oauth {}" @@ -927,10 +969,12 @@ msgid "Google Oauth error, please retry later." msgstr "Error en Google Oauth, por favor vuelve a intentarlo más tarde." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Error Google Oauth {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} estrellas" @@ -1012,7 +1056,7 @@ msgstr "Descubrir" msgid "Show Random Books" msgstr "Mostrar libros al azar" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Categorías" @@ -1022,7 +1066,7 @@ msgid "Show Category Section" msgstr "Mostrar sección de categorías" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Series" @@ -1031,7 +1075,7 @@ msgstr "Series" msgid "Show Series Section" msgstr "Mostrar sección de series" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autores" @@ -1040,7 +1084,7 @@ msgstr "Autores" msgid "Show Author Section" msgstr "Mostrar sección de autores" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Editores" @@ -1049,7 +1093,7 @@ msgstr "Editores" msgid "Show Publisher Section" msgstr "Mostrar sección de editores" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1276,7 +1320,7 @@ msgstr "Datos inesperados al leer la información de actualización" msgid "No update available. You already have the latest version installed" msgstr "Actualización no disponible. Ya tienes instalada la versión más reciente" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Hay una nueva actualización disponible. Haz clic en el botón de abajo para actualizar a la versión más reciente." @@ -1284,7 +1328,7 @@ msgstr "Hay una nueva actualización disponible. Haz clic en el botón de abajo msgid "Could not fetch update information" msgstr "No se puede conseguir información sobre la actualización" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Haz clic en el botón de abajo para actualizar a la última versión estable." @@ -1495,7 +1539,7 @@ msgstr "El conversor de ebook falló con un error desconocido" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter falló: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Archivo convertido no encontrado, o hay más de un archivo en la carpeta %(folder)s" @@ -1537,6 +1581,7 @@ msgid "Cover Thumbnails" msgstr "Miniaturas de portada" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "Se generaron {0} miniaturas de series" @@ -1588,15 +1633,15 @@ msgstr "Descargar" msgid "View Books" msgstr "Ver libros" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Editar" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Borrar" @@ -1789,7 +1834,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2079,125 +2127,205 @@ msgstr "¡Error en la búsqueda!" msgid "No Result(s) found! Please try another keyword." msgstr "¡No se encontraron resultados! Por favor intenta con otra palabra clave." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Este campo es obligatorio" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Fusionar libros seleccionados" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Fusionar libros seleccionados" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Fusionar libros seleccionados" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Fusionar libros seleccionados" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Fusionar libros seleccionados" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Eliminar selección" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Fusionar libros seleccionados" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Intercambiar autor y título" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Actualizar orden de título automáticamente" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Actualizar orden de autor automáticamente" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Introduce título" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Título" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Introduce el orden del título" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Orden del título" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Introduce orden del autor" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Orden del autor" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Introduce los autores" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Introduce las categorías" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Introduce las series" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Índice de la serie" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Introduce los idiomas" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Fecha de publicación" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Introduce los Editores" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Introduce comentarios" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Comentarios" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Archivado" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Leído" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Introducir " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Fusionar libros seleccionados" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "¿Estás realmente seguro?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Los libros con el título serán fusionados de:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Al libro con el título:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Fusionar" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "Archivar" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Archivar" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Marcar como leido" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Marcar como no leido" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Editar metadatos" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Ubicación de la base de datos Calibre" @@ -2690,10 +2818,6 @@ msgstr "Añadir a archivo" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "Marcar el libro como archivado o no, para ocultarlo en Calibre-Web y eliminarlo del lector Kobo" -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "Archivar" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2706,10 +2830,6 @@ msgstr "Agregar a la estantería" msgid "(Public)" msgstr "(Pública)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Editar metadatos" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Elige tipo de servidor" diff --git a/cps/translations/fi/LC_MESSAGES/messages.mo b/cps/translations/fi/LC_MESSAGES/messages.mo index e3a728a7b..2cdf51b6f 100644 Binary files a/cps/translations/fi/LC_MESSAGES/messages.mo and b/cps/translations/fi/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/fi/LC_MESSAGES/messages.po b/cps/translations/fi/LC_MESSAGES/messages.po index 18d268130..2acab9a65 100644 --- a/cps/translations/fi/LC_MESSAGES/messages.po +++ b/cps/translations/fi/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2020-01-12 13:56+0100\n" "Last-Translator: Samuli Valavuo \n" "Language: fi\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -45,8 +45,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Kirja lisätty onnistuneeksi lähetettäväksi osoitteeseen %(eReadermail)s" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Tuntematon" @@ -63,7 +63,7 @@ msgstr "Perusasetukset" msgid "UI Configuration" msgstr "Käyttöliittymän asetukset" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -79,452 +79,471 @@ msgstr "Pääkäyttäjä" msgid "All" msgstr "Kaikki" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Näytä kaikki" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web asetukset päivitetty" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Oletko varma, että haluat poistaa hyllyn?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Oletko varma, että haluat poistaa hyllyn?" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Oletko varma, että haluat poistaa hyllyn?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Oletko varma, että haluat poistaa hyllyn?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Oletko varma, että haluat poistaa hyllyn?" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Oletko varma, että haluat poistaa hyllyn?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Oletko varma, että haluat poistaa hyllyn?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Haluatko varmasti pysäyttää Calibre-Webin?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Muuta SMTP asetuksia" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Testisähköpostin lähetyksessä tapahtui virhe: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Sähköpostipalvelimen tiedot päivitetty" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Tapahtui tuntematon virhe. Yritä myöhemmin uudelleen." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Muokkaa käyttäjää %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Käyttäjän %(user)s salasana palautettu" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Ole hyvä ja aseta SMTP postiasetukset ensin..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Lokitiedoston katselin" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Haetaan päivitystiedostoa" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Ladataan päivitystiedostoa" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Puretaan päivitystiedostoa" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Korvataan tiedostoja" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Tietokantayhteydet on katkaistu" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Sammutetaan palvelin" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Päivitys valmistui, ole hyvä ja paina OK ja lataa sivu uudelleen" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Päivitys epäonnistui:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP virhe" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Yhteysvirhe" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Aikakatkaisu yhteyttä luotaessa" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Yleinen virhe" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "Sähköpostipalvelimen tiedot päivitetty" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Ominaisuuksien asetukset" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Ole hyvä ja täytä kaikki kentät!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "Sähköpostiosoite ei ole toimivasta domainista" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Lisää uusi käyttäjä" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Käyttäjä '%(user)s' lisätty" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Tälle sähköpostiosoitteelle tai tunnukselle löytyi jo tili." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Käyttäjä '%(nick)s' poistettu" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Pääkäyttäjiä ei jää jäljelle, käyttäjää ei voi poistaa" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Käyttäjä '%(nick)s' päivitetty" @@ -553,115 +572,131 @@ msgstr "" msgid "None" msgstr "Ei mitään" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Tiedosto %(file)s tallennettu" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Lähteen tai kohteen tiedostomuoto puuttuu" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Kirja lisätty muutosjonoon muotoon %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Kirjan muunnoksessa tapahtui virhe: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Metadata päivitetty onnistuneesti" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Virhe eKirjan avaamisessa. Tiedostoa ei ole tai se ei ole saatavilla:" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s ei ole kelvollinen kieli" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadata päivitetty onnistuneesti" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Tiedostopääte '%(ext)s' ei ole sallittujen palvelimelle ladattavien listalla" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Tiedostopääte '%(ext)s' ei ole sallittujen palvelimelle ladattavien listalla" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Ladattavalla tiedostolla on oltava tiedostopääte" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "muokkaa metadataa" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Polun %(path)s luonti epäonnistui (Ei oikeutta)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Tiedoston %(file)s tallennus epäonnistui." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Tiedostoformaatti %(ext)s lisätty %(book)s" @@ -679,12 +714,12 @@ msgstr "Paluuosoitteen domain ei ole varmistettu, seuraa ohjeita vamistaaksesi s msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s tiedostomuotoa ei löytynyt kirjalle: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s ei löytynyt Google Drivesta: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s ei löydy: %(fn)s" @@ -737,137 +772,143 @@ msgstr "Lähetä Kindleen" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Haettua tiedostoa ei pystytty lukemaan. Ehkä vaäärät oikeudet?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Tiedon muuttaminen arvosta: '%(src)s' arvoon '%(dest)s' epäonnistui virheeseen: %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Tiedon muuttaminen arvosta: '%(src)s' arvoon '%(dest)s' epäonnistui virheeseen: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Tiedostoa %(file)s ei löytynyt Google Drivesta" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Tiedon muuttaminen arvosta: '%(src)s' arvoon '%(dest)s' epäonnistui virheeseen: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Kirjan polkua %(path)s ei löytynyt Google Drivesta" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Löydä" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -934,6 +975,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth virhe, yritä myöhemmin uudelleen." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -942,10 +984,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth virhe, yritä myöhemmin uudelleen." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "" @@ -1028,7 +1072,7 @@ msgstr "Löydä" msgid "Show Random Books" msgstr "Näytä satunnausia kirjoja" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategoriat" @@ -1039,7 +1083,7 @@ msgid "Show Category Section" msgstr "Näytä kategoriavalinta" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Sarjat" @@ -1049,7 +1093,7 @@ msgstr "Sarjat" msgid "Show Series Section" msgstr "Näytä sarjavalinta" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Kirjailijat" @@ -1059,7 +1103,7 @@ msgstr "Kirjailijat" msgid "Show Author Section" msgstr "Näytä kirjailijavalinta" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Julkaisijat" @@ -1069,7 +1113,7 @@ msgstr "Julkaisijat" msgid "Show Publisher Section" msgstr "Näytä julkaisijavalinta" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1303,7 +1347,7 @@ msgstr "Odottamatonta tietoa luettaessa päivitystietoa" msgid "No update available. You already have the latest version installed" msgstr "Ei päivitystä saatavilla. Sinulla on jo uusin versio" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Uusi päivitys saatavilla. Paina alla olevaa nappia päivittääksesi uusimpaan versioon." @@ -1311,7 +1355,7 @@ msgstr "Uusi päivitys saatavilla. Paina alla olevaa nappia päivittääksesi uu msgid "Could not fetch update information" msgstr "Päivitystiedon hakeminen epäonnistui" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Paina alla olevaa nappia päivittääksesi uusimpaan vakaaseen versioon." @@ -1530,7 +1574,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" @@ -1573,6 +1617,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1625,15 +1670,15 @@ msgstr "Lataa" msgid "View Books" msgstr "Näytä ekirjat" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Muokkaa" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Poista" @@ -1827,7 +1872,10 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2118,127 +2166,207 @@ msgstr "Hakuvirhe!" msgid "No Result(s) found! Please try another keyword." msgstr "Ei osumia! Kokeile jotain tosita hakusanaa." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Näytä viimeisimmät kirjat" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Näytä viimeisimmät kirjat" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Merkitse lukemattomaksi" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Merkitse lukemattomaksi" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +msgid "Clear selections" msgstr "" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Poista kirja" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Otsikko" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Syötä domainnimi" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Rekisteröi" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Poista kirja" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Oletko aivan varma?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Hae" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Hae" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Merkitse luetuksi" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Merkitse lukemattomaksi" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Muokkaa metadataa" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Calibre -tietokannan paikka" @@ -2737,11 +2865,6 @@ msgstr "" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Hae" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2754,10 +2877,6 @@ msgstr "Lisää hyllyyn" msgid "(Public)" msgstr "" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Muokkaa metadataa" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo index 4397c851b..65db94f64 100644 Binary files a/cps/translations/fr/LC_MESSAGES/messages.mo and b/cps/translations/fr/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/fr/LC_MESSAGES/messages.po b/cps/translations/fr/LC_MESSAGES/messages.po index 7595e0859..194bfe3ca 100644 --- a/cps/translations/fr/LC_MESSAGES/messages.po +++ b/cps/translations/fr/LC_MESSAGES/messages.po @@ -22,7 +22,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2020-06-07 06:47+0200\n" "Last-Translator: \n" "Language: fr\n" @@ -31,7 +31,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -60,8 +60,8 @@ msgstr "Commande inconnue" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Teste les courriels en file d’attente pour l’envoi à %(email)s, veuillez vérifier le résultat des tâches" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Inconnu" @@ -78,7 +78,7 @@ msgstr "Configuration principale" msgid "UI Configuration" msgstr "Configuration de l’interface utilisateur" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -94,455 +94,474 @@ msgstr "Éditer les utilisateurs" msgid "All" msgstr "Tout" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "L'utilisateur n'a pas été trouvé" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} utilisateurs supprimés avec succès" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Montrer tout" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Demande malformée" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Le nom de l’invité ne peut pas être modifié" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "L’invité ne peut pas avoir ce rôle" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Aucun utilisateur admin restant, impossible de supprimer le rôle admin" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "La valeur doit être vraie ou fausse" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Rôle invalide" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "L’invité ne peut pas avoir cette vue" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Vue invalide" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Les paramètres régionaux de l’invité sont déterminés automatiquement et ne peuvent pas être définis" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Aucun paramètre régional valide n’est donné" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Aucune langue de livre valide donnée" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Paramètre non trouvé" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Colonne de lecture non valide" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Colonne restreinte non valide" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Configuration de Calibre-Web mise à jour" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Voulez-vous vraiment supprimer le jeton Kobo ?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Voulez-vous vraiment supprimer ce domaine ?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Voulez-vous vraiment supprimer cet utilisateur ?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Voulez-vous vraiment supprimer ce domaine ?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Voulez-vous vraiment supprimer l’étagère ?" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Voulez-vous vraiment supprimer l’étagère ?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Voulez-vous vraiment modifier les langues de livre visibles pour le ou les utilisateurs sélectionnés ?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Voulez-vous vraiment modifier le rôle sélectionné pour le ou les utilisateurs sélectionnés ?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Voulez-vous vraiment modifier les restrictions sélectionnées pour le ou les utilisateurs sélectionnés ?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Voulez-vous vraiment modifier les restrictions sélectionnées pour le ou les utilisateurs sélectionnés ?" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Voulez-vous vraiment modifier les restrictions sélectionnées pour le ou les utilisateurs sélectionnés ?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Voulez-vous vraiment modifier les restrictions de visibilité sélectionnées pour le ou les utilisateurs sélectionnés ?" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Voulez-vous vraiment supprimer l’étagère?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Voulez-vous vraiment arrêter Calibre-Web ?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Êtes-vous certain de vouloir supprimer la base de données de synchronisation de Calibre-Web pour forcer une synchronisation complète avec votre liseuse Kobo ?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Refuser" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Autoriser" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} entrées de synchronisation supprimées" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Étiquette introuvable" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Action invalide" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json n'est pas configuré pour l'application Web" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement du fichier logfile est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement du fichier Access Logfile est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Veuillez saisir un fournisseur LDAP, Port, DN et l'identifiant objet de l'utilisateur" -#: cps/admin.py:1223 +#: cps/admin.py:1228 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Veuillez entrer un nom d'utilisateur valide pour réinitialiser le mot de passe" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Veuillez entrer un compte de service LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Le filtre objet du groupe LDAP a besoin d'un identifiant de format \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Le filtre objet du groupe LDAP a une parenthèse non gérée" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Le filtre objet de l'utilisateur LDAP a besoin d'un identifiant de format \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Le filtre objet de l'utilisateur LDAP a une parenthèse non gérée" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Le filtre utilisateur des membres LDAP doit avoir un identificateur de format \"%s\\ »" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Le filtre utilisateur de membre LDAP a des parenthèses non appariées" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CACertificat, certificat ou emplacement de clé non valide, veuillez entrer le chemin correct" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Ajouter un nouvel utilisateur" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Modifier les paramètres du serveur de courriels" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Erreur de la base de données: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Teste les courriels en file d’attente pour l’envoi à %(email)s, veuillez vérifier le résultat des tâches" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Il y a eu une erreur pendant l’envoi du courriel de test : %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Veuillez d'abord configurer votre adresse de courriel..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Les paramètres du serveur de courriels ont été mis à jour" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Éditer l'utilisateur %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Le mot de passe de l’utilisateur %(user)s a été réinitialisé" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Veuillez configurer les paramètres SMTP au préalable..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Visualiseur de fichier journal" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Demande de mise à jour" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Téléchargement de la mise à jour" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Décompression de la mise à jour" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Remplacement des fichiers" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Les connexions à la base de données ont été fermées" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Arrêt du serveur" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Mise à jour terminée, merci d’appuyer sur okay et de rafraîchir la page" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "La mise à jour a échoué :" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Erreur HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Erreur de connexion" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Délai d'attente dépassé lors de l'établissement de connexion" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Erreur générale" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Le fichier de mise à jour ne peut pas être sauvegardé dans le répertoire temporaire" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Les fichiers n’ont pas pu être remplacés pendant la mise à jour" -#: cps/admin.py:1576 +#: cps/admin.py:1581 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Impossible de créer au moins un utilisateur LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Impossible de créer au moins un utilisateur LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Erreur : %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Erreur : Aucun utilisateur renvoyé dans la réponse LDAP du serveur" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Au moins un utilisateur LDAP n'a pas été trouvé dans la base de données" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} utilisateur importé avec succès" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement de la base de données est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "La base de données n'est pas accessible en écriture" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement du fichier Keyfile est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "L'emplacement du fichier Certfile est incorrect, veuillez saisir un chemin valide" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "Les paramètres du serveur de courriels ont été mis à jour" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Configuration des options" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Veuillez compléter tous les champs !" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "Cette adresse de courriel n’appartient pas à un domaine valide" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Ajouter un nouvel utilisateur" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Utilisateur '%(user)s' créé" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Un compte existant a été trouvé pour cette adresse de courriel ou pour ce surnom." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Utilisateur '%(nick)s' supprimé" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Impossible de supprimer l’utilisateur Invité" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Aucun utilisateur admin restant, impossible de supprimer l’utilisateur" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Utilisateur '%(nick)s' mis à jour" @@ -571,115 +590,131 @@ msgstr "Les permissions d'exécutions manquantes" msgid "None" msgstr "Aucun" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Le fichier %(file)s a été téléchargé" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Le format de conversion de la source ou de la destination est manquant" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Le livre a été mis avec succès en file de traitement pour conversion vers %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Une erreur est survenue au cours de la conversion du livre : %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Le livre a été supprimé avec succès" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est pas accessible" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Les identificateurs ne sont pas sensibles à la casse, écrasant l’ancien identificateur" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s n'est pas une langue valide" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Les métadonnées ont bien été mises à jour" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Le fichier téléchargé existe probablement dans la librairie, veuillez le modifier avant de le télécharger de nouveau: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "L’extension de fichier '%(ext)s' n’est pas autorisée pour être déposée sur ce serveur" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "L’extension de fichier '%(ext)s' n’est pas autorisée pour être déposée sur ce serveur" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Pour être déposé le fichier doit avoir une extension" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Le fichier %(filename)s ne peut pas être sauvegardé dans le répertoire temporaire" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Impossible de déplacer le fichier de couverture %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Le format du livre a été supprimé avec succès" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Le livre a été supprimé avec succès" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Vous n’avez par les permissions pour supprimer les livres" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "modifier les métadonnées" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s n’est pas un nombre valide, ignoré" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Impossible de créer le chemin %(path)s (Permission refusée)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Échec de la sauvegarde du fichier %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Le format de fichier %(ext)s a été ajouté à %(book)s" @@ -697,12 +732,12 @@ msgstr "Le domaine de retour d’appel (Callback domain) est non vérifié, veui msgid "%(format)s format not found for book id: %(book)d" msgstr "le format %(format)s est introuvable pour le livre : %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "le %(format)s est introuvable sur Google Drive : %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s introuvable : %(fn)s" @@ -755,141 +790,147 @@ msgstr "Envoyer vers Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Le fichier demandé n’a pu être lu. Problème de permission d’accès ?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Échec de la suppression du dossier de livre pour le livre %(id)s, le chemin d’accès comporte des sous-dossiers : %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "La suppression du livre %(id)s a échoué: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Suppression du livre %(id)s, le chemin du livre est invalide : %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Renommer le titre de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renommer le titre de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Le fichier %(file)s n'a pas été trouvé dans Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renommer le titre de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Le chemin du livre %(path)s n'a pas été trouvé dans Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Cet utilisateur est déjà pris" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Format de l’adresse courriel invalide" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Erreur lors du téléchargement de la couverture" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Erreur de format de couverture" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Impossible de créer le chemin pour la couverture" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Le fichier couverture n'est pas un fichier image valide, ou ne peut pas être stocké" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Seuls les fichiers jpg/jpeg/png/webp/bmp sont supportés comme fichier de couverture" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Contenu du fichier de couverture invalide" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Seuls les fichiers jpg/jpeg sont supportés comme fichier de couverture" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Découvrir" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Fichier binaire UnRar non trouvé" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Une erreur est survenue lors de l'exécution d'UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "La base de données n'est pas accessible en écriture" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Les permissions d'exécutions manquantes" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Une erreur est survenue lors de l'exécution d'UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -957,6 +998,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Erreur Oauth GitHub, veuillez réessayer plus tard." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Erreur Oauth Github : {}" @@ -965,10 +1007,12 @@ msgid "Google Oauth error, please retry later." msgstr "Erreur Oauth Google, veuillez réessayer plus tard." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Erreur Oauth Google : {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} Étoiles" @@ -1051,7 +1095,7 @@ msgstr "Découvrir" msgid "Show Random Books" msgstr "Montrer des livres au hasard" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Catégories" @@ -1062,7 +1106,7 @@ msgid "Show Category Section" msgstr "Montrer la sélection par catégories" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Séries" @@ -1072,7 +1116,7 @@ msgstr "Séries" msgid "Show Series Section" msgstr "Montrer la sélection par séries" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Auteurs" @@ -1082,7 +1126,7 @@ msgstr "Auteurs" msgid "Show Author Section" msgstr "Montrer la sélection par auteur" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Éditeurs" @@ -1092,7 +1136,7 @@ msgstr "Éditeurs" msgid "Show Publisher Section" msgstr "Montrer la sélection par éditeur" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1326,7 +1370,7 @@ msgstr "Données inattendues lors de la lecture des informations de mise à jour msgid "No update available. You already have the latest version installed" msgstr "Aucune mise à jour disponible. Vous avez déjà la dernière version installée" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Une nouvelle mise à jour est disponible. Cliquez sur le bouton ci-dessous pour charger la dernière version." @@ -1334,7 +1378,7 @@ msgstr "Une nouvelle mise à jour est disponible. Cliquez sur le bouton ci-desso msgid "Could not fetch update information" msgstr "Impossible d'extraire les informations de mise à jour" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Téléchargez la dernière version en cliquant sur le bouton ci-dessous." @@ -1555,7 +1599,7 @@ msgstr "Le convertisseur Ebook a échoué avec une erreur inconnue" msgid "Kepubify-converter failed: %(error)s" msgstr "La commande Kepubify-converter a échouée : %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Fichier converti non trouvé ou plus d'un fichier dans le chemin %(folder)s" @@ -1598,6 +1642,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1650,15 +1695,15 @@ msgstr "Télécharger" msgid "View Books" msgstr "Afficher les livres" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Éditer" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Supprimer" @@ -1853,7 +1898,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2144,127 +2192,208 @@ msgstr "Erreur lors de la recherche!" msgid "No Result(s) found! Please try another keyword." msgstr "Aucun résultat. Veuillez essayer avec un nouveau mot clé." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Ce champ est requis" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Fusionner les livres sélectionnés" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Fusionner les livres sélectionnés" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Fusionner les livres sélectionnés" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Fusionner les livres sélectionnés" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Fusionner les livres sélectionnés" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Supprimer la sélection" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Fusionner les livres sélectionnés" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Échanger l’auteur et le titre" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Mettre à jour automatiquement le tri des titres" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Mettre à jour automatiquement le tri des auteurs" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Insérer le titre" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Titre" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Insérer le tri des titres" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Tri des titres" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Insérer le tri des auteurs" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Tri des auteurs" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Insérer les auteurs" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Insérer les catégories" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Insérer les séries" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Index des séries" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Insérer les langues" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Date de publication" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Insérer l’éditeur" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Saisir le nom du domaine" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Commentaires" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Status de lecture" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Identifiants" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Fusionner les livres sélectionnés" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Êtes-vous vraiment sûr?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Les livres avec titre vont être fusionnés depuis :" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Dans le livre avec le titre :" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Fusionner" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Archivé" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Archivé" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Marquer comme lu" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Marquer comme non lu" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Éditer les métadonnées" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Emplacement de la base de données Calibre" @@ -2765,11 +2894,6 @@ msgstr "Ajouter comme archive" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Archivé" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2782,10 +2906,6 @@ msgstr "Ajouter à l'étagère" msgid "(Public)" msgstr "(Public)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Éditer les métadonnées" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Choisissez le type de serveur" diff --git a/cps/translations/gl/LC_MESSAGES/messages.mo b/cps/translations/gl/LC_MESSAGES/messages.mo index 9b5585854..2616b1616 100644 Binary files a/cps/translations/gl/LC_MESSAGES/messages.mo and b/cps/translations/gl/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/gl/LC_MESSAGES/messages.po b/cps/translations/gl/LC_MESSAGES/messages.po index f8f4bfba3..5f768cc68 100644 --- a/cps/translations/gl/LC_MESSAGES/messages.po +++ b/cps/translations/gl/LC_MESSAGES/messages.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2024-12-08 13:50+0100\n" "Last-Translator: pollitor@gmx.com\n" "Language: gl\n" @@ -14,7 +14,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -40,8 +40,8 @@ msgstr "Orde descoñecida" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Éxito! Libros postos na cola para a copia de seguridade dos metadatos, por favor comproba o resultado nas Tarefas" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Descoñecido" @@ -58,7 +58,7 @@ msgstr "Configuración Básica" msgid "UI Configuration" msgstr "Configuración da Interface de Usuario" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -73,444 +73,463 @@ msgstr "Editar Usuarios" msgid "All" msgstr "Todo" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Usuario non atopado" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} usuarios borrados con éxito" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostrar Todo" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Petición mal formada" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Non se pode cambiar o nome do convidado" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "O convidado non pode ter este papel" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Non queda ningún usuario administrador, non se pode eliminar o rol de administrador" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "O Valor ten que ser verdadeiro ou falso" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Rol non válido" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "O convidado non pode ter esta vista" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Vista non válida" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "A localización do convidado determínase automáticamente e non se pode cambiar" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Non hai unha localización válida" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Non se indica ningún idioma de libro válido" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Non se atopou o parámetro" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Columna de lectura non válida" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Columna restrinxida non válida" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Actualizouse a configuración de Calibre-Web" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "De verdade queres eliminar o token Kobo?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "De verdade queres eliminar este dominio?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "De verdade queres borrar este usuario?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "De verdade queres eliminar este dominio?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "De verdade queres eliminar esta estantería?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Estás seguro de que queres cambiar a(s) rexión(s) local(/is) do(s) usuario(s) seleccionado(s)?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Estás seguro de que queres cambiar os idiomas dos libros visibles para o(s) usuario(s) seleccionado(s)?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Estás seguro de que queres cambiar o rol seleccionado para o(s) usuario(s) seleccionado(s)?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Estás seguro de que queres cambiar as restricións seleccionadas para o(s) usuario(s) seleccionado(s)?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Estás seguro de que queres cambiar as restricións seleccionadas para o(s) usuario(s) seleccionado(s)?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Estás seguro de que queres cambiar as restricións seleccionadas para o(s) usuario(s) seleccionado(s)?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Estás seguro de que queres cambiar as restricións de visibilidade seleccionadas para o(s) usuario(s) seleccionado(s)?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Estás seguro de que queres cambiar o comportamento de sincronización da estantería para o(s) usuarios seleccionado(s)?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Estás seguro de que queres cambiar a localización da biblioteca de Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web buscará portadas actualizadas e actualizará as miniaturas das portadas, isto pode levar un tempo?" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Estás seguro de que queres eliminar a base de datos de sincronización de Calibre-Web para forzar unha sincronización completa co teu Kobo Reader?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Denegar" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Permitir" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "Elimináronse {} entradas de sincronización" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Non se atopou a etiqueta" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Acción non válida" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json non está configurado para a aplicación web" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localización do ficheiro de rexistro non é válida. Introduza o camiño correcto" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localización do ficheiro de rexistro de acceso non é válida. Introduza o camiño correcto" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Introduza un provedor LDAP, un porto, un DN e un identificador de obxecto de usuario" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Introduza unha conta de servizo LDAP e un contrasinal" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Introduza unha conta de servizo LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "O filtro de obxectos de grupo LDAP debe ter un identificador de formato \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "O filtro de obxectos de grupo LDAP ten parénteses sen coincidencia" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de obxectos de usuario LDAP debe ter un identificador de formato \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "O filtro de obxectos de usuario LDAP ten parénteses sen coincidencia" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de usuario de membro LDAP debe ter un identificador de formato \"%s\"" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "O filtro de usuarios de membros de LDAP ten parénteses sen coincidencia" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "As localizacións do certificado da Autoridade de certificación (CA) do LDAP, do certificado ou da chave non son válidos. introduza o camiño correcto" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Engadir novo usuario" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Editar a configuración do servidor de correo electrónico" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Éxito! Conta de Gmail verificada." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Vaia! Erro da base de datos: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Un correo electrónico de proba púxose na cola para enviar a %(email)s, comprobe Tarefas para ver o resultado" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Produciuse un erro ao enviar o correo electrónico de proba: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Configure primeiro o seu enderezo de correo electrónico..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Actualizouse a configuración do servidor de correo electrónico" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Editar a configuración de tarefas programadas" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Hora de inicio non válida para a tarefa especificada" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Duración non válida para a tarefa especificada" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Actualizouse a configuración das tarefas programadas" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Vaia! Produciuse un erro descoñecido. Téntao de novo máis tarde." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "A base de datos de configuración non se pode escribir" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Editar o Usuario %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "Éxito! O contrasinal para o usuario %(user)s restableceuse" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "Vaia! Configure a configuración do correo SMTP." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Visor de ficheiros de rexistro" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Solicitando paquete de actualización" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Descargando paquete de actualización" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Descomprimindo o paquete de actualización" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Substituindo ficheiros" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "As conexións de base de datos están pechadas" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Parando o servidor" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "A actualización finalizou, preme Aceptar e volve cargar a páxina" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Fallou a actualización:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Erro HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Erro de conexión" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Tempo esgotado ao establecer a conexión" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Erro xeral" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Non se puido gardar o ficheiro de actualización no directorio temporal" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Non se puideron substituír os ficheiros durante a actualización" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Produciuse un erro ao extraer polo menos un usuario LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Produciuse un erro ao crear polo menos un usuario LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Erro: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Erro: non se devolveu ningún usuario en resposta do servidor LDAP" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Non se atopou polo menos un usuario LDAP na base de datos" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "Usuario {} importado correctamente" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "O camiño dos libros non é válido" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "A localización da base de datos non é válida, introduza o camiño correcto" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "A base de datos non é escribible" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "A localización do ficheiro de chave non é válida. Introduza o camiño correcto" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "A localización do ficheiro de certificado non é válida. Introduza o camiño correcto" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "A lonxitude do contrasinal debe estar entre 1 e 40" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Actualizouse a configuración da base de datos" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Configuración da base de datos" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Vaia! Complete todos os campos." -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "O correo electrónico non é dun dominio válido" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Engadir novo usuario" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Creouse o usuario '%(user)s'" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Vaia! Xa existe unha conta para este correo electrónico ou nome." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Eliminouse o usuario '%(nick)s'" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Non se pode eliminar o usuario convidado" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Non queda ningún usuario administrador, non se pode eliminar o usuario" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "O correo electrónico non pode estar baleiro e ten que ser un correo electrónico válido" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" @@ -539,114 +558,130 @@ msgstr "Faltan permisos de execución" msgid "None" msgstr "Ningún" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Cargouse o ficheiro %(file)s" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Falta o formato de orixe ou destino para a conversión" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "O libro fixo cola correctamente para converterse a %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Produciuse un erro ao converter este libro: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Eliminouse correctamente o estante" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Vaia! O libro seleccionado non está dispoñible. O ficheiro non existe ou non é accesible" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "O usuario non ten dereitos para cargar portada" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores non distinguen entre maiúsculas e minúsculas, sobreescribindo o identificador antigo" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' non é un idioma válido" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Actualizáronse correctamente os metadatos" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Erro ao editar o libro: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Probablemente exista o libro cargado na biblioteca. Considera cambiar antes de cargar un novo: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "Non se permite cargar o tipo de ficheiro neste servidor" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Non se permite cargar a extensión de ficheiro '%(ext)s' a este servidor" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "O ficheiro que se vai cargar debe ter unha extensión" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Non se puido gardar o ficheiro %(filename)s no directorio temporal" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Produciuse un erro ao mover o ficheiro de portada %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "O formato do libro eliminouse correctamente" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Libro eliminado correctamente" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Faltan permisos para eliminar libros" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "editar metadatos" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "Seriesindex: %(seriesindex)s non é un número válido, saltando" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "O usuario non ten dereitos para cargar formatos de ficheiro adicionais" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Produciuse un erro ao crear o camiño %(path)s (permiso denegado)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Produciuse un erro ao almacenar o ficheiro %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Engadiuse o formato de ficheiro %(ext)s a %(book)s" @@ -664,12 +699,12 @@ msgstr "O dominio de devolución de chamada non está verificado. Sigue os pasos msgid "%(format)s format not found for book id: %(book)d" msgstr "Non se atopou o formato %(format)s para o ID do libro: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Non se atopou %(format)s en Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s non atopado: %(fn)s" @@ -718,136 +753,142 @@ msgstr "%(book)s enviado a eReader" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Non se puido ler o ficheiro solicitado. Quizais permisos incorrectos?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Non se puido establecer o estado de lectura: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Produciuse un erro ao eliminar o cartafol do libro %(id)s, o camiño ten subcartafoles: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Produciuse un erro ao eliminar o libro %(id)s: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Eliminando o libro %(id)s só da base de datos, a ruta do libro na base de datos non é válida: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "O cambio de nome do autor de: '%(src)s' a '%(dest)s' fallou co erro: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "O cambio de nome do autor de: '%(src)s' a '%(dest)s' fallou co erro: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Non se atopou o ficheiro %(file)s en Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "O cambio de título de: '%(src)s' a '%(dest)s' produciu o erro: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Non se atopou o camiño do libro %(path)s en Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "Atopouse unha conta existente para este enderezo de correo electrónico" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Este nome de usuario xa está tomado" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "Formato de enderezo de correo electrónico non válido" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "O contrasinal non cumpre coas regras de validación do contrasinal" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "O módulo de Python 'advocate' non está instalado pero é necesario para cargas de portadas" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Erro ao descargar a portada" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Erro de formato de portada" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Non tes permiso para acceder a localhost ou á rede local para cargas de portadas" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Produciuse un erro ao crear o camiño para a portada" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "O ficheiro de portada non é un ficheiro de imaxe válido ou non se puido almacenar" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Só se admiten ficheiros jpg/jpeg/png/webp/bmp como ficheiro de portada" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Contido do ficheiro de portada non válido" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Só se admiten ficheiros jpg/jpeg como ficheiro de portada" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "Portada" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Non se atopou o ficheiro binario UnRar" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "Erro ao executar UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "Non se puido atopar o directorio especificado" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "Especifique un directorio, non un ficheiro" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "Os binarios de calibre non son viables" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "Faltan binarios de calibre: %(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Faltan permisos executables: %(missing)s" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "Erro ao executar Calibre" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Pon todos os libros en cola para a copia de seguridade dos metadatos" @@ -914,6 +955,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Erro de GitHub Oauth. Ténteo de novo máis tarde." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Erro de GitHub Oauth: {}" @@ -922,10 +964,12 @@ msgid "Google Oauth error, please retry later." msgstr "Erro de Google Oauth. Téntao de novo máis tarde." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Erro de Google Oauth: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} estrelas" @@ -1007,7 +1051,7 @@ msgstr "Descubrir" msgid "Show Random Books" msgstr "Mostrar libros aleatorios" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Categorías" @@ -1017,7 +1061,7 @@ msgid "Show Category Section" msgstr "Mostrar sección de categorías" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Serie" @@ -1026,7 +1070,7 @@ msgstr "Serie" msgid "Show Series Section" msgstr "Mostrar Sección Serie" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autores" @@ -1035,7 +1079,7 @@ msgstr "Autores" msgid "Show Author Section" msgstr "Mostrar a sección Autor" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Editores" @@ -1044,7 +1088,7 @@ msgstr "Editores" msgid "Show Publisher Section" msgstr "Mostrar a sección de editores" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1271,7 +1315,7 @@ msgstr "Datos inesperados ao ler a información de actualización" msgid "No update available. You already have the latest version installed" msgstr "Non hai ningunha actualización dispoñible. Xa tes instalada a última versión" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Hai unha nova actualización dispoñible. Fai clic no botón de abaixo para actualizar á última versión." @@ -1279,7 +1323,7 @@ msgstr "Hai unha nova actualización dispoñible. Fai clic no botón de abaixo p msgid "Could not fetch update information" msgstr "Non se puido recuperar a información de actualización" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Fai clic no botón de abaixo para actualizar á última versión estable." @@ -1490,7 +1534,7 @@ msgstr "Fallou o conversor de libros electrónicos cun erro descoñecido" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter fallou: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Non se atopou o ficheiro convertido ou hai máis dun ficheiro no cartafol %(folder)s" @@ -1532,6 +1576,7 @@ msgid "Cover Thumbnails" msgstr "Miniaturas de portada" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "Xeráronse {0} miniaturas de series" @@ -1583,15 +1628,15 @@ msgstr "Descargar" msgid "View Books" msgstr "Ver libros" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Editar" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Eliminar" @@ -1784,7 +1829,10 @@ msgid "OK" msgstr "Vale" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2074,125 +2122,205 @@ msgstr "Erro de busca!" msgid "No Result(s) found! Please try another keyword." msgstr "Non se atopou ningún resultado! Proba con outra palabra clave." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Este campo é obrigatorio" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Combina os libros seleccionados" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Combina os libros seleccionados" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Combina os libros seleccionados" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Combina os libros seleccionados" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Combina os libros seleccionados" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Eliminar seleccións" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Combina os libros seleccionados" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Intercambio de autor e título" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Actualizar o Título para Ordenar automaticamente" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Actualizar o Autor para Ordenar automaticamente" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Introduza o título" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Título" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Introduza o Título para Ordenar" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Título para Ordenar" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Introduce o Autor para Ordenar" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Autor para Ordenar" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Introducir Autores" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Introduza categorías" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Introduza as series" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Índice de series" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Introduza Idiomas" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Data de publicación" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Entra Editores" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Introduce comentarios" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Comentarios" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Estado do arquivo" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Estado de lectura" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Entra " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Combina os libros seleccionados" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Estás realmente seguro?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Os libros con título combinaranse de:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "No libro con título:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Combinar" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "Arquivo" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Arquivo" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Marcar como lido" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Marcar como non lido" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Editar metadatos" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Localización da base de datos Calibre" @@ -2685,10 +2813,6 @@ msgstr "Engadir ao arquivo" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "Marca o libro como arquivado ou non, para ocultalo en Calibre-Web e elimínao de Kobo Reader" -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "Arquivo" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2701,10 +2825,6 @@ msgstr "Engadir ao estante" msgid "(Public)" msgstr "(Público)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Editar metadatos" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Tipo de conta de correo electrónico" diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo index 10e82b2fe..79685121d 100644 Binary files a/cps/translations/hu/LC_MESSAGES/messages.mo and b/cps/translations/hu/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/hu/LC_MESSAGES/messages.po b/cps/translations/hu/LC_MESSAGES/messages.po index 73929f3a4..7dc17434e 100644 --- a/cps/translations/hu/LC_MESSAGES/messages.po +++ b/cps/translations/hu/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2019-04-06 23:36+0200\n" "Last-Translator: \n" "Language: hu\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -44,8 +44,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Ismeretlen" @@ -62,7 +62,7 @@ msgstr "Alapvető beállítások" msgid "UI Configuration" msgstr "Felhasználói felület beállításai" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,452 +78,471 @@ msgstr "Rendszergazda felhasználó" msgid "All" msgstr "" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mindent mutass" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "A Calibre-Web konfigurációja frissítve." -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Valóban törölni akarod a polcot?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Valóban törölni akarod a polcot?" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Valóban törölni akarod a polcot?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Valóban törölni akarod a polcot?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Valóban törölni akarod a polcot?" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Valóban törölni akarod a polcot?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Valóban törölni akarod a polcot?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Valóban le akarod állítani a Calibre-Web-et?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "SMTP beállítások változtatása" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Hiba történt a teszt levél küldése során: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Az e-mail kiszolgáló beállításai frissítve." -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ismeretlen hiba történt. Próbáld újra később!" -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr " A felhasználó szerkesztése: %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "A(z) %(user)s felhasználó jelszavának alaphelyzetbe állítása" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Először be kell állítani az SMTP levelező beállításokat..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Frissítési csomag kérése" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Frissítési csomag letöltése" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Frissítési csomag kitömörítése" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Fájlok cserélése" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Adatbázis kapcsolatok lezárva" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Szerver leállítása" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "A frissítés települt, kattints az OK-ra és újra tölt az oldal" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "A frissítés nem sikerült:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP hiba" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Kapcsolódási hiba" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Időtúllépés a kapcsolódás során" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Általános hiba" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "Az e-mail kiszolgáló beállításai frissítve." -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Funkciók beállítása" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Az összes mezőt ki kell tölteni!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "Az e-mail tartománya nem érvényes." -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Új felhasználó hozzáadása" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "A következő felhasználó létrehozva: %(user)s" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Már létezik felhasználó ehhez az e-mail címhez vagy felhasználói névhez." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "A felhasználó törölve: %(nick)s" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "A felhasználó frissítve: %(nick)s" @@ -552,115 +571,131 @@ msgstr "" msgid "None" msgstr "Nincs" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Az átalakításhoz hiányzik a forrás- vagy a célformátum!" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "A könyv sikeresen átalakításra lett jelölve a következő formátumra: %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Hiba történt a könyv átalakításakor: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "A metaadatok sikeresen frissültek" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Hiba történt az e-könyv megnyitásakor. A fájl nem létezik vagy nem érhető el:" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "A(z) %(langname)s nem érvényes nyelv" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "A metaadatok sikeresen frissültek" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "A(z) \"%(ext)s\" kiterjesztésű fájlok feltöltése nincs engedélyezve ezen a szerveren." -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "A(z) \"%(ext)s\" kiterjesztésű fájlok feltöltése nincs engedélyezve ezen a szerveren." -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "A feltöltendő fájlnak kiterjesztéssel kell rendelkeznie!" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "Metaadatok szerkesztése" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nem sikerült létrehozni az elérési utat (engedély megtagadva): %(path)s." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Nem sikerült elmenteni a %(file)s fájlt." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "A(z) %(ext)s fájlformátum hozzáadva a könyvhez: %(book)s." @@ -678,12 +713,12 @@ msgstr "A visszahívási tartomány nem ellenőrzött, kövesd az alábbi lépé msgid "%(format)s format not found for book id: %(book)d" msgstr "A(z) %(format)s formátum nem található a következő könyvhöz: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s nem található a Google Drive-on: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nem található: %(fn)s" @@ -736,137 +771,143 @@ msgstr "Küldés Kindle-re" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "A kért fájl nem olvasható. Esetleg jogosultsági probléma lenne?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "A cím átnevezése \"%(src)s\"-ról \"%(dest)s\"-ra nem sikerült a következő hiba miatt: %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "A cím átnevezése \"%(src)s\"-ról \"%(dest)s\"-ra nem sikerült a következő hiba miatt: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "A \"%(file)s\" fájl nem található a Google Drive-on" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "A cím átnevezése \"%(src)s\"-ról \"%(dest)s\"-ra nem sikerült a következő hiba miatt: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "A könyv elérési útja (\"%(path)s\") nem található a Google Drive-on" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Felfedezés" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -933,6 +974,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "" #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -941,10 +983,12 @@ msgid "Google Oauth error, please retry later." msgstr "" #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "" @@ -1027,7 +1071,7 @@ msgstr "Felfedezés" msgid "Show Random Books" msgstr "Mutass könyveket találomra" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Címkék" @@ -1038,7 +1082,7 @@ msgid "Show Category Section" msgstr "Címke választó mutatása" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Sorozatok" @@ -1048,7 +1092,7 @@ msgstr "Sorozatok" msgid "Show Series Section" msgstr "Sorozat választó mutatása" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Szerzők" @@ -1058,7 +1102,7 @@ msgstr "Szerzők" msgid "Show Author Section" msgstr "Szerző választó mutatása" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Kiadók" @@ -1068,7 +1112,7 @@ msgstr "Kiadók" msgid "Show Publisher Section" msgstr "Kiadó választó mutatása" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1302,7 +1346,7 @@ msgstr "Ismeretlen adat a frissítési információk olvasásakor" msgid "No update available. You already have the latest version installed" msgstr "Nem érhető el újabb frissítés. Már a legújabb verzió van telepítve." -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Egy új frissítés érhető el. Kattints a lenti gombra a legújabb verzió frissítésére" @@ -1310,7 +1354,7 @@ msgstr "Egy új frissítés érhető el. Kattints a lenti gombra a legújabb ver msgid "Could not fetch update information" msgstr "Nem lehetett begyűjteni a frissítési információkat" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "" @@ -1528,7 +1572,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" @@ -1571,6 +1615,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1623,15 +1668,15 @@ msgstr "Letöltés" msgid "View Books" msgstr "" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Szerkesztés" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Törlés" @@ -1825,7 +1870,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2116,127 +2164,207 @@ msgstr "Keresési hiba!" msgid "No Result(s) found! Please try another keyword." msgstr "Nincs találat! Próbálj másik kulcsszót." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Legutóbbi könyvek mutatása" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Legutóbbi könyvek mutatása" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Legyen olvasatlan" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Legyen olvasatlan" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +msgid "Clear selections" msgstr "" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Könyv törlése" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Név" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Tartomány megadása" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Regisztrálás" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Könyv törlése" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Biztosan?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Keresés" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Keresés" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Legyen olvasott" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Legyen olvasatlan" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Metaadatok szerkesztése" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Calibra adatbázis helye" @@ -2734,11 +2862,6 @@ msgstr "" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Keresés" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2751,10 +2874,6 @@ msgstr "Hozzáadás polchoz" msgid "(Public)" msgstr "" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Metaadatok szerkesztése" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/id/LC_MESSAGES/messages.mo b/cps/translations/id/LC_MESSAGES/messages.mo index 3b4a278e4..6471e1110 100644 Binary files a/cps/translations/id/LC_MESSAGES/messages.mo and b/cps/translations/id/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/id/LC_MESSAGES/messages.po b/cps/translations/id/LC_MESSAGES/messages.po index 89e0059d6..707fbaf73 100644 --- a/cps/translations/id/LC_MESSAGES/messages.po +++ b/cps/translations/id/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2023-01-21 10:00+0700\n" "Last-Translator: Arief Hidayat\n" "Language: id\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -45,8 +45,8 @@ msgstr "Perintah tidak diketahui" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Uji email diantrean untuk dikirim ke %(email), harap periksa Tasks untuk hasilnya" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Tidak diketahui" @@ -63,7 +63,7 @@ msgstr "Pengaturan Dasar" msgid "UI Configuration" msgstr "Pengaturan Antarmuka" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,445 +78,464 @@ msgstr "Edit pengguna" msgid "All" msgstr "Semua" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Pengguna tidak ditemukan" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} pengguna berhasil dihapus" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Tampilkan semua" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Permintaan salah" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Nama Tamu tidak dapat diganti" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Tamu tidak dapat memiliki peran ini" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Tidak ada pengguna admin yang tersisa, tidak dapat menghapus peran admin" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Nilai harus benar atau salah" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Peran tidak valid" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr " Tamu tidak dapat mengakses tampilan ini" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr " Tampilan tidak valid" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Lokal Tamu ditentukan secara otomatis dan tidak dapat disetel" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Tidak Ada Lokal yang Valid Diberikan" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Tidak Ada Bahasa Buku yang Valid Diberikan" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parameter tidak ditemukan" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Kolom Baca Tidak Valid" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Kolom Dibatasi Tidak Valid" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Pengaturan Calibre-Web telah diperbarui" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Apakah Anda yakin ingin menghapus Token Kobo?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Apakah Anda yakin ingin menghapus domain ini?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Apakah Anda yakin ingin menghapus pengguna ini?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Apakah Anda yakin ingin menghapus domain ini?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Apakah Anda yakin ingin menghapus rak ini?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Apakah Anda yakin ingin merubah lokalisasi untuk pengguna yang dipilih?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Apakah Anda yakin ingin merubah bahasa buku yang terlihat untuk pengguna yang dipilih?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Apakah Anda yakin ingin merubah peran untuk pengguna yang dipilih?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Apakah Anda yakin ingin mengubah batasan yang dipilih untuk pengguna yang dipilih?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Apakah Anda yakin ingin mengubah batasan yang dipilih untuk pengguna yang dipilih?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Apakah Anda yakin ingin mengubah batasan yang dipilih untuk pengguna yang dipilih?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Apakah Anda yakin ingin merubah batasan visibilitas untuk pengguna yang dipilih?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Apakah Anda yakin ingin mengubah perilaku sinkronisasi rak untuk pengguna yang dipilih?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Apakah Anda yakin ingin mengubah lokasi perpustakaan Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web akan mencari Sampul yang diperbarui dan memperbarui Thumbnail Sampul, ini mungkin memakan waktu cukup lama?" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Apakah Anda yakin ingin menghapus database sinkronisasi Calibre-Web untuk memaksakan sinkronisasi penuh dengan Kobo Reader Anda?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Tolak" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Izinkan" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} entri sinkronisasi dihapus" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Tag tidak ditemukan" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Tindakan Tidak Valid" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json Tidak Diatur Untuk Aplikasi Web" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Lokasi Logfile tidak Valid, Harap Masukkan Jalur yang Benar" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Akses Logfile Catatan tidak Valid, Harap Masukkan Jalur yang Benar" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Harap Masukkan Provider LDAP, Port, DN dan User Obect Identifier" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Masukkan Akun Layanan LDAP dan Kata Sandi" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Masukkan Akun Layanan LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Filter Objek Grup LDAP Harus Memiliki Satu Pengidentifikasi Format \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filter Objek Grup LDAP Memiliki Tanda kurung yang Tak Berpasangan" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Filter Objek Pengguna LDAP harus Memiliki Satu Pengidentifikasi Format \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filter Objek Pengguna LDAP Memiliki Tanda kurung yang Tak Berpasangan" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Filter Pengguna Anggota LDAP harus Memiliki Satu Pengenal Format \"%s\"" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filter Pengguna Anggota LDAP Memiliki Tanda Kurung yang Tak Berpasangan" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Lokasi LDAP Sertifikat CA, Sertifikat, atau Kunci tidak Valid, Harap Masukkan Jalur yang Benar " -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Tambah Pengguna Baru" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Edit Pengaturan Server Email" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Kesalahan basis data: %(error)s" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Uji email diantrean untuk dikirim ke %(email), harap periksa Tasks untuk hasilnya" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Terjadi kesalahan saat mengirim email tes: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Harap atur alamat email Anda terlebih dahulu.." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Setelan server email diperbarui" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Edit Pengaturan Tugas Terjadwal" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Waktu mulai tidak valid untuk tugas yang ditentukan" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Durasi tidak valid untuk tugas yang ditentukan" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Pengaturan tugas terjadwal diperbarui" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Terjadi kesalahan yang tidak diketahui. Coba lagi nanti." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "Pengaturan DB tidak dapat ditulisi" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Edit pengguna %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Kata sandi untuk pengaturan ulang pengguna %(user) " -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Harap atur pengaturan email SMTP terlebih dahulu..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Penampil berkas log" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Meminta paket pembaruan" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Mengunduh paket pembaruan" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Mengekstrak paket pembaruan" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Mengganti berkas" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Koneksi basis data ditutup" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Menghentikan server" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Pembaruan selesai, silakan tekan OK dan muat ulang halaman" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Pembaruan gagal:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Kesalahan HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Kesalahan koneksi" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Batas waktu saat membuat koneksi" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Kesalahan umum" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Berkas pembaruan tidak dapat disimpan di direktori temp" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Berkas tidak dapat diganti selama pembaruan" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Gagal mengekstrak setidaknya Satu Pengguna LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Gagal Membuat Sedikitnya Satu Pengguna LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Kesalahan: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Error: Tidak ada pengguna yang dikembalikan sebagai respons dari server LDAP" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Setidaknya Satu Pengguna LDAP Tidak Ditemukan di Basis Data" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} Pengguna Berhasil Diimpor" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Lokasi Basis Data tidak Valid, Harap Masukkan Jalur yang Benar" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "Basis Data tidak dapat ditulisi" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Lokasi keyfile tidak Valid, Harap Masukkan Jalur yang Benar " -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Lokasi Sertifikat tidak Valid, Harap Masukkan Jalur yang Benar " -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Pengaturan Basis Data diperbarui" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Pengaturan Basis Data" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Harap masukkan seluruh isian!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "Email bukan dari domain yang valid" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Tambahkan pengguna baru" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Pengguna '%(user)s' telah dibuat" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Ditemukan akun yang ada untuk alamat email atau nama ini." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Pengguna '%(nick)s' telah dihapus" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Tidak dapat menghapus Pengguna Tamu" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Tidak ada pengguna admin tersisa, tidak dapat menghapus pengguna" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "Alamat email tidak boleh kosong dan harus berupa email yang valid" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Pengguna '%(nick)s' diperbarui" @@ -545,115 +564,131 @@ msgstr "Izin eksekusi hilang" msgid "None" msgstr "Tidak ada" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Berkas %(file)s telah diunggah" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Format sumber atau tujuan untuk konversi tidak ada" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Buku berhasil diantrekan untuk dikonversi ke %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Terjadi kesalahan saat mengonversi buku ini: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Rak berhasil dihapus" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Ups! Judul buku yang dipilih tidak tersedia. Berkas tidak ada atau tidak dapat diakses" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "Pengguna tidak berhak mengganti sampul" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDは大文字小文字を区別しません。元のIDを上書きします" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' bukan bahasa yang valid" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadata berhasil diperbarui" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Kesalahan pengeditan buku: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Buku yang diunggah mungkin ada di perpustakaan, pertimbangkan untuk mengubahnya sebelum mengunggah yang baru: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Ekstensi berkas '%(ext)s' tidak diizinkan untuk diunggah ke server ini" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Ekstensi berkas '%(ext)s' tidak diizinkan untuk diunggah ke server ini" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Berkas yang akan diunggah harus memiliki ekstensi" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Berkas %(filename)s tidak dapat disimpan ke direktori temp" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Gagal Memindahkan Berkas Sampul %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Format Buku Berhasil Dihapus" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Buku Berhasil Dihapus" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Anda tidak memiliki izin untuk menghapus buku" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "edit metadata" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s dilewati karena bukan angka yang valid" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "Pengguna tidak memiliki izin untuk mengunggah format berkas tambahan" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Gagal membuat jalur %(path)s (Izin ditolak)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Gagal menyimpan berkas %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Format berkas %(ext)s ditambahkan ke %(book)s" @@ -671,12 +706,12 @@ msgstr "Domain panggilan balik tidak diverifikasi, ikuti langkah-langkah untuk m msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s format tidak ditemukan untuk id buku: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s tidak ditemukan di Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s tidak ditemukan: %(fn)s" @@ -728,141 +763,147 @@ msgstr "%%(buku)s telah dikirim ke E-Reader" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Berkas yang diminta tidak dapat dibaca. Mungkin izinnya salah?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Status baca tidak bisa disetel: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Menghapus folder buku untuk buku %(id)s gagal, jalur memiliki subfolder: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Gagal menghapus buku %(id)s: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Menghapus buku %(id)s hanya dari basis data, jalur buku di basis data tidak valid: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Ganti nama pengarang dari: '%(src)s' menjadi '%(dest)s' gagal dengan kesalahan: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Ganti nama pengarang dari: '%(src)s' menjadi '%(dest)s' gagal dengan kesalahan: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Berkas %(file)s tidak ditemukan di Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Ganti nama judul dari: '%(src)s' menjadi '%(dest)s' gagal dengan kesalahan: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Jalur buku %(path)s tidak ditemukan di Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Nama pengguna ini sudah digunakan" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Format alamat email tidak valid" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Modul 'advocate' Python tidak diinstal tetapi diperlukan untuk unggahan sampul" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Kesalahan Mengunduh Sampul" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Kesalahan Format Sampul" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Anda tidak diizinkan mengakses localhost atau jaringan lokal untuk unggahan sampul" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Gagal membuat jalur untuk sampul" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Berkas sampul bukan berkas gambar yang valid, atau tidak dapat disimpan" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Hanya berkas jpg/jpeg/png/webp/bmp yang didukung sebagai berkas sampul" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Konten berkas sampul tidak valid" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Hanya berkas jpg/jpeg yang didukung sebagai berkas sampul" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Sampul" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Berkas biner unrar tidak ditemukan" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Kesalahan saat menjalankan UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "Basis Data tidak dapat ditulisi" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Izin eksekusi hilang" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Kesalahan saat menjalankan UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Antrian semua buku untuk cadangan metadata" @@ -929,6 +970,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Kesalahan GitHub Oauth, silakan coba lagi nanti." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Kesalahan GitHub OAuth: {}" @@ -937,10 +979,12 @@ msgid "Google Oauth error, please retry later." msgstr "Kesalahan Google Oauth, harap coba lagi nanti." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Kesalahan Google OAuth: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{}★" @@ -1023,7 +1067,7 @@ msgstr "Temukan" msgid "Show Random Books" msgstr "Tampilkan Buku Acak" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategori" @@ -1034,7 +1078,7 @@ msgid "Show Category Section" msgstr "Tampilkan pilihan kategori" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Seri" @@ -1044,7 +1088,7 @@ msgstr "Seri" msgid "Show Series Section" msgstr "Tampilkan pilihan seri" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Penulis" @@ -1054,7 +1098,7 @@ msgstr "Penulis" msgid "Show Author Section" msgstr "Tampilkan pilihan penulis" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Penerbit" @@ -1064,7 +1108,7 @@ msgstr "Penerbit" msgid "Show Publisher Section" msgstr "Tampilkan pilihan penerbit" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1295,7 +1339,7 @@ msgstr "Data tak terduga saat membaca informasi pembaruan" msgid "No update available. You already have the latest version installed" msgstr "Tidak ada pembaruan yang tersedia. Anda telah memasang versi terbaru" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Pembaruan tersedia. Klik tombol di bawah untuk memperbarui ke versi terbaru." @@ -1303,7 +1347,7 @@ msgstr "Pembaruan tersedia. Klik tombol di bawah untuk memperbarui ke versi terb msgid "Could not fetch update information" msgstr "Tidak dapat mengambil informasi pembaruan" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Klik tombol di bawah untuk memperbarui ke versi stabil terbaru." @@ -1523,7 +1567,7 @@ msgstr "Konverter ebook gagal dengan kesalahan yang tidak diketahui." msgid "Kepubify-converter failed: %(error)s" msgstr "Kebupify-converter gagal: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Berkas yang telah dikonversi tidak ditemukan atau terdapat duplikat dalam folder %(folder)s" @@ -1566,6 +1610,7 @@ msgid "Cover Thumbnails" msgstr "Thumbnail Sampul" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "{0} thumbnail seri dihasilkan" @@ -1617,15 +1662,15 @@ msgstr "Unduh" msgid "View Books" msgstr "Lihat Buku" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Edit" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Hapus" @@ -1819,7 +1864,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2109,125 +2157,206 @@ msgstr "Kesalahan pencarian!" msgid "No Result(s) found! Please try another keyword." msgstr "Tidak ada hasil yang ditemukan! Silakan coba kata kunci lain." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Isian Ini Diperlukan" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Gabungkan buku terpiih" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Gabungkan buku terpiih" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Gabungkan buku terpiih" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Gabungkan buku terpiih" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Gabungkan buku terpiih" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Hapus Pilihan" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Gabungkan buku terpiih" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Tukar penulis dan judul" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Perbarui Pengurutan Judul secara otomatis" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Perbarui Pengurutan Penulis secara otomatis" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Masukkan Judul" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Judul" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Masukkan Urutan Judul" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Urutan Judul" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Masukkan Urutan Penulis" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Urutan Penulis" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Masukkan Penulis" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Masukkan Kategori" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Masukkan Seri" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Indeks Pencarian" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Masukkan Bahasa" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Tanggal Terbit" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Masukkan Penerbit" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Masukkan komentar" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Komentar" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Status Arsip" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Status Baca" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "入力: " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Gabungkan buku terpiih" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Apakah Anda yakin?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Buku dengan Judul akan digabungkan dari:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Ke dalam Buku dengan Judul:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Gabungkan" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Diarsipkan" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Diarsipkan" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Tandai sebagai dibaca" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Tandai sebagai Belum dibaca" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Edit Metadata" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Lokasi Database Calibre" @@ -2725,11 +2854,6 @@ msgstr "Tambahkan ke Arsip" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Diarsipkan" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2742,10 +2866,6 @@ msgstr "Tambah ke rak" msgid "(Public)" msgstr "(Publik)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Edit Metadata" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Pilih Jenis Server" diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo index 49bd3c66f..1aa2c4aab 100644 Binary files a/cps/translations/it/LC_MESSAGES/messages.mo and b/cps/translations/it/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po index 88f5f2a07..6c92711a3 100644 --- a/cps/translations/it/LC_MESSAGES/messages.po +++ b/cps/translations/it/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2025-04-15 00:50+0200\n" "Last-Translator: Massimo Pissarello \n" "Language: it\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "Comando sconosciuto" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Tutto OK! Libri in coda per il backup dei metadati, controlla le attività per il risultato" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Sconosciuto" @@ -60,7 +60,7 @@ msgstr "Configurazione di base" msgid "UI Configuration" msgstr "Configurazione dell'interfaccia utente" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,444 +75,463 @@ msgstr "Modifica utenti" msgid "All" msgstr "Tutti" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Utente non trovato" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "utenti eliminati correttamente" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostra tutto" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Richiesta non valida" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Il nome dell'utente Guest (ospite) non può essere modificato" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "L'utente Guest (ospite) non può avere questo ruolo" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Non rimarrebbe nessun utente amministratore, non è possibile rimuovere il ruolo di amministratore" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Il valore deve essere vero o falso" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Ruolo non valido" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "L'utente Guest (ospite) non può visualizzare questa schermata" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Visualizzazione non valida" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Le impostazioni locali dell'utente Guest (ospite) sono determinate automaticamente e non possono essere configurate" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Nessuna lingua valida specificata" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Nessun libro valido per la lingua specificata" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parametro non trovato" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Colonna di lettura non valida" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Colonna con restrizioni non valida" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "La configurazione di Calibre-Web è stata aggiornata" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Vuoi veramente eliminare il token di Kobo?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Vuoi veramente eliminare questo dominio?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Vuoi veramente eliminare questo utente?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Vuoi veramente eliminare questo dominio?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Sei sicuro di voler eliminare questo scaffale?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Sei sicuro di voler cambiare le impostazioni internazionali degli utenti selezionati?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Sei sicuro di voler cambiare le lingue visibili del libro per gli utenti selezionati?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Sei sicuro di voler cambiare il ruolo selezionato per gli utenti selezionati?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Sei sicuro di voler cambiare le restrizioni selezionate per gli utenti selezionati?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Sei sicuro di voler cambiare le restrizioni selezionate per gli utenti selezionati?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Sei sicuro di voler cambiare le restrizioni selezionate per gli utenti selezionati?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Sei sicuro di voler cambiare le restrizioni di visibilità selezionate per gli utenti selezionati?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Sei sicuro di voler cambiare il comportamento di sincronizzazione dello scaffale per gli utenti selezionati?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Sei sicuro di voler cambiare la posizione della biblioteca di Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web cercherà le copertine aggiornate e aggiornerà le miniature delle copertine, ma ci vorrà un po' di tempo." -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Sei sicuro di voler eliminare il database sincronizzato di Calibre-Web e forzare una sincronizzazione completa con il tuo lettore Kobo?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Nega" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Consenti" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} voci di sincronizzazione eliminate" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Etichetta non trovata" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Azione non valida" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json non è configurato per Web Application" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "La posizione del file di log non è valida, per favore indica il percorso corretto" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "La posizione del file del log di accesso non è valida, indica il percorso corretto" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Inserisci un provider LDAP, una porta, un DN e un identificatore oggetto utente" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Inserisci un account e una password del servizio LDAP" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Inserisci un account di servizio LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Il filtro oggetto gruppo LDAP deve avere un identificatore di formato \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Il filtro oggetto gruppo LDAP ha parentesi senza corrispondenza" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Il filtro oggetto utente LDAP deve avere un identificatore di formato \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Il filtro oggetto utente LDAP ha parentesi senza corrispondenza" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Il filtro utente membro LDAP deve avere un identificatore di formato \"%s\"" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Il filtro utente membro LDAP ha parentesi senza corrispondenza" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Il certificato CA LDAP, il certificato o la posizione della chiave non sono validi. Inserisci il percorso corretto" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Aggiungi nuovo utente" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Modifica le impostazioni del server e-mail" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Tutto OK! Account Gmail verificato." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Errore nel database: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "L'e-mail di prova è stato accodata correttamente per essere spedita a %(email)s, controlla il risultato in Attività" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Si è verificato un errore nell'invio dell'e-mail di prova: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Configura prima il tuo indirizzo e-mail..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Le impostazioni del server e-mail sono state aggiornate" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Modifica le impostazioni delle attività pianificate" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Ora di inizio non valida per l'attività specificata" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Durata non valida per l'attività specificata" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Impostazioni delle attività pianificate aggiornate" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Si è verificato un errore sconosciuto. Per favore riprova più tardi." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "Il DB delle impostazioni non è scrivibile" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Modifica utente %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "Tutto OK! Password reimpostata per l'utente %(user)s" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "Per favore configura le impostazioni della posta SMTP." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Visualizzatore del file di log" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Richiesta del pacchetto di aggiornamento" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Download del pacchetto di aggiornamento" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Decompressione del pacchetto di aggiornamento" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Sostituzione dei file" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Le connessioni al database sono chiuse" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Arresto del server" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Aggiornamento terminato, premi OK e ricarica la pagina" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Aggiornamento non riuscito:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Errore HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Errore di connessione" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Tempo scaduto nello stabilire la connessione" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Errore generale" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Il file di aggiornamento non può essere salvato nella cartella temporanea" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Impossibile sostituire i file durante l'aggiornamento" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Impossibile estrarre almeno un utente LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Impossibile creare almeno un utente LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Errore: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Errore: nessun utente restituito in risposta dal server LDAP" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Almeno un utente LDAP non è stato trovato nel database" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} utente importato correttamente" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "Percorso dei libri non valido" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "La posizione del DB non è valida, per favore indica il percorso corretto" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "Il DB non è scrivibile" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "La posizione del Keyfile non è valida. Inserisci il percorso corretto" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "La posizione del Certfile non è valida, indica il percorso corretto" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "La lunghezza della password deve essere compresa tra 1 e 40" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Impostazioni del database aggiornate" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Configurazione del database" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Per favore completa tutti i campi." -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "L'e-mail non proviene da un dominio valido" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Aggiungi nuovo utente" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "L'utente '%(user)s' è stato creato" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Esiste già un account per questa e-mail o nome." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "L'utente '%(nick)s' è stato eliminato" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Impossibile eliminare l'utente Guest (ospite)" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Non rimarrebbe nessun utente amministratore, non è possibile eliminare l'utente" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "L'e-mail non può essere vuota e deve essere un'e-mail valida" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "L'utente '%(nick)s' è stato aggiornato" @@ -541,114 +560,130 @@ msgstr "Mancano i permessi di esecuzione" msgid "None" msgstr "Nessuna" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Il file %(file)s è stato caricato" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Manca il formato di origine o di destinazione per la conversione" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Libro accodato correttamente per essere convertito in %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Si è verificato un errore durante la conversione del libro: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Lo scaffale è stato eliminato correttamente" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Il libro selezionato non è disponibile. Il file non esiste o non è accessibile" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "L'utente non ha i permessi per caricare le copertine" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Gli identificatori non fanno distinzione tra maiuscole e minuscole e sovrascrivono il vecchio identificatore" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s non è una lingua valida" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadati aggiornati correttamente" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Errore nella modifica del libro: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Probabilmente il libro caricato esiste già nella biblioteca, cambialo prima di caricarlo di nuovo:" -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "Non è consentito caricare questo tipo di file su questo server" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Non è consentito caricare l'estensione del file '%(ext)s' su questo server" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Il file da caricare deve avere un'estensione" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Il file %(filename)s non può essere salvato nella cartella temporanea" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Impossibile spostare il file della copertina %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Il formato del libro è stato eliminato correttamente" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Il libro è stato eliminato correttamente" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Ti mancano le autorizzazioni per eliminare i libri" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "modifica i metadati" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "Indice serie: %(seriesindex)s non è un numero valido, lo salto" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "L'utente non ha i permessi per caricare formati di file aggiuntivi" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Impossibile creare il percorso %(path)s (autorizzazione negata)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Impossibile archiviare il file %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formato file %(ext)s aggiunto a %(book)s" @@ -666,12 +701,12 @@ msgstr "Il dominio di callback non è stato verificato, segui i passaggi per ver msgid "%(format)s format not found for book id: %(book)d" msgstr "Formato %(format)s non trovato per l'ID libro: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s non trovato su Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s non trovato: %(fn)s" @@ -720,136 +755,142 @@ msgstr "%(book)s inviato all'eReader" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Il file richiesto non può essere letto. I permessi sono corretti?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Impossibile impostare lo stato di lettura: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Eliminazione della cartella di libri per il libro %(id)s non riuscita, il percorso ha sottocartelle: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Eliminazione del libro %(id)s non riuscita: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Eliminazione del libro %(id)s solo dal database, percorso del libro nel database non valido: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "La modifica dell'autore da '%(src)s' a '%(dest)s' è terminata con l'errore: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "La modifica dell'autore da '%(src)s' a '%(dest)s' è terminata con l'errore: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Il file %(file) non è stato trovato su Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "La modifica del titolo da '%(src)s' a '%(dest)s' è terminata con l'errore: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Il percorso del libro %(path)s non è stato trovato su Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "Trovato un account esistente per questo indirizzo e-mail" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Questo nome utente è già utilizzato" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "Formato dell'indirizzo e-mail non valido" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "La password non è conforme alle regole di convalida della password" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Il modulo Python \"advocate\" non è installato ma è necessario per il caricamento delle copertine" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Errore nello scaricare la copertina" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Errore nel formato della copertina" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Non ti è consentito accedere all'host locale o alla rete locale per caricare le copertine" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Impossibile creare il percorso per la copertina" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Il file della copertina non è in un formato di immagine valido o non può essere salvato" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Solo i file jpg/jpeg/png/webp/bmp sono supportati come file di copertina" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Contenuto del file di copertina non valido" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Solo i file jpg/jpeg sono supportati come file di copertina" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "Copertina" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "File binario UnRar non trovato" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "Errore nell'eseguire UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "Impossibile trovare la cartella specificata" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "Specifica una cartella, non un file" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "Eseguibili di Calibre non validi" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "File eseguibili di Calibre mancanti: %(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Permessi di esecuzione mancanti: %(missing)s" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "Errore durante l'esecuzione di Calibre" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Metti in coda tutti i libri per il backup dei metadati" @@ -916,6 +957,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Errore GitHub Oauth, riprova più tardi." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Errore GitHub Oauth: {}" @@ -924,10 +966,12 @@ msgid "Google Oauth error, please retry later." msgstr "Errore OAuth di Google, riprova più tardi." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Errore OAuth di Google: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} stelle" @@ -1009,7 +1053,7 @@ msgstr "Libri casuali" msgid "Show Random Books" msgstr "Mostra Libri casuali" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Categorie" @@ -1019,7 +1063,7 @@ msgid "Show Category Section" msgstr "Mostra sezione Categorie" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Serie" @@ -1028,7 +1072,7 @@ msgstr "Serie" msgid "Show Series Section" msgstr "Mostra sezione Serie" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autori" @@ -1037,7 +1081,7 @@ msgstr "Autori" msgid "Show Author Section" msgstr "Mostra sezione Autori" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Editori" @@ -1046,7 +1090,7 @@ msgstr "Editori" msgid "Show Publisher Section" msgstr "Mostra sezione Editori" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1273,7 +1317,7 @@ msgstr "Dati imprevisti durante la lettura delle informazioni di aggiornamento" msgid "No update available. You already have the latest version installed" msgstr "Nessun aggiornamento disponibile. Hai già l'ultima versione installata" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "È disponibile un nuovo aggiornamento. Fai clic sul pulsante in basso per aggiornare all'ultima versione" @@ -1281,7 +1325,7 @@ msgstr "È disponibile un nuovo aggiornamento. Fai clic sul pulsante in basso pe msgid "Could not fetch update information" msgstr "Impossibile recuperare le informazioni sull'aggiornamento" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Fai clic sul pulsante in basso per eseguire l'aggiornamento all'ultima versione stabile." @@ -1492,7 +1536,7 @@ msgstr "La conversione del libro è terminata con un errore sconosciuto" msgid "Kepubify-converter failed: %(error)s" msgstr "Errore con il convertitore Kepubify: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "File convertito non trovato o più di un file nella cartella %(folder)s" @@ -1534,6 +1578,7 @@ msgid "Cover Thumbnails" msgstr "Miniature delle copertine" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "Sono state generate {0} miniature delle serie" @@ -1585,15 +1630,15 @@ msgstr "Download" msgid "View Books" msgstr "Visualizza libri" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Modifica" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Elimina" @@ -1786,7 +1831,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2076,125 +2124,205 @@ msgstr "Errore nella ricerca!" msgid "No Result(s) found! Please try another keyword." msgstr "Nessun risultato trovato! Prova con un'altra parola chiave." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Questo campo è obbligatorio" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Unisci i libri selezionati" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Unisci i libri selezionati" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Unisci i libri selezionati" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Unisci i libri selezionati" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Unisci i libri selezionati" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Rimuovi le selezioni" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Unisci i libri selezionati" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Inverti autore e titolo" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Aggiorna automaticamente l'ordinamento per titolo" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Aggiorna automaticamente l'ordinamento per autore" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Inserisci titolo" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Titolo" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Inserisci ordinamento per titolo" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Ordina per titolo" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Inserisci ordinamento per autore" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Ordina per autore" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Inserisci autori" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Inserisci categorie" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Inserisci serie" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Indice serie" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Inserisci lingue" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Data di pubblicazione" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Inserisci editori" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Inserisci commenti" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Commenti" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Stato archivio" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Stato di lettura" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Inserisci" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Unisci i libri selezionati" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Sei veramente sicuro?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "I libri con titolo verranno uniti da:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Nel libro con il titolo:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Unisci" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "Archivio" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Archivio" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Contrassegna come letto" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Contrassegna come da leggere" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Modifica i metadati" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Posizione del database di Calibre" @@ -2687,10 +2815,6 @@ msgstr "Aggiungi all'archivio" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "Contrassegna il libro come archiviato o no per nasconderlo in Calibre-Web ed eliminarlo da Kobo Reader" -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "Archivio" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2703,10 +2827,6 @@ msgstr "Aggiungi allo scaffale" msgid "(Public)" msgstr "(Pubblico)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Modifica i metadati" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Tipo di account e-mail" diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo index 9d08d523a..df69fa306 100644 Binary files a/cps/translations/ja/LC_MESSAGES/messages.mo and b/cps/translations/ja/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/ja/LC_MESSAGES/messages.po b/cps/translations/ja/LC_MESSAGES/messages.po index 82811fc2b..3f750fa9c 100644 --- a/cps/translations/ja/LC_MESSAGES/messages.po +++ b/cps/translations/ja/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2018-02-07 02:20-0500\n" "Last-Translator: subdiox \n" "Language: ja\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -45,8 +45,8 @@ msgstr "不明なコマンド" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "%(email)s へのテストメール送信がキューに追加されました。結果を見るにはタスクを確認してください" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "不明" @@ -63,7 +63,7 @@ msgstr "基本設定" msgid "UI Configuration" msgstr "UI設定" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,445 +78,464 @@ msgstr "ユーザーを編集" msgid "All" msgstr "全て" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "ユーザーが見つかりません" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{}人のユーザーが削除されました" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "全て表示" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "不正なリクエスト" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "ゲストユーザーの名前は変更できません" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "ゲストユーザーはこのロールを持つことができません" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "管理者ユーザーが残っておらず、管理者ロールを削除できません" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "値はtrueかfalseのどちらかでなければなりません" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "無効なロール" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "ゲストユーザーはこの画面を表示できません" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "無効な表示" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "ゲストユーザーの言語設定は自動的に決定されるため、固定することはできません" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "有効な言語設定がありません" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "有効な本の言語がありません" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "パラメータが見つかりません" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "無効な読み取り列" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "無効な制限列" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Webの設定を更新しました" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Koboのトークンを削除してもよろしいですか?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "このドメインを削除してもよろしいですか?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "このユーザーを削除してもよろしいですか?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "このドメインを削除してもよろしいですか?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "この本棚を削除してもよろしいですか?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "選択したユーザーの言語設定を変更してもよろしいですか?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "選択したユーザーが表示できる本の言語を変更してもよろしいですか?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "選択したユーザーの選択したロールを変更してもよろしいですか?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "選択したユーザーの選択した制限を変更してもよろしいですか?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "選択したユーザーの選択した制限を変更してもよろしいですか?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "選択したユーザーの選択した制限を変更してもよろしいですか?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "選択したユーザーの選択した表示制限を変更してもよろしいですか?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "選択したユーザーの本棚同期の動作を変更してもよろしいですか?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Calibreライブラリのパスを変更してもよろしいですか?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Webは新しい表紙を検索してそのサムネイルを更新しますが、これにはしばらく時間がかかるかもしれません" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Calibre-Webの同期DBを削除して強制的にKoboリーダーと同期してもよろしいですか?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "拒否" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "許可" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{}件の同期項目を削除しました" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "タグが見つかりません" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "無効なアクションです" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.jsonがWebアプリケーション用に設定されていません" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "ログファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "アクセスログファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "LDAPのプロバイダ、ポート番号、DN、ユーザーIDを入力してください" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "LDAPのサービスアカウント名とパスワードを入力してください" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "LDAPのサービスアカウント名を入力してください" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAPのグループフィルタには \"%s\" というフォーマットのIDが一つ必要です" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAPのグループフィルタ内の括弧が一致しません" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAPのユーザーフィルタには \"%s\" というフォーマットのIDが一つ必要です" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAPのユーザーフィルタ内の括弧が一致しません" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAPのメンバーフィルタには \"%s\" というフォーマットのIDが一つ必要です" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAPのメンバーフィルタ内の括弧が一致しません" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAPのCA証明書、証明書、キーの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "新規ユーザーを追加" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "メールサーバー設定を編集" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "DBエラー: %(error)s" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "%(email)s へのテストメール送信がキューに追加されました。結果を見るにはタスクを確認してください" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "%(res)s へのテストメール送信中にエラーが発生しました" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "初めにメールアドレスを設定してください" -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "メールサーバーの設定を更新しました" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "スケジュールタスク設定を編集" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "指定したタスクの開始時刻が無効です" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "指定したタスクの期間が無効です" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "スケジュールタスクの設定を更新しました" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "不明なエラーが発生しました。あとで再試行してください。" -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "設定DBが書き込みできません" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "ユーザー %(nick)s を編集" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "ユーザー %(user)s のパスワードをリセット" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "初めにSMTPメールの設定をしてください" -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "ログファイルビューア" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "更新データを要求中" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "更新データをダウンロード中" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "更新データを展開中" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "ファイルを置換中" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "DB接続を切断" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "サーバー停止中" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "アップデート完了、OKを押してページを再読み込みしてください" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "アップデート失敗:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTPエラー" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "接続エラー" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "接続確立中にタイムアウトしました" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "エラー発生" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "更新データを一時フォルダに保存できませんでした" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "更新中にファイルを置換できませんでした" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "少なくとも1人のLDAPユーザーの抽出に失敗しました" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "少なくとも1人のLDAPユーザーの作成に失敗しました" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "エラー: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "エラー: LDAPサーバーのレスポンスでユーザーが返されません" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "DB内にLDAPユーザーが1人も見つかりません" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{}人のユーザーをインポートしました" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "DBの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "DBへの書き込みができません" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "キーファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "証明書ファイルの場所が無効です。正しいパスを入力してください" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "DB設定を更新しました" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "DB設定" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "全ての項目を入力してください" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "このメールは有効なドメインからのものではありません" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "新規ユーザー追加" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "ユーザー '%(user)s' を作成しました" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "このメールアドレスかニックネームで登録されたアカウントがすでに存在します。" -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "ユーザー '%(nick)s' を削除しました" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "ゲストユーザーは削除できません" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "管理者ユーザーが残っておらず、ユーザーを削除できません" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "ユーザー '%(nick)s' を更新しました" @@ -545,115 +564,131 @@ msgstr "実行権限がありません" msgid "None" msgstr "なし" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "ファイル %(file)s をアップロードしました" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "変換元の形式または変換後の形式が指定されていません" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "本の %(book_format)s への変換がキューに追加されました" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "この本の変換中にエラーが発生しました: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "本棚を削除しました" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "選択した本は利用できません。ファイルが存在しないか、アクセスできません" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "ユーザーは表紙をアップロードする権限がありません" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "IDは大文字小文字を区別しません。元のIDを上書きします" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' は有効な言語ではありません" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "メタデータを更新しました" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "本編集中のエラー: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "アップロードした本はすでにライブラリに存在します。新しくアップロードする前に変更を加えてください: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "ファイル拡張子 '%(ext)s' をこのサーバーにアップロードすることは許可されていません" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ファイル拡張子 '%(ext)s' をこのサーバーにアップロードすることは許可されていません" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "アップロードするファイルには拡張子が必要です" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "ファイル %(filename)s は一時フォルダに保存できませんでした" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "表紙ファイル %(file)s の移動に失敗しました: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "本の形式を削除しました" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "本を削除しました" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "本を削除する権限がありません" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "メタデータを編集" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s は有効な数字ではありません。スキップします" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "新たなファイル形式をアップロードする権限がありません" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s の作成に失敗しました (Permission denied)。" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "ファイル %(file)s を保存できません。" -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "ファイル形式 %(ext)s が %(book)s に追加されました" @@ -671,12 +706,12 @@ msgstr "コールバックドメインが認証されていません。Google De msgid "%(format)s format not found for book id: %(book)d" msgstr "ID: %(book)d の本に %(format)s フォーマットはありません" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Googleドライブ: %(fn)s に %(format)s はありません" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s がありません: %(fn)s" @@ -728,141 +763,147 @@ msgstr "%(book)s をE-Readerに送信" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "要求されたファイルを読み込めませんでした。権限設定が正しいか確認してください。" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "読み込みステータスを設定できません: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "%(id)s の本フォルダの削除に失敗しました。そこにはサブフォルダがあります: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "本 %(id)s の削除に失敗しました: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "本 %(id)s はDBのみから削除されます。DB内の本のパスが有効ではありません: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "エラー: %(error)s により、著者名を %(src)s から %(dest)s に変更できませんでした" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "エラー: %(error)s により、著者名を %(src)s から %(dest)s に変更できませんでした" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "ファイル %(file)s はGoogleドライブ上にありません" -#: cps/helper.py:559 +#: 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 に変更できませんでした" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "本のパス %(path)s はGoogleドライブ上にありません" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "このユーザー名はすでに使われています" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "メールアドレスの形式が無効" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "表紙のアップロードに必要なPythonモジュール 'advocate' がインストールされていません" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "表紙のダウンロードに失敗しました" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "表紙形式エラー" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "表紙アップロードのためにlocalhostやローカルネットワークにアクセスすることは許可されていません" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "表紙ファイルの作成に失敗しました" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "表紙ファイルが有効な画像ファイルでないか、または保存できませんでした" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "表紙ファイルは jpg/jpeg/png/webp/bmp のみ対応しています" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "表紙ファイルの内容が無効です" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "表紙ファイルは jpg/jpeg のみ対応しています" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "見つける" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "UnRarのバイナリファイルが見つかりません" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "UnRarの実行中にエラーが発生しました" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "DBへの書き込みができません" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "実行権限がありません" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "UnRarの実行中にエラーが発生しました" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -929,6 +970,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub OAuth エラー、再度お試しください。" #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "GitHub OAuth エラー: {}" @@ -937,10 +979,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google OAuth エラー、再度お試しください。" #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google OAuth エラー: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "星{}" @@ -1023,7 +1067,7 @@ msgstr "見つける" msgid "Show Random Books" msgstr "ランダムに本を表示" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "カテゴリ" @@ -1034,7 +1078,7 @@ msgid "Show Category Section" msgstr "カテゴリ選択を表示" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "シリーズ" @@ -1044,7 +1088,7 @@ msgstr "シリーズ" msgid "Show Series Section" msgstr "シリーズ選択を表示" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "著者" @@ -1054,7 +1098,7 @@ msgstr "著者" msgid "Show Author Section" msgstr "著者選択を表示" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "出版社" @@ -1064,7 +1108,7 @@ msgstr "出版社" msgid "Show Publisher Section" msgstr "出版社選択を表示" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1295,7 +1339,7 @@ msgstr "アップデート情報の読み込み中に予期しないデータが msgid "No update available. You already have the latest version installed" msgstr "アップデートはありません。すでに最新バージョンがインストールされています" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "アップデートが利用可能です。下のボタンをクリックして最新バージョンにアップデートしてください。" @@ -1303,7 +1347,7 @@ msgstr "アップデートが利用可能です。下のボタンをクリック msgid "Could not fetch update information" msgstr "アップデート情報を取得できません" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "下のボタンをクリックして最新の安定バージョンにアップデートしてください。" @@ -1523,7 +1567,7 @@ msgstr "Ebook converter が不明なエラーで失敗しました" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter が失敗しました: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "変換されたファイルが見つからないか、またはフォルダー %(folder)s 内に複数存在します" @@ -1566,6 +1610,7 @@ msgid "Cover Thumbnails" msgstr "表紙サムネイル" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "シリーズのサムネイルを{0}個生成しました" @@ -1617,15 +1662,15 @@ msgstr "ダウンロード" msgid "View Books" msgstr "閲覧" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "編集" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "削除" @@ -1819,7 +1864,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2109,125 +2157,206 @@ msgstr "検索エラー" msgid "No Result(s) found! Please try another keyword." msgstr "検索結果が見つかりません。別のキーワードで検索してみてください。" -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "この項目は必須です" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "選択した本を統合" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "選択した本を統合" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "選択した本を統合" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "選択した本を統合" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "選択した本を統合" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "選択した本を削除" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "選択した本を統合" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "著者とタイトルを交換" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "タイトルのよみがなを自動で更新" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "著者のよみがなを自動で更新" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "タイトルを入力" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "タイトル" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "タイトルのよみがなを入力" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "タイトルのよみがな" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "著者名のよみがなを入力" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "著者名のよみがな" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "著者名を入力" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "カテゴリ名を入力" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "シリーズ名を入力" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "巻数" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "言語を入力" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "発売日" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "出版社を入力" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "コメントを入力" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "コメント" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "アーカイブ状況" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "入力: " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "選択した本を統合" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "よろしいですか?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "このタイトルの本から" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "このタイトルの本に統合します" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "統合" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "アーカイブ済み" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "アーカイブ済み" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "既読に設定" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "未読に設定" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "メタデータを編集" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Calibre DBの場所" @@ -2725,11 +2854,6 @@ msgstr "アーカイブに追加" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "アーカイブ済み" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2742,10 +2866,6 @@ msgstr "本棚に追加" msgid "(Public)" msgstr "(公開)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "メタデータを編集" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "サーバーの種類を選択" diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo index 9f95e4a55..63cff82fe 100644 Binary files a/cps/translations/km/LC_MESSAGES/messages.mo and b/cps/translations/km/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/km/LC_MESSAGES/messages.po b/cps/translations/km/LC_MESSAGES/messages.po index f17397bdd..1122387e7 100644 --- a/cps/translations/km/LC_MESSAGES/messages.po +++ b/cps/translations/km/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2018-08-27 17:06+0700\n" "Last-Translator: \n" "Language: km_KH\n" @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -46,8 +46,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(eReadermail)s ដោយជោគជ័យ" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "មិនដឹង" @@ -64,7 +64,7 @@ msgstr "ការកំណត់សាមញ្ញ" msgid "UI Configuration" msgstr "ការកំណត់ផ្ទាំងប្រើប្រាស់" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -80,451 +80,470 @@ msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល" msgid "All" msgstr "" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "បង្ហាញទាំងអស់" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "តើអ្នកពិតជាចង់លុបធ្នើនេះមែនទេ?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "ប្តូរការកំណត់ SMTP" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "កែប្រែអ្នកប្រើប្រាស់ %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន" -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "កំពុងស្នើសុំឯកសារបច្ចុប្បន្នភាព" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "កំពុងទាញយកឯកសារបច្ចុប្បន្នភាព" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "កំពុងពន្លាឯកសារបច្ចុប្បន្នភាព" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "ការធ្វើបច្ចុប្បន្នភាពបានបញ្ចប់ សូមចុច okay រួចបើកទំព័រជាថ្មី" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "ទំនាក់ទំនងទៅមូលដ្ឋានទិន្នន័យត្រូវបានផ្តាច់" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "ការកំណត់មុខងារ" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "សូមបំពេញចន្លោះទាំងអស់!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "បន្ថែមអ្នកប្រើប្រាស់ថ្មី" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "បានបង្កើតអ្នកប្រើប្រាស់ ‘%(user)s’" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានលុប" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "អ្នកប្រើប្រាស់ ‘%(nick)s’ ត្រូវបានកែប្រែ" @@ -553,115 +572,130 @@ msgstr "" msgid "None" msgstr "គ្មាន" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +msgid "Changes successfully applied" +msgstr "" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "ឯកសារប្រភេទ '%(ext)s' មិនត្រូវបានអនុញ្ញាតឲអាប់ឡូដទៅម៉ាស៊ីន server នេះទេ" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ឯកសារប្រភេទ '%(ext)s' មិនត្រូវបានអនុញ្ញាតឲអាប់ឡូដទៅម៉ាស៊ីន server នេះទេ" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "ឯកសារដែលត្រូវអាប់ឡូដត្រូវមានកន្ទុយឯកសារ" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "កែប្រែទិន្នន័យមេតា" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "មិនអាចបង្កើតទីតាំង %(path)s (ពុំមានសិទ្ធិ)។" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "មិនអាចរក្សាទុកឯកសារ %(file)s ។" -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "ឯកសារទម្រង់ %(ext)s ត្រូវបានបន្ថែមទៅ %(book)s" @@ -679,12 +713,12 @@ msgstr "Callback domain មិនទាន់បានផ្ទៀងផ្ទ msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" @@ -734,137 +768,143 @@ msgstr "ផ្ញើទៅ Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "ឯកសារដែលបានស្នើសុំមិនអាចបើកបានទេ។ អាចនឹងខុសសិទ្ធិប្រើប្រាស់ទេដឹង?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "ប្តូរចំណងជើងពី “%(src)s” ទៅជា “%(dest)s” បរាជ័យដោយបញ្ហា: %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "ប្តូរចំណងជើងពី “%(src)s” ទៅជា “%(dest)s” បរាជ័យដោយបញ្ហា: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "ឯកសារ %(file)s រកមិនឃើញក្នុង Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "ប្តូរចំណងជើងពី “%(src)s” ទៅជា “%(dest)s” បរាជ័យដោយបញ្ហា: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "ទីតាំងសៀវភៅ %(path)s រកមិនឃើញក្នុង Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "ស្រាវជ្រាវ" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -931,6 +971,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "" #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -939,10 +980,12 @@ msgid "Google Oauth error, please retry later." msgstr "" #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "" @@ -1025,7 +1068,7 @@ msgstr "ស្រាវជ្រាវ" msgid "Show Random Books" msgstr "បង្ហាញសៀវភៅចៃដន្យ" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "ប្រភេទនានា" @@ -1036,7 +1079,7 @@ msgid "Show Category Section" msgstr "បង្ហាញជម្រើសប្រភេទ" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "ស៊េរី" @@ -1046,7 +1089,7 @@ msgstr "ស៊េរី" msgid "Show Series Section" msgstr "បង្ហាញជម្រើសស៊េរី" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "អ្នកនិពន្ធ" @@ -1056,7 +1099,7 @@ msgstr "អ្នកនិពន្ធ" msgid "Show Author Section" msgstr "បង្ហាញជម្រើសអ្នកនិពន្ធ" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "" @@ -1066,7 +1109,7 @@ msgstr "" msgid "Show Publisher Section" msgstr "បង្ហាញជម្រើសស៊េរី" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1299,7 +1342,7 @@ msgstr "" msgid "No update available. You already have the latest version installed" msgstr "" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "" @@ -1307,7 +1350,7 @@ msgstr "" msgid "Could not fetch update information" msgstr "" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "" @@ -1522,7 +1565,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" @@ -1565,6 +1608,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1617,15 +1661,15 @@ msgstr "ទាញយក" msgid "View Books" msgstr "" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "កែប្រែ" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "លុប" @@ -1819,7 +1863,10 @@ msgid "OK" msgstr "បាទ/ចាស" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2110,126 +2157,202 @@ msgstr "ការស្វែងរកមានកំហុស!" msgid "No Result(s) found! Please try another keyword." msgstr "" -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "បង្ហាញសៀវភៅមកថ្មី" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "បង្ហាញសៀវភៅមកថ្មី" + +#: cps/templates/book_table.html:34 +msgid "Mark selected books as read" +msgstr "" + #: cps/templates/book_table.html:37 +msgid "Mark selected books as unread" +msgstr "" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +msgid "Clear selections" msgstr "" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "លុបសៀវភៅ" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "ចំណងជើង" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "ចុះឈ្មោះ" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "លុបសៀវភៅ" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "ស្វែងរក" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "ស្វែងរក" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +msgid "Mark as read" +msgstr "" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +msgid "Mark as unread" +msgstr "" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "កែប្រែទិន្នន័យមេតា" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "ទីតាំង database របស់ Calibre" @@ -2724,11 +2847,6 @@ msgstr "" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "ស្វែងរក" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2741,10 +2859,6 @@ msgstr "បន្ថែមទៅធ្នើ" msgid "(Public)" msgstr "" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "កែប្រែទិន្នន័យមេតា" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/ko/LC_MESSAGES/messages.mo b/cps/translations/ko/LC_MESSAGES/messages.mo index 9bb759dc9..ce38611c4 100644 Binary files a/cps/translations/ko/LC_MESSAGES/messages.mo and b/cps/translations/ko/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/ko/LC_MESSAGES/messages.po b/cps/translations/ko/LC_MESSAGES/messages.po index 5194dc6a4..cec4a5e73 100644 --- a/cps/translations/ko/LC_MESSAGES/messages.po +++ b/cps/translations/ko/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2024-11-01 17:50+0900\n" "Last-Translator: limeade23 \n" "Language: ko\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "알 수 없는 명령입니다." msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "메타데이터 백업이 작업에 추가되었습니다. 작업 결과를 확인해주세요." -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "알 수 없음" @@ -60,7 +60,7 @@ msgstr "기본 설정" msgid "UI Configuration" msgstr "UI 설정" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,444 +75,463 @@ msgstr "사용자 관리" msgid "All" msgstr "모두" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "사용자를 찾을 수 없습니다." -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} 사용자를 삭제했습니다." -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "모두 보기" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "잘못된 요청입니다." -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "게스트 이름은 변경할 수 없습니다." -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "게스트는 이 권한을 가질 수 없습니다." -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "남아있는 관리자가 없어 권한을 삭제할 수 없습니다." -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "true 또는 false여야 합니다." -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "잘못된 권한입니다." -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "게스트는 사용할 수 없습니다." -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "잘못된 설정입니다." -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "게스트의 언어는 자동으로 설정되며 변경할 수 없습니다." -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "올바른 언어가 아닙니다." -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "제공된 책의 언어가 올바르지 않습니다." -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "매개변수를 찾을 수 없습니다." -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "읽기 항목이 유효하지 않습니다." -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "제한된 항목이 유효하지 않습니다." -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web 설정이 업데이트되었습니다." -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Kobo 토큰을 삭제하시겠습니까?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "이 도메인을 삭제하시겠습니까?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "이 사용자를 삭제하시겠습니까?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "이 도메인을 삭제하시겠습니까?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "이 서재를 삭제하시겠습니까?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "선택한 사용자의 언어를 변경하시겠습니까?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "선택한 사용자에 대해 표시되는 책 언어를 변경하시겠습니까?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "선택한 사용자의 권한을 변경하시겠습니까?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "선택한 사용자의 제한을 변경하시겠습니까?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "선택한 사용자의 제한을 변경하시겠습니까?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "선택한 사용자의 제한을 변경하시겠습니까?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "선택한 사용자의 보기 제한을 변경하시겠습니까?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "선택한 사용자의 책장 동기화 설정을 변경하시겠습니까?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Calibre 라이브러리 경로를 변경하시겠습니까?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web이 업데이트된 표지를 검색하고 표지 미리보기를 업데이트합니다. 시간이 걸릴 수 있습니다." -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Kobo Reader와 전체 동기화를 강제하기 위해 Calibre-Web의 동기화 데이터베이스를 삭제하시겠습니까?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "거부" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "허용" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} 동기화 항목이 삭제되었습니다." -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "태그를 찾을 수 없습니다." -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "잘못된 작업입니다." -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json이 설정되지 않았습니다." -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "올바른 로그 파일의 경로를 입력해주세요." -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "올바른 액섹스 로그 파일의 경로를 입력해주세요." -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "LDAP 공급자, 포트, DN 및 사용자 개체 식별자를 입력해주세요." -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "LDAP 서비스 계정과 비밀번호를 입력해주세요." -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "LDAP 서비스 계정을 입력해주세요." -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP 그룹 개체 필터에는 하나의 \"%s\" 형식 식별자가 필요합니다." -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP 그룹 개체 필터에 맞지 않는 괄호가 있습니다." -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP 사용자 개체 필터에는 하나의 \"%s\" 형식 식별자가 필요합니다." -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP 사용자 개체 필터에 맞지 않는 괄호가 있습니다." -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP 구성원 사용자 필터에는 하나의 \"%s\" 형식 식별자가 필요합니다." -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP 구성원 사용자 필터에 맞지 않는 괄호가 있습니다." -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA인증서, 인증서 또는 키 경로가 유효하지 않습니다." -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "사용자 생성" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "이메일 서버 설정" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Gmail 계정 인증에 성공했습니다." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "데이터베이스 오류가 발생했습니다: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "%(email)s로 테스트 이메일을 전송했습니다." -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "테스트 이메일 전송 중 오류가 발생했습니다: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "이메일 주소를 설정해주세요." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "이메일 서버 설정이 업데이트되었습니다." -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "예약 작업 설정" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "작업 시작 시간이 올바르지 않습니다." -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "작업 종료 시간이 올바르지 않습니다." -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "예약 작업 설정이 업데이트되었습니다." -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "알 수 없는 오류가 발생했습니다. 잠시 후 다시 시도해 주세요." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "설정 데이터베이스에 저장할 수 없습니다." -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "사용자 %(nick)s 수정" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "사용자 %(user)s의 비밀번호가 재설정되었습니다." -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "SMTP를 설정해주세요." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "로그 파일 보기" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "업데이트 패키지 요청 중" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "업데이트 패키지 다운로드 중" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "업데이트 패키지 압축 해제 중" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "파일 적용 중" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "데이터베이스 연결이 종료됩니다." -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "서버를 중지하고 있습니다." -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "업데이트가 완료되었습니다. 확인을 누르고 페이지를 새로고침해주세요." -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "업데이트 실패: " -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP 오류가 발생했습니다." -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "연결 오류가 발생했습니다." -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "연결 시도 중 시간이 초과되었습니다." -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "일반 오류가 발생했습니다." -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "임시 폴더에 업데이트 파일을 저장할 수 없습니다." -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "업데이트 중 파일을 변경할 수 없습니다." -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "최소 한 명의 LDAP 사용자 정보를 가져오지 못했습니다." -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "최소 한 명의 LDAP 사용자 정보를 생성하지 못했습니다." -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "오류: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "오류: LDAP 서버에서 반환된 사용자가 없습니다." -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "데이터베이스에서 찾을 수 없는 LDAP 사용자가 있습니다." -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} 명의 사용자를 가져왔습니다." -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "책 경로가 유효하지 않습니다." -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "데이터베이스 경로가 유효하지 않습니다." -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "데이터베이스에 쓰기 권한이 없습니다." -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "키 파일 경로가 유효하지 않습니다." -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "인증서 파일 경로가 유효하지 않습니다." -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "비밀번호는 1~40자 사이로 입력해주세요." -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "데이터베이스 설정이 업데이트되었습니다." -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "데이터베이스 설정" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "모든 항목을 입력해주세요." -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "이메일 주소가 올바르지 않습니다." -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "새 사용자 생성" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "사용자 '%(user)s'이(가) 생성되었습니다." -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "이미 등록된 이메일 주소 또는 이름입니다." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "사용자 '%(nick)s'이(가) 삭제되었습니다." -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "게스트 사용자는 삭제할 수 없습니다." -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "남은 관리자가 없어 사용자를 삭제할 수 없습니다." -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "이메일 주소는 비워둘 수 없고, 올바른 형식이어야 합니다." -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "사용자 '%(nick)s의 정보를 수정했습니다." @@ -541,114 +560,130 @@ msgstr "실행 권한이 없습니다." msgid "None" msgstr "None" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "파일 %(file)s이(가) 업로드되었습니다." -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "변환할 원본 또는 대상 형식이 지정되지 않았습니다." -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "%(book_format)s 형식으로 변환하기 위해 작업에 추가되었습니다." -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "책 변환 중 오류가 발생했습니다: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "서재가 삭제되었습니다." + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "선택한 책을 사용할 수 없습니다. 파일이 없거나 접근할 수 없습니다." -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "표지 업로드 권한이 없습니다." -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "식별자는 대소문자 구분 없어 덮어씁니다." -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s'은(는) 올바른 언어가 아닙니다." -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "메타데이터가 업데이트되었습니다." -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "책 편집 중 오류가 발생했습니다: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "업로드된 책이 이미 존재하는 것 같습니다. 확인이 필요합니다: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "업로드할 수 없는 파일 형식입니다." -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "파일 확장자 '%(ext)s'은(는) 서버에 업로드할 수 없습니다" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "확장자가 없는 파일은 업로드할 수 없습니다." -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "파일 %(filename)s을(를) 임시 폴더에 저장할 수 없습니다." -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "표지 파일 %(file)s을(를) 이동하지 못했습니다 :%(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "책 형식이 삭제되었습니다." -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "책이 삭제되었습니다." -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "책을 삭제할 권한이 없습니다." -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "메타데이터 편집" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "시리즈 순서 %(seriesindex)s은(는) 올바르지 않아 건너뜁니다." -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "추가 파일 형식을 업로드할 권한이 없습니다." -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "쓰기 권한이 없어 %(path)s 경로 생성에 실패했습니다." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "%(file)s 파일 저장에 실패했습니다." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "파일 형식 %(ext)s이(가) %(book)s에 추가되었습니다" @@ -666,12 +701,12 @@ msgstr "콜백 도메인이 인증되지 않았습니다. Google 개발자 콘 msgid "%(format)s format not found for book id: %(book)d" msgstr "책 ID %(book)d의 %(format)s 형식을 찾을 수 없습니다." -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Google 드라이브에서 %(format)s 파일을 찾을 수 없습니다: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s을(를) 찾을 수 없습니다: %(fn)s" @@ -720,136 +755,142 @@ msgstr "%(book)s을(를) 전자책 리더로 보내기" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "요청한 파일을 읽을 수 없습니다. 파일 접근 권한을 확인해주세요." -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "읽기 상태를 설정할 수 없습니다: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "책 %(id)s의 폴더 삭제에 실패했습니다. %(path)s에 하위 폴더가 있습니다." -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "책 %(id)s 삭제에 실패했습니다: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "데이터베이스 경로가 올바르지 않아 책 %(id)s을(를) 데이터베이스에서만 삭제합니다: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "저자명 '%(src)s'에서 '%(dest)s'(으)로 변경하지 못했습니다: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "저자명 '%(src)s'에서 '%(dest)s'(으)로 변경하지 못했습니다: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google 드라이브에서 %(file)s 파일을 찾을 수 없습니다." -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "제목을 '%(src)s'에서 '%(dest)s'(으)로 변경하지 못했습니다: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google 드라이브에서 경로 %(path)s을(를) 찾을 수 없습니다." -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "이미 사용 중인 이메일 주소입니다." -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "이미 사용 중인 사용자 이름입니다." -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "올바른 이메일 주소가 아닙니다." -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "비밀번호가 설정된 규칙에 맞지 않습니다." -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "표지 업로드에 필요한 Python 모듈 'advocate'이 설치되지 않았습니다." -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "표지 다운로드 중 오류가 발생했습니다." -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "표지 형식 오류입니다." -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "표지 업로드를 위해 로컬 호스트나 로컬 네트워크에 접근할 수 없습니다." -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "표지 경로 생성에 실패했습니다." -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "표지 파일이 올바른 이미지 파일이 아니거나 저장할 수 없습니다." -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "jpg/jpeg/png/webp/bmp 형식만 지원합니다." -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "올바르지 않은 표지 파일입니다." -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "표지 파일은 jpg/jpeg 형식만 지원합니다." -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "표지" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "UnRar 바이너리 파일을 찾을 수 없습니다." -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "UnRar 실행 중 오류가 발생했습니다." -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "지정된 디렉토리를 찾을 수 없습니다." -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "파일이 아닌 폴더를 지정하세요." -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "Calibre 바이너리 파일을 사용할 수 없습니다." -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "Calibre 바이너리 파일이 누락되었습니다: %(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "실행 권한이 누락되었습니다: %(missing)s" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "Calibre 실행 오류" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "메타데이터 백업이 작업에 추가되었습니다." @@ -916,6 +957,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth 오류입니다. 잠시 후 다시 시도해 주세요." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "GitHub 인증 오류가 발생했습니다: {}" @@ -924,10 +966,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google 인증 오류입니다. 잠시 후 다시 시도해 주세요." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google 인증 오류가 발생했습니다: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} Stars" @@ -1009,7 +1053,7 @@ msgstr "둘러보기" msgid "Show Random Books" msgstr "무작위 추천 보기" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "카테고리" @@ -1019,7 +1063,7 @@ msgid "Show Category Section" msgstr "카테고리 보기" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "시리즈" @@ -1028,7 +1072,7 @@ msgstr "시리즈" msgid "Show Series Section" msgstr "시리즈 보기" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "저자" @@ -1037,7 +1081,7 @@ msgstr "저자" msgid "Show Author Section" msgstr "저자 보기" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "출판사" @@ -1046,7 +1090,7 @@ msgstr "출판사" msgid "Show Publisher Section" msgstr "출판사 보기" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1273,7 +1317,7 @@ msgstr "업데이트 정보를 읽는 중 알 수 없는 문제가 발생했습 msgid "No update available. You already have the latest version installed" msgstr "업데이트가 없습니다. 최신 버전이 설치되어 있습니다." -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "새로운 업데이트가 있습니다. 아래 버튼을 클릭해 최신 버전으로 업데이트하세요." @@ -1281,7 +1325,7 @@ msgstr "새로운 업데이트가 있습니다. 아래 버튼을 클릭해 최 msgid "Could not fetch update information" msgstr "업데이트 정보를 가져올 수 없습니다." -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "아래 버튼을 클릭해 최신 버전으로 업데이트하세요." @@ -1492,7 +1536,7 @@ msgstr "알 수 없는 오류로 변환에 실패했습니다." msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify 변환에 실패했습니다: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "변환된 파일을 찾을 수 없거나 %(folder)s 폴더에 하나 이상의 파일이 존재합니다." @@ -1534,6 +1578,7 @@ msgid "Cover Thumbnails" msgstr "표지 섬네일" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "{0}개의 시리즈 섬네일을 생성했습니다." @@ -1585,15 +1630,15 @@ msgstr "다운로드" msgid "View Books" msgstr "책 보기" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "편집" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "삭제" @@ -1786,7 +1831,10 @@ msgid "OK" msgstr "예" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2076,125 +2124,205 @@ msgstr "오류가 발생했습니다!" msgid "No Result(s) found! Please try another keyword." msgstr "검색 결과가 없습니다. 다른 검색어로 검색해 보세요." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "이 항목은 필수입니다." +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "선택한 책 병합" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "선택한 책 병합" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "선택한 책 병합" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "선택한 책 병합" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "선택한 책 병합" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "선택 항목 삭제" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "선택한 책 병합" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "저자와 제목 바꾸기" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "자동으로 제목 정렬 업데이트" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "자동으로 저자 정렬 업데이트" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "제목 입력" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "제목" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "제목 정렬 입력" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "제목 정렬" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "저자 정렬 입력" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "저자 정렬" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "저자 입력" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "카테고리 입력" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "시리즈 입력" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "시리즈 순서" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "언어 입력" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "발행일" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "출판사 입력" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "설명 입력" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "설명" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "보관 상태" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "입력 " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "선택한 책 병합" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "정말로 하시겠습니까?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "다음 책들을 병합합니다:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "다음 책으로 병합:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "병합" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "보관" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "보관" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "읽음으로 표시" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "읽지 않음으로 표시" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "메타데이터 편집" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Calibre 데이터베이스 경로" @@ -2687,10 +2815,6 @@ msgstr "보관함에 추가" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "책을 보관하면 Calibre-Web에서 숨겨지고 Kobo 리더에서 삭제됩니다." -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "보관" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2703,10 +2827,6 @@ msgstr "서재에 추가" msgid "(Public)" msgstr "(공개)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "메타데이터 편집" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "이메일 유형 선택" diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo index 5a59aa647..c2e33bb09 100644 Binary files a/cps/translations/nl/LC_MESSAGES/messages.mo and b/cps/translations/nl/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/nl/LC_MESSAGES/messages.po b/cps/translations/nl/LC_MESSAGES/messages.po index bc0ab9fb2..df416dd57 100644 --- a/cps/translations/nl/LC_MESSAGES/messages.po +++ b/cps/translations/nl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web (GPLV3)\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2023-12-20 22:00+0100\n" "Last-Translator: Michiel Cornelissen \n" "Language: nl\n" @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -46,8 +46,8 @@ msgstr "Onbekende opdracht" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Test E-Mail wordt verzonden naar %(email)s, controleer de taken voor het resultaat" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Onbekend" @@ -64,7 +64,7 @@ msgstr "Basisconfiguratie" msgid "UI Configuration" msgstr "Uiterlijk aanpassen" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -80,454 +80,473 @@ msgstr "Systeembeheerder" msgid "All" msgstr "Alles" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Gebruiker niet gevonden" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} gebruikers succesvol verwijderd" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Alle talen" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Misvormd verzoek" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Gast naam kan niet worden veranderd" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Gast kan deze rol niet hebben" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Kan systeembeheerder rol niet verwijderen van de laatste systeembeheerder" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Waarde moet Waar of Onwaar zijn" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Ongeldige rol" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Gast kan dit niet bekijken" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Ongeldige waarde" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Gasts locale is automatisch bepaald en kan niet handmatig worden ingesteld" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Geen geldige locale is opgegeven" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Geen geldige boek taal is opgegeven" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parameter is niet gevonden" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Ongeldige gelezen kolom" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Ongeldige beperkte kolom" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web-configuratie bijgewerkt" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Wil je je Kobo Token echt verwijderen?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Wil je dit domein echt verwijderen?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Wil je deze gebruiker echt verwijderen?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Wil je dit domein echt verwijderen?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Weet je zeker dat je deze boekenplank wilt verwijderen?" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Weet je zeker dat je de locales van de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Weet je zeker dat je de zichtbare talen voor de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Weet je zeker dat je de geselecteerde rol van de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Weet je zeker dat je de geselecteerde beperkingen voor de geselecteerde gebruikers(s) wil verwijderen?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Weet je zeker dat je de geselecteerde beperkingen voor de geselecteerde gebruikers(s) wil verwijderen?" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Weet je zeker dat je de geselecteerde beperkingen voor de geselecteerde gebruikers(s) wil verwijderen?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Weet je zeker dat je de geselecteerde zichtbaarheidsbeperkingen voor de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Weet je zeker dat je de synchronisatiegedrag van boekenplanken voor de geselecteerde gebruiker(s) wil veranderen?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Weet je zeker dat je de locatie van de Calibre-bibliotheek wil veranderen?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-web gaat zoeken naar bijgewerkte omslagen en miniaturen bijwerken, dit kan even duren?" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Weet u zeker dat u de volledige Calibre-Web synchronisatiedatabase wilt verwijderen om een volledige synchronisatie met uw Kobo Reader te forceren?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Weigeren" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Toestaan" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} synchronisatie objecten verwijderd" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Tag niet gevonden" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Ongeldige actie" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json is niet geconfigureerd voor webapplicatie" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "De locatie van het logbestand is onjuist, voer een geldige locatie in" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "De locatie vam het toegangslog is onjuist, voer een geldige locatie in" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Voer alsjeblieft een LDAP Provider, Port, DN en User Object Identifier in" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Voer een geldig LDAP Service Account en wachtwoord in" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Voer een LDAP Service Account in" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP Groep Object Filter Moet Een \"%s\" Formaat Identificiatie hebben" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP Groep Object Filter heeft een niet-gebalanceerd haakje" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Gebruiker Object Filter moet \"%s\" Formaat Identificatie hebben" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP Gebruiker Filter heeft een niet-gebalanceerd haakje" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP Lid Gebruiker Filter moet een \"%s\" Formaat Identificatie hebben" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP Lid Gebruiker Filter heeft een niet-gebalanceerd haakje" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CACertficaat, Certificaat of Sleutel Locatie is ongeldig. Voer alsjeblieft een geldig pad in." -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Gebruiker toevoegen" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "SMTP-instellingen bewerken" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Gelukt! Gmail account geverifieerd." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Database fout: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Test E-Mail wordt verzonden naar %(email)s, controleer de taken voor het resultaat" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Fout opgetreden bij het versturen van de test-e-mail: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Gelieve eerst je e-mail adres configureren..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "E-mailserver-instellingen bijgewerkt" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Bewerk instellingen van geplande taken" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "De starttijd van de taak is ongeldig" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "De duur van de taak is ongeldig" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Instellingen van geplande taken bijgewerkt" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Onbekende fout opgetreden. Probeer het later nog eens." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "Instellingen database is niet schrijfbaar." -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Gebruiker '%(nick)s' bewerken" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Wachtwoord voor gebruiker %(user)s is hersteld" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Stel eerst SMTP-mail in..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Logbestand lezer" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Update opvragen" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Update downloaden" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Update uitpakken" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Update toepassen" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Databaseverbindingen zijn gesloten" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Bezig met stoppen van Calibre-Web" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Update voltooid, klik op 'Oké' en vernieuw de pagina" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Update mislukt:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP-fout" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Verbindingsfout" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Time-out tijdens maken van verbinding" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Algemene fout" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Geüpload bestand kon niet opgeslagen worden in de tijdelijke map" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Bestanden kunnen niet vervangen worden tijdens een update" -#: cps/admin.py:1576 +#: cps/admin.py:1581 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Mislukt om minstens een LDAP gebruiker aan te maken" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Het is niet gelukt tenminste een LDAP gebruiker aan te maken" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Fout: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Fout: No user returned in response of LDAP server" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Minstens een LDAP Gebruiker is niet gevonden in de Database" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} Gebruiker succesvol geïmporteerd" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" -msgstr "" +msgstr "Boekpad is ongeldig" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Database niet gevonden, voer de juiste locatie in" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "Kan niet schrijven naar database" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "SSL-sleutellocatie is niet geldig, voer een geldig pad in" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "SSL-certificaatlocatie is niet geldig, voer een geldig pad in" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "Het wachtwoord moet tussen de 1 en 40 tekens lang zijn" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "E-mailserver-instellingen bijgewerkt" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Databaseconfiguratie" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Vul alle velden in!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "Het e-mailadres bevat geen geldige domeinnaam" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Gebruiker toevoegen" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Gebruiker '%(user)s' aangemaakt" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Bestaand account met dit e-mailadres of deze gebruikersnaam aangetroffen." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Gebruiker '%(nick)s' verwijderd" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Kan Gast gebruiker niet verwijderen" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Kan laatste systeembeheerder niet verwijderen" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "E-mail kan niet leeg zijn en moet geldig zijn" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Gebruiker '%(nick)s' bijgewerkt" @@ -556,115 +575,131 @@ msgstr "Kan programma niet uitvoeren" msgid "None" msgstr "Geen" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Bestand %(file)s geüpload" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Bron- of doelformaat ontbreekt voor conversie" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Het boek is in de wachtrij geplaatst voor conversie naar %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Er is een fout opgetreden bij het converteren van dit boek: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Het boek is verwijderd" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oeps! Geselecteerd boek is niet beschikbaar. Bestand bestaat niet of is niet toegankelijk" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "Gebruiker mist rechten om de omslag te uploaden" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identificatoren zijn niet hoofdlettergevoelig, overschrijf huidige identificatoren" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s is geen geldige taal" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "De metagegevens zijn bijgewerkt" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Fout tijdens bijwerken van boek: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Geüpload boek staat mogelijk al in de bibliotheek, controleer alvorens door te gaan: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "De bestandsextensie '%(ext)s' is niet toegestaan op deze server" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "De bestandsextensie '%(ext)s' is niet toegestaan op deze server" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Het te uploaden bestand moet voorzien zijn van een extensie" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Bestand %(filename)s kon niet opgeslagen worden in de tijdelijke map" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Omslag %(file)s niet verplaatst: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Het boekformaat is verwijderd" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Het boek is verwijderd" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "U mist rechten om boeken te verwijderen" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "metagegevens bewerken" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s is geen geldig nummer, sla het over" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "Gebruiker mist rechten om extra bestandsformaten te uploaden" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Kan de locatie '%(path)s' niet aanmaken (niet gemachtigd)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Kan %(file)s niet opslaan." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Bestandsformaat %(ext)s toegevoegd aan %(book)s" @@ -682,12 +717,12 @@ msgstr "Het callback-domein is niet geverifieerd. Volg de stappen in de Google-o msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formaat niet gevonden voor boek met id: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s niet aangetroffen op Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s niet gevonden %(fn)s" @@ -740,141 +775,147 @@ msgstr "%(book)s verzonden naar Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Het opgevraagde bestand kan niet worden gelezen. Ben je hiertoe gemachtigd?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Gelezen/ongelezen status kan niet aangepast worden: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Het verwijderen van de boekenmap voor boek %(id)s is mislukt, het pad heeft submappen: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Verwijderen van boek %(id)s mislukt: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Verwijder boek %(id)s alleen uit database, boek pad is ongeldig: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Kan de titel '%(src)s' niet wijzigen in '%(dest)s': %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Kan de titel '%(src)s' niet wijzigen in '%(dest)s': %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Bestand '%(file)s' niet aangetroffen op Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Kan de titel '%(src)s' niet wijzigen in '%(dest)s': %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Boeken locatie '%(path)s' niet aangetroffen op Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "Bestaand account gevondne met dit e-mailadres" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Deze gebruikersnaam is al in gebruik" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Ongeldig E-Mail adres" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "Het wachtwoord voldoet niet aan de validatieregels" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Pythonmodule 'advocate' is niet geïnstalleerd maar is nodig omslag uploads" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Fout bij downloaden omslag" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Onjuist omslagformaat" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Toegang tot localhost of het lokale netwerk niet toegestaant voor omslag uploaden" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Locatie aanmaken voor omslag mislukt" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Omslag-bestand is geen afbeelding of kon niet opgeslagen worden" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Alleen jpg/jpeg/png/webp/bmp bestanden worden ondersteund als omslag" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Ongeldig omslagbestand" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Alleen jpg/jpeg bestanden zijn toegestaan als omslag" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Willekeurige boeken" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "UnRar executable niet gevonden" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Fout bij het uitvoeren van UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" -msgstr "" +msgstr "Opgegeven map kon niet worden gevonden" + +#: cps/helper.py:1014 +msgid "Please specify a directory, not a file" +msgstr "Geef een map op, geen bestand" #: cps/helper.py:1028 -msgid "Please specify a directory, not a file" -msgstr "" - -#: cps/helper.py:1042 #, fuzzy msgid "Calibre binaries not viable" msgstr "Kan niet schrijven naar database" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" -msgstr "" +msgstr "Ontbrekende calibre-programmabestanden: %(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Kan programma niet uitvoeren" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Fout bij het uitvoeren van UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Voeg alle boeken toe aan de wachtrij voor het maken van een metagegevens backup" @@ -942,6 +983,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub OAuth fout, probeer het later nog eens." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Github OAuth foutmelding: {}" @@ -950,10 +992,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google OAuth fout, probeer het later nog eens." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google OAuth foutmelding: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} sterren" @@ -1036,7 +1080,7 @@ msgstr "Willekeurige boeken" msgid "Show Random Books" msgstr "Willekeurige boeken tonen" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Categorieën" @@ -1047,7 +1091,7 @@ msgid "Show Category Section" msgstr "Categoriekeuze tonen" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Boekenreeksen" @@ -1057,7 +1101,7 @@ msgstr "Boekenreeksen" msgid "Show Series Section" msgstr "Boekenreeksenkeuze tonen" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Auteurs" @@ -1067,7 +1111,7 @@ msgstr "Auteurs" msgid "Show Author Section" msgstr "Auteurkeuze tonen" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Uitgevers" @@ -1077,7 +1121,7 @@ msgstr "Uitgevers" msgid "Show Publisher Section" msgstr "Uitgeverskeuze tonen" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1171,7 +1215,7 @@ msgstr "Dit boek maakt al deel uit van boekenplank: %(shelfname)s" #: cps/shelf.py:77 #, python-format msgid "%(book_id)s is a invalid Book Id. Could not be added to Shelf" -msgstr "" +msgstr "%(book_id)s is geen geldig Boek Id. Niet kunnen toevoegen aan boekenplank" #: cps/shelf.py:97 #, python-format @@ -1311,7 +1355,7 @@ msgstr "Onverwachte gegevens tijdens het uitlezen van de update-informatie" msgid "No update available. You already have the latest version installed" msgstr "Er is geen update beschikbaar." -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Er is een update beschikbaar. Klik op de knop hieronder om te updaten naar de nieuwste versie." @@ -1319,7 +1363,7 @@ msgstr "Er is een update beschikbaar. Klik op de knop hieronder om te updaten na msgid "Could not fetch update information" msgstr "De update-informatie kan niet worden opgehaald" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Klik op de onderstaande knop om de laatste stabiele versie te installeren." @@ -1514,7 +1558,7 @@ msgstr "Geen geldig gmail.json bestand gevonden met OAuth informatie" #: cps/tasks/clean.py:29 msgid "Delete temp folder contents" -msgstr "" +msgstr "Inhoud van tijdelijke map verwijderen" #: cps/tasks/convert.py:112 #, fuzzy, python-format @@ -1540,7 +1584,7 @@ msgstr "E-Book converter mislukt met een onbekende foutmelding" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converteerder mislukt: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Omgezette bestand is niet gevonden of meer dan een bestand in map %(folder)s" @@ -1583,6 +1627,7 @@ msgid "Cover Thumbnails" msgstr "Omslag miniaturen" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "{0} serieminiaturen gegenereerd" @@ -1635,15 +1680,15 @@ msgstr "Downloaden" msgid "View Books" msgstr "Boeken lezen" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Bewerken" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Verwijderen" @@ -1838,7 +1883,10 @@ msgid "OK" msgstr "Oké" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -1962,7 +2010,7 @@ msgstr "Afmelden" #: cps/templates/basic_layout.html:35 msgid "Normal Theme" -msgstr "" +msgstr "Standaard Thema" #: cps/templates/book_edit.html:11 msgid "Delete Book" @@ -2129,134 +2177,215 @@ msgstr "Zoekfout!" msgid "No Result(s) found! Please try another keyword." msgstr "Geen resultaten gevonden! Gebruik een ander trefwoord." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Dit veld is verplicht" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Geselecteerde boeken samenvoegen" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Geselecteerde boeken samenvoegen" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Geselecteerde boeken samenvoegen" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Geselecteerde boeken samenvoegen" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Geselecteerde boeken samenvoegen" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Geselecteerde boeken verwijderen" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Geselecteerde boeken samenvoegen" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Auteur en titel omwisselen" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Automatisch sorteren op titel" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Automatisch sorteren op auteur" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Geef titel" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Titel" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Voer Titel sorteervolgorde in" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Titel sorteren" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Voer Auteur sorteervolgorde in" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Auteur sorteren" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Voer Auteurs in" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Voer categorieën in" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Voer serie in" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Serie index" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Voer talen in" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Voer publicatiedatum in" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Voer uitgevers in" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Voer domeinnaam in" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Opmerkingen" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Archiefstatus" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Lees Status" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Identificatoren" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Geselecteerde boeken samenvoegen" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Weet je het zeker?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Boeken met de titel zullen worden samengevoegd van:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "In boek met titel:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Samenvoegen" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Gearchiveerd" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Gearchiveerd" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Markeren als gelezen" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Markeren als ongelezen" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Metagegevens bewerken" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Locatie van de Calibre-database" #: cps/templates/config_db.html:21 msgid "Separate Book Files from Library" -msgstr "" +msgstr "Scheid boekbestanden van de bibliotheek" #: cps/templates/config_db.html:34 msgid "Use Google Drive?" @@ -2341,7 +2470,7 @@ msgstr "Zet niet Engelse tekens in titel en auteur om tijdens het opslaan" #: cps/templates/config_edit.html:108 msgid "Embed Metadata to Ebook File on Download/Conversion/e-mail (needs Calibre/Kepubify binaries)" -msgstr "" +msgstr "Metadata insluiten in e-boekbestand bij downloaden/conversie/e-mail (Calibre/Kepubify bestanden/binaries benodigd)" #: cps/templates/config_edit.html:112 msgid "Enable Uploads" @@ -2559,15 +2688,15 @@ msgstr "Beperk aantal mislukte inlogpogingen" #: cps/templates/config_edit.html:372 msgid "Configure Backend for Limiter" -msgstr "" +msgstr "Configureer email server" #: cps/templates/config_edit.html:376 msgid "Options for Limiter Backend" -msgstr "" +msgstr "Opties voor email server" #: cps/templates/config_edit.html:382 msgid "Check if file extensions matches file content on upload" -msgstr "" +msgstr "Controleer bij upload of de bestandsextensie overeenkomt met bestandstype" #: cps/templates/config_edit.html:385 msgid "Session protection" @@ -2604,7 +2733,7 @@ msgstr "Forceer hoofdletter" #: cps/templates/config_edit.html:414 msgid "Enforce characters (needed For Chinese/Japanese/Korean Characters)" -msgstr "" +msgstr "Forceer tekens (vereist voor Chinese/Japanse/Koreaanse tekens)" #: cps/templates/config_edit.html:418 msgid "Enforce special characters" @@ -2748,12 +2877,7 @@ msgstr "Toevoegen aan archief" #: cps/templates/detail.html:275 msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" -msgstr "" - -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Gearchiveerd" +msgstr "Markeer het boek als gearchiveerd of niet. Om het te verbergen in Calibre-Web en van de Kobo Reader te verwijderen" #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 @@ -2767,10 +2891,6 @@ msgstr "Toevoegen aan boekenplank" msgid "(Public)" msgstr "(Openbaar)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Metagegevens bewerken" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Kies Server Type" @@ -3162,7 +3282,7 @@ msgstr "Lettertypegrootte" #: cps/templates/read.html:105 msgid "Font" -msgstr "" +msgstr "Lettertype" #: cps/templates/read.html:106 #, fuzzy @@ -3194,7 +3314,7 @@ msgstr "Gelezen" #: cps/templates/read.html:114 msgid "Two columns" -msgstr "" +msgstr "Twee kolommen" #: cps/templates/read.html:115 #, fuzzy @@ -3400,11 +3520,11 @@ msgstr "Publicatiedatum tot" #: cps/templates/search_form.html:44 cps/templates/search_form.html:165 msgid "Any" -msgstr "" +msgstr "Elk(e)" #: cps/templates/search_form.html:45 cps/templates/search_form.html:166 msgid "Empty" -msgstr "" +msgstr "Leeg" #: cps/templates/search_form.html:60 msgid "Exclude Tags" @@ -3521,7 +3641,7 @@ msgstr "Systeeminformatie" #: cps/templates/stats.html:33 msgid "Program" -msgstr "" +msgstr "Programma" #: cps/templates/stats.html:34 msgid "Installed Version" @@ -3570,7 +3690,7 @@ msgstr "Gebruikerswachtwoord herstellen" #: cps/templates/user_edit.html:28 msgid "Send to eReader Email Address. Use comma to separate emails for multiple eReaders" -msgstr "" +msgstr "Stuur naar het eReader email adres. meerdere email met een komma scheiden voor meerdere eReaders" #: cps/templates/user_edit.html:43 msgid "Language of Books" diff --git a/cps/translations/no/LC_MESSAGES/messages.mo b/cps/translations/no/LC_MESSAGES/messages.mo index 455e8d8aa..365fafe1d 100644 Binary files a/cps/translations/no/LC_MESSAGES/messages.mo and b/cps/translations/no/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/no/LC_MESSAGES/messages.po b/cps/translations/no/LC_MESSAGES/messages.po index 6bb56d419..3c6280db6 100644 --- a/cps/translations/no/LC_MESSAGES/messages.po +++ b/cps/translations/no/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2023-01-06 11:00+0000\n" "Last-Translator: Vegard Fladby \n" "Language: no\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -45,8 +45,8 @@ msgstr "Ukjent kommando" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Test e-post i kø for sending til %(email)s, sjekk Oppgaver for resultat" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Ukjent" @@ -63,7 +63,7 @@ msgstr "Grunnleggende konfigurasjon" msgid "UI Configuration" msgstr "UI-konfigurasjon" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,451 +78,470 @@ msgstr "Rediger brukere" msgid "All" msgstr "Alle" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Bruker ikke funnet" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} brukere ble slettet" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Vis alt" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Feil utformet forespørsel" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Gjestenavn kan ikke endres" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Gjesten kan ikke ha denne rollen" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Ingen administratorbruker igjen, kan ikke fjerne administratorrollen" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Verdien må være sann eller usann" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Ugyldig rolle" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Gjestene kan ikke ha denne utsikten" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Ugyldig visning" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Gjestenes lokalitet bestemmes automatisk og kan ikke angis" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Ingen gyldig lokalitet gitt" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Ikke oppgitt gyldig bokspråk" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parameter ikke funnet" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Ugyldig lesekolonne" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Ugyldig begrenset kolonne" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web-konfigurasjonen er oppdatert" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Vil du virkelig slette Kobo-tokenet?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Vil du virkelig slette dette domenet?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Vil du virkelig slette denne brukeren?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Vil du virkelig slette dette domenet?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Er du sikker på at du vil slette denne hyllen?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Er du sikker på at du vil endre lokaliteter for valgte bruker(e)?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Er du sikker på at du vil endre synlige bokspråk for valgte bruker(e)?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Er du sikker på at du vil endre den valgte rollen for den(e) valgte brukeren?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Er du sikker på at du vil endre de valgte begrensningene for den(e) valgte brukeren?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Er du sikker på at du vil endre de valgte begrensningene for den(e) valgte brukeren?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Er du sikker på at du vil endre de valgte begrensningene for den(e) valgte brukeren?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Er du sikker på at du vil endre de valgte synlighetsbegrensningene for valgte bruker(e)?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Er du sikker på at du vil endre atferden for hyllesynkronisering for de(n) valgte brukeren(e)?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Er du sikker på at du vil endre plassering av Caliber-biblioteket?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web vil søke etter oppdaterte omslag og oppdatere omslagsminiatyrbilder, kan dette ta litt tid?" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Er du sikker på at du vil slette Calibre-Webs synkroniseringsdatabase for å tvinge frem en full synkronisering med Kobo Reader?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Benekte" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Tillate" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} synkroniseringsoppføringer slettet" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Merket ble ikke funnet" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Ugyldig handling" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json er ikke konfigurert for webapplikasjon" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Loggfilplasseringen er ikke gyldig, skriv inn riktig bane" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Plasseringen av tilgangsloggfilen er ikke gyldig, skriv inn riktig bane" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Angi en LDAP-leverandør, port, DN og brukerobjektidentifikator" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Vennligst skriv inn en LDAP-tjenestekonto og passord" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Angi en LDAP-tjenestekonto" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP-gruppeobjektfilter må ha én \"%s\"-formatidentifikator" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP-gruppeobjektfilter har uovertruffen parentes" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP-brukerobjektfilter må ha én \"%s\"-formatidentifikator" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP-brukerobjektfilter har uovertruffen parentes" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP-medlemsbrukerfilter må ha én \"%s\"-formatidentifikator" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP-medlemsbrukerfilter har uovertruffen parentes" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA-sertifikat, sertifikat eller nøkkelplassering er ikke gyldig. Angi riktig bane" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Legg til ny bruker" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 #, fuzzy msgid "Edit Email Server Settings" msgstr "Rediger e-postserverinnstillinger" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, fuzzy, python-format msgid "Oops! Database Error: %(error)s." msgstr "Databasefeil: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Test e-post i kø for sending til %(email)s, sjekk Oppgaver for resultat" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Det oppsto en feil ved sending av test-e-posten: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Vennligst konfigurer e-postadressen din først..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 #, fuzzy msgid "Email Server Settings updated" msgstr "E-postserverinnstillinger oppdatert" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Rediger innstillinger for planlagte oppgaver" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Ugyldig starttidspunkt for spesifisert oppgave" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Ugyldig varighet for spesifisert oppgave" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Innstillinger for planlagte oppgaver er oppdatert" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 #, fuzzy msgid "Oops! An unknown error occurred. Please try again later." msgstr "En ukjent feil oppstod. Prøv igjen senere." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "Innstillinger DB er ikke skrivbar" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Rediger bruker %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Passord for bruker %(user)s tilbakestilling" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Vennligst konfigurer SMTP-postinnstillingene først..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Loggfilviser" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Ber om oppdateringspakke" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Laster ned oppdateringspakken" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Pakker ut oppdateringspakken" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Erstatter filer" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Databaseforbindelser er stengt" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Stopper server" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Oppdatering fullført, vennligst trykk OK og last inn siden på nytt" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Oppdatering mislyktes:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP-feil" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Tilkoblingsfeil" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Tidsavbrudd under etablering av tilkobling" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Generell feil" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Oppdateringsfilen kunne ikke lagres i temp dir" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Filer kunne ikke erstattes under oppdatering" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Kunne ikke pakke ut minst én LDAP-bruker" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Kunne ikke opprette minst én LDAP-bruker" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Feil: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Feil: Ingen bruker ble returnert som svar fra LDAP-serveren" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Minst én LDAP-bruker ikke funnet i databasen" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} Bruker ble importert" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "DB-plassering er ikke gyldig, skriv inn riktig bane" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "DB er ikke skrivbar" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Nøkkelfilplasseringen er ikke gyldig. Angi riktig bane" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Sertifikatfilplasseringen er ikke gyldig, vennligst skriv inn riktig bane" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Databaseinnstillinger oppdatert" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Databasekonfigurasjon" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 #, fuzzy msgid "Oops! Please complete all fields." msgstr "Vennligst fyll ut alle feltene!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-post er ikke fra gyldig domene" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Legg til ny bruker" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Bruker '%(user)s' opprettet" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Fant en eksisterende konto for denne e-postadressen eller navnet." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Brukeren '%(nick)s' slettet" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Kan ikke slette gjestebruker" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Ingen administratorbruker igjen, kan ikke slette bruker" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 #, fuzzy msgid "Email can't be empty and has to be a valid Email" msgstr "E-postadresse kan ikke være tom og må være en gyldig e-post" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Bruker '%(nick)s' oppdatert" @@ -551,116 +570,132 @@ msgstr "Utførelsestillatelser mangler" msgid "None" msgstr "Ingen" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Fil %(file)s lastet opp" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Kilde- eller målformat for konvertering mangler" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Boken ble satt i kø for konvertering til %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Det oppsto en feil ved konvertering av denne boken: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Hylle slettet" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 #, fuzzy msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oops! Den valgte boktittelen er utilgjengelig. Filen eksisterer ikke eller er ikke tilgjengelig" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "Brukeren har ingen rettigheter til å laste opp cover" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifikatorer skiller ikke mellom store og små bokstaver, overskriver gammel identifikator" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' er ikke et gyldig språk" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadata ble oppdatert" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Feil ved redigering av bok: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Opplastet bok finnes sannsynligvis i biblioteket, vurder å endre før du laster opp ny: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Filtypen «%(ext)s» er ikke tillatt å lastes opp til denne serveren" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Filtypen «%(ext)s» er ikke tillatt å lastes opp til denne serveren" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Filen som skal lastes opp må ha en utvidelse" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Filen %(filename)s kunne ikke lagres i midlertidig dir" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Kunne ikke flytte omslagsfil %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Bokformatet er slettet" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Boken ble slettet" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Du mangler tillatelser til å slette bøker" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "redigere metadata" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s er ikke et gyldig tall, hopper over" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "Brukeren har ingen rettigheter til å laste opp flere filformater" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Kunne ikke opprette banen %(path)s (Tillatelse nektet)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Kunne ikke lagre filen %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Filformat %(ext)s lagt til %(book)s" @@ -678,12 +713,12 @@ msgstr "Tilbakeringingsdomene er ikke bekreftet. Følg fremgangsmåten for å be msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s format ikke funnet for bok-ID: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s ikke funnet på Google Disk: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s ikke funnet: %(fn)s" @@ -736,140 +771,146 @@ msgstr "%(book)s sendes til E-Reader" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Den forespurte filen kunne ikke leses. Kanskje feil tillatelser?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Lesestatus kunne ikke angis: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Sletting av bokmappe for bok %(id)s mislyktes, banen har undermapper: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Sletting av bok %(id)s mislyktes: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Sletter bok %(id)s kun fra databasen, bokbanen i databasen er ikke gyldig: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Endre navn på forfatter fra: '%(src)s' til '%(dest)s' mislyktes med feil: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Endre navn på forfatter fra: '%(src)s' til '%(dest)s' mislyktes med feil: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Fil %(file)s ikke funnet på Google Disk" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Endre navn på tittel fra: '%(src)s' til '%(dest)s' mislyktes med feil: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Finner ikke bokbane %(path)s på Google Disk" -#: cps/helper.py:657 +#: cps/helper.py:643 #, fuzzy msgid "Found an existing account for this Email address" msgstr "Fant en eksisterende konto for denne e-postadressen" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Dette brukernavnet er allerede tatt" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Ugyldig format for e-postadresse" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Python-modulen 'advocate' er ikke installert, men er nødvendig for omslagsopplastinger" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Feil ved nedlasting av cover" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Omslagsformatfeil" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Du har ikke tilgang til localhost eller det lokale nettverket for coveropplastinger" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Kunne ikke opprette bane for dekning" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Cover-filen er ikke en gyldig bildefil, eller kunne ikke lagres" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Bare jpg/jpeg/png/webp/bmp-filer støttes som coverfile" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Ugyldig omslagsfilinnhold" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Bare jpg/jpeg-filer støttes som coverfile" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "Dekke" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "UnRar binær fil ikke funnet" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "Feil ved kjøring av UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "DB er ikke skrivbar" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Utførelsestillatelser mangler" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Feil ved kjøring av UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Sett alle bøker i kø for sikkerhetskopiering av metadata" @@ -936,6 +977,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth-feil, prøv igjen senere." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "GitHub Oauth-feil: {}" @@ -944,10 +986,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth-feil, prøv igjen senere." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google Oauth-feil: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} Stjerner" @@ -1030,7 +1074,7 @@ msgstr "Oppdage" msgid "Show Random Books" msgstr "Vis tilfeldige bøker" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategorier" @@ -1041,7 +1085,7 @@ msgid "Show Category Section" msgstr "Vis kategorivalg" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Serie" @@ -1051,7 +1095,7 @@ msgstr "Serie" msgid "Show Series Section" msgstr "Vis serieutvalg" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Forfattere" @@ -1061,7 +1105,7 @@ msgstr "Forfattere" msgid "Show Author Section" msgstr "Vis forfattervalg" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Forlag" @@ -1071,7 +1115,7 @@ msgstr "Forlag" msgid "Show Publisher Section" msgstr "Vis utgivervalg" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1302,7 +1346,7 @@ msgstr "Uventede data under lesing av oppdateringsinformasjon" msgid "No update available. You already have the latest version installed" msgstr "Ingen oppdatering tilgjengelig. Du har allerede den nyeste versjonen installert" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "En ny oppdatering er tilgjengelig. Klikk på knappen nedenfor for å oppdatere til siste versjon." @@ -1310,7 +1354,7 @@ msgstr "En ny oppdatering er tilgjengelig. Klikk på knappen nedenfor for å opp msgid "Could not fetch update information" msgstr "Kunne ikke hente oppdateringsinformasjon" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Klikk på knappen nedenfor for å oppdatere til siste stabile versjon." @@ -1532,7 +1576,7 @@ msgstr "Ebook-konvertering mislyktes med ukjent feil" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-konvertering mislyktes: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Konvertert fil ikke funnet eller mer enn én fil i mappen %(folder)s" @@ -1574,6 +1618,7 @@ msgid "Cover Thumbnails" msgstr "Forsideminiatyrbilder" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "Genererte {0} serieminiatyrbilder" @@ -1627,15 +1672,15 @@ msgstr "nedlasting" msgid "View Books" msgstr "Se bøker" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Redigere" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Slett" @@ -1835,7 +1880,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2130,125 +2178,206 @@ msgstr "Søkefeil!" msgid "No Result(s) found! Please try another keyword." msgstr "Ingen resultater! Prøv et annet søkeord." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Dette feltet er obligatorisk" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Slå sammen valgte bøker" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Slå sammen valgte bøker" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Slå sammen valgte bøker" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Slå sammen valgte bøker" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Slå sammen valgte bøker" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Fjern valg" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Slå sammen valgte bøker" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Bytt forfatter og tittel" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Oppdater tittelsortering automatisk" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Oppdater forfattersortering automatisk" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Skriv inn tittel" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Tittel" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Skriv inn tittelsortering" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Tittelsortering" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Skriv inn forfattersortering" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Forfatter Sort" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Skriv inn forfattere" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Skriv inn kategorier" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Gå inn i serien" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Serieindeks" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Skriv inn Språk" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Publiseringsdato" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Skriv inn Publishers" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Skriv inn kommentarer" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Kommentarer" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Arkivstatus" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Les status" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Tast inn " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Slå sammen valgte bøker" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Er du virkelig sikker?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Bøker med tittel vil bli slått sammen fra:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Til bok med tittel:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Slå sammen" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Arkiverte bøker" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Arkiverte bøker" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +msgid "Mark as read" +msgstr "" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Vis ulest" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +#, fuzzy +msgid "Edit Metadata" +msgstr "redigere metadata" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Plassering av Caliber-databasen" @@ -2751,11 +2880,6 @@ msgstr "" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Arkiverte bøker" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 #, fuzzy @@ -2769,11 +2893,6 @@ msgstr "Rediger en hylle" msgid "(Public)" msgstr "" -#: cps/templates/detail.html:348 -#, fuzzy -msgid "Edit Metadata" -msgstr "redigere metadata" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo index d50b68f84..8c6a7720f 100644 Binary files a/cps/translations/pl/LC_MESSAGES/messages.mo and b/cps/translations/pl/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/pl/LC_MESSAGES/messages.po b/cps/translations/pl/LC_MESSAGES/messages.po index 094190344..6102c407a 100644 --- a/cps/translations/pl/LC_MESSAGES/messages.po +++ b/cps/translations/pl/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre Web - polski (POT: 2021-06-12 08:52)\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2021-06-12 15:35+0200\n" "Last-Translator: Radosław Kierznowski \n" "Language: pl\n" @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -47,8 +47,8 @@ msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Testowy e-mail czeka w kolejce do wysłania do %(email)s, sprawdź zadania, aby uzyskać wynik" # ??? -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Nieznany" @@ -65,7 +65,7 @@ msgstr "Konfiguracja podstawowa" msgid "UI Configuration" msgstr "Konfiguracja Interfejsu" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -81,454 +81,473 @@ msgstr "Edytuj użytkowników" msgid "All" msgstr "Wszystko" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Nie znaleziono użytkownika" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} użytkowników usuniętych pomyślnie" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Pokaż wszystkie" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Nieprawidłowo sformułowane żądanie" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Nazwa gościa nie może być zmieniona" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Gość nie może pełnić tej roli" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Nie można odebrać praw administratora. Brak na serwerze innego konta z prawami administratora" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Wartość musi być prawdziwa lub fałszywa" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Nieprawidłowa rola" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Gość nie może tego zobaczyć" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Nieprawidłowy widok" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Lokalizacja gościa jest określana automatycznie i nie można jej ustawić" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Nie podano prawidłowej lokalizacji" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Nie podano obowiązującego języka książki" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Nie znaleziono parametru" -#: cps/admin.py:578 +#: cps/admin.py:577 #, fuzzy msgid "Invalid Read Column" msgstr "Nieprawidłowa kolumna odczytu" -#: cps/admin.py:584 +#: cps/admin.py:583 #, fuzzy msgid "Invalid Restricted Column" msgstr "Nieprawidłowa kolumna z ograniczeniami" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Konfiguracja Calibre-Web została zaktualizowana" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Czy na pewno chcesz usunąć Token Kobo?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Czy naprawdę chcesz usunąć tę domenę?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Czy naprawdę chcesz usunąć tego użytkownika?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Czy naprawdę chcesz usunąć tę domenę?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Czy na pewno chcesz usunąć półkę?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Czy na pewno chcesz zmienić ustawienia lokalne wybranego użytkownika(ów)?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Czy na pewno chcesz zmienić widoczne języki książek dla wybranego użytkownika (użytkowników)?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Czy na pewno chcesz zmienić wybraną rolę dla wybranego użytkownika (użytkowników)?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Czy na pewno chcesz zmienić wybrane ograniczenia dla wybranego użytkownika(ów)?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Czy na pewno chcesz zmienić wybrane ograniczenia dla wybranego użytkownika(ów)?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Czy na pewno chcesz zmienić wybrane ograniczenia dla wybranego użytkownika(ów)?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Czy na pewno chcesz zmienić wybrane ograniczenia widoczności dla wybranego użytkownika(ów)?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Czy na pewno chcesz zmienić zachowanie synchronizacji półek dla wybranego użytkownika(ów)?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Czy na pewno chcesz zmienić lokalizację biblioteki Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Zabroń" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Zezwalaj" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 #, fuzzy msgid "Tag not found" msgstr "Nie znaleziono znacznika" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Nieprawidłowe działanie" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json nie został skonfigurowany dla aplikacji webowej" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku dziennika jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku dziennika dostępu jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Wprowadź dostawcę LDAP, port, nazwę wyróżniającą i identyfikator obiektu użytkownika" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Proszę wprowadzić konto i hasło usługi LDAP" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Proszę wprowadzić konto usługi LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Filtr obiektów grupy LDAP musi mieć jeden identyfikator formatu \"% s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filtr obiektów grupy LDAP ma niedopasowany nawias" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Filtr obiektów użytkownika LDAP musi mieć jeden identyfikator formatu \"% s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filtr obiektów użytkownika LDAP ma niedopasowany nawias" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Filtr użytkownika członka LDAP musi mieć jedno \"%s\" identyfikator formatu" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filtr użytkownika członka LDAP ma niedopasowane nawiasy" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Główny urząd certyfikatu LDAP, Certyfikat lub Lokalizacja Klucza nie jest prawidłowa, Proszę wprowadzić poprawną ścieżkę" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Dodaj nowego użytkownika" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Zmień ustawienia SMTP" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Błąd bazy danych: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, fuzzy, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Testowy e-mail czeka w kolejce do wysłania do %(email)s, sprawdź zadania, aby uzyskać wynik" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Wystąpił błąd podczas wysyłania e-maila testowego: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Najpierw skonfiguruj swój adres e-mail..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Zaktualizowano ustawienia serwera poczty e-mail" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Wystąpił nieznany błąd. Spróbuj ponownie później." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Edytuj użytkownika %(nick)s" # ??? -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Zrestartowano hasło użytkownika %(user)s" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Przeglądanie dziennika" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Żądanie o pakiet aktualizacji" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Pobieranie pakietu aktualizacji" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Rozpakowywanie pakietu aktualizacji" # ??? -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Zastępowanie plików" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Połączenia z bazą danych zostały zakończone" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Zatrzymywanie serwera" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Aktualizacja nieudana:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Błąd HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Błąd połączenia" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Przekroczono limit czasu podczas nawiązywania połączenia" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Błąd ogólny" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Plik aktualizacji nie mógł zostać zapisany w katalogu tymczasowym" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Błąd przy tworzeniu przynajmniej jednego użytkownika LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Błąd: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Błąd. LDAP nie zwrócił żadnego użytkownika" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Przynajmniej jeden użytkownik LDAP nie został znaleziony w bazie danych" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} Użytkownik pomyślnie zaimportowany" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja bazy danych jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "Baza danych nie jest zapisywalna" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku klucza jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Lokalizacja pliku certyfikatu jest nieprawidłowa, wprowadź poprawną ścieżkę" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "Zaktualizowano ustawienia serwera poczty e-mail" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Konfiguracja bazy danych" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Proszę wypełnić wszystkie pola!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-mail nie pochodzi z prawidłowej domeny" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Dodaj nowego użytkownika" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Użytkownik '%(user)s' został utworzony" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Znaleziono istniejące konto dla tego adresu e-mail lub nazwy." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Użytkownik '%(nick)s' został usunięty" -#: cps/admin.py:2005 +#: cps/admin.py:2010 #, fuzzy msgid "Can't delete Guest User" msgstr "Nie można usunąć użytkownika gościa" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Nie można usunąć użytkownika. Brak na serwerze innego konta z prawami administratora" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Użytkownik '%(nick)s' został zaktualizowany" @@ -557,115 +576,131 @@ msgstr "Brak uprawnienia do wykonywania pliku" msgid "None" msgstr "Brak" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Wysłano plik %(file)s" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Brak formatu źródłowego lub docelowego do konwersji" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Książka została pomyślnie umieszczona w zadaniach do konwersji %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Podczas konwersji książki wystąpił błąd: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Książka została usunięta" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Błąd otwierania e-booka. Plik nie istnieje lub jest niedostępny" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "W identyfikatorach nie jest rozróżniana wielkość liter, nadpisywanie starego identyfikatora" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s nie jest prawidłowym językiem" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadane zostały pomyślnie zaktualizowane" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Wysłana książka prawdopodobnie istnieje w bibliotece, rozważ zmianę przed przesłaniem nowej: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Rozszerzenie pliku '%(ext)s' nie jest dozwolone do wysłania na ten serwer" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Rozszerzenie pliku '%(ext)s' nie jest dozwolone do wysłania na ten serwer" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Plik do wysłania musi mieć rozszerzenie" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Nie można zapisać pliku %(filename)s w katalogu tymczasowym" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Nie udało się przenieść pliku okładki %(file)s:%(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Plik książki w wybranym formacie został usunięty" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Książka została usunięta" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "edytuj metadane" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s nie jest poprawną liczbą, pomijanie" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nie udało się utworzyć łącza %(path)s (Odmowa dostępu)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Nie można zapisać pliku %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Format pliku %(ext)s dodany do %(book)s" @@ -683,12 +718,12 @@ msgstr "Zwrotna domena nie jest zweryfikowana, proszę zweryfikowania domenę w msgid "%(format)s format not found for book id: %(book)d" msgstr "Nie znaleziono formatu %(format)s dla id książki: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Nie znaleziono %(format)s na Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s nie znaleziono: %(fn)s" @@ -743,141 +778,147 @@ msgstr "Wyślij do Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Żądany plik nie mógł zostać odczytany. Może brakuje uprawnień?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Usuwanie folderu książki dla książki %(id)s nie powiodło się, ścieżka ma podfoldery: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Usuwanie książki %(id)s zakończyło się błędem: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Usuwanie książki %(id)s, ścieżka książki jest niepoprawna: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Zmiana nazwy tytułu z: „%(src)s” na „%(dest)s” zakończyła się błędem: %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Zmiana nazwy tytułu z: „%(src)s” na „%(dest)s” zakończyła się błędem: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Nie znaleziono pliku %(file)s na Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Zmiana nazwy tytułu z: „%(src)s” na „%(dest)s” zakończyła się błędem: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Nie znaleziono ścieżki do książki %(path)s na Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Nazwa użytkownika jest już zajęta" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Nieprawidłowy format adresu e-mail" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Błąd przy pobieraniu okładki" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Błędny format okładki" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Nie udało się utworzyć ścieżki dla okładki" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Plik okładki nie jest poprawnym plikiem obrazu lub nie mógł zostać zapisany" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Jako plik okładki obsługiwane są tylko pliki jpg/jpeg/png/webp/bmp" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Jako plik okładki dopuszczalne są jedynie pliki jpg/jpeg" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Odkrywaj" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Plik wykonywalny programu unrar nie znaleziony" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Błąd przy wykonywaniu unrar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "Baza danych nie jest zapisywalna" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Brak uprawnienia do wykonywania pliku" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Błąd przy wykonywaniu unrar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -946,6 +987,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Błąd GitHub Oauth, proszę spróbować później." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Błąd GitHub Oauth: {}" @@ -954,10 +996,12 @@ msgid "Google Oauth error, please retry later." msgstr "Błąd Google Oauth, proszę spróbować później." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Błąd Google Oauth: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} Gwiazdek" @@ -1040,7 +1084,7 @@ msgstr "Odkrywaj" msgid "Show Random Books" msgstr "Pokazuj losowe książki" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategorie" @@ -1051,7 +1095,7 @@ msgid "Show Category Section" msgstr "Pokaż menu wyboru kategorii" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Cykle" @@ -1061,7 +1105,7 @@ msgstr "Cykle" msgid "Show Series Section" msgstr "Pokaż menu wyboru cyklu" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autorzy" @@ -1071,7 +1115,7 @@ msgstr "Autorzy" msgid "Show Author Section" msgstr "Pokaż menu wyboru autora" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Wydawcy" @@ -1081,7 +1125,7 @@ msgstr "Wydawcy" msgid "Show Publisher Section" msgstr "Pokaż menu wyboru wydawcy" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1316,7 +1360,7 @@ msgstr "Nieoczekiwane dane podczas odczytywania informacji o aktualizacji" msgid "No update available. You already have the latest version installed" msgstr "Brak dostępnej aktualizacji. Masz już zainstalowaną najnowszą wersję" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Dostępna jest nowa aktualizacja. Kliknij przycisk poniżej, aby zaktualizować do najnowszej wersji." @@ -1324,7 +1368,7 @@ msgstr "Dostępna jest nowa aktualizacja. Kliknij przycisk poniżej, aby zaktual msgid "Could not fetch update information" msgstr "Nie można pobrać informacji o aktualizacji" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Kliknij przycisk poniżej, aby zaktualizować do najnowszej stabilnej wersji." @@ -1544,7 +1588,7 @@ msgstr "Konwertowanie ebooka zakończyło się niepowodzeniem z nieznanego powod msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter spowodowało błąd: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Konwertowany plik nie został znaleziony, lub więcej niż jeden plik w folderze %(folder)s" @@ -1587,6 +1631,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1641,16 +1686,16 @@ msgstr "Pobieranie" msgid "View Books" msgstr "Przeglądanie" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Edycja" # ??? #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Usuń" @@ -1844,7 +1889,10 @@ msgid "OK" msgstr "OK" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2138,131 +2186,212 @@ msgstr "Błąd wyszukiwania!" msgid "No Result(s) found! Please try another keyword." msgstr "Nie znaleziono! Spróbuj użyć innego słowa kluczowego." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "To pole jest wymagane" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Łączenie wybranych książek" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Łączenie wybranych książek" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Łączenie wybranych książek" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Łączenie wybranych książek" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Łączenie wybranych książek" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Usuń zaznaczone" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Łączenie wybranych książek" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Zamień autora i tytuł" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 #, fuzzy msgid "Update Title Sort automatically" msgstr "Aktualizuj tytuł Sortuj automatycznie" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 #, fuzzy msgid "Update Author Sort automatically" msgstr "Automatyczna aktualizacja sortowania autorów" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Wpisz tytuł" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Tytuł" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Wprowadź tytuł sortowania" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Tytuł sortowania" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Wpisz autora sortowania" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Autor sortowania" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Wpisz autorów" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Wprowadź kategorie" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Wpisz serię" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Indeks serii" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Wprowadź języki" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Data publikacji" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Wpisz Wydawnictwa" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Podaj nazwę domeny" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Status odczytu" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Identyfikatory" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Łączenie wybranych książek" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Czy jesteś pewny?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 #, fuzzy msgid "Books with Title will be merged from:" msgstr "Książki z tytułem będą łączone z:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 #, fuzzy msgid "Into Book with Title:" msgstr "Into Book with Title:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Połącz" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Zarchiwizowane" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Zarchiwizowane" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Oznacz jako przeczytane" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Oznacz jako nieprzeczytane" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Edytuj metadane" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Lokalizacja bazy danych Calibre" @@ -2764,11 +2893,6 @@ msgstr "Dodaj do archiwum" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Zarchiwizowane" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2781,10 +2905,6 @@ msgstr "Dodaj do półki" msgid "(Public)" msgstr "(publiczna)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Edytuj metadane" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Wybierz typ serwera" diff --git a/cps/translations/pt/LC_MESSAGES/messages.mo b/cps/translations/pt/LC_MESSAGES/messages.mo index 7c9812ebc..44492fbe5 100644 Binary files a/cps/translations/pt/LC_MESSAGES/messages.mo and b/cps/translations/pt/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/pt/LC_MESSAGES/messages.po b/cps/translations/pt/LC_MESSAGES/messages.po index 4c6458276..4486a0712 100644 --- a/cps/translations/pt/LC_MESSAGES/messages.po +++ b/cps/translations/pt/LC_MESSAGES/messages.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2023-07-25 11:30+0100\n" "Last-Translator: horus68 \n" "Language: pt\n" @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "Comando desconhecido" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Sucesso! Livros enviados para lista de espera para cópia de segurança de metadados. Por favor, verifique o resultado em Tarefas" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Desconhecido" @@ -60,7 +60,7 @@ msgstr "Configuração básica" msgid "UI Configuration" msgstr "Configuração de IU" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,445 +75,464 @@ msgstr "Editar utilizadores" msgid "All" msgstr "Tudo" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Utilizador não encontrado" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} utilizadores eliminados com sucesso" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostrar tudo" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Pedido mal construído" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Nome do convidado não pode ser alterado" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Convidado não pode ter esta função" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Nenhum utilizador administrador restante, impossível remover a função de administrador" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Valor tem de ser verdadeiro ou falso" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Função inválida" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "O convidado não podr ter esta vista" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Vista inválida" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "O idioma do convidado é detetado automaticamente e não pode ser alterado" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Nenhum idioma válido fornecido" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Não foi indicado um idioma de livro válido" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parâmetro não encontrado" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Coluna Lido é inválida" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Coluna Restrito é inválida" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Configuração do Calibre-Web atualizada" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Quer realmente apagar a Kobo Token?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Quer realmente eliminar este domínio?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Quer realmente apagar este utilizador?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Quer realmente eliminar este domínio?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Tem a certeza de que quer apagar essa estante?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Tem a certeza de que quer alterar o idioma dos utilizadores selecionados?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Tem a certeza de que quer alterar os idiomas de livros visíveis para os utilizadores selecionados?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Tem a certeza de que quer alterar a função selecionada para os utilizadores selecionados?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Tem a certeza de que quer alterar as restrições selecionadas para os utilizadores selecionados?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Tem a certeza de que quer alterar as restrições selecionadas para os utilizadores selecionados?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Tem a certeza de que quer alterar as restrições selecionadas para os utilizadores selecionados?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Tem a certeza de de que quer alterar as restrições de visibilidade selecionadas para os utilizadores selecionados?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Tem a certeza de que quer alterar o comportamento de sincronização da estante para os utilizadores selecionados?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Tem a certeza de que quer alterar a localização da biblioteca Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "O Calibre-Web irá procurar por capas atualizadas e atualizará as miniaturas das capas. Isto poderá demorar um pouco" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Tem a certeza de que deseja apagar a base de dados de sincronização do Calibre-Web para forçar uma sincronização completa com seu Kobo Reader?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Negar" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Permitir" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} entradas de sincronização eliminadas" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Etiqueta não encontrada" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Ação inválida" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json não está configurado para aplicação Web" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localização do ficheiro de historial não é válida. Por favor, digite um caminho correto" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localização do ficheiro de historial não é válida. Por favor, digite um caminho correto" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Digite um fornecedor LDAP, porta, DN e identificador de objeto do utilizador" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Por favor, digite uma conta de serviço LDAP e senha" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Por favor, digite uma conta de serviço LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "O filtro de objeto de grupo LDAP precisa de ter um identificador de formato \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filtro de objeto de grupo LDAP tem parênteses não coincidentes" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de objeto de utilizador LDAP precisa de ter um identificador de formato \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filtro de objeto de utilizador LDAP tem parênteses não coincidentes" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de utilizador membro do LDAP precisa ter um identificador de formato \"%s\"" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filtro de utilizador de membro LDAP tem parênteses incomparáveis" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP Certificado CA: Localização inválida de certificado ou chave. Por favor, digite um caminho correto" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Adicionar utilizador" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Editar configurações do servidor de email" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Sucesso! Conta Gmail verificada" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Erro de base de dados: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Email de teste enviado para lista de espera para envio para %(email)s. Por favor, verifique o resultado em Tarefas" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Ocorreu um erro ao enviar o email de teste: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Por favor, primeiro configure seu endereço de email..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Atualização das configurações do servidor de email" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Editar configurações de tarefas agendadas" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Hora de início inválida para a tarefa especificada" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Duração inválida para a tarefa especificada" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Foram atualizadas as configurações de tarefas agendadas" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "Configuaração da DB não é gravável" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Editar utilizador %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Sucesso! Senha do utilizador %(user)s redefinida" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Por favor, configure primeiro as configurações de correio SMTP..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Visualizador do historial" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "A solicitar pacote de atualização" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "A descarregar pacote de atualização" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "A descomprimir pacote de atualização" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "A substituir ficheiros" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "As ligações à base de dados estão fechadas" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "A parar o servidor" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Atualização concluída, pressione OK e refresque a página" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Atualização falhou:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Erro HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Erro de ligação" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Tempo limite ao estabelecer a ligação" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Erro geral" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Ficheiro de atualização não pode ser guardado na pasta temporária" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Não foi possível substituir ficheiros durante a atualização" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Falha ao extrair pelo menos um utilizador LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Falha ao criar pelo menos um utilizador LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Erro: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Erro: Nenhum utilizador devolvido na resposta do servidor LDAP" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "No mínimo um utilizador LDAP não encontrado no base de dados" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} utilizador importado com sucesso" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "A localização da base de dados não é válida. Por favor, digite o caminho correto" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "DB não é gravável" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do ficheiro de chaves não é válida. Por favor, digite o caminho correto" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do ficheiro de certificados não é válida. Por favor, digite o caminho correto" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "A dimensão da senha deve estar entre 1 e 40" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Configurações da base de dados atualizadas" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Configuração da base de dados" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Por favor, preencha todos os campos!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "O email não é de um domínio válido" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Adicionar novo utilizador" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Criado utilizador '%(user)s'" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Já existe uma conta para este endereço de email ou nome." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Utilizador '%(nick)s' eliminado" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Impossível eliminar convidado" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Nenhum utilizador administrador restante, não é possível eliminar o utilizador" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "O email não pode estar vazio e tem de ser válido" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Utilizador '%(nick)s' atualizado" @@ -542,115 +561,131 @@ msgstr "Falta de permissões de execução" msgid "None" msgstr "Nenhum" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Ficheiro %(file)s enviado" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Formato de origem ou destino para conversão está em falta" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Livro enviado com sucesso para lista de espera de conversão para %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocorreu um erro ao converter este livro: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Estante eliminada com sucesso" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oops! O Livro selecionado não está disponível. O ficheiro não existe ou não está acessível" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "Utilizador não tem permissão para carregar capas" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores não diferenciam maiúsculas de minúsculas, substituindo o identificador antigo" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s não é um idioma válido" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadados atualizados com sucesso" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Erro ao editar o livro: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "O livro carregado provavelmente existe na biblioteca, considere alterar antes de carregar novo: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "A extensão de ficheiro '%(ext)s' não pode ser enviada para este servidor" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "A extensão de ficheiro '%(ext)s' não pode ser enviada para este servidor" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "O ficheiro a ser carregado deve ter uma extensão" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "O ficheiro %(filename)s não foi possível ser guardado na pasta temporária" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Falha ao mover ficheiro de capa %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Formato de livro eliminado com sucesso" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Livro eliminado com sucesso" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Não tem permissões para apagar livros" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "editar metadados" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s não é um número válido, ignorando" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "Utilizador não tem direitos para carregar formatos de ficheiro adicionais" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Falha ao criar o caminho %(path)s (Permissão negada)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Falha ao armazenar o ficheiro %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formato de ficheiro %(ext)s adicionado a %(book)s" @@ -668,12 +703,12 @@ msgstr "O domínio Callback não foi verificado. Por favor, siga os passos para msgid "%(format)s format not found for book id: %(book)d" msgstr "Formato %(format)s não encontrado para o ID do livro: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s não encontrado no Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s não encontrado: %(fn)s" @@ -725,141 +760,147 @@ msgstr "%(book)s enviado para o dispositivo de leitura" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Não foi possível ler o ficheiro solicitado. Talvez permissões erradas?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Estatuto de Lido não pode ser alterado: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "A eliminação da pasta de livros do livro %(id)s falhou, o caminho tem subpastas: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Falha ao eliminar livro %(id)s: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Eliminar livro %(id)s apenas da base de dados, caminho do livro inválido: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Renomear autor de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renomear autor de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Ficheiro %(file)s não encontrado no Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renomear título de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Caminho do livro %(path)s não encontrado no Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "Encontrada uma conta existente para este endereço de email" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Este nome de utilizador já está registado" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Formato de endereço de email inválido" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "O módulo Python 'advocate' não está instalado, mas é necessário para carregar capas" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Erro ao descarregar a capa" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Erro de formato da capa" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Não possui permissões para aceder a localhost ou à rede local para carregar capas" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Falha em criar um caminho para a capa" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "O ficheiro de capa não é um ficheiro de imagem válido, ou não foi possível ser armazenado" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Apenas ficheiros jpg/jpeg/png/webp/bmp são suportados como ficheiros de capa" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Conteúdo do ficheiro de capa inválido" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Apenas ficheiros jpg/jpeg são suportados como ficheiros de capa" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Capa" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Binário UnRar não encontrado" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Erro a executar UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "DB não é gravável" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Falta de permissões de execução" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Erro a executar UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Enviar todos os livros para lista de espera para cópia de segurança de metadados" @@ -926,6 +967,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Erro no Oauth do GitHub. Por favor, tente novamente mais tarde." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Erro no Oauth do GitHub: {}" @@ -934,10 +976,12 @@ msgid "Google Oauth error, please retry later." msgstr "Erro no Google Oauth, tente novamente mais tarde." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Erro no Oauth do Google: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} Estrelas" @@ -1020,7 +1064,7 @@ msgstr "Descobrir" msgid "Show Random Books" msgstr "Mostrar livros aleatoriamente" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Categorias" @@ -1031,7 +1075,7 @@ msgid "Show Category Section" msgstr "Mostrar secção da categoria" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Séries" @@ -1041,7 +1085,7 @@ msgstr "Séries" msgid "Show Series Section" msgstr "Mostrar secção de séries" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autores" @@ -1051,7 +1095,7 @@ msgstr "Autores" msgid "Show Author Section" msgstr "Mostrar secção de autor" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Editoras" @@ -1061,7 +1105,7 @@ msgstr "Editoras" msgid "Show Publisher Section" msgstr "Mostrar seleção de editoras" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1292,7 +1336,7 @@ msgstr "Dados inesperados ao ler informações de atualização" msgid "No update available. You already have the latest version installed" msgstr "Não existem atualizações disponíveis. Você já tem instalada a última versão" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Uma nova atualização está disponível. Clique no botão abaixo para atualizar para a versão mais recente." @@ -1300,7 +1344,7 @@ msgstr "Uma nova atualização está disponível. Clique no botão abaixo para a msgid "Could not fetch update information" msgstr "Não foi possível obter informações sobre atualizações" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Clique no botão abaixo para atualizar para a última versão estável." @@ -1520,7 +1564,7 @@ msgstr "O conversor de ebook falhou com erro desconhecido" msgid "Kepubify-converter failed: %(error)s" msgstr "Conversor Kepubify falhou: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Ficheiro convertido não encontrado ou mais de um ficheiro na pasta %(folder)s" @@ -1563,6 +1607,7 @@ msgid "Cover Thumbnails" msgstr "Miniaturas de capa" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "Geradas {0} miniaturas de série" @@ -1614,15 +1659,15 @@ msgstr "Descarregar" msgid "View Books" msgstr "Ver Livros" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Editar" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Apagar" @@ -1816,7 +1861,10 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2106,125 +2154,206 @@ msgstr "Erro de pesquisa!" msgid "No Result(s) found! Please try another keyword." msgstr "Nenhum resultado encontrado! Por favor, tente pesquisar por outro termo-chave." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Este campo é obrigatório" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Fundir livros selecionados" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Fundir livros selecionados" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Fundir livros selecionados" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Fundir livros selecionados" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Fundir livros selecionados" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Remover seleções" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Fundir livros selecionados" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Trocar autor por título" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Atualizar ordenação de título automaticamente" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Atualizar ordenação de autor automaticamente" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Preencher título" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Título" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Preencher ordenação do título" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Ordenação de título" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Preencher ordenação de autor" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Ordenação de autor" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Preencher autores" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Preencher categorias" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Preencher série" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Índice da série" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Preencher idiomas" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Data de publicação" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Preencher editoras" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Preencher comentários" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Comentários" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Estado de arquivamento" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Estado de leitura" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Preencher " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Fundir livros selecionados" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Tem realmente a certeza?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Livros com título serão fundidos de:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Em livro com o título:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Fundir" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Arquivado" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Arquivado" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Marcar como lido" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Marcar como não Lido" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Editar metadados" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Localização da base de dados Calibre" @@ -2722,11 +2851,6 @@ msgstr "Adicionar ao ficheiro" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Arquivado" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2739,10 +2863,6 @@ msgstr "Adicionar à estante" msgid "(Public)" msgstr "(Público)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Editar metadados" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Escolha o tipo do servidor" diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.mo b/cps/translations/pt_BR/LC_MESSAGES/messages.mo index 5f4546ab4..aa29d1e2f 100644 Binary files a/cps/translations/pt_BR/LC_MESSAGES/messages.mo and b/cps/translations/pt_BR/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/pt_BR/LC_MESSAGES/messages.po b/cps/translations/pt_BR/LC_MESSAGES/messages.po index 82c808174..71984a86a 100644 --- a/cps/translations/pt_BR/LC_MESSAGES/messages.po +++ b/cps/translations/pt_BR/LC_MESSAGES/messages.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language: br\n" @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "Comando desconhecido" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "E-mail de teste enfileirado para envio para %(email)s, verifique o resultado em Tarefas" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Desconhecido" @@ -60,7 +60,7 @@ msgstr "Configuração Básica" msgid "UI Configuration" msgstr "Configuração de UI" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,445 +75,464 @@ msgstr "Editar Usuários" msgid "All" msgstr "Todos" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Usuário não encontrado" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} usuário(s) deletedos com sucesso" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Mostrar Tudo" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Requisição Malformada" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Nome do Convidado não pode ser alterado" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Convidado não pode ter esta função" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Nenhum usuário administrador restante, impossível remover a função de administrador" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Valor tem de ser Verdadeiro ou Falso" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Função Inválida" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Convidado não pode ter esta visão" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Visão Inválida" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "O idioma do Convidado é detectado automaticamente e não pode ser alterado" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Nenhum Idioma Válido Fornecido" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Nenhum Idioma do Livro Válido Fornecido" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parametro não encontrado" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Coluna Lido Inválida" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Coluna Restrito Inválida" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Configuração do Calibre-Web atualizada" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Você realmente quer apagar a Kobo Token?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Você realmente quer apagar este domínio?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Você realmente quer apagar este usuário?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Você realmente quer apagar este domínio?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Tem certeza que quer apagar essa estante?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Tem certeza que quer alterar o idioma do(s) usuário(s) selecionados?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Tem certeza que quer alterar os idiomas de livros visíveis par o usuário(s) selecionado(s)?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Tem certeza que quer alterar a função selecionada para o(s) usuário(s) selecionado(s)?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Tem certeza que quer alterar as restriçõeo selecionada para o(s) usuário(s) selecionado(s)?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Tem certeza que quer alterar as restriçõeo selecionada para o(s) usuário(s) selecionado(s)?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Tem certeza que quer alterar as restriçõeo selecionada para o(s) usuário(s) selecionado(s)?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Tem certeza de que quer alterar as restrições de visibilidade selecionadas para os usuários selecionados?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Tem certeza de que quer alterar o comportamento de sincronização da estante para o usuário selecionado?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Tem certeza que queres alterar a localização da biblioteca Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "O Calibre-Web buscará por Capas atualizadas e atualizará as Miniaturas de Capas, isso pode demorar um pouco" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Tem certeza de que deseja apagar o banco de dados de sincronização do Calibre-Web para forçar uma sincronização completa com seu Kobo Reader?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Negar" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Permitir" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} entradas de sincronização deletadas" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Tag não encontrada" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Ação Inválida" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json Não Está Configurado para Aplicação Web" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localização do arquivo de log não é válida, digite o caminho correto" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "A localização do arquivo de log de acesso não é válida, digite o caminho correto" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Digite um provedor LDAP, porta, DN e identificador de objeto do usuário" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Por favor, digite uma Conta de Serviço LDAP e Senha" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Por favor, digite uma Conta de Serviço LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "O filtro de objeto de grupo LDAP precisa ter um identificador de formato \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filtro de objeto de grupo LDAP tem parênteses incomparáveis" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de objeto de usuário LDAP precisa ter um identificador de formato \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filtro de objeto de usuário LDAP tem parênteses incomparáveis" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "O filtro de usuário membro do LDAP precisa ter um identificador de formato \"%s\"" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filtro de usuário de membro LDAP tem parênteses incomparáveis" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "Localização de LDAP CACertificate, Certificados ou Key Inválida, Insira o Caminho Correto" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Adicionar Novo Usuário" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Editar configurações do servidor de e-mail" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Erro de banco de dados: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "E-mail de teste enfileirado para envio para %(email)s, verifique o resultado em Tarefas" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Ocorreu um erro ao enviar o e-mail de teste: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Por favor, configure seu endereço de e-mail primeiro..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Atualização das configurações do servidor de e-mail" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Editar configurações de tarefas agendadas" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Hora de início inválida para a tarefa especificada" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Duração inválida para a tarefa especificada" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Configurações de tarefas agendadas atualizadas" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ocorreu um erro desconhecido. Por favor, tente novamente mais tarde." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "Settings DB não é gravável" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Editar Usuário %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Senha do usuário %(user)s redefinida" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Por favor, configure primeiro as configurações de correio SMTP..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Visualizador do Log" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Solicitação de pacote de atualização" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Baixando pacote de atualização" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Descompactando pacote de atualização" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Substituindo arquivos" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "As conexões à base de dados estão fechadas" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Parando servidor" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Atualização concluída, pressione okay e recarregue a página" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Atualização falhou:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Erro HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Erro de conexão" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Tempo limite durante o estabelecimento da conexão" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Erro geral" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Arquivo de atualização não pôde ser salvo no diretório temporário" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Arquivos não puderam ser substituídos durante a atualização" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Falha ao extrair pelo menos um usuário LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Falha ao criar pelo menos um usuário LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Erro: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Erro: Nenhum usuário retornado na resposta do servidor LDAP" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "No mínimo um usuário LDAP não encontrado no banco de dados" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} Usuário Importado com Sucesso" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "A localização do banco de dados não é válida, digite o caminho correto" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "DB não é gravável" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do Keyfile Inválida, Insira o Caminho Correto" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Localização do Certfile Inválida, Insira o Caminho Correto" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Configurações do Banco de Dados Atualizada" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Configuração do Banco de Dados" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Por favor, preencha todos os campos!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "O e-mail não é de um domínio válido" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Adicionar novo usuário" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Usuário '%(user)s' criado" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Encontrada uma conta existente para este endereço de e-mail ou apelido." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuário '%(nick)s' excluído" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Impossível excluir Convidado" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Nenhum usuário administrador restante, não é possível apagar o usuário" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuário '%(nick)s' atualizado" @@ -542,115 +561,131 @@ msgstr "Faltam as permissões de execução" msgid "None" msgstr "Nenhum" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Arquivo %(file)s enviado" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Formato de origem ou destino para conversão ausente" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Livro enfileirado com sucesso para conversão em %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocorreu um erro ao converter este livro: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Estante Apagada com Sucesso" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Oops! O Livro selecionado não está disponível. O arquivo não existe ou não é acessível" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "Usuário não tem permissão para fazer upload da capa" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Os identificadores não diferenciam maiúsculas de minúsculas, substituindo o identificador antigo" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s não é um idioma válido" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadados atualizados com sucesso" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Erro ao editar o livro: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "O livro carregado provavelmente existe na biblioteca, considere alterar antes de carregar novo: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "A extensão de arquivo '%(ext)s' não pode ser enviada para este servidor" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "A extensão de arquivo '%(ext)s' não pode ser enviada para este servidor" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "O arquivo a ser carregado deve ter uma extensão" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "O arquivo %(filename)s não pôde ser salvo no diretório temporário" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Falha ao mover arquivo de capa %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Formato do Livro Apagado com Sucesso" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Livro Apagado com Sucesso" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Você não tem permissão para apagar livros" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "editar metadados" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s não é um número válido, ignorando" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "Usuário não tem direitos para fazer upload de formatos de arquivo adicionais" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Falha ao criar o caminho %(path)s (Permission denied)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Falha ao armazenar o arquivo %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Formato de arquivo %(ext)s adicionado a %(book)s" @@ -668,12 +703,12 @@ msgstr "O domínio Callback não foi verificado, por favor siga os passos para v msgid "%(format)s format not found for book id: %(book)d" msgstr "Formato %(format)s não encontrado para o id do livro: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s não encontrado no Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s não encontrado: %(fn)s" @@ -725,141 +760,147 @@ msgstr "%(book)s enviado para E-Reader" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "O arquivo solicitado não pôde ser lido. Talvez permissões erradas?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Status Lido não pode ser alterado: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "A exclusão da pasta de livros do livro %(id)s falhou, o caminho tem subpastas: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Falha ao excluir livro %(id)s: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Excluindo livro %(id)s somente do banco de dados, caminho do livro inválido: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Renomear autor de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renomear autor de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Arquivo %(file)s não encontrado no Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renomear título de: '%(src)s' para '%(dest)s' falhou com o erro: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Caminho do livro %(path)s não encontrado no Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Este nome de usuário já está registrado" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Formato de endereço de e-mail inválido" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "O módulo Python 'advocate' não está instalado, mas é necessário para uploads de capa" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Erro ao Baixar a capa" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Erro de Formato da Capa" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Você não tem permissão para acessar localhost ou a rede local para uploads de capa" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Falha em criar caminho para a capa" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "O arquivo de capa não é um arquivo de imagem válido, ou não pôde ser armazenado" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Apenas arquivos jpg/jpeg/png/webp/bmp são suportados como arquivos de capa" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Conteúdo do arquivo de capa inválido" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Apenas arquivos jpg/jpeg são suportados como arquivos de capa" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Capa" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Binário UnRar não encontrado" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Erro excecutando UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "DB não é gravável" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Faltam as permissões de execução" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Erro excecutando UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -926,6 +967,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Erro no Oauth do GitHub, tente novamente mais tarde." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Erro no Oauth do GitHub: {}" @@ -934,10 +976,12 @@ msgid "Google Oauth error, please retry later." msgstr "Erro no Google Oauth, tente novamente mais tarde." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Erro no Oauth do Google: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} Estrelas" @@ -1020,7 +1064,7 @@ msgstr "Descubra" msgid "Show Random Books" msgstr "Mostrar Livros Aleatórios" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Categorias" @@ -1031,7 +1075,7 @@ msgid "Show Category Section" msgstr "Mostrar seção de categoria" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Série" @@ -1041,7 +1085,7 @@ msgstr "Série" msgid "Show Series Section" msgstr "Mostrar seção de séries" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autores" @@ -1051,7 +1095,7 @@ msgstr "Autores" msgid "Show Author Section" msgstr "Mostrar seção de autor" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Editoras" @@ -1061,7 +1105,7 @@ msgstr "Editoras" msgid "Show Publisher Section" msgstr "Mostrar seção de editoras" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1292,7 +1336,7 @@ msgstr "Dados inesperados ao ler informações de atualização" msgid "No update available. You already have the latest version installed" msgstr "Não há atualização disponível. Você já tem a última versão instalada" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Uma nova atualização está disponível. Clique no botão abaixo para atualizar para a versão mais recente." @@ -1300,7 +1344,7 @@ msgstr "Uma nova atualização está disponível. Clique no botão abaixo para a msgid "Could not fetch update information" msgstr "Não foi possível buscar as informações de atualização" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Clique no botão abaixo para atualizar para a última versão estável." @@ -1520,7 +1564,7 @@ msgstr "O conversor de Ebook falhou com erro desconhecido" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter falhou: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Arquivo convertido não encontrado ou mais de um arquivo na pasta %(folder)s" @@ -1563,6 +1607,7 @@ msgid "Cover Thumbnails" msgstr "Miniatura da Capa" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "Gerado {0} miniaturas de série" @@ -1614,15 +1659,15 @@ msgstr "Baixar" msgid "View Books" msgstr "Ver Livros" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Editar" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Apagar" @@ -1816,7 +1861,10 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2106,125 +2154,206 @@ msgstr "Erro de busca!" msgid "No Result(s) found! Please try another keyword." msgstr "Nenhum resultado(s) encontrado(s)! Por favor, tente outra palavra-chave." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Este campo é obrigatório" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Mesclar livros selecionados" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Mesclar livros selecionados" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Mesclar livros selecionados" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Mesclar livros selecionados" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Mesclar livros selecionados" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Remover Seleções" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Mesclar livros selecionados" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Trocar autor e título" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Atualizar Ordenação de Título automaticamente" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Atualizar Ordenação de Autor automaticamente" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Digite o Título" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Título" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Digite a ordenação do título" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Ordenação de Título" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Digite a Ordenação de Author" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Ordenação de Autor" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Entrar Autores" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Entrar Categorias" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Entrar Série" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Índice da Série" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Entrar Idiomas" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Data de Publicação" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Entrar Editoras" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Entrar Comentários" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Comentários" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Status Arquivado" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Status Lido" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Entrar " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Mesclar livros selecionados" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Você realmente tem certeza?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Livros com Título serão mesclados de:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Em livro com título:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Mesclar" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Arquivado" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Arquivado" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Marcar como Lido" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Marcar como Não Lido" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Editar Metadados" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Localização da Base de Dados Calibre" @@ -2722,11 +2851,6 @@ msgstr "Adicionar ao arquivo" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Arquivado" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2739,10 +2863,6 @@ msgstr "Adicionar à estante" msgid "(Public)" msgstr "(Público)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Editar Metadados" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Escolha o Tipo do Servidor" diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo index fbb7cf8fd..c2a88f562 100644 Binary files a/cps/translations/ru/LC_MESSAGES/messages.mo and b/cps/translations/ru/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/ru/LC_MESSAGES/messages.po b/cps/translations/ru/LC_MESSAGES/messages.po index aa5a6b8ee..87826fc3a 100644 --- a/cps/translations/ru/LC_MESSAGES/messages.po +++ b/cps/translations/ru/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2020-04-29 01:20+0400\n" "Last-Translator: ZIZA\n" "Language: ru\n" @@ -17,7 +17,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -46,8 +46,8 @@ msgstr "Неизвестная команда" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Книга успешно поставлена в очередь для отправки на %(eReadermail)s" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Неизвестно" @@ -64,7 +64,7 @@ msgstr "Настройки сервера" msgid "UI Configuration" msgstr "Настройка интерфейса" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -80,455 +80,474 @@ msgstr "Управление сервером" msgid "All" msgstr "Все" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Показать все" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Конфигурация Calibre-Web обновлена" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Вы действительно хотите удалить Kobo Token ?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Вы действительно хотите удалить Kobo Token ?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Вы действительно хотите удалить эту книжную полку?" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Вы действительно хотите удалить эту книжную полку?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Вы действительно хотите удалить эту книжную полку?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Вы действительно хотите удалить эту книжную полку?" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Вы действительно хотите удалить эту книжную полку?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Вы действительно хотите удалить эту книжную полку?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Вы действительно хотите остановить Calibre-Web?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Запретить" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Разрешить" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json не настроен для веб-приложения" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Неправильное расположение файла журнала, пожалуйста, введите правильный путь." -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Недопустимое расположение файла журнала доступа, пожалуйста, введите правильный путь" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Пожалуйста, введите провайдера LDAP, порт, DN и идентификатор объекта пользователя" -#: cps/admin.py:1223 +#: cps/admin.py:1228 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Пожалуйста, введите действительное имя пользователя для сброса пароля" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Фильтр объектов группы LDAP должен иметь один идентификатор формата \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Фильтр объектов группы LDAP имеет незавершённые круглые скобки" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Фильтр объектов пользователя LDAP должен иметь один идентификатор формата \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Фильтр объектов пользователя LDAP имеет незавершенную круглую скобку" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Добавить нового пользователя" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Изменить настройки SMTP" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Произошла ошибка при отправке тестового письма на: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Пожалуйста, сначала настройте свой адрес электронной почты ..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Настройки E-mail сервера обновлены" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Неизвестная ошибка. Попробуйте позже." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Изменить пользователя %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Пароль для пользователя %(user)s сброшен" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Пожалуйста, сперва настройте параметры SMTP....." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Просмотр лога" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Проверка обновлений" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Загрузка обновлений" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Распаковка обновлений" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Замена файлов" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Соединения с базой данных закрыты" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Остановка сервера" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Обновления установлены, нажмите ок и перезагрузите страницу" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Ошибка обновления:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Ошибка HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Ошибка соединения" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Тайм-аут при установлении соединения" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Общая ошибка" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Не удалось сохранить файл обновления во временной папке." -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Не удалось создать хотя бы одного пользователя LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Не удалось создать хотя бы одного пользователя LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Ошибка: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Ошибка: ни одного пользователя не найдено в ответ на запрос сервер LDAP" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "По крайней мере, один пользователь LDAP не найден в базе данных" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Расположение Базы Данных неверно, пожалуйста, введите правильный путь." -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Расположение ключевого файла неверно, пожалуйста, введите правильный путь" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Расположение Certfile не является действительным, пожалуйста, введите правильный путь" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "Настройки E-mail сервера обновлены" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Дополнительный Настройки" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Пожалуйста, заполните все поля!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-mail не из существующей доменной зоны" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Добавить пользователя" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Пользователь '%(user)s' добавлен" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Для этого адреса электронной почты или логина уже есть учётная запись." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Пользователь '%(nick)s' удалён" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Это последний администратор, невозможно удалить пользователя" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Пользователь '%(nick)s' обновлён" @@ -557,115 +576,131 @@ msgstr "" msgid "None" msgstr "Нет" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Файл %(file)s загружен" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Исходный или целевой формат для конвертирования отсутствует" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Книга успешно поставлена в очередь для конвертирования в %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Произошла ошибка при конвертирования этой книги: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Метаданные обновлены" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Невозможно открыть книгу. Файл не существует или недоступен" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s не допустимый язык" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Метаданные обновлены" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Загруженная книга, вероятно, существует в библиотеке, перед тем как загрузить новую, рассмотрите возможность изменения: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Запрещена загрузка файлов с расширением '%(ext)s'" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Запрещена загрузка файлов с расширением '%(ext)s'" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Загружаемый файл должен иметь расширение" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Файл %(filename)s не удалось сохранить во временную папку" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "изменить метаданные" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Ошибка при создании пути %(path)s (Доступ запрещён)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Не удалось сохранить файл %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Формат файла %(ext)s добавлен в %(book)s" @@ -683,12 +718,12 @@ msgstr "Не удалось проверить домен обратного в msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s форма не найден для книги с id: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s не найден на Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s не найден: %(fn)s" @@ -741,137 +776,143 @@ msgstr "Отправить на Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Запрашиваемый файл не может быть прочитан. Возможно у вас нет разрешения?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Переименовывание заголовка с: '%(src)s' на '%(dest)s' не удалось из-за ошибки: %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Переименовывание заголовка с: '%(src)s' на '%(dest)s' не удалось из-за ошибки: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Файл %(file)s не найден на Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Переименовывание заголовка с: '%(src)s' на '%(dest)s' не удалось из-за ошибки: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Путь книги %(path)s не найден на Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Это имя пользователя уже занято" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Не удалось создать путь для обложки." -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Только файлы в формате jpg / jpeg поддерживаются как файл обложки" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Обзор" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -939,6 +980,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Ошибка GitHub Oauth, пожалуйста попробуйте позже." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -947,10 +989,12 @@ msgid "Google Oauth error, please retry later." msgstr "Ошибка Google Oauth, пожалуйста попробуйте позже." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "" @@ -1033,7 +1077,7 @@ msgstr "Обзор" msgid "Show Random Books" msgstr "Показывать Случайные Книги" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Категории" @@ -1044,7 +1088,7 @@ msgid "Show Category Section" msgstr "Показывать выбор категории" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Серии" @@ -1054,7 +1098,7 @@ msgstr "Серии" msgid "Show Series Section" msgstr "Показывать выбор серии" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Авторы" @@ -1064,7 +1108,7 @@ msgstr "Авторы" msgid "Show Author Section" msgstr "Показывать выбор автора" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Издатели" @@ -1074,7 +1118,7 @@ msgstr "Издатели" msgid "Show Publisher Section" msgstr "Показать выбор издателя" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1308,7 +1352,7 @@ msgstr "Некорректные данные при чтении информа msgid "No update available. You already have the latest version installed" msgstr "Нет доступных обновлений. Вы используете последнюю версию" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Новое обновление доступно. Нажмите на кнопку ниже, чтобы обновить до последней версии." @@ -1316,7 +1360,7 @@ msgstr "Новое обновление доступно. Нажмите на к msgid "Could not fetch update information" msgstr "Не удалось получить информацию об обновлении" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Нажмите на кнопку ниже для обновления до последней стабильной версии." @@ -1537,7 +1581,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" @@ -1580,6 +1624,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1632,15 +1677,15 @@ msgstr "Скачать" msgid "View Books" msgstr "Посмотреть электронные книги" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Редактировать" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Удалить" @@ -1834,7 +1879,10 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2125,127 +2173,207 @@ msgstr "Ошибка поиска!" msgid "No Result(s) found! Please try another keyword." msgstr "Результат(ы) не найдены! Попробуйте другое ключевое слово." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Показывать недавние книги" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Показывать недавние книги" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Отметить как непрочитанное" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Отметить как непрочитанное" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +msgid "Clear selections" msgstr "" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Удалить книгу" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Заголовок" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Введите доменное имя" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Зарегистрироваться" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Удалить книгу" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Вы действительно уверены?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Поиск" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Поиск" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Отметить как прочитанное" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Отметить как непрочитанное" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Редактировать метаданные" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Расположение базы данных Calibre" @@ -2745,11 +2873,6 @@ msgstr "" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Поиск" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2762,10 +2885,6 @@ msgstr "Добавить на книжную полку" msgid "(Public)" msgstr "(Публичная)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Редактировать метаданные" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/sk/LC_MESSAGES/messages.mo b/cps/translations/sk/LC_MESSAGES/messages.mo index 2997e3ff3..aca97cc6a 100644 Binary files a/cps/translations/sk/LC_MESSAGES/messages.mo and b/cps/translations/sk/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/sk/LC_MESSAGES/messages.po b/cps/translations/sk/LC_MESSAGES/messages.po index 65e217297..f534e53ee 100644 --- a/cps/translations/sk/LC_MESSAGES/messages.po +++ b/cps/translations/sk/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2023-11-01 06:12+0100\n" "Last-Translator: Branislav Hanáček \n" "Language: sk_SK\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "Neznámy príkaz" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Úspech! Knihy boli zaradená do zálohovania metadát, skontrolujte si Úlohy na kontrolu" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Neznámy" @@ -60,7 +60,7 @@ msgstr "Základná konfigurácia" msgid "UI Configuration" msgstr "Konfigurácia používateľského rozhrania" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,444 +75,463 @@ msgstr "Upraviť používateľov" msgid "All" msgstr "Všetko" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Používateľ sa nenašiel" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "Zmazaných {} používateľov" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Zobraziť všetko" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Chybne vytvorená žiadosť" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Meno hosťa nie je možné zmeniť" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Hosť nemôže mať túto rolu" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Nezostáva žiadny správca, nie je možné odobrať rolu správcu" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Hodnota musí byť pravda alebo nepravda" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Neplatná rola" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Hosť nemôže mať toto zobrazenie" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Neplatné zobrazenie" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Nastavenie jazyka pre hosťa sa určí automaticky a nie je možné ho nastaviť" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Nebolo poskytnuté platné nastavenie jazyka" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Nebolo poskytnuté platné jazykové nastavenie pre knihu" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parameter sa nenašiel" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Neplatný stĺpec na čítanie" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Neplatný stĺpec na obmedzenie" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Konfigurácia Calibre-Web bola aktualizovaná" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Naozaj chcete zmazať Kobo-žetón?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Naozaj chcete zmazať túto doménu?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Naozaj chcete zmazať tohot používateľa?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Naozaj chcete zmazať túto doménu?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Naozaj chcete zmazať túto poličku?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Naozaj chcete zmeniť nastavenia jazykov pre vybraných používateľov?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Naozaj chcete zmeniť viditeľné jazkyky pre knihy pre vybraných používateľov?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Naozaj chcete zmeniť vybrané role pre vybraných používateľov?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Naozaj chcete zmeniť vybrané obmedzenia pre vybraných používateľov?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Naozaj chcete zmeniť vybrané obmedzenia pre vybraných používateľov?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Naozaj chcete zmeniť vybrané obmedzenia pre vybraných používateľov?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Naozaj chcete zmeniť vybrané obmedzenia viditeľnosti pre vybraných používateľov?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Naozaj chcete zmeniť synchronizačné správanie sa police pre vybraných používateľov?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Naozaj chcete zmenit umiestnenie pre knižnicu Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calilbre-Web vyhľadá aktualizované obálky a aktualizuje ich náhľady, môže to chvíľu trvať?" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Naozaj chcete zmazať synchronizačnú databázu Calibre-Web aby ste vynútili úplnú synchronizáciu s vašou Kobo čítačkou?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Odmietnuť" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Povoliť" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "Zmazalo sa {} synchronizačných položiek" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Štítok sa nenašiel" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Neplatná akcia" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json nie je nakonfiguraovaný pre webovú aplikáciu" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Umiestnenie denníkového súboru je neplatné, zadajte prosím správnu cestu" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Umiestnenie súbor denníka prístupov nie je platné, zadajte prosím správnu cestu" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Zadajte prosím poskytovateľa LDAP, port, DN a identifikátor používateľa" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Zadajte prosím konto a heslo pre LDAP službu" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Zadajte prosím konto pre LDAP službu" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Filter pre LDAP objekt skupiny potrebuje jeden \"%s\" formátový identifikátor" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filter pre LDAP objekt skupiny má nezhodu v zátvorkách" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Filter pre LDAP objekt používateľa potrebuje jeden \"%s\" formátový identifikátor" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filter pre LDAP objekt používateľa má nezhodu v zátvorkách" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Filter pre LDAP členstvo používateľa potrebuje jeden \"%s\" formátový identifikátor" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filter pre LDAP členstvo používateľa má nezhodu v zátvorkách" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA-certifikát, certifikát alebo umiestnenie kľúča nie je platné. Zadajte prosím správnu cestu" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Pridať nového používateľa" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Upraviť nastavenie pre poštový server" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Úspech! Gmail konto bolo verifikované." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Chyba databázy: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Testovací e-mail bol zaradený na odoslanie na %(email)s, skontrolujte si výsledok v sekcii Úlohy" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Pri odosielaní testovacieho e-mailu sa vyskytla chyba: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Prosím, najskôr si nastavte e-mailovú adresu..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Nastavenia poštového servera boli aktualizované" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Upraviť nastavenia naplánovaných úloh" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Bol uvedený neplatný čas spustenia" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Bol uvedený neplatný doba behu" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Nastavenia naplánovaných úloh boli aktualizované" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Vyskytla sa neočakávaná chyba. Prosím, skúste to opäť neskôr." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "Nie je možné zapisovať do databázy nastavení" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Upraviť používateľa %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "Úspech! Heslo pre používateľa %(user)s bolo resetované" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "Nastavte prosím poštový server." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Prezerač denníkového súboru" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Žiadosť o aktualizačný balík" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Sťahuje sa aktualizačný balík" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Rozbaľuje sa aktualizačný balík" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Nahradzujú sa súbory" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Spojenia s databázou sú uzavreté" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Zastavuje sa server" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Aktualizácia dokončená, stlačte prosím OK a znovu načítajte stránku" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Aktualizácia zlyhala:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP chyba" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Chyba spojenia" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Časový limit pre naviazanie spojenia vypršal" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Všeobecná chyba" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Súbor aktualizácie nebolo možné uložiť do dočasného adresára" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Nebolo možné nahradiť súbory počas aktualizácie" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Extrakcia minimálne jedného LDAP používateľa zlyhala" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Vytvorenie minimálne jedného LDAP používateľa zlyhalo" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Chyba: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Chyba: Odpoveď LDAP servera neobsahuje žiadneho používateľa" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Minimálne jeden LDAP používateľ sa nenachádza v databáze" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "Používateľ bol naimportovaný" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Umiestnenie databáze nie je platné, zadajte prosím správnu cestu" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "Do databázy nie je možné zapisovať" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Umiestnenie súboru s kľúčmi nie je platné, zadajte prosím správnu cestu" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Umiestnenie súboru s certifikátmi nie je platné, zadajte prosím správnu cestu" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "Heslo musí byť dlhé 1 až 40 znakov" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Nastavenia databáze boli aktualizované" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Konfigurácia databázy" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Vyplňte prosím všetky polia." -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-mail nie je z platnej domény" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Pridať nového používateľa" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Používateľ '%(user)s' bol vytvorený" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Účet s týmto menom alebo e-mailovou adresou už existuje." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Používateľ '%(nick)s' bol zmazaný" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Nie je možné zmazať používateľa Hosť" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Nezostáva žiadny používateľ, nie je možné odobrať rolu správcu" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "E-mailová adresa nemôže byť prázdna a musí byť platná" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Používateľ '%(nick)s' bol aktualizovaný" @@ -541,115 +560,131 @@ msgstr "Chýba právo na vykonanie" msgid "None" msgstr "Žiadne" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Súbor %(file)s bol nahraný" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Chýba zdrojový alebo cieľový formát pre prevod" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Kniha bola úspešne zaradená na prevod do %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Vyskytla sa chyba pri prevode tejto knihy: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Polica bol úspešne vymazaná" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Vybraná kniha nie je dostupná. Súbor neexistuje alebo sa k nemu nedá pristupovať" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "Používateľ nemá práva nahrať obálku knihy" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifikátory nerozlišujú malé a veľké písmená, prepisuje sa starý identifikátor" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' nie je platný jazyk" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadáta boli úspešne aktualizované" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Chyba pri úprave knihy: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Nahrávaná kniha pravdepodobne existuje v knižnici, zvážte zmenu pred nahraním novej: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Prípona súboru '%(ext)s' nemôže byť nahraná na tento server" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Prípona súboru '%(ext)s' nemôže byť nahraná na tento server" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Súbor ktorý sa má nahrať musí mať príponu" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Súbor %(filename)s nebolo možné uložiť do dočasného adresára" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Zlyhal presun súboru obalky %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Kniha s formátom bola úspešne zmazaná" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Kniha bola úspešne zmazaná" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Nemáte oprávnenia na mazanie kníh" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "upraviť metadáta" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s nie je platné číslo, preskakuje sa" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "Používateľ nemá práva na nahranie dodatočných súborových formátov" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nebolo možné vytvoriť cestu %(path)s (Povolenie zamietnuté)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Zlyhalo uloženie súboru: %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Súborový formát %(ext)s bol pridaný k %(book)s" @@ -667,12 +702,12 @@ msgstr "Doména spätného volania nie je verifikovaná, prosím, vykonajte krok msgid "%(format)s format not found for book id: %(book)d" msgstr "Formát %(format)s sa nenašiel pre knihu s ID: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s sa nenašiel na Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s sa nenašiel: %(fn)s" @@ -721,138 +756,144 @@ msgstr "%(book)s odoslaná do čítačky" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Požadovaný súbor sa nedá čítať. Možne zlé oprávnenia?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Status čítania nie je možné nastaviť: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Mazanie zložky pre knihu %(id)s zlyhalo, cesta má vnorené adresáre: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Mazanie knihy %(id)s zlyhalo: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Mazanie knihy %(id)s iba z databázy, cesta ku knihe v databáze nie je platná: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Premenovanie autora z: '%(src)s' na '%(dest)s' zlyhalo s chybou: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Premenovanie autora z: '%(src)s' na '%(dest)s' zlyhalo s chybou: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Súbor %(file)s sa nenašiel na Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Zmena názvu knihy z: '%(src)s' na '%(dest)s' zlyhalo s chybou: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Cesta ku knihe %(path)s sa nenašla na Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "Pre túto poštovú adresu sa našiel existujúci účet" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Toto meno používateľa sa už používa" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "Neplatný formát poštovej adresy" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "Heslo nedodržiava pravidlá validácie" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Python modul 'advocate' nie je nainštalovaný ale je potrebný pre nahrávanie obálok kníh" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Chyba pri sťahovaní obálky knihy" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Chyba formátu obálky knihy" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Nemáte povolené pristupovať na lokálneho hostiteľa alebo lokálnu sieť na pre nahrávanie obálok kníh" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Vytváranie cesty k obálke knihy zlyhalo" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Súbor obálky knihy nie je platný súbor s obrázkom alebo nie je uložený" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Ako súbor obálky knihy sú podporované iba súbory jpg/jpeg/png/webp/bmp" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Neplatný obsah súboru obalky knihy" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Ako súbor obálky knihy sú podporované iba súbory jpg/jpeg" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "Obálka knihy" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Binárny súbor pre UnRar sa nenašiel" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "Chyba pri spustení UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "Do databázy nie je možné zapisovať" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Chýba právo na vykonanie" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Chyba pri spustení UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Zaradiť všetky knihy na zálohovanie metadát" @@ -919,6 +960,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Chyba GitHub OAuth, skúste to prosím neskôr." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Chyba GitHub OAuth: {}" @@ -927,10 +969,12 @@ msgid "Google Oauth error, please retry later." msgstr "Chyba Google OAuth, skúste to prosím neskôr." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Chyba Google OAuth: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} Hviezdičiek" @@ -1012,7 +1056,7 @@ msgstr "Objaviť" msgid "Show Random Books" msgstr "Zobraziť náhodné knihy" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategórie" @@ -1022,7 +1066,7 @@ msgid "Show Category Section" msgstr "Zobraziť časť Kategórie" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Série" @@ -1031,7 +1075,7 @@ msgstr "Série" msgid "Show Series Section" msgstr "Zobraziť časť Série" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Autori" @@ -1040,7 +1084,7 @@ msgstr "Autori" msgid "Show Author Section" msgstr "Zobraziť časť Autori" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Vydavatelia" @@ -1049,7 +1093,7 @@ msgstr "Vydavatelia" msgid "Show Publisher Section" msgstr "Zobraziť časť vydavatelia" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1276,7 +1320,7 @@ msgstr "Čítanie aktualizačnej informácie narazilo na neočakávané údaje" msgid "No update available. You already have the latest version installed" msgstr "Nie je dostupná žiadna aktualizácia. Máte nainštalovanú najnovšiu verziu" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Je dostupná nová aktualizácia. Ak chcete aktualizovať na najnovšiu verziu, kliknite na tlačidlo dolu." @@ -1284,7 +1328,7 @@ msgstr "Je dostupná nová aktualizácia. Ak chcete aktualizovať na najnovšiu msgid "Could not fetch update information" msgstr "Nebolo možné stiahnuť aktualizačnú informáciu" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Ak chcete aktualizovať na najnovšiu stabilnú verziu, kliknite na tlačidlo dolu." @@ -1496,7 +1540,7 @@ msgstr "Prevádzač e-kníh zlyhal s neznámou chybou" msgid "Kepubify-converter failed: %(error)s" msgstr "Prevádzač Kepubify zlyhal: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Prevádzaný súbor sa nenašiel alebo viac ako jeden súbor v zložke %(folder)s" @@ -1538,6 +1582,7 @@ msgid "Cover Thumbnails" msgstr "Náhľad obálky knihy" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "Bolo vygenerovaných {0} náhľadov pre série" @@ -1589,15 +1634,15 @@ msgstr "Stiahnuť" msgid "View Books" msgstr "Zobraziť knihy" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Upraviť" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Zmazať" @@ -1790,7 +1835,10 @@ msgid "OK" msgstr "V poriadku" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2080,125 +2128,206 @@ msgstr "Chyba pri vyhľadávaní!" msgid "No Result(s) found! Please try another keyword." msgstr "Nič sa nenaslo! Skúste, prosím iné kľúčové slovo." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Toto pole je povinné" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Zlúčiť vybrané knihy" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Zlúčiť vybrané knihy" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Zlúčiť vybrané knihy" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Zlúčiť vybrané knihy" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Zlúčiť vybrané knihy" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Odstrániť výbery" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Zlúčiť vybrané knihy" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Vymeniť autora a názov" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Automaticky aktualizovať triedenie podľa názvu" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Automaticky aktualizovať triedeni podľa autora" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Zadajte názov" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Názov" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Zadajte triedenie podľa názvu knihy" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Triedenie podľa názvu knihy" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Zadajte triedenie podľa autora knihy" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Triedenie podľa autora knihy" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Zadajte autorov" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Zadajte kategórie" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Zadajte série" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Číslo v sérii" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Zadajte jazyky" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Dátum vydania" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Zadajte vydavateľov" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Zadajte komentáre" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Komentáre" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Stav archivácie" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Stav čítania" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Zadať " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Zlúčiť vybrané knihy" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Naozaj to chcete?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Kniha z názvom bude zlúčená s:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "Na knihu s názvom:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Zlúčiť" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Archivovaný" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Archivovaný" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Označiť ako prečítané" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Označiť ako neprečítané" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Upraviť metadáta" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Umiestnenie databázy Calibre" @@ -2694,11 +2823,6 @@ msgstr "Pridať do archívu" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Archivovaný" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2711,10 +2835,6 @@ msgstr "Pridať do police" msgid "(Public)" msgstr "(Verejné)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Upraviť metadáta" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Typ e-mailového účtu" diff --git a/cps/translations/sl/LC_MESSAGES/messages.mo b/cps/translations/sl/LC_MESSAGES/messages.mo index 93744ca1c..2eaacf4ec 100644 Binary files a/cps/translations/sl/LC_MESSAGES/messages.mo and b/cps/translations/sl/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/sl/LC_MESSAGES/messages.po b/cps/translations/sl/LC_MESSAGES/messages.po index d9bc06184..1bbe011a1 100644 --- a/cps/translations/sl/LC_MESSAGES/messages.po +++ b/cps/translations/sl/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2024-09-18 19:45+0200\n" "Last-Translator: Andrej Kralj\n" "Language: sl\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "Neznan ukaz" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Uspeh! Knjige so v čakalni vrsti za varnostno kopiranje metapodatkov, za rezultat preverite opravila" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Neznano" @@ -60,7 +60,7 @@ msgstr "Osnovne nastavitve" msgid "UI Configuration" msgstr "Nastavitve uporabniškega vmesnika" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,444 +75,463 @@ msgstr "Urejanje uporabnikov" msgid "All" msgstr "Vse" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Ne najdem uporabnika" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} uporabnikov uspešno izbrisanih" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Pokaži vse" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Napačno oblikovana zahteva" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Imena gosta ni mogoče spremeniti" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Gost ne more imeti te vloge" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Ni več nobenega admin uporabnika, ne morem odstraniti vloge admin" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Vrednost mora biti true ali false" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Neveljavna vloga" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Gost ne more imeti tega pogleda" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Nepravilen pogled" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Lokalni jezik gosta se določi samodejno in ga ni mogoče nastaviti." -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Ni navedenega veljavnega lokalnega jezika" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Ni navedenega veljavnega jezika knjige" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parameter ni najden" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Nepravilen stolpec za branje" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Neveljavni stolpec za omejitev" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Posodobljena nastavitev Calibre-Web" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Ali res želite izbrisati žeton Kobo?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Ali res želite izbrisati to domeno?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Ali res želite izbrisati tega uporabnika?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Ali res želite izbrisati to domeno?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Ste prepričani, da želite izbrisati to polico?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Ali ste prepričani, da želite spremeniti lokalne jezike izbranih uporabnikov?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Ste prepričani, da želite spremeniti vidne jezike knjig za izbrane uporabnike?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Ali ste prepričani, da želite spremeniti izbrano vlogo za izbranega(-e) uporabnika(-e)?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Ali ste prepričani, da želite spremeniti izbrane omejitve za izbranega(-e) uporabnika(-e)?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Ali ste prepričani, da želite spremeniti izbrane omejitve za izbranega(-e) uporabnika(-e)?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Ali ste prepričani, da želite spremeniti izbrane omejitve za izbranega(-e) uporabnika(-e)?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Ali ste prepričani, da želite spremeniti izbrane omejitve vidljivosti za izbranega(-e) uporabnika(-e)?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Ali ste prepričani, da želite spremeniti obnašanje sinhronizacije police za izbranega(-e) uporabnika(-e)?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Ste prepričani, da želite spremeniti lokacijo knjižnice Calibre?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web bo poiskal posodobljene naslovnice in posodobil sličice naslovnic, kar lahko traja nekaj časa." -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Ali ste prepričani, da želite izbrisati sinhronizacijsko podatkovno bazo Calibre-Web, da bi vsilili popolno sinhronizacijo z bralnikom Kobo?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Onemogoči" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Omogoči" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} izbrisanih vnosov za sinhronizacijo" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Oznaka ni bila najdena" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Neveljavno dejanje" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "Client_secrets.json ni nastavljen za spletno aplikacijo" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Lokacija dnevniške datoteke ni veljavna, vnesite pravilno pot" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Lokacija dnevniške datoteke dostopa ni veljavna, vnesite pravilno pot" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Vnesite ponudnika LDAP, vrata, DN in identifikator objekta uporabnika" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "Vnesite račun in geslo storitve LDAP" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "Vnesite račun storitve LDAP" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "Filter predmetov skupine LDAP mora imeti en identifikator oblike \"%s\"" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "Filter predmeta skupine LDAP ima neusklajene oklepaje" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "Filter uporabniškega objekta LDAP mora imeti en identifikator oblike \"%s\"" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "Filter objekta uporabnika LDAP ima neusklajene oklepaje" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Filter za uporabnike članov LDAP mora imeti en identifikator oblike \"%s\"" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Filter uporabnika člana LDAP ima neusklajene oklepaje" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CACcertifikat, lokacija certifikata ali ključa ni veljavna, vnesite pravilno pot" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Dodajanje novega uporabnika" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Urejanje nastavitev e-poštnega strežnika" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Uspeh! Račun Gmail je potrjen." -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Ups! Napaka podatkovne baze: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Testno e-poštno sporočilo je v čakalni vrsti za pošiljanje na %(email)s naslovov, za rezultat preverite opravila" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Pri pošiljanju testnega e-poštnega sporočila je prišlo do napake: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Najprej nastavite vaš e-poštni naslov..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "Posodobljene nastavitve e-poštnega strežnika" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "Urejanje nastavitev načrtovanih opravil" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "Nepravilen začetni čas za določeno nalogo" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "Nepravilno trajanje za določeno nalogo" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "Posodobljene nastavitve načrtovanih opravil" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ups! Zgodila se je neznana napaka. Prosimo, poskusite znova pozneje." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "DB nastavitev ni mogoče zapisati" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Urejanje uporabnika %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "Uspeh! Ponastavitev gesla za uporabnika %(user)s" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "Ups! Nastavite nastavitve pošte SMTP." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Pregledovalnik dnevniške datoteke" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Zahteva za paket posodobitev" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Prenos paketa posodobitev" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Razpakiranje paketa posodobitev" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Zamenjava datotek" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Povezave do zbirke podatkov so zaprte" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Ustavitev strežnika" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Posodobitev je končana, pritisnite OK in ponovno naložite stran" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Posodobitev ni uspela:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Napaka HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Napaka povezave" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Potek časa pri vzpostavljanju povezave" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Splošna napaka" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "Datoteke posodobitve ni bilo mogoče shraniti v začasno mapo" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "Datotek med posodabljanjem ni bilo mogoče zamenjati" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "Nisem uspel izpisati vsaj enega uporabnika LDAP" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Nisem uspel ustvariti vsaj enega uporabnika LDAP" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Napaka: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Napaka: V odzivu strežnika LDAP ni vrnjenega nobenega uporabnika" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "V podatkovni zbirki ni najden vsaj en uporabnik LDAP" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} Uporabnik je bil uspešno uvožen" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "Pot do knjig ni veljavna" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "Lokacija do DB ni veljavna, vnesite pravilno pot" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "V DB ni mogoče zapisati" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Lokacija datoteka Keyfile ni veljavna, vnesite pravilno pot" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Lokacija datoteke Certfile ni veljavna, vnesite pravilno pot" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "Dolžina gesla mora biti med 1 in 40" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Posodobljene nastavitve zbirke podatkov" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Nastavitev zbirke podatkov" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Ups! Izpolnite vsa polja." -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-pošta ni iz veljavne domene" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Dodajanje novega uporabnika" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Ustvarjen uporabnik '%(user)s'" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Ups! Za to e-pošto že obstaja račun ali ime." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Uporabnik '%(nick)s' je izbrisan" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Ne morem izbrisati uporabnika gosta" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Ni preostalega uporabnika administratorja, uporabnika ni mogoče izbrisati" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "E-pošta ne sme biti prazna in mora biti veljavna." -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Uporabnik '%(nick)s' je posodobljen" @@ -541,114 +560,130 @@ msgstr "Manjkajo dovoljenja za izvajanje" msgid "None" msgstr "Nobeno" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Prenesena datoteka %(file)s" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Manjka izvorni ali ciljni format za pretvorbo" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Knjiga je uspešno dodana v čakalno vrsto za pretvorbo v %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Pri pretvorbi te knjige je prišlo do napake: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Polica je bila uspešno izbrisana" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Ups! Izbrana knjiga ni na voljo. Datoteka ne obstaja ali ni dostopna" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "Uporabnik nima pravice do nalaganja naslovnice" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifikatorji niso občutljivi na velikost črk, prepisovanje starega identifikatorja" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' ni veljaven jezik" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metapodatki so bili uspešno posodobljeni" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "Napaka pri urejanju knjige: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Naložena knjiga verjetno obstaja v knjižnici, preden naložite novo, razmislite o spremembi:" -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "Vrsta datoteke ni dovoljena za nalaganje v ta strežnik" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Datoteke s končnico '%(ext)s' ni dovoljeno naložiti na ta strežnik" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Datoteka, ki jo želite naložiti, mora imeti končnico" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Datoteke %(filename)s ni bilo mogoče shraniti v začasno mapo" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Nisem uspel premakniti naslovne datoteke %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Uspešno izbrisana vrsta knjige" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Knjiga je bila uspešno izbrisana" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "Manjkajo vam dovoljenja za brisanje knjig" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "urejanje metapodatkov" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "Številka serije: %(seriesindex)s ni veljavno število, preskočim" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "Uporabnik nima pravic za nalaganje dodatnih formatov datotek" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Nisem uspel ustvariti poti %(path)s (zavrnjeno dovoljenje)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Nisem uspel shraniti datoteke %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Oblina datotek %(ext)s je dodan v %(book)s" @@ -666,12 +701,12 @@ msgstr "Povratna domena ni preverjena, sledite korakom za preverjanje domene v k msgid "%(format)s format not found for book id: %(book)d" msgstr "Vrsta %(format)s ni najdena za id knjige: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s ni bil najden v storitvi Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s ni najden: %(fn)s" @@ -720,136 +755,142 @@ msgstr "%(book)s pošljite v e-bralnik" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Zahtevane datoteke ni bilo mogoče prebrati. Morda napačna dovoljenja?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "Stanja branja ni bilo mogoče nastaviti: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Brisanje knjižne mape za knjigo %(id)s ni bilo uspešno, pot ima podmape: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Brisanje knjige %(id)s ni bilo uspešno: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Brisanje knjige %(id)s samo iz zbirke podatkov, pot do knjige v zbirki podatkov ni veljavna: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Preimenovanje avtorja iz: '%(src)s' v '%(dest)s' ni bilo uspešno z napako: %(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Preimenovanje avtorja iz: '%(src)s' v '%(dest)s' ni bilo uspešno z napako: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Datoteke %(file)s ni mogoče najti v storitvi Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Preimenovanje naslova iz: '%(src)s' v '%(dest)s' ni bilo uspešno z napako: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Pot do knjige %(path)s ni bila najdena v storitvi Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "Najden obstoječi račun za ta e-poštni naslov" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "To uporabniško ime je že zasedeno" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "Nepravilna oblike e-poštnega naslova" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "Geslo ni v skladu s pravili za preverjanje gesla" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "Modul Python 'advocate' ni nameščen, vendar je potreben za nalaganje naslovnic" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Napaka pri nalaganju naslovnice" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Napaka vrste naslovnice" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "Dostop do lokalnega gostitelja ali lokalnega omrežja za prenos naslovnice ni dovoljen." -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Nisem uspel ustvariti poti za naslovnice" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Datoteka naslovnice ni veljavna slikovna datoteka ali je ni bilo mogoče shraniti" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Za datoteke naslovnic so podprte samo datoteke jpg/jpeg/png/webp/bmp" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "Nepravilna vsebina datoteke z naslovnico" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Samo datoteke jpg/jpeg so podprte kot datoteke naslovnic" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "Naslovnica" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "Binarna datoteka UnRar ni bila najdena" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "Napaka pri izvajanju UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "Ni bilo mogoče najti določenega imenika" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "Navedite imenik in ne datoteke" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "Binarne datoteke Calibre niso izvedljive" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "Manjkajoče binarne datoteke Calibre: %(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Manjkajoča dovoljenja za izvršilni program: %(missing)s" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "Napaka pri izvajanju programa Calibre" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "Vse knjige v vrsti za varnostno kopiranje metapodatkov" @@ -916,6 +957,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Napaka GitHub Oauth, prosimo, poskusite pozneje." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Napaka GitHub Oauth: {}" @@ -924,10 +966,12 @@ msgid "Google Oauth error, please retry later." msgstr "Napaka Google Oauth, poskusite pozneje." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Napaka Google Oauth: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} zvezdic" @@ -1009,7 +1053,7 @@ msgstr "Odkrivanje" msgid "Show Random Books" msgstr "Prikaži naključne knjige" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategorije" @@ -1019,7 +1063,7 @@ msgid "Show Category Section" msgstr "Prikaži oddelek kategorije" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Serije" @@ -1028,7 +1072,7 @@ msgstr "Serije" msgid "Show Series Section" msgstr "Prikaži razdelek serij" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Avtorji" @@ -1037,7 +1081,7 @@ msgstr "Avtorji" msgid "Show Author Section" msgstr "Prikaži razdelek avtorjev" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Založniki" @@ -1046,7 +1090,7 @@ msgstr "Založniki" msgid "Show Publisher Section" msgstr "Prikaži razdelek založnikov" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1273,7 +1317,7 @@ msgstr "Nepričakovani podatki med branjem informacij o posodobitvi" msgid "No update available. You already have the latest version installed" msgstr "Posodobitev ni na voljo. Najnovejšo različico že imate nameščeno" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Na voljo je nova posodobitev. Klikni spodnji gumb za posodobitev na najnovejšo različico." @@ -1281,7 +1325,7 @@ msgstr "Na voljo je nova posodobitev. Klikni spodnji gumb za posodobitev na najn msgid "Could not fetch update information" msgstr "Ni bilo mogoče pridobiti informacij o posodobitvi" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Klikni spodnji gumb za posodobitev na najnovejšo stabilno različico." @@ -1492,7 +1536,7 @@ msgstr "Pretvornik e-knjig ni uspel z neznano napako" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-converter ni uspel: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Pretvorjena datoteka ni bila najdena ali je v mapi %(folder)s več kot ena datoteka" @@ -1534,6 +1578,7 @@ msgid "Cover Thumbnails" msgstr "Sličicah naslovnice" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "Ustvarjene sličice serije {0}" @@ -1585,15 +1630,15 @@ msgstr "Prenesi" msgid "View Books" msgstr "Oglejte si knjige" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Uredi" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Izbriši" @@ -1786,7 +1831,10 @@ msgid "OK" msgstr "V redu" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2076,125 +2124,205 @@ msgstr "Napaka pri iskanju!" msgid "No Result(s) found! Please try another keyword." msgstr "Ni najden noben rezultat! Poskusite z drugo ključno besedo." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "To polje je obvezno" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Združevanje izbranih knjig" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Združevanje izbranih knjig" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Združevanje izbranih knjig" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Združevanje izbranih knjig" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Združevanje izbranih knjig" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Odstranjevanje izbire" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Združevanje izbranih knjig" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Zamenjava avtorja in naslova" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Samodejna posodobitev razvrščanja po naslovu" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Samodejna posodobitev razvrščanja po avtorju" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Vnesi naslov" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Naslov" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Vnesi razvrščanje naslovov" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Razvrščanje naslovov" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Vnesi razvrščanje avtorjev" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Razvrščanje avtorjev" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Vnesi avtorja" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Vnesi kategorijo" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Vnesi serijo" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Številka serije" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Vnesi jezike" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Datum objave" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Vnesi založnike" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Vnesi komentarje" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Komentarji" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "Stanje arhiva" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Preberi stanje" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Vnesi " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Združevanje izbranih knjig" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Ste res prepričani?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Knjige z naslovom bodo združene iz:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "V knjigo z naslovom:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Združitev" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "Arhiv" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Arhiv" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Označi kot prebrano" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Označi kot neprebrano" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Urejanje metapodatkov" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Lokacija podatkovne zbirke Calibre" @@ -2687,10 +2815,6 @@ msgstr "Dodaj v arhiv" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "Označi knjigo kot arhivirano ali ne, da se skrije v Calibre-Web in izbriše iz Kobo bralnika" -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "Arhiv" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2703,10 +2827,6 @@ msgstr "Dodaj na polico" msgid "(Public)" msgstr "(Javno)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Urejanje metapodatkov" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Vrsta e-poštnega računa" diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo index 06e9a5418..5da092c64 100644 Binary files a/cps/translations/sv/LC_MESSAGES/messages.mo and b/cps/translations/sv/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/sv/LC_MESSAGES/messages.po b/cps/translations/sv/LC_MESSAGES/messages.po index cce1f41a7..47d39fe23 100644 --- a/cps/translations/sv/LC_MESSAGES/messages.po +++ b/cps/translations/sv/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2021-05-13 11:00+0000\n" "Last-Translator: Jonatan Nyberg \n" "Language: sv\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -45,8 +45,8 @@ msgstr "Okänt kommando" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "Testa e-post i kö för att skicka till %(email)s, vänligen kontrollera Uppgifter för resultat" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Okänd" @@ -63,7 +63,7 @@ msgstr "Grundläggande konfiguration" msgid "UI Configuration" msgstr "Användargränssnitt konfiguration" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,453 +78,472 @@ msgstr "Redigera användare" msgid "All" msgstr "Alla" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Användaren hittades inte" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} användare har tagits bort" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Visa alla" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Felaktig begäran" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Gästnamn kan inte ändras" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Gäst kan inte ha den här rollen" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Ingen administratörsanvändare kvar, kan inte ta bort administratörsrollen" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Värdet måste vara sant eller falskt" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Ogiltig roll" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Gästen kan inte ha den här vyn" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "Ogiltig vy" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Gästens språk bestäms automatiskt och kan inte ställas in" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Inget giltigt språk anges" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Inget giltigt bokspråk anges" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Parameter hittades inte" -#: cps/admin.py:578 +#: cps/admin.py:577 #, fuzzy msgid "Invalid Read Column" msgstr "Ogiltig roll" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web konfiguration uppdaterad" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Vill du verkligen ta bort Kobo-token?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Vill du verkligen ta bort den här domänen?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Vill du verkligen ta bort den här användaren?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Vill du verkligen ta bort den här domänen?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Är du säker på att du vill ta bort hyllan?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Är du säker på att du vill ändra språk för valda användare?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Är du säker på att du vill ändra synliga bokspråk för valda användare?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Är du säker på att du vill ändra den valda rollen för de valda användarna?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Är du säker på att du vill ändra de valda begränsningarna för de valda användarna?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Är du säker på att du vill ändra de valda begränsningarna för de valda användarna?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Är du säker på att du vill ändra de valda begränsningarna för de valda användarna?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Är du säker på att du vill ändra de valda synlighetsbegränsningarna för de valda användarna?" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Är du säker på att du vill ändra den valda rollen för de valda användarna?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Är du säker på att du vill stoppa Calibre-Web?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Förneka" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Tillåt" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Taggen hittades inte" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Ogiltig åtgärd" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json är inte konfigurerad för webbapplikation" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Loggfilens plats är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "Åtkomstloggplatsens plats är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "Vänligen ange en LDAP-leverantör, port, DN och användarobjektidentifierare" -#: cps/admin.py:1223 +#: cps/admin.py:1228 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Ange giltigt användarnamn för att återställa lösenordet" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP-gruppobjektfilter måste ha en \"%s\"-formatidentifierare" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP-gruppobjektfilter har omatchande parentes" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP-användarobjektfilter måste ha en \"%s\"-formatidentifierare" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP-användarobjektfilter har omatchad parentes" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "Användarfilter för LDAP-medlemmar måste ha en \"%s\"-formatidentifierare" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "Användarfilter för LDAP-medlemmar har omatchad parentes" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP-certifikat, certifikat eller nyckelplats är inte giltigt, vänligen ange rätt sökväg" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Lägg till ny användare" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Ändra SMTP-inställningar" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Databasfel: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "Testa e-post i kö för att skicka till %(email)s, vänligen kontrollera Uppgifter för resultat" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Det gick inte att skicka Testmeddelandet: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Vänligen konfigurera din e-postadress först..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "E-postserverinställningar uppdaterade" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Ett okänt fel uppstod. Försök igen senare." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Redigera användaren %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "Lösenord för användaren %(user)s återställd" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Konfigurera SMTP-postinställningarna först..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Visaren för loggfil" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Begär uppdateringspaketet" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Hämtar uppdateringspaketet" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Packar upp uppdateringspaketet" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Ersätta filer" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Databasanslutningarna är stängda" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Stoppar server" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Uppdatering klar, tryck på okej och uppdatera sidan" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Uppdateringen misslyckades:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP-fel" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Anslutningsfel" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Tiden ute när du etablerade anslutning" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Allmänt fel" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "Uppdateringsfilen kunde inte sparas i Temp Dir" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 #, fuzzy msgid "Failed to extract at least One LDAP User" msgstr "Det gick inte att skapa minst en LDAP-användare" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "Det gick inte att skapa minst en LDAP-användare" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "Fel: %(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "Fel: Ingen användare återges som svar på LDAP-servern" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "Minst en LDAP-användare hittades inte i databasen" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} användare har importerats" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "DB-plats är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "DB är inte skrivbar" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "Keyfile-platsen är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "Certfile-platsen är inte giltig, vänligen ange rätt sökväg" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "E-postserverinställningar uppdaterade" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Funktion konfiguration" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Fyll i alla fält!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-posten är inte från giltig domän" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Lägg till ny användare" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Användaren '%(user)s' skapad" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Hittade ett befintligt konto för den här e-postadressen eller namnet." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Användaren '%(nick)s' borttagen" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Det går inte att ta bort gästanvändaren" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Ingen adminstratörsanvändare kvar, kan inte ta bort användaren" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Användaren '%(nick)s' uppdaterad" @@ -553,115 +572,131 @@ msgstr "Körningstillstånd saknas" msgid "None" msgstr "Ingen" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "Filen %(file)s uppladdad" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Källa eller målformat för konvertering saknas" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Boken är i kö för konvertering till %(book_format)s" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Det gick inte att konvertera den här boken: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Boken har tagits bort" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Hoppsan! Vald boktitel är inte tillgänglig. Filen finns inte eller är inte tillgänglig" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "Identifierare är inte skiftlägeskänsliga, skriver över gammal identifierare" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s är inte ett giltigt språk" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadata uppdaterades" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Uppladdad bok finns förmodligen i biblioteket, överväg att ändra innan du laddar upp nya: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "Filändelsen '%(ext)s' får inte laddas upp till den här servern" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Filändelsen '%(ext)s' får inte laddas upp till den här servern" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Filen som ska laddas upp måste ha en ändelse" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "Filen %(filename)s kunde inte sparas i temp dir" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "Det gick inte att flytta omslagsfil %(file)s: %(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "Bokformat har tagits bort" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "Boken har tagits bort" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "redigera metadata" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Det gick inte att skapa sökväg %(path)s (behörighet nekad)." -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Det gick inte att lagra filen %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Filformatet %(ext)s lades till %(book)s" @@ -679,12 +714,12 @@ msgstr "Återuppringningsdomänen är inte verifierad, följ stegen för att ver msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formatet hittades inte för bok-id: %(book)d" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s hittades inte på Google Drive: %(fn)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s hittades inte: %(fn)s" @@ -737,141 +772,147 @@ msgstr "Skicka till Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Den begärda filen kunde inte läsas. Kanske fel behörigheter?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Borttagning av bokmapp för boken %(id)s misslyckades, sökvägen har undermappar: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Borttagning av boken %(id)s misslyckades: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, fuzzy, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "Borttagning av boken %(id)s, boksökväg inte giltig: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Byt namn på titel från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Byt namn på titel från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Filen %(file)s hittades inte på Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Byt namn på titel från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Boksökvägen %(path)s hittades inte på Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Detta användarnamn är redan taget" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Ogiltigt e-postadressformat" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Fel vid hämtning av omslaget" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Fel på omslagsformat" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Det gick inte att skapa sökväg för omslag" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "Omslagsfilen är inte en giltig bildfil eller kunde inte lagras" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "Endast jpg/jpeg/png/webp/bmp-filer stöds som omslagsfil" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "Endast jpg/jpeg-filer stöds som omslagsfil" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Upptäck" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "UnRar binär fil hittades inte" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "Fel vid körning av UnRar" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "DB är inte skrivbar" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "Körningstillstånd saknas" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "Fel vid körning av UnRar" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -939,6 +980,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth-fel, försök igen senare." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "GitHub Oauth-fel: {}" @@ -947,10 +989,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth-fel, försök igen senare." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google Oauth-fel: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} stjärnor" @@ -1033,7 +1077,7 @@ msgstr "Upptäck" msgid "Show Random Books" msgstr "Visa slumpmässiga böcker" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategorier" @@ -1044,7 +1088,7 @@ msgid "Show Category Section" msgstr "Visa kategorival" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Serier" @@ -1054,7 +1098,7 @@ msgstr "Serier" msgid "Show Series Section" msgstr "Visa serieval" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Författare" @@ -1064,7 +1108,7 @@ msgstr "Författare" msgid "Show Author Section" msgstr "Visa författarval" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Förlag" @@ -1074,7 +1118,7 @@ msgstr "Förlag" msgid "Show Publisher Section" msgstr "Visa urval av förlag" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1308,7 +1352,7 @@ msgstr "Oväntade data vid läsning av uppdateringsinformation" msgid "No update available. You already have the latest version installed" msgstr "Ingen uppdatering tillgänglig. Du har redan den senaste versionen installerad" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "En ny uppdatering är tillgänglig. Klicka på knappen nedan för att uppdatera till den senaste versionen." @@ -1316,7 +1360,7 @@ msgstr "En ny uppdatering är tillgänglig. Klicka på knappen nedan för att up msgid "Could not fetch update information" msgstr "Kunde inte hämta uppdateringsinformation" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Klicka på knappen nedan för att uppdatera till den senaste stabila versionen." @@ -1536,7 +1580,7 @@ msgstr "E-bokkonverteraren misslyckades med okänt fel" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify-konverteraren misslyckades: %(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "Konverterad fil hittades inte eller mer än en fil i mappen %(folder)s" @@ -1579,6 +1623,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1631,15 +1676,15 @@ msgstr "Hämta" msgid "View Books" msgstr "Visa e-böcker" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Redigera" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Ta bort" @@ -1834,7 +1879,10 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2125,127 +2173,208 @@ msgstr "Sökningsfel!" msgid "No Result(s) found! Please try another keyword." msgstr "Inga resultat hittades! Försök med ett annat sökord." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Detta fält är obligatoriskt" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Slå ihop utvalda böcker" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Slå ihop utvalda böcker" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Slå ihop utvalda böcker" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Slå ihop utvalda böcker" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Slå ihop utvalda böcker" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Ta bort markeringar" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Slå ihop utvalda böcker" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Uppdatera titelsortering automatiskt" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Uppdatera författarsortering automatiskt" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Ange titel" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Titel" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Ange titelsortering" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Titelsortering" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Ange författarsortering" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Författarsortering" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Ange författare" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Ange kategorier" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Ange serier" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Serieindex" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Ange språk" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Publiceringsdatum" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Ange utgivare" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Ange domännamn" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Lässtatus" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Identifierare" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Slå ihop utvalda böcker" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Är du verkligen säker?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "Böcker med titel slås samman från:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "I bok med titel:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Slå samman" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Arkiverad" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Arkiverad" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Markera som läst" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Markera som oläst" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Redigera metadata" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Plats för Calibre-databasen" @@ -2746,11 +2875,6 @@ msgstr "Lägg till i arkivet" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Arkiverad" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2763,10 +2887,6 @@ msgstr "Lägg till hyllan" msgid "(Public)" msgstr "(Publik)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Redigera metadata" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Välj servertyp" diff --git a/cps/translations/tr/LC_MESSAGES/messages.mo b/cps/translations/tr/LC_MESSAGES/messages.mo index fe39c3b23..e7c9f6185 100644 Binary files a/cps/translations/tr/LC_MESSAGES/messages.mo and b/cps/translations/tr/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/tr/LC_MESSAGES/messages.po b/cps/translations/tr/LC_MESSAGES/messages.po index 48928ed1a..a8a9986f8 100644 --- a/cps/translations/tr/LC_MESSAGES/messages.po +++ b/cps/translations/tr/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2020-04-23 22:47+0300\n" "Last-Translator: iz \n" "Language: tr\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -45,8 +45,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "%(eReadermail)s'a gönderilmek üzere başarıyla sıraya alındı" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Bilinmeyen" @@ -63,7 +63,7 @@ msgstr "Temel Ayarlar" msgid "UI Configuration" msgstr "Arayüz Ayarları" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,450 +78,466 @@ msgstr "" msgid "All" msgstr "Tümü" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web yapılandırması güncellendi" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +msgid "Do you really want to delete this book?" +msgstr "" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 -msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" +#: cps/admin.py:631 +msgid "Are you sure you want to change the archive status for the selected book(s)?" msgstr "" -#: cps/admin.py:632 -msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" +#: cps/admin.py:633 +msgid "Are you sure you want to change the read status for the selected book(s)?" msgstr "" #: cps/admin.py:635 -msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" +msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "" #: cps/admin.py:637 -msgid "Are you sure you want to change Calibre library location?" +msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:639 -msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" +#: cps/admin.py:640 +msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "" #: cps/admin.py:642 +msgid "Are you sure you want to change Calibre library location?" +msgstr "" + +#: cps/admin.py:644 +msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" +msgstr "" + +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1228 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "Şifrenizi sıfırlayabilmek için lütfen geçerli bir kullanıcı adı giriniz" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Deneme e-postası gönderilirken bir hata oluştu: %(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "Lütfen önce e-posta adresinizi ayarlayın..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "E-posta sunucusu ayarları güncellendi" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Bilinmeyen bir hata oluştu. Lütfen daha sonra tekrar deneyiniz." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "%(nick)s kullanıcısını düzenle" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "%(user)s kullanıcısının şifresi sıfırlandı" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Lütfen önce SMTP e-posta ayarlarını ayarlayın..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "Log dosyası görüntüleyici" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Güncelleme paketi isteniyor" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Güncelleme paketi indiriliyor" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Güncelleme paketi ayıklanıyor" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Dosyalar değiştiriliyor" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Veritabanı bağlantıları kapalı" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Sunucu durduruyor" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Güncelleme tamamlandı, sayfayı yenilemek için lütfen Tamam'a tıklayınız" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Güncelleme başarısız:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP Hatası" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Bağlantı hatası" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "Bağlantı kurulmaya çalışırken zaman aşımına uğradı" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Genel hata" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "%(filename)s dosyası geçici dizine kaydedilemedi" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "E-posta sunucusu ayarları güncellendi" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Özellik Yapılandırması" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Lütfen tüm alanları doldurun!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "E-posta izin verilen bir servisten değil" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Yeni kullanıcı ekle" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "'%(user)s' kullanıcısı oluşturuldu" -#: cps/admin.py:1972 +#: cps/admin.py:1977 #, fuzzy msgid "Oops! An account already exists for this Email. or name." msgstr "Bu e-posta adresi veya kullanıcı adı için zaten bir hesap var." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Kullanıcı '%(nick)s' silindi" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "Başka yönetici kullanıcı olmadığından silinemedi" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "'%(nick)s' kullanıcısı güncellendi" @@ -550,115 +566,131 @@ msgstr "" msgid "None" msgstr "Hiçbiri" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "%(file)s dosyası yüklendi" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Dönüştürme için kaynak ya da hedef biçimi eksik" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "eKitap %(book_format)s formatlarına dönüştürülmek üzere başarıyla sıraya alındı" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Bu eKitabı dönüştürürken bir hata oluştu: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Metaveri başarıyla güncellendi" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s geçerli bir dil değil" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metaveri başarıyla güncellendi" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "Yüklenen eKitap muhtemelen kitaplıkta zaten var. Yenisini yüklemeden değiştirmeyi düşünün: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "'%(ext)s' uzantılı dosyaların bu sunucuya yüklenmesine izin verilmiyor" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "'%(ext)s' uzantılı dosyaların bu sunucuya yüklenmesine izin verilmiyor" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Yüklenecek dosyanın mutlaka bir uzantısı olması gerekli" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "%(filename)s dosyası geçici dizine kaydedilemedi" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "metaveri düzenle" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "%(path)s dizini oluşturulamadı. (İzin reddedildi)" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "%(file)s dosyası kaydedilemedi." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "%(book)s kitabına %(ext)s dosya biçimi eklendi" @@ -676,12 +708,12 @@ msgstr "Geri yönlendirme alanı (callback domain) doğrulanamadı, lütfen Goog msgid "%(format)s format not found for book id: %(book)d" msgstr "%(book)d nolu kitap için %(format)s biçimi bulunamadı" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(fn)s eKitabı için %(format)s biçimi Google Drive'da bulunamadı" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s bulunamadı: %(fn)s" @@ -734,137 +766,143 @@ msgstr "Kindle'a gönder" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "İstenilen dosya okunamadı. Yanlış izinlerden kaynaklanabilir?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "Kitap adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Kitap adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "%(file)s dosyası Google Drive'da bulunamadı" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Kitap adını değiştirme sırasında hata oluştu ('%(src)s' → '%(dest)s'): %(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "eKitap yolu %(path)s Google Drive'da bulunamadı" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Bu kullanıcı adı zaten alındı" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Keşfet" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -931,6 +969,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth hatası, lütfen tekrar deneyin." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -939,10 +978,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth hatası, lütfen tekrar deneyin." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "" @@ -1025,7 +1066,7 @@ msgstr "Keşfet" msgid "Show Random Books" msgstr "Rastgele Kitap Göster" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Kategoriler" @@ -1036,7 +1077,7 @@ msgid "Show Category Section" msgstr "Kategori seçimini göster" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Seriler" @@ -1046,7 +1087,7 @@ msgstr "Seriler" msgid "Show Series Section" msgstr "Seri seçimini göster" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Yazarlar" @@ -1056,7 +1097,7 @@ msgstr "Yazarlar" msgid "Show Author Section" msgstr "Yazar seçimini göster" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Yayıncılar" @@ -1066,7 +1107,7 @@ msgstr "Yayıncılar" msgid "Show Publisher Section" msgstr "Yayıncı seçimini göster" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1300,7 +1341,7 @@ msgstr "Güncelleme bilgileri okunurken beklenmeyen veri" msgid "No update available. You already have the latest version installed" msgstr "Yeni güncelleme mevcut değil. Zaten en son sürüme sahipsiniz." -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "Yeni bir güncelleme mevcut. Son sürüme güncellemek için aşağıdaki düğmeye tıklayın." @@ -1308,7 +1349,7 @@ msgstr "Yeni bir güncelleme mevcut. Son sürüme güncellemek için aşağıdak msgid "Could not fetch update information" msgstr "Güncelleme bilgileri alınamadı" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "Son kararlı sürüme güncellemek için aşağıdaki düğmeye tıklayın." @@ -1528,7 +1569,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" @@ -1571,6 +1612,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1623,15 +1665,15 @@ msgstr "İndirme" msgid "View Books" msgstr "" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Düzenleme" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Sil" @@ -1825,7 +1867,10 @@ msgid "OK" msgstr "" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2116,127 +2161,207 @@ msgstr "Arama hatası!" msgid "No Result(s) found! Please try another keyword." msgstr "" -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Son eKitapları göster" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Son eKitapları göster" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Okunmadı olarak işaretle" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Okunmadı olarak işaretle" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +msgid "Clear selections" msgstr "" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "eKitabı Sil" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Başlık" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "Servis adı girin" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Kayıt ol" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "eKitabı Sil" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Emin misiniz?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Ara" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Ara" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Okundu olarak işaretle" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Okunmadı olarak işaretle" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "" @@ -2734,11 +2859,6 @@ msgstr "" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Ara" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2751,10 +2871,6 @@ msgstr "Kitaplığa ekle" msgid "(Public)" msgstr "" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo index b2727d071..221c9cdc9 100644 Binary files a/cps/translations/uk/LC_MESSAGES/messages.mo and b/cps/translations/uk/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/uk/LC_MESSAGES/messages.po b/cps/translations/uk/LC_MESSAGES/messages.po index 76984e782..852efb424 100644 --- a/cps/translations/uk/LC_MESSAGES/messages.po +++ b/cps/translations/uk/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2017-04-30 00:47+0300\n" "Last-Translator: ABIS Team \n" "Language: uk\n" @@ -15,7 +15,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -43,8 +43,8 @@ msgstr "Невідома команда" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Невідомий" @@ -61,7 +61,7 @@ msgstr "Настройки сервера" msgid "UI Configuration" msgstr "Конфігурація інтерфейсу" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -77,451 +77,470 @@ msgstr "Керування сервером" msgid "All" msgstr "Всі" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Користувача не знайдено" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} користувачі видалені успішно" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Показати всі" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Не правильна роль" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Ви справді хочете видалити книжкову полицю?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:624 +#: cps/admin.py:625 #, fuzzy msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Ви справді хочете видалити книжкову полицю?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Ви справді хочете видалити книжкову полицю?" + +#: cps/admin.py:635 #, fuzzy msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:635 +#: cps/admin.py:640 #, fuzzy msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:637 +#: cps/admin.py:642 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "Ви справді хочете видалити книжкову полицю?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Заборонити" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Дозволити" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Тег не знайдено" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "Змінити налаштування SMTP" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Змінити користувача %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP" -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "Перевірка оновлень" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "Завантаження оновлень" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Розпакування оновлення" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "Заміна файлів" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "З'єднання з базою даних закрите" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Сервер зупиняється" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Оновлення встановлені, натисніть ok і перезавантажте сторінку" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Оновлення неуспішне:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP помилка" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Помилка зʼєднання" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Помилка" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "З'єднання з базою даних закрите" -#: cps/admin.py:1925 +#: cps/admin.py:1930 #, fuzzy msgid "Database Configuration" msgstr "Особливі налаштування" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Будь-ласка, заповніть всі поля!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Додати користувача" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Користувач '%(user)s' додан" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Користувача '%(nick)s' видалено" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Користувача '%(nick)s' оновлено" @@ -550,114 +569,129 @@ msgstr "" msgid "None" msgstr "Ні" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +msgid "Changes successfully applied" +msgstr "" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу." -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "Завантажувальний файл повинен мати розширення" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "змінити метадані" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -675,12 +709,12 @@ msgstr "Домен зворотнього зв'язку не підтвердж msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" @@ -730,137 +764,143 @@ msgstr "Відправити на Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Огляд" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -927,6 +967,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "" #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -935,10 +976,12 @@ msgid "Google Oauth error, please retry later." msgstr "" #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} зірок" @@ -1021,7 +1064,7 @@ msgstr "Огляд" msgid "Show Random Books" msgstr "Показувати випадкові книги" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Категорії" @@ -1032,7 +1075,7 @@ msgid "Show Category Section" msgstr "Показувати вибір категорії" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Серії" @@ -1042,7 +1085,7 @@ msgstr "Серії" msgid "Show Series Section" msgstr "Показувати вибір серії" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Автори" @@ -1052,7 +1095,7 @@ msgstr "Автори" msgid "Show Author Section" msgstr "Показувати вибір автора" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Видавництва" @@ -1062,7 +1105,7 @@ msgstr "Видавництва" msgid "Show Publisher Section" msgstr "Показувати вибір серії" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1295,7 +1338,7 @@ msgstr "" msgid "No update available. You already have the latest version installed" msgstr "" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "" @@ -1303,7 +1346,7 @@ msgstr "" msgid "Could not fetch update information" msgstr "" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "" @@ -1518,7 +1561,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" @@ -1561,6 +1604,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1613,15 +1657,15 @@ msgstr "Завантажити" msgid "View Books" msgstr "" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Редагувати" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Видалити" @@ -1815,7 +1859,10 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2106,126 +2153,207 @@ msgstr "Помилка пошуку!" msgid "No Result(s) found! Please try another keyword." msgstr "" -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Архівні книжки" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Архівні книжки" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Відмітити як не прочитане" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Відмітити як не прочитане" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" -msgstr "" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" +msgstr "Дії" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Видалити книгу" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Заголовок" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Дата публікації" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Введіть коментар" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Коментарі" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "Зареєструватись" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Видалити книгу" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Обʼєднати" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Заархівовано" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Заархівовано" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Відмітити як прочитане" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Відмітити як не прочитане" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Редагувати метадані" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Розташування БД Calibre" @@ -2723,11 +2851,6 @@ msgstr "Додати в архів" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Заархівовано" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2740,10 +2863,6 @@ msgstr "Додати на книжкову полицю" msgid "(Public)" msgstr "(Публічно)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Редагувати метадані" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "" diff --git a/cps/translations/vi/LC_MESSAGES/messages.mo b/cps/translations/vi/LC_MESSAGES/messages.mo index 8c98776b6..51e995297 100644 Binary files a/cps/translations/vi/LC_MESSAGES/messages.mo and b/cps/translations/vi/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/vi/LC_MESSAGES/messages.po b/cps/translations/vi/LC_MESSAGES/messages.po index ca5bce643..706eef931 100644 --- a/cps/translations/vi/LC_MESSAGES/messages.po +++ b/cps/translations/vi/LC_MESSAGES/messages.po @@ -4,7 +4,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/calibre-web\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2022-09-20 21:36+0700\n" "Last-Translator: Ha Link \n" "Language: vi\n" @@ -13,7 +13,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -41,8 +41,8 @@ msgstr "Lệnh không tồn tại" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "Không rõ" @@ -59,7 +59,7 @@ msgstr "Thiết lập cơ bản" msgid "UI Configuration" msgstr "Thiết lập UI" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -74,445 +74,464 @@ msgstr "Chỉnh sửa người dùng" msgid "All" msgstr "Tất cả" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "Không tìm thấy user" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "{} người dung đã đươc xoá thành công" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "Hiển thị tất cả" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "Yêu cầu không đúng định dạng" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "Tên người dung khách không thể thay đổi" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "Khách không thể mang vai trò này" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "Không còn người dùng quản trị, không thể xoá vai trò admin" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "Giá trị phải là true hoặc false" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "Vai trò không hợp lệ" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "Tài khoản khách không có màn hình này" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "View không hợp lệ" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "Ngôn ngữ của khách được xác định tự động và không thể đặt được" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "Địa chỉ cung cấp không hợp lệ" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "Ngôn ngữ sách không hợp lệ" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "Tham số không tồn tại" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "Cột đọc không hợp lệ" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "Cột bị hạn chế không hợp lệ" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Thiết lập Calibre-Web đã cập nhật" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "Bạn có thực sự muốn xóa Kobo Token không?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "Bạn có thực sự muốn xóa miền này không?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "Bạn có thực sự muốn xóa người dùng này không?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "Bạn có thực sự muốn xóa miền này không?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "Bạn có chắc chắn muốn xóa giá này không?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi ngôn ngữ của những người dùng đã chọn?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi ngôn ngữ sách hiển thị cho (những) người dùng đã chọn không?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi vai trò đã chọn cho (những) người dùng đã chọn không?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "Bạn có chắc chắn muốn thay đổi những giới hạn đã chọn cho người dung?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "Bạn có chắc chắn muốn thay đổi những giới hạn đã chọn cho người dung?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi những giới hạn đã chọn cho người dung?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi các giới hạn hiển thị đã chọn cho (những) người dùng đã chọn không?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "Bạn có chắc chắn muốn thay đổi hành vi đồng bộ hóa giá cho (những) người dùng đã chọn không?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "Bạn có chắc chắn muốn thay đổi vị trí thư viện Calibre không?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "Bạn có chắc chắn muốn xóa cơ sở dữ liệu đồng bộ của Calibre-Web để bắt buộc đồng bộ hóa hoàn toàn với Kobo Reader của mình không?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "Từ chối" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "Cho phép" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} mục nhập đồng bộ hóa đã bị xóa" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "Tag không tồn tại" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "Hành động không hợp lệ" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "Vị trí tệp nhật ký không hợp lệ, vui lòng nhập đường dẫn chính xác" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "Thêm người dùng mới" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "Lỗi cơ sở dữ liệu: %(error)s." -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 #, fuzzy msgid "Scheduled tasks settings updated" msgstr "Thiết lập cơ sở dữ lieu đã được cập nhật" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "Lỗi không xác định xảy ra. Xin hãy thử lại sau." -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "Chỉnh sửa người dùng %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "" -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "Đang giải nén tệp cập nhật" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "They thế tập tin" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "Liên kết cơ sở dữ liệu đã được đóng" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "Đang dừng server" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "Cập nhật hoàn tất, ấn okay và tải lại trang" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "Cập nhật thất bại:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "Lỗi HTTP" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "Lỗi kết nối" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "Lỗi chung" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "File cập nhật không thể được lưu trong thư mục tạm thời" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "Thiết lập cơ sở dữ lieu đã được cập nhật" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "Thiết lập cơ sở dữ lieu :)))" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "Hãy điền hết các trường!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "Địa chỉ email không hợp lệ" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "Thêm người dùng mới" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "Người dùng '%(user)s' đã được tạo" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "Người dùng với địa chỉ email hoặc tên đã tồn tại." -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "Người dùng '%(nick)s' đã bị xoá" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "Không thể xoá người dùng khách" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "Người dùng '%(nick)s' đã được cập nhật" @@ -541,114 +560,130 @@ msgstr "" msgid "None" msgstr "None" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "File %(file)s đã được tải lên" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "Thiếu định dạng nguồn hoặc đích để convert" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Có lỗi xảy ra khi chuyển đổi định dạng cho sach: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "Metadata đã được cập nhật thành công" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s không phải là ngôn ngữ hợp lệ" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "Metadata đã được cập nhật thành công" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "Lưu file thất bại %(file)s." -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -666,12 +701,12 @@ msgstr "" msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s không tìm thấy: %(fn)s" @@ -724,138 +759,144 @@ msgstr "%(book)s gửi tới Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "File được yêu cầu không thể đọc. Có thể do phân quyền bị sai?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "Xoá thư mục cho sách %(id)s thất bại, đường dẫn có subfolders: %(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "Xoá sách %(id)s thất bại: %(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "File %(file)s không tìm thấy trẻn Google Drive" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Không tìm thấy được dẫn sách %(path)s trên Google Drive" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "Username này đã bị sử dụng" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "Định dạng email address không hợp lệ" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "Lỗi tải xuống ảnh bìa" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "Định dạng ảnh bìa lỗi" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "Tạo đường dẫn cho ảnh bìa thất bại" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "Khám phá" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -922,6 +963,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "Oauth Github lỗi, xin thử lại sau." #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "Github Oauth lỗi: {}" @@ -930,10 +972,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth lỗi, làm ơn thử lại sau." #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google Oauth lỗi: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} sao" @@ -1016,7 +1060,7 @@ msgstr "Khám phá" msgid "Show Random Books" msgstr "Hiển thị sách ngẫu nhiên" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "Chủ đề" @@ -1027,7 +1071,7 @@ msgid "Show Category Section" msgstr "Hiển thị chọn chủ đề" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "Series" @@ -1037,7 +1081,7 @@ msgstr "Series" msgid "Show Series Section" msgstr "Hiển thị chọn series" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "Tác giả" @@ -1047,7 +1091,7 @@ msgstr "Tác giả" msgid "Show Author Section" msgstr "Hiển thị chọn tác giả" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "Nhà phát hành" @@ -1057,7 +1101,7 @@ msgstr "Nhà phát hành" msgid "Show Publisher Section" msgstr "Hiển thị chọn nhà phát hành" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1289,7 +1333,7 @@ msgstr "" msgid "No update available. You already have the latest version installed" msgstr "" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "" @@ -1297,7 +1341,7 @@ msgstr "" msgid "Could not fetch update information" msgstr "" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "" @@ -1514,7 +1558,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" @@ -1559,6 +1603,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1611,15 +1656,15 @@ msgstr "Tải xuống" msgid "View Books" msgstr "Xem sách" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "Chỉnh sửa" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "Xoá" @@ -1815,7 +1860,10 @@ msgid "OK" msgstr "Ok" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2105,125 +2153,206 @@ msgstr "Tìm kiếm lỗi!" msgid "No Result(s) found! Please try another keyword." msgstr "Không tìm thấy kết quả! Hãy thử lại với từ khoá khác." -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "Đây là trường bắt buộc" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "Gộp những sách đã chọn" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "Gộp những sách đã chọn" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "Gộp những sách đã chọn" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "Gộp những sách đã chọn" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "Gộp những sách đã chọn" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "Bỏ chọn" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "Gộp những sách đã chọn" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "Đổi tác giả và tên sách" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "Cập nhật sắp xếp theo tên tự động" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "Cập nhật sắp xếp theo tác giả tự động" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "Nhập tên sách" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "Tên" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "Nhập tên sách để sắp xếp" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "Tên sắp xếp" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "Nhập tác giả sắp xếp" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "Tên tác giả sắp xếp" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "Nhập tên tác giả" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "Nhập thể loại" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "Nhập tên series" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "Chỉ số series" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "Nhập ngôn ngữ" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "Ngày phát hành" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "Nhập tên nhà phát hành" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "Nhập nhận xét" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "Nhận xét" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" msgstr "Read status" -#: 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "Nhập " -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "Gộp những sách đã chọn" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "Bạn có thực sự chắc chắn?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "Trộn" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "Lưu trữ" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "Lưu trữ" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "Đánh dấu đã đọc" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "Đánh dấu chưa đọc" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "Chỉnh sửa Metadata" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Vị trí cơ sở dữ liệu của Calibre" @@ -2719,11 +2848,6 @@ msgstr "Thêm vào lưu trữ" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "Lưu trữ" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2736,10 +2860,6 @@ msgstr "Thêm vào giá sách" msgid "(Public)" msgstr "(Công khai)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "Chỉnh sửa Metadata" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "Chọn kiểu server" diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index a541d0311..cccca43f1 100644 Binary files a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo and b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po index 1b385ed4c..b6cf376cb 100644 --- a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po +++ b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2024-11-21 22:04+0800\n" "Last-Translator: qx100\n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -42,8 +42,8 @@ msgstr "未知命令" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "成功!书籍已排队进行元数据备份,请检查任务列表以获取结果" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "未知" @@ -60,7 +60,7 @@ msgstr "基本配置" msgid "UI Configuration" msgstr "界面配置" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -75,444 +75,463 @@ msgstr "管理用户" msgid "All" msgstr "全部" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "找不到用户" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "成功删除 {} 个用户" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "显示全部" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "格式错误的请求" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "访客名称无法更改" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "访客无法拥有此角色" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "没有其余管理员账户,无法删除管理员角色" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "值必须为 true 或 false" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "无效角色" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "访客无法查看此页面" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "无效页面" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "无法设置访客的本地化,该项设置的值将自动检测" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "无可用本地化" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "无有效书籍语言" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "参数未找到" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "无效的阅读栏目" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "无效的限制栏目" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web 配置已更新" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "您确定删除 Kobo 令牌吗?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "您确定要删除此域吗?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "您确定要删除此用户吗?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "您确定要删除此域吗?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "您确定要删除此书架吗?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "您确定要修改选定用户的本地化设置吗?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "您确定要修改选定用户的可见书籍语言吗?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "您确定要修改选定用户的选定角色吗?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "您确定要修改选定用户的选定限制吗?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "您确定要修改选定用户的选定限制吗?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "您确定要修改选定用户的选定限制吗?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "您确定要修改选定用户的选定可视化限制吗?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "您确定要更改所选用户的书架同步行为吗?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "您确定要更改 Calibre 库位置吗?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "Calibre-Web 将搜索更新封面,并更新缩略图,这可能需要一段时间?" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "您确定要删除 Calibre-Web 的同步数据库以强制与您的 Kobo Reader 进行完全同步吗?" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "拒绝" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "允许" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "{} 同步项目被删除" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "标签未找到" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "无效的动作" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json 未为 Web 应用程序配置" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "日志文件路径无效,请输入正确的路径" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "访问日志路径无效,请输入正确的路径" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "请输入 LDAP 主机、端口、DN 和用户对象标识符" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "请输入一个 LDAP 服务账号和密码" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "请输入一个 LDAP 服务账号" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP 组对象过滤器需要一个具有“%s”格式标识符" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP 组对象过滤器的括号不匹配" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP 用户对象过滤器需要一个具有“%s”格式标识符" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP 用户对象过滤器的括号不匹配" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP 成员用户过滤器需要有一个“%s”格式标识符" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP 成员用户过滤器中有不匹配的括号" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA证书、证书或密钥位置无效,请输入正确的路径" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "添加新用户" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "编辑邮件服务器设置" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "Gmail 账户验证成功。" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "数据库错误:%(error)s。" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "发送给 %(email)s 的测试邮件已加入队列。请检查任务结果" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "发送测试邮件时出错:%(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "请先配置您的邮箱地址..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "邮件服务器设置已更新" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "编辑计划任务设置" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "指定任务的开始时间无效" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "指定任务的持续时间无效" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "已更新计划任务设置" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "发生一个未知错误,请稍后再试。" -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "设置数据库不可写" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "编辑用户 %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "用户 %(user)s 的密码已重置" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "请先配置 SMTP 邮箱设置..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "日志文件查看器" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "正在请求更新包" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "正在下载更新包" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "正在解压更新包" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "正在替换文件" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "数据库连接已关闭" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "正在停止服务器" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "更新完成,请点击确定并刷新页面" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "更新失败:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP 错误" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "连接错误" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "建立连接超时" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "一般错误" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "更新文件无法保存在临时目录中" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "更新期间无法替换文件" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "未能获得任何 LDAP 用户" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "未能创建任何 LDAP 用户" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "错误:%(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "错误:在 LDAP 服务器的响应中没有返回用户" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "数据库中没有找到任何 LDAP 用户" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} 用户被成功导入" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "书籍路径无效" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "数据库路径无效,请输入正确的路径" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "数据库不可写入" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "密钥文件路径无效,请输入正确的路径" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "证书文件路径无效,请输入正确的路径" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "密码长度必须在1到40之间" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "数据库设置已更新" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "数据库配置" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "请填写所有字段。" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "邮箱域名无效" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "添加新用户" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "用户“%(user)s”已创建" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "使用此邮箱或用户名的账号已经存在。" -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "用户“%(nick)s”已删除" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "无法删除访客用户" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "管理员账户不存在,无法删除用户" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "电子邮件地址不能为空,并且必须是有效的电子邮件" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "用户“%(nick)s”已更新" @@ -541,114 +560,130 @@ msgstr "缺少执行权限" msgid "None" msgstr "无" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "文件 %(file)s 已上传" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "转换的源格式或目的格式缺失" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "书籍已经被成功加入 %(book_format)s 格式转换队列" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "转换此书籍时出现错误: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "书架已成功删除" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "糟糕!选择书名无法打开。文件不存在或者文件不可访问" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "用户没有权限上传封面" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "标识符不区分大小写,覆盖旧标识符" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "'%(langname)s' 不是一种有效语言" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "已成功更新元数据" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "编辑书籍时出错: {}" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "上传的书籍可能已经存在,建议修改后重新上传: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "此文件类型不允许上传到服务器" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上传文件扩展名为“%(ext)s”的文件到此服务器" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "要上传的文件必须具有扩展名" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "文件 %(filename)s 无法保存到临时目录" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "移动封面文件失败 %(file)s:%(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "书籍的此格式副本已成功删除" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "书籍已成功删除" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "您没有删除书籍的权限" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "编辑元数据" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "丛书索引: %(seriesindex)s 不是一个有效的数值,跳过" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "用户没有权限上传其他文件格式" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "创建路径 %(path)s 失败 (权限不足)" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失败。" -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" @@ -666,12 +701,12 @@ msgstr "回调域名尚未被校验,请在 Google 开发者控制台按步骤 msgid "%(format)s format not found for book id: %(book)d" msgstr "找不到 ID 为 %(book)d 的书籍的 %(format)s 格式" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Google Drive %(fn)s 上找不到 %(format)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "找不到 %(format)s:%(fn)s" @@ -720,136 +755,142 @@ msgstr "%(book)s 发送到电子阅读器" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "无法读取请求的文件。可能有错误的权限设置?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "阅读状态无法设置: {}" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "删除书的文件夹 %(id)s 失败,路径有子文件夹:%(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "删除书籍 %(id)s 失败:%(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "仅从数据库中删除书籍 %(id)s,数据库中的书籍路径无效: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "将作者从“%(src)s”改为“%(dest)s”时失败,出错信息:%(error)s" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "将作者从“%(src)s”改为“%(dest)s”时失败,出错信息:%(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive 上找不到文件 %(file)s" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "将标题从“%(src)s”改为“%(dest)s”时失败,出错信息:%(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive 上找不到书籍路径 %(path)s" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "已存在使用此邮箱的账户" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "此用户名已被使用" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "无效的邮箱格式" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "密码不符合密码验证规则" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "上传封面所需的 Python 模块 'advocate' 未安装" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "下载封面时出错" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "封面格式出错" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "您没有访问本地主机或本地网络进行封面上传" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "创建封面路径失败" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "封面文件不是有效的图片文件,或者无法存储它" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "封面文件只支持 jpg、jpeg、png、webp、bmp 文件" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "封面文件内容无效" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "仅将 jpg、jpeg 文件作为封面文件" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "封面" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "找不到 UnRar 执行文件" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "执行 UnRar 时出错" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "无法找到指定目录" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "请指定目录,而不是文件" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "Calibre 程序无法运行" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "缺失的 calibre 程序:%(missing)s" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "缺少执行权限: %(missing)s" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "执行 Calibre 时出错" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "将所有书籍加入元数据备份队列" @@ -916,6 +957,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth 错误,请重试。" #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "GitHub Oauth 错误: {}" @@ -924,10 +966,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth 错误,请重试。" #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google Oauth 错误: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} 星" @@ -1009,7 +1053,7 @@ msgstr "发现" msgid "Show Random Books" msgstr "显示随机书籍" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "分类" @@ -1019,7 +1063,7 @@ msgid "Show Category Section" msgstr "显示分类栏目" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "丛书" @@ -1028,7 +1072,7 @@ msgstr "丛书" msgid "Show Series Section" msgstr "显示丛书栏目" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "作者" @@ -1037,7 +1081,7 @@ msgstr "作者" msgid "Show Author Section" msgstr "显示作者栏目" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "出版社" @@ -1046,7 +1090,7 @@ msgstr "出版社" msgid "Show Publisher Section" msgstr "显示出版社栏目" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1273,7 +1317,7 @@ msgstr "读取更新信息时出现异常数据" msgid "No update available. You already have the latest version installed" msgstr "无可用更新。您已经安装了最新版本" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "有新的更新。单击下面的按钮以更新到最新版本。" @@ -1281,7 +1325,7 @@ msgstr "有新的更新。单击下面的按钮以更新到最新版本。" msgid "Could not fetch update information" msgstr "无法获取更新信息" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "点击下面按钮更新到最新稳定版本。" @@ -1492,7 +1536,7 @@ msgstr "发生未知错误,书籍转换失败" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify 转换失败:%(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "找不到转换后的文件或文件夹 %(folder)s 中有多个文件" @@ -1534,6 +1578,7 @@ msgid "Cover Thumbnails" msgstr "封面缩略图" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "生成了 {0} 个丛书缩略图" @@ -1585,15 +1630,15 @@ msgstr "下载书籍" msgid "View Books" msgstr "查看书籍" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "编辑书籍" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "删除数据" @@ -1786,7 +1831,10 @@ msgid "OK" msgstr "确定" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2076,125 +2124,205 @@ msgstr "搜索错误!" msgid "No Result(s) found! Please try another keyword." msgstr "无搜索结果!请尝试另一个关键字。" -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "此栏必须填写" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "合并选中的书籍" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "合并选中的书籍" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "合并选中的书籍" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "合并选中的书籍" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "合并选中的书籍" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "删除所选项" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "合并选中的书籍" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "交换作者和标题" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "自动更新书名排序" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "自动更新作者排序" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "输入书名" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "标题" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "输入书名排序" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "书名排序" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "输入作者排序" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "作者排序" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "输入作者" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "输入分类" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "输入丛书" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "丛书编号" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "输入语言" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "出版日期" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "输入出版社" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "输入简介" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "简介" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "存档状态" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "输入" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "合并选中的书籍" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "您真的确认?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "这本书籍将被合并:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "合并到这本书籍:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "合并" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "归档" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "归档" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "标为已读" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "标为未读" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "编辑元数据" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Calibre 数据库路径" @@ -2687,10 +2815,6 @@ msgstr "添加到归档" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "将书籍标记为已存档或未存档,以便在 Calibre-Web 中隐藏书籍并从 Kobo 阅读器中删除书籍" -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "归档" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2703,10 +2827,6 @@ msgstr "添加到书架" msgid "(Public)" msgstr "(公共)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "编辑元数据" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "选择服务器类型" diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo index e4bd5c35f..44a22696f 100644 Binary files a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo and b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.mo differ diff --git a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po index a956daed4..cbe957145 100644 --- a/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po +++ b/cps/translations/zh_Hant_TW/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: 2020-09-27 22:18+0800\n" "Last-Translator: xlivevil \n" "Language: zh_TW\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -45,8 +45,8 @@ msgstr "未知命令" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "發送給%(email)s的測試郵件已進入隊列。請檢查任務結果" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "未知" @@ -63,7 +63,7 @@ msgstr "基本配置" msgid "UI Configuration" msgstr "界面配置" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, fuzzy, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -78,447 +78,466 @@ msgstr "管理用戶" msgid "All" msgstr "全部" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "找不到用戶" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "成功刪除 {} 個用戶" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "顯示全部" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "格式錯誤的請求" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "訪客名稱無法更改" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "遊客無法擁有此角色" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "管理員賬戶不存在,無法刪除管理員角色" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "值必須是 true 或 false" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "無效角色" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "遊客無法擁有此視圖" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "無效視圖" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "訪客的本地化是自動偵測而無法設置的" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "無可用本地化" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "無有效書籍語言" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "參數未找到" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "無效的閱讀列" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "無效的限制列" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web配置已更新" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "您確定刪除Kobo Token嗎?" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "您確定要刪除此網域嗎?" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "您確定要刪除此用戶嗎?" -#: cps/admin.py:622 +#: cps/admin.py:621 +#, fuzzy +msgid "Do you really want to delete this book?" +msgstr "您確定要刪除此網域嗎?" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "您確定要刪除此書架嗎?" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "您確定要修改選定用戶的本地化設置嗎?" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "您確定要修改選定用戶的可見書籍語言嗎?" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "您確定要修改選定用戶的選定角色嗎?" -#: cps/admin.py:630 +#: cps/admin.py:631 +#, fuzzy +msgid "Are you sure you want to change the archive status for the selected book(s)?" +msgstr "您確定要修改選定用戶的選定限制嗎?" + +#: cps/admin.py:633 +#, fuzzy +msgid "Are you sure you want to change the read status for the selected book(s)?" +msgstr "您確定要修改選定用戶的選定限制嗎?" + +#: cps/admin.py:635 msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "您確定要修改選定用戶的選定限制嗎?" -#: cps/admin.py:632 +#: cps/admin.py:637 msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "您確定要修改選定用戶的選定可視化限制嗎?" -#: cps/admin.py:635 +#: cps/admin.py:640 msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "您確定要更改所選用戶的書架同步行為嗎?" -#: cps/admin.py:637 +#: cps/admin.py:642 msgid "Are you sure you want to change Calibre library location?" msgstr "您確定要更改 Calibre 庫位置嗎?" -#: cps/admin.py:639 +#: cps/admin.py:644 msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" msgstr "" -#: cps/admin.py:642 +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "拒絕" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "允許" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "標籤未找到" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "無效的動作" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json 未為 Web 應用程序配置" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "日誌文件路徑無效,請輸入正確的路徑" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "訪問日誌路徑無效,請輸入正確的路徑" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "請輸入LDAP主機、端口、DN和用戶對象標識符" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "請輸入一個LDAP服務賬號和密碼 " -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "請輸入一個LDAP服務賬號" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP群組對象過濾器需要一個具有“%s”格式標識符號" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP群組對象過濾器的括號不匹配" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP用戶對象過濾器需要一個具有“%s”格式標識符" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP用戶對象過濾器的括號不匹配" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP成員用戶過濾器需要有一個“%s”格式標識符號" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "LDAP成員用戶過濾器中有不匹配的括號" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "LDAP CA證書、證書或密鑰位置無效,請輸入正確的路徑" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "添加新用戶" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "編輯郵件服務器設置" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "數據庫錯誤:%(error)s。" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "發送給%(email)s的測試郵件已進入隊列。請檢查任務結果" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "發送測試郵件時出錯:%(res)s" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "請先配置您的郵箱地址..." -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "郵件服務器設置已更新" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "發生一個未知錯誤,請稍後再試。" -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "編輯用戶 %(nick)s" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, fuzzy, python-format msgid "Success! Password for user %(user)s reset" msgstr "用戶 %(user)s 的密碼已重置" -#: cps/admin.py:1463 +#: cps/admin.py:1468 #, fuzzy msgid "Oops! Please configure the SMTP mail settings." msgstr "請先配置SMTP郵箱設置..." -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "日誌文件查看器" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "正在請求更新包" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "正在下載更新包" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "正在解壓更新包" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "正在替換文件" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "數據庫連接已關閉" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "正在停止服務器" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "更新完成,請點擊確定並刷新頁面" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "更新失敗:" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "HTTP錯誤" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "連接錯誤" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "建立連接超時" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "一般錯誤" -#: cps/admin.py:1551 +#: cps/admin.py:1556 #, fuzzy msgid "Update file could not be saved in temp dir" msgstr "更新文件無法保存在臨時目錄中" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "更新時檔案無法替換變更" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "未能提取至少一個LDAP用戶" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "未能創建至少一個LDAP用戶" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "錯誤:%(ldaperror)s" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "錯誤:在LDAP服務器的響應中沒有返回用戶" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "數據庫中沒有找到至少一個LDAP用戶" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "{} 用戶被成功導入" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "數據庫路徑無效,請輸入正確的路徑" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "數據庫不可寫入" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "密鑰文件路徑無效,請輸入正確的路徑" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "證書文件路徑無效,請輸入正確的路徑" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 #, fuzzy msgid "Database Settings updated" msgstr "郵件服務器設置已更新" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "數據庫配置" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "請填寫所有欄位!" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "郵箱不在有效網域中" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "添加新用戶" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "用戶“%(user)s”已創建" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "使用此郵箱或用戶名的賬號已經存在。" -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "用戶“%(nick)s”已刪除" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "無法刪除訪客用戶" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "管理員賬戶不存在,無法刪除用戶" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "用戶“%(nick)s”已更新" @@ -547,115 +566,131 @@ msgstr "缺少執行權限" msgid "None" msgstr "無" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "文件 %(file)s 已上傳" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "轉換的來源或目的格式不存在" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "書籍已經被成功加入到 %(book_format)s 格式轉換隊列" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "轉換此書籍時出現錯誤: %(res)s" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +#, fuzzy +msgid "Changes successfully applied" +msgstr "書籍已成功刪除" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "糟糕!選擇書名無法打開。文件不存在或者文件不可訪問" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "標識符不區分大小寫,覆蓋舊標識符" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, fuzzy, python-format msgid "'%(langname)s' is not a valid language" msgstr "%(langname)s 不是一種有效語言" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "已成功更新元數據" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "上傳的書籍可能已經存在,建議修改後重新上傳: " -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 #, fuzzy msgid "File type isn't allowed to be uploaded to this server" msgstr "不能上傳文件附檔名為“%(ext)s”的文件到此服務器" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上傳文件附檔名為“%(ext)s”的文件到此服務器" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "要上傳的文件必須具有附檔名" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "文件 %(filename)s 無法保存到臨時目錄" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "移動封面文件失敗 %(file)s:%(error)s" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "書籍格式已成功刪除" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "書籍已成功刪除" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "編輯元數據" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, fuzzy, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "%(seriesindex)s 不是一個有效的數值,忽略" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "創建路徑 %(path)s 失敗(權限拒絕)。" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失敗。" -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" @@ -673,12 +708,12 @@ msgstr "回調網域名稱尚未被驗證,請在google開發者控制台按步 msgid "%(format)s format not found for book id: %(book)d" msgstr "找不到id為 %(book)d 的書籍的 %(format)s 格式" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Google Drive %(fn)s 上找不到 %(format)s" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "找不到 %(format)s:%(fn)s" @@ -731,141 +766,147 @@ msgstr "%(book)s發送到Kindle" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "無法讀取請求的文件。可能有錯誤的權限設置?" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "刪除書的文件夾%(id)s失敗,路徑有子文件夾:%(path)s" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "刪除書籍 %(id)s失敗:%(message)s" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "僅從數據庫中刪除書籍 %(id)s,數據庫中的書籍路徑無效: %(path)s" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, fuzzy, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "將標題從“%(src)s”改為“%(dest)s”時失敗,錯誤錯信息:%(error)s" + +#: cps/helper.py:443 #, fuzzy, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "將標題從“%(src)s”改為“%(dest)s”時失敗,錯誤錯信息:%(error)s" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive上找不到文件 %(file)s" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "將標題從“%(src)s”改為“%(dest)s”時失敗,錯誤錯信息:%(error)s" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive上找不到書籍路徑 %(path)s" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "此用戶名已被使用" -#: cps/helper.py:679 +#: cps/helper.py:665 #, fuzzy msgid "Invalid Email address format" msgstr "無效的郵件地址格式" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "下載封面時出錯" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "封面格式出錯" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "創建封面路徑失敗" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "封面文件不是有效的圖片文件,或者無法儲存" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "封面文件只支持jpg/jpeg/png/webp/bmp格式文件" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "僅將jpg、jpeg文件作為封面文件" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 #, fuzzy msgid "Cover" msgstr "發現" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "找不到UnRar執行文件" -#: cps/helper.py:1017 +#: cps/helper.py:1003 #, fuzzy msgid "Error executing UnRar" msgstr "執行UnRar時出錯" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 #, fuzzy msgid "Calibre binaries not viable" msgstr "數據庫不可寫入" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, fuzzy, python-format msgid "Missing executable permissions: %(missing)s" msgstr "缺少執行權限" -#: cps/helper.py:1058 +#: cps/helper.py:1044 #, fuzzy msgid "Error executing Calibre" msgstr "執行UnRar時出錯" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -933,6 +974,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "GitHub Oauth 錯誤,請重試。" #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "GitHub Oauth 錯誤: {}" @@ -941,10 +983,12 @@ msgid "Google Oauth error, please retry later." msgstr "Google Oauth 錯誤,請重試。" #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "Google Oauth 錯誤: {}" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "{} 星" @@ -1027,7 +1071,7 @@ msgstr "發現" msgid "Show Random Books" msgstr "隨機顯示書籍" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "分類" @@ -1038,7 +1082,7 @@ msgid "Show Category Section" msgstr "顯示分類選擇" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "叢書" @@ -1048,7 +1092,7 @@ msgstr "叢書" msgid "Show Series Section" msgstr "顯示叢書選擇" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "作者" @@ -1058,7 +1102,7 @@ msgstr "作者" msgid "Show Author Section" msgstr "顯示作者選擇" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "出版社" @@ -1068,7 +1112,7 @@ msgstr "出版社" msgid "Show Publisher Section" msgstr "顯示出版社選擇" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1300,7 +1344,7 @@ msgstr "讀取更新信息時出現未預期數據" msgid "No update available. You already have the latest version installed" msgstr "無可用更新。您已經安裝了最新版本" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "有新的更新。單擊下面的按鈕以更新到最新版本。" @@ -1308,7 +1352,7 @@ msgstr "有新的更新。單擊下面的按鈕以更新到最新版本。" msgid "Could not fetch update information" msgstr "無法獲取更新信息" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "點擊下面按鈕更新到最新穩定版本。" @@ -1528,7 +1572,7 @@ msgstr "發生未知錯誤,書籍轉換失敗" msgid "Kepubify-converter failed: %(error)s" msgstr "Kepubify 轉換失敗:%(error)s" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "找不到轉換後的文件或文件夾%(folder)s中有多個文件" @@ -1571,6 +1615,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1623,15 +1668,15 @@ msgstr "下載書籍" msgid "View Books" msgstr "查看書籍" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "編輯書籍" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "刪除數據" @@ -1825,7 +1870,10 @@ msgid "OK" msgstr "確定" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2116,127 +2164,208 @@ msgstr "搜索錯誤!" msgid "No Result(s) found! Please try another keyword." msgstr "無搜索結果!請嘗試另一個關鍵字。" -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "此欄必須填寫" +#: cps/templates/book_table.html:25 +#, fuzzy +msgid "Archive selected books" +msgstr "合併選中的書籍" + +#: cps/templates/book_table.html:28 +#, fuzzy +msgid "Unarchive selected books" +msgstr "合併選中的書籍" + +#: cps/templates/book_table.html:34 +#, fuzzy +msgid "Mark selected books as read" +msgstr "合併選中的書籍" + #: cps/templates/book_table.html:37 +#, fuzzy +msgid "Mark selected books as unread" +msgstr "合併選中的書籍" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "合併選中的書籍" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +#, fuzzy +msgid "Clear selections" msgstr "刪除選取選項" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +#, fuzzy +msgid "Edit selected books" +msgstr "合併選中的書籍" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "交換作者和標題" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "自動更新書名排序" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "自動更新作者排序" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "輸入書名" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "標題" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "輸入書名排序" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "書名排序" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "輸入作者排序" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "作者排序" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "輸入作者" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "輸入分類" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "輸入叢書" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "叢書編號" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "輸入語言" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "出版日期" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "輸入出版社" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 #, fuzzy msgid "Enter comments" msgstr "輸入網域名" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 #, fuzzy msgid "Enter " msgstr "書號" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +#, fuzzy +msgid "Delete selected books" +msgstr "合併選中的書籍" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "您真的確認?" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "這本書籍將被合併:" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "合併到這本書籍:" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "合併" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +#, fuzzy +msgid "Archive" +msgstr "歸檔" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +#, fuzzy +msgid "Unarchive" +msgstr "歸檔" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +#, fuzzy +msgid "Mark as read" +msgstr "標為已讀" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +#, fuzzy +msgid "Mark as unread" +msgstr "標為未讀" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "編輯元數據" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "Calibre 數據庫路徑" @@ -2736,11 +2865,6 @@ msgstr "添加到歸檔" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -#, fuzzy -msgid "Archive" -msgstr "歸檔" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2753,10 +2877,6 @@ msgstr "添加到書架" msgid "(Public)" msgstr "(公共)" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "編輯元數據" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr "選擇伺服器類型" diff --git a/messages.pot b/messages.pot index 649af94c6..794b1ffe6 100644 --- a/messages.pot +++ b/messages.pot @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2025-06-29 09:44+0200\n" +"POT-Creation-Date: 2025-09-08 12:20+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"Generated-By: Babel 2.17.0\n" #: cps/about.py:85 msgid "Statistics" @@ -41,8 +41,8 @@ msgstr "" msgid "Success! Books queued for Metadata Backup, please check Tasks for result" msgstr "" -#: cps/admin.py:208 cps/editbooks.py:614 cps/editbooks.py:657 -#: cps/editbooks.py:1302 cps/updater.py:615 cps/uploader.py:108 +#: cps/admin.py:208 cps/editbooks.py:808 cps/editbooks.py:852 +#: cps/editbooks.py:1520 cps/updater.py:615 cps/uploader.py:108 #: cps/uploader.py:117 msgid "Unknown" msgstr "" @@ -59,7 +59,7 @@ msgstr "" msgid "UI Configuration" msgstr "" -#: cps/admin.py:315 cps/admin.py:996 cps/db.py:801 cps/search.py:150 +#: cps/admin.py:315 cps/admin.py:1001 cps/db.py:801 cps/search.py:150 #: cps/web.py:753 #, python-format msgid "Custom Column No.%(column)d does not exist in calibre database" @@ -74,444 +74,460 @@ msgstr "" msgid "All" msgstr "" -#: cps/admin.py:401 cps/admin.py:1426 +#: cps/admin.py:400 cps/admin.py:1431 msgid "User not found" msgstr "" -#: cps/admin.py:415 +#: cps/admin.py:414 +#, python-brace-format msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:438 cps/templates/config_view_edit.html:133 +#: cps/admin.py:437 cps/templates/config_view_edit.html:133 #: cps/templates/user_edit.html:45 cps/templates/user_table.html:81 msgid "Show All" msgstr "" -#: cps/admin.py:459 cps/admin.py:465 +#: cps/admin.py:458 cps/admin.py:464 msgid "Malformed request" msgstr "" -#: cps/admin.py:477 cps/admin.py:2069 +#: cps/admin.py:476 cps/admin.py:2074 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:489 +#: cps/admin.py:488 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:501 cps/admin.py:2023 +#: cps/admin.py:500 cps/admin.py:2028 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:505 cps/admin.py:519 +#: cps/admin.py:504 cps/admin.py:518 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:507 +#: cps/admin.py:506 msgid "Invalid role" msgstr "" -#: cps/admin.py:511 +#: cps/admin.py:510 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:521 +#: cps/admin.py:520 msgid "Invalid view" msgstr "" -#: cps/admin.py:524 +#: cps/admin.py:523 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:528 +#: cps/admin.py:527 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:539 +#: cps/admin.py:538 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:541 cps/editbooks.py:292 +#: cps/admin.py:540 cps/editbooks.py:243 cps/editbooks.py:428 +#: cps/editbooks.py:430 msgid "Parameter not found" msgstr "" -#: cps/admin.py:578 +#: cps/admin.py:577 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:584 +#: cps/admin.py:583 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:604 cps/admin.py:1894 +#: cps/admin.py:603 cps/admin.py:1899 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:616 +#: cps/admin.py:615 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:618 +#: cps/admin.py:617 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:620 +#: cps/admin.py:619 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:622 +#: cps/admin.py:621 +msgid "Do you really want to delete this book?" +msgstr "" + +#: cps/admin.py:623 msgid "Are you sure you want to delete this shelf?" msgstr "" -#: cps/admin.py:624 +#: cps/admin.py:625 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "" -#: cps/admin.py:626 +#: cps/admin.py:627 msgid "Are you sure you want to change visible book languages for selected user(s)?" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:629 msgid "Are you sure you want to change the selected role for the selected user(s)?" msgstr "" -#: cps/admin.py:630 -msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" +#: cps/admin.py:631 +msgid "Are you sure you want to change the archive status for the selected book(s)?" msgstr "" -#: cps/admin.py:632 -msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" +#: cps/admin.py:633 +msgid "Are you sure you want to change the read status for the selected book(s)?" msgstr "" #: cps/admin.py:635 -msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" +msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" msgstr "" #: cps/admin.py:637 -msgid "Are you sure you want to change Calibre library location?" +msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" msgstr "" -#: cps/admin.py:639 -msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" +#: cps/admin.py:640 +msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" msgstr "" #: cps/admin.py:642 +msgid "Are you sure you want to change Calibre library location?" +msgstr "" + +#: cps/admin.py:644 +msgid "Calibre-Web will search for updated Covers and update Cover Thumbnails, this may take a while?" +msgstr "" + +#: cps/admin.py:647 msgid "Are you sure you want delete Calibre-Web's sync database to force a full sync with your Kobo Reader?" msgstr "" -#: cps/admin.py:885 cps/admin.py:891 cps/admin.py:901 cps/admin.py:911 +#: cps/admin.py:890 cps/admin.py:896 cps/admin.py:906 cps/admin.py:916 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:41 #: cps/templates/user_table.html:58 msgid "Deny" msgstr "" -#: cps/admin.py:887 cps/admin.py:893 cps/admin.py:903 cps/admin.py:913 +#: cps/admin.py:892 cps/admin.py:898 cps/admin.py:908 cps/admin.py:918 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:44 #: cps/templates/user_table.html:61 msgid "Allow" msgstr "" -#: cps/admin.py:946 +#: cps/admin.py:951 +#, python-brace-format msgid "{} sync entries deleted" msgstr "" -#: cps/admin.py:987 +#: cps/admin.py:992 msgid "Tag not found" msgstr "" -#: cps/admin.py:1005 +#: cps/admin.py:1010 msgid "Invalid Action" msgstr "" -#: cps/admin.py:1132 +#: cps/admin.py:1137 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1177 +#: cps/admin.py:1182 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1183 +#: cps/admin.py:1188 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1217 +#: cps/admin.py:1222 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1223 +#: cps/admin.py:1228 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1226 +#: cps/admin.py:1231 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1231 +#: cps/admin.py:1236 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1233 +#: cps/admin.py:1238 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1237 +#: cps/admin.py:1242 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1239 +#: cps/admin.py:1244 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1246 +#: cps/admin.py:1251 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1248 +#: cps/admin.py:1253 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1255 +#: cps/admin.py:1260 msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1286 cps/templates/admin.html:53 +#: cps/admin.py:1291 cps/templates/admin.html:53 msgid "Add New User" msgstr "" -#: cps/admin.py:1295 cps/templates/admin.html:100 +#: cps/admin.py:1300 cps/templates/admin.html:100 msgid "Edit Email Server Settings" msgstr "" -#: cps/admin.py:1314 +#: cps/admin.py:1319 msgid "Success! Gmail Account Verified." msgstr "" -#: cps/admin.py:1334 cps/admin.py:1337 cps/admin.py:1722 cps/admin.py:1878 -#: cps/admin.py:1976 cps/admin.py:2097 cps/editbooks.py:168 -#: cps/editbooks.py:561 cps/editbooks.py:1256 cps/shelf.py:90 cps/shelf.py:150 +#: cps/admin.py:1339 cps/admin.py:1342 cps/admin.py:1727 cps/admin.py:1883 +#: cps/admin.py:1981 cps/admin.py:2102 cps/editbooks.py:169 +#: cps/editbooks.py:755 cps/editbooks.py:1474 cps/shelf.py:90 cps/shelf.py:150 #: cps/shelf.py:193 cps/shelf.py:243 cps/shelf.py:280 cps/shelf.py:354 #: cps/shelf.py:476 cps/tasks/convert.py:160 cps/web.py:1535 #, python-format msgid "Oops! Database Error: %(error)s." msgstr "" -#: cps/admin.py:1344 +#: cps/admin.py:1349 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1347 +#: cps/admin.py:1352 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1349 +#: cps/admin.py:1354 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1351 +#: cps/admin.py:1356 msgid "Email Server Settings updated" msgstr "" -#: cps/admin.py:1374 cps/templates/admin.html:195 +#: cps/admin.py:1379 cps/templates/admin.html:195 msgid "Edit Scheduled Tasks Settings" msgstr "" -#: cps/admin.py:1386 +#: cps/admin.py:1391 msgid "Invalid start time for task specified" msgstr "" -#: cps/admin.py:1391 +#: cps/admin.py:1396 msgid "Invalid duration for task specified" msgstr "" -#: cps/admin.py:1401 +#: cps/admin.py:1406 msgid "Scheduled tasks settings updated" msgstr "" -#: cps/admin.py:1411 cps/admin.py:1460 cps/admin.py:2093 cps/web.py:1325 +#: cps/admin.py:1416 cps/admin.py:1465 cps/admin.py:2098 cps/web.py:1325 msgid "Oops! An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:1415 +#: cps/admin.py:1420 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1445 cps/admin.py:2085 +#: cps/admin.py:1450 cps/admin.py:2090 #, python-format msgid "Edit User %(nick)s" msgstr "" -#: cps/admin.py:1457 +#: cps/admin.py:1462 #, python-format msgid "Success! Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1463 +#: cps/admin.py:1468 msgid "Oops! Please configure the SMTP mail settings." msgstr "" -#: cps/admin.py:1474 +#: cps/admin.py:1479 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1540 +#: cps/admin.py:1545 msgid "Requesting update package" msgstr "" -#: cps/admin.py:1541 +#: cps/admin.py:1546 msgid "Downloading update package" msgstr "" -#: cps/admin.py:1542 +#: cps/admin.py:1547 msgid "Unzipping update package" msgstr "" -#: cps/admin.py:1543 +#: cps/admin.py:1548 msgid "Replacing files" msgstr "" -#: cps/admin.py:1544 +#: cps/admin.py:1549 msgid "Database connections are closed" msgstr "" -#: cps/admin.py:1545 +#: cps/admin.py:1550 msgid "Stopping server" msgstr "" -#: cps/admin.py:1546 +#: cps/admin.py:1551 msgid "Update finished, please press okay and reload page" msgstr "" -#: cps/admin.py:1547 cps/admin.py:1548 cps/admin.py:1549 cps/admin.py:1550 -#: cps/admin.py:1551 cps/admin.py:1552 +#: cps/admin.py:1552 cps/admin.py:1553 cps/admin.py:1554 cps/admin.py:1555 +#: cps/admin.py:1556 cps/admin.py:1557 msgid "Update failed:" msgstr "" -#: cps/admin.py:1547 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 +#: cps/admin.py:1552 cps/updater.py:391 cps/updater.py:626 cps/updater.py:628 msgid "HTTP Error" msgstr "" -#: cps/admin.py:1548 cps/updater.py:393 cps/updater.py:630 +#: cps/admin.py:1553 cps/updater.py:393 cps/updater.py:630 msgid "Connection error" msgstr "" -#: cps/admin.py:1549 cps/updater.py:395 cps/updater.py:632 +#: cps/admin.py:1554 cps/updater.py:395 cps/updater.py:632 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1550 cps/updater.py:397 cps/updater.py:634 +#: cps/admin.py:1555 cps/updater.py:397 cps/updater.py:634 msgid "General error" msgstr "" -#: cps/admin.py:1551 +#: cps/admin.py:1556 msgid "Update file could not be saved in temp dir" msgstr "" -#: cps/admin.py:1552 +#: cps/admin.py:1557 msgid "Files could not be replaced during update" msgstr "" -#: cps/admin.py:1576 +#: cps/admin.py:1581 msgid "Failed to extract at least One LDAP User" msgstr "" -#: cps/admin.py:1621 +#: cps/admin.py:1626 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1634 +#: cps/admin.py:1639 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1638 +#: cps/admin.py:1643 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1679 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1676 +#: cps/admin.py:1681 +#, python-brace-format msgid "{} User Successfully Imported" msgstr "" -#: cps/admin.py:1734 +#: cps/admin.py:1739 msgid "Books path not valid" msgstr "" -#: cps/admin.py:1740 +#: cps/admin.py:1745 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1768 +#: cps/admin.py:1773 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1782 +#: cps/admin.py:1787 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1786 +#: cps/admin.py:1791 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1863 +#: cps/admin.py:1868 msgid "Password length has to be between 1 and 40" msgstr "" -#: cps/admin.py:1917 +#: cps/admin.py:1922 msgid "Database Settings updated" msgstr "" -#: cps/admin.py:1925 +#: cps/admin.py:1930 msgid "Database Configuration" msgstr "" -#: cps/admin.py:1940 cps/web.py:1299 +#: cps/admin.py:1945 cps/web.py:1299 msgid "Oops! Please complete all fields." msgstr "" -#: cps/admin.py:1949 +#: cps/admin.py:1954 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1955 +#: cps/admin.py:1960 msgid "Add new user" msgstr "" -#: cps/admin.py:1966 +#: cps/admin.py:1971 #, python-format msgid "User '%(user)s' created" msgstr "" -#: cps/admin.py:1972 +#: cps/admin.py:1977 msgid "Oops! An account already exists for this Email. or name." msgstr "" -#: cps/admin.py:2002 +#: cps/admin.py:2007 #, python-format msgid "User '%(nick)s' deleted" msgstr "" -#: cps/admin.py:2005 +#: cps/admin.py:2010 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:2008 +#: cps/admin.py:2013 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:2063 cps/web.py:1484 +#: cps/admin.py:2068 cps/web.py:1484 msgid "Email can't be empty and has to be a valid Email" msgstr "" -#: cps/admin.py:2089 +#: cps/admin.py:2094 #, python-format msgid "User '%(nick)s' updated" msgstr "" @@ -540,114 +556,129 @@ msgstr "" msgid "None" msgstr "" -#: cps/editbooks.py:154 +#: cps/editbooks.py:155 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:183 +#: cps/editbooks.py:184 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:191 +#: cps/editbooks.py:192 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:195 +#: cps/editbooks.py:196 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" -#: cps/editbooks.py:433 cps/editbooks.py:928 cps/web.py:535 cps/web.py:1576 -#: cps/web.py:1622 cps/web.py:1672 +#: cps/editbooks.py:297 +msgid "Changes successfully applied" +msgstr "" + +#: cps/editbooks.py:317 +msgid "Value is missing on request" +msgstr "" + +#: cps/editbooks.py:319 cps/editbooks.py:326 cps/editbooks.py:627 +#: cps/editbooks.py:1146 cps/web.py:535 cps/web.py:1576 cps/web.py:1622 +#: cps/web.py:1672 msgid "Oops! Selected book is unavailable. File does not exist or is not accessible" msgstr "" -#: cps/editbooks.py:479 cps/editbooks.py:1285 +#: cps/editbooks.py:673 cps/editbooks.py:1503 msgid "User has no rights to upload cover" msgstr "" -#: cps/editbooks.py:500 cps/editbooks.py:743 +#: cps/editbooks.py:694 cps/editbooks.py:938 msgid "Identifiers are not Case Sensitive, Overwriting Old Identifier" msgstr "" -#: cps/editbooks.py:515 cps/editbooks.py:717 cps/editbooks.py:1055 +#: cps/editbooks.py:709 cps/editbooks.py:912 cps/editbooks.py:1273 #, python-format msgid "'%(langname)s' is not a valid language" msgstr "" -#: cps/editbooks.py:543 +#: cps/editbooks.py:737 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:760 +#, python-brace-format msgid "Error editing book: {}" msgstr "" -#: cps/editbooks.py:661 +#: cps/editbooks.py:856 msgid "Uploaded book probably exists in the library, consider to change before upload new: " msgstr "" -#: cps/editbooks.py:755 cps/editbooks.py:1202 +#: cps/editbooks.py:950 cps/editbooks.py:1420 msgid "File type isn't allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:761 cps/editbooks.py:1213 +#: cps/editbooks.py:956 cps/editbooks.py:1431 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:765 cps/editbooks.py:1218 +#: cps/editbooks.py:960 cps/editbooks.py:1436 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/editbooks.py:773 +#: cps/editbooks.py:968 #, python-format msgid "File %(filename)s could not saved to temp dir" msgstr "" -#: cps/editbooks.py:793 +#: cps/editbooks.py:988 #, python-format msgid "Failed to Move Cover File %(file)s: %(error)s" msgstr "" -#: cps/editbooks.py:850 cps/editbooks.py:852 +#: cps/editbooks.py:1041 msgid "Book Format Successfully Deleted" msgstr "" -#: cps/editbooks.py:859 cps/editbooks.py:861 +#: cps/editbooks.py:1044 cps/editbooks.py:1061 msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:913 +#: cps/editbooks.py:1065 msgid "You are missing permissions to delete books" msgstr "" -#: cps/editbooks.py:963 +#: cps/editbooks.py:1139 +#, python-brace-format +msgid "Book with id \"{}\" could not be deleted: not found" +msgstr "" + +#: cps/editbooks.py:1181 msgid "edit metadata" msgstr "" -#: cps/editbooks.py:1016 +#: cps/editbooks.py:1234 #, python-format msgid "Seriesindex: %(seriesindex)s is not a valid number, skipping" msgstr "" -#: cps/editbooks.py:1207 +#: cps/editbooks.py:1425 msgid "User has no rights to upload additional file formats" msgstr "" -#: cps/editbooks.py:1231 +#: cps/editbooks.py:1449 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:1238 +#: cps/editbooks.py:1456 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:1263 +#: cps/editbooks.py:1481 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" @@ -665,12 +696,12 @@ msgstr "" msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:94 cps/tasks/convert.py:93 +#: cps/helper.py:93 cps/tasks/convert.py:91 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:99 +#: cps/helper.py:98 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" @@ -719,136 +750,142 @@ msgstr "" msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:352 +#: cps/helper.py:350 +#, python-brace-format msgid "Read status could not set: {}" msgstr "" -#: cps/helper.py:375 +#: cps/helper.py:373 #, python-format msgid "Deleting bookfolder for book %(id)s failed, path has subfolders: %(path)s" msgstr "" -#: cps/helper.py:381 +#: cps/helper.py:379 #, python-format msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:392 +#: cps/helper.py:390 #, python-format msgid "Deleting book %(id)s from database only, book path in database not valid: %(path)s" msgstr "" -#: cps/helper.py:439 +#: cps/helper.py:404 +#, python-format +msgid "Moving book path of Book %(book_id)s to: '%(src)s' failed with error: %(error)s" +msgstr "" + +#: cps/helper.py:443 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:507 cps/helper.py:516 +#: cps/helper.py:513 cps/helper.py:522 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:559 +#: cps/helper.py:564 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:597 +#: cps/helper.py:583 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:657 +#: cps/helper.py:643 msgid "Found an existing account for this Email address" msgstr "" -#: cps/helper.py:665 +#: cps/helper.py:651 msgid "This username is already taken" msgstr "" -#: cps/helper.py:679 +#: cps/helper.py:665 msgid "Invalid Email address format" msgstr "" -#: cps/helper.py:701 +#: cps/helper.py:687 msgid "Password doesn't comply with password validation rules" msgstr "" -#: cps/helper.py:847 +#: cps/helper.py:833 msgid "Python module 'advocate' is not installed but is needed for cover uploads" msgstr "" -#: cps/helper.py:857 +#: cps/helper.py:843 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:860 +#: cps/helper.py:846 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:863 +#: cps/helper.py:849 msgid "You are not allowed to access localhost or the local network for cover uploads" msgstr "" -#: cps/helper.py:873 +#: cps/helper.py:859 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:889 +#: cps/helper.py:875 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:900 +#: cps/helper.py:886 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:912 +#: cps/helper.py:898 msgid "Invalid cover file content" msgstr "" -#: cps/helper.py:916 +#: cps/helper.py:902 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:989 cps/helper.py:1149 +#: cps/helper.py:975 cps/helper.py:1135 msgid "Cover" msgstr "" -#: cps/helper.py:1006 +#: cps/helper.py:992 msgid "UnRar binary file not found" msgstr "" -#: cps/helper.py:1017 +#: cps/helper.py:1003 msgid "Error executing UnRar" msgstr "" -#: cps/helper.py:1025 +#: cps/helper.py:1011 msgid "Could not find the specified directory" msgstr "" -#: cps/helper.py:1028 +#: cps/helper.py:1014 msgid "Please specify a directory, not a file" msgstr "" -#: cps/helper.py:1042 +#: cps/helper.py:1028 msgid "Calibre binaries not viable" msgstr "" -#: cps/helper.py:1051 +#: cps/helper.py:1037 #, python-format msgid "Missing calibre binaries: %(missing)s" msgstr "" -#: cps/helper.py:1053 +#: cps/helper.py:1039 #, python-format msgid "Missing executable permissions: %(missing)s" msgstr "" -#: cps/helper.py:1058 +#: cps/helper.py:1044 msgid "Error executing Calibre" msgstr "" -#: cps/helper.py:1151 cps/templates/admin.html:216 +#: cps/helper.py:1137 cps/templates/admin.html:216 msgid "Queue all books for metadata backup" msgstr "" @@ -915,6 +952,7 @@ msgid "GitHub Oauth error, please retry later." msgstr "" #: cps/oauth_bb.py:338 +#, python-brace-format msgid "GitHub Oauth error: {}" msgstr "" @@ -923,10 +961,12 @@ msgid "Google Oauth error, please retry later." msgstr "" #: cps/oauth_bb.py:362 +#, python-brace-format msgid "Google Oauth error: {}" msgstr "" #: cps/opds.py:299 +#, python-brace-format msgid "{} Stars" msgstr "" @@ -1008,7 +1048,7 @@ msgstr "" msgid "Show Random Books" msgstr "" -#: cps/render_template.py:71 cps/templates/book_table.html:67 +#: cps/render_template.py:71 cps/templates/book_table.html:93 #: cps/templates/index.xml:97 cps/web.py:1141 msgid "Categories" msgstr "" @@ -1018,7 +1058,7 @@ msgid "Show Category Section" msgstr "" #: cps/render_template.py:74 cps/templates/book_edit.html:86 -#: cps/templates/book_table.html:68 cps/templates/index.xml:106 +#: cps/templates/book_table.html:94 cps/templates/index.xml:106 #: cps/templates/search_form.html:70 cps/web.py:1031 cps/web.py:1043 msgid "Series" msgstr "" @@ -1027,7 +1067,7 @@ msgstr "" msgid "Show Series Section" msgstr "" -#: cps/render_template.py:77 cps/templates/book_table.html:66 +#: cps/render_template.py:77 cps/templates/book_table.html:92 #: cps/templates/index.xml:79 msgid "Authors" msgstr "" @@ -1036,7 +1076,7 @@ msgstr "" msgid "Show Author Section" msgstr "" -#: cps/render_template.py:81 cps/templates/book_table.html:72 +#: cps/render_template.py:81 cps/templates/book_table.html:98 #: cps/templates/index.xml:88 cps/web.py:999 msgid "Publishers" msgstr "" @@ -1045,7 +1085,7 @@ msgstr "" msgid "Show Publisher Section" msgstr "" -#: cps/render_template.py:84 cps/templates/book_table.html:70 +#: cps/render_template.py:84 cps/templates/book_table.html:96 #: cps/templates/index.xml:115 cps/templates/search_form.html:108 #: cps/web.py:1113 msgid "Languages" @@ -1272,7 +1312,7 @@ msgstr "" msgid "No update available. You already have the latest version installed" msgstr "" -#: cps/updater.py:458 +#: cps/updater.py:459 msgid "A new update is available. Click on the button below to update to the latest version." msgstr "" @@ -1280,7 +1320,7 @@ msgstr "" msgid "Could not fetch update information" msgstr "" -#: cps/updater.py:486 +#: cps/updater.py:487 msgid "Click on the button below to update to the latest stable version." msgstr "" @@ -1491,7 +1531,7 @@ msgstr "" msgid "Kepubify-converter failed: %(error)s" msgstr "" -#: cps/tasks/convert.py:255 +#: cps/tasks/convert.py:254 #, python-format msgid "Converted file not found or more than one file in folder %(folder)s" msgstr "" @@ -1533,6 +1573,7 @@ msgid "Cover Thumbnails" msgstr "" #: cps/tasks/thumbnail.py:294 +#, python-brace-format msgid "Generated {0} series thumbnails" msgstr "" @@ -1584,15 +1625,15 @@ msgstr "" msgid "View Books" msgstr "" -#: cps/templates/admin.html:24 cps/templates/user_table.html:131 -#: cps/templates/user_table.html:148 +#: cps/templates/admin.html:24 cps/templates/book_table.html:315 +#: cps/templates/user_table.html:131 cps/templates/user_table.html:148 msgid "Edit" msgstr "" #: cps/templates/admin.html:25 cps/templates/book_edit.html:17 -#: cps/templates/book_table.html:100 cps/templates/modal_dialogs.html:63 -#: cps/templates/modal_dialogs.html:116 cps/templates/user_edit.html:67 -#: cps/templates/user_table.html:149 +#: cps/templates/book_table.html:131 cps/templates/book_table.html:180 +#: cps/templates/modal_dialogs.html:63 cps/templates/modal_dialogs.html:116 +#: cps/templates/user_edit.html:67 cps/templates/user_table.html:149 msgid "Delete" msgstr "" @@ -1785,7 +1826,10 @@ msgid "OK" msgstr "" #: cps/templates/admin.html:259 cps/templates/admin.html:273 -#: cps/templates/book_edit.html:220 cps/templates/book_table.html:127 +#: cps/templates/book_edit.html:220 cps/templates/book_table.html:162 +#: cps/templates/book_table.html:181 cps/templates/book_table.html:201 +#: cps/templates/book_table.html:221 cps/templates/book_table.html:241 +#: cps/templates/book_table.html:261 cps/templates/book_table.html:316 #: cps/templates/config_db.html:66 cps/templates/config_edit.html:427 #: cps/templates/config_view_edit.html:175 cps/templates/detail.html:350 #: cps/templates/modal_dialogs.html:64 cps/templates/modal_dialogs.html:99 @@ -2075,125 +2119,195 @@ msgstr "" msgid "No Result(s) found! Please try another keyword." msgstr "" -#: cps/templates/book_table.html:12 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:12 cps/templates/book_table.html:95 #: cps/templates/user_table.html:14 cps/templates/user_table.html:77 #: cps/templates/user_table.html:100 msgid "This Field is Required" msgstr "" +#: cps/templates/book_table.html:25 +msgid "Archive selected books" +msgstr "" + +#: cps/templates/book_table.html:28 +msgid "Unarchive selected books" +msgstr "" + +#: cps/templates/book_table.html:34 +msgid "Mark selected books as read" +msgstr "" + #: cps/templates/book_table.html:37 +msgid "Mark selected books as unread" +msgstr "" + +#: cps/templates/book_table.html:57 msgid "Merge selected books" msgstr "" -#: cps/templates/book_table.html:38 cps/templates/user_table.html:124 -msgid "Remove Selections" +#: cps/templates/book_table.html:60 cps/templates/user_table.html:124 +msgid "Clear selections" msgstr "" -#: cps/templates/book_table.html:41 +#: cps/templates/book_table.html:63 +msgid "Edit selected books" +msgstr "" + +#: cps/templates/book_table.html:67 msgid "Exchange author and title" msgstr "" -#: cps/templates/book_table.html:47 +#: cps/templates/book_table.html:73 msgid "Update Title Sort automatically" msgstr "" -#: cps/templates/book_table.html:51 +#: cps/templates/book_table.html:77 msgid "Update Author Sort automatically" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/book_table.html:69 +#: cps/templates/book_table.html:89 cps/templates/book_table.html:95 msgid "Enter Title" msgstr "" -#: cps/templates/book_table.html:63 cps/templates/config_view_edit.html:24 +#: cps/templates/book_table.html:89 cps/templates/config_view_edit.html:24 #: cps/templates/shelf_edit.html:8 msgid "Title" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Enter Title Sort" msgstr "" -#: cps/templates/book_table.html:64 +#: cps/templates/book_table.html:90 msgid "Title Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Enter Author Sort" msgstr "" -#: cps/templates/book_table.html:65 +#: cps/templates/book_table.html:91 msgid "Author Sort" msgstr "" -#: cps/templates/book_table.html:66 +#: cps/templates/book_table.html:92 msgid "Enter Authors" msgstr "" -#: cps/templates/book_table.html:67 +#: cps/templates/book_table.html:93 msgid "Enter Categories" msgstr "" -#: cps/templates/book_table.html:68 +#: cps/templates/book_table.html:94 msgid "Enter Series" msgstr "" -#: cps/templates/book_table.html:69 +#: cps/templates/book_table.html:95 msgid "Series Index" msgstr "" -#: cps/templates/book_table.html:70 +#: cps/templates/book_table.html:96 msgid "Enter Languages" msgstr "" -#: cps/templates/book_table.html:71 +#: cps/templates/book_table.html:97 msgid "Publishing Date" msgstr "" -#: cps/templates/book_table.html:72 +#: cps/templates/book_table.html:98 msgid "Enter Publishers" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Enter comments" msgstr "" -#: cps/templates/book_table.html:73 +#: cps/templates/book_table.html:99 msgid "Comments" msgstr "" -#: cps/templates/book_table.html:75 +#: cps/templates/book_table.html:101 msgid "Archive Status" msgstr "" -#: cps/templates/book_table.html:77 cps/templates/search_form.html:42 +#: cps/templates/book_table.html:103 cps/templates/search_form.html:42 msgid "Read Status" 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 +#: cps/templates/book_table.html:106 cps/templates/book_table.html:108 +#: cps/templates/book_table.html:110 cps/templates/book_table.html:112 +#: cps/templates/book_table.html:116 cps/templates/book_table.html:118 +#: cps/templates/book_table.html:122 msgid "Enter " msgstr "" -#: cps/templates/book_table.html:113 cps/templates/modal_dialogs.html:46 -#: cps/templates/tasks.html:37 +#: cps/templates/book_table.html:128 +msgid "Delete selected books" +msgstr "" + +#: cps/templates/book_table.html:148 cps/templates/book_table.html:172 +#: cps/templates/book_table.html:192 cps/templates/book_table.html:212 +#: cps/templates/book_table.html:232 cps/templates/book_table.html:252 +#: cps/templates/modal_dialogs.html:46 cps/templates/tasks.html:37 msgid "Are you really sure?" msgstr "" -#: cps/templates/book_table.html:117 +#: cps/templates/book_table.html:152 msgid "Books with Title will be merged from:" msgstr "" -#: cps/templates/book_table.html:121 +#: cps/templates/book_table.html:156 msgid "Into Book with Title:" msgstr "" -#: cps/templates/book_table.html:126 +#: cps/templates/book_table.html:161 msgid "Merge" msgstr "" +#: cps/templates/book_table.html:176 +msgid "The following books will be deleted:" +msgstr "" + +#: cps/templates/book_table.html:196 +msgid "The following books will be archived:" +msgstr "" + +#: cps/templates/book_table.html:200 cps/templates/detail.html:275 +msgid "Archive" +msgstr "" + +#: cps/templates/book_table.html:216 +msgid "The following books will be unarchived:" +msgstr "" + +#: cps/templates/book_table.html:220 +msgid "Unarchive" +msgstr "" + +#: cps/templates/book_table.html:236 +msgid "The following books will be marked read:" +msgstr "" + +#: cps/templates/book_table.html:240 +msgid "Mark as read" +msgstr "" + +#: cps/templates/book_table.html:256 +msgid "The following books will be marked unread:" +msgstr "" + +#: cps/templates/book_table.html:260 +msgid "Mark as unread" +msgstr "" + +#: cps/templates/book_table.html:272 cps/templates/detail.html:348 +msgid "Edit Metadata" +msgstr "" + +#: cps/templates/book_table.html:275 +msgid "Edit the fields you want changed. Blank fields will be ignored:" +msgstr "" + #: cps/templates/config_db.html:12 msgid "Location of Calibre Database" msgstr "" @@ -2686,10 +2800,6 @@ msgstr "" msgid "Mark Book as archived or not, to hide it in Calibre-Web and delete it from Kobo Reader" msgstr "" -#: cps/templates/detail.html:275 -msgid "Archive" -msgstr "" - #: cps/templates/detail.html:301 cps/templates/listenmp3.html:190 #: cps/templates/search.html:16 msgid "Add to shelf" @@ -2702,10 +2812,6 @@ msgstr "" msgid "(Public)" msgstr "" -#: cps/templates/detail.html:348 -msgid "Edit Metadata" -msgstr "" - #: cps/templates/email_edit.html:13 msgid "Email Account Type" msgstr ""