From 6cee62696c3f58877e2e0c913ce431e68c8bb1f8 Mon Sep 17 00:00:00 2001 From: ibuler Date: Fri, 15 Dec 2017 17:38:46 +0800 Subject: [PATCH] =?UTF-8?q?[Feature]=20=E7=BF=BB=E8=AF=91=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E5=A2=9E=E5=8A=A0=E8=AE=BE=E7=BD=AE=E5=AF=BC=E8=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/locale/zh/LC_MESSAGES/django.mo | Bin 24201 -> 24649 bytes apps/locale/zh/LC_MESSAGES/django.po | 2061 ++++++++++++----------- apps/ops/templates/ops/task_detail.html | 4 +- apps/templates/_nav.html | 28 +- apps/terminal/models.py | 8 +- 5 files changed, 1099 insertions(+), 1002 deletions(-) diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index 51d965164f28a00125f52f6c2651008a4cd48ac1..10fbcbe407ae975ffc8e3e9b537b2249255885e9 100644 GIT binary patch literal 24649 zcmeI2d3coNx$s}>QbiE8E?6zTU{NR}fGbjEkwrj(NPucxC&`42B$+TXVW~yK5(s-h zWDRS9ph5zIY+1NmC_q(6xerMhZSnava_5Jm|7f*iA zeLwqlKg;merRO~3@I8N)<6Hw1ogC-(PdLtNpBAm-?7Pl!zDwACxCz$wKt_Mv4UTg$ zd>>v8&+q9t*TSywJU9qSek0%~VUg+|S5AYS(a(fu!#datD)rI3rf6v*b&|grCvkf6|ewGzEj|Zuv)|CK#5-uFM*q&#A}8U?}X}KftMox z1WNsX10~%DQ2L=`Z(CjucmeXwP{Id6iGL5g8a@QCgfpRxPd$`=*ac;1TcD)-0qg+Z zfl}^opp4&HeQf&kq3B&G@os|Be}kaJ8waIdCP9)qUxd=W1yJg@4obZ3DnARQ{|>1B zsOrB8Wgh&y%C9TmRK5+RpMMRdoqvOpZ^t}4-k*X}udAWdr#F;x`f2#BP|^>Al71|d z{(MCBGhj#L1yJVK(@^G7gX(vvydQQ#e^lj{q2&99%5OpG=Onxk{!R6t%(wY=h7!LE zlySNNN`DQ51K}hn^{9u^@0*~E<31?${U*E%{t`<6ewN89>GPq)9|AuQ3!#+10^STa zLW%cnDC77xl=S}zrN7>XQtscC7xc5~uYeN2yD|?-{|tbV-%u$1R0uo62cfK+snCT_ zK^dp58s4b#VJPuVLMi`0pw#DwP|EuylyZIzKL`J)vfJN|YcJRfeP1Z?A5fM+Nf(7O zpJqZS|I4bM2W4I?g`MCk=)$c~+VK*UetQKK}i=<{o_#buZEYvFTso9QVrh(rCz&Lei2IguR^KME2@7(^*@Fe zp?^p9zf=ALN;}WL#fEo=-H^LN(GP)A-@BpYTL@*`AAmBRAt>#d2Bp4Fs9XcZZZ3w> z-#ekC+YP1N`{1Rp1xmeMhf@EaL5Y`yQr>T%#Qy`7`g{N--g&obeWCPwS19X#9F+bl zh27yyD0X8bly)43lJD1)uRzJ~4Jh?}6H2{)52Zcl-DcZ&A(ZjF97_GJgEAhyp`^b9 zN;^hC>5qv}>ir003OW%e`8B|+;5O*O7I;1UDU|U%dw}J|Q1bZ<6gzeUlyZkaY0oGq z<(EL|mue{Ge_6RixdC2*{#hvTzN&m#!(WHe-k(9~m-pah@K2Db>|A)e&37=Ae8#~( zFbs`7fL9@Jg_7NFQByV4^YzoL*;Ytu>F3K@-is%=F?F6 zu?Lj+pMz5VjVj*`rTn2#;uUE4B;`X;+E)yv{3yH}&V!$U>oxo^lz#mhlz#X=lzEkg z(jR|;lFxZ}+J3kc$~2e+!L$fL)M3fYL8r2HWr(pxB>2Q1-XJP}*}7 zl>QtHrQIW;qtDxkQ4@Ex|N;&sIiT^N^ z{)j@U_be#kPeSRh#Zbm)9hCB$ptS21<@cb(|2dR;z6&M%uTaM8+@ZFdE1;C$6H5F6 zP|6(+rJQk4(mw>HoT*Uiw*bmKSqEiY_dprv7opUv1xmW_KDEE67QJGFTt^AaSnsufL(_(cVX)YY&r3s zyxW#@>nPj*!{D{(Cqv0+y6R`ET(4XUrC&BfspoFhzX+xOj;sDPm45`KAKFy@K*Kvz zd5M1wlzjR?Dff2e5ar#BcZ}twQ1ZD}e7{U4y@d)8RX^P#k-v&!9-y_Ef6N5XGYc{r5(?os(cDD^8+ zxg2&vjzh_Jj&e1;1-TJQem{ef&#yH6ugXs2IIE*~q2xOONjn|524oRgS|>=)VLz!#XJQY#o&N`=R82 zMCEV5&d9H+{8K35?{XbMbr@-cOiLwin`F1UobVHTnln+8Fw@evTPKRQ5XG2N1 z0!sfiXn3>o5R`s80VUqc%I~TEmny#tW#0Z7N_l@*{n_`~_FW7my$d_QJSg!7Cj;Z`I zl=5Cz`Ay}|Atv5Qs+?bF)7=6uMSmBR{3faXA!S7M)0MMTKVRjQP|~kcKCj^?m9MJ) zO(^-ltNfjY{{^0p{yaKI+R<5gjk1^WRw(5RgVG<9q2xD5!|POjM%keJiiSU@@?n)v zLdow{mETgntNgQupF7EpQx_=x+7n8-H!5#e{ScMMDDQ)k|NZbfI2FoxuTXA*vYwiu z*!OQj$+s0sKfJ5*pH=<UFDfh=z}WQvMg9#CsgddY%TQzn_AV zt`5rnxC%WY;Ag&Q>vyYi2$cGafl}^$%14w_l{1yK%2iO(ZBg!0?uBxG zJ*e_ADEYnw<^27+>c6Y}vGSKt;-#U)`y-To{Huna^PmmC5K4QysN5S$y9TIypN2o8 zoTi+w;cJyUp!CyzDD8Mj`Ay{;Q0nsoPv!Ta*zI#3vhl8mQjeS9)$m@G%b?VE z4*V2c4W-=OP|7``Jf-|MDCK?&UIu@x@^3Z#?@;>p?1$~Xa{-io>I5afE1~4y70UX} zSNRSo^|%-IhmS(3?@B1;J*PaZ{5q8Q-%+_$`Cm}-|8FSeUG#|M<;rWIU* zxRnT(zy?+R7XJ?1S8+eZbwPhW+=82d{~34?C*OWt8M;|e?rH{u=%jSfPG`oG|Vx+M)F7jyPM%=gY{{r_d+#=+T8t-m66nDGIUn6`B{=u*(Tm*}8^3~zwZhSB9 zVZthL%kj%M9seOHW3mzdSvdK=1n0nC;qp```U$whxX01`9d>|nKJveRsAnter|Gyl zJ7ZNZScBU@*so!CTorC1@}EzwWHZAW?p_SSe4;l=8gGssTd4^0Zrjmj(FFx=;HBZ>PR z)eGhz&&K^XewLv#OY>R-x2j*_Z4dZGUXS}St`qty+z?z7@_D!t{MX|4;E%u%l&=-n z7x#PIf8lSt7#vDiS9k~RZ2a=p;eU7GKZfuH z_&ZpRyHmrzC{%v|oQ;@=dlT1P^?04X;KWYcr@9sRC*z-s>w{mu_boDiZ_N1EH}S`a zI}Ep3_50uy+-Q}jDh2b2HxKu7{1@YzaZey8aG%0WL+%T2f&<|bP`)qW-Z4J=XDMN8 zaq>N6;jD#ctIoyGR^W`s&BH}iA69OL`RXqqT)sZY+h7mec>EqL#NC0DuMS-Z_hsA^ z+`YIb(O&_-2?yb>#|=h)3MbzT+$#0Y#b1p7j}pLl3+{g8=Wx4lKS5rF`yNid65KNM z`X;BE}%FEc>(T*fUXGnR^+(qdMQ`K9)vxMOW|LMTY|e8 zSC8%i_&3~1oO~`i`TmMKikpwS2HiFAGq^NPzBeqK+u*ghn~C#D+z0sI(y*VwiMV`R zf82G1e*?DvrlWWXcew`C67S#f4^dfg8M+$Wh4?Rm_3(=lz_$_iX>_l`6;Qs;xX<9f zMCE(na`nduyB+rl?aG${4gPVkF#L0I7@pt3a;U2_|v1%ude+2$E z+zYBZ7u|6Dx56879q}h{OL6}P_abf+`uBvmui$3lmY|dGIBo%MwaVwge#pyk{&zLH zmsJ?)E8%YOcX0Veh0DvMZjYXop^9*?_&}q(qi<1cknt6ihePqOTU;I~p6Vvb!ftt_ za;jStE|1P|6Hzx7j)xQOtY~%2tqR5CGorDQK5nGct&FNR7M@lejwkxK#nH;*aIDhC z4HXwht1A<3JX~BIizH^XEA)<#TNVqK-r2oJPYOsp>Sz6Eb*#Ksd~hN>*4Dt+8Q)rdGHd|Ktg6`@Eul{1v;Xb-rR;TdkUGHfc*uDyAAc^%rR0_BuPr$j1k z)4LD4R|L0&$`mKgl-0)>(+6a@{2?d{#Tm|UrCS^ehZ5luH(p&_9FE6JtINy(cgMxf zAu}$_oYUsb{~sMYInC(A<7IADbrCb!of@9yW(LWwx1w2YJdy~zp^}P7Wh9=6g%Z(N zesH~-Ipc;ZOM)vjH&YuwyA=M%GtMmxmopo&5!G>)OWZL_s3OYxi&U~mDnf}!w9@I( zll4`NiE&wKVjn`4Zg@Hqud=$LC>(Q!GVQ7o3YUy%Td17+Pq8hOJcuK91DY%a)5AuZ z9%e>KHNqv%&=TWZ3=+m^N-SDkCAKOdYrRVHjmJ%9B_$f=p9RKADmmJyBH4^gwk80L zHrDjzE@pN*I&`Lln>rMw&vaWOVFbceutf17?L1GRlgP$|-Is1%xx| zNmV6ct~8QP3zMKYKHV)Pss@#W6C_k2Tsb`wi&j=pf7MKhg(|c8=%|`}?8FJ?Y&AI< zT9xhPY$|P?9sM{kWw`XLmMRGXB1=F6{Ka7M3eJ{x3Y{{6g0qq7^gxpX`ZLGQ)+!Ly z%*;Uicp{Xj_M4TMRi(Xqw^>{{W1*4a#`@TaZ8|BVKdm?7wkHyaP;nU>kV!-A>XJx8 zkSH^Mj4@#aOsi(|b$tkT2?zF`HE#Bpe0#i>v1j_4|)%xPy>s3=m2b{e_Fp(;;uc8*ZvYYr;+ENjT-8waZr zOBioLmfi3$^M)-ayOj?Qmxg4=Q)cFnF9+;PCQfx+R!6a2R`!f!J5zTVi(nbXS`LrI zLq%*bVoWl1kHn`s1WYx?$NCb{M5x>u9-UEH9u3hX^{^Hys>-DoNKcnZ9?=-5BH4}1 zA;=l-udoraS32e|^(&E0-nR_cHGAWVR901UMw$|eR5~LnrDpECOmK8sIR9U2;bDE$lnd8ELjm-=eC7d8{^@r(0M!DsalocSc6a%>iyC9T<*bV6hD& zv9>cp<>lgG&ocK9_1l58dd>?~&PZ-Vn9z(VHoJpk_XzELE2ycm0_Kz>LW#yRQqa7O znmDn*Eubr%QOvd(p;*}A%39@&qILthQI*efv9MIwoMTEO;qnr5{FuR>D`ynj)_mf} zIVH1KunCV6b3ZCdd&)V2mIo$DA9u99y~@$?!)6jD(N0UrLadL;OFVK)GeX=Ml}J>% zG6kH`!=2Fu4*7=4) zPkLLP0*J4(aJ1d-%yBFqwY^~nTJMbJoM2D!_)6tA!x2EVx-A5}uK4ZtIVM`<4r6bj zwqvj?=8v9;rpSpTZZ%oU6?g6p$!N>%*?OmQQ<2^7UY0B&v1+{0V!H#{NpAkS#j;ad zZ=^~+WMel_t4Ab%b1^q3BfL?1%_7r~T(J))nM5`3A>}4rRcK1s85`!(G)v)5iqjEe z&0%9~v@*inMKWZ5*c;5)S^m-4aJJfgnloKXVLh} z)(yvE6lPSJE2uM`jY_VWc;u82cgAyVK*C6|qUdSy%48{EcFH?Y#-m2e*PC-;U<#PY z;Z|^W)ZGz16nBIUH zvY2B`RY5E~-8D9`z#dcGiSlUW6vU$DYNC{tp1{~qWGtG97Dvm)Gjo>A3OmCJ>6&PaUvEicY|u46DEY& z$E74eX00K%>pfz~4c7c^H}6zw-b#&?WNiE^3Dy#e+5QHd?`oPVfBD#aeKBK3&aBRu z6Z$k@QEX(f05WYRu+6f{?C#O7SEn;Q-NL}rUpHq$R0a!6#_&(5t|XnpZkI;jNkukQ zN0!|^T*OR)Ml#F5tVY=ajYn64R3&$rI)!0lkP7uV*z}MoUKiF-x&0E$yfYP=#|g2I zyfp<^p8B&_1wYiZI7iT%d5$iVnI0Yez`)@<6UD3vEzhhZ-F5;hiJN(UtI|=m`=st| zeRQbIN;MBGyq}o1mqvM$pCJ#=XU>EvE*nN+I2PfFOz)sbm~)hNb5OeDE18B8*Qous z0bh)kmgWSjY>iJQQf?NUxyUgmiZs?(GM^~Q_+h~*G$(xX*B(|2<)B!|q%jSsE~CGf|%Q%(C$xR&?fP-}0<|&VBbkQ^NSiNWv>$MD}WIws~%FLq*sRwk5Q2 zotNe(7h@Fd!QXCLejRg$s#~{iw1Bi98r`hyxcku&{Wbm1v$LzXU3M|^8<%XYGA$mW zMr@NM45VCHyj=KM@E%7aOS#DCs?~t1 z>{(GY{>1ZZr3uV0OWiWc>|*j&34dW|K4xVG{Cd`){qB_NNC}-uPnbWx88BTl+}Z{p;3pKA-T39wIGe@!fF35-`4w)N|aftFw)mC~0#vm_*T;o2z(ivG&Eb8rk0+O_+Vb zkoWY-W1Y$J6R9&9JHt(2vR>?jIL3$I5~36SLhriehfx zL5e44JE3w}!?SE}#vN-$oOV|wj^c8*%o|;jr%fCftaiWroAPh!z`2kEPTtt~lt@Y5 zUDZ?Kc@v`p-3|rgC+3+)H||P#@;Eloy|G{a+w%I~nAiUnxBqPe`wi&bZ$Q6(M9iBI zmiA@hJuqVEguJoi^M(&~M~xpic69GAjvqIogWO;9Ci1uw=UNht4Rj+#)#Y^F9hO6; zP0Ocy2NADwN;PvgZ(=x9kyGCUiVurD(EU=`qr=8^7(06Gh-_o~=lAO%ueo$?o>;Ac zbn47RU(Usm%FoNION?XLos%Yx%o~u6CsiyB$MQy07IO`#oHEcIP!vgYus=*E=kE4) zp7_xJZIEt0oSJ*oTiDWiWJ%km?QKt=OfKKqws2YMM3dLNAhmVQZ;vl^y zEK9CyCco6`1CngRe8TW}wFi<1cBc>S@>U%7nihGryFdJwbu9a7zu$kve=f+>Fnwx$ z+rp*krjwbvndjbig%PXu$aA(G$%aMAXX=s-Tl#zZRwUOR>f@#l)uvA^#M`#^p!Cd& z=GK;-ndjLaJ-K~;od01!2PN0+v;Ap{P%*?#)I^DYJH1$;+ZpLWk<2~#MXZ{ zipe>9y)_Lqh!K$i+Av>-~7Tl|8{(=|M&4v zhQ>U^=alt77?@!7{@;%b&qp8QKYo1F$e7V!DYdQI=^cI{z5V%A)3#Lo0&nFyyUO~Q z`71qXrhs?!keyt1p4-8+$^X~>`#@XGqU4fi+cqvpo!sH1mml_4tVwP>=ehk!q<+J>QH0@D?m}n03jz!;ZIjck77;CwZzSc@V?0SAEGvH5Bb6 z54U)Ww<^*v&Tl=|m};4yBj*TS-M;p6x_M_d3E|onn{#UQZmC32$VS#cuVJ6Jsm4*H zTAs$fIm!JClQk`l9UzSu6ui2%>213;oB_=JT_4-%)ot<`m&ocnRGXqz{zy~K?$ohU z4imszv9hgZPTSn3)|Nw5+?IlvYTEC}U~g;knl^ZKTie#}@aoqNc9>r1(oI(KR?JO4 zv(K@e=GbVGE7QssY|5dA$3qW-MlL~uU3WB@@8-Q zJjS;!xoMuX#*C34$WUblEhkSpIX9b@`PyTd_?l-{w!WNbxp^L6!>*zQ+6o0qHx=}j z)_V2N+l+D|=2XU})q<>$Zlr$ebCTG+bm+B~iw`Ah<~XSXEvc3*sr@b9<|Tm|1UuLc zx1V3#nrthzykIvv?3(F0tFyi9HEl~bZDX-`r{+0~ce;6wqh@2(Qo9v4nd+*ix&vVBJ%V>o78^N-p2cJafDq2fcYK9Ph|3ujz#2Z8?@~*yI2B zo<3Ed-nP{4h4MSQxa8I&GQq@Wrwcw>EMt&tIF{Vfkg@|}1#kac2@(5osLpA7j?=&# zjtp5}+v@e{=4Q%W?j4ycO>SF@F(9Kl7K53oxwBXATRQ*kB(`gtj?p2uvW}!Kd~fB6 z)|MTPMY?Gpd#Oh7b}Ym;Ic>FaqH*j}QfLLzr#55B91G5))}X2E$QT`HX+3t#@fOs2 zO-HG=Y^MIj&`Q?q*$q}B1ntHdRN0;F^xu@-oQ$;9T2RJX>Yl!7UfcS5oyfr`EL;M# zU_1RzD>CQi*{;x<+MKjGCFoMHR@N38RGn5%;MeY)mieaGbf^{n#k6A9wbfL(wdFa? zb86!{C%JYfhd#drD(u)VXTdXs*p1f@IbMSaS3!~5HAkvvcdxdVb*xUu!k-3K$}V^- zx1Kmfx^^=`EW49jbQD|cPe5yXwUoLwo~bF5bdR*fLU(2>csm+7&pMpg(% zecq8KZ}GECoZ8k?P07_q*=*YyYSO#r*t%n!y}fIbO)oNDjhISr`2ugn3y#-xD7CQ( z6GPXxV9eO*y*fSC*=bBK+bdJ@g>BqH^vY7VJ~%C`+M_6dVB+?DW-?FZ;m}n zr?%`RrJej7u7W8fS1h>9TYK=)tqFr~yN27XS6`Pr@QfZ-9XZd{vu(;UP(jU?4|BWZ zgvQNygKpd$Y^8Pf>`4`}CLyD;{U9?q*-+!vFSq7L1i4Z!;<~y=LuBUf*=DzCim^MG zxg|JyS+M)675J6SdazpFskLVm)*SVYuW;B9+g8_TxotHytZ7YYu87X*DrQOg)M{_z zW;wE&8nkVDk>>)lDehgTu;b_Gc_FoNWpa6=qe#}R3{0Z>WvNCE^>%gGrF*7yZeY$?9_YBshW>MQVcJbOnUK2;$ zhUc`>GRMTUnKuvGvrKy4Og~>`LcCQ=?FwTCn$wt#qo*+&m6?Q`UU*P*YcD73*4U$3 zcFK7>mU(rD&sh?@jNnNv_(P zTzxWd6f<`{U3+T%T8}K2sfAI^_7I0j4mrB+f`VP@j<;+@x~a+kP0K%A)$UX&l!!#gn-0B*z})ZJ?b@wz90h zwweuWpK9C8B{J2rUdJ_c}h494Pg$#d5>jcf(4e!gz>R(ACCu2)YBKYR1O=4aeemt3=# z<8NJZ?{q3O#5Jf4o^_! z-;aVivmnf*beK@7-Al}+W$i(;NoU?8%ul;^H)p@}uS90U_lLs1#SFDS8uA;NY^Q7p zCr@gF9o{O^Cs$?{v~8|mCo5$wjUIQ+X+(D(?H}{ZblTPQjMrz)#5~{F9mSu)X2()9 zZ?AtgZtmzvB@c$GDn>w$e3af8vK35*7kFia|y7{ zow*vHY-04C~Yv119tGD*H=9!ta@2#zE-?qM8-tX_6-!t<}2(`VRe%`F_;$lH;5Q_xE$0&z|f!6F)7Xj`PZejvJLhpd?)-Tcu3{LkSd(- zK*|3eJQemE;5o>5L8-4EegZzO@e84(Uj;t{cfe1R&erT=?XejUoV|2vd&y5UFQFX1Wh zw@~t(RAS2;043dLRsI~5aV~?h9n+feFxSLOGijOPa`_b;{M@hK?de-V`ajex`9RM-zL zf-=5qpp5JDQ0Dcka1{IxDC2uUnazJ0l=L^i8{lLp?R^qn4Oc;_=i5-`<3~{P=b-fW zeJJ(*PWcfQ`KicfKq=<}DEY2XUJIqXkx<5OI+S!@fU*y2pp5Usus@uu@>5XSxfV*g zT~O+O1xkBfgHq2w!#?mWcsYC*%6yzQ*zU)(prjk2oB$<#Ih1v9FO>R28eR*fKMz6| zJ`Sbbo1vLkDEap*k7)SUm2X0+?;Y45c0=jMAE2ndenV{g20|If5-9au4`sdI3Z?un zLg{af%26ok)9_?C7fSn^q13lf<5xggM{OE@07`kULdo|ncq#lYq)ECf5lOz1+XXDF0*j)GGD?NHL)0i`|nXnZA< z^ie3|_%Jm47E1rW3NL~`Q2F;z_J7}N?061@QvOxSVNmKF0j2%7LTT4Tm1jZeUlo*j ziovtsBT)LY9LjjFg;LIQD({2R&aXjPm*0nH!=FJZ&$-t2uPzilyu*NGOs^?G7ecd0R9Hb{^)bPjXw)Y{6P3AI21~{+o6;{OXWH!`Q||B z=MpISHp4M+HkpX<=K^>Yyc?FmMQ{-8 zP`(RAkMz6Au8T4#<&1|iPLtp{@NNx%5Q^StfYRmII)acRrN)zFfnvhcZuNpwu%1%J|nnNk1D(z4M^dvjj^1^-$`0 z4obe)psbG{LYdE>Ls^f%fzqxIpyWIK7CWvNK#9Ky%J>a}lJ82Dhd~$lW+?M^ADjT^ zLP`G}DDC_{lycvNlTKpaz((X-80-bG1HMN1sL|+1*k`Qc93*_pI6K~-zt!GL>Y$Xn z1j;A3_Z$cTLH=wlVEsg(~%D+?j z-VLSPBXAIW9ZLFN!t>$ppp^4T21R%=l<^-7WuC@BNk2_F6H2=Klyw^ZC6(tuY5!7{ zpHV)q;fLTSi2sJlZz_MPd>?*-_>*t5<@AG6-+9W*l-DXp!_N>u6-vLO%EvYSDJc7K zlgfvbuPNVz(%v7d{2r8Y{-|>Q+wFQf56U=P0wul#O1_(+v~P;a_oy6&lD<*pCMfxq zsJvO@cPsZRJE7=>uRs}xuPfhBz6GVeF6FPF)bnSJ|L8>9uKrNMFHjCtmco97Uk#-_ zBQ?BS`2}SK>_>b=l*{1Ngl~aT&JST3?1EC>fXO!B#mZ7B{k;xK`Vq?8m3J${%7pT9CI7i9UkWcoF4OR-%6pafLut=! zp}EB{TyJ(b^sQqCWt?34ae?fM%8rT!Aw9}b05 z&S(vvs=NzIJzs>9t`?pQAJX`Tm2;uwUkD}LDk%B3EB8Xl*8wkwN8l|mr@ZVA+n)QO zl=GmO8fwoUFD@3UZ(O5@J!N;QqF*q zuNKNUrIn9p_&nH$@K%-ADz_{5!83_}1xkOv52c(xD?d72+XqeiRCZOq6iWW9RlZeO zt_*2>49a-Vfih0Zq13Zp(9!j}8prqRmWqrJ^;qNQ|0?#JA-(5ESMNry#C6xAG ztKqjmDSwiN->a;FlKw#`^*y9)hEnfSDsNNyMU`KJ(w{dq{O20}XO&O6+m?4elya_6 zc?7IQz8#(e_d{vtca=YcGM_(Dz6Yg!e^P#ArnU1t&q3ze&&^zT_H`JdD9BT(A&E#rSe)R_1y%|g12e- zEGTw!wZ=!Gj87vJ`{OYv<1`mad5fXc^R$LPtMYCr?K}d9z&D`Ock(@!{gvlINq3pb zH!3GUDfdn&^;9eClqo3XJq#s(3zT-PhtmFS8vnfV5R~#>gOctCD*ssdp7Jjm-~V1) z{->1#q2wP5Wq*xUd8RS~rQAj+?V1OrU9B4btj6zy(w`$Le+^3d?`ink@CxLgDo^{O zeYY46C0#9)deX|rA=eJ`J+3@Q13HjT(=e&C6en{j-$zJuA6$a_4o<#DEzIAC)t`kA zkoJ5y8dhrA_ey@;p9%l0rWJgFFgdS(fQ#X7!VM-&=Hy+Re9LiPB1}G(g%ifzC<5Qr zgnvTgEjz`*9EBUj*mkPQzagFNde%{O{lJa2y)@&kqy+2v>n? z!^zne#r+y5->+~9+$EIrB(9&9_c~$I@DGEt;6u1S;+O9X{P)5rly9aoqO_shLGXNl z>qGc+uqqJ05dS(&I1vA1xR2xhS;Ibx|C{(f50~JQ8ZH=w{QZDjk6eyB7k7q+FT($E z{0+FL@&6MpjJqDW38ry>(X``~w<~>&@;&eq>K_T~$SdE~7S0ansb4Tw{dbe@>*_yS z^W2R5Dcmn`_Yk%Lrf`+G;m8-k-{Q95rXXL8tHLkeGr0M7@0e+}_tas3G!t>JxPoUqC8 zblgDPWysIMH0~7KUATJO0NhU8Jlrnajii%r3T`j%DqO9GZN@L(Ww^JDkNrSg9REe| zzhE!B$ue{qM)>IR>v#e*snL?qSNqtd`kP(f;zU$mWzn^W-z!m*n!8B`o+LS+y}o7t=l zC&Jo1KfBCZkDAK!lgi{agrboum(}79ach~=GIwNkD$EK>>3k$hiWW&cQ4>C{apAg9 zBue89r8znRZY(_8jmN^K5j|Q_T3Xt-M^Io0ik9I-S(9!Ri=#5tTTy?@oSL=gPeCnP zq9PoQxs{19tEkFNrYkGM$z*jp8vV!4i``{rURXKDt(*Uu9lJPt(+v4Zviq%~(M?8D zVK-D&7l}oZsYEChPgt#^`_-%&Hx#Q1?$Ba&W78LQ`hR=HnH^IXXS)Sdt#ipBwo@97 z;3RtZ%A%@_{;rpLl1WoqKFME;Op?`3dPFN&1?Pa+4^bXcfB?^+OceL#qo#*{fBJCGJQjxHi-fX46*1-H{U~ zxUM42bkq&Mww zmnL0FQ4xQr%o$lyFU`W-hHzMd1Z8 z6032msg%P}gJ+oIk2PQt>58%bWP@8xQjMw#r^u*6IMxtJ#A9{zNkeK9p_o}uCa>0WDibjj{sd0cJcI#D{5h( zkYFDP&q{#w#Cw+`ynW zbV`$Ucv7iQWvy#Q(^TM$v?2LT=oeTVoMfO)2uGW#m@3m%k(3}+YyP-(;Z$v$+R~I& z6OM(^r(vnDhl#EpJ8`BJNtPS?H`ecE>TGDD&fkV4ilIX#Sm??D;cH?EWWVM&u7Y zZINr6WK8_t+f>1H*bym|?}u0gYW2D%3IzS#-8VZ*%Q3sKXKO!f{7fdZEwqIkCXLRR zP_nin9!gZ9gD_8v|Bx_a;|{Vag2RNN$mT0BIQ=ffnjco&R99w>|gAxDmk|OOgt+ng8J<|*>Dc{dS@IL7Ys80 zTIAe{dWyuD!)Vk^Rwg2tWfFw4Nn?@qj4}3=(ZK#;Z3UDaM|+hMkb-CRcoy93P$KMb z->i4W$CD}9{CSU?2+ejTjN#vCaemPSFUNge2$m~>s@KJ94yp-Loe9-$D4Mj_42BBr zZ8Um`ne9|_Rmr7~T6DGMH_bPhTf1%b8$c zTj~pv&Y58BKu{g$kE|ziZ#LJ*5}HCwO~Ww0IKYg(B{rBOBE7Dp3HG!w#t!48QlQ_? z1dd*_ImMUX)A&`1OR#!f@!Qkqws?g*n&X6a-p0;1e{3JDB2L;6(_y1$lFq~s%g-*k ziE*_D?P@fC-AXyotT$4x9+Ioi*b~IY(FTNQ$Q>OFJ4J9gTg$-;vIYg&mi~D=V z4JQ&5Zi4a;IL;J~1i6YiQ!uXiOY1SI7#;C4wa!%5lDv`RJ*qtXaAO_?rp-*KTbE`? zxdm8t!y7^&dsRGaZ&y5U(b{}D<|#?~n-4+J6)O~qvy+@pA}Li)iE@mA@s%9mU zp)y{YT)DZIIa9eo`6DX+q%*bFGzoPos?(Vo4K?z|D9GvP1ni0#ve2i>Hkg_SH@HR# zP1Q|VE{{2c=eH;m>o+42H`e=9OWCL?wmvl`;;DFLJSv`t8f6J!(U_y65MUHRL5x>d z^L8iCS8Vz~a4ZmNClci`wJ@axuYVnrp=C16^@$N?EbK_dSsn}oBP90X9cg(|tn6ti zn7gvs_aBx(EghQ-Q!-NBsD)a!Ou>+@>x5nZ{tbyiP)~HEl#<$>6m#EC1m)0^@^VIu$(U$9r zd41D+a9-~))&bR{i3_V(D-p#a7l~;cjcj6jl&CEeX%JO7E!@BkaHj`e-7a*d#bsL2 ze(alRX|Dao#E`Dv&O5QG%rOHIsIbStOb;9VHCB6QX~ZD(9agU=mo>_l?2S=e3;oDn%b-+Jy`-ll9stmm=#g46KT&zJ;X|M zc8n4eQ_kg;!VE%nocHe8@~GQ;AsBjcm`o2RB3M6qZA0Q1Ake%WxvXl`d}CgY8#RJx z6qHX|SFn=C3sdr;8Ofof1q%>595Y%FzYj(=HWC;95V8J!vo$nQjb?T{yRQ(S)2nB|jn2c?tJ zicl;W5#w3aWr%yY{9sdgncr&3oOH@V82IvsiRZ#y<+r6=jd`bBUlH@3LJECeG)?uB zxyIU12|buJrxoX4IeXRo39jjKc`wrxx{>X|EIg1|&0PG1UgjL1G5O(HB1voZS*zNf zHh$$g)H7sI+zT(fkQ)A4avkdrPpIAb@Pv`7%0QiV7s`1k({zthF83Yz!{|p-A;+BX zzO@m&u$9Z>(TtJKjA;|)=rZcmnK6S~zzp7gX2du=^@N*Yp7&jMNm29o}a=U3*hmAqV};Wb;bu-E)_=zQ}O z?#nW$LBARXbknU#N2(Y>lR$cH@6RSc{cLUglP1lHF<^8GG%Q ziAn}XqbNkj#9Tk6U|X$ynoP?un#TE|=1D-_knf!2+$ld0I(KsPVB_Bz;RTN+@7xt; zm8L+HUxYCXxxh0wx25aqDU4IYe^>93;QoAq61TyW<;;|4a{K5nMVPZoEC_x%V>T!` z9!=(7Li}|y+(!tl4UNy`e zeBJONgRdAoZ17+bmSW@3!F;-zV@FOaoiwF%%t&|ql;M*mT=DrSlgIXzi(_dyCq|N+ zL_9IvjZ~zgjNXlww>L#ZpVY$LH7T&6XF;d#@H@^PiZ3hAVY)!{_xSpFkH6?U;ce{9Q*jXV*Q^b*wEjXHVCmC0_gD%*y>GxjhH7b6@rrbQZKs@BiVT`{|>Z zrQ7UNWUg(S*W7GNFuxQB|EI%=YF2wO^I}_O!@^wq(d?1-Ov@_o;EUPLWw~PuG8;CP zXiI`kkuA{6|11c!CbNEjX4PKz1ntPo-RW&Ra>D;mkneuip+(&rx7cF47c8N1-k$l{ z&2!#6yx8@&&&@ouficUh*+Y5R75gOHx+jRk<2CQg?Aw{!zujAQ&}(1lHSav}kLMgt z$NfbAA^(3M-@@FnwcQIA+kvxfGn3JyGE#LNdd~KPan7u4VPJ=NdzWQaA1HBi2byK5 zS0CtJyZTWXxCjM{xPXr7QLvF{Rx1at0j{iZBW%ibC%dYM8j;!phD7%_i zyMJvKGjn!(t2WRfW<(}v-4i+;W^s8f>%Gp7OiQcxDZ9}>6IHAAuXEx63UfasPE2@`CF8-mPlDw9U-i}4GLk~1( z84rIoI8>PJIOfn8Z`tzhra9en+q*gsFa)+p#BBQu4lPE`?p)+`EGrgd-?z1U?d!aj z&E0FadabK(cI3!wYtOY?$#&1N@lp}1(HCr+`mtqJ%|_v3a#3E97?2zO_YJY*{+>+R7&nWSZtU*?pba z&P~}DI=yEW`7N+ZIp3M0(YDLMFPsHe*fgfqMeW7-RoU(f)=D8gr*dx2ir!_%Mi%DC zYj4Z7w{;!b?H!xvuv~I`<|s0&UiJ<%{R^IBhi6x8;uOj5Sc5Xtpv=;ptX0R`y5F0} zf;_a{Yd_+6n>sQZcFC{q;xd~LF*(L(*Aih2hfGjrLq}%QhOC_}D|j!=l^9V_2U?u& z=ddv5V1^WY-7D7S_UxgKrQV^r(v$AhyB%-&k*?0Iid_3%4$~q*XVBZa0JY_GH;aAa z*sY<^jgUL`3`)+iz&^LS&S5B-%C3$Mc8?sUa>2DetN-lbszE`e(@Rj{R6G86cekh@ zon5UczZCR5H!4S0V=#%;MOv|4v&U6gbc60uX;X7i-l7_GJ=-O0D-8x6S5M$4@uHsT zUeOXvaerrCQUBU&8r;?S9J)QbevOk^jb`5D_dtcMFNhszg>2{3nT?xzOJ+}CKjv@~ zdfLykeU7x)o@d>iYuF-=g)9W?3v4x`Or6Zam(iU5x>8MPmX~MsY}S^_9l*4Yg}6(4 zV4(-I6}+uGuwWf*^xTmnipE6DIsu|wyweyRG?5jQ1Ms=^X>m9LBj;`i1k$bi|_ry9; zCN?Oua1nZ_D8eoTIr1F5CqC5}NjbQ@L+##^UuFzD(KlY}l7i1$x``Q=U%f>WwQv;M zc`PcD`L@A2hsZiCCdOD8{8(deOxA|W?wEtVWI8xDx(=`Lnp?V#9Ai1z5iCmD)iFO( z<)>U{lVPCb+7{d8V27TNNL4_2o7+dVT--XOI3q+>8*`H)9U_eMqIT##Wk2$lL z>>b0dIjp3;^SchO!)jqFy}fg+U7Ovsn=E#9axevRNO9i$W?5L)noyOFy0v2>xAWGP z%)XVrJ!$u>Bj!^p=B8X^93SS6M?<-vuG13?b5lCh%c+%qESb@2<9yEh@Y_%`gQa!t>1}w_35w6>bfX!XmMCAm`>C={nSr z{j%t-C0@$``{Ls@?~=-)eg5&su7;WVd&6 zFG$*-x_mpv+!cC+HSc0au|B0qrpq)_hJ;bKv&-7Cjm)k;T;){n;HH8k{Wak7br@QRqo)W=`kD#`h9ok3ic~-2_%YITk$1 z*)egface{Ein2YFbF^t4C!Fdsb2-a)uGN}@8MI8BTlG^g-Ugj;&*zhhdEJX(yJuUK zY1-kSHZm&?Xg#?dPvsWA=;RLW$*y?8Tf0+tVP@eDP7f`uuvm+IcC}<$H)Qv3acn{M zAx{^-t=QiQ_DW+-z@p8eLU3MeP*MI~CMmC#H4d%ZOU9s~>9@tUBA>sY)r%UY7i#mW zX=l+68t;MryNf-`GMlz#H!Lb~Gm95yn|EZEwPv?=WQ+oJ2iYTC)a?qnm79m--3z^= z%|lDC@mkpXn=WHpn45dx`P5d&O&vpUwOnkn3%|_sk0={|n=hU3EqhU~|GK5Qe97~$ z5Bs~dXDm|3LajCP)3v--%-!kG+^!C`O7M8pkvBhE6UiPbs5$=tuw!VgnxZi-GJJwD zMHWynqNqr{kq6^d!3BeSEf-i-7!$lqSRIt#Xfm}M^_|rAs>J`HTGE^Qsl5*rHG-P~ zuTO0Xdo$Elr~$1vJPW^p=7q~|ni2F4PqNJJE&j{aON(-QFj5SPZhh8J)2Rrq<)R2X zj=EF>1E7{?Fkewn!Q{0`%q7GuI<7zRv~AAnw#6!#UwrMMEssLi43+1{pX zkXGlfbaNyH*ObQlGizF{>e_appeN+u+H)A?Z{8Q}gcLuG*{Gr=U+AX}pULg7cO&=< z$p~yDd)L!?Wd8C^&{dWn)uNnoqtRzeQ&J&kQE-tU(`Mc;gLRlELA`eRC24O1EwQ&K z+h(pt8e>f)D~S2!=hyhaqu|\n" "Language-Team: Jumpserver team\n" @@ -17,334 +17,42 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: applications/models.py:14 -#: applications/templates/applications/terminal_detail.html:43 -#: applications/templates/applications/terminal_list.html:29 -#: assets/forms.py:169 assets/forms.py:227 assets/forms.py:295 -#: assets/forms.py:349 assets/models/group.py:18 assets/models/idc.py:18 -#: assets/models/user.py:34 assets/models/user.py:135 -#: assets/templates/assets/admin_user_detail.html:53 -#: assets/templates/assets/admin_user_list.html:15 -#: assets/templates/assets/asset_group_list.html:15 -#: assets/templates/assets/idc_detail.html:57 -#: assets/templates/assets/idc_list.html:18 -#: assets/templates/assets/system_user_detail.html:53 -#: assets/templates/assets/system_user_list.html:17 audits/models.py:18 -#: audits/templates/audits/login_log_list.html:49 ops/models.py:20 -#: ops/templates/ops/task_detail.html:50 ops/templates/ops/task_list.html:39 -#: perms/models.py:21 -#: perms/templates/perms/asset_permission_create_update.html:33 -#: perms/templates/perms/asset_permission_detail.html:62 -#: perms/templates/perms/asset_permission_list.html:11 -#: perms/templates/perms/asset_permission_user.html:64 users/models/group.py:18 -#: users/models/user.py:32 users/templates/users/_select_user_modal.html:13 -#: users/templates/users/user_asset_permission.html:54 -#: users/templates/users/user_detail.html:65 -#: users/templates/users/user_granted_asset.html:88 -#: users/templates/users/user_group_asset_permission.html:54 -#: users/templates/users/user_group_detail.html:58 -#: users/templates/users/user_group_granted_asset.html:88 -#: users/templates/users/user_group_list.html:12 -#: users/templates/users/user_list.html:23 -#: users/templates/users/user_profile.html:51 -#: users/templates/users/user_pubkey_update.html:53 -msgid "Name" -msgstr "名称" - -#: applications/models.py:15 -#: applications/templates/applications/terminal_detail.html:47 -msgid "Remote address" -msgstr "远端地址" - -#: applications/models.py:16 -#: applications/templates/applications/terminal_detail.html:55 -msgid "Terminal type" -msgstr "终端类型" - -#: applications/models.py:19 -#: applications/templates/applications/terminal_detail.html:51 -msgid "URL to login" -msgstr "登录地址" - -#: applications/models.py:22 -#: applications/templates/applications/terminal_detail.html:63 -#: assets/models/asset.py:90 assets/models/group.py:22 assets/models/idc.py:35 -#: assets/models/user.py:46 assets/models/user.py:156 -#: assets/templates/assets/admin_user_detail.html:69 -#: assets/templates/assets/admin_user_list.html:18 -#: assets/templates/assets/asset_detail.html:157 -#: assets/templates/assets/asset_group_list.html:17 -#: assets/templates/assets/idc_detail.html:97 -#: assets/templates/assets/system_user_detail.html:99 -#: assets/templates/assets/system_user_list.html:21 perms/models.py:40 -#: perms/templates/perms/asset_permission_detail.html:98 -#: users/models/group.py:19 users/models/user.py:43 -#: users/templates/users/user_detail.html:113 -#: users/templates/users/user_group_detail.html:70 -#: users/templates/users/user_group_list.html:14 -#: users/templates/users/user_profile.html:118 -msgid "Comment" -msgstr "备注" - -#: applications/templates/applications/terminal_detail.html:13 -#: applications/views.py:52 -msgid "Terminal detail" -msgstr "终端详情" - -#: applications/templates/applications/terminal_detail.html:59 -#: assets/models/asset.py:89 assets/models/group.py:21 assets/models/idc.py:30 -#: assets/templates/assets/admin_user_detail.html:61 -#: assets/templates/assets/idc_detail.html:89 -#: assets/templates/assets/system_user_detail.html:91 perms/models.py:39 -#: perms/templates/perms/asset_permission_detail.html:90 -#: users/models/group.py:21 users/templates/users/user_group_detail.html:66 -msgid "Date created" -msgstr "创建日期" - -#: applications/templates/applications/terminal_list.html:30 -#: assets/models/asset.py:41 assets/templates/assets/admin_user_detail.html:99 -#: assets/templates/assets/asset_detail.html:61 -#: assets/templates/assets/asset_group_detail.html:46 -#: assets/templates/assets/asset_list.html:38 -#: assets/templates/assets/idc_assets.html:55 -#: assets/templates/assets/system_user_asset.html:48 -#: assets/templates/assets/user_asset_list.html:34 -#: audits/templates/audits/login_log_list.html:52 -#: perms/templates/perms/asset_permission_asset.html:65 -#: users/templates/users/user_granted_asset.html:53 -#: users/templates/users/user_group_granted_asset.html:53 -msgid "IP" -msgstr "IP" - -#: applications/templates/applications/terminal_list.html:31 -#: assets/templates/assets/asset_group_detail.html:48 -#: assets/templates/assets/asset_list.html:40 -#: assets/templates/assets/idc_assets.html:57 -#: assets/templates/assets/user_asset_list.html:36 -#: audits/templates/audits/login_log_list.html:50 -msgid "Type" -msgstr "类型" - -#: applications/templates/applications/terminal_list.html:32 -#: templates/_nav.html:59 -msgid "Session online" -msgstr "在线session" - -#: applications/templates/applications/terminal_list.html:33 -#: assets/templates/assets/asset_detail.html:175 -#: assets/templates/assets/asset_list.html:57 perms/models.py:33 -#: perms/templates/perms/asset_permission_create_update.html:47 -#: users/templates/users/_select_user_modal.html:18 -#: users/templates/users/user_detail.html:130 -#: users/templates/users/user_list.html:27 -#: users/templates/users/user_profile.html:63 -msgid "Active" -msgstr "激活" - -#: applications/templates/applications/terminal_list.html:34 -#: assets/templates/assets/admin_user_detail.html:101 -#: assets/templates/assets/asset_group_detail.html:49 -#: assets/templates/assets/asset_list.html:44 -#: assets/templates/assets/user_asset_list.html:40 -msgid "Alive" -msgstr "在线" - -#: applications/templates/applications/terminal_list.html:35 -#: assets/templates/assets/admin_user_detail.html:102 -#: assets/templates/assets/admin_user_list.html:19 -#: assets/templates/assets/asset_group_detail.html:50 -#: assets/templates/assets/asset_group_list.html:18 -#: assets/templates/assets/asset_list.html:45 -#: assets/templates/assets/idc_list.html:23 -#: assets/templates/assets/system_user_asset.html:51 -#: assets/templates/assets/system_user_list.html:22 -#: ops/templates/ops/task_list.html:45 -#: perms/templates/perms/asset_permission_list.html:18 -#: users/templates/users/user_group_list.html:15 -#: users/templates/users/user_list.html:28 -msgid "Action" -msgstr "动作" - -#: applications/templates/applications/terminal_list.html:71 -#: assets/templates/assets/admin_user_detail.html:306 -#: assets/templates/assets/admin_user_list.html:43 -#: assets/templates/assets/asset_group_detail.html:223 -#: assets/templates/assets/asset_group_list.html:55 -#: assets/templates/assets/asset_list.html:117 -#: assets/templates/assets/idc_list.html:55 -#: assets/templates/assets/system_user_asset.html:256 -#: assets/templates/assets/system_user_list.html:58 -#: perms/templates/perms/asset_permission_list.html:44 -#: users/templates/users/user_group_list.html:50 -#: users/templates/users/user_list.html:92 -msgid "Update" -msgstr "更新" - -#: applications/templates/applications/terminal_list.html:73 -#: assets/templates/assets/admin_user_list.html:44 -#: assets/templates/assets/asset_group_list.html:56 -#: assets/templates/assets/asset_list.html:118 -#: assets/templates/assets/idc_list.html:56 -#: assets/templates/assets/system_user_asset.html:257 -#: assets/templates/assets/system_user_list.html:59 -#: ops/templates/ops/task_list.html:72 -#: perms/templates/perms/asset_permission_list.html:47 -#: users/templates/users/user_group_list.html:52 -#: users/templates/users/user_list.html:93 -msgid "Delete" -msgstr "删除" - -#: applications/templates/applications/terminal_list.html:76 -msgid "Accept" -msgstr "接受" - -#: applications/templates/applications/terminal_list.html:78 -msgid "Reject" -msgstr "拒绝" - -#: applications/templates/applications/terminal_list.html:81 -msgid "Connect" -msgstr "连接" - -#: applications/templates/applications/terminal_modal_accept.html:5 -msgid "Accept terminal registration" -msgstr "接受终端注册" - -#: applications/templates/applications/terminal_update.html:33 -msgid "Info" -msgstr "信息" - -#: applications/templates/applications/terminal_update.html:40 -#: assets/templates/assets/_system_user.html:65 -#: assets/templates/assets/asset_create.html:32 -#: assets/templates/assets/asset_update.html:46 -#: perms/templates/perms/asset_permission_create_update.html:45 -msgid "Other" -msgstr "其它" - -#: applications/templates/applications/terminal_update.html:45 -#: assets/templates/assets/_system_user.html:71 -#: assets/templates/assets/admin_user_create_update.html:45 -#: assets/templates/assets/admin_user_detail.html:152 -#: assets/templates/assets/asset_bulk_update.html:23 -#: assets/templates/assets/asset_create.html:40 -#: assets/templates/assets/asset_update.html:55 -#: assets/templates/assets/idc_create_update.html:51 -#: assets/templates/assets/system_user_detail.html:138 -#: perms/templates/perms/asset_permission_create_update.html:67 -#: users/templates/users/_user.html:49 -#: users/templates/users/user_bulk_update.html:23 -#: users/templates/users/user_detail.html:162 -#: users/templates/users/user_detail.html:170 -#: users/templates/users/user_password_update.html:58 -#: users/templates/users/user_profile.html:139 -#: users/templates/users/user_profile.html:147 -#: users/templates/users/user_profile_update.html:63 -#: users/templates/users/user_pubkey_update.html:70 -msgid "Reset" -msgstr "重置" - -#: applications/templates/applications/terminal_update.html:46 -#: assets/templates/assets/_system_user.html:72 -#: assets/templates/assets/admin_user_create_update.html:46 -#: assets/templates/assets/asset_bulk_update.html:24 -#: assets/templates/assets/asset_create.html:41 -#: assets/templates/assets/asset_group_list.html:32 -#: assets/templates/assets/asset_list.html:61 -#: assets/templates/assets/asset_update.html:56 -#: assets/templates/assets/idc_assets.html:72 -#: assets/templates/assets/idc_create_update.html:52 -#: assets/templates/assets/idc_list.html:36 -#: assets/templates/assets/system_user_list.html:36 -#: audits/templates/audits/proxy_log_online_list.html:124 -#: perms/templates/perms/asset_permission_create_update.html:68 -#: users/templates/users/_user.html:50 -#: users/templates/users/first_login.html:62 -#: users/templates/users/forgot_password.html:44 -#: users/templates/users/user_asset_permission.html:99 -#: users/templates/users/user_bulk_update.html:24 -#: users/templates/users/user_group_asset_permission.html:100 -#: users/templates/users/user_group_list.html:26 -#: users/templates/users/user_list.html:44 -#: users/templates/users/user_password_update.html:59 -#: users/templates/users/user_profile_update.html:64 -#: users/templates/users/user_pubkey_update.html:71 -msgid "Submit" -msgstr "提交" - -#: applications/views.py:24 audits/models.py:47 -#: audits/templates/audits/proxy_log_offline_list.html:67 -#: audits/templates/audits/proxy_log_online_list.html:67 templates/_nav.html:42 -#: templates/_nav_user.html:14 -msgid "Terminal" -msgstr "终端" - -#: applications/views.py:25 -msgid "Terminal list" -msgstr "终端列表" - -#: applications/views.py:39 applications/views.py:51 templates/_nav.html:39 -msgid "Applications" -msgstr "应用程序" - -#: applications/views.py:39 -msgid "Update terminal" -msgstr "更新终端" - -#: applications/views.py:99 applications/views.py:100 -msgid "Redirect to web terminal" -msgstr "重定向到web terminal" - -#: applications/views.py:107 -msgid "Connect ssh terminal" -msgstr "连接ssh终端" - -#: applications/views.py:108 -msgid "" -"You should use your ssh client tools connect terminal: {}

{}" -msgstr "你可以使用ssh客户端工具连接终端" - -#: assets/forms.py:22 assets/forms.py:53 assets/forms.py:92 -#: assets/templates/assets/admin_user_detail.html:199 perms/forms.py:30 +#: assets/forms.py:25 assets/forms.py:47 assets/forms.py:80 perms/forms.py:30 #: perms/templates/perms/asset_permission_asset.html:137 users/forms.py:187 #: users/forms.py:213 msgid "Select asset groups" -msgstr "添加到资产组" +msgstr "选择资产组" -#: assets/forms.py:25 assets/forms.py:56 assets/forms.py:95 -msgid "Select asset admin user" -msgstr "选择资产管理用户" - -#: assets/forms.py:30 assets/forms.py:61 -msgid "" -"System user will be granted for user to login assets (using ansible create " -"automatic)" -msgstr "系统用户会被授权给用户用来登录资产, ansible会自动创建" - -#: assets/forms.py:32 assets/forms.py:63 -msgid "" -"Admin user should be exist on asset already, And have sudo ALL permission" -msgstr "" -"管理用户应该已经在资产上存在, 可以是root或者其他拥有 sudo ALL 权限的用户" +#: assets/forms.py:26 assets/templates/assets/admin_user_detail.html:110 +msgid "Select cluster" +msgstr "选择集群" -#: assets/forms.py:38 +#: assets/forms.py:27 msgid "Select admin user" msgstr "选择管理用户" -#: assets/forms.py:72 assets/forms.py:76 assets/forms.py:117 -#: assets/forms.py:149 perms/forms.py:27 +#: assets/forms.py:34 assets/forms.py:55 +msgid "Host level admin user, If not set using cluster admin user default" +msgstr "主机级别管理用户,如果没有设置则默认使用集群级别管理用户" + +#: assets/forms.py:48 +msgid "Default using cluster admin user" +msgstr "默认使用管理用户" + +#: assets/forms.py:63 assets/forms.py:67 assets/forms.py:102 +#: assets/templates/assets/asset_group_detail.html:70 perms/forms.py:27 #: perms/templates/perms/asset_permission_asset.html:109 users/forms.py:184 #: users/forms.py:210 msgid "Select assets" msgstr "选择资产" -#: assets/forms.py:81 assets/models/asset.py:43 -#: assets/templates/assets/admin_user_detail.html:100 +#: assets/forms.py:71 assets/models/asset.py:49 +#: assets/templates/assets/admin_user_assets.html:61 #: assets/templates/assets/asset_detail.html:69 #: assets/templates/assets/asset_group_detail.html:47 -#: assets/templates/assets/asset_list.html:39 -#: assets/templates/assets/idc_assets.html:56 -#: assets/templates/assets/system_user_asset.html:49 +#: assets/templates/assets/asset_list.html:32 +#: assets/templates/assets/cluster_assets.html:56 +#: assets/templates/assets/system_user_asset.html:59 #: assets/templates/assets/user_asset_list.html:35 #: perms/templates/perms/asset_permission_asset.html:66 #: users/templates/users/user_granted_asset.html:54 @@ -352,17 +60,14 @@ msgstr "选择资产" msgid "Port" msgstr "端口" -#: assets/forms.py:114 assets/forms.py:146 -#: assets/templates/assets/asset_group_list.html:16 -#: assets/templates/assets/system_user_list.html:19 audits/models.py:41 -#: audits/templates/audits/command_log_list.html:35 -#: audits/templates/audits/proxy_log_offline_list.html:34 -#: audits/templates/audits/proxy_log_offline_list.html:65 -#: audits/templates/audits/proxy_log_online_list.html:34 -#: audits/templates/audits/proxy_log_online_list.html:65 -#: ops/templates/ops/task_list.html:40 +#: assets/forms.py:99 assets/templates/assets/asset_group_list.html:16 +#: assets/templates/assets/system_user_list.html:19 #: perms/templates/perms/asset_permission_create_update.html:40 -#: perms/templates/perms/asset_permission_list.html:14 templates/_nav.html:21 +#: perms/templates/perms/asset_permission_list.html:13 templates/_nav.html:22 +#: terminal/backends/command/models.py:11 terminal/models.py:91 +#: terminal/templates/terminal/command_list.html:39 +#: terminal/templates/terminal/session_list.html:38 +#: terminal/templates/terminal/session_list.html:69 #: users/templates/users/user_asset_permission.html:55 #: users/templates/users/user_granted_asset.html:89 #: users/templates/users/user_group_asset_permission.html:55 @@ -370,80 +75,125 @@ msgstr "端口" msgid "Asset" msgstr "资产" -#: assets/forms.py:185 +#: assets/forms.py:134 assets/forms.py:191 assets/forms.py:247 +#: assets/forms.py:270 assets/models/cluster.py:18 assets/models/group.py:21 +#: assets/models/user.py:25 assets/templates/assets/admin_user_detail.html:56 +#: assets/templates/assets/admin_user_list.html:22 +#: assets/templates/assets/asset_group_list.html:15 +#: assets/templates/assets/cluster_detail.html:57 +#: assets/templates/assets/cluster_list.html:18 +#: assets/templates/assets/system_user_detail.html:58 +#: assets/templates/assets/system_user_list.html:17 ops/models.py:24 +#: ops/templates/ops/task_detail.html:56 ops/templates/ops/task_list.html:39 +#: perms/models.py:20 +#: perms/templates/perms/asset_permission_create_update.html:33 +#: perms/templates/perms/asset_permission_detail.html:62 +#: perms/templates/perms/asset_permission_list.html:10 +#: perms/templates/perms/asset_permission_user.html:64 terminal/models.py:14 +#: terminal/models.py:115 terminal/templates/terminal/terminal_detail.html:43 +#: terminal/templates/terminal/terminal_list.html:29 users/models/group.py:21 +#: users/models/user.py:32 users/templates/users/_select_user_modal.html:13 +#: users/templates/users/user_asset_permission.html:54 +#: users/templates/users/user_detail.html:65 +#: users/templates/users/user_granted_asset.html:88 +#: users/templates/users/user_group_asset_permission.html:54 +#: users/templates/users/user_group_detail.html:58 +#: users/templates/users/user_group_granted_asset.html:88 +#: users/templates/users/user_group_list.html:12 +#: users/templates/users/user_list.html:23 +#: users/templates/users/user_profile.html:51 +#: users/templates/users/user_pubkey_update.html:53 +msgid "Name" +msgstr "名称" + +#: assets/forms.py:149 msgid "If also set private key, use that first" msgstr "如果设置私钥,则优先使用密钥" -#: assets/forms.py:210 assets/forms.py:278 assets/forms.py:338 +#: assets/forms.py:174 assets/forms.py:229 assets/forms.py:293 msgid "Invalid private key" msgstr "ssh密钥不合法" -#: assets/forms.py:220 +#: assets/forms.py:184 msgid "Password and private key file must be input one" msgstr "密码和私钥, 必须输入一个" -#: assets/forms.py:228 assets/forms.py:296 assets/forms.py:350 -#: assets/models/user.py:35 assets/models/user.py:136 -#: assets/templates/assets/admin_user_detail.html:57 -#: assets/templates/assets/admin_user_list.html:16 -#: assets/templates/assets/system_user_detail.html:57 -#: assets/templates/assets/system_user_list.html:18 audits/models.py:17 -#: audits/templates/audits/login_log_list.html:48 +#: assets/forms.py:192 assets/forms.py:248 assets/forms.py:271 +#: assets/models/user.py:26 assets/templates/assets/admin_user_detail.html:60 +#: assets/templates/assets/admin_user_list.html:23 +#: assets/templates/assets/system_user_detail.html:62 +#: assets/templates/assets/system_user_list.html:18 #: perms/templates/perms/asset_permission_user.html:65 users/forms.py:14 -#: users/models/user.py:31 users/templates/users/_select_user_modal.html:14 +#: users/models/authentication.py:44 users/models/user.py:31 +#: users/templates/users/_select_user_modal.html:14 #: users/templates/users/login.html:53 +#: users/templates/users/login_log_list.html:48 #: users/templates/users/user_detail.html:69 #: users/templates/users/user_list.html:24 #: users/templates/users/user_profile.html:47 msgid "Username" msgstr "用户名" -#: assets/forms.py:273 -msgid "Private key required" -msgstr "密钥不能为空" +#: assets/forms.py:236 assets/forms.py:299 +msgid "Auth info required, private_key or password" +msgstr "密钥和密码必须填写一个" -#: assets/forms.py:284 -msgid "Password required" -msgstr "密码不能为空" +#: assets/forms.py:251 assets/forms.py:274 +msgid " Select clusters" +msgstr "选择集群" -#: assets/models/asset.py:23 +#: assets/models/asset.py:28 msgid "In use" msgstr "使用中" -#: assets/models/asset.py:24 +#: assets/models/asset.py:29 msgid "Out of use" msgstr "未使用" -#: assets/models/asset.py:27 +#: assets/models/asset.py:32 msgid "Server" msgstr "物理机" -#: assets/models/asset.py:28 +#: assets/models/asset.py:33 msgid "VM" msgstr "虚拟机" -#: assets/models/asset.py:29 +#: assets/models/asset.py:34 msgid "Switch" msgstr "交换机" -#: assets/models/asset.py:30 +#: assets/models/asset.py:35 msgid "Router" msgstr "路由器" -#: assets/models/asset.py:31 +#: assets/models/asset.py:36 msgid "Firewall" msgstr "防火墙" -#: assets/models/asset.py:32 +#: assets/models/asset.py:37 msgid "Storage" msgstr "存储" -#: assets/models/asset.py:42 assets/templates/assets/admin_user_detail.html:98 +#: assets/models/asset.py:47 assets/templates/assets/admin_user_assets.html:60 +#: assets/templates/assets/asset_detail.html:61 +#: assets/templates/assets/asset_group_detail.html:46 +#: assets/templates/assets/asset_list.html:31 +#: assets/templates/assets/cluster_assets.html:55 +#: assets/templates/assets/system_user_asset.html:58 +#: assets/templates/assets/user_asset_list.html:34 +#: perms/templates/perms/asset_permission_asset.html:65 +#: users/templates/users/login_log_list.html:51 +#: users/templates/users/user_granted_asset.html:53 +#: users/templates/users/user_group_granted_asset.html:53 +msgid "IP" +msgstr "IP" + +#: assets/models/asset.py:48 assets/templates/assets/admin_user_assets.html:59 #: assets/templates/assets/asset_detail.html:57 #: assets/templates/assets/asset_group_detail.html:45 -#: assets/templates/assets/asset_list.html:37 -#: assets/templates/assets/idc_assets.html:54 -#: assets/templates/assets/system_user_asset.html:47 +#: assets/templates/assets/asset_list.html:30 +#: assets/templates/assets/cluster_assets.html:54 +#: assets/templates/assets/system_user_asset.html:57 #: assets/templates/assets/user_asset_list.html:33 #: perms/templates/perms/asset_permission_asset.html:64 #: users/templates/users/user_granted_asset.html:52 @@ -451,182 +201,203 @@ msgstr "存储" msgid "Hostname" msgstr "主机名" -#: assets/models/asset.py:45 assets/templates/assets/asset_detail.html:211 -#: assets/views/asset.py:222 assets/views/asset.py:262 +#: assets/models/asset.py:50 assets/templates/assets/asset_detail.html:205 +#: assets/views/asset.py:217 assets/views/asset.py:257 msgid "Asset groups" msgstr "资产组" -#: assets/models/asset.py:47 assets/templates/assets/asset_detail.html:73 -#: templates/_nav.html:24 -msgid "Admin user" -msgstr "管理用户" - -#: assets/models/asset.py:50 -msgid "System User" -msgstr "系统用户" - -#: assets/models/asset.py:52 assets/templates/assets/asset_detail.html:85 -#: templates/_nav.html:23 +#: assets/models/asset.py:51 assets/models/user.py:198 +#: assets/templates/assets/asset_detail.html:85 templates/_nav.html:24 msgid "Cluster" msgstr "机房" -#: assets/models/asset.py:53 assets/templates/assets/asset_detail.html:129 +#: assets/models/asset.py:52 assets/templates/assets/asset_detail.html:129 msgid "Is active" msgstr "激活" -#: assets/models/asset.py:55 assets/templates/assets/asset_detail.html:133 +#: assets/models/asset.py:53 assets/templates/assets/asset_detail.html:133 msgid "Asset type" msgstr "系统类型" -#: assets/models/asset.py:57 assets/templates/assets/asset_detail.html:137 +#: assets/models/asset.py:54 assets/templates/assets/asset_detail.html:137 msgid "Asset environment" msgstr "资产环境" -#: assets/models/asset.py:59 assets/templates/assets/asset_detail.html:125 +#: assets/models/asset.py:55 assets/templates/assets/asset_detail.html:125 msgid "Asset status" msgstr "资产状态" -#: assets/models/asset.py:63 assets/templates/assets/asset_detail.html:65 +#: assets/models/asset.py:58 assets/models/cluster.py:19 +#: assets/templates/assets/asset_detail.html:73 +#: assets/templates/assets/cluster_list.html:19 templates/_nav.html:25 +msgid "Admin user" +msgstr "管理用户" + +#: assets/models/asset.py:61 assets/templates/assets/asset_detail.html:65 msgid "Public IP" msgstr "公网IP" -#: assets/models/asset.py:65 +#: assets/models/asset.py:62 msgid "Remote control card IP" msgstr "远控卡IP" -#: assets/models/asset.py:66 assets/templates/assets/asset_detail.html:89 +#: assets/models/asset.py:63 assets/templates/assets/asset_detail.html:89 msgid "Cabinet number" msgstr "机柜编号" -#: assets/models/asset.py:67 assets/templates/assets/asset_detail.html:93 +#: assets/models/asset.py:64 assets/templates/assets/asset_detail.html:93 msgid "Cabinet position" msgstr "机柜层号" -#: assets/models/asset.py:68 assets/templates/assets/asset_detail.html:145 +#: assets/models/asset.py:65 assets/templates/assets/asset_detail.html:145 msgid "Asset number" msgstr "资产编号" -#: assets/models/asset.py:71 assets/templates/assets/asset_detail.html:97 +#: assets/models/asset.py:68 assets/templates/assets/asset_detail.html:97 msgid "Vendor" msgstr "制造商" -#: assets/models/asset.py:72 assets/templates/assets/asset_detail.html:101 +#: assets/models/asset.py:69 assets/templates/assets/asset_detail.html:101 msgid "Model" msgstr "型号" -#: assets/models/asset.py:73 assets/templates/assets/asset_detail.html:141 +#: assets/models/asset.py:70 assets/templates/assets/asset_detail.html:141 msgid "Serial number" msgstr "序列号" -#: assets/models/asset.py:75 +#: assets/models/asset.py:72 msgid "CPU model" msgstr "CPU型号" -#: assets/models/asset.py:76 +#: assets/models/asset.py:73 msgid "CPU count" msgstr "CPU数量" -#: assets/models/asset.py:77 +#: assets/models/asset.py:74 msgid "CPU cores" msgstr "CPU核数" -#: assets/models/asset.py:78 assets/templates/assets/asset_detail.html:109 +#: assets/models/asset.py:75 assets/templates/assets/asset_detail.html:109 msgid "Memory" msgstr "内存" -#: assets/models/asset.py:79 +#: assets/models/asset.py:76 msgid "Disk total" msgstr "硬盘大小" -#: assets/models/asset.py:80 +#: assets/models/asset.py:77 msgid "Disk info" msgstr "硬盘信息" -#: assets/models/asset.py:82 assets/templates/assets/asset_detail.html:117 +#: assets/models/asset.py:79 assets/templates/assets/asset_detail.html:117 msgid "Platform" msgstr "系统平台" -#: assets/models/asset.py:83 assets/templates/assets/asset_detail.html:121 +#: assets/models/asset.py:80 assets/templates/assets/asset_detail.html:121 msgid "OS" msgstr "操作系统" -#: assets/models/asset.py:84 +#: assets/models/asset.py:81 msgid "OS version" msgstr "系统版本" -#: assets/models/asset.py:85 +#: assets/models/asset.py:82 msgid "OS arch" msgstr "系统架构" -#: assets/models/asset.py:86 +#: assets/models/asset.py:83 msgid "Hostname raw" msgstr "主机名原始" -#: assets/models/asset.py:88 assets/models/group.py:20 assets/models/idc.py:34 -#: assets/models/user.py:49 assets/models/user.py:154 -#: assets/templates/assets/admin_user_detail.html:65 +#: assets/models/asset.py:85 assets/models/cluster.py:28 +#: assets/models/group.py:22 assets/models/user.py:33 +#: assets/templates/assets/admin_user_detail.html:68 #: assets/templates/assets/asset_detail.html:149 -#: assets/templates/assets/idc_detail.html:93 -#: assets/templates/assets/system_user_detail.html:95 perms/models.py:37 +#: assets/templates/assets/cluster_detail.html:93 +#: assets/templates/assets/system_user_detail.html:96 perms/models.py:36 #: perms/templates/perms/asset_permission_detail.html:94 #: users/models/user.py:47 users/templates/users/user_detail.html:101 msgid "Created by" msgstr "创建者" -#: assets/models/group.py:33 assets/models/idc.py:43 -msgid "Default" -msgstr "默认" +#: assets/models/asset.py:86 assets/models/cluster.py:26 +#: assets/models/group.py:23 assets/templates/assets/admin_user_detail.html:64 +#: assets/templates/assets/cluster_detail.html:89 +#: assets/templates/assets/system_user_detail.html:92 +#: ops/templates/ops/task_detail.html:60 perms/models.py:38 +#: perms/templates/perms/asset_permission_detail.html:90 +#: terminal/templates/terminal/terminal_detail.html:59 users/models/group.py:24 +#: users/templates/users/user_group_detail.html:66 +msgid "Date created" +msgstr "创建日期" -#: assets/models/group.py:33 -msgid "Default asset group" -msgstr "默认资产组" +#: assets/models/asset.py:87 assets/models/cluster.py:29 +#: assets/models/group.py:24 assets/models/user.py:30 +#: assets/templates/assets/admin_user_detail.html:72 +#: assets/templates/assets/admin_user_list.html:26 +#: assets/templates/assets/asset_detail.html:157 +#: assets/templates/assets/asset_group_list.html:17 +#: assets/templates/assets/cluster_detail.html:97 +#: assets/templates/assets/system_user_detail.html:100 +#: assets/templates/assets/system_user_list.html:21 perms/models.py:39 +#: perms/templates/perms/asset_permission_detail.html:98 terminal/models.py:22 +#: terminal/templates/terminal/terminal_detail.html:63 users/models/group.py:22 +#: users/models/user.py:44 users/templates/users/user_detail.html:113 +#: users/templates/users/user_group_detail.html:70 +#: users/templates/users/user_group_list.html:14 +#: users/templates/users/user_profile.html:118 +msgid "Comment" +msgstr "备注" -#: assets/models/idc.py:20 assets/templates/assets/idc_detail.html:61 +#: assets/models/cluster.py:20 assets/templates/assets/cluster_detail.html:61 msgid "Bandwidth" msgstr "带宽" -#: assets/models/idc.py:22 assets/templates/assets/idc_detail.html:65 -#: assets/templates/assets/idc_list.html:20 +#: assets/models/cluster.py:21 assets/templates/assets/cluster_detail.html:65 +#: assets/templates/assets/cluster_list.html:21 msgid "Contact" msgstr "联系人" -#: assets/models/idc.py:24 assets/templates/assets/idc_detail.html:69 -#: assets/templates/assets/idc_list.html:21 users/models/user.py:38 +#: assets/models/cluster.py:22 assets/templates/assets/cluster_detail.html:69 +#: assets/templates/assets/cluster_list.html:22 users/models/user.py:38 #: users/templates/users/user_detail.html:78 msgid "Phone" msgstr "手机" -#: assets/models/idc.py:26 assets/templates/assets/idc_detail.html:73 +#: assets/models/cluster.py:23 assets/templates/assets/cluster_detail.html:73 msgid "Address" msgstr "地址" -#: assets/models/idc.py:27 assets/templates/assets/idc_detail.html:77 +#: assets/models/cluster.py:24 assets/templates/assets/cluster_detail.html:77 msgid "Intranet" msgstr "内网" -#: assets/models/idc.py:28 assets/templates/assets/idc_detail.html:81 +#: assets/models/cluster.py:25 assets/templates/assets/cluster_detail.html:81 msgid "Extranet" msgstr "外网" -#: assets/models/idc.py:32 assets/templates/assets/idc_detail.html:85 -#: assets/templates/assets/idc_list.html:22 +#: assets/models/cluster.py:27 assets/templates/assets/cluster_detail.html:85 +#: assets/templates/assets/cluster_list.html:23 msgid "Operator" msgstr "运营商" -#: assets/models/idc.py:43 users/models/user.py:253 +#: assets/models/cluster.py:36 assets/models/group.py:34 +msgid "Default" +msgstr "默认" + +#: assets/models/cluster.py:36 users/models/user.py:253 msgid "System" msgstr "系统" -#: assets/models/idc.py:43 +#: assets/models/cluster.py:36 msgid "Default Cluster" msgstr "默认Cluster" -#: assets/models/user.py:24 -#, python-format -msgid "%(value)s is not an even number" -msgstr "%(value)s is not an even number" +#: assets/models/group.py:34 +msgid "Default asset group" +msgstr "默认资产组" -#: assets/models/user.py:37 assets/models/user.py:138 users/forms.py:16 +#: assets/models/user.py:27 users/forms.py:16 #: users/templates/users/login.html:56 #: users/templates/users/reset_password.html:52 #: users/templates/users/user_create.html:9 @@ -639,49 +410,56 @@ msgstr "%(value)s is not an even number" msgid "Password" msgstr "密码" -#: assets/models/user.py:38 assets/models/user.py:142 +#: assets/models/user.py:28 msgid "SSH private key" msgstr "ssh密钥" -#: assets/models/user.py:45 assets/models/user.py:144 +#: assets/models/user.py:29 msgid "SSH public key" msgstr "ssh公钥" -#: assets/models/user.py:140 assets/templates/assets/system_user_detail.html:61 +#: assets/models/user.py:199 +msgid "Priority" +msgstr "" + +#: assets/models/user.py:200 assets/templates/assets/system_user_detail.html:66 msgid "Protocol" msgstr "协议" -#: assets/models/user.py:146 -msgid "Auth method" -msgstr "认证方式" - -#: assets/models/user.py:147 assets/templates/assets/_system_user.html:60 -#: assets/templates/assets/system_user_detail.html:65 +#: assets/models/user.py:201 assets/templates/assets/_system_user.html:59 +#: assets/templates/assets/system_user_detail.html:118 msgid "Auto push" msgstr "自动推送" -#: assets/models/user.py:149 assets/templates/assets/system_user_detail.html:69 +#: assets/models/user.py:202 assets/templates/assets/system_user_detail.html:70 msgid "Sudo" msgstr "Sudo" -#: assets/models/user.py:151 assets/templates/assets/system_user_detail.html:74 +#: assets/models/user.py:203 assets/templates/assets/system_user_detail.html:75 msgid "Shell" msgstr "Shell" +#: assets/models/utils.py:29 +#, python-format +msgid "%(value)s is not an even number" +msgstr "%(value)s is not an even number" + #: assets/templates/assets/_asset_group_bulk_update_modal.html:5 msgid "Update Asset Group" msgstr "编辑资产组" #: assets/templates/assets/_asset_group_bulk_update_modal.html:8 msgid "Hint: only change the field you want to update." -msgstr "" +msgstr "仅修改你需要更新的字段" #: assets/templates/assets/_asset_group_bulk_update_modal.html:12 -#: assets/views/admin_user.py:27 assets/views/group.py:30 -#: assets/views/group.py:53 assets/views/group.py:73 assets/views/group.py:98 -#: assets/views/idc.py:22 assets/views/idc.py:87 assets/views/system_user.py:30 -#: assets/views/system_user.py:49 assets/views/system_user.py:73 -#: assets/views/system_user.py:100 templates/_nav.html:18 +#: assets/templates/assets/system_user_asset.html:26 +#: assets/views/admin_user.py:27 assets/views/cluster.py:22 +#: assets/views/cluster.py:87 assets/views/group.py:30 assets/views/group.py:53 +#: assets/views/group.py:71 assets/views/group.py:93 +#: assets/views/system_user.py:30 assets/views/system_user.py:49 +#: assets/views/system_user.py:72 assets/views/system_user.py:92 +#: templates/_nav.html:19 msgid "Assets" msgstr "资产管理" @@ -732,113 +510,246 @@ msgstr "创建系统用户" #: assets/templates/assets/_system_user.html:37 #: assets/templates/assets/asset_create.html:14 #: assets/templates/assets/asset_update.html:19 +#: assets/templates/assets/cluster_create_update.html:35 msgid "Basic" msgstr "基本" -#: assets/templates/assets/_system_user.html:41 +#: assets/templates/assets/_system_user.html:45 +#: assets/templates/assets/asset_create.html:24 +#: assets/templates/assets/asset_update.html:29 +#: assets/templates/assets/system_user_asset.html:21 +#: assets/templates/assets/system_user_auth.html:18 +#: assets/templates/assets/system_user_detail.html:22 msgid "Auth" msgstr "认证" -#: assets/templates/assets/_system_user.html:49 +#: assets/templates/assets/_system_user.html:48 msgid "Auto generate key" msgstr "自动生成秘钥" -#: assets/templates/assets/admin_user_create_update.html:16 -#: assets/templates/assets/admin_user_list.html:7 -msgid "Create admin user" -msgstr "创建管理用户" +#: assets/templates/assets/_system_user.html:65 +#: assets/templates/assets/asset_create.html:32 +#: assets/templates/assets/asset_update.html:47 +#: assets/templates/assets/cluster_create_update.html:45 +#: perms/templates/perms/asset_permission_create_update.html:45 +#: terminal/templates/terminal/terminal_update.html:40 +msgid "Other" +msgstr "其它" + +#: assets/templates/assets/_system_user.html:71 +#: assets/templates/assets/admin_user_create_update.html:45 +#: assets/templates/assets/asset_bulk_update.html:23 +#: assets/templates/assets/asset_create.html:40 +#: assets/templates/assets/asset_update.html:56 +#: assets/templates/assets/cluster_create_update.html:53 +#: assets/templates/assets/system_user_auth.html:59 +#: perms/templates/perms/asset_permission_create_update.html:67 +#: terminal/templates/terminal/terminal_update.html:45 +#: users/templates/users/_user.html:49 +#: users/templates/users/user_bulk_update.html:23 +#: users/templates/users/user_detail.html:162 +#: users/templates/users/user_detail.html:170 +#: users/templates/users/user_password_update.html:58 +#: users/templates/users/user_profile.html:139 +#: users/templates/users/user_profile.html:147 +#: users/templates/users/user_profile_update.html:63 +#: users/templates/users/user_pubkey_update.html:70 +msgid "Reset" +msgstr "重置" + +#: assets/templates/assets/_system_user.html:72 +#: assets/templates/assets/admin_user_create_update.html:46 +#: assets/templates/assets/asset_bulk_update.html:24 +#: assets/templates/assets/asset_create.html:41 +#: assets/templates/assets/asset_group_list.html:32 +#: assets/templates/assets/asset_list.html:54 +#: assets/templates/assets/asset_update.html:57 +#: assets/templates/assets/cluster_create_update.html:54 +#: assets/templates/assets/cluster_list.html:37 +#: assets/templates/assets/system_user_auth.html:60 +#: assets/templates/assets/system_user_list.html:36 +#: perms/templates/perms/asset_permission_create_update.html:68 +#: terminal/templates/terminal/terminal_update.html:46 +#: users/templates/users/_user.html:50 +#: users/templates/users/first_login.html:62 +#: users/templates/users/forgot_password.html:44 +#: users/templates/users/user_asset_permission.html:99 +#: users/templates/users/user_bulk_update.html:24 +#: users/templates/users/user_group_asset_permission.html:100 +#: users/templates/users/user_group_list.html:26 +#: users/templates/users/user_list.html:44 +#: users/templates/users/user_password_update.html:59 +#: users/templates/users/user_profile_update.html:64 +#: users/templates/users/user_pubkey_update.html:71 +msgid "Submit" +msgstr "提交" +#: assets/templates/assets/admin_user_assets.html:18 #: assets/templates/assets/admin_user_detail.html:18 -#: assets/templates/assets/asset_group_detail.html:16 -#: assets/templates/assets/idc_assets.html:20 -#: assets/templates/assets/idc_detail.html:17 +#: assets/templates/assets/cluster_assets.html:20 +#: assets/templates/assets/cluster_detail.html:17 #: assets/templates/assets/system_user_asset.html:17 +#: assets/templates/assets/system_user_auth.html:14 #: assets/templates/assets/system_user_detail.html:18 +#: ops/templates/ops/task_adhoc.html:109 +#: ops/templates/ops/task_history.html:118 #: perms/templates/perms/asset_permission_asset.html:18 #: perms/templates/perms/asset_permission_detail.html:18 #: perms/templates/perms/asset_permission_user.html:18 msgid "Detail" msgstr "详情" -#: assets/templates/assets/admin_user_detail.html:79 +#: assets/templates/assets/admin_user_assets.html:21 +#: assets/templates/assets/admin_user_detail.html:21 +#, fuzzy +#| msgid "Asset list of " +msgid "Assets list" +msgstr "资产列表" + +#: assets/templates/assets/admin_user_assets.html:37 #: assets/templates/assets/asset_group_detail.html:26 #: perms/templates/perms/asset_permission_asset.html:45 msgid "Asset list of " msgstr "资产列表" -#: assets/templates/assets/admin_user_detail.html:125 -#: assets/templates/assets/system_user_detail.html:111 +#: assets/templates/assets/admin_user_assets.html:62 +#: assets/templates/assets/asset_group_detail.html:48 +#: assets/templates/assets/asset_list.html:33 +#: assets/templates/assets/cluster_assets.html:57 +#: assets/templates/assets/user_asset_list.html:36 +#: users/templates/users/login_log_list.html:49 +msgid "Type" +msgstr "类型" + +#: assets/templates/assets/admin_user_assets.html:63 +#: assets/templates/assets/cluster_assets.html:58 +#: assets/templates/assets/user_asset_list.html:39 +#: users/templates/users/user_asset_permission.html:58 +#: users/templates/users/user_granted_asset.html:56 +#: users/templates/users/user_group_asset_permission.html:58 +#: users/templates/users/user_group_granted_asset.html:56 +msgid "Valid" +msgstr "可用" + +#: assets/templates/assets/admin_user_assets.html:75 +#: assets/templates/assets/admin_user_detail.html:83 +#: assets/templates/assets/system_user_asset.html:72 +#: assets/templates/assets/system_user_detail.html:112 #: perms/templates/perms/asset_permission_detail.html:110 msgid "Quick update" msgstr "快速更新" -#: assets/templates/assets/admin_user_detail.html:131 -msgid "Get install script" -msgstr "获得安装脚本" - -#: assets/templates/assets/admin_user_detail.html:134 -#: assets/templates/assets/system_user_detail.html:120 -msgid "Get" -msgstr "" - -#: assets/templates/assets/admin_user_detail.html:140 -#: assets/templates/assets/system_user_detail.html:126 -#: perms/templates/perms/asset_permission_detail.html:130 -msgid "Retest asset connectivity" +#: assets/templates/assets/admin_user_assets.html:81 +#, fuzzy +#| msgid "Retest asset connectivity" +msgid "Retest connectivity" msgstr "重置资产连接性" -#: assets/templates/assets/admin_user_detail.html:143 -#: assets/templates/assets/system_user_detail.html:129 +#: assets/templates/assets/admin_user_assets.html:84 #: perms/templates/perms/asset_permission_detail.html:133 msgid "Start" msgstr "开始" -#: assets/templates/assets/admin_user_detail.html:149 -#: assets/templates/assets/system_user_detail.html:135 -msgid "Reset private key" -msgstr "重置密钥" - -#: assets/templates/assets/admin_user_detail.html:163 -msgid "Replace asset admin user with this" -msgstr "替换资产管理用户" +#: assets/templates/assets/admin_user_create_update.html:16 +#: assets/templates/assets/admin_user_list.html:14 +msgid "Create admin user" +msgstr "创建管理用户" -#: assets/templates/assets/admin_user_detail.html:171 -#: assets/templates/assets/idc_assets.html:91 -#: assets/templates/assets/system_user_asset.html:87 -msgid "Select asset" -msgstr "选择资产" +#: assets/templates/assets/admin_user_detail.html:89 +msgid "Test auth all assets manual" +msgstr "" -#: assets/templates/assets/admin_user_detail.html:180 -#: assets/templates/assets/admin_user_detail.html:208 -msgid "Replace" -msgstr "替换" +#: assets/templates/assets/admin_user_detail.html:92 +#: ops/templates/ops/task_list.html:69 +msgid "Run" +msgstr "" -#: assets/templates/assets/admin_user_detail.html:191 -msgid "Replace asset admin user with this admin user" -msgstr "替换资产管理用户" +#: assets/templates/assets/admin_user_detail.html:102 +#, fuzzy +#| msgid "Select asset admin user" +msgid "Using this as cluster admin user" +msgstr "选择资产管理用户" -#: assets/templates/assets/admin_user_detail.html:307 -#: assets/templates/assets/asset_group_detail.html:224 -msgid "Remove" -msgstr "移除" +#: assets/templates/assets/admin_user_detail.html:119 +#: assets/templates/assets/asset_detail.html:222 +#: assets/templates/assets/asset_group_list.html:100 +#: assets/templates/assets/asset_list.html:199 +#: assets/templates/assets/cluster_assets.html:87 +#: assets/templates/assets/cluster_assets.html:252 +#: assets/templates/assets/cluster_list.html:100 +#: assets/templates/assets/system_user_detail.html:164 +#: assets/templates/assets/system_user_list.html:102 +#: assets/templates/assets/user_asset_list.html:165 templates/_modal.html:16 +#: terminal/templates/terminal/session_detail.html:108 +#: users/templates/users/user_detail.html:341 +#: users/templates/users/user_detail.html:366 +#: users/templates/users/user_detail.html:389 +#: users/templates/users/user_group_create_update.html:45 +#: users/templates/users/user_group_list.html:92 +#: users/templates/users/user_list.html:191 +#: users/templates/users/user_profile.html:181 +msgid "Confirm" +msgstr "确认" -#: assets/templates/assets/admin_user_list.html:17 -#: assets/templates/assets/idc_list.html:19 +#: assets/templates/assets/admin_user_list.html:24 +#: assets/templates/assets/cluster_list.html:20 #: users/templates/users/_select_user_modal.html:17 msgid "Asset num" msgstr "资产数量" -#: assets/templates/assets/asset_create.html:23 -#: assets/templates/assets/asset_update.html:27 -msgid "Group" -msgstr "组" +#: assets/templates/assets/admin_user_list.html:25 +#: assets/templates/assets/system_user_list.html:20 +msgid "Unreachable" +msgstr "不可达" + +#: assets/templates/assets/admin_user_list.html:27 +#: assets/templates/assets/asset_group_detail.html:50 +#: assets/templates/assets/asset_group_list.html:18 +#: assets/templates/assets/asset_list.html:38 +#: assets/templates/assets/cluster_list.html:24 +#: assets/templates/assets/system_user_list.html:22 +#: ops/templates/ops/task_adhoc.html:61 ops/templates/ops/task_history.html:61 +#: ops/templates/ops/task_list.html:46 +#: perms/templates/perms/asset_permission_list.html:17 +#: terminal/templates/terminal/session_list.html:75 +#: terminal/templates/terminal/terminal_list.html:36 +#: users/templates/users/user_group_list.html:15 +#: users/templates/users/user_list.html:28 +msgid "Action" +msgstr "动作" + +#: assets/templates/assets/admin_user_list.html:47 +#: assets/templates/assets/asset_group_detail.html:190 +#: assets/templates/assets/asset_group_list.html:55 +#: assets/templates/assets/asset_list.html:95 +#: assets/templates/assets/cluster_list.html:56 +#: assets/templates/assets/system_user_list.html:58 +#: perms/templates/perms/asset_permission_list.html:42 +#: terminal/templates/terminal/terminal_list.html:71 +#: users/templates/users/user_group_list.html:50 +#: users/templates/users/user_list.html:92 +msgid "Update" +msgstr "更新" + +#: assets/templates/assets/admin_user_list.html:48 +#: assets/templates/assets/asset_group_list.html:56 +#: assets/templates/assets/asset_list.html:96 +#: assets/templates/assets/cluster_list.html:57 +#: assets/templates/assets/system_user_list.html:59 +#: ops/templates/ops/task_list.html:70 +#: perms/templates/perms/asset_permission_list.html:45 +#: terminal/templates/terminal/terminal_list.html:73 +#: users/templates/users/user_group_list.html:52 +#: users/templates/users/user_list.html:93 +msgid "Delete" +msgstr "删除" #: assets/templates/assets/asset_create.html:28 -#: assets/templates/assets/asset_update.html:32 -msgid "Asset user" -msgstr "资产用户" +#: assets/templates/assets/asset_update.html:33 +msgid "Group" +msgstr "组" -#: assets/templates/assets/asset_detail.html:20 assets/views/idc.py:88 +#: assets/templates/assets/asset_detail.html:20 assets/views/cluster.py:88 msgid "Asset detail" msgstr "资产详情" @@ -861,84 +772,76 @@ msgid "Date joined" msgstr "创建日期" #: assets/templates/assets/asset_detail.html:169 +#: terminal/templates/terminal/session_detail.html:81 #: users/templates/users/user_detail.html:124 #: users/templates/users/user_profile.html:130 msgid "Quick modify" msgstr "快速修改" -#: assets/templates/assets/asset_detail.html:189 +#: assets/templates/assets/asset_detail.html:175 +#: assets/templates/assets/asset_list.html:36 perms/models.py:32 +#: perms/templates/perms/asset_permission_create_update.html:47 +#: terminal/templates/terminal/terminal_list.html:34 +#: users/templates/users/_select_user_modal.html:18 +#: users/templates/users/user_detail.html:130 +#: users/templates/users/user_list.html:27 +#: users/templates/users/user_profile.html:63 +msgid "Active" +msgstr "激活中" + +#: assets/templates/assets/asset_detail.html:191 msgid "Refresh hardware" msgstr "更新硬件信息" -#: assets/templates/assets/asset_detail.html:192 +#: assets/templates/assets/asset_detail.html:194 +#: assets/templates/assets/system_user_asset.html:89 msgid "Refresh" msgstr "刷新" -#: assets/templates/assets/asset_detail.html:197 -msgid "Test admin user" -msgstr "测试管理用户" - -#: assets/templates/assets/asset_detail.html:200 -msgid "Test" -msgstr "测试" - -#: assets/templates/assets/asset_detail.html:219 +#: assets/templates/assets/asset_detail.html:213 msgid "Join asset groups" msgstr "添加到资产组" -#: assets/templates/assets/asset_detail.html:228 -#: assets/templates/assets/asset_detail.html:264 -#: assets/templates/assets/asset_group_list.html:100 -#: assets/templates/assets/asset_list.html:218 -#: assets/templates/assets/idc_assets.html:100 -#: assets/templates/assets/idc_assets.html:262 -#: assets/templates/assets/idc_list.html:99 -#: assets/templates/assets/system_user_asset.html:96 -#: assets/templates/assets/system_user_list.html:102 -#: assets/templates/assets/user_asset_list.html:165 templates/_modal.html:16 -#: users/templates/users/user_detail.html:341 -#: users/templates/users/user_detail.html:366 -#: users/templates/users/user_detail.html:389 -#: users/templates/users/user_group_create_update.html:45 -#: users/templates/users/user_group_list.html:92 -#: users/templates/users/user_list.html:191 -#: users/templates/users/user_profile.html:181 -msgid "Confirm" -msgstr "确认" - -#: assets/templates/assets/asset_detail.html:247 -#: assets/templates/assets/asset_group_detail.html:63 -#, fuzzy -#| msgid "Repush system user" -msgid "Push system users" -msgstr "重新推送系统" - -#: assets/templates/assets/asset_detail.html:255 -#: assets/templates/assets/asset_group_detail.html:71 perms/forms.py:33 -#: perms/templates/perms/asset_permission_detail.html:161 users/forms.py:190 -#: users/forms.py:216 -msgid "Select system users" -msgstr "选择系统用户" - -#: assets/templates/assets/asset_detail.html:383 +#: assets/templates/assets/asset_detail.html:311 #: users/templates/users/user_detail.html:275 #: users/templates/users/user_detail.html:288 msgid "Update successfully!" msgstr "更新成功" -#: assets/templates/assets/asset_group_detail.html:80 -#: perms/templates/perms/asset_permission_detail.html:142 -msgid "Push" -msgstr "推送" +#: assets/templates/assets/asset_group_detail.html:16 +msgid "Group assets" +msgstr "组下资产" + +#: assets/templates/assets/asset_group_detail.html:49 +#: assets/templates/assets/user_asset_list.html:40 +#: terminal/templates/terminal/terminal_list.html:35 +msgid "Alive" +msgstr "在线" + +#: assets/templates/assets/asset_group_detail.html:62 +msgid "Add assets to this group" +msgstr "添加资产到该组" + +#: assets/templates/assets/asset_group_detail.html:79 +#: perms/templates/perms/asset_permission_asset.html:118 +#: perms/templates/perms/asset_permission_user.html:118 +#: perms/templates/perms/asset_permission_user.html:146 +#: users/templates/users/user_group_detail.html:98 +msgid "Add" +msgstr "添加" + +#: assets/templates/assets/asset_group_detail.html:191 +msgid "Remove" +msgstr "移除" #: assets/templates/assets/asset_group_list.html:7 assets/views/group.py:31 -#: assets/views/group.py:99 +#: assets/views/group.py:94 msgid "Create asset group" msgstr "创建资产组" #: assets/templates/assets/asset_group_list.html:27 -#: assets/templates/assets/asset_list.html:54 -#: assets/templates/assets/idc_list.html:32 +#: assets/templates/assets/asset_list.html:47 +#: assets/templates/assets/cluster_list.html:33 #: assets/templates/assets/system_user_list.html:31 #: users/templates/users/user_group_list.html:22 #: users/templates/users/user_list.html:37 @@ -946,16 +849,16 @@ msgid "Delete selected" msgstr "批量删除" #: assets/templates/assets/asset_group_list.html:28 -#: assets/templates/assets/asset_list.html:55 +#: assets/templates/assets/asset_list.html:48 #: assets/templates/assets/system_user_list.html:32 #: users/templates/users/user_list.html:38 msgid "Update selected" msgstr "批量更新" #: assets/templates/assets/asset_group_list.html:95 -#: assets/templates/assets/asset_list.html:213 -#: assets/templates/assets/idc_assets.html:257 -#: assets/templates/assets/idc_list.html:94 +#: assets/templates/assets/asset_list.html:194 +#: assets/templates/assets/cluster_assets.html:247 +#: assets/templates/assets/cluster_list.html:95 #: assets/templates/assets/system_user_list.html:97 #: assets/templates/assets/user_asset_list.html:160 #: users/templates/users/user_detail.html:336 @@ -991,183 +894,185 @@ msgstr "更新成功" msgid "AssetGroup Updated" msgstr "资产组更新" -#: assets/templates/assets/asset_list.html:21 +#: assets/templates/assets/asset_list.html:15 #: users/templates/users/user_list.html:7 msgid "Import" msgstr "导入" -#: assets/templates/assets/asset_list.html:24 +#: assets/templates/assets/asset_list.html:18 #: users/templates/users/user_list.html:10 msgid "Export" msgstr "导出" -#: assets/templates/assets/asset_list.html:32 +#: assets/templates/assets/asset_list.html:25 msgid "Create asset" msgstr "创建资产" -#: assets/templates/assets/asset_list.html:41 +#: assets/templates/assets/asset_list.html:34 #: assets/templates/assets/user_asset_list.html:37 msgid "Env" msgstr "环境" -#: assets/templates/assets/asset_list.html:42 +#: assets/templates/assets/asset_list.html:35 #: assets/templates/assets/user_asset_list.html:38 msgid "Hardware" msgstr "硬件" -#: assets/templates/assets/asset_list.html:43 -#: assets/templates/assets/idc_assets.html:58 -#: assets/templates/assets/user_asset_list.html:39 -#: users/templates/users/user_asset_permission.html:58 -#: users/templates/users/user_granted_asset.html:56 -#: users/templates/users/user_group_asset_permission.html:58 -#: users/templates/users/user_group_granted_asset.html:56 -msgid "Valid" -msgstr "可用" +#: assets/templates/assets/asset_list.html:37 +#, fuzzy +#| msgid "Connect" +msgid "Connective" +msgstr "连接" -#: assets/templates/assets/asset_list.html:56 +#: assets/templates/assets/asset_list.html:49 #: users/templates/users/user_list.html:39 msgid "Deactive selected" msgstr "禁用所选" -#: assets/templates/assets/asset_list.html:214 -#: assets/templates/assets/idc_assets.html:258 +#: assets/templates/assets/asset_list.html:50 +#: users/templates/users/user_list.html:40 +msgid "Active selected" +msgstr "激活所选" + +#: assets/templates/assets/asset_list.html:195 +#: assets/templates/assets/cluster_assets.html:248 #: assets/templates/assets/user_asset_list.html:161 msgid "This will delete the selected assets !!!" msgstr "删除选择资产" # msgid "Deleted!" # msgstr "删除" -#: assets/templates/assets/asset_list.html:222 -#: assets/templates/assets/idc_assets.html:266 +#: assets/templates/assets/asset_list.html:203 +#: assets/templates/assets/cluster_assets.html:256 #: assets/templates/assets/user_asset_list.html:169 msgid "Asset Deleted." msgstr "已被删除" -#: assets/templates/assets/asset_list.html:223 -#: assets/templates/assets/asset_list.html:228 -#: assets/templates/assets/idc_assets.html:267 -#: assets/templates/assets/idc_assets.html:272 +#: assets/templates/assets/asset_list.html:204 +#: assets/templates/assets/asset_list.html:209 +#: assets/templates/assets/cluster_assets.html:257 +#: assets/templates/assets/cluster_assets.html:262 #: assets/templates/assets/user_asset_list.html:170 #: assets/templates/assets/user_asset_list.html:175 msgid "Asset Delete" msgstr "删除" -#: assets/templates/assets/asset_list.html:227 -#: assets/templates/assets/idc_assets.html:271 +#: assets/templates/assets/asset_list.html:208 +#: assets/templates/assets/cluster_assets.html:261 #: assets/templates/assets/user_asset_list.html:174 msgid "Asset Deleting failed." msgstr "删除失败" -#: assets/templates/assets/asset_update.html:36 +#: assets/templates/assets/asset_update.html:37 msgid "Configuration" msgstr "配置" -#: assets/templates/assets/asset_update.html:41 +#: assets/templates/assets/asset_update.html:42 msgid "Location" msgstr "位置" -#: assets/templates/delete_confirm.html:6 -#: perms/templates/delete_confirm.html:6 -#: users/templates/users/user_delete_confirm.html:6 -msgid "Confirm delete" -msgstr "确认删除" - -#: assets/templates/delete_confirm.html:11 -msgid "Are you sure delete" -msgstr "您确定删除吗?" - -#: assets/templates/assets/idc_assets.html:23 -#: assets/templates/assets/idc_assets.html:31 -#: assets/templates/assets/idc_detail.html:21 +#: assets/templates/assets/cluster_assets.html:23 +#: assets/templates/assets/cluster_assets.html:31 +#: assets/templates/assets/cluster_detail.html:21 msgid "Cluster assets" -msgstr "Cluster资产" - -#: assets/templates/assets/idc_assets.html:68 -#, fuzzy -#| msgid "Deactive selected" -msgid "Remove selected" -msgstr "禁用所选" +msgstr "集群中资产" -#: assets/templates/assets/idc_assets.html:83 +#: assets/templates/assets/cluster_assets.html:70 msgid "Add assets to" msgstr "添加资产到" -#: assets/templates/assets/idc_assets.html:349 +#: assets/templates/assets/cluster_assets.html:78 +msgid "Select asset" +msgstr "选择资产" + +#: assets/templates/assets/cluster_assets.html:339 #: assets/templates/assets/user_asset_list.html:252 msgid "The selected assets has been updated successfully." msgstr "选择资产更新成功" -#: assets/templates/assets/idc_assets.html:350 +#: assets/templates/assets/cluster_assets.html:340 #: assets/templates/assets/user_asset_list.html:253 msgid "Asset Updated" msgstr "更新" -#: assets/templates/assets/idc_list.html:10 assets/views/idc.py:39 +#: assets/templates/assets/cluster_create_update.html:41 +#: users/templates/users/user_profile.html:20 +msgid "Settings" +msgstr "设置" + +#: assets/templates/assets/cluster_list.html:10 assets/views/cluster.py:39 msgid "Create Cluster" msgstr "创建Cluster" -#: assets/templates/assets/idc_list.html:95 +#: assets/templates/assets/cluster_list.html:96 msgid "This will delete the selected cluster" msgstr "删除选择Cluster" -#: assets/templates/assets/idc_list.html:103 +#: assets/templates/assets/cluster_list.html:104 msgid "Cluster Deleted." msgstr "已被删除" -#: assets/templates/assets/idc_list.html:104 -#: assets/templates/assets/idc_list.html:109 +#: assets/templates/assets/cluster_list.html:105 +#: assets/templates/assets/cluster_list.html:110 msgid "Cluster Delete" msgstr "删除" -#: assets/templates/assets/idc_list.html:108 +#: assets/templates/assets/cluster_list.html:109 msgid "Cluster Deleting failed." msgstr "Cluster删除失败" -#: assets/templates/assets/system_user_asset.html:20 -#: assets/templates/assets/system_user_detail.html:22 -msgid "Attached assets" -msgstr "关联的资产" +#: assets/templates/assets/delete_confirm.html:6 +#: perms/templates/perms/delete_confirm.html:6 templates/delete_confirm.html:6 +#: users/templates/users/user_delete_confirm.html:6 +msgid "Confirm delete" +msgstr "确认删除" + +#: assets/templates/assets/delete_confirm.html:11 +#: templates/delete_confirm.html:11 +msgid "Are you sure delete" +msgstr "您确定删除吗?" -#: assets/templates/assets/system_user_asset.html:28 +#: assets/templates/assets/system_user_asset.html:38 msgid "Assets of " msgstr "资产" -#: assets/templates/assets/system_user_asset.html:50 +#: assets/templates/assets/system_user_asset.html:60 msgid "Reachable" msgstr "可连接" -#: assets/templates/assets/system_user_asset.html:79 -msgid "Attach to assets " -msgstr "关联资产" +#: assets/templates/assets/system_user_asset.html:78 +msgid "Push system user manually" +msgstr "手动推送系统" -#: assets/templates/assets/system_user_asset.html:107 -msgid "Attach to asset groups" -msgstr "关联资产组" +#: assets/templates/assets/system_user_asset.html:81 +#: perms/templates/perms/asset_permission_detail.html:142 +msgid "Push" +msgstr "推送" -#: assets/templates/assets/system_user_asset.html:115 -msgid "Add asset group" -msgstr "资产组" +#: assets/templates/assets/system_user_asset.html:86 +msgid "Refresh assets connectivity" +msgstr "重置资产连接性" -#: assets/templates/assets/system_user_asset.html:124 -msgid "Attach AssetGroup" -msgstr "添加到资产组" +#: assets/templates/assets/system_user_auth.html:23 +#: assets/templates/assets/system_user_detail.html:27 +msgid "Attached assets" +msgstr "关联的资产" -#: assets/templates/assets/system_user_detail.html:80 +#: assets/templates/assets/system_user_detail.html:81 msgid "Home" -msgstr "" +msgstr "家目录" -#: assets/templates/assets/system_user_detail.html:86 +#: assets/templates/assets/system_user_detail.html:87 msgid "Uid" msgstr "Uid" -#: assets/templates/assets/system_user_detail.html:117 -msgid "Get manual install script" -msgstr "获得手动安装脚本" +#: assets/templates/assets/system_user_detail.html:147 +msgid "Clusters" +msgstr "集群" -#: assets/templates/assets/system_user_list.html:20 -msgid "Unreachable" -msgstr "不可达" +#: assets/templates/assets/system_user_detail.html:155 +msgid "Add to cluster" +msgstr "添加到集群" #: assets/templates/assets/system_user_list.html:98 msgid "This will delete the selected System Users !!!" @@ -1195,272 +1100,217 @@ msgstr "管理用户列表" msgid "Create admin user {name} successfully." msgstr "创建管理用户 {name} 成功" -#: assets/views/asset.py:308 +#: assets/views/asset.py:303 msgid "already exists" -msgstr "" - -#: assets/views/group.py:54 -msgid "Asset group list" -msgstr "资产组列表" - -#: assets/views/group.py:74 -msgid "Asset group detail" -msgstr "资产组详情" +msgstr "已经存在" -#: assets/views/idc.py:23 +#: assets/views/cluster.py:23 msgid "Cluster list" -msgstr "Cluster列表" +msgstr "集群列表" -#: assets/views/idc.py:38 assets/views/idc.py:65 -#: ops/templates/ops/task_detail.html:84 +#: assets/views/cluster.py:38 assets/views/cluster.py:65 msgid "assets" msgstr "资产管理" -#: assets/views/idc.py:66 +#: assets/views/cluster.py:66 msgid "Update Cluster" msgstr "更新Cluster" +#: assets/views/group.py:54 +msgid "Asset group list" +msgstr "资产组列表" + +#: assets/views/group.py:72 +msgid "Asset group detail" +msgstr "资产组详情" + #: assets/views/system_user.py:31 msgid "System user list" msgstr "系统用户列表" -#: assets/views/system_user.py:59 +#: assets/views/system_user.py:58 #, python-brace-format msgid "Create system user {name} successfully." msgstr "创建系统用户 {name} 成功" -#: assets/views/system_user.py:74 +#: assets/views/system_user.py:73 msgid "Update system user" msgstr "更新系统用户" -#: assets/views/system_user.py:101 +#: assets/views/system_user.py:93 msgid "System user detail" msgstr "系统用户详情" -#: audits/models.py:20 audits/models.py:45 -msgid "Login type" -msgstr "登录方式" - -#: audits/models.py:21 -msgid "Login ip" -msgstr "登录IP" - -#: audits/models.py:23 -msgid "Login city" -msgstr "登录城市" - -#: audits/models.py:25 -msgid "User agent" -msgstr "Agent" - -#: audits/models.py:27 -msgid "Date login" -msgstr "登录日期" - -#: audits/models.py:40 audits/templates/audits/command_log_list.html:27 -#: audits/templates/audits/proxy_log_offline_list.html:26 -#: audits/templates/audits/proxy_log_offline_list.html:64 -#: audits/templates/audits/proxy_log_online_list.html:26 -#: audits/templates/audits/proxy_log_online_list.html:64 -#: perms/templates/perms/asset_permission_create_update.html:36 -#: perms/templates/perms/asset_permission_list.html:12 templates/_nav.html:12 -#: templates/_user_profile.html:14 users/models/user.py:27 -#: users/templates/users/user_group_detail.html:81 -msgid "User" -msgstr "用户" - -#: audits/models.py:42 audits/templates/audits/command_log_list.html:43 -#: audits/templates/audits/proxy_log_offline_list.html:42 -#: audits/templates/audits/proxy_log_offline_list.html:66 -#: audits/templates/audits/proxy_log_online_list.html:42 -#: audits/templates/audits/proxy_log_online_list.html:66 -#: perms/templates/perms/asset_permission_detail.html:153 -#: perms/templates/perms/asset_permission_list.html:16 templates/_nav.html:25 -#: users/templates/users/user_asset_permission.html:57 -#: users/templates/users/user_granted_asset.html:55 -#: users/templates/users/user_group_asset_permission.html:57 -#: users/templates/users/user_group_granted_asset.html:55 -msgid "System user" -msgstr "系统用户" - -#: audits/models.py:49 -msgid "Did connect failed" -msgstr "连接失败" - -#: audits/models.py:51 ops/models.py:24 ops/templates/ops/task_detail.html:66 -msgid "Is finished" -msgstr "结束" - -#: audits/models.py:53 audits/templates/audits/proxy_log_offline_list.html:72 -#: audits/templates/audits/proxy_log_online_list.html:72 -#: ops/templates/ops/task_detail.html:54 ops/templates/ops/task_list.html:43 -msgid "Date start" -msgstr "开始日期" +#: assets/views/system_user.py:126 +msgid "Update auth info success" +msgstr "更新认证信息成功" -#: audits/models.py:55 ops/templates/ops/task_detail.html:58 -msgid "Date finished" -msgstr "结束日期" - -#: audits/models.py:87 -msgid "Output" -msgstr "输出" +#: common/mixins.py:30 +msgid "is discard" +msgstr "" -#: audits/templates/audits/login_log_list.html:27 -#: perms/templates/perms/asset_permission_user.html:109 -msgid "Select user" -msgstr "选择用户" +#: common/mixins.py:31 +msgid "discard time" +msgstr "" -#: audits/templates/audits/login_log_list.html:47 -#: audits/templates/audits/proxy_log_offline_list.html:63 -#: audits/templates/audits/proxy_log_online_list.html:63 -#: perms/templates/perms/asset_permission_list.html:10 -msgid "ID" -msgstr "ID" +#: ops/models.py:95 templates/_nav.html:55 +msgid "Tasks" +msgstr "任务" -#: audits/templates/audits/login_log_list.html:51 -msgid "UA" -msgstr "Agent" +#: ops/models.py:96 ops/templates/ops/task_adhoc.html:57 +msgid "Pattern" +msgstr "" -#: audits/templates/audits/login_log_list.html:53 -msgid "City" -msgstr "城市" +#: ops/models.py:97 +msgid "Options" +msgstr "选项" -#: audits/templates/audits/login_log_list.html:54 -msgid "Date" -msgstr "日期" +#: ops/models.py:98 ops/templates/ops/task_adhoc.html:56 +#: ops/templates/ops/task_list.html:42 +msgid "Hosts" +msgstr "主机" -#: audits/templates/audits/proxy_log_detail.html:17 -msgid "Proxy log detail" -msgstr "Proxy log详情" +#: ops/models.py:99 +msgid "Run as admin" +msgstr "再次执行" -#: audits/templates/audits/proxy_log_detail.html:25 audits/views.py:210 -msgid "Command log list" -msgstr "命令记录列表" +#: ops/models.py:100 ops/templates/ops/task_adhoc.html:58 +msgid "Run as" +msgstr "用户" -#: audits/templates/audits/proxy_log_offline_list.html:68 -#: audits/templates/audits/proxy_log_online_list.html:68 -msgid "Command" -msgstr "命令" +#: ops/models.py:101 ops/templates/ops/task_adhoc.html:59 +msgid "Become" +msgstr "Become" -#: audits/templates/audits/proxy_log_offline_list.html:69 -#: audits/templates/audits/proxy_log_online_list.html:69 -#: ops/templates/ops/task_list.html:41 -msgid "Success" -msgstr "成功" +#: ops/models.py:102 users/templates/users/user_group_detail.html:62 +msgid "Create by" +msgstr "创建者" -#: audits/templates/audits/proxy_log_offline_list.html:70 -#: audits/templates/audits/proxy_log_online_list.html:70 -#: ops/templates/ops/task_list.html:42 -msgid "Finished" -msgstr "完成" +#: ops/models.py:197 +msgid "Start time" +msgstr "开始时间" -#: audits/templates/audits/proxy_log_offline_list.html:71 -msgid "Play" -msgstr "播放" +#: ops/models.py:198 +msgid "End time" +msgstr "完成时间" -#: audits/templates/audits/proxy_log_offline_list.html:73 -#: audits/templates/audits/proxy_log_online_list.html:73 ops/models.py:23 -#: ops/templates/ops/task_list.html:44 +#: ops/models.py:199 ops/templates/ops/task_history.html:59 +#: ops/templates/ops/task_list.html:45 msgid "Time" msgstr "时间" -#: audits/templates/audits/proxy_log_online_list.html:71 -msgid "Monitor" -msgstr "监控" - -#: audits/templates/audits/proxy_log_online_list.html:120 -msgid "Terminate selected" -msgstr "终止所选" - -#: audits/views.py:72 audits/views.py:209 audits/views.py:263 -#: templates/_nav.html:56 -msgid "Audits" -msgstr "审计中心" - -#: audits/views.py:73 audits/views.py:264 -msgid "Proxy log list" -msgstr "Session列表" - -#: audits/views.py:101 -msgid "Proxy log offline list" -msgstr "离线session列表" +#: ops/models.py:200 ops/templates/ops/task_detail.html:80 +#: ops/templates/ops/task_history.html:57 +msgid "Is finished" +msgstr "是否完成" -#: audits/views.py:117 -msgid "Proxy log online list" -msgstr "在线session列表" +#: ops/models.py:201 ops/templates/ops/task_history.html:58 +msgid "Is success" +msgstr "是否成功" -#: common/mixins.py:28 -msgid "is discard" -msgstr "" +#: ops/models.py:202 +msgid "Adhoc raw result" +msgstr "结果" -#: common/mixins.py:29 -msgid "discard time" -msgstr "" +#: ops/models.py:203 +msgid "Adhoc result summary" +msgstr "汇总" -#: ops/models.py:19 ops/templates/ops/task_detail.html:46 -msgid "UUID" -msgstr "UUID" +#: ops/templates/ops/task_adhoc.html:19 ops/templates/ops/task_detail.html:19 +#: ops/templates/ops/task_history.html:19 +msgid "Task detail" +msgstr "任务详情" -#: ops/models.py:21 -msgid "Start time" -msgstr "开始时间" +#: ops/templates/ops/task_adhoc.html:22 ops/templates/ops/task_detail.html:22 +#: ops/templates/ops/task_history.html:22 +msgid "Task versions" +msgstr "任务各版本" -#: ops/models.py:22 -msgid "End time" -msgstr "完成时间" +#: ops/templates/ops/task_adhoc.html:25 ops/templates/ops/task_detail.html:25 +#: ops/templates/ops/task_history.html:25 +msgid "Run history" +msgstr "执行历史" -#: ops/models.py:25 -msgid "Is success" -msgstr "是否成功" +#: ops/templates/ops/task_adhoc.html:33 +msgid "Versions of " +msgstr "版本" -#: ops/models.py:26 -msgid "Assets id" -msgstr "资产id" +#: ops/templates/ops/task_adhoc.html:55 ops/templates/ops/task_history.html:60 +msgid "Version" +msgstr "版本" -#: ops/models.py:27 -msgid "Playbook module and args json format" -msgstr "" +#: ops/templates/ops/task_adhoc.html:60 +msgid "Datetime" +msgstr "日期" -#: ops/models.py:28 -msgid "Playbook run pattern" -msgstr "" +#: ops/templates/ops/task_detail.html:52 +#: terminal/templates/terminal/session_list.html:67 +#: users/templates/users/login_log_list.html:47 +msgid "ID" +msgstr "ID" -#: ops/models.py:29 -msgid "Playbook raw result" -msgstr "" +#: ops/templates/ops/task_detail.html:64 +msgid "Total versions" +msgstr "版本数量" -#: ops/models.py:30 -msgid "Playbook summary" -msgstr "" +#: ops/templates/ops/task_detail.html:68 +msgid "Last version" +msgstr "最新版本" -#: ops/templates/ops/task_detail.html:19 -msgid "Playbook replay detail" -msgstr "任务记录详情" +#: ops/templates/ops/task_detail.html:72 +msgid "Latest run" +msgstr "最后一次运行" -#: ops/templates/ops/task_detail.html:62 +#: ops/templates/ops/task_detail.html:76 msgid "Time delta" msgstr "运行时间" -#: ops/templates/ops/task_detail.html:70 +#: ops/templates/ops/task_detail.html:84 msgid "Is success " msgstr "成功" -#: ops/templates/ops/task_detail.html:126 +#: ops/templates/ops/task_detail.html:88 +msgid "Contents" +msgstr "内容" + +#: ops/templates/ops/task_detail.html:105 msgid "Failed assets" msgstr "失败资产" -#: ops/templates/ops/task_detail.html:142 -#: ops/templates/ops/task_detail.html:167 +#: ops/templates/ops/task_detail.html:121 +#: ops/templates/ops/task_detail.html:146 msgid "No assets" msgstr "没有资产" -#: ops/templates/ops/task_detail.html:152 +#: ops/templates/ops/task_detail.html:131 msgid "Success assets" msgstr "成功资产" -#: ops/templates/ops/task_list.html:71 -msgid "Run again" -msgstr "再次执行" +#: ops/templates/ops/task_history.html:33 +msgid "History of " +msgstr "执行历史" + +#: ops/templates/ops/task_history.html:55 +#: terminal/templates/terminal/session_list.html:73 +msgid "Date start" +msgstr "开始日期" + +#: ops/templates/ops/task_history.html:56 ops/templates/ops/task_list.html:40 +msgid "F/S/T" +msgstr "失败/成功/总" + +#: ops/templates/ops/task_list.html:41 +msgid "Versions" +msgstr "版本" + +#: ops/templates/ops/task_list.html:43 +msgid "Success" +msgstr "成功" + +#: ops/templates/ops/task_list.html:44 +#: users/templates/users/login_log_list.html:53 +msgid "Date" +msgstr "日期" #: perms/forms.py:21 users/forms.py:125 users/forms.py:130 msgid "Select users" @@ -1469,9 +1319,14 @@ msgstr "选择用户" #: perms/forms.py:24 perms/templates/perms/asset_permission_user.html:137 #: users/forms.py:141 msgid "Select user groups" -msgstr "添加到用户组" +msgstr "选择用户组" -#: perms/models.py:35 perms/templates/perms/asset_permission_detail.html:86 +#: perms/forms.py:33 perms/templates/perms/asset_permission_detail.html:161 +#: users/forms.py:190 users/forms.py:216 +msgid "Select system users" +msgstr "选择系统用户" + +#: perms/models.py:34 perms/templates/perms/asset_permission_detail.html:86 #: users/models/user.py:46 users/templates/users/user_detail.html:97 #: users/templates/users/user_profile.html:96 msgid "Date expired" @@ -1490,7 +1345,7 @@ msgid "Assets and asset groups" msgstr "资产或资产组" #: perms/templates/perms/asset_permission_asset.html:67 -#: perms/templates/perms/asset_permission_list.html:17 +#: perms/templates/perms/asset_permission_list.html:16 #: perms/templates/perms/asset_permission_user.html:67 msgid "Is valid" msgstr "有效" @@ -1499,13 +1354,6 @@ msgstr "有效" msgid "Add asset to this permission" msgstr "添加资产" -#: perms/templates/perms/asset_permission_asset.html:118 -#: perms/templates/perms/asset_permission_user.html:118 -#: perms/templates/perms/asset_permission_user.html:146 -#: users/templates/users/user_group_detail.html:98 -msgid "Add" -msgstr "添加" - #: perms/templates/perms/asset_permission_asset.html:129 msgid "Add asset group to this permission" msgstr "添加资产组" @@ -1520,6 +1368,16 @@ msgstr "加入" msgid "Create asset permission " msgstr "创建资产权限" +#: perms/templates/perms/asset_permission_create_update.html:36 +#: perms/templates/perms/asset_permission_list.html:11 templates/_nav.html:12 +#: templates/_user_profile.html:14 terminal/backends/command/models.py:10 +#: terminal/models.py:90 terminal/templates/terminal/command_list.html:31 +#: terminal/templates/terminal/session_list.html:30 +#: terminal/templates/terminal/session_list.html:68 +#: users/templates/users/user_group_detail.html:81 +msgid "User" +msgstr "用户" + #: perms/templates/perms/asset_permission_detail.html:66 #: users/templates/users/user_group_list.html:13 msgid "User count" @@ -1541,22 +1399,39 @@ msgstr "资产组数量" msgid "System user count" msgstr "系统用户数量" +#: perms/templates/perms/asset_permission_detail.html:130 +msgid "Retest asset connectivity" +msgstr "重置资产连接性" + #: perms/templates/perms/asset_permission_detail.html:139 msgid "Repush system user" msgstr "重新推送系统" +#: perms/templates/perms/asset_permission_detail.html:153 +#: perms/templates/perms/asset_permission_list.html:15 templates/_nav.html:26 +#: terminal/backends/command/models.py:12 +#: terminal/templates/terminal/command_list.html:47 +#: terminal/templates/terminal/session_list.html:46 +#: terminal/templates/terminal/session_list.html:70 +#: users/templates/users/user_asset_permission.html:57 +#: users/templates/users/user_granted_asset.html:55 +#: users/templates/users/user_group_asset_permission.html:57 +#: users/templates/users/user_group_granted_asset.html:55 +msgid "System user" +msgstr "系统用户" + #: perms/templates/perms/asset_permission_list.html:5 msgid "Create permission" msgstr "创建授权规则" -#: perms/templates/perms/asset_permission_list.html:13 templates/_nav.html:13 +#: perms/templates/perms/asset_permission_list.html:12 templates/_nav.html:13 #: users/models/user.py:34 users/templates/users/_select_user_modal.html:16 #: users/templates/users/user_detail.html:181 #: users/templates/users/user_list.html:26 msgid "User group" msgstr "用户组" -#: perms/templates/perms/asset_permission_list.html:15 templates/_nav.html:22 +#: perms/templates/perms/asset_permission_list.html:14 templates/_nav.html:23 #: users/templates/users/user_asset_permission.html:56 #: users/templates/users/user_group_asset_permission.html:56 msgid "Asset group" @@ -1576,12 +1451,17 @@ msgstr "邮件" msgid "Add user to asset permission" msgstr "添加用户" +#: perms/templates/perms/asset_permission_user.html:109 +#: users/templates/users/login_log_list.html:27 +msgid "Select user" +msgstr "选择用户" + #: perms/templates/perms/asset_permission_user.html:129 msgid "Add user group to asset permission" msgstr "添加用户组" #: perms/views.py:33 perms/views.py:76 perms/views.py:112 perms/views.py:140 -#: perms/views.py:184 perms/views.py:226 templates/_nav.html:29 +#: perms/views.py:184 perms/views.py:226 templates/_nav.html:30 msgid "Perms" msgstr "权限管理" @@ -1619,7 +1499,7 @@ msgstr "资产授权包含用户" msgid "Asset permission asset list" msgstr "资产组授权包含资产" -#: templates/_base_list.html:44 templates/_header_bar.html:8 +#: templates/_base_list.html:43 templates/_header_bar.html:8 msgid "Search" msgstr "搜索" @@ -1644,18 +1524,59 @@ msgstr "登录" msgid "Dashboard" msgstr "仪表盘" +#: templates/_message.html:6 +#, fuzzy, python-format +#| msgid "" +#| "\n" +#| " Your information was incomplete. Please click this link to complete your information.\n" +#| " " +msgid "" +"\n" +" Your information was incomplete. Please click this link to complete your information.\n" +" " +msgstr "" +"\n" +" 你的信息不完整,请点击 链接 " +" 补充完整\n" +" " + +#: templates/_message.html:16 +#, fuzzy, python-format +#| msgid "" +#| "\n" +#| " Your ssh public key not set or expired. Please click this link to update your\n" +#| " " +msgid "" +"\n" +" Your ssh public key not set or expired. Please click this link to update your\n" +" " +msgstr "" +"\n" +" 你的SSH Key没有设置或已经过期,点击 链接 更新 \n" +" " + #: templates/_modal.html:15 msgid "Close" msgstr "关闭" #: templates/_nav.html:9 users/templates/users/user_group_create_update.html:28 #: users/views/group.py:31 users/views/group.py:45 users/views/group.py:80 -#: users/views/group.py:105 users/views/login.py:185 users/views/user.py:55 -#: users/views/user.py:70 users/views/user.py:106 users/views/user.py:158 +#: users/views/group.py:105 users/views/login.py:189 users/views/login.py:256 +#: users/views/user.py:56 users/views/user.py:71 users/views/user.py:107 +#: users/views/user.py:159 msgid "Users" msgstr "用户管理" -#: templates/_nav.html:32 users/templates/users/user_asset_permission.html:21 +#: templates/_nav.html:14 +msgid "Login logs" +msgstr "登录日志" + +#: templates/_nav.html:33 users/templates/users/user_asset_permission.html:21 #: users/templates/users/user_detail.html:22 #: users/templates/users/user_granted_asset.html:21 #: users/templates/users/user_group_asset_permission.html:21 @@ -1664,27 +1585,33 @@ msgstr "用户管理" msgid "Asset permission" msgstr "资产授权" -#: templates/_nav.html:48 -msgid "Job Center" -msgstr "作业中心" +#: templates/_nav.html:40 templates/_nav.html:43 templates/_nav_user.html:14 +#: terminal/templates/terminal/session_list.html:71 +#: terminal/views/command.py:65 terminal/views/session.py:97 +#: terminal/views/session.py:114 terminal/views/session.py:136 +#: terminal/views/terminal.py:30 terminal/views/terminal.py:45 +#: terminal/views/terminal.py:57 +msgid "Terminal" +msgstr "终端" -#: templates/_nav.html:51 -msgid "Playbook" -msgstr "任务" +#: templates/_nav.html:44 +msgid "Session online" +msgstr "在线会话" -#: templates/_nav.html:62 -msgid "Session history" -msgstr "Session历史" +#: templates/_nav.html:45 +msgid "Session offline" +msgstr "离线会话" -#: templates/_nav.html:65 -msgid "Command log" -msgstr "命令记录" +#: templates/_nav.html:46 terminal/models.py:96 +#: terminal/templates/terminal/session_list.html:72 +msgid "Command" +msgstr "命令" -#: templates/_nav.html:68 -msgid "Login log" -msgstr "登录日志" +#: templates/_nav.html:52 +msgid "Job Center" +msgstr "作业中心" -#: templates/_nav.html:92 +#: templates/_nav.html:75 msgid "Visit us" msgstr "访问官网" @@ -1706,34 +1633,9 @@ msgstr "个人信息" msgid "Profile settings" msgstr "个人信息设置" -#: templates/base.html:27 -#, python-format -msgid "" -"\n" -" Your information was incomplete. Please click this link to complete your information.\n" -" " -msgstr "" -"\n" -" 你的信息不完整,请点击 链接 " -" 补充完整\n" -" " - -#: templates/base.html:37 -msgid "" -"\n" -" Your ssh public key not set or expired. Please click this link to update your\n" -" " -msgstr "" -"\n" -" 你的SSH Key没有设置或已经过期,点击 链接 更新 \n" -" " - #: templates/captcha/image.html:3 msgid "Play CAPTCHA as audio file" -msgstr "" +msgstr "语言播放验证码" #: templates/captcha/text_field.html:4 msgid "Captcha" @@ -1743,19 +1645,226 @@ msgstr "验证码" msgid "Filters" msgstr "过滤" -#: users/authentication.py:57 +#: terminal/backends/command/models.py:13 +msgid "Input" +msgstr "输入" + +#: terminal/backends/command/models.py:14 +msgid "Output" +msgstr "输出" + +#: terminal/backends/command/models.py:15 +msgid "Session" +msgstr "会话" + +#: terminal/forms.py:15 +msgid "A unique addr of every terminal, user browser can arrive it" +msgstr "" + +#: terminal/forms.py:16 +msgid "Coco ssh listen port" +msgstr "" + +#: terminal/forms.py:17 +msgid "Coco http/ws listen port" +msgstr "" + +#: terminal/models.py:15 +msgid "Remote Address" +msgstr "远端地址" + +#: terminal/models.py:16 +msgid "SSH Port" +msgstr "SSH端口" + +#: terminal/models.py:17 +msgid "HTTP Port" +msgstr "HTTP端口" + +#: terminal/models.py:66 +msgid "Session Online" +msgstr "在线会话" + +#: terminal/models.py:67 +msgid "CPU Usage" +msgstr "" + +#: terminal/models.py:68 +msgid "Memory Used" +msgstr "内存使用" + +#: terminal/models.py:69 +msgid "Connections" +msgstr "连接" + +#: terminal/models.py:70 +msgid "Threads" +msgstr "线程" + +#: terminal/models.py:71 +msgid "Boot Time" +msgstr "运行时间" + +#: terminal/models.py:92 +msgid "System User" +msgstr "系统用户" + +#: terminal/models.py:95 terminal/templates/terminal/session_list.html:95 +msgid "Replay" +msgstr "回放" + +#: terminal/models.py:116 +msgid "Args" +msgstr "参数" + +#: terminal/templates/terminal/command_list.html:87 +msgid "Goto" +msgstr "" + +#: terminal/templates/terminal/session_detail.html:17 +#: terminal/views/session.py:137 +msgid "Session detail" +msgstr "会话详情" + +#: terminal/templates/terminal/session_detail.html:28 +#: terminal/views/command.py:66 +msgid "Command list" +msgstr "命令记录列表" + +#: terminal/templates/terminal/session_detail.html:63 +msgid "There is no command about this session" +msgstr "该会话没有命令记录" + +#: terminal/templates/terminal/session_detail.html:88 +msgid "Replay session" +msgstr "回放会话" + +#: terminal/templates/terminal/session_detail.html:91 +#: terminal/templates/terminal/session_detail.html:100 +msgid "Go" +msgstr "" + +#: terminal/templates/terminal/session_detail.html:97 +msgid "Monitor session" +msgstr "监控" + +#: terminal/templates/terminal/session_detail.html:105 +msgid "Terminate session" +msgstr "终止会话" + +#: terminal/templates/terminal/session_list.html:74 +msgid "Duration" +msgstr "时长" + +#: terminal/templates/terminal/session_list.html:97 +msgid "Monitor" +msgstr "监控" + +#: terminal/templates/terminal/session_list.html:98 +msgid "Terminate" +msgstr "终断" + +#: terminal/templates/terminal/session_list.html:114 +msgid "Terminate task send, waiting ..." +msgstr "终断任务已发送,请等待" + +#: terminal/templates/terminal/terminal_detail.html:13 +#: terminal/views/terminal.py:58 +msgid "Terminal detail" +msgstr "终端详情" + +#: terminal/templates/terminal/terminal_detail.html:47 +msgid "Remote address" +msgstr "远端地址" + +#: terminal/templates/terminal/terminal_detail.html:51 +#: terminal/templates/terminal/terminal_list.html:31 +msgid "SSH port" +msgstr "SSH端口" + +#: terminal/templates/terminal/terminal_detail.html:55 +#: terminal/templates/terminal/terminal_list.html:32 +msgid "Http port" +msgstr "HTTP端口" + +#: terminal/templates/terminal/terminal_list.html:30 +msgid "Addr" +msgstr "地址" + +#: terminal/templates/terminal/terminal_list.html:33 +msgid "Sessions" +msgstr "会话" + +#: terminal/templates/terminal/terminal_list.html:76 +msgid "Accept" +msgstr "接受" + +#: terminal/templates/terminal/terminal_list.html:78 +msgid "Reject" +msgstr "拒绝" + +#: terminal/templates/terminal/terminal_list.html:81 +msgid "Connect" +msgstr "连接" + +#: terminal/templates/terminal/terminal_modal_accept.html:5 +msgid "Accept terminal registration" +msgstr "接受终端注册" + +#: terminal/templates/terminal/terminal_update.html:33 +msgid "Info" +msgstr "信息" + +#: terminal/views/session.py:74 +msgid "Audits" +msgstr "审计中心" + +#: terminal/views/session.py:75 +msgid "Proxy log list" +msgstr "Session列表" + +#: terminal/views/session.py:98 +msgid "Session online list" +msgstr "在线会话" + +#: terminal/views/session.py:115 +msgid "Session offline list" +msgstr "离线会话" + +#: terminal/views/terminal.py:31 +msgid "Terminal list" +msgstr "终端列表" + +#: terminal/views/terminal.py:45 +msgid "Update terminal" +msgstr "更新终端" + +#: terminal/views/terminal.py:100 terminal/views/terminal.py:101 +msgid "Redirect to web terminal" +msgstr "重定向到web terminal" + +#: terminal/views/terminal.py:108 +msgid "Connect ssh terminal" +msgstr "连接ssh终端" + +#: terminal/views/terminal.py:109 +msgid "" +"You should use your ssh client tools connect terminal: {}

{}" +msgstr "你可以使用ssh客户端工具连接终端" + +#: users/authentication.py:56 msgid "Invalid signature header. No credentials provided." msgstr "" -#: users/authentication.py:60 +#: users/authentication.py:59 msgid "Invalid signature header. Signature string should not contain spaces." msgstr "" -#: users/authentication.py:67 +#: users/authentication.py:66 msgid "Invalid signature header. Format like AccessKeyId:Signature" msgstr "" -#: users/authentication.py:71 +#: users/authentication.py:70 msgid "" "Invalid signature header. Signature string should not contain invalid " "characters." @@ -1806,7 +1915,7 @@ msgstr "原来密码错误" msgid "Password does not match" msgstr "密码不一致" -#: users/forms.py:89 users/models/user.py:42 +#: users/forms.py:89 msgid "ssh public key" msgstr "ssh公钥" @@ -1822,7 +1931,7 @@ msgstr "复制你的公钥到这里" msgid "Public key should not be the same as your old one." msgstr "不能和原来的密钥相同" -#: users/forms.py:107 users/serializers.py:41 +#: users/forms.py:107 users/serializers.py:40 msgid "Not a valid ssh public key" msgstr "ssh密钥不合法" @@ -1834,17 +1943,29 @@ msgstr "ssh密钥不合法" msgid "Role" msgstr "角色" -#: users/models/authentication.py:38 +#: users/models/authentication.py:35 msgid "Private Token" msgstr "ssh密钥" -#: users/models/user.py:26 users/models/user.py:249 -msgid "Administrator" -msgstr "管理员" +#: users/models/authentication.py:45 +msgid "Login type" +msgstr "登录方式" + +#: users/models/authentication.py:46 +msgid "Login ip" +msgstr "登录IP" + +#: users/models/authentication.py:47 +msgid "Login city" +msgstr "登录城市" + +#: users/models/authentication.py:48 +msgid "User agent" +msgstr "Agent" -#: users/models/user.py:28 -msgid "Application" -msgstr "应用程序" +#: users/models/authentication.py:49 +msgid "Date login" +msgstr "登录日期" #: users/models/user.py:36 msgid "Avatar" @@ -1860,10 +1981,23 @@ msgstr "微信" msgid "Enable OTP" msgstr "二次验证" -#: users/models/user.py:41 -msgid "ssh private key" +#: users/models/user.py:42 +#, fuzzy +#| msgid "Private Token" +msgid "Private key" msgstr "ssh密钥" +#: users/models/user.py:43 users/templates/users/user_password_update.html:43 +#: users/templates/users/user_profile.html:71 +#: users/templates/users/user_profile_update.html:43 +#: users/templates/users/user_pubkey_update.html:43 +msgid "Public key" +msgstr "ssh公钥" + +#: users/models/user.py:249 +msgid "Administrator" +msgstr "管理员" + #: users/models/user.py:252 msgid "Administrator is the super user of system" msgstr "Administrator是初始的超级管理员" @@ -1943,10 +2077,18 @@ msgstr "输入您的邮箱, 将会发一封重置短信邮件到您的邮箱中" msgid "Captcha invalid" msgstr "验证码错误" +#: users/templates/users/login_log_list.html:50 +msgid "UA" +msgstr "Agent" + +#: users/templates/users/login_log_list.html:52 +msgid "City" +msgstr "城市" + #: users/templates/users/reset_password.html:45 #: users/templates/users/user_detail.html:159 #: users/templates/users/user_detail.html:327 -#: users/templates/users/user_profile.html:136 users/utils.py:71 +#: users/templates/users/user_profile.html:136 users/utils.py:68 msgid "Reset password" msgstr "重置密码" @@ -1963,7 +2105,7 @@ msgstr "设置" #: users/templates/users/user_granted_asset.html:18 #: users/templates/users/user_group_asset_permission.html:18 #: users/templates/users/user_group_granted_asset.html:18 -#: users/views/user.py:159 +#: users/views/user.py:160 msgid "User detail" msgstr "用户详情" @@ -1991,7 +2133,7 @@ msgid "Revoke Successfully!" msgstr "回收成功" #: users/templates/users/user_create.html:4 -#: users/templates/users/user_list.html:16 users/views/user.py:70 +#: users/templates/users/user_list.html:16 users/views/user.py:71 msgid "Create user" msgstr "创建用户" @@ -2071,10 +2213,6 @@ msgstr "取消" msgid "User group detail" msgstr "资产组详情" -#: users/templates/users/user_group_detail.html:62 -msgid "Create by" -msgstr "创建者" - #: users/templates/users/user_group_detail.html:89 msgid "Add user" msgstr "添加用户" @@ -2096,10 +2234,6 @@ msgstr "用户组删除" msgid "UserGroup Deleting failed." msgstr "用户组删除失败" -#: users/templates/users/user_list.html:40 -msgid "Active selected" -msgstr "激活所选" - #: users/templates/users/user_list.html:187 msgid "This will delete the selected users !!!" msgstr "" @@ -2117,23 +2251,12 @@ msgstr "删除" msgid "User Deleting failed." msgstr "用户删除失败" -#: users/templates/users/user_password_update.html:43 -#: users/templates/users/user_profile.html:71 -#: users/templates/users/user_profile_update.html:43 -#: users/templates/users/user_pubkey_update.html:43 -msgid "Public key" -msgstr "ssh公钥" - -#: users/templates/users/user_profile.html:20 -msgid "Settings" -msgstr "设置" - #: users/templates/users/user_profile.html:67 msgid "OTP" msgstr "" -#: users/templates/users/user_profile.html:100 users/views/user.py:199 -#: users/views/user.py:250 +#: users/templates/users/user_profile.html:100 users/views/user.py:200 +#: users/views/user.py:251 msgid "User groups" msgstr "用户组" @@ -2157,15 +2280,15 @@ msgstr "指纹" msgid "Update public key" msgstr "更新密钥" -#: users/templates/users/user_update.html:3 users/views/user.py:106 +#: users/templates/users/user_update.html:3 users/views/user.py:107 msgid "Update user" msgstr "编辑用户" -#: users/utils.py:40 +#: users/utils.py:35 msgid "Create account successfully" msgstr "创建账户成功" -#: users/utils.py:42 +#: users/utils.py:37 #, python-format msgid "" "\n" @@ -2206,7 +2329,7 @@ msgstr "" "
\n" " " -#: users/utils.py:73 +#: users/utils.py:70 #, python-format msgid "" "\n" @@ -2250,11 +2373,11 @@ msgstr "" "
\n" " " -#: users/utils.py:104 +#: users/utils.py:101 msgid "SSH Key Reset" msgstr "重置ssh密钥" -#: users/utils.py:106 +#: users/utils.py:103 #, python-format msgid "" "\n" @@ -2279,15 +2402,15 @@ msgstr "" "
\n" " " -#: users/utils.py:139 +#: users/utils.py:136 msgid "User not exist" msgstr "用户不存在" -#: users/utils.py:141 +#: users/utils.py:138 msgid "Disabled or expired" msgstr "禁用或失效" -#: users/utils.py:154 +#: users/utils.py:151 msgid "Password or SSH public key invalid" msgstr "密码或秘钥不合法" @@ -2299,87 +2422,61 @@ msgstr "用户组列表" msgid "Update user group" msgstr "编辑用户组" -#: users/views/login.py:76 +#: users/views/login.py:79 msgid "Logout success" msgstr "退出登录成功" -#: users/views/login.py:77 +#: users/views/login.py:80 msgid "Logout success, return login page" msgstr "退出登录成功,返回到登录页面" -#: users/views/login.py:92 +#: users/views/login.py:95 msgid "Email address invalid, please input again" msgstr "邮箱地址错误,重新输入" -#: users/views/login.py:105 +#: users/views/login.py:108 msgid "Send reset password message" msgstr "发送重置密码邮件" -#: users/views/login.py:106 +#: users/views/login.py:109 msgid "Send reset password mail success, login your mail box and follow it " msgstr "" "发送重置邮件成功, 请登录邮箱查看, 按照提示操作 (如果没收到,请等待3-5分钟)" -#: users/views/login.py:120 +#: users/views/login.py:123 msgid "Reset password success" msgstr "重置密码成功" -#: users/views/login.py:121 +#: users/views/login.py:124 msgid "Reset password success, return to login page" msgstr "重置密码成功,返回到登录页面" -#: users/views/login.py:138 users/views/login.py:151 +#: users/views/login.py:141 users/views/login.py:154 msgid "Token invalid or expired" msgstr "Token错误或失效" -#: users/views/login.py:147 +#: users/views/login.py:150 msgid "Password not same" msgstr "密码不一致" -#: users/views/login.py:185 +#: users/views/login.py:189 msgid "First login" msgstr "首次登陆" -#: users/views/user.py:56 +#: users/views/login.py:257 +msgid "Login log list" +msgstr "登录日志" + +#: users/views/user.py:57 msgid "User list" msgstr "用户列表" -#: users/views/user.py:66 users/views/user.py:401 +#: users/views/user.py:67 users/views/user.py:402 #, python-brace-format msgid "Create user {name} successfully." msgstr "创建用户 {name} 成功" -#: users/views/user.py:228 +#: users/views/user.py:229 msgid "Invalid file." msgstr "文件错误" -#~ msgid "Add asset to this group" -#~ msgstr "添加资产到该组" - -#, fuzzy -#~| msgid "Add asset to this group" -#~ msgid "Push system user to this group assets" -#~ msgstr "添加资产到该组" - -#~ msgid "Update Asset" -#~ msgstr "更新资产" - -#, fuzzy -#~| msgid "Asset groups" -#~ msgid "Asset Groups" -#~ msgstr "资产组" - -#~ msgid "Select groups" -#~ msgstr "选择组" - -#~ msgid "Update User" -#~ msgstr "编辑用户" - -#~ msgid "Admin" -#~ msgstr "管理用户" - -#~ msgid "Groups" -#~ msgstr "组" - -#~ msgid "User Updated" -#~ msgstr "更新" diff --git a/apps/ops/templates/ops/task_detail.html b/apps/ops/templates/ops/task_detail.html index bc98f9ff1..ea477740c 100644 --- a/apps/ops/templates/ops/task_detail.html +++ b/apps/ops/templates/ops/task_detail.html @@ -65,7 +65,7 @@ {{ object.adhoc.all |length }} - {% trans 'Last version' %} + {% trans 'Latest version' %} {{ object.get_latest_adhoc.short_id }} @@ -85,7 +85,7 @@ {{ object.get_latest_history.is_success|yesno:"Yes,No,Unkown" }} - {% trans 'Conents' %}: + {% trans 'Contents' %}: {% for task in object.get_latest_adhoc.tasks %} diff --git a/apps/templates/_nav.html b/apps/templates/_nav.html index cf7877f6f..45cbbdbeb 100644 --- a/apps/templates/_nav.html +++ b/apps/templates/_nav.html @@ -35,24 +35,24 @@ -
  • +
  • - {% trans 'Terminal' %} + {% trans 'Job Center' %}
  • -
  • +
  • - {% trans 'Job Center' %} + {% trans 'Terminal' %}
  • @@ -65,11 +65,11 @@ {#
  • {% trans 'File download' %}
  • #} {# #} {##} -{#
  • #} -{# #} -{# {% trans 'Settings' %}#} -{# #} -{#
  • #} +
  • + + {% trans 'Settings' %} + +