From 9a5c00e14836bfdb681292c55b9ab90b9855bf67 Mon Sep 17 00:00:00 2001 From: BaiJiangJie <32935519+BaiJiangJie@users.noreply.github.com> Date: Thu, 20 Jun 2019 18:10:44 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=88?= =?UTF-8?q?=20(#2823)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Update] 修改文案 * [Update] 修改文案2 --- apps/applications/views/remote_app.py | 8 +- apps/audits/views.py | 2 +- apps/locale/zh/LC_MESSAGES/django.mo | Bin 77602 -> 77458 bytes apps/locale/zh/LC_MESSAGES/django.po | 116 ++++++++++--------------- apps/locale/zh/LC_MESSAGES/djangojs.mo | Bin 2698 -> 2727 bytes apps/locale/zh/LC_MESSAGES/djangojs.po | 68 ++++++++------- apps/static/js/jumpserver.js | 2 +- apps/terminal/views/command.py | 2 +- apps/terminal/views/session.py | 8 +- apps/terminal/views/terminal.py | 6 +- 10 files changed, 97 insertions(+), 115 deletions(-) diff --git a/apps/applications/views/remote_app.py b/apps/applications/views/remote_app.py index dee6d50f..5576ed3b 100644 --- a/apps/applications/views/remote_app.py +++ b/apps/applications/views/remote_app.py @@ -28,7 +28,7 @@ class RemoteAppListView(PermissionsMixin, TemplateView): def get_context_data(self, **kwargs): context = { - 'app': _('Assets'), + 'app': _('Applications'), 'action': _('RemoteApp list'), } kwargs.update(context) @@ -44,7 +44,7 @@ class RemoteAppCreateView(PermissionsMixin, SuccessMessageMixin, CreateView): def get_context_data(self, **kwargs): context = { - 'app': _('Assets'), + 'app': _('Applications'), 'action': _('Create RemoteApp'), } kwargs.update(context) @@ -66,7 +66,7 @@ class RemoteAppUpdateView(PermissionsMixin, SuccessMessageMixin, UpdateView): def get_context_data(self, **kwargs): context = { - 'app': _('Assets'), + 'app': _('Applications'), 'action': _('Update RemoteApp'), } kwargs.update(context) @@ -84,7 +84,7 @@ class RemoteAppDetailView(PermissionsMixin, DetailView): def get_context_data(self, **kwargs): context = { - 'app': _('Assets'), + 'app': _('Applications'), 'action': _('RemoteApp detail'), } kwargs.update(context) diff --git a/apps/audits/views.py b/apps/audits/views.py index cab4f1fb..8c9b6467 100644 --- a/apps/audits/views.py +++ b/apps/audits/views.py @@ -248,7 +248,7 @@ class CommandExecutionListView(UserCommandExecutionListView): 'keyword': self.keyword, 'user_id': self.user_id, }) - return super().get_context_data(**context) + return context @method_decorator(csrf_exempt, name='dispatch') diff --git a/apps/locale/zh/LC_MESSAGES/django.mo b/apps/locale/zh/LC_MESSAGES/django.mo index c125e16afe9ba19093777fd05ac950dcd0aaa06b..c4e24380b3cf885b4f8afcd4e1406bd158425e35 100644 GIT binary patch delta 22237 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 X8(Vys8MM_eu}{&6t!1<MTn+d?lw|9p delta 22348 zcmZA82bfOB`~UH?c3E~U*6OS5YRl?f*hIAGgs4%zy6B?!C!)6qk0=pDMDHO)2_bq- zl;|Z&)aXQ8{_oGu?RUBU=ej1Zx$l`XGiS~@&px}p-zn#Vez*|iyO28Q8;>J*kmqH_ zn$ey&DY54buAr>v{nFU;CgMgMh*g?+-t0u4w*$u!w`}HlU*KT|eZntNU(?H~S+ zn0&KVo|hU6xAwebSP|1=EllEhKCcaxFcO_G6#HX39D#Xo7UsmA$lAP{W@sDF%SK!P zS-V#Yi(oyB!x8u%ZpXa%60>5iww_lID`6Yv_j*yuMdBoCh4FX+gWI_U{euz250Mpn zN!q)e3d1zSu^5cyFa=gYT}VSrj;+n^sBs2k68u^+zc-zVc3=*s#O0VCx1a_%j)C|$ zM&UKoLX&iG3rU6Au>z>Au7pXk5k_K5)RqrMEo_Rl&p}^y5{sy4Yxkp`fjg)ZlYQp4 zHWvmH$6_ihin{WOm>3&l2(~agVmNVc)CG+~?wU6Zb)nBOHwJfP|8;K)cJ#dN*cf}^ zUaW_4ojmUooMc`><x6#@;5gI*c3=|Ri`uCpm<Nwx48B73%h|<UXe?GDuGxkC*TXQG zgjW0;CdH%XSqvq<iplXl>Y<BA-ODUp-4zwVAmVbUi7KJ`S4TY)jZn9!J!-rm);`up zC5*&0Yxog!60b&W=?T;Tm#_fd!(^DHo0}j8)xS9E)-*xgx=yHPXcX$+&%sQ%4s}b8 zn7)ftQjoZZ+QQe?keK_Ci#RQ6#br?os)E|$dZ=fjA?myqs2ymBy7Eq_iThc8B5H@H zpf2D?<aP9UE2*R;aR>|Jc~plKJ>0+<P!nfE^@~MKTn5#z0&2@^Vi?vlTcWnS8)|_g z%?bDeu^&_F{V(~s+kuZz_p|}(N;;w@>W13NzNi7eLQTBD+E<|_*nrxptr(8`F(aPC zRQMD#U~o^jgHf1F?|)8Ju%KDmtYFqeJ(LYm1N{&6$<_lk@lw=6*PwQ2BdY&CRR5!> zdw&J>y1zy(ESgu%r-{o_DTtM^5cWpxz>lb{U4q)$Rj7OWD{8|1s9ST?;`68puHi?R zw71)dI;fp%g?c9Xqn^31db9sZ%q9_mYt22VtvZXkqQ|I-gZj8Q9Cd}!sD;F0YAlMH zs4{B7&8)o>YQmnV9T{d$>BIhOfcYfS;4;+2zo7;^jk>3IPz!j5>Yuo;GYmCwT8nd{ z7M35?zXa<13Rnzlqi)%ksD+I6QPKPQEoukWqXyh>`O~O}=?QAU;C}95OoO_0`7te) zMBU?>m<~Ijc3>!Kya}lDXQ3`^G3wU&HdE1+??z2@7PaDkQ3F4>IAwn~P$cT%i8U*s z25f;k?{mu!F{h)(U4t6$chtnEk)8B;SE*<#?x40N9(B)y2DmFogSyh}s0s30zBFp! zk5E_G*y0YThj#$#iie_Z$#{#WqQ;qrsr3G@prQe`qE>bYwUwtVeuP@UYt(>A2f6{% zq85-9^-L5-Exa`9R#rt_P&3r6XoCqmgz7g0Q|SGlNJT6D4t2sj+=7cy1GgLGChlqu zL|xHn)I?un!t07!=n~Y0ti>qYiu&er5v${CypPoev;P{X%n&y~MbrYSqE=i7H9>Ps zSUFZ99)gj$3)Sy$)c1yaSOJp{b#Wd1khlwKo)xGIT95i%**cW{*Tc7yL|#0NdPoA< z77d&cwV)W(Gg1(BW#v!<RYwh6&uof$h})vJcp~cIoQ>^pHRi{3U$_svieHe>z3)jv zugx&j%4VRhcn)fUrKkzlq879nb>0qC`=6-u&Y=2TLiM|Wx{!OQXD1$`Fl3mE^ZBS~ zfYPWF%A*FTidw+OmT!hyU>j8bf!03UoP@>6&%%QE2S(!?)Wp$Wx`h-(J+yJC9rD$t zq6u4|I=07**b8;<C!!v%d8m855Vf%1Q4iY@)Phc<uJkhMy!)6QgND0XkQudOg;3*t zfQ9t_SEQm9^+F9i5;f6eRL7O5iPl>DD{8_Ws0ANDZT%@!zYCZfZ(t%!Il`G5vlFK^ zOJfba|4pfAs}^BH+=taLYNWf8PN-Wm6t&Qis4Jb0x}pWBhisj>2eq&>=5^di{1|zo zy_KW*`i6N&b0N&{RiTm?KgJ+zXmL|yi@a7CjFVAUJ`*+Z52!0%V{S$*a2IMpCsF-x znU7Ele}#HhLdLNF8lW5%y;jvwx1c_1f|i!=Zux<jl>8{nhm%lSy%}}>Wz+@yi+Wuj z;&Kce%eN?8je(eLoSP@dIQCy#RfvQpj6>~24Gh7$sI6~?T6r7PTktuC;26~Bg&&jR z5{rLAJ>7dz{ZFCBzlR#{H3nni@%H|Qjd%AfGwSKhi~59nAGMWDP!CTR)IgI^3!j6b zxC}#Z1L_KQU@qK^x}ZDO{t!cn<54@8%s0WESQvFH%A&5Mvc<Kny)kMbZBPs7i^*{$ zYT_xDpN+bJ<*3*1H`EoMvi6Iphy5;Up}tfT-Ib<6z4wJt4^ef@fXz?~>VtW4DC!Cp zqb6F1x{|%91>Qqld7`h}Li3=Wg;J=6R5j}$<M_OWRJ28{QTOaK)a%h7wSZ~nD%8)4 zy{LPB9`&$2LQVV(wV=>R?(-uXW+jfpY}nKsgei$<VRF6y%cyAUe?bkn19k8BpsxH1 zCdWJ0{v5TnuTdW`>ArU7XT<l2bD%!JnxoDih^cTm>Q+rf?eJWT)ce1NiY7i}9gd=Q z<UDH2uAol1g{klrX2P(^ZUK2vPjf!h1jSId<O9^g+o5)-C#JxWsGXdOzLZp!P*KN? zSPXZg27H0K*NLXMtxbWtqU@-LCm*U`Axw>>EMFb9klLvJP0ZG)c{*bl_MgK3>&i!w z&=rqIUGZep05ebn%tx(!ITpgrr~z)H?)h^w%<pbZH0s%T54B_U%r>YC?v1*IBmC@t zIF;{6=>1-4{)w9KF&4zYsjgp9vl42chNx$yz4;|-N9LFdQ43g!y1;GbE{q^P;G?3I zUPL{F&rnyK=o@#BLs3tAZcL4FSPtu83{JwFxB)-KbC?!OO>^ILYN5^>h(&QC>Vkel z?Y!?E6;1fqj7M#4lIiZ=r$Jp&6zYoep!%1_bXXp>@Wz&JZE<JRE$o9j?+erdzDDi% z@5lmt-U%vcNSwiXcn@_&6=t~iwgc*!7>#;(zA|T_wsbLS0V`2k{R^u9KFolBpf2Dh z>hs_Ms$Z&^+F|a0G!+dLhdQwW>V#^jmDaU<8`Lw=3H4SCKutUnb%m2q1J6bETaDWK zZKw-8iaGE)>X`}s)_uYCVyI|k<x%&pB^JWIsEHP$2K)*0;C9qPZ{er-0M%Y|ma{49 zf;yoV*aNkIfmj45q55w}pYGuwRPy6>)JJcc@7%pDin`a;P|rj?)Rnfx^w<N{e++6t z3sDoVuy`%%A=`vn$Tn-=hx+_D@*VrH6OWP5y**<cucIEG2dEu*h1$xbv)wI;L=9K~ zi(x6ui=8e14Qj!2EnZ=6u>5w^g&ol^2Dzx5vczlD6$a07Ta+HPz}y&x1yIjKZA{n+ z)IINk8F3iuLS|WhG3q_vh}!Z)sD+(FUEnRBC7z%L3Y_b%I1Or`D2&Adr~w+I2JC=Y za1hqPnW&w*iQ1_rsPmJ4?-rUCbt`hA-ilbPguaSYBB_i)-P0dYTe}6d(%q=H;W%mm z=gixvhxG+&CsNIG4_OqdUkTJgE1|Z!F>0JvsD*WOvCr#k9fqPFp3$fUOhjGLbkr@F zZ}C#p6|6_?*b&rLUPAS|jhgVG#V^f7Ke&F$Pzz3j!FvC5Qqh&>Pe}0FFzN~_U>>ZC z+PZ<Lem>L|Pc*;BOvGzZJ9rp%h5w)~<PmD2@u+7f#eBEWD2!l!FNTV?vMlPJ)<s=; zchm`kusTk(_!MdZx9}0hqb7LpqnkL<0(Ye;Q5TX4HC|rS&Xhnc>;p{r{lBUu>Y@f} zirUgHs4MA*y7Cd27^k2XJOj0mm8gNYqqcTGs{a|(csEcJK1cNrT<9(=-9q+1ibNg~ z+Tv;$gSAolzUFk)2h}gAdw&Eo;|<h=i5EH3qVl=01Xe)pV1LYx<4~W3D^Ry~$0GJW zn#yewF&MU(ClgCx1)Pg|O)jHOj9J2O!Wf7B@d9SWMoZmidtcl{{4J_~gJpb!#!lE9 z_n>ZZ+;aEUed?o9m_%RX9B&ck#(FE<2g(4{!{x_<xDxZ=c{9mMx9~z(ihLt{4<}i? z4}*yVR=FKch9Sf$a2WbBQh7pU7Ouz1tKEBBb&cD?W|)io6fBRwm@lvZaokVt=Xxj9 zmCnY=_yXJDgthL<?_(?CcI){0fqU>H=J)da?0$-M$6_?>$I|#3Bd`>!(mk(%dcE3W zIvk98s{Q6%a~Y-}zXA13?Z!lS00Z$b>b#?vMDPCvD%zrJm>mB_UC9g7K#exI_V$>J zxEpGK{+Jp^U^q_4B)9~%#j8<I|7O%D>_JS6H&D0qH75N1FXJz6fIO%LltB$#1@&-! zis^9xro+h?hKo@Hu15`c(DK(&3x9$dFKDCt84`|KSRAIrD(KUdG@_y_Xk!h1P%9pZ zQ8*9vH19wy>?CSIw@?Em;*r-lsZrx(wYV^9XXDID7)M+awUc8vvHzW^_(^DjH>i7- zX0sbGBkD?Xp{}$T>dLC225yX*uqEos2BG?o!ge?n^Wh6?&%MQsTLd-E`&+pGdgyAB z(8KlxYM`m8dp8$#MXNCb?m%7fS=1HZw)j6(|KMNw4Hq+@uCNtqL7h<x8GxF20p`GU zJ}T;X3bnPDQCIW?HF2t~ZeiImDRD{E)|bPq*a#D2U(^l_M)jM5TIeimUuLdBJ)|2@ zJLua=MJw8k+JO_O0dArmo`<L_eS=zP=r(tY(xPrzCe*?U;XJH>Yw#-SR!;lPjWf$! zj9S3Y_@3VXEmR7Uc#6@OYdiNBtKc6v8T(@E9qy0Gr?EV7rr+KB+zg8nw?u8JA0u%C zYMf)J9nG@S?NDjd1=q%e_rG~Ug%1|Y9KgLo4LD|(Ti9mIMtlpk10lQJy-tJL;#{bm zD}lqY8ft<=7=`CB3C3f>>$t}~W8oO?qaiaDolp>Kv4Hnc`SE*M6o&5Oj|qH)^}qqd zhY#=%NLckCf9s?F0Sush@?ox;yq|4Lg*E<k6E#EKq7E2@15vlshY3Ib$5RO>F%`4m zLd=LeQ4iGx^D$~CLXNs;Bo<?di<vF381Y!ljlZI{{wiwRH~0l+ImREjaLzHVQ(JnK z#38(k+M+GTo%>K*_ZOzd^OnDF`FM+iPPqQzW>zzwSsFD?Wz>8%E#L42`>YAukkI?x z!y3k-PMC(8csA-@ueSEz%tM%#{27byoAGAIU+%p0sCi;6E^b!xSwnrZ6>8#cW*>8~ zIUIEb<4^-mHRqugy3*W^?TC+~`j<KBeygs8d5Ak=BlJz7(vr$8EQd8tImep^%+S;B zi$x980!N|-o?!7bj3J(F?y~&9n3eovEQ1keTwEI?^qhC4qAM9@er3)w7b6|LpUr)! zkJR(1h1@nDn$J<=d1swrW+pQRbt{WwGQDS&sAx-STZew;2+L2lc$2vYbw$T5euR2< zymRgrWHj@m^5raUY<5O1aHwQ{Z#)&PXa;KF#nxdD>I#ozAf82S`9*8LY3)xfjyFTj zyYteco{6le35#GfeqeD+^l8GbR5Z~9({CNVH5XZaow?cEVeR|OzsxJvejl~)|F9>% zwDxWn+=2#OVE?tkF(mY3cNXf0&qCB|waVOux`MN)9k^jWwEQd7ILR)$EzgXKOITbL zwUAb*^V^x-FZx_!fF*{T6Hz-d-Qqb|oOrS2&s+W~>ek)0{A<)g6JK%*NR5%ixhyV^ zT0niwi7k9oN>Uk)nsAf39o2C!YQUqY_KOz(WAP)*P5uRT!|1<V|F2OyFx%qQsD=KD z+Sx;<?+O)le2!Xa^2=_3JeaVB7FRVJpcc~F;*Mrt%MUllS$;BV;yD(twD!#|@AGz0 z(Ta{*ha0FXe}bCmjhW<%%ZH(MBt5D<r<u?4MJ+CeWoiG&;xADbG#0bscL}kN@8?uB z;9=`<*1T)^fUEAr6sUzoqZXVGwPWS2y*X-}9_A2poV8E4c&WKTdFJ<aTH>S<#8)l; z&kVZep6YNj7S*pJYQl!7g|sn!s4bsm@iNrH_h2yoY3-*m;otvmTH+CEz`%dp38_$D z6f&XmxlscbGb@^(U=s3eQ2jcY{mc>OWYogvm}~yw{nrUQN$8{UPwRNg{Lc)!?j{IF z_0M2&F4WJ0{HTSMv3zw@zq)1%v$NSBlh8i$I{UB61QIjRZw&=*xB-fr<x%}=qb6!# zaXV}8Vh%vvic#hd_#W|A{1%^~7UsX{#{1r9l|`tAm8c0eTYLb^5T8OlbP=~)zr3ie zEQy7&n#BVxo`_oTR&$qm5W~qI!)WwfqoRR=Z@Ymrp-zlJeTgiH$*`Q|tDzS9vBk|X z2XR}=k3seS2J7Hl%!BtZ7Bk#&=T~(4ypO49!scdM)Bv4b2d|IizqEL)#nVt%G8@%@ zmE|{La^l}CK7_i!<CedU>i;-F?*D5lT0qi&ohi+9sE0C(#U(L0@%v_Vj3I7>1<{8& zaiz5%GcTcT>Ax1oqvi{_%XoVK!>MG!tf&d&P#qeewyYUy;?Wp_Q>}fj<rktJy0xfJ zwj-9mi<<Z)YP`^U?w+Sc?MQL-Y2YeUG;w{@)^tUk(9axd`H`5C{3OfIMJ;F{>ijjB z2=|+Zupsdt<{NBIT=2g8{y*V9?|%gnM@h8Dv=7|M2BQ`*$>M3Kg)YIAxZd)+Ek14S zH_fN0*E#SZ&k@c>y*<euxpA|ZxgXj4U%(Q@u{<5iq9z<-`EeFcws?-Y!1Bw@jh5eS z9zrenIO_YuRm*35>^``nd{i`1L9?t`6}1BmQ1_}C>V55wdfg_Y&ifhFZwIR1J{*td zus(kF#C`Mm6?Ln&n+GwR*mshO2DphD@V*(38ZhLk`&}>#s=X8{U&-P|sC(ZQHO>%= zM_Bu8%P&PeTWe4|vf1hL4p2!;;;i`qH9_!yZs1I2F;u=LY9aqKyPzf>fSK?Mi)UH; z59TV=2hkRbuVKRX|A$nP((uX}5<hbjq()7c&EleFIkTqO1ocVT-t1@jF{tyuLA}O{ zF%XZT`k$0~|8G#y);vdTP2h9)a7189;%HQRW7LVQF&Fl-cqZz~mZEm%7)IbF)XqFM zUs`*j7cQR?ed>^oidLG%ENoUpEvTW{9@W3EwGTnvy00+<E;P59r_2Yag@wFy^Q1?` zu`hZ5HDD<c`Y8PXb*1gi9_BzyM}7oq3umDQn2Y-SSdRMWy=VC}uiQk@s0%2LT3{u! zIVN1lEB0Rl4Y9;Hb24g2W}vownZ;XB{g0UE%$t~-{8Njw#JlrjQ44tA;##QlTbf;c zRLYSUh+5GmYuIicM(xO1i?5;jJ;X?SZgJYzZs5#jUb7^se?^O{TinR>wXjM%vy0ga zwF3iDA2<_HD_>)7we|z3E4*OwU26|`<F-5n>bw}#Ls=Zvzp88Zd5x*)A^IHEakOjj zrdqrLb;2f#_oJ@-r1=PSg(<y&1k<6$$zsM@zLdoupf0RNLhR#rFl*?HT1bEE@RjA~ zp&rham=*s*eH1^z%9uVNAYp;cQSDt(3z&d<O=qGW&TXiLUPax~+miXcCzg0)CQIZ7 zh(N703Uy*J)WcW?H9!s2L=8|MV683R+46l*3;NRHd8lz#qQ?CheT}K?rJ@gz=)i!4 ze<rJrnxHFcf_~-*)BuyMeFo~*{9yT?P_NlWi;tofa2hq?GmArm+<CD<0q*@TLqY?W zM@?AO;szEsGdr4nQ3DP)r<qI4E#?u_)?Y>~EI6?<3bnBJ68qdr8j~nO;xp70eQPd7 zowy0Lz+*TZ&!86CB8jszs=YsI=X|Jf#-cvLXQKN5fm--^)X#+b>Zl1KgWbbd95qmN z)CqOX7S`U`9ER#Q-JD}CFqfkivex2X&7G)m5177FR=H+AG~b|Bnmnm98|uWOSRBh? zUhIwfVll^DVy-i{p>|?FYC&gEZ^cy?`@E23t|5(?6?J8KFbft!O<c?T)a-y-U~h{@ zTRhcVWcf{~1?)kMd(!e366F26ZHZ@Q;t+RBQllo$hnlFg<!fLi;<nbl1U12Wi+5Xm z3^m~u)GfY+pJ8CAi@Qj@|0AhrqB*E7T829DXUlIf_n{W@m&G^Dr)FSsH%=-u3u?Sr zi;JViEpKsE^d%<Iz#5vO?qzH1&=qxM15sBn4mIF>YhQsHaFe+m_2YT3#RpOSk6{Wt zZ}~gsqvZDfzaXI<2ncg;K?)2a&WXzBMO}GGvl?na&CEWieqWihQ2iI1n^6lrZ1D+H z{~KYv{~G9tB~qktCq`l;@&zp(WzNJa<d<9gbxJqTeAJb$ws@1d$2@NSZQeCs`mB;P zl^ZB6YOAuNw!R1^+%s#hikZnbu(+q`GbflcQRgkRc!jwM^}}nAwfk;T(P#gC%#Inu zopGq0`JdSzHSuKB)~!Ts@n-WdYMj4OKcqrZ2PFJkQ6%c4wk)dsQ`9`eUF`D~QhATW z5iE_#A_BYySOGQB44j4wP`4y5ja%4Ma|Nn>H)`VMY28O|H!Ps@P(Rj>p}s@j#C+(b z3*i52%KMj}ioQ^MkJ|Drs4F{&+JTD}KeP7G^lqR?tV(-P)c1fvsP75eQP09n)Gc^~ zx{w#x9fLCjc)PG4&d~e+enz*oe_>(bN0=XTW(r97c3T%eBA$vR@GNSF!XpE`_pt*e z>=5dAzBv9Bvo%h}CioaX#oAc{yqdTK8{<>-m8DWAYe2%EO2?zFd=I9<GpJt@@0kJF z+!aNjt|*fkV-~me@~F?1s;JL{+Lo_}`h00(aocRX|C+EfiGes2L-DzFNF3$1GP#)! zb&H}<=M_e6aYfXYSGRn9)I-++)qj*Z4YlxvsPorGb$5x~*5MfHDZgSJyl6L21nR`1 zsE4T>>X~U^`OnRv=6KXoKEvY8=3f7U4<Zu&=5mjWmhcMol%>q>X2^remq0zPRW1KN zvkU5y23R~6b?MX0@9{(8rKqjBji2B{)VLqzu+Q8kIb4U9s7vdB>d+fC!Dvj1(@_(A zkGiQ#QSaGm9E#gf@9l><-8cixQK)hJSO({##=nr$=LURW9bTHDx!m4HqE0M=nz+2h zHO!`{4~)*Jg)cCFLcQ?YQ0M=P`lySy_H4ObKEIEOZepAz>Y1%k6ZS-{bTH~0$RyN6 zD=fbWwY7&({g0y_^9!hcmo0w})$h6Gy%^W-3!|cjOlGv1$1H>zs3hu2Dxwzj2@b&a zs1J@ysEJ$VaSLgSI<FgQ{6VM>lrJ$Cu0=ljeBNm)`UFUvHz48vY1jgr6Gz6nkF)_8 zN4x_y!5h>c@&fa@$G#|PVYN|P-oo+|Pzzm*TF7Q|FKR(2FdfgIcaF*jBp&5=A6Z2U zxR0pOs4cyW8t4vcpf{)qlNaPO6Emaw{fs$q8)||p<}K8D4^Y2#zDAv&x=?_p`T1Rn zuQgoSPD*;>zXRO=&@U_TAnMccU;5Ob?H6Jle~{C0i~KxXMrlQPL>x??y0jlc{rtX+ z9mxC1^`Q(Wcbm8qMe}<>Bm?=5!`tI+AvqC$C7+JGj+MxV)Bha<h>KIkTP8x^kL>t_ z^UKp#fTH7X{0TR4{=dpuUTqvcFN%|Yx8xyC?m@>l`1aUlZK33Tpwy$G$~*1+0P@aT z+#S~upL=JL{noaY^U6`bhqdts`fN)0Hz*RD{M#!=<o(RLX0q!U&rr+hR*oJzex>fC zRPe`FOz%5Q?*sJETX2f(uf)kXb31Vn;$FmaY($;?-#hjEwC^J~o!ooWbsS?Xe%k)u z!4JBGqYHjveUx}kogcB?yl^Jdn-gP=73mm6$wl0cfpaIE?*8{U56Iu5Y@och{+;nK zeRfdJTTZ9&e0nW8|33BAl#$ef`~j6Cd}XQW=;`owaaIef|HN6_sHdTieo%jaPbed8 z<X+^eTVGLwwkX>4@mY=fUCOtVDdg@l*4yLvxAh<%mN{gT(rGxIHedxB+fgb~uSe-b z{vj5kygjn8O`p>z{%r!&&`(Ed%x-nX3+NX}{5N%e?t3qBlZ~}FFdKj6BQcl6XEg4o z=!oWoyyQ;#i+mK}%VrPHZCYk0w6i37<|aQ*XVLpp%0$|RaaLE#Uh2Vk!1^CWeM@>x z|419}ecHdGoFR9G^Vd+`9_z_Xqis|mr`4w6<U5V(^cAHt9dyj1tu-fnNnDEh1j}Ei z-j{Nawwe?jJ1JSLeUd**l}O(%B0eY+{ujiR>79t>=~GZgl=a+6ds0dS?H}4mUnKN! z|2YFE$(N!`v2)b&8U3%28-kr(S8o;ZK1wdv&%dEcn6Dx2?J1kdzk3uSm&p?K>F=}p z3F@CxGE=^I=bR+;zey=Ueko3;e^J`^P~V8(P!`hm9%T?YJ6e0;7E~s)n|eb!%)#B9 zFvi*{VwJb2m<_B=;ZV*gLs>{}C+g_v@KX2}RLv2P&A+c|Hs5{PE>Na0wvNTf??>J| z&ik2igSL;zx1?+*)=`W0u2#Qb_Ha!J|7}cr05>i*QE%EOTc3Bjc>mC+;oCi2@c(tt zH|GrGn$c+lMZbG^b`d`k>-ZLPTW+15{|uLsYlXR3z(mXU#BVvLEa$YQy^ozYN%!y> z!6+MaKAoCSAI}N5C{-vgt#b;TO<O_yp8PBN#-omV<}cJ!(%yv<MPEPaXij?{SM`pN zOU&Z_B|fNUXfcUX)|iowKiObP)wKbF@HYxy@Vsl3jr4g;=}GP%jI(pzaL!NUcF?C5 z>L^3oZAuuqLBwY*A56~IjsM&w`2<g>H%AXTj3(AG7>`mOQ=iEIdnh5+ravR*wfZa@ zw24`b{6PAaq)!HNWr+)*zRFy&KK<FCHZ`)u{zkvl<Vw;fJ3FJJ3^^S`v8K(DBgntB zMsD93x}GOJ0&CIbCbq$=n3K~(ZHR-!sW`Q=4K)Xw+ECYMdwVn`KcAxCLH1%I+7?ju zTZiw-EulUG&jj+wyr40L@;hZDNgZ+2n^RvzX-XVSIcsf|Xw$D+!|~nYDZyA<kn;Jc zud+V5sjnxOhmxE+e-iN8CbaoS)=#O&<_6hiWPYS9C+<v-7UXVY7_p9p)Cb}a%4OO* zD9Q0F`4^OpHd_;Njfk5Oe@;CqeTPz_sAr+fq+W`)G;D1MMR(pSOtK&44^GUe1V?pZ z9r?&rq2%YJAIYWnPplQ0_a&J>Y|54NYDfKJa&M2Ht)ANdXRT6|A93Cb$`Z1F*;(~% z{8XHBkorh$Nqa^7$NFfrvy`#KQ~kASr_Z~Op2sM|=&8S3Ork!Y(uShrLp$@ee`4+Q zzG-Cn1BiDVS5xj#Plns*)t~yi#{hEUNaVnjY)l_(e?e|9=R77}g#ncE^jSkbx%Fv9 ze3<%Y<l0*<TOz*k1X}PEzoYT(ae{adCq*++V(Q1KucO3JUrYI#a+=Pwur-cg(ojlu z;#kzt(LbzCgs(JF8?qT0DIV+4vK+r>v|w_-6Zfb79P6skreha&!%LKpX+Mr{k3)=^ zp7vN0-%u}rgNa|!Pe(e&-A?^LBKyfX${JiVuRie_N=eED1}KW>7~m!Kw?{eZUs0~p zreh2Bqx89hZ7ByRI_{dUsXwM~Tl(CmJWV*yKjq_ewLYRcljdQR)HLNI?v~KZw?|?f zgNgN*039{0Z3jNL`VI15Q2*Bd<l`9MW@@#`Tx0Talpd5}lw{=JU`t9)>RlPVH2zGf zMee4}c9C<FQI93xiTXwA<EaNyo?D-4CcoWzW60~6h^6(jv?`TiG;C$iIuspA+4c$K zs#|B}no$;0GQN{j{u9pmSQU;6)W^|&g!-SDhcU`i7EvFIy(#b0_PLEQSHEl~BKaRD zR-%-pu^w>~>YX(JP9@iX@--y`ZGFk-Ab*N_M@mle>nO!23n)59)8`U>#?amcACaqy zDJeR#lV3zVt&fhQNjxMNP4av~GjBfmOq4KoA`xxR$n&RLub>Uk2wzctu~?@)p#KAm z#|!k`i~Q9!;aEX^I`xaV9mkO64?Ujd_fAr>s=~2|Qo{yKPwpGy)!2Yik`w--WGA;3 zb*#i$lJ-#Qn>lwXmLQjc#lNwBe-R(1PXUXMxH<gOKM60;jQabO<+O7O{}js~wuzG{ z;J9w*sJ_B~;*%VC&(U)NQD%DOrZo&dpcGdZj?by<*y4|_pT6>ai)z!esMRAFVK6;r zV0z}MZ*yErIFFx;<li0_Ip>mpNd5HLb5hd)_pJ9?g0EGqcb-K4Vf7<;uDuV{jiWKv zqhw`{Wt>%zTn5djM&i7ZBNe&i{(uG%T~E`yAuX-37)3`u%3SL6ndb&=Lnt4TD@>e; z{8j4LDf@_@(e@j;r<8@{{-G?R{x@w;sCTFS_Q>KN)*yYyNLsp(8qS%&P}i{)57YBE z>aWOWrbJLbj*lq4C^|0DZ<nijSLr{LdVfqz`P2H;Bv+L3r$3-!HeU<Q7(&TO>k6_T z(Q^y#rX;1zqfN(b@;dU`D5@8yEdyT0W0-@|j(+{DPfz@Ywl+2f&E8S!A6WbDMEtQN z1wq1dPh&@$L>=4H@sKKZ3?%ME-}Ubd7D9cp#j~*~Wr_bm!w6quYBLz^OPflAbRdq# zkau#*|3^HDQipRsA+A7)q;C=8w3tNlK-|N>h;?khFyb^WO!#j!aVpB$K+iwCQFyKI z=o3!-_BhQPACr56jmXcWd}r;2==49UAEEtA`ekO$spJ|{PWu0D6q7MIwG*_&(&O!+ zf9Bcak8T|CemYuL5j~*C66(dR*AC*V)Jx#MxE?ps?+$%>Q`S;?t^K@lM4`0<M~@Bh zznNSnQO^!*OHTPdMQHo>T{?Da7uBU>uik49e&05CP?0jli>xiaCuRP%agTb0_!q>- zCAq$N#P!Xi*ItUB8J7I|!p+w=ZM(YV+Z(H9`|rO>vtdGLK<>ySH&*_5W7V(?KjjX% H6#V}Hq}eue diff --git a/apps/locale/zh/LC_MESSAGES/django.po b/apps/locale/zh/LC_MESSAGES/django.po index 8feb8f95..4747d760 100644 --- a/apps/locale/zh/LC_MESSAGES/django.po +++ b/apps/locale/zh/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Jumpserver 0.3.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-06-20 11:41+0800\n" +"POT-Creation-Date: 2019-06-20 17:55+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: ibuler <ibuler@qq.com>\n" "Language-Team: Jumpserver team<ibuler@qq.com>\n" @@ -305,7 +305,7 @@ msgstr "备注" #: perms/templates/perms/remote_app_permission_list.html:17 #: perms/templates/perms/remote_app_permission_remote_app.html:26 #: perms/templates/perms/remote_app_permission_user.html:26 -#: templates/_nav.html:36 templates/_nav.html:48 templates/_nav_user.html:14 +#: templates/_nav.html:36 templates/_nav.html:48 templates/_nav_user.html:16 msgid "RemoteApp" msgstr "远程应用" @@ -558,28 +558,9 @@ msgstr "连接" #: applications/views/remote_app.py:31 applications/views/remote_app.py:47 #: applications/views/remote_app.py:69 applications/views/remote_app.py:87 -#: assets/models/user.py:135 -#: assets/templates/assets/_asset_group_bulk_update_modal.html:11 -#: assets/templates/assets/system_user_asset.html:22 -#: assets/templates/assets/system_user_detail.html:22 -#: assets/views/admin_user.py:30 assets/views/admin_user.py:49 -#: assets/views/admin_user.py:66 assets/views/admin_user.py:82 -#: assets/views/admin_user.py:107 assets/views/asset.py:52 -#: assets/views/asset.py:69 assets/views/asset.py:128 assets/views/asset.py:171 -#: assets/views/asset.py:199 assets/views/asset.py:226 -#: assets/views/cmd_filter.py:31 assets/views/cmd_filter.py:48 -#: assets/views/cmd_filter.py:65 assets/views/cmd_filter.py:82 -#: assets/views/cmd_filter.py:102 assets/views/cmd_filter.py:136 -#: assets/views/cmd_filter.py:170 assets/views/domain.py:30 -#: assets/views/domain.py:47 assets/views/domain.py:64 -#: assets/views/domain.py:78 assets/views/domain.py:104 -#: assets/views/domain.py:133 assets/views/domain.py:153 -#: assets/views/label.py:27 assets/views/label.py:45 assets/views/label.py:72 -#: assets/views/system_user.py:29 assets/views/system_user.py:46 -#: assets/views/system_user.py:63 assets/views/system_user.py:78 -#: templates/_nav.html:19 xpack/plugins/change_auth_plan/models.py:68 -msgid "Assets" -msgstr "资产管ç†" +#: templates/_nav.html:33 +msgid "Applications" +msgstr "应用管ç†" #: applications/views/remote_app.py:32 msgid "RemoteApp list" @@ -1182,6 +1163,29 @@ msgstr "自动登录" msgid "Manually login" msgstr "手动登录" +#: assets/models/user.py:135 +#: assets/templates/assets/_asset_group_bulk_update_modal.html:11 +#: assets/templates/assets/system_user_asset.html:22 +#: assets/templates/assets/system_user_detail.html:22 +#: assets/views/admin_user.py:30 assets/views/admin_user.py:49 +#: assets/views/admin_user.py:66 assets/views/admin_user.py:82 +#: assets/views/admin_user.py:107 assets/views/asset.py:52 +#: assets/views/asset.py:69 assets/views/asset.py:128 assets/views/asset.py:171 +#: assets/views/asset.py:199 assets/views/asset.py:226 +#: assets/views/cmd_filter.py:31 assets/views/cmd_filter.py:48 +#: assets/views/cmd_filter.py:65 assets/views/cmd_filter.py:82 +#: assets/views/cmd_filter.py:102 assets/views/cmd_filter.py:136 +#: assets/views/cmd_filter.py:170 assets/views/domain.py:30 +#: assets/views/domain.py:47 assets/views/domain.py:64 +#: assets/views/domain.py:78 assets/views/domain.py:104 +#: assets/views/domain.py:133 assets/views/domain.py:153 +#: assets/views/label.py:27 assets/views/label.py:45 assets/views/label.py:72 +#: assets/views/system_user.py:29 assets/views/system_user.py:46 +#: assets/views/system_user.py:63 assets/views/system_user.py:78 +#: templates/_nav.html:19 xpack/plugins/change_auth_plan/models.py:68 +msgid "Assets" +msgstr "资产管ç†" + #: assets/models/user.py:138 assets/templates/assets/_system_user.html:59 #: assets/templates/assets/system_user_detail.html:122 #: assets/templates/assets/system_user_update.html:10 @@ -1438,7 +1442,7 @@ msgstr "日期" #: assets/templates/assets/_asset_user_list.html:61 msgid "View" -msgstr "查看认è¯" +msgstr "查看" #: assets/templates/assets/_asset_user_list.html:63 #: assets/templates/assets/admin_user_assets.html:61 @@ -2317,8 +2321,8 @@ msgid "Date" msgstr "日期" #: audits/views.py:85 audits/views.py:129 audits/views.py:166 -#: audits/views.py:211 audits/views.py:243 templates/_nav.html:87 -#: templates/_nav_audits.html:22 +#: audits/views.py:211 audits/views.py:243 ops/views/command.py:47 +#: templates/_nav.html:87 templates/_nav_audits.html:22 msgid "Audits" msgstr "日志审计" @@ -2984,7 +2988,7 @@ msgstr "更新任务内容: {}" #: ops/views/adhoc.py:45 ops/views/adhoc.py:71 ops/views/adhoc.py:85 #: ops/views/adhoc.py:99 ops/views/adhoc.py:113 ops/views/adhoc.py:127 -#: ops/views/adhoc.py:141 ops/views/command.py:47 ops/views/command.py:72 +#: ops/views/adhoc.py:141 ops/views/command.py:72 msgid "Ops" msgstr "作业ä¸å¿ƒ" @@ -3000,7 +3004,7 @@ msgstr "执行历å²" msgid "Command execution list" msgstr "命令执行列表" -#: ops/views/command.py:73 templates/_nav_user.html:22 +#: ops/views/command.py:73 templates/_nav_user.html:26 msgid "Command execution" msgstr "命令执行" @@ -3825,7 +3829,7 @@ msgstr "文档" msgid "Commercial support" msgstr "商业支æŒ" -#: templates/_header_bar.html:89 templates/_nav_user.html:28 users/forms.py:139 +#: templates/_header_bar.html:89 templates/_nav_user.html:32 users/forms.py:139 #: users/templates/users/_user.html:43 #: users/templates/users/first_login.html:39 #: users/templates/users/user_password_update.html:40 @@ -3941,11 +3945,11 @@ msgstr "用户列表" msgid "Command filters" msgstr "命令过滤" -#: templates/_nav.html:33 -msgid "Applications" -msgstr "应用管ç†" - #: templates/_nav.html:55 templates/_nav_audits.html:11 +#: terminal/views/command.py:51 terminal/views/session.py:74 +#: terminal/views/session.py:92 terminal/views/session.py:116 +#: terminal/views/terminal.py:31 terminal/views/terminal.py:47 +#: terminal/views/terminal.py:60 msgid "Sessions" msgstr "会è¯ç®¡ç†" @@ -3954,6 +3958,7 @@ msgid "Session online" msgstr "在线会è¯" #: templates/_nav.html:59 templates/_nav_audits.html:15 +#: terminal/views/session.py:93 msgid "Session offline" msgstr "历å²ä¼šè¯" @@ -3961,18 +3966,15 @@ msgstr "历å²ä¼šè¯" msgid "Commands" msgstr "命令记录" -#: templates/_nav.html:63 templates/_nav_user.html:33 +#: templates/_nav.html:63 templates/_nav_user.html:37 msgid "Web terminal" msgstr "Web终端" -#: templates/_nav.html:68 templates/_nav_user.html:38 +#: templates/_nav.html:68 templates/_nav_user.html:42 msgid "File manager" msgstr "文件管ç†" -#: templates/_nav.html:72 terminal/views/command.py:51 -#: terminal/views/session.py:74 terminal/views/session.py:92 -#: terminal/views/session.py:116 terminal/views/terminal.py:31 -#: terminal/views/terminal.py:47 terminal/views/terminal.py:60 +#: templates/_nav.html:72 msgid "Terminal" msgstr "终端管ç†" @@ -3996,7 +3998,7 @@ msgstr "账户列表" msgid "Sync instance" msgstr "åŒæ¥å®žä¾‹" -#: templates/_nav_user.html:9 +#: templates/_nav_user.html:11 msgid "My Applications" msgstr "我的应用" @@ -4354,10 +4356,6 @@ msgstr "ä¿¡æ¯" msgid "Session online list" msgstr "在线会è¯" -#: terminal/views/session.py:93 -msgid "Session offline list" -msgstr "离线会è¯" - #: terminal/views/terminal.py:32 msgid "Terminal list" msgstr "终端列表" @@ -5770,7 +5768,7 @@ msgid "Interface settings" msgstr "ç•Œé¢è®¾ç½®" #: xpack/plugins/interface/templates/interface/interface.html:15 -#: xpack/plugins/interface/views.py:25 +#: xpack/plugins/interface/views.py:24 xpack/plugins/interface/views.py:25 msgid "Interface setting" msgstr "ç•Œé¢è®¾ç½®" @@ -5793,10 +5791,6 @@ msgstr "æ¢å¤é»˜è®¤æˆåŠŸï¼" msgid "Restore default failed." msgstr "æ¢å¤é»˜è®¤å¤±è´¥ï¼" -#: xpack/plugins/interface/views.py:24 -msgid "Interface" -msgstr "ç•Œé¢" - #: xpack/plugins/interface/views.py:51 msgid "It is already in the default setting state!" msgstr "当å‰å·²ç»æ˜¯åˆå§‹åŒ–状æ€ï¼" @@ -5900,7 +5894,9 @@ msgstr "æ— æ•ˆçš„è®¸å¯è¯" msgid "Admin" msgstr "管ç†å‘˜" -#: xpack/plugins/orgs/meta.py:8 +#: xpack/plugins/orgs/meta.py:8 xpack/plugins/orgs/views.py:26 +#: xpack/plugins/orgs/views.py:43 xpack/plugins/orgs/views.py:60 +#: xpack/plugins/orgs/views.py:77 msgid "Organizations" msgstr "组织管ç†" @@ -5917,19 +5913,10 @@ msgstr "æ·»åŠ ç®¡ç†å‘˜" msgid "Create organization " msgstr "创建组织" -#: xpack/plugins/orgs/views.py:26 -msgid "Org" -msgstr "组织" - #: xpack/plugins/orgs/views.py:27 msgid "Org list" msgstr "组织列表" -#: xpack/plugins/orgs/views.py:43 xpack/plugins/orgs/views.py:60 -#: xpack/plugins/orgs/views.py:77 -msgid "Orgs" -msgstr "组织" - #: xpack/plugins/orgs/views.py:44 msgid "Create org" msgstr "创建组织" @@ -5955,15 +5942,6 @@ msgstr "密ç 匣å" msgid "vault create" msgstr "创建" -#~ msgid "Update failed!" -#~ msgstr "更新失败" - -#~ msgid "Update auth" -#~ msgstr "更新认è¯" - -#~ msgid "Password version" -#~ msgstr "密ç 版本" - #~ msgid "User does not exist" #~ msgstr "用户ä¸å˜åœ¨" diff --git a/apps/locale/zh/LC_MESSAGES/djangojs.mo b/apps/locale/zh/LC_MESSAGES/djangojs.mo index aab4a06e6150424d2779b534a47cd2a73051e6c1..2d0fc71a4258fd6cd0e7e6a6c902dec690efceb1 100644 GIT binary patch delta 730 zcmXxizc0f<7{~Fatrpe#QLP{KJF#dGR0tL#213GOl2}AAU?6N=B*J2lt~L>gfpixJ z34?`%M8rn;8<2Q^zCD**Uw7Z@-969U?I%tWnYUO$)+kNXdTQKf)`k&3Ka_J!;RWhH zuh@@27{cCwSs@N#5JxeF<2ZqHxP&Keyu83HO1}zA%`(>NKBTdPfe}<7Q`m?rsEzlW zr&vV)4vX;toADLP@E2z=N;C>^9?NkNr*R9}*lsb({`O2G!H0KLq~AEqDJ(F%j{Y&} z#qk=`_=H+GOcb)hS%VS!O*nw<IEIUE{LGE#oL7?l?Vg5?<OOT+)9E8U^^?vtD#J<C zMst|NWmHBxsH-|e1$K#A_XZXCBWhk@IBy&?`p`mS8#|H2y`s!@9V(otReG&_KnjAj zylc>WU6+oyfvT(eFA7S9WxarEy`EV$>Wy%!DeuwnHmrimoAU0w3UwtadR)pfdYJVe q1xMF5S2uD!f%QPRucN1{xw~&L-IY5F&H6$g+4Ha6gPgBu&;JMKs5}q= delta 701 zcmXxi%`1da6vy#1FBoII%rJvtu&_ZA(=@SRLye?SvbSPqp=38(*+>&hkwn?ZQ&tof zHkALsij*wXl$Y}TJ>9u=`rP}>JolV?&vTmGPL^I0;XPyY5Zy#9U^alisBsuH8^j~* z#V5?;C)Q$r$gB>BFo9W|#Ti`1U97=xY(xv2H9-@yE?I_20}qB!1>{l1ETR&wJIfeh z?O{D$V;??XGrr>jR#1f%$l8KMEaEaM@g=H|J4}+_o|&l9H=N?s^Ss@~dWU1R;W=jU z7Pax0^9N(BgH$z+%{Yw()c<x+zwbMbofoJAZm@&=_NWQII{%z0j;WK4pf;MsG|r(; zvVv;O1}fnZYU49h!B?pFKAaV2IBK@Z^Ej4VoBfSh`-2<wd#Ob`p=8wL_gSsd?Wi!d zORcI7CD$O2Uyu$}9dRbD1ea`l3Vv(&gwmE_ktB508Y!Zah?P%*2VNnx7K-ME$MSun RxrtoXyRTgec)gLW;6FYyIL810 diff --git a/apps/locale/zh/LC_MESSAGES/djangojs.po b/apps/locale/zh/LC_MESSAGES/djangojs.po index 8e0ec504..549f1cd4 100644 --- a/apps/locale/zh/LC_MESSAGES/djangojs.po +++ b/apps/locale/zh/LC_MESSAGES/djangojs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-05-27 15:53+0800\n" +"POT-Creation-Date: 2019-06-20 16:30+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -17,58 +17,58 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: static/js/jumpserver.js:249 +#: static/js/jumpserver.js:263 msgid "Update is successful!" msgstr "æ›´æ–°æˆåŠŸ" -#: static/js/jumpserver.js:251 +#: static/js/jumpserver.js:265 msgid "An unknown error occurred while updating.." msgstr "æ›´æ–°æ—¶å‘生未知错误" -#: static/js/jumpserver.js:315 static/js/jumpserver.js:352 -#: static/js/jumpserver.js:355 +#: static/js/jumpserver.js:329 static/js/jumpserver.js:366 +#: static/js/jumpserver.js:369 msgid "Error" msgstr "错误" -#: static/js/jumpserver.js:315 +#: static/js/jumpserver.js:329 msgid "Being used by the asset, please unbind the asset first." msgstr "æ£åœ¨è¢«èµ„产使用ä¸ï¼Œè¯·å…ˆè§£é™¤èµ„产绑定" -#: static/js/jumpserver.js:321 static/js/jumpserver.js:362 +#: static/js/jumpserver.js:335 static/js/jumpserver.js:376 msgid "Delete the success" msgstr "åˆ é™¤æˆåŠŸ" -#: static/js/jumpserver.js:327 +#: static/js/jumpserver.js:341 msgid "Are you sure about deleting it?" msgstr "ä½ ç¡®å®šåˆ é™¤å— ?" -#: static/js/jumpserver.js:331 static/js/jumpserver.js:372 +#: static/js/jumpserver.js:345 static/js/jumpserver.js:386 msgid "Cancel" msgstr "å–消" -#: static/js/jumpserver.js:333 static/js/jumpserver.js:374 +#: static/js/jumpserver.js:347 static/js/jumpserver.js:388 msgid "Confirm" msgstr "确认" -#: static/js/jumpserver.js:352 +#: static/js/jumpserver.js:366 msgid "" "The organization contains undeleted information. Please try again after " "deleting" msgstr "组织ä¸åŒ…å«æœªåˆ 除信æ¯ï¼Œè¯·åˆ 除åŽé‡è¯•" -#: static/js/jumpserver.js:355 +#: static/js/jumpserver.js:369 msgid "" "Do not perform this operation under this organization. Try again after " "switching to another organization" msgstr "请勿在æ¤ç»„织下执行æ¤æ“作,切æ¢åˆ°å…¶ä»–组织åŽé‡è¯•" -#: static/js/jumpserver.js:368 +#: static/js/jumpserver.js:382 msgid "" "Please ensure that the following information in the organization has been " "deleted" msgstr "请确ä¿ç»„织内的以下信æ¯å·²åˆ 除" -#: static/js/jumpserver.js:369 +#: static/js/jumpserver.js:383 msgid "" "User listã€User groupã€Asset listã€Domain listã€Admin userã€System userã€" "Labelsã€Asset permission" @@ -76,76 +76,80 @@ msgstr "" "用户列表ã€ç”¨æˆ·ç»„ã€èµ„产列表ã€ç½‘域列表ã€ç®¡ç†ç”¨æˆ·ã€ç³»ç»Ÿç”¨æˆ·ã€æ ‡ç¾ç®¡ç†ã€èµ„产授æƒ" "规则" -#: static/js/jumpserver.js:408 +#: static/js/jumpserver.js:422 msgid "Loading ..." msgstr "åŠ è½½ä¸ ..." -#: static/js/jumpserver.js:409 +#: static/js/jumpserver.js:423 msgid "Search" msgstr "æœç´¢" -#: static/js/jumpserver.js:412 +#: static/js/jumpserver.js:426 #, javascript-format msgid "Selected item %d" msgstr "é€‰ä¸ %d 项" -#: static/js/jumpserver.js:416 +#: static/js/jumpserver.js:430 msgid "Per page _MENU_" msgstr "æ¯é¡µ _MENU_" -#: static/js/jumpserver.js:417 +#: static/js/jumpserver.js:431 msgid "" "Displays the results of items _START_ to _END_; A total of _TOTAL_ entries" msgstr "显示第 _START_ 至 _END_ 项结果; 总共 _TOTAL_ 项" -#: static/js/jumpserver.js:420 +#: static/js/jumpserver.js:434 msgid "No match" msgstr "没有匹é…项" -#: static/js/jumpserver.js:421 +#: static/js/jumpserver.js:435 msgid "No record" msgstr "没有记录" -#: static/js/jumpserver.js:563 +#: static/js/jumpserver.js:577 msgid "Unknown error occur" msgstr "" -#: static/js/jumpserver.js:800 +#: static/js/jumpserver.js:816 msgid "Password minimum length {N} bits" msgstr "密ç 最å°é•¿åº¦ {N} ä½" -#: static/js/jumpserver.js:801 +#: static/js/jumpserver.js:817 msgid "Must contain capital letters" msgstr "必须包å«å¤§å†™å—æ¯" -#: static/js/jumpserver.js:802 +#: static/js/jumpserver.js:818 msgid "Must contain lowercase letters" msgstr "必须包å«å°å†™å—æ¯" -#: static/js/jumpserver.js:803 +#: static/js/jumpserver.js:819 msgid "Must contain numeric characters" msgstr "必须包å«æ•°å—å—符" -#: static/js/jumpserver.js:804 +#: static/js/jumpserver.js:820 msgid "Must contain special characters" msgstr "必须包å«ç‰¹æ®Šå—符" -#: static/js/jumpserver.js:976 +#: static/js/jumpserver.js:995 msgid "Export failed" msgstr "导出失败" -#: static/js/jumpserver.js:993 +#: static/js/jumpserver.js:1012 msgid "Import Success" msgstr "导入æˆåŠŸ" -#: static/js/jumpserver.js:998 +#: static/js/jumpserver.js:1017 msgid "Update Success" msgstr "æ›´æ–°æˆåŠŸ" -#: static/js/jumpserver.js:1028 +#: static/js/jumpserver.js:1018 +msgid "Count" +msgstr "æ•°é‡" + +#: static/js/jumpserver.js:1047 msgid "Import failed" msgstr "导入失败" -#: static/js/jumpserver.js:1033 +#: static/js/jumpserver.js:1052 msgid "Update failed" msgstr "更新失败" diff --git a/apps/static/js/jumpserver.js b/apps/static/js/jumpserver.js index f86ca134..5eac258f 100644 --- a/apps/static/js/jumpserver.js +++ b/apps/static/js/jumpserver.js @@ -1015,7 +1015,7 @@ function APIImportData(props){ $('#updated_failed').html(''); $('#updated_failed_detail').html(''); $('#success_updated').html(gettext("Update Success")); - $('#success_updated_detail').html("Count" + ": " + data.length); + $('#success_updated_detail').html(gettext("Count") + ": " + data.length); } props.data_table.ajax.reload() diff --git a/apps/terminal/views/command.py b/apps/terminal/views/command.py index 222701db..c1a5eb39 100644 --- a/apps/terminal/views/command.py +++ b/apps/terminal/views/command.py @@ -48,7 +48,7 @@ class CommandListView(DatetimeSearchMixin, PermissionsMixin, ListView): def get_context_data(self, **kwargs): context = { - 'app': _('Terminal'), + 'app': _('Sessions'), 'action': _('Command list'), 'user_list': utils.get_session_user_list(), 'asset_list': utils.get_session_asset_list(), diff --git a/apps/terminal/views/session.py b/apps/terminal/views/session.py index 369053a6..cf4484c0 100644 --- a/apps/terminal/views/session.py +++ b/apps/terminal/views/session.py @@ -71,7 +71,7 @@ class SessionOnlineListView(SessionListView): def get_context_data(self, **kwargs): context = { - 'app': _('Terminal'), + 'app': _('Sessions'), 'action': _('Session online list'), 'type': 'online', 'now': timezone.now(), @@ -89,8 +89,8 @@ class SessionOfflineListView(SessionListView): def get_context_data(self, **kwargs): context = { - 'app': _('Terminal'), - 'action': _('Session offline list'), + 'app': _('Sessions'), + 'action': _('Session offline'), 'now': timezone.now(), } kwargs.update(context) @@ -113,7 +113,7 @@ class SessionDetailView(SingleObjectMixin, PermissionsMixin, ListView): def get_context_data(self, **kwargs): context = { - 'app': _('Terminal'), + 'app': _('Sessions'), 'action': _('Session detail'), } kwargs.update(context) diff --git a/apps/terminal/views/terminal.py b/apps/terminal/views/terminal.py index e5d4658e..5ddb9312 100644 --- a/apps/terminal/views/terminal.py +++ b/apps/terminal/views/terminal.py @@ -28,7 +28,7 @@ class TerminalListView(PermissionsMixin, ListView): def get_context_data(self, **kwargs): context = super(TerminalListView, self).get_context_data(**kwargs) context.update({ - 'app': _('Terminal'), + 'app': _('Sessions'), 'action': _('Terminal list'), 'form': self.form_class() }) @@ -44,7 +44,7 @@ class TerminalUpdateView(PermissionsMixin, UpdateView): def get_context_data(self, **kwargs): context = super(TerminalUpdateView, self).get_context_data(**kwargs) - context.update({'app': _('Terminal'), 'action': _('Update terminal')}) + context.update({'app': _('Sessions'), 'action': _('Update terminal')}) return context @@ -57,7 +57,7 @@ class TerminalDetailView(PermissionsMixin, DetailView): def get_context_data(self, **kwargs): context = super(TerminalDetailView, self).get_context_data(**kwargs) context.update({ - 'app': _('Terminal'), + 'app': _('Sessions'), 'action': _('Terminal detail') }) return context -- 2.18.0