From 19c75d6790959debafbe9cf4bba146fe0c6b72e4 Mon Sep 17 00:00:00 2001 From: xlivevil <xlivevil@aliyun.com> Date: Thu, 29 Jul 2021 14:00:02 +0800 Subject: [PATCH] Update Simplified Chinese translation --- .../zh_Hans_CN/LC_MESSAGES/messages.mo | Bin 43486 -> 45631 bytes .../zh_Hans_CN/LC_MESSAGES/messages.po | 616 ++++++++++-------- messages.pot | 514 ++++++++------- 3 files changed, 618 insertions(+), 512 deletions(-) diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index aac38c86effc25fa3c7de794b511ef6548b023b8..5c245f812d3e88e361db29de2211e2084debf77f 100644 GIT binary patch delta 13282 zcmajkcYKt^zQ^$=5K15rNa#UW2rcwp1jJARC`gGS9X4Shfsn;)0;0l(-U+bu9w|YT z1X!enazwG5gNoO#h=uHuTt!5=Tt(6Q`R18(#Cz`Rb@{{h%slhV{N^_^Pas}>zts7{ zQr@ePp&Kmz_)A$<T|8D@wLkw1YGGMbs1C+<I38ng4YtH%sQ13cM)*5MVhj(}-WeU3 zfNd}X%i~^r!m_;9AqpdCDBa4ky5VT-itDiqzKy-`eJqDjt?7%=SQG1GQ|y8jZ~|7w zsThv4u^KK$_1k9JU&YGIZ(TMGU!o@b4mHq^#(P+qdU?W+z?!H4nxgu*Kn2ncweo=& zfn!nQq@pr03mf8ktb`{plKHKR6r%AHRK&Nj4u-U~toB$J!*B>{f>EdxrlJDNM6GZk z_P{NefFI$b*qnVEk27%)eu(Un)sVrx4JbTDL6ObC8t6lI#X5*O4j*G}yn$u0TnEdl zh?TJl)<JDe3sfdLpjQ4UhT;f}!ZD`qHfD4n|0R1wgM$u>Q4{5&26zRvXO~bB-$oW? zIXc<_4#Nkj&&AGo3biFapx(cO92+a7lV!zX8`OeE;gjg@ME(`=8#E~8U!v-FQGrA< z>I2vk_52akbC;>lL2bciY>c_6483ihe}KyHO>Bl$yV$qnL99xBf|r6iJcXLjhc)pK zI`N{ZH|0ub;9jWf7mr%uR8(M@7>R4J8}7jf`~o%p4b)ae@UR*>Q2o7~C@7Kv7>A=# zd%qo(%C}Ib^<5;J))%OOBFQ`F$cjO2;S;EV6H)zVq0Y!6?1O7jTlpdCtldLyh1YU) zw<GC^I=w?t1Fk})b}K5t7f=HhpjP$<>bvkUYQmbl%<-@qV-$`;9lq&UAJef8uETnG z2pj7DU!tJY-b77s$5^VTeOM}^CTxTXq$6rC<8dImQ3Ibsz5fAf;;&3SfLhQk)GhfP zb)CyTM8=rkszO2cxiM<*Tcfrh9(8IxsMPI1^}C2#;X7Chzrh;#E0$~xX{k#+1{K)D zs0qiQ#&@AII|semo0X>FGHReNu|D3xdRXIOd*Du}fZ|byY6fbh>rk25gbL^dR3H~H z8sA54(M_z5_l!|-<X@4+a`JQ<JD^e(j~XxmYoiObVlQf7A1biDs1?47TG3V1t+;`D z|7X<16?)t6)j}Q8SX5vS_4e9(JKA)ZiVEOaRA5U{d%Dg%--((i-_*~cZppi-)P9J% zB{xu+Y)E?96|0-^X;c6wusvQ<{<XqCP#LJ**N(g;YNCfwhi@<{uyObRPDQPBDQbm2 z)QWRZhuM!hGpDf?euKIlRr=Xm+ZUTq_f9f}6{vxa8ZV<#{5=lAO7ZsIjl;pzJ*WU* zK}~cSwc?*q6Grs6EMB#GVq;u@%Fqj_g}j0U?6uyZ(42;^P^Y`%0Q*o?L#?njYQRRQ zy&sO+k|eBzZq&qcP^W%9HpL^R{Znj0{RdQrY7R7K0HbyPAEJ=JgVCrL^H2kRRMLUH zL>;oQM{FA*-yEwKD!^y4EG|X`whBXW3o1i9P5ls7pnep?@GM3%zx4(M?eR6#3V%Wk z6#A%rc&eZxAA-bUIk5u1XxfjXuGO2U39q7V%MH}o3K?W?Z8R$N-B4Q*k6ty5r_cze zp$_31<mZL82g~6VRH_S66aR<`_#WySRT^v?i<-C}YAZ&e`prar7Z#iPE>q7RO#XEZ z-lT!6YW<3etmk9)2j&Tkp*{<hnQf?nUPAS|i0$wTd>A7*spWAfDr2Ki3z~*X`CP1o zOHKR6A>_Xd4KL83J<G>fJce4?Rn$OtQ7aE0YVUPT<TGy7L!E`Os1<KU1^6;*!go+- z=@Zlz-9%-!%rJAky%ZF{U~Gd4sEHP!4%KR`h#Rm0=Ac&oDptkMF&uATWxR_TFKoDd z$|F!`pb_eNKZM%Sv8eIAlPI*HFb$P~O{mDXqdM-#QkaJd@Ca7HuTd-h5w)@iu26Gq zjBRl!I&dEHF|?k?2Qh&9t~eeqna^wWqM#M^MXg{gYQkx#Lz#v;13uJ1C$Kf%MWsIW z3BC#F!VY*62jX`)0z31cC|rdKJO_0~j-o^Nzo4YRDMzLF9x9OfPukz;))+_KiCWnn zY=s}7R#IxDU2lLoGea;Qr=eDS6uaOJRE8UmvIA(2m303*P>8@d<1o{~iORrK)C#gu zd%Xv>MTb#=o;J_lLY;{(P%FJ@>egtxe<W(0x~MbO7QLFdI|U8=DC$s*#A-Ofm|>nT zGj7CMJl}&lBWFzeYp4~zhnnCc)ZzUa)&B-+zOrNN@oS7B|8;0+VH)C5dp!oVM_$vu z6xDABHo=qF6u(4esN7h4qL!!(bVV)X5mO(AeEzK@?2j*@0=Yew{MV)sI?m2OJyeQX zpjOrkm5Ki5`B+rSQ&8_cjq1M+HQ|2L2j-Be7oak50hQr*Pz(DU)vwS?L8<!DG~7e& zZN>5SKQgOhH|n+VK}<jewi-3iMpVjop#s{Ay8q`;6TF66>3<l%K`r1%)I8ph33lWa zQ4b<fkv2dL(Aqrjfx6#)usx=swj>7|;u+L{U!npjMvYf`qW$5CL}jQgs$Umm9<LQg zp#}|)q4v&&O8G48fGbfc{2OYoFQHa`3+v)tRC`UQy%jyMCiS7lWYn3;LXE!{mBHf} z%KX+j^Was~z#pPgb`=%a_gEdvB-$&AMh(;)9oPdE@Ho_2NJsTwj0$8sM&mJ4zl^#K zMOc;jt&k*pqA1ir%~7fCg_>wIYQR)fCg!68U5!fVChUhhF%}Drl_%Ms?5@USY{v7= z*brYqulBT%f?kYp*(>UX>NpxT!2;A)EI0LYsJ*?2W$**kA^r@N+JLFwK)wGnDx-g3 z1B{q#|DCYiWb$91h9_xgg|pCs`%o)?9ZTaUsKa;#L-9Y2H?a)$+o;Uk#YeF06#EM} z3?HJNi0YSvk(i76l%JkL{<X4iY0zHRPqwdHXVfX5fy&SxtcUMlJG_C7v3`m@a6eQA z9z_K{!kCO&`7_4ls891&Q-9G*L6H<-Is6Wl+S{f>>8W-Kqflp}4nBaLP=_i3bzR-4 zL-ib%#SQ4d?Wpn2VspHN%J_eqc5lsT_DY*zGaigW4KN>dy_TU;zaN|8F?<}apeAmY zY6t!hDueN;{^L-Yn1;Fqb1)1ypaS1z>$M6fXiq;zb-ZG{Z494oub>f@=XnRzUiLs` zqBkmY6V3Bv)Ob&!0+@*va4Bl<eW*b8W32A~VG4@;Gt@x0P!s%uO8FnCLs%!x{sl!n zRHnvY6I_TI_(iOQ=TO)966(|awP}xb+Y`s40_=d5ncwP4K`-{lQuqXF3r3<2%LLR5 zGmM$2fSy4GG8dJZTvSF58{fe-A)F~xCgwb4|CTHp8&Q89y)7twOF=KzOt(*UC)8mY zgE5$4+>9NmpFvG{3wz^TjK`iH`!+2!o<uF=J5&G3)SG75?X5G&zYbL=8gvWBVK}Zf zZo>%b2T&i5lc;{5nf8jA_VZ|C3)K7FO??1ruScQ+Ni@$>Onqi1`PYLvG(_S;<0j)l z<5^TjE~CB!#iqUdO#8iP)F-tyDu7|AQ$8MB;WMat4w&cprhdk28eT;Oa2Y$}HSB<O zX4yW5J*dw|9jf!FjQoNMEc$8Nj;H_!V{1%Bjk^t_Fb@^T1yrEkw<uJl@R4~?gte&O zM0F@X+kT-ss$SRBV@<uSu_tQ9k6?A2jGE{<)Q4vQHo-j9!ahVY!|#8dvHyDA1-tNI zHtNMAs0mM^KD8IIC4P$vu-3EuodMgSCd@K!G`?iKfYChv1ohr+(_ZO0ogMZ+rlder zsE&P1eFD~`?nVbLL8bHnw!x3F8kU=5e<$jq-tU5XF9C<)G}OdrQ49MBYv32E>;B(1 z9ezb^MYXwhikhG@FdFOP6jNV_+S9eDmG3p4M%|9fs9P0c4tK1vEov*epvFx^Z#xQZ z(~yHDhs4w`7~jP{^t*x@*pX$gXaLrs?nDLj9QMF$)C8A|pQ1i+LDY4=jd~tBkNkJ1 zP<5U?z+lu0CZblh7L~GGR0{L39=?G}b<kL9zCB<)V++(oT~Xr<Km{<~w5OsL^4xq@ z)R)3u8uUplMnzV6fjx1wu_2bDJ=WCQ8M~rZ-pka7qt3)AtdD7^fLCJ!JcJtmUDSJ5 zycBd;ZenFDx6tlT1GT~!)Czi;_9sj|5jDWmsOz-CJU@@Msb4~6EQku=57gPJx5!?3 zThy)cj-;T7=As5%Vccmvf(qm{R7$@x?LQbxFE#<A0*x{CZm99%jiZdIScP^k5}4Oo zLqP%L8_!@_>TjV2xNO?58GkVC_fRXWvc!Hr78PJ;Q;#<$7$>5}n~v(2RnpG>uc1(u zh8?IC?8RPq8nu^qQ7MjCYTE~Oe`ldSSgTR*y^b3A3Ti>$8GkXBU1qmOp#pJW81q{l z%!8ih!6T@E#$iL8g!&<}#P~95<=3zg{$^~j+}^5qV<PGh&c#8v6BXFE7>_?=$-n=5 zt*{Tp5Y*wBg>7&x_Q6+B6O~zMKW~m2s4r?I!>}n%!Z2KkTEIpO#~r9cco3DLw~U{z zWdGHnm<FZv4(c{kT4k@iF{(ZQb$TZn(@|Tq5Op}W;1GNnm9a9b?f06YGW9U3-zZ}y zYD?FyCjS*ET%<t}Uq%J=v8flLR`{){|86XkZTAaDt*o}GcQy7yjW-<iK^uiS^~*5< zx1ln1(@P<O!Y`;u!`9gKhNy|#8~dSFFcKAD2I|nwGxbfV56oWFz^|iLc-hoL*V^w@ z#)`B@qcZAkN+F6uH`EpkHV-DD0-A|>Asf|i8!BV@sQ#z18NP?QHFr^G=)raN;d>kv zSO)6-ji?`H2a$eW>kSGmX!sg?V<n%Rx}m5QK8aOvx@q^KGO*a_Gwr*Lxv0aKhg!f# zsQx#Nzo9Y|wq9Gq{zp;hL_=THVS5HO;X2fddr<=&!ASf&cEB%C0ao2$2iz3fP;ZTT zZ@g)rX6osvv*JaKw-c)~zjeZNc-#0H>hN4w2mBrtSm;Lk#k#2Hos2zDDei+>nak)l z&PMfLfNgO(>dY0OR}=h$f>!o5w!+(}6*k;t2QUKlVk&mW9jFz2ily;K)HrugXC-{I zJz*`ZPrW`i$6ly$rlQWww$0>U4X@GgDE=2dh;du&`g1s%`kSbTW478W?0{NPPt<+y ziw>NE%EVIC792#Kg%j8fzeEL8dz;;_+cxsA$j8v2l|O~GaF^+D()bx_?|wr~9KGER zq@l4TD!|UDiQ|n4s0k;UdX{mOajVx9a!~^uGropV)ITs5q4xGStcGQG*!5`CgpG~u zQ33Ws^@}%-G0$fh=U`2qdzVwt3(uPeFPQpqQ$K6`JJzP($EJP@mAT(hE3CHDK0_T* znd*-kcQR^W)3FZD!5G|(Y`xbyLqUh_25N;3cG)Xxff}GIYJgs-Gcp8+;WpHvy@3kE z+HLo%fogApdcPa${fANG4@G5cG}hAnpF%+|WT9U0p*n0e^;}cWGZq-%#7Y+bk}+OG zeHm{Ve?v`JF2_FgRgJw-?|HD~-~aO{XyP^405_TXDOBWtGhRlm^ea=pgPNf1^Y;5y zP=VJpHbTAM&ODF9&eR7Oz3A1?_2U%e=coa#J@yZq3a9~^U<2%o3UnlDq6x-S)UBC~ z%H%rKd;72}zHI8>qvrV?HBQW4@*hp1`Cj`MknyMiW}pts0^?3>MEw-%(|i>bzz?W_ z?qLlK-DkH)qsD258oxU#z$Z=n4C8`*?7uo}G#!qb2mdf$HQqAML-*SQKY-ebwx%9$ z9A!*J-4?H@Z!x}v3j92l#Y^g-!uuG9pJ5}cn`;|qoNQcyn)om(@Yk^(euG+J$N{@v z$Jh-^(>@Zlg=0}$JQo#+cPRx0u)#EJHyvIu?S9jK8a447sENKnO?(HnRn=dxx3Dd0 zqS2@cp2IL)hB^~I)O>r8=U(feU9e6VU&8@(c+b@99JK#p(G>OK6x6_J7>mzhW88<@ z^M9Z|<yWyOhQDa{>xc?`ys6K^NZtP&3L5wrYTyFnn^>9phsHwG1V5SQWnZ#a7KNJV z0n|ACFdPRNM;RxhGUhR^!#d1w9Wfm)p;G)QYM`5_i0_!^5r^y_qjgd3{ZT2Mh^=r2 z>g?>qaC{YYMlPHBci5czFW3hg<&l34kW4`nK8+gKi)!DDI>iUD3SK~6zxPp@2%uK< zGit(``S$M-8yR~WCt?K8=VBPHM)lvEZ|?s-8Wg}Q#y3recTp2vG4-3q-%NYhVUrP5 zzy7ERMx(}?gj&!vQ(uVfsINe6+1bP7U#B%dg9a#f#NL8Bs0iDlUg(Jt=tfQ8MNP2G z)YlldqORLs^ZWp6+<a5NV0_DXxdDY%bokgblsRfg9F9tT<D>rOvCTu;G;Zc`rKh+& zDQS~jPse&3DIQ0fJHz30%yg!vOmd`UPET~Dw{&=>rOcR-k~YPk(EL`J>gnmuv?(q} zqT4;q<CyMD%XFru&i3_g`-Z<xyYLFW(cL#ybta~|9DR~Y`nl65xzc?%y8C0|l9F5= zk7JN~iq+RWD=pRSoaE@kM2YFHR!_PT^}x5W$MSLsuJoBHNiKh_p1+2K-#?1KVz0cA zE@=*r%bA{(?3nCMcO+$cGThT0N$%9l>1m#pjv1*gr^n?;cX=|L=^6JA?>qAFiW+uE z&diKt-gTx;a%7}rq`LfF<30^-Jl&a+>L5mUW?F`0R!T;)V@Mnw+dD>(qsb{r&Wsdy znm;0bNr-=K|A8SL<C4^14NS9>HQc4;l*Dmgn<pbZB`L%8&nLe31~d&#cc;31HwV-X z|L3bSQ(UwB<p#DWQ;`(7Gcz1dur0oJkM)d5WsTE$JKgnECQI^9dn_!Z&4`lC=}rC} zgGh0vlilc_GSii2J?3`U4+puEoNPf!tAECjsM5aG!$(zdPIqOv(o42@GOL{Azcze$ zXjDRmGb7XE=;`1zloVq<{_an94yo+Y?mLFMJt<nKZ~Dm3%VxM8kGp61<3@cFQa*`w zq$WDk{WZr_E*0a-$eiKm|Cby(J&t~@1}m%DQC1W)Zi#>2xL-ni!3p2Ab$XIqX_Gir z4ktNJFDWs+eIOkrC(=rAvxoL>d3<kAtXuA%<?kmpXv(8WuK#}!|AmPSLR@J{1d-}0 z*@}c@SL#fc$KK;d-HC21VK&d*X{oc#sZP-uGrc|kckhg3E{mQ`{&O7Pr_Kfy{!Fj$ zj<eoCcFo~xRgxFBFq6I1vGtgxv*5<fTzVS&=iyCCb|p=7Jnr;xztow-oSB;8k4*fj zOnYZ)rpu8`W_dHw<;X~<N|(vbRFBKzpn7y9F@y7(%KtEQ&GJ=CcGVb>;z`k+{L7*7 z_@7Q5U8+)-R_(hv+I4uaW2Y8vyZXPJ8WR%I&R;q;E~MxG{yY?(Tov4$UwAUB@Z`bZ z_GQ5hORsNT7~F6;kagzfnU#U_XRmMAXEh5fdMU8zNUSe=dPjfO^af=fShgat{6KK^ zy1>#+g{SskKeEa$7w4P~oX+;`N<ZiKcov2E+Rs@Vd42!9;GyS(>rVx;H=E}d=B#a0 zly|;(Q(kb>zQFlSR^iDNMQ6|6_u;VHeS_wvM_yn5a^TRK;`w=n1;>NiR|S^m_|MM0 z7E*Q5yrR65_YdpenYAvY{hIC9k3C<s<X|9gYvHM7#24IjJh0?+@%k;SrzrnK@sd@6 zHTi$}inN};uzKO?y}?z_7oOc-l(i_ZZe?)ylH%t#`;W|D6k4_L?D^~K50u=4qGS65 z*(ZDv@jd<NOL~O(bC<@2v?LR}X9YLywzF5fc~Mb*0W;s%v}H|T>2aETSC`dmUDB~A zcU{r4qgHU`5+Wt%q%pYjxIKt@u_$+OVB0x=mF4e-hF{-Oz$(oAS66qBIukgP&7z9( z^Ld$d1&_@4)yV#%nMNqtM|)q2@(&dq$kKp;?0l9H-2PHv`{BUKjs9wDJ}l+Cvu;d8 zAbUO=9^8H~xa?eD>0$p+-;1TAt}j0x%$oPtFG%R7?jbQnd4~(nW*44ab^UCfbv?JB zc*|ZZuyi*Bmt_@aEi2AB<r}m4ov^}_r;Brr7cV&AZ@A^_kg&jseSt+Mg1fW*rM7h` z6<d^dj`#1&DH-IAf8T3g*Bv8D7Z$Act=-Yxe{simA->zYUaMPpa+{WSW+S_ylXp6s zL@u*;&-cpi8ew*^IBT(L)$i|4oBf9G*zVsZ2iB|%9@=L|ZtnmYaFl#N3JVtf`_sac zhwQ!L$p5RS-L2^S7Vgkr2jOd`AA7$1oO)sZO0e(soHhdj*=vil=3Ot?@~>}&?%m5P zit;zuM?G-jXwms?fkpd@H}B%$T+5oTP2Q6g+_kT;pnzL&y}%dTx!r#|XJwgaZfoHD wqT-wa?y~&>2`=4ee?ffS+#0?Ex#7O`xvoggKvC{I?e?lX`(*fk&JBkA4_Y<HtpET3 delta 11214 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 diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po index f1563d09..62571b67 100644 --- a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po +++ b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Calibre-Web\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-06-29 18:30+0200\n" +"POT-Creation-Date: 2021-07-29 13:45+0800\n" "PO-Revision-Date: 2020-09-27 22:18+0800\n" "Last-Translator: dalin <dalin.lin@gmail.com>\n" "Language: zh_CN\n" @@ -16,7 +16,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" +"Generated-By: Babel 2.9.1\n" #: cps/about.py:43 cps/about.py:59 msgid "installed" @@ -30,282 +30,294 @@ msgstr "未安装" msgid "Statistics" msgstr "统计" -#: cps/admin.py:142 +#: cps/admin.py:141 msgid "Server restarted, please reload page" msgstr "æœåС噍已é‡å¯ï¼Œè¯·åˆ·æ–°é¡µé¢" -#: cps/admin.py:144 +#: cps/admin.py:143 msgid "Performing shutdown of server, please close window" msgstr "æ£åœ¨å…³é—æœåŠ¡å™¨ï¼Œè¯·å…³é—窗å£" -#: cps/admin.py:152 +#: cps/admin.py:151 msgid "Reconnect successful" msgstr "釿–°è¿žæŽ¥æˆåŠŸ" -#: cps/admin.py:155 +#: cps/admin.py:154 msgid "Unknown command" msgstr "未知命令" -#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701 +#: cps/admin.py:164 cps/editbooks.py:687 cps/editbooks.py:701 #: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869 #: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94 #: cps/uploader.py:104 msgid "Unknown" msgstr "未知" -#: cps/admin.py:186 +#: cps/admin.py:185 msgid "Admin page" msgstr "管ç†é¡µ" -#: cps/admin.py:205 +#: cps/admin.py:204 msgid "Basic Configuration" msgstr "基本é…ç½®" -#: cps/admin.py:238 +#: cps/admin.py:237 msgid "UI Configuration" msgstr "界é¢é…ç½®" -#: cps/admin.py:271 cps/templates/admin.html:46 +#: cps/admin.py:270 cps/templates/admin.html:46 #, fuzzy msgid "Edit Users" msgstr "管ç†å‘˜ç”¨æˆ·" -#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 +#: cps/admin.py:311 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 #: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14 msgid "All" msgstr "全部" -#: cps/admin.py:337 cps/admin.py:1550 +#: cps/admin.py:336 cps/admin.py:1557 msgid "User not found" msgstr "找ä¸åˆ°ç”¨æˆ·" -#: cps/admin.py:351 +#: cps/admin.py:350 msgid "{} users deleted successfully" msgstr "æˆåŠŸåˆ é™¤ {} 个用户" -#: cps/admin.py:373 cps/templates/user_edit.html:44 +#: cps/admin.py:372 cps/templates/user_edit.html:44 #: cps/templates/user_table.html:80 msgid "Show All" msgstr "显示全部" -#: cps/admin.py:394 cps/admin.py:400 +#: cps/admin.py:393 cps/admin.py:399 msgid "Malformed request" -msgstr "" +msgstr "æ ¼å¼é”™è¯¯çš„请求" -#: cps/admin.py:412 cps/admin.py:1432 +#: cps/admin.py:411 cps/admin.py:1439 msgid "Guest Name can't be changed" msgstr "访客åç§°æ— æ³•æ›´æ”¹" -#: cps/admin.py:424 +#: cps/admin.py:423 msgid "Guest can't have this role" msgstr "æ¸¸å®¢æ— æ³•æ‹¥æœ‰æ¤è§’色" -#: cps/admin.py:436 cps/admin.py:1395 +#: cps/admin.py:435 cps/admin.py:1402 msgid "No admin user remaining, can't remove admin role" msgstr "ç†å‘˜è´¦æˆ·ä¸å˜åœ¨ï¼Œæ— æ³•åˆ é™¤ç®¡ç†å‘˜è§’色" -#: cps/admin.py:440 cps/admin.py:454 +#: cps/admin.py:439 cps/admin.py:453 msgid "Value has to be true or false" -msgstr "" +msgstr "值必须是 true 或 false" -#: cps/admin.py:442 +#: cps/admin.py:441 msgid "Invalid role" -msgstr "" +msgstr "æ— æ•ˆè§’è‰²" -#: cps/admin.py:446 +#: cps/admin.py:445 msgid "Guest can't have this view" msgstr "æ¸¸å®¢æ— æ³•æ‹¥æœ‰æ¤è§†å›¾" -#: cps/admin.py:456 +#: cps/admin.py:455 msgid "Invalid view" -msgstr "" +msgstr "æ— æ•ˆè§†å›¾" -#: cps/admin.py:459 +#: cps/admin.py:458 msgid "Guest's Locale is determined automatically and can't be set" msgstr "æ¸¸å®¢çš„æœ¬åœ°åŒ–æ˜¯è‡ªåŠ¨ä¾¦æµ‹è€Œæ— æ³•è®¾ç½®çš„" -#: cps/admin.py:463 +#: cps/admin.py:462 msgid "No Valid Locale Given" -msgstr "" +msgstr "æ— å¯ç”¨æœ¬åœ°åŒ–" -#: cps/admin.py:474 +#: cps/admin.py:473 msgid "No Valid Book Language Given" -msgstr "" +msgstr "æ— æœ‰æ•ˆä¹¦ç±è¯è¨€" -#: cps/admin.py:476 +#: cps/admin.py:475 msgid "Parameter not found" -msgstr "" +msgstr "傿•°æœªæ‰¾åˆ°" -#: cps/admin.py:531 +#: cps/admin.py:530 msgid "Invalid Read Column" -msgstr "" +msgstr "æ— æ•ˆçš„é˜…è¯»åˆ—" -#: cps/admin.py:537 +#: cps/admin.py:536 msgid "Invalid Restricted Column" -msgstr "" +msgstr "æ— æ•ˆçš„é™åˆ¶åˆ—" -#: cps/admin.py:556 cps/admin.py:1288 +#: cps/admin.py:555 cps/admin.py:1287 msgid "Calibre-Web configuration updated" msgstr "Calibre-Webé…置已更新" -#: cps/admin.py:568 +#: cps/admin.py:567 msgid "Do you really want to delete the Kobo Token?" msgstr "æ‚¨ç¡®å®šåˆ é™¤Kobo Tokenå—?" -#: cps/admin.py:570 +#: cps/admin.py:569 msgid "Do you really want to delete this domain?" msgstr "您确定è¦åˆ 除æ¤åŸŸå—?" -#: cps/admin.py:572 +#: cps/admin.py:571 msgid "Do you really want to delete this user?" msgstr "您确定è¦åˆ 除æ¤ç”¨æˆ·å—?" -#: cps/admin.py:574 cps/templates/shelf.html:90 +#: cps/admin.py:573 cps/templates/shelf.html:90 msgid "Are you sure you want to delete this shelf?" msgstr "您确定è¦åˆ 除æ¤ä¹¦æž¶å—?" -#: cps/admin.py:576 +#: cps/admin.py:575 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "您确定è¦ä¿®æ”¹é€‰å®šç”¨æˆ·çš„æœ¬åœ°åŒ–设置å—?" -#: cps/admin.py:578 -msgid "Are you sure you want to change visible book languages for selected user(s)?" +#: cps/admin.py:577 +msgid "" +"Are you sure you want to change visible book languages for selected " +"user(s)?" msgstr "您确定è¦ä¿®æ”¹é€‰å®šç”¨æˆ·çš„å¯è§ä¹¦ç±è¯è¨€å—?" -#: cps/admin.py:580 -msgid "Are you sure you want to change the selected role for the selected user(s)?" +#: cps/admin.py:579 +msgid "" +"Are you sure you want to change the selected role for the selected " +"user(s)?" msgstr "您确定è¦ä¿®æ”¹é€‰å®šç”¨æˆ·çš„选定角色å—?" -#: cps/admin.py:582 -msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" +#: cps/admin.py:581 +msgid "" +"Are you sure you want to change the selected restrictions for the " +"selected user(s)?" msgstr "您确定è¦ä¿®æ”¹é€‰å®šç”¨æˆ·çš„选定é™åˆ¶å—?" -#: cps/admin.py:584 -msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" +#: cps/admin.py:583 +msgid "" +"Are you sure you want to change the selected visibility restrictions for " +"the selected user(s)?" msgstr "您确定è¦ä¿®æ”¹é€‰å®šç”¨æˆ·çš„选定å¯è§†åŒ–é™åˆ¶å—?" -#: cps/admin.py:586 +#: cps/admin.py:585 #, fuzzy -msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" +msgid "" +"Are you sure you want to change shelf sync behavior for the selected " +"user(s)?" msgstr "您确定è¦ä¿®æ”¹é€‰å®šç”¨æˆ·çš„选定角色å—?" -#: cps/admin.py:588 +#: cps/admin.py:587 #, fuzzy msgid "Are you sure you want to change Calibre library location?" msgstr "您确定è¦å…³é—å—?" -#: cps/admin.py:737 +#: cps/admin.py:736 msgid "Tag not found" -msgstr "" +msgstr "æ ‡ç¾æœªæ‰¾åˆ°" -#: cps/admin.py:749 +#: cps/admin.py:748 msgid "Invalid Action" -msgstr "" +msgstr "æ— æ•ˆçš„åŠ¨ä½œ" -#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880 +#: cps/admin.py:853 cps/admin.py:859 cps/admin.py:869 cps/admin.py:879 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40 #: cps/templates/user_table.html:57 msgid "Deny" msgstr "æ‹’ç»" -#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882 +#: cps/admin.py:855 cps/admin.py:861 cps/admin.py:871 cps/admin.py:881 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43 #: cps/templates/user_table.html:60 msgid "Allow" msgstr "å…许" -#: cps/admin.py:1011 +#: cps/admin.py:1010 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "client_secrets.json 未为 Web 应用程åºé…ç½®" -#: cps/admin.py:1056 +#: cps/admin.py:1055 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "æ—¥å¿—æ–‡ä»¶è·¯å¾„æ— æ•ˆï¼Œè¯·è¾“å…¥æ£ç¡®çš„路径" -#: cps/admin.py:1062 +#: cps/admin.py:1061 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "è®¿é—®æ—¥å¿—è·¯å¾„æ— æ•ˆï¼Œè¯·è¾“å…¥æ£ç¡®çš„路径" -#: cps/admin.py:1092 +#: cps/admin.py:1091 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "请输入LDAP主机ã€ç«¯å£ã€DNå’Œç”¨æˆ·å¯¹è±¡æ ‡è¯†ç¬¦" -#: cps/admin.py:1098 +#: cps/admin.py:1097 #, fuzzy msgid "Please Enter a LDAP Service Account and Password" msgstr "请输入有效的用户å进行密ç é‡ç½®" -#: cps/admin.py:1101 +#: cps/admin.py:1100 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1106 +#: cps/admin.py:1105 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "LDAP组对象过滤器需è¦ä¸€ä¸ªå…·æœ‰â€œ%sâ€æ ¼å¼æ ‡è¯†ç¬¦" -#: cps/admin.py:1108 +#: cps/admin.py:1107 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "LDAP组对象过滤器的括å·ä¸åŒ¹é…" -#: cps/admin.py:1112 +#: cps/admin.py:1111 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "LDAP用户对象过滤器需è¦ä¸€ä¸ªå…·æœ‰â€œ%sâ€æ ¼å¼æ ‡è¯†ç¬¦" -#: cps/admin.py:1114 +#: cps/admin.py:1113 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "LDAP用户对象过滤器的括å·ä¸åŒ¹é…" -#: cps/admin.py:1121 +#: cps/admin.py:1120 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1123 +#: cps/admin.py:1122 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1130 -msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" +#: cps/admin.py:1129 +msgid "" +"LDAP CACertificate, Certificate or Key Location is not Valid, Please " +"Enter Correct Path" msgstr "" -#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459 -#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206 -#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437 +#: cps/admin.py:1171 cps/admin.py:1272 cps/admin.py:1365 cps/admin.py:1466 +#: cps/admin.py:1532 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205 +#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443 msgid "Settings DB is not Writeable" msgstr "设置数æ®åº“ä¸å¯å†™å…¥" -#: cps/admin.py:1183 +#: cps/admin.py:1182 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "æ•°æ®åº“è·¯å¾„æ— æ•ˆï¼Œè¯·è¾“å…¥æ£ç¡®çš„路径" -#: cps/admin.py:1188 +#: cps/admin.py:1187 msgid "DB is not Writeable" msgstr "æ•°æ®åº“ä¸å¯å†™å…¥" -#: cps/admin.py:1201 +#: cps/admin.py:1200 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "å¯†é’¥æ–‡ä»¶è·¯å¾„æ— æ•ˆï¼Œè¯·è¾“å…¥æ£ç¡®çš„路径" -#: cps/admin.py:1205 +#: cps/admin.py:1204 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "è¯ä¹¦æ–‡ä»¶è·¯å¾„æ— æ•ˆï¼Œè¯·è¾“å…¥æ£ç¡®çš„路径" -#: cps/admin.py:1317 +#: cps/admin.py:1316 #, fuzzy msgid "Database Configuration" msgstr "功能é…ç½®" -#: cps/admin.py:1333 cps/web.py:1459 +#: cps/admin.py:1332 cps/web.py:1469 msgid "Please fill out all fields!" msgstr "è¯·å¡«å†™æ‰€æœ‰å—æ®µï¼" -#: cps/admin.py:1341 +#: cps/admin.py:1340 msgid "E-mail is not from valid domain" msgstr "邮箱ä¸åœ¨æœ‰æ•ˆåŸŸä¸" -#: cps/admin.py:1345 cps/admin.py:1478 +#: cps/admin.py:1344 cps/admin.py:1485 msgid "Add new user" msgstr "æ·»åŠ æ–°ç”¨æˆ·" @@ -319,144 +331,144 @@ msgstr "用户“%(user)sâ€å·²åˆ›å»º" msgid "Found an existing account for this e-mail address or name." msgstr "æ¤é‚®ç®±æˆ–用户å的账å·å·²ç»å˜åœ¨ã€‚" -#: cps/admin.py:1374 +#: cps/admin.py:1381 #, python-format msgid "User '%(nick)s' deleted" msgstr "用户“%(nick)sâ€å·²åˆ 除" -#: cps/admin.py:1376 cps/admin.py:1377 +#: cps/admin.py:1383 cps/admin.py:1384 msgid "Can't delete Guest User" msgstr "æ— æ³•åˆ é™¤æ¸¸å®¢ç”¨æˆ·" -#: cps/admin.py:1380 +#: cps/admin.py:1387 msgid "No admin user remaining, can't delete user" msgstr "管ç†å‘˜è´¦æˆ·ä¸å˜åœ¨ï¼Œæ— æ³•åˆ é™¤ç”¨æˆ·" -#: cps/admin.py:1447 cps/admin.py:1568 +#: cps/admin.py:1454 cps/admin.py:1575 #, python-format msgid "Edit User %(nick)s" msgstr "编辑用户 %(nick)s" -#: cps/admin.py:1451 +#: cps/admin.py:1458 #, python-format msgid "User '%(nick)s' updated" msgstr "用户“%(nick)sâ€å·²æ›´æ–°" -#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545 +#: cps/admin.py:1462 cps/admin.py:1590 cps/web.py:1494 cps/web.py:1555 msgid "An unknown error occurred. Please try again later." msgstr "å‘生一个未知错误,请ç¨åŽå†è¯•。" -#: cps/admin.py:1487 cps/templates/admin.html:94 +#: cps/admin.py:1494 cps/templates/admin.html:94 msgid "Edit E-mail Server Settings" msgstr "编辑邮件æœåŠ¡å™¨è®¾ç½®" -#: cps/admin.py:1506 +#: cps/admin.py:1513 #, fuzzy msgid "Gmail Account Verification Successful" msgstr "G-Mailè´¦å·æ ¡éªŒæˆåŠŸ" -#: cps/admin.py:1532 +#: cps/admin.py:1539 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" -msgstr "" +msgstr "å‘é€ç»™%(email)s的测试邮件已进入队列。请检查任务结果" -#: cps/admin.py:1535 +#: cps/admin.py:1542 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "å‘逿µ‹è¯•邮件时出错:%(res)s" -#: cps/admin.py:1537 +#: cps/admin.py:1544 msgid "Please configure your e-mail address first..." msgstr "请先é…置您的邮箱地å€..." -#: cps/admin.py:1539 +#: cps/admin.py:1546 msgid "E-mail server settings updated" msgstr "邮件æœåŠ¡å™¨è®¾ç½®å·²æ›´æ–°" -#: cps/admin.py:1580 +#: cps/admin.py:1587 #, python-format msgid "Password for user %(user)s reset" msgstr "用户 %(user)s 的密ç å·²é‡ç½®" -#: cps/admin.py:1586 cps/web.py:1424 +#: cps/admin.py:1593 cps/web.py:1434 msgid "Please configure the SMTP mail settings first..." msgstr "请先é…ç½®SMTP邮箱设置..." -#: cps/admin.py:1597 +#: cps/admin.py:1604 msgid "Logfile viewer" msgstr "日志文件查看器" -#: cps/admin.py:1663 +#: cps/admin.py:1670 msgid "Requesting update package" msgstr "æ£åœ¨è¯·æ±‚更新包" -#: cps/admin.py:1664 +#: cps/admin.py:1671 msgid "Downloading update package" msgstr "æ£åœ¨ä¸‹è½½æ›´æ–°åŒ…" -#: cps/admin.py:1665 +#: cps/admin.py:1672 msgid "Unzipping update package" msgstr "æ£åœ¨è§£åŽ‹æ›´æ–°åŒ…" -#: cps/admin.py:1666 +#: cps/admin.py:1673 msgid "Replacing files" msgstr "æ£åœ¨æ›¿æ¢æ–‡ä»¶" -#: cps/admin.py:1667 +#: cps/admin.py:1674 msgid "Database connections are closed" msgstr "æ•°æ®åº“连接已关é—" -#: cps/admin.py:1668 +#: cps/admin.py:1675 msgid "Stopping server" msgstr "æ£åœ¨åœæ¢æœåС噍" -#: cps/admin.py:1669 +#: cps/admin.py:1676 msgid "Update finished, please press okay and reload page" msgstr "更新完æˆï¼Œè¯·ç‚¹å‡»ç¡®å®šå¹¶åˆ·æ–°é¡µé¢" -#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673 -#: cps/admin.py:1674 +#: cps/admin.py:1677 cps/admin.py:1678 cps/admin.py:1679 cps/admin.py:1680 +#: cps/admin.py:1681 msgid "Update failed:" msgstr "更新失败:" -#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568 +#: cps/admin.py:1677 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568 msgid "HTTP Error" msgstr "HTTP错误" -#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570 +#: cps/admin.py:1678 cps/updater.py:358 cps/updater.py:570 msgid "Connection error" msgstr "连接错误" -#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572 +#: cps/admin.py:1679 cps/updater.py:360 cps/updater.py:572 msgid "Timeout while establishing connection" msgstr "建立连接超时" -#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574 +#: cps/admin.py:1680 cps/updater.py:362 cps/updater.py:574 msgid "General error" msgstr "一般错误" -#: cps/admin.py:1674 +#: cps/admin.py:1681 msgid "Update File Could Not be Saved in Temp Dir" msgstr "æ›´æ–°æ–‡ä»¶æ— æ³•ä¿å˜åœ¨ä¸´æ—¶ç›®å½•ä¸" -#: cps/admin.py:1735 +#: cps/admin.py:1742 msgid "Failed to Create at Least One LDAP User" msgstr "创建至少一个LDAP用户失败" -#: cps/admin.py:1748 +#: cps/admin.py:1755 #, python-format msgid "Error: %(ldaperror)s" msgstr "错误:%(ldaperror)s" -#: cps/admin.py:1752 +#: cps/admin.py:1759 msgid "Error: No user returned in response of LDAP server" msgstr "错误:在LDAPæœåŠ¡å™¨çš„å“åº”ä¸æ²¡æœ‰è¿”回用户" -#: cps/admin.py:1785 +#: cps/admin.py:1792 msgid "At Least One LDAP User Not Found in Database" msgstr "æ•°æ®åº“䏿²¡æœ‰æ‰¾åˆ°è‡³å°‘一个LDAP用户" -#: cps/admin.py:1787 +#: cps/admin.py:1794 msgid "{} User Successfully Imported" msgstr "{} 用户被æˆåŠŸå¯¼å…¥" @@ -468,7 +480,7 @@ msgstr "未é…ç½®" msgid "Execution permissions missing" msgstr "缺少执行æƒé™" -#: cps/db.py:651 cps/web.py:642 cps/web.py:1138 +#: cps/db.py:651 cps/web.py:647 cps/web.py:1146 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "自定义列å·ï¼š%(column)d在Calibreæ•°æ®åº“ä¸ä¸å˜åœ¨" @@ -481,9 +493,11 @@ msgstr "ä¹¦ç±æ ¼å¼å·²æˆåŠŸåˆ é™¤" msgid "Book Successfully Deleted" msgstr "书ç±å·²æˆåŠŸåˆ é™¤" -#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671 -#: cps/web.py:1707 cps/web.py:1778 -msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" +#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:512 cps/web.py:1686 +#: cps/web.py:1727 cps/web.py:1798 +msgid "" +"Oops! Selected book title is unavailable. File does not exist or is not " +"accessible" msgstr "糟糕ï¼é€‰æ‹©ä¹¦åæ— æ³•æ‰“å¼€ã€‚æ–‡ä»¶ä¸å˜åœ¨æˆ–者文件ä¸å¯è®¿é—®" #: cps/editbooks.py:404 @@ -493,7 +507,7 @@ msgstr "编辑元数æ®" #: cps/editbooks.py:452 #, python-format msgid "%(seriesindex)s is not a valid number, skipping" -msgstr "" +msgstr "%(seriesindex)s 䏿˜¯ä¸€ä¸ªæœ‰æ•ˆçš„æ•°å€¼ï¼Œå¿½ç•¥" #: cps/editbooks.py:485 #, python-format @@ -519,7 +533,7 @@ msgstr "创建路径 %(path)s 失败(æƒé™æ‹’ç»)。" msgid "Failed to store file %(file)s." msgstr "ä¿å˜æ–‡ä»¶ %(file)s 失败。" -#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632 +#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1647 #, python-format msgid "Database error: %(error)s." msgstr "æ•°æ®åº“错误:%(error)s。" @@ -542,7 +556,9 @@ msgid "Error editing book, please check logfile for details" msgstr "编辑书ç±å‡ºé”™ï¼Œè¯·æ£€æŸ¥æ—¥å¿—文件以获å–详细信æ¯" #: cps/editbooks.py:873 -msgid "Uploaded book probably exists in the library, consider to change before upload new: " +msgid "" +"Uploaded book probably exists in the library, consider to change before " +"upload new: " msgstr "ä¸Šä¼ çš„ä¹¦ç±å¯èƒ½å·²ç»å˜åœ¨ï¼Œå»ºè®®ä¿®æ”¹åŽé‡æ–°ä¸Šä¼ : " #: cps/editbooks.py:967 @@ -575,11 +591,15 @@ msgid "There was an error converting this book: %(res)s" msgstr "è½¬æ¢æ¤ä¹¦ç±æ—¶å‡ºçŽ°é”™è¯¯ï¼š %(res)s" #: cps/gdrive.py:60 -msgid "Google Drive setup not completed, try to deactivate and activate Google Drive again" +msgid "" +"Google Drive setup not completed, try to deactivate and activate Google " +"Drive again" msgstr "Google Drive 设置未完æˆï¼Œè¯·å°è¯•åœç”¨å¹¶å†æ¬¡æ¿€æ´»Google云端硬盘" #: cps/gdrive.py:97 -msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" +msgid "" +"Callback domain is not verified, please follow steps to verify domain in " +"google developer console" msgstr "回调域åå°šæœªè¢«æ ¡éªŒï¼Œè¯·åœ¨googleå¼€å‘è€…æŽ§åˆ¶å°æŒ‰æ¥éª¤æ ¡éªŒåŸŸå" #: cps/helper.py:80 @@ -652,69 +672,73 @@ msgstr "åˆ é™¤ä¹¦çš„æ–‡ä»¶å¤¹%(id)så¤±è´¥ï¼Œè·¯å¾„æœ‰åæ–‡ä»¶å¤¹ï¼š%(path)s" msgid "Deleting book %(id)s failed: %(message)s" msgstr "åˆ é™¤ä¹¦ç± %(id)s失败:%(message)s" -#: cps/helper.py:334 -#, python-format -msgid "Deleting book %(id)s, book path not valid: %(path)s" -msgstr "åˆ é™¤ä¹¦ç± %(id)s失败,书ç±è·¯å¾„æ— æ•ˆï¼š%(path)s" +#: cps/helper.py:335 +#, fuzzy, python-format +msgid "" +"Deleting book %(id)s from database only, book path in database not valid:" +" %(path)s" +msgstr "" +"仅从数æ®åº“ä¸åˆ é™¤ä¹¦ç± %(id)s,书ç±è·¯å¾„在数æ®åº“䏿— 效:" +" %(path)s" -#: cps/helper.py:389 +#: cps/helper.py:390 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "å°†æ ‡é¢˜ä»Žâ€œ%(src)sâ€æ”¹ä¸ºâ€œ%(dest)sâ€æ—¶å¤±è´¥ï¼Œå‡ºé”™ä¿¡æ¯ï¼š%(error)s" -#: cps/helper.py:404 +#: cps/helper.py:405 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "从“%(src)sâ€é‡å‘½å为“%(dest)sâ€å¤±è´¥ï¼Œå‡ºé”™ä¿¡æ¯ï¼š%(error)s" -#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447 +#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "Google Drive上找ä¸åˆ°æ–‡ä»¶ %(file)s" -#: cps/helper.py:468 +#: cps/helper.py:469 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "Google Drive上找ä¸åˆ°ä¹¦ç±è·¯å¾„ %(path)s" -#: cps/helper.py:511 cps/web.py:1627 +#: cps/helper.py:512 cps/web.py:1642 #, fuzzy msgid "Found an existing account for this e-mail address" msgstr "æ¤é‚®ç®±çš„è´¦å·å·²ç»å˜åœ¨ã€‚" -#: cps/helper.py:519 +#: cps/helper.py:520 msgid "This username is already taken" msgstr "æ¤ç”¨æˆ·å已被使用" -#: cps/helper.py:529 +#: cps/helper.py:530 msgid "Invalid e-mail address format" msgstr "æ— æ•ˆçš„é‚®ä»¶åœ°å€æ ¼å¼" -#: cps/helper.py:602 +#: cps/helper.py:603 msgid "Error Downloading Cover" msgstr "下载å°é¢æ—¶å‡ºé”™" -#: cps/helper.py:605 +#: cps/helper.py:606 msgid "Cover Format Error" msgstr "å°é¢æ ¼å¼å‡ºé”™" -#: cps/helper.py:615 +#: cps/helper.py:616 msgid "Failed to create path for cover" msgstr "创建å°é¢è·¯å¾„失败" -#: cps/helper.py:631 +#: cps/helper.py:632 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "å°é¢æ–‡ä»¶ä¸æ˜¯æœ‰æ•ˆçš„å›¾ç‰‡æ–‡ä»¶ï¼Œæˆ–è€…æ— æ³•å˜å‚¨" -#: cps/helper.py:642 +#: cps/helper.py:643 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "å°é¢æ–‡ä»¶åªæ”¯æŒjpg/jpeg/png/webp/bmp文件" -#: cps/helper.py:655 +#: cps/helper.py:656 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "ä»…å°†jpgã€jpeg文件作为å°é¢æ–‡ä»¶" -#: cps/helper.py:707 +#: cps/helper.py:708 msgid "Unrar binary file not found" msgstr "找ä¸åˆ°Unrar执行文件" @@ -743,7 +767,9 @@ msgid "Unknown Status" msgstr "未知状æ€" #: cps/kobo_auth.py:131 -msgid "PLease access calibre-web from non localhost to get valid api_endpoint for kobo device" +msgid "" +"PLease access calibre-web from non localhost to get valid api_endpoint " +"for kobo device" msgstr "请ä¸è¦ä½¿ç”¨localhost访问Calibre-Web,以便Koboè®¾å¤‡èƒ½èŽ·å–æœ‰æ•ˆçš„api_endpoint" #: cps/kobo_auth.py:134 cps/kobo_auth.py:162 @@ -755,7 +781,7 @@ msgstr "Kobo 设置" msgid "Register with %(provider)s" msgstr "使用 %(provider)s 注册" -#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517 +#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1527 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "您现在已以“%(nickname)sâ€èº«ä»½ç™»å½•" @@ -821,7 +847,7 @@ msgid "{} Stars" msgstr "{} 星" #: cps/remotelogin.py:65 cps/templates/layout.html:85 -#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564 +#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1574 msgid "Login" msgstr "登录" @@ -837,7 +863,7 @@ msgstr "Token已过期" msgid "Success! Please return to your device" msgstr "æˆåŠŸï¼è¯·è¿”回您的设备" -#: cps/render_template.py:39 cps/web.py:415 +#: cps/render_template.py:39 cps/web.py:418 msgid "Books" msgstr "书ç±" @@ -862,7 +888,7 @@ msgstr "下载历å²" msgid "Show Downloaded Books" msgstr "显示下载过的书ç±" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:428 msgid "Top Rated Books" msgstr "最高评分书ç±" @@ -871,7 +897,7 @@ msgid "Show Top Rated Books" msgstr "显示最高评分书ç±" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:651 +#: cps/templates/index.xml:58 cps/web.py:656 msgid "Read Books" msgstr "已读书ç±" @@ -880,7 +906,7 @@ msgid "Show read and unread" msgstr "显示阅读状æ€" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:654 +#: cps/templates/index.xml:65 cps/web.py:659 msgid "Unread Books" msgstr "未读书ç±" @@ -898,7 +924,7 @@ msgid "Show Random Books" msgstr "æ˜¾ç¤ºéšæœºä¹¦ç±" #: cps/render_template.py:69 cps/templates/book_table.html:54 -#: cps/templates/index.xml:83 cps/web.py:1025 +#: cps/templates/index.xml:83 cps/web.py:1033 msgid "Categories" msgstr "分类" @@ -908,7 +934,7 @@ msgstr "显示分类选择" #: cps/render_template.py:72 cps/templates/book_edit.html:88 #: cps/templates/book_table.html:55 cps/templates/index.xml:90 -#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932 +#: cps/templates/search_form.html:68 cps/web.py:930 cps/web.py:940 msgid "Series" msgstr "丛书" @@ -926,7 +952,7 @@ msgid "Show author selection" msgstr "显示作者选择" #: cps/render_template.py:79 cps/templates/book_table.html:59 -#: cps/templates/index.xml:76 cps/web.py:899 +#: cps/templates/index.xml:76 cps/web.py:907 msgid "Publishers" msgstr "出版社" @@ -936,7 +962,7 @@ msgstr "显示出版社选择" #: cps/render_template.py:82 cps/templates/book_table.html:57 #: cps/templates/index.xml:97 cps/templates/search_form.html:106 -#: cps/web.py:1002 +#: cps/web.py:1010 msgid "Languages" msgstr "è¯è¨€" @@ -960,7 +986,7 @@ msgstr "æ–‡ä»¶æ ¼å¼" msgid "Show file formats selection" msgstr "æ˜¾ç¤ºæ–‡ä»¶æ ¼å¼é€‰æ‹©" -#: cps/render_template.py:93 cps/web.py:678 +#: cps/render_template.py:93 cps/web.py:683 msgid "Archived Books" msgstr "归档书ç±" @@ -968,7 +994,7 @@ msgstr "归档书ç±" msgid "Show archived books" msgstr "显示归档书ç±" -#: cps/render_template.py:97 cps/web.py:752 +#: cps/render_template.py:97 cps/web.py:758 msgid "Books List" msgstr "书ç±åˆ—表" @@ -976,98 +1002,103 @@ msgstr "书ç±åˆ—表" msgid "Show Books List" msgstr "显示书ç±åˆ—表" -#: cps/shelf.py:69 cps/shelf.py:124 +#: cps/shelf.py:69 cps/shelf.py:123 msgid "Invalid shelf specified" msgstr "æŒ‡å®šçš„ä¹¦æž¶æ— æ•ˆ" #: cps/shelf.py:75 -#, python-format -msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s" +#, fuzzy, python-format +msgid "Sorry you are not allowed to add a book to that shelf" msgstr "对ä¸èµ·ï¼Œæ‚¨æ²¡æœ‰æ·»åР书ç±åˆ°ä¹¦æž¶ %(shelfname)s çš„æƒé™" -#: cps/shelf.py:85 +#: cps/shelf.py:84 #, python-format msgid "Book is already part of the shelf: %(shelfname)s" msgstr "æ¤ä¹¦ç±å·²ç»æ˜¯ä¹¦æž¶ %(shelfname)s 的一部分" -#: cps/shelf.py:110 +#: cps/shelf.py:109 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "æ¤ä¹¦ç±å·²è¢«æ·»åŠ åˆ°ä¹¦æž¶ï¼š%(sname)s" -#: cps/shelf.py:129 +#: cps/shelf.py:128 #, python-format msgid "You are not allowed to add a book to the the shelf: %(name)s" msgstr "æ‚¨æ²¡æœ‰æ·»åŠ ä¹¦ç±åˆ°ä¹¦æž¶ %(name)s çš„æƒé™" -#: cps/shelf.py:147 +#: cps/shelf.py:146 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "书ç±å·²ç»åœ¨ä¹¦æž¶ %(name)s ä¸äº†" -#: cps/shelf.py:159 +#: cps/shelf.py:158 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "书ç±å·²ç»è¢«æ·»åŠ åˆ°ä¹¦æž¶ %(sname)s ä¸" -#: cps/shelf.py:166 +#: cps/shelf.py:165 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "æ— æ³•æ·»åŠ ä¹¦ç±åˆ°ä¹¦æž¶ï¼š%(sname)s" -#: cps/shelf.py:212 +#: cps/shelf.py:211 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "æ¤ä¹¦å·²ä»Žä¹¦æž¶ %(sname)s ä¸åˆ 除" -#: cps/shelf.py:221 +#: cps/shelf.py:220 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "对ä¸èµ·ï¼Œæ‚¨æ²¡æœ‰ä»Žä¹¦æž¶ %(sname)s ä¸åˆ 除书ç±çš„æƒé™" -#: cps/shelf.py:231 cps/templates/layout.html:141 +#: cps/shelf.py:230 cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "创建书架" #: cps/shelf.py:238 +#, fuzzy, python-format +msgid "Sorry you are not allowed to edit this shelf" +msgstr "对ä¸èµ·ï¼Œæ‚¨æ²¡æœ‰ç¼–辑书架的æƒé™" + +#: cps/shelf.py:240 msgid "Edit a shelf" msgstr "编辑书架" -#: cps/shelf.py:257 +#: cps/shelf.py:259 #, python-format msgid "Shelf %(title)s created" msgstr "书架 %(title)s 已创建" -#: cps/shelf.py:260 +#: cps/shelf.py:262 #, python-format msgid "Shelf %(title)s changed" msgstr "书架 %(title)s 已修改" -#: cps/shelf.py:274 +#: cps/shelf.py:276 msgid "There was an error" msgstr "å‘生错误" -#: cps/shelf.py:296 +#: cps/shelf.py:298 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "公共书架:%(title)så·²ç»å˜åœ¨å·²ç»å˜åœ¨ã€‚" -#: cps/shelf.py:307 +#: cps/shelf.py:309 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "ç§æœ‰ä¹¦æž¶ï¼š%(title)så·²ç»å˜åœ¨å·²ç»å˜åœ¨ã€‚" -#: cps/shelf.py:376 +#: cps/shelf.py:378 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "修改书架 %(name)s 顺åº" -#: cps/shelf.py:442 +#: cps/shelf.py:448 #, python-format msgid "Shelf: '%(name)s'" msgstr "书架:%(name)s" -#: cps/shelf.py:446 +#: cps/shelf.py:452 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "打开书架出错。书架ä¸å˜åœ¨æˆ–ä¸å¯è®¿é—®" @@ -1080,7 +1111,9 @@ msgid "No update available. You already have the latest version installed" msgstr "æ— å¯ç”¨æ›´æ–°ã€‚您已ç»å®‰è£…了最新版本" #: cps/updater.py:399 -msgid "A new update is available. Click on the button below to update to the latest version." +msgid "" +"A new update is available. Click on the button below to update to the " +"latest version." msgstr "有新的更新。å•击下é¢çš„æŒ‰é’®ä»¥æ›´æ–°åˆ°æœ€æ–°ç‰ˆæœ¬ã€‚" #: cps/updater.py:417 @@ -1093,192 +1126,191 @@ msgstr "ç‚¹å‡»ä¸‹é¢æŒ‰é’®æ›´æ–°åˆ°æœ€æ–°ç¨³å®šç‰ˆæœ¬ã€‚" #: cps/updater.py:436 cps/updater.py:450 cps/updater.py:461 #, python-format -msgid "A new update is available. Click on the button below to update to version: %(version)s" +msgid "" +"A new update is available. Click on the button below to update to " +"version: %(version)s" msgstr "有新的更新。å•击下é¢çš„æŒ‰é’®ä»¥æ›´æ–°åˆ°ç‰ˆæœ¬: %(version)s" #: cps/updater.py:478 msgid "No release information available" msgstr "æ— å¯ç”¨å‘布信æ¯" -#: cps/templates/index.html:5 cps/web.py:435 +#: cps/templates/index.html:5 cps/web.py:438 msgid "Discover (Random Books)" msgstr "å‘现(éšæœºä¹¦ç±)" -#: cps/web.py:461 +#: cps/web.py:464 msgid "Hot Books (Most Downloaded)" msgstr "çƒé—¨ä¹¦ç±ï¼ˆæœ€å¤šä¸‹è½½ï¼‰" -#: cps/web.py:494 +#: cps/web.py:497 #, python-format msgid "Downloaded books by %(user)s" msgstr "%(user)s 下载过的书ç±" -#: cps/web.py:523 +#: cps/web.py:528 #, python-format msgid "Author: %(name)s" msgstr "作者:%(name)s" -#: cps/web.py:538 +#: cps/web.py:543 #, python-format msgid "Publisher: %(name)s" msgstr "出版社:%(name)s" -#: cps/web.py:551 +#: cps/web.py:556 #, python-format msgid "Series: %(serie)s" msgstr "丛书:%(serie)s" -#: cps/web.py:564 +#: cps/web.py:569 #, python-format msgid "Rating: %(rating)s stars" msgstr "评分:%(rating)s 星" -#: cps/web.py:577 +#: cps/web.py:582 #, python-format msgid "File format: %(format)s" msgstr "æ–‡ä»¶æ ¼å¼ï¼š%(format)s" -#: cps/web.py:593 +#: cps/web.py:598 #, python-format msgid "Category: %(name)s" msgstr "分类:%(name)s" -#: cps/web.py:612 +#: cps/web.py:617 #, python-format msgid "Language: %(name)s" msgstr "è¯è¨€ï¼š%(name)s" -#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352 +#: cps/templates/layout.html:56 cps/web.py:717 cps/web.py:1362 msgid "Advanced Search" msgstr "高级æœç´¢" #: cps/templates/book_edit.html:237 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:225 -#: cps/web.py:724 cps/web.py:1060 +#: cps/web.py:730 cps/web.py:1068 msgid "Search" msgstr "æœç´¢" -#: cps/templates/admin.html:16 cps/web.py:877 +#: cps/templates/admin.html:16 cps/web.py:885 msgid "Downloads" msgstr "下载次数" -#: cps/web.py:953 +#: cps/web.py:961 msgid "Ratings list" msgstr "评分列表" -#: cps/web.py:974 +#: cps/web.py:982 msgid "File formats list" msgstr "æ–‡ä»¶æ ¼å¼åˆ—表" -#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039 +#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1047 msgid "Tasks" msgstr "任务列表" -#: cps/web.py:1198 +#: cps/web.py:1206 msgid "Published after " msgstr "出版时间晚于 " -#: cps/web.py:1205 +#: cps/web.py:1213 msgid "Published before " msgstr "出版时间早于 " -#: cps/web.py:1227 +#: cps/web.py:1235 #, python-format msgid "Rating <= %(rating)s" msgstr "评分 <= %(rating)s" -#: cps/web.py:1229 +#: cps/web.py:1237 #, python-format msgid "Rating >= %(rating)s" msgstr "评分 >= %(rating)s" -#: cps/web.py:1231 +#: cps/web.py:1239 #, python-format msgid "Read Status = %(status)s" -msgstr "" +msgstr "é˜…è¯»çŠ¶æ€ = %(status)s" -#: cps/web.py:1334 +#: cps/web.py:1344 msgid "Error on search for custom columns, please restart Calibre-Web" -msgstr "" +msgstr "æœç´¢è‡ªå®šä¹‰åˆ—时出错,请é‡å¯ Calibre-Web" -#: cps/web.py:1429 +#: cps/web.py:1439 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "书ç±å·²ç»æˆåŠŸåŠ å…¥ %(kindlemail)s çš„å‘é€é˜Ÿåˆ—" -#: cps/web.py:1433 +#: cps/web.py:1443 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "糟糕ï¼å‘é€è¿™æœ¬ä¹¦ç±çš„æ—¶å€™å‡ºçŽ°é”™è¯¯ï¼š%(res)s" -#: cps/web.py:1435 +#: cps/web.py:1445 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "请先é…置您的kindle邮箱。" -#: cps/web.py:1452 +#: cps/web.py:1462 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "邮件æœåŠ¡æœªé…置,请è”系网站管ç†å‘˜ï¼" -#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453 -#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489 -#: cps/web.py:1495 +#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1463 +#: cps/web.py:1470 cps/web.py:1476 cps/web.py:1495 cps/web.py:1499 +#: cps/web.py:1505 msgid "Register" msgstr "注册" -#: cps/web.py:1487 +#: cps/web.py:1497 msgid "Your e-mail is not allowed to register" msgstr "您的电å邮件ä¸å…许注册" -#: cps/web.py:1490 +#: cps/web.py:1500 msgid "Confirmation e-mail was send to your e-mail account." msgstr "确认邮件已ç»å‘é€åˆ°æ‚¨çš„邮箱。" -#: cps/web.py:1507 +#: cps/web.py:1517 msgid "Cannot activate LDAP authentication" msgstr "æ— æ³•æ¿€æ´»LDAP认è¯" -#: cps/web.py:1524 +#: cps/web.py:1534 #, python-format -msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" +msgid "" +"Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not" +" known" msgstr "åŽå¤‡ç™»å½•“%(nickname)sâ€ï¼šæ— 法访问LDAPæœåŠ¡å™¨ï¼Œæˆ–ç”¨æˆ·æœªçŸ¥" -#: cps/web.py:1530 +#: cps/web.py:1540 #, python-format msgid "Could not login: %(message)s" msgstr "æ— æ³•ç™»å½•ï¼š%(message)s" -#: cps/web.py:1534 cps/web.py:1558 +#: cps/web.py:1544 cps/web.py:1568 msgid "Wrong Username or Password" msgstr "ç”¨æˆ·åæˆ–密ç 错误" -#: cps/web.py:1541 +#: cps/web.py:1551 msgid "New Password was send to your email address" msgstr "新密ç å·²å‘é€åˆ°æ‚¨çš„邮箱" -#: cps/web.py:1547 +#: cps/web.py:1557 msgid "Please enter valid username to reset password" msgstr "请输入有效的用户å进行密ç é‡ç½®" -#: cps/web.py:1553 +#: cps/web.py:1563 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "您现在已以“%(nickname)sâ€ç™»å½•" -#: cps/web.py:1609 cps/web.py:1656 +#: cps/web.py:1622 cps/web.py:1671 #, python-format msgid "%(name)s's profile" msgstr "%(name)s 的用户é…ç½®" -#: cps/web.py:1623 +#: cps/web.py:1638 msgid "Profile updated" msgstr "资料已更新" -#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692 -#: cps/web.py:1699 cps/web.py:1704 -msgid "Read a Book" -msgstr "阅读一本书" - #: cps/services/gmail.py:41 msgid "Found no valid gmail.json file with OAuth information" msgstr "" @@ -1412,7 +1444,7 @@ msgstr "å‘件人邮箱" #: cps/templates/admin.html:84 msgid "E-Mail Service" -msgstr "" +msgstr "电å邮件æœåŠ¡" #: cps/templates/admin.html:85 msgid "Gmail via Oauth2" @@ -1543,7 +1575,7 @@ msgstr "确定" #: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96 -#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137 +#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136 msgid "Cancel" msgstr "å–æ¶ˆ" @@ -1680,7 +1712,9 @@ msgid "Rating" msgstr "评分" #: cps/templates/book_edit.html:102 -msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" +msgid "" +"Fetch Cover from URL (JPEG - Image will be downloaded and stored in " +"database)" msgstr "从URL获å–å°é¢ï¼ˆJPEG - 图片将下载并å˜å‚¨åœ¨æ•°æ®åº“ä¸ï¼‰" #: cps/templates/book_edit.html:106 @@ -1727,7 +1761,7 @@ msgstr "获å–元数æ®" #: cps/templates/book_edit.html:214 cps/templates/config_db.html:52 #: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150 #: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24 -#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135 +#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134 msgid "Save" msgstr "ä¿å˜" @@ -1777,11 +1811,11 @@ msgstr "åˆå¹¶é€‰ä¸çš„书ç±" #: cps/templates/book_table.html:25 cps/templates/user_table.html:122 msgid "Remove Selections" -msgstr "åˆ é™¤é€‰ä¸çš„书ç±" +msgstr "åˆ é™¤æ‰€é€‰é¡¹" #: cps/templates/book_table.html:28 msgid "Exchange author and title" -msgstr "" +msgstr "交æ¢ä½œè€…å’Œæ ‡é¢˜" #: cps/templates/book_table.html:34 msgid "Update Title Sort automatically" @@ -2035,7 +2069,9 @@ msgid "SSL" msgstr "SSLåè®®" #: cps/templates/config_edit.html:201 -msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" +msgid "" +"LDAP CACertificate Path (Only needed for Client Certificate " +"Authentication)" msgstr "" #: cps/templates/config_edit.html:208 @@ -2193,35 +2229,35 @@ msgstr "按规则æå–书ååŽæŽ’åºï¼ˆæ£åˆ™è¡¨è¾¾å¼ï¼‰" msgid "Default Settings for New Users" msgstr "新用户默认æƒé™è®¾ç½®" -#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93 +#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92 msgid "Admin User" msgstr "管ç†å‘˜ç”¨æˆ·" -#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98 +#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97 msgid "Allow Downloads" msgstr "å…许下载书ç±" -#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102 +#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101 msgid "Allow eBook Viewer" msgstr "å…许在线阅读" -#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106 +#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105 msgid "Allow Uploads" msgstr "å…è®¸ä¸Šä¼ ä¹¦ç±" -#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110 +#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109 msgid "Allow Edit" msgstr "å…许编辑书ç±" -#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114 +#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113 msgid "Allow Delete Books" msgstr "å…è®¸åˆ é™¤ä¹¦ç±" -#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119 +#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118 msgid "Allow Changing Password" msgstr "å…许修改密ç " -#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123 +#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122 msgid "Allow Editing Public Shelves" msgstr "å…许编辑公共书架" @@ -2229,12 +2265,12 @@ msgstr "å…许编辑公共书架" msgid "Default Visibilities for New Users" msgstr "新用户默认显示æƒé™" -#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81 +#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80 #: cps/templates/user_table.html:152 msgid "Show Random Books in Detail View" msgstr "åœ¨ä¸»é¡µæ˜¾ç¤ºéšæœºä¹¦ç±" -#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84 +#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83 msgid "Add Allowed/Denied Tags" msgstr "æ·»åŠ æ˜¾ç¤ºæˆ–éšè—书ç±çš„æ ‡ç¾å€¼" @@ -2314,11 +2350,11 @@ msgstr "ä½¿ç”¨æ ‡å‡†ç”µå邮件账å·" #: cps/templates/email_edit.html:15 msgid "Gmail Account with OAuth2 Verification" -msgstr "" +msgstr "使用Gmailè´¦å·" #: cps/templates/email_edit.html:21 msgid "Setup Gmail Account as E-Mail Server" -msgstr "" +msgstr "设置Gmailè´¦å·ä½œä¸ºç”µå邮件æœåŠ¡" #: cps/templates/email_edit.html:23 msgid "Revoke Gmail Access" @@ -2393,25 +2429,25 @@ msgstr "回到首页" #: cps/templates/http_error.html:50 msgid "Logout User" -msgstr "" +msgstr "登出账å·" #: cps/templates/index.html:72 cps/templates/search.html:33 #: cps/templates/shelf.html:20 msgid "Sort authors in alphabetical order" -msgstr "" +msgstr "æŒ‰ä½œè€…å—æ¯é¡ºåºæŽ’åº" #: cps/templates/index.html:73 cps/templates/search.html:34 #: cps/templates/shelf.html:21 msgid "Sort authors in reverse alphabetical order" -msgstr "" +msgstr "æŒ‰ä½œè€…é€†å—æ¯é¡ºåºæŽ’åº" #: cps/templates/index.html:77 msgid "Sort ascending according to series index" -msgstr "" +msgstr "æŒ‰ä¸›ä¹¦ç¼–å·æŽ’åº" #: cps/templates/index.html:78 msgid "Sort descending according to series index" -msgstr "" +msgstr "按丛书编å·é€†æŽ’åº" #: cps/templates/index.xml:6 msgid "Start" @@ -2569,11 +2605,11 @@ msgstr "显示访问日志: " #: cps/templates/logviewer.html:18 msgid "Download Calibre-Web Log" -msgstr "" +msgstr "下载Calibre-Web日志" #: cps/templates/logviewer.html:21 msgid "Download Access Log" -msgstr "" +msgstr "下载访问日志" #: cps/templates/modal_dialogs.html:6 msgid "Select Allowed/Denied Tags" @@ -2616,7 +2652,9 @@ msgid "Important Kobo Note: deleted books will remain on any paired Kobo device. msgstr "Kobo é‡è¦è¯´æ˜Žï¼šè¢«åˆ 除的书ç±å°†ä¿ç•™åœ¨ä»»ä½•é…对的 Kobo 设备上。" #: cps/templates/modal_dialogs.html:57 -msgid "Books must first be archived and the device synced before a book can safely be deleted." +msgid "" +"Books must first be archived and the device synced before a book can " +"safely be deleted." msgstr "必须先将书ç±å˜æ¡£å¹¶åŒæ¥è®¾å¤‡ï¼Œç„¶åŽæ‰èƒ½å®‰å…¨åœ°åˆ 除书ç±ã€‚" #: cps/templates/modal_dialogs.html:76 @@ -2652,10 +2690,20 @@ msgstr "丛书编å·" msgid "Calibre-Web eBook Catalog" msgstr "Caliebre-Web电å书路径" +#: cps/templates/read.html:6 +#, fuzzy +msgid "epub Reader" +msgstr "epub阅读器" + #: cps/templates/read.html:74 msgid "Reflow text when sidebars are open." msgstr "æ‰“å¼€ä¾§æ æ—¶é‡æŽ’文本。" +#: cps/templates/readcbr.html:7 +#, fuzzy +msgid "Comic Reader" +msgstr "Comic阅读器" + #: cps/templates/readcbr.html:89 msgid "Keyboard Shortcuts" msgstr "å¿«æ·é”®" @@ -2754,31 +2802,38 @@ msgstr "从å³åˆ°å·¦" #: cps/templates/readcbr.html:165 msgid "Reset to Top" -msgstr "" +msgstr "é‡ç½®ä¸ºé¡¶éƒ¨" #: cps/templates/readcbr.html:166 msgid "Remember Position" -msgstr "" +msgstr "è®°ä½ä½ç½®" #: cps/templates/readcbr.html:171 msgid "Scrollbar" -msgstr "" +msgstr "工具æ " #: cps/templates/readcbr.html:174 msgid "Show" -msgstr "" +msgstr "显示" #: cps/templates/readcbr.html:175 msgid "Hide" -msgstr "" +msgstr "éšè—" + +#: cps/templates/readdjvu.html:10 +#, fuzzy +msgid "DJVU Reader" +msgstr "DJVU阅读器" #: cps/templates/readpdf.html:29 -msgid "PDF reader" +#, fuzzy +msgid "PDF Reader" msgstr "PDF阅读器" #: cps/templates/readtxt.html:6 -msgid "Basic txt Reader" -msgstr "基础文本阅读器" +#, fuzzy +msgid "txt Reader" +msgstr "txt阅读器" #: cps/templates/register.html:4 msgid "Register New Account" @@ -2882,19 +2937,19 @@ msgstr "编辑书架属性" #: cps/templates/shelf.html:13 msgid "Arrange books manually" -msgstr "" +msgstr "æ‰‹åŠ¨æŽ’åˆ—ä¹¦ç±æŽ’åˆ—é¡ºåº" #: cps/templates/shelf.html:14 msgid "Disable Change order" -msgstr "" +msgstr "ç¦æ¢æ”¹å˜é¡ºåº" #: cps/templates/shelf.html:14 msgid "Enable Change order" -msgstr "" +msgstr "å…许改å˜é¡ºåº" #: cps/templates/shelf.html:93 msgid "Shelf will be deleted for all users" -msgstr "ä¹¦æž¶å°†ä¼šé‡æ‰€æœ‰ç”¨æˆ·ä¸åˆ 除" +msgstr "书架将会从所有用户ä¸åˆ 除" #: cps/templates/shelf_edit.html:13 msgid "Share with Everyone" @@ -2902,7 +2957,7 @@ msgstr "书架将被公开" #: cps/templates/shelf_edit.html:20 msgid "Sync this shelf with Kobo device" -msgstr "" +msgstr "åŒæ¥è¿™ä¸ªä¹¦æž¶åˆ° Kobo device" #: cps/templates/shelf_order.html:5 msgid "Drag to Rearrange Order" @@ -3004,15 +3059,15 @@ msgstr "Kobo åŒæ¥ Token" msgid "Create/View" msgstr "新建或查看" -#: cps/templates/user_edit.html:85 +#: cps/templates/user_edit.html:84 msgid "Add allowed/Denied Custom Column Values" msgstr "æ·»åŠ æ˜¾ç¤ºæˆ–éšè—书ç±çš„自定义æ 目值" -#: cps/templates/user_edit.html:130 +#: cps/templates/user_edit.html:129 msgid "Sync only books in selected shelves with Kobo" -msgstr "" +msgstr "ä»…åŒæ¥æ‰€é€‰ä¹¦æž¶ä¸çš„书ç±åˆ° Kobo" -#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167 +#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167 msgid "Delete User" msgstr "åˆ é™¤æ¤ç”¨æˆ·" @@ -3050,7 +3105,7 @@ msgstr "本地化" #: cps/templates/user_table.html:136 msgid "Visible Book Languages" -msgstr "" +msgstr "å¯è§æ•°æ®è¯è¨€" #: cps/templates/user_table.html:137 msgid "Edit Allowed Tags" @@ -3094,7 +3149,7 @@ msgstr "修改密ç " #: cps/templates/user_table.html:145 msgid "View" -msgstr "" +msgstr "查看书ç±" #: cps/templates/user_table.html:148 #, fuzzy @@ -3103,7 +3158,7 @@ msgstr "编辑公共书架" #: cps/templates/user_table.html:150 msgid "Sync Selected Shelves with Kobo" -msgstr "" +msgstr "åŒæ¥æ‰€é€‰ä¹¦æž¶åˆ° Kobo" #: cps/templates/user_table.html:154 msgid "Show read/unread selection" @@ -3113,3 +3168,8 @@ msgstr "显示已读/未读选择" msgid "Show random books" msgstr "æ˜¾ç¤ºéšæœºä¹¦ç±" +#~ msgid "Read a Book" +#~ msgstr "阅读一本书" + +#~ msgid "Basic txt Reader" +#~ msgstr "基础文本阅读器" diff --git a/messages.pot b/messages.pot index b33020b1..ad01b68d 100644 --- a/messages.pot +++ b/messages.pot @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2021-06-29 18:30+0200\n" +"POT-Creation-Date: 2021-07-29 13:45+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.0\n" +"Generated-By: Babel 2.9.1\n" #: cps/about.py:43 cps/about.py:59 msgid "installed" @@ -29,277 +29,289 @@ msgstr "" msgid "Statistics" msgstr "" -#: cps/admin.py:142 +#: cps/admin.py:141 msgid "Server restarted, please reload page" msgstr "" -#: cps/admin.py:144 +#: cps/admin.py:143 msgid "Performing shutdown of server, please close window" msgstr "" -#: cps/admin.py:152 +#: cps/admin.py:151 msgid "Reconnect successful" msgstr "" -#: cps/admin.py:155 +#: cps/admin.py:154 msgid "Unknown command" msgstr "" -#: cps/admin.py:165 cps/editbooks.py:687 cps/editbooks.py:701 +#: cps/admin.py:164 cps/editbooks.py:687 cps/editbooks.py:701 #: cps/editbooks.py:840 cps/editbooks.py:842 cps/editbooks.py:869 #: cps/editbooks.py:885 cps/updater.py:555 cps/uploader.py:94 #: cps/uploader.py:104 msgid "Unknown" msgstr "" -#: cps/admin.py:186 +#: cps/admin.py:185 msgid "Admin page" msgstr "" -#: cps/admin.py:205 +#: cps/admin.py:204 msgid "Basic Configuration" msgstr "" -#: cps/admin.py:238 +#: cps/admin.py:237 msgid "UI Configuration" msgstr "" -#: cps/admin.py:271 cps/templates/admin.html:46 +#: cps/admin.py:270 cps/templates/admin.html:46 msgid "Edit Users" msgstr "" -#: cps/admin.py:312 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 +#: cps/admin.py:311 cps/opds.py:110 cps/opds.py:199 cps/opds.py:276 #: cps/opds.py:328 cps/templates/grid.html:14 cps/templates/list.html:14 msgid "All" msgstr "" -#: cps/admin.py:337 cps/admin.py:1550 +#: cps/admin.py:336 cps/admin.py:1557 msgid "User not found" msgstr "" -#: cps/admin.py:351 +#: cps/admin.py:350 msgid "{} users deleted successfully" msgstr "" -#: cps/admin.py:373 cps/templates/user_edit.html:44 +#: cps/admin.py:372 cps/templates/user_edit.html:44 #: cps/templates/user_table.html:80 msgid "Show All" msgstr "" -#: cps/admin.py:394 cps/admin.py:400 +#: cps/admin.py:393 cps/admin.py:399 msgid "Malformed request" msgstr "" -#: cps/admin.py:412 cps/admin.py:1432 +#: cps/admin.py:411 cps/admin.py:1439 msgid "Guest Name can't be changed" msgstr "" -#: cps/admin.py:424 +#: cps/admin.py:423 msgid "Guest can't have this role" msgstr "" -#: cps/admin.py:436 cps/admin.py:1395 +#: cps/admin.py:435 cps/admin.py:1402 msgid "No admin user remaining, can't remove admin role" msgstr "" -#: cps/admin.py:440 cps/admin.py:454 +#: cps/admin.py:439 cps/admin.py:453 msgid "Value has to be true or false" msgstr "" -#: cps/admin.py:442 +#: cps/admin.py:441 msgid "Invalid role" msgstr "" -#: cps/admin.py:446 +#: cps/admin.py:445 msgid "Guest can't have this view" msgstr "" -#: cps/admin.py:456 +#: cps/admin.py:455 msgid "Invalid view" msgstr "" -#: cps/admin.py:459 +#: cps/admin.py:458 msgid "Guest's Locale is determined automatically and can't be set" msgstr "" -#: cps/admin.py:463 +#: cps/admin.py:462 msgid "No Valid Locale Given" msgstr "" -#: cps/admin.py:474 +#: cps/admin.py:473 msgid "No Valid Book Language Given" msgstr "" -#: cps/admin.py:476 +#: cps/admin.py:475 msgid "Parameter not found" msgstr "" -#: cps/admin.py:531 +#: cps/admin.py:530 msgid "Invalid Read Column" msgstr "" -#: cps/admin.py:537 +#: cps/admin.py:536 msgid "Invalid Restricted Column" msgstr "" -#: cps/admin.py:556 cps/admin.py:1288 +#: cps/admin.py:555 cps/admin.py:1287 msgid "Calibre-Web configuration updated" msgstr "" -#: cps/admin.py:568 +#: cps/admin.py:567 msgid "Do you really want to delete the Kobo Token?" msgstr "" -#: cps/admin.py:570 +#: cps/admin.py:569 msgid "Do you really want to delete this domain?" msgstr "" -#: cps/admin.py:572 +#: cps/admin.py:571 msgid "Do you really want to delete this user?" msgstr "" -#: cps/admin.py:574 cps/templates/shelf.html:90 +#: cps/admin.py:573 cps/templates/shelf.html:90 msgid "Are you sure you want to delete this shelf?" msgstr "" -#: cps/admin.py:576 +#: cps/admin.py:575 msgid "Are you sure you want to change locales of selected user(s)?" msgstr "" -#: cps/admin.py:578 -msgid "Are you sure you want to change visible book languages for selected user(s)?" +#: cps/admin.py:577 +msgid "" +"Are you sure you want to change visible book languages for selected " +"user(s)?" msgstr "" -#: cps/admin.py:580 -msgid "Are you sure you want to change the selected role for the selected user(s)?" +#: cps/admin.py:579 +msgid "" +"Are you sure you want to change the selected role for the selected " +"user(s)?" msgstr "" -#: cps/admin.py:582 -msgid "Are you sure you want to change the selected restrictions for the selected user(s)?" +#: cps/admin.py:581 +msgid "" +"Are you sure you want to change the selected restrictions for the " +"selected user(s)?" msgstr "" -#: cps/admin.py:584 -msgid "Are you sure you want to change the selected visibility restrictions for the selected user(s)?" +#: cps/admin.py:583 +msgid "" +"Are you sure you want to change the selected visibility restrictions for " +"the selected user(s)?" msgstr "" -#: cps/admin.py:586 -msgid "Are you sure you want to change shelf sync behavior for the selected user(s)?" +#: cps/admin.py:585 +msgid "" +"Are you sure you want to change shelf sync behavior for the selected " +"user(s)?" msgstr "" -#: cps/admin.py:588 +#: cps/admin.py:587 msgid "Are you sure you want to change Calibre library location?" msgstr "" -#: cps/admin.py:737 +#: cps/admin.py:736 msgid "Tag not found" msgstr "" -#: cps/admin.py:749 +#: cps/admin.py:748 msgid "Invalid Action" msgstr "" -#: cps/admin.py:854 cps/admin.py:860 cps/admin.py:870 cps/admin.py:880 +#: cps/admin.py:853 cps/admin.py:859 cps/admin.py:869 cps/admin.py:879 #: cps/templates/modal_dialogs.html:29 cps/templates/user_table.html:40 #: cps/templates/user_table.html:57 msgid "Deny" msgstr "" -#: cps/admin.py:856 cps/admin.py:862 cps/admin.py:872 cps/admin.py:882 +#: cps/admin.py:855 cps/admin.py:861 cps/admin.py:871 cps/admin.py:881 #: cps/templates/modal_dialogs.html:28 cps/templates/user_table.html:43 #: cps/templates/user_table.html:60 msgid "Allow" msgstr "" -#: cps/admin.py:1011 +#: cps/admin.py:1010 msgid "client_secrets.json Is Not Configured For Web Application" msgstr "" -#: cps/admin.py:1056 +#: cps/admin.py:1055 msgid "Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1062 +#: cps/admin.py:1061 msgid "Access Logfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1092 +#: cps/admin.py:1091 msgid "Please Enter a LDAP Provider, Port, DN and User Object Identifier" msgstr "" -#: cps/admin.py:1098 +#: cps/admin.py:1097 msgid "Please Enter a LDAP Service Account and Password" msgstr "" -#: cps/admin.py:1101 +#: cps/admin.py:1100 msgid "Please Enter a LDAP Service Account" msgstr "" -#: cps/admin.py:1106 +#: cps/admin.py:1105 #, python-format msgid "LDAP Group Object Filter Needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1108 +#: cps/admin.py:1107 msgid "LDAP Group Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1112 +#: cps/admin.py:1111 #, python-format msgid "LDAP User Object Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1114 +#: cps/admin.py:1113 msgid "LDAP User Object Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1121 +#: cps/admin.py:1120 #, python-format msgid "LDAP Member User Filter needs to Have One \"%s\" Format Identifier" msgstr "" -#: cps/admin.py:1123 +#: cps/admin.py:1122 msgid "LDAP Member User Filter Has Unmatched Parenthesis" msgstr "" -#: cps/admin.py:1130 -msgid "LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path" +#: cps/admin.py:1129 +msgid "" +"LDAP CACertificate, Certificate or Key Location is not Valid, Please " +"Enter Correct Path" msgstr "" -#: cps/admin.py:1172 cps/admin.py:1273 cps/admin.py:1365 cps/admin.py:1459 -#: cps/admin.py:1525 cps/shelf.py:103 cps/shelf.py:163 cps/shelf.py:206 -#: cps/shelf.py:270 cps/shelf.py:331 cps/shelf.py:366 cps/shelf.py:437 +#: cps/admin.py:1171 cps/admin.py:1272 cps/admin.py:1365 cps/admin.py:1466 +#: cps/admin.py:1532 cps/shelf.py:102 cps/shelf.py:162 cps/shelf.py:205 +#: cps/shelf.py:272 cps/shelf.py:333 cps/shelf.py:368 cps/shelf.py:443 msgid "Settings DB is not Writeable" msgstr "" -#: cps/admin.py:1183 +#: cps/admin.py:1182 msgid "DB Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1188 +#: cps/admin.py:1187 msgid "DB is not Writeable" msgstr "" -#: cps/admin.py:1201 +#: cps/admin.py:1200 msgid "Keyfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1205 +#: cps/admin.py:1204 msgid "Certfile Location is not Valid, Please Enter Correct Path" msgstr "" -#: cps/admin.py:1317 +#: cps/admin.py:1316 msgid "Database Configuration" msgstr "" -#: cps/admin.py:1333 cps/web.py:1459 +#: cps/admin.py:1332 cps/web.py:1469 msgid "Please fill out all fields!" msgstr "" -#: cps/admin.py:1341 +#: cps/admin.py:1340 msgid "E-mail is not from valid domain" msgstr "" -#: cps/admin.py:1345 cps/admin.py:1478 +#: cps/admin.py:1344 cps/admin.py:1485 msgid "Add new user" msgstr "" @@ -312,143 +324,143 @@ msgstr "" msgid "Found an existing account for this e-mail address or name." msgstr "" -#: cps/admin.py:1374 +#: cps/admin.py:1381 #, python-format msgid "User '%(nick)s' deleted" msgstr "" -#: cps/admin.py:1376 cps/admin.py:1377 +#: cps/admin.py:1383 cps/admin.py:1384 msgid "Can't delete Guest User" msgstr "" -#: cps/admin.py:1380 +#: cps/admin.py:1387 msgid "No admin user remaining, can't delete user" msgstr "" -#: cps/admin.py:1447 cps/admin.py:1568 +#: cps/admin.py:1454 cps/admin.py:1575 #, python-format msgid "Edit User %(nick)s" msgstr "" -#: cps/admin.py:1451 +#: cps/admin.py:1458 #, python-format msgid "User '%(nick)s' updated" msgstr "" -#: cps/admin.py:1455 cps/admin.py:1583 cps/web.py:1484 cps/web.py:1545 +#: cps/admin.py:1462 cps/admin.py:1590 cps/web.py:1494 cps/web.py:1555 msgid "An unknown error occurred. Please try again later." msgstr "" -#: cps/admin.py:1487 cps/templates/admin.html:94 +#: cps/admin.py:1494 cps/templates/admin.html:94 msgid "Edit E-mail Server Settings" msgstr "" -#: cps/admin.py:1506 +#: cps/admin.py:1513 msgid "Gmail Account Verification Successful" msgstr "" -#: cps/admin.py:1532 +#: cps/admin.py:1539 #, python-format msgid "Test e-mail queued for sending to %(email)s, please check Tasks for result" msgstr "" -#: cps/admin.py:1535 +#: cps/admin.py:1542 #, python-format msgid "There was an error sending the Test e-mail: %(res)s" msgstr "" -#: cps/admin.py:1537 +#: cps/admin.py:1544 msgid "Please configure your e-mail address first..." msgstr "" -#: cps/admin.py:1539 +#: cps/admin.py:1546 msgid "E-mail server settings updated" msgstr "" -#: cps/admin.py:1580 +#: cps/admin.py:1587 #, python-format msgid "Password for user %(user)s reset" msgstr "" -#: cps/admin.py:1586 cps/web.py:1424 +#: cps/admin.py:1593 cps/web.py:1434 msgid "Please configure the SMTP mail settings first..." msgstr "" -#: cps/admin.py:1597 +#: cps/admin.py:1604 msgid "Logfile viewer" msgstr "" -#: cps/admin.py:1663 +#: cps/admin.py:1670 msgid "Requesting update package" msgstr "" -#: cps/admin.py:1664 +#: cps/admin.py:1671 msgid "Downloading update package" msgstr "" -#: cps/admin.py:1665 +#: cps/admin.py:1672 msgid "Unzipping update package" msgstr "" -#: cps/admin.py:1666 +#: cps/admin.py:1673 msgid "Replacing files" msgstr "" -#: cps/admin.py:1667 +#: cps/admin.py:1674 msgid "Database connections are closed" msgstr "" -#: cps/admin.py:1668 +#: cps/admin.py:1675 msgid "Stopping server" msgstr "" -#: cps/admin.py:1669 +#: cps/admin.py:1676 msgid "Update finished, please press okay and reload page" msgstr "" -#: cps/admin.py:1670 cps/admin.py:1671 cps/admin.py:1672 cps/admin.py:1673 -#: cps/admin.py:1674 +#: cps/admin.py:1677 cps/admin.py:1678 cps/admin.py:1679 cps/admin.py:1680 +#: cps/admin.py:1681 msgid "Update failed:" msgstr "" -#: cps/admin.py:1670 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568 +#: cps/admin.py:1677 cps/updater.py:356 cps/updater.py:566 cps/updater.py:568 msgid "HTTP Error" msgstr "" -#: cps/admin.py:1671 cps/updater.py:358 cps/updater.py:570 +#: cps/admin.py:1678 cps/updater.py:358 cps/updater.py:570 msgid "Connection error" msgstr "" -#: cps/admin.py:1672 cps/updater.py:360 cps/updater.py:572 +#: cps/admin.py:1679 cps/updater.py:360 cps/updater.py:572 msgid "Timeout while establishing connection" msgstr "" -#: cps/admin.py:1673 cps/updater.py:362 cps/updater.py:574 +#: cps/admin.py:1680 cps/updater.py:362 cps/updater.py:574 msgid "General error" msgstr "" -#: cps/admin.py:1674 +#: cps/admin.py:1681 msgid "Update File Could Not be Saved in Temp Dir" msgstr "" -#: cps/admin.py:1735 +#: cps/admin.py:1742 msgid "Failed to Create at Least One LDAP User" msgstr "" -#: cps/admin.py:1748 +#: cps/admin.py:1755 #, python-format msgid "Error: %(ldaperror)s" msgstr "" -#: cps/admin.py:1752 +#: cps/admin.py:1759 msgid "Error: No user returned in response of LDAP server" msgstr "" -#: cps/admin.py:1785 +#: cps/admin.py:1792 msgid "At Least One LDAP User Not Found in Database" msgstr "" -#: cps/admin.py:1787 +#: cps/admin.py:1794 msgid "{} User Successfully Imported" msgstr "" @@ -460,7 +472,7 @@ msgstr "" msgid "Execution permissions missing" msgstr "" -#: cps/db.py:651 cps/web.py:642 cps/web.py:1138 +#: cps/db.py:651 cps/web.py:647 cps/web.py:1146 #, python-format msgid "Custom Column No.%(column)d is not existing in calibre database" msgstr "" @@ -473,9 +485,11 @@ msgstr "" msgid "Book Successfully Deleted" msgstr "" -#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:509 cps/web.py:1671 -#: cps/web.py:1707 cps/web.py:1778 -msgid "Oops! Selected book title is unavailable. File does not exist or is not accessible" +#: cps/editbooks.py:370 cps/editbooks.py:743 cps/web.py:512 cps/web.py:1686 +#: cps/web.py:1727 cps/web.py:1798 +msgid "" +"Oops! Selected book title is unavailable. File does not exist or is not " +"accessible" msgstr "" #: cps/editbooks.py:404 @@ -511,7 +525,7 @@ msgstr "" msgid "Failed to store file %(file)s." msgstr "" -#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1632 +#: cps/editbooks.py:653 cps/editbooks.py:1046 cps/web.py:1647 #, python-format msgid "Database error: %(error)s." msgstr "" @@ -534,7 +548,9 @@ msgid "Error editing book, please check logfile for details" msgstr "" #: cps/editbooks.py:873 -msgid "Uploaded book probably exists in the library, consider to change before upload new: " +msgid "" +"Uploaded book probably exists in the library, consider to change before " +"upload new: " msgstr "" #: cps/editbooks.py:967 @@ -567,11 +583,15 @@ msgid "There was an error converting this book: %(res)s" msgstr "" #: cps/gdrive.py:60 -msgid "Google Drive setup not completed, try to deactivate and activate Google Drive again" +msgid "" +"Google Drive setup not completed, try to deactivate and activate Google " +"Drive again" msgstr "" #: cps/gdrive.py:97 -msgid "Callback domain is not verified, please follow steps to verify domain in google developer console" +msgid "" +"Callback domain is not verified, please follow steps to verify domain in " +"google developer console" msgstr "" #: cps/helper.py:80 @@ -644,68 +664,70 @@ msgstr "" msgid "Deleting book %(id)s failed: %(message)s" msgstr "" -#: cps/helper.py:334 +#: cps/helper.py:335 #, python-format -msgid "Deleting book %(id)s, book path not valid: %(path)s" +msgid "" +"Deleting book %(id)s from database only, book path in database not valid:" +" %(path)s" msgstr "" -#: cps/helper.py:389 +#: cps/helper.py:390 #, python-format msgid "Rename title from: '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:404 +#: cps/helper.py:405 #, python-format msgid "Rename file in path '%(src)s' to '%(dest)s' failed with error: %(error)s" msgstr "" -#: cps/helper.py:429 cps/helper.py:439 cps/helper.py:447 +#: cps/helper.py:430 cps/helper.py:440 cps/helper.py:448 #, python-format msgid "File %(file)s not found on Google Drive" msgstr "" -#: cps/helper.py:468 +#: cps/helper.py:469 #, python-format msgid "Book path %(path)s not found on Google Drive" msgstr "" -#: cps/helper.py:511 cps/web.py:1627 +#: cps/helper.py:512 cps/web.py:1642 msgid "Found an existing account for this e-mail address" msgstr "" -#: cps/helper.py:519 +#: cps/helper.py:520 msgid "This username is already taken" msgstr "" -#: cps/helper.py:529 +#: cps/helper.py:530 msgid "Invalid e-mail address format" msgstr "" -#: cps/helper.py:602 +#: cps/helper.py:603 msgid "Error Downloading Cover" msgstr "" -#: cps/helper.py:605 +#: cps/helper.py:606 msgid "Cover Format Error" msgstr "" -#: cps/helper.py:615 +#: cps/helper.py:616 msgid "Failed to create path for cover" msgstr "" -#: cps/helper.py:631 +#: cps/helper.py:632 msgid "Cover-file is not a valid image file, or could not be stored" msgstr "" -#: cps/helper.py:642 +#: cps/helper.py:643 msgid "Only jpg/jpeg/png/webp/bmp files are supported as coverfile" msgstr "" -#: cps/helper.py:655 +#: cps/helper.py:656 msgid "Only jpg/jpeg files are supported as coverfile" msgstr "" -#: cps/helper.py:707 +#: cps/helper.py:708 msgid "Unrar binary file not found" msgstr "" @@ -734,7 +756,9 @@ msgid "Unknown Status" msgstr "" #: cps/kobo_auth.py:131 -msgid "PLease access calibre-web from non localhost to get valid api_endpoint for kobo device" +msgid "" +"PLease access calibre-web from non localhost to get valid api_endpoint " +"for kobo device" msgstr "" #: cps/kobo_auth.py:134 cps/kobo_auth.py:162 @@ -746,7 +770,7 @@ msgstr "" msgid "Register with %(provider)s" msgstr "" -#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1517 +#: cps/oauth_bb.py:139 cps/remotelogin.py:133 cps/web.py:1527 #, python-format msgid "you are now logged in as: '%(nickname)s'" msgstr "" @@ -812,7 +836,7 @@ msgid "{} Stars" msgstr "" #: cps/remotelogin.py:65 cps/templates/layout.html:85 -#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1564 +#: cps/templates/login.html:4 cps/templates/login.html:20 cps/web.py:1574 msgid "Login" msgstr "" @@ -828,7 +852,7 @@ msgstr "" msgid "Success! Please return to your device" msgstr "" -#: cps/render_template.py:39 cps/web.py:415 +#: cps/render_template.py:39 cps/web.py:418 msgid "Books" msgstr "" @@ -853,7 +877,7 @@ msgstr "" msgid "Show Downloaded Books" msgstr "" -#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:425 +#: cps/render_template.py:56 cps/templates/index.xml:32 cps/web.py:428 msgid "Top Rated Books" msgstr "" @@ -862,7 +886,7 @@ msgid "Show Top Rated Books" msgstr "" #: cps/render_template.py:59 cps/templates/index.xml:54 -#: cps/templates/index.xml:58 cps/web.py:651 +#: cps/templates/index.xml:58 cps/web.py:656 msgid "Read Books" msgstr "" @@ -871,7 +895,7 @@ msgid "Show read and unread" msgstr "" #: cps/render_template.py:63 cps/templates/index.xml:61 -#: cps/templates/index.xml:65 cps/web.py:654 +#: cps/templates/index.xml:65 cps/web.py:659 msgid "Unread Books" msgstr "" @@ -889,7 +913,7 @@ msgid "Show Random Books" msgstr "" #: cps/render_template.py:69 cps/templates/book_table.html:54 -#: cps/templates/index.xml:83 cps/web.py:1025 +#: cps/templates/index.xml:83 cps/web.py:1033 msgid "Categories" msgstr "" @@ -899,7 +923,7 @@ msgstr "" #: cps/render_template.py:72 cps/templates/book_edit.html:88 #: cps/templates/book_table.html:55 cps/templates/index.xml:90 -#: cps/templates/search_form.html:68 cps/web.py:922 cps/web.py:932 +#: cps/templates/search_form.html:68 cps/web.py:930 cps/web.py:940 msgid "Series" msgstr "" @@ -917,7 +941,7 @@ msgid "Show author selection" msgstr "" #: cps/render_template.py:79 cps/templates/book_table.html:59 -#: cps/templates/index.xml:76 cps/web.py:899 +#: cps/templates/index.xml:76 cps/web.py:907 msgid "Publishers" msgstr "" @@ -927,7 +951,7 @@ msgstr "" #: cps/render_template.py:82 cps/templates/book_table.html:57 #: cps/templates/index.xml:97 cps/templates/search_form.html:106 -#: cps/web.py:1002 +#: cps/web.py:1010 msgid "Languages" msgstr "" @@ -951,7 +975,7 @@ msgstr "" msgid "Show file formats selection" msgstr "" -#: cps/render_template.py:93 cps/web.py:678 +#: cps/render_template.py:93 cps/web.py:683 msgid "Archived Books" msgstr "" @@ -959,7 +983,7 @@ msgstr "" msgid "Show archived books" msgstr "" -#: cps/render_template.py:97 cps/web.py:752 +#: cps/render_template.py:97 cps/web.py:758 msgid "Books List" msgstr "" @@ -967,98 +991,101 @@ msgstr "" msgid "Show Books List" msgstr "" -#: cps/shelf.py:69 cps/shelf.py:124 +#: cps/shelf.py:69 cps/shelf.py:123 msgid "Invalid shelf specified" msgstr "" #: cps/shelf.py:75 -#, python-format -msgid "Sorry you are not allowed to add a book to the the shelf: %(shelfname)s" +msgid "Sorry you are not allowed to add a book to that shelf" msgstr "" -#: cps/shelf.py:85 +#: cps/shelf.py:84 #, python-format msgid "Book is already part of the shelf: %(shelfname)s" msgstr "" -#: cps/shelf.py:110 +#: cps/shelf.py:109 #, python-format msgid "Book has been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:129 +#: cps/shelf.py:128 #, python-format msgid "You are not allowed to add a book to the the shelf: %(name)s" msgstr "" -#: cps/shelf.py:147 +#: cps/shelf.py:146 #, python-format msgid "Books are already part of the shelf: %(name)s" msgstr "" -#: cps/shelf.py:159 +#: cps/shelf.py:158 #, python-format msgid "Books have been added to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:166 +#: cps/shelf.py:165 #, python-format msgid "Could not add books to shelf: %(sname)s" msgstr "" -#: cps/shelf.py:212 +#: cps/shelf.py:211 #, python-format msgid "Book has been removed from shelf: %(sname)s" msgstr "" -#: cps/shelf.py:221 +#: cps/shelf.py:220 #, python-format msgid "Sorry you are not allowed to remove a book from this shelf: %(sname)s" msgstr "" -#: cps/shelf.py:231 cps/templates/layout.html:141 +#: cps/shelf.py:230 cps/templates/layout.html:141 msgid "Create a Shelf" msgstr "" #: cps/shelf.py:238 +msgid "Sorry you are not allowed to edit this shelf" +msgstr "" + +#: cps/shelf.py:240 msgid "Edit a shelf" msgstr "" -#: cps/shelf.py:257 +#: cps/shelf.py:259 #, python-format msgid "Shelf %(title)s created" msgstr "" -#: cps/shelf.py:260 +#: cps/shelf.py:262 #, python-format msgid "Shelf %(title)s changed" msgstr "" -#: cps/shelf.py:274 +#: cps/shelf.py:276 msgid "There was an error" msgstr "" -#: cps/shelf.py:296 +#: cps/shelf.py:298 #, python-format msgid "A public shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:307 +#: cps/shelf.py:309 #, python-format msgid "A private shelf with the name '%(title)s' already exists." msgstr "" -#: cps/shelf.py:376 +#: cps/shelf.py:378 #, python-format msgid "Change order of Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:442 +#: cps/shelf.py:448 #, python-format msgid "Shelf: '%(name)s'" msgstr "" -#: cps/shelf.py:446 +#: cps/shelf.py:452 msgid "Error opening shelf. Shelf does not exist or is not accessible" msgstr "" @@ -1071,7 +1098,9 @@ msgid "No update available. You already have the latest version installed" msgstr "" #: cps/updater.py:399 -msgid "A new update is available. Click on the button below to update to the latest version." +msgid "" +"A new update is available. Click on the button below to update to the " +"latest version." msgstr "" #: cps/updater.py:417 @@ -1084,192 +1113,191 @@ msgstr "" #: cps/updater.py:436 cps/updater.py:450 cps/updater.py:461 #, python-format -msgid "A new update is available. Click on the button below to update to version: %(version)s" +msgid "" +"A new update is available. Click on the button below to update to " +"version: %(version)s" msgstr "" #: cps/updater.py:478 msgid "No release information available" msgstr "" -#: cps/templates/index.html:5 cps/web.py:435 +#: cps/templates/index.html:5 cps/web.py:438 msgid "Discover (Random Books)" msgstr "" -#: cps/web.py:461 +#: cps/web.py:464 msgid "Hot Books (Most Downloaded)" msgstr "" -#: cps/web.py:494 +#: cps/web.py:497 #, python-format msgid "Downloaded books by %(user)s" msgstr "" -#: cps/web.py:523 +#: cps/web.py:528 #, python-format msgid "Author: %(name)s" msgstr "" -#: cps/web.py:538 +#: cps/web.py:543 #, python-format msgid "Publisher: %(name)s" msgstr "" -#: cps/web.py:551 +#: cps/web.py:556 #, python-format msgid "Series: %(serie)s" msgstr "" -#: cps/web.py:564 +#: cps/web.py:569 #, python-format msgid "Rating: %(rating)s stars" msgstr "" -#: cps/web.py:577 +#: cps/web.py:582 #, python-format msgid "File format: %(format)s" msgstr "" -#: cps/web.py:593 +#: cps/web.py:598 #, python-format msgid "Category: %(name)s" msgstr "" -#: cps/web.py:612 +#: cps/web.py:617 #, python-format msgid "Language: %(name)s" msgstr "" -#: cps/templates/layout.html:56 cps/web.py:712 cps/web.py:1352 +#: cps/templates/layout.html:56 cps/web.py:717 cps/web.py:1362 msgid "Advanced Search" msgstr "" #: cps/templates/book_edit.html:237 cps/templates/feed.xml:33 #: cps/templates/index.xml:11 cps/templates/layout.html:45 #: cps/templates/layout.html:48 cps/templates/search_form.html:225 -#: cps/web.py:724 cps/web.py:1060 +#: cps/web.py:730 cps/web.py:1068 msgid "Search" msgstr "" -#: cps/templates/admin.html:16 cps/web.py:877 +#: cps/templates/admin.html:16 cps/web.py:885 msgid "Downloads" msgstr "" -#: cps/web.py:953 +#: cps/web.py:961 msgid "Ratings list" msgstr "" -#: cps/web.py:974 +#: cps/web.py:982 msgid "File formats list" msgstr "" -#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1039 +#: cps/templates/layout.html:74 cps/templates/tasks.html:7 cps/web.py:1047 msgid "Tasks" msgstr "" -#: cps/web.py:1198 +#: cps/web.py:1206 msgid "Published after " msgstr "" -#: cps/web.py:1205 +#: cps/web.py:1213 msgid "Published before " msgstr "" -#: cps/web.py:1227 +#: cps/web.py:1235 #, python-format msgid "Rating <= %(rating)s" msgstr "" -#: cps/web.py:1229 +#: cps/web.py:1237 #, python-format msgid "Rating >= %(rating)s" msgstr "" -#: cps/web.py:1231 +#: cps/web.py:1239 #, python-format msgid "Read Status = %(status)s" msgstr "" -#: cps/web.py:1334 +#: cps/web.py:1344 msgid "Error on search for custom columns, please restart Calibre-Web" msgstr "" -#: cps/web.py:1429 +#: cps/web.py:1439 #, python-format msgid "Book successfully queued for sending to %(kindlemail)s" msgstr "" -#: cps/web.py:1433 +#: cps/web.py:1443 #, python-format msgid "Oops! There was an error sending this book: %(res)s" msgstr "" -#: cps/web.py:1435 +#: cps/web.py:1445 msgid "Please update your profile with a valid Send to Kindle E-mail Address." msgstr "" -#: cps/web.py:1452 +#: cps/web.py:1462 msgid "E-Mail server is not configured, please contact your administrator!" msgstr "" -#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1453 -#: cps/web.py:1460 cps/web.py:1466 cps/web.py:1485 cps/web.py:1489 -#: cps/web.py:1495 +#: cps/templates/layout.html:86 cps/templates/register.html:16 cps/web.py:1463 +#: cps/web.py:1470 cps/web.py:1476 cps/web.py:1495 cps/web.py:1499 +#: cps/web.py:1505 msgid "Register" msgstr "" -#: cps/web.py:1487 +#: cps/web.py:1497 msgid "Your e-mail is not allowed to register" msgstr "" -#: cps/web.py:1490 +#: cps/web.py:1500 msgid "Confirmation e-mail was send to your e-mail account." msgstr "" -#: cps/web.py:1507 +#: cps/web.py:1517 msgid "Cannot activate LDAP authentication" msgstr "" -#: cps/web.py:1524 +#: cps/web.py:1534 #, python-format -msgid "Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known" +msgid "" +"Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not" +" known" msgstr "" -#: cps/web.py:1530 +#: cps/web.py:1540 #, python-format msgid "Could not login: %(message)s" msgstr "" -#: cps/web.py:1534 cps/web.py:1558 +#: cps/web.py:1544 cps/web.py:1568 msgid "Wrong Username or Password" msgstr "" -#: cps/web.py:1541 +#: cps/web.py:1551 msgid "New Password was send to your email address" msgstr "" -#: cps/web.py:1547 +#: cps/web.py:1557 msgid "Please enter valid username to reset password" msgstr "" -#: cps/web.py:1553 +#: cps/web.py:1563 #, python-format msgid "You are now logged in as: '%(nickname)s'" msgstr "" -#: cps/web.py:1609 cps/web.py:1656 +#: cps/web.py:1622 cps/web.py:1671 #, python-format msgid "%(name)s's profile" msgstr "" -#: cps/web.py:1623 +#: cps/web.py:1638 msgid "Profile updated" msgstr "" -#: cps/web.py:1683 cps/web.py:1686 cps/web.py:1689 cps/web.py:1692 -#: cps/web.py:1699 cps/web.py:1704 -msgid "Read a Book" -msgstr "" - #: cps/services/gmail.py:41 msgid "Found no valid gmail.json file with OAuth information" msgstr "" @@ -1533,7 +1561,7 @@ msgstr "" #: cps/templates/config_view_edit.html:151 cps/templates/modal_dialogs.html:64 #: cps/templates/modal_dialogs.html:99 cps/templates/modal_dialogs.html:117 #: cps/templates/modal_dialogs.html:135 cps/templates/shelf.html:96 -#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:137 +#: cps/templates/shelf_edit.html:26 cps/templates/user_edit.html:136 msgid "Cancel" msgstr "" @@ -1670,7 +1698,9 @@ msgid "Rating" msgstr "" #: cps/templates/book_edit.html:102 -msgid "Fetch Cover from URL (JPEG - Image will be downloaded and stored in database)" +msgid "" +"Fetch Cover from URL (JPEG - Image will be downloaded and stored in " +"database)" msgstr "" #: cps/templates/book_edit.html:106 @@ -1717,7 +1747,7 @@ msgstr "" #: cps/templates/book_edit.html:214 cps/templates/config_db.html:52 #: cps/templates/config_edit.html:349 cps/templates/config_view_edit.html:150 #: cps/templates/email_edit.html:64 cps/templates/shelf_edit.html:24 -#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:135 +#: cps/templates/shelf_order.html:40 cps/templates/user_edit.html:134 msgid "Save" msgstr "" @@ -2024,7 +2054,9 @@ msgid "SSL" msgstr "" #: cps/templates/config_edit.html:201 -msgid "LDAP CACertificate Path (Only needed for Client Certificate Authentication)" +msgid "" +"LDAP CACertificate Path (Only needed for Client Certificate " +"Authentication)" msgstr "" #: cps/templates/config_edit.html:208 @@ -2182,35 +2214,35 @@ msgstr "" msgid "Default Settings for New Users" msgstr "" -#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:93 +#: cps/templates/config_view_edit.html:87 cps/templates/user_edit.html:92 msgid "Admin User" msgstr "" -#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:98 +#: cps/templates/config_view_edit.html:91 cps/templates/user_edit.html:97 msgid "Allow Downloads" msgstr "" -#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:102 +#: cps/templates/config_view_edit.html:95 cps/templates/user_edit.html:101 msgid "Allow eBook Viewer" msgstr "" -#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:106 +#: cps/templates/config_view_edit.html:99 cps/templates/user_edit.html:105 msgid "Allow Uploads" msgstr "" -#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:110 +#: cps/templates/config_view_edit.html:103 cps/templates/user_edit.html:109 msgid "Allow Edit" msgstr "" -#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:114 +#: cps/templates/config_view_edit.html:107 cps/templates/user_edit.html:113 msgid "Allow Delete Books" msgstr "" -#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:119 +#: cps/templates/config_view_edit.html:111 cps/templates/user_edit.html:118 msgid "Allow Changing Password" msgstr "" -#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:123 +#: cps/templates/config_view_edit.html:115 cps/templates/user_edit.html:122 msgid "Allow Editing Public Shelves" msgstr "" @@ -2218,12 +2250,12 @@ msgstr "" msgid "Default Visibilities for New Users" msgstr "" -#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:81 +#: cps/templates/config_view_edit.html:141 cps/templates/user_edit.html:80 #: cps/templates/user_table.html:152 msgid "Show Random Books in Detail View" msgstr "" -#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:84 +#: cps/templates/config_view_edit.html:143 cps/templates/user_edit.html:83 msgid "Add Allowed/Denied Tags" msgstr "" @@ -2604,7 +2636,9 @@ msgid "Important Kobo Note: deleted books will remain on any paired Kobo device. msgstr "" #: cps/templates/modal_dialogs.html:57 -msgid "Books must first be archived and the device synced before a book can safely be deleted." +msgid "" +"Books must first be archived and the device synced before a book can " +"safely be deleted." msgstr "" #: cps/templates/modal_dialogs.html:76 @@ -2639,10 +2673,18 @@ msgstr "" msgid "Calibre-Web eBook Catalog" msgstr "" +#: cps/templates/read.html:6 +msgid "epub Reader" +msgstr "" + #: cps/templates/read.html:74 msgid "Reflow text when sidebars are open." msgstr "" +#: cps/templates/readcbr.html:7 +msgid "Comic Reader" +msgstr "" + #: cps/templates/readcbr.html:89 msgid "Keyboard Shortcuts" msgstr "" @@ -2759,12 +2801,16 @@ msgstr "" msgid "Hide" msgstr "" +#: cps/templates/readdjvu.html:10 +msgid "DJVU Reader" +msgstr "" + #: cps/templates/readpdf.html:29 -msgid "PDF reader" +msgid "PDF Reader" msgstr "" #: cps/templates/readtxt.html:6 -msgid "Basic txt Reader" +msgid "txt Reader" msgstr "" #: cps/templates/register.html:4 @@ -2991,15 +3037,15 @@ msgstr "" msgid "Create/View" msgstr "" -#: cps/templates/user_edit.html:85 +#: cps/templates/user_edit.html:84 msgid "Add allowed/Denied Custom Column Values" msgstr "" -#: cps/templates/user_edit.html:130 +#: cps/templates/user_edit.html:129 msgid "Sync only books in selected shelves with Kobo" msgstr "" -#: cps/templates/user_edit.html:140 cps/templates/user_table.html:167 +#: cps/templates/user_edit.html:139 cps/templates/user_table.html:167 msgid "Delete User" msgstr "" -- 2.18.1