From 8262048edcf7a9d5d76adfca7844eb345aef9939 Mon Sep 17 00:00:00 2001 From: z3d Date: Wed, 15 Sep 2010 01:39:38 +0000 Subject: [PATCH 01/71] New default I2PSnark theme: faze to gray. --- .../org/klomp/snark/web/I2PSnarkServlet.java | 14 +- .../resources/themes/console/images/hat.png | Bin 0 -> 5802 bytes .../themes/console/images/snark_add.png | Bin 0 -> 1645 bytes .../themes/console/images/snark_create.png | Bin 0 -> 1673 bytes .../themes/console/images/snarknav.png | Bin 0 -> 171 bytes .../themes/console/images/snarknav_on.png | Bin 0 -> 262 bytes installer/resources/themes/console/snark.css | 190 +++++++++++++----- 7 files changed, 143 insertions(+), 61 deletions(-) create mode 100644 installer/resources/themes/console/images/hat.png create mode 100644 installer/resources/themes/console/images/snark_add.png create mode 100644 installer/resources/themes/console/images/snark_create.png create mode 100644 installer/resources/themes/console/images/snarknav.png create mode 100644 installer/resources/themes/console/images/snarknav_on.png diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index ea1325e18..375fdb006 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -871,10 +871,10 @@ public class I2PSnarkServlet extends Default { out.write(""); if (remaining > 0) { if (peer.isInteresting() && !peer.isChoked()) { - out.write(""); + out.write(""); out.write(formatSize(peer.getDownloadRate()) + "ps"); } else { - out.write(""); if (pct != 100.0) { if (peer.isInterested() && !peer.isChoking()) { - out.write(""); + out.write(""); out.write(formatSize(peer.getUploadRate()) + "ps"); } else { - out.write("\n"); out.write("
"); out.write(_("Add Torrent")); - out.write("
\n
"); + out.write("
\n
"); out.write(_("From URL")); out.write(": \n"); // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve) @@ -956,7 +956,7 @@ public class I2PSnarkServlet extends Default { out.write("\n"); out.write(""); out.write(_("Create Torrent")); - out.write("
\n
"); + out.write("
\n\n\n\n\n\n\n"); out.write("
"); //out.write("From file:
\n"); out.write(_("Data to seed")); out.write(":
" + _manager.getDataDir().getAbsolutePath() + File.separatorChar @@ -1004,7 +1004,7 @@ public class I2PSnarkServlet extends Default { out.write("\n"); out.write(""); out.write(_("Configuration")); - out.write("
\n"); + out.write("
\n"); out.write("
"); out.write(_("Data directory")); out.write(": 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 literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/images/snark_create.png b/installer/resources/themes/console/images/snark_create.png new file mode 100644 index 0000000000000000000000000000000000000000..54e3f5b885a797ca9428bb64b03d1fd244adc483 GIT binary patch literal 1673 zcmV;426p+0P)pLJ4r-ARCt{2n_ExoIuM1Ma@{~fp)C@k2(`b3|NqE4LP7{ypxp1A z?_}vjJ#3NP*d7<{WIa>`5_{Inni)F|$>HH)qrzy;+kiQv=3i~p{Hu+cf3;EbuQqD_ z)yCo+=YD&8`}p{1Hk*r!b2DQ;6TiN`-rU@X`SbI0k|b%GE-fv^w`5^B97diJ^4Hhb zgTbKR@53K2;DY=6`<0cIg@uL4#>^rACzA=xVS9Uf3+>TpgcfiLzmIQBZ2k`q538%I z%gf71;5Ea`%L|S`0(|GMk?o1fpK5n^cek^%^Z58k@gw+nfnVYdegl90%8xNkipn2) z?RLA7Reow7Vdp!Epvor+a7|2;;_-(wQtxy+Pft(OJifygFHrMVGVpt@AqDu1W>q}? z6uEA<3+>O(PiQ0l=6|3fz@J_q7jR`Xt0M77+wi2x!=He|lRQtR0DruYS46IlV^|FS z1e}mk_N4qq)&-LPgA#}f@-LUaD; z93}*xPcmHeekTv;0>3h-3gD&)z0jOLO>S#zOHAMotK@q~0{8+KAOSTibr-}aG-`^1}nNI*wK3dR2p4p+qfipL% z7c!=WsV4kYw6GY#PY1sg&^#)jYiK!O)Cx?%-7aOo3l6~-$Q@ijB4{CCA%VdBkvbuwfgu4t@xqKf?>j)g)oStO zB}4E{K}h}U@z%k?0a}H;_PK7#&%y0TfN>_132IU=^c-^x?0NC3}j`w+Gl28%yy`%b5WeW(=v z{FsDWv7shn4s#Mg`v~?_K}HV4UyrK@5h}&9{9rH0-~#+1e|C1JO#z@g_zxR~Kb>iJ zcUNT(v#3=8gD)^_nx;sA;A>y_Q}|;Ov?` zF>64EuDjWkJ4?`IHpXks(z^e)pWqmp=`egs0kLkQ#MxE&JIa{{8ul;00Q7Plp}u*rJd71Y@ zH`hDzC-D$GHIJ|p4dS3vO}Eh;K&>V9NC7<{lRXaOxbRoc8xDtPkK#wqo8`fFSTLQc z!0G9!_JwY}(1pKx9+4;O2)>@}IgH~80!|jN+|Z`LtrxlkO^>vhPd%^rNXN7nw%hGq zuctPQRSsNA$6qITI-h2TuNT-HCJq7wNFmV4@<)cU#+2r-2`IVfAMG`=UQlo`4$}EY z*@+;dQ^4XE0dx)e*CBG*SzPj;N<;k7+sVlZTfKsp7WoqrrC2z;;R-R@8;&kG1t$jM z@t98*MOamKiiR71ZSr)mU%b^-Sm+TBks+($e|&sg;9sPnr$a*7DH?A4AxucgI&DP@ zt`vXzlUsvOZ--cc3v^frqOO0E?8$WTlH=my0=uyf@jDo&=cq~c{BLh>&&|$1!tne* z=PViyx9cvqz|M#m@4q|qw=m`l%=v4f;;erQlco`azo-69@uTB!Vb2%*==}dn;$PQ4 zuli^DBCuhO=>@i@3~sjz!3~>+Vf^*l6Z?~^t1A}sWy8qMM^AW7|2xodXg238;30o> zbi^*O)c>}zrDOBME>mwo*%@ibztw6Hf0&F$qx19gQY8Sf=#BU^P5lq~3Sh_|0(wNN z|Mn_-JF+M8kT+cj*w%j?S9u=MnWF0d|6TL1HfsLWM$Nz4sQFhLHUDa(>iqu!j#N9e To2D-?00000NkvXXu0mjf_8u)R literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/images/snarknav.png b/installer/resources/themes/console/images/snarknav.png new file mode 100644 index 0000000000000000000000000000000000000000..83cda509e929f582e8e5e496cc98896512d4c783 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^JV5+}g9%6~GX%v0Db50q$YKTtJ!KGPtXOJa1{93- zba4!+nDh4fM&1Sk9u^0OH*a^wwhB&SYSO)Xb^Y<0>BdTZGqYz22>ntn={Gbp%l#K~ zblJA{@SLpb9h^Q1P2sa|$>lK#UxDxgJ|Eort$gOrNz6c_f1F^hy*5vJV|n#%AdkV* L)z4*}Q$iB}Kzuqk literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/images/snarknav_on.png b/installer/resources/themes/console/images/snarknav_on.png new file mode 100644 index 0000000000000000000000000000000000000000..c7457195c9dd38f2b28b77659e2e8be46c225439 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^JV5+}g9%6~GX%v0Db50q$YKTtJ!KGPtXOJa1{B=k z>EaktG3V`cL%wDQ0p?;sevj$TpWL<4Q7wOY*`PJG(ImY8n%Iv$2K#}|9@uwJoAHC8B Date: Wed, 15 Sep 2010 01:45:17 +0000 Subject: [PATCH 02/71] Update history.txt to reflect Snark theme change. --- history.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/history.txt b/history.txt index 78e36b4bb..da706176c 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,6 @@ +2010-09-15 dr|z3d + * I2PSnark: Overhaul UI, implement gray theme. + * 2010-07-12 0.8 released 2010-07-08 zzz From 7f24dc5f03bd66cf4c667fe7009702cabc582520 Mon Sep 17 00:00:00 2001 From: z3d Date: Wed, 15 Sep 2010 04:03:48 +0000 Subject: [PATCH 03/71] Cross-browser tweaks to snark.css --- installer/resources/themes/console/snark.css | 23 +++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index 531365fd1..c46834992 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -37,6 +37,8 @@ body { background: #f90; background: #111 url('../console/images/snarknav_on.png') repeat-x scroll center center; -moz-border-radius: 3px; + -khtml-border-radius: 3px; + border-radius: 3px; } .snarkRefresh:active { @@ -59,8 +61,8 @@ body { padding: 3px 0; border-spacing: 0px; -moz-border-radius: 4px 0 0 0; - -khtml-border-radius: 4px; - border-radius: 4px; + -khtml-border-radius: 4px 0 0 0; + border-radius: 4px 0 0 0; border: 1px solid #000; overflow: auto; color: #22f; @@ -166,6 +168,8 @@ td:first-child { letter-spacing: 0.25em; border: 2px solid #444; -moz-border-radius: 0 0 5px 5px; + -khtml-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; border-top: 0; text-shadow: 1px 1px #333; background: #333;/* url('../console/images/snarknav.png') repeat-x scroll center center;*/ @@ -189,6 +193,8 @@ td:first-child { font-size: 9pt !important; line-height: 160% !important; -moz-box-shadow: inset 0px 0px 1px 0px #002; + -khtml-box-shadow: inset 0px 0px 1px 0px #002; + box-shadow: inset 0px 0px 1px 0px #002; text-align: center; opacity: 1.0; } @@ -246,6 +252,7 @@ input { text-align: left; padding: 2px 4px; -moz-border-radius: 4px; + -khtml-border-radius: 4px; border-radius: 4px; border: 1px solid #000; background: #111; @@ -290,7 +297,8 @@ select { font-weight: bold; padding: 2px 2px 2px 3px; -moz-border-radius: 4px 0 0 4px; - border-radius: 4px; + -khtml-border-radius: 4px 0 0 4px; + border-radius: 4px 0 0 4px; border: 1px solid #000; } @@ -305,6 +313,7 @@ textarea { font-weight: bold; padding: 1px 4px 0px; -moz-border-radius: 4px; + -khtml-border-radius: 4px; border-radius: 4px; border: 1px solid #000; } @@ -350,6 +359,8 @@ div.newtorrentsection { -khtml-border-radius: 4px; border-radius: 4px; -moz-box-shadow: inset 0px 0px 1px 0px #ff0; + -khtml-box-shadow: inset 0px 0px 1px 0px #ff0; + box-shadow: inset 0px 0px 1px 0px #ff0; word-wrap: break-word; background: #444 url('../console/images/snark_create.png') no-repeat scroll right center; opacity: 1.0; @@ -365,6 +376,8 @@ div.addtorrentsection { -khtml-border-radius: 4px; border-radius: 4px; -moz-box-shadow: inset 0px 0px 1px 0px #0f0; + -khtml-box-shadow: inset 0px 0px 1px 0px #0f0; + box-shadow: inset 0px 0px 1px 0px #0f0; word-wrap: break-word; background: #444 url('../console/images/snark_add.png') no-repeat scroll right center; opacity: 1.0; @@ -379,6 +392,8 @@ div.configsection { -khtml-border-radius: 4px; border-radius: 4px; -moz-box-shadow: inset 0px 0px 1px 0px #f00; + -khtml-box-shadow: inset 0px 0px 1px 0px #f00; + box-shadow: inset 0px 0px 1px 0px #f00; word-wrap: break-word; text-align: center; background: #444; @@ -410,6 +425,8 @@ div.configsection a:hover { -khtml-border-radius: 4px; border-radius: 4px; -moz-box-shadow: inset 0px 0px 1px 0px #002; + -khtml-box-shadow: inset 0px 0px 1px 0px #002; + box-shadow: inset 0px 0px 1px 0px #002; background: #111 url('../console/images/snarknav.png') repeat-x scroll center center; text-transform: uppercase !important; letter-spacing: 0.05em; From 161f86b6bbfdb2b56958e61d11bbd765a469124b Mon Sep 17 00:00:00 2001 From: zzz Date: Wed, 15 Sep 2010 15:25:32 +0000 Subject: [PATCH 04/71] improve and sort javadoc titles, put classes in the right places, add susi* --- build.xml | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/build.xml b/build.xml index 9768eadd6..c2d26de43 100644 --- a/build.xml +++ b/build.xml @@ -153,16 +153,20 @@ destdir="./build/javadoc" packagenames="*" use="true" - group="SDK net.i2p:net.i2p.*:net.i2p.client:net.i2p.client.*:freenet.support.CPUInformation, - Streaming net.i2p.client.streaming, - BOB net.i2p.BOB, - SAM net.i2p.sam:net.i2p.sam.client, - RouterConsole net.i2p.router.web, - Router net.i2p.router:net.i2p.router.*:net.i2p.data.i2np, - Systray net.i2p.apps.systray, - I2PTunnel net.i2p.i2ptunnel:net.i2p.i2ptunnel.*" splitindex="true" - windowtitle="I2P"> + windowtitle="I2P Anonymous Network - Java Documentation"> + + + + + + + + + + + + @@ -177,6 +181,8 @@ + + From 9b69f2266a65b9f174b7518a652ef57d9bf693b5 Mon Sep 17 00:00:00 2001 From: z3d Date: Thu, 16 Sep 2010 02:32:07 +0000 Subject: [PATCH 05/71] I2PSnark "faze to gray" theme: graphics and css futzing. --- .../themes/console/images/graytile.png | Bin 0 -> 213 bytes .../themes/console/images/snark_add.png | Bin 1645 -> 4137 bytes .../themes/console/images/snark_create.png | Bin 1673 -> 1383 bytes installer/resources/themes/console/snark.css | 17 ++++------------- 4 files changed, 4 insertions(+), 13 deletions(-) create mode 100644 installer/resources/themes/console/images/graytile.png diff --git a/installer/resources/themes/console/images/graytile.png b/installer/resources/themes/console/images/graytile.png new file mode 100644 index 0000000000000000000000000000000000000000..4757e8812d73c213bc441c3e70cc72490a100ddb GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?I3?vN&YJLDIg8-ipS0N!GMMXsk2?=RwX(=fw zNl8gIHa2#4b`CJ$lq$<9p9&@dT)sv%n*=n1O-sFbFdq&tH)O z6!i9VaSW-L^Y(%xFM|OO^TrhdZ3~|I7b$$&+IQgO&bO!btee6-y(r;O10ypVkAy+O d0i28#zv7Oqkhc{zTLLte!PC{xWt~$(698LVGiv|< literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/images/snark_add.png b/installer/resources/themes/console/images/snark_add.png index 29b85431d26f2bd77c349ba9b63ee0f816b46584..f15ccddddcf7c79c64bcbc355b96e2110df8fa76 100644 GIT binary patch literal 4137 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 lKU%QL?1l zd&{DAczBrA810|lzz?J0UvD)0>y3tgz0vTmHyZx+M&0>$TxWlKd%L~8eSd#nSXkh9 z{udei{QSJQxVXN)-flZ8$&o+gf3L2t4h|0BaC375pZVW?eSN*VyW{oIXtcAl<0k?~ z{%C%8cem5&TwY$@-`|(w&tRB8JUsCF($doA=BCpo9r?e!ykN$?UT=AM`7L1ncb}e~ z5ZU$hHMYaUKgl2R!{PAp@e%&mLfO}Gfh-6DIXdj_H+=p7Ie=$_1G|R3e+hi!zt9Ru z^Hy27^KX5?@S?|lz90pEn2!N^Sh%L;p9!wq<(KhpkO4&0lRSnn(7qqOtqdwx`92*~HhZb*PbohT0ndoQ)dZCDu>33-AbwZTf9a}vEGD2L1pZj#azMp7 zX8`3>amw8QD^{GaDu2=*mM;@PEfRrKE@TP#(|R&Lrsl&_!@>x*EVjI9zF{zPU(!2aUqLX=OGfjsF( zIWJa}iB_>Fe-|PJcF8mQi)aFfm6$ggjZ|n>%z1f4<1e$+H%~UIav+Kc;8`etI28|7b0fGs$2+dq7>;cR#Tv`r-H}a=S@RQ{`p*px)2BaE2b#ryo-wqObPqK`Qs+n z$cb77876@K@d6!bJmPn( z5Jvwx8W;=)YK;wnkZ1@0^Ye3lVXo#P`fgo1c1%FG_jG&Bc0i`Ehw>HnoUTB*@Yk7? zzFS}d1g)|MWRy}^e!t(R@=>1?G3R~Ss>h^RI3tC;On@kW7nI6{1kO=_!d~2*mxmYs zd@jU?fAIorcupNsM@sojqMYYyJtH`HZhzRD)g<0@?#`Bhxj|luW>BwJwVJ84( z!UuEsmOsj;gX;Bqyajo`o1cR3iETa?qEfZSGmM#>$4G>woF@x%-J$zO3wej!qPw1NrzvE+*YOrTu^ z^*PiFQhxMOzYr<-D;KH+Iy*Zn41_vCKRG#3&ckc`a^9!CC0HZ-=nE0ScswS&5#(Fp zUYx))VGqlv;8o6ZJw(qV5&uap#I{dQPmuzlJ|Ff7jr?6_#}SXWzD2r^*2;y506)hI ze^9tgKv(JX7rA}P3nfWE+AA001+b+Y(CsC)$tYjvWz|3FltR+0JIaMRBRxJo*7Yu` zy`!Te{+KN1ecDpW#j=mS5Jy1&WC2=33Les)?y#iEd3mJfk9zR}bdJIi0Wn_*4|KcT z#GA>|^UuP^A|fBz9xKp|JsuEBg1ZBMLE>kw?&(O2LQwpF@CMy3tgz0vTmHyZx+#xE#F)y#g%ic$ao002ovPDHLkV1hZ2FM$96 diff --git a/installer/resources/themes/console/images/snark_create.png b/installer/resources/themes/console/images/snark_create.png index 54e3f5b885a797ca9428bb64b03d1fd244adc483..d975cdce2282b3c0cfd98294baa08f8791dd546b 100644 GIT binary patch delta 1379 zcmZvc`!|$%0EcmOe8aGbh{kQ^AS~Osl-xGWV&pLMzLMB24JxJ!a%aq@vaw7VY%7hum74it~@#Rip2$qm&3lhg$B{eaYMMukB!y! z9#U_$rt=|+vP%^Lm$&O#jh61Kw*m)U$m%#7O)V{zdKtD!Eu4auUAO!{80?5z)G16< zZfOO1(SB{QvWXp$(*NmW=_TW2U9LxRQtzy9jk_LM=w=*ffw~(eXFH9{XoGIeE6dla ze4h?$J$x94!&n_KLvmX^GS|r@x61UD(Y1uo#>rab4NDX5;<6*xFPj&S`W4UW{QJl&U(RFpa7}mPf<@ko&7l#-_}G}%mzKy> z%ACmZPU`cGjfyQ#SxDfgF8wS7qU6zFPd>$;c7IEHThAS%i?Q)^yete2rGEWXC|&QO z=ih9p70k|<&^!t>|&l=cDzd2)n5#pP z5WCjp+R*;a?shTSIA%uKDV_f~B=ytuYQ5;U6zX(CL$#Gta0d8b)~& zhY`CO4ukqRYLvRw4TF5c0lMU~c1EWlz|PLOJX0hWDa30V)6*v=x~u4z{+HFiMt$`A z%36A{Aqj?dkD7bB6Igro5!2faGmxT`}IQp=yLGn4`6=%1<}1j|#K1vok#I zm;xjcIdRVUJJ91~v0NNCbtPmULHBic_l81I*o$7EoTN7f9PeH>MQCc~QK{x0J@#Ce zsE5?r+S==N_4PO4={j$p(T)xkhHY>gDz?x4Js*_CH>V*l!@D|opiJi$>THEhDJqDb z(8hfg{=*)v`80EtP9fl1Ih5qh$lvng)7m`@^NAUD_c|m%u@`Th=+_wit^BetMNtmto&$2{YMpUJnQIn4OjMwi|OgE zx*m1g%Ll!yo}9)$tCB0i?XfwT_o`TJZDDmQZ(P-UN2vI_11_f<63w&zcq=BZp;VGN gddZxf|6zpkG(yVAkT4E@>!uR!rvU6DukfsY08)IgEdT%j delta 1671 zcmV;226*}B3W*INiBL{Q4GJ0x0000DNk~Le00010000102m$~A0JoPv4Ur)ie+D~A zL_t(|ob8)iPwP4mg`0BSKtrJ|5~2vTzlHz*$U8zp2wI@r@0{;s=|nwjk=@uH7wu#{ zR0R@y*36n2I}XX=;bEh~XwKV!Iiu!ZZPfg$jhcV8QS+}hYW~&6;vDCGdwcu%_-Hnp zi;HtJV?GnVzP{ev+=%(}^K+6Ue`%U7EiJ{jWMMcQMxGM#*VosB!Jyyo!yhl;g8TdX zm6er+g@wq*%pw0LlL^dWdwY8e?a^q27H|r`k8ezD{tpiitE;Qa%gadMHN(rx3ywen zeCMx`?TN~tYIk>cx3jbJ`1nZiBlviMU*Zma1AqR?k1Pe|~BnVdp!E zpvor+a7|2;;_-(wQtxy+Pft(OJifygFHrMVGVpt@AqDu1W>q}?6uEA<3+>O(PiQ0l z=6|3fz@J_q7jR`Xt0M77+wi2x!=He|lRQtR0DruYS46IlV^|FS1e}mk_N4qq)&-LP zgA#}f@hIKQSk~DsKh+VNU!> z7Nvk{fvJVI`#%EM>-8X`KCeAr@h!w(D+MHgUKn9}d)v-J!}t?De>ktNuM$J&Jt+WlNq}(>1%9!x(~3WJZewEu z>k%`2@`gX-?J5DdKr<5iOZd08u_#&_kZtp~QhRH>wvhriG~{{8hBD z7{N~mzZB3sDxhmq^(3&ZOl#ZtQ1=OO_JV7eUPFck4;wDEXMA;b%O$D3iT4Ih63 z#cB`TE@i+A4#5}59b7;nXdz%Bfx!HcIw7KgApt(|!i+udJ3zkGYVqYIL-0*ONd4>a z*1^F6T7|s!xo*nO!R<(ZaVC=qYEm!s9CI2W`BSAgH#adZf63M`h&G6!NB|uXc|Ns+ zKoS1K3c(ynk;A@jx63DGPy0L{<>x?0NC3}j`w+Gl28%yy`%b5WeW(=v{FsDWv7shn z4s#Mg`v~?_K}HV4UyrK@5h}&9{9rH0-~#+1e|C1JO#z@g_zxR~Kb>iJcUNT(v#3=8 zgD)^_nx;sAf8c9h_*3{}6SOJI#DqlEjy-Jf1xWyjQCU<7DUF_E`tnET*fAIkunhZj zuw_BMk@=Jq(~%)nMt=94%a=b5nS`g>V~`qkaOF>ffHNJFqBRO3Uq}j{0ll0@okQ&^ z`}ry@NYDEYIz(V|r6+6theclT*O3mPAo+<5(J)f}e>7;Wk^oRI^m#z$&R=U=)g;oA zHHnt`&I8U4Nr3!UFT?->;5L*ae-fS!)bICI_NYVr7$Nuqoe%!ZczJo5_d++8bXG zZoSZjf4_Pjktgd2zMkzljN=IcP8P7-(5Aqx7rF#ZkF=RjJ+Jsk$Fvu=+wESjr#6gL z4qQsdUnhAwpJs=z7uXyo4gv&7A<)V4M~1S-l;*DqD7ok#?KQGqP;fC0()mZ(i6Em> zz~UDHbPf8~A#&MST=JhvL;TU($;k;@y@Hn(fB6#&&|$1!tne*=PViy zf4A!{x4_Pb81KJ3^S3bO3(Wazq2jE63zMc1gTJT#P4T1SZ(+|D{OJ7uOX6SGKd<^{ z`XaDlj_C!qrwnel3&9PWhGG2m+7tVetE(#(^JT-x&PPvpP5(R4aA-E?EZ`x3baccn zu+;yyv87}4!!A>ALD?B;$iLNU5r3GBT}Gqx^Yci_>;^RG5){?$g!zuKtzR~t3|YNP7>{{fCvJG7go RFE9WA002ovPDHLkV1naxFn$04 diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index c46834992..a12b6677d 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -1,7 +1,7 @@ /* Not yet complete. Subject to flux and change. dr|z3d - 07.25.09 */ body { - background: #333; + background: #333 url('../console/images/graytile.png'); color: #001; font: 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif; } @@ -208,22 +208,12 @@ p { line-height: 150%; } -hr { - color: #003; - background: #003; - height: 1px; - border: 0px solid #003; - width: 100%; - margin: 10px 0 7px 0; - text-align: center; -} - hr { color: #444; background: #444; height: 1px; border: 0px solid #444; - width: 100%; + width: 0%; margin: 5px 0 7px 0; text-align: center; } @@ -277,7 +267,8 @@ input[type=submit]:hover { input[type=submit]:active { background: #000 !important; - color: #777; + color: #f60 !important; + text-shadow: 0 !important; } input[type=text]:active, input[type=text]:hover, input.r:hover { From fedf6d7537ebfb1d059eac2b1ba84ac932b1bef1 Mon Sep 17 00:00:00 2001 From: z3d Date: Thu, 16 Sep 2010 16:49:27 +0000 Subject: [PATCH 06/71] I2PSnark css edits: log text visibility. --- installer/resources/themes/console/snark.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index a12b6677d..66679773e 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -1,4 +1,4 @@ -/* Not yet complete. Subject to flux and change. dr|z3d - 07.25.09 */ +/* I2PSnark theme "faze to gray" by dr|z3d */ body { background: #333 url('../console/images/graytile.png'); @@ -79,7 +79,8 @@ pre { padding: 0; text-align: left !important; height: 8px; - color: #050; + color: #070; + font-weight: bold !important; } table { From 9c5b8419a5383737d6990102e871908071afc5f3 Mon Sep 17 00:00:00 2001 From: z3d Date: Thu, 16 Sep 2010 17:38:01 +0000 Subject: [PATCH 07/71] I2PSnark: Add favicon. --- .../src/org/klomp/snark/web/I2PSnarkServlet.java | 2 +- .../resources/themes/console/snark_favicon.ico | Bin 0 -> 1150 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 installer/resources/themes/console/snark_favicon.ico diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 375fdb006..76d0122d1 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -169,7 +169,7 @@ public class I2PSnarkServlet extends Default { PrintWriter out = resp.getWriter(); out.write("\n" + - "\n" + + "\n" + ""); out.write(_("I2PSnark - Anonymous BitTorrent Client")); out.write("\n"); diff --git a/installer/resources/themes/console/snark_favicon.ico b/installer/resources/themes/console/snark_favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..28658965c9486d89945244234f91d20162f1649b GIT binary patch literal 1150 zcmZ8hNlRN%6ux4iyH;F;2D>P(@&^iaUj>CCq97Z_^sRqS`ktpg$MI0BRd_Cvt6EWddD^E%2s(TF0U*xK&h#A}9e+|&Q`OSaQgwNGSv@&9QBO}#)z#HiwW_L0t*)+C zYin!O%F0T0eturLxw+9Z_Wb-@9~&F%)9G}Gh=@Q^QW7dEDnLCD3QBhHHkGNrCVgf#&4@XBw*xcNN-EK!?Vzrv0YtVXl-ppdwV2|vd zrlzK(U(9=NZx3Ft7Y>I5t0$~g2&^* z+S;1r$2l-h*3Vot9kh2(8oxbfA9-+a@O@=v<(j=79v+q)`F+;wbUM-3*C+31E?j)J zzP_Hrc&^*q+YjU8<4(@VYPCunb8T*J#?a6Z1_lP?%DHks?lC(%Ykz!v4AFXwjEtDs zTlR-Jvv2G@vD9F(SYGrqZ}vdL@+=XLf3NYBV_JH8x||Qjab<Rd`=(%8je?RW(>Pl)4z8B(e$Wy)iZwRI5=W^5PrgN^~o1*B& Ef0(t+f&c&j literal 0 HcmV?d00001 From 69b3343f45a0e1a1e14a4b549c376f835d73bf67 Mon Sep 17 00:00:00 2001 From: z3d Date: Thu, 16 Sep 2010 23:33:24 +0000 Subject: [PATCH 08/71] Can't remember what. css stuff. --- installer/resources/themes/console/snark.css | 1 + 1 file changed, 1 insertion(+) diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index 66679773e..6da6034af 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -1,4 +1,5 @@ /* I2PSnark theme "faze to gray" by dr|z3d */ +/* Guantanamo Commemorative Edition. */ body { background: #333 url('../console/images/graytile.png'); From 0205fa638558a2693a08c8d66c7dfa0be71ce4e6 Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 17 Sep 2010 07:27:21 +0000 Subject: [PATCH 09/71] I2PSnark: snark.css finessing. --- installer/resources/themes/console/snark.css | 25 ++++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index 6da6034af..ec7d37e1e 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -120,7 +120,7 @@ td { } td:first-child { - text-align: center; + text-align: right; padding-left: 10px; } @@ -247,24 +247,28 @@ input { -khtml-border-radius: 4px; border-radius: 4px; border: 1px solid #000; - background: #111; + background: url('../console/images/graytile.png'); color: #f60; } input.r { text-align: right; + background: url('../console/images/graytile.png'); } input[type=submit] { - text-shadow: 1px 1px #555; + text-shadow: 0px 0px #410; color: #000; - background: #777; - border: 1px outset #bbb; + background: #999; + border: 1px inset #bbb; } input[type=submit]:hover { - border: 1px inset #bbb; + border: 1px outset #bbb; text-shadow: 0 0; + background: #f60; + color: #fff; + text-shadow: 0px 1px 5px #f00; } input[type=submit]:active { @@ -278,13 +282,8 @@ input[type=text]:active, input[type=text]:hover, input.r:hover { color: #000; } -input[type=submit]:hover { - background: #f60; - color: #000; -} - select { - background: #111; + background: url('../console/images/graytile.png'); color: #f60; font: 9pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif; font-weight: bold; @@ -301,7 +300,7 @@ select:hover, textarea:hover { } textarea { - background: #111; + background: #111 url('../console/images/graytile.png'); color: #f60; font-weight: bold; padding: 1px 4px 0px; From deab6b40e024a029d96d426b3477f5f4fc97aa09 Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 17 Sep 2010 08:00:09 +0000 Subject: [PATCH 10/71] I2PSnark: Fix text alignment issues. --- installer/resources/themes/console/snark.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index ec7d37e1e..4df2f8eb0 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -129,6 +129,11 @@ td:first-child { font-size: 8pt; } +.snarkTorrentStatus { + text-align: center !important; + font-style: italic; +} + .snarkTorrentOdd { background: #444; font-size: 8pt; @@ -137,6 +142,7 @@ td:first-child { .snarkFileName { min-width: 25em; padding: 4px 10px; + text-align: left !important; } .snarkFileSize { @@ -145,6 +151,8 @@ td:first-child { .snarkFileStatus { padding: 4px 10px; + text-align: center; + font-style: italic; } .thumb { From 67994d7e99440222f2c2f2b79dd40907fa4dca80 Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 17 Sep 2010 08:27:02 +0000 Subject: [PATCH 11/71] I2PSnark: snark.css fontsize tweaks. --- .../java/src/org/klomp/snark/web/I2PSnarkServlet.java | 8 ++++---- installer/resources/themes/console/snark.css | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 76d0122d1..18fde5897 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -934,8 +934,8 @@ public class I2PSnarkServlet extends Default { out.write(_("Add torrent")); out.write("\" name=\"foo\" >
\n"); out.write("
 "); - out.write(_("Alternately, you can copy .torrent files to the directory {0}.", _manager.getDataDir().getAbsolutePath())); - out.write("\n"); + out.write(_("Alternately, you can copy .torrent files to the directory {0}", _manager.getDataDir().getAbsolutePath())); + out.write(".\n"); out.write(_("Removing a .torrent file will cause the torrent to stop.")); out.write("
\n"); out.write("\n"); @@ -959,8 +959,8 @@ public class I2PSnarkServlet extends Default { out.write("
\n\n\n\n\n\n\n"); out.write("\n\n\n\n\n\n\n\n\n"); @@ -871,10 +871,10 @@ public class I2PSnarkServlet extends Default { out.write("
"); //out.write("From file:
\n"); out.write(_("Data to seed")); - out.write(":
" + _manager.getDataDir().getAbsolutePath() + File.separatorChar - + "" + _manager.getDataDir().getAbsolutePath() + File.separatorChar + + "
\n"); diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index 4df2f8eb0..f2ef7ac85 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -113,6 +113,7 @@ th { td { padding: 2px; color: #ddd !important; + font-size: 9.5pt; } .mainsection td { From 3d7ad215d962cda34c13af455f2530b7c783553c Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 17 Sep 2010 13:55:47 +0000 Subject: [PATCH 12/71] I2PSnark: CSS Spit 'n polish. --- installer/resources/themes/console/snark.css | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index f2ef7ac85..9a45db69c 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -177,15 +177,17 @@ td:first-child { padding: 0 25px 5px 25px; margin: 5px 0 10px 0 !important; letter-spacing: 0.25em; - border: 2px solid #444; + border: 1px solid #111; -moz-border-radius: 0 0 5px 5px; -khtml-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; border-top: 0; text-shadow: 1px 1px #333; - background: #333;/* url('../console/images/snarknav.png') repeat-x scroll center center;*/ + background: #333 url('../console/images/snarknav.png') repeat-x scroll center center !important; } + + .snarkConfig { font-size: 10pt; width: 100%; @@ -255,7 +257,7 @@ input { -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; - border: 1px solid #000; + border: 1px inset #000; background: url('../console/images/graytile.png'); color: #f60; } @@ -316,7 +318,7 @@ textarea { -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; - border: 1px solid #000; + border: 1px inset #000; } img { @@ -345,7 +347,6 @@ div.section,div.mainsection { -moz-box-shadow: inset 0px 0px 1px 0px #002; word-wrap: break-word; text-align: center; - /*background: #ffe url('../console/light/images/tabletile.png');*/ background: #444; opacity: 1.0; } @@ -411,6 +412,7 @@ div.configsection table{ div.configsection a { color: #f60; + text-shadow: 1px 1px #500; } div.configsection a:hover { From dc22949b47e78d386a82dc107ebb3873adbc222d Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 17 Sep 2010 16:02:15 +0000 Subject: [PATCH 13/71] I2PSnark: more css polish; now with more color! --- .../themes/console/images/snark_thead.png | Bin 0 -> 121 bytes .../themes/console/images/snarknav.png | Bin 171 -> 167 bytes installer/resources/themes/console/snark.css | 38 +++++++++++++----- 3 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 installer/resources/themes/console/images/snark_thead.png diff --git a/installer/resources/themes/console/images/snark_thead.png b/installer/resources/themes/console/images/snark_thead.png new file mode 100644 index 0000000000000000000000000000000000000000..ead40efeac7cebfaf0fed362aadc323c1d61a528 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^%s?#5!2~29OmhTrI14-?iy0XB4ude`@%$AjKtXL! z7srr_ImuJRCZ#bjPpkj`&oT1<|G(`U{~eCxF%au=F`VS!>}<=k0E QfZ7;5UHx3vIVCg!01BEU6aWAK literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/images/snarknav.png b/installer/resources/themes/console/images/snarknav.png index 83cda509e929f582e8e5e496cc98896512d4c783..7409a310dc0fbe8a802fe531a2f989b9049a6b64 100644 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^EI{nZ!2~3yh6>CEQk(@Ik;M!Qe1}1p@p%4<6rfVy8gTB3&-^6pce$f=g z+28n=FWoV9p+&pQ`M@_>D%Kx0oO@f(&)BdTZGqYz22>ntn={Gbp%l#K~ zblJA{@SLpb9h^Q1P2sa|$>lK#UxDxgJ|Eort$gOrNz6c_f1F^hy*5vJV|n#%AdkV* L)z4*}Q$iB}Kzuqk diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index 9a45db69c..c5d86037e 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -92,14 +92,26 @@ table { border-collapse: collapse; color: #ddd; width: 100%; + } +thead, tfoot { + background: #333; + background: url("../console/images/snark_thead.png") repeat scroll 0 0 #333333; + text-shadow:0 2px 5px #333333; +} + +thead a, tfoot a { +text-shadow: 1px 1px #210; +text-shadow:1px 1px #550000; +} + th { padding: 4px; font-size: 9pt; border-top: 1px outset #001; border-bottom: 1px inset #001; - background: #222; +/* background: #222;*/ color: #ddd; whitespace: nowrap; } @@ -125,16 +137,26 @@ td:first-child { padding-left: 10px; } +.snarkTorrentName { + text-shadow:1px 1px #550000; +} + +.snarkTorrentAction { + text-shadow:1px 1px #550000; +} + .snarkTorrentEven { background: #555; font-size: 8pt; } -.snarkTorrentStatus { - text-align: center !important; +.snarkTorrentStatus:first-child { + text-align: left !important; font-style: italic; + padding-left: 2%; } + .snarkTorrentOdd { background: #444; font-size: 8pt; @@ -173,8 +195,7 @@ td:first-child { .snarkConfigTitle { font-size: 11pt; font-weight: bold; - text-transform: uppercase; - padding: 0 25px 5px 25px; + padding: 0 25px 3px 25px; margin: 5px 0 10px 0 !important; letter-spacing: 0.25em; border: 1px solid #111; @@ -182,12 +203,11 @@ td:first-child { -khtml-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; border-top: 0; - text-shadow: 1px 1px #333; + text-shadow: 0px 3px 5px #333; background: #333 url('../console/images/snarknav.png') repeat-x scroll center center !important; + font-variant: small-caps !important; } - - .snarkConfig { font-size: 10pt; width: 100%; @@ -347,7 +367,7 @@ div.section,div.mainsection { -moz-box-shadow: inset 0px 0px 1px 0px #002; word-wrap: break-word; text-align: center; - background: #444; + background: #333; opacity: 1.0; } From 27808012d015441a4e0c46aa9ebf7196c32ddd2c Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 17 Sep 2010 22:59:22 +0000 Subject: [PATCH 14/71] I2PSnark: Reduced label lengths in preparation for icon substitution and tooltip; more colorification; Opera kludges. --- .../org/klomp/snark/web/I2PSnarkServlet.java | 40 +++++++++--------- .../themes/console/images/snarknav_on.png | Bin 262 -> 193 bytes installer/resources/themes/console/snark.css | 35 ++++++++++++--- 3 files changed, 48 insertions(+), 27 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 18fde5897..b8dd9abfd 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -239,7 +239,7 @@ public class I2PSnarkServlet extends Default { out.write(TABLE_HEADER); out.write(_("Status")); if (_manager.util().connected() && !snarks.isEmpty()) { - out.write(" ("); @@ -248,20 +248,20 @@ public class I2PSnarkServlet extends Default { out.write("?p=1\">"); out.write(_("Show Peers")); } - out.write(")
\n"); + out.write("
\n"); } out.write("\n
"); out.write(_("Torrent")); out.write(""); out.write(_("ETA")); out.write(""); - out.write(_("Downloaded")); + out.write(_("RX")); out.write(""); - out.write(_("Uploaded")); + out.write(_("TX")); out.write(""); - out.write(_("Down Rate")); + out.write(_("RX Rate")); out.write(""); - out.write(_("Up Rate")); + out.write(_("TX Rate")); out.write(""); @@ -598,7 +598,7 @@ public class I2PSnarkServlet extends Default { return rv; } - private static final int MAX_DISPLAYED_FILENAME_LENGTH = 44; + private static final int MAX_DISPLAYED_FILENAME_LENGTH = 38; private static final int MAX_DISPLAYED_ERROR_LENGTH = 40; private void displaySnark(PrintWriter out, Snark snark, String uri, int row, long stats[], boolean showPeers, boolean showDebug) throws IOException { String filename = snark.torrent; @@ -671,34 +671,34 @@ public class I2PSnarkServlet extends Default { } } else if (remaining <= 0) { if (isRunning && curPeers > 0 && !showPeers) - statusString = _("Seeding") + " (" + + statusString = _("Seeding") + " » " + "" + curPeers + '/' + - ngettext("1 peer", "{0} peers", knownPeers) + ")"; + ngettext("1 peer", "{0} peers", knownPeers) + ""; else if (isRunning) - statusString = _("Seeding") + " (" + curPeers + "/" + - ngettext("1 peer", "{0} peers", knownPeers) + ')'; + statusString = _("Seeding") + " » " + curPeers + "/" + + ngettext("1 peer", "{0} peers", knownPeers); else statusString = _("Complete"); } else { if (isRunning && curPeers > 0 && downBps > 0 && !showPeers) - statusString = _("OK") + " (" + + statusString = _("OK") + " » " + "" + curPeers + "/" + - ngettext("1 peer", "{0} peers", knownPeers) + ")"; + ngettext("1 peer", "{0} peers", knownPeers) + ""; else if (isRunning && curPeers > 0 && downBps > 0) statusString = _("OK") + " (" + curPeers + "/" + ngettext("1 peer", "{0} peers", knownPeers) + ')'; else if (isRunning && curPeers > 0 && !showPeers) - statusString = _("Stalled") + " (" + + statusString = _("Stalled") + " » " + "" + curPeers + '/' + - ngettext("1 peer", "{0} peers", knownPeers) + ")"; + ngettext("1 peer", "{0} peers", knownPeers) + ""; else if (isRunning && curPeers > 0) - statusString = _("Stalled") + " (" + curPeers + '/' + - ngettext("1 peer", "{0} peers", knownPeers) + ')'; + statusString = _("Stalled") + " » " + curPeers + '/' + + ngettext("1 peer", "{0} peers", knownPeers); else if (isRunning) - statusString = _("No Peers") + " (0/" + knownPeers + ')'; + statusString = _("No Peers") + " » 0/" + knownPeers; else statusString = _("Stopped"); } @@ -745,11 +745,11 @@ public class I2PSnarkServlet extends Default { if (e < 0) continue; baseURL = baseURL.substring(e + 1); - out.write("   ["); out.write(_("Details")); - out.write("]"); + out.write(""); break; } } diff --git a/installer/resources/themes/console/images/snarknav_on.png b/installer/resources/themes/console/images/snarknav_on.png index c7457195c9dd38f2b28b77659e2e8be46c225439..be1b85b394c38bf57a8b523d951353b338831cc9 100644 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^EI{nZ!2~3yh6>CEQk(@Ik;M!Qe1}1p@p%4<6rfY0{>OsPKENs=cOZio76HTF-QoEn{-^~+Q8+8wj6;So`{9VM$0@7%ldNZ#Py om)zGsl;_seO|`NEaktG3V`cL%wDQ0p?;sevj$TpWL<4Q7wOY*`PJG(ImY8n%Iv$2K#}|9@uwJoAHC8B Date: Fri, 17 Sep 2010 23:03:19 +0000 Subject: [PATCH 15/71] Version bump. --- router/java/src/net/i2p/router/RouterVersion.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index a411b0099..ad67a263a 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 0; + public final static long BUILD = 01; /** for example "-test" */ public final static String EXTRA = ""; From 5378b0ad56ac3022f641dbe7dd869aec654c41cc Mon Sep 17 00:00:00 2001 From: z3d Date: Sat, 18 Sep 2010 06:28:42 +0000 Subject: [PATCH 16/71] I2PSnark: Transition from gray to puce. --- .../org/klomp/snark/web/I2PSnarkServlet.java | 8 +-- .../themes/console/images/graytile.png | Bin 213 -> 571 bytes .../themes/console/images/snark_add.png | Bin 4137 -> 3717 bytes .../themes/console/images/snark_create.png | Bin 1383 -> 1445 bytes installer/resources/themes/console/snark.css | 52 ++++++++++-------- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index b8dd9abfd..8ef1789f3 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -871,10 +871,10 @@ public class I2PSnarkServlet extends Default { out.write(""); if (remaining > 0) { if (peer.isInteresting() && !peer.isChoked()) { - out.write(""); + out.write(""); out.write(formatSize(peer.getDownloadRate()) + "ps"); } else { - out.write(""); if (pct != 100.0) { if (peer.isInterested() && !peer.isChoking()) { - out.write(""); + out.write(""); out.write(formatSize(peer.getUploadRate()) + "ps"); } else { - out.write("anM1_s8r zo-U3d6?5KR_3UB_6mbc>95?;Jzwa5$ty3Q?Ss?a->9LQ>GX1}IHs8_Pe);8>3Y&T7 zpZ~1kyZQb1->+4F?@mAcw8EzD{yo_`zSEo5EYCBW{q^6Rzjgbs@4cJ1zxutsfBxP- z#r5an=AZnv+ivpvd%s)q@BWd0v+lI%63f~3e={=#nI!`5$g`cvXESJEv^<;nnxFZZ zIkUuphB?o+d~Ij^Je!dx!NITi)~~}2KhH9-87M5b%>A2q;7=L@v&4kUbGH36NT@Sz zVB|TG=@(ruVX$BF00Y|-ljUped1l<_Nnl_unsxcwsPWLisb^dfsE|4H+uNPM)WG2B L>gTe~DWM4fz#jdV delta 177 zcmdnZa+Ps{gewa(0|SGhK+O*zWf0&K;wmI0q^PJUAt50xEiEM_B`GP%#>U3Z&dvb_ zoSd9oTwL7T+&nxyyu7@8e0=X2EuKtN6i;OE_H=O!shIQjf+H`30T1)W6#{Jwp86Ll zeA?P~;N;G?r}nIy!aThw;ZOr3GaHYDLBau?j1|A)j;)Zl6*XG|bQFW9tDnm{r-UW| Dm6k2Y diff --git a/installer/resources/themes/console/images/snark_add.png b/installer/resources/themes/console/images/snark_add.png index f15ccddddcf7c79c64bcbc355b96e2110df8fa76..067300dd3e2a63c17181607e6ed73a5cb26d48d1 100644 GIT binary patch delta 3696 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 delta 1209 zcmV;q1V;O%3+D=uIe!^RL_t(|obBD+Pg`Xi!13QXePuKh=~^Od(H5vn6*dV0r!MNm znHX=JiY&Vz0r5%`<3HeQh&R&<-5=n~g+@u8cW{FyZtOxcF`$zeX#sK2Nul<%rLR8i zMhCTRSo@rFp65Bw_ky%1J@l7P&N+PwNh=Hv4g#<4M70NCB!BLRC+>(R?uaMuh$rrd zC+>(R?uaMuh^M?`t0Q4DWr~}gedaIq=ApH`V|dH>_M3AacNE<|cXr9)NT@v(ed#4c_fbRi(>B76W1R(5sFHN;Bq5?P_o1DOTkFQu)NZ! z#L;IhzWVx}|3B_nPx!?bf(;FsuFlAfe@v33|LvL; zJu(zBD?c=W=~`Nj{`iya_r<1-kh!bt-??8}R>~b~>woJFKU{Kny^;HU+t#Mk`44>; zzjei8dgUi3vwiDFBo(@0s`SugQoO48MxnY=NAzOy%Ge*pyJ(@K>^!tq<^tz*Nsm9a?mQBE?bT}!9^X`cCK@Zf z%(b<}(kbzc*MBvev!8zMzC3GJWi0Bt61&KHRXtbg?S7>ydtrtJ9-e8cBXE-p5me(LY) z`|I`k-rio>#-pY(%fO|8W%f$`vgp6)Lg#yxopn0h$jC@%XQ$O_otc@DYepI>p4Ybv z1REof;*z`c?`F66)aizXhI~GsAP5~D9ocL)5D3UMCh?VV+=Ey#Q546<#`^pFlgT9H zUw@{wPFcqBAPo!*jE;^XKFBZKIc2SmtE;Pstgo++Q{JpbN7TZ?0;eoiyCZPQJ=Nt1 zoN~8%9f4C8!r%y;5|<-ro)ViQRHk&h-N9fm91i1pA_Bwd2<0d&*gG@y*?U^ zVtg*5!t4n9DO0J`#Kgq>{5;z3a5xyI#DDJyyOcdWJ>%o!Q&UsL?F>`O;s^!G$;rv- z>1lLc$6~SKc2+6nazvqPVmh7P-rm*%rHqa!o6V*XN_ibYGnBGBf;K3Xa0CrdD&z>P zQ!3{OOj9cA2<%cS?Ffugs^ADLQmW$!%u%Z52y9WR=?Dx_s_Y1?P^#|;Oi&Wx2p05H zlHv%IQxfC|G*go02-H#%=LmFClZph2f8?jsiX+HOsUb&@lTurbARDFT9HBC$#bQAl zYx|vAbcAx0q9{s|l*?87Jm4y6_X|6`UT=GQI}|>w37yVHqp@a0xTEj;U@t_8exjqY zySrPg^36L3NYjo`pv-2obs~b6&+B6KBLa8C6?eoFcf=ES#1nVK6L-WDcf=ES7sS(l Xwqxz5eC($>00000NkvXXu0mjf-8*l# diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index 5add2b909..abd80ca7e 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -175,9 +175,9 @@ td:first-child { } .snarkTorrentOdd { - background: #434; + background: #656; font-size: 8pt; - border: 1px inset #323; + border: 1px inset #434; border-left: 0; border-right: 0; } @@ -234,7 +234,7 @@ td:first-child { } .page { - background: #222; + background: #323; color: #310; min-width: 800px !important; margin: 5px 0 0 0; @@ -242,7 +242,7 @@ td:first-child { -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; - border: 1px solid #001; + border: 1px solid #101; font-size: 9pt !important; line-height: 160% !important; -moz-box-shadow: inset 0px 0px 1px 0px #002; @@ -310,7 +310,7 @@ input.r { input[type=submit] { text-shadow: 0px 0px #410; color: #000; - background: #999; + background: #989; border: 1px inset #bbb; } @@ -330,7 +330,7 @@ input[type=submit]:active { input[type=text]:active, input[type=text]:hover, input.r:hover { background: #f60; - color: #000; + color: #fff; } select { @@ -347,8 +347,8 @@ select { } select:hover, textarea:hover { - background: #f60; - color: #000; + background: #f60 !important; + color: #fff; } textarea { @@ -385,10 +385,10 @@ div.section,div.mainsection { -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; - -moz-box-shadow: inset 0px 0px 1px 0px #002; + -moz-box-shadow: inset 0px 0px 1px 0px #212; word-wrap: break-word; text-align: center; - background: #333; + background: #545; opacity: 1.0; } @@ -401,11 +401,11 @@ div.newtorrentsection { -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; - -moz-box-shadow: inset 0px 0px 1px 0px #ff0; - -khtml-box-shadow: inset 0px 0px 1px 0px #ff0; - box-shadow: inset 0px 0px 1px 0px #ff0; + -moz-box-shadow: inset 0px 0px 1px 0px #101; + -khtml-box-shadow: inset 0px 0px 1px 0px #101; + box-shadow: inset 0px 0px 1px 0px #101; word-wrap: break-word; - background: #444 url('../console/images/snark_create.png') no-repeat scroll right center; + background: #545 url('../console/images/snark_create.png') no-repeat scroll right center; opacity: 1.0; } @@ -418,28 +418,28 @@ div.addtorrentsection { -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; - -moz-box-shadow: inset 0px 0px 1px 0px #0f0; - -khtml-box-shadow: inset 0px 0px 1px 0px #0f0; - box-shadow: inset 0px 0px 1px 0px #0f0; + -moz-box-shadow: inset 0px 0px 1px 0px #101; + -khtml-box-shadow: inset 0px 0px 1px 0px #101; + box-shadow: inset 0px 0px 1px 0px #101; word-wrap: break-word; - background: #444 url('../console/images/snark_add.png') no-repeat scroll right center; + background: #545 url('../console/images/snark_add.png') no-repeat scroll right center; opacity: 1.0; } div.configsection { margin: 0 0 10px 0; padding: 0 10px 15px 10px; - border: 1px solid #001; + border: 1px solid #000; color: #ddd; -moz-border-radius: 4px; -khtml-border-radius: 4px; border-radius: 4px; - -moz-box-shadow: inset 0px 0px 1px 0px #f00; - -khtml-box-shadow: inset 0px 0px 1px 0px #f00; - box-shadow: inset 0px 0px 1px 0px #f00; + -moz-box-shadow: inset 0px 0px 1px 0px #101; + -khtml-box-shadow: inset 0px 0px 1px 0px #101; + box-shadow: inset 0px 0px 1px 0px #101; word-wrap: break-word; text-align: center; - background: #444; + background: #545; font-weight: bold; } @@ -461,6 +461,12 @@ div.configsection a:hover { text-decoration: none; } +code { + font-size: 9.5pt; + color: #0f0; + padding: 0 2px; + font-weight: bold; +} .snarknavbar { margin: 0 0 10px 0 !important; padding: 2px 10px; From 4865373b4f57e8fd2e033150f45ec17e98a2ceb7 Mon Sep 17 00:00:00 2001 From: z3d Date: Sat, 18 Sep 2010 07:10:43 +0000 Subject: [PATCH 17/71] I2PSnark: UI/theme tweaks. --- .../src/org/klomp/snark/web/I2PSnarkServlet.java | 16 ++++++++-------- installer/resources/themes/console/snark.css | 5 +++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 8ef1789f3..208b58228 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -254,13 +254,13 @@ public class I2PSnarkServlet extends Default { out.write(_("Torrent")); out.write("\n"); out.write(_("ETA")); - out.write(""); + out.write(""); out.write(_("RX")); - out.write(""); + out.write(""); out.write(_("TX")); - out.write(""); + out.write(""); out.write(_("RX Rate")); - out.write(""); + out.write(""); out.write(_("TX Rate")); out.write(""); if (remaining > 0) { if (peer.isInteresting() && !peer.isChoked()) { - out.write(""); + out.write(""); out.write(formatSize(peer.getDownloadRate()) + "ps"); } else { - out.write(""); if (pct != 100.0) { if (peer.isInterested() && !peer.isChoking()) { - out.write(""); + out.write(""); out.write(formatSize(peer.getUploadRate()) + "ps"); } else { - out.write(" Date: Sat, 18 Sep 2010 08:55:52 +0000 Subject: [PATCH 18/71] I2PSnark: Tweaks 'n fiddles. --- .../java/src/org/klomp/snark/web/I2PSnarkServlet.java | 4 ++-- installer/resources/themes/console/snark.css | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 208b58228..cfe5c5457 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -934,9 +934,9 @@ public class I2PSnarkServlet extends Default { out.write(_("Add torrent")); out.write("\" name=\"foo\" >
\n"); out.write("
 "); - out.write(_("Alternately, you can copy .torrent files to the directory {0}", _manager.getDataDir().getAbsolutePath())); + out.write(_("You can also copy .torrent files to: {0}", _manager.getDataDir().getAbsolutePath())); out.write(".\n"); - out.write(_("Removing a .torrent file will cause the torrent to stop.")); + out.write(_("Removing a .torrent will cause it to stop.")); out.write("
\n"); out.write("\n"); } diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index f7c392580..39374caf8 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -236,7 +236,7 @@ td:first-child { .page { background: #323; color: #310; - min-width: 800px !important; + min-width: 820px !important; margin: 5px 0 0 0; padding: 10px 10px 0px 10px; -moz-border-radius: 4px; @@ -484,5 +484,5 @@ code { font-weight: bold; font-size: 11pt; color: #001; - min-width: 800px; + min-width: 820px; } From 3fb1fbe1b3c97f9e936d39654c5e4f422cb6ea4f Mon Sep 17 00:00:00 2001 From: z3d Date: Sat, 18 Sep 2010 16:19:51 +0000 Subject: [PATCH 19/71] I2PSnark: space savings! --- installer/resources/themes/console/snark.css | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/installer/resources/themes/console/snark.css b/installer/resources/themes/console/snark.css index 39374caf8..3f52e879c 100644 --- a/installer/resources/themes/console/snark.css +++ b/installer/resources/themes/console/snark.css @@ -148,10 +148,12 @@ td:first-child { .snarkTorrentName { text-shadow:1px 1px #550000; + padding: 2px 0 0; } .snarkTorrentAction { text-shadow:1px 1px #550000; + padding: 0 0 1px; } .snarkTorrentEven { @@ -160,7 +162,8 @@ td:first-child { } .snarkTorrentStatus { - line-height: 200%; +/* line-height: 100%; */ + padding: 1px 0 2px; } .snarkTorrentStatus:first-child { @@ -364,7 +367,7 @@ textarea { img { border: none; - margin: 3px 8px 5px 4px; + margin: 1px 3px 3px 4px; vertical-align: middle; opacity: 1.0; line-height: 100%; From 99d2e2d0d0967aa8df04194a52c9c71846b8603e Mon Sep 17 00:00:00 2001 From: z3d Date: Sat, 18 Sep 2010 16:36:29 +0000 Subject: [PATCH 20/71] I2PSnark: Fix alignment issue with snark_add.png --- .../themes/console/images/snark_add.png | Bin 3717 -> 3521 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/installer/resources/themes/console/images/snark_add.png b/installer/resources/themes/console/images/snark_add.png index 067300dd3e2a63c17181607e6ed73a5cb26d48d1..e11574930b8d3c214644a006583a1c0edf4c787a 100644 GIT binary patch delta 3499 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 Z=)d~7u1?)r+rIz+002ovPDHLkV1iVjz*PVM delta 3696 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

0q1dbj;x(i z0-2rdP3jOaG@6z3BeD9!-~)}UT6r}5(fK*muA^Ty+~8BvYuYp%KN-53PLQ@u7Ue{zlrwoD6Bx(h-KGe`zMz~xTBh;p?5^QF(ZBF*kN}{+V z4Bu3Ws5{?gKyEryqZ8oc$(bil&|&;@;1u6`!%#Nf&EiQsL&&IuvSl+!1jl?)Gx2gq z;JE(i*ufIM%>w#>-}O?F1qNPoxY*Rn|6=v~!)yw{-X#cHD&?B|{7iXhjIef3%S|xn zT5EjBt`lT=e8mI-2V6XIAFicaJJPx-HwM0sWtGxipBsU`jRo>C{TUBi?~sweL5m`X zop)B`BJXtI8$Yho@w)z!T|^368ile4Sek^GjHOu`M0Ke47lW&z4{Z(}q<{~+)+y1% z_o!>{lI^3~Ue?js?&~widPE=iLHt~IOt@S~8-FUPJ|;MxFj8q?dHswhSap|J)tQ#E z>Rg%!&XXme%RqHQE0crf{nYdO2e-z?Oy9N%D{w^OYA2Gt`CdZ54TA*zuyzt z9s2K5j9+P1v>wE(v@kpP{b?~$<15+)EqCFbntc2>kRP-@!AMywV>J9z%Ao6C^E|O? zwkVb+@OY&T*~u(g{>Co1z)M{E*LK~R2^-xM#VmbwW=vkmrV;y+gu07!;E0>5v%zw@ zJ!{QWMG2r1aN1qw@tqMxZokSwjEl{x>dt|Xz4x$&-kemO7Frs;|yQL(JpkKBuL+=)F#xNtP*Of z3hplMh4=h44X_$tx|au4zBsjRSeMXNj Date: Sun, 19 Sep 2010 03:20:43 +0000 Subject: [PATCH 21/71] I2PSnark: Add icons to relevant parts of the UI; rejigging of UI to minimise space wastage; create new snark directory in console/themes/ .. snark dir will need to be ignored when router scans directory for theme dirs. --- .../org/klomp/snark/web/I2PSnarkServlet.java | 40 +++++++++--------- .../themes/console/images/snark_add.png | Bin 3521 -> 0 bytes .../themes/console/images/snark_create.png | Bin 1445 -> 0 bytes .../{snark_favicon.ico => snark/favicon.ico} | Bin .../console/snark/images/arrow_refresh.png | Bin 0 -> 631 bytes .../themes/console/snark/images/config.png | Bin 0 -> 584 bytes .../themes/console/snark/images/create.png | Bin 0 -> 570 bytes .../themes/console/snark/images/details.png | Bin 0 -> 778 bytes .../themes/console/snark/images/eta.png | Bin 0 -> 561 bytes .../console/{ => snark}/images/graytile.png | Bin .../themes/console/{ => snark}/images/hat.png | Bin .../themes/console/snark/images/snark_add.png | Bin 0 -> 3562 bytes .../console/snark/images/snark_create.png | Bin 0 -> 1087 bytes .../{ => snark}/images/snark_thead.png | Bin .../console/{ => snark}/images/snarknav.png | Bin .../{ => snark}/images/snarknav_on.png | Bin .../themes/console/{ => snark}/snark.css | 0 17 files changed, 20 insertions(+), 20 deletions(-) delete mode 100644 installer/resources/themes/console/images/snark_add.png delete mode 100644 installer/resources/themes/console/images/snark_create.png rename installer/resources/themes/console/{snark_favicon.ico => snark/favicon.ico} (100%) create mode 100644 installer/resources/themes/console/snark/images/arrow_refresh.png create mode 100644 installer/resources/themes/console/snark/images/config.png create mode 100644 installer/resources/themes/console/snark/images/create.png create mode 100644 installer/resources/themes/console/snark/images/details.png create mode 100644 installer/resources/themes/console/snark/images/eta.png rename installer/resources/themes/console/{ => snark}/images/graytile.png (100%) rename installer/resources/themes/console/{ => snark}/images/hat.png (100%) create mode 100644 installer/resources/themes/console/snark/images/snark_add.png create mode 100644 installer/resources/themes/console/snark/images/snark_create.png rename installer/resources/themes/console/{ => snark}/images/snark_thead.png (100%) rename installer/resources/themes/console/{ => snark}/images/snarknav.png (100%) rename installer/resources/themes/console/{ => snark}/images/snarknav_on.png (100%) rename installer/resources/themes/console/{ => snark}/snark.css (100%) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index cfe5c5457..3633f9a4e 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -169,7 +169,7 @@ public class I2PSnarkServlet extends Default { PrintWriter out = resp.getWriter(); out.write("\n" + - "\n" + + "\n" + ""); out.write(_("I2PSnark - Anonymous BitTorrent Client")); out.write("\n"); @@ -190,7 +190,7 @@ public class I2PSnarkServlet extends Default { out.write("

"); - out.write(_("I2PSnark")); + out.write(_(" I2PSnark")); out.write(" "); out.write(_("Forum")); out.write("\n"); @@ -253,15 +253,15 @@ public class I2PSnarkServlet extends Default { out.write("\n
"); out.write(_("Torrent")); out.write(""); - out.write(_("ETA")); + out.write(_("ETA")); out.write(""); - out.write(_("RX")); + out.write(_("RX")); out.write(""); - out.write(_("TX")); + out.write(_("TX")); out.write(""); - out.write(_("RX Rate")); + out.write(_("Rate")); out.write(""); - out.write(_("TX Rate")); + out.write(_("Rate")); out.write(""); @@ -745,10 +745,10 @@ public class I2PSnarkServlet extends Default { if (e < 0) continue; baseURL = baseURL.substring(e + 1); - out.write(" » "); - out.write(_("Details")); + out.write("\" title=\"" + name + ' ' + _("Tracker") + "\" target=\"_blank\">"); + out.write(_("")); out.write(""); break; } @@ -924,13 +924,13 @@ public class I2PSnarkServlet extends Default { out.write("\n"); out.write("\n"); out.write("
"); - out.write(_("Add Torrent")); + out.write(_("Add Torrent")); out.write("
\n
"); out.write(_("From URL")); out.write(": \n"); // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve) - //out.write("From file:
\n"); - out.write("
 
"); + out.write("
\n"); out.write("
 "); @@ -955,7 +955,7 @@ public class I2PSnarkServlet extends Default { out.write("\n"); out.write("\n"); out.write(""); - out.write(_("Create Torrent")); + out.write(_("Create Torrent")); out.write("
\n
"); //out.write("From file:
\n"); out.write(_("Data to seed")); @@ -979,12 +979,12 @@ public class I2PSnarkServlet extends Default { out.write("\t\n"); } out.write("\n"); - out.write(_("or")); - out.write("
  "); - out.write("
 
\n"); out.write("\n
"); @@ -1003,7 +1003,7 @@ public class I2PSnarkServlet extends Default { out.write("\n"); out.write("\n"); out.write(""); - out.write(_("Configuration")); + out.write(_("Configuration")); out.write("
\n"); out.write("
"); out.write(_("Data directory")); @@ -1130,7 +1130,7 @@ public class I2PSnarkServlet extends Default { private void writeConfigLink(PrintWriter out) throws IOException { out.write("\n"); } @@ -1203,7 +1203,7 @@ public class I2PSnarkServlet extends Default { return buf.toString(); } - private static final String HEADER = ""; + private static final String HEADER = ""; private static final String TABLE_HEADER = "\n" + diff --git a/installer/resources/themes/console/images/snark_add.png b/installer/resources/themes/console/images/snark_add.png deleted file mode 100644 index e11574930b8d3c214644a006583a1c0edf4c787a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3521 zcmaKvXFL=DAII%IvpJlRS(iP-IV7pe$|jT}^JMR>3!Qz=79kXgb7sgH**dc48RfD! z$|1J9(=xUn<eNCGQLITeeJL0uaZepJ}MUKj>2eNQ|` z-r>3%>gYF%W@#@w9f9V7?3#1eB!UerYqtBHUE~Z4Srf6PXUv^>LzFaBt6Nv=-w21L z^`!}kZ6=KHOfjW)094b~03rDymFs&{oVR>T8aJGYEV{VH_x!MRWqGY@%BA27=JIRp z_Zrm)2*HT3K@UOdrAKC#5*x26qDVk7ltR_=9N^|KC*fkA-y11?T5}QDxsX4<-#Tuo zYsQ+d81>E@=Q_Z%ouqbuab&BnQWGJ;`rnWRYq-*q3+`#$uLA}YpqN;&s% zQ4m2>RDuaW-9Tmr--?s7^MyzUZJTgkwWl)Q+{n*0vzSZLygJl#hPeY(WXLQ_={=6> z-ZE18#_f0Oi$87IBVt90k$aESS^(~(zUR}IDUu} zP#O7p4e41lYOU`ho)-D>t0S>6K|4J31GK4F(1vq!m2h@3%LHlG$dwz@@dnb+@C2y% zt}~(UXRaOKe}B`<5NlRPYWtylZZ_l{hE|+jXuNnLzEFdV<-RJ81n6dueTTTye?(I6 ziXbx|1WIa1#sf*yee4`IOhw~>fV5xtZ~VPp{yD-GbLe_Lvn!w(ya%i*K9EEx3W1{- zO2SY=l+PNrqPo7MD-dXmQ%pyX`H~k}4^#5x3gI3+_g2?|b)5`F{Xe`#Uu5K)PT6hB zere!!dzzHLpyw`JC>)%(9n3Ys(AUqJIKgcJW)GwgR)D44{W#n_O*R1et-MP!uyHYL zjzcAjQCs#lbr|Ixrnoy9nsn*0C+)=WZui-d8-Ivts<6#Vp0e^V{+!P(JkMj8Jb~8O za58L3Um_EZ_m{jtPMR%d$bY*9u3#ak*(dr6GGbJ((Y51lpd9UaeW!J|AuSYmNZC8n z{24UVEQdqUtTx^)P*Qi2WH((FQh%%#aU1e5+Z%5){(*O>yW64=Jf!qGtn3RPkdL>+ zo^CAl$G$V7TB78Wv;}=ayVEe})!!iVd3@fTAi3mdMJG$odi?iC_@51Kci(!dww!zw zfKDimGa&f1xczl*xv1(Pq`_`cHqD;>JjwZtbZs<-d<=$Bu#*%&Q!Q03FaIG%%@*jS z>Vp`;>;0tSuwl&y9(oiq@y~;*$6D(F<%j;^2K-|-aAJ*jCQhC+AR1V_v*t$E>mc(b zGUCtPemJBmv^f#5y>hm-?aiB&6!eTbAxP!6a70Bf3c+*7Z1d~e^%NgEJCXbVpFwts z*&JCTU&?d$CIA+6M?Yg`wTIZ3Wo*6{bVa0oBTT_Nn#gVNBU_PkAk$00_)}Myzd8P! zk;d5USRyhVfb_C-pdfn|^IAK+w~Gs`X9;DPUMqAz(qPsM=hnJtS#_}DK;pZM&KLrZ znhEg68v9yP*(XDnI2I>Rk|^+T;{}jGyU7_dn;Wc1mGY9})}Jd%sv6%Eo-3mC=}#Qd zFPVTqhhyyuv3c#-Zp`_h!z`MU#@wR6ed*Khg$BukhU5z#V__6C3COp8yv9ymBX5ha( z;W&Y*;7~QMoGN4kPtcs>i59mXF%PiLIM3Qs^^l91E9K4!lpO@By9Lg*7&FN}YR|au zJG<4c7OqfHIJ^7}61)MPd?=vVYI^K>1fk@^b7$;v+BzWX95UnB=AxPbdtv6|-exQP zF*%H2p3s*8=77PJSn|=7N;(yyz$TfWq;6WQ#8bwHg-0VV35cyvCF!A3;|6WNMV&cb zx6{f#8+n=#nPRTqD8eto41@Jo-L`uN9&&Nq&WC!`J9GDLA5?80?6EuD;9pJ5$rXR@ zsLWL?#4M|7c}D)6rJhi&A6u3pu5Wq4*{_{>hd)!%!E$*f79)WT^!NNG8;+Q_DKi@+ zQ1qC|zEWgnrDI7#p@SyZ?;2b!9>pe3(-pb-jM8wk);m)v;F;4T&?6j1}TVEi_>c@MRNDWH}UPt6ild>la}en7z4~`gwuMNmbR% z@_otnza!U)GeHbUWtUmtW<^;) z5N&646>&LyWJgj6y7(KXA*DAtE37Iv@&!tMD@$`Mjey(-LNix4gc1R|{Q)*m4rMHE zQqxBRry7V=o556x>`Fq++!Z8P@K+X!*1(y_teZ8Ax7=?V-#X*UKeN3#f-VR+5xa@; z+o*i)VA7%=m@)jtMb^*)#JLd zdN})wswBX-lzK^D{t5x*a@;n~gv4Q3+%2*~Jo`C+BH+;Li=EA~N2u{F?v?4hC_-b| zGYvAIAF7EG+-N{f!TQz*h;7Z=s-@|P8-_p>oZ$reTY^chJ))v%Nv!H?UHF7xI3Sbh z&5(w^X32WA26XCLA*cu>n76PiXq%tAkj3)MxmfwJk5U5K;0<1PZbc>gC%Tj*OsOhCqxtUoD4f$j)YOX-!DYJOiz-v-wd=Q zP4f|=&qE3QcHrtM$2dR92N=oPFGYs^9bAg|TuF$xD7qKh9r98GL#4t?n@Zoalud1i zx79PJl4bh$$&`-D(`RCu4_H0h4#WqkhpY8(@u&SnpWe67lxJZR7=@;e*s(mq$AK9D z2|+ScxESB%_EP>I?ve`%pvAU7Q(8+S>of5dkLbV=@XFv3A8kki$=9gRV)qx%ZD?f& zDfHm`YSm*(g`Yjp&i&)q@|oa`3^TT4j4UgyQaLC>U;T>N%8Ylauv&^oc*A2qiQuNGktvUN z__f+nu^nZ+|dk2w#j*N#DQBe>{Y>R7&Gnqy=t+U*A0jO|G?V0C0SlZ1mQOBnt@M zHmK=#TALy++|(2>88Ks{GcTh4aN_5&d^2cJ4iVTVke4hUQ;WfI%$!A3)v5UE_;aQ* zuUyvL+f^r5)^1aO3kw7ozHE5}Oq|~dtxlMWr$qGZe{X#Y+kNaKf>ZB)nSJv9WH?i2 z==4oRyVA{BEc?sA6IZ|4nNAZ)+;c;QeWj7QeVf)DWT_V~8dySUcWbIpW1njfC2@eF zQ4Mmp#?!<-A?kHGx`0pSjB>oZdl( z_hQ@p%djfYcCLun+PE^8E?zV8OgB2Tv%ujbs&j?rsR}&twOl_JLzXZF3YOOpxL78V z9YRJs^zdM7a`*IK&zmd^4%$DSAsp_n!_@#Y8CHHpQF}rK;z=lxau#G*D4W+WPg$2~ zYEjj#UhGo4>%4fC+XuV%BSL$z*B5oE%r2Twr|C!i^^z6ay5*@&$@op7wsj8T6{n8{ zG^V8ypTw^t@0Ftt#x;ij@(no2Wx)9jeiW)7#?MQ2pKS4l)cRCt{2-R)0XRUE+a-@ROVDQztUS_*9kg9QRembvH)6E+_f zv&3nl&60&heY=<}W--QzllVAI^p$&|e}V6KHQzwg=p-Xir^uG_ARC*kl*dq@Ev1j1 z0&Chr>sC(hJ?Gr>O(DIZEx&wnxV^m)Dx5xX8hHCoRC@qM;*NOYj(FmZc;b$D;*NOY zj(FmZc-q5J5R%HzL3=63rWSwNu0kJs_JzA@PDE!Z$MA-9@#CQ?OIVT;7kY;m7b?}B zioPWDF*j>moHu;=&EWle=Ei2fXVg~U4mNvmVa}k`c+|ABe;oL}#ay-7d3YfhC`Ui$ z1@7?5nK4BMqpXzUktgT+zW8N(yRJU?`PV;Ox_qspYjMvzJoWS}+5;#zASDT(UF=3= z(^Hm2LU{Xw>%DJ1KQ&REdm|y){oKDNU!ID`#J0|*JO5Y&0fv5d4PHI8xml*l+@vLq z{9#9z?G67*#k_BieP1#uT>G){&)@3b`(y}hnl0fE-+5-G^^!GLb}Yee3j={Z@zZQ^jM@l&)JG})z)fPi>qYgQB&6I8I;u) z3asn?`n^89A$dlv%Zup9T*!B4W0kSzTu;~0F7J$YZDp!Ln=gwLz7D6+VMgHE^{f4`(t<7XI z84Nq;*<@LEzwXxTzA|?`K4jy6k2kkBJDd(kot;ebRavBCJRZMs{RXE@SEM6w%Iu1F z1WuXJz8ry5K4`y=z$v%F;0T-&mm?IUbR2YykB&zpET0m_<_LKx{eFLcf4{lb9NUO7 zOo`JGc2W9#zP`S`m6a7i6l@L~!<3jEA%ijrNw?cQJv}W5sgoUSQ%e7TlSePI8M*T5 zl?m^}%*+hh^m@JNFWDRIa1TQ3p;CNb6~n(Cw?nJaTw(UF`vai>+DnGRVYXLgsT?8o zS89UO=F|vf2^~R8l%;h9%}|!y5wt<6gd=ExQXxm!qHM4>EUzwy!Xfr3m2*UiqUfx1 zGD)eZBd|-Uv?DM|se&W0NU4q^Fh{AHBd|rOrXw&!sj?%mLaDwZFhNO#BhXJtiX%`? zNsuGZOi7j_JfK|iFVRIwoFi;ey6RkXQIhBg6jBoE2((d>>j+d)672}|P?GKllu%OO z2sBXA;RwW2QsW3@Q_|!J1XEJx2&7Wd=LkenQt1ffQPS!Ngi%uL2qaO`?FhtBQtt?4 zP_p0%1W+>K2x?QZ;|Qu!GUW*BQL^R;Dp4}%2x?HW=?IEbGV2J+QnKs_3Q{ue2ue}1 z?+A)eYQhmpPpK70C^4mm9HEqy+H!<~lzLeo4ix$S(lzG@c_{UwJ`qe5|Cku(qbR9N z>ORt4TUCp$2ZKRfLT42B^$sQ)b%YGc)&s5WP3`-AG%Pbw8lpV*#IZ6F!+SevcRg;0 z1rfL-uDBzfxFeppBc8Y;p132PxFeppBcA>PM8l^slxD+!00000NkvXXu0mjfC8@fY diff --git a/installer/resources/themes/console/snark_favicon.ico b/installer/resources/themes/console/snark/favicon.ico similarity index 100% rename from installer/resources/themes/console/snark_favicon.ico rename to installer/resources/themes/console/snark/favicon.ico diff --git a/installer/resources/themes/console/snark/images/arrow_refresh.png b/installer/resources/themes/console/snark/images/arrow_refresh.png new file mode 100644 index 0000000000000000000000000000000000000000..26b8dff1b53bd996a6110e7dbcfc7f61cfbc7497 GIT binary patch literal 631 zcmV--0*L*IP)pHDM>^@RCt_?lTAofK@`V-GlofliqQuV6@qAO5+W*)N|D-_F3f9D z5+w8?(xMM2)SUNBAEZgTsKkuy1xXZX8LsjXSk}Tc!6*wPXkm+#peRJ{X}nh>eJwGrJ`fi8F~=2M~vi-{zoyISDO3gp5|KaI2rq$rHryiXZ(*h{fGcmuce8a&B^ znpRJfKv@uVy$UkMnZ8_(e!dBuJIZ8#jV`7=Q5O!v=tktq5hRfHT7rleCmc(K#T;$& z{txbdYVZ6z-BWdXBo-L8VaN}@WmkJ)~ZGOBUYY@3qpRJ_ff>t9r+CbCY)@ppDWYEVO`;lmo(@fq^#)vR*@`c@Y_+k>1fSJhRm5(ssm zYK!2f_O0S)E^ISgJ&AkLQRZUrf3s~L1?MlJ-j^V2d(p+sxZz54w*xbcu-mfx4RY|D zGAH`HGDY7{>~P<+BPi=3^&zUg5H%3OT{QwdJME)zV=C-F!(iSPG3B9!`d_j2&67Te RpRxb|002ovPDHLkV1jYiDy#qi literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/config.png b/installer/resources/themes/console/snark/images/config.png new file mode 100644 index 0000000000000000000000000000000000000000..565a9330e0a156dff5bed2c9fad8c95a44344ba4 GIT binary patch literal 584 zcmV-O0=NB%P)g}f4o)2%U3C;eEDoiEh?94d(rV57VIF#8VqzW$HrDC|#U`x@QDbgi zVl)t9GGz&YY#D?gc%>hISA+_EBpnXt#pnC`p6@xw0$8TCbULjhlgVx(kuc)%xbgqq zR5+DNDFRN0!y)7Gm}oT0i39}h4h928qY?Rho^UvPGJ#kuW|-Amtrn`Pmd&+bFo@sp z$LI4IQw7BG?|#2ewOS<<3VjL$0=lMY^m;wqZujv5kx1l%Sl;V&Iy4#$ip3&@LV2!7vhhN=PCz%^9v24`qb(+m4W?!q-&~=?ssf5GfnAmJKV;3bvpDm0(NhahZ=&^sqo6Odj6>)Dq_3p~4~ zvb`d3Mydwjt&Df^hVmLtI2x=U&h9(JVYX-!y~z3zi;1>=LY;o(bL$(Yf$lf)dMf0-u^0HrpTG Wk@)HE*94aU0000%A_P)hUn2-Navsqo?5A8 zh}}V^=%7@_%C;=H{tGpIj5CMu*>5J=i;m^t2QTySd)}9aAppozC}++wDz`eOViU-dbRRoz=JsVlZk>N%^azhi%=xTCt9`LQjtqNFW~e|R=r9= z`@I3J^#z@aD5yBuq2DLQO#|4uFW6R5kzPZ+h&6Af&5}POarL&lA~3t5R1i7uh*ffDw@qEs=HBW ze?CI~MkvG6H-MF7r{Yv4kw_q&PNP^XqFgTHXlH@RpLO}3aV{T{Ez=8lo;PHV$Ads1 zfOtF(s5%5V>3qE|&{lueV1Y1j%GF zXt&#NI-LlGLPN>_18TJzN~Mxf*f6pY5Dteo^|P&3>(H{!KTr&_wGRQWb^rhX07*qo IM6N<$g7V1&P5=M^ literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/details.png b/installer/resources/themes/console/snark/images/details.png new file mode 100644 index 0000000000000000000000000000000000000000..12cd1aef900803abba99b26920337ec01ad5c267 GIT binary patch literal 778 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 literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/snark_create.png b/installer/resources/themes/console/snark/images/snark_create.png new file mode 100644 index 0000000000000000000000000000000000000000..1e767b9b2210b179316c02a86627570cd3d44bd6 GIT binary patch literal 1087 zcmV-F1i<@=P)pI@kvBMRCt{2oIhw&K^VaAy@c4NDGkygaj*?e60#HrH^o7zMoFZJ zIO&o_I!Tub(yi{L6eke^QUoE;q0*rc6fCq$sp4pB9cl|jNZQc+dw$<*BB@PdO<(T+ z4?ga=cOf6YT;998_Yy)h8jVJy(P%V0VOhk@ItLjrL8NJw$(?!w)E`0-V3?CMn1(^B zPzFHi8;A!`ABDCbtzHBlh=)#k5>Okx8xR)6>sF@)IMxMyMrh_IEFjAVvR>81Vr)Zv zg1Cp$8~XLyWszKkV>7ijZ(|?LU*P%HDv@g-DG2of%5K`vBA4KJ2I3dQfmI=EP{wKJ zD=Z)@-SYV1>Ejzj4o5Jpyrcl+U2b{2L~erElyyMDP=7%yFD1ZJM??KQ%Upy6q`6q< zAPdK@^c6Cq=dsSvY#MbAmK9I&YY#JmQ7A7^&q_w@=~#t4x2I${BPf%*taFkAxcXlQ znJ=OIQd>-HfNVeOyrcr8Mj@7A1V4lF?P<=xb8~ZE8o3D%2z?9-ge!L4BJO{U-l?gn z``K)^l*weC(8*9>K<35M_8lJ|kAc|A%F2qhw6s*!f{$Xf`@+e|$yhude+N}_Z*R|T zE0@dG*4EZ&EEbz_DnXHHdq>OT@tA#meZ=qglb)U)yUp!(8-YMzT94pE+Fp$X{oCPx8}_I2wL#TII>Bj z1vkgB9WX8UIF4>Fwi4`exrT>^hO+bX^BYdSC(k&(ciT+x?(Qy0r_)9*mm5hYlOLeZ zcc?`G-YB?GC>W_!ifnFf62mY&5J^=8ckHf1UGT)j#I4oU)vo#~P9?!@FMt1o z2*e^pKd$6Lp^zPegM;~jfq~(%v9XU7a$o|D`(@h@?;#R!ar3G)f@$51R8la_JH5&Y zrhOY-DZwnBQBX!Os|P@o5X|!F8tDbIesoD{!K~#X(hBB5E+VC1UgRRu3Fb*IB9&m? z z%P1G&La?lI5$1wrmWwbIEW2EUnP3&BzrMa+Z^ys$3PDKwBSf0uFFki4 zET7L;35UavSSKVKDEKFY7TY0uStp>;Xfzs)Mx!}1zX5=jnMm7k0=fVI002ovPDHLk FV1lTm Date: Sun, 19 Sep 2010 03:36:41 +0000 Subject: [PATCH 22/71] build.xml: ensure we copy snark's directory, and remove the file copy for snark.css --- build.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build.xml b/build.xml index c2d26de43..5a582bc40 100644 --- a/build.xml +++ b/build.xml @@ -413,8 +413,11 @@ - - + + + + + diff --git a/history.txt b/history.txt index da706176c..365b720ec 100644 --- a/history.txt +++ b/history.txt @@ -1,5 +1,5 @@ 2010-09-15 dr|z3d - * I2PSnark: Overhaul UI, implement gray theme. + * I2PSnark: Overhaul UI, implement new theme. * 2010-07-12 0.8 released diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index ad67a263a..9bf29c887 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 01; + public final static long BUILD = 02; /** for example "-test" */ public final static String EXTRA = ""; From 4800e73a4ac8eb6772b3d6dc584c17d113e10a4e Mon Sep 17 00:00:00 2001 From: z3d Date: Mon, 27 Sep 2010 05:04:05 +0000 Subject: [PATCH 36/71] I2PSnark: Add buttons for start/stop/delete torrents. --- .../org/klomp/snark/web/I2PSnarkServlet.java | 16 +++++----- .../themes/console/snark/images/delete.png | Bin 0 -> 504 bytes .../themes/console/snark/images/remove.png | Bin 0 -> 414 bytes .../themes/console/snark/images/start.png | Bin 0 -> 403 bytes .../themes/console/snark/images/start_all.png | Bin 0 -> 966 bytes .../themes/console/snark/images/stop.png | Bin 0 -> 299 bytes .../themes/console/snark/images/stop_all.png | Bin 0 -> 874 bytes .../themes/console/snark/images/tile2.png | Bin 0 -> 156 bytes .../resources/themes/console/snark/snark.css | 28 +++++++++++++----- 9 files changed, 28 insertions(+), 16 deletions(-) create mode 100644 installer/resources/themes/console/snark/images/delete.png create mode 100644 installer/resources/themes/console/snark/images/remove.png create mode 100644 installer/resources/themes/console/snark/images/start.png create mode 100644 installer/resources/themes/console/snark/images/start_all.png create mode 100644 installer/resources/themes/console/snark/images/stop.png create mode 100644 installer/resources/themes/console/snark/images/stop_all.png create mode 100644 installer/resources/themes/console/snark/images/tile2.png diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 4165536ef..d1367a4ef 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -270,14 +270,14 @@ public class I2PSnarkServlet extends Default { "\" title=\""); out.write(_("Stop all torrents and the I2P tunnel")); out.write("\">"); - out.write(_("Stop All")); + out.write(_("\"Stop")); out.write(""); } else if (!snarks.isEmpty()) { out.write(""); - out.write(_("Start All")); + out.write(_("\"Start")); out.write(""); } else { out.write(" "); @@ -784,7 +784,7 @@ public class I2PSnarkServlet extends Default { + "\" title=\""); out.write(_("Stop the torrent")); out.write("\">"); - out.write(_("Stop")); + out.write(_("\"Stop\"")); out.write(""); } else { if (isValid) { @@ -792,8 +792,8 @@ public class I2PSnarkServlet extends Default { + "\" title=\""); out.write(_("Start the torrent")); out.write("\">"); - out.write(_("Start")); - out.write("\n"); + out.write(_("\"Start\"")); + out.write(""); } out.write(""); - out.write(_("Remove")); - out.write("
"); + out.write(_("\"Remove\"")); + out.write(""); out.write(""); - out.write(_("Delete")); + out.write(_("\"Delete\"")); out.write(""); } out.write("\n\n"); diff --git a/installer/resources/themes/console/snark/images/delete.png b/installer/resources/themes/console/snark/images/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..45399d1759c5ed772b641cfed07f5b477d3a39fe GIT binary patch literal 504 zcmVpGs!2paRCt_~lTAwkQ51&HjM^xQQR<>aP|zkJbK9;UsAa8$h^QYR z*e)Z`AadJ32wL>9X;G`%B;=w+L@inbCXtnWJB_2`=rogO_MR;Ji_nh-S@7#Ns zVNO<`lj<+T<&tWL4npP?C6^IX%+Abxt#BjDy712n^^L9NBWXd>6VmLXOfH8ZSV;rwMC zo*whGFyJdgM6Cd4GElS%WC|Pb@a3kpS9ohb0m5668}K+4%LzQ3qW4f^4Au;HyXv$l zR_!3ltq&A?W)o@pGP)S5VRCt_Y+*$Rs;oo0|%AcSAu`rMTet!7#=iZSo?Tm{8?*4jy z;XCX9f23$A$X0!Nxuuu2eCn7L>U0`v!6u?12fZaxEP2H62lfA z7zTKmRx=3lJi<^267w{v#SmvX{H&4T$)m?$PPoZq1~ut>Se*(2>N2|-_{IDfR-Tas z^ItH$LP)pGMM*?KRCt_Y+*$Rs;oo0|%AcSAu`rMTet!7#=iZSo?Tm{8?*4jy z;XCX9f23$NkX-U}5B zZ$2p#We^j(fP(mOhD5g@23Ny21`f85q#FPhWcZ2QXwo&YZGeh2h~_F1#AC8UWV#jyR1l!1U(X>%WYQ5dV>?`8UI_ xzbvo5zHa-#@S*Y#!*7zZ^M3}0Ka32F?Eq@qd4B4t&%gix002ovPDHLkV1f#kw+;XR literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/start_all.png b/installer/resources/themes/console/snark/images/start_all.png new file mode 100644 index 0000000000000000000000000000000000000000..3070cdd3ade355a001b48df412c5877fad5948f7 GIT binary patch literal 966 zcmV;%13CPOP)uc00009a7bBm000id z000id0mpBsWB>pIcu7P-RCt_~mVZptbr{EA-{Taz;e|JaAcF!*1;b)P))M1Vli}QS zHDV%J&8^jDx>l`hYq;f>)h4Y`Tdr)Sj_FF>ESrgP-KO%7zd|K4HBf?MA_O|W$9=!w zp3j}^esp(n@9neuJkLF!=kxwN&-3{_U+v(Vy=!cmZM*-LIh7Qkj~M1dDz%R$3F4oR= zXT-Em2w9oEXqq`WBEs9m)Y8((Pi9tpAC+4g$W)`|ak9kwQ}OI?*|m<2-(MzRq$edIktj1@!?u^? zbQ-yb&$98*DK_eXXuFIlWG|e<(IxYtq8MKMjH>Dz6elDSWSOS3u(XA;hrY-2+Z$Zy zsZD4rBw9-IvFBukV)(uVV!#(?DS9h-Z7|0CDJ_eaa zC}r)i(z--dV>9bZ9^l!f^RcPZIvvqI^l>=R4M)#GM>qeB8yrZ3=A@~afNwONFMlnh ztt&gJod>+~m@E1K+0S;$7=cAgQyqdGc+a6aY zWkX}UASw7x>8qvn$Q3^;H8Z9g)QkSu#2T%f@-@Q@Zx1k@(r17n2ePpC_R+UG-v8C= oJ%qwG=#JD^L9XaW+aZelzaZrxIbX(C{Qv*}07*qoM6N<$g3Eg26aWAK literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/stop.png b/installer/resources/themes/console/snark/images/stop.png new file mode 100644 index 0000000000000000000000000000000000000000..afb50a44ac9859b627bc6fdb23c8926c8ea328a9 GIT binary patch literal 299 zcmV+`0o4A9P)pF-AP12RCt_Y+*$Rs;oo0|%AcSAu`rMTet!7#=fSCO?Tm{8?*4jy z;XCX9f23$%8cS{L**3=(!v+uc00009a7bBm000id z000id0mpBsWB>pI97#k$RCt`NmT5>-Q5462Gfr7UnhoU=WnhM-p(KbzY1%6Fr7$eo zs1FqtmC!;9!~_LxP!aVdqM)J;TBs;WOR*9OBFWTjvrNkw5_cPC-kZ*wsm52MF*Sd< zaPI$}bMOD%d+xcHH1-O}KjYr^8?&97XU=CnS1EB}t=h_9?{PGNxA{GU0)kA#5sX=5v;tOGdch&rh}_ zTgFzJ2a?;`MVU~U|8^{XFb$Fw*m!t_Y>R=Id*$Tcc}Bj&rS}`qkI2bmc`!W%(&AzH zF*35g5+5`nBI0;bET*UkZ+~&7w>32Rd@{yi%9#M6{d`>ZcsN%~o-tTL1YgZk0P36c z^i~Q}mUVcpuJg#Q9Rb`)5!aPFUZtpu&SQY7M|A|BUuW?3Z9FQ;^ z4ql^ExOviQrM65;8$+7x7`rc{swz9JKPs>x$2`l{?dTq+Dt}buzv2TQ-J>vv7x7Z} z=w(BK%y!u_h~%brmdO#E)%YxVdgO|iOU|@A6c!5q@Mnx6mDDB8G@o?g4CpsNkq?pw z_~Iw({r(2Xq9(bPafMLRlb3fWM)5FUQ`8=l}o!07*qoM6N<$f@p)D AC;$Ke literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/tile2.png b/installer/resources/themes/console/snark/images/tile2.png new file mode 100644 index 0000000000000000000000000000000000000000..d4db14c977b83ec524b82612b754109817826eea GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^OhDYg!VDxYKUjJMNErn9gt+Pn=~*aRn9G~%3+tOJ zm|H4Y>Wk>>3hL?#=vpdUS}0lQ3F}!XSm+7rnaP_0r9QtuoC?&-S>O>_%)r2R7=#&* w=dVZs3JQ6;IEGZrN#;m>k+49|OwLP!VP2cY(jOYOPk^!vp00i_>zopr0M(f#VgLXD literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/snark.css b/installer/resources/themes/console/snark/snark.css index f7d09e748..1580d8f48 100644 --- a/installer/resources/themes/console/snark/snark.css +++ b/installer/resources/themes/console/snark/snark.css @@ -1,4 +1,4 @@ -/* I2PSnark theme "faze to gray" by dr|z3d */ +/* I2PSnark theme "Ubergine" by dr|z3d */ /* Guantanamo Commemorative Edition. */ body { @@ -168,7 +168,19 @@ td:first-child { .snarkTorrentAction { text-shadow:1px 1px #550000; - padding: 0 0 1px; + padding: 1px 0 !important; + margin: 0 !important; + text-align: center; +} + +.snarkTorrentAction img { + margin: 0 2px !important; + opacity: 0.6; +} + +.snarkTorrentAction img:hover { + -moz-box-shadow: 0 0 1px 1px #f90; + opacity: 1; } .snarkTorrentEven { @@ -202,9 +214,9 @@ td:first-child { .snarkTorrentOdd { background: #656; font-size: 8pt; - border: 1px inset #434; - border-left: 0; - border-right: 0; + border: 1px inset #434 !important; + border-left: 0 !important; + border-right: 0 !important; } .snarkFileName { @@ -259,7 +271,7 @@ td:first-child { } .page { - background: #323; + background: #323 url('/themes/console/snark/images/tile2.png'); color: #310; min-width: 820px !important; margin: 5px 0 0 0; @@ -270,11 +282,11 @@ td:first-child { border: 1px solid #101; font-size: 9pt !important; line-height: 160% !important; - -moz-box-shadow: inset 0px 0px 1px 0px #002; + -moz-box-shadow: inset 0px 0px 1px 0px #212; -khtml-box-shadow: inset 0px 0px 1px 0px #002; box-shadow: inset 0px 0px 1px 0px #002; text-align: center; - opacity: 1 + opacity: 1; } form { From 8ab134ffe53ffc75c4779744492fd60994fed06a Mon Sep 17 00:00:00 2001 From: z3d Date: Mon, 27 Sep 2010 06:05:02 +0000 Subject: [PATCH 37/71] I2PSnark: Positional CSS tweaks 'n fiddles. --- installer/resources/themes/console/snark/snark.css | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/installer/resources/themes/console/snark/snark.css b/installer/resources/themes/console/snark/snark.css index 1580d8f48..6d69d45ad 100644 --- a/installer/resources/themes/console/snark/snark.css +++ b/installer/resources/themes/console/snark/snark.css @@ -87,7 +87,7 @@ table { padding: 0px; border-spacing: 0px; border-collapse: collapse; - color: #ddd; + color: #323 url("/themes/console/snark/images/hat.png"); width: 100%; opacity: 1 !important; } @@ -97,13 +97,11 @@ tr { } thead, tfoot { - background: #000; background: url("/themes/console/snark/images/snark_thead.png") repeat-x scroll 0 0 #101; text-shadow:0 2px 5px #333333; } thead a, tfoot a { -text-shadow: 1px 1px #210; text-shadow:1px 1px #550000; } @@ -112,7 +110,7 @@ thead { } th { - padding: 4px; + padding: 4px 2px 1px 4px; font-size: 9pt; border-top: 1px outset #001; border-bottom: 1px inset #001; @@ -139,10 +137,14 @@ th:nth-child(2) img { margin: 1px 7px 3px 2px; } +tfoot th { + padding-bottom: 4px !important; +} + .SnarkTorrents { margin: 0; border: 1px solid #001; - background: #333; + background: #212; } td { From 3075593767a02abdce34cbcfb1e17e9a0229cada Mon Sep 17 00:00:00 2001 From: z3d Date: Mon, 27 Sep 2010 06:34:54 +0000 Subject: [PATCH 38/71] I2PSnark: Activity icons refresh. --- .../themes/console/snark/images/delete.png | Bin 504 -> 716 bytes .../themes/console/snark/images/remove.png | Bin 414 -> 486 bytes .../themes/console/snark/images/start.png | Bin 403 -> 499 bytes .../themes/console/snark/images/start_all.png | Bin 966 -> 1061 bytes .../themes/console/snark/images/stop.png | Bin 299 -> 424 bytes .../themes/console/snark/images/stop_all.png | Bin 874 -> 1008 bytes .../resources/themes/console/snark/snark.css | 3 ++- 7 files changed, 2 insertions(+), 1 deletion(-) diff --git a/installer/resources/themes/console/snark/images/delete.png b/installer/resources/themes/console/snark/images/delete.png index 45399d1759c5ed772b641cfed07f5b477d3a39fe..353e3e202d9dcd0807b43717372161d9baba81af 100644 GIT binary patch delta 672 zcmV;R0$=_31Iz`GIDZ0uNkl9meTYiWrlQj5}sA|iWB6Z=yy&H`QZhR~tA`#q}kYF$_+_}>j5)BxL2{AlUs7Q;2(ic?Pj_pimrt`Rt zC2iBN>RsJ??)mTcLVa6}W!&HQeF^5MP1)pn~3;FW_$3g4ZWfcKwtPJn5P!ahS8ip)!=E>~R zP7H`FAQR4lPg}99jiU%(U2`qd$)|{K#;Sp~V;0;xXMZMCcgGaY4)>2h^F&S&$~_mBfeGAURD32RHca9XoN(5+b5I)pCU zHVT^xf~!`HZgfB;3K8hQ71;oEb)e8u$m|p(~}@B#yuU000021^5GyIDY}ENklY_zZ&?X^s+pZv}WvzsW zs2?EME+fz&a@#)$TJ*7LQLEY{Mz9Ql4^$zLgp1Eml0FU&dhzSa4k7BwG$kGVSfQ`#j`pq6;&I7U0f07 z#uvfw%~}AgVGlJJ$W*nmjU|F6yafG$OMNw(G~rf{m|#$Y*|B8`5i`sQOd!lrOM(vW z^lGh5i0k~s0%(oBvrC|WB=_iA%LzV(A=piC>jDy712n^^L9NBWXd>6VmLXOfH8ZSV z;rwMCo*whGFn{1HLqx3rXEIQ<3SF+du9`A5Sz@l!9S7%qWfWp?uGTe(FC;?gTzsg-VcG;!Kj|&gL`6v zIciDRLcUN!_!byhu|fJS0KHq)$07*qoM6N<$g5(&HB1%{^L82mIG7^Jyz{VfY zh}BpViw-7((bAY~5(@^AHqux$LK!d=?X^{U^qlMca;>P8I_^o{H+kRZ{eIr>^Zp>a zi}y>af`Is<(l8NXUY2hng&+w{Ul&s`!K$fd%fbfGncUPT=lHW2ATW2Y?PI zmvNW4Ee~d<8h_Bqo+0MXKq*#V4Y3fkb>=`b7ubonl;>EaQF%O#lmu(|7+c|zu%TwX zNB~Zx^tDakRqKa?&s=F@^U+&dXb=^^aKDCGp8~jA4F%8pQEbQCamqGT0~jF(4||1p zNHhf4^hR+`z5fQd%rIDsbc5rxKW!%@$5#mt$*e*Mp)k^gdX$=(kWf_U44+-eBOj0< hnflJUPnm!O-vNpWl1ZRBbK3v_002ovPDHLkV1ivZ%-jF~ delta 366 zcmV-!0g?XZ1D*qrIe$<|L_t(|oMYTs^|ayNUxvz`pZ~EikN|#u`19x9kuU9xivsTc zdVb+M>;HeGXlGzxWMW{r`epxbrtk0nG2_zA&iVz6u>p{tAOF8HGvTwv!=xUJ@d2Fv zHd0y6pdqsp%zmt5!f@_RBvy4;T_7QNjloI33(g0zL1IK10DtncpG64+Gt+Ol7>ErL z!xkPG26&lPGYIlL!cYhj^E9c&5NA33tdZf#qsL%QxXEJ%HR*d;oeBc#GP@c0#rzmn zo{X1VCzbUXx(>@QoGX0+<9ypmMzqUd`A5+yG;%Brh!&#_H;RXnC{bDcy8bS=%byXbG1y`Q&Gqi8lAj$xcTDSpkp1uCd z$jHd_{38bg2$KSSGyM9?^6KmBwhs&+D*rJ2CMi4rXJGil$iUbR05slq;~K^UKL7v# M07*qoM6N<$f>Ls@3IG5A diff --git a/installer/resources/themes/console/snark/images/start.png b/installer/resources/themes/console/snark/images/start.png index 1edee823af735b8ebd96b6dde48e706f5ad52cb7..280b49814cc94739ebf06d0b01793261c60edbac 100644 GIT binary patch delta 452 zcmV;#0XzPa1M>rrIe(=|L_t(|oRyP3PZUuUhMzmE1h*puf;28rkl0~jqa8#GB8iEA z02@ksthAAa+RBPQpca~JAqLh2NC<&M0%%r{g#l)k-D~EH`MTq{hL9y2oITzBc;7tl zx#x=Fi=&q+X2!QvjyB4dQS|exJuBv)l!N09??$59k%Q1+%YXh7YF=G+T!?%6s+kS` zYR(gF8-9-30zy}!bp z(G8Z0V{EQJKq;-ILGx~kPw0a@1*=9^PV(sSJEo@RC=BgpAW$iR3Lx;(cXGg~ljfi| zZ}N0(neBmllz-Nzu-t)5gOdJ=!-Gm=G43h`1^CT;j{%oDo#=Yw-#dl@c4b~Q$FeBQ*D^C-<=^sRY%{nsr?EtjfCP^fi?FQ3X!1) zjzwipqHl+k%zhT^0$y_cgg2d9`;zZFdEOhtm~sAEVLeNOx2w0&-E6{((yF={3-K>s uyW)@_&KZvRS|Vp6!nVG1lFqC^%>Du6EYB@0gR=wx0000;HeGXlGzxWMW{r`epxbrtk0nF~c+q^W7ub0Fa&^|GzS$INRBvgMpFZKf~S& z6%21aDHCN76S{zc_;H3rw;%>r!!`yEwvVJ602XBY%V4CkjDI2B(~H4Sc?FnHk^wLP za)Fys3qyiyDA;8r8vp~M{I?jw?NS*6t@0TJcpjt3u^fKZ$nfM5M9}&Bbp}N|2EF`t zk>Sv@dWL5oIKliE3@;goN<8;ob2CgosLXKYp&*7FUIRY=U}2bhRFPrJB}sZ2QXwo&YZGeh2h~_F1#AC8UWV#jyR1l!1U(X>%WYQ5dV>? z`8UI_zbvo5zHa-#@S*Y#!*7zZ^M3}0Ka32F?Eq@qd4B4t&%gix002ovPDHLkV1i(* Bugw4e diff --git a/installer/resources/themes/console/snark/images/start_all.png b/installer/resources/themes/console/snark/images/start_all.png index 3070cdd3ade355a001b48df412c5877fad5948f7..11dec0d68a0bc637275191afe5ca55b02201c731 100644 GIT binary patch delta 1018 zcmV^EUj50y7C^8o)s43ZM zwv1e8Keo2Yt@4jrWn057x5}2dW?OSvTcu65%*|!PMA-F1R%hAA?K7W@u#P8Mg4#&vXZ+5NT z9nZX(MEPu6yVLcjf1$1#an6M1vGayq$+Um$Dj%K6?1@xH!hGmct8Cn zS{w>JvcRE@aBnO-2}x-w9JeLolwnOsXEj+E0<2C*%r$cFyu|IRTDVwSM8nUUP}Mm% zgpf$&Yw*gUXJvN^nKe!9J=@4$ziPHinnQZg9n@}K1Am1%@XSXPmkg3)1`z;MKa99R z4&R!bLea(=^6$P#{kcc@qq$&45Se)-FAHl%YGhooKGOPzqBg}Vu}YqhIAu?ztKiFe z%FRck3%(u@m~j~Mz+f*7|AXDq!Gr7G;qfi6v%uay6U(4Y3PA6WS-ChZ+E1HjhVc2r zc|$0Ht$+2sZ{zB5qNy6ohjj`y*_$RXnkoS@@Ld~WsB;XTJIIwm4?lLh==3Is9XW9^ zkHm1l4z?TZ6z{I$rQD@F_P`n}q21bTW-xycerbc+OVH59a8ToP0#uogMhoSLK=^%3 zc!D^ujN|F`)7!6bcIXx^kEhQRjj+^%Lw+1eH-Fj9-89M~X*<@LZ3ZO&-~9$Ag6t7* zpH@R4q&FXpA<^(UakdWA@speG%RWy3wTKV<3jY^ksz|7xE6s~SNU*u;jP$c^hL;}- zcX#Fyz0PKk2_Md;L3(~4qpmfTgPr$KJGu@ZKpt7avJ07Q?|)_(b=pw5w8E z?k~KJLWvmrPonEOZ&ilb<>@N3ZFL6xfpdkrrpLWvCtXH1HhUc{rbkbz<_ht4GA)Jt zp;4ZaBlseuFOjE5u6UE=%&1>ur|2(C&QS^|*yX`?7ytkO07*qoM6N<$g794d5&!@I delta 923 zcmV;M17!TA2*wAHIe&ObL_t(|oRyY;Ow@H4$6w#$6uRMsH-#XB0!jtLVnfyv<5H91 z+;lZ!B3aF?)n>X@t!!(!<(AbZtx;R9Y^9FrO5H4*iE`bh@{hklB{DTof@2~CI={z# zzu%tEo$P*ecX99Sv->>HJ)h_E{yfj~`8;3k;G4Z`Y?^Jm|9_S_l@y?l80KZ~XzRN@ zk2a>VE)ldHwU>N@UHVKjV5PVcI&ZaEPA%8@`C#2xBD3eSI8u~DrJDB-6Sy+KFUO!R z*3Nck#I#QcS(&|PnmIWl!rR2u($dIJW>$P3m0KFfRHNo`vc&sS@$77oLU~auYZuou zYsTrxk%>W*_?*|m<2-(MzRq$edIktj1@ z!?u^?bQ-yb&$98*DK_eXXuFIlWG|e<(IxYtq8MKMjDM=?8x$ub5@eaCv#_*t~tMJw}M;kj#CG>O}Kux?NVZ1-G$pTTQBjDSI5;h$6_AvCOC=6L^B{usy% z%032}Mt>+}?Xc3iL{(!m>q{Qs*`@Qbsna?g(LVHXIMEG9&p}5w|BM?PNQ362shNOp zG@UPhEu^h0JE@%qyz=AKdMW7a<&wiAO-w(jE_agi}Q4?f<< zZGX|Nl5thumM1G7ra~gd<~^9E$$L#f?$Wwy9Ls!u-9OVbCfQ>m@E1K+0S;$7=cAgQ zyqdGc+a6aYWkX}UASw7x>8qvn$Q3^;H8Z9g)QkSu#2T%f@-@Q@Zx1k@(r17n2ePpC x_R+UG-v8C=J%qwG=#JD^L9XaW+aZelzZ4+lAUR*gSN#A0002ovPDHLkV1gz&-Pr&D diff --git a/installer/resources/themes/console/snark/images/stop.png b/installer/resources/themes/console/snark/images/stop.png index afb50a44ac9859b627bc6fdb23c8926c8ea328a9..6f7c9da05512258629745a2b24c0a5a81e1d26fd 100644 GIT binary patch delta 377 zcmV-<0fzpo0;mI!IDY|JNkl&jx)Mr(mnvYaEsoBVQ7TQf)v40Pa>d5a0Kssg`cYg6_d?w)Wn{Kl3drYsbmzNN!~h_DU^)Pt5kQ-@GiyvcBM5)nYTE!~ z;so)%zW}3vQ{P@#1Yi!(4rH(#Kx05@8*tsdK)dx87Kg4v!5oSM&;$Cj8Y->Ru{3TS@52$yEvqFM_|hxHWz&wI0>|1p!Q83aIje*FK+jN)uVd=brPw=QX1peQ9imPxI|h&wr^hiXeU3ROe5o4!rVL z)6Qb<6(a5PZRg^XL;5OZSVi81=-hFuQmd`}WU_mASgxO*VfifiW_{k0+pe zsh)p+TKS7b?~veDD6OP~I@z5rq}H&8O>aHIa+^Q&3+y|_W-mP#h^F9K>hDNES%tS% zBg3WeFuz56Jb#Zv;ETZeRu~G|IG0eFA7k-;3tTS(y&vXXK-ScZ(%g7TZY-0~``lJ6 z3Bko-l5^9t@dhFW->bcW7b6M&ZnyYGEPU;yCn4#OvnK<~=$g60fQZ`MX;B%NodVmL zkwi_0vik1z{Iq2w1RLP-k7;ec zOv4f&V#?4ZSW7iiT5rYQc{`Ms=42hW z!B=6r-SJoAT!}NY(2|Imd8xljmjf~YVpDG6+NvC1wZaV|r8{+F7t>~cIQAx!<8e&G zq<%&bG=I$nr}+`Ffh6@9$1XhUh~iALf^vuNhwaumT6gZ{xu$h=-M0~+{o2Za+l(%6 zIXMh{gYfHFW-=zbta_z z_IxXCl3~|s`0Nlk#pq6rCDF*F7J#JPE2Cpc`+qv!^B*KepXzANfskM`8qe}|)$sfS z4%^dAuASWxnNOjQjFX5N;yd4=jloKn=E)b+J#fF&#p^F`&&gznF(B#qbQc69liOOH zeOvf6ugdW|c|iU+W08zrN9v!#uTE;^*90Pk_x96U@dXytB4^;p08wH4J~~S8Yh79S zGk=}%^ANj3iajB@=Fh$~>o_t}ElIAvrlbEsAG~{*FT`R+<63zCFp_H?lr<`|<*wi@ z1aFj1+I^G>Wx@Rm<5hHOpgC z#9!L-cKP&3iw{c8%<3jRB0q8Uj@ClUjy?p5{RWw$egjN-ko3`kabljo0pipzZCQUD nh8N4_J5($3WWUVt#qxgvdyjO3t>Z=m00000NkvXXu0mjf*zD}V delta 830 zcmV-E1Ht_82kHipIe#2UL_t(|oUN8=NK{c2$A2?USwor) zEZV3K6&01xLJPzM1#M6f^(CU9q77Q8C`wDQ5(y&7)NHd%%NY`P8)x2|&YP*mSEDgC zf4Fe&|DJR2|J{4;xzBKGbKMf7!FaN}L+wuhaI`4uhtkfATYujrE)68EHyBROeq*y& zJBFz)cYu*l(NX9QH^hXWu;;b+=C&Y$g3(c=Yxb9BT<;sX{}A$i_cMKKQB8rW_ds;3 zsD_XbVx?Evn_GM|>3bG2NVBgzf#Y|X;?GYfA~E(hanXR=Id*$Tcc}Bj&rS}`qkI2bmc`!W% z(&AzHF*35g5+5`nBI0;bET*UkZ+~&7w>32Rd@{yi%72*vq5XVZ_INl~Or9}VLIhvU zQUL0k^yF}h&$fi=MRYnmd7~xM6jO2iF6^IdC@zJ#xVNPJWwmx^19v~J^Vl}*gc0ho zi(sz%4H-+1us(4lxieBQYF`^}*2g=XP+9{80)G@N6 zj_0z7Wq8sw71snX-f1e){N+=2c@D_bQ|MT*%%Q+UK|= z-rm)-Fq(h3l~lp?GAhI@IC_ix?YUllO%6P+W`DO;WuH~TJVM-V?>kdi73pdJi9`FZ zaYkkwkT4t$UZYdEdD3d7woFPJLz?UuyDy`vDm$$|DzG8PJj>SY=pLpje^lhZ;sYPu zqcDdT@lyBbWkZ6@cG)tB5FUQ`8=l}o!07*qo IM6N<$g3X?o{r~^~ diff --git a/installer/resources/themes/console/snark/snark.css b/installer/resources/themes/console/snark/snark.css index 6d69d45ad..4d6824da9 100644 --- a/installer/resources/themes/console/snark/snark.css +++ b/installer/resources/themes/console/snark/snark.css @@ -170,9 +170,10 @@ td:first-child { .snarkTorrentAction { text-shadow:1px 1px #550000; - padding: 1px 0 !important; + padding: 1px 1px 1px 1px !important; margin: 0 !important; text-align: center; + width: 68px; } .snarkTorrentAction img { From a4d24c61bada652011777e91dd5c788e874d48f0 Mon Sep 17 00:00:00 2001 From: z3d Date: Wed, 29 Sep 2010 02:09:05 +0000 Subject: [PATCH 39/71] I2PSnark: Tweak the size of our writeable fields in add/create sections for better visual coherence. --- .../java/src/org/klomp/snark/web/I2PSnarkServlet.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index d1367a4ef..9a291c89f 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -761,7 +761,7 @@ public class I2PSnarkServlet extends Default { out.write("\n\t"); out.write("
\n\t"); @@ -927,7 +927,7 @@ public class I2PSnarkServlet extends Default { out.write(_("Add Torrent")); out.write("
\n
"); if (remaining > 0) - out.write(formatSize(total-remaining) + " / " + formatSize(total)); // 18MB/3GB + out.write("" + formatSize(total-remaining) + " /" + formatSize(total)); // 18MB/3GB else out.write(formatSize(total)); // 3GB out.write("
\n"); +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:787 msgid "peers" msgstr "节点" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1878 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1880 msgid "UDP connections" msgstr "UDP连接" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887 msgid "Sort by peer hash" msgstr "按节点Hash" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889 msgid "Direction/Introduction" msgstr "方向" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891 msgid "Sort by idle inbound" msgstr "出站空闲" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1891 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893 msgid "Sort by idle outbound" msgstr "入站空闲" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1894 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896 msgid "Sort by inbound rate" msgstr "按入站速度" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1896 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898 msgid "Sort by outbound rate" msgstr "按出站速度" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1899 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901 msgid "Sort by connection uptime" msgstr "按连接时间" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1901 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1903 msgid "Sort by clock skew" msgstr "按时滞" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1904 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906 msgid "Sort by congestion window" msgstr "按拥塞窗口" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1906 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1908 msgid "Sort by slow start threshold" msgstr "按启动门槛" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1909 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911 msgid "Sort by round trip time" msgstr "按往返时间" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1910 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2165 -msgid "Dev" -msgstr "偏差" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1911 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913 msgid "Sort by round trip time deviation" msgstr "按RTT偏差" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1913 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1915 msgid "Sort by retransmission timeout" msgstr "按重传输超时时间" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1916 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918 msgid "Sort by outbound maximum transmit unit" msgstr "按出站最大传输单元" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1918 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920 msgid "Sort by packets sent" msgstr "按已发送数据包" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1920 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922 msgid "Sort by packets received" msgstr "按已接收数据包" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1922 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2170 -msgid "Dup TX" -msgstr "重发包" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1923 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925 msgid "Sort by packets retransmitted" msgstr "按重传数据包" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2171 -msgid "Dup RX" -msgstr "重接包" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1925 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1927 msgid "Sort by packets received more than once" msgstr "按重复数据包" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948 msgid "We offered to introduce them" msgstr "中继客户" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1948 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1950 msgid "They offered to introduce us" msgstr "中继" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1952 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1954 msgid "Choked" msgstr "" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1957 -msgid "fail(s)" -msgstr "失败" - #: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1962 +msgid "1 fail" +msgstr "失败 1 次" + +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1964 +#, java-format +msgid "{0} fails" +msgstr "失败 {0} 次" + +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1970 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:162 msgid "Banned" msgstr "已封锁" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2094 +#. buf.append("\n"); +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2102 msgid "SUMMARY" msgstr "总结" -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2145 -#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257 -msgid "Definitions" -msgstr "定义" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2146 -msgid "The remote peer, identified by router hash" -msgstr "以路由Hash区分的远程节点" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2148 -msgid "Inbound connection" -msgstr "进站连接" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2150 -msgid "Outbound connection" -msgstr "出站连接" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2152 -msgid "They offered to introduce us (help other peers traverse our firewall)" -msgstr "对方节点为中继帮助我方穿越防火墙" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2154 -msgid "We offered to introduce them (help other peers traverse their firewall)" -msgstr "我方为中继帮助其他节点穿越防火墙" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2155 -msgid "How long since a packet has been received / sent" -msgstr "最近一次数据传输距现在的时间" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2156 -msgid "The smoothed inbound / outbound transfer rate (KBytes per second)" -msgstr "进/出站平滑传输率(Kbyte/s)" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2157 -msgid "How long ago this connection was established" -msgstr "连接建立时间" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2158 -msgid "The difference between the peer's clock and your own" -msgstr "节点与本地时钟间的时滞" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2159 -msgid "The congestion window, which is how many bytes can be sent without an acknowledgement" -msgstr "拥塞窗口,即每次确认前可发送的字节量" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2160 -msgid "The number of sent messages awaiting acknowledgement" -msgstr "等待确认的已发送数据包数量" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2161 -msgid "The maximum number of concurrent messages to send" -msgstr "并发消息的最大发送量" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2162 -msgid "The number of pending sends which exceed congestion window" -msgstr "超过拥塞窗口的待发送数量" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2163 -msgid "The slow start threshold" -msgstr "慢启动门槛" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2164 -msgid "The round trip time in milliseconds" -msgstr "往返时间单位毫秒" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2165 -msgid "The standard deviation of the round trip time in milliseconds" -msgstr "环行时间的标准差单位毫秒" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2166 -msgid "The retransmit timeout in milliseconds" -msgstr "重传输超时时间单位毫秒" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2167 -msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)" -msgstr "当前发送数据包的最大大小/预计接收数据包的最大大小(字节)" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2168 -msgid "The total number of packets sent to the peer" -msgstr "向节点发送的数据包总量" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2169 -msgid "The total number of packets received from the peer" -msgstr "从节点接收到数据包总量" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2170 -msgid "The total number of packets retransmitted to the peer" -msgstr "向节点发送的重复数据包总量" - -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2171 -msgid "The total number of duplicate packets received from the peer" -msgstr "从节点接收到的重复数据包总量" - #: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:145 msgid "Dropping tunnel requests: Too slow" msgstr "忽略共享请求:速度太慢" +#. don't even bother, since we are so overloaded locally #: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:352 msgid "Dropping tunnel requests: Overloaded" msgstr "忽略共享请求:路由过载" -#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:523 +#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:525 msgid "Rejecting tunnels: Request overload" msgstr "拒绝共享:请求过多" -#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:548 +#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:550 msgid "Rejecting tunnels: Connection limit" msgstr "拒绝共享:连接受限" -#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:742 +#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:744 msgid "Dropping tunnel requests: High load" msgstr "忽略共享请求:高负载" -#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:751 +#: ../../../router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java:753 msgid "Dropping tunnel requests: Queue time" msgstr "忽略共享请求:队列积压" +#. Automatically generated pseudo-java for xgettext - do not edit +#. Translators may wish to translate a few of these, do not bother to translate all of them!! #: ../java/build/Countries.java:3 msgid "Andorra" msgstr "安道尔" @@ -525,874 +550,874 @@ msgstr "澳大利亚" msgid "Aruba" msgstr "阿鲁巴" -#: ../java/build/Countries.java:19 +#: ../java/build/Countries.java:18 msgid "Azerbaijan" msgstr "阿塞拜疆" -#: ../java/build/Countries.java:20 +#: ../java/build/Countries.java:19 msgid "Bosnia and Herzegovina" msgstr "波黑" -#: ../java/build/Countries.java:21 +#: ../java/build/Countries.java:20 msgid "Barbados" msgstr "巴巴多斯" -#: ../java/build/Countries.java:22 +#: ../java/build/Countries.java:21 msgid "Bangladesh" msgstr "孟加拉" -#: ../java/build/Countries.java:23 +#: ../java/build/Countries.java:22 msgid "Belgium" msgstr "比利时" -#: ../java/build/Countries.java:24 +#: ../java/build/Countries.java:23 msgid "Burkina Faso" msgstr "布基纳法索" -#: ../java/build/Countries.java:25 +#: ../java/build/Countries.java:24 msgid "Bulgaria" msgstr "保加利亚" -#: ../java/build/Countries.java:26 +#: ../java/build/Countries.java:25 msgid "Bahrain" msgstr "巴林" -#: ../java/build/Countries.java:27 +#: ../java/build/Countries.java:26 msgid "Burundi" msgstr "不丹" -#: ../java/build/Countries.java:28 +#: ../java/build/Countries.java:27 msgid "Benin" msgstr "贝宁" -#: ../java/build/Countries.java:29 +#: ../java/build/Countries.java:28 msgid "Bermuda" msgstr "百慕大" -#: ../java/build/Countries.java:30 +#: ../java/build/Countries.java:29 msgid "Brunei Darussalam" msgstr "文莱达鲁萨兰" -#: ../java/build/Countries.java:31 +#: ../java/build/Countries.java:30 msgid "Bolivia" msgstr "玻利维亚" -#: ../java/build/Countries.java:32 +#: ../java/build/Countries.java:31 msgid "Brazil" msgstr "巴西" -#: ../java/build/Countries.java:33 +#: ../java/build/Countries.java:32 msgid "Bahamas" msgstr "巴哈马" -#: ../java/build/Countries.java:34 +#: ../java/build/Countries.java:33 msgid "Bhutan" msgstr "不丹" -#: ../java/build/Countries.java:35 +#: ../java/build/Countries.java:34 msgid "Bouvet Island" msgstr "布韦群岛" -#: ../java/build/Countries.java:36 +#: ../java/build/Countries.java:35 msgid "Botswana" msgstr "伯兹瓦纳" -#: ../java/build/Countries.java:37 +#: ../java/build/Countries.java:36 msgid "Belarus" msgstr "白俄罗斯" -#: ../java/build/Countries.java:38 +#: ../java/build/Countries.java:37 msgid "Belize" msgstr "伯利兹" -#: ../java/build/Countries.java:39 +#: ../java/build/Countries.java:38 msgid "Canada" msgstr "加拿大" -#: ../java/build/Countries.java:40 +#: ../java/build/Countries.java:39 msgid "The Democratic Republic of the Congo" msgstr "刚果" -#: ../java/build/Countries.java:41 +#: ../java/build/Countries.java:40 msgid "Central African Republic" msgstr "中非" -#: ../java/build/Countries.java:42 +#: ../java/build/Countries.java:41 msgid "Congo" msgstr "Congo" -#: ../java/build/Countries.java:43 +#: ../java/build/Countries.java:42 msgid "Switzerland" msgstr "瑞士" -#: ../java/build/Countries.java:44 +#: ../java/build/Countries.java:43 msgid "Cote D'Ivoire" msgstr "象牙海岸" -#: ../java/build/Countries.java:45 +#: ../java/build/Countries.java:44 msgid "Cook Islands" msgstr "库克群岛" -#: ../java/build/Countries.java:46 +#: ../java/build/Countries.java:45 msgid "Chile" msgstr "智利" -#: ../java/build/Countries.java:47 +#: ../java/build/Countries.java:46 msgid "Cameroon" msgstr "喀麦隆" -#: ../java/build/Countries.java:48 +#: ../java/build/Countries.java:47 msgid "China" msgstr "中国" -#: ../java/build/Countries.java:49 +#: ../java/build/Countries.java:48 msgid "Colombia" msgstr "哥伦比亚" -#: ../java/build/Countries.java:50 +#: ../java/build/Countries.java:49 msgid "Costa Rica" msgstr "哥斯达黎加" -#: ../java/build/Countries.java:51 +#: ../java/build/Countries.java:50 msgid "Serbia and Montenegro" msgstr "塞尔维亚与黑山" -#: ../java/build/Countries.java:52 +#: ../java/build/Countries.java:51 msgid "Cuba" msgstr "古巴" -#: ../java/build/Countries.java:53 +#: ../java/build/Countries.java:52 msgid "Cape Verde" msgstr "佛得角" -#: ../java/build/Countries.java:54 +#: ../java/build/Countries.java:53 msgid "Cyprus" msgstr "塞浦路斯" -#: ../java/build/Countries.java:55 +#: ../java/build/Countries.java:54 msgid "Czech Republic" msgstr "捷克" -#: ../java/build/Countries.java:56 +#: ../java/build/Countries.java:55 msgid "Germany" msgstr "德国" -#: ../java/build/Countries.java:57 +#: ../java/build/Countries.java:56 msgid "Djibouti" msgstr "吉布提" -#: ../java/build/Countries.java:58 +#: ../java/build/Countries.java:57 msgid "Denmark" msgstr "丹麦" -#: ../java/build/Countries.java:59 +#: ../java/build/Countries.java:58 msgid "Dominica" msgstr "多米尼" -#: ../java/build/Countries.java:60 +#: ../java/build/Countries.java:59 msgid "Dominican Republic" msgstr "多米尼加联邦" -#: ../java/build/Countries.java:61 +#: ../java/build/Countries.java:60 msgid "Algeria" msgstr "阿尔及利亚" -#: ../java/build/Countries.java:62 +#: ../java/build/Countries.java:61 msgid "Ecuador" msgstr "厄瓜多尔" -#: ../java/build/Countries.java:63 +#: ../java/build/Countries.java:62 msgid "Estonia" msgstr "爱沙尼亚" -#: ../java/build/Countries.java:64 +#: ../java/build/Countries.java:63 msgid "Egypt" msgstr "埃及" -#: ../java/build/Countries.java:65 +#: ../java/build/Countries.java:64 msgid "Eritrea" msgstr "厄立特里亚" -#: ../java/build/Countries.java:66 +#: ../java/build/Countries.java:65 msgid "Spain" msgstr "西班牙" -#: ../java/build/Countries.java:67 +#: ../java/build/Countries.java:66 msgid "Ethiopia" msgstr "埃塞俄比亚" -#: ../java/build/Countries.java:68 +#: ../java/build/Countries.java:67 msgid "Finland" msgstr "芬兰" -#: ../java/build/Countries.java:69 +#: ../java/build/Countries.java:68 msgid "Fiji" msgstr "斐济" -#: ../java/build/Countries.java:70 +#: ../java/build/Countries.java:69 msgid "Falkland Islands (Malvinas)" msgstr "福克兰群岛" -#: ../java/build/Countries.java:71 +#: ../java/build/Countries.java:70 msgid "Federated States of Micronesia" msgstr "密克罗尼西亚" -#: ../java/build/Countries.java:72 +#: ../java/build/Countries.java:71 msgid "Faroe Islands" msgstr "法罗群岛" -#: ../java/build/Countries.java:73 +#: ../java/build/Countries.java:72 msgid "France" msgstr "法国" -#: ../java/build/Countries.java:74 +#: ../java/build/Countries.java:73 msgid "Gabon" msgstr "加蓬" -#: ../java/build/Countries.java:75 +#: ../java/build/Countries.java:74 msgid "United Kingdom" msgstr "英国" -#: ../java/build/Countries.java:76 +#: ../java/build/Countries.java:75 msgid "Grenada" msgstr "格林纳达" -#: ../java/build/Countries.java:77 +#: ../java/build/Countries.java:76 msgid "Georgia" msgstr "格鲁吉亚" -#: ../java/build/Countries.java:78 +#: ../java/build/Countries.java:77 msgid "French Guiana" msgstr "圭亚那" -#: ../java/build/Countries.java:79 +#: ../java/build/Countries.java:78 msgid "Ghana" msgstr "加纳" -#: ../java/build/Countries.java:80 +#: ../java/build/Countries.java:79 msgid "Gibraltar" msgstr "直布罗陀" -#: ../java/build/Countries.java:81 +#: ../java/build/Countries.java:80 msgid "Greenland" msgstr "格陵兰群岛" -#: ../java/build/Countries.java:82 +#: ../java/build/Countries.java:81 msgid "Gambia" msgstr "冈比亚" -#: ../java/build/Countries.java:83 +#: ../java/build/Countries.java:82 msgid "Guinea" msgstr "几内亚" -#: ../java/build/Countries.java:84 +#: ../java/build/Countries.java:83 msgid "Guadeloupe" msgstr "瓜德罗普岛" -#: ../java/build/Countries.java:85 +#: ../java/build/Countries.java:84 msgid "Equatorial Guinea" msgstr "赤道几内亚" -#: ../java/build/Countries.java:86 +#: ../java/build/Countries.java:85 msgid "Greece" msgstr "希腊" -#: ../java/build/Countries.java:87 +#: ../java/build/Countries.java:86 msgid "South Georgia and the South Sandwich Islands" msgstr "南乔治亚岛和南桑德韦奇岛" -#: ../java/build/Countries.java:88 +#: ../java/build/Countries.java:87 msgid "Guatemala" msgstr "危地马拉" -#: ../java/build/Countries.java:89 +#: ../java/build/Countries.java:88 msgid "Guam" msgstr "关岛" -#: ../java/build/Countries.java:90 +#: ../java/build/Countries.java:89 msgid "Guinea-Bissau" msgstr "几内亚比绍" -#: ../java/build/Countries.java:91 +#: ../java/build/Countries.java:90 msgid "Guyana" msgstr "圭亚那" -#: ../java/build/Countries.java:92 +#: ../java/build/Countries.java:91 msgid "Hong Kong" msgstr "香港" -#: ../java/build/Countries.java:93 +#: ../java/build/Countries.java:92 msgid "Honduras" msgstr "洪都拉斯" -#: ../java/build/Countries.java:94 +#: ../java/build/Countries.java:93 msgid "Croatia" msgstr "克罗蒂亚" -#: ../java/build/Countries.java:95 +#: ../java/build/Countries.java:94 msgid "Haiti" msgstr "海地" -#: ../java/build/Countries.java:96 +#: ../java/build/Countries.java:95 msgid "Hungary" msgstr "匈牙利" -#: ../java/build/Countries.java:97 +#: ../java/build/Countries.java:96 msgid "Indonesia" msgstr "印尼" -#: ../java/build/Countries.java:98 +#: ../java/build/Countries.java:97 msgid "Ireland" msgstr "爱尔兰" -#: ../java/build/Countries.java:99 +#: ../java/build/Countries.java:98 msgid "Israel" msgstr "以色列" -#: ../java/build/Countries.java:101 +#: ../java/build/Countries.java:99 msgid "India" msgstr "印度" -#: ../java/build/Countries.java:102 +#: ../java/build/Countries.java:100 msgid "British Indian Ocean Territory" msgstr "英属印度洋地区" -#: ../java/build/Countries.java:103 +#: ../java/build/Countries.java:101 msgid "Iraq" msgstr "伊拉克" -#: ../java/build/Countries.java:104 +#: ../java/build/Countries.java:102 msgid "Islamic Republic of Iran" msgstr "伊朗" -#: ../java/build/Countries.java:105 +#: ../java/build/Countries.java:103 msgid "Iceland" msgstr "冰岛" -#: ../java/build/Countries.java:106 +#: ../java/build/Countries.java:104 msgid "Italy" msgstr "意大利" -#: ../java/build/Countries.java:108 +#: ../java/build/Countries.java:105 msgid "Jamaica" msgstr "牙买加" -#: ../java/build/Countries.java:109 +#: ../java/build/Countries.java:106 msgid "Jordan" msgstr "约旦" -#: ../java/build/Countries.java:110 +#: ../java/build/Countries.java:107 msgid "Japan" msgstr "日本" -#: ../java/build/Countries.java:111 +#: ../java/build/Countries.java:108 msgid "Kenya" msgstr "肯尼亚" -#: ../java/build/Countries.java:112 +#: ../java/build/Countries.java:109 msgid "Kyrgyzstan" msgstr "吉尔吉斯斯坦" -#: ../java/build/Countries.java:113 +#: ../java/build/Countries.java:110 msgid "Cambodia" msgstr "柬埔塞" -#: ../java/build/Countries.java:114 +#: ../java/build/Countries.java:111 msgid "Kiribati" msgstr "基里巴斯" -#: ../java/build/Countries.java:115 +#: ../java/build/Countries.java:112 msgid "Comoros" msgstr "科摩罗" -#: ../java/build/Countries.java:116 +#: ../java/build/Countries.java:113 msgid "Saint Kitts and Nevis" msgstr "圣克里斯多福与尼维斯" -#: ../java/build/Countries.java:117 +#: ../java/build/Countries.java:114 msgid "Republic of Korea" msgstr "韩国" -#: ../java/build/Countries.java:118 +#: ../java/build/Countries.java:115 msgid "Kuwait" msgstr "科威特" -#: ../java/build/Countries.java:119 +#: ../java/build/Countries.java:116 msgid "Cayman Islands" msgstr "开曼群岛" -#: ../java/build/Countries.java:120 +#: ../java/build/Countries.java:117 msgid "Kazakhstan" msgstr "哈萨克斯坦" -#: ../java/build/Countries.java:121 +#: ../java/build/Countries.java:118 msgid "Lao People's Democratic Republic" msgstr "老挝" -#: ../java/build/Countries.java:122 +#: ../java/build/Countries.java:119 msgid "Lebanon" msgstr "黎巴嫩" -#: ../java/build/Countries.java:123 +#: ../java/build/Countries.java:120 msgid "Saint Lucia" msgstr "圣露西亚岛" -#: ../java/build/Countries.java:124 +#: ../java/build/Countries.java:121 msgid "Liechtenstein" msgstr "列支敦士登" -#: ../java/build/Countries.java:125 +#: ../java/build/Countries.java:122 msgid "Sri Lanka" msgstr "斯里兰卡" -#: ../java/build/Countries.java:126 +#: ../java/build/Countries.java:123 msgid "Liberia" msgstr "利比里亚" -#: ../java/build/Countries.java:127 +#: ../java/build/Countries.java:124 msgid "Lesotho" msgstr "莱索托" -#: ../java/build/Countries.java:128 +#: ../java/build/Countries.java:125 msgid "Lithuania" msgstr "立陶宛" -#: ../java/build/Countries.java:129 +#: ../java/build/Countries.java:126 msgid "Luxembourg" msgstr "卢森堡" -#: ../java/build/Countries.java:130 +#: ../java/build/Countries.java:127 msgid "Latvia" msgstr "拉脱维亚" -#: ../java/build/Countries.java:131 +#: ../java/build/Countries.java:128 msgid "Libyan Arab Jamahiriya" msgstr "利比亚" -#: ../java/build/Countries.java:132 +#: ../java/build/Countries.java:129 msgid "Morocco" msgstr "摩洛哥" -#: ../java/build/Countries.java:133 +#: ../java/build/Countries.java:130 msgid "Monaco" msgstr "摩纳哥" -#: ../java/build/Countries.java:134 +#: ../java/build/Countries.java:131 msgid "Republic of Moldova" msgstr "摩尔多瓦" -#: ../java/build/Countries.java:137 +#: ../java/build/Countries.java:132 msgid "Madagascar" msgstr "马达加斯加" -#: ../java/build/Countries.java:138 +#: ../java/build/Countries.java:133 msgid "Marshall Islands" msgstr "马绍尔群岛" -#: ../java/build/Countries.java:139 +#: ../java/build/Countries.java:134 msgid "The Former Yugoslav Republic of Macedonia" msgstr "前南斯拉夫之马其顿共和国" -#: ../java/build/Countries.java:140 +#: ../java/build/Countries.java:135 msgid "Mali" msgstr "马里" -#: ../java/build/Countries.java:141 +#: ../java/build/Countries.java:136 msgid "Myanmar" msgstr "缅甸" -#: ../java/build/Countries.java:142 +#: ../java/build/Countries.java:137 msgid "Mongolia" msgstr "蒙古" -#: ../java/build/Countries.java:143 +#: ../java/build/Countries.java:138 msgid "Macao" msgstr "澳门" -#: ../java/build/Countries.java:144 +#: ../java/build/Countries.java:139 msgid "Northern Mariana Islands" msgstr "北马里亚纳群岛" -#: ../java/build/Countries.java:145 +#: ../java/build/Countries.java:140 msgid "Martinique" msgstr "马提尼克岛" -#: ../java/build/Countries.java:146 +#: ../java/build/Countries.java:141 msgid "Mauritania" msgstr "毛里塔尼亚" -#: ../java/build/Countries.java:147 +#: ../java/build/Countries.java:142 msgid "Montserrat" msgstr "蒙特塞拉特" -#: ../java/build/Countries.java:148 +#: ../java/build/Countries.java:143 msgid "Malta" msgstr "马尔他" -#: ../java/build/Countries.java:149 +#: ../java/build/Countries.java:144 msgid "Mauritius" msgstr "毛里求斯" -#: ../java/build/Countries.java:150 +#: ../java/build/Countries.java:145 msgid "Maldives" msgstr "马尔代夫" -#: ../java/build/Countries.java:151 +#: ../java/build/Countries.java:146 msgid "Malawi" msgstr "马拉维" -#: ../java/build/Countries.java:152 +#: ../java/build/Countries.java:147 msgid "Mexico" msgstr "墨西哥" -#: ../java/build/Countries.java:153 +#: ../java/build/Countries.java:148 msgid "Malaysia" msgstr "马来西亚" -#: ../java/build/Countries.java:154 +#: ../java/build/Countries.java:149 msgid "Mozambique" msgstr "莫桑比克" -#: ../java/build/Countries.java:155 +#: ../java/build/Countries.java:150 msgid "Namibia" msgstr "纳米比亚" -#: ../java/build/Countries.java:156 +#: ../java/build/Countries.java:151 msgid "New Caledonia" msgstr "新喀里多尼亚" -#: ../java/build/Countries.java:157 +#: ../java/build/Countries.java:152 msgid "Niger" msgstr "尼日尔" -#: ../java/build/Countries.java:158 +#: ../java/build/Countries.java:153 msgid "Norfolk Island" msgstr "尼加拉瓜" -#: ../java/build/Countries.java:159 +#: ../java/build/Countries.java:154 msgid "Nigeria" msgstr "尼日利亚" -#: ../java/build/Countries.java:160 +#: ../java/build/Countries.java:155 msgid "Nicaragua" msgstr "尼加拉瓜" -#: ../java/build/Countries.java:161 +#: ../java/build/Countries.java:156 msgid "Netherlands" msgstr "荷兰" -#: ../java/build/Countries.java:162 +#: ../java/build/Countries.java:157 msgid "Norway" msgstr "挪威" -#: ../java/build/Countries.java:163 +#: ../java/build/Countries.java:158 msgid "Nepal" msgstr "尼泊尔" -#: ../java/build/Countries.java:164 +#: ../java/build/Countries.java:159 msgid "Nauru" msgstr "瑙鲁" -#: ../java/build/Countries.java:165 +#: ../java/build/Countries.java:160 msgid "Niue" msgstr "纽埃岛" -#: ../java/build/Countries.java:166 +#: ../java/build/Countries.java:161 msgid "New Zealand" msgstr "新西兰" -#: ../java/build/Countries.java:167 +#: ../java/build/Countries.java:162 msgid "Oman" msgstr "阿曼" -#: ../java/build/Countries.java:168 +#: ../java/build/Countries.java:163 msgid "Panama" msgstr "巴拿马" -#: ../java/build/Countries.java:169 +#: ../java/build/Countries.java:164 msgid "Peru" msgstr "秘鲁" -#: ../java/build/Countries.java:170 +#: ../java/build/Countries.java:165 msgid "French Polynesia" msgstr "玻利尼西亚" -#: ../java/build/Countries.java:171 +#: ../java/build/Countries.java:166 msgid "Papua New Guinea" msgstr "巴布亚新几内亚" -#: ../java/build/Countries.java:172 +#: ../java/build/Countries.java:167 msgid "Philippines" msgstr "菲律宾" -#: ../java/build/Countries.java:173 +#: ../java/build/Countries.java:168 msgid "Pakistan" msgstr "巴基斯坦" -#: ../java/build/Countries.java:174 +#: ../java/build/Countries.java:169 msgid "Poland" msgstr "波兰" -#: ../java/build/Countries.java:175 +#: ../java/build/Countries.java:170 msgid "Saint Pierre and Miquelon" msgstr "圣皮埃尔岛和密克隆" -#: ../java/build/Countries.java:176 +#: ../java/build/Countries.java:171 msgid "Puerto Rico" msgstr "波多黎各" -#: ../java/build/Countries.java:177 +#: ../java/build/Countries.java:172 msgid "Palestinian Territory" msgstr "巴勒斯坦地区" -#: ../java/build/Countries.java:178 +#: ../java/build/Countries.java:173 msgid "Portugal" msgstr "葡萄牙" -#: ../java/build/Countries.java:179 +#: ../java/build/Countries.java:174 msgid "Palau" msgstr "帕劳" -#: ../java/build/Countries.java:180 +#: ../java/build/Countries.java:175 msgid "Paraguay" msgstr "巴拉圭" -#: ../java/build/Countries.java:181 +#: ../java/build/Countries.java:176 msgid "Qatar" msgstr "卡塔尔" -#: ../java/build/Countries.java:182 +#: ../java/build/Countries.java:177 msgid "Reunion" msgstr "留尼汪岛" -#: ../java/build/Countries.java:183 +#: ../java/build/Countries.java:178 msgid "Romania" msgstr "罗马尼亚" -#: ../java/build/Countries.java:184 +#: ../java/build/Countries.java:179 msgid "Serbia" msgstr "塞尔维亚" -#: ../java/build/Countries.java:185 +#: ../java/build/Countries.java:180 msgid "Russian Federation" msgstr "俄联邦" -#: ../java/build/Countries.java:186 +#: ../java/build/Countries.java:181 msgid "Rwanda" msgstr "卢旺达" -#: ../java/build/Countries.java:187 +#: ../java/build/Countries.java:182 msgid "Saudi Arabia" msgstr "沙特阿拉伯" -#: ../java/build/Countries.java:188 +#: ../java/build/Countries.java:183 msgid "Solomon Islands" msgstr "所罗门群岛" -#: ../java/build/Countries.java:189 +#: ../java/build/Countries.java:184 msgid "Seychelles" msgstr "塞舌尔" -#: ../java/build/Countries.java:190 +#: ../java/build/Countries.java:185 msgid "Sudan" msgstr "苏丹" -#: ../java/build/Countries.java:191 +#: ../java/build/Countries.java:186 msgid "Sweden" msgstr "瑞典" -#: ../java/build/Countries.java:192 +#: ../java/build/Countries.java:187 msgid "Singapore" msgstr "新加坡" -#: ../java/build/Countries.java:193 +#: ../java/build/Countries.java:188 msgid "Slovenia" msgstr "斯洛文尼亚" -#: ../java/build/Countries.java:194 +#: ../java/build/Countries.java:189 msgid "Slovakia" msgstr "斯洛伐克" -#: ../java/build/Countries.java:195 +#: ../java/build/Countries.java:190 msgid "Sierra Leone" msgstr "塞拉利昂" -#: ../java/build/Countries.java:196 +#: ../java/build/Countries.java:191 msgid "San Marino" msgstr "圣马力诺" -#: ../java/build/Countries.java:197 +#: ../java/build/Countries.java:192 msgid "Senegal" msgstr "塞内加尔" -#: ../java/build/Countries.java:198 +#: ../java/build/Countries.java:193 msgid "Somalia" msgstr "索马里" -#: ../java/build/Countries.java:199 +#: ../java/build/Countries.java:194 msgid "Suriname" msgstr "苏里南" -#: ../java/build/Countries.java:200 +#: ../java/build/Countries.java:195 msgid "Sao Tome and Principe" msgstr "圣多美与普林西比共和国" -#: ../java/build/Countries.java:201 +#: ../java/build/Countries.java:196 msgid "El Salvador" msgstr "萨尔瓦多" -#: ../java/build/Countries.java:202 +#: ../java/build/Countries.java:197 msgid "Syrian Arab Republic" msgstr "叙利亚" -#: ../java/build/Countries.java:203 +#: ../java/build/Countries.java:198 msgid "Swaziland" msgstr "斯威士兰" -#: ../java/build/Countries.java:204 +#: ../java/build/Countries.java:199 msgid "Turks and Caicos Islands" msgstr "特克斯和凯科斯群岛" -#: ../java/build/Countries.java:205 +#: ../java/build/Countries.java:200 msgid "Chad" msgstr "乍得" -#: ../java/build/Countries.java:206 +#: ../java/build/Countries.java:201 msgid "French Southern Territories" msgstr "法属南半球领地" -#: ../java/build/Countries.java:207 +#: ../java/build/Countries.java:202 msgid "Togo" msgstr "多哥" -#: ../java/build/Countries.java:208 +#: ../java/build/Countries.java:203 msgid "Thailand" msgstr "泰国" -#: ../java/build/Countries.java:209 +#: ../java/build/Countries.java:204 msgid "Tajikistan" msgstr "塔吉克斯坦" -#: ../java/build/Countries.java:210 +#: ../java/build/Countries.java:205 msgid "Tokelau" msgstr "托克劳群岛" -#: ../java/build/Countries.java:211 +#: ../java/build/Countries.java:206 msgid "Timor-Leste" msgstr "东帝汶" -#: ../java/build/Countries.java:212 +#: ../java/build/Countries.java:207 msgid "Turkmenistan" msgstr "土库曼斯坦" -#: ../java/build/Countries.java:213 +#: ../java/build/Countries.java:208 msgid "Tunisia" msgstr "突尼斯" -#: ../java/build/Countries.java:214 +#: ../java/build/Countries.java:209 msgid "Tonga" msgstr "汤加" -#: ../java/build/Countries.java:215 +#: ../java/build/Countries.java:210 msgid "Turkey" msgstr "土耳其" -#: ../java/build/Countries.java:216 +#: ../java/build/Countries.java:211 msgid "Trinidad and Tobago" msgstr "特立尼达和多巴哥" -#: ../java/build/Countries.java:217 +#: ../java/build/Countries.java:212 msgid "Tuvalu" msgstr "图瓦鲁" -#: ../java/build/Countries.java:218 +#: ../java/build/Countries.java:213 msgid "Taiwan" msgstr "台湾" -#: ../java/build/Countries.java:219 +#: ../java/build/Countries.java:214 msgid "United Republic of Tanzania" msgstr "坦桑尼亚" -#: ../java/build/Countries.java:220 +#: ../java/build/Countries.java:215 msgid "Ukraine" msgstr "乌克兰" -#: ../java/build/Countries.java:221 +#: ../java/build/Countries.java:216 msgid "Uganda" msgstr "乌干达" -#: ../java/build/Countries.java:222 +#: ../java/build/Countries.java:217 msgid "United States Minor Outlying Islands" msgstr "美国本土外小岛屿" -#: ../java/build/Countries.java:223 +#: ../java/build/Countries.java:218 msgid "United States" msgstr "美国" -#: ../java/build/Countries.java:224 +#: ../java/build/Countries.java:219 msgid "Uruguay" msgstr "乌拉圭" -#: ../java/build/Countries.java:225 +#: ../java/build/Countries.java:220 msgid "Uzbekistan" msgstr "乌兹别克斯坦" -#: ../java/build/Countries.java:226 +#: ../java/build/Countries.java:221 msgid "Holy See (Vatican City State)" msgstr "梵地冈" -#: ../java/build/Countries.java:227 +#: ../java/build/Countries.java:222 msgid "Saint Vincent and the Grenadines" msgstr "圣文森特和格林纳丁斯" -#: ../java/build/Countries.java:228 +#: ../java/build/Countries.java:223 msgid "Venezuela" msgstr "委内瑞拉" -#: ../java/build/Countries.java:229 -#: ../java/build/Countries.java:230 +#: ../java/build/Countries.java:224 +#: ../java/build/Countries.java:225 msgid "Virgin Islands" msgstr "维京群岛" -#: ../java/build/Countries.java:231 +#: ../java/build/Countries.java:226 msgid "Viet Nam" msgstr "越南" -#: ../java/build/Countries.java:232 +#: ../java/build/Countries.java:227 msgid "Vanuatu" msgstr "瓦努阿图" -#: ../java/build/Countries.java:233 +#: ../java/build/Countries.java:228 msgid "Wallis and Futuna" msgstr "瓦利斯群岛和富图纳群岛" -#: ../java/build/Countries.java:234 +#: ../java/build/Countries.java:229 msgid "Samoa" msgstr "东萨摩亚" -#: ../java/build/Countries.java:235 +#: ../java/build/Countries.java:230 msgid "Yemen" msgstr "也门" -#: ../java/build/Countries.java:236 +#: ../java/build/Countries.java:231 msgid "Mayotte" msgstr "马约特" -#: ../java/build/Countries.java:237 +#: ../java/build/Countries.java:232 msgid "South Africa" msgstr "南非" -#: ../java/build/Countries.java:238 +#: ../java/build/Countries.java:233 msgid "Zambia" msgstr "赞比亚" -#: ../java/build/Countries.java:239 +#: ../java/build/Countries.java:234 msgid "Zimbabwe" msgstr "津巴布韦" -#: ../java/src/net/i2p/router/web/CSSHelper.java:54 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:30 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:32 +#: ../java/src/net/i2p/router/web/CSSHelper.java:57 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:34 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:36 #: ../java/strings/Strings.java:29 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:234 msgid "I2P Router Console" @@ -1403,12 +1428,12 @@ msgid "Error updating the configuration - please see the error logs" msgstr "配置更新出错 - 请查看错误日志" #: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:69 -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:263 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:266 msgid "Configuration saved successfully" msgstr "设置保存成功" #: ../java/src/net/i2p/router/web/ConfigAdvancedHandler.java:71 -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:265 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:268 msgid "Error saving the configuration (applied but not saved) - please see the error logs" msgstr "配置保存出错(已应用但未保存) - 参见错误日志" @@ -1452,6 +1477,7 @@ msgstr "插件 {0} 已停用" msgid "Error stopping plugin {0}" msgstr "停用插件 {0} 时发生错误" +#. label (IE) #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:119 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:189 msgid "Start" @@ -1479,8 +1505,8 @@ msgstr "客户程序索引无效" #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:207 #: ../java/src/net/i2p/router/web/ConfigClientsHandler.java:218 #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:38 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:374 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:389 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:387 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:379 msgid "Client" msgstr "客户" @@ -1588,8 +1614,8 @@ msgid "Plugin" msgstr "插件" #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:95 -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:191 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:165 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:268 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:180 msgid "Version" msgstr "版本" @@ -1622,15 +1648,15 @@ msgid "Stop" msgstr "停止" #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:196 -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:58 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:81 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configupdate_jsp.java:312 msgid "Check for updates" msgstr "检查更新" #: ../java/src/net/i2p/router/web/ConfigClientsHelper.java:197 #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:213 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:220 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:230 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:237 msgid "Update" msgstr "更新" @@ -1720,6 +1746,7 @@ msgid "WARN" msgstr "" #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:199 msgid "Network" msgstr "网络" @@ -1728,7 +1755,8 @@ msgid "Service" msgstr "服务" #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:18 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:90 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:100 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:376 #: ../java/strings/Strings.java:72 msgid "Tunnels" msgstr "隧道" @@ -1751,15 +1779,15 @@ msgid "Logging" msgstr "日志" #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:96 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:238 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:106 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:255 #: ../java/strings/Strings.java:67 msgid "Peers" msgstr "节点" #: ../java/src/net/i2p/router/web/ConfigNavHelper.java:19 -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:298 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:132 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:382 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:142 msgid "Stats" msgstr "统计" @@ -1768,7 +1796,7 @@ msgid "Advanced" msgstr "高级" #: ../java/src/net/i2p/router/web/ConfigNetHandler.java:48 -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:261 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:264 #: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:35 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:359 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:515 @@ -1783,79 +1811,81 @@ msgstr "保存修改" msgid "Rechecking router reachability..." msgstr "正在重检查路由连通性..." -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:150 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:153 msgid "Updating IP address" msgstr "正在更新IP地址" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:168 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:171 msgid "Disabling TCP completely" msgstr "正在彻底禁用TCP" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:172 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:175 msgid "Updating inbound TCP address to" msgstr "正在更新进站TCP地址至" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:176 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:179 msgid "Disabling inbound TCP" msgstr "正在禁用入站TCP" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:178 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:181 msgid "Updating inbound TCP address to auto" msgstr "正在更新入站TCP地址至" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:187 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:190 msgid "Updating inbound TCP port to" msgstr "正在更新入站TCP端口至" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:190 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:193 msgid "Updating inbound TCP port to auto" msgstr "正在更新入站TCP端口至" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:202 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205 msgid "Updating UDP port from" msgstr "正在更新UDP端口由" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:202 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:205 msgid "to" msgstr "至" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:218 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:221 msgid "Gracefully restarting into Hidden Router Mode" msgstr "正在平滑重启路由进入隐身模式" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:220 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:223 msgid "Gracefully restarting to exit Hidden Router Mode" msgstr "正在平滑重启路由退出隐身模式" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:229 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:232 msgid "Enabling UPnP, restart required to take effect" msgstr "正在启用UPnP,程序重启后生效" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:231 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:234 msgid "Disabling UPnP, restart required to take effect" msgstr "正在禁用UPnP,程序重启后生效" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:239 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:242 msgid "Enabling laptop mode" msgstr "正在启用笔记本模式" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:241 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:244 msgid "Disabling laptop mode" msgstr "正在禁用笔记本模式" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:247 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:250 msgid "Requiring SSU introducers" msgstr "正在获取SSU中介" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:288 +#. There's a few changes that don't really require restart (e.g. enabling inbound TCP) +#. But it would be hard to get right, so just do a restart. +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:291 msgid "Gracefully restarting I2P to change published router address" msgstr "正在平滑重启路由重新发布路由地址" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:311 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:314 msgid "Updating bandwidth share percentage" msgstr "正在更新共享带宽比例" -#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:394 +#: ../java/src/net/i2p/router/web/ConfigNetHandler.java:397 msgid "Updated bandwidth limits" msgstr "带宽限制更新完毕" @@ -1869,7 +1899,12 @@ msgstr "未知" #: ../java/src/net/i2p/router/web/ConfigNetHelper.java:169 msgid "bits per second" -msgstr "比特/秒" +msgstr "Bit/s" + +#: ../java/src/net/i2p/router/web/ConfigNetHelper.java:170 +#, java-format +msgid "or {0} bytes per month maximum" +msgstr "或最多 {0} Byte/月(假设始终 7 天 x 24小时开机)" #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:20 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configpeer_jsp.java:314 @@ -1917,12 +1952,15 @@ msgstr "速度值无效" msgid "Bad capacity value" msgstr "容量值无效" +#. Normal browsers send value, IE sends button label #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:32 #: ../java/src/net/i2p/router/web/ConfigServiceHandler.java:57 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:292 msgid "Shutdown immediately" msgstr "立刻关闭" +#. ctx.router().shutdown(Router.EXIT_HARD); // never returns +#. give the UI time to respond #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:36 msgid "Cancel shutdown" msgstr "取消关闭" @@ -1935,6 +1973,8 @@ msgstr "取消重启" msgid "Restart immediately" msgstr "立刻重启" +#. ctx.router().shutdown(Router.EXIT_HARD_RESTART); // never returns +#. give the UI time to respond #: ../java/src/net/i2p/router/web/ConfigRestartBean.java:43 msgid "Restart" msgstr "重 启" @@ -2106,6 +2146,8 @@ msgstr "统计数据过滤器及地址更新失败" msgid "Graph list updated, may take up to 60s to be reflected here and on the Graphs Page" msgstr "曲线图列表已更新,更新后的内容可能需要最多 60s 的时间才能在这里及 统计图表页面中反映出来。" +#. the count isn't really correct anyway, since we don't check for actual changes +#. addFormNotice("Updated settings for " + updated + " pools."); #: ../java/src/net/i2p/router/web/ConfigTunnelsHandler.java:137 msgid "Updated settings for all pools." msgstr "隧道池更新完毕" @@ -2119,21 +2161,18 @@ msgstr "探索隧道设置保存成功。" msgid "Error saving the configuration (applied but not saved) - please see the error logs." msgstr "配置保存出错(已应用但未保存) - 参见错误日志" -#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:11 -msgid "hop" -msgstr "跳点" - -#: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:12 -msgid "tunnel" -msgstr "隧道" - +#. * dummies for translation #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:14 -msgid "hops" -msgstr "跳点" +#, java-format +msgid "1 hop" +msgid_plural "{0} hops" +msgstr[0] "{0} 跳点" #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:15 -msgid "tunnels" -msgstr "隧道" +#, java-format +msgid "1 tunnel" +msgid_plural "{0} tunnels" +msgstr[0] "{0} 隧道" #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:26 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41 @@ -2161,18 +2200,23 @@ msgstr "性能警告 - 设置中包括长隧道" msgid "PERFORMANCE WARNING - Settings include high tunnel quantities." msgstr "性能警告 - 设置中包括大量隧道" +#. buf.append("\n"); +#. tunnel depth #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:87 msgid "Length" msgstr "长度" +#. tunnel depth variance #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:104 msgid "Randomization" msgstr "随机" +#. tunnel quantity #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:128 msgid "Quantity" msgstr "数量" +#. tunnel backup quantity #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:145 msgid "Backup quantity" msgstr "备用数量" @@ -2221,52 +2265,52 @@ msgstr "俄语" msgid "Swedish" msgstr "瑞士语" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:65 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:88 msgid "Update available, attempting to download now" msgstr "有更新可用,正在尝试下载" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:67 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:90 msgid "Update available, click button on left to download" msgstr "有更新可用,点左侧按钮下载" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:73 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:96 msgid "No update available" msgstr "无更新" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:81 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:104 msgid "Updating news URL to" msgstr "正在更新新闻链接至" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:89 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:112 msgid "Updating proxy host to" msgstr "正在更新代理主机至" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:97 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:120 msgid "Updating proxy port to" msgstr "正在更新代理端口至" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:110 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:133 msgid "Updating refresh frequency to" msgstr "正在更新更新频率为" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:117 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:140 msgid "Updating update policy to" msgstr "正在更新更新策略为" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:126 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:149 msgid "Updating update URLs." msgstr "正在更新更新链接至" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:135 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:158 msgid "Updating trusted keys." msgstr "正在更新可信公钥为" -#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:143 +#: ../java/src/net/i2p/router/web/ConfigUpdateHandler.java:166 msgid "Updating unsigned update URL to" msgstr "正在更新未签名软件链接至" #: ../java/src/net/i2p/router/web/ConfigUpdateHelper.java:88 -#: ../java/src/net/i2p/router/web/GraphHelper.java:136 +#: ../java/src/net/i2p/router/web/GraphHelper.java:138 msgid "Never" msgstr "从不" @@ -2290,66 +2334,76 @@ msgstr "仅下载、验证并重启" msgid "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit." msgstr "表单提交无效,可能的原因是您使用了“后退”或“刷新”按钮。请重新提交。" -#: ../java/src/net/i2p/router/web/GraphHelper.java:128 +#: ../java/src/net/i2p/router/web/GraphHelper.java:82 +msgid "Combined bandwidth graph" +msgstr "复合带宽图" + +#. e.g. "statname for 60m" +#: ../java/src/net/i2p/router/web/GraphHelper.java:96 +#, java-format +msgid "{0} for {1}" +msgstr "过去 {1} 统计 {0}" + +#: ../java/src/net/i2p/router/web/GraphHelper.java:130 msgid "Configure Graph Display" msgstr "图表显示设置" -#: ../java/src/net/i2p/router/web/GraphHelper.java:128 +#: ../java/src/net/i2p/router/web/GraphHelper.java:130 msgid "Select Stats" msgstr "选择统计项" -#: ../java/src/net/i2p/router/web/GraphHelper.java:130 +#: ../java/src/net/i2p/router/web/GraphHelper.java:132 msgid "Periods" msgstr "周期" -#: ../java/src/net/i2p/router/web/GraphHelper.java:131 +#: ../java/src/net/i2p/router/web/GraphHelper.java:133 msgid "Plot averages" msgstr "事件均值" -#: ../java/src/net/i2p/router/web/GraphHelper.java:132 +#: ../java/src/net/i2p/router/web/GraphHelper.java:134 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:416 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configservice_jsp.java:332 msgid "or" msgstr "或" -#: ../java/src/net/i2p/router/web/GraphHelper.java:132 +#: ../java/src/net/i2p/router/web/GraphHelper.java:134 msgid "plot events" msgstr "事件数量" -#: ../java/src/net/i2p/router/web/GraphHelper.java:133 +#: ../java/src/net/i2p/router/web/GraphHelper.java:135 msgid "Image sizes" msgstr "图像尺寸" -#: ../java/src/net/i2p/router/web/GraphHelper.java:133 +#: ../java/src/net/i2p/router/web/GraphHelper.java:135 msgid "width" msgstr "宽度" -#: ../java/src/net/i2p/router/web/GraphHelper.java:134 +#: ../java/src/net/i2p/router/web/GraphHelper.java:136 msgid "height" msgstr "高度" -#: ../java/src/net/i2p/router/web/GraphHelper.java:134 -#: ../java/src/net/i2p/router/web/GraphHelper.java:135 +#: ../java/src/net/i2p/router/web/GraphHelper.java:136 +#: ../java/src/net/i2p/router/web/GraphHelper.java:137 msgid "pixels" msgstr "像素" -#: ../java/src/net/i2p/router/web/GraphHelper.java:136 +#: ../java/src/net/i2p/router/web/GraphHelper.java:138 msgid "Refresh delay" msgstr "刷新延迟" -#: ../java/src/net/i2p/router/web/GraphHelper.java:136 +#: ../java/src/net/i2p/router/web/GraphHelper.java:138 msgid "hour" msgstr "小时" -#: ../java/src/net/i2p/router/web/GraphHelper.java:136 +#: ../java/src/net/i2p/router/web/GraphHelper.java:138 msgid "minute" msgstr "分钟" -#: ../java/src/net/i2p/router/web/GraphHelper.java:136 +#: ../java/src/net/i2p/router/web/GraphHelper.java:138 msgid "minutes" msgstr "分钟" -#: ../java/src/net/i2p/router/web/GraphHelper.java:137 +#: ../java/src/net/i2p/router/web/GraphHelper.java:139 msgid "Redraw" msgstr "重绘" @@ -2358,181 +2412,182 @@ msgstr "重绘" msgid "File location" msgstr "文件位置" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:60 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:77 msgid "Network Database RouterInfo Lookup" msgstr "网络数据库 RouterInfo 检索" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:75 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:92 #: ../java/strings/Strings.java:68 msgid "Router" msgstr "路由器" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:75 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:92 msgid "not found in network database" msgstr "在网络数据库概况未找到" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:83 -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:104 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:212 msgid "Network Database Contents" msgstr "网络数据库内容" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:84 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:105 msgid "View RouterInfo" msgstr "浏览 RouterInfo" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:85 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:106 msgid "LeaseSets" msgstr "赁集" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:93 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:128 msgid "LeaseSet" msgstr "赁集" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:95 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:130 msgid "Local" msgstr "本地" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:97 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:132 msgid "Unpublished" msgstr "未发布" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:98 -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:105 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:133 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:140 msgid "Destination" msgstr "目标" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:115 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:150 #, java-format msgid "Expires in {0}" msgstr "{0} 后过期" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:117 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:152 #, java-format msgid "Expired {0} ago" msgstr "{0}前过期" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:119 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:164 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156 msgid "Gateway" msgstr "网关" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:119 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:164 msgid "Lease" msgstr "租赁" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:121 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:166 msgid "Tunnel" msgstr "隧道" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:135 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:212 msgid "View LeaseSets" msgstr "查看赁集" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:137 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:214 msgid "Not initialized" msgstr "未初始化" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:146 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:223 msgid "Routers" msgstr "路由器" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:148 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:225 msgid "Show all routers" msgstr "显示所有路由器" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:150 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:227 msgid "Show all routers with full stats" msgstr "显示所有路由及统计" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:185 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:262 msgid "Network Database Router Statistics" msgstr "NetDb路由器统计" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:191 -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:205 -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:223 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:268 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:282 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:300 msgid "Count" msgstr "计数" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:205 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:282 msgid "Transports" msgstr "传输" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:223 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:300 msgid "Country" msgstr "国家" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:255 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:339 msgid "Our info" msgstr "我方信息" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:257 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:341 msgid "Peer info for" msgstr "节点信息" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:261 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:345 msgid "Full entry" msgstr "完整项" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:267 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:351 #: ../java/src/net/i2p/router/web/SummaryHelper.java:110 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:600 msgid "Hidden" msgstr "隐身" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:267 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:351 msgid "Updated" msgstr "已更新" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:268 -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:271 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:352 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:355 #, java-format msgid "{0} ago" msgstr "{0}前" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:270 -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:274 +#. shouldnt happen +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:354 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:358 msgid "Published" msgstr "发布" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:276 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:360 msgid "Address(es)" msgstr "地址" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:289 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:373 msgid "cost" -msgstr "" +msgstr "开销" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:313 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397 msgid "Hidden or starting up" msgstr "隐身或正在启动" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:313 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397 msgid "SSU" msgstr "" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:313 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:397 msgid "SSU with introducers" msgstr "使用中介的SSU连接" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:314 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398 msgid "NTCP" msgstr "" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:314 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398 msgid "NTCP and SSU" msgstr "NTCP 与 SSU" -#: ../java/src/net/i2p/router/web/NetDbRenderer.java:314 +#: ../java/src/net/i2p/router/web/NetDbRenderer.java:398 msgid "NTCP and SSU with introducers" msgstr "使用中介的NTCP与SSU连接" -#: ../java/src/net/i2p/router/web/NewsFetcher.java:80 +#: ../java/src/net/i2p/router/web/NewsFetcher.java:82 #, java-format msgid "News last updated {0} ago." msgstr "新闻更新于{0}前" -#: ../java/src/net/i2p/router/web/NewsFetcher.java:86 +#: ../java/src/net/i2p/router/web/NewsFetcher.java:88 #, java-format msgid "News last checked {0} ago." msgstr "最近一次查收新闻在{0}前" @@ -2547,17 +2602,17 @@ msgstr "无法确定版本,插件 {0} 安装失败" msgid "Checking for update of plugin {0}" msgstr "正在为插件 {0} 检查更新" -#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:153 +#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:154 #, java-format msgid "New plugin version {0} is available" msgstr "新插件版本为 {0}" -#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:155 +#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:156 #, java-format msgid "No new version is available for plugin {0}" msgstr "插件 {0} 有更新" -#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:164 +#: ../java/src/net/i2p/router/web/PluginUpdateChecker.java:165 #, java-format msgid "Update check failed for plugin {0}" msgstr "插件 {0} 更新检测失败" @@ -2598,6 +2653,7 @@ msgstr "由 {0} 获取的插件已损坏。" msgid "Plugin from {0} does not contain the required configuration file" msgstr "由 {0} 获取的插件缺少必要的配置文件" +#. updateStatus("" + "Plugin contains an invalid key" + ' ' + pubkey + ' ' + signer + ""); #: ../java/src/net/i2p/router/web/PluginUpdateHandler.java:199 #, java-format msgid "Plugin from {0} contains an invalid key" @@ -2758,7 +2814,7 @@ msgid "Failing" msgstr "失败" #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:131 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:264 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:281 msgid "Integrated" msgstr "已整合节点" @@ -2766,6 +2822,7 @@ msgstr "已整合节点" msgid "Unreachable" msgstr "不可达" +#. hide if < 10% #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:171 msgid "Test Fails" msgstr "测试失败" @@ -2784,7 +2841,7 @@ msgstr "容量" #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:189 msgid "Integ. Value" -msgstr "" +msgstr "整数值" #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:190 msgid "Last Heard About" @@ -2866,6 +2923,7 @@ msgstr "分组" msgid "capabilities in the netDb, not used to determine profiles" msgstr "netDb中的容量,与描述信息无关。" +#. capabilities #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:259 #: ../java/strings/Strings.java:81 msgid "caps" @@ -2921,6 +2979,41 @@ msgstr "封锁直到重启或{0}后" msgid "unban now" msgstr "立即解封" +#. Note to translators: all runtime zh translation disabled in this file, no font available in RRD +#: ../java/src/net/i2p/router/web/StatSummarizer.java:174 +msgid "Bandwidth usage" +msgstr "带宽占用" + +#: ../java/src/net/i2p/router/web/StatSummarizer.java:181 +msgid "Outbound bytes/sec" +msgstr "出站(byte/s)" + +#. def.line(sendName, Color.BLUE, "Outbound bytes/sec", 3); +#: ../java/src/net/i2p/router/web/StatSummarizer.java:183 +msgid "Inbound bytes/sec" +msgstr "入站(byte/s)" + +#: ../java/src/net/i2p/router/web/StatSummarizer.java:186 +#: ../java/src/net/i2p/router/web/StatSummarizer.java:187 +#: ../java/src/net/i2p/router/web/StatSummarizer.java:188 +#: ../java/src/net/i2p/router/web/StatSummarizer.java:189 +msgid "bytes/sec" +msgstr "" + +#: ../java/src/net/i2p/router/web/StatSummarizer.java:186 +msgid "out average" +msgstr "出站平均值" + +#: ../java/src/net/i2p/router/web/StatSummarizer.java:187 +#: ../java/src/net/i2p/router/web/StatSummarizer.java:189 +#: ../java/src/net/i2p/router/web/SummaryRenderer.java:110 +msgid "max" +msgstr "最大" + +#: ../java/src/net/i2p/router/web/StatSummarizer.java:188 +msgid "in average" +msgstr "入站平均值" + #: ../java/src/net/i2p/router/web/StatsGenerator.java:56 msgid "GO" msgstr "" @@ -2965,235 +3058,244 @@ msgstr "总平均值" msgid "peak average" msgstr "峰值平均值" +#. Display the strict average #: ../java/src/net/i2p/router/web/StatsGenerator.java:217 msgid "lifetime average value" msgstr "总平均值" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:44 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:40 +msgid "I2P Router Help & FAQ" +msgstr "I2P 使用帮助与常见问答" + +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:42 +msgid "Help & FAQ" +msgstr "" + +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:54 msgid "Configure startup of clients and webapps (services); manually start dormant services" msgstr "设置客户程序及Web程序(服务)的启动;手动启动重要服务" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:46 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:56 msgid "I2P Services" msgstr "I2P 服务" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:52 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:62 msgid "Manage your I2P hosts file here (I2P domain name resolution)" msgstr "管理您的 I2P HOST表(I2P域名解析表)" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:54 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:64 msgid "Addressbook" msgstr "地址簿" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:58 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:68 msgid "Built-in anonymous BitTorrent Client" msgstr "内建的匿名 BitTorrent 客户端" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:60 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:70 msgid "Torrents" msgstr "匿名BT" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:64 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:74 msgid "Anonymous webmail client" msgstr "匿名Web邮件客户端" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:66 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:76 msgid "Webmail" msgstr "匿名邮箱" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:70 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:80 msgid "Anonymous resident webserver" msgstr "内置的匿名Web服务器" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:72 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:82 msgid "Webserver" msgstr "匿名主页服务器" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:80 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:90 msgid "Configure I2P Router" msgstr "设置 I2P 路由器" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:82 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:92 msgid "I2P Internals" msgstr "I2P内部设置" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:88 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:359 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:98 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:374 msgid "View existing tunnels and tunnel build status" msgstr "查看现存隧道及隧道的建立状态" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:94 -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:236 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:104 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:253 msgid "Show all current peer connections" msgstr "显示当前所有的节点连接" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:100 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:110 msgid "Show recent peer performance profiles" msgstr "显示当前节点的性能记录" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:102 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:112 msgid "Profiles" msgstr "节点信息" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:106 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:116 msgid "Show list of all known I2P routers" msgstr "包含所有已知I2P路由器的列表" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:108 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:118 msgid "NetDB" msgstr "NetDB" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:112 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:122 msgid "Health Report" msgstr "路由器健康状况报告" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:114 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:124 msgid "Logs" msgstr "日志" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:124 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:134 msgid "Graph router performance" msgstr "路由性能统计图" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:126 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:136 msgid "Graphs" msgstr "图表" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:130 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:140 msgid "Textual router performance statistics" msgstr "路由性能文字统计" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:136 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:375 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:146 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:365 msgid "Local Destinations" msgstr "本地服务" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:138 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:148 #: ../java/strings/Strings.java:62 msgid "I2PTunnel" msgstr "I2P隧道" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:149 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:159 msgid "I2P Router Help" msgstr "I2P路由帮助" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:151 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:161 msgid "General" msgstr "功能概况" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:154 -msgid "Your unique I2P router identity is" -msgstr "您I2P路由的唯一身份为" - -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:158 -msgid "never reveal it to anyone" -msgstr "切勿将其告诉任何人" - -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:160 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:166 msgid "Local Identity" msgstr "本地身份" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:172 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:170 +msgid "Your unique I2P router identity is" +msgstr "您I2P路由的唯一身份为" + +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:174 +msgid "never reveal it to anyone" +msgstr "切勿将其告诉任何人" + +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:176 +msgid "show" +msgstr "显示" + +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:187 msgid "How long we've been running for this session" msgstr "本次路由运行时间" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:175 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:190 msgid "Uptime" msgstr "运行时间" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:182 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:197 msgid "Help with configuring your firewall and router for optimal I2P performance" msgstr "如何正确配置防火墙和(物理)路由器优化I2P性能" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:209 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:226 msgid "Download" msgstr "下载" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:218 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:235 msgid "Download Unsigned" msgstr "下载未签名更新" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:244 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:261 msgid "Active" msgstr "活动节点" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:252 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:269 msgid "Fast" msgstr "快速节点" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:258 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:275 msgid "High capacity" msgstr "高容量节点" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:270 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287 msgid "Known" msgstr "已知节点" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:285 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:302 msgid "Help with firewall configuration" msgstr "如何配置防火墙" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:287 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:304 msgid "Check NAT/firewall" msgstr "检查NAT/防火墙" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:307 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:324 msgid "Reseed" msgstr "补种(搜索节点启动网络)" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:324 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:341 msgid "Configure router bandwidth allocation" msgstr "设置路由的带宽分配" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:326 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:343 msgid "Bandwidth in/out" msgstr "带宽(进/出站)" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:343 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:359 msgid "Total" msgstr "总计" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:351 -msgid "Used" -msgstr "已使用" - -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:361 -msgid "Tunnels in/out" -msgstr "通道(上/下行)" - #: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:366 +msgid "Used" +msgstr "已用" + +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:381 msgid "Exploratory" msgstr "探测" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:382 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:393 msgid "Participating" msgstr "共享" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:388 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:399 msgid "Share ratio" msgstr "共享/占用" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:394 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:405 msgid "What's in the router's job queue?" msgstr "查看路由的作业队列" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:396 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:407 msgid "Congestion" msgstr "拥堵" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:401 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:412 msgid "Job lag" msgstr "作业延迟" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:407 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:418 msgid "Message delay" msgstr "消息延迟" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:413 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:424 msgid "Tunnel lag" msgstr "隧道延迟" -#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:419 +#: ../java/src/net/i2p/router/web/SummaryBarRenderer.java:430 msgid "Backlog" msgstr "积压" @@ -3258,55 +3360,85 @@ msgstr "警告-因防火墙受限且UDP被禁用" msgid "Testing" msgstr "测试中" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:375 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:365 msgid "Add/remove/edit & control your client and server tunnels" msgstr "添加、删除、编辑或控制客户程序隧道和服务隧道" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:387 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:377 msgid "Server" msgstr "服务" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:391 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:381 msgid "Show tunnels" msgstr "显示隧道" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:402 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:392 msgid "Leases expired" msgstr "Lease已过期" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:402 -#: ../java/src/net/i2p/router/web/SummaryHelper.java:403 +#. red or yellow light +#: ../java/src/net/i2p/router/web/SummaryHelper.java:392 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:393 msgid "Rebuilding" msgstr "正在重建" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:403 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:393 msgid "ago" msgstr "前" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:406 +#. green light +#: ../java/src/net/i2p/router/web/SummaryHelper.java:396 msgid "Ready" msgstr "就绪" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:410 +#. yellow light +#: ../java/src/net/i2p/router/web/SummaryHelper.java:400 msgid "Building" msgstr "创建中" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:410 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:400 msgid "Building tunnels" msgstr "正在隧道创建" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:415 +#: ../java/src/net/i2p/router/web/SummaryHelper.java:405 msgid "none" msgstr "无" -#: ../java/src/net/i2p/router/web/SummaryHelper.java:426 +#. tunnel nicknames, taken from i2ptunnel.config so they will display +#. nicely under 'local destinations' in the summary bar +#. note that if the wording changes in i2ptunnel.config, we have to +#. keep the old string here as well for existing installs +#: ../java/src/net/i2p/router/web/SummaryHelper.java:416 #: ../java/strings/Strings.java:36 msgid "shared clients" msgstr "共享客户端" +#. Note to translators: all runtime zh translation disabled in this file, no font available in RRD +#: ../java/src/net/i2p/router/web/SummaryRenderer.java:84 +#, java-format +msgid "events in {0}" +msgstr "事件/{0}" + +#: ../java/src/net/i2p/router/web/SummaryRenderer.java:86 +#, java-format +msgid "averaged for {0}" +msgstr "{0} 平均值" + +#: ../java/src/net/i2p/router/web/SummaryRenderer.java:96 +msgid "Events per period" +msgstr "事件/周期" + +#: ../java/src/net/i2p/router/web/SummaryRenderer.java:109 +msgid "avg" +msgstr "平均" + +#: ../java/src/net/i2p/router/web/SummaryRenderer.java:111 +msgid "now" +msgstr "当前" + #: ../java/src/net/i2p/router/web/TunnelRenderer.java:41 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:63 -#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:275 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/logs_jsp.java:280 msgid "configure" msgstr "设置" @@ -3373,7 +3505,7 @@ msgid "Inactive participating tunnels" msgstr "不活跃的共享隧道" #: ../java/src/net/i2p/router/web/TunnelRenderer.java:127 -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:216 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:218 msgid "Lifetime bandwidth usage" msgstr "运行期间带宽使用情况" @@ -3390,7 +3522,7 @@ msgid "Endpoint" msgstr "终端" #: ../java/src/net/i2p/router/web/TunnelRenderer.java:205 -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:211 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:212 msgid "Build in progress" msgstr "创建中" @@ -3398,39 +3530,39 @@ msgstr "创建中" msgid "inbound" msgstr "入站" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:211 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:212 msgid "outbound" msgstr "出站" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:215 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:217 msgid "No tunnels; waiting for the grace period to end." msgstr "无隧道;等待宽限期结束。" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:216 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:219 msgid "in" msgstr "入" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:217 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:220 msgid "out" msgstr "出" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:234 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:237 msgid "Tunnel Counts By Peer" msgstr "每节点隧道计数" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:235 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238 msgid "% of total" msgstr "占总数%" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:235 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238 msgid "Our Tunnels" msgstr "我方隧道" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:235 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238 msgid "Participating Tunnels" msgstr "共享隧道" -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:253 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:256 msgid "Totals" msgstr "总计" @@ -3488,6 +3620,7 @@ msgstr "更新已验证" msgid "Transfer failed" msgstr "数据传输失败" +#. wars for ConfigClientsHelper #: ../java/strings/Strings.java:12 msgid "addressbook" msgstr "地址簿" @@ -3512,6 +3645,9 @@ msgstr "susiDNS" msgid "routerconsole" msgstr "路由控制台" +#. clients, taken from clients.config, for ConfigClientsHelper +#. note that if the wording changes in clients.config, we have to +#. keep the old string here as well for existing installs #: ../java/strings/Strings.java:22 msgid "Web console" msgstr "网页控制台" @@ -3560,6 +3696,7 @@ msgstr "匿名主页服务器" msgid "HTTP Proxy" msgstr "HTTP 代理" +#. older names for pre-0.7.4 installs #: ../java/strings/Strings.java:42 msgid "eepProxy" msgstr "I2P代理" @@ -3568,14 +3705,17 @@ msgstr "I2P代理" msgid "ircProxy" msgstr "I2P聊天室" +#. hardcoded in i2psnark #: ../java/strings/Strings.java:45 msgid "I2PSnark" msgstr "I2P Snark" +#. hardcoded in iMule? #: ../java/strings/Strings.java:47 msgid "iMule" msgstr "" +#. standard themes for ConfigUIHelper #: ../java/strings/Strings.java:51 msgid "classic" msgstr "经典" @@ -3592,6 +3732,7 @@ msgstr "亮色调" msgid "midnight" msgstr "午夜" +#. stat groups for stats.jsp #: ../java/strings/Strings.java:57 msgid "Bandwidth" msgstr "带宽" @@ -3644,6 +3785,8 @@ msgstr "传输" msgid "udp" msgstr "UDP" +#. parameters in transport addresses (netdb.jsp) +#. may or may not be worth translating #: ../java/strings/Strings.java:77 msgid "host" msgstr "主机" @@ -3656,6 +3799,7 @@ msgstr "密钥" msgid "port" msgstr "端口" +#. introducer host #: ../java/strings/Strings.java:83 msgid "ihost0" msgstr "" @@ -3668,6 +3812,7 @@ msgstr "" msgid "ihost2" msgstr "" +#. introducer port #: ../java/strings/Strings.java:87 msgid "iport0" msgstr "" @@ -3680,6 +3825,7 @@ msgstr "" msgid "iport2" msgstr "" +#. introducer key #: ../java/strings/Strings.java:91 msgid "ikey0" msgstr "" @@ -3692,6 +3838,7 @@ msgstr "" msgid "ikey2" msgstr "" +#. introducer tag #: ../java/strings/Strings.java:95 msgid "itag0" msgstr "" @@ -3704,10 +3851,27 @@ msgstr "" msgid "itag2" msgstr "" +#. Descriptions for the stats that are graphed by default +#. There are over 500 stats currently defined, we aren't going to tag them all +#: ../java/strings/Strings.java:101 +msgid "Low-level bandwidth receive rate" +msgstr "底层速度(入站)" + +#. bw.recvRate +#: ../java/strings/Strings.java:102 +msgid "Low-level bandwidth send rate" +msgstr "底层速度(出站)" + +#. bw.sendRate +#: ../java/strings/Strings.java:103 +msgid "How many peers we are actively talking with" +msgstr "正在通讯的活动节点数" + #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:106 msgid "config networking" msgstr "连网设置" +#. We have intl defined when this is included, but not when compiled standalone. #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:217 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:218 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:217 @@ -3722,6 +3886,7 @@ msgstr "连网设置" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:220 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:228 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:217 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:220 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:220 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:220 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:223 @@ -3738,6 +3903,7 @@ msgstr "连网设置" msgid "Refresh (s)" msgstr "刷新(秒)" +#. ditto #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/config_jsp.java:221 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configadvanced_jsp.java:222 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/configclients_jsp.java:221 @@ -3752,6 +3918,7 @@ msgstr "刷新(秒)" #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/debug_jsp.java:224 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/error_jsp.java:232 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/graphs_jsp.java:221 +#: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fnl_jsp.java:224 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_005fru_jsp.java:224 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/help_jsp.java:224 #: ../jsp/WEB-INF/classes/net/i2p/router/web/jsp/index_jsp.java:227 @@ -4806,15 +4973,15 @@ msgstr "如果您发现错误请报告至 Date: Sun, 10 Oct 2010 14:36:11 +0000 Subject: [PATCH 42/71] Bump version, add history --- history.txt | 3 +++ router/java/src/net/i2p/router/RouterVersion.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/history.txt b/history.txt index 365b720ec..d6231fa2b 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,6 @@ +2010-10-10 sponge + * Fulfill Request for name resolving in BOB + 2010-09-15 dr|z3d * I2PSnark: Overhaul UI, implement new theme. diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 31fe75755..4f6b6353e 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 03; + public final static long BUILD = 04; /** for example "-test" */ public final static String EXTRA = ""; From 5a782cca4d2e8a7786c79465b3cd8cc83a6b1817 Mon Sep 17 00:00:00 2001 From: HungryHobo Date: Tue, 12 Oct 2010 19:30:46 +0000 Subject: [PATCH 43/71] Add HungryHobo as a signer --- .../src/net/i2p/crypto/TrustedUpdate.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/core/java/src/net/i2p/crypto/TrustedUpdate.java b/core/java/src/net/i2p/crypto/TrustedUpdate.java index b90fd46d3..7e8a2b158 100644 --- a/core/java/src/net/i2p/crypto/TrustedUpdate.java +++ b/core/java/src/net/i2p/crypto/TrustedUpdate.java @@ -102,6 +102,25 @@ iD8DBQFHphOV+h38a3n8zjMRAll+AJ9KA6WiDJcTN4qfrslSemUMr+FBrwCeM8pF D8usM7Dxp5yrDrCYZ5AIijc= =SrXI -----END PGP SIGNATURE----- +*/ +/* +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +*/ + /* HungryHobo's key */ + private static final String DEFAULT_TRUSTED_KEY4 = + "l3G6um9nB9EDLkT9cUusz5fX-GxXSWE5zaj2~V8lUL~XsGuFf8gKqzJLK" + + "NkAw0CgDIDsLRHHuUaF7ZHo5Z7HG~9JJU9Il4G2jyNYtg5S8AzG0UxkEt" + + "-JeBEqIxv5GDn6OFKr~wTI0UafJbegEWokl-8m-GPWf0vW-yPMjL7y5MI="; +/* +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.10 (GNU/Linux) + +iEYEARECAAYFAkysnNIACgkQHix7YXbc3BJVfwCeNGUHaWSqZUbWN9L8VyQLpwxI +JXQAnA28vDmMMMH/WPbC5ixmJeGGNUiR +=3oMC +-----END PGP SIGNATURE----- */ private static final int VERSION_BYTES = 16; @@ -148,6 +167,7 @@ D8usM7Dxp5yrDrCYZ5AIijc= addKey(DEFAULT_TRUSTED_KEY, "jrandom@mail.i2p"); addKey(DEFAULT_TRUSTED_KEY2, "zzz@mail.i2p"); //addKey(DEFAULT_TRUSTED_KEY3, "complication@mail.i2p"); + addKey(DEFAULT_TRUSTED_KEY4, "HungryHobo@mail.i2p"); } if (_log.shouldLog(Log.DEBUG)) _log.debug("TrustedUpdate created, trusting " + _trustedKeys.size() + " keys."); From 6cd645b34bd24ebed35d46f4b63c90ded70e2594 Mon Sep 17 00:00:00 2001 From: z3d Date: Wed, 13 Oct 2010 16:03:41 +0000 Subject: [PATCH 44/71] I2PSnark: Tighten up navbar, color tweaks. --- .../snark/images/snarknav_lowlight.png | Bin 0 -> 958 bytes .../console/snark/images/snarknav_on.png | Bin 193 -> 355 bytes .../resources/themes/console/snark/snark.css | 73 +++++++++++++++--- 3 files changed, 61 insertions(+), 12 deletions(-) create mode 100644 installer/resources/themes/console/snark/images/snarknav_lowlight.png diff --git a/installer/resources/themes/console/snark/images/snarknav_lowlight.png b/installer/resources/themes/console/snark/images/snarknav_lowlight.png new file mode 100644 index 0000000000000000000000000000000000000000..ef54b1e61ef187c9f782c54aaf5b251bb6eabcfd GIT binary patch literal 958 zcmV;v13~pIa7jc#RCt`-lk099HxPwqhFodAwk*q)>(oZl7zx@x$+T~1ML%3SS>#Ba?TkJ#XtS{!(j1#SqB=Q?-gHVi}$NW zb^P46SHF-Mn6EDko96GIL*&;&EM=>D`j*LTKE2zvM5k|9dHeaD*pt_7z4h0>t{Oi$ zdF7hQ-++S%8#Di{bW|KaXR&e%=HmE;b=Q|{GdsNy7O)y?rZ1C+CwKCF)V;bay@r$T zSgE|a6np%wuS>u9ux`Aaya-M0=O5Os7iN*W8S>=gXTp{jv&wOPbY|UrM$ny{$2#US zYphJpqetZ_OfEp>?X32ylb5Vo&1Yi9XRfK;-S3+wnDIBhZT#IIU}5Zf__OwuA5KwI zp*sYFvVHb_t)?P6L@(eynp1I)~{~2 zF3A2kw9c<@$~M*^yj@`5uo%IP%0=UOus^bXvmj*O-$$ixy}*e{ae(x(4qqHXw^`j| zUnoYZ1QyH(=lo__`C#@Ag7;yw#0rZ#wLbHo6nM9%YA zY2!)v3Sw?H8!+XCQe=^Q=%KsaKv#xCA0jtk%xhJ_!wd(?kz2)`&CJ+3coIk?loi(T zAj2J#Hn0veR8((knLl>nei@!rfq``ato%$H34-HY3uOQWCogv<2^Nn(dd!I z0$k$*JQ54mYDUm)E2LKLxDH|lte9)n$CN$8L%pCtj3QyjL1Q1dfFfFfhbV+-heM0~ zz}H9|MHtAKI6%l?F^`4uq4*<$;_2!@OYpail8K>%xY(shk(0tBOC*knG+5np=aEE_ z*fMvFcjuuodJ6r>7XL0z6jMH7?7)dd&k#LgO_327+e1>r8;L`bP9D0`?M_0&jwK18 z0qLxsaI6D;!@gLD_S|{I8HQAB}0_WZI#-W}E(ANlX$-C5BtZqP3*y+umNUzoV} g=q~Cb|6e};0Ni74G{;bJ<^TWy07*qoM6N<$f)SR_Q2+n{ literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/snarknav_on.png b/installer/resources/themes/console/snark/images/snarknav_on.png index be1b85b394c38bf57a8b523d951353b338831cc9..0f2ce23e7f1570f4046d90f9a118aa47f00676a2 100644 GIT binary patch delta 308 zcmV-40n7fu0pkLYIDY{ZNklUwi;_hc~q05#9C}e0j~v&qKMP-o76X)qjRkB<=Gvno3zPIny<8=bBwc3 zF3~HE399#hvn}~^w!8r8aO$K)d!9aznfKP)aa&p!P;I|2tp9U7AjIPU0000J^0IDY_hNklA99HwDF`geE%4pLA!9`t9~ ziJhcnoH^lj_-Bb|JHl{!1mr>R#%355Ypp3*Y_015yANkvXXu0mjfZ&5w1 diff --git a/installer/resources/themes/console/snark/snark.css b/installer/resources/themes/console/snark/snark.css index 4d6824da9..82d5eb2d0 100644 --- a/installer/resources/themes/console/snark/snark.css +++ b/installer/resources/themes/console/snark/snark.css @@ -16,13 +16,22 @@ body { .snarkRefresh:link,.snarkRefresh:visited { text-decoration: none !important; text-transform: uppercase !important; - padding: 2px 16px; + padding: 2px 16px 3px !important; margin: -5px -7px -5px 0 !important; letter-spacing: 0.05em; font-weight: bold; font-size: 11pt; color: #f70; text-shadow: 1px 1px #420; + background: url('/themes/console/snark/images/snarknav_lowlight.png') no-repeat scroll center bottom; + background: #310 url('/themes/console/snark/images/snarknav_lowlight.png') repeat-x scroll center center; + -moz-border-radius: 0px; + -khtml-border-radius: 3px; + border-radius: 0px; + -moz-box-shadow: inset 0 0 1px 0 #f90; + -khtml-box-shadow: inset 0 0 1px 0 #f90; + box-shadow: 0 0 1px 0 #f90; + } .snarkRefresh:hover { @@ -32,11 +41,15 @@ body { letter-spacing: 0.05em; font-weight: bold; font-size: 11pt; - color: #f90; + color: #f50; background: #310 url('/themes/console/snark/images/snarknav_on.png') repeat-x scroll center center; - -moz-border-radius: 3px; - -khtml-border-radius: 3px; - border-radius: 3px; + background: url('/themes/console/snark/images/snarknav_on.png') repeat-x scroll center center; + -moz-border-radius: 0; + -khtml-border-radius: 0; + border-radius: 0; + -moz-box-shadow: inset 0 0 1px 0 #f90; + -khtml-box-shadow: inset 0 0 1px 0 #f90; + box-shadow: 0 0 1px #f90; } .snarkRefresh:active { @@ -50,6 +63,24 @@ body { background: #310 url('/themes/console/snark/images/snarknav_on.png') repeat-x scroll center center; } +.snarkRefresh:first-child { + -moz-border-radius: 0px 0 0 3px; + -khtml-border-radius: 3px; + border-radius: 0; + -moz-box-shadow: inset 0 0 1px 0 #f90; + -khtml-box-shadow: inset 0 0 1px 0 #f90; + box-shadow: 0 0 1px 0 #f90; +} + +.snarkRefresh:last-child { + -moz-border-radius: 0 3px 0px 0px; + -khtml-border-radius: 0 3px 0 0; + border-radius: 0; + -moz-box-shadow: inset 0 0 1px 0 #f90; + -khtml-box-shadow: inset 0 0 1px 0 #f90; + box-shadow: 0 0 1px 0 #f90; +} + .snarkMessages { font: bold 9pt "Lucida Console","DejaVu Sans Mono",Courier,mono !important; text-align: left; @@ -106,14 +137,14 @@ text-shadow:1px 1px #550000; } thead { - border-bottom: 2px solid #101; + border-bottom: 1px solid #101; } th { padding: 4px 2px 1px 4px; font-size: 9pt; border-top: 1px outset #001; - border-bottom: 1px inset #001; + border-bottom: 1px inset #101; color: #ddd; whitespace: nowrap; } @@ -143,7 +174,7 @@ tfoot th { .SnarkTorrents { margin: 0; - border: 1px solid #001; + border: 1px solid #101; background: #212; } @@ -189,8 +220,16 @@ td:first-child { .snarkTorrentEven { background: #545; font-size: 8pt; + background: #202; } +/* +.snarkTorrentEven tr:first-child { + border: 1px dotted #fff !important; +} + +*/ + .snarkTorrentNoneLoaded { background: #323; font-size: 8.5pt; @@ -216,11 +255,15 @@ td:first-child { .snarkTorrentOdd { background: #656; + background: #351933; font-size: 8pt; - border: 1px inset #434 !important; + border: 0px inset #101 !important; border-left: 0 !important; border-right: 0 !important; } +.snarkTorrentOdd td, .snarkTorrentEven td { + border-top: 1px dotted #313 !important; +} .snarkFileName { /* min-width: 25em;*/ @@ -238,6 +281,12 @@ td:first-child { font-style: italic; } +.snarkTorrentETA { + font-weight: bold; + font-style: italic; + color: #dd7 !important; +} + .thumb { max-height: 64px; max-width: 96px; @@ -337,7 +386,7 @@ input { -khtml-border-radius: 4px; border-radius: 4px; border: 1px inset #000; - background: url('/themes/console/snark/images/graytile.png'); + background: #212 url('/themes/console/snark/images/graytile.png'); color: #f60; } @@ -527,7 +576,7 @@ code { } .snarknavbar { margin: 0 0 10px 0 !important; - padding: 4px 10px 4px; + padding: 7px 10px; border: 1px solid #001; -moz-border-radius: 4px; -khtml-border-radius: 4px; @@ -537,7 +586,7 @@ code { box-shadow: inset 0px 0px 1px 0px #002; background: #111 url('/themes/console/snark/images/snarknav.png') repeat-x scroll center center; text-transform: uppercase !important; - letter-spacing: 0.05em; + letter-spacing: 0.065em !important; font-weight: bold; font-size: 11.5pt; color: #001; From 8cda5104e3fc733095f2fb96c87ee079d06782d6 Mon Sep 17 00:00:00 2001 From: mathiasdm Date: Thu, 14 Oct 2010 06:19:19 +0000 Subject: [PATCH 45/71] - Added package doc for crypto and net.i2p - Got rid of some susimail javadoc warnings --- .../i2p/susi/webmail/pop3/POP3MailBox.java | 26 +++++++++---------- core/java/src/net/i2p/crypto/package.html | 11 ++++++++ core/java/src/net/i2p/package.html | 7 +++++ 3 files changed, 31 insertions(+), 13 deletions(-) create mode 100644 core/java/src/net/i2p/crypto/package.html create mode 100644 core/java/src/net/i2p/package.html diff --git a/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java b/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java index 6e266e249..4434cff5e 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java +++ b/apps/susimail/src/src/i2p/susi/webmail/pop3/POP3MailBox.java @@ -85,7 +85,7 @@ public class POP3MailBox { /** * * @param uidl - * @return + * @return Byte buffer containing header data. */ public ReadBuffer getHeader( String uidl ) { synchronized( synchronizer ) { @@ -97,7 +97,7 @@ public class POP3MailBox { * retrieves header from pop3 server (with TOP command and RETR as fallback) * * @param id message id - * @return byte buffer containing data + * @return Byte buffer containing header data. */ private ReadBuffer getHeader( int id ) { synchronized( synchronizer ) { @@ -138,7 +138,7 @@ public class POP3MailBox { /** * * @param uidl - * @return + * @return Byte buffer containing body data. */ public ReadBuffer getBody( String uidl ) { synchronized( synchronizer ) { @@ -150,7 +150,7 @@ public class POP3MailBox { * retrieve message body from pop3 server (via RETR command) * * @param id message id - * @return byte buffer containing data + * @return Byte buffer containing body data. */ private ReadBuffer getBody(int id) { synchronized( synchronizer ) { @@ -179,7 +179,7 @@ public class POP3MailBox { /** * * @param uidl - * @return + * @return Success of delete operation: true if successful. */ public boolean delete( String uidl ) { @@ -193,7 +193,7 @@ public class POP3MailBox { * delete message on pop3 server * * @param id message id - * @return true if successful + * @return Success of delete operation: true if successful. */ private boolean delete(int id) { @@ -215,7 +215,7 @@ public class POP3MailBox { /** * * @param uidl - * @return + * @return Message size in bytes. */ public int getSize( String uidl ) { synchronized( synchronizer ) { @@ -227,7 +227,7 @@ public class POP3MailBox { * get size of a message (via LIST command) * * @param id message id - * @return message size in bytes + * @return Message size in bytes. */ private int getSize(int id) { synchronized( synchronizer ) { @@ -627,7 +627,7 @@ public class POP3MailBox { } /** - * @return + * @return The amount of e-mails available. */ public int getNumMails() { synchronized( synchronizer ) { @@ -641,7 +641,7 @@ public class POP3MailBox { } /** - * @return + * @return The most recent error message. */ public String lastError() { Debug.debug(Debug.DEBUG, "lastError()"); @@ -673,7 +673,7 @@ public class POP3MailBox { * returns number of message with given UIDL * * @param uidl - * @return + * @return Message number. */ private int getIDfromUIDL( String uidl ) { @@ -687,7 +687,7 @@ public class POP3MailBox { /** * * @param id - * @return + * @return UIDL. */ public String getUIDLfromID( int id ) { @@ -695,7 +695,7 @@ public class POP3MailBox { } /** * - * @return + * @return A list of the available UIDLs. */ public Object[] getUIDLs() { diff --git a/core/java/src/net/i2p/crypto/package.html b/core/java/src/net/i2p/crypto/package.html new file mode 100644 index 000000000..ae471c30a --- /dev/null +++ b/core/java/src/net/i2p/crypto/package.html @@ -0,0 +1,11 @@ + + +

+ These classes provide a number of low-level cryptographic routines. +

+ +

+ These cryptographic routines include symmetric and asymmetric encryption and decryption, hashing, secure random number generation... +

+ + diff --git a/core/java/src/net/i2p/package.html b/core/java/src/net/i2p/package.html new file mode 100644 index 000000000..acc673d1c --- /dev/null +++ b/core/java/src/net/i2p/package.html @@ -0,0 +1,7 @@ + + +

+ Core I2P package, contains information about the I2P version and an entry point to access important elements. +

+ + From 3daa6b964dc8b0abdf8cde2b0f2936f906bd0869 Mon Sep 17 00:00:00 2001 From: mathiasdm Date: Thu, 14 Oct 2010 16:05:06 +0000 Subject: [PATCH 46/71] -Added package-file for time. -Modified susi javadoc to remove more warnings (and non-javadoc '@see' to base class). --- .../src/i2p/susi/webmail/encoding/Base64.java | 26 +++++++++---------- .../i2p/susi/webmail/encoding/Encoding.java | 12 ++++----- .../webmail/encoding/EncodingFactory.java | 4 +-- core/java/src/net/i2p/time/package.html | 7 +++++ 4 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 core/java/src/net/i2p/time/package.html diff --git a/apps/susimail/src/src/i2p/susi/webmail/encoding/Base64.java b/apps/susimail/src/src/i2p/susi/webmail/encoding/Base64.java index b6c8ffaf5..1d376fc38 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/encoding/Base64.java +++ b/apps/susimail/src/src/i2p/susi/webmail/encoding/Base64.java @@ -42,7 +42,7 @@ public class Base64 implements Encoding { return "base64"; } /** - * @return + * @return Base64-encoded String. * @throws EncodingException */ public String encode( byte in[] ) throws EncodingException @@ -53,8 +53,8 @@ public class Base64 implements Encoding { throw new EncodingException( e.getMessage() ); } } - /* (non-Javadoc) - * @see i2p.susi23.util.Encoding#encode(java.lang.String) + /** + * @see Base64#encode(byte[]) */ public String encode(String str) throws EncodingException { try { @@ -66,7 +66,7 @@ public class Base64 implements Encoding { /** * * @param in - * @return + * @see Base64#encode(String) */ private String encode( InputStream in ) throws IOException, EncodingException { @@ -116,7 +116,7 @@ public class Base64 implements Encoding { /** * @param b - * @return + * @return Encoded single byte. */ private static int encodeByte(int b) { /* @@ -173,21 +173,21 @@ public class Base64 implements Encoding { /** * @param text - * @return + * @return Buffer containing a decoded String. */ public ReadBuffer decode(String text) throws DecodingException { return text != null ? decode( text.getBytes() ) : null; } - /* (non-Javadoc) - * @see i2p.susi23.util.Encoding#decode(byte[]) + /** + * @see Base64#decode(String) */ public ReadBuffer decode(byte[] in) throws DecodingException { return decode( in, 0, in.length ); } - /* (non-Javadoc) - * @see i2p.susi23.util.Encoding#decode(byte[], int, int) + /** + * @see Base64#decode(String) */ public ReadBuffer decode(byte[] in, int offset, int length) throws DecodingException { byte out[] = new byte[length * 3 / 4 + 1 ]; @@ -228,10 +228,10 @@ public class Base64 implements Encoding { return readBuffer; } - /* (non-Javadoc) - * @see i2p.susi23.util.Encoding#decode(i2p.susi23.util.ReadBuffer) + /* + * @see Base64#decode(String) */ public ReadBuffer decode(ReadBuffer in) throws DecodingException { return decode( in.content, in.offset, in.length ); } -} \ No newline at end of file +} diff --git a/apps/susimail/src/src/i2p/susi/webmail/encoding/Encoding.java b/apps/susimail/src/src/i2p/susi/webmail/encoding/Encoding.java index 9b77fb335..37b823c9c 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/encoding/Encoding.java +++ b/apps/susimail/src/src/i2p/susi/webmail/encoding/Encoding.java @@ -35,21 +35,21 @@ public interface Encoding { /** * * @param in - * @return + * @return Encoded string. * @throws EncodingException */ public String encode( byte in[] ) throws EncodingException; /** * * @param str - * @return + * @see Encoding#encode(byte[]) * @throws EncodingException */ public String encode( String str ) throws EncodingException; /** * * @param in - * @return + * @see Encoding#decode(byte[], int, int) * @throws DecodingException */ public ReadBuffer decode( byte in[] ) throws DecodingException; @@ -58,21 +58,21 @@ public interface Encoding { * @param in * @param offset * @param length - * @return + * @return Output buffer containing decoded String. * @throws DecodingException */ public ReadBuffer decode( byte in[], int offset, int length ) throws DecodingException; /** * * @param str - * @return + * @see Encoding#decode(byte[], int, int) * @throws DecodingException */ public ReadBuffer decode( String str ) throws DecodingException; /** * * @param in - * @return + * @see Encoding#decode(byte[], int, int) * @throws DecodingException */ public ReadBuffer decode( ReadBuffer in ) throws DecodingException; diff --git a/apps/susimail/src/src/i2p/susi/webmail/encoding/EncodingFactory.java b/apps/susimail/src/src/i2p/susi/webmail/encoding/EncodingFactory.java index 9fd5d9780..bbefe00e1 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/encoding/EncodingFactory.java +++ b/apps/susimail/src/src/i2p/susi/webmail/encoding/EncodingFactory.java @@ -62,7 +62,7 @@ public class EncodingFactory { * * @param name name of encoding (e.g. quoted-printable) * - * @return + * @return Encoder instance */ public static Encoding getEncoding( String name ) { @@ -71,7 +71,7 @@ public class EncodingFactory { /** * Returns list of available encodings; * - * @return + * @return List of encodings */ public static Set availableEncodings() { diff --git a/core/java/src/net/i2p/time/package.html b/core/java/src/net/i2p/time/package.html new file mode 100644 index 000000000..18018d978 --- /dev/null +++ b/core/java/src/net/i2p/time/package.html @@ -0,0 +1,7 @@ + + +

+ Provides classes for time synchronisation using NTP. +

+ + From e8abe14395e63e6c9745cf33ef9b5a5eca671ce1 Mon Sep 17 00:00:00 2001 From: mathiasdm Date: Wed, 20 Oct 2010 15:55:28 +0000 Subject: [PATCH 47/71] Fixed susimail javadoc errors. --- .../src/src/i2p/susi/util/Config.java | 3 -- .../src/src/i2p/susi/util/Folder.java | 16 +++----- .../src/src/i2p/susi/webmail/Attachment.java | 12 ++---- .../src/src/i2p/susi/webmail/Mail.java | 5 +-- .../src/src/i2p/susi/webmail/MailCache.java | 4 +- .../src/i2p/susi/webmail/RequestWrapper.java | 39 ++++--------------- 6 files changed, 20 insertions(+), 59 deletions(-) diff --git a/apps/susimail/src/src/i2p/susi/util/Config.java b/apps/susimail/src/src/i2p/susi/util/Config.java index 723c56b99..8564cbfad 100644 --- a/apps/susimail/src/src/i2p/susi/util/Config.java +++ b/apps/susimail/src/src/i2p/susi/util/Config.java @@ -42,7 +42,6 @@ public class Config { /** * * @param name - * @return */ public static String getProperty( String name ) { @@ -98,7 +97,6 @@ public class Config { * * @param name * @param defaultValue - * @return */ public static String getProperty( String name, String defaultValue ) { @@ -109,7 +107,6 @@ public class Config { * * @param name * @param defaultValue - * @return */ public static int getProperty( String name, int defaultValue ) { diff --git a/apps/susimail/src/src/i2p/susi/util/Folder.java b/apps/susimail/src/src/i2p/susi/util/Folder.java index 7a18a2477..c8cd9b766 100644 --- a/apps/susimail/src/src/i2p/susi/util/Folder.java +++ b/apps/susimail/src/src/i2p/susi/util/Folder.java @@ -270,7 +270,7 @@ public class Folder { /** * Returns the element on the current page on the given position. * - * @param Position of the element on the current page. + * @param x Position of the element on the current page. * @return Element on the current page on the given position. */ public Object getElementAtPosXonCurrentPage( int x ) @@ -331,7 +331,7 @@ public class Folder { * Gets index of an element in the array regardless of sorting direction. * * @param element - * @return + * @return index */ private int getIndexOf( Object element ) { @@ -348,7 +348,7 @@ public class Folder { * Sorting direction is taken into account. * * @param element - * @return + * @return The next element */ public Object getNextElement( Object element ) { @@ -369,7 +369,7 @@ public class Folder { * Sorting direction is taken into account. * * @param element - * @return + * @return The previous element */ public Object getPreviousElement( Object element ) { @@ -388,7 +388,7 @@ public class Folder { * Retrieves element at index i. Depends on sorting direction. * * @param i - * @return + * @return Element at index i */ private Object getElement( int i ) { @@ -404,8 +404,6 @@ public class Folder { /** * Returns true, if folder shows points to the last page. - * - * @return */ public boolean isLastPage() { @@ -414,8 +412,6 @@ public class Folder { /** * Returns true, if folder shows points to the first page. - * - * @return */ public boolean isFirstPage() { @@ -427,7 +423,6 @@ public class Folder { * The sorting direction influences which element is taken for comparison. * * @param element - * @return */ public boolean isLastElement( Object element ) { @@ -441,7 +436,6 @@ public class Folder { * The sorting direction influences which element is taken for comparison. * * @param element - * @return */ public boolean isFirstElement( Object element ) { diff --git a/apps/susimail/src/src/i2p/susi/webmail/Attachment.java b/apps/susimail/src/src/i2p/susi/webmail/Attachment.java index 91da87064..922ca8069 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/Attachment.java +++ b/apps/susimail/src/src/i2p/susi/webmail/Attachment.java @@ -56,16 +56,12 @@ public class Attachment { public void setBuffer(ReadBuffer buffer) { this.buffer = buffer; } - /** - * @return - */ + public String getTransferEncoding() { // TODO Auto-generated method stub return transferEncoding; } - /** - * @return - */ + public String getContentType() { // TODO Auto-generated method stub return contentType; @@ -82,9 +78,7 @@ public class Attachment { public void setTransferEncoding(String transferEncoding) { this.transferEncoding = transferEncoding; } - /** - * @param string - */ + public void setData(String data ) { this.data = data; } diff --git a/apps/susimail/src/src/i2p/susi/webmail/Mail.java b/apps/susimail/src/src/i2p/susi/webmail/Mail.java index 80f6d67bf..98cf7c9e5 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/Mail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/Mail.java @@ -78,8 +78,8 @@ public class Mail { } /** * - * @param address - * @return + * @param address E-mail address to be validated + * @return Is the e-mail address valid? */ public static boolean validateAddress( String address ) { @@ -105,7 +105,6 @@ public class Mail { } /** * @param address - * @return */ public static String getAddress(String address ) { diff --git a/apps/susimail/src/src/i2p/susi/webmail/MailCache.java b/apps/susimail/src/src/i2p/susi/webmail/MailCache.java index 05694f2bf..a7116811c 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/MailCache.java +++ b/apps/susimail/src/src/i2p/susi/webmail/MailCache.java @@ -47,9 +47,9 @@ public class MailCache { /** * Fetch any needed data from pop3 server. * - * @param id message id to get + * @param uidl message id to get * @param headerOnly fetch only header lines? - * @return + * @return An e-mail */ public Mail getMail( String uidl, boolean headerOnly ) { diff --git a/apps/susimail/src/src/i2p/susi/webmail/RequestWrapper.java b/apps/susimail/src/src/i2p/susi/webmail/RequestWrapper.java index 0cb20af2f..0c1d835cc 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/RequestWrapper.java +++ b/apps/susimail/src/src/i2p/susi/webmail/RequestWrapper.java @@ -67,29 +67,25 @@ public class RequestWrapper { /** * @param b - * @return */ public HttpSession getSession(boolean b) { return httpRequest.getSession( b ); } /** - * @param key - * @return + * @param name Specific parameter key + * @return parameter value */ public String getParameter(String name ) { return getParameter( name, null ); } - /** - * @return - */ public HttpSession getSession() { return httpRequest.getSession(); } /** - * @return + * @return List of request parameter names */ public Enumeration getParameterNames() { if( multiPartRequest != null ) { @@ -106,24 +102,19 @@ public class RequestWrapper { } /** - * @return + * @return The total length of the content. */ public int getContentLength() { return httpRequest.getContentLength(); } /** - * @return + * @return The content type of the request. */ public String getContentType() { return httpRequest.getContentType(); } - /** - * - * @param partName - * @return - */ public String getContentType( String partName ) { String result = null; @@ -143,19 +134,11 @@ public class RequestWrapper { } return result; } - /** - * @param string - * @return - */ + public Object getAttribute(String string) { return httpRequest.getAttribute( string ); } - /** - * @param new_subject - * @param string - * @return - */ public String getParameter( String name, String defaultValue ) { String result = defaultValue; @@ -184,10 +167,7 @@ public class RequestWrapper { } return result; } - /** - * @param new_filename - * @return - */ + public String getFilename(String partName ) { String result = null; @@ -198,10 +178,7 @@ public class RequestWrapper { } return result; } - /** - * @param new_filename - * @return - */ + public InputStream getInputStream(String partName ) { InputStream result = null; From e6c45ae5f89d2eb7f1fba54b29f8de2f5263f619 Mon Sep 17 00:00:00 2001 From: mathiasdm Date: Wed, 20 Oct 2010 16:01:18 +0000 Subject: [PATCH 48/71] Added package files for router. --- router/java/src/net/i2p/router/package.html | 10 ++++++++++ .../java/src/net/i2p/router/peermanager/package.html | 10 ++++++++++ router/java/src/net/i2p/router/startup/package.html | 10 ++++++++++ .../src/net/i2p/router/transport/ntcp/package.html | 7 +++++++ router/java/src/net/i2p/router/transport/package.html | 7 +++++++ .../java/src/net/i2p/router/transport/udp/package.html | 7 +++++++ 6 files changed, 51 insertions(+) create mode 100644 router/java/src/net/i2p/router/package.html create mode 100644 router/java/src/net/i2p/router/peermanager/package.html create mode 100644 router/java/src/net/i2p/router/startup/package.html create mode 100644 router/java/src/net/i2p/router/transport/ntcp/package.html create mode 100644 router/java/src/net/i2p/router/transport/package.html create mode 100644 router/java/src/net/i2p/router/transport/udp/package.html diff --git a/router/java/src/net/i2p/router/package.html b/router/java/src/net/i2p/router/package.html new file mode 100644 index 000000000..02e1bb656 --- /dev/null +++ b/router/java/src/net/i2p/router/package.html @@ -0,0 +1,10 @@ + + +

+ The I2P router application handles the I2P network communication. +

+

+ It encompasses sending and receiving messages, building up tunnels, encrypting and decrypting (on multiple levels) where applicable, and so on. +

+ + diff --git a/router/java/src/net/i2p/router/peermanager/package.html b/router/java/src/net/i2p/router/peermanager/package.html new file mode 100644 index 000000000..f422d0c10 --- /dev/null +++ b/router/java/src/net/i2p/router/peermanager/package.html @@ -0,0 +1,10 @@ + + +

+ The peer manager logs information about the history and quality of network peers. +

+

+ Peer capacity, speed and other parameters are calculated to determine in what cases we should use each peer. +

+ + diff --git a/router/java/src/net/i2p/router/startup/package.html b/router/java/src/net/i2p/router/startup/package.html new file mode 100644 index 000000000..7dfdabf9e --- /dev/null +++ b/router/java/src/net/i2p/router/startup/package.html @@ -0,0 +1,10 @@ + + +

+ The I2P startup package loads the configuration when I2P is started. +

+

+ The startup consists of a number of different jobs, like loading data from files for the network database, creating new router information (keypairs), and so on. +

+ + diff --git a/router/java/src/net/i2p/router/transport/ntcp/package.html b/router/java/src/net/i2p/router/transport/ntcp/package.html new file mode 100644 index 000000000..4aeb388cf --- /dev/null +++ b/router/java/src/net/i2p/router/transport/ntcp/package.html @@ -0,0 +1,7 @@ + + +

+ The NTCP transport allows passing I2P messages on top of TCP. The N in NTCP stands for 'New', as the NTCP transport replaces an older TCP transport which had issues concerning congestion collapse. +

+ + diff --git a/router/java/src/net/i2p/router/transport/package.html b/router/java/src/net/i2p/router/transport/package.html new file mode 100644 index 000000000..4970c053e --- /dev/null +++ b/router/java/src/net/i2p/router/transport/package.html @@ -0,0 +1,7 @@ + + +

+ The transport system allows the usage of communication layers that are below I2P in the stack, on which I2P messages are sent. +

+ + diff --git a/router/java/src/net/i2p/router/transport/udp/package.html b/router/java/src/net/i2p/router/transport/udp/package.html new file mode 100644 index 000000000..1c1f94852 --- /dev/null +++ b/router/java/src/net/i2p/router/transport/udp/package.html @@ -0,0 +1,7 @@ + + +

+ The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP. +

+ + From 3998ce311fd69e8df8edbdaf409e9db5e2083c1a Mon Sep 17 00:00:00 2001 From: sponge Date: Fri, 22 Oct 2010 02:26:13 +0000 Subject: [PATCH 49/71] Fix rc.i2p for slackware package --- Slackware/i2p-base/rc.i2p_def | 21 +++++++++++++++++++-- history.txt | 3 +++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Slackware/i2p-base/rc.i2p_def b/Slackware/i2p-base/rc.i2p_def index 8e059c23d..075e9e847 100644 --- a/Slackware/i2p-base/rc.i2p_def +++ b/Slackware/i2p-base/rc.i2p_def @@ -2,15 +2,32 @@ # Start/stop i2p service. i2p_start() { - /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory start )" + # Check if router is up first! + /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory status )" > /dev/null + if [ ! $? -eq 0 ] ; then { + # I2p is already running, so tell the user. + echo "I2P is already running..." + i2p_status + } + else + { + # Just in-case there are leftover junk in /tmp... + rm -Rf `grep /tmp/hsperfdata_root/* -le i2p` /tmp/i2p-*.tmp /tmp/router.ping + # Now that all junk is cleaned up, start. + /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory start )" + } + fi } i2p_stop() { /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory stop )" + rm -Rf `grep /tmp/hsperfdata_root/* -le i2p` /tmp/i2p-*.tmp /tmp/router.ping } i2p_restart() { - /bin/su - -c "( export PATH=\"$PATH:/usr/lib/java/bin:/usr/lib/java/jre/bin\"; directory restart)" + # We want a FULL cycle here, not the wrappers idea of this! + i2p_stop + i2p_start } i2p_status() { diff --git a/history.txt b/history.txt index d6231fa2b..af4b19410 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,6 @@ +2010-10-22 sponge + * Fix rc.i2p for slackware package + 2010-10-10 sponge * Fulfill Request for name resolving in BOB From e6bf1af982773ff6b6c3d2bca7ad90ed05aa0e1d Mon Sep 17 00:00:00 2001 From: sponge Date: Fri, 22 Oct 2010 02:43:17 +0000 Subject: [PATCH 50/71] Sanity and some fixs for slackware package --- Slackware/i2p/i2p.SlackBuild | 19 +++++++++++-------- history.txt | 3 +++ .../src/net/i2p/router/RouterVersion.java | 2 +- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/Slackware/i2p/i2p.SlackBuild b/Slackware/i2p/i2p.SlackBuild index fc95ce379..3ae2075c8 100755 --- a/Slackware/i2p/i2p.SlackBuild +++ b/Slackware/i2p/i2p.SlackBuild @@ -85,23 +85,26 @@ cp -a ../i2p $PKG/$INSTALL_DIR/ mkdir -p $PKG/install ############################################################################# -# Preconfigureation to make package smaller +# Preconfigureation to make package smaller, and... +# we keep as much as reasonable in the installation directory. +# This makes the install map fairly well to the standard installation. +# It also makes it easier to find the log and pid files! ############################################################################# cd $PKG/$INSTALL_DIR/i2p # wrapper.config $INSTALL_PATH and $SYSTEM_java_io_tmpdir -sed "s|\$INSTALL_PATH|$INSTALL_DIR/i2p|g" wrapper.config > a -sed "s|\$SYSTEM_java_io_tmpdir|/var/tmp|g" a > wrapper.config +sed "s|\$INSTALL_PATH|/$INSTALL_DIR/i2p|g" wrapper.config > a +sed "s|\$SYSTEM_java_io_tmpdir|/$INSTALL_DIR/i2p|g" a > wrapper.config # eepget %INSTALL_PATH -sed "s|\$INSTALL_PATH|$INSTALL_DIR/i2p|g" eepget > a +sed "s|\$INSTALL_PATH|/$INSTALL_DIR/i2p|g" eepget > a rm eepget mv a eepget # runplain.sh %INSTALL_PATH and %SYSTEM_java_io_tmpdir -sed "s|%INSTALL_PATH|$INSTALL_DIR/i2p|g" runplain.sh > a -sed "s|%SYSTEM_java_io_tmpdir|/var/tmp|g" a > runplain.sh +sed "s|%INSTALL_PATH|/$INSTALL_DIR/i2p|g" runplain.sh > a +sed "s|%SYSTEM_java_io_tmpdir|/$INSTALL_DIR/i2p|g" a > runplain.sh # i2prouter %INSTALL_PATH and %SYSTEM_java_io_tmpdir -sed "s|%INSTALL_PATH|$INSTALL_DIR/i2p|g" i2prouter > a -sed "s|%SYSTEM_java_io_tmpdir|/var/tmp|g" a > i2prouter +sed "s|%INSTALL_PATH|/$INSTALL_DIR/i2p|g" i2prouter > a +sed "s|%SYSTEM_java_io_tmpdir|/$INSTALL_DIR/i2p|g" a > i2prouter chmod 744 ./i2prouter chmod 744 ./osid diff --git a/history.txt b/history.txt index af4b19410..90664730b 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,6 @@ +2010-10-22 sponge + * Sanity and some fixs for slackware package + 2010-10-22 sponge * Fix rc.i2p for slackware package diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 4f6b6353e..df69e964f 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 04; + public final static long BUILD = 05; /** for example "-test" */ public final static String EXTRA = ""; From c14760c2941278bc69733acb7e9801e8fa3f139e Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 22 Oct 2010 08:14:51 +0000 Subject: [PATCH 51/71] I2PSnark: Unbutcher tags; relocate our snark theme to /themes/snark; more css updates. --- .../org/klomp/snark/web/I2PSnarkServlet.java | 109 +++++++++++++----- .../themes/console/snark/images/hat.png | Bin 5802 -> 0 bytes .../snark/images/snarknav_lowlight.png | Bin 958 -> 659 bytes .../themes/{console => }/snark/favicon.ico | Bin .../themes/{console => }/snark/images/add.png | Bin .../snark/images/arrow_refresh.png | Bin .../{console => }/snark/images/config.png | Bin .../snark/images/configuration.png | Bin .../{console => }/snark/images/create.png | Bin .../{console => }/snark/images/delete.png | Bin .../{console => }/snark/images/details.png | Bin .../themes/{console => }/snark/images/eta.png | Bin .../{console => }/snark/images/file.png | Bin .../{console => }/snark/images/graytile.png | Bin .../resources/themes/snark/images/hat.png | Bin 0 -> 15546 bytes .../{console => }/snark/images/hidepeers.png | Bin .../{console => }/snark/images/remove.png | Bin .../{console => }/snark/images/showpeers.png | Bin .../{console => }/snark/images/size.png | Bin .../{console => }/snark/images/snark_add.png | Bin .../snark/images/snark_create.png | Bin .../snark/images/snark_thead.png | Bin .../{console => }/snark/images/snarknav.png | Bin .../themes/snark/images/snarknav_lowlight.png | Bin 0 -> 659 bytes .../snark/images/snarknav_on.png | Bin .../{console => }/snark/images/start.png | Bin .../{console => }/snark/images/start_all.png | Bin .../{console => }/snark/images/status.png | Bin .../{console => }/snark/images/stop.png | Bin .../{console => }/snark/images/stop_all.png | Bin .../{console => }/snark/images/tile2.png | Bin .../{console => }/snark/images/torrent.png | Bin .../themes/{console => }/snark/images/up.png | Bin .../themes/{console => }/snark/snark.css | 0 34 files changed, 80 insertions(+), 29 deletions(-) delete mode 100644 installer/resources/themes/console/snark/images/hat.png rename installer/resources/themes/{console => }/snark/favicon.ico (100%) rename installer/resources/themes/{console => }/snark/images/add.png (100%) rename installer/resources/themes/{console => }/snark/images/arrow_refresh.png (100%) rename installer/resources/themes/{console => }/snark/images/config.png (100%) rename installer/resources/themes/{console => }/snark/images/configuration.png (100%) rename installer/resources/themes/{console => }/snark/images/create.png (100%) rename installer/resources/themes/{console => }/snark/images/delete.png (100%) rename installer/resources/themes/{console => }/snark/images/details.png (100%) rename installer/resources/themes/{console => }/snark/images/eta.png (100%) rename installer/resources/themes/{console => }/snark/images/file.png (100%) rename installer/resources/themes/{console => }/snark/images/graytile.png (100%) create mode 100644 installer/resources/themes/snark/images/hat.png rename installer/resources/themes/{console => }/snark/images/hidepeers.png (100%) rename installer/resources/themes/{console => }/snark/images/remove.png (100%) rename installer/resources/themes/{console => }/snark/images/showpeers.png (100%) rename installer/resources/themes/{console => }/snark/images/size.png (100%) rename installer/resources/themes/{console => }/snark/images/snark_add.png (100%) rename installer/resources/themes/{console => }/snark/images/snark_create.png (100%) rename installer/resources/themes/{console => }/snark/images/snark_thead.png (100%) rename installer/resources/themes/{console => }/snark/images/snarknav.png (100%) create mode 100644 installer/resources/themes/snark/images/snarknav_lowlight.png rename installer/resources/themes/{console => }/snark/images/snarknav_on.png (100%) rename installer/resources/themes/{console => }/snark/images/start.png (100%) rename installer/resources/themes/{console => }/snark/images/start_all.png (100%) rename installer/resources/themes/{console => }/snark/images/status.png (100%) rename installer/resources/themes/{console => }/snark/images/stop.png (100%) rename installer/resources/themes/{console => }/snark/images/stop_all.png (100%) rename installer/resources/themes/{console => }/snark/images/tile2.png (100%) rename installer/resources/themes/{console => }/snark/images/torrent.png (100%) rename installer/resources/themes/{console => }/snark/images/up.png (100%) rename installer/resources/themes/{console => }/snark/snark.css (100%) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 36266de1b..88f2dd5e8 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -170,7 +170,7 @@ public class I2PSnarkServlet extends Default { PrintWriter out = resp.getWriter(); out.write("\n" + - "\n" + + "\n" + ""); out.write(_("I2PSnark - Anonymous BitTorrent Client")); out.write("\n"); @@ -191,7 +191,8 @@ public class I2PSnarkServlet extends Default { out.write("
"); - out.write(_(" I2PSnark")); + out.write(" "); + out.write(_("I2PSnark")); out.write(" "); out.write(_("Forum")); out.write("\n"); @@ -238,47 +239,78 @@ public class I2PSnarkServlet extends Default { List snarks = getSortedSnarks(req); String uri = req.getRequestURI(); out.write(TABLE_HEADER); - out.write(_("Status")); + out.write(""); + out.write("title=\""); + out.write(_("Torrent Status")); + out.write("\">"); if (_manager.util().connected() && !snarks.isEmpty()) { out.write(" » "); - out.write(_("\"Hide")); + out.write("\"Hide"); + out.write(_("Hide Peers")); + out.write("\">"); } else { out.write("?p=1\">"); - out.write(_("\"Show")); + out.write("\"Show"); } out.write("
\n"); } out.write("\n
\n\n\n\n\n\n"); - out.write("\n"); @@ -938,7 +986,8 @@ public class I2PSnarkServlet extends Default { out.write("\n"); out.write("\n"); out.write("
"); - out.write(_("Add Torrent")); + out.write(""); + out.write(_("Add Torrent")); out.write("
\n
"); out.write(_("From URL")); - out.write(": \n"); + out.write(": \n"); // not supporting from file at the moment, since the file name passed isn't always absolute (so it may not resolve) //out.write("From file:
"); out.write("
\n"); out.write(_("Data to seed")); out.write(":
" + _manager.getDataDir().getAbsolutePath() + File.separatorChar - + "
\n"); @@ -980,7 +980,7 @@ public class I2PSnarkServlet extends Default { } out.write("\n"); out.write(_("or ")); - out.write(" "); From 90288202e5ee078297d7c74b371134a05de88f76 Mon Sep 17 00:00:00 2001 From: z3d Date: Sat, 2 Oct 2010 00:36:31 +0000 Subject: [PATCH 40/71] I2PSnark: Include missing add.png, spotted by xyz123. Bump to -3. --- .../resources/themes/console/snark/images/add.png | Bin 0 -> 733 bytes router/java/src/net/i2p/router/RouterVersion.java | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 installer/resources/themes/console/snark/images/add.png diff --git a/installer/resources/themes/console/snark/images/add.png b/installer/resources/themes/console/snark/images/add.png new file mode 100644 index 0000000000000000000000000000000000000000..6332fefea4be19eeadf211b0b202b272e8564898 GIT binary patch literal 733 zcmV<30wVp1P)9VHk(~TedF+gQSL8D5xnVSSWAVY>J9b+m>@{iq7_KE}go~11+5s4;8hc+i0Xa zI1j@EX5!S+Me6HNqKzU5YQwL;-W5$p%ZMKMeR<%zp69-~?<4?8|C8S?bklXr4v&Ov zb&06v2|-x?qB`90yn>Qi%Sh2^G4n)$ZdyvTPf9}1)_buUT7>`e2G&2VU@~Bb(o+Mz zi4)>IxlSY${Dj4k={-9RzU^W5g9|2V5RZ2ZulL9s2xQbZ@r6eP9Ra5u(s|C0Nj#&4>wTSkb?%#=9?@ z^oxDy-O@tyN{L@by(WWvQ3%CyEu8x{+#Jb4-h&K9Owi)2pgg+heWDyked|3R$$kL@A z#sp1v-r+=G4B8D6DqsDH0@7OztA7aT9qc1Py{()w`m``?Y0&gi2=ROcc-9+nU^I6< zT=e_Y=vSnG@?3Ue{BW5ONFttcE!R-R_W4O01|0-|K-YNXLo2`4Qv z`r1LxR6#yf3FB%T95gJnaKKivA~Z}S9A(ZxEDK}O3T04USJ P00000NkvXXu0mjf^IS-S literal 0 HcmV?d00001 diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 9bf29c887..31fe75755 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 02; + public final static long BUILD = 03; /** for example "-test" */ public final static String EXTRA = ""; From e5f53ed5e96d19d7e1940bdf7cb08f69c963f80d Mon Sep 17 00:00:00 2001 From: walking Date: Wed, 6 Oct 2010 13:07:34 +0000 Subject: [PATCH 41/71] revise and fix --- apps/i2psnark/locale/messages_zh.po | 189 ++- apps/i2ptunnel/locale/messages_zh.po | 30 +- apps/routerconsole/locale/messages_zh.po | 1469 ++++++++++++---------- 3 files changed, 956 insertions(+), 732 deletions(-) diff --git a/apps/i2psnark/locale/messages_zh.po b/apps/i2psnark/locale/messages_zh.po index e39ae0970..b649d8c58 100644 --- a/apps/i2psnark/locale/messages_zh.po +++ b/apps/i2psnark/locale/messages_zh.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: I2P i2psnark\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-01 04:52+0000\n" -"PO-Revision-Date: 2010-07-01 12:53+0800\n" +"POT-Creation-Date: 2010-10-04 02:45+0000\n" +"PO-Revision-Date: 2010-10-04 12:00+0800\n" "Last-Translator: walking \n" "Language-Team: foo \n" "MIME-Version: 1.0\n" @@ -224,7 +224,6 @@ msgid "Torrents" msgstr "种子" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:187 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:193 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:837 msgid "I2PSnark" msgstr "" @@ -233,63 +232,65 @@ msgstr "" msgid "Refresh page" msgstr "刷新页面" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:193 +msgid " I2PSnark" +msgstr "" + #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:195 msgid "Forum" msgstr "论坛" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:240 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1289 -msgid "Status" -msgstr "状态" +msgid "Status" +msgstr "状态" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:246 -msgid "Hide Peers" -msgstr "隐藏用户" +msgid "\"Hide" +msgstr "\"隐藏节点\"" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:249 -msgid "Show Peers" -msgstr "显示用户" +msgid "\"Show" +msgstr "\"显示节点\"" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:254 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 -msgid "Torrent" -msgstr "种子" +msgid "Torrent" +msgstr "种子" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:256 -msgid "ETA" -msgstr "预计剩余时间" +msgid "ETA" +msgstr "预计剩余时间" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:258 -msgid "Downloaded" -msgstr "已下载" +msgid "RX" +msgstr "下载" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:260 -msgid "Uploaded" -msgstr "已上传" +msgid "TX" +msgstr "上传" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:262 -msgid "Down Rate" -msgstr "下载速度" +msgid "Rate" +msgstr "下载速度" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:264 -msgid "Up Rate" -msgstr "上传速度" +msgid "Rate" +msgstr "上传速度" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:271 msgid "Stop all torrents and the I2P tunnel" msgstr "停止全部种子及I2P隧道" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:273 -msgid "Stop All" -msgstr "停止全部" +msgid "\"Stop" +msgstr "\"全部停止\"" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:278 msgid "Start all torrents and the I2P tunnel" msgstr "启动全部种子及I2P隧道" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:280 -msgid "Start All" -msgstr "启动全部" +msgid "\"Start" +msgstr "\"全部开始\"" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:297 msgid "No torrents loaded." @@ -317,13 +318,13 @@ msgid "Torrent file {0} does not exist" msgstr "种子文件{0}不存在" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:346 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1476 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1481 #, java-format msgid "Torrent already running: {0}" msgstr "种子已启动:{0}" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:348 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1478 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1483 #, java-format msgid "Torrent already in the queue: {0}" msgstr "种子排队中:{0}" @@ -450,7 +451,7 @@ msgid "Seeding" msgstr "正做种" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:682 -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1327 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1317 msgid "Complete" msgstr "完成" @@ -486,24 +487,24 @@ msgid "Tracker" msgstr "Tracker服务器" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:751 -msgid "Details" -msgstr "详情" +msgid "" +msgstr "" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:785 msgid "Stop the torrent" msgstr "停止种子" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:787 -msgid "Stop" -msgstr "停止" +msgid "\"Stop\"" +msgstr "\"停止\"" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:793 msgid "Start the torrent" msgstr "启动种子" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:795 -msgid "Start" -msgstr "启动" +msgid "\"Start\"" +msgstr "\"开始\"" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:800 msgid "Remove the torrent from the active list, deleting the .torrent file" @@ -518,8 +519,8 @@ msgid "Are you sure you want to delete the file \\''{0}.torrent\\'' (downloaded msgstr "您确定要删除文件“{0}.torrent”(下载的数据文件不会被删除)?" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:807 -msgid "Remove" -msgstr "移除" +msgid "\"Remove\"" +msgstr "\"删除种子\"" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:811 msgid "Delete the .torrent file and the associated data file(s)" @@ -534,8 +535,8 @@ msgid "Are you sure you want to delete the torrent \\''{0}\\'' and all downloade msgstr "您确定要删除种子“{0}”(下载的数据文件会一并被删除)?" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:818 -msgid "Delete" -msgstr "删除" +msgid "\"Delete\"" +msgstr "\"删除种子" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:861 msgid "Seed" @@ -558,8 +559,8 @@ msgid "Choking (We are not allowing the peer to request pieces)" msgstr "拒绝请求" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:927 -msgid "Add Torrent" -msgstr "添加种子" +msgid "Add Torrent" +msgstr "添加种子" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:929 msgid "From URL" @@ -571,16 +572,16 @@ msgstr "添加种子" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:937 #, java-format -msgid "Alternately, you can copy .torrent files to the directory {0}." -msgstr "或者您可以将.torrent文件复制到以下目录{0}." +msgid "You can also copy .torrent files to: {0}" +msgstr "或者您可以将.torrent文件复制到{0}." #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:939 -msgid "Removing a .torrent file will cause the torrent to stop." -msgstr "删除种子文件将导致中止该下载任务。" +msgid "Removing a .torrent will cause it to stop." +msgstr "删除种子文件将导致该下载任务中止。" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:958 -msgid "Create Torrent" -msgstr "创建种子" +msgid "Create Torrent" +msgstr "创建种子" #. out.write("From file:
\n"); #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:961 @@ -596,8 +597,8 @@ msgid "Select a tracker" msgstr "选择一个Tracker" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:982 -msgid "or" -msgstr "或" +msgid "or " +msgstr "或 " #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:985 msgid "Specify custom tracker announce URL" @@ -609,8 +610,8 @@ msgstr "创建种子" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1006 #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1133 -msgid "Configuration" -msgstr "设置" +msgid "Configuration" +msgstr "设置" #: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1009 msgid "Data directory" @@ -709,53 +710,103 @@ msgid "1 tunnel" msgid_plural "{0} tunnels" msgstr[0] "{0}隧道" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1283 -msgid "Up to higher level directory" -msgstr "上一层文件夹" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1271 +msgid "Torrent" +msgstr "种子" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 -msgid "File" -msgstr "文件" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278 +msgid "\"File\" " +msgstr "\"文件\" " -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1288 -msgid "Size" -msgstr "大小" +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1278 +msgid "\"FileSize\"Size" +msgstr "\"文件大小\"大小" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1311 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1279 +msgid "Status" +msgstr "状态" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1301 msgid "Directory" msgstr "文件夹" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1316 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1306 msgid "Torrent not found?" msgstr "种子未找到" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1324 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1314 msgid "File not found in torrent?" msgstr "种子中没有发现文件?" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1330 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1320 msgid "complete" msgstr "完成" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1331 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1321 msgid "bytes remaining" msgstr "剩余字节数" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1456 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1373 +msgid "Up to higher level directory" +msgstr "上一层文件夹" + +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1461 #, java-format msgid "Torrent fetched from {0}" msgstr "从{0}获取种子成功" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1484 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 #, java-format msgid "Torrent at {0} was not valid" msgstr "{0}的种子中有错误" -#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1489 +#: ../java/src/org/klomp/snark/web/I2PSnarkServlet.java:1494 #, java-format msgid "Torrent was not retrieved from {0}" msgstr "从{0}获得种子失败" +#~ msgid "Status" +#~ msgstr "状态" +#~ msgid "Hide Peers" +#~ msgstr "隐藏用户" +#~ msgid "Show Peers" +#~ msgstr "显示用户" +#~ msgid "ETA" +#~ msgstr "预计剩余时间" +#~ msgid "Downloaded" +#~ msgstr "已下载" +#~ msgid "Uploaded" +#~ msgstr "已上传" +#~ msgid "Down Rate" +#~ msgstr "下载速度" +#~ msgid "Up Rate" +#~ msgstr "上传速度" +#~ msgid "Stop All" +#~ msgstr "停止全部" +#~ msgid "Start All" +#~ msgstr "启动全部" +#~ msgid "Details" +#~ msgstr "详情" +#~ msgid "Stop" +#~ msgstr "停止" +#~ msgid "Start" +#~ msgstr "启动" +#~ msgid "Remove" +#~ msgstr "移除" +#~ msgid "Delete" +#~ msgstr "删除" +#~ msgid "Add Torrent" +#~ msgstr "添加种子" +#~ msgid "Create Torrent" +#~ msgstr "创建种子" +#~ msgid "or" +#~ msgstr "或" +#~ msgid "Configuration" +#~ msgstr "设置" +#~ msgid "File" +#~ msgstr "文件" +#~ msgid "Size" +#~ msgstr "大小" #~ msgid "Cannot change the I2CP settings while torrents are active" #~ msgstr "正在下载/上传,无法更改I2CP设置" #~ msgid "{0} torrents" diff --git a/apps/i2ptunnel/locale/messages_zh.po b/apps/i2ptunnel/locale/messages_zh.po index 0955d4e0c..f6efbfd3b 100644 --- a/apps/i2ptunnel/locale/messages_zh.po +++ b/apps/i2ptunnel/locale/messages_zh.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: I2P i2ptunnel\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-07-01 04:52+0000\n" +"POT-Creation-Date: 2010-10-04 02:45+0000\n" "PO-Revision-Date: 2010-05-29 10:57+0800\n" "Last-Translator: walking \n" "Language-Team: foo \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Poedit-Language: Chinese\n" -#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:493 +#: ../java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java:492 #, java-format msgid "" "To visit the destination in your host database, click here\n" "Language-Team: \n" @@ -28,6 +28,7 @@ msgstr "按路由器 HASH 封杀: {0}" msgid "Banned by router hash" msgstr "已按路由 HASH 封杀" +#. Temporary reason, until the job finishes #: ../../../router/java/src/net/i2p/router/Blocklist.java:673 msgid "IP banned" msgstr "IP封锁" @@ -45,6 +46,8 @@ msgstr "拒绝共享:准备退出" msgid "Rejecting tunnels: High message delay" msgstr "拒绝共享:高消息延迟" +#. hard to do {0} from here +#. setTunnelStatus("Rejecting " + (100 - (int) probAccept*100) + "% of tunnels: High number of requests"); #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:177 msgid "Rejecting most tunnels: High number of requests" msgstr "收紧共享:高请求量" @@ -53,14 +56,21 @@ msgstr "收紧共享:高请求量" msgid "Rejecting tunnels: Limit reached" msgstr "拒绝共享:隧道数限额" +#. .067KBps +#. * also limited to 90% - see below +#. always leave at least 4KBps free when allowing #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:301 msgid "Rejecting tunnels: Bandwidth limit" msgstr "拒绝共享:带宽限额" +#. hard to do {0} from here +#. setTunnelStatus("Rejecting " + ((int)(100.0*probReject)) + "% of tunnels: Bandwidth limit"); #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:371 msgid "Rejecting most tunnels: Bandwidth limit" msgstr "收紧共享:带宽限额" +#. hard to do {0} from here +#. setTunnelStatus("Accepting " + (100-(int)(100.0*probReject)) + "% of tunnels"); #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:375 msgid "Accepting most tunnels" msgstr "接收多数隧道" @@ -69,53 +79,58 @@ msgstr "接收多数隧道" msgid "Accepting tunnels" msgstr "接收共享隧道" +#. NPE, too early +#. if (_context.router().getRouterInfo().getBandwidthTier().equals("K")) +#. setTunnelStatus("Not expecting tunnel requests: Advertised bandwidth too low"); +#. else #: ../../../router/java/src/net/i2p/router/RouterThrottleImpl.java:487 msgid "Rejecting tunnels" msgstr "拒绝参与共享隧道" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:49 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:48 msgid "Ensure that nothing blocks outbound HTTP, check logs and if nothing helps, read the FAQ about reseeding manually." msgstr "请保证HTTP通信没有受阻,检查 日志 ,如果问题仍无法解决,请参照 FAQ 进行手动补种。" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:81 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:80 msgid "Reseeding" msgstr "正在补种(引导网络启动)..." -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:145 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:144 msgid "Reseeding: fetching seed URL." msgstr "正在补种:获取补种连接..." -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:151 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:150 msgid "Last reseed failed fully (failed reading seed URL)." msgstr "上次补种尝试失败(读取补种URL失败)。" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:177 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:176 msgid "Last reseed failed fully (no routerInfo URLs at seed URL)." msgstr "上次补种尝试失败(补种服务器未返回任何路由信息URL)。" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:190 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:189 #, java-format msgid "Reseeding: fetching router info from seed URL ({0} successful, {1} errors)." msgstr "正在补种:从补种服务器获取路由信息({0}成功,{1}失败)。" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:211 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:210 #, java-format msgid "Last reseed failed partly ({0}% of {1})." msgstr "上次补种部分失败({0}%失败,共{1})" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:216 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:215 #, java-format msgid "Last reseed failed ({0}% of {1})." msgstr "上次补种失败({0}%失败,共{1})" -#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:226 +#: ../../../router/java/src/net/i2p/router/networkdb/reseed/Reseeder.java:225 msgid "Last reseed failed fully (exception caught)." msgstr "上次补种失败(exception caught)." -#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:498 +#: ../../../router/java/src/net/i2p/router/transport/CommSystemFacadeImpl.java:510 msgid "NetDb entry" msgstr "NetDb 项目" +#. This used to be "no common transports" but it is almost always no transports at all #: ../../../router/java/src/net/i2p/router/transport/GetBidsJob.java:70 msgid "No transports (hidden or starting up?)" msgstr "无数据传输(隐身或正在启动)" @@ -124,347 +139,357 @@ msgstr "无数据传输(隐身或正在启动)" msgid "Unreachable on any transport" msgstr "各传输方式均不可达" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:503 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:508 msgid "Router Transport Addresses" msgstr "路由传输地址" -#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:509 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:514 #, java-format msgid "{0} is used for outbound connections only" msgstr "{0} 仅被用作出站连接" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:380 -#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:594 -#, java-format -msgid "Excessive clock skew: {0}" -msgstr "严重时滞:{0}" +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:528 +#: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:257 +msgid "Definitions" +msgstr "定义" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:691 -msgid "NTCP connections" -msgstr "NTCP连接" - -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:692 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1879 -msgid "Limit" -msgstr "限制" - -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:693 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1880 -msgid "Timeout" -msgstr "超时" - -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:696 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1883 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2146 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:715 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1885 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:24 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:33 #: ../java/src/net/i2p/router/web/ConfigPeerHandler.java:35 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:81 #: ../java/src/net/i2p/router/web/ProfileOrganizerRenderer.java:187 -#: ../java/src/net/i2p/router/web/TunnelRenderer.java:235 +#: ../java/src/net/i2p/router/web/TunnelRenderer.java:238 msgid "Peer" msgstr "节点" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:697 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1887 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2147 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:529 +msgid "The remote peer, identified by router hash" +msgstr "以路由Hash区分的远程节点" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:530 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:716 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1889 msgid "Dir" msgstr "类别" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:698 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1888 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2155 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:531 +msgid "Inbound connection" +msgstr "进站连接" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:533 +msgid "Outbound connection" +msgstr "出站连接" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:535 +msgid "They offered to introduce us (help other peers traverse our firewall)" +msgstr "对方节点为中继帮助我方穿越防火墙" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:537 +msgid "We offered to introduce them (help other peers traverse their firewall)" +msgstr "我方为中继帮助其他节点穿越防火墙" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 +msgid "How long since a packet has been received / sent" +msgstr "最近一次数据传输距现在的时间" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:538 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:717 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1890 msgid "Idle" msgstr "空闲" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:699 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1893 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2156 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:718 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1895 #: ../java/src/net/i2p/router/web/TunnelRenderer.java:156 msgid "In/Out" msgstr "入/出" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:700 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1898 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2157 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:539 +msgid "The smoothed inbound / outbound transfer rate (KBytes per second)" +msgstr "进/出站平滑传输率(Kbyte/s)" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540 +msgid "How long ago this connection was established" +msgstr "连接建立时间" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:540 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900 msgid "Up" msgstr "寿命" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:701 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1900 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2158 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:720 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1902 msgid "Skew" msgstr "时滞" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:702 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1917 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2168 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:541 +msgid "The difference between the peer's clock and your own" +msgstr "节点与本地时钟间的时滞" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:542 +msgid "The congestion window, which is how many bytes can be sent without an acknowledgement" +msgstr "拥塞窗口,即每次确认前可发送的字节量" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:543 +msgid "The number of sent messages awaiting acknowledgement" +msgstr "等待确认的已发送数据包数量" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:544 +msgid "The maximum number of concurrent messages to send" +msgstr "并发消息的最大发送量" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:545 +msgid "The number of pending sends which exceed congestion window" +msgstr "超过拥塞窗口的待发送数量" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:546 +msgid "The slow start threshold" +msgstr "慢启动门槛" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:547 +msgid "The round trip time in milliseconds" +msgstr "往返时间单位毫秒" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1912 +msgid "Dev" +msgstr "偏差" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:548 +msgid "The standard deviation of the round trip time in milliseconds" +msgstr "环行时间的标准差单位毫秒" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:549 +msgid "The retransmit timeout in milliseconds" +msgstr "重传输超时时间单位毫秒" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:550 +msgid "Current maximum send packet size / estimated maximum receive packet size (bytes)" +msgstr "当前发送数据包的最大大小/预计接收数据包的最大大小(字节)" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1919 msgid "TX" msgstr "发包" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:703 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1919 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:2169 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:551 +msgid "The total number of packets sent to the peer" +msgstr "向节点发送的数据包总量" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:722 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1921 msgid "RX" msgstr "接包" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:704 +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:552 +msgid "The total number of packets received from the peer" +msgstr "从节点接收到数据包总量" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1924 +msgid "Dup TX" +msgstr "重发包" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:553 +msgid "The total number of packets retransmitted to the peer" +msgstr "向节点发送的重复数据包总量" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:554 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1926 +msgid "Dup RX" +msgstr "重接包" + +#: ../../../router/java/src/net/i2p/router/transport/TransportManager.java:554 +msgid "The total number of duplicate packets received from the peer" +msgstr "从节点接收到的重复数据包总量" + +#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:409 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/EstablishState.java:627 +#, java-format +msgid "Excessive clock skew: {0}" +msgstr "严重时滞:{0}" + +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:710 +msgid "NTCP connections" +msgstr "NTCP连接" + +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:711 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1881 +msgid "Limit" +msgstr "限制" + +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:712 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1882 +msgid "Timeout" +msgstr "超时" + +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:723 msgid "Out Queue" msgstr "出队" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:705 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:724 msgid "Backlogged?" msgstr "积压?" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:719 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1942 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:738 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1944 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82 msgid "Inbound" msgstr "入站" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:721 -#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1944 +#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:740 +#: ../../../router/java/src/net/i2p/router/transport/udp/UDPTransport.java:1946 #: ../java/src/net/i2p/router/web/ConfigTunnelsHelper.java:82 msgid "Outbound" msgstr "出站" -#: ../../../router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java:768 +#. buf.append("


InboundOutbound
"); - out.write(_("Torrent")); + out.write(""); + out.write(_("Torrent")); out.write(""); - out.write(_("ETA")); + out.write(""); + out.write(_("ETA")); out.write(""); - out.write(_("RX")); + out.write(""); + out.write(_("RX")); out.write(""); - out.write(_("TX")); + out.write(""); + out.write(_("TX")); out.write(""); - out.write(_("Rate")); + out.write("Rate"); out.write(""); - out.write(_("Rate")); + out.write(""); + out.write(_("Rate")); out.write(""); if (_manager.util().connected()) { out.write(""); - out.write(_("\"Stop")); + out.write("\"");"); out.write(""); } else if (!snarks.isEmpty()) { out.write(""); - out.write(_("\"Start")); + out.write("\"Start"); out.write(""); } else { out.write(" "); @@ -749,7 +781,7 @@ public class I2PSnarkServlet extends Default { out.write(" "); - out.write(_("")); + out.write(""); out.write(""); break; } @@ -785,7 +817,11 @@ public class I2PSnarkServlet extends Default { + "\" title=\""); out.write(_("Stop the torrent")); out.write("\">"); - out.write(_("\"Stop\"")); + out.write("\"");"); out.write(""); } else { if (isValid) { @@ -793,7 +829,11 @@ public class I2PSnarkServlet extends Default { + "\" title=\""); out.write(_("Start the torrent")); out.write("\">"); - out.write(_("\"Start\"")); + out.write("\"");"); out.write(""); } out.write(""); - out.write(_("\"Remove\"")); + out.write("\"");"); out.write(""); out.write(""); - out.write(_("\"Delete\"")); + out.write("\"");"); out.write(""); } out.write("\n
"); out.write(_("From URL")); out.write(": \n"); @@ -969,7 +1018,8 @@ public class I2PSnarkServlet extends Default { out.write("\n"); out.write("\n"); out.write(""); - out.write(_("Create Torrent")); + out.write(""); + out.write(_("Create Torrent")); out.write("
\n
"); //out.write("From file:
\n"); out.write(_("Data to seed")); @@ -1017,7 +1067,8 @@ public class I2PSnarkServlet extends Default { out.write("\n"); out.write("\n"); out.write(""); - out.write(_("Configuration")); + out.write(""); + out.write(_("Configuration")); out.write("
\n"); out.write("
"); out.write(_("Data directory")); @@ -1144,7 +1195,7 @@ public class I2PSnarkServlet extends Default { private void writeConfigLink(PrintWriter out) throws IOException { out.write("\n"); } @@ -1217,7 +1268,7 @@ public class I2PSnarkServlet extends Default { return buf.toString(); } - private static final String HEADER = ""; + private static final String HEADER = ""; private static final String TABLE_HEADER = "\n" + @@ -1284,13 +1335,13 @@ public class I2PSnarkServlet extends Default { title = title.substring(0, title.length() - 1); title = _("Torrent") + ": " + title; buf.append(title); - buf.append("").append(HEADER).append("\n
").append(HEADER).append("\n
I2PSnark").append("
"); buf.append("
" + "
" + - ""); + ""); //DateFormat dfmt=DateFormat.getDateTimeInstance(DateFormat.MEDIUM, // DateFormat.MEDIUM); for (int i=0 ; i< ls.length ; i++) @@ -1383,7 +1434,7 @@ public class I2PSnarkServlet extends Default { // corrupts utf-8 //buf.append(URI.encodePath(URI.addPaths(base,"../"))); buf.append(URI.addPaths(base,"../")); - buf.append("\"> ") + buf.append("\"> ") .append(_("Up to higher level directory")).append("\n"); } @@ -1392,7 +1443,7 @@ public class I2PSnarkServlet extends Default { buf.append("
").append(_("\"File\" ")).append(title).append("").append(_("\"FileSize\"Size")) - .append("").append(_("Status")).append("
").append("\"").append(_("File")).append("\" ").append(title).append("").append(_("\"").append(_("FileSize")).append("\"").append(_("Size")); + buf.append("").append("").append(_("Status")).append("
\n"); - buf.append("\n"); + buf.append("\n"); return buf.toString(); } diff --git a/installer/resources/themes/console/snark/images/hat.png b/installer/resources/themes/console/snark/images/hat.png deleted file mode 100644 index 4599824c490fa2c8d87dc30e524ad0890320d0da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5802 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 delta 949 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 IM6N<$f(FweEdT%j literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/hidepeers.png b/installer/resources/themes/snark/images/hidepeers.png similarity index 100% rename from installer/resources/themes/console/snark/images/hidepeers.png rename to installer/resources/themes/snark/images/hidepeers.png diff --git a/installer/resources/themes/console/snark/images/remove.png b/installer/resources/themes/snark/images/remove.png similarity index 100% rename from installer/resources/themes/console/snark/images/remove.png rename to installer/resources/themes/snark/images/remove.png diff --git a/installer/resources/themes/console/snark/images/showpeers.png b/installer/resources/themes/snark/images/showpeers.png similarity index 100% rename from installer/resources/themes/console/snark/images/showpeers.png rename to installer/resources/themes/snark/images/showpeers.png diff --git a/installer/resources/themes/console/snark/images/size.png b/installer/resources/themes/snark/images/size.png similarity index 100% rename from installer/resources/themes/console/snark/images/size.png rename to installer/resources/themes/snark/images/size.png diff --git a/installer/resources/themes/console/snark/images/snark_add.png b/installer/resources/themes/snark/images/snark_add.png similarity index 100% rename from installer/resources/themes/console/snark/images/snark_add.png rename to installer/resources/themes/snark/images/snark_add.png diff --git a/installer/resources/themes/console/snark/images/snark_create.png b/installer/resources/themes/snark/images/snark_create.png similarity index 100% rename from installer/resources/themes/console/snark/images/snark_create.png rename to installer/resources/themes/snark/images/snark_create.png diff --git a/installer/resources/themes/console/snark/images/snark_thead.png b/installer/resources/themes/snark/images/snark_thead.png similarity index 100% rename from installer/resources/themes/console/snark/images/snark_thead.png rename to installer/resources/themes/snark/images/snark_thead.png diff --git a/installer/resources/themes/console/snark/images/snarknav.png b/installer/resources/themes/snark/images/snarknav.png similarity index 100% rename from installer/resources/themes/console/snark/images/snarknav.png rename to installer/resources/themes/snark/images/snarknav.png diff --git a/installer/resources/themes/snark/images/snarknav_lowlight.png b/installer/resources/themes/snark/images/snarknav_lowlight.png new file mode 100644 index 0000000000000000000000000000000000000000..ba9435c0cde059a4444c16f5c1901a78dd1006a5 GIT binary patch literal 659 zcmV;E0&M+>P)0ssI2RtrC$00009a7bBm0017s z0017s0dCNBJ^%m$MM*?KRCt`lmI-d-FbqZc3Epy!(G&Gt)3bh%%X*!OkZ2u{1;J6AVOJcs>=@f@pn zvA?gYJFNC~{CK)IujsQG2_t6T?KF!y!?X^vZp%iG_uQi|`soyWh=Dq;T-#e_==BdiVzrYTZ!u1TR z^7rd2-D`ddVK#LnH1F;Yi6q|5g~Z=7x};eC+bH))XKz*Wg4yV$Z5Y~MwG0> zVn%l)NJTU3U51!fdcATK4q7O1piQgwoLchGN;j-6^E-XckpMLSIcbY-QrP}7y>A@XV@ zk87rUq$CkG(!=%9uMAXH@ZfeftcY}nx%2`V3-Hbg<(fz&T~~e&G|e?J>=mD%C^~CJ zV7ywL)#8Nh_Ni8KE6kM|bIrVuHEBMwA(gJH0b)Urf(s`U!)aEyoE@Tj;BmAhbyX4c z6SW;K7YQLvf@3UJD}Z&ex)?P36R$JL$r{CTMH~GGErL7yZ&zO%znjogjEP#LB^X_Y zh@@I;|2YJQQ59l9S_SiRYMTo#Cu$f&DwR(Nc-;$BiN+xNox@=@1N%MCVa?_n#A>aV t+;EZQ)u%p#0X3CK82)KVR#>gq!apUk&?elTNvi+=002ovPDHLkV1jdJFP#7Y literal 0 HcmV?d00001 diff --git a/installer/resources/themes/console/snark/images/snarknav_on.png b/installer/resources/themes/snark/images/snarknav_on.png similarity index 100% rename from installer/resources/themes/console/snark/images/snarknav_on.png rename to installer/resources/themes/snark/images/snarknav_on.png diff --git a/installer/resources/themes/console/snark/images/start.png b/installer/resources/themes/snark/images/start.png similarity index 100% rename from installer/resources/themes/console/snark/images/start.png rename to installer/resources/themes/snark/images/start.png diff --git a/installer/resources/themes/console/snark/images/start_all.png b/installer/resources/themes/snark/images/start_all.png similarity index 100% rename from installer/resources/themes/console/snark/images/start_all.png rename to installer/resources/themes/snark/images/start_all.png diff --git a/installer/resources/themes/console/snark/images/status.png b/installer/resources/themes/snark/images/status.png similarity index 100% rename from installer/resources/themes/console/snark/images/status.png rename to installer/resources/themes/snark/images/status.png diff --git a/installer/resources/themes/console/snark/images/stop.png b/installer/resources/themes/snark/images/stop.png similarity index 100% rename from installer/resources/themes/console/snark/images/stop.png rename to installer/resources/themes/snark/images/stop.png diff --git a/installer/resources/themes/console/snark/images/stop_all.png b/installer/resources/themes/snark/images/stop_all.png similarity index 100% rename from installer/resources/themes/console/snark/images/stop_all.png rename to installer/resources/themes/snark/images/stop_all.png diff --git a/installer/resources/themes/console/snark/images/tile2.png b/installer/resources/themes/snark/images/tile2.png similarity index 100% rename from installer/resources/themes/console/snark/images/tile2.png rename to installer/resources/themes/snark/images/tile2.png diff --git a/installer/resources/themes/console/snark/images/torrent.png b/installer/resources/themes/snark/images/torrent.png similarity index 100% rename from installer/resources/themes/console/snark/images/torrent.png rename to installer/resources/themes/snark/images/torrent.png diff --git a/installer/resources/themes/console/snark/images/up.png b/installer/resources/themes/snark/images/up.png similarity index 100% rename from installer/resources/themes/console/snark/images/up.png rename to installer/resources/themes/snark/images/up.png diff --git a/installer/resources/themes/console/snark/snark.css b/installer/resources/themes/snark/snark.css similarity index 100% rename from installer/resources/themes/console/snark/snark.css rename to installer/resources/themes/snark/snark.css From a55a464694156234ece587f0479c504f54cd0ae2 Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 22 Oct 2010 08:17:49 +0000 Subject: [PATCH 52/71] I2Psnark: Ensure our css uses the new path to our theme resources. --- installer/resources/themes/snark/snark.css | 75 +++++++++++----------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/installer/resources/themes/snark/snark.css b/installer/resources/themes/snark/snark.css index 82d5eb2d0..93e1d22e2 100644 --- a/installer/resources/themes/snark/snark.css +++ b/installer/resources/themes/snark/snark.css @@ -2,7 +2,7 @@ /* Guantanamo Commemorative Edition. */ body { - background: #101 url('/themes/console/snark/images/graytile.png'); + background: #101 url('/themes/snark/ubergine/images/graytile.png'); color: #001; font: 8pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif; } @@ -23,8 +23,8 @@ body { font-size: 11pt; color: #f70; text-shadow: 1px 1px #420; - background: url('/themes/console/snark/images/snarknav_lowlight.png') no-repeat scroll center bottom; - background: #310 url('/themes/console/snark/images/snarknav_lowlight.png') repeat-x scroll center center; + background: url('/themes/snark/ubergine/images/snarknav_lowlight.png') no-repeat scroll center bottom; + background: #310 url('/themes/snark/ubergine/images/snarknav_on.png') repeat-x scroll center center; -moz-border-radius: 0px; -khtml-border-radius: 3px; border-radius: 0px; @@ -42,8 +42,8 @@ body { font-weight: bold; font-size: 11pt; color: #f50; - background: #310 url('/themes/console/snark/images/snarknav_on.png') repeat-x scroll center center; - background: url('/themes/console/snark/images/snarknav_on.png') repeat-x scroll center center; + background: #310 url('/themes/snark/ubergine/images/snarknav_on.png') repeat-x scroll center center; + background: url('/themes/snark/ubergine/images/snarknav_lowlight.png') repeat-x scroll center center; -moz-border-radius: 0; -khtml-border-radius: 0; border-radius: 0; @@ -60,20 +60,11 @@ body { font-weight: bold; font-size: 11pt; color: #fb0; - background: #310 url('/themes/console/snark/images/snarknav_on.png') repeat-x scroll center center; -} - -.snarkRefresh:first-child { - -moz-border-radius: 0px 0 0 3px; - -khtml-border-radius: 3px; - border-radius: 0; - -moz-box-shadow: inset 0 0 1px 0 #f90; - -khtml-box-shadow: inset 0 0 1px 0 #f90; - box-shadow: 0 0 1px 0 #f90; + background: #310 url('/themes/snark/ubergine/images/snarknav_on.png') repeat-x scroll center center; } .snarkRefresh:last-child { - -moz-border-radius: 0 3px 0px 0px; + -moz-border-radius: 0 3px 3px 0px; -khtml-border-radius: 0 3px 0 0; border-radius: 0; -moz-box-shadow: inset 0 0 1px 0 #f90; @@ -81,6 +72,15 @@ body { box-shadow: 0 0 1px 0 #f90; } +.snarkRefresh:first-child { + -moz-border-radius: 3px 0 0 3px; + -khtml-border-radius: 3px; + border-radius: 0; + -moz-box-shadow: inset 0 0 1px 0 #f90; + -khtml-box-shadow: inset 0 0 1px 0 #f90; + box-shadow: 0 0 1px 0 #f90; +} + .snarkMessages { font: bold 9pt "Lucida Console","DejaVu Sans Mono",Courier,mono !important; text-align: left; @@ -95,7 +95,7 @@ body { color: #22f; height: 70px; width: auto; - background: #111 url('/themes/console/snark/images/hat.png') no-repeat scroll right center; + background: #101 url('/themes/snark/ubergine/images/hat.png') no-repeat scroll right center; } .logshim { @@ -108,7 +108,7 @@ pre { padding: 0; text-align: left !important; height: 8px; - color: #070; + color: #51a; font-weight: bold !important; } @@ -118,7 +118,7 @@ table { padding: 0px; border-spacing: 0px; border-collapse: collapse; - color: #323 url("/themes/console/snark/images/hat.png"); + color: #323 url("/themes/snark/ubergine/images/hat.png"); width: 100%; opacity: 1 !important; } @@ -128,7 +128,7 @@ tr { } thead, tfoot { - background: url("/themes/console/snark/images/snark_thead.png") repeat-x scroll 0 0 #101; + background: url("/themes/snark/ubergine/images/snark_thead.png") repeat-x scroll 0 0 #101; text-shadow:0 2px 5px #333333; } @@ -313,7 +313,7 @@ td:first-child { border-radius: 0 0 5px 5px; border-top: 0; text-shadow: 0px 3px 5px #323; - background: #101 url('/themes/console/snark/images/snarknav.png') repeat-x scroll center center !important; + background: #101 url('/themes/snark/ubergine/images/snarknav.png') repeat-x scroll center center !important; font-variant: small-caps !important; } @@ -323,7 +323,7 @@ td:first-child { } .page { - background: #323 url('/themes/console/snark/images/tile2.png'); + background: #323 url('/themes/snark/ubergine/images/tile2.png'); color: #310; min-width: 820px !important; margin: 5px 0 0 0; @@ -386,13 +386,13 @@ input { -khtml-border-radius: 4px; border-radius: 4px; border: 1px inset #000; - background: #212 url('/themes/console/snark/images/graytile.png'); + background: #212 url('/themes/snark/ubergine/images/graytile.png'); color: #f60; } input.r { text-align: right; - background: url('/themes/console/snark/images/graytile.png'); + background: url('/themes/snark/ubergine/images/graytile.png'); } input[type=submit] { @@ -423,7 +423,7 @@ input[type=text]:active, input[type=text]:hover, input.r:hover { select { background: #333; - background: url('/themes/console/snark/images/graytile.png') !important; + background: url('/themes/snark/ubergine/images/graytile.png') !important; color: #f60; font: 9pt "Lucida Sans Unicode","Bitstream Vera Sans",Verdana,Tahoma,Helvetica,sans-serif; font-weight: bold; @@ -440,7 +440,7 @@ select:hover, textarea:hover { } textarea { - background: #111 url('/themes/console/snark/images/graytile.png'); + background: #111 url('/themes/snark/ubergine/images/graytile.png'); color: #f60; font-weight: bold; padding: 1px 4px 0px; @@ -493,7 +493,7 @@ div.newtorrentsection { -khtml-box-shadow: inset 0px 0px 1px 0px #101; box-shadow: inset 0px 0px 1px 0px #101; word-wrap: break-word; - background: #545 url('/themes/console/snark/images/snark_create.png') no-repeat scroll right center; + background: #545 url('/themes/snark/ubergine/images/snark_create.png') no-repeat scroll right center; opacity: 1.0; } @@ -510,7 +510,7 @@ div.addtorrentsection { -khtml-box-shadow: inset 0px 0px 1px 0px #101; box-shadow: inset 0px 0px 1px 0px #101; word-wrap: break-word; - background: #545 url('/themes/console/snark/images/snark_add.png') no-repeat scroll right center; + background: #545 url('/themes/snark/ubergine/images/snark_add.png') no-repeat scroll right center; opacity: 1.0; } @@ -544,7 +544,7 @@ div.configsectionpanel { box-shadow: inset 0px 0px 1px 0px #101; word-wrap: break-word; text-align: center; - background: #545 url('/themes/console/snark/images/configuration.png') no-repeat scroll right center; + background: #545 url('/themes/snark/ubergine/images/configuration.png') no-repeat scroll right center; font-weight: bold; } @@ -575,22 +575,23 @@ code { font-family: "Lucida Console", "DejaVu Sans Mono", Courier, mono; } .snarknavbar { - margin: 0 0 10px 0 !important; - padding: 7px 10px; - border: 1px solid #001; - -moz-border-radius: 4px; - -khtml-border-radius: 4px; - border-radius: 4px; + margin: -10px 0 5px 0 !important; + padding: 9px 10px 10px; + border: 1px solid #101; + -moz-border-radius: 0 0 8px 8px; + -khtml-border-radius: 0 0 4px 4px; + border-radius: 0 0 4px 4px; -moz-box-shadow: inset 0px 0px 1px 0px #002; -khtml-box-shadow: inset 0px 0px 1px 0px #002; box-shadow: inset 0px 0px 1px 0px #002; - background: #111 url('/themes/console/snark/images/snarknav.png') repeat-x scroll center center; + background: #111 url('/themes/snark/ubergine/images/snarktopnav.png') repeat-x scroll center center; text-transform: uppercase !important; letter-spacing: 0.065em !important; font-weight: bold; font-size: 11.5pt; color: #001; - min-width: 820px; + min-width: 700px; + width: 700px; text-align: center; } From 8ccad29353ca6547c28fa7fd029e788e8929760a Mon Sep 17 00:00:00 2001 From: z3d Date: Fri, 22 Oct 2010 09:01:29 +0000 Subject: [PATCH 53/71] I2PSnark: Fix minor tag issue; add missing navbar bg graphic. --- .../src/org/klomp/snark/web/I2PSnarkServlet.java | 10 ++++++---- .../resources/themes/snark/images/snarktopnav.png | Bin 0 -> 163 bytes 2 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 installer/resources/themes/snark/images/snarktopnav.png diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 88f2dd5e8..a31ffe669 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -239,8 +239,8 @@ public class I2PSnarkServlet extends Default { List snarks = getSortedSnarks(req); String uri = req.getRequestURI(); out.write(TABLE_HEADER); - out.write(""); - out.write("title=\""); + out.write(""); if (_manager.util().connected() && !snarks.isEmpty()) { @@ -250,14 +250,16 @@ public class I2PSnarkServlet extends Default { out.write("\">"); out.write("\"Hide"); + out.write("\" alt=\""); out.write(_("Hide Peers")); out.write("\">"); } else { out.write("?p=1\">"); out.write("\"Show"); + out.write("\" alt=\""); + out.write(_("Show Peers")); + out.write("\">"); } out.write("
\n"); } diff --git a/installer/resources/themes/snark/images/snarktopnav.png b/installer/resources/themes/snark/images/snarktopnav.png new file mode 100644 index 0000000000000000000000000000000000000000..0d00c75c2ff77e1cbef02aaeb7faf2824ee5af40 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^EI{nZ!2~3yh6>CEQk(@Ik;M!Qe1}1p@p%4<6rf|L-y9|NsArg%SZN{~k|pG-NoNk#c#$)W69GQZ Date: Fri, 22 Oct 2010 09:43:16 +0000 Subject: [PATCH 54/71] I2PSnark: Relocate theme to /themes/snark/ubergine/; update build.xml --- build.xml | 4 ++-- .../themes/snark/{ => ubergine}/favicon.ico | Bin .../themes/snark/{ => ubergine}/images/add.png | Bin .../snark/{ => ubergine}/images/arrow_refresh.png | Bin .../themes/snark/{ => ubergine}/images/config.png | Bin .../snark/{ => ubergine}/images/configuration.png | Bin .../themes/snark/{ => ubergine}/images/create.png | Bin .../themes/snark/{ => ubergine}/images/delete.png | Bin .../themes/snark/{ => ubergine}/images/details.png | Bin .../themes/snark/{ => ubergine}/images/eta.png | Bin .../themes/snark/{ => ubergine}/images/file.png | Bin .../themes/snark/{ => ubergine}/images/graytile.png | Bin .../themes/snark/{ => ubergine}/images/hat.png | Bin .../snark/{ => ubergine}/images/hidepeers.png | Bin .../themes/snark/{ => ubergine}/images/remove.png | Bin .../snark/{ => ubergine}/images/showpeers.png | Bin .../themes/snark/{ => ubergine}/images/size.png | Bin .../snark/{ => ubergine}/images/snark_add.png | Bin .../snark/{ => ubergine}/images/snark_create.png | Bin .../snark/{ => ubergine}/images/snark_thead.png | Bin .../themes/snark/{ => ubergine}/images/snarknav.png | Bin .../{ => ubergine}/images/snarknav_lowlight.png | Bin .../snark/{ => ubergine}/images/snarknav_on.png | Bin .../snark/{ => ubergine}/images/snarktopnav.png | Bin .../themes/snark/{ => ubergine}/images/start.png | Bin .../snark/{ => ubergine}/images/start_all.png | Bin .../themes/snark/{ => ubergine}/images/status.png | Bin .../themes/snark/{ => ubergine}/images/stop.png | Bin .../themes/snark/{ => ubergine}/images/stop_all.png | Bin .../themes/snark/{ => ubergine}/images/tile2.png | Bin .../themes/snark/{ => ubergine}/images/torrent.png | Bin .../themes/snark/{ => ubergine}/images/up.png | Bin .../resources/themes/snark/{ => ubergine}/snark.css | 0 33 files changed, 2 insertions(+), 2 deletions(-) rename installer/resources/themes/snark/{ => ubergine}/favicon.ico (100%) rename installer/resources/themes/snark/{ => ubergine}/images/add.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/arrow_refresh.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/config.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/configuration.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/create.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/delete.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/details.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/eta.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/file.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/graytile.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/hat.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/hidepeers.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/remove.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/showpeers.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/size.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/snark_add.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/snark_create.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/snark_thead.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/snarknav.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/snarknav_lowlight.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/snarknav_on.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/snarktopnav.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/start.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/start_all.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/status.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/stop.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/stop_all.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/tile2.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/torrent.png (100%) rename installer/resources/themes/snark/{ => ubergine}/images/up.png (100%) rename installer/resources/themes/snark/{ => ubergine}/snark.css (100%) diff --git a/build.xml b/build.xml index ca7766f11..88a3caa8c 100644 --- a/build.xml +++ b/build.xml @@ -414,8 +414,8 @@ - - + +