From 07649d04a3f63c7d484de278b9e48ad15755cb36 Mon Sep 17 00:00:00 2001 From: Ozzieisaacs Date: Sun, 24 Mar 2019 15:27:23 +0100 Subject: [PATCH] Fix updater Update translations Code cleaning updater --- cps/admin.py | 3 - cps/templates/index.html | 8 +- cps/templates/search.html | 12 + cps/translations/de/LC_MESSAGES/messages.mo | Bin 36012 -> 50873 bytes cps/translations/de/LC_MESSAGES/messages.po | 643 +++++++++--------- cps/translations/es/LC_MESSAGES/messages.mo | Bin 47833 -> 50726 bytes cps/translations/es/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/fr/LC_MESSAGES/messages.mo | Bin 52461 -> 52511 bytes cps/translations/fr/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/hu/LC_MESSAGES/messages.mo | Bin 48094 -> 50964 bytes cps/translations/hu/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/it/LC_MESSAGES/messages.mo | Bin 45765 -> 48670 bytes cps/translations/it/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/ja/LC_MESSAGES/messages.mo | Bin 49886 -> 52818 bytes cps/translations/ja/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/km/LC_MESSAGES/messages.mo | Bin 58110 -> 60755 bytes cps/translations/km/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/nl/LC_MESSAGES/messages.mo | Bin 46973 -> 49890 bytes cps/translations/nl/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/pl/LC_MESSAGES/messages.mo | Bin 46437 -> 49375 bytes cps/translations/pl/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/ru/LC_MESSAGES/messages.mo | Bin 58826 -> 61601 bytes cps/translations/ru/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/sv/LC_MESSAGES/messages.mo | Bin 47395 -> 50310 bytes cps/translations/sv/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/translations/uk/LC_MESSAGES/messages.mo | Bin 56164 -> 59035 bytes cps/translations/uk/LC_MESSAGES/messages.po | 636 ++++++++--------- .../zh_Hans_CN/LC_MESSAGES/messages.mo | Bin 46152 -> 49089 bytes .../zh_Hans_CN/LC_MESSAGES/messages.po | 633 +++++++++-------- cps/updater.py | 54 +- cps/web.py | 5 +- messages.pot | 597 ++++++++-------- 32 files changed, 4625 insertions(+), 4296 deletions(-) diff --git a/cps/admin.py b/cps/admin.py index 552df575..267b7183 100644 --- a/cps/admin.py +++ b/cps/admin.py @@ -766,9 +766,6 @@ def get_updater_status(): status['status'] = updater_thread.get_update_status() if status['status'] == -1: status['status'] = 7 - except AttributeError: - # thread is not active, occurs after restart on update - status['status'] = 7 except Exception: status['status'] = 11 return json.dumps(status) diff --git a/cps/templates/index.html b/cps/templates/index.html index 19cd8447..8063ad81 100755 --- a/cps/templates/index.html +++ b/cps/templates/index.html @@ -64,11 +64,11 @@ web. {% for entry in random %} -
- ? -
{{_('All')}}
-
+
+ {{_('Group by series')}} +
+
{% if entries[0] %} {% for entry in entries %} diff --git a/cps/templates/search.html b/cps/templates/search.html index 60b5b1dd..21aee4ae 100644 --- a/cps/templates/search.html +++ b/cps/templates/search.html @@ -28,6 +28,18 @@
{% endif %} {% endif %} + +
+ ? +
{{_('All')}}
+
{% endif %}
diff --git a/cps/translations/de/LC_MESSAGES/messages.mo b/cps/translations/de/LC_MESSAGES/messages.mo index dd83f9a00ab25ee67a32e8d490757e465c454938..7fd45eded3984d497173294ebe6fe15749f402d9 100644 GIT binary patch literal 50873 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≧+(wyEp)EwTHY`)mm*7V%o(iCl<5j(xTmB&oo*~1*$nc2f%6!I<% z2ArM)d-8gh`@I?Ns>Lfj?21>~&1<_-%%xpjjdyp%?B9Jnag63@2JdOz)Tvxv8quEk zv+(Clx9k~y<+Y#UzV@kmx0>Jg&Nm>)%>G76LizEJ0zM+N13*#>^n;|^6$VVmu=F;)L z=ED= %(rating)s" msgstr "Bewertung >= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "Suche" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Lese ein Buch" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "Registieren" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "Eine Bestätigungs E-Mail wurde an den E-Mail Account versendet." - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "Benutzername oder E-Mailadresse ist bereits in Verwendung." - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Falscher Benutzername oder Passwort" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "Login" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "Token wurde nicht gefunden" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "Das Token ist abgelaufen" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "Erfolg! Bitte zum Gerät zurückkehren" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "Du bist nun eingeloggt als '%(nickname)s'" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Bitte zuerst die SMTP Mail Einstellung konfigurieren ..." -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Buch erfolgreich zum Senden an %(kindlemail)s eingereiht" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Beim Senden des Buchs trat ein Fehler auf: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "Registieren" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "Diese E-Mail ist nicht für die Registrierung zugelassen" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "Eine Bestätigungs E-Mail wurde an den E-Mail Account versendet." + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "Benutzername oder E-Mailadresse ist bereits in Verwendung." + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Falscher Benutzername oder Passwort" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "Login" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "Token wurde nicht gefunden" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "Das Token ist abgelaufen" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "Erfolg! Bitte zum Gerät zurückkehren" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Du bist nun eingeloggt als '%(nickname)s'" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "%(name)s's Profil" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "Es existiert bereits ein Benutzer für diese E-Mailadresse." -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Profil aktualisiert" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Lese ein Buch" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1084,7 +1093,7 @@ msgstr "Ok" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Zurück" @@ -1104,14 +1113,19 @@ msgstr "via" msgid "In Library" msgstr "In Bibliothek" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "Alle" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "Reduzieren" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Mehr von" @@ -1219,7 +1233,7 @@ msgstr "Metadaten laden" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Abschicken" @@ -1255,8 +1269,8 @@ msgstr "Klicke auf das Bild um die Metadaten zu übertragen" msgid "Loading..." msgstr "Lade..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Schließen" @@ -1485,8 +1499,7 @@ msgstr "Login" msgid "View Configuration" msgstr "Ansichtskonfiguration" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Titel" @@ -1530,31 +1543,31 @@ msgstr "Kategorien für Erwachsenencontent" msgid "Default settings for new users" msgstr "Default Einstellungen für neue Benutzer" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Admin Benutzer" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Downloads erlauben" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Uploads erlauben" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Bearbeiten erlauben" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Bücher löschen erlauben" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Passwort ändern erlauben" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Öffentliche Bücherregale editieren erlauben" @@ -1562,11 +1575,11 @@ msgstr "Öffentliche Bücherregale editieren erlauben" msgid "Default visibilities for new users" msgstr "Default Sichtbarkeiten für neue Benutzer" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Zeige zufällige Bücher in der Detailansicht" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "Erwachsenencontent anzeigen" @@ -1670,7 +1683,7 @@ msgstr "Hinzufügen" msgid "Do you really want to delete this domain rule?" msgstr "Soll diese Domain Regel wirklich gelöscht werden?" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Nächste" @@ -1687,9 +1700,9 @@ msgstr "Zurück zur Hautseite" msgid "Discover (Random Books)" msgstr "Entdecke (Zufälliges Buch)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" -msgstr "Alle" +#: cps/templates/index.html:69 +msgid "Group by series" +msgstr "" #: cps/templates/index.xml:6 msgid "Start" @@ -1731,7 +1744,7 @@ msgstr "Bücher nach Kategorien sortiert" msgid "Books ordered by series" msgstr "Bücher nach Reihen geordnet" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Öffentliche Bücherregale" @@ -1739,7 +1752,7 @@ msgstr "Öffentliche Bücherregale" msgid "Books organized in public shelfs, visible to everyone" msgstr "Bücher organisiert in öffentlichem Bücherregal, sichtbar für jedermann" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Deine Bücherregale" @@ -1776,7 +1789,7 @@ msgstr "Logout" msgid "Register" msgstr "Registrieren" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "Hochladen..." @@ -1788,52 +1801,27 @@ msgstr "Bitte die Seite nicht neu laden" msgid "Browse" msgstr "Browsen" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Bücher Sortiert" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Sortiert nach" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "Neueste" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "Älteste" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "Aufsteigend" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "Absteigend" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Bücherregal erzeugen" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "Über" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Vorheriger" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Buchdetails" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "Hochladen beendet, verarbeite Daten, bitte warten..." -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "Fehler" @@ -2131,29 +2119,70 @@ msgstr "Benutzer Passwort zurücksetzen" msgid "Kindle E-Mail" msgstr "Kindle E-Mail" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Zeige nur Bücher mit dieser Sprache" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Zeige alle" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Benutzer löschen" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Letzte Downloads" #~ msgid "Show sorted books" #~ msgstr "Zeige Bücher sortiert" + +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "Neueste Bücher" + +#~ msgid "Oldest Books" +#~ msgstr "Älteste Bücher" + +#~ msgid "Books (A-Z)" +#~ msgstr "Bücher (A-Z)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Bücher (Z-A)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "Bewertungen: %(serie)s" + +#~ msgid "Sorted Books" +#~ msgstr "Bücher Sortiert" + +#~ msgid "Sort By" +#~ msgstr "Sortiert nach" + +#~ msgid "Newest" +#~ msgstr "Neueste" + +#~ msgid "Oldest" +#~ msgstr "Älteste" + +#~ msgid "Ascending" +#~ msgstr "Aufsteigend" + +#~ msgid "Descending" +#~ msgstr "Absteigend" + diff --git a/cps/translations/es/LC_MESSAGES/messages.mo b/cps/translations/es/LC_MESSAGES/messages.mo index 87d90d014cb534c94b97059dbd7ba6ce83455f05..8f86300e0ed7ae39f2d14a5521bb8ef1dcdcc6a2 100644 GIT binary patch delta 17680 zcmciI33!#oy~pu43nV~*gf(n(WDg}FEXor0MfQm7pnxGcz>$!^$qAe2kws*2gNVo? zi^LrjIe>sDxZpx@w_2!Gpjs5Lf)}w+mHYjj`Pa(5z3uJu^xi)A>1Sr%d1wCfpLyp* zdk=pX`^cSf;ZLi?uk`rOgK?f$7vt-x_P76>?%;XJRKLbn_!G9k%#N=ASZqXn4pzYp zI2^a(2u#d!?~TWD)R$u!T#E^w7xp$$NTlI$d$7$t@OB|FdHbv*GVOea1@%Ss$e3@8|`MnMlG;mMrFxWZ_H^-qSnuH2yD%Qm5s1+|k zO|%Xb=oYMl&tXOU0PEv1RKJ+c(Up5CSd00+S`=Di8&sqdQ3Fr4`faGx-GLftxjlat zNul>D>b*l)4L?Aw@JsWoc@b;T9@oY7uZLj`(1?Oo)B>wwFY7Q0^?bb5Cz%CUf%all zO6Q?6xCk|I3F^IdW+`grTdckpHP5SE$iEKPZ)wm9zCsOn29?V1P}xjFh6PmQ@e)UgV{7_fLl=$FT3) z*TV%`0hOs_vnFcASD?;FQ)_R9dapeypl+z~u0hQ=9IwRiGzyAj1uC*Fn1ipPPH&T* zZlJcP%ydEx&_^oWCUu(erqqp6zVfk?=P|T6{sy+gUZC~sKDRCw)*~mM?r@vxwpHiu0%yR z6czD}s27S+hh_n4;(JhAu^JWNM%2WQVN-k-8{lDN3hxKJ0lQ!0c@1$rHe!D7WeQr+ z35>_{SO))s(F>!G8#o13uZ?=%9NSrgbFl>i8u>&#^zyDT-}%aXHa;F z27Nwf>_MG=_PL+}8jXo~BkJ%4P%Bx8nxNEt0_#!VYW25K?|q0mQJypG&8N_qhK<-7UqhYF3z&+j*Sd&Xp)%19btt={CLWGDOgErbz7Tuk zTGY75P=_vIunW9CYC$cqxxW7{6qJF08AMHVGinbPptfQ$DnlixRIWk={1GaUa@V=Q zlTlmR5|gn%rr`BfpNg9AR;l?mN>+Hrj@ZF^*X3S-xb4pVLXMpI2EZ4Ix6hN(XI_mv7sK6JZ-oM9OiR!l&m61~O$zkMQ4clm_gu77#yn!0v1JuBWQ4{{b z+E1aj;4G^Dc~rlc;cn#>Q1zy$eyz-_tvw5s!QNqe&<{0XHnzoKsDYQ5_n`vafGPM0 zcEnv+0sjLv;U!d{}sDRF5g1-MBqXh;Xu&uI=rKpIXK~3}=YM_@;0lbbH z=qPGWPoO6F4wVV-diT5>s-BD*ua?!XL6F}(tW5y_cp5E5!5)x!xXAf_!4X3kEox=n*61xj#r^x z?2L-IA1ctH<`~pKIre-K>b>dKJ{xtG!Wd0C>it#rJiOi-N>PzMY3{N1H&H8m*XqAR z1#%n}*lEY)N?h5X2cz4jDZ(vXF^Af}*FcQb0Q7NZZ> zqyD1VhwU(SoV#i}qB1Z7703;!fOAlR=A#bz40AE+EUm#reg6>(ifC`Nfzyr}@R0dF zDl@;uEAWI_cDx(7F=}P)P~!|h{d^C>UN{^z-WqeG`3NS4d9a0o4$Tf!s$MaFjatzM zsKfYM)XI+8^V3#8XU{L8kLQUuy3D1a0`H2gF&j1hJgkpPFsuO|r;v%;Q9nLkU}LPE zxb z6Q7{Y!b$U@Jujc@zLKh_m8GLn-wAc24My#C4l0l$RKHtL{q96fyb(42leuB{`8`jA zK9hG*d-w-bs!pO__!f02f3)`Ud9Gg-)aP5v%s`FP6BW=1)M1;18t*pLIEyhJSB5EQ zf;Fhm>0wl4&!Pr+3AKXvQ4<|Q{V1KshFHn(GS?b)C1;@m7=lgEk4^DTY=qlU^BhJ6 z68?fhUkcxvSrhqZd+G~OfgD0zOrM}qc-|~O$qjG?mZkkys4Z-b+JY=hz(J_z!_6B| z0pub9guOxvWoVd-2{_+eiaKm7P-o(4RHpV?{dLqH{|5WxXBdagC%bgP?bliR zNK{7sW-(S`e(!b)8sI+E#A{FkZL<0^s4duuIt%Zj0{aa0-U-xuUt>8uhdK*Cp;lV` zCbuP5qRvnoRC`|x>rf1%pq0(Wc$|+qWOtYwFrE5ysJ;CHHSzaW{}J_m(^^{{sX1x+-;450RM8n(o_sDZbj2HJ*N@pIS(->~Ni(_98C zVkYfARLZZzbi5s#V+32{rx^YFKV`a`pcZN+^--y7X6@PLFw_Mz29=?4n1T~gDV=5Q z^R0a;R;GO&R>Uo+!@396|6Pp!{eMIS8jhg`{?a^y$<+Uhb+KH~J#T{QpMeVaDpX)y zQ2l$@^P%>9jMZ~d6W@fICxp?z|L0QBX}lXVajkVYgq5g&X#N2;@wce&_yQ`h>P4>J z8Z}Nf>NCC`)jxz9=Vo&$wx+(ii0@y&Vu!5b8Pp#V-(yp(9&)Mcj9Tdc)Cz{7CK`u2 z6H`zbn1;$g2vhKOtFJiQf8Yr>Yb*N}IHanvZ&u~-#w_z48 zMFsX6`tTjpVLgKi=)Bc0qEhb7aQzceUqMQkLKO;i?LkY_0PRsPbTO~Ns?@XX`2=&a zS%3;8Wc6FHHuVKoUvHM80(%0rHQ}eNVF&87+l`v|fOU8aJ5m1-m4TF*?r*+Ms4ehg z6AYpjvKsaN7F0&JqbAyI?zi^Wonh|~1-$#(K`Eof`SgspHOGv66#RaneA566_v6+sK5qb zGrSQWi{Z~`tWLf4&C&mz%Ik~ziWZ{}cVi^}EfL<~mdWn^9lO7OU?@jr(%g3I|cC zdEe^Cu?F>%s6C6B=K`vU+M;@>t!aSzD$-FCbwUN+8}?wP`-|DZSQhONF@swF>zB~1OuoLaGuov#Y)_4)yVfq3$pC9>3!rl}L zZFsN_mHKy4sXmE5EVIznn_wO4-LW^0MFqGSmHM3+k1t>}wdO(8O5ZnsXYHRyW&cl8 zPzKJSQh5<|h|1mW{&iV1ypsA5tA}tI_4TO!%@?@|I-qXQ9;o-TQHOLYY76J10($@_ z<3^1B^MAQJ+yGTjpGzIo4c8VMV-I^i8I_^wR$pe`hh=Gh5X)dG>is8BhjSMu;LE75 z?I0>6CortS845k{0&1X6i`~k4;%MqaP^sR6t#BXeFr7thNz4-W+15jy@(k3(S*U<| zVX7~oS#IvXsTzRMK-yF5lR;UbgK?OJl zbw5lo!qMf9W~Kv)B>JD zy}unB_f`;$=_$-qqPhm~;- zDuqkU6{xRc4Qe6VQK$U_)Jo6bBs`D08OJTx&o%pBOrZ}AJFq+chHd{ZOANQ9VHO4L)nk~1`%x=+ z3tQl4s69`*-~H%RM`gf=ny@KqViYC2M)lMsP~Vdw&o-%bLCc%|6~ejtK1dY z5vx!ijCvs#wTJnr6fZ%2|En<;*JCu*s6Zm-^QeBWpbqC7s0^LNig*U~wfwY-{OiTU z2i(e&QK_qk4Y3>Qg*;T`LDYoHu{>_Z8u&EokRHIMcoemO#MN%%6x4e)u^OgfBkU5U zpuNe(p|}Dy;2%)~{)iedb&ZR-8!F)bs1*%CT|lEy?}bpAT80W>Eo!Bu=F_OaccI=7 zzhZ?qQ7^oM+S}ivQuvwGKgU$+r?3LXuXO_?qb8_<(KBJ~O;PWsqb6*P+Um}z!=8=I z7xs!NsN=2X0@Q$uQHN=Twcn3g`C9CPn^6NFNA>^O{2q0NV%E7ptDz3H57jRnwa|8W zg}(o8_Fz2L=0O1U`7K0se8_y#+>RRX1ym*uq5}B{72q*cCcd)gXRQ4P)LDvu(2ZLK zqyPM0hk^!bfQmc=HBfg{0R5~!1eK{Vs0qfS4%I{)hqF)8u(Kh>f#?!fy8Za15`KbqF!uh^)%FB%CvfS)I@!)ew{hW+Q;J+JfDmj=MGe$ zcWnr}m93&dE8Bpbu@tqkc z0)NXH_Kr}{%1@v=o=0_z+3Z$U4i!*ktc8uR9(FJ?6<{p&dDt5lqB3z1mBP=k4xUCICO+(bZqu+G^36#CK795ryr9_+&M)c0WnJZSA-qf&hibqM30bX!#e z6REdEZ9#j~^O2}ScazoUq7LyrsLX~Rrl0}0p!Vu{ERXM?Ivzpo-5E1!i_1teGZWRn zJ!+hu);`4QV^CLnz+8m-J7Tjl?CrIN-=I?cCrrZgsJ)GQ$_<=|`mAcA0&Q$|K;3+U zP%F(fJN7@7g7#>rITy8}hf$Gk#liR{_Ql%IxW8_5 zQJ>LH)LD29wa2GXnM>O0exw?p7S;xp@+{PQJuv$H53vr{qrQS%)WiYQ%I4ei)u``( z6Dl)1F%zH1ig+3o_(e>{GS9kGUjwhB-T>n;gadIF>i_@DJ3v7Z*4gH6s)ncm(^09) zvU)Zu@*7b7^RXO;P=Viy3Sc2B<@Z?o1Lk_v`=!_cw{NrG|3BG-^O(YevJuxY6{}Eh zhDvD`DuvgfGBnES(@}dn3pK$CYkvq8*yC1z29=qesQ#}<*nhonj0R0~7IoU=x4T2; z!#330qEacbXQ&1!~qCS&3 zr~p=>298+$5b9U&OKUH?(+yl7(`moj>UpSfZbrTTfYqPH3e?|5ZP^iwe*d3S&|aOg zhI7{8FQ|-^dCq-)si=NU%}lccDlFFax#M?Xfy`M(ycPb2KW@@u)*P88zV?)cf{EP!rceP1FFj;^wF`k%_giC+fYi<|NdXOh*Ma3)66} zwLkI#`By|wS;H>W0Q*oAy@}fU_fUuG1nNiSJJc!f@S+R6w>b@_=a|2Z}>!G%$1-8WLr~o!$TYLta;^)?$wBKc@w%HIBU<-^MVzV>q zZ1ljI7#?a3Q&6d#i+XSmw!lYGEBO$Wkuz8u|BUsq>Ps&5ZLlNtL8uij#zDBo>R+M) zzKF_DgO{UQ686$4XfM-Id)&tCgvv~BRA7UxJr@;7K5DB%r~z+9O?*3Qyj9lzpw&xJ z<3C~T5v;H8e~)!IVh@g@4$BFvpR)S5s4X~;njroaH*tCFOg#mgFBDv-EW8H4$~BnnzVikXU*6m>Q}$0m5` zK%{@W-7)dGg~bIWm)gG>d9}lWn8)?A3j+ zugD*q;Sc)q3TGCy@J-A2=M?#UxrGIxoZOIac42YQmyObo05|x--$I5BoqG<4s!-HQpKXMVt65c2iQ^W2IqZyxH;4f;br zKg!V?{$Q{$_;VV09GvaT&k6a186_98_m9+iFCRo>N0)MW^IyldNB?Z>o!9oQ6f7*B z=9@5E`x)>TmHcq+ve>Eq$il(1h4me;K;CX!bOJ%_Wq3i5YUG;{=`oSaQI%sd6?tK>NN1pEa^Xzh1V8!r`z8nS2*%eevvXdc zC}#p$aV=>j?M6?isS_F~nBtC3<7R~#B&{f;WY4+=g9B4@JhwYT{UNQW$h&qzD2KQ% z-=m;EkG%`z){)pTzm5shoeVI_= zNv|CDg-!cwc5@2yd^x^e*?%32W1H_QEDrf{FmmMjH)31lXh}M>d~K9C)J373V39W@ zTK(DRfi2lM?$snhj(#qUi(2?1W5?Gho1~B7ucy2u*Z)AWdzFKc@6Qbd3JXfk`FoZv zc01K`V*QxN%t_f;N6Qf^o#@~HbRGgdZFJf!n&p*W#QsC$82Mg6i z@IQYCGjjr=jEszu9aB3G{l)j?4d<${)88u?nBnjG%a-USM;itN3i9&(ll%qITJ*qn z=R|0Gb6HzqNri%jsmfD9UQRI2ciFRoNb`dBu_YsdO(Nr`g<|6JigP3HOm7@hzD;`T zw!X~v9a~=&`6*Z{u8gkCP^8+7BecWl!E z`htA_rt9^yby<oN0sflH~ zx?A_}UaS{`n=`Ye&1}=*9bso491oj@ljmb{X5%8w%tH=Hvu@ p|MdPX-O;L+|9`xI-`}w;HfD6muwb*u*j+ng;<wjm)~_GMxkvP{gNkPjhb2_IX?ZbG4a zL@Bbj$W~-2OG#ZNJeADI44+zf=G+GA1c zR7BmW`c25cBFdma6LvzSv>WOy2cQOywC7_{11FesPywt$1+WEmWIN4wQSpYj$jV}-<2b3P+q@Jt(MD8;-b78X2lf1O)aAW~>US3# z;X_nl_0nCNp)P9%D&zgIg5LjO6f|%S>TJEJfg8izFPK?_eoeW@0rB0P+W_%v$34b*>L?1gayL*E zwQvk3UoTx!TL^AYxis`pdze_`fwznCTwE$Huk&+)}_5K2H-2G zK)mJ(a~%fKz8T|i8ug8e{ynG+ooYk=Yf-pQgI=SmZQTc5PysxT+Sx0p36`QR-x}18 z_F@oTGOuAd>fc*EFvA@ein`>*F&Jy2?oet5`PW3PXi#bfqZWD*wbMCR0asxl?nmwX zFzVKyMD6?=EQ7zG?n-Dow|@+(UpdsmwXqO3Kn2v?LqR+0jXIM&)WXY93vEUX@SzrX z-#m}%cNbGJu)X6%V_YMw7pNA(qk;x*I;Z=y2sD=MH`9kmYUpGiTH z4MiQrOjK&uqcY&L`cc$^Ut$rwiiPnevJ>Yw^v8#&@&BOuM|N_b$Djf$kMUSZb=G%U zQwYcQr~y4u85o3GC>twbF6y!_L-pT-W$`G6;kT$A|BBl215{xDpf(cN+5MnJqwZ1- z^r(sDOi>aK}ZU0*FD4t7Imk`X!_0ZD=-s zg8ZwYEe#Ra5j8iAM zDFvl!Eoz}n7=>>lf1*1dq9*Z2x3LrvTQHJ}~p_II)8*{E?NQT@haB6_eWZb99pz2;F=CQhSX+pr$o z4ZZ(~6f{vw)HnQbs}IJK)JLL@Vj3#24^WvoWPXCm;AzwyI)_^LTU21TQ1kzW8vh7& zDTAIQSWQ%(g3hW6YG7T|j+>#LXIQ-xYQmmYABZKX4@E67*`Cirjay(YL(R9^d>s|= zTThaIMf460#qoVq0H;t3T|x!+E$Z^zw)VeJ;{toSU$juv&uJX$_rDPq1d19r5EbBX zRA6JxNj>fTpJp9qqXv3W3#>%F4eL-5??O%Ro;^Qc^<${F;)MCNwckW-=#JI@MgJ{$GpGYXS&H0r%yhnn|o)KTrn zcsz^xJHhiC1${aj_I7vN9Th+yROACufjoo7FwcAm70_~20PC#28I`%W%{{1b`%nR& zLiN9n1nhBsvW8ozNbg~5^y}kJ)Yg35?21~r7wT?gqB4?Wjz?|4gX%XOwUK%De7V)v z7Ch(t-=Gjrhh3-?okN}FO-#WDs0C{Fb$@>Ap(gBswQ&%p;zBHg$1n-M#cCMIAOE_P z4N;kV5|x2Ln5OqXn?eIzkBa;fYJsa*5r0DMB)q@7<7m{`RyI>n&s$?@?1h1QAe>7705R9sN)_A>Ua#b@Fmm&H?Rc$hI$J^2e^@!LuI5gs(%vd=o(miYt#-O zM~&}h4n@uL0xF;d12})}cpVLzC?EB{zKsfCpLINe3iJwU!dqAh{Rg^#8O5S9&lAL%AX5i17+*jIa1@o&bEpjcY6fJw6O=;jv@$Ay z8mJVfqB7Lho_8{PpaSTJ3Sg**f?k)gr~wnrX{gII2X)I|M`h?8s~vsaCQO`upy9yQHMpOXXP#N{SXAK`)!&%ghuA>J2gbMHuYJxwk-EXiPKw;GL z;;2ANV?|7`_Q$OK2~no-O;p6Y%)^*L{c~)CvDxmp zL0E8`QD;2XoPojAmtb97g@y1ms{e&-@~;jzXi$VdqZWLGK^QUA9Z&)lXj#--P!%<< z4(dbF5Vdf7YwwL!s1LIGOBh0Z9%`PY7>H|!l7F4eCK|NhJ}iWXQ41VLrTTMg{|+_q zXVkd=Vh9!<=8lg-)nlw)0o6aj>Pe^#q*%SFhk_PrWj=)N_Y|7I=V)+!^kst}v=S*{p{F)ElD) zHb-S90}EqsYaeXw!%;`_0_xJuL;bq0MD>3g*|^7f-z_+YP!oS*osMJkDb=ZcwjPIC7P@m*4 zFbsc1y|#a$j`YptAxE#av{_m!sog6_$cmlP+dDNMIhuYzf zsFdHraD0TCD14OLuLkN;);8OjgRna7&!OhufQ@k*7X0sjKT?RN;STD|i|4otmPXaf zp)yhl6=)3%#Z=U#Yi{jbQT_X(`e&NMP`{p|?fDFIP7e9kfQ2+@;$`+=EyhyMxB5Zz zBUC0%pi+6p>KCvG^{-J2|Hq!+#wOJ7qcV{Ctee?^Se5#SXUV^I;H5zW^HC|^j#|KH z?zQ%V<}uW`F^yk4_sI&E< z2An|!bP0>%H>k^a2X(n3#<&|uL1icn6;Ly*hTU+pAD0{T8dk~U*wE9MLTw5YF&^K< z%6I~!@D7f{pt0_M&zpqF)W1MwEP#i)R7FsMmP7?w9`(G6Sra3v*F(KEZIJmr&H#Hb z8g=GVQ4y}P_MNCe4xuJIhdQFms0F`89l=dhihoC?HgLQfNGPgbF;t+j7>AWHM(=-X z3R<8)D#B+`f5A*aeRwul{QxTU*HIJQLmkmS*a6Ev=Po!DOHj|T`gBzPIanT-U@_c< zA*}BlQvpw*GH?O4)4QmhJ+yl8^X^0usK1C}P&-XQ^>2t8-vafz^+g>;4l00gR-a@~;V+(jdE|78s6Ncp_@RG}M5(sIy;W&zGT&ZjC+PY4vweDL#%h@v>QDqI=mJ zp}q^xOw{>Pc%6n6{23cy+$1*>Jh8a z3UmwVNIpPq*b>@RG4HsiBp2B+AYMOgDo=1Hj zwxZ7Vebjshto;}&;Pa?}uIM>gb$+3cf%h-~n@o2*wlFiyPG%2GqF+C(hO;plccKFS z7PZh#)a!f)wev@)0L#p9zYj_1DNaKR3c3v4Q3D2{j$|Zi!ilIOnT|m?7nQL^sN25^ z6LAmfE&9glC0=s>^}88rou^TOO+byG`V!|~g~A*fD&pH1glAC!UBU|Zy|stTbOVY& zUD{HpiR+{KJ%&wigt-N^f$y;#{)*}sKFbXxS+`uTMSU7dVH?zkqd(Ti98}8kF%b9I z^A9kX`bjK==THk=MrGt7>U$AA+db7@ zLS-UsuG`)U^@SXVI=bzs@4#79K(|oy+(jMfL#vmc=l*3>72DC?1G%&wXElW+8ct$} z24E-#&UbeZi3K}DMP44Y!tF|*jv9X&mC=i+o&SM4!kAaw4_hMY`_LRiSl{VN zL8-x5Fy2CqyN_Y`2$h+z1^ns8 z`c5(h4d{l7JQKCx6jUY_p?3BfYJq%v{wC^^y&o&%7g!7bz;2kZ&<$WBDu5ZN@$*pM z121}X$#ziC0>@AhpE56^0=SME_=|ZD)&BwNk_9YsGZBiaN22aTG#0^R)cD4z`O{JT zIxHgpdeD^yEz}E(;$WiSnL!~qhH82r1ac!$NLQT{H^()vF70^6XzgJNKtw#m0)#^J?cWjTB{v?*y z`#+F^CYp?jY&vSe`PdYfVl_=ypT(-wzsDgM zzMOt~|Hn{>!0D*edr>J|Vf8hrfbvm0+K#$hdr*NN!D##xHSQbK8Gn!3&^^?+e^B!m zdeyB*phpvzvW7S;LA@GkU{lod46`$8f}W@e2UtDZ9A%D0UD8RYTmK4bo)xIT*IWCJ zSINH~?4?0FIfM$}V=RrAQLov3RKJod+|-vt1(=8msIHlYnkU`r8K^)zS$j`ZVEs{< zdUgf**92p&<0Mpl2A0IRr~&J({TBN&g@umk$7axYm&)I52p`6r?R zoMv^e)jcb%@CGWP_fZ3nSp7IErDx4cs6elw0=S3jU-UIM;8LiJ#A3l+!cNqiqUM=v zE^_ra%PDAr)u^3qLPfk270_N($_`uoV^qI0R=5;9pann1R6LEXFldeY*K2!hM}0I_!@U@X*HH@xtaUdKf$gc6M2#Pa+SmqE zzpbd>{dZ997qH;}|96#wF3T?%gMRDWoyTH%>XlH>TcSQJJ*=LMx}+0O6D~k~N0yiVM2ehun7uo=_v5b6m2Hmh!Q1MZ9pqz^uU zxu_#Mf?Y9ulY9FIVHN7nqK?wJ{5ok)^0iZ}d>m!aGp6_W*Xm&oBVXzs`R~#fsPib5IK$ zMSWOKpe8(zx+6EN{s$`X;LUFTXjK357=+bO0eEUr2%*r(9<(&up(f~rjc@=K!sXV! z7Ihilvic!Z0H32S+YJoHho}tsZ*l8oP)Ax3ncw3yu?LT%BI{=L-l)tBLJb&=3TO^$ zp_QoHyd8D9K1IFvS5SdQZFN&0i?P(>P=TajW9){-_5Qy?K?`p{o#7VL2j&2l!xN}W zdJ`2$=o{`^P#HC0Ix3JpsQ%-ueKBgjZCDeJpx&N4_B`@U>a6cnqo9e}U|}49O5IQl z!5phUXU{#T49rHoW~)&B-Y|EW`%sxUX7!U;g!*~&I(jl__?1F?Y_QGkFcp>hd8j~E zqbAy9^=+sW?m{hm8^iEVdmg;q4KN%PU_5GkGHQbjP)C`*o&1MW=t6@Q8i+c}r>(;T zYkwJQ(Z0~?2T&7!gqrXa>NUHFx_nnqM|#hEfC|*v;a=LpsP)S1Ape@6A`MkA303cE z9r~db8jPB7xH;OMkH<*bC!-dakLte+wZIzGoyf;@Jc61h_$~MK3-eG=s!L%ntcKdj zRMZFLB}~DU*cwlwex!=O?Y@@nuo?9iQ2`u8E&Qp~&tOyPm#jTzryF1#>ignJu!b6_ z1?!?R&<;bftF`w>9nBbwz?ZDP1l4~FYGEHLkiDo(97gTF? zFD79=YDZt7zFc2n9R7|=TNDEls^K;a^ z7vClSDqN+ZDBeKr>~}1IA@8}bSvhP$y(g;Qa&rr6;=LG&2T^zC4C;$`4gK*J#^Y_& zT`0EK&1kts6clj+>c^ouYG?gW9cQ94;>B28hE;LrUf)lR-t+Um(fFt@uZhR6(BQ05 zLxzpY_T6s!z&|R!T6)bsiB8L$oZ-3g)%w&-PxSrNqC}9dRohViVC&ef-JAg5#SR(% z-mRUkde?Ry;cNB8Ab-CcZ{(}V-kRO!drNk2<9(+4Y~LT<#|3y_>-CbiTJJ`_+}?%# zd^7vh^7EbPo9I_;d{%Cr(^@u-u$6d09i^pHlR`@gw5=ij86R=bdhD zyVmh78u?U^H#PS^-qv~bO6TNckI0H|J!aUrtmaOS+^qNx!$u7mk(Hh0{VcDNugKU` zf8WsYqy2o>o~z&&no_fN-S|57(^BgAicBaS;7fWT+|So^@jZKkjZ~51*v>y+Q496#LKh&3;jD_(cHm-zK08@`Fk5Lj`dbt{JS@K$@9Le zOHTQFLtee+ZMotx@2VAEU+PLP8m-+d2tRs_uu5avDzT@F_x$&dM zW{u0qb!@ef|7-Hq-Pp>{yM5Cr(pts)dVZsd1^qKeX`Uv zbH@A|%)dQ+5BCfW_HEdo?&l3VP(Sg|hduI!jTkl|Gd|=0Jq5RQ%>RyJ(}6m^I|pX@ P`!*cj?dKhI^w|Fab4__5 diff --git a/cps/translations/es/LC_MESSAGES/messages.po b/cps/translations/es/LC_MESSAGES/messages.po index 42e9ad26..5eb74d5c 100644 --- a/cps/translations/es/LC_MESSAGES/messages.po +++ b/cps/translations/es/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: 2019-03-10 08:24+0100\n" +"POT-Creation-Date: 2019-03-24 08:25+0100\n" "PO-Revision-Date: 2018-10-05 11:27+0100\n" "Last-Translator: victorhck \n" "Language: es\n" @@ -22,185 +22,194 @@ msgstr "" msgid "Statistics" msgstr "Estadísticas" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "Servidor reiniciado. Por favor, recargue la página" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "Servidor en proceso de apagado. Por favor, cierre la ventana." -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "Desconocido" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "Página de administración" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Configuración de Calibre-Web actualizada" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "Configuración de la interfaz del usuario" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "Falta la importación de requisitos opcionales de Google Drive" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "client_secrets.json está desaparecido o no se puede leer" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 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:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "Configuración básica" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "La ubicación del fichero clave (Keyfile) no es válida, por favor introduzca la ruta correcta" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "La ubicación del fichero de certificado (Certfile) no es válida, por favor introduzca la ruta correcta" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "La ubicación del fichero de registro (Logfile) no es válida, por favor introduzca la ruta correcta" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "Localización de la BD inválida, por favor introduzca la ruta correcta" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "¡Por favor completar todos los campos!" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "Agregar un nuevo usuario" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "El correo electrónico no tiene un nombre de dominio válido" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "Usuario '%(user)s' creado" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "Encontrada una cuenta existente para este correo electrónico o nombre de usuario." -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "Correo electrónico de prueba enviado con éxito a %(kindlemail)s" -#: cps/admin.py:598 +#: cps/admin.py:608 #, 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:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "Por favor configure primero la dirección de correo de su kindle..." -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "Actualizados los ajustes del servidor de correo electrónico" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "Editar los ajustes del servidor de correo electrónico" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "Usuario '%(nick)s' borrado" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "Usuario '%(nick)s' actualizado" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "Ocurrió un error inesperado." -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "Editar Usuario %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "Contraseña para el usuario %(user)s reinicializada" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "Ha ocurrido un error desconocido. Por favor vuelva a intentarlo más tarde." -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "Solicitando paquete de actualización" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "Descargando paquete de actualización" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "Descomprimiendo paquete de actualización" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "Los conexiones de base datos están cerradas" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "" -#: cps/admin.py:744 +#: cps/admin.py:754 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:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "Error HTTP" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "Error de conexión" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "Tiempo agotado mientras se trataba de establecer la conexión" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "Error general" @@ -217,98 +226,98 @@ msgstr "Permisos de ejecución ausentes" msgid "not configured" msgstr "" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "Error abriendo un eBook. El archivo no existe o no es accesible" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "editar metadatos" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, 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:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "El archivo a subir debe tener una extensión" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Fallo al crear la ruta %(path)s (permiso denegado)" -#: cps/editbooks.py:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "Falla al guardar el archivo %(file)s." -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Fichero con formato %(ext)s añadido a %(book)s" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "Fallo al crear la ruta para la cubierta %(path)s (Permiso denegado)." -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "El archivo de imagen de la portada no es válido" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "Fallo al guardar el archivo de cubierta %(cover)s." -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "El archivo de imagen de la portada no es válido" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "desconocido" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "La cubierta no es un archivo jpg, no se puede guardar" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "%(langname)s no es un idioma válido" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "Error al editar el libro, por favor compruebe el fichero de registro (logfile) para tener más detalles" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "Fallo al guardar el archivo %(file)s (permiso denegado)" -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "Fallo al borrar el archivo %(file)s (permiso denegado)" -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "Falta la fuente o el formato de destino para la conversión" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Libro puesto a la cola con éxito para convertirlo a %(book_format)s" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Ocurrió un error al convertir este libro: %(res)s" @@ -321,133 +330,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "El dominio de devolución de llamada no se ha verificado, siga los pasos para verificar el dominio en la consola de desarrollador de Google" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formato no encontrado para el id del libro: %(book)d" -#: cps/helper.py:78 +#: cps/helper.py:96 #, 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:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Enviar a Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "Este correo electrónico ha sido enviado por Calibre-Web." -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s no encontrado: %(fn)s" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "Calibre-Web comprobar correo electrónico" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "Comprobar correo electrónico" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "Primeros pasos con Calibre-Web" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "Registrar un correo electrónico para el usuario: %(name)s" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "Correo electrónico: %(book)s" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "El fichero solicitado no puede ser leído. ¿Quizás existen problemas con los permisos?" -#: cps/helper.py:305 +#: cps/helper.py:323 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "El renombrado del título de: '%(src)s' a '%(dest)s' falló con errores: %(error)s" -#: cps/helper.py:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "El renombrado del autor de: '%(src)s' a '%(dest)s' falló con errores: %(error)s" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Fichero %(file)s no encontrado en Google Drive" -#: cps/helper.py:394 +#: cps/helper.py:412 #, 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:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "Error ejecutando UnRar" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "Fichero binario Unrar no encontrado" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "Esperando" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "Fallido" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "Comenzado" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "Finalizado" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "" -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "" @@ -472,30 +481,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -588,119 +593,127 @@ msgstr "Editar un estante" msgid "successfully deleted shelf %(name)s" msgstr "Estante %(name)s fue borrado correctamente" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "Estante: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Error al abrir un estante. El estante no existe o no es accesible" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Cambiar orden del estante: '%(name)s'" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "Añadido recientemente" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "Mostrar libros recientes" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "Libros populares" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "Mostrar libros populares" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "Libros mejor valorados" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "Mostrar libros mejor valorados" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "Libros leídos" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "Mostrar leídos y no leídos" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "Libros no leídos" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "Descubrir" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "Mostrar libros al azar" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "Categorías" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "Mostrar categorías elegidas" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "Series" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "Mostrar series seleccionadas" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "Autores" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "Mostrar selección de autores" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "Idioma" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "Mostrar idioma seleccionado" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "Dato inesperado mientras se leía la información de actualización" @@ -726,196 +739,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "Libros recientemente añadidos" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "Libros más nuevos" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "Libros más antiguos" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "Libros (A-Z)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "Libros (Z-A)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "Libros populares (los mas descargados)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "Libros mejor valorados" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "Libros al azar" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "Libros populares (los mas descargados)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Error en la apertura del eBook. El archivo no existe o no es accesible:" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "Lista de series" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "Series : %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "Idiomas disponibles" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "Idioma: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "Lista de categorías" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "Categoría : %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "Tareas" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "Publicado antes de" -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "Publicado después de" -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "Clasificación <= %(rating)s" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "Clasificación >= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "búsqueda" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Leer un libro" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "registrarse" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "Su correo electrónico no está permitido para registrarse" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "Se ha enviado un correo electrónico de verificación a su cuenta de correo electrónico." - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "Este nombre de usuario o correo electrónico ya están en uso." - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Usuario o contraseña inválido" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "Iniciar sesión" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "Token no encontrado" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "El token ha expirado" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "¡Correcto! Por favor regrese a su dispositivo" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "Sesión iniciada como : '%(nickname)s'" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Configurar primero los parámetros SMTP por favor..." -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Libro puesto en la cola de envío a %(kindlemail)s" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Ha sucedido un error en el envío del libro: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "registrarse" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "Su correo electrónico no está permitido para registrarse" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "Se ha enviado un correo electrónico de verificación a su cuenta de correo electrónico." + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "Este nombre de usuario o correo electrónico ya están en uso." + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Usuario o contraseña inválido" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "Iniciar sesión" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "Token no encontrado" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "El token ha expirado" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "¡Correcto! Por favor regrese a su dispositivo" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Sesión iniciada como : '%(nickname)s'" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "Perfil de %(name)s" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "Encontrada una cuenta existente para esa dirección de correo electrónico." -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Perfil actualizado" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Leer un libro" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1083,7 +1093,7 @@ msgstr "Ok" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Regresar" @@ -1103,14 +1113,19 @@ msgstr "via" msgid "In Library" msgstr "en Library" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Más por" @@ -1218,7 +1233,7 @@ msgstr "Obtener metadatos" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Enviar" @@ -1254,8 +1269,8 @@ msgstr "Haga clic en la portada para cargar los metadatos en el formulario" msgid "Loading..." msgstr "Cargando..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Cerrar" @@ -1484,8 +1499,7 @@ msgstr "Inicio de sesión" msgid "View Configuration" msgstr "Ver configuración" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Título" @@ -1529,31 +1543,31 @@ msgstr "Etiquetas para contenido para adultos" msgid "Default settings for new users" msgstr "Ajustes por defecto para nuevos usuarios" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Usuario administrador" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Permitir descargas" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Permitir subidas de archivos" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Permitir editar" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Permitir eliminar libros" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Permitir cambiar la contraseña" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Permitir editar estantes públicos" @@ -1561,11 +1575,11 @@ msgstr "Permitir editar estantes públicos" msgid "Default visibilities for new users" msgstr "Visibilidad predeterminada para nuevos usuarios" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Mostrar libros aleatorios con vista detallada" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "Mostrar contenido para adulto" @@ -1669,7 +1683,7 @@ msgstr "Añadir" msgid "Do you really want to delete this domain rule?" msgstr "¿Realmente quiere eliminar esta regla de dominio?" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Siguiente" @@ -1686,8 +1700,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "Descubrir (Libros al azar)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1730,7 +1744,7 @@ msgstr "Libros ordenados por categorías" msgid "Books ordered by series" msgstr "Libros ordenados por series" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Estantes públicos" @@ -1738,7 +1752,7 @@ msgstr "Estantes públicos" msgid "Books organized in public shelfs, visible to everyone" msgstr "Libros organizados en estantes públicos, visibles para todo el mundo" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Sus estantes" @@ -1775,7 +1789,7 @@ msgstr "Cerrar sesión" msgid "Register" msgstr "Registro" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "Cargando..." @@ -1787,52 +1801,27 @@ msgstr "por favor no recargue la página" msgid "Browse" msgstr "Navegar" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Libros ordenados" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Ordenar por" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "Más nuevos" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "Más antiguos" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "Ascendente" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "Descendente" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Crear un estante" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "Acerca de" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Previo" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Detalles del libro" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2130,27 +2119,31 @@ msgstr "Resetear contraseña de usuario" msgid "Kindle E-Mail" msgstr "Correo del Kindle" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Mostrar libros con idioma" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Mostrar todo" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Borrar este usuario" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Descargas recientes" @@ -2241,3 +2234,39 @@ msgstr "Descargas recientes" #~ msgid "Show sorted books" #~ msgstr "Mostrar libros ordenados" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "Libros más nuevos" + +#~ msgid "Oldest Books" +#~ msgstr "Libros más antiguos" + +#~ msgid "Books (A-Z)" +#~ msgstr "Libros (A-Z)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Libros (Z-A)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "Libros ordenados" + +#~ msgid "Sort By" +#~ msgstr "Ordenar por" + +#~ msgid "Newest" +#~ msgstr "Más nuevos" + +#~ msgid "Oldest" +#~ msgstr "Más antiguos" + +#~ msgid "Ascending" +#~ msgstr "Ascendente" + +#~ msgid "Descending" +#~ msgstr "Descendente" + diff --git a/cps/translations/fr/LC_MESSAGES/messages.mo b/cps/translations/fr/LC_MESSAGES/messages.mo index dddfb55f5e129f3fae7cd9b547c47a414be0b636..73ca99d7194b26e7eb044afa2e3e8e8a92c58fa4 100644 GIT binary patch delta 14637 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 LNHF+evzY$?oC|CG delta 14639 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 diff --git a/cps/translations/fr/LC_MESSAGES/messages.po b/cps/translations/fr/LC_MESSAGES/messages.po index b110489c..f0432111 100644 --- a/cps/translations/fr/LC_MESSAGES/messages.po +++ b/cps/translations/fr/LC_MESSAGES/messages.po @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-03-10 08:24+0100\n" +"POT-Creation-Date: 2019-03-24 08:25+0100\n" "PO-Revision-Date: 2019-02-03 14:57+0100\n" "Last-Translator: Nicolas Roudninski \n" "Language: fr\n" @@ -35,185 +35,194 @@ msgstr "" msgid "Statistics" msgstr "Statistiques" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "Serveur redémarré, merci de rafraîchir la page" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "Arrêt du serveur en cours, merci de fermer la fenêtre" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "Inconnu" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "Page administrateur" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Configuration de Calibre-Web mise à jour" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "Configuration de l’interface utilisateur" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "L’import des pré-requis optionnels pour Google Drive est manquant" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "client_secrets.json est manquant ou ne peut être lu" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "client_secrets.json n’est pas configuré pour une application web" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "Configuration principale" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "L’emplacement du fichier de la clé de chiffrement (keyfile) n’est pas valide, veuillez saisir un chemin d’accès correct" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "L’emplacement du fichier de certificat (cert) n’est pas valide, veuillez saisir un chemin d’accès correct" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "L’emplacement du fichier de Log n’est pas valide, veuillez saisir un chemin d’accès correct" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "L’emplacement du fichier de base de donnée (DB) n’est pas valide, veuillez saisir un chemin d’accès correct" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "SVP, complétez tous les champs !" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "Ajouter un nouvel utilisateur" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "Cette adresse de courriel n’appartient pas à un domaine valide" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "Utilisateur '%(user)s' créé" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "Un compte existant a été trouvé pour cette adresse de courriel ou pour ce surnom." -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "Courriel de test envoyé avec succès sur %(kindlemail)s" -#: cps/admin.py:598 +#: cps/admin.py:608 #, 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:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "Veuillez configurer votre adresse de courriel Kindle en premier lieu…" -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "Les paramètres du serveur de courriels ont été mis à jour" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "Modifier les paramètres du serveur de courriels" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "Utilisateur '%(nick)s' supprimé" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "Utilisateur '%(nick)s' mis à jour" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "Oups ! Une erreur inconnue a eu lieu." -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "Éditer l'utilisateur %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "Le mot de passe de l’utilisateur %(user)s a été réinitialisé" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "Une erreur inconnue est survenue. Veuillez réessayer plus tard." -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "Demander une mise à jour" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "Téléchargement la mise à jour" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "Décompression de la mise à jour" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "Remplacement des fichiers" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "Connexion à la base de donnée fermée" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "Arrêt du serveur" -#: cps/admin.py:744 +#: cps/admin.py:754 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:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "La mise à jour à échouée : " -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "Erreur HTTP" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "Erreur de connexion" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "Délai d'attente dépassé lors de l'établissement de connexion" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "Erreur générale" @@ -230,98 +239,98 @@ msgstr "Permission d’exécution manquante" msgid "not configured" msgstr "non configuré" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "Erreur à l’ouverture du livre. Le fichier n’existe pas ou n’est pas accessible" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "modifier les métadonnées" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, 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:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "Pour être déposé le fichier doit avoir une extension" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, 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:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "Echec de la sauvegarde du fichier %(file)s." -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Le format de fichier %(ext)s a été ajouté à %(book)s" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "Impossible de créer le chemin d’accès pour la couverture %(path)s (Autorisation refusée)" -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "Le fichier de couverture n’est pas un fichier d’image valide" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "Echec de la sauvegarde du fichier de couverture %(cover)s." -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "Le fichier de couverture n’est pas un fichier d’image valide" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "inconnu" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "Le fichier de couverture n’est pas au format jpg, impossible de sauvegarder" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "%(langname)s n'est pas une langue valide" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "Les métadonnées ont bien été mise à jour" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "Erreur d’édition du livre, veuillez consulter le journal (log) pour plus de détails" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "Impossible d'enregistrer le fichier %(file)s (permission refusée)" -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "Impossible de supprimer le fichier %(file)s (permission refusée)" -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 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:743 +#: cps/editbooks.py:728 #, 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:747 +#: cps/editbooks.py:732 #, 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" @@ -334,133 +343,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Le domaine de retour d’appel (Callback domain) est non vérifié, Veuillez suivre les étapes nécessaires pour vérifier le domaine dans la console de développement de Google" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "le format %(format)s est introuvable pour le livre : %(book)d" -#: cps/helper.py:78 +#: cps/helper.py:96 #, 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:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Envoyer vers Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "Ce courriel a été envoyé depuis Calibre-Web." -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s introuvable : %(fn)s" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "Courriel de test de Calibre-Web" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "Courriel de test" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "Bien démarrer avec Calibre-Web" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "Courriel d’inscription pour l’utilisateur : %(name)s" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "Envoyer %(format)s vers le Kindle" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "Convertir de %(orig)s vers %(format)s et envoyer au Kindle" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "Courriel : %(book)s" -#: cps/helper.py:197 +#: cps/helper.py:215 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:305 +#: cps/helper.py:323 #, 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:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Renommer l’auteur de : '%(src)s' à '%(dest)s' a échoué avec l’erreur : %(error)s" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "La modification du nom de fichier du chemin : '%(src)s' vers '%(dest)s' a échoué avec l’erreur : %(error)s" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "Terminé" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "Statut inconnu" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "Courriel : " -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "Convertir vers : " -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "Déposer : " -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "Tâche inconnue : " @@ -485,30 +494,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -601,119 +606,127 @@ msgstr "Modifier une étagère" msgid "successfully deleted shelf %(name)s" msgstr "l’étagère %(name)s a été supprimé avec succès" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "Étagère : '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Erreur à l’ouverture de l’étagère. Elle n’existe plus ou n’est plus accessible." -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Modifier l’arrangement de l’étagère : ‘%(name)s’" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "Ajouts récents" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "Afficher les livres récents" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "Livres populaires" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "Montrer les livres populaires" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "Livres les mieux notés" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "Montrer les livres les mieux notés" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "Livres lus" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "Montrer lu et non-lu" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "Livres non-lus" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "Découvrir" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "Montrer des livres au hasard" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "Catégories" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "Montrer la sélection par catégories" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "Séries" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "Montrer la sélection par séries" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "Auteurs" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "Montrer la sélection par auteur" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "Editeurs" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "Montrer la sélection par éditeur" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "Langues" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "Montrer la sélection par langue" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "Données inattendues lors de la lecture des informations de mise à jour" @@ -739,196 +752,193 @@ msgstr "Aucune information concernant cette version n’est disponible" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "Une nouvelle mise à jour est disponible. Cliquez sur le bouton ci-dessous pour charger la version %(version)s" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "Ajouts récents" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "Livres récents" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "Anciens livres" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "Livres (A-Z)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "Livres (Z-A)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "Livres populaires (les plus téléchargés)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "Livres les mieux notés" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "Livres au hasard" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "Livres populaires (les plus téléchargés)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Erreur d'ouverture du livre numérique. Le fichier n'existe pas ou n'est pas accessible :" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "Liste des éditeurs" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "Editeur : '%(name)s'" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "Liste des séries" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "Séries : %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "Langues disponibles" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "Langue : %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "Liste des catégories" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "Catégorie : %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "Tâches" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "Publié après le " -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "Publié avant le " -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "Évaluation <= %(rating)s" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "Évaluation >= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "recherche" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Lire un livre" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "s’enregistrer" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "Le courriel de confirmation a été envoyé à votre adresse." - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "Ce nom d’utilisateur ou cette adresse de courriel sont déjà utilisés." - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Mauvais nom d'utilisateur ou mot de passe" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "connexion" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "Jeton non trouvé" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "Jeton expiré" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "Réussite! Merci de vous tourner vers votre appareil" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "Vous êtes maintenant connecté sous : '%(nickname)s'" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Veuillez configurer les paramètres SMTP au préalable…" -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Le livre a été mis en file de traitement avec succès pour un envois vers %(kindlemail)s" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Il y a eu une erreur en envoyant ce livre : %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "s’enregistrer" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "Votre adresse de courriel n’est pas autorisé pour une inscription" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "Le courriel de confirmation a été envoyé à votre adresse." + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "Ce nom d’utilisateur ou cette adresse de courriel sont déjà utilisés." + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Mauvais nom d'utilisateur ou mot de passe" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "connexion" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "Jeton non trouvé" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "Jeton expiré" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "Réussite! Merci de vous tourner vers votre appareil" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Vous êtes maintenant connecté sous : '%(nickname)s'" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "Profil de %(name)s" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "Un compte existant a été trouvé pour cette adresse de courriel" -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Profil mis à jour" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Lire un livre" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1096,7 +1106,7 @@ msgstr "D’accord" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Retour" @@ -1116,14 +1126,19 @@ msgstr "via" msgid "In Library" msgstr "Dans la librairie" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Plus de" @@ -1231,7 +1246,7 @@ msgstr "Obtenir les métadonnées" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Soumettre" @@ -1267,8 +1282,8 @@ msgstr "Cliquer sur la couverture pour importer les métadonnées dans le formul msgid "Loading..." msgstr "Chargement…" -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Fermer" @@ -1497,8 +1512,7 @@ msgstr "Connexion" msgid "View Configuration" msgstr "Configuration du mode d’affichage" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Titre" @@ -1542,31 +1556,31 @@ msgstr "Mots clés pour contenue pour adulte" msgid "Default settings for new users" msgstr "Réglages par défaut pour les nouveaux utilisateurs" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Utilisateur admin" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Permettre les téléchargements" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Permettre le dépôt de fichiers" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Permettre l'édition" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Autoriser la suppression des livres" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Permettre le changement de mot de passe" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Autoriser la modification d’étagères publiques" @@ -1574,11 +1588,11 @@ msgstr "Autoriser la modification d’étagères publiques" msgid "Default visibilities for new users" msgstr "Mode de visualisation par défaut pour les nouveaux utilisateurs" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Montrer aléatoirement des livres dans la vue détaillée" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "Montrer le contenu pour adulte" @@ -1682,7 +1696,7 @@ msgstr "Ajouter" msgid "Do you really want to delete this domain rule?" msgstr "Souhaitez-vous vraiment supprimer cette règle de domaine ?" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Suivant" @@ -1699,8 +1713,8 @@ msgstr "Retour à l’accueil" msgid "Discover (Random Books)" msgstr "Découverte (livres au hasard)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1743,7 +1757,7 @@ msgstr "Livres classés par catégorie" msgid "Books ordered by series" msgstr "Livres classés par série" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Étagères publiques" @@ -1751,7 +1765,7 @@ msgstr "Étagères publiques" msgid "Books organized in public shelfs, visible to everyone" msgstr "Livres disponibles dans les étagères publiques, visibles par tous" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Vos étagères" @@ -1788,7 +1802,7 @@ msgstr "Déconnexion" msgid "Register" msgstr "S'enregistrer" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "Dépôt en cours…" @@ -1800,52 +1814,27 @@ msgstr "Veuillez ne PAS rafraîchir la page" msgid "Browse" msgstr "Explorer" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Classer les livres" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Classer par" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "Récents" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "Anciens" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "Ascendant" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "Descendant" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Créer une étagère" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "À propos" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Précédent" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Détails du livre" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2143,27 +2132,31 @@ msgstr "Réinitialiser le mot de passe de l’utilisateur" msgid "Kindle E-Mail" msgstr "Adresse de courriel Kindle" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Montrer les livres dans la langue" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Montrer tout" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Supprimer cet utilisateur" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Téléchargements récents" @@ -2209,3 +2202,39 @@ msgstr "Téléchargements récents" #~ msgid "Show sorted books" #~ msgstr "Afficher les livres triés" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "Livres récents" + +#~ msgid "Oldest Books" +#~ msgstr "Anciens livres" + +#~ msgid "Books (A-Z)" +#~ msgstr "Livres (A-Z)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Livres (Z-A)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "Classer les livres" + +#~ msgid "Sort By" +#~ msgstr "Classer par" + +#~ msgid "Newest" +#~ msgstr "Récents" + +#~ msgid "Oldest" +#~ msgstr "Anciens" + +#~ msgid "Ascending" +#~ msgstr "Ascendant" + +#~ msgid "Descending" +#~ msgstr "Descendant" + diff --git a/cps/translations/hu/LC_MESSAGES/messages.mo b/cps/translations/hu/LC_MESSAGES/messages.mo index 1f3b18f71ac1e539da9524b38155aeffb148640f..037c3459fdeba9b7ada506cd4edc9d28f5b56bb9 100644 GIT binary patch delta 17729 zcmciI33${+p8xS*?r;Z3*f}FD;f*>j$11bX|s5l^^0{i}S)wr_b?#w>V{QvXJv#+Z9)vxMX->P4AboTR` zq0c-S=Ks7z_+p3uyb$I%6*0V$YX9}0E6p6IIMu6IAMapYOl)rYKZ@0s$1 z_QmKH=Di_Ufcip=z-1WaIDTg}g=iXHu@API2hJNvOwL{`hzGDRzGwXuHPF}g`FGZz zu_)~kEgh#AmcmG^j^TJeYQ97)!2C`#3L3b*?a;$^NU;t^O*9M@&`2zcqfslKi<)RT zD$tEs0e4~%JcU*8JgQ$vtKiC=7>s3pCze7IHb6z1ff{(EtxrLvZZ>M5h4%RtB!$ia z)O*LU6rMt@@RIeK^=FKwJ*>6qUkUvhpgIMus4kYo4z|N1sOLj$eV8>H3(=m3O6gQo z24|rr&PTns+`1OE@{P8>8#T{?*5qG@>mwSpg0E2neveA!4b)ybZOnkhP|wSv-m7Sh zM+MLt6+k!Cmi4g?K)p8<6_^LLfRSzd=D~OxG{EDiiRWW2d=~G=J(!4>u`X74z;QU> zP8V#9)3FY|iJJHV#^W~_hp}xPr!=-lWx79VD@OY%l&3J?K3Ip1sP93o{5mS)uy!WU zLa0m?x0Xe%xH9UD)UxgMQSUWH1@r)FyiTb3Qm`ueM^R8Di%^kmL^mElo!*-5%|H!N znQ4g{pfl=uD(bL~LQOawo8f#^UNng~8J+|G8G1SMR-k)pR7ooQ7c~mA2qXK^y8|wT2gn|xJ@s8%Es)~xRH!9+x zs2B23hh{oz;-^qs@f<3^Rj7$y##*=q@57IgDV$$%5Vq~)IMr|kR%d?a9ST~}MGVIu zF#><^1mq$IXgAFhd!!R8qak$lM9fKNoGFHK9SQ*!#UlH!3pvb>M4R95; z((9;G>vS;_mqDetCMsi1QT@82GM0i-m}-3t6{ruRaUAN5O~qRHTo>}6Kw%#Z`h32( z4=QxEp9?CW{uqrzQHL)RwUQaA3D#O)#Y)sS+xl_Td#6!{{4>;eH&GeC)0O;dpdt^N zl*FT6=#E-p3hFb-K&5aF7Q_XpQ@<3o@(rjv{|(exIgRT71*+dg)WkodG8EFy1XRFJ zK`W|;+KSewiQQNbeW({Eqb8VXU5)DZ7AgbBu_2zuGFYIyHsCiODO z##X2;N;mqQX%uSEunLp#5bAW^!g5&dVH0tER3@6B4rLqE#3`u5Gzhiw8Q2k*p~gLr zI&@JzOyE^e3#yBC^!>M{pbTVMeW-~hqV{k)YAfcTGL(->P=__%+7`=hof z6SdOOsP`wJ0-u3;|0(NYRKI1YjI6b8=tKV1u$6|QxC=GF5!3*uPy>IAn(#~8{tapi zuA%z>i0T)TVpd)VRj-BWSKr#$wzoiKu%q8T=!%*!85?3B)WCDC&!7Tbi7~hio8uc; z2>*tf@GdIQ0)5S?k3o$ahstC#{wRIOz^W8A|ojVjXK~z7Jsu7V5pHQ4=h&^;M|A)?*9Yjtb}+M(O*%9V{^DBPM_%s0m77SuBSdI1x2)6I*}4 z);pv6_do^M*FGO?>mCe#U8t>_XP+;Z`u<;}paEV*O|TiY@?EHv9YYJV1JIINDkSCY}Mh=x$mVH<6ogi6(HROI`y9G*i3bPLO1 z*Z@;6j|!kVHpS+sKyy&zjz?v1hIKwFphW}7zYg0H+i@)_;@43V?L-Z<4;8>+)IjG@ zdwLNy!3|UYP?umuZjw^4r=@d29keuc#sAS+{@Y@HNa47CMsedDxk5b z&uB6#fQ6`WmZJh&i(1%L)FFKvb?AQR%y!l-~sqcTH!x z<|C|(7p;*)%)m8JD{F!pryJ_$yBBuA6x4XnTUS}vVYHtI8!70}Y)7SPzx60;MW;}Q z@gvmA&fDi#Z2h`@eivOlj~;3=7l#VG4JKhSYW%5K1?Qq)1HM8b5x1d!d@f)OEblfx zV9me^v_FA$@nx)yA7CZCgGzbDRFjFC*qnMiYRiVB7PJaA?@OuV|2_(vY0wH!p)&C) z>MUHg{%oHYOfz3eNz}^XQK@f|A)@1rIPl{b3ZNI(L=V=&C$KthL(TIsDiHq# z3SB7tU~Q4XKigBEfePdp>SFp7mBJsb1&5gdDq|$=_oKEj3AF_+FbW?+Jx{R?LIse9 z1mJhP6e4Jtgi$!nIuCW&7NO3>CRC<&+xlVD9)Exj;$JWf>kK#l0wMu*_=aN?zKGGd z0TsYDEUNE+uWfiQ*ucLJKt+5R_2M;DfVVIj@7nh0OcOwH)bsMFKwWqrCfN3#w!I%J zqaJG>7G-{CCIt=f3~J)%Q3I{E_195bumg1#PM`w&3+la#sQ0d70lbbn3wKZ}E&Z6; zlB%dP)Bx4q1^qe{eJE&U<1rkkp$^$>>q?BLz7w^#7f=)5wDsGl_lu1%7f(5B0_ya4 zK#lh(YD@D_3t2dV{OiFg8g#hcK)rAbgA<{P`c2e|%4L}q)I&Y*fclN-i-j-?705VL zMy8@NHOJPUw)G{buViHw`B$p9+75eBDLiaDp0w>B+xj_F{Bu`~6^k>(#dlTmy8 zjCCz4kZsri|AY$YJ1mSh{kB7Rwuz_^YJ$qB6vv}pXn+c=1s24PsDXQ+?umY=iHFzkmWhy{G+c}-OR1XRF{P=U2Z z^>1gN_qNXm*m@dj;>S?)g*~8Ynu?bSPr2VQqyvJSnIEreF)4 zhYIWvy6`>JVf`Kz(2utMGb-iI7}Gx*^%cbUDU_g4(LSh$8lWlah1S+iSdx0OeV%F^ zZp}sol56Xeu{`zZw!Xr;78Tg5sIBpDvJKl&pWQCh#0PDMcd;e))2Ix@j5UArwM1=! z2Wz4awUFmf?{7q9bQ@}-UDmy}{jkyR9HXEYPoh%t6_ Fag8IncwpUs6#XowU?7n zE1rkSSiXJ!oPGW>hSI(Rwb#2)fqaO1@AF`t{l7>-hvr+i56xBy-^`MMby= z72!ctDvw*wpjP_1t$&5uvMX2?e?t8OO7Y3&tkgqgsy!<3o>&1hPz#=hejTcO3YvI5 zYR@*I0tlc^`)<@ghwSsysQw>Y&!Galh|1Je)LFTPRj}gY<}kLziq!jI1I&G#?_UwU zOhY^#K<)7ls0l(yk4~}vF{vR|L$yDGHE;+j;F+kiGY@OxV$_!GMrH7Q)O%-93p$Tl z;5U9-xNg0TnlN&Td9f<0V;ok-B-CN;iJCYa^*j?bfzLV~m60j7J`44=EI{>t9u?S& zep}dp`mqSu`hF}&{U~ZBU!ey488xvp)eIDY%2-ibuY?-7CTfopuoAXG1@I^;Q;(s> z^XJ*ZMAX1jQ4!8U9j>P^1ec*s?+d7bUdQIR8aUNE|Rj4i5i%;OksIMYpmYE>eIvKT)S*VP? zgxZRor~r;&cRZmw^E;Jhn*nOzebf_BE9;30U^qr$KI$wiL#=oVM&g?oh5Ky%F> z0@d#vM&Z|}g_8^wNPhaBx=DE?DMJf$-f$A(VzhqpjNaPb*i_cE}l!M$Sbk&vL!J4g0o0ZaL1k_X#^Ov=|CLw>U&eyC4K?4}ehOO2VcX$d)ZzOWtKl!mXW~>@U{arg z^{CHAZNW~|0^UUpd>XZYzhE7_iyFVqlV-w1)P2wt)$Z?W9}L3kG^C>joQsP1X{>?E zQG5RmYDL#k8MuwgRMDqQirb=Y$YiXIZd;#+jj6wY`if2?TjY1HQqV*{peDY9N=?Mm zCiO)yj(R)Pcb|p&%~*$p@g3Ak-a~E02dEWZNB!!RSZJQt!miZgQSXlp*4h7j3Mn*v zh8?iMA`{3sRA7G81oJTr7ux5GQCqbfOW+>VgePtNuc(P`VG%5y&%X`9YN(rWG}d8$ z=Uoal@h5AQXUqyZS<_KxU>a&q->`m(N@dZ-c7>>|iAViC&={4`WNe5js6#pr`{Qc# zx1#V11-;PhS(DP97(;z9w!~4WfnT%Fcc4D6{iqBbLG?e4%Fti22VO=^++vB@(ov`_ z8i%^*mMmfai&J=$1`Ti&RsRf?@^4WST*s2=EHx9C!ceNQsQwkP0LG)-4@dPIzm)tdMSdDI(Ja(ww+Qta?Lh6_8C1kyVHu2i&Sa!As$L8ABh?yfVSm)P zQ&AJmK`r1(jKwvm{=5AYs#Ew7d*iRD0ed`eIt)V%I1RPJS5Yh5h8lPmYT&m~@14S8 zcp3E-{fxR7LYJBMi&)E|-uG9fph#<36ReF;6SlPVPFSA$L#P3VqXx)9^&5|xaJp@u zj|y}lDznd`ws;NJ#cjyEe&;*|b-aW+JXcWzU9sPyuJ7`cG23zW*5%)Nwv)@0OrewBEWI6~Hc3ruL#%dJuJ*k75V> z6t%*tD@?!pu_*OK)P!wN<8(%ipNzrZ|9%t{*ap?hvlemLW3}R zgX*^$cC;Sw2n4Yx_t5FedKn1i7b;x$1`W>>* zPulufRBA6^EPjK^T*Mj^XkpZNA_EPEpV)J%>7U-=RAGVhwxI{Hzv2t9+kO?5iR-9Lv3MCtc*jgepG-fPz&3J8t({(;>mUFe=>#BG-$wT>y2?3NxdHG zg~q4}+F%qWqn`K0aC{WiFBNqLMqm`?p$^|iCmGWFvzol3k-@^*{6DsghubKcW_$lE72M!&P!HvAd& z;ulyLFWdS})JpE6CWv{>{OHs`1=I=^U@z3+8;)@}8(ZQQ)B?Z7s(2f9`m1c>Jn8p8 zi9$RLKGYu!tFS1ZM0Gre9{d}2!Tzsv&~Odv9*Ed%e!NPf{@P8#>NpH_Q9XfL(5tAF z??f$V4+j7F{{#h{;*U^!{uvg>i>L{HLY;}|EoN(qqUy0&3#*{|cSZ&L2x`I+sPV?( z!#E9fpS+K4@C^DpQz*05q<%2!5M^K?^rA8`(bnhL`m?C5ddd14YGvC|XJj-F5(DNzOVsJ@gF4mOsM9+Wwc^#N0N0~3vl%t;UetR>umpaA z>VL!f3o4+HZRV^LLVeyJOV~sP|Xe`X;PJ{ivTp9SVO#t+etEV{>a?)aTG&R zp2sp+cBi>;5>U_kq29|wWqJ{6t5%>g=YNTUQuCU9u+u)+gQaLcgj&%jsMKGv-axJJ zj;)8kVFoOMT4`x(b?i*N0rtU(sI5DJWZ3VVqo7ExqW<){Ve1WdnJs9EinuFki+Z3| znudCB0_xCBLk+wDwbB<*0l$K}LAToHAK3N_82tbL{g#3zh<(%OLJe38wbw~l7Mq|} z{IE5}IuK)MccTKzK}|dn%i|2x_$yJ**I74V1n1A$VH(}=A z_t=={w^4yL{F4c|IVwYKumko*Jzs{}n$?(uo6+Bd!j}|unk(!!19nAS5K~YA>_rW5 z7`3u@u_m6e?YB{x3VX|3Fwv-$7RK^e3bn9$w!Im;sJDHK{Vzu$l?FvN5f%A7)P$>1 z0j#%fLJhp#`WEVN9z@;!XHXN}K)rX@8o9>=Rs*{#wV^?Fv=6$WChCRS z+X1LEk%i50tgUZB1-{#Q6gBW!tbpgSBHqSCEdRFo5$lH4sSoi}&}p548t7^3N^DPk z6E?sfQ2lD|HNS32Sd01~RK{kYwq_aX?5stNw*|E|du{z7Dr2Wnf%z}khR}WHYAlI5 z?Qs}~ZBZ*3fkkjOR>Q@p73{+L_&GMj;_sOEJ7Rb0kD@-?SMh#)3zgZgF-+h8H3~}o z4g261)C$7(n-vvD9imuUZ-`n^D^y0>p;DfVB{2mxUZ!pLqWX7;2!Cs0lx_eueF+e}lTp>m4vx@BmcCrlYRtg{agYMg{T_hBLo& zo`MGatM#fLP`_@yg{7(AL1m`YL6hRDsFXLuR+x=CtQ%2Z)gFw%4^dymXQ(rA5f#Xf zI9LNm9WpOeLIu(o)v*;S((b4&NI_k(qfn=L3hJxaV%?23s2|3fc=b@=!6v&x!qdEY z+4*;y{yA`<+4PV=&lWdB0|Q!@ifEUYmF~*+=DM=H!!olIT-`gg?cvJt_{MmAu5|C% z?7FT|Ssr(e$Cc*I&UL5dy2g9+d@gtT$jt1_oLrwf*Xs+6XkR2WFumifus~SXheG`s zp4_zIt~>^DWoBo1T^T;_NLS~~+%9>k2~H<>W|k-2l}qyBuRGn7o*&oUS3kq+8|lt%?&4{%6qn<4qMOUq z?yb18SYKdq_l(d-f}y(}ZktC4?XxmH*}1N+>5f^^z0JKnX+BTxZ;#x1!{hULeZQrV z$G-8dEO)NQmymxed2c_h_ufG?c5o^8HvfHW`{B)dm?T(vtS$2q|>(8K2)lbOyQru6Eb|4Z*V z`H%N$T`VWpldauI^?AoKXkb^L!XZ)AbH|VJ1oovQg_IlNYMbNg<#DGw54nB8N=mkm zYT&!R@gaf4M~a0cDsrzcM`s{sxOc28)kFS0uHl*K1mmim*eX3U$DK-6OiNsTlm4k? zbwV?;aTU({Mw0!PK+sh30PkOn{$2IEjiFIeEyWFl0 z$$uY<6PxAo=HoRjPJ-mT=#Vmzh4mf${eb7Ed6pJ8uW}}`JZZU^-t7GAp7xP>W|P`yR0#=;9X2?km6GkG zWD9N7Zy9%G1V7+}KYW&xmzL(qVOQSI`i9#h+rzQCI25^rUi7@2G4Y0-xCEx$^CUZu?=73Oq)SM_?)rT;7w!0^jsKU6cEfXxLIQW6?;6r1*_+_&|rtuk-)u+McrGbZAKb{64FTSq2w;7oN}vFe$UrF@B8j||MR%6>vJ96*ZaCYpYN)B&5D5Y_x(NRLyElM z@W0Fe$Ek+zRaNbu|8;NfIAy8!z{WTX>*GpP|Bo;V&teEZ#Qqr4!f^)R7}U7^SR8L- zQG9^K9LMAMwR9VTF^C6ckyxBi4903$5~Iy{)CBGAd6L-&OVj=&mceuk#MxK`=OYU` zOHhHV!ji1-yks4=S%)3w9@Iknu`(8*cK97?fm^5modm~G(n??{jK*+mit5)NwXsyJ zf)g+f7h@pnJNqbT;)80yQ>X~fp(eU)&x^KlCkjRNi@*vPjoMjj)VNMo?`1xLS~wXs zZWbz_XV9aaEu~N%U$qW~c~ggsFy?Tb3gVW@!iG%O<-LgNcNbgY z15{v5+q^^uL6~GMC&Ynk2uoiXsUP0|> z9~Q;4=0&Vd{ohtElH`sHMqTpq7>Er}cPKuI{A;3)G$=JGsD++E?Q|K|z>Qc0^H4j_ zN8S3*Q9J)0tKu)HyAs^R?H`KjR~@x*ECyk7R6y-K6tts3s58kzExZo3&^FWnA8LUQ z%+siTcQGD|Jmxr+uqARYo!-d(a=gf=#W{`2RHd%&<*kOrsC#Nt&?Rbwim(YP6A7p@ zAB0NPc+^g3TKi&D{})l0aWnEUbWT}4q?_Z^qTU(fFda4TD;SD-NI)LvGzIPOJJgw9 zMos(xqtU-Rzi3z&HQ^+zi)&FkIB5P0HP1=ZQJuqJyolQ1HB=^Uq5^8zL+fz<$rKdX z7}QZLMy2*uR0e!jFF-B$HI~2&SRAh*J8|xzKR!T>{~Oi6Oi%ZDC@Qc=Fajf0XMHD; zLMeOe?aZ{CThojpaT0FwUHvd+z(nM)Lp8F z9u<-(^u-j^j&e}}97IjbKCIuS9KRgVpz-QhmTIu=anUGIPq>&-5n$ zTIf3(^cr2l!W}&B8i@+9Au5GUF#(fMNAnCSz!j(f*Q360n^E)b#lqW;`pf4us^2wK zM(%p7@F(gFi}rEPHUu?s1S){KW@FUCEv%l1x(nS<6A!ZXWK_Q~SO&9D3obC1qvrRl zrJz)8MlG}zL+~x+PjqKLYU1BeJJLnbQ3awVsE8UDj#{9$)f=G#Ylf{b5f#up)O^pm zdYm;B6u?H*0@`$SF8VN2K00L2czaIiy?ad zt5DER>Z2}4Gt|ThsEHp%4d{Zp{g2!8G}O2WsD9Hi20d67x1;XTKC=Loi7!yEZOQ)J z4ZZ&{6f{u>)Hl4l)l;w{^$Dn>n2!qVLsVuyHjkh(_yy_?eT7>12UK7;Q1jnIjem%` zltl*+tR{Mdg3hWIYG4!8j@zQ1Ct1BGYQlk5AC48Nk3lUk*PbsyjazB1L(R9zd>s|= z&H?0K5$&d-Jbr)*;5cfbv#7v+KwX|&*8V4IT#gG)g$ks| z6K-IoJrp!y80ze5pcZO~>e$5UZBQxffC{i1Dr0?7*ROG`^fsDg)m}M?P1+*R&K(^Jlp)$A2%tej+2o>;g zRR2pzz#iwSHQYc&`YR@)-(Yv5&SrPB4{G5jPz*OAOE_P zEl`;pfXcuKOwjwEMxi;rii-R!YJm$_6R)CnQtC-}$CXfL8)e3$o+n}z?19=q8Y<<} zP#>hFsH1oZ703?ssADb#bv%q(_$+FH%UA*Lq27YvVQ%ErQ5lIs^{wpa<1 zur?0EXk3UZoP!FW0F~0OP#L;u1|+)^R7UMI3Kc*- zREpzK8R~4$dz$@G0SrY2Fvdecugg@_fLZ2z)MZ+Ry5+B36k9_1cM80zlSN42-dDAsp+P|(h%U=f^!x?Jia`n>%IsWw{v3LgGA{)UeAymswfbAAh~G2wF^T#K?1W)y?zjeG3v`v^Q^@pxOoiu*V$~PK?{C_L70zP;3z89C#?NP)WGYg zaksG;79Z=54?)#KtzHAwKicZ`Q5%S}dK(V~E!5HMin^VTVUkCiUFl1XRCOSRL16DZT%DC}<~#P!WEHTHrM5%zs4f@CqvB zH?R~wL`_sG!|hiObtz-bF6IcVOZ!u(`Cr3UxC0CS{ofS|5j5OEoq73*?t)cN_3EgM zM4|$%hrt++x^(TVy$`DY5LEwUb1drDbFw{OXfB&b{xx6~4VrkJJ=lz4)N`zU(EJ3I ziO*1}{L<=YumtsQQ49ZU&u?LC>i1C@h@a$Ub~x6io<52EYX@E$G%yF1^0!e7_{@FQ ze$YIO8g~?xiSwvW^%ZQ0e`8B*FxkBmX{aNchT7-?)W(;4tb^A&yo&xj*oit@A8Npt zsDRF5S^OS#8SkJjSLrG42I5c|NHVk;zya zXJbWt4TJRlzfVCE9z^ZrQ`F8*SpA&UFPp!h7QT;4dB_a6e;6vYkr;vRYV-9)?o?5VfPPQ1e|wEqog_&wo&vdua92 zGu?SB&m{jk<8T^u+hb7y^hBj>2x`L7W;$x(DX593qb}DxXv)Zh6nQ9B!o z3Lq0TZWHQG<^Qe_FlT)9wUOs3WR}dRvB~ zF4t&lpNjfkwM86~9M) z>yzfYJD-NiU^Z$VAL^*~qBfX^+Suo)eqUqZzyJT4LMIw-pzc7E1@2BCMNO1s_3o$% z`l5C+1a+%tp*}!wqXNEUUPm3}J=75gE_9Eo7Aj+{(Nl#&Hwt>)Qc)93LcLZqtbHMB z;gwhv*Q1_q!W#GnM&dElTXGAP`r3=!KVqLi9l;XR9oU3gZ|frRubu3qL6_$XEQ$|M z3;Hc~zYE1t?a`?A1{j4+F%So%0!qeOH~|%a7qy`RR3<)0W$Xef(;>S3`c#H5aepS` zQ1v0$3^P!#(N-*id8mc*Q41f(Ap9D21m`gZ%RlSB_ieB$_35Yuy{L_BMjc6xheCA< z1y}(u;bZt4YG8+@ZhaW`r@jpn@o!WB9hbQQbwy1)00VF+>iG!N5v8Fv_AF|hjaK*U zqM(Hip*|27u?PNwL$LL8?$NAAoo&9=e>bC+yBX?*3SbNt!wjs9(@}vukIK+m9E3-) z4foHfwZi=yEd@1jGnT~dsFd%)68Hh?wfO|K!*8%ReutX4;q&fMq@Yqe9&6%K)Yh*1f`qAl+Q8)?v z;tQyNub=|GiyHqMYW&~m(Ly1s-PFZkF!jc$fvwHXsDZsvI~ia;X^ukmA8+-ksDNgp z=39pv|0=5AHq=}5?rQR{2m5GHY7SsIJcjl0JZixbUUvr}sI#w(nxLxHBkg%KYQFl| z0pn1aor=oje0%;JmZ!ejOa5aiN4F!EnH!Zdo-a~o_ZtHf*nzT zK4$ht?R+5WGLJ;fH_@I?H|KgNXyJv{unHCNdend%YkwQnZ#R~~gQy*SX`V#|a0zwR zS5bl8#Ikq~6EW}wcZ1zf{XG3Cl%_BkwcuFPM3YeqJZ1H#QGqSNez+DD&^3F0A2t4O z)Wm^n-2h6Uz60e@^Twe1#kzHm(}IE)YKMxr3u=O%R_}`%FbFk4vbB#fGt4YhW@e)L zFGU^MYJ0vGHSb2NXJe?||JNxffCH$rKZ2UzB(}wKsNaCFb#8kTR3=(sD|`&~d?Ci* zCJez(F&xjK?#ctyTTy1c{T~{zxZeLsD&S01APZ2DE=OIS)u_w#iameB>ONG)@=)J_ zL#Pa$M+JBpHQ!xp|I-Y3(QOY#k9Jz#8meMN>QShG5>U?*Q4@DJ`=TZuY^ISZg2-yM+F#z3aklg z;RN$hYwwJ@6Fsc`Nz}qAsDLMKApe>m%R0GN>~SK^ZU-k9byj((e)*`gKZfe} zHR_U`xB3;-xBoWAVEiUGW5cjL^{J>0=3?PL|L0LCoB%cO3O2*~uehm9LDd&y9n8b3 z_!DZPfX!|o!PuL62=>7g)Q zB5h^u9Wji0Z*x3`QeR}gg6h8)74QMnJSVU+{u{OM->5*!zsC7LLLufg_pG{LYwA-_ zJ9!6dU>>%^i`W1owzxmrJyHEUsN1~)Q!yL6V9-{6da*a^HTGdO%*S}VxYgtS$y71N z{m>+!GVlZ{rKzZ$q@#8=7mMH`)R`_r9mNZ%1#++`?m?ygL#uy+(bPXf^}mM-IMDOD zyI>X6gtf63#$o`@L+yM4CgC9r!jjwEJ5mAl!KseQM2yv2SUnNdzppt21F5H=0`!cd zpoOQRCi0*LEJK}{7vu0vdw$;9uc9ue|91D%RzqFRCa4Vb!eZDTm6>6vc{5PsrXd;N z{imP-ubJDiIQ4f>m*jm6$K$A!-8B8*a2KwKIw zb0>O|XxLAo9|pbcMm`jk>Zz!+TY@EVJ!+z@*cNwK{klE>6?M7%-f_nlLw(SyqQ=Ex zFeYFb?DP)#FF~O{4cb96*2HnvVY#)xj7ohDYJo4!GpGqKpw9X#>eAjsWguv$Ybmol z>UFMy3aFm`ZI>2qLW9n*HEMx@)?t`A8Z}{t)w57XGaHqeMW}IJbAy>}&$pp2-EP!8 z*HHoA@la5T?qedB-sN`ai>0X#LcM-tusObj4e%stLce$2??Vez08gP7@Srxf5NqQK zYu}Ap_yg4U#dCmyQgH~Cfn%th{bcR8F@pNfHmL*0#E zQSsEqYOO_*ZsV^RGk zp~la)=L=Csxye?^u@gZvn^;9=B6M^Ou&HqT>6>X%X9gP8Z-O!dR2)JLK& z*?Lp}+fnnqi<&3b%(M1__c?!c_!kX2g5#)+T*k_H2MbfZ&;5V5w?kdBIT(u1qcX4! z_13(NI@`UdKt4gudj{427keJ`fg50@mK4Hx5RPRq0b{W%>K4y37hx^xt5B)T{lIs% z<@vRZrmf>Kg5Mvcu#^WAFmhkr;!o%Rg|$2c7(P8^>ZQD<<2_A$Pzk5(w^ z>)1KiKhQdM>9Q=q_f5AXfA1STFL*ciO80f_J;LAnSD!p@#eSW<o%!0Po9B zEb`VF)Y6wZsJNeR@!*DjzAuNw_?4TUnwjPFOcfD@>-g>u4e|4~A2!(g-mqHU+QVZ* z(nqOJuR^R(zu}+x`Mk+r`Fq!n`q(!PY?Gi zH-(vJIDOrAt>IfeVPsKneCE&I#H^-OCQeLCPmM^NGIm;OJEwnUYDBlO8Kcru(^9?1 zvLbyYrpEjG#!R2==ezh+uwQUogV-h!jhiLJHTL~F9_hihVp)iG+G0s2r!I{eAqWQf8eN~q(@DJ{onZIZJ_|yzWZhG$7 zBEANzj{18qtqJpPT=R=J`-SzsNo#Zcy-&Y*-229cN4%ilLHdF06C@y`Fs5#uc+U(GFD{k&VYPW0B# zspZ|2)2t?arsQu=OC33KY--_%|JME)b26uqzb|Wh{{Y|pw;K5Qn!g=TtXQ|ybS^=` zDsOUb1@DwSTfGf)M-}fwQ|iprtSq(qHs!|o)g$#IlcyB6=Wox9NX?v?I%RA|R)X`t zzW=Oqd~b= %(rating)s" msgstr "Értékelés <= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "keresés" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Egy olvasott könyv" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "regisztrálás" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "Jóváhagyó levél elküldve az email címedre." - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "Ez a felhasználónév vagy e-mail cím már használatban van." - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Rossz felhasználó név vagy jelszó!" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "belépés" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "A token nem található." - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "A token érvényessége lejárt." - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "Sikerült! Újra használható az eszköz." - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "Be vagy jelentkezve mint: %(nickname)s" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Először be kell állítani az SMTP levelező beállításokat..." -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "A könyv sikeresen küldésre lett jelölve a következő címre: %(kindlemail)s" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Hiba történt a könyv küldésekor: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "regisztrálás" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "Nem engedélyezett a megadott e-mail cím bejegyzése" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "Jóváhagyó levél elküldve az email címedre." + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "Ez a felhasználónév vagy e-mail cím már használatban van." + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Rossz felhasználó név vagy jelszó!" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "belépés" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "A token nem található." + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "A token érvényessége lejárt." + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "Sikerült! Újra használható az eszköz." + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Be vagy jelentkezve mint: %(nickname)s" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "%(name)s profilja" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "Már létezik felhasználó ehhez az e-mail címhez." -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "A profil frissítve." +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Egy olvasott könyv" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1083,7 +1093,7 @@ msgstr "OK" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Vissza" @@ -1103,14 +1113,19 @@ msgstr "keresztül" msgid "In Library" msgstr "Könyvtárban" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Több eszerint:" @@ -1218,7 +1233,7 @@ msgstr "Metaadatok beszerzése" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Küldés" @@ -1254,8 +1269,8 @@ msgstr "Kattints a borítóra a metadatok betöltésére" msgid "Loading..." msgstr "Betöltés..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Bezárás" @@ -1484,8 +1499,7 @@ msgstr "Belépés" msgid "View Configuration" msgstr "Általános beállítások" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Név" @@ -1529,31 +1543,31 @@ msgstr "Felnőtt tartalom címkéi" msgid "Default settings for new users" msgstr "Új felhasználók alapértelmezett beállításai" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Rendszergazda felhasználó" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Letöltés engedélyezése" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Feltöltés engedélyezése" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Szerkesztés engedélyezése" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Könyv törlés engedélyezése" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Jelszó változtatásának engedélyezése" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Nyilvános polcok szerkesztésének engedélyezése" @@ -1561,11 +1575,11 @@ msgstr "Nyilvános polcok szerkesztésének engedélyezése" msgid "Default visibilities for new users" msgstr "Új felhasználók alapértelmezett látható elemei" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Mutasson könyveket találomra a részletes nézetben" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "Mutassa a felnőtt tartalmat" @@ -1669,7 +1683,7 @@ msgstr "Hozzáadás" msgid "Do you really want to delete this domain rule?" msgstr "Valóban törölni akarod ezt a tartomány-szabályt?" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Következő" @@ -1686,8 +1700,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "Felfedezés (könyvek találomra)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1730,7 +1744,7 @@ msgstr "Könyvek címke szerint rendezve" msgid "Books ordered by series" msgstr "Könyvek sorozat szerint rendezve" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Nyilvános polcok" @@ -1738,7 +1752,7 @@ msgstr "Nyilvános polcok" msgid "Books organized in public shelfs, visible to everyone" msgstr "Könyvek nyilvános polcokra rakva, mindenkinek látható" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Saját polcok" @@ -1775,7 +1789,7 @@ msgstr "Kilépés" msgid "Register" msgstr "Regisztrálás" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "Feltöltés..." @@ -1787,52 +1801,27 @@ msgstr "Ne frissítsd az oldalt!" msgid "Browse" msgstr "Böngészés" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Rendezett könyvek" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Sorbarendezés eszerint:" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "Legújabbak" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "Legrégebbiek" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "Növekvő" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "Csökkenő" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Polc készítése" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "Névjegy" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Előző" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Könyv részletei" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2130,27 +2119,31 @@ msgstr "Felhasználó jelszavának alaphelyzetbe állítása" msgid "Kindle E-Mail" msgstr "Kindle e-mail" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Mutasd a könyveket a következő nyelvvel" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Mindent mutass" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "A felhasználó törlése" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Utolsó letöltések" @@ -3414,3 +3407,39 @@ msgstr "Utolsó letöltések" #~ msgid "Show sorted books" #~ msgstr "Rendezett könyvek mutatása" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "Legújabb könyvek" + +#~ msgid "Oldest Books" +#~ msgstr "Legrégebbi könyvek" + +#~ msgid "Books (A-Z)" +#~ msgstr "Könyvek (A-Zs)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Könyvek (Zs-A)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "Rendezett könyvek" + +#~ msgid "Sort By" +#~ msgstr "Sorbarendezés eszerint:" + +#~ msgid "Newest" +#~ msgstr "Legújabbak" + +#~ msgid "Oldest" +#~ msgstr "Legrégebbiek" + +#~ msgid "Ascending" +#~ msgstr "Növekvő" + +#~ msgid "Descending" +#~ msgstr "Csökkenő" + diff --git a/cps/translations/it/LC_MESSAGES/messages.mo b/cps/translations/it/LC_MESSAGES/messages.mo index 82b0aea089b9c8548ef9372c6fc5176f590c1242..fa695ecfff8681838c117cbb8ad36eb72e3899f5 100644 GIT binary patch delta 17678 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 diff --git a/cps/translations/it/LC_MESSAGES/messages.po b/cps/translations/it/LC_MESSAGES/messages.po index be0158ed..be53ecda 100644 --- a/cps/translations/it/LC_MESSAGES/messages.po +++ b/cps/translations/it/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: https://github.com/janeczku/Calibre-Web\n" -"POT-Creation-Date: 2019-03-10 08:24+0100\n" +"POT-Creation-Date: 2019-03-24 08:25+0100\n" "PO-Revision-Date: 2017-04-04 15:09+0200\n" "Last-Translator: Marco Picone \n" "Language: it\n" @@ -21,185 +21,194 @@ msgstr "" msgid "Statistics" msgstr "Statistica" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "Server riavviato, ricarica pagina" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "Eseguire l'arresto del server, chiudi la finestra." -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "Pagina di amministrazione" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Aggiornamento della configurazione del calibro-web" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "Configurazione di base" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "Posizione DB non valida. Inserisci il percorso corretto." -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "Compila tutti i campi" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "Aggiungi un nuovo utente" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "utente '%(user)s' creato" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/admin.py:598 +#: cps/admin.py:608 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "utente '%(nick)s' cancellati" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "utente '%(nick)s' aggiornato" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "Errore imprevisto." -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "Modifica utente %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "Richiesta del pacchetto di aggiornamento" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "Scaricare il pacchetto di aggiornamento" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "Decomprimere pacchetto di aggiornamento" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "Le connessioni di database sono chiuse" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "Aggiornamento completato, prego premere bene e ricaricare pagina" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "" @@ -216,98 +225,98 @@ msgstr "Mancano autorizzazioni di esecuzione" msgid "not configured" msgstr "" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "Errore durante l'apertura di eBook. Il file non esiste o il file non è accessibile" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "modificare la metainformazione" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Non è consentito caricare i file con l'estensione '%(ext)s' a questo server" -#: cps/editbooks.py:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "Il file da caricare deve avere un'estensione" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Impossibile creare il percorso %(path)s (autorizzazione negata)" -#: cps/editbooks.py:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "" -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "Sconosciuto" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "Impossibile archiviare il file %(file)s (autorizzazione negata)" -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "Impossibile eliminare il file %(file)s (autorizzazione negata)" -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" @@ -320,133 +329,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:78 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Invia a Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:305 +#: cps/helper.py:323 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "" -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "" @@ -471,30 +480,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -587,119 +592,127 @@ msgstr "Modifica un ripiano" msgid "successfully deleted shelf %(name)s" msgstr "cancellato con successo il ripiano %(name)s" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "Mensola: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Errore durante l'apertura dello scaffale. La mensola non esiste o non è accessibile" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Modificare l'ordine della mensola: '%(name)s'" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "Aggiunto recentemente" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "Hot Ebook" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "Mostra libri popolari" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "Libri più votati" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "Mostra sezione più votati" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "Leggere libri" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "Mostra letto e non letto" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "Libri non letti" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "Per scoprire" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "Mostra libro a caso" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "Categoria" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "Mostra sezione categorie" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "Serie" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "Mostra sezione serie" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "Autori" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "Mostra sezione autore" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "lingua" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "Mostra sezione lingua" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "" @@ -725,196 +738,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "Libri aggiunti di recente" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "I più nuovi libri" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "Libri più vecchi" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "Ebook (A-Z)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "Ebook (Z-A)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "Hot Books (più scaricati)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "I migliori libri valutati" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "Libri casuali" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "Hot Books (più scaricati)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Errore durante l'apertura di eBook. Il file non esiste o il file non è accessibile:" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "Lista delle serie" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "Serie :" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "Lingue disponibili" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "Lingue: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "Elenco categorie" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "Categoria : %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "" -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "" -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "ricerca" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Leggere un libro" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "Registrare" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "" - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "" - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Nome utente o password errata" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "Accesso" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "Token non trovato" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "Il token è scaduto" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "Successo! Torna al tuo dispositivo" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "ora sei connesso come : '%(nickname)s'" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Configurare prima le impostazioni della posta SMTP..." -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Si è verificato un errore durante l'invio di questo libro: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "Registrare" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "" + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "" + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Nome utente o password errata" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "Accesso" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "Token non trovato" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "Il token è scaduto" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "Successo! Torna al tuo dispositivo" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "ora sei connesso come : '%(nickname)s'" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "Profilo di %(name)s" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Profilo aggiornato" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Leggere un libro" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1082,7 +1092,7 @@ msgstr "Ok" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Indietro" @@ -1102,14 +1112,19 @@ msgstr "via" msgid "In Library" msgstr "In libreria" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Altro da" @@ -1217,7 +1232,7 @@ msgstr "Ottieni metadati" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Sottoscrivi" @@ -1253,8 +1268,8 @@ msgstr "Fai clic sul coperchio per caricare i metadati nel modulo" msgid "Loading..." msgstr "Caricamento in corso..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Chiuso" @@ -1483,8 +1498,7 @@ msgstr "Accesso" msgid "View Configuration" msgstr "" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Titolo" @@ -1528,31 +1542,31 @@ msgstr "Tags per Contenuti maturi" msgid "Default settings for new users" msgstr "Impostazioni predefinite per i nuovi utenti" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Utente amministratore" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Consenti download" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Consenti caricamenti" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Consenti Modifica" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Consenti l'eliminazione di libri" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Consenti la modifica della password" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Consenti la modifica dei ripiani pubblici" @@ -1560,11 +1574,11 @@ msgstr "Consenti la modifica dei ripiani pubblici" msgid "Default visibilities for new users" msgstr "" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Un libro a caso" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "Mostra sezione adulti" @@ -1668,7 +1682,7 @@ msgstr "" msgid "Do you really want to delete this domain rule?" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Prossimo" @@ -1685,8 +1699,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "Scoprire (Libri casuali)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1729,7 +1743,7 @@ msgstr "Libri ordinati per categoria" msgid "Books ordered by series" msgstr "Libri ordinati per serie" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Ripiani pubblici" @@ -1737,7 +1751,7 @@ msgstr "Ripiani pubblici" msgid "Books organized in public shelfs, visible to everyone" msgstr "" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "I tuoi scaffali" @@ -1774,7 +1788,7 @@ msgstr "Logout" msgid "Register" msgstr "Registrare" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "" @@ -1786,52 +1800,27 @@ msgstr "" msgid "Browse" msgstr "Navigare" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Libri ordinati" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Ordina per" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "i più nuovi" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "il più vecchio" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "Ascendente" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "Discendente" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Crea una mensola" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "Di" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Precedente" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Dettagli ebook" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2129,27 +2118,31 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Email Kindle" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Mostra libri per lingua" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Mostra tutto" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Elimina questo utente" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Download Recenti" @@ -3413,3 +3406,39 @@ msgstr "Download Recenti" #~ msgid "Show sorted books" #~ msgstr "" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "I più nuovi libri" + +#~ msgid "Oldest Books" +#~ msgstr "Libri più vecchi" + +#~ msgid "Books (A-Z)" +#~ msgstr "Ebook (A-Z)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Ebook (Z-A)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "Libri ordinati" + +#~ msgid "Sort By" +#~ msgstr "Ordina per" + +#~ msgid "Newest" +#~ msgstr "i più nuovi" + +#~ msgid "Oldest" +#~ msgstr "il più vecchio" + +#~ msgid "Ascending" +#~ msgstr "Ascendente" + +#~ msgid "Descending" +#~ msgstr "Discendente" + diff --git a/cps/translations/ja/LC_MESSAGES/messages.mo b/cps/translations/ja/LC_MESSAGES/messages.mo index a89da6d2f37f56ae8f002d2c5040795dadae648c..b74e0e612ac1b40c1456b65e26af07ff3c707ee7 100644 GIT binary patch delta 17681 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 Z8Wb83Xd144_)L{7-XX(7IgQK5@G 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

2Bx6S_APt<9x8LYQJ3x}>N5Ur zhU_N)di|nyy9JX`DQ$?l6E9%i?KQ_^d)nuqJ|JgNfyL}`m$nj?qTU+yY3`2-EDM#9 zNvQs>qvl_^hy3eoHqfB=_!#Q;e~Y?g4^RO;GAr+Omna?8J`FYDX4LC=2({3C)b}KG zpUYH5RC`^sB`PBweH0XFcT`IIp(cC@75P+ae;YO6U#N+;Vl?iz`ZuU?mr8SRxs7%gA%|9PCe-09W&s$AF5e2Xe?nOoREk1@fF&TpnxE<6$1@t0np^2yoSD_Zj zMctY0n1F{-&ws?y_>0ve52~H5L{rc$FNwMfRZu(Yl-GezvN;74X`hW%aO=Uq&-Hf( z`QK}JI54V_FDURjf}6EG7-34g^tHKMWys?RfdSf8$ajs^w%{Z0k@7Y{rb$jT@Z=3ksO(_bgMQRK*BBSvKm zjPI}T17owx1{E8@%;UT+u3c*c-Wbw9pFd^fPyWo%xWGf?oA_>e&D33Y=4 zLtcvw4!gE=#`P7`15+n%3yHdxv(Y7yf=gkb@zlj({+6xR1oq5H4i3Bi);x8-K5s&3 zAp4E$%3oaI;i9l0f9#UEf%8jl1^de_JLT_`GsJ%^=TYFqJ45sNhppaA5}O7lujv;Q z_+@Qya3FHSyFpPo6R$1a>|M*_%B1&MF|Z*wA;=%}-b(-O_fq}sH>O7O^y>UI>IBwl z{>JXXfgT@p4e_7f`p}=1kr0U3mX+VXaQ7~M|2@waxwdHA)tO7KOj>kh^4u$vmirTS zM+d&x^JY+S_rUw#=X6=FHGA)Cl%JHA4E%mLHprjyX@CFvPb(Mrf2nN#S(%W)%rEW+ J`6nJd@jv1-mqP#m diff --git a/cps/translations/ja/LC_MESSAGES/messages.po b/cps/translations/ja/LC_MESSAGES/messages.po index 9dce4075..2d404f1a 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: 2019-03-10 08:24+0100\n" +"POT-Creation-Date: 2019-03-24 08:25+0100\n" "PO-Revision-Date: 2018-02-07 02:20-0500\n" "Last-Translator: white \n" "Language: ja\n" @@ -22,185 +22,194 @@ msgstr "" msgid "Statistics" msgstr "統計" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "サーバを再起動しました、ページを再読み込みしてください" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "サーバをシャットダウンします、ページを閉じてください" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "管理者ページ" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web 設定を更新されました" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "基本設定" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "ログファイルの場所は不適切です。正しい場所を入力してください" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "データベースの場所は不適切です。正しい場所を入力してください" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "全ての項目を入力してください" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "新規ユーザ追加" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "ユーザ '%(user)s' が作成されました" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/admin.py:598 +#: cps/admin.py:608 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "ユーザ '%(nick)s' 削除されました" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "ユーザ '%(nick)s' 更新されました" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "不明のエーラが発生しました" -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "ユーザ編集 %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "更新パッケージを要求します" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "更新パッケージをダウンロードします" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "更新パッケージをZIP解凍します" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "データベースの接続が閉じられました" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "更新完了、Okayまたは再読み込みボタンを押してください" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "" @@ -217,98 +226,98 @@ msgstr "実行許可はありません" msgid "not configured" msgstr "" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "電子本を開けません。ファイルは存在しないまたはアクセスできません" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "メタデータを編集します" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "ファイル拡張子 '%(ext)s' をこのサーバにアップロードする許可はありません" -#: cps/editbooks.py:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "ファイルをアップロードするために拡張子が必要です" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "場所 %(path)s の作成を失敗しました (許可拒否)" -#: cps/editbooks.py:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "フアイル %(file)s の保存を失敗しました" -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "" -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "不明" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "ファイル %(file)s の保存を失敗しました (許可拒否)" -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "ファイル %(file)s の削除を失敗しました (許可拒否)" -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" @@ -321,133 +330,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:78 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Kindleに送信する" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:305 +#: cps/helper.py:323 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "" -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "" @@ -472,30 +481,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -588,119 +593,127 @@ msgstr "書架を編集する" msgid "successfully deleted shelf %(name)s" msgstr "%(name)s の書架を削除されました" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "書架: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "書架を開けません。書架は存在しないまたはアクセスできません" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "'%(name)s' の書架の順番を入れ替える" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "最近追加" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "最近の本を表示する" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "最新の本" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "有名な本を表示する" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "最高評価の本" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "最高評価の本を表示する" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "既読の本" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "既読と未読の本を表示する" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "未読の本" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "発見" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "任意本を表示する" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "カテゴリー" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "カテゴリー選択を表示する" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "叢書" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "奏者選択を表示する" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "著者" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "著者選択を表示する" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "言語" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "言語選択を表示する" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "" @@ -726,196 +739,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "最近追加された本" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "最新の本" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "最古の本" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "本(A-Z)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "本 (Z-A)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "有名な本(ダウンロード数)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "最高評判の本" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "任意の本" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "有名な本(ダウンロード数)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "電子本を開けません。ファイルは存在しないまたはアクセスできません" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "叢書リスト" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "叢書: %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "利用可能な言語" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "言語: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "カテゴリーリスト" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "カテゴリー: %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "" -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "" -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "検索" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "本を読む" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "登録" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "" - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "" - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "ユーザ名またはパスワードは間違いました" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "ログイン" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "トークンは見つかりません" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "トークンは失効されました" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "成功しまた!端末に戻ってください" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "%(nickname)s としてログインします" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "SMTPメールをまず設定してください" -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "%(res)s を送信する際にエーラが発生しました" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "登録" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "" + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "" + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "ユーザ名またはパスワードは間違いました" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "ログイン" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "トークンは見つかりません" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "トークンは失効されました" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "成功しまた!端末に戻ってください" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "%(nickname)s としてログインします" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "%(name)sのプロファイル" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "プロファイルが更新されました" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "本を読む" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1083,7 +1093,7 @@ msgstr "はい" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "戻る" @@ -1103,14 +1113,19 @@ msgstr "経由" msgid "In Library" msgstr "図書館の中" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "もっと多い" @@ -1218,7 +1233,7 @@ msgstr "メタデータを取得します" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "提出" @@ -1254,8 +1269,8 @@ msgstr "メタデータをフォームに読み込むためにカバーをクリ msgid "Loading..." msgstr "読み込み中..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "閉じる" @@ -1484,8 +1499,7 @@ msgstr "ログイン" msgid "View Configuration" msgstr "" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "タイトル" @@ -1529,31 +1543,31 @@ msgstr "成人向けのタグ" msgid "Default settings for new users" msgstr "新規ユーザにデフォルト設定を設定する" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "管理ユーザ" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "ダウンロードを有効する" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "アップロードを有効する" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "編集を有効する" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "本削除を有効する" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "パスワード変更を有効する" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "公的叢書の編集を有効する" @@ -1561,11 +1575,11 @@ msgstr "公的叢書の編集を有効する" msgid "Default visibilities for new users" msgstr "新規ユーザにデフォルト可視性を設定する" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "任意の本を詳細閲覧で表示する" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "成人向けコンテンツを表示" @@ -1669,7 +1683,7 @@ msgstr "" msgid "Do you really want to delete this domain rule?" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "次" @@ -1686,8 +1700,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "発見 (任意の本)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1730,7 +1744,7 @@ msgstr "カテゴリーで並び替える" msgid "Books ordered by series" msgstr "叢書で並び替える" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "公的の叢書" @@ -1738,7 +1752,7 @@ msgstr "公的の叢書" msgid "Books organized in public shelfs, visible to everyone" msgstr "公的の叢書に選び分ける、みんなに見える" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "あなたの叢書" @@ -1775,7 +1789,7 @@ msgstr "ロクアウト" msgid "Register" msgstr "登録" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "" @@ -1787,52 +1801,27 @@ msgstr "" msgid "Browse" msgstr "ブラウズ" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "整列した本" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "整列" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "最新" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "最古" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "昇順" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "降順" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "叢書を作成する" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "このサイトについて" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "前" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "本の詳細" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2130,27 +2119,31 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Kindleメール" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "言語で本を表示する" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "全て表示" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "このユーザを削除する" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "最近ダウンロード" @@ -2241,3 +2234,39 @@ msgstr "最近ダウンロード" #~ msgid "Show sorted books" #~ msgstr "整列された本を表示する" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "最新の本" + +#~ msgid "Oldest Books" +#~ msgstr "最古の本" + +#~ msgid "Books (A-Z)" +#~ msgstr "本(A-Z)" + +#~ msgid "Books (Z-A)" +#~ msgstr "本 (Z-A)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "整列した本" + +#~ msgid "Sort By" +#~ msgstr "整列" + +#~ msgid "Newest" +#~ msgstr "最新" + +#~ msgid "Oldest" +#~ msgstr "最古" + +#~ msgid "Ascending" +#~ msgstr "昇順" + +#~ msgid "Descending" +#~ msgstr "降順" + diff --git a/cps/translations/km/LC_MESSAGES/messages.mo b/cps/translations/km/LC_MESSAGES/messages.mo index 80bb00d4e95f4002cef5de3cfa94ced575ef6276..4a8d65909409072f23c5e5110fa73e768c7671e2 100644 GIT binary patch delta 17766 zcmc)Q2XvLizW4Dbjf74>AoNX5KoUYPp-L|TLPAr@PO=jsNjB~z6h${pDT;zyMGz^1 zih@!$DhNlxhDcRFii!ja3Y;S-N3bCG``a`6$~xz+^PY9@I`^)3-OtQC^UVC`Kl98E zzW29xBMzU8@Smy}`MAUXJRRXUH8HZ5YX9$lF0^-?3RM4!&G9#Eipd>J|Iyfh`rTL& zS6~`$#$gzfV%{5zC8;mMD0~W|9mnsiq7XyF3--Zg^T64P#N_P6Quq#*!GqRMQ3HKz zpMPil8OzZg)zNXv<4srs8(<{fjG8YQOESOHo`MGMZaWON9n!30P!naN0?Naxco%BL z^H38lLj}4XYv5~G77t?`EJpPU>l9kK6N}ZD->F8S1-3**nuQuT&(^1-Qa1-R&?5VM z6Ouyb9n^dK@FqNrTH!a=OV*#U8toCCP5)Zx*8mMDXhlu2685kiMxdULwe@UkK9;7v z2$j+qs0==UnmB-ZZ<%!sYUS%~eFtiucRG`Q9j@avXa(P*2E2$$<=;_z>2xszmPb9W zih8f6H4zm+XH)?FQCpU39ff*t94asmY5{p&{N}+_8Z^LtsEHrMczgnH#y2n-&tX%n z(baJ{;7%WGgR`&+zK)vsD@?@m*chvIbDYZ99hK>ksI9omPoX-62knFBur>8JP%FQT zia6pH6KH8vrYcygqE=iRbw=WCdvnx#?N9-AMUB@BHD4OmMgK$!isVsLWb4t5@1Ra^ zqwZ#)R;bK$L=Dgz^*kMQSSO+;oQ3W2K~!MxS`VNO=P^{KFCYQb}z{pj_#;N)FBrNodYge`QT6Jm=S{FBCSwFx;@*8b)Kf^-ffvK8(RBs53SL<8etJ@}ERu z7Y+J+F4_k*`r6M070^hG!Eva=mxEf#Y}5p6tS@3M>KkqS0P4LXs6+l4YP>6`jQ`e` z{A-}H{Y**{Q7;TYtuPJsnPj0-I2TLd0@SI061DPms5^fv>Z}|=^*@8^cNR7A&!`NA z^)~^P^i$A^>Z7)zGiqWtmO>xug?mvG+;3fl>h~8^1`c2=Jc3oQ!23Y6r1S#?@U1%$g%oR6WxQ_!&#`Un2X9#0F}zcsDM941yb@h z6L=IIczw@Eq!e*X;A1sKDMs7w)z7 z3s{!=B~<_GsK8=|n9sC4)~8+rb?CdGUoVWMP!sb|dpjSs;>DsFZ3Vu7w)70qP7i!O+hq zmZv@vwM99omEMJV|87*^vr+FqVtpLd?zl2l7BU9rlA~eLk;jgYJkJ2flr_& z{KB@MM{U6+RR14Q{le1B%1fi_@u+^yt!-?33Mzv={q{j$)Pw`E6{eyFo@adw73d0# z#pkdCZpG6018TzSs6a~&Gp9ZlHEv^6CYxa;?1Sp(zk`BOlWEOEoqBB}HlkL(4Yjg;sKfFx zs^3Y}M5j^xzro6Q$v%%BY2GV~>Q@zY2DY=F8~2BKdPjisQ&c9(S;Dphk(k-v>` zcp4SZPgn&bMwxnbQ~(XI9dA8t61?PtT$z_&X{S&h6%TNmRW8YP@Q;UKbT;6V&)!Zzuoi(2oWUJj6N@HNZG) z4k}_FDxk@z&*)xM0Ed+lP^*f0g=Zv4iO%%StYIqIx^H`O? z6xFdc>cvi|i2I@f9cmqg8pv&*XQSS`%eGHNoh3hpQjU6mv3>4eZX4F1B3);F-L~&R zt?-boe}W3+3@We-sDZEA_G`8tJ=$cj3@V_?sEpM@1<)M%k@Gw4C^VxX1$9A8K&9>; z)LzX+7cNKrMe`=M#qcras_lTvz%W!Gcc21xqXNxE9r8)mxu~5uyP9)dkE4K?0U>q_f$7~|)`dI~x;ub@)( zwskLRMTb#`@i=N_#rF9HTfc0dUq=_uW5$`xHAV&A1zX@i)c7;74$ecr27G}+GHyZr z__9ycwPoW`3tEYq_t|vvUys5@ z8nnX0s7!o{It%BlKilV}GR#*}3AM6BRO&mTZnVLuy>_DlDM0nR7uD|})Wj=M_V;JBh*C2s2`;tu|Agbn9Q|6UCAk^0ES>A^k6(bgbi>D zYMv9QK>S}(=tJRqYf2XXwx>QD705o+#q=pEg+E$LWt#zNV+q=CMr~mW)E1;*G~SAO zo@TuR6+i|OfZy>_h@xQ{M&nHDeAHok6m=$EMrCS;t?x$d@louDpJN0z8E^grL=x)o zjmKzQjWM_m6~GoOr|*BKZ8#We;J*i;B0h(D@e(S)pD+fm+xD0o6F>#j^XjNTU04s3 zZ2N7teK;zk9%~VnV}9p;3L4-s)Wl0s1Ff?44X7=66?GO4p#u9H_1;<3dw<1}co}sT zenYLa@||W&>Y~n2OH_Lw^y^ThQqan#VkFK)9kMyr6_`lWrmFms5!%kERciWC1+V&H+ei{||H`XiIn|g^n z^N-Gfs6Bqnx&{@<7Ho;zQ2~92W$=pMc8JV35tT+wP#cxvMAQo{QGumkDeQ?Fcrfao z7>=5FyltO?4XOKW{aI9I)}zLG1+~@wHz{Zf-a$?HDQdzqs0q%YQhmv`M|jPPrBUxy zKn+LvKjT#q`eucP`O!qDIUCsm-K7&Y)W){9ty`c`2O`Pw$FCFi26g~3dUpQLX)~qsFn6d ztsoUO(HPX3n1IT_L{tU}F&6K)^~Ip(2Hv_CYh$0PRpObhh@w zO4JA1=jqn*)_hbTg|>b#R;ND8)|Xq?paOdlwKe{iZNn?5&u$xP;&*L_{n(NE5mW|Z zC!4?dI-<6~gN@LKTF4UA`|D8|-GZ8En{}sc-);0e`zYwe4^b)k5^uuqFbN~4nBVi3 zs6&*8+RJIE70*XyEMT86vCr3HIPI^Z_IevCkYlL#PKE01|5*w;G=D>#h3lw8S!1eM zNf%VgdZPmCj|n&qr-t!oG`680agX``Kj?r>spq1;jwRRtUqxl|6HLRnY5Z{M_dlP) z9r!NlaMiolq_!z4mF-axcSEhTpKTwE3Ty-_b9Z1L%tlSP5i8?STR)Fos8_hp+=zqG zugLGCpwzsA+Or*~33s6a`T(`pN9^-r`}}L`cc{Rwq5}F26-YR%Yl;0)XUC7aieJQm zc-+tTuL~!By7?E$2-KB11-0_IsDT!uE{qeXK+DW9XQmRW-Ut_ctk`#2VV zLjCzY@&P_od<;ip>>M+(7dZ=lr-(vh9<0XxxF2uBYIDt>R1;7)*(Ou~`|xQjKhHdW z38Sh1fRXqMDpSsU6L>VnP_2q3(S>^61Vg|7%_&6D&>rh!7t~?Pz`FPZR>Q4W6+gmX z@EqzQ`uaf=z-82#`4x4#YdmD$zZ2E|5Gv4h_!I^)^zZ*c3rvI~uqhARsEHrOF1Qi( z;zewaS5Yf!@vt!k^}L650G6Ykidu1oZO=nxwg~n9ZuINLLlmatanuVVA2Gk*8K|#e z8tR7Jgw63SEQ6O(pHtXElZh%=ntB7&ILW9~cR-hb{^cTb*!n$cQs_nP@x!Ps3t)L%f*SY*Ti0>f%zz1Kiq#+B`&Wby z(4c`AAeWc(C~{3Zv5)buAhn|=sQkEDS#6A?o`Bk-ZkUKOPzQS_2R9lQ=W_Zyf$DG#w<4XL0eSn(oqA?M=f9_DihD+aC{9FK=~)l_yep% zuomqjY~4SJf>t&SQ}KS(fG4pW7GoW}hzhX664SpKs@@LU;c%>o3$YZg#-8{xs^4X- zft8k;U(04l#{Etf1-&={HSv9@6y1;gaRCm*6R4FXu%T^mIyS)9Q2jr}8u+EvS!NDx zO;m;xaRau*D)Y`DUF zwmnc2WMM4ciwf)!%)xco2`jJUM)Xq{N}&;MvK~k6(RFLBRpuWgDVR&U8++jajKj*$ zn1GW|nP`Pgup=taY`hioQGxA1W#TaUGbqejZEm)+sPFnZD)KUGxGbUnjHL>IcSp{@7Avef&d#vl0{`7c2sod(@pIanWyunsOky|4{y z;%?M;{v~R~6`waLt%X`qD~!iM7>$!r0r^o2ydQ7E#h8HW^7W?<}C8j*G3!%mZf? z>M*Ud?Hf=NZoxc!9kmq+>&yhhP=UL#4UWeSxB^S#Ni2z9qXNB%RrUQ}rJ#W;tT(Bw zf|aN@Lv`$q%1nQ2Dwd%>8g(}AL=8Lz6~IjEJSDmb zFPpz`YT=#K+oA$`1{LYc)>lyhyn&kFZLErWPy-jE2L8s@FWLH4RR1t;9gP=_>R)~X z`By^~8uWS9MtvqJw!^K~RMY^sV;OX#PJO<04(hC|MD<&P8uvw1K$|fcx7+6zP#O7t z1Nm3SUun?FA~*7bgC(&KE=C1(8cX5#*aWX(HYRK`1204cv_$VxHGT4cx$bGityV))Z90Jx~Gl#Y#8`6+i}R zo_thblaPh^o!J!1(Xa@0=vJaSu15{D1#iOFQHS*)>eumGRKMs~%zNcg0oOnU+R)k* zHBL+WygfFc-aXXL{*R|nk%oNK3TB`Ncp%h)^I+=%RG>?(FWC02s1?3x>mQ(gXYM+Gp}nuX1%=V5z%+IkE%aO`X5aK+;-)cast zd=OLdZBz#0wwn8;HY(sG^edwF6k@TvH4WpaXQTFbIx3)fw!RQG;1cT!RA!zmVMn=$yyB+KpjlL1XQMOvyMbtomytM4>h)*Gu)ABXxaxEr;=W!M4_qxzTFWxfJ`OA4BB1Zq#RQ7gX3c6b0az&dP? zXHb#Xe9L62KC1uCSQp#a_7S!|4t02ES~p`d^)uK~-+v{R9Y;fNRO-i}ZoKiR6&E2L z9Y3mH5ZmECjK`>V%$1yo9jTANF8DZ(!lS77lHWBM>x=r_AHqh=@2sHEord>t43>J& z9F`o^p3lVqerW5S-J$=s;Jl3GX>b3&`HQA6Dud5kw__9P2T=k1j4@bgkNMhaVl?wR zNfb(88*3-j#nA(miNP3!qfsl%KxJw**1&bx7w{1Mk3qfXK?RtHT48~0pN1u=&$iDWM(zD$ zn2Yc3Bma7_#eQ?D+o4k0%Q_4dKo+WB5$eXf2X(_OLItu1b?OgU&!GZ~JYe1{gBrIY zCSpD8kAn}8e_agAXsC(XQQ!A*)C6S@npE{f?csim#INyIJdcC1{UNSfoR1o>%7C341w%Ycc zw!Rz7(SFc+3VT!kD?Wv-KQ>$Oq0#RY+lEW1h{KMVfm>r4>YY%L_Cp198|pjHL}h9f zHo(7F&!GB6A2*q*juoi4#PZk!^*j~ze}C#^Q_uw4QK@+gwZgrqy*`Rn@g(XHevexD zRn&XV3G+QiquQ&XKC`-*i49TX&PTl;u=ORXGr#i;1x2(LwUX_qtMs%wVE9QhQH-@b z>hr9E&9EM--w;&5BT#2%G`@)sqB7P06O)l_Or|~^{Yv>J3d8U#)Q#2gQ}bhyjat!C z)CA9YY9#|B7TX4LW3NQ3Jh- zdSM?b#UEQgLk;|;^#W>dFJn!NI%S^ML%r7o6>xJ@U>&dzcDB#woFf0~@UU%IjGA~k zYNE9miyKjg@hw!q2T@z*d~QyAC2Kv@#Lck=wnGJ$YU_7l7wQXeIPUjT&fmj=dqB7>Qb^k2e@C;Vr zK@fG?Kfv4Y3~D8Nz&r#3MVn_TN>g&1r8}m2cFl<2GkBx8*_QbuY z_hY|hYnb1uMnMDBwl>rQ>P@Z9Q5k51I(#Fr1J1+I_zup&dgsg@zld$9??D|}=e#*P zWl>jieN_YoG%*OK< zg8kZV3yaL~7Uc)7x7!nZr~Rz3;B6^a!h@qa-xPIAQEsLy-&^R)^=9YfC%Fdn=r-6@ z;PFlJ_*|LZ$@xuP6LUT80*@=hn_uY8D0EHr7WrK6%)FfZoPt81yU^yX-^18Bo-aJ?DoWedu=}As6cTTP+(^W|GKkerAX6JhT z+>N*x#x*&oaQr_R1+Jorxn6gsCo|A^fUkL$*O%um z?BL>QsMNT?=|wk}sohv{<+8@$;{&q7M})$64eC}z7~OMoJo$yLzL}0$)s4+VJsCbv z;UACOdc))Md3}GRlE=QOu3UGa$CniNY2eP`TJw#AXzb8(ZfyR2Z2Rb6js5DNKIMGg zqKU5bsoK*VPeI_7A}nr#t6PC< zh{v7j-0Jp)DrxyXs)1GO)&v5>=LM5Tln+Z*@LpemjzYnB?_^iHhb{29#^+=bk1HX$ zQ)W(qJDtRsmd1g$Bh#zupyuRHFej*Cf>(nyE=UU8y`j+nvpGXOg<4R7Gbp{#O;|T> zk z+V@aH|D62HTu-(qKU51H;cgrd?RW;u^ae`j*N;=`@-yAOOxF$1@`FwC+l2>)`5Fbs zPAm+I$SleT9=xkzSgDqYEn2yf+jVHsI{2F}IpX(=G$A--(&Dg)Zn?RE=2L11OH7#( z9$b3&@u;XWp~#mgTn4rTn xQ)}qae{*REHl4URn0DgR$gq)tR9`}{`Kg)_(fm9YWq6!Gg~#H8p5i58{{`K2Uv&Tg delta 15129 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 %(rating)s" msgstr "ការវាយតម្លៃ >= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "ស្វែងរក" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "អានសៀវភៅ" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "ចុះឈ្មោះ" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "" - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "" - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "ចូលប្រើ" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "រកមិនឃើញវត្ថុតាង" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "វត្ថុតាងហួសពេលកំណត់" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "ជោគជ័យ! សូមវិលមកឧបករណ៍អ្នកវិញ" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "សូមកំណត់អ៊ីមែល SMTP ជាមុនសិន" -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "សៀវភៅបានចូលជួរសម្រាប់ផ្ញើទៅ %(kindlemail)s ដោយជោគជ័យ" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "មានបញ្ហានៅពេលផ្ញើសៀវភៅនេះ៖ %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "ចុះឈ្មោះ" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "" + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "" + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "ខុសឈ្មោះអ្នកប្រើប្រាស់ ឬលេខសម្ងាត់" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "ចូលប្រើ" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "រកមិនឃើញវត្ថុតាង" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "វត្ថុតាងហួសពេលកំណត់" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "ជោគជ័យ! សូមវិលមកឧបករណ៍អ្នកវិញ" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "ឥឡូវអ្នកបានចូលដោយមានឈ្មោះថា៖ ‘%(nickname)s’" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "ព័ត៌មានសង្ខេបរបស់ %(name)s" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "ព័ត៌មានសង្ខេបបានកែប្រែ" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "អានសៀវភៅ" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1084,7 +1094,7 @@ msgstr "បាទ/ចាស" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "មកក្រោយ" @@ -1104,14 +1114,19 @@ msgstr "តាមរយៈ" msgid "In Library" msgstr "នៅក្នុងបណ្ណាល័យ" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "បន្ថែមទៀតដោយ" @@ -1219,7 +1234,7 @@ msgstr "មើលទិន្នន័យមេតា" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "បញ្ចូល" @@ -1255,8 +1270,8 @@ msgstr "ចុចលើគម្របដើម្បីបញ្ចូលទិ msgid "Loading..." msgstr "កំពុងដំណើរការ..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "បិទ" @@ -1485,8 +1500,7 @@ msgstr "ចូលប្រើប្រាស់" msgid "View Configuration" msgstr "មើលការកំណត់" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "ចំណងជើង" @@ -1530,31 +1544,31 @@ msgstr "Tag សម្រាប់មាតិកាសម្រាប់មន msgid "Default settings for new users" msgstr "ការកំណត់មកស្រាប់សម្រាប់អ្នកប្រើប្រាស់ថ្មី" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "អ្នកប្រើប្រាស់រដ្ឋបាល" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "អនុញ្ញាតឲទាញយក" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "អនុញ្ញាតឲអាប់ឡូត" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "អនុញ្ញាតឲកែប្រែ" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "អនុញ្ញាតឲលុបសៀវភៅ" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "អនុញ្ញាតឲប្តូរលេខសម្ងាត់" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "អនុញ្ញាតឲកែប្រែធ្នើសាធារណៈ" @@ -1562,11 +1576,11 @@ msgstr "អនុញ្ញាតឲកែប្រែធ្នើសាធារ msgid "Default visibilities for new users" msgstr "ភាពមើលឃើញដែលមកស្រាប់សម្រាប់អ្នកប្រើប្រាស់ថ្មី" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "បង្ហាញសៀវភៅចៃដន្យក្នុងការបង្ហាញជាពិស្តារ" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "បង្ហាញមាតិកាសម្រាប់មនុស្សពេញវ័យ" @@ -1670,7 +1684,7 @@ msgstr "" msgid "Do you really want to delete this domain rule?" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "បន្ទាប់" @@ -1687,8 +1701,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "ស្រាវជ្រាវ (សៀវភៅចៃដន្យ)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1731,7 +1745,7 @@ msgstr "សៀវភៅរៀបតាមលំដាប់ប្រភេទ" msgid "Books ordered by series" msgstr "សៀវភៅរៀបតាមលំដាប់ស៊េរី" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "ធ្នើសាធារណៈ" @@ -1739,7 +1753,7 @@ msgstr "ធ្នើសាធារណៈ" msgid "Books organized in public shelfs, visible to everyone" msgstr "សៀវភៅដែលរៀបចំនៅក្នុងធ្នើសាធារណៈ អាចមើលឃើញដោយគ្រប់គ្នា" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "ធ្នើរបស់អ្នក" @@ -1776,7 +1790,7 @@ msgstr "ចេញពីការប្រើប្រាស់" msgid "Register" msgstr "ចុះឈ្មោះ" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "កំពុងអាប់ឡូត..." @@ -1788,52 +1802,27 @@ msgstr "សូមកុំបើកទំព័រជាថ្មី" msgid "Browse" msgstr "រុករក" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "សៀវភៅរៀបតាមលំដាប់" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "រៀបតាម" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "ថ្មីជាងគេ" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "ចាស់ជាងគេ" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "ពីតូចទៅធំ" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "ពីធំទៅតូច" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "បង្កើតធ្នើ" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "អំពី" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "មុន" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "ព័ត៌មានលម្អិតរបស់សៀវភៅ" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2131,27 +2120,31 @@ msgstr "" msgid "Kindle E-Mail" msgstr "អ៊ីមែល Kindle" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "បង្ហាញសៀវភៅដែលមានភាសា" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "បង្ហាញទាំងអស់" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "លុបអ្នកប្រើប្រាស់នេះ" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "ការទាញយកថ្មីៗ" @@ -2242,3 +2235,39 @@ msgstr "ការទាញយកថ្មីៗ" #~ msgid "Show sorted books" #~ msgstr "បង្ហាញសៀវភៅដែលរៀបតាមលំដាប់" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "សៀវភៅថ្មីៗជាងគេ" + +#~ msgid "Oldest Books" +#~ msgstr "សៀវភៅចាស់ជាងគេ" + +#~ msgid "Books (A-Z)" +#~ msgstr "សៀវភៅពី A ទៅ Z" + +#~ msgid "Books (Z-A)" +#~ msgstr "សៀវភៅពី Z ទៅ A" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "សៀវភៅរៀបតាមលំដាប់" + +#~ msgid "Sort By" +#~ msgstr "រៀបតាម" + +#~ msgid "Newest" +#~ msgstr "ថ្មីជាងគេ" + +#~ msgid "Oldest" +#~ msgstr "ចាស់ជាងគេ" + +#~ msgid "Ascending" +#~ msgstr "ពីតូចទៅធំ" + +#~ msgid "Descending" +#~ msgstr "ពីធំទៅតូច" + diff --git a/cps/translations/nl/LC_MESSAGES/messages.mo b/cps/translations/nl/LC_MESSAGES/messages.mo index 364caf4a0d0f9be9421e9442eaf51bbb14222b3f..e727869cee67a9eee53f4fada828b3a361c9a773 100644 GIT binary patch delta 17710 zcmciI33OFOzVGp!gdt%HVG1*cDFK8q8z3^tJQ#)$Xb^#u-+Ay>wcu|)^d{~>HZ z{ZXudt1un6<4}xFG4GAW80w3#I4;MMj^jFOC`8k+(LUI29yq&^n4JAs3g5*tc+C1S zYM`&|^DEXLupI5h?{l13tb`@70T#o1Q1i9G80L4{Q_#TOY=?oiL%MYoYND~IfO0V& zA3?2nE^49`s6aPk4cvug@g&y4v#5R%9m6Yk;; zw8%c+hNRGW7xmr|tb`{~EBw-W)%pWgqdlsV>0b+74bXssR@4+LVt3o&H>l^MZGEgY z4@=Wth)U^nR0f|yO4s{JT}8i*chvIb)3rB4VCHPsI7R!rBI#1eEZ;KY)k!3 z)XKj@MI3d%3A8jSQ{}Dks1?^nosmS_-V*g*J5)ejP~-JP&6kdK(Vaj+kvxlvY%_ZC zUDWAK=w=3LgUZZ(r~!JRo@byA>jczeM>D&BRquDNaCTtR1RfA5_NDu_R_#A4UZl#Auw1I%Cr@5tsHR z|49@M(4f!fTl=6!AN#qW0ve9dI0kk2{HT@8LQSyFx(RDh-)ieeQSY5X9rC}R#=C*a z_)mSvzXmGX*QBHw>V^KO6{e#;lWbH9=U^#(8g=SlK&|{0)SbT@byiNH`kzDfyMUVb z2ULb4`k8=YTnbuIebiQTLQU+&QW!+NFby@qlh!q;es7>Ma1`6%DXfAq{T+ud*zq7A zn3IWIrp|9s{r`$F=w7Cv6<WRd+lQh0`%#B+0`fcK zth4oVm_WTss<9(#i?WQaGlN1y8dhT~Jcv4-x3DT!9bh7EiONJW>QHt@O`MK8Oe0Y% zpM^beIcnUqs6$tBpb5MVYC%o0iN60%6qEtKHHez%G1MN;L~X?!RECOBsa%2z_>ZVS zVg{MO%cHimIhM!17>5tqdM;|d$FVf?JF_WhFN#omvl1imCDZ^fqh8o$pYKNnb`U-I zfvsQ0ved7l`rknX7CqQ}rm-hLT8gCD3yyI!)UjtsEK^dqx#6(;RHE;ve8EAsx zpHGaXJ{+}0e$+}ILB0PdD)3pT_ZM0hqxvmJWn`W8l_BI`4clobhkH;197YXr5;gE? z)P$eg_DiTOxQgn39n~))-K@Mcs-B4I*V1~gZBIdEu!n0O^g&ISifwQRYT&un=TL#J z!Z>^xJK%0CjsJ<7@D3`_n4#v>$Dzh;jLKwltcbl){oIihl$tDSF6spl#BU8t>_XP>W-`u<;{paC|aCfJHv`5x5Dj-U?9 zA5s0zpeFhZ)&EPZj92aRlEck=Wl{a&QHQV&HpT|1dnFZJMKqd%4%;Kvsi;)VMn(P( zR>jXy0o}qX7&XGwtD^#FfbFmYD$sn?xKmIWoMoMl3h3Dp$PI5qSPgHZejelb zOHm!$qF(HXintFd&@}4^)IeVQd@Sm{M{N5P)LC*doO0CrOYC#^Mcc3r73nM1y|(>* z)C!N=`kzsOoI?e688z@t+kV^DOFm>WSOyhPWmLv$p#o@${K&aZI||KdNI_i?<58)5 z47FEt(1S0c{-SvclQD9XxoSJ0GB6Ys$VgPcUR0nts6#%{ItO)@mSMEM{}2U5v@hJi zX-5rs#QGsBGaq4XykIRc+6>$fwX$T?IQ>vR--EF`rlZDNW?gN48KYeuY^I_<_y??oKcP}yGs9#e0XtA{hT5`ms0FP?&AUE>{MVzf zl?JWwBq|dhqt3!b>ksyMsZ8^gR79<;87lSnp>DK+sJ-^00?9}9n}+JQ05$Py)cCJt zy5{qHod$g-$5DIuIVx2bQ7>FW9m?Cby;PRzR{{0;R|Y)s6dXOE~bxBDZFkiHP#GJ8%xlB4{8frp|&6eOX35l z=jqmwr~opN09+?Pp*Rgwu_Vs0&O;rxXHjQj3o29lZ2b^wkN<#u@l%Y#CgaRMKqR3K z-#9FZFJUykf(qa@ET`{(zil`cZs6YoP!V55y?7NB;4O^CJGMRAZvrTfdR`qBs0Zs| zl5HPk+lQet>a!MNIp%ksq@V$wLruI4HP9Mce-*U_J5guhI4ZDDQSV(qz4tZ7;CHCA z@DpmKl^-@+QWtfGTBF)~qpL$Pgo0K!1&iSf)FGQ~U4_l4??UbEdDO%=Z2dOs{n+v5 z;;Cv)LY@BZsPP^`ZD}EDA&bV7e?3@DgAUhj)C)&2JP~@R-$1RXYK~b!bJX+hsNaa8 zSQ>LsflNkaWI8HSb8P(?TVI0uN>=5Nf2Df6?XVw}!b7&>3EO_!);~i<{-yN>_M%=Q z*ZfCkDr%3Pv#vu0@*1|r*HHmo!7_NmwH=D(nTSfGCa8@{aWm8ltx0pK>Nl|_#stmt1XTYd zRKRUffptRlzu!Jjv(HD^dM0Y(hf(tsVEFI~-p1XKnJFb$j+YuG{(#sFXVsP5)@rR}kk?s6e5neb5{=Ks(e6ovb~v zBK1`JJi|K9nuiLcz}BZ>b?P&1{YC3KRA8G>TjOrA4LeYu-5%7$@7WH&$NQ+CLS-Os zlKGqOKGYWYFad+8g)BwAzZsR$*H9DfvF^9+hm5Xsgo0i?flA32SP8FS5*C|me$QK@ z4pA;@FQ=kbJP(zzBKv%)eZB!BY2S(3>piGI{)Bq(lW?8=zd%8U<{Q*mxPv;BHKv%A zbVjAD7b>uR*a*kq>InXfMr}=#$IO}Ng!+me#X9&3*2ND{3;h~1(V5B*7xOz=6z;{> zQ5m>~O5JT#DkG|o=`$lvX(Jl%a z_;;v*PM}hB7IoS$qW1bbRKJMFO`y@Jeicz$P!pA@dRP+^ur_u>&69!pEDKQ?oc%c8 zzf!-Ih6Z@RcK9pmg`229rS#9FoiGU%KrU(^eZC6dDO8{fQK?>vTJh_sOdUtP_Yo>1 zpW61XT?z`|d(;3Wo-luClt;agh#DXXYv8@8i3g(w%0j&tMD?F)oryZE^H7;tiptibSaO?1C~J_t482-JIHP)}Y$#4c)UmLZ?Kvki52?s>`#cpoZb zJ<)?{s4XZ!-4C-+nSB9=;c5*3_y0{5Xo#3?zS~l$mDR^)*cNp)XQBcKp!z>$U5HxI z3s@4@q873V!&ka(e-CvQesAmNG5qiUUsJe`2R~wQY&XZOq!YHM-Ve2sC$S|iw)I1( zi{?+Z{w*pa&RjEb97a>EWlcbxo#xmEJIrPObtnQfbjKAq7SCc^>@&~&2Dqs2c?%Z9 zcTj;IMy2*B#^5>B$}eLn{1H22iTUPY>WL+&_eH%wXg=S)8iv^iqp&`8A1d{8u?g-% zt>hd=;U!zYg1T~VqCT$*3rwIM)aTn4%V2NR^K>kUnW%ZkyA%{j&^Am)U7c!gj4M!| z(?L{V*U^L3pEmEMpa$xS3a~fU#zCm9nt&RAEh-}$P=`8X+uc7>(2F0VKC|=oLDYYk zJ&Zw3T-n+lHQ__3Gm(WFu)wx2L9P5n)K{|&b!d;E2R}!>S8QQ;Ue~EaK`+!o4cr11 zX)@{_xF5BmQK%J7L-l_ZwdZf6-aCSt@TBz{RKJ*KOa^MA&O$x(UwH5WB zGYjp2ZgU#uP|(G&8_VEvjKjZR8@z%VxWQtRi6qp-$=3U@EcLFa3=O~@n1;!?6cykJ z)WZIR`f9#kO#XG+W1lw{OiHzG?d1#P<#44>d;kPVh&L<>M-_2WhNUn;bg3WGf^pDhKaZX zbw>Vz8vhHdj2E#IIxm>= z_DiTOxQfc`b<|cxE;IK@MI({$*CsU*CTM1x45lm7?~jiTk4VZU`#n51|5m7&Sov z_1+{Lgfmg^{Q;G!Pf=TT-nQRF1sJ)~j2nZl2C6_o6I90(OhgTwiCRGbb$TB~1@H{& zy~Wm*s6f}F`fou^w8ysZM+NjgD!^m*`RSG9UlV;sLruJl`n+OZGy~MI)TDgrR6LCeq>;PYypV*Npgk(GuBd?eqPAuL zYT%Kmeq&K94xk2_f|@|%DFaJT{a-|7cq3}u9jN!-v~~9|1r2xtHPLC*0Dnbw{2KNA z2CDszt(RD11}tZdM+NLb1=J90<2|TA`l7~3M{V6h$b7DoV;iQRBAtWk_#A4W71p(= z&t?PG!naX3-DjxxzC{K6H&mb{)*8#A#;JtLKy_>Vur7b^Q&2>0Q7h<<%0wU3fJ0FO zjzRSsi~5cy+V)wf0Oq46SYn^AMqNZ(Z2NntfRCc)`2@rN{{J}zt@s-1;`sqJP`Q`P z4H%C-sMkRKcz98#c_LQFh3LUe*b6_vWURQ(1kewafeh5d<4{|Yi>@9_rl6HQZhaax z!3tC$J5U*T6P1zoQ12bH{sHy=pHX{$(HgVfjME6Uu&$_a(lHW8u4n%{QW#A`aa?JA z3Dt2UYQn9klacA;j>V{-K?V9LYU{p4_4^*R(%aVPm(5>J6;WH$>1Fm`dy-B= zXY`>4T8|#wf*Rl$cEB^(1}p#8{9)18I>Gup*5&y=Y=NI(BaGc({(++%>a0A3#nJCl z(8K}kim%!SS5Yg!f%PzAqsd4ER3`30T}tHNJeFSQceYSlHDxm48v-Gs}WmLbn zkicE%qAAC<~;w*C_;#qnEBzm}-?I-nMCKPq#5YYXsjI~e;ZHWq`BWfXTZwlJO0k&b7t&c)Yl#P|}aa5{{tSeBdTyK39 zHO?N4#RJw8*q!=W?1>3G%%ROi0(6}P6!e|1#%8!471>GD7M!v53#d$dgPI^>r%7=f zYT|g*%IcurYl0dl8MU>YunG=9_0Pt-%b5|)J%v09DYyZf;1`&Tv3pD)y-*VjLPb6d z8{rt+KG(Vsb-^q~1-=x^;TqI}w%Yc+7)Sl>J>*}f^b`%c!M?;QcpY_G%kDKRuV(e2 z22Ml;)EqTITh!;&9W{{`m9g=tOa)PaO+yb(M~$;~FZox8O*H6m?LgHJ+YTpDXW`GN zfv=)6^&=`1$*-GKcR?M>L8ytnSOdqQ0-J>ixCXT~hf#mTo^~ndg&U}q{Dc~)>^}4B zRSUJpsi=N4PrLR0ejVZoaosft<7Th&Q?asn|N-CjVY=l~AOKW@7`(05B=w<7}t)o%>eW>wsZF>PG==*=vHmpH) z{4MIRyo!1ug!*fBFDj*PpaMBzpP#|D)X!p5jNfm*j_#;{a`9etQJL9^n&%)Eb1599 zpovbR_U4SOU&8Q3g8C|MpfXeLfT>r-meiYLXY^tvT!Z0>Q12f^W#|Lc0!~=Z<0!54 z76tv0c^ego=WUbvMAQJSP%kE9J?w`KF%OlA=TPIU#HzRk6LIg`p}xs`B8p`O3iFEY zw0l4FZu^-Lp+PA(B10oORVsdeVNRAOFHqpg35@mUC3*UH?>f+v?+Z@!1wC1TNqJ2@ z6LNgse4i&XkXPW%EbvST6b3!stXzMdKffU8EeHfd}0yvBOKbyZP^9+eg1P_Rayl%LN046FeDHw4Z)oe$n)2>K4@+ z_;6&dFEnf5l&EIf>h7%4pEtJ9pFfUmN%iLXJdL`iHg>}2U|=vX(VxXWrVs94^kdqb zqQ{4Hip?+Z6-5u?DJ+h4|s#&N_t+9 zYUs+)W)Yzlzln`#q38p_e4T^*ae+ym3?F;o^NjOn5sar%i;h|Td~XJsF)fXYl80x+ z>y-NQ#+&2Quu(vRG|o>dYOy@NXv^^O{kkgMX}$t2DBl^7QQ#%4ySFLm%VPWd-khHw z-<9c~9~bQ#-YOJ1;)4j6?j(Rw#ua9G!c%(KV>?Q|Gthh;wwD>~S9*EPM>gT_$@S)C zdAy$Psed1flbhoS6c%{A7&`Od;mD?5ElKB=4~`P&I={dh%y$Ndt3Mk)vqh^%y<3Km z!(U9p{HC7JL!+ydD5LM;?+3jo)AvGo^D1W}$Cp{)59Aen=j#?*7~Uu+&7bMd@q6=% zwr#9m6v+P1(4?`Wig#4DFg#* zVj(|&7L&aGf~2IRq8+&%(|+-}IqBRy_G9QC^iTA4{$)$}iwrmP^XFyd_{RG3!nN?( z)nU+9XR^*fQR%$;Rh6^6EN?K&bJw%HP?NlNkwrs;38B#w3L>Ji3Nu5;9%&s>s&%tg zZ9Fa7b!gQ#R3`sYWO3b~1)=W>t3^b0&B+OsnRGlNbbj)zsHnjB{Lm9qJtew#3;Y{y z(^WIZMTW{hc`B-S58WK0&*#jKbbsyI{2#tuV|4k34|h?{{3}($m*ziSu_G3^_x|EO z{a5bUj}|PB9Detw`tQ7Ga~2-`AG>IipXvXP7wrqWWUDN?`LABGWfnhCtUupZ(fq~z z{^6!Qxw!p*-L%n5lK-2VHsys*5us<7rbZ;E29i91Y>)2Bf9b;gbXnSebKxfTH$R8} zrrUPt@^+z@mS2i+@4im|e_Xn~d>piiK3%pxPiXl{PgFB=tN!0!w|iG#x%;|ZyQXx> z8fp4f`{kYci;H&ihBZ~f&&_SlW&ZOW+<#-Y(&0zuA`ZR0v1LT)`ljpukC$)gtF5sS zzkd6EyRBD7_{RO^75vNV*E80a5iInN_vQVQi@2A0=K0mjc=YxLH8jot={}yZ{prYv Y;YCA&jY6?Ic0?58M)nmQ*tze2124JFumAu6 delta 14955 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 IeDKcy0TQ!lS^xk5 diff --git a/cps/translations/nl/LC_MESSAGES/messages.po b/cps/translations/nl/LC_MESSAGES/messages.po index fdd34545..825d3595 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 dutch translation by Ed Driesen (GPL V3)\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-03-10 08:24+0100\n" +"POT-Creation-Date: 2019-03-24 08:25+0100\n" "PO-Revision-Date: 2018-12-09 15:07+0100\n" "Last-Translator: \n" "Language: nl\n" @@ -23,185 +23,194 @@ msgstr "" msgid "Statistics" msgstr "Statistieken" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "Server herstart, gelieve de pagina herladen" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "Bezig met het stoppen van de server, gelieve venster te sluiten" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "Onbekend" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "Administratie pagina" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web configuratie aangepast" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "Gebruikersinterface configuratie" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "De import van optionele Google Drive vereisten ontbreken" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "client_secrets.json ontbreekt of is niet leesbaar" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "client_secrets.json is niet geconfigureerd voor web applicaties" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "Basis configuratie" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "Sleutelbestand (\"keyfile\") locatie ongeldig, gelieve het correcte pad in te geven" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "Certificatiebestand (\"certfile\") locatie ongeldig, gelieve het correcte pad in te geven" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "Log bestand (\"logfile\") locatie ongeldig, gelieve het correcte pad in te geven" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "DB locatie is niet geldig, gelieve het correcte pad in te geven" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "Gelieve alle velden in te vullen!" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "Voeg nieuwe gebruiker toe" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "Email is niet van een geldig domein" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "Gebruiker '%(user)s' aangemaakt" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "Een bestaande account gevonden met dit email adres of gebruikersnaam." -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "Test email met succes verzonden naar %(kindlemail)s" -#: cps/admin.py:598 +#: cps/admin.py:608 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Er was een fout bij het verzenden van test email: %(res)s" -#: cps/admin.py:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "Gelieve eerst je kindle mailadres te configureren..." -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "Email server instellingen aangepast" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "Bewerk email server instellingen" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "Gebruiker '%(nick)s' verwijderd" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "Gebruiker '%(nick)s' aangepast" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "Een onbekende fout deed zich voor." -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "Bewerk gebruiker '%(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "Wachtwoord voor gebruiker %(user)s gereset" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "Er was een onbekende fout. Gelieve later nog eens te proberen." -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "Update pakket wordt aangevraagd" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "Update pakket wordt gedownload" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "Update pakket wordt uitgepakt" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "Bestanden aan het vervangen" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "Database verbindingen zijn gesloten" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "Server aan het stoppen" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "Update voltooid, klik op ok en herlaad de pagina" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "Update gefaald:" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "HTTP fout" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "Verbindingsfout" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "Time-out bij het maken van de verbinding" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "Algemene fout" @@ -218,98 +227,98 @@ msgstr "Rechten om uit te voeren ontbreken" msgid "not configured" msgstr "Niet geconfigureerd" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "Fout bij openen eBook. Het bestand bestaat niet of is niet toegankelijk" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "bewerk metadata" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Het uploaden van bestandsextensie '%(ext)s' is niet toegestaan op deze server" -#: cps/editbooks.py:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "Up te loaden bestanden dienen een extensie te hebben" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Het pad %(path)s aanmaken mislukt (Geen toestemming)." -#: cps/editbooks.py:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "Bestand opslaan niet gelukt voor %(file)s." -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Bestandsformaat %(ext)s toegevoegd aan %(book)s" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "Het pad %(path)s aanmaken voor boekomslag is mislukt (Geen toestemming)." -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "Boekomslag bestand is geen geldig beeldbestand" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "Boekomslag %(cover)s opslaan mislukt." -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "Boekomslag bestand is geen geldig beeldbestand" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "onbekend" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "Boekomslag is geen jpg bestand, opslaan niet mogelijk" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "%(langname)s is geen geldige taal" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "Metadata succesvol geüpdatet" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "Fout bij het bewerken van het boek, gelieve logfile controleren" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "Bestand %(file)s opslaan mislukt (Geen toestemming)." -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "Bestand %(file)s wissen mislukt (Geen toestemming)." -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "Bron of doel formaat voor conversie ontbreekt" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Boek succesvol in de wachtrij geplaatst voor conversie naar %(book_format)s" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Er trad een fout op bij het converteren van dit boek: %(res)s" @@ -322,133 +331,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Het callback domein is niet geverifieerd, volg de stappen in de google ontwikkelaars console om het domein te verifiëren" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formaat niet gevonden voor boek met id: %(book)d" -#: cps/helper.py:78 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s niet gevonden op Google Drive: %(fn)s" -#: cps/helper.py:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Stuur naar Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "Deze email werd verzonden via Calibre-Web." -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s niet gevonden %(fn)s" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "Calibre-Web test email" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "Test email" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "Aan de slag met Calibre-Web" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "Registratie email voor gebruiker: %(name)s" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "Email: %(book)s" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Het gevraagde bestand kon niet worden gelezen. Misschien niet de juiste permissies?" -#: cps/helper.py:305 +#: cps/helper.py:323 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Hernoemen van titel: '%(src)s' naar '%(dest)s' faade met fout: %(error)s" -#: cps/helper.py:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Hernoemen van de auteur: '%(src)s' naar '%(dest)s' faalde met fout: %(error)s" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Bestand %(file)s niet gevonden op Google Drive" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Boek pad %(path)s niet gevonden op Google Drive" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "Fout bij het uitvoeren van UnRar" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "Unrar uitvoeringsbestand niet gevonden" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "Wachten" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "Mislukt" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "Gestart" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "Voltooid" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "Onbekende status" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "Email:" -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "Converteer:" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "Upload:" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "Onbekende taak:" @@ -473,30 +482,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -589,119 +594,127 @@ msgstr "Bewerk een boekenplank" msgid "successfully deleted shelf %(name)s" msgstr "boekenplank %(name)s succesvol gewist" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "Boekenplank: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Fout bij openen boekenplank. Boekenplank bestaat niet of is niet toegankelijk" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Verander volgorde van Boekenplank: '%(name)s'" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "Recent Toegevoegd" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "Toon recente boeken" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "Populaire Boeken" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "Toon populaire boeken" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "Best beoordeeld" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "Toon best beoordeelde boeken" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "Gelezen Boeken" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "Toon gelezen en ongelezen" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "Ongelezen Boeken" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "Ontdek" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "Toon willekeurige boeken" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "Categorieën" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "Toon categorie selectie" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "Series" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "Toon serie selectie" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "Auteurs" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "Toon auteur selectie" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "Uitgevers" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "Toon uitgevers selectie" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "Talen" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "Toon taal selectie" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "Onverwachte data tijdens het lezen van de update informatie" @@ -727,196 +740,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "Recent toegevoegde boeken" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "Nieuwste boeken" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "Oudste boeken" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "Boeken (A-Z)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "Boeken (A-Z)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "Populaire boeken (meeste downloads)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "Best beoordeelde boeken" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "Willekeurige boeken" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "Populaire boeken (meeste downloads)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Fout bij openen van het boek. Bestand bestaat niet of is niet toegankelijk:" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "Uitgeverslijst" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "Uitgever: %(name)s" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "Serie lijst" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "Serie: %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "Beschikbare talen" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "Taal: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "Categorie lijst" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "Categorie: %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "Taken" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "Gepubliceerd na " -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "Gepubliceerd voor " -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "Waardering <= %(rating)s" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "Waardering >= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "zoek" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Lees een boek" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "registreer" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "Het is niet toegestaan om te registreren met jou email" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "Bevestigings email werd verzonden naar jou email account." - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "Deze gebruikersnaam of email adres is reeds in gebruik." - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Verkeerde gebruikersnaam of Wachtwoord" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "login" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "Token niet gevonden" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "Token is verlopen" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "Gelukt! Ga terug naar je apparaat" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "je bent nu ingelogd als: '%(nickname)s'" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Gelieve de SMTP mail instellingen eerst te configureren..." -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Boek met succes in de wachtrij geplaatst om te verzenden naar %(kindlemail)s" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Er trad een fout op bij het versturen van dit boek: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "registreer" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "Het is niet toegestaan om te registreren met jou email" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "Bevestigings email werd verzonden naar jou email account." + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "Deze gebruikersnaam of email adres is reeds in gebruik." + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Verkeerde gebruikersnaam of Wachtwoord" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "login" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "Token niet gevonden" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "Token is verlopen" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "Gelukt! Ga terug naar je apparaat" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "je bent nu ingelogd als: '%(nickname)s'" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "%(name)s's profiel" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "Een bestaand account met dit email adres werd gevonden." -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Profiel aangepast" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Lees een boek" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1084,7 +1094,7 @@ msgstr "Ok" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Terug" @@ -1104,14 +1114,19 @@ msgstr "via" msgid "In Library" msgstr "In Bibliotheek" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Meer van" @@ -1219,7 +1234,7 @@ msgstr "Verkrijg metadata" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Opslaan" @@ -1255,8 +1270,8 @@ msgstr "Klik op de omslag om de metatadata in het formulier te laden" msgid "Loading..." msgstr "Aan het laden..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Sluit" @@ -1485,8 +1500,7 @@ msgstr "Login" msgid "View Configuration" msgstr "Bekijk Configuratie" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Titel" @@ -1530,31 +1544,31 @@ msgstr "Tags voor Volwassen Inhoud" msgid "Default settings for new users" msgstr "Standaard instellingen voor nieuwe gebruikers" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Administratie gebruiker" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Downloads toestaan" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Uploads toestaan" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Bewerken toestaan" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Het wissen van boeken toestaan" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Wachtwoord wijzigen toestaan" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Publieke boekenplanken bewerken toestaan" @@ -1562,11 +1576,11 @@ msgstr "Publieke boekenplanken bewerken toestaan" msgid "Default visibilities for new users" msgstr "Standaard zichtbaar voor nieuwe gebruikers" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Toon willekeurige boeken in gedetailleerd zicht" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "Toon Volwassen Inhoud" @@ -1670,7 +1684,7 @@ msgstr "Voeg toe" msgid "Do you really want to delete this domain rule?" msgstr "Wil je werkelijk deze domein regel verwijderen?" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Volgende" @@ -1687,8 +1701,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "Ontdek (Willekeurige Boeken)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1731,7 +1745,7 @@ msgstr "Boeken gesorteerd op Categorie" msgid "Books ordered by series" msgstr "Boeken gesorteerd op Serie" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Publieke Boekenplanken" @@ -1739,7 +1753,7 @@ msgstr "Publieke Boekenplanken" msgid "Books organized in public shelfs, visible to everyone" msgstr "Boeken georganiseerd in publieke boekenplanken, zichtbaar voor iedereen" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Jou Boekenplanken" @@ -1776,7 +1790,7 @@ msgstr "Log uit" msgid "Register" msgstr "Registreer" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "Aan het uploaden..." @@ -1788,52 +1802,27 @@ msgstr "gelieve de pagina niet te herladen" msgid "Browse" msgstr "Verkennen" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Gesorteerde Boeken" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Sorteren op" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "Nieuwste" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "Oudste" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "Oplopend" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "Aflopend" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Maak een boekenplank" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "Over" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Vorige" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Boek Details" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2131,27 +2120,31 @@ msgstr "Reset gebruikers wachtwoord" msgid "Kindle E-Mail" msgstr "Kindle email" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Toon boeken met taal" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Toon alles" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Wis deze gebruiker" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Recente Downloads" @@ -3415,3 +3408,39 @@ msgstr "Recente Downloads" #~ msgid "Show sorted books" #~ msgstr "Toon gesorteerde boeken" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "Nieuwste boeken" + +#~ msgid "Oldest Books" +#~ msgstr "Oudste boeken" + +#~ msgid "Books (A-Z)" +#~ msgstr "Boeken (A-Z)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Boeken (A-Z)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "Gesorteerde Boeken" + +#~ msgid "Sort By" +#~ msgstr "Sorteren op" + +#~ msgid "Newest" +#~ msgstr "Nieuwste" + +#~ msgid "Oldest" +#~ msgstr "Oudste" + +#~ msgid "Ascending" +#~ msgstr "Oplopend" + +#~ msgid "Descending" +#~ msgstr "Aflopend" + diff --git a/cps/translations/pl/LC_MESSAGES/messages.mo b/cps/translations/pl/LC_MESSAGES/messages.mo index b45788fd44dff30314b3422ff181c04f5f87565c..24e87db5e4df4533682169765fa2f5b2ac186eae 100644 GIT binary patch delta 17603 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 delta 14887 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 A6#xJL diff --git a/cps/translations/pl/LC_MESSAGES/messages.po b/cps/translations/pl/LC_MESSAGES/messages.po index 188fee77..f31c1e09 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: 2017-04-11 22:51)\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-03-10 08:24+0100\n" +"POT-Creation-Date: 2019-03-24 08:25+0100\n" "PO-Revision-Date: 2017-04-11 22:51+0200\n" "Last-Translator: Radosław Kierznowski \n" "Language: pl\n" @@ -23,185 +23,194 @@ msgstr "" msgid "Statistics" msgstr "Statystyki" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "Serwer uruchomiony ponownie, proszę odświeżyć stronę" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "Wykonano wyłączenie serwera, proszę zamknąć okno" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "Portal administracyjny" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Konfiguracja Calibre-Web została zaktualizowana" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "Podstawowa konfiguracja" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "Lokalizacja bazy danych jest nieprawidłowa, wpisz poprawną ścieżkę" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "Proszę wypełnić wszystkie pola!" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "Dodaj nowego użytkownika" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "Użytkownik '%(user)s' został utworzony" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/admin.py:598 +#: cps/admin.py:608 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "Użytkownik '%(nick)s' został usunięty" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "Użytkownik '%(nick)s' został zaktualizowany" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "Wystąpił nieznany błąd." -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "Edytuj użytkownika %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "Żądanie o pakiet aktualizacji" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "Pobieranie pakietu aktualizacji" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "Rozpakowywanie pakietu aktualizacji" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "Połączenia z bazą danych zostały zakończone" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "Aktualizacja zakończona, proszę nacisnąć OK i odświeżyć stronę" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "" @@ -218,98 +227,98 @@ msgstr "" msgid "not configured" msgstr "" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "edytuj metadane" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, 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 przesłania na ten serwer" -#: cps/editbooks.py:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "Plik do przesłania musi mieć rozszerzenie" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, 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:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "" -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "Nie można przechowywać pliku %(file)s (Odmowa dostępu)." -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "Nie udało się usunąć pliku %(file)s (Odmowa dostępu)." -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" @@ -322,133 +331,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:78 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Wyślij do Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:305 +#: cps/helper.py:323 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "" -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "" @@ -473,30 +482,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -589,119 +594,127 @@ msgstr "Edytuj półkę" msgid "successfully deleted shelf %(name)s" msgstr "pomyślnie usunięto półkę %(name)s" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "Półka: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Zmieniono kolejność półki: '%(name)s'" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "Najpopularniejsze książki" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "Pokaż najpopularniejsze książki" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "Najlepiej ocenione książki" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "Pokaż najlepiej ocenione książki" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "Przeczytane książki" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "Pokaż przeczytane i nieprzeczytane" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "Nieprzeczytane książki" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "Odkrywaj" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "Pokaż losowe książki" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "Kategorie" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "Pokaż wybór kategorii" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "Seria" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "Pokaż wybór serii" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "Autorzy" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "Pokaż wybór autora" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "Języki" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "Pokaż wybór języka" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "" @@ -727,196 +740,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "Najpopularniejsze książki (najczęściej pobierane)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "Najlepiej oceniane książki" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "Losowe książki" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "Najpopularniejsze książki (najczęściej pobierane)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Błąd otwierania e-booka. Plik nie istnieje lub plik nie jest dostępny:" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "Lista serii" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "Seria: %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "Dostępne języki" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "Język: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "Lista kategorii" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "Kategoria: %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "" -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "" -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "szukaj" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Czytaj książkę" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "rejestracja" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "" - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "" - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Błędna nazwa użytkownika lub hasło" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "logowanie" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "Zalogowałeś się jako: '%(nickname)s'" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Proszę najpierw skonfigurować ustawienia SMTP poczty e-mail..." -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Wystąpił błąd podczas wysyłania tej książki: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "rejestracja" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "" + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "" + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Błędna nazwa użytkownika lub hasło" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "logowanie" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Zalogowałeś się jako: '%(nickname)s'" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "Profil użytkownika %(name)s" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Zaktualizowano profil" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Czytaj książkę" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1084,7 +1094,7 @@ msgstr "OK" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Wróć" @@ -1104,14 +1114,19 @@ msgstr "" msgid "In Library" msgstr "" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "" @@ -1219,7 +1234,7 @@ msgstr "Uzyskaj metadane" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Wyślij" @@ -1255,8 +1270,8 @@ msgstr "Kliknij okładkę, aby załadować metadane do formularza" msgid "Loading..." msgstr "Ładowanie..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Zamknij" @@ -1486,8 +1501,7 @@ msgstr "Zaloguj się" msgid "View Configuration" msgstr "" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Tytuł" @@ -1531,31 +1545,31 @@ msgstr "" msgid "Default settings for new users" msgstr "Domyślne ustawienia dla nowych użytkowników" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Użytkownik z uprawnieniami administratora" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Zezwalaj na pobieranie" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Zezwalaj na wysyłanie" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Zezwalaj na edycję" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Zezwalaj na zmianę hasła" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "" @@ -1563,11 +1577,11 @@ msgstr "" msgid "Default visibilities for new users" msgstr "" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Pokaz losowe książki w widoku szczegółowym" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "" @@ -1671,7 +1685,7 @@ msgstr "" msgid "Do you really want to delete this domain rule?" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Następne" @@ -1688,8 +1702,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "Odkrywaj (losowe książki)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1732,7 +1746,7 @@ msgstr "Książki sortowane według kategorii" msgid "Books ordered by series" msgstr "Książki sortowane według serii" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Publiczne półki" @@ -1740,7 +1754,7 @@ msgstr "Publiczne półki" msgid "Books organized in public shelfs, visible to everyone" msgstr "" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Twoje półki" @@ -1777,7 +1791,7 @@ msgstr "Wyloguj się" msgid "Register" msgstr "Zarejestruj się" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "" @@ -1789,52 +1803,27 @@ msgstr "" msgid "Browse" msgstr "Przeglądaj" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Utwórz półkę" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "O programie" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2133,27 +2122,31 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Adres e-mail Kindle" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Pokaż książki w języku" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Pokaż wszystko" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Usuń tego użytkownika" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Ostatnio pobierane" @@ -3417,3 +3410,39 @@ msgstr "Ostatnio pobierane" #~ msgid "Show sorted books" #~ msgstr "" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "" + +#~ msgid "Oldest Books" +#~ msgstr "" + +#~ msgid "Books (A-Z)" +#~ msgstr "" + +#~ msgid "Books (Z-A)" +#~ msgstr "" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "" + +#~ msgid "Sort By" +#~ msgstr "" + +#~ msgid "Newest" +#~ msgstr "" + +#~ msgid "Oldest" +#~ msgstr "" + +#~ msgid "Ascending" +#~ msgstr "" + +#~ msgid "Descending" +#~ msgstr "" + diff --git a/cps/translations/ru/LC_MESSAGES/messages.mo b/cps/translations/ru/LC_MESSAGES/messages.mo index 3860f5cb1da645d0de93ee0cbe8ce26aeec50c90..0940adfb4151ac2abfd3531f317d1a092e376d98 100644 GIT binary patch delta 17733 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 A$p8QV delta 15055 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\n" "Language: ru\n" @@ -22,185 +22,194 @@ msgstr "" msgid "Statistics" msgstr "Статистика" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "Сервер перезагружен, пожалуйста, перезагрузите страницу" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "Производится остановка сервера, пожалуйста, закройте окно" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "Неизвестно" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "Администрирование" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Конфигурация Calibre-Web обновлена" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "Настройка интерфейса" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "Импорт дополнительных требований к Google Диску отсутствует" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "client_secrets.json отсутствует или его невозможно прочесть" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "client_secrets.json не настроен для веб-приложения" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "Настройки сервера" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "Неверное расположение файла-ключа, введите правильный путь" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "Неверное расположение сертификата, введите правильный путь" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "Неверное расположение лог-файла, введите правильный путь" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "Неверное расположение базы данных, введите правильный путь" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "Пожалуйста, заполните все поля!" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "Добавить пользователя" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "E-mail не из существующей доменной зоны" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "Пользователь '%(user)s' добавлен" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "Для этого адреса электронной почты или логина уже есть аккаунт." -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "Тестовое письмо успешно отправлено на %(kindlemail)s" -#: cps/admin.py:598 +#: cps/admin.py:608 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "Произошла ошибка при отправке тестового письма на: %(res)s" -#: cps/admin.py:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "Пожалуйста, сначала настройте e-mail на вашем kindle..." -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "Настройки E-mail сервера обновлены" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "Изменить настройки e-mail сервера" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "Пользователь '%(nick)s' удалён" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "Пользователь '%(nick)s' обновлён" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "Произошла неизвестная ошибка." -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "Изменить пользователя %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "Пароль для пользователя %(user)s сброшен" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "Неизвестная ошибка. Попробуйте позже." -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "Проверка обновлений" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "Загрузка обновлений" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "Распаковка обновлений" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "Замена файлов" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "Соеднинения с базой данных закрыты" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "Остановка сервера" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "Обновления установлены, нажмите okay и перезагрузите страницу" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "Ошибка обновления:" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "Ошибка HTTP" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "Ошибка соединения" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "Таймаут при установлении соединения" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "Общая ошибка" @@ -217,98 +226,98 @@ msgstr "Отсутствуют разрешения на выполнение" msgid "not configured" msgstr "не настроен" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "Ошибка при открытии eBook. Файл не существует или файл недоступен" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "изменить метаданные" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "Запрещена загрузка файлов с расширением '%(ext)s'" -#: cps/editbooks.py:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "Загружаемый файл должен иметь расширение" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "Ошибка при создании пути %(path)s (Доступ запрещён)." -#: cps/editbooks.py:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "Не удалось сохранить файл %(file)s." -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Формат файла %(ext)s добавлен в %(book)s" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "Не удалось создать путь для обложки %(path)s (Доступ запрещён)." -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "Файл обложки не соответствует изображению" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "Не удалось сохранить файл обложки %(cover)s." -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "Файл обложки не соответствует изображению" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "неизвестно" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "Обложка не jpg файл, невозможно сохранить" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "%(langname)s не допустимый язык" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "Метаданные обновлены" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "Ошибка редактирования книги. Пожалуйста, проверьте лог-файл для дополнительной информации" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "Ошибка записи файла %(file)s (Доступ запрещён)." -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "Ошибка удаления файла %(file)s (Доступ запрещён)." -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "Исходный или целевой формат для конвертирования отсутствует" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "Книга успешно поставлена в очередь для конвертирования в %(book_format)s" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Произошла ошибка при конвертирования этой книги: %(res)s" @@ -321,133 +330,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Не удалось проверить домен обратного вызова, пожалуйста, выполните шаги для проверки домена в консоли разработчика Google." -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s форма не найден для книги с id: %(book)d" -#: cps/helper.py:78 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "%(format)s не найден на Google Drive: %(fn)s" -#: cps/helper.py:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Отправить на Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "Это электронное письмо было отправлено через Caliber-Web." -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s не найден: %(fn)s" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "Тестовый e-mail для Calibre-Web" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "Тестовый e-mail" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "Начать работать с Calibre-Web" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "Регистрационный e-mail для пользователя: %(name)s" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "Эл. почта: %(book)s" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "Запрашиваемый файл не может быть прочитан. Возможно не верные разрешения?" -#: cps/helper.py:305 +#: cps/helper.py:323 #, 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:315 +#: cps/helper.py:333 #, 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:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Файл %(file)s не найден на Google Drive" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Путь книги %(path)s не найден на Google Drive" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "Ошибка извлечения UnRar" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "Unrar двочиный файл не найден" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "Ожидание" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "Неудачно" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "Начало" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "Закончено" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "Неизвестный статус" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "E-mail: " -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "Конвертировать:" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "Загрузить:" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "Неизвестная задача:" @@ -472,30 +481,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -588,119 +593,127 @@ msgstr "Изменить полку" msgid "successfully deleted shelf %(name)s" msgstr "удачно удалена полка %(name)s" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "Полка: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Ошибка открытия Полки. Полка не существует или недоступна" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Изменить расположение полки '%(name)s'" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "Недавно Добавленные" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "Показывать недавние книги" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "Популярные Книги" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "Показывать популярные книги" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "Книги с наилучшим рейтингом" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "Показывать книги с наивысшим рейтингом" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "Прочитанные Книги" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "Показывать прочитанные и непрочитанные" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "Непрочитанные Книги" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "Обзор" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "Показывать случайные книги" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "Категории" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "Показывать выбор категории" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "Серии" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "Показывать выбор серии" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "Авторы" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "Показывать выбор автора" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "Издатели" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "Показать выбор издателя" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "Языки" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "Показывать выбор языка" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "Некорректные данные при чтении информации об обновлении" @@ -726,196 +739,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "Недавно Добавленные Книги" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "Новые Книги" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "Старые Книги" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "Книги (А-Я)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "Книги (Я-А)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "Популярные книги (часто загружаемые)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "Книги с наивысшим рейтингом" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "Случайный выбор" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "Популярные книги (часто загружаемые)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Невозможно открыть книгу. Файл не существует или недоступен." -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "Список издателей" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "Издатель: %(name)s" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "Серии" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "Серии: %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "Доступные языки" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "Язык: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "Категории" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "Категория: %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "Задания" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "Опубликовано до " -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "Опубликовано после " -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "Рейтинг <= %(rating)s" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "Рейтинг >= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "поиск" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Читать Книгу" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "регистрация" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "Ваш e-mail не подходит для регистрации" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "Письмо с подтверждением отправлено вам на e-mail" - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "Этот никнейм или e-mail уже используются" - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Ошибка в имени пользователя или пароле" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "войти" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "Ключ не найден" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "Ключ просрочен" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "Успешно! Пожалуйста, проверьте свое устройство" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "Вы вошли как пользователь '%(nickname)s'" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Пожалуйста, сначала сконфигурируйте параметры SMTP" -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Книга успешно поставлена в очередь для отправки на %(kindlemail)s" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Ошибка при отправке книги: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "регистрация" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "Ваш e-mail не подходит для регистрации" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "Письмо с подтверждением отправлено вам на e-mail" + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "Этот никнейм или e-mail уже используются" + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Ошибка в имени пользователя или пароле" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "войти" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "Ключ не найден" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "Ключ просрочен" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "Успешно! Пожалуйста, проверьте свое устройство" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Вы вошли как пользователь '%(nickname)s'" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "Профиль %(name)s" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "Этот адрес электронной почты уже зарегистрирован." -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Профиль обновлён" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Читать Книгу" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1083,7 +1093,7 @@ msgstr "Ok" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Назад" @@ -1103,14 +1113,19 @@ msgstr "с помощью" msgid "In Library" msgstr "В библиотеке" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Ещё от" @@ -1218,7 +1233,7 @@ msgstr "Получить метаданные" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Отправить" @@ -1254,8 +1269,8 @@ msgstr "Нажмите на обложку, чтобы получить мета msgid "Loading..." msgstr "Загрузка..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Закрыть" @@ -1484,8 +1499,7 @@ msgstr "Логин" msgid "View Configuration" msgstr "Просмотреть Конфигурацию" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Заголовок" @@ -1529,31 +1543,31 @@ msgstr "Теги для Зрелого Контента" msgid "Default settings for new users" msgstr "Настройки по умолчанию для новых пользователей" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Управление сервером" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Разрешить скачивание с сервера" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Разрешить загрузку на сервер" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Разрешить редактирование книг" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Разрешить удаление книг" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Разрешить смену пароля" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Разрешить редактирование публичных книжных полок" @@ -1561,11 +1575,11 @@ msgstr "Разрешить редактирование публичных кн msgid "Default visibilities for new users" msgstr "Видимость для новых пользователей(по умолчанию)" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Показывать случайные книги при просмотре деталей" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "Показывать взрослый контент" @@ -1669,7 +1683,7 @@ msgstr "Добавить" msgid "Do you really want to delete this domain rule?" msgstr "Вы действительно желаете удалить это правило домена?" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Дальше" @@ -1686,8 +1700,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "Обзор (Случайные Книги)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1730,7 +1744,7 @@ msgstr "Книги, отсортированные по категории" msgid "Books ordered by series" msgstr "Книги, отсортированные по серии" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Общие полки" @@ -1738,7 +1752,7 @@ msgstr "Общие полки" msgid "Books organized in public shelfs, visible to everyone" msgstr "Книги размещены на полках, и доступны всем" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Ваши полки" @@ -1775,7 +1789,7 @@ msgstr "Выход" msgid "Register" msgstr "Зарегистрироваться" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "Загружается..." @@ -1787,52 +1801,27 @@ msgstr "пожалуйста не обновляйте страницу" msgid "Browse" msgstr "Просмотр" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Сортировка Книг" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Отсортировано по" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "Новинки" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "Старое" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "По возрастанию" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "По убыванию" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Создать книжную полку" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "О программе" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Предыдущий" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Подробнее о книге" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2130,27 +2119,31 @@ msgstr "Сбросить пароль пользователя" msgid "Kindle E-Mail" msgstr "Адрес почты Kindle" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Показать книги на языках" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Показать все" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Удалить этого пользователя" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Недавние скачивания" @@ -3414,3 +3407,39 @@ msgstr "Недавние скачивания" #~ msgid "Show sorted books" #~ msgstr "Показывать отсортированные книги" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "Новые Книги" + +#~ msgid "Oldest Books" +#~ msgstr "Старые Книги" + +#~ msgid "Books (A-Z)" +#~ msgstr "Книги (А-Я)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Книги (Я-А)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "Сортировка Книг" + +#~ msgid "Sort By" +#~ msgstr "Отсортировано по" + +#~ msgid "Newest" +#~ msgstr "Новинки" + +#~ msgid "Oldest" +#~ msgstr "Старое" + +#~ msgid "Ascending" +#~ msgstr "По возрастанию" + +#~ msgid "Descending" +#~ msgstr "По убыванию" + diff --git a/cps/translations/sv/LC_MESSAGES/messages.mo b/cps/translations/sv/LC_MESSAGES/messages.mo index 814cafa2f73310c86544e19bf84b00b2da264622..429b0e9e04b48cd5bfccb246c99dd49546f64087 100644 GIT binary patch delta 17703 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 T4ZgN_S6C$Xvb$vJzAgU_?9R!H delta 14938 zcmY+}dtlFH|HtvqHZvQ>hS?Z4r#Wm+oAW7*t>k<@gqazc^Qn}+im1?yZ_bi)6jEPN zx}Brkaw;MfQb`Ua=o2m3BW7g*@= z&-f6}i^uI{Rr~Khk2dtY;#50eT^xYPI1kl-H&({;7>$2p4~%Z)c|CC$YTRB7$6qiM z?_(j)^LasyT|)$h@t`;oix-O#7>`9T$xK5{(8``?m|ZcF_Q$Xo=3zm68VlfbWI^u* zR3P)Q2emCcu^f!U zkysCBVL{gSc2Us8`_+J_Q4xNLn&^9b9@^AR6pQMYfF&^rwXGv5br5900^BpRHUr-a@GlQGC3`C&X%b?b& zh`Lh^nvs7+ltF_g?1)NfH`G}UKn)ye&nKb=PBCYr0$70xU=!-d-Z9@p&ASIR&q34% zj#~TKX5?QJd_{v6{t=V#H>`>A%{{LUW@0iviJXSF0UO{qSOa5QxQW}CoiK&=epnq} z#8MbQW&8;0NWSq=C_~}CJ&0+^#i3pcm4P9s$j760@)Rm#)67|@oxhAa`^DD28Z~Ys zDkIxa^X)*bcL)>FcZq@`34X{$7LQq;=cS=;^CHwl>rffmjGAC4>iMUr%XZ{=)(x~v(fjQ7Vxz5l~0Xy9zr+4@lf*O^=F`3`drYA1(LJ3eFW7cq+Z52*2f zSbK15cXSb`Of*CV-W=2P{kEGu>x+v@^}mt*bVe)fnsgl1hJ?cRzTg>ny5fpp;Frgm8ophU6_FC??Yv5 zHtHysn5!_9`bN|`TT!=vCn`fH+LHfT6ziO6*QV^RIep%$)#Vb~BAP)i>L?WhmxOeUZfUW{63BWgeZwZI4F zSyaDYF%1hm?0GTR7`c~TXXJi)e&o~Qoke9T<`H*!7rlK;@1a;

Q@Ps+7wiPsaO_Uqb}C~)ZLhlx|}O; z3~on#fU2-zwWp#o>1$6xJLrk(@C530n~7R*DK^2isK_svKVTW^w@^DPJk9;y5RaO; zHO62E)R7KBjUS6Tx+%!~KJPhen1kBcD^_2IigXQX;4V~V4q{6@fx6Abo^^r8pgv@k zQJLv!^&C`yi&1xMBkK0=$!{n6lN1!;H>ibvGVh`m^qzB`H9cbWUmkFg@pPoM(0jS8&X z47XqgD#e{qN7@?|z);k}&!RFrAAP!|nApfKxO1hYrl#L=oi!x{ci1lVFLBA z=iTd74VzK#iQ14KbtE67QhyIMPw|<~(la@K-QMyvD1}Wh6bGXsABI(MlC`hE{5yeF zY2Sqf@f%dYS5f`%U{x$T%WbSR>JGF=Wvsuo&zeR4m6CZhl*3h+e>qSoJ!$oOSb%zw z7u@qGEJ(c)>bBQFy>|7n0(Qh|I12SeU5x6t84KY~jKh6C3L0=8705k&6eC`A9eQDR z>SM7J9>z?JdC6sJAcj-V!9qA1L+}YyfKQ_~HXU_2SDV{R-(Ctz&2dx;FJcS4fsbI# z+3x@AO~TsLx1+vj-(eCa%yCDOi8{JL7=c4k@Bdg-fG=PQF2Gi}4;k-|II)!0a?A7CAFwjsK>Z#O^$#~+6;%Ivs0}p3!q^%Uup=h2 zzBihJ7MPEEPuF5G+=E5&IBJ5g%*&`tbrtnC{E50urRKTsLT&6uy(=n!4XDg)L(TIZ zYTO?5>DGR39ezdyau+o)e7-x95~zXksLWJEJ+E%2+Vkf2ybUVAM^JZRpgn&aHEs+> z;gtF0UlY%vL8)1QI*OI357V2dJMl3p)u+tQQ4@cOx(ipVehoF>9juP`Q5meVz|EhE z+CWRxQMFq@{&ji!T8D+G2v?(0_9p5`0;qwQ=viTIe;5!mX%C_n`v&2=)G+!ID^dq02xrYT|~dqiTs- zARTqt9zpGVFlxR$r_UQtK?_a6{JVhK*#g(WTaKD|4VJ(+tbGrv{~@a%MQ!9$tAC5i z)HPJUd#HK6MJ|wVETi|o1O;`dWe?J@CiNCr3m-?Nbg4bxj7s$m)R*!g>aqqeb~~+r z+G#_px3YR4EJb@ZDuYjAA-(?}sDK}$QgaNI!qcdQzCc~FE2vETg4)?1sKCRQxF0^n zP)AhFY=9bADr(0I&5fvmAD9PF3m-vEd;%5lIjet- zx*Jze0o+F&O~Iuu@Y1NaBxx!6R{*IrsAE&qz;>v&q8}<{lTrQVq6RL+{MQr}*qi1% zsExdjn(wf+pF#zE&YoXD1${pW2`<2HST#-|2e3Im!LBDs*i$pwgGj!x1t6dKz-ScU_(4+&qJ5HqlrUhCK(g3 zHFm^otc>rV7C4Iv=o0D(uAt_>iwfBH7X<}SbcGvG3e};!)vKT;sAZ<1j;IML;7+K! zl8yRlISDoXNz^5sh7aRB)I8@g7B9KF&-;UdBK;e6dkeklQXGQ{tQIO|4XnK>>ZrP* zb~M21qfvKa3f93HSQg(!1$YXR@jKLdQ7iSA6VAU31r2P0wJ{S@@Cnqw4cH9d$7=X* zEQ1wZb31KfwnFVR6WibdRN$YZ?$DR0U)!%*z3?i6@X-)UL8+{P+EEKsgq<)Rd!xRP z6H)zUS$(;=1(m72sOKM{`hSUPziIV5sLLC++I{LPVE+IAZ$LpEo1;?O7InEgTl-Md z*^NRiFu{BQwa^Mw;9F7s_M$G=A=IrujT(2!{0-H=&>Hfu%MiE5omD+l>N}zWc^czz z7S_bo_WT%DrG6iEXDY6B6V|~#)LUUDF2`>89V(zk>)g?0U;_2Q>&U-$I-Le}Sc+PB zBkE2BPxIi*dcce3F!an9Ob22K$Gg0#{Mr~jDXC01U z3>{9Oj^v89mweq#T*j=4>etNb-B4#f1PkC8)Dca@f;b&@q%R?v^?BZzy+x}f?GM+Gtkwcs37K+92g>MhiKhp;MM!u;3o4fh4Dfcby_ zPotm|wnn9{4=MvWSQ+!IJ|DxVFF|E$73vagzzE!d;kX|Q;ZdufMvc3G3iJwU+#U2~ zPzZgKztdm`)LAV@?Q9cj!Vj$d5Gt_GunwL_O#a4ag)8P@K{6za>Y{xNFY2`qwNpw9XVYJuyh4E<{LKg^&l?&!i% z885Si_g@j$r9o%a2sLpxt3QT{^a<2aJd0Xj1FGLvEQ;@8Ivz%)w(wRrZ&@r%y&_h{ zTByK!U=i%+qo5zB!>}bzMeSra>Ie>C8lJ|w82*+^eN$9>9%|fbjKFWO7~Vkr?0A4l z7`M$W+{(;At>f!JK|AV-TCgu_XL;5>33VjTpl&wsClE_ zb{ULAjjM=CeH|n-J}<*MbTj*-zI-`Y5r?BDo`c$$ambI zcFUl~cR>Zv8;j#mEXVrZWC}{zLM)H#Q4@cNn(#R47m2S?DgOg&V6A}b*9R47HfrLT zr~nqD0$z(+cq{7t|0gQo(-_10-d7Z&@K@ACq1)ZSYM4Mh6%(;L>O(XMQ}7j3fCsPx zo zcofzDl-18${SxY}`4P2&$Q^E@bx`xP-a-Bq*`qYb&KQi{Q7P<&nm8MEhIv>I$72$1 zK=nJ0$#@=h1YtW};IXJ%o`4!(#Z1OJ)Khnoe{~o_Ln$1NdM|xepJN@@U<=wmL!~_W zJ-3rY)WoT%K$}>58&n`YP#YSG%Ghw!op=Vd?u(7>!ON%*&{~YeJ*bJ#qB3&<^<(og zR>cSJ1+F!IKgj=P(?fv?&3r*&**T+z3?G#nxYhh#aCAboRw;d}d#y*09x*mGlp?rr^#cYiVP zd-q8p{#Sd?^jGWCI556Xcu-(g-&#TbacfEjzVBBmC~9)f_z7Oe9FdT}R^V>`=pcWq z0e$_;)>rXY9atwiZ;1MI%E$V2A9yS%;Lkb}>|ZqGKwv~pv4Z|ZBVO>=&udm>{OEBL za)u-fR@{Nfc@=`9#xe7gUN_gSH3ADp4i5FFjlb$opHM$;^yu8YoP_jo!zbmm^m>fX zNoYTO)R4TK+#LTW6DkD?PfQCA44XVQC~)bC#Gr_JDRoj4>NaRnuWq35l)r)lQB%7H z1#+L+8&s&ymWuK)GzO=EfvAD@+wpVV<#L;gGS z&FyW1D&*&MTvkHP&\n" "Language: sv\n" @@ -22,185 +22,194 @@ msgstr "" msgid "Statistics" msgstr "Statistik" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "Server startas om, vänligen uppdatera sidan" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "Stänger servern, vänligen stäng fönstret" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "Okänd" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "Administrationssida" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web konfiguration uppdaterad" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "Användargränssnitt konfiguration" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "Import av valfri Google Drive krav saknas" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "client_secrets.json saknas eller inte kan läsas" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "client_secrets.json är inte konfigurerad för webbapplikation" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "Grundläggande konfiguration" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "Platsen för Keyfile är inte giltig, ange rätt sökväg" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "Platsen för Certfile är inte giltig, ange rätt sökväg" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "Platsen för Logfile platsen är inte giltig, ange rätt sökväg" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "Platsen för DB är inte giltig, ange rätt sökväg" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "Fyll i alla fält!" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "Lägg till ny användare" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "E-posten är inte från giltig domän" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "Användaren '%(user)s' skapad" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "Hittade ett befintligt konto för den här e-postadressen eller smeknamnet." -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "Test-e-post skicka till %(kindlemail)s" -#: cps/admin.py:598 +#: cps/admin.py:608 #, 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:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "Konfigurera din kindle-e-postadress först..." -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "E-postserverinställningar uppdaterade" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "Redigera inställningar för e-postserver" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "Användaren '%(nick)s' borttagen" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "Användaren '%(nick)s' uppdaterad" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "Ett okänt fel uppstod." -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "Redigera användaren %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "Lösenord för användaren %(user)s återställd" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "Ett okänt fel uppstod. Försök igen senare." -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "Begär uppdateringspaketet" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "Hämtar uppdateringspaketet" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "Packar upp uppdateringspaketet" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "Ersätta filer" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "Databasanslutningarna är stängda" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "Stoppar server" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "Uppdatering klar, tryck på okej och uppdatera sidan" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "Uppdateringen misslyckades:" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "HTTP-fel" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "Anslutningsfel" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "Tiden ute när du etablerade anslutning" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "Allmänt fel" @@ -217,98 +226,98 @@ msgstr "Utförande behörighet saknas" msgid "not configured" msgstr "inte konfigurerad" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "Det gick inte att öppna e-boken. Filen finns inte eller filen är inte tillgänglig" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "redigera metadata" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, 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:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "Filen som ska laddas upp måste ha en ändelse" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, 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:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "Det gick inte att lagra filen %(file)s." -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "Filformatet %(ext)s lades till %(book)s" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "Det gick inte att skapa sökväg för omslag %(path)s (behörighet nekad)." -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "Omslagsfilen är inte en giltig bildfil" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "Det gick inte att lagra omslagsfilen %(cover)s." -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "Omslagsfilen är inte en giltig bildfil" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "okänd" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "Omslag är inte en jpg-fil, kan inte spara" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "%(langname)s är inte ett giltigt språk" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "Metadata uppdaterades" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "Det gick inte att redigera boken, kontrollera loggfilen för mer information" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "Det gick inte att lagra filen %(file)s (behörighet nekad)." -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "Det gick inte att ta bort filen %(file)s (behörighet nekad)." -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "Källa eller målformat för konvertering saknas" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, 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:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "Det gick inte att konvertera den här boken: %(res)s" @@ -321,133 +330,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Återuppringningsdomänen är inte verifierad, följ stegen för att verifiera domänen i Google utvecklarkonsol" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "%(format)s formatet hittades inte för bok-id: %(book)d" -#: cps/helper.py:78 +#: cps/helper.py:96 #, 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:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Skicka till Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "Detta e-postmeddelande har skickats via Calibre-Web." -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "%(format)s hittades inte: %(fn)s" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "Calibre-Web test e-post" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "Test e-post" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "Kom igång med Calibre-Web" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "Registrera e-post för användare: %(name)s" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "E-post: %(book)s" -#: cps/helper.py:197 +#: cps/helper.py:215 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:305 +#: cps/helper.py:323 #, 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:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "Byt namn på författare från: \"%(src)s\" till \"%(dest)s\" misslyckades med fel: %(error)s" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Filen %(file)s hittades inte på Google Drive" -#: cps/helper.py:394 +#: cps/helper.py:412 #, 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:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "Fel vid körning av UnRar" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "Unrar binärfil hittades inte" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "Väntar" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "Misslyckades" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "Startad" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "Klar" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "Okänd status" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "E-post: " -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "Konvertera: " -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "Överför: " -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "Okänd uppgift: " @@ -472,30 +481,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -588,119 +593,127 @@ msgstr "Redigera en hylla" msgid "successfully deleted shelf %(name)s" msgstr "tog bort hyllan %(name)s" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "Hylla: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Fel vid öppning av hyllan. Hylla finns inte eller är inte tillgänglig" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Ändra ordning på hyllan: '%(name)s'" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "Nyligen tillagda" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "Visa senaste böcker" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "Heta böcker" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "Visa heta böcker" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "Bäst rankade böcker" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "Visa böcker med bästa betyg" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "Lästa böcker" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "Visa lästa och olästa" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "Olästa böcker" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "Upptäck" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "Visa slumpmässiga böcker" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "Kategorier" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "Visa kategorival" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "Serier" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "Visa serieval" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "Författare" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "Visa författarval" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "Förlag" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "Visa urval av förlag" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "Språk" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "Visa språkval" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "Oväntade data vid läsning av uppdateringsinformation" @@ -726,196 +739,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "Nyligen tillagda böcker" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "Nyaste böcker" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "Äldsta böcker" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "Böcker (A-Ö)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "Böcker (Ö-A)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "Heta böcker (mest hämtade)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "Bäst rankade böcker" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "Slumpmässiga böcker" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "Heta böcker (mest hämtade)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Fel vid öppnande av e-bok. Filen finns inte eller filen är inte tillgänglig:" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "Lista över förlag" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "Förlag: %(name)s" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "Serielista" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "Serier: %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "Tillgängliga språk" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "Språk: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "Kategorilista" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "Kategori: %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "Uppgifter" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "Publicerad efter " -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "Publicerad före " -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "Betyg <= %(rating)s" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "Betyg >= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "sök" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Läs en bok" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "registrera" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "Din e-post är inte tillåten att registrera" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "Bekräftelsemail skickades till ditt e-postkonto." - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "Det här användarnamnet eller e-postadressen är redan i bruk." - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Fel användarnamn eller lösenord" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "logga in" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "Token hittades inte" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "Token har löpt ut" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "Lyckades! Vänligen återvänd till din enhet" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "du är nu inloggad som: \"%(nickname)s\"" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Konfigurera SMTP-postinställningarna först..." -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "Boken är i kö för att skicka till %(kindlemail)s" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Det gick inte att skicka den här boken: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "registrera" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "Din e-post är inte tillåten att registrera" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "Bekräftelsemail skickades till ditt e-postkonto." + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "Det här användarnamnet eller e-postadressen är redan i bruk." + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Fel användarnamn eller lösenord" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "logga in" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "Token hittades inte" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "Token har löpt ut" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "Lyckades! Vänligen återvänd till din enhet" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "du är nu inloggad som: \"%(nickname)s\"" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "%(name)ss profil" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "Hittade ett befintligt konto för den här e-postadressen." -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Profilen uppdaterad" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Läs en bok" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1083,7 +1093,7 @@ msgstr "Ok" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Tillbaka" @@ -1103,14 +1113,19 @@ msgstr "via" msgid "In Library" msgstr "I biblioteket" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Mer av" @@ -1218,7 +1233,7 @@ msgstr "Hämta metadata" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Skicka" @@ -1254,8 +1269,8 @@ msgstr "Klicka på omslaget för att läsa in metadata till formuläret" msgid "Loading..." msgstr "Läser in..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Stäng" @@ -1484,8 +1499,7 @@ msgstr "Logga in" msgid "View Configuration" msgstr "Visa konfiguration" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Titel" @@ -1529,31 +1543,31 @@ msgstr "Taggar för vuxeninnehåll" msgid "Default settings for new users" msgstr "Standardinställningar för nya användare" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Adminstratör användare" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Tillåt Hämtningar" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Tillåt Uppladdningar" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Tillåt Redigera" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Tillåt Ta bort böcker" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Tillåt Ändra lösenord" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Tillåt Redigering av offentliga hyllor" @@ -1561,11 +1575,11 @@ msgstr "Tillåt Redigering av offentliga hyllor" msgid "Default visibilities for new users" msgstr "Standardvisibiliteter för nya användare" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Visa slumpmässiga böcker i detaljvyn" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "Visa vuxeninnehåll" @@ -1669,7 +1683,7 @@ msgstr "Lägg till" msgid "Do you really want to delete this domain rule?" msgstr "Är du säker på att du vill ta bort den här domänregeln?" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Nästa" @@ -1686,8 +1700,8 @@ msgstr "Tillbaka till hemmet" msgid "Discover (Random Books)" msgstr "Upptäck (slumpmässiga böcker)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1730,7 +1744,7 @@ msgstr "Böcker ordnade efter kategori" msgid "Books ordered by series" msgstr "Böcker ordnade efter serier" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Offentliga hyllor" @@ -1738,7 +1752,7 @@ msgstr "Offentliga hyllor" msgid "Books organized in public shelfs, visible to everyone" msgstr "Böcker organiserade i offentliga hyllor, synliga för alla" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Dina hyllor" @@ -1775,7 +1789,7 @@ msgstr "Logga ut" msgid "Register" msgstr "Registrera" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "Laddar upp..." @@ -1787,52 +1801,27 @@ msgstr "uppdatera inte sidan" msgid "Browse" msgstr "Bläddra" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Sorterade böcker" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Sortera efter" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "Nyast" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "Äldst" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "Stigande" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "Fallande" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Skapa en hylla" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "Om" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Föregående" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Bokdetaljer" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2130,27 +2119,31 @@ msgstr "Återställ användarlösenordet" msgid "Kindle E-Mail" msgstr "Kindle e-post" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Visa böcker med språk" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Visa alla" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Ta bort den här användaren" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Senaste hämtningar" @@ -2214,3 +2207,39 @@ msgstr "Senaste hämtningar" #~ msgid "Show sorted books" #~ msgstr "Visa sorterade böcker" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "Nyaste böcker" + +#~ msgid "Oldest Books" +#~ msgstr "Äldsta böcker" + +#~ msgid "Books (A-Z)" +#~ msgstr "Böcker (A-Ö)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Böcker (Ö-A)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "Sorterade böcker" + +#~ msgid "Sort By" +#~ msgstr "Sortera efter" + +#~ msgid "Newest" +#~ msgstr "Nyast" + +#~ msgid "Oldest" +#~ msgstr "Äldst" + +#~ msgid "Ascending" +#~ msgstr "Stigande" + +#~ msgid "Descending" +#~ msgstr "Fallande" + diff --git a/cps/translations/uk/LC_MESSAGES/messages.mo b/cps/translations/uk/LC_MESSAGES/messages.mo index 189747b48d2eb5f3a9623beba7b3cddb0abd8c08..e839f5e080290c90a15c99d8bd1a87f2ea6dc426 100644 GIT binary patch delta 17868 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 delta 15091 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\n" -"Language: ua\n" +"Language: uk\n" "Language-Team: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -20,185 +21,194 @@ msgstr "" msgid "Statistics" msgstr "Статистика" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "Сервер перезавантажено, будь-ласка, перезавантажте сторінку" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "Виконується зупинка серверу, будь-ласка, закрийте вікно" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "Невідомий" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "Сторінка адміністратора" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "Конфігурація інтерфейсу" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "Імпорт додаткових вимог Google Drive відсутній" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "Неможливо зчитати client_secrets.json або він відсутній" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "Неможливо зконфігурувати client_secrets.json для веб-додатку" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "Настройки сервера" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "Невідомий шлях до Keyfile. Будь-ласка введіть коректний" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "Невідомий шлях до Certfile. Будь-ласка введіть коректний" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "Невідомий шлях до Logfile. Будь-ласка введіть коректний" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "Невідомий шлях до БД. Будь-ласка введіть коректний" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "Будь-ласка, заповніть всі поля!" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "Додати користувача" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "Користувач '%(user)s' додан" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/admin.py:598 +#: cps/admin.py:608 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "Користувача '%(nick)s' видалено" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "Користувача '%(nick)s' оновлено" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "Сталась невідома помилка" -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "Змінити користувача %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "Перевірка оновлень" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "Завантаження оновлень" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "Розпакування оновлення" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "З'єднання з базою даних закрите" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "Оновлення встановлені, натисніть ok і перезавантажте сторінку" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "" @@ -215,98 +225,98 @@ msgstr "Відсутній дозвіл на виконання" msgid "not configured" msgstr "" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "Сталась помилка при відкриванні eBook. Файл не існує або відсутній доступ до нього" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "змінити метадані" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "Завантажувальний файл повинен мати розширення" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "" -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "невідомий" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "Обкладинка не є .jpg файлом. Неможливо зберегти" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "Сталась помилка при редагуванні книги. Будь-ласка, перевірте лог-файл для деталей" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "" -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "" -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" @@ -319,133 +329,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "Домен зворотнього зв'язку не підтверджено. Виконайте дії для підтвердження домену, будь-ласка" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:78 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "Відправити на Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:305 +#: cps/helper.py:323 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "" -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "" @@ -470,30 +480,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -586,119 +592,127 @@ msgstr "Змінити книжкову полицю" msgid "successfully deleted shelf %(name)s" msgstr "Книжкова полиця %(name)s видалена" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "Книжкова полиця: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "Помилка при відкриванні полиці. Полиця не існує або до неї відсутній доступ" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "Змінити розташування книжкової полиці '%(name)s'" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "Останні додані" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "Показувати останні книги" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "Популярні книги" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "Показувати популярні книги" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "Книги з найкращим рейтингом" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "Показувати книги з найвищим рейтингом" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "Прочитані книги" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "Показувати прочитані та непрочитані книги" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "Непрочитані книги" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "Огляд" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "Показувати випадкові книги" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "Категорії" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "Показувати вибір категорії" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "Серії" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "Показувати вибір серії" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "Автори" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "Показувати вибір автора" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "Мови" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "Показувати вибір мови" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "" @@ -724,196 +738,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "Нещодавно додані книги" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "Найновіші книги" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "Найстаріші книги" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "Книги (А-Я)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "Книги (Я-А)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "Популярні книги (найбільш завантажувані)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "Книги з найкращим рейтингом" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "Випадковий список книг" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "Популярні книги (найбільш завантажувані)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "Неможливо відкрити книгу. Файл не існує або немає доступу." -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "Список серій" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "Серії: %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "Доступні мови" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "Мова: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "Список категорій" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "Категорія: %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "" -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "Опубліковано до" -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "пошук" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "Читати книгу" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "зареєструватись" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "" - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "" - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "Помилка в імені користувача або паролі" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "увійти" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "Токен не знайдено" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "Час дії токено вичерпано" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "Вдалося! Будь-ласка, поверніться до вашого пристрою" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "Ви увійшли як користувач: '%(nickname)s'" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "Будь-ласка, спочатку сконфігуруйте параметри SMTP" -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "Помилка при відправці книги: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "зареєструватись" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "" + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "" + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "Помилка в імені користувача або паролі" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "увійти" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "Токен не знайдено" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "Час дії токено вичерпано" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "Вдалося! Будь-ласка, поверніться до вашого пристрою" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "Ви увійшли як користувач: '%(nickname)s'" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "Профіль %(name)s" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "Профіль оновлено" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "Читати книгу" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1081,7 +1092,7 @@ msgstr "Ok" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "Назад" @@ -1101,14 +1112,19 @@ msgstr "через" msgid "In Library" msgstr "У бібліотеці" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "Більше за" @@ -1216,7 +1232,7 @@ msgstr "Отримати метадані" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "Зберегти" @@ -1252,8 +1268,8 @@ msgstr "Натисніть на обкладинку, щоб отримати м msgid "Loading..." msgstr "Завантаження..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "Закрити" @@ -1482,8 +1498,7 @@ msgstr "Ім'я користувача" msgid "View Configuration" msgstr "Переглянути налаштування" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "Заголовок" @@ -1527,31 +1542,31 @@ msgstr "" msgid "Default settings for new users" msgstr "Налаштування по замовчуванню для нових користувачів" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "Керування сервером" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "Дозволити завантажувати з сервера" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "Дозволити завантаження на сервер" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "Дозволити редагування книг" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "Дозволити видалення книг" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "Дозволити зміну пароля" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "Дозволити редагування публічних книжкових полиць" @@ -1559,11 +1574,11 @@ msgstr "Дозволити редагування публічних книжк msgid "Default visibilities for new users" msgstr "Можливості за замовчуванням для нових користувачів" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "Показувати випадкові книги при перегляді деталей" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "" @@ -1667,7 +1682,7 @@ msgstr "" msgid "Do you really want to delete this domain rule?" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "Далі" @@ -1684,8 +1699,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "Огляд (випадкові книги)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1728,7 +1743,7 @@ msgstr "Книги відсортовані за категоріями" msgid "Books ordered by series" msgstr "Книги відсортовані за серією" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "Загальні книжкові полиці" @@ -1736,7 +1751,7 @@ msgstr "Загальні книжкові полиці" msgid "Books organized in public shelfs, visible to everyone" msgstr "Книги, організовані на публічних полицях, видимі всім" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "Ваші книжкові полиці" @@ -1773,7 +1788,7 @@ msgstr "Вийти" msgid "Register" msgstr "Зареєструватись" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "Завантаження..." @@ -1785,52 +1800,27 @@ msgstr "будь ласка, не перезавантажуйте сторін msgid "Browse" msgstr "Перегляд" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "Відсортовані книги" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "Сортувати за" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "Найновіші" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "Найстаріші" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "За зростанням" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "За спаданням" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "Створити книжкову полицю" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "Про програму" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "Попередній перегляд" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "Деталі" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2128,27 +2118,31 @@ msgstr "" msgid "Kindle E-Mail" msgstr "Електронний адрес Kindle" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "Показувати книги на мовах" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "Показати всі" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "Видалити цього користувача" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "Нещодавно переглянуті" @@ -2308,3 +2302,39 @@ msgstr "Нещодавно переглянуті" #~ msgid "Show sorted books" #~ msgstr "Показувати відсортовані книги" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "Найновіші книги" + +#~ msgid "Oldest Books" +#~ msgstr "Найстаріші книги" + +#~ msgid "Books (A-Z)" +#~ msgstr "Книги (А-Я)" + +#~ msgid "Books (Z-A)" +#~ msgstr "Книги (Я-А)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "Відсортовані книги" + +#~ msgid "Sort By" +#~ msgstr "Сортувати за" + +#~ msgid "Newest" +#~ msgstr "Найновіші" + +#~ msgid "Oldest" +#~ msgstr "Найстаріші" + +#~ msgid "Ascending" +#~ msgstr "За зростанням" + +#~ msgid "Descending" +#~ msgstr "За спаданням" + diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index 229896f34a642cd951ef1df85fff73c62f871074..881d7af8467280cb1547e1ed45be32d66cab32f9 100644 GIT binary patch delta 17702 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 delta 14900 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\n" "Language: zh_Hans_CN\n" @@ -22,185 +22,194 @@ msgstr "" msgid "Statistics" msgstr "统计" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "服务器已重启,请刷新页面" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "正在关闭服务器,请关闭窗口" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "未知" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "管理页" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "Calibre-Web配置已更新" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "UI配置" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "可选的Google Drive依赖导入缺失" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "client_secrets.json文件缺失或不可读" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "没有为web应用配置client_secrets.json" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "基本配置" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "key文件位置无效,请输入正确路径" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "证书文件位置无效,请输入正确路径" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "日志文件位置无效,请输入正确路径" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "DB位置无效,请输入正确路径" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "请填写所有字段" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "添加新用户" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "邮箱不在有效域中'" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "用户 '%(user)s' 已被创建" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "此邮箱或昵称的账号已经存在。" -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "测试邮件已经被成功发到 %(kindlemail)s" -#: cps/admin.py:598 +#: cps/admin.py:608 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "发送测试邮件出错了: %(res)s" -#: cps/admin.py:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "请先配置您的kindle邮箱..." -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "已更新邮件服务器设置" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "编辑邮箱服务器设置" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "用户 '%(nick)s' 已被删除" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "用户 '%(nick)s' 已被更新" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "发生未知错误。" -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "编辑用户 %(nick)s" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "用户 %(user)s 的密码已重置" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "发生一个未知错误,请稍后再试。" -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "正在请求更新包" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "正在下载更新包" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "正在解压更新包" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "正在替换文件" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "数据库连接已关闭" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "正在停止服务器" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "更新完成,请按确定并刷新页面" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "更新失败:" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "HTTP错误" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "连接错误" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "建立连接超时" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "一般错误" @@ -217,98 +226,98 @@ msgstr "可执行权限缺失" msgid "not configured" msgstr "未配置" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "打开电子书出错。文件不存在或不可访问" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "编辑元数据" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "不能上传后缀为 '%(ext)s' 的文件到此服务器" -#: cps/editbooks.py:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "要上传的文件必须有一个后缀" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "创建路径 %(path)s 失败(权限拒绝)。" -#: cps/editbooks.py:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "保存文件 %(file)s 失败。" -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "已添加 %(ext)s 格式到 %(book)s" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "为封面 %(path)s 创建路径失败(权限拒绝)。" -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "封面文件不是一个有效的图片文件" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "保存封面文件 %(cover)s 失败。" -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "封面文件不是一个有效的图片文件" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "未知" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "封面不是一个jpg文件,无法保存" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "%(langname)s 不是一种有效语言" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "已成功更新元数据" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "编辑书籍出错,详情请检查日志文件" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "存储文件 %(file)s 失败(权限拒绝)。" -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "删除文件 %(file)s 失败(权限拒绝)。" -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "转换的源或目的格式缺失" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "书籍已经被成功加入 %(book_format)s 的转换队列" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "转换此书时出现错误: %(res)s" @@ -321,133 +330,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "回调域名尚未被校验,请在google开发者控制台按步骤校验域名" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "找不到id为 %(book)d 的书的 %(format)s 格式" -#: cps/helper.py:78 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "Google Drive %(fn)s 上找不到 %(format)s" -#: cps/helper.py:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "发送到Kindle" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "此邮件已经通过Calibre-Web发送" -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "找不到 %(format)s: %(fn)s" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "Calibre-Web测试邮件" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "测试邮件" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "开启Calibre-Web之旅" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "用户 %(name)s 的注册邮箱" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "无法读取请求的文件。 可能有错误的权限设置?" -#: cps/helper.py:305 +#: cps/helper.py:323 #, 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:315 +#: cps/helper.py:333 #, 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:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive上找不到文件 %(file)s" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive上找不到书籍路径 %(path)s" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "执行UnRar时出错" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "找不到Unrar二进制文件" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "等待中" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "失败" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "已开始" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "已完成" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "未知状态" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "" -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "转换:" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "上传:" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "未知任务:" @@ -472,30 +481,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -588,119 +593,127 @@ msgstr "编辑书架" msgid "successfully deleted shelf %(name)s" msgstr "成功删除书架 %(name)s" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "书架: '%(name)s'" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "打开书架出错。书架不存在或不可访问" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "修改书架 '%(name)s' 顺序" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "最近添加" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "显示最近书籍" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "热门书籍" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "显示热门书籍" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "最高评分书籍" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "显示最高评分书籍" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "已读书籍" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "显示已读和未读" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "未读书籍" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "发现" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "显示随机书籍" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "分类" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "显示分类选择" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "丛书" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "显示丛书选择" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "作者" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "显示作者选择" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "出版社" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "显示出版社选择" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "语言" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "显示语言选择" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "读取更新信息时出现异常数据" @@ -726,196 +739,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "最近添加的书籍" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "最新书籍" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "最旧书籍" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "书籍 (A-Z)" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "书籍 (Z-A)" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "热门书籍(最多下载)" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "最高评分书籍" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "随机书籍" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "热门书籍(最多下载)" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "无法打开电子书。 文件不存在或者文件不可访问:" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "出版社列表" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "出版社: %(name)s" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "丛书列表" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "丛书: %(serie)s" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "可用语言" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "语言: %(name)s" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "分类列表" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "分类: %(name)s" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "任务" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "出版时晚于 " -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "出版时早于 " -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "评分 <= %(rating)s" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "评分 >= %(rating)s" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "搜索" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "阅读一本书" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "注册" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "您的邮箱不能用来注册" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "确认邮件已经发送到您的邮箱。" - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "这个用户名或者邮箱已经被使用。" - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "用户名或密码错误" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "登录" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "找不到Token" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "Token已过期" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "成功!请返回您的设备" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "您现在已以'%(nickname)s'身份登录" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "请先配置SMTP邮箱..." -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "书籍已经被成功加入 %(kindlemail)s 的发送队列" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "发送这本书的时候出现错误: %(res)s" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "注册" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "您的邮箱不能用来注册" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "确认邮件已经发送到您的邮箱。" + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "这个用户名或者邮箱已经被使用。" + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "用户名或密码错误" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "登录" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "找不到Token" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "Token已过期" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "成功!请返回您的设备" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "您现在已以'%(nickname)s'身份登录" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "%(name)s 的资料" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "找到一个已有账号使用这个邮箱。" -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "资料已更新" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "阅读一本书" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1083,7 +1093,7 @@ msgstr "确定" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "后退" @@ -1103,14 +1113,19 @@ msgstr "" msgid "In Library" msgstr "" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "" @@ -1218,7 +1233,7 @@ msgstr "获取元数据" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "提交" @@ -1254,8 +1269,8 @@ msgstr "点击封面加载元数据到表单" msgid "Loading..." msgstr "加载中..." -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "关闭" @@ -1484,8 +1499,7 @@ msgstr "登录" msgid "View Configuration" msgstr "查看配置" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "标题" @@ -1529,31 +1543,31 @@ msgstr "成人内容标签" msgid "Default settings for new users" msgstr "新用户默认设置" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "管理用户" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "允许下载" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "允许上传" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "允许编辑" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "允许删除书籍" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "允许修改密码" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "允许编辑公共书架" @@ -1561,11 +1575,11 @@ msgstr "允许编辑公共书架" msgid "Default visibilities for new users" msgstr "新用户的默认显示权限" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "在详情页显示随机书籍" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "显示成人内容" @@ -1669,7 +1683,7 @@ msgstr "添加" msgid "Do you really want to delete this domain rule?" msgstr "您确定要删除这条域名规则吗?" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "下一个" @@ -1686,8 +1700,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "发现(随机书籍)" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1730,7 +1744,7 @@ msgstr "书籍按分类排序" msgid "Books ordered by series" msgstr "书籍按丛书排序" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "公开书架" @@ -1738,7 +1752,7 @@ msgstr "公开书架" msgid "Books organized in public shelfs, visible to everyone" msgstr "公开书架中的书籍,对所有人都可见" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "您的书架" @@ -1775,7 +1789,7 @@ msgstr "注销" msgid "Register" msgstr "注册" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "上传中..." @@ -1787,52 +1801,27 @@ msgstr "请不要刷新页面" msgid "Browse" msgstr "浏览" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "已排序书籍" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "排序" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "最新" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "最旧" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "升序" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "降序" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "创建书架" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "关于" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "上一个" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "书籍详情" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2130,27 +2119,31 @@ msgstr "重置用户密码" msgid "Kindle E-Mail" msgstr "" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "按语言显示书籍" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "显示全部" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "删除此用户" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr "最近下载" @@ -3414,3 +3407,39 @@ msgstr "最近下载" #~ msgid "Show sorted books" #~ msgstr "显示已排序书籍" +#~ msgid "Public registration is not enabled" +#~ msgstr "" + +#~ msgid "Newest Books" +#~ msgstr "最新书籍" + +#~ msgid "Oldest Books" +#~ msgstr "最旧书籍" + +#~ msgid "Books (A-Z)" +#~ msgstr "书籍 (A-Z)" + +#~ msgid "Books (Z-A)" +#~ msgstr "书籍 (Z-A)" + +#~ msgid "Ratings: %(serie)s" +#~ msgstr "" + +#~ msgid "Sorted Books" +#~ msgstr "已排序书籍" + +#~ msgid "Sort By" +#~ msgstr "排序" + +#~ msgid "Newest" +#~ msgstr "最新" + +#~ msgid "Oldest" +#~ msgstr "最旧" + +#~ msgid "Ascending" +#~ msgstr "升序" + +#~ msgid "Descending" +#~ msgstr "降序" + diff --git a/cps/updater.py b/cps/updater.py index c0c21e9c..be851e9e 100644 --- a/cps/updater.py +++ b/cps/updater.py @@ -230,6 +230,7 @@ class Updater(threading.Thread): app.logger.debug("Could not remove:" + item_path) shutil.rmtree(source, ignore_errors=True) + @classmethod def _nightly_version_info(self): content = {} content[0] = '$Format:%H$' @@ -240,6 +241,7 @@ class Updater(threading.Thread): return {'version': content[0], 'datetime': content[1]} return False + @classmethod def _stable_version_info(self): return {'version': '0.6.1'} # Current version @@ -341,58 +343,6 @@ class Updater(threading.Thread): status['message'] = _(u'Could not fetch update information') # a new update is available - status['update'] = True - if 'body' in commit: - status['success'] = True - status['message'] = _( - u'A new update is available. Click on the button below to update to the latest version.') - - new_commit_date = datetime.datetime.strptime( - commit['committer']['date'], '%Y-%m-%dT%H:%M:%SZ') - tz - parents.append( - [ - format_datetime(new_commit_date, format='short', locale=get_locale()), - commit['message'], - commit['sha'] - ] - ) - - # it only makes sense to analyze the parents if we know the current commit hash - if status['current_commit_hash'] != '': - try: - parent_commit = commit['parents'][0] - # limit the maximum search depth - remaining_parents_cnt = 10 - except IndexError: - remaining_parents_cnt = None - - if remaining_parents_cnt is not None: - while True: - if remaining_parents_cnt == 0: - break - - # check if we are more than one update behind if so, go up the tree - if commit['sha'] != status['current_commit_hash']: - try: - headers = {'Accept': 'application/vnd.github.v3+json'} - r = requests.get(parent_commit['url'], headers=headers) - r.raise_for_status() - parent_data = r.json() - - parent_commit_date = datetime.datetime.strptime( - parent_data['committer']['date'], '%Y-%m-%dT%H:%M:%SZ') - tz - parent_commit_date = format_datetime( - parent_commit_date, format='short', locale=get_locale()) - - parents.append([parent_commit_date, parent_data['message'], parent_data['sha']]) - parent_commit = parent_data['parents'][0] - remaining_parents_cnt -= 1 - except Exception: - # it isn't crucial if we can't get information about the parent - break - else: - # parent is our current version - break status['history'] = parents[::-1] return json.dumps(status) return '' diff --git a/cps/web.py b/cps/web.py index 69d1fcd4..4436be6c 100644 --- a/cps/web.py +++ b/cps/web.py @@ -563,7 +563,7 @@ def author_list(): # ToDo wrong order function def render_author_books(page, book_id, order): entries, __, pagination = fill_indexpage(page, db.Books, db.Books.authors.any(db.Authors.id == book_id), - [order[0], db.Series.name, db.Books.series_index], db.books_series_link, db.Series) + [db.Series.name, db.Books.series_index, order[0]], db.books_series_link, db.Series) if entries is None: flash(_(u"Error opening eBook. File does not exist or file is not accessible:"), category="error") return redirect(url_for("web.index")) @@ -609,8 +609,7 @@ def publisher(book_id, page): if publisher: entries, random, pagination = fill_indexpage(page, db.Books, db.Books.publishers.any(db.Publishers.id == book_id), - (db.Series.name, db.Books.series_index), db.books_series_link, - db.Series) + [db.Books.series_index]) return render_title_template('index.html', random=random, entries=entries, pagination=pagination, title=_(u"Publisher: %(name)s", name=publisher.name), page="publisher") else: diff --git a/messages.pot b/messages.pot index e9b0c08f..c2c95e7e 100644 --- a/messages.pot +++ b/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2019-03-10 08:24+0100\n" +"POT-Creation-Date: 2019-03-24 08:25+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,185 +21,194 @@ msgstr "" msgid "Statistics" msgstr "" -#: cps/admin.py:96 +#: cps/admin.py:97 msgid "Server restarted, please reload page" msgstr "" -#: cps/admin.py:99 +#: cps/admin.py:100 msgid "Performing shutdown of server, please close window" msgstr "" -#: cps/admin.py:119 cps/updater.py:498 +#: cps/admin.py:120 cps/updater.py:498 msgid "Unknown" msgstr "" -#: cps/admin.py:138 +#: cps/admin.py:139 msgid "Admin page" msgstr "" -#: cps/admin.py:203 cps/admin.py:474 +#: cps/admin.py:206 cps/admin.py:484 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:217 cps/templates/admin.html:100 +#: cps/admin.py:220 cps/templates/admin.html:100 msgid "UI Configuration" msgstr "" -#: cps/admin.py:290 +#: cps/admin.py:293 msgid "Import of optional Google Drive requirements missing" msgstr "" -#: cps/admin.py:293 +#: cps/admin.py:296 msgid "client_secrets.json is missing or not readable" msgstr "" -#: cps/admin.py:298 cps/admin.py:327 +#: cps/admin.py:301 cps/admin.py:330 msgid "client_secrets.json is not configured for web application" msgstr "" -#: cps/admin.py:330 cps/admin.py:356 cps/admin.py:368 cps/admin.py:393 -#: cps/admin.py:451 cps/admin.py:464 cps/admin.py:482 cps/admin.py:489 -#: cps/admin.py:504 cps/templates/admin.html:99 +#: cps/admin.py:333 cps/admin.py:359 cps/admin.py:371 cps/admin.py:396 +#: cps/admin.py:424 cps/admin.py:438 cps/admin.py:461 cps/admin.py:474 +#: cps/admin.py:492 cps/admin.py:499 cps/admin.py:514 +#: cps/templates/admin.html:99 msgid "Basic Configuration" msgstr "" -#: cps/admin.py:353 +#: cps/admin.py:356 msgid "Keyfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:365 +#: cps/admin.py:368 msgid "Certfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:390 +#: cps/admin.py:393 msgid "Please enter a LDAP provider and a DN" msgstr "" -#: cps/admin.py:448 +#: cps/admin.py:421 +msgid "Please enter Github oauth credentials" +msgstr "" + +#: cps/admin.py:435 +msgid "Please enter Google oauth credentials" +msgstr "" + +#: cps/admin.py:458 msgid "Logfile location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:486 +#: cps/admin.py:496 msgid "DB location is not valid, please enter correct path" msgstr "" -#: cps/admin.py:546 cps/web.py:1303 +#: cps/admin.py:556 cps/web.py:1055 msgid "Please fill out all fields!" msgstr "" -#: cps/admin.py:548 cps/admin.py:554 cps/admin.py:570 +#: cps/admin.py:558 cps/admin.py:564 cps/admin.py:580 #: cps/templates/admin.html:33 msgid "Add new user" msgstr "" -#: cps/admin.py:552 cps/web.py:1528 +#: cps/admin.py:562 cps/web.py:1261 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:560 +#: cps/admin.py:570 #, python-format msgid "User '%(user)s' created" msgstr "" -#: cps/admin.py:564 +#: cps/admin.py:574 msgid "Found an existing account for this e-mail address or nickname." msgstr "" -#: cps/admin.py:595 +#: cps/admin.py:605 #, python-format msgid "Test e-mail successfully send to %(kindlemail)s" msgstr "" -#: cps/admin.py:598 +#: cps/admin.py:608 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:600 cps/web.py:1495 +#: cps/admin.py:610 cps/web.py:1039 msgid "Please configure your kindle e-mail address first..." msgstr "" -#: cps/admin.py:602 +#: cps/admin.py:612 msgid "E-mail server settings updated" msgstr "" -#: cps/admin.py:603 +#: cps/admin.py:613 msgid "Edit e-mail server settings" msgstr "" -#: cps/admin.py:628 +#: cps/admin.py:638 #, python-format msgid "User '%(nick)s' deleted" msgstr "" -#: cps/admin.py:694 +#: cps/admin.py:704 #, python-format msgid "User '%(nick)s' updated" msgstr "" -#: cps/admin.py:697 +#: cps/admin.py:707 msgid "An unknown error occured." msgstr "" -#: cps/admin.py:700 +#: cps/admin.py:710 #, python-format msgid "Edit User %(nick)s" msgstr "" -#: cps/admin.py:716 +#: cps/admin.py:726 #, python-format msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:719 cps/web.py:1328 +#: cps/admin.py:729 cps/web.py:1080 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:738 +#: cps/admin.py:748 msgid "Requesting update package" msgstr "" -#: cps/admin.py:739 +#: cps/admin.py:749 msgid "Downloading update package" msgstr "" -#: cps/admin.py:740 +#: cps/admin.py:750 msgid "Unzipping update package" msgstr "" -#: cps/admin.py:741 +#: cps/admin.py:751 msgid "Replacing files" msgstr "" -#: cps/admin.py:742 +#: cps/admin.py:752 msgid "Database connections are closed" msgstr "" -#: cps/admin.py:743 +#: cps/admin.py:753 msgid "Stopping server" msgstr "" -#: cps/admin.py:744 +#: cps/admin.py:754 msgid "Update finished, please press okay and reload page" msgstr "" -#: cps/admin.py:745 cps/admin.py:746 cps/admin.py:747 cps/admin.py:748 +#: cps/admin.py:755 cps/admin.py:756 cps/admin.py:757 cps/admin.py:758 msgid "Update failed:" msgstr "" -#: cps/admin.py:745 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 +#: cps/admin.py:755 cps/updater.py:275 cps/updater.py:509 cps/updater.py:511 msgid "HTTP Error" msgstr "" -#: cps/admin.py:746 cps/updater.py:277 cps/updater.py:513 +#: cps/admin.py:756 cps/updater.py:277 cps/updater.py:513 msgid "Connection error" msgstr "" -#: cps/admin.py:747 cps/updater.py:279 cps/updater.py:515 +#: cps/admin.py:757 cps/updater.py:279 cps/updater.py:515 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:748 cps/updater.py:281 cps/updater.py:517 +#: cps/admin.py:758 cps/updater.py:281 cps/updater.py:517 msgid "General error" msgstr "" @@ -216,98 +225,98 @@ msgstr "" msgid "not configured" msgstr "" -#: cps/editbooks.py:219 cps/editbooks.py:425 +#: cps/editbooks.py:218 cps/editbooks.py:410 msgid "Error opening eBook. File does not exist or file is not accessible" msgstr "" -#: cps/editbooks.py:247 +#: cps/editbooks.py:246 msgid "edit metadata" msgstr "" -#: cps/editbooks.py:340 cps/editbooks.py:587 +#: cps/editbooks.py:325 cps/editbooks.py:572 #, python-format msgid "File extension '%(ext)s' is not allowed to be uploaded to this server" msgstr "" -#: cps/editbooks.py:344 cps/editbooks.py:591 +#: cps/editbooks.py:329 cps/editbooks.py:576 msgid "File to be uploaded must have an extension" msgstr "" -#: cps/editbooks.py:356 cps/editbooks.py:611 +#: cps/editbooks.py:341 cps/editbooks.py:596 #, python-format msgid "Failed to create path %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:361 +#: cps/editbooks.py:346 #, python-format msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:378 +#: cps/editbooks.py:363 #, python-format msgid "File format %(ext)s added to %(book)s" msgstr "" -#: cps/editbooks.py:396 +#: cps/editbooks.py:381 #, python-format msgid "Failed to create path for cover %(path)s (Permission denied)." msgstr "" -#: cps/editbooks.py:404 +#: cps/editbooks.py:389 +msgid "Cover-file is not a valid image file" +msgstr "" + +#: cps/editbooks.py:392 #, python-format msgid "Failed to store cover-file %(cover)s." msgstr "" -#: cps/editbooks.py:407 -msgid "Cover-file is not a valid image file" -msgstr "" - -#: cps/editbooks.py:437 cps/editbooks.py:446 +#: cps/editbooks.py:422 cps/editbooks.py:431 msgid "unknown" msgstr "" -#: cps/editbooks.py:478 +#: cps/editbooks.py:463 msgid "Cover is not a jpg file, can't save" msgstr "" -#: cps/editbooks.py:526 +#: cps/editbooks.py:511 #, python-format msgid "%(langname)s is not a valid language" msgstr "" -#: cps/editbooks.py:557 +#: cps/editbooks.py:542 msgid "Metadata successfully updated" msgstr "" -#: cps/editbooks.py:566 +#: cps/editbooks.py:551 msgid "Error editing book, please check logfile for details" msgstr "" -#: cps/editbooks.py:616 +#: cps/editbooks.py:601 #, python-format msgid "Failed to store file %(file)s (Permission denied)." msgstr "" -#: cps/editbooks.py:621 +#: cps/editbooks.py:606 #, python-format msgid "Failed to delete file %(file)s (Permission denied)." msgstr "" -#: cps/editbooks.py:704 +#: cps/editbooks.py:689 #, python-format msgid "File %(file)s uploaded" msgstr "" -#: cps/editbooks.py:733 +#: cps/editbooks.py:718 msgid "Source or destination format for conversion missing" msgstr "" -#: cps/editbooks.py:743 +#: cps/editbooks.py:728 #, python-format msgid "Book successfully queued for converting to %(book_format)s" msgstr "" -#: cps/editbooks.py:747 +#: cps/editbooks.py:732 #, python-format msgid "There was an error converting this book: %(res)s" msgstr "" @@ -320,133 +329,133 @@ msgstr "" msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" msgstr "" -#: cps/helper.py:66 +#: cps/helper.py:84 #, python-format msgid "%(format)s format not found for book id: %(book)d" msgstr "" -#: cps/helper.py:78 +#: cps/helper.py:96 #, python-format msgid "%(format)s not found on Google Drive: %(fn)s" msgstr "" -#: cps/helper.py:85 cps/helper.py:193 cps/templates/detail.html:45 +#: cps/helper.py:103 cps/helper.py:211 cps/templates/detail.html:45 #: cps/templates/detail.html:49 msgid "Send to Kindle" msgstr "" -#: cps/helper.py:86 cps/helper.py:104 cps/helper.py:195 +#: cps/helper.py:104 cps/helper.py:122 cps/helper.py:213 msgid "This e-mail has been sent via Calibre-Web." msgstr "" -#: cps/helper.py:97 +#: cps/helper.py:115 #, python-format msgid "%(format)s not found: %(fn)s" msgstr "" -#: cps/helper.py:102 +#: cps/helper.py:120 msgid "Calibre-Web test e-mail" msgstr "" -#: cps/helper.py:103 +#: cps/helper.py:121 msgid "Test e-mail" msgstr "" -#: cps/helper.py:119 +#: cps/helper.py:137 msgid "Get Started with Calibre-Web" msgstr "" -#: cps/helper.py:120 +#: cps/helper.py:138 #, python-format msgid "Registration e-mail for user: %(name)s" msgstr "" -#: cps/helper.py:133 cps/helper.py:135 cps/helper.py:137 cps/helper.py:139 -#: cps/helper.py:145 cps/helper.py:147 cps/helper.py:149 cps/helper.py:151 +#: cps/helper.py:151 cps/helper.py:153 cps/helper.py:155 cps/helper.py:157 +#: cps/helper.py:163 cps/helper.py:165 cps/helper.py:167 cps/helper.py:169 #, python-format msgid "Send %(format)s to Kindle" msgstr "" -#: cps/helper.py:155 cps/helper.py:159 +#: cps/helper.py:173 cps/helper.py:177 #, python-format msgid "Convert %(orig)s to %(format)s and send to Kindle" msgstr "" -#: cps/helper.py:194 +#: cps/helper.py:212 #, python-format msgid "E-mail: %(book)s" msgstr "" -#: cps/helper.py:197 +#: cps/helper.py:215 msgid "The requested file could not be read. Maybe wrong permissions?" msgstr "" -#: cps/helper.py:305 +#: cps/helper.py:323 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:315 +#: cps/helper.py:333 #, python-format msgid "Rename author from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:329 +#: cps/helper.py:347 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:355 cps/helper.py:365 cps/helper.py:373 +#: cps/helper.py:373 cps/helper.py:383 cps/helper.py:391 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:394 +#: cps/helper.py:412 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:502 +#: cps/helper.py:520 msgid "Error excecuting UnRar" msgstr "" -#: cps/helper.py:504 +#: cps/helper.py:522 msgid "Unrar binary file not found" msgstr "" -#: cps/helper.py:535 +#: cps/helper.py:553 msgid "Waiting" msgstr "" -#: cps/helper.py:537 +#: cps/helper.py:555 msgid "Failed" msgstr "" -#: cps/helper.py:539 +#: cps/helper.py:557 msgid "Started" msgstr "" -#: cps/helper.py:541 +#: cps/helper.py:559 msgid "Finished" msgstr "" -#: cps/helper.py:543 +#: cps/helper.py:561 msgid "Unknown Status" msgstr "" -#: cps/helper.py:548 +#: cps/helper.py:566 msgid "E-mail: " msgstr "" -#: cps/helper.py:550 cps/helper.py:554 +#: cps/helper.py:568 cps/helper.py:572 msgid "Convert: " msgstr "" -#: cps/helper.py:552 +#: cps/helper.py:570 msgid "Upload: " msgstr "" -#: cps/helper.py:556 +#: cps/helper.py:574 msgid "Unknown Task: " msgstr "" @@ -471,30 +480,26 @@ msgstr "" msgid "Failed to fetch user info from Google." msgstr "" -#: cps/oauth_bb.py:229 -msgid "Public registration is not enabled" -msgstr "" - -#: cps/oauth_bb.py:264 +#: cps/oauth_bb.py:265 #, python-format msgid "Unlink to %(oauth)s success." msgstr "" -#: cps/oauth_bb.py:268 +#: cps/oauth_bb.py:269 #, python-format msgid "Unlink to %(oauth)s failed." msgstr "" -#: cps/oauth_bb.py:271 +#: cps/oauth_bb.py:272 #, python-format msgid "Not linked to %(oauth)s." msgstr "" -#: cps/oauth_bb.py:299 +#: cps/oauth_bb.py:300 msgid "GitHub Oauth error, please retry later." msgstr "" -#: cps/oauth_bb.py:318 +#: cps/oauth_bb.py:319 msgid "Google Oauth error, please retry later." msgstr "" @@ -587,119 +592,127 @@ msgstr "" msgid "successfully deleted shelf %(name)s" msgstr "" -#: cps/shelf.py:286 cps/shelf.py:316 +#: cps/shelf.py:289 #, python-format msgid "Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:289 cps/shelf.py:319 +#: cps/shelf.py:292 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" -#: cps/shelf.py:349 +#: cps/shelf.py:324 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/ub.py:106 +#: cps/ub.py:107 msgid "Recently Added" msgstr "" -#: cps/ub.py:108 +#: cps/ub.py:109 msgid "Show recent books" msgstr "" -#: cps/templates/index.xml:17 cps/ub.py:109 +#: cps/templates/index.xml:17 cps/ub.py:110 msgid "Hot Books" msgstr "" -#: cps/ub.py:110 +#: cps/ub.py:111 msgid "Show hot books" msgstr "" -#: cps/templates/index.xml:24 cps/ub.py:113 +#: cps/templates/index.xml:24 cps/ub.py:114 msgid "Best rated Books" msgstr "" -#: cps/ub.py:115 +#: cps/ub.py:116 msgid "Show best rated books" msgstr "" -#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:116 -#: cps/web.py:1193 +#: cps/templates/index.xml:46 cps/templates/index.xml:50 cps/ub.py:117 +#: cps/web.py:975 msgid "Read Books" msgstr "" -#: cps/ub.py:118 +#: cps/ub.py:119 msgid "Show read and unread" msgstr "" -#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:120 -#: cps/web.py:1196 +#: cps/templates/index.xml:53 cps/templates/index.xml:57 cps/ub.py:121 +#: cps/web.py:979 msgid "Unread Books" msgstr "" -#: cps/ub.py:122 +#: cps/ub.py:123 msgid "Show unread" msgstr "" -#: cps/ub.py:123 +#: cps/ub.py:124 msgid "Discover" msgstr "" -#: cps/ub.py:125 +#: cps/ub.py:126 msgid "Show random books" msgstr "" -#: cps/ub.py:126 +#: cps/ub.py:127 msgid "Categories" msgstr "" -#: cps/ub.py:128 +#: cps/ub.py:129 msgid "Show category selection" msgstr "" #: cps/templates/book_edit.html:75 cps/templates/search_form.html:53 -#: cps/ub.py:129 +#: cps/ub.py:130 msgid "Series" msgstr "" -#: cps/ub.py:131 +#: cps/ub.py:132 msgid "Show series selection" msgstr "" -#: cps/templates/index.xml:61 cps/ub.py:132 +#: cps/templates/index.xml:61 cps/ub.py:133 msgid "Authors" msgstr "" -#: cps/ub.py:134 +#: cps/ub.py:135 msgid "Show author selection" msgstr "" -#: cps/templates/index.xml:68 cps/ub.py:136 +#: cps/templates/index.xml:68 cps/ub.py:137 msgid "Publishers" msgstr "" -#: cps/ub.py:138 +#: cps/ub.py:139 msgid "Show publisher selection" msgstr "" -#: cps/templates/search_form.html:74 cps/ub.py:139 +#: cps/templates/search_form.html:74 cps/ub.py:140 msgid "Languages" msgstr "" -#: cps/ub.py:142 +#: cps/ub.py:143 msgid "Show language selection" msgstr "" -#: cps/ub.py:143 +#: cps/ub.py:144 msgid "Ratings" msgstr "" -#: cps/ub.py:145 +#: cps/ub.py:146 msgid "Show ratings selection" msgstr "" +#: cps/ub.py:147 +msgid "File formats" +msgstr "" + +#: cps/ub.py:149 +msgid "Show file formats selection" +msgstr "" + #: cps/updater.py:255 cps/updater.py:417 cps/updater.py:430 msgid "Unexpected data while reading update information" msgstr "" @@ -725,196 +738,193 @@ msgstr "" msgid "A new update is available. Click on the button below to update to version: %(version)s" msgstr "" -#: cps/web.py:497 +#: cps/web.py:464 msgid "Recently Added Books" msgstr "" -#: cps/web.py:506 -msgid "Newest Books" -msgstr "" - -#: cps/web.py:515 -msgid "Oldest Books" -msgstr "" - -#: cps/web.py:524 -msgid "Books (A-Z)" -msgstr "" - -#: cps/web.py:533 -msgid "Books (Z-A)" -msgstr "" - -#: cps/web.py:562 -msgid "Hot Books (most downloaded)" -msgstr "" - -#: cps/web.py:575 +#: cps/web.py:491 msgid "Best rated books" msgstr "" -#: cps/templates/index.xml:38 cps/web.py:588 +#: cps/templates/index.xml:38 cps/web.py:499 msgid "Random Books" msgstr "" -#: cps/web.py:618 cps/web.py:925 cps/web.py:1206 +#: cps/web.py:513 +msgid "Books" +msgstr "" + +#: cps/web.py:540 +msgid "Hot Books (most downloaded)" +msgstr "" + +#: cps/web.py:568 cps/web.py:1306 cps/web.py:1409 msgid "Error opening eBook. File does not exist or file is not accessible:" msgstr "" -#: cps/web.py:650 +#: cps/web.py:599 msgid "Publisher list" msgstr "" -#: cps/web.py:666 +#: cps/web.py:614 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/templates/index.xml:82 cps/web.py:704 +#: cps/templates/index.xml:82 cps/web.py:630 msgid "Series list" msgstr "" -#: cps/web.py:718 +#: cps/web.py:644 #, python-format msgid "Series: %(serie)s" msgstr "" -#: cps/web.py:734 +#: cps/web.py:658 msgid "Ratings list" msgstr "" -#: cps/web.py:748 +#: cps/web.py:672 #, python-format -msgid "Ratings: %(serie)s" +msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:776 +#: cps/web.py:685 +msgid "File formats list" +msgstr "" + +#: cps/web.py:699 +#, python-format +msgid "File format: %(format)s" +msgstr "" + +#: cps/web.py:727 msgid "Available languages" msgstr "" -#: cps/web.py:796 +#: cps/web.py:747 #, python-format msgid "Language: %(name)s" msgstr "" -#: cps/templates/index.xml:75 cps/web.py:810 +#: cps/templates/index.xml:75 cps/web.py:761 msgid "Category list" msgstr "" -#: cps/web.py:825 +#: cps/web.py:776 #, python-format msgid "Category: %(name)s" msgstr "" -#: cps/templates/layout.html:73 cps/web.py:957 +#: cps/templates/layout.html:73 cps/web.py:787 msgid "Tasks" msgstr "" -#: cps/web.py:1028 +#: cps/web.py:851 msgid "Published after " msgstr "" -#: cps/web.py:1035 +#: cps/web.py:858 msgid "Published before " msgstr "" -#: cps/web.py:1049 +#: cps/web.py:872 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1051 +#: cps/web.py:874 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1112 cps/web.py:1121 +#: cps/web.py:935 cps/web.py:944 msgid "search" msgstr "" -#: cps/web.py:1216 cps/web.py:1218 cps/web.py:1220 cps/web.py:1224 -#: cps/web.py:1228 cps/web.py:1232 cps/web.py:1244 -msgid "Read a Book" -msgstr "" - -#: cps/web.py:1304 cps/web.py:1329 cps/web.py:1334 cps/web.py:1339 -#: cps/web.py:1343 -msgid "register" -msgstr "" - -#: cps/web.py:1331 -msgid "Your e-mail is not allowed to register" -msgstr "" - -#: cps/web.py:1335 -msgid "Confirmation e-mail was send to your e-mail account." -msgstr "" - -#: cps/web.py:1338 -msgid "This username or e-mail address is already in use." -msgstr "" - -#: cps/web.py:1361 cps/web.py:1373 -#, python-format -msgid "You are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1366 cps/web.py:1378 -msgid "Wrong Username or Password" -msgstr "" - -#: cps/web.py:1369 -msgid "Could not login. LDAP server down, please contact your administrator" -msgstr "" - -#: cps/web.py:1384 cps/web.py:1406 -msgid "login" -msgstr "" - -#: cps/web.py:1418 cps/web.py:1449 -msgid "Token not found" -msgstr "" - -#: cps/web.py:1426 cps/web.py:1457 -msgid "Token has expired" -msgstr "" - -#: cps/web.py:1434 -msgid "Success! Please return to your device" -msgstr "" - -#: cps/web.py:1470 -#, python-format -msgid "you are now logged in as: '%(nickname)s'" -msgstr "" - -#: cps/web.py:1484 +#: cps/web.py:1028 msgid "Please configure the SMTP mail settings first..." msgstr "" -#: cps/web.py:1489 +#: cps/web.py:1033 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1493 +#: cps/web.py:1037 #, python-format msgid "There was an error sending this book: %(res)s" msgstr "" -#: cps/web.py:1530 cps/web.py:1555 cps/web.py:1559 +#: cps/web.py:1056 cps/web.py:1081 cps/web.py:1086 cps/web.py:1091 +#: cps/web.py:1095 +msgid "register" +msgstr "" + +#: cps/web.py:1083 +msgid "Your e-mail is not allowed to register" +msgstr "" + +#: cps/web.py:1087 +msgid "Confirmation e-mail was send to your e-mail account." +msgstr "" + +#: cps/web.py:1090 +msgid "This username or e-mail address is already in use." +msgstr "" + +#: cps/web.py:1113 cps/web.py:1125 +#, python-format +msgid "You are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1118 cps/web.py:1130 +msgid "Wrong Username or Password" +msgstr "" + +#: cps/web.py:1121 +msgid "Could not login. LDAP server down, please contact your administrator" +msgstr "" + +#: cps/web.py:1136 cps/web.py:1158 +msgid "login" +msgstr "" + +#: cps/web.py:1170 cps/web.py:1201 +msgid "Token not found" +msgstr "" + +#: cps/web.py:1178 cps/web.py:1209 +msgid "Token has expired" +msgstr "" + +#: cps/web.py:1186 +msgid "Success! Please return to your device" +msgstr "" + +#: cps/web.py:1222 +#, python-format +msgid "you are now logged in as: '%(nickname)s'" +msgstr "" + +#: cps/web.py:1263 cps/web.py:1290 cps/web.py:1294 #, python-format msgid "%(name)s's profile" msgstr "" -#: cps/web.py:1553 +#: cps/web.py:1287 msgid "Found an existing account for this e-mail address." msgstr "" -#: cps/web.py:1557 +#: cps/web.py:1292 msgid "Profile updated" msgstr "" +#: cps/web.py:1316 cps/web.py:1318 cps/web.py:1320 cps/web.py:1324 +#: cps/web.py:1328 cps/web.py:1332 cps/web.py:1344 +msgid "Read a Book" +msgstr "" + #: cps/worker.py:308 #, python-format msgid "Ebook-converter failed: %(error)s" @@ -1082,7 +1092,7 @@ msgstr "" #: cps/templates/email_edit.html:40 cps/templates/email_edit.html:74 #: cps/templates/layout.html:28 cps/templates/shelf.html:77 #: cps/templates/shelf_edit.html:19 cps/templates/shelf_order.html:12 -#: cps/templates/user_edit.html:127 +#: cps/templates/user_edit.html:128 msgid "Back" msgstr "" @@ -1102,14 +1112,19 @@ msgstr "" msgid "In Library" msgstr "" -#: cps/templates/author.html:50 cps/templates/author.html:97 -#: cps/templates/discover.html:28 cps/templates/index.html:30 -#: cps/templates/index.html:97 cps/templates/search.html:55 +#: cps/templates/author.html:34 cps/templates/list.html:9 +#: cps/templates/search.html:41 +msgid "All" +msgstr "" + +#: cps/templates/author.html:62 cps/templates/author.html:109 +#: cps/templates/discover.html:27 cps/templates/index.html:30 +#: cps/templates/index.html:97 cps/templates/search.html:67 #: cps/templates/shelf.html:40 msgid "reduce" msgstr "" -#: cps/templates/author.html:81 +#: cps/templates/author.html:93 msgid "More by" msgstr "" @@ -1217,7 +1232,7 @@ msgstr "" #: cps/templates/book_edit.html:177 cps/templates/config_edit.html:279 #: cps/templates/config_view_edit.html:140 cps/templates/login.html:20 #: cps/templates/search_form.html:150 cps/templates/shelf_edit.html:17 -#: cps/templates/user_edit.html:125 +#: cps/templates/user_edit.html:126 msgid "Submit" msgstr "" @@ -1253,8 +1268,8 @@ msgstr "" msgid "Loading..." msgstr "" -#: cps/templates/book_edit.html:239 cps/templates/layout.html:199 -#: cps/templates/layout.html:231 +#: cps/templates/book_edit.html:239 cps/templates/layout.html:187 +#: cps/templates/layout.html:219 msgid "Close" msgstr "" @@ -1483,8 +1498,7 @@ msgstr "" msgid "View Configuration" msgstr "" -#: cps/templates/config_view_edit.html:19 cps/templates/layout.html:132 -#: cps/templates/layout.html:133 cps/templates/shelf_edit.html:7 +#: cps/templates/config_view_edit.html:19 cps/templates/shelf_edit.html:7 msgid "Title" msgstr "" @@ -1528,31 +1542,31 @@ msgstr "" msgid "Default settings for new users" msgstr "" -#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:82 +#: cps/templates/config_view_edit.html:81 cps/templates/user_edit.html:83 msgid "Admin user" msgstr "" -#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:91 +#: cps/templates/config_view_edit.html:85 cps/templates/user_edit.html:92 msgid "Allow Downloads" msgstr "" -#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:95 +#: cps/templates/config_view_edit.html:89 cps/templates/user_edit.html:96 msgid "Allow Uploads" msgstr "" -#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:99 +#: cps/templates/config_view_edit.html:93 cps/templates/user_edit.html:100 msgid "Allow Edit" msgstr "" -#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:103 +#: cps/templates/config_view_edit.html:97 cps/templates/user_edit.html:104 msgid "Allow Delete books" msgstr "" -#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:108 +#: cps/templates/config_view_edit.html:101 cps/templates/user_edit.html:109 msgid "Allow Changing Password" msgstr "" -#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:112 +#: cps/templates/config_view_edit.html:105 cps/templates/user_edit.html:113 msgid "Allow Editing Public Shelfs" msgstr "" @@ -1560,11 +1574,11 @@ msgstr "" msgid "Default visibilities for new users" msgstr "" -#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:74 +#: cps/templates/config_view_edit.html:129 cps/templates/user_edit.html:75 msgid "Show random books in detail view" msgstr "" -#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:87 +#: cps/templates/config_view_edit.html:133 cps/templates/user_edit.html:88 msgid "Show mature content" msgstr "" @@ -1668,7 +1682,7 @@ msgstr "" msgid "Do you really want to delete this domain rule?" msgstr "" -#: cps/templates/feed.xml:21 cps/templates/layout.html:183 +#: cps/templates/feed.xml:21 cps/templates/layout.html:171 msgid "Next" msgstr "" @@ -1685,8 +1699,8 @@ msgstr "" msgid "Discover (Random Books)" msgstr "" -#: cps/templates/index.html:69 cps/templates/list.html:8 -msgid "All" +#: cps/templates/index.html:69 +msgid "Group by series" msgstr "" #: cps/templates/index.xml:6 @@ -1729,7 +1743,7 @@ msgstr "" msgid "Books ordered by series" msgstr "" -#: cps/templates/index.xml:89 cps/templates/layout.html:144 +#: cps/templates/index.xml:89 cps/templates/layout.html:132 msgid "Public Shelves" msgstr "" @@ -1737,7 +1751,7 @@ msgstr "" msgid "Books organized in public shelfs, visible to everyone" msgstr "" -#: cps/templates/index.xml:97 cps/templates/layout.html:148 +#: cps/templates/index.xml:97 cps/templates/layout.html:136 msgid "Your Shelves" msgstr "" @@ -1774,7 +1788,7 @@ msgstr "" msgid "Register" msgstr "" -#: cps/templates/layout.html:111 cps/templates/layout.html:230 +#: cps/templates/layout.html:111 cps/templates/layout.html:218 msgid "Uploading..." msgstr "" @@ -1786,52 +1800,27 @@ msgstr "" msgid "Browse" msgstr "" -#: cps/templates/layout.html:126 -msgid "Sorted Books" -msgstr "" - -#: cps/templates/layout.html:130 cps/templates/layout.html:131 -#: cps/templates/layout.html:132 cps/templates/layout.html:133 -msgid "Sort By" -msgstr "" - -#: cps/templates/layout.html:130 -msgid "Newest" -msgstr "" - -#: cps/templates/layout.html:131 -msgid "Oldest" -msgstr "" - -#: cps/templates/layout.html:132 -msgid "Ascending" -msgstr "" - -#: cps/templates/layout.html:133 -msgid "Descending" -msgstr "" - -#: cps/templates/layout.html:153 +#: cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "" -#: cps/templates/layout.html:154 cps/templates/stats.html:3 +#: cps/templates/layout.html:142 cps/templates/stats.html:3 msgid "About" msgstr "" -#: cps/templates/layout.html:168 +#: cps/templates/layout.html:156 msgid "Previous" msgstr "" -#: cps/templates/layout.html:195 +#: cps/templates/layout.html:183 msgid "Book Details" msgstr "" -#: cps/templates/layout.html:229 +#: cps/templates/layout.html:217 msgid "Upload done, processing, please wait..." msgstr "" -#: cps/templates/layout.html:232 +#: cps/templates/layout.html:220 msgid "Error" msgstr "" @@ -2129,27 +2118,31 @@ msgstr "" msgid "Kindle E-Mail" msgstr "" -#: cps/templates/user_edit.html:39 +#: cps/templates/user_edit.html:40 msgid "Show books with language" msgstr "" -#: cps/templates/user_edit.html:41 +#: cps/templates/user_edit.html:42 msgid "Show all" msgstr "" -#: cps/templates/user_edit.html:49 +#: cps/templates/user_edit.html:52 msgid "OAuth Settings" msgstr "" +#: cps/templates/user_edit.html:54 +msgid "Link" +msgstr "" + #: cps/templates/user_edit.html:56 msgid "Unlink" msgstr "" -#: cps/templates/user_edit.html:119 +#: cps/templates/user_edit.html:120 msgid "Delete this user" msgstr "" -#: cps/templates/user_edit.html:134 +#: cps/templates/user_edit.html:135 msgid "Recent Downloads" msgstr ""

kk30yK|A~!b>`or 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