From fa92beae5af8b35ff7bdd377579a28184c1e282d Mon Sep 17 00:00:00 2001
From: zzz
Date: Wed, 16 Dec 2009 17:29:28 +0000
Subject: [PATCH] more cleanup and tagging; remove untranslatable button
images; add button css
---
apps/susidns/src/css.css | 30 ++++++++-
apps/susidns/src/images/add.png | Bin 2489 -> 0 bytes
apps/susidns/src/images/delete.png | Bin 3286 -> 0 bytes
apps/susidns/src/images/reload.png | Bin 2712 -> 0 bytes
apps/susidns/src/images/save.png | Bin 2584 -> 0 bytes
apps/susidns/src/images/search.png | Bin 2766 -> 0 bytes
.../src/i2p/susi/dns/AddressbookBean.java | 61 +++++++++++++-----
.../src/java/src/i2p/susi/dns/ConfigBean.java | 16 +++--
.../src/java/src/i2p/susi/dns/Messages.java | 24 +++----
.../src/i2p/susi/dns/SubscriptionsBean.java | 18 ++++--
apps/susidns/src/jsp/addressbook.jsp | 8 +--
apps/susidns/src/jsp/config.jsp | 6 +-
apps/susidns/src/jsp/index.jsp | 2 +-
apps/susidns/src/jsp/subscriptions.jsp | 6 +-
14 files changed, 115 insertions(+), 56 deletions(-)
delete mode 100644 apps/susidns/src/images/add.png
delete mode 100644 apps/susidns/src/images/delete.png
delete mode 100644 apps/susidns/src/images/reload.png
delete mode 100644 apps/susidns/src/images/save.png
delete mode 100644 apps/susidns/src/images/search.png
diff --git a/apps/susidns/src/css.css b/apps/susidns/src/css.css
index 0ee2432d6..fae4f94a0 100644
--- a/apps/susidns/src/css.css
+++ b/apps/susidns/src/css.css
@@ -121,4 +121,32 @@ p.footer {
font-size: 10pt !important;
line-height: 160% !important;
-moz-box-shadow: inset 0px 0px 1px 0px #002;
-}
\ No newline at end of file
+}
+
+input[type=submit] {
+ border: 1px outset #999;
+ background: #ddf;
+ color: #001;
+ margin: 5px;
+ font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
+ padding: 1px 2px;
+ text-decoration: none;
+ min-width: 110px;
+ border-radius: 4px;
+ -moz-border-radius: 4px;
+ -khtml-border-radius: 4px;
+ -moz-box-shadow: inset 0px 2px 8px 0px #fff;
+ color: #006;
+ opacity: 0.9;
+}
+
+
+input[type=submit]:hover {
+ background: #22a;
+ color: #fff;
+ border: 1px solid #f60;
+ opacity: 1.0;
+ -moz-box-shadow: inset 0px 0px 0px 1px #fff;
+
+}
+
diff --git a/apps/susidns/src/images/add.png b/apps/susidns/src/images/add.png
deleted file mode 100644
index 8ea13225a551f454a71f088df341f880bbacf2e4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2489
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
D)(SlB
diff --git a/apps/susidns/src/images/delete.png b/apps/susidns/src/images/delete.png
deleted file mode 100644
index 736eaf24676b37173e09a874309258ff32194d33..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3286
zcmV;{3@P)8P)B00004XF*Lt006JZ
zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU;Xh}ptRCwBA
z{Qv(y!zdUU03d*vMuTAJ0Du4*jjSOA00L+f7Qb#*-ol==3@7?HJq|Nd>0CQb7E{{1_Hva&LR
zn3xy?KR-X%0U*rC2+;zfK`lub9|X|(=zvuD;btDJV(w~6%I}rbcMH)Z=q1d!))v6m4Cr(rcX)-f2W004ZXW-=IWME-ofs~m{
zOn4nfspp5gdC1`3zkgu$fByUdN7(J#w;7HfKhE&^^Jj*PjEqOIv9Vr2Wv`%-_6uY@
zKmfr_-nnzwDl7`}Y@!cb69a6K|IG9IYpF%Z88MHoN;fn(wR{rdr}t*zxCO`r%;
zR8(Y;mX>B
zKR>@8zzBQ*jG`Z)$N~t!XBDJC48p)Xrq2*8o&^zl*f;o$eTDiAU*K)8zQxlPFWU)P
zq+Kcq2Fy%iViK-zrIdHAl>-F>pt$cl2MY^;AXwM+%nbZMAp~kH8$OJ>O)x#HLI|{N
z8)MDR%~_XH;b<9&GcC))G6LqDBPk{GTWk3~xc~9bcu#ysU+4Y;
zzefOoH*9^v8*+@1j4{+&V;Q9oSa|#d7C;h*<1Eh&Umc{GW+YWOZHlhA6&IS(b??jIZkwVTcpa
zG>sj{p$d)@qm^Z8RaIFC!O}F9ZS*HUfc8B6x~}qx9Tl|iyKJ!aecA$=1pxRX7Qi#`
zkj%f9Q`fcL1HyTp%3&Nw+qTW-d6rGARvU)Fk|eP_&!yc5{yheTc>mi(0Nb|Jb5Ru1
z0L=N9Wf3mqgE(2-Y+4yN`AIq#qVIdf@R*Rq9>WHO>{zg-X$n!jqI{x!e*$n_#wZX1
zF%%8#!h#1_tb{Esy@Xe=@D>(RXs?~vXypyWQmpK(RJ?@Sdxg#aFtWRX;K)ppc}XUj
zyMlNoN%DZB@H&n|1K<#B{@+u}&$8@lP!IqBIZYEC
zis%H;IF9)}jw9DB%R(^7;O#2)S4?*RnZ|B11JD`o=3fS@;s;A
z038H@L{UT;ec#KvuA(jUj}E=UNYgX~2rflYNLiK)g!4SfV&8YsD~=drXiHt!+`FBh
zrm48DEAu={*L7^#Y%oGTf)_z!k4kjjUstG`mZX=KsW*ln0hlg(8;C&|3R7Hp{Yl&g
zNk;_}gk6||jvZ342NProb~%4fvUEkHKpg)(KO6J1Y2-@)D2Gw*7=fb1*^MLr6CvN&
zPbsM_01jXi=y4oc-}kM=c>9DoB$uc6F5R$j&KYdD38fUt!NkFbG2d^wLAsLnmOlERaDW=3$W}2gYE7@GQAPDpC$fEc^T0{=jRJ`jwcZvrsu<
z93Uk-*vgS->ltIje*x#-7XVso(ZNnQCW0j7B168<1-xJ>|l_Zxe+G{NFuIq|UKaS%shC*!H76pPS$+X;yoZR+(51tTw-**sv
zo@e;c6tJ1TQc9=?Uzw*I;FSZc{AVMG$M59#GfipZ`w@WYdbfcfgn?@GkC_}DKdibAiWmiPei2#;fo~e@#~SimckDq1`u%PqM3(TA|+CeEL`0ytv80#&80fI3`%pJT4
zLh&Zi&Hm#!w(~rH-2j=PW(B@X4qvje1TF0`SJ?9ZhE}MJOF{-zr{Kr>2HIL{F)Od@
ziX;HmS_;B%x-1g-%_&Qc1OlV#a&rC8ZkGOd2dTsb((m&R_k9b%h1uFL3`0TKpbK~d
zlZ+4;U~C+0Y-lMU#LPPcH?y@P6jrLgQ(qMoMUkHT{_oDdjjliDdA<+Hn+?t^S>vUv
zz<`u(!)&r?N@F-n#8-sOXHXjCahxltqsIhZl&I`WzPZ$1~UKsmUYJ;!w4Ig0Dj)wb&
z+hYnOPLIehIqg2UfAPpC=?=r>a332u;%daj4E6+%7+_#o`4ci?&>)RO^)Ry8@P(nM7ZWsoED2ld|LTDwGvUDj~xq^fv`AVZKEEyP{
z8PD$x2*!7E=Jrh3@?mfD1FWfe?s+U~hDOO}vCeNb*E<0G?o^5rMPAUU}Dt
zZ)M||jpiOAu3>pYZA_3Vpb;deDNdBW7r?bz+|pE<=d^Wd3fF$IVSOT~Iz?js=BtXu
zM|88SwdA!%O>q)mL)LS}-P-l~YHs)Y3cU5Lqj13uNjw+8!XV6l@we7GhX+jDed3t-
zzXFI6X20mO(l#SiK%Nv5Z#
zdjJ~;mcXno3#`zsVdeEGpe}%wO2Eju3(Q&HfL(~UpooGNeXv}03y49Tx~~8MgdXLf
zya_7wMS)lr*iqC1whonnMWZw@1@Hq6<^&}yU}|9;4Qk2&u=x82tY-cJTcbaLjfwBT
z{wZkA>H{>Qo4AQlH=G0^xFv^R}&{l+LD
z3Bcx0Kpnv^(1yfI(0DlzzXLTYkf-(m0*DdMswYrelLMO5_@S5+Dn1%f)Qzy;&`9|R
z#h;-Qjv#S(LjfRw7zwO=VuTirpxnd`jVR{P$f9~={e?!%PiQWKt!zS>xdaF>0M)rI
UsfV01v;Y7A07*qoM6N<$f=O!>LjV8(
diff --git a/apps/susidns/src/images/reload.png b/apps/susidns/src/images/reload.png
deleted file mode 100644
index b0503ac5b3919a7c30f468d1d57f07de53314b2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 2712
zcmV;J3TO3+P)B00004XF*Lt006JZ
zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU+DoI2^RCwBA
z{Qv(y!zdUU03d*vMuTAJ0Du4*jjSOA00L+f7Qb#*-ol==3@7?HJq|Nd>0CQb7E{{1_Hva&LR
zn3xy?KR-X%0U*rC2+;zfK`lub9|X|(=zvuD;btDJV(w~6%I}rbcMH)Z=q1d!))v6m4Cr(rcX)-f2W004ZXW-=IWME-ofs~m{
zOn4nfspp5gdC1`3zkgu$fByUdN7(J#w;7HfKhE&^^Jj*PjEqOIv9Vr2Wv`%-_6uY@
zKmfr_-nnzwDl7`}Y@!cb69a6K|IG9IYpF%Z88MHoN;fwRp0`}YHiii*Gy1&SaL
z=HTD}M-(iwKo)}7$POAT#mt#AXTWSw0)x4al46?L=HV&^VG#ww+}zyYV(`U_7ht(9
zTefIcS69cjwze(?DFsCsKmdUw>%xT#O`kq}0!I?Ck^@`t^XE?nR#r&c0#rF77lFu*
zz?EX)l_FZI!Y99U=~9N7GiSo(Y;0^8a&vPT1Ox=YZUH44kUP-L12%%dw2qDrJW*j&
zORW2-Z62;11qxRf4GM3N`JnKJHa-}foSY(n%;V6y>jyvpfg|hU#fxg7hyvA5pcn>e
z1S$UU;|Dm9kOK@)yOyD|vy&k^I~(jaP;P(t
z@FBRE(AU?8n*q`X^6>NL&%x#aTVM<~ZrlJTJ{1)exVo=jzcSppa|g`U)6>K72S^U&
z7La+My5!ljXJC1dc_6!C)d9Kw1w{-p8{}qKM1krm5E~T!FaY$c5Rg&?;!Y~SlifS-+*A5WWZuYcV_=k19(kNxrNvr6}i|_(fcC+5vG_ntyG}_g(rRjJP3-
z+`$y(eLSIVugk7B_2%;<0O@6n!axW_(J2Bp+owqHA@l%xN6#TPvTUK?b-Y1*1BNXV
zVxxj1zBsf(1F6|oYH$2@4X(ZwI=P4zrwW{5E>3&K))Q&MEgdo>-@rTr;5;XQjG>j22
zHpBqJ{%LozHdXgHZWu@)0z!mKT+fv(2s_>a&|dB~0D~|Pb&(=Uk!_d&I@VxHI(DF;
zU>E!>-3AE~4L{pwpHE!w)T^pdqQo%KpM>erKa+(Iv@b-~t12{$c89IKcYw@3LBkGw
zqkRyZ0Oh~ZS_`mQPbt|L!%8XEd$+Y#Xc8mmY-shI(`v182ao_!x=ifY0S}7zi)4vm
zViq_vv4vgs@r5-n+Q*O58}B0k>2+^IF$ei-lpBr!24NO}NK1C*Qrx4U6Grj-J*0N|>pyV%m25iaRQ8ZL%0AQC7^5Pdk-qoR
zoX96LI6WBty?32C=lrd;Ok3rUl%)`q0ENk5lQZbD{ydP_H#PJ
zu3G?7%vc3r5Qw3L_7mLv0l`Jw{r`V)aOzs9FEk*9PA!xU#WOkYF2Q3iIztFs?_EHt
zPInfsHOpggP0rg9emTTvLd6(etyS?QrQ}K}PW~M_2`DyX0j5Zt#6z5nGxoLC
zv;!d!;1^h!b5?1G$2LYt*Mtz1U~q;teBS#jcM8WHUoq>gUSQVU_%MrYJmS`S--k|k
zoB~i{FEU4RN{Y1FK4>9+mK^00k(@XUHXeV*p#F&A{fI^I1jJ@*
zErV4KR%Lxk(_hH?H}hl|VX@YFS6H=-nk5t(wJ4xuxs#9eSqkTj-7()V#z;GebFT_g
zNyHSpY{0{qi@o=}vwTufVxlGPX4dY#-^i*zLMsU$B_f}qZQpawXFx9d)=L1fK%2~$
zfgYcI>(;GQSe8U?X5t$*Av9KoucwbL59`x_0uok-!CG&iG92VFP%#Fow?OWL6~(X?
zE36m+$(fs*gZ05Wn;>~mZh)dH`$;y@d`nfyM|w0tDd1jBNmhK_EB@eHP1tUcnMg=15N_NOHwR6scTU
zvLc-{ck{VJtnjIl+;PUcqCCn`Ec_3AP^{xWKH-iA&5*vPFc!BFlJY%54XV0CGa
za{v}Bg_2EN`jO)7m#o-Vu-LadWv#xq@B1nCF8CzwQumzm%FL5thG0Dchy`l??|b*|
z?FTBV0TvN0pw1<*Z4a)1L7g;EO2^h3BxZyeeZUi+Jd6)ZW#}y^jU@bUU1R?7InFC84#O5ws{)H8NFaRAD3k`KFn*xHoS?)8Oo5D}K}{I|7J>hO_0vCKmGcwWnD`Ft
zQ-T^2AD|KS1d1O+`JX{;4}bt-#Ihy>RIr001vH`v8k3R$VsRiA1C38Xd($}AZ;S%c
zN_1G<0r3}TL*gY6gC@1!ff^OaQ~Lk`ge$;7MIxv`<$&fiekkUIijPJVbtCLIG*Ui7
zF(@bffQrK#3IG9wFVGpGm<5`f*r5@{JQ`V4kF3AYi1`W4Ww4b^C@mg<00RI6q4d}(
SLGxb#0000B00004XF*Lt006JZ
zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU*s!2paRCwBA
z{Qv(y!zdUU03d*vMuTAJ0Du4*jjSOA00L+f7Qb#*-ol==3@7?HJq|Nd>0CQb7E{{1_Hva&LR
zn3xy?KR-X%0U*rC2+;zfK`lub9|X|(=zvuD;btDJV(w~6%I}rbcMH)Z=q1d!))v6m4Cr(rcX)-f2W004ZXW-=IWME-ofs~m{
zOn4nfspp5gdC1`3zkgu$fByUdN7(J#w;7HfKhE&^^Jj*PjEqOIv9Vr2Wv`%-_6uY@
zKmfr_-nnzwDl7`}Y@!cb69a6K|IG9IYpF%Z88MHoN;fwRp0`}YHiii*Gy1&SaL
z=HTD}M-(iwKo)}7$PS`sF>~|gO@>dOJ~2p2N-{`ENg-NDOiV+z7=%R>2y=6DgNwlz
zFJ6GSb>9!Y4o}jmwD87AGzv5
z5d{iY7!3+#iRF0R)b$ix)4dfg%c2KY;=Qq!Fa}$B!T2
z00Ci8?m|w*_);`J$CD~QdGcg%{psQ10WRBr|NhNz?b$=igWRX5r-!wu
z#s)ws7=%?+RKR{lb`L4;BgH?Uh(Tt9A_*2zpt=ggMs~}?hYy8-lp+wn1>z3?0mSn1
z({SfOOYcBIUr#57_GsF4ivYSw@I_6_7`aiDuaIgAG&0Pp2;LqP~a
zQ5Lg!nZYn9(C0Oe(H0x$?e(OkNPS8)MP
zj^Ywd;w;V~F4exkFVagr>fYW`+!d7T(;Kj33xSd0|
zlc!z_^$SfAq0kB<8vKcQ$&2n|(gET?8iio&bxCg$E8ChzF%AkV8QlV09L90|R9Q
zm`=qYC=x(92b8-&iRaFpI}D+rq2NA=zP>&~M@I*^-hnlUKrKR8>0obf-pwS_U^a
zH*kst`2iHM78Vu^!2Sz3_rW50;>3yY1PUurXa$h_S0H!6#9#>r1fY@l6xaaz3LPi>
z3lM-5vpE3}hQTP#&|?>LA}7kRL=gAL3g!hq=)pt9Ye{JS^IB5Bnb|(ZI8Y>;j2wtc
zvwL2+LerIG{p~a@TXvPZR|NtY1RYz2y#Pb+z3jzdiVpiBEAG%v;vD~wgC_IIQu1`C
z0IRiD-HFVKeP8`~OP2l!8S@cQ#Y5cF=R4u&OqGlG)+2zxbr!IAxD4!X%m&s2sjw`G
z+|0x`Y(i+P3|~*5kUR{4a*2+P4miL;o&!Z7tU&~d08kMLD&k_w>XBQ6$YBY~Rj|Yfaz8MEJ^gS5DK=ykrHgo2GfRhSU@UJ_OK4)!BMXaAqn5dBUnel<86$w6zW=G4A^Z16`l6)
z)n#@(_3}S_+ufdn9Osh#Js`Gebb7FmiDo$)5f^<%i?gj`-$fglIufjJ-uLxC%3X@N
z+v>va{3A1&tFw^r4w+%FP65OMHUIa$d-wJO71aQXlNL}B0V-NR#Q~@&0TmC}T7$%<
zHf+-=q{zck9VkFy_JZ63>r%iv@36!KYXXA;9A-95Eo_JfBnC1Ay-x)SG>|;D0H)Nx
zu%ZvyE>O`2Y@UNhFhFhuMbx%!+pYm4>KQbmKm)nYL8I>g0mO(juf>*?m8AhJ4*h{C
z(hgW$ID;x}5Qa4=k+U(q0eXuH*H|E~VIyMAq{YYu)+u^m0)dUa!isEQHS_?8K{@K#
z6VP}X1H(hO_0vCKmGcwWnE3wq@ncX!;sZ3IoXG#q8ZkeixeT_l38m!(5MTg9++=K$3@oAm0000B00004XF*Lt006JZ
zHwB960000PbVXQnQ*UN;cVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU+U`a$lRCwBA
z{Qv(y!zdUU03d*vMuTAJ0Du4*jjSOA00L+f7Qb#*-ol==3@7?HJq|Nd>0CQb7E{{1_Hva&LR
zn3xy?KR-X%0U*rC2+;zfK`lub9|X|(=zvuD;btDJV(w~6%I}rbcMH)Z=q1d!))v6m4Cr(rcX)-f2W004ZXW-=IWME-ofs~m{
zOn4nfspp5gdC1`3zkgu$fByUdN7(J#w;7HfKhE&^^Jj*PjEqOIv9Vr2Wv`%-_6uY@
zKmfr_-nnzwDl7`}Y@!cb69a6K|IG9IYpF%Z88MHoN;fn(wR{rdr}t*zxCO`r%;
zR8(Y;mX>Be7
zHa`<_t$u7p05*A0#BA8GfdN=&g2g~~gCY!6JOEP}0~Z$;*nQWoT?4yOMMVW}#@DZ3
z!TLb}lsjOF30M6ADrP|H(aiznW>7H%@~?)51_L`gJ4tmGA^(CR2AK_tBv?d&>M9T$
zAOPvrZo@zbLoFpzHi&350@E-89R(#+Hwr!Mz#8;M-dJ0ubl`1;hXV7~RR*bJjJ&|82Eaz5sv(Nl;1{!=Kg~
z_1-Cjfb!w=&3n%;z!<|~2=fRs=Nt(ksFXr6MqbM~^UJ|`DW!A&l+C2IW*?5@V4GtM
zl2VdViqBu^;4X33w&eTz`d|wJ17smMfhm;tRzf{yO8U$+^~LZf0O@6j!$1f`(GeAh
z3S2{KI0GlZ;SorV!DToLo)e+Vn}lXlwMj=2c1hsB|A*bje))Yw;o}0bjEynstl!NZ
zNOzNUw?YUC0>QlZVy)GbIOlX92wZDb#{;tWE@KRdF@Dp?JaFcml2TG}FhR~)N+~K%
zYfa&DC-WR&h()o6HpJZieUW`YM%x7LitKl`)3QIc2RStu-m7NJ>exNVmsF@7)ebdIT;`WDPFT0^at@Ih#B6
zY!YL%RL4A?$3UVq;UYf8{Z~T>LH6DjC^R6Vi+dqp=)ZvF4s&Or!GnVT@g41qsh+n^
zB{#kv0Z6Zd6o^3>3ZQO!0gvOty=%|mLEU(!;e`fdU{)gtme~4#|4-6JJWsFkk>P
ziA1!_uKc38U2qHL;P2}c^aQwoMBVKS?%oy$xwPA{FKo{s>e
z*joyKAP@!6pmyLY{CB^u%00M%euFyFfJA*YAO=3?aqo<6*P@-$=prhvK$aFcD`;@e
zThEH{t3rIj{B0a6T5AIpjN`JRJf$=cg(ejR9_!&;jk27Za~_I99HY+8vLDBkQkGil
z(t981GLK%qi8NpjJu&Vcf;Cv?kG^vsIg4$BhKVx-oAdbPVua)Vhr6Bvhy^I|#MIPu
zA+Q3D2RRDlDUb$OorT=MKp6q1axn<9W66>w4AZ7f0}pe7iZPIf3JVLt@~*C~40Gqs
z1s8{)#00E-89Y2Zz&Wv{rG??~Q3GJb3UGI!^c(
zAOI)!k^&$M0|68d())QLPt;{WC?3c>VZe=`F1qQ5Ogc$3De9Nr`#Q$h9KJ@+xghty
z7duxW{G8%~h{6Yp@Fcz>lbAReD3ex3k{xR;24k&j)9wVEnUE
z?bATVObiN!C361>z=;{$00@InbR7p_6&GX$j?Uo#ok05%UqTu$dT5%`1GK=;{}9a;
z5l3cjvr>0h7}c~=)h>#0v^svn@-Oo?cRwFrB#$^qmikXwA&KblgpIC}JP6~)?VC8$
zDcsqGE{mhXy>=n%?|ZvlQEZZkoqtDfQFv7~Cb>EpW;_GkaSI?8sQJI|-MhCRsHg_m
zv~2-(LV<02aB2p53Y5~YwFZgFUFZXz_~c>DR#@u`c}x;Ha6od%jR#oc2PBSMWWvlv
z?u>#G0IV1XsR!}VJN&RnL2h2d)KTJJ^cE^8fy=`1k{3JV7Lhyx`ooO0Ro5-ZHgb%`I1ae
zPxk=U3zop*Kvr8@+ZvRrkW4@$^ftk{0FR`{sF6;pTNe%
zcVI&TG-vez8c|Q6_%W3K8Pxs)2p~o*YcfCuGbmC(BZ{CgDG4AJ2Vzjqkq6qF#<_lD
z6p&Wp!{QD!831iayaeJGK>QBWs6d|D2M8cs0S+n>K?N!YG^g=HF(*`fG@_^*VZWh~
z@)3$ZLnjn}87enN8@Y-JNl?;0S$0A_rZ
UGfMATL;wH)07*qoM6N<$f*wBEdH?_b
diff --git a/apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java b/apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java
index 4036462bd..ce53d99d4 100644
--- a/apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java
+++ b/apps/susidns/src/java/src/i2p/susi/dns/AddressbookBean.java
@@ -194,20 +194,27 @@ public class AddressbookBean
// addressbook.jsp catches the case where the whole book is empty.
String filterArg = "";
if( search != null && search.length() > 0 ) {
- message = "Search ";
+ message = _("Search") + ' ';
}
if( filter != null && filter.length() > 0 ) {
if( search != null && search.length() > 0 )
- message += "within ";
- message += "Filtered list ";
+ message = _("Search within filtered list") + ' ';
+ else
+ message = _("Filtered list") + ' ';
filterArg = "&filter=" + filter;
}
if (entries.length == 0) {
- message += "- no matches";
+ message += "- " + _("no matches") + '.';
} else if (getBeginInt() == 0 && getEndInt() == entries.length - 1) {
if (message.length() == 0)
- message = "Addressbook ";
- message += "contains " + entries.length + " entries";
+ message = _("Addressbook") + ' ';
+ if (entries.length <= 0)
+ message += _("contains no entries");
+ else if (entries.length == 1)
+ message += _("contains 1 entry");
+ else
+ message += _("contains {0} entries", entries.length);
+ message += '.';
} else {
if (getBeginInt() > 0) {
int newBegin = Math.max(0, getBeginInt() - DISPLAY_SIZE);
@@ -216,7 +223,7 @@ public class AddressbookBean
"&begin=" + newBegin + "&end=" + newEnd + "\">" + newBegin +
'-' + newEnd + "
| ";
}
- message += "Showing " + getBegin() + '-' + getEnd() + " of " + entries.length;
+ message += _("Showing {0} of {1}", "" + getBegin() + '-' + getEnd(), entries.length);
if (getEndInt() < entries.length - 1) {
int newBegin = Math.min(entries.length - 1, getEndInt() + 1);
int newEnd = Math.min(entries.length, getEndInt() + DISPLAY_SIZE);
@@ -245,38 +252,43 @@ public class AddressbookBean
if( action != null ) {
if( lastSerial != null && serial != null && serial.compareTo( lastSerial ) == 0 ) {
boolean changed = false;
- if( action.compareToIgnoreCase( "add") == 0 ) {
+ int deleted = 0;
+ String name = null;
+ if (action.equals(_("Add"))) {
if( addressbook != null && hostname != null && destination != null ) {
addressbook.put( hostname, destination );
changed = true;
- message += "Destination added.
";
+ message = _("Destination added.");
+ // clear search when adding
+ search = null;
}
- }
- if( action.compareToIgnoreCase( "delete" ) == 0 ) {
+ } else if (action.equals(_("Delete"))) {
Iterator it = deletionMarks.iterator();
- int deleted = 0;
while( it.hasNext() ) {
- String name = (String)it.next();
+ name = (String)it.next();
addressbook.remove( name );
changed = true;
deleted++;
}
if( changed ) {
- message += "" + deleted + " destination(s) deleted.
";
+ if (deleted == 1)
+ message = _("Destination {0} deleted.", name);
+ else
+ message = _("{0} destinations deleted.", deleted);
}
}
if( changed ) {
try {
save();
- message += "Addressbook saved.
";
+ message += "
" + _("Addressbook saved.");
} catch (Exception e) {
Debug.debug( e.getClass().getName() + ": " + e.getMessage() );
- message += "ERROR: Could not write addressbook file.
";
+ message += "
" + _("ERROR: Could not write addressbook file.");
}
}
}
else {
- message = "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit.";
+ message = _("Invalid form submission, probably because you used the \"back\" or \"reload\" button on your browser. Please resubmit.");
}
}
@@ -364,4 +376,19 @@ public class AddressbookBean
endIndex = Integer.parseInt(s);
} catch (NumberFormatException nfe) {}
}
+
+ /** translate */
+ private static String _(String s) {
+ return Messages.getString(s);
+ }
+
+ /** translate */
+ private static String _(String s, Object o) {
+ return Messages.getString(s, o);
+ }
+
+ /** translate */
+ private static String _(String s, Object o, Object o2) {
+ return Messages.getString(s, o, o2);
+ }
}
diff --git a/apps/susidns/src/java/src/i2p/susi/dns/ConfigBean.java b/apps/susidns/src/java/src/i2p/susi/dns/ConfigBean.java
index 7dad7a250..f6655757d 100644
--- a/apps/susidns/src/java/src/i2p/susi/dns/ConfigBean.java
+++ b/apps/susidns/src/java/src/i2p/susi/dns/ConfigBean.java
@@ -136,17 +136,16 @@ public class ConfigBean implements Serializable {
String message = "";
if( action != null ) {
if( lastSerial != null && serial != null && serial.compareTo( lastSerial ) == 0 ) {
- if( action.compareToIgnoreCase( "save") == 0 ) {
+ if(action.equals(_("Save"))) {
save();
- message = "Configuration saved.";
- }
- else if( action.compareToIgnoreCase( "reload") == 0 ) {
+ message = _("Configuration saved.");
+ } else if (action.equals(_("Reload"))) {
reload();
- message = "Configuration reloaded.";
+ message = _("Configuration reloaded.");
}
}
else {
- message = "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit.";
+ message = _("Invalid form submission, probably because you used the \"back\" or \"reload\" button on your browser. Please resubmit.");
}
}
if( message.length() > 0 )
@@ -162,4 +161,9 @@ public class ConfigBean implements Serializable {
public void setSerial(String serial ) {
this.serial = serial;
}
+
+ /** translate */
+ private static String _(String s) {
+ return Messages.getString(s);
+ }
}
diff --git a/apps/susidns/src/java/src/i2p/susi/dns/Messages.java b/apps/susidns/src/java/src/i2p/susi/dns/Messages.java
index 2426606af..dd04c6289 100644
--- a/apps/susidns/src/java/src/i2p/susi/dns/Messages.java
+++ b/apps/susidns/src/java/src/i2p/susi/dns/Messages.java
@@ -19,19 +19,15 @@ public class Messages {
return Translate.getString(key, _context, BUNDLE_NAME);
}
- /**
- * translate a string with a parameter
- * This is a lot more expensive than getString(s, ctx), so use sparingly.
- *
- * @param s string to be translated containing {0}
- * The {0} will be replaced by the parameter.
- * Single quotes must be doubled, i.e. ' -> '' in the string.
- * @param o parameter, not translated.
- * To tranlslate parameter also, use _("foo {0} bar", _("baz"))
- * Do not double the single quotes in the parameter.
- * Use autoboxing to call with ints, longs, floats, etc.
- */
- public String _(String s, Object o) {
- return Translate.getString(s, o, _context, BUNDLE_NAME);
+ public static String getString(String s) {
+ return Translate.getString(s, I2PAppContext.getGlobalContext(), BUNDLE_NAME);
+ }
+
+ public static String getString(String s, Object o) {
+ return Translate.getString(s, o, I2PAppContext.getGlobalContext(), BUNDLE_NAME);
+ }
+
+ public static String getString(String s, Object o, Object o2) {
+ return Translate.getString(s, o, o2, I2PAppContext.getGlobalContext(), BUNDLE_NAME);
}
}
diff --git a/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java b/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java
index b860e2393..cc983b54b 100644
--- a/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java
+++ b/apps/susidns/src/java/src/i2p/susi/dns/SubscriptionsBean.java
@@ -126,7 +126,7 @@ public class SubscriptionsBean
String message = "";
if( action != null ) {
if( lastSerial != null && serial != null && serial.compareTo( lastSerial ) == 0 ) {
- if( action.compareToIgnoreCase( "save") == 0 ) {
+ if (action.equals(_("Save"))) {
save();
String nonce = System.getProperty("addressbook.nonce");
if (nonce != null) {
@@ -135,20 +135,19 @@ public class SubscriptionsBean
// Fetching from the addressbook servlet
// with the correct parameters will kick off a
// config reload and fetch.
- message = "Subscriptions saved, updating addressbook from subscription sources now." +
+ message = _("Subscriptions saved, updating addressbook from subscription sources now.") +
"
";
} else {
- message = "Subscriptions saved.";
+ message = _("Subscriptions saved.");
}
- }
- else if( action.compareToIgnoreCase( "reload") == 0 ) {
+ } else if (action.equals(_("Reload"))) {
reload();
- message = "Subscriptions reloaded.";
+ message = _("Subscriptions reloaded.");
}
}
else {
- message = "Invalid form submission, probably because you used the 'back' or 'reload' button on your browser. Please resubmit.";
+ message = _("Invalid form submission, probably because you used the \"back\" or \"reload\" button on your browser. Please resubmit.");
}
}
if( message.length() > 0 )
@@ -183,4 +182,9 @@ public class SubscriptionsBean
return content;
}
+
+ /** translate */
+ private static String _(String s) {
+ return Messages.getString(s);
+ }
}
diff --git a/apps/susidns/src/jsp/addressbook.jsp b/apps/susidns/src/jsp/addressbook.jsp
index 4fda75eff..0189d0a32 100644
--- a/apps/susidns/src/jsp/addressbook.jsp
+++ b/apps/susidns/src/jsp/addressbook.jsp
@@ -38,7 +38,7 @@
-${book.book} <%=intl._("addressbook")%> - susidns v${version.version}
+${book.book} <%=intl._("addressbook")%> - susidns
@@ -111,7 +111,7 @@
@@ -155,7 +155,7 @@
@@ -174,7 +174,7 @@
<%=intl._("Hostname")%>:
<%=intl._("Destination")%>:
-
+" >
diff --git a/apps/susidns/src/jsp/config.jsp b/apps/susidns/src/jsp/config.jsp
index 4c3cefbdf..9f407ced9 100644
--- a/apps/susidns/src/jsp/config.jsp
+++ b/apps/susidns/src/jsp/config.jsp
@@ -34,7 +34,7 @@
-<%=intl._("configuration")%> - susidns v${version.version}
+<%=intl._("configuration")%> - susidns
@@ -64,8 +64,8 @@
-
-
+" >
+" >
diff --git a/apps/susidns/src/jsp/index.jsp b/apps/susidns/src/jsp/index.jsp
index 0f56bdf18..51e0517e9 100644
--- a/apps/susidns/src/jsp/index.jsp
+++ b/apps/susidns/src/jsp/index.jsp
@@ -32,7 +32,7 @@
-
<%=intl._("Introduction")%> - SusiDNS v${version.version}
+<%=intl._("Introduction")%> - SusiDNS
diff --git a/apps/susidns/src/jsp/subscriptions.jsp b/apps/susidns/src/jsp/subscriptions.jsp
index 7485e10bc..4edd704ae 100644
--- a/apps/susidns/src/jsp/subscriptions.jsp
+++ b/apps/susidns/src/jsp/subscriptions.jsp
@@ -34,7 +34,7 @@
-<%=intl._("subscriptions")%> - susidns v${version.version}
+<%=intl._("subscriptions")%> - susidns
@@ -64,8 +64,8 @@
-
-
+" >
+" >