From 4c4204ef9689accba7f4594d9546862ec66d2711 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Fri, 5 Mar 2010 13:16:22 +0100 Subject: [PATCH 1/6] add graphicals resources for iphone --- pixmaps/Makefile.am | 3 ++- pixmaps/linphone-3-250x130.png | Bin 0 -> 34220 bytes pixmaps/linphone-3.png | Bin 0 -> 85065 bytes pixmaps/linphone2-57x57.png | Bin 0 -> 4603 bytes share/Makefile.am | 1 + 5 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 pixmaps/linphone-3-250x130.png create mode 100644 pixmaps/linphone-3.png create mode 100644 pixmaps/linphone2-57x57.png diff --git a/pixmaps/Makefile.am b/pixmaps/Makefile.am index 52ae8cd1a..e09fa9406 100644 --- a/pixmaps/Makefile.am +++ b/pixmaps/Makefile.am @@ -8,6 +8,7 @@ sip-busy.png sip-closed.png \ sip-online.png sip-otl.png \ sip-otp.png sip-wfa.png \ green.png red.png \ -mic_muted.png mic_active.png +mic_muted.png mic_active.png \ +linphone-3-250x130.png linphone-3.png linphone2-57x57.png EXTRA_DIST=$(pixmap_DATA) diff --git a/pixmaps/linphone-3-250x130.png b/pixmaps/linphone-3-250x130.png new file mode 100644 index 0000000000000000000000000000000000000000..020e943b633517d68f8bb96cf16684e53f6bec66 GIT binary patch literal 34220 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 YA5`04!RMw^0ssI207*qoM6N<$g8Jj;v;Y7A literal 0 HcmV?d00001 diff --git a/pixmaps/linphone-3.png b/pixmaps/linphone-3.png new file mode 100644 index 0000000000000000000000000000000000000000..92faf793695e76a172d3fae0c3141a84bab7dfbc GIT binary patch literal 85065 zcmd?Q^;29;&<46VEbat%TOb4v?iSnvi@Uo9cY+gw1PHRYI|P@70KwheEx6m>ykFh# zU%1~7w@#g!GgGIkr>DtK*G+86z(Iz zzg8dt9q>N`Er8AclP-Mlf721*0Q`^io&S%!|5sZ7zjFVNwEo}K{y#UpYRG@a|NpfS z#>H3_ZiBQ4anXXJEuR4 z!U}!gbDb}bBpjXP>fZ^%zK&+OsZVyfh9tscDF_Zn|&|MJ)PJm)Pi_x@A}c3pYi zUGnky1M(Y^_zJxEiAJ6X(;)|X-+XHI^VRIkWUtpF4{tF~&0TNEIm($El z)bHNa{I8qDZd3P^^*Um^oSi|GXH+m%iUq?B{e4kNH_mkfeX)B9m}WKqIqBOQ%yAvo zp0g8hy>$+|+EE2J zTi7150l+X1dzY|Ci6AB>w-c)onwuK$tuy_IWB|~ZI&9z^hr7G~G8}}U3pX8erzZ$o zL%R6o4W|X`MxAKDwxFrr*}twVt7;z@^E_Y__lEOd5cIb!VTjzFvRwcmk9rYH&kWZz4k ztGzQq`B3AbN!Z*$x>9>d&@2{p8z2)JPMyjGI)is14sHjmB5j_Fl?!GesigwS@3~L= zveGZca%LIeg0dpv zlB4XU`nmm+TNYC*hdDUYI~$u9j^nB0i@nv<{TbNU@h|EVUXsMhHoj4A8VYKQDdv7ipG-SZmW*r0z%DxZE@V0svJIggOxDljh0#}-Z zo#&2tzR~l``XY(|%PZJQU^ce)^WfGAX`6NJOvHDD7SWK`5}caRg}YrQRx9rAtlkIs z@r^$0g9~Fc@>4U>x6-RV_?yiRgp-Af8%+O4RIht#y)q7^8LsSZibq}pik?KK3+ssP z|6V=5jtdqg_mp_LSQ2`0!=^l!3UIFu8Nr1A=P{5>>Im=)lO>1bI4S!CLLCSf5$2%- zS*CD$3N2vt81gF+i8Uu>h97lTS%~uS_0U8kTC5>Aehhg%$pEOQI^LGnR(k84f@F~M z3@Q-ikGSjhNmI+vX!|)SxBU~Hu1>7)*Tz>(`ep2QeNhwI4@OQ-MFu9Th+e_kbx7Jd zn{{X&JKUxokT`U|oXjy?l9A02vM87o&!pwqPKhuq>TUJkfycFc^!~#cc6LcrhmhDU zDb-Wp!!vBeaEFE{I``@e4D~#y-UnI?=Y=OhAjOtMTYP(9%FiB3nAhP_+#m7EMoW-y zA>O%to9kMqTF_byw?;*Rh-g}=PEx@|QBfM8lR=gvp@CY*?8+uxx2}l)oy-%S{wH-? z&uH^dqgQ(LQMF9_&?@iy9?P6}r;zspQby$&6V^{Jo<=HG?{3t`OV(-n*I56e;IXJ9 zMgw3Q!?#Ito16u3P9aOOMtGA8Ymx_&cXYzYP_jQpVd7Mo{3Ad56-?8)e^*e1R+~*^K zy5tz|(Sw|(e9q(H#8a3FrwK^WDw%oQ53Q-csg2O+SOz1Re?w!B03#{@lZWV~E(Q!E zJB7$g-B$2wwJ^jz`|u>p7*ry_X72*W42}|M;!m&ZH~FnFs^CfM*7Q?Q``yc_RK`i~ z;l?R~WT?vn&-WX0-jYT?Zm?#-;t{mW7$+JSYQd=4O3`zapE=ATvp!T3DAJi-32QqY zJ$_eG|BiItjJO(DS1iWvwqc5ieqyol^jxoA;x-7|@LX$ud#$GZw72DPopZi%lRhU| zGIi|sX;as~`}#~Z<6LbPW&Ag7NgH^*3|3&)ysJ3Eq3a9bhQ}xF7dJiTe{dUSD1SDbo$d53mWQO%kVas4<&z7X zG&5e|YQEWJV#XL!3Q_<(r8YPf%?MFuCOJ|>*n zHOXoz0yQ_d`~Ysl4NfcYAdRxM5gh1(8Z&DJA-@bkywpOt0Vh#9^_GFNa+NnvLo+FXl%P>}LqzH%6=i`;2)Inv%)jdd-*G?P){& zf5nn5BtX*`w69N9UE#Ep(q!Piz}BywiWIZP96 z(txG!S*KfeY=B6d`Ja=%sAvID+QH$}Ay9@0)GJEXfj6}|bkJP3`9ITOlf~)W;Aju^ zd6#Ry1lA)_YitYBD>EdBBjXrLiAKtr5e3(wz5`OoFH7=hS&Y5FNS9i!^5{}N9w}I2 z4Tn{|+-upAwe1vH9cW9Gb!QG|w{lO&xR}q@ zMXHQbXGrVa?(iIruelAwg+B$Ky?Z5k18Jx}U={vi1Pn-f-XuGyRO&82*Cp6S7+!sp zl$!KHUCrspk?~OtM9zhcGML#oK%Yb%a(mYq%zxc5!yu-;~;aP9)yKN z1EaH~x(Q9f1O+Gwk5*De&*9!Q{S?yoVzFN?y{^07r}pUv_SS{j@+o*-rvuGP5^ z_D+%+1f}XqW64?>>rWQ^7;T-fzsWb%3R<09LzbZ?|}3dM7bO`w3x3j98&bdIqPI4YZ@M{7#dQYq$L!djCL&AjSSF)>8f| zq3|5i}oTq?)`1y)*w?k+}H>f-rs zFL`=VZ9Vb?UpUi5-lKd{adKG_p`t-%tabi^7&Xub50QmX*=d~Diu}t+#}W}+ z_Pem7CK{kNRTwMD_z|{OoQuB-7r-o-gc(6w(O*=E!yn#)q;4Ma*pj5-+Sn%#x~J20 zG$zWtb8g{QJozF1li8JA<6VXYfAT?|<*~T{#tw;of!Q4UV07Njg%crHXIb?9r{Xl! z>^Af(NfKgCwiHvWFOzL_aM94qUVV5ZMyxQPZbtgXs0?iLIQbcb* zE05m6o;w84o|gnrMe!(q(Bm*kYJflynZM~L2q`{S#6@~j&u!+^SL`EMWF#f_4QME> zNrlJFnZk8qw3(CaONh_td(G){0LuNc$N2`_{)-j@`G|X>Y*y7dyVKsZ)Sq+4gFdtu$5zDpnS6(XtoH=Vxh0ZwNJPTuxHw zcx@$@ALn}aHeBP+6RgF z-IK>?QG~{GlEjGpY2vYU-j^LSfD*Zv6t|MCh%nENC0QujM3aIJK3M?u%cYih^z5-* zziEPO0EzeMM27q4;*<7uo=?hH7P!0dW%kq)4nglK(EjSd?X0fmeYjg{THF^6ix#p| zj~t%JpxzVs#ReEb0;s(DMx)-ERL9XWXwMwyqsro1&;T4r3oS&K4Sw5Qs4BVqicR;I z$LN_|W&gf@Nv1!19bjW5?u{t3(Fj81A$C*e30Y34eNxiFNm>GO@RTQ%_{JKEBhLbFq`t@$}njF2){g9$}FWSwM-2-`8x5`Q~nH9ut zYOcMsN~GhR`jkff2eZoXVC9AZ5qmiPZYU-hySC1o{n?aO1o6973TqQ4qzldUwK-An z1bP7#WV@>lkNs4%#vfEQpmPtI)0o$X&hu3|NSLE+MD#FFjPEka5Q5JX^E0x}GpWpQ(Fh_cQReo{?s2e&~)u1aB7@VX&zC$l?FY-hD z%mlU6KfFP+H&oDof}^S&Ed#Kp*_q8G%$f0uNS56b`Wm!PU)gI(g7fnaKK)oJFH%X# zSjSUm?Jq-OKL~&XRmatYcT`y*KvvWR10Z6oxidU;kQ}I;l&*2qKqg)dT75n}ndEA? zJR4TQkg^NQ8p$JlaY@|J*C9A=^2PhB3q6fy(*+!TwP>W4qrT2hVVxkO<7!&T5h7Oo zS?;Z_=C;^s&-D3#T&ke;fHgt{&WZPd#xw<2_h*@d?QDc2{Q$NVWS^-PB9UjApl&8~ zlT1qPXdleXKsr8lnwW3`5Mm0wRRXy*Kk(_R60K=07lT?w`4P|jn^Xh93SlRuSNyOU z5`eVudAP;-w}tfRXYj67g0Wu6)1)FrNvmU=hAW3YK<7&^@b9O+mnyeAI**BnOKOJ~ zvt%*W*?E&|e4iIG%lkj4Q^LYg-}zmxfLKP*sXCVo3Dt1gx;0h}$UD#p@75m<{}(Nv z8>OXyf8Tnlxo9R(`MV_hV#ttEPqs*VpsGL+O38ajKz^Jr7n&CeeMh%9zHETD=B>bOPsu@h?!m;DNmCa zYC;s#RvPmdrJg_iL>O(G7mYT9n-xF1*={QrQZ*2E-|fiY4jz zu5XWv>+hu({owtm`i9f0q|6|t=5qqvb<;z3As*)JV{cZ&3DQi2Vg(q;=`Q{Zxk zitp|#^A+K{ zp?M_+*x^ov7#4g@s@kQ5!!fKY_O;C{4x*uR6s9NUx@%z;Qj>@Swy5yrD_g3jwi9&( zy)tI-N=B3~MbtQm+0i&S2H0#v@IFJPkDuBBM7%$IzoKt;^?k{B1`l9}ss@8^I=^&# zr(d`kYcEOTpbDI?}KBVOtT^ zeJm{2+n3KoEZ4JqFB`CRi0OYz;r|Tes8$B5+AHOc#wKO9=rL0bLYX42=fexoMps2nnalhhEBrtV^}T4s>%^%`f`01Do{MVQU9r14 zo-D=QVbw)?cMtyt^eBRpJc~t7dgz*ZmF2XPxXYohn_1Wos8CGajTiWU)fI>!mIG~f zw@Lhm081HdYW3`k>02jdn-osH zA>0wcJv{reOkC70>8p{j67MTJamY#nw5vI4NUN1E9x}Sf(d2 ztwqgy?SBqzJ5L>lxcCE5h@pvtE?z|jUU`~5wH$GFc2SIyTBWJASnd>XC+X1d=sr&> zkEgt+=fD*zmZJn5XUT86gZ;vvhr%X|QzeLArh%^T>RLDzTz2Tz&a^7)JyURvew?F{ z;(6diY<82XUW+PcC)TF4MKFwLJrKRd2!CFX94pm`HO@Y~X?zqM05toOy zbkH(p-eD}*R(yO6K&vO1WN{fb((hS2yTFB&EaMO$(GEz{>jIV1(BFuGfaT zQnomLmQ<2bbqrS2+UbW;(;WtTGJ34xZb^s`COj@%+o5h=M$ktv^)D6ntBT7JZ$pTB zzm*94b+J&h^_+7ds=Z!=mYzsmqfb{f&8|TpnF2ae6F5UJNx#_F`sn}O|4rq=kT~b% zdxjyCoF%>Yd@mnz2;O zKa>gCOVjM86fHa$MuU(hkB5)rHr7OR|AfMZx1N=^?C_DxS~X)L(F{q` zo$whZ!cCFGXogV7eHBlDDl3xDAQI11UmE|H_i7t_>G5&ww4HYBAkDvSN;Bgj0(i%0 z(zlZx7eJ1#2>u{~^{$X~M}fE$sSq!z!$uReuzajctx9uJp8nN+FwllzxV`RTzw_b^ zN7SkJdJwv1K2^PCLfr`W6kpzq;fxrAgI2`|6coVjzY;P+P~VRz zJ6p-#Ja6g`m@opp&p~aX5b#F|ddj_++rOZSkky^{lG&^fS(14X@r2B{%L# z{I@roF8&M-&+t_Sq1_Iu&4xRmE)BgL_pQR87H7ckUwt!y`)UDB5LT3MBO!eiWeD&n=P1B&T`ujLDzK`g(AY-A9jl_9I)?138z(4 z55N5uD5NR=s`Qm7vn8m720-wGSE{HH(WL>cPZIyy@Nf1(E0EF*&PQJ8z>;^VoekjK zN_FNQ!e;(O*JElyZ^VVZagbd1{Qd2ecl8}Nv%lEdt9J>e&o89 zF)^FR3zt5%rfYq71h!473r8}U%I~~&24B(^r_<~dp;Z!zD#sOb0@ae%BRIpcORmrbexjSzXI2{Rfhb zMg_-@l0jeuYVz_{$&Xyv1?b^YZ0r37vzSK&)v-$xi^pe(uJ!=?&`EDoXrz{8#w49v5;y)*?^ctqfaS6sJJw zju^B;3=|Z|^aAKG))qXGoYz1GF;egGGS1PC{0NOEqrSoYhAU0ia>(NB2VLP4{-_>! zZS?Rmv<{ow09{h@*jvGAY3H-GJoc}0nX3<=ewb=>l9gxts`x8XA3$jVr^`bX^a;Hu zAT6ZZ9$j4TmEN>ENv`1{g-e}@;Vn$@UsS)Q#4^K=NZdu_2igIE&L8< zkuLrfvotKqjAaLPK!k=YgK7cMX@)jN4Xu_3#!VzkL2^eEOTZ_7hv*ooED@5q$S8t0 zurT~v-{)ia8|h0OdJw_ZoSaK1(_tI9O)vfk4opPM!tak*hW_elAUrdC3~m-LahTUn}W*I9pGY#&r{OrOly&Y z4xzb-MuCV6et9Q2{M6Oj!=dRVh8foS_%Q@+_LEDYQ>~l=+BZ$M&#o9NFnaoxw9Fss zMDNRI!8jG$?_yi`wlk|{1T>$bppTy~{u*y)nQy)K6j%(qOA|-mUJNucJHZentS=7L zDYP^M%4jlYLTgzt7V^5`)9WTh!p`)!W|Y1FD`DKTR1#CQ`jqh=^>$UC%Hx*^s!Eet z+;-lzBW-p!A#HL<96CF}>GGjdLr0r!Eui8=@Vjg>C2g+9@zX`%4;$;+`PU^n@EF>I zZWRx*7RB9#Sl}>%3alS;I-MXzNCt3Bx~xc&Jd2MwTBUJE`PiB92WV!Z>Ilh+%-PYxBv$ab4WGSBM=#0A2iJVzibgv#W?LVI* zDljd7qE5lZ8G{G=XmN93AbL=0#_WpDzvA+-ZMeaGA%{(Qp=ra^Vvb=!aig78rig=- zkosF2N5`6GTLsZX61*!VR??pYZOjf1P$67}TBW3))Vt!OZhTqiRNp?0?qo*k69~S! z5m5tLNc=B5;gpXsA`~?%xUafMgUq4y7On;soYf$dXXve*Vja=EqYj!tHo+HWc9LFF zHC?a)Iecv)*6+4ymT-PL(^o~kS6sfkt?!)rbGLr*%CD6Pxzesxc?#J z$CDtmARmMcNJk)TBNb?=jY3*u@g~&ALSR~juXW*2OVs!s3C~dYZWAp~03_mEBjiKusms^q-60udZs*uGKHd7Yh zpiIltypw`0Rv@Us|kuyuj*)!)^yNT*G!w(UDv> zzyij&OvUs5ZFJe7P-~=9R{D0y0**L2#k3`VVuD@fr9#v?oM>%1{IWE}OE$m+{6jRVEOQW}bhL)U{2(9?vow%qQ$_tq_A<2{>p zX^!sthu&G|zb6hm>BEuoUnO-A6{wAg+j4vCO`>47OdGBK`h4$qs~=(IHRDsKuZeLjUb3|)9u;n` zyC=Xx|GI&`a&CGH(p?K3+gOInSP*~K1ohCr(2^I|>Arc0;MVttwh!Ob(niwr2ifQJ z+zQ_Cho707^lkIdj`kY@%fHH`esc1prMEV-S{R-!5>G>2A~L|rFVL7B5=rb>Vz-1yOY;%Q&|Xv-IZI;4Sl zDb8B@yNoKW{Yp^Nu=q@8&m>$ya@+CxA!B-6_!V)slg5xuq zQ>!BC6pQws|Jn)8q=>gW&xB7W4SeU)cPTWTcfQJ;HVQeBO9GtbtV;Q(^YVe~b^b{kHt@f!mfh#n`QZkpKiI)U}5Ezv@DdGxP?ID}TMtlPFJ0(vYC+8d*7yye8yX+*q zkai$SS-lr^Wmou9`SfD=E`CFj?brBke>!vx!vyM6##04uz`Bj|MFuBadMB5p=<{tl z^S(z=>d6^WjvJFoPvSc98+PH6| zW^3isgDWA&9b_@m3Zsd$*{uu68*5O&)VQqJNk^aYy9whM>WMG-4_sP_#F_i$GNb^h zn35dDo8gH)eeN}MMYNhVbeC{4v(zeN;u>rzkg{jt)MCBMQqF#qrIlS*6pLu-zfJP= zV1L+v8E^!*^K4nx52n4oV!Ohz6|9LJBKqYqm}IoJIU9W9MVMAx852N!S~9JX08k?~ zho487(e5)Nl;4#GKW%Mv}jP>i!H@aNW<(?Gs?~efqjEp=>?+B>G{SwZ;r5_*d5o429`{vCDpKK%r~~_p^>|uPVQ-q_6@NLYBv;PIlB62(=Hgv;344gAbLl>D z`VzgT%&+h}l6B0~)K8E{QXQ(^`AkbL0^XrPNj6+pdWd0j=fs}xA2UmOOU=q?^Em07 zJFu~~9WOqK<9`ma*wlWc+$DKYu&zm^^tj&w*B(>$MA4f#VcBJoxOzObvzl5+ki|yp z?m(W_Z_p0@cZAy|@5=+z!#;VSZd8NZu+PXeX8}}$i?=zQVLYO-f~VS~pul0T7NQ8^ zTF~-CjB?y#j#y_sB5RNP7Mv#V5Tqfr`H0YE3!fXvZ$-*O#J$2S*N+%}XvOZbN2v@uaDf{Q zO!17@98oF_ry=5U#1)!D9AVyAag0?a#h$wvF1=2w$x8bGEm9DU?2RnC_qd~n^5>JKrOMWYaGKebO^FO zFskGld}N}jC~!!o(>zLeVs32DTwc5#6$xGjL%9_%2SCaKdP ze+yQ%F@z2JQNKJCorpVdT8jzw%0BW1`$uNm7Seyv4dmy{>tbn5jqZK8fU z(8*KK8AFmDDpR%BnKAVN9&E6j8}+t}{uIL>NQ5*4o0PtCXHg;6d-y)^*O=U5=m<`d ziwB?{O=1jmGG&ju0P z_G?^RF}&zj4%lq%g?!Ahx)C?K(}v$9xq`R+1fH?hDWDRXt?LM05waM!bz|O?8S|8c zk~^f$>uCB+wZ=W;X#rJ@qcL+w(1PZRJMhO=A`V$jf5ZabSmST2^Pgf`3kEQm?^3Eckv{(JXcptXT;w{?zoN#!lWM$-dO6!DKsQ+u|97$tidi_^ z6EZ)sa0FYf35~SCr+LAtMZ?LP7i%{GXLJgNuo~F>jrZqX{&4{T{GK?Xk2GU50!VgBvxN*TnkkFc+$HRU3-NHKA9O%;?Ff~ z`k_gn$IuC$ z9K$n<2}e65z6WzIhc$e7Sq#ahGVznLt(2_SyX;owK4u~UvYV^X77_U?sb`3iC=Oah zKUNlylTs`SL@_N~_+$7fFWN}Z)%T1^z*&Fn_zUfo|44xv<~UQmGsLKLwdt3RL$J`; zIITj=(eB0BgzS|kS0^(l7u_^W*&I>9fANOd@we|t5aW&-%>7qzEVP1+CE!I-IQ*&T z;*ebQ2Og{Zsy?9)Bht<0AFy4W zPSQ+l6$nTJPDr1Yc>U>zcSKBIGwPe2i#iy7;q|J%-+II)Hvow>ZUxX90NU^dNZIms z8E0#evJ+FK2zB14HZ9b4vg;^t#fP=O?*^UuHXnum4_E0^3m{Dd%mgpK$eeEiPK>#L zrm>Ian;=&;jv>A=uCWa>a_ynpwH`Afrm%~TfT=7$8eqctf&);T8|UN0{?x5XTY=B# zO*<&yv!KP_e?kYy7CXZeHGCRTo`q_s!(FixR80R81a^eS<~)j8(jfvP*XuR-7@+&2 zj*|1icO=y{m9`Js-UGi)(nOKcjCI{rA@mo6-i_1J?uEPIH z&pzJ3BbJ{I689`a2^ljxKcf|73NG#uE%0R#1kQVVS%ifeSwlcscS-QKRl2J;`fUE?c0&7twXwX@rgrr@kJHd=pCk+jNlG&Iz(nJs7)(4 z+GT*ux_k(iKz@awNj8`bGuUYDoZ+lOS9`*3168q>?K8Oh4)f0&+U{SQ0 zcflr-HCUm@_h#&oNFV5a(iePB)#`V;Wboo?C)pBcND>MN<8V zuzW$L)Xlm_cdoexZKaje#ewx>=rM!vk-lf^1ZCfPNo|`snT2TZ-M3o0Nq@|EIsti; zNrITFTCDn*T?pi-146xaOTtzQW{I`r0c*>Le6BndD?!TQZ%7~b@JXUZfbja6yRd`>a67H@gcH4!{0=lmCQn^YccJaIkxqR)ZEWUy9Z0)Ve3FWa z$u)032$~|UThA&@z5l>G$a!lH zmwb*bqFNWU;EO{t;`_#%L`Y(+iWD5rH|xdrn}0+q%ZBiZuMs<<;FEv?q#dQ+QIEQ* z7AtmkKF@1R@$vyxlzsDe$;DJR(B8PGh2{pCv!%XgcE8PX#X%&h%FtcNVnY&!m%wk* zf~COT-(!QijWLnm4Lo4^>1FzN@fd#A4)T4cK3h<160tk(=#57Guh?(Q3wNWPlD3bc z{hpU<_rIkY_yVgPf}=#wcdIwMv+O4u;n4j-|Kj>jL8iEI%`r&G1F6*F*+GBwn`;=@ z1!55tS*^Cg0-RUOh;(bCtk{{#2?`L^^K?OQ?#RZ^FLmsZ8 zvZju|W_E%|W5z5Ty>+c8eD40m9@E8kuIV#>aanx+(dul-ley{rFU4n!^@J@8#J|l* z6?$J*r#;Q=KPpt#NR#X7NbmvKO{6d)2>9Oj{bLn`edjP>OsZNcHckww`%P_A%2A-3 zXZ#9(*LG2fmMa`K_C90~n#%lH1mve*(|4R%m1_l`MPYg_z0}!^P|-=Te3F*g{uL<= zD31_Bafr29&u-8iH8-f}&i|uouxM!mtJN1VJ_(5vi}!Dl#yjk(rKZ4t84>39b{Fj% zJ=QRqN|A*X`%c?X**nUo1D7T`iweP@s@N*evOXUNmZ-k2-yi$yJPDL$D|!1s_>u3q z4x1z|9M`s`wFsytv-+*AS`yE>ZG$XtT!^swD|~y>!)&3wotug&d)Q1 zBAt`%NWr5ARX-cv35p%OjJtRHA0E8T1{qIcx^!`upQ4zMeX>DdgA^DniGb>9*%gGF zuvV!MT!c_v-cb!Z;A}dahYCEr4t^tyi3Ul?k~WS?7k^nG0@$RsYNfU?(;YQV$B)AU z?Z54@Yho6nYwyz6+n7*D`eXSyK6D^;`*HX`1@(-dOMoF&wgTbvqRmf$u&(KMXz3#M z>dX3rZTZ^mqp2Lh$o;$w=iuL6fm8#nNlILNtd}^1-twdp?Da8Wu1o)Z22sw@eUb7& zikDgxArf`$A^t~E?UuN1%`h8LvBpiRW?iXDx~4+w)EwfdD*cqA`!hU+#SVgufY{)T zAIWQjol>E>*w)xnQ);?1j0>vMFZ*j0TN!6(%kTr$8O^4WU|~{#(CZ((pcD>*Tj}Qg zCH2{qC)~j%@IVJWQv!AIMQN#>2lJ)g9LYAHmzUcewLBJaTKemE7y0-+5|k75i)^{N zB=0=;{GUHjOXv>g3Bfv_AUf6EwEaYdJwu4qP3U{-SX4pu4k9RCoB6>F_FKo(XYP*d z4`U1A78KiwqcN8P_)m00?L^iR7Z53%MFune_9Bn>V?Y;I3?Xak2`TV;{9?L5fAp?t zm8vk!o`|$0Q3zJ*g8>vw{C4!Nc^-yT$bcWxn6M01HJxne>5r}E>Iz+N3vV*&8s}B1VD! z{&<=jEZiV~3o;=%e)}BY!Osix^IyN$hJWET1ME{cVE;uHnAqrwbABs%nxwk=NVRQm zd_$f_0pq#^j)39z2LP)F@RKngjYG-ALm!PpBMt4~@sySIeNPUJ*Z-x+C}BrFpEkV6 zLjgNie!WQIJo*)RJy<2QjSKNkd~P-VDu~~;hNMf*%Vm4nGQ*6}#_)Yo`eF|*UN))@ zY*)KM| ztFknu6+iLOID#eFV!D~bTd>D87f*ZF%@?1@?IzftI{EqHf03YU*c;lM_U$`wDiEs- zy6_S_eWv;0WGOg-S4m9D2DmJz(8>Ph@&&lYjqVjo#&@SM$kS;W!Ads=^8OJ))DV|4 z$9EcM>fIL(;)BFCEi~2XFY9Qbe>`HD!HsNvv`|Ts6KlO!7x;h-m0n8a}>V56PT4qy&O40p1`qL@2LF!*ptL^ z@(itDbsNj>r1nkAhbQ!e!$Zi*%WCdr8*F0hY345K1PmiGkaby#T4&gGliYG*)wxP6>;Q&aNz8sY_Aez1H+ye#fFvv$=3V1d?P;~p77nikc{0h7z_p|6 zx8!uAss};bfeQ$b4R}5!`Ra7O0s-eNBD6qQ-$f?}JY;(3&z=THNc z6|$9%ezyfMaWlB~9%H_{wx?^os>zArYZm;U$l5lPlM?=aSd9Q=FH)^bRcb*i{S6K7 z1LrAoCpv^*=Zc*MEAWwr8D3^Fi@Ea2G)|9*C$vJ7`3T$7jA+wB*pj83sMbUnL~L9=%)n= zAAc7s6n~o&&s7BZ7T^t@8l+IYlk@t@xK~D$Dr#6kO>}P(fV#3$+lAh=ruINb9CJCV zrCXY`r%0J0yX?SH!E1w+3g-AuE09mau0jo}z)!nU(j#DM%xQY4&+rZSPWqhUj(5Vt zSuZS(F5{cl)s*@MJMHxTPA`{C@g__w^M{D;Lu>{TQN<9$`NL~>--Hd%dZPC)yhX#I zsVYSatMF@V?}@LY<#r!%e#xDLHjSCI3CUPkgg;*&oWqr1zl+VqeL;&Q5C?hc9?)~| z4xz@gLFW)lRfB)0)Y%jwCF+mWb_zmVjpfr$)n!a|&WnoMy5QTA4CrjEDa(n2@dOn9 zkWSr@%@#Ro02){dL>XPiY&=)>RfM7*6VH(+()Zbzi<|l z7_;&x3QV!w$2yu_7>6?*&O@T9BvD3aOc!6|iUA{JPKDA- z$`5;Q(cfYWz8V-ig`kx5T++$j;w%|_R*5>c_D~mK?lM!d?#V|k*3X+hFnS1Al=$tY zq}rb%s9ZQAv}J*VDAD3OqU#teV3{%~xyzF}fguzLh0SY0wlYivr+=ao!O&6NaCO1Th>75mY-=ycbl>X$hl+bd7AUfVe>q zPcWHN>7Gi!y%5m75YR0){tp%cI-E@p|7u$7m6FJil>h`9kj*dV(E6Zli0>Q;9h%U$ z!2*!gz2OrAz)na_@KPTvy(pUPgeo+~2GTdJeakr+K-R!PvN=YfHOk{!YPO|jZY=?! zW9@ZTJpq;Cr6{noEgV$=RH}N{x4d!cdt*}wB$eZJiHNw{eZd2$+E5S+0HO&uZGqxS z7W3l?uy`b>L?mf@gSN$yljqR2y6JX8Fyoq0R6rdBV(mJ$3^qOprwxX@ls{r6>U~Ws zFn5gmjiYVpcP?=m`tKVdZzGbrRmG@|0XJ85$5uCPRT>ltYeuCK!V#=8!ScPb6i)%T zRO+$Tw5WOp)-P`)SfYeige}mlfwq(TEGKeJh)KGblUYd6gYz{a)d0t|Oc4JS5>#=0?)ro!ZZJa;-iMb>f zz@L@`2vC9ty|8TybMeyb#jBxFrP-iu___c0Zi#~XK6K|vkE`#g)3U=B@GHhq03I%- z@4T1+Aqrv278Fv$l~Rdq6>DbC;zU?@F^Hi;ZEl(RI-yhe*m+r)7-~$S-440^a@2B& zwLYdXA#GvgeoTrDq1rMQEwHSB>4M-VT7&PBf?$Y30t_2~H6 zF)2hS3t78t03mLq17HS0f667`reaT9JJ}SjHiYe!lrUl=fots(cLP(PniFOOOxLm* zGD#qlT0-Rgas>kuLOBz{;CjQ@T#1{Zb7?+VS+5WVq0Ds)0F=iOwj@YbWIS9FjvoN! zjAVW|E0gGX6@{xvN<1Bs1$U_?PbU6D+WBF|T&&N{Hp{*xS--#C$bGB>p(_}^Cbg^< z@g`)~QIeG0m}Ks~*LKMmfEYzW8OYb3^sb7tX6gz-C4q0UJ5EVPp2|}xt&EsU60lv1 zCIW)Y11n?g1OUcAx+ekNlK_8A65y><>Wqj*qc5gJy5r0cXulr7kN06t*W`6$bD1i4%>Y2ASK4dfp`vlev(D)mEShw!8IZ8l|M6q-64>ujz-pT7xSMP+f@Lf-*cT>zIWQBTHPYuYYJ-IE~* zPO@{?LDc_PM0qC1@>MJ}yNxp5m03AYgbY{~a!pN?47#YKwm#VcSB>7YmgoBS)5xop zv|w(Xv;=Ohv@T9anXd6nT$+cDQx^?G5vwgQW0B3hajq+}Wph2o4Dqq|YR_Ef>>8*i zvg-TN0L_)mwM{9glC#!8WI>v~#~w0Pp%4NpBk_SeawDkSHLsUJjwul8%c0}Sp`rwE zDhxFfMZ*~6-Dy{XzF4QmIAOcj0lNSE6rbYO8*4VV9Ss8kgV$`qblPuTWj*#k^~V+z zWBa=-0D#GMQr2(GH|+mrtml$;fGvuwi(+IIdFg=47UqeJvTYVNex^)7RrvboOt=eoBIIx9EYbvl+YXxG5D72~f^EAJ!= z+QuJ8GWXbP_e=IYe~Wd{jcWB46b!(^%yv32(}Y&%$XXO6snYw=mo;Bc>0T1>{_~Fz z0Pvm{=uiM)(xIMqwf2Af^dEy-caBu#*)Fn$=1xIHmJRr93^LCisi$Z6ZOnVlpi5g6 zOI^4N3>T}sHOS6|Q2@}RFL{8*=}*vZFp+1rlm!y`v$KUODlTcYRw|U{0m&BIjk5I> zS_h;iOwdfVQnkc9Xw2_14;c4UiFkDJ`B>P-JihjRv(l(1-<(Z)wbH*A*{1JCycL^2 z{qxNNfE+y<@GM7VTeHe8Twj9k%LT{-Ey^}46%lH;(kiymaptJH_!$ZUHH-49KIgJ% zsh^`6Ujfoa;0$AnHk- zqE^*}!NPcGmmpVgRqgF{GKF=>Wi9e3LDv-FCo3$5r1JRJsrw zq|AEU$f`5$Qzn&Xl-l+!0y<_=ls$xeb2idtRN^INyLg@z`B4yHlnmapV0uzhB!6H` z3agQ4S&nWbmc`ayvc1MhHgk0al;;Ay(+b!&X~U`t^#1RK8*Z4aJMy5Oo|Optg*hXk zmXsFn!sed&IuzNs$Fx!Rs7*{6e?iF&F(3E-JoBitG zjYUt$GY)`u&sezyT3*4qkRsQeWQ*Y3s7E(amV2luBj!@3)8XY=S$7VU*cP1`{OCL; z47@LF%w6^lIhWoQMmE>&`DV&}*UoiHbA4xCy8UzA#>fyT>LU1ww3?NX1T zk`TGezMln8H!cE)vLoJIUC9Yb5jW^z7%Z`A=2}uy`b2$h}4DKGp6pTF4JU6})G$DlCA=j>}N?xF2Se_ItL$ zn3`fi!w2AySkpbzT{jQQ#%)ow9`bzw0I)ys>YtyxeoS)Y2HLRz%~Gm@aWt33tZig* zTU`=j1d4{yv_b;&2E*t65P1NghC?PGwQ~cO5oa4x=~D3Nb2wcWd(H@*Httq7@K*oL z0)W9Y&VIhoAGC~;^JmOLa4YgToo9Y*dJH<2E|E>yOW;Fx??KBCUWuMwNUd$d*s#>K zo2>>8SwL4iaWq^^_Ossn(7!T`S!e-XX^CnHxD(O8=qM?dFd`zT7xFqRoOb`Y|NMjjz?ir1MsRBm zb6L&M({5({laT;N0ZR_mBO`1Dx<$ml2Lg2Yan%hmhxzhaI&?!f-k6cUc35XfKbs?m zE>kR|EaUC__D2FKe8X5(CE46%`bVG#APLb9^!Q-`#XYy zM@eG;++F&LZuqVsyJjLnQ83CH@DoC;B*V_#5v^=fJN=r;S25wf4AXa6=yT4U4Es`D zHf99X<&T+Nw4w<4*xfYO`^Uk#1R8P zYrww|Goa~O(4iQHU_mOc<*lf+Tc!f<)(*y{p`c{J8kjx?=n1f05E>ACXPbWzA}^&r zp8L=J=SL3!_V*R?Xvz=6fLt77$b=DLl+qR`C;!hFF6^`yFWWT(x~s_n>n=#deU@z` zIm!#288iBD2*JbSB4eAYnp|IBW$ITn8WmHG;6wU9{pLWt7rDsAmj)XW(g3<_5%-j< z=JB39h5OD3b8{rU2pVCrL~>8#CC{l6Bx$X+s(|@KVew9cYN}e=%C1WJod9X0BQIt^ zeKtj@Pnv=(zDAUyLi7!ilyMphd!86hrY z7)0D}=)I3bOvW|7X4J~auUbZ9yNctqM^I{kL!lDPim#VW2$l5`m~!F(*tHn!UpjdX zlbMWT=u|1uvy|s3%V6_}gaAa*$1kDX1eLU|1-3349dD<}gA#!pQLMWX8^bFv~(t_Bsl+I+%2SGa&zuYGTbTB{J zqXY0Eed)LDv%l^-uDhl>O#JJDK!>OZ}cY0Hc@E_zG$U)LWPuGglXq>#u2? zL5l=!sZevw78r8WZvqj?RAsP1A*s!gqn)ziSTiXnQrX%I8g@ANyjaL|5ID@ufNT@& zEsQNAgl2)9GGMQ)?U)5K4w7k=g{*nCWuG%qiVTgY*hTGva3x85B$Cam^)C8MEQe|_ zS&A5K0w5`0SiRXYN}|E@Oo1dN^o6aj90TIrbvD&Kdf*a~j`e&l>n5-cmk_k2s{qOc zFqsIe->=1`&O0$5;wB@t>G8N$IM_?wKepQEKL<(>T9;Z|y|&kumZ2;B9=EEYz%tfG z!1S;=N=X8ngskaWk;$EujJj5H8fJtjniWO@EVJKBbKL?S+9@@W_S>hqP6Iy7c&_K_ zpToJ%Nkbsx+w>(1)qi${1dn}tT_w-FFx>#M09eMrG%ctBCL~Ioryq-J-wM)A(5btl zz01gAh~6$CD}|b`hRa~T074r@Zn+EcE_4;p&Vg9#niC9B;=}6?(XERC-$!)k2PwUN zfcL;n$GC1ExJl#S`(F1CHNLmi0r=4KexL6bha;L%1l$vl2(?#17AKOrwo{Rc%tX^V zXBAjreL0Bt2md2G;187o&i~g)bVXsxUWyKQ>D_Z4BGlqc_n!}Jo4T26R#7~Cd z63ab2iqMBa~)8tR_XWiD|vqOEyZGVbeYhKtl(- zY7Y1!Q#<2C+;oMsQc>0(Ns-`HhM4ppIWjniOCRUOS%{#|`cfo=i%JA}e67zmQjZ!1 zQUjw_x(4bapj;5xiLj6dz>#{DMG;LBm>eFxEHZhKqi*yoX(Qx9R!O$Emwg^NUG{=k zNK(UaxBP#j+yh~uGmE& zG=w5DCN(gbiGm|THmfd*IFr}wHhzUgp;lLKJ3St-GPG%W-#*HsjRb|Syym{2Sk^Pdr_ z=Zv}_Ty4eTw`E4?DJi5H3Ji~^Qrd)~A{35Lv;eI|S$2bPV`Y0=Dd0nE_MvS1Hs`wT_ivL$9}-5oPAd1h zOnUsi>x7qXizXa8?oIc!Zy!7)qI78dnE4O_usP3QTh1_Fblcs(%W(^vmZb-od zjMOEMDpjClLLC_sRzjO<#rL(G8fYejju`C<*jz|pMB2v~0wV-f=0niTST`?tFgb8T z2(6X?3ZN`S<*+6jcT)kBYu!XWM@R4#qpU@#F|tSw3wf9Nx_g<|^Rse`z5hN#xQqyw z<~kjon_1Tat1{zou2U~k)#dMKOxIbI1gh0BFakx#s8~vn&J&{J0XL#3fnrIB3qcI7 z8d**q}eR@5iae`zwZ{b z4&4BA(q2isec0k(p9E#b$2jCx$egNl9!Up)GChEfr~Q<~$0FHFb4HkmxXS91(5)3cR?=VKL=3c` z&?*2|=fK4U&;*9BfvP4!94J#MG*VnA*-){S#dyF?=>2 zwjl*Id~rEZE!Pp~DFnQy%q3fw5#UOdt}U~&784_q1SpY*E`=fLCe;F{f$9|Eh!_C6 zAh?C14@DLolMusbD%}C06@|FCQI|;%G%of%g$_}k9T5IHo9QQ+Whz7r^#g;Oq^sd?SWNZ2@ey zz|~3u)4(YJF!ji?1W<_pQhN!suYvQw0vF!`-AV$CYASNo9Q6g605}14LF10hTUX zcKyD*^*Wybj5g-<=kUIhqaTlwU&^3hyKc+sIfIH1Y|ZJIJ*;m*4`=8_dQo>hka)E4 zsowcD!D6G@XM8&2UX%bzzVsuPh-?C{-n<- zBXUwdKEq9-S3{!FLTa80d!MnjWMM?;%$?yl^KMW5Z!rLk=>gY3eM*?T0oo0tdk2JL zLa_v>WN@eN0x?`cpb3L(A%!(-fY*dFdK9yWwh7=ZBXlhG&q~m%E8!Yo1#HfMvoon- z^Ahk&@p?!~NNR#q5PS<18-}|ixQ4~VX$b@^({RYT7qr}9Mo0F}5bYuI@oou7QFdauOENk^a-zy?5}ZlziD>pj6u8O>Cn`Li>| z@oU2JoPn8mn}il!B z@`Q3B?SJJ9fL<_M#c*YsM~-NJo&Vkq@ZJsZ790Nuy8+%<0vJpAQ8L1DPK;4lGeoC# zMxwlIK)v2IT}x%58~%S6GT#Sx_nE(ur0lvhlN8|+>LFw7g@Z@uWb`IM&Pf($5xfgZ znDX*7P7D0J2f@g}NT;a47~mWHUN+V_pTOGf%;3ecQ08<$y*EHiFuHjGm`IAV;2~-W zrw059&^-Xwe+SOr1Mj~ARxb(F3#rkDnxyQ(G6tnu3O1L(#Y@8aN{DdtC$b0NfG$%whQ$IC=?e-vHfP08fD8ROXKo)#21B z(a#9(1Zd`r^%hvYB7}E@$<$$5OVrtNga@Ibh{^-AiAP;HTwV~~eg(XG39KuidSPO|=)iwNy6 zXHkZ{(7_Y~M7>!P%#g@h13gPdt*wX_@Wu{kA|r4FEr7`bhwT|5tN^+YWQ8hyb{cef zuN(OhussI0Yr@qTuze*G*7FM3&H=Y!G;NRofC%0>)TP5>=CCNGi(vIv;QVtI?}d*E z?y*+JE(urxt`ig>TmjuX0O!E8jF>!)aAgz(AY^vKnM60;mjFJf1aRFL{YRAmZu=J-wKLchoOC)Us9Y~bx3W2~JN&C{(7I^m;;N=upJkVAlgW{C#OBri>|M~X>#4Prj z)m*+v5e0JTdc9s->E&9@h{lx5Oj30y>$<-LzCa~fi?l z^A})oEVbp6XTWlrpxylX&%Xs;{}otW0>u%dd)^hl0Gk`4U*30#Bxd z#UqF5%%RyZC`Obnp!UF`^x){RenWWsC2;m02rtCKd3vI4aT_g%RNRYG#SP%D1a+BA zgftinv8(o40tia&FSCF#_>9Zq<(=@(R3nEHIJq8$%SrP z6f6L+zWvq$ScaPuswLpx1MNG2&Vcf<@=A2PjT{UDsw1HLNMQT(cfi}<%Q+UG0ObQ< z6&R~^MBoTd4s}K1)j$Bh0WSV1zjOH>z%yX}8BjgffbdehznxRTtgnIXA0!CyXN=GU zFvZ^Skg{@R9{?~iA(i_Qz+FlJcZJY@>=M9j%K`r(C4ieRYE(eWqCN2?}a)XrU)Uhmg3cQA0U^d^C20^t;=K?Z0R3}Pt#(g-{Vz^K0GuKeB^q7^J zDgj9j7Al)+?RzVi&<7ir~uw z!qG#*@+*M1fWH8W4d5zP!yGN)DBq!Y1klfgnD+WLqxk=2^Lz3;!t60Hsf0-3AocRt zI9z;7c=K1_;yu6<#`F;|J0;Xws_AqNxl(rEumQUFK)eJdHL!dHOpoNoyH;K9^l>q# zHo#Knbj;Kecjo#vyq!aH-4>uqpI@b4prj9B>q>AyLs>-zsr}M9LU}@%J|Yy~NB|IC z0n_Ke zPjNWnph3;rj8uXNkqn4$X)$vJ5Ke&j7}#6_uP=aiSGGCtGW~lg&0EZMOVYbmvZm8- zfYnyyHBXr*ymR2dXg0w5J>lKgz?-jtIAt6^2PV%&M5qY5Sv%8zko(&Cq&q!RU}Qk9Va zIVlV}t^ddDEpeVvlnh@=pS~+eBz8B9_kRcQh7jHY{Epxs3X0=0A|N2*N7X~1+yWOX z;PP)k{8D7hPcI~Zqtc@ykH|n1rMqSI74Y(pz{{76%@JY#Yr^s~V0NTe*9j8oCyXu- z*5{1XD|yaG&mvAgW6U0EGQ~+(V^5_u$8>)XxcvJ->K_V={}{)(?!InQPydk8#a+u6 zA5wDpP+frUb6vMC0U(nc?dak#djPoK2+Y=8s1~-Wq48d#A6=V)53-3u z$Tgb_;N>Myehxf(2An<-f|qj%Rx|N0wn4^E!y>*1av56_GBd$gAudyk`m^kquv07n^qFLx ztKS1}&w%!S3gKya0@PCxpE-NOc=H`_83_IL$x2?~B?Ms4N z%fdPTh!KwiF1^U6O&m}Z5#9&19*E>shd_cVuf)r77l0Au_E|fO>72ALC#9?eplx5? z+AcHFrWsxJT@8hlHDV!?t}7ynDxi8wSbXep{+@982EfhYWSDG^F=fLt4z&}=-+eV*rp~`?I5U&XFB@n+Q z6oFAci6}pbpoeNc<0Yu$n&1j4Qkgl8%io=Rt`DGnx;}8frUc-%eYW>#7)cD>RZO@ zZ^EZIS`wDWgsPIRl&ec6xxQy?T7VzP#=ra(Fn=h=hz)=sWwas!%{yTAC&JYqfq5Bm z{M&%Xzl|s#X^;@IQXySKLB1~m+^Ga`S2Ep?T>`i@!2OR{0?0FO&RSwBg^{DrWPTO4 zD^G#RF%Uk{e)8_FEqw)p$| zK#E~Zyt^iEVPxiqE;+b?69<455)IgC!N2`P$jT%pNW)n-5G(B60BCqj0!*ii5a=|} z!0@csOgBMw<_ri>g+NyV#RH)FFTmvlIR6W9_APMrH86QCn?=_G>y0=APM!ltzX6t? z0>xajI3*WG-HeJ#%x#+2!1f!dLm#~W=ATBylZXpMxxWIah*1;)!4V={&l53Ny6-;m z>6tck{lI z8*z}0j#+{dUrNbr{Tk^0CN=WeBgW)K1fB(Sa|RlH-X7rENybcxCh13>4F~7?2fX9C z_3*yA4kuZ;nJj@AMG;X=0;*brn@Dh;Q9dF({*6PtEb!`&4&ggO_mD6>28sovBhgE+ z@|SZ!wUpqYngM4^;QR~V{X1ZDF5MNA5@;iEaRsazSvRIX1CBlg=Dz^yQ&l3|Y9LqY zn72Ut5@`Pplo!D9CydiiB933gzI@>fTFQJG=q`}q{pbGkeM37^)(2CQT~H1E7#7?aOs;bHA!buM1r-|EerSvjDc0q96$X0$5ZR^QQOF zedL-t&d7{3tdoNo6m@a*Kvgp)Pl37?rM|1LfN&-mW~YyPQVB_L_8gc$WmHE>y6O}y zaYEoLCV;O9%^A>s19aa>-}dAqM)i!*Oc-q=%=K6av>SUV)>N43WvEr{&+MMrLBvH+@wLKv*)!1^VjIhP=MrPt?9fW-u;9}pIg#bCx)oGggdaj=-lHLbn@ zuKo;c{w}4B#Zy6P!X%1>vDNs%>fGr1F?QK}>B|B-&YjI6pl_$$-@3bh{0D)WdMp%r z?5G|DskDZ zfNDyZE`jwcAYO7ZOW@HS0?r&Hk)){(<5A8HQa?2$%z0*>_o@B(({uOqEA#jo|Iu<5l}fHj#;tZvc;$w zUh8&+czOYy3^3*%u2eNdWrHUKKz^okvRKB9z-u+;>+Wq(0??XkX~ZaRvb*TD`^gJL zZIa6osa27)jm`S6bBkmdlce|Ci>_=5;YtD}noG-`tHs2mtbwDaKz9kWSF$0w0;pz; zVkuca6{_@TngiOV=*rak7rrI%S3tP|CLc4(XAwA&sKW(mB zOg-bHUq?LoUBvXE1RyPw@TEqx$G-X*nsou(hV_0^-}{eQ0@%0N+|-74(=iU+!y%~r zLm~9Loacw^0=Vt<-=m@sUWLNPg|X}1?kda1Qfq%;yux6}MuavdBxD|6 zO6FxYp+@Ga$QCd39R$W2H+Hw*V+l+L;5U&LmMp4ti46@-5UGt#M?+>l-Gb3OureNv zH6yXl&Ec?A9s}{Pgps#k8F|hjImwO3#88E>5!P~Z4s0jDC)zn%7r zdoS&nu25yRMixZU&C(SLiB^&oufLUzD82<|OJM$Sgg@yJAk6p2(_WH!&ms4dOpu6-tjy;UwoU?4^(VljaQ^a>H36D7gpDiA8@@w#L9PdL z-5r?g)|Js;qh|5;?93}cl6sWK0?{wO0nUF9y#9A3i!!kMSR52XDT_tuWX=k=K)M5P z1hfyNBSX*}DH9a6%4Byk?ySLQ;Ul{i7em73>pNLdje<56VC{g9!djJr_k7f3dmUMxi01AUJ8$KB)P zUq0JJ3zx>kHqo|_n*P<7V&*eDm!M(#QK}_-m9Nbga44y&)RXk&xLP(P4#4&$aQO#d z^Oc|pC%*!Ye;H98MT8(`?1d9@WufG)UlK8L*p**-$^`L4s_GN#DWODis}o)l1p@-~B5P-T}*}z=MBc%zqQ%P6DOb_a^b?1VFA3W<@a$0q@c5sB`L6+9IJ6ysyC|Lo9w^8O0WztQ-EaQ)pPxPexULN_Mu}M4 zt-LTrE!o@hM1G=ckQ=ezVr#q2zg-^y1OUxKbif<+LJvU*Qe8*r6qYL{(&t>Cs%N`u zfs4UK$CJCWFK8(`NG zTK%261f~mMaVo(`r^j)nv@muHId4!gnh=ssglDf}SE(k?Q9Wj5DoJlC7iT*u*Yk3rUsey&e#u4C_9 zU+G3H_bF`x766nW6k0+;@Q9^Hy>NK?+azrC`g7pTzlmWGZGidD#6O^(0B)i|N3b$V zW<#u{w?z6(Qs|)-!L!XdVe?XW7FT~|#0FTt03QA`aQqvBTX-}r&~Bor3KGLJp@dg` zi=lezE*bE?4e&PKyKe)$`*q#e2AHbfwqa-s4X5mn`L>D`hd2Oq>+qpOYU4pB3(Cy0 zFh=15#LR`y+s{V%J30L`JBIv~5w(g=S({uyat1T4cw%XBvy8+W!q6X=dxD+Viqb9a zRL7c?bf(u^K<5_^?aSg>6#g80{9=To5k41m6D%xcs{;#EVaX(|-cyp8zy>=o$}- zPBJ-_rksE=g}A2`nP!3UDm;sxK-7|shqj1C;V-mN%v?GimQ}9jV91yc=6DoN0d&K4 zkr6c5ReJ>???oP%J^AQBREP^714Is`2Oj-g=0-)p>puhG0yz7<{5kswm_K5akAR{U zl}U3@>^n94p%!u_DW@eg;@NQZ5;*@7xcCa#ypeOA{2Vy_4Y2$*P&_8I@IXr_m{Cwf zSqLAbhC>C979L6cIL&o$@0`wckOqgU8pO&&F$>)TI-c3PY-@@j5fp5$YtS>A>jrQ| zo5)-UCr6K00q{&>sT&;%M>skGivP}V5tul_`B%XD3*c=7G;d|h7f&US_mvhgZPmSJHw8NQ>Zu|0W24n~JAJ*-TB!o!l%>ud959(m*1u_i z%{$=DAEXu0Ayc6Al8K#vE7wa?z#j{2ZY^KL7?=hP=6IpV!ZC2UmCf_b?}5#0L75C9 zcG}W-`C3SMt|HWPMpZyIR3#>O5QrRDO_PXav!0Z|N1p=I0(kI1B!4g80heD$iDdH# zSUr~3v~rTz{5$k;g`z_%S_0cEVEtA&7VFnQx0X4*_?eVi<}Uz$s>+v*gYTShSzJI# z0W}dO@F?L?SMsjcb70#6=U>SjFDfK2fI`M&b*^)rWv&-T!@17a%=KcT-4F}Wlj!IA z(e7MtM{~WHIDySG;#>(Cf70lTG%!3m0)GBGU|s^R{s3IO0-7`6eFLoC$a*$C5yGV} zWWCF@i-$G9PLPZ3TISjMEpYJ?IQtIRz6WMCaPk@O_@5bz-!f?F5TNL3Fd-=?+8!+E zkD3`Ol95~#??3mSpQHqEQyXA415TeY9-jkE3%vcBaP>EXB$Hd$P&g=8rQ-v&t=qQ& z=4*)aP>5GD^#?Dc4XT(+W;;0smX8_RZ-CX8QqK-8lu4V8)wR;oJ2?hs&w$y-fM2M` zdncJKE62c38S|&W(OVHnyrM7%k(tbC2NT5nw=>(D=wzdITOP7k=K%soI zdUecF<1Iw6raEPWMnq7WZ-AHY0IxmM^<3a#`0SpT5mqApv^@vfE0J`omMraXzacE1 zb05UTR#1(iP;LUmIkk$(6lVGWIC%~sNe>i$#!lT%>vM8?B0fR1~qUZ-C6 z(b2#uuP%XyFMw)En0~}~^MwXUZ-IAj1gb7)EP>A)@KXXR?n!YJ1$yTVV|xXxR)ozO zz=lxpu}s6nU!R1g%VoB_*cz|nig`&YpEpJl$s zmb1BT+7q13b;k6WIPFER?#XBiYoqsKxex>7G&($HZ%vztB zK|y>Jnia6V0JbajtN^f_6HXorn(*Kkz~VW<%?WKo(xTiYbFz{MB@%(R$i7PKwgK{( zh;>bdci#qh`|G}M1JnRuzZ)P8L{3hh3CRuF&vW?CQ;#kZ`+${0)g($F;J5K532 z!H_z#X%v^RGI#wHm_H*t_$4s=8Njtb;M0e|tGIpO3pff-$? z=Zx~EQw}j^pK2oK33`q35;%J+N@Q?JR4203FDIwK@@K%wr@-u~^x3m*cEvDxvEV^S zQ`!YUi3DhR2?fN6$2&2knI8k274YsA@ct#RIs?|FY96H_-u)GL_Z4t;Mk+EyeXTsQ80st^ zGamkuaPkQ-S?E}_=^poUO9;o06WK4UfOlU4>vQ8pq;@k`ONKsw3>k=V$6OUjWTS1%^EJHq=g^4{QB-y#Ycb z)Dt=8gI|c2efg0_Q;vnP9`v~?7%__e!<)}V#jv?j=RZpP z4_6bWPk^K6z;Qpk>jBoONKSmBaJb6rb$tO3yjnd`@&$VOY1fbY_rElr)& zVNk9#Ddge^DCUIu&w$xWdA_ed2hP40WT|-vbW>n6QNyOp`@lFP+%eiU^?az=5peuO z=D_4BP(B3wLfE@)o4R6z*TN_rVFK+UQKG3Q)<7ULOzxFS=}yS%_i_CDK>*qh;2hj^ zjO*a-o5~wMcJ2KxfzkKjN_>ce;%&cQ?2j&x$@|ITd-_yff~q83yaG0B5uh=c9Qv|G zjOBiL&)@fK{=|EFhqGp17CN}q`HMMW_Ly<}i4c^wDi!MI!0B^Y$QBQPt9QWWDqR;x zLX478l@ADuj~R=P2<4o6$3V;ELy$Up=?EvM($ck@F^*5ffMva*UI2*$5Tan$>3lZURS7(NCigs@5iVXay3XpsqB0jEgDOIK%$Pj|7LN(_+%^Z^ zB@w~&5wZm>-wd6q3mU6iMN*0yIC?=ioidj1fcf8nv)91Zh@UO@O!Pjdt{BsWAS=@c zg!(B^K4G|p=n4eYae$iOl-gEjEoY@M`E|pb&Vb^Xz~{#&!0AW8>YULnWxuH5wIjHK;cCL< zgs~ukuNn0*Fn=r?T=|f}Q$pJ?x{b7_83I%~?)@cdC*xi^sq2&KN-R$0-xhP=_=Iu! zR%C}G2`?i?*#KR|s83}BTs$V7>pYt4S$l;+A^BYYnQ#oIQ^v(B=v|e2^g0B!o@8$R2T2u{k4jD{0?kh52JA zoC1Q>)3{(z4O9z;uY|NXdq|i+l6SB;24W>70oAkUG{qy&-vT_?jgRwO}YTrUB^ww+;`76W$pVo5&JX-_Ms>@jl*@i3%5lR z4juQVd)lYpb4Wws(D*Skh~+c-1zl`tsEgl4V6z3fMvN|6C0cbx0G8{ z_q{;0hyI$*8+!&&Is_G}0buoLFiH?=jkFPE;p-WIr8?pS|UP-1*4QrpgK;CW&)W?j; zBcNCc!@Kh`Hdeca!q6h91k{doK_paO7jw$#``QH&g!{1FGTKOJ1$CG9&nV;J3PD1= zI`>ujRS#PGL}+OURmph*1KTaoG(g+296#FpVRS5nP}scjnpLY3UF8Wyp_b5&v_>uD z(xBIyx&zYt(sV%EGB%e$w<0tqxU>@J8C~L~P|a{tLNOQUx|%WEjKCETOO<}+q{wI` zj6y}ArcQ)+N=1Sy(@r4n8+xqx)@~T>hOq5K)}w`tLyVNg`YE zTP;+N9*F@QMoi$IiO<)!8y@0lXM6uZF^iE2afE%gEGJmltmVm)J2+U1T#F6Cx+aL?%rcD|8^noBO zvklO!MgJT@$~3_o+-jhh5&T>h?KY$qN{U$tf@Cu;NfyRj^hoNX)Vspje5kz02X}Mo z=U$hMO9Mi;72X2c)I&}VBeNA6j=PS%DI(Sr`3fL(*?9uwylqqtNk{={KCT6$SEDSl z`Kn!{5-4ky86g{6SquArvXJk!8!4rPt&~d)&SnC*kj>st^!F+WzBWMvmyOyC!$gy0 zvnf5J(#*fmpsO&gj8RdFd#IieC+Nqa$==6s=efQsj$w1%&(k~9?49e1WQ2sQl$uRT z_Al>j0UDq#-fIA1^DrcG^JFHaEPf#0>o$aTEnEq-2GB`IQSbm)@{B5#{0$`UN4u5M zm$b4n3ZIZ5f%^%y7e&vqpaDUb2YC?<%As@zX#Fm5`+XbWeH-Ax5&$#ra`Gs>oFSu@ zwUBnJ#NF92WTBMm8Y#Ac#m}FfLcvGj}_K0rTJ>sGc|pS;;bI3r>PA z!W1*synVUEK;|7ho%>C{&p<;qKGBZLy~v3j(^Tf*a+bqxEX1QlHbAo6*3b)9)FGx# z)d*01oi-=_Wwp#);)t}3vCbUq2WwX?jXfFbGQrHhTS2x6q+Ml zRBZ&~DL5L{muVhS@uG-CSqjZgU;>u5uqNA*6Y1s-!+UXMyxQ z@>7%$WFva?PLGcDUP4+hJOQL?e@VVO{b{8eBDtn!tLR@8ZiS;1!1gMVFmy${9ZC<> z#6xe8429xMx#~kj#QrmXZX&#WC>ik|;q#ApO+5+lP)%e2!P+JOtw2)0AA}4Sg1~c< z5eZz^#`IDE!;Oek>pZ>udvpK>bb-`=+fx#YJzILXWG#h07oX?84Bj*W3mZGT|PE zZnOJQ&Q2FF;{MbwlT5R@4Zhf{Yb1q3H6&W zcdP(grKl(02)>fKunvzY#?f&1kEbR?l-Hq zQqH{?mYmqiEIRI;n#{C46m6zUx)JG^Teb({-a5GVlc3?>`x3PVYa~*Fs^cIX24L#H z&rVxYZEl%=L!>?kv_5;R{TWHhFELw> zn6*5p!B^j<;aCZm@*I0klm23i+GP`EZX*NkOasGf`6^FH0HEV!n<&bKv`cv+9xz7f z10e7J%q4*9>e%-sfd9x6fG(tkwOr*9D+`Iou`FgW6UQ-4Z_bH)I~>0oG;=8rAd)w^ zL5-HdRJH(V`<1Y}li#|PA);>B9b^HqHfx`4(oP{$PbR370vZwWNcZmbc&x}rYtSPE z4(>N0+lVrP7>$t@9ScW^A7HRPDa7wA8-4SFt(WL+^YDylFiRW;7&V@SkVGpv>Kes+ZCo`iHtptZu1I-p_F&I)MJk5k-77%(8 z(q>=w*q51)jUF<>mCNS1)3I_31J@O3D*R8g|~0zKiS;JX)xVtun|Yp&5-#3bP!&Plse>{&BwyV!^%ie2fGW#UD7c& zA+ShNn$f@`WTaiP`KG}@E>HxWBXF5jbfiJa#{x?RF!8`i4II@e4`6Gh*<(a?08rfKS3QSSSNzkY#0C{snz8?GRdp_f?a(4g7%U-Hwzi%KZyZ)H9Fj|?* z{=W}WW7=@L{95;LNoYKGERe9E&B{Fb%q{q^@>mmrRVygV!~+j!KwYWF1EqV8Nblkg zIoItP?Yg@-%>Hd5AtaQsrPSI;BU7S*1UAy#wICw@Gax;a&Pb&g0u~k|0V%-A9|LR9 z)w%RO**x8J!1-3jc2NPJEP-W(A6Yr={&WAip#*RULZHmwn=*=uWsy-gj~+Tx0hEZ8 z9mk9eXvf?o|6Lyi@Mv-C5rAxQcAVgQa@oCPtGVOM&5VXYN%C|T=)cf%f*V~Q8Qf`P zyOn^r*FEKf0(JAEMt-wI(XrIAseoYw)6o2B#p6vifb=kB{015Bi{!m9Yf} z17Vg(gAGAQg`AuZZ3J8vFb*)0vH42UX7FV0lB_`ushgro#p(tWICT;_q&W!AWu=FW zEtCZh%%k8#$H756Dsr?d_A(Z7UD=c6%mUjsUL!sdtn{YWZ9mN^sAwY42FAJrE*jyq zbQN%9DwhyQJ7yja7PO?fPT5??fw?|>|0$dEUSIGCsi|8ul^-)9i7EIBIxhp8;-Zx7 za{Um_)}=#VQP)A%m9IyjGOOdUfYiRV$x2cI@+{j3Yy)uF5Z+0WZ^86T&o zS!lTe`In8CX7J8So28K;Da)SSxZa7}?_h65qen)3mWlf;@Zzy9!5$|@#yF;9glvoo zPbjPn%n*rDeRglmna}ZTH}=^a4?N7gSu;-#Y4~#TA2I>FePfdU)pYeOBX=rAO*s*a z6ROZ+7W5R^=AWZdE_*L}?FxmeLlAC@)ZyiO_Ivp-xeNyM`CPoqT)##Nq|l!) zv$>XY8aT`1c@Vv)44-%x$r(ghb}#mPD9Ml*&%(-O`I5pJs)FH?G<-L*=iWsb(@iHq zKpT@pGV?)CutQbQ`_KL7$3XzDi!L%PieBD#|FQy`1JBX;d?=%#4n7V!Y( znQqE@2Ay;}rAF@Cc@CY8vPIOSukt6S*JojmB{$cT$XX!&mKu@R8c6Oqe}{gl$BqsgkUf}80geADUNiG zoRZEAEdXdx>g23*0ecqLG!HpxK#*nR8Lz>!5Dh_T^T%*g+Uo~2(7qT3Qw7r4N8RCE zuG8r8s87-66suCFvtbpT~^fp1j zhh&^T=3S9FIXy=lg5LLSkIT0Q0R|8}WsCn< zW6|gR&v~D(0RTepnGCY@D_QrZMXOokH&hKCv9PQa3F2D{~Y z8kPihu1W8YF_4F)ELfn?`e_1|)Oxs!kC*VVG3VZlt=`dF^&WK-c~IaB<5|L&Mr4k8tSy)q&A*@>Dzv zYBJ71AJk;0bcYuBedo&eY`=22Y_K~TE&tZ4mC_&%q+_*g#E&ZkXu5(oO zG=S9=uzEw-u5{7$8Jw)p>}L(J+889?OV1GYCj|yn2k<`RzC@tI(Kr38~Q* z=`kWwdnaMo!b;^MU6qL#1f$izI#DBk?JR{iMHr zG3HGIm4w~SioEP(dNLFfx1<-FQn}@v;J7bT%LRxAF!f$Y%L1)ksG9eUarQh667QHq zIWPi&W3Mkj(0;!@6i5L81BV0KJHA77WA~5f1B49i;S2?9c!*l$$K<`x;jnwCpK6@( zV)(sJ+jP-$Y^bfcKjy?h&u7Fpc17|ORH=m1? zFJ}ZOXzLR##2$J19GE``%B2PXy15xl$_mNSzPgFh)nnGi1-{+$;E@WNEs`-W5A<5P z(i_3-d#!yQWNm3hccb}0w7b^to8yCccF*SBXK*7_qF05CS)ciJP&j3}LD|N=@A>!q zO}ns|5pRdd@J=g^{Zj{Et0+KZ25|s!Q~@wyp$oT#`w|y}wD!(@+3AOx>*G0)w|yE} zGUx;AI~O>$1MZto`^qX7koN6=ae(9x%20Pfd?_DWh5wt3KSOL94~(R6O8xv{oxh3G zaliH7e}19>;JUU5`*SC{-oY~Ov_;`gVgR^qsRgoDhSiZ zjO8zY<)^^pF~JpCrbN4PuB7#lpbBzg5Xrr$5b-czBED{3P`|;kwyRlh_ORz((l*Bo zCKg#*rJxqN6f^Db@6R6qT^FTOde%_boW`n^mOUB@pf!c4Szu5B9*$WcL;D{mA#0yh zmA~WyIQ;p@jOa)@HI#)JBPD%?aqt`S`{jO_EXAXWKF zWjMxRRgL|tSy0DL69}V-422}^V2LWPOmJ`m{R=Y5^L>%&p7FeI1Kgcocg@KEFMD6w zBsZ>Wc|b|I)Z*@Y-1Z$_L?_2yGOlDS56X1R;w1b7quvjE0OB4rf^1Bn;AQ8=5rjFE#H&zXKPs zAfhX+J85}c+;@Zq&;>GD;>SRH^4%o0MWX$ zPTVBgL6d%S^jb7=&m_35fbGA5KmM&=l>VH26Q?$1*Nc0pR}phy=s7_0nfEu~^-WqN zw;IUYZ={#}(<9JqG~OA-$7dMdYba*Ki=Rj8lGEZL z$cjY^hV3>vA^I4MOI|qyl=nv9HO`$Dz9sGZd+PLDJdU7k z)`m=8RegRE)tDg}C#2aHI2?f2S5a2dG)C&*b3@n>a6XHX(CV?K2DW<)ho$JU#Un@n zD;pvu_{v9ud`m7TmX~$F@c_L31dcDF@SBa4!`4O(fRh-r?Mcvu+5z++3AB_yFbn5B zW)wLM1#~LETKB7Ue7pfLRswO0@`$nHt}W@9n(rkwm)DlbEGf&l<{F0N8P`|G5Pa9J znL>Nvv!n2ODB<&c7ox6mzW;ioUH0A%z>inp=ZloSJw3^W`F;T2-w213gavj^K9ds^ z4Q=NgArpo6!oCbKZ=MulW>NF#7K}<;@6sF%v1n}$R1!o4Mcq*m2S!%6N>S>DG2-dB zXW;NoXwT9Lc)yb{N@F^N3+nX)g!cpRHv@-v;CLYHj)Df5s+7o>mbJw+)kF8BD|uAL zMX->6mBe?4=RfX-N7>pi(cfLJM|YG_gVQl^J`&zvfYYn2>HVXu)y+m(7&VXM+yd_h z!ut_$2kCTJ8Gtqv$e@^KSW>ZdI|v<7#96={(?Yoy&{_s~W1X><0Y(PEP~ybU>v{X& z{KP{^C1ZpHrE}%Smf9B2P5Ky`$JDt>@0aFTYGFAwmpRulCgc1%#_k(|V3>Op&4IDe zrDRG;^BhB{wTFD8eF)kXcz-9ny-6wF(=+g&|C3N}fxo|V2qB!b&1+R>vM=aW4oZhR zLZc)zdc0qRkGuQEOw6gW%@akj_}-Ov^Afn*k>>R70W@r(t!6#3j%Aj(|3Q@0(*xn# zAHb&8Vuz3n$Ec0S$TFecFsLQ4VKoq_>(0d;VHdK*P|w>C)6ov4=UNn!C?gidTuEK} z{G-<=fD0-!%kI$(Q_6I&U%&PU9A1ILi!dKPJ_66*2%8OqTfkcB9kAIFwhxSE3-EW~ zvg>@?r_y!1+sm z4_Ss&*6CcRXHJ-<^!=sz%z}z2XW*fz97;Q<0f6DqUN{iW>+l^6YogHV`S1q({2MsE zNw4^a2Ns2I6^^x}$$0}*uSI%Tjw-i0I3E!bkih>$ppcEo0j9RfQrEM52B6fbHJ4h; zLty}#!h;d>GMA?g^*H9kqhJwnhM%Fsibgc#-;+E9|-%c zl>hzp7vaDD8+biPIq&l$a5xekcZ{_g8$}z-dXpdXs70-pk=OPJXa~%52(s0KT-7$C1AG?+*G-EFGKX%@+_g4hqHylO4 z+*9}(txKjvFN8)ZFliry#y4VNQAFSW2HsvIf$DKDWoV}su&>%iw~dkpDWkL*)n9mY^$!RRj$H%dQUSp{UI36U?&sjt)lHt51CH?k&IrN53ZWdM|t+j0nG4&*Wf!wf{`bXNs15t2-{VB?)>{p^O?gk#Zl6dG#TQcHzj+TL$aK4c`B3l+!>W2 z*c0RZ6?pk68|(fN*gpzB`uZx!!1E)p-}>)MWBagbE<<+0IGVG$<8qnb4)@v7$PJ(Wl4>OCst$ZIV@L)pmN4il(f+VC{sdbW`DLI74$vbYqv3_w&9JBM-umR{@J@1By&lJc3jt7Fni7YM2IF%P=Y5WA45 z5MJH{R^4rZr@hqpzaL0QYfgaMd!{q(HfJS~$~lcmQ=yECO7J)($%_3)BWBefiBON_ z0F1=QhUGWlvk^tb{*<*o>?=3VSLh8Q-_Xb@+Tnj2rEX@DjPw%&^+sa;yS>KyU!`pA z?Omvk_dDO%sf+JWudZxqquJ2~e6#1j*c?lHICu^UL;n9hCuF$6Q`dl}i-&BsQUZ8B z5gL-7N5&Ag4Y2={&@{kb-+}iN&>jHW0F}y`;~vn3FU;8y>6(s01sT(o&;K>eXz0Q+ z#7p+YrJtXo?;U%_mpuPV=Qc;LF41FS^IxJT^S@{J0$5_1%(3pS;Y^;g_%1!)9It)} zU-Qxja4eCLuH*twvhj&SS(@jcCrXur|NprK-roi4Z??eGgLwM(BrJgKNfXzM)L(nf zeAh}1_DRD7Rh8=B6a|P1;}g%PBr{*|$D@j9(sR9l3%uyz}W(_*s$ zP8-IVMWI8APtzDX|2^Aqs+1Ux-Umqhy)qdgMZ8mJpa zwV`M(oHm>qWbM5mgJO`weC-7=N8hZy0G7{d4FUYdA%GOVX73b+4YN<`l3k-^9Nr1< z2Qd`8(`CjQP9+~S?xDn^4i;*gaCFsplJxk*Q^hE>^z~S;{0i& z%s0@?MwdeL_Y48_ylF~k|4LWk!z>*NAg?qPOWEHMIKBfv{*pvXf+%x0S`OIX$QQ#GEOH#bq1(L z*PodqgM+$oM9KqjMSGMr1h9qxJ~9M=b^P`t50@r&`6K(t@eI5uHSJ~#{P7L=_S6x` z5NYjtqnXx9zxT(pcv>&-l04`;=2gliP|_W|2%P3_1NMyxK04n&CRUi?)D1YefD=Z# z8bCvmo&NUTW&ZDFFr4dwUlMX1fK>2jJxZ*uP~dJ?tfv@_v+d$)^^moaABz!*1=Ruaz6En%}sKhbRDoCb`hmJPBJVre`)$T?aobiwaVKJWH| z0yx*-<`ddn8q-!;se)%Q%FT$6-~ou6$QP&F=K%=*qvlIUmpVdw09?yLo7@OZv+s6C zwV*7U1EIE^LFbeD@_0DM+z%)t&_Zp`8)u#4a=1WVC4ar zp+i<4fORb1TM+GMxhLN1QBR`Ojgc7ij~@!{qhqG4jKs0Gri<5}ZPaenpEu^TFL`=H zJm`zB?(-3VIDye|!RwC>WHpoyNAcpDt)MKn1zwK834+4Z0PGvEh4u;9ip45K4 z1u!Ddn?C=MAxT5s4kKnOGP3SA8_DKBo`nAQ=}Fgf3;g|4Ixn_LXZ^2#0sB4SbOv5u z3GGRUfSQH`Nx%RC6d7`i<$u~fo?8s z1~hc8OPT@o;oSQ+16m@#4`~LpsBu#FchdmRPXsbj@BjWL-YT?fVB0bdM`)%$;bAY| z|MLa-{sNF8{Oeh=t9M%|-(ttZNO{t|XO0ozNmX+LfX0&mKcE?qQA@z((2IUIF<`X0 zPqSe(JK%5@6yR_qY-%A^GL^h;Tc82sVN0mDjKi7m{gv@{A~ZE?b%rQE>wNN`G6Lky zfNtt?rwiv+&47ycG^9}uWQ;`6xv4~f8*K>m^2Vqt;Q5j8$2XQz%Qu1}#qRNA>>h{{?yhaC9vZxlzwu)T8QJ>if?}#`#Uz7SD>B)Kb2Nji3q) z@%n$h0Wa^O@V5`*y>4pX7>QD1WXiwy#-9JZdjW*6p^T4#inu&G?R(Jx^#cPZ>0U|7 z*|dKkJU>_AHJlYWb|b1X~dz`>t`nw6T1z7C*a_OlJ@OYJb%*&tY0Z1PHTk<_;{ArANC^S?WSw-ON9mm z|A?G`%pNgDlzjUDyq(2xvH+f}7^fS}>^~iV*Q5Mc2W%dJ-Gd+qOcC33md}AwFQSRZ zZ5`|QN@L{#_y_O+6lGQH$=7+}+yTggmV>DnfBqqH)YD(U>${xg@ez1>79*gpySnVe zi^5P-ATE0ANm*CeT}SG%K9L82C{qE+WoPGNA?rgb?Y*{s?K`#XKN~n@x!r{ z0Jenl3*&eKno6Mk!-;Tg8Lk3$4~&NgpxKJ_tQu+k9+sZBd6)`#RS2$oUM4P48r3h@bIXpfkL;z3#EP% zRr-BP%BpDktq%(Ucx9h;G3xF96d5!Wlv_p8e5Nu|2~Zy;e*J!wEOz0wCo~nXYb5FK zVJ9IPQ&DIt#Kl&%kyUp~BjAo90Ma$eQB+67+Qs0xa4pH%l+t>;0qB`PwQyS4la&4) z&wvBLF~e+t-H!0^2yAx}D>z#Kwy=;g(yGn~SVI772;dhB0jvnXZ;Ak9?Q@vZjyYU{ zq$i>VG@yGQ_u}b)YXxGh8zoMGDkayIsZVx&FXZwCFOY*@*g0Q=`1%JR0NiE$lQPx0 z$S-vx0*uLRSlctR5yGF!0J|Efx4>g7S?i=zH%fk3f zyJkSf`})kV%I;?wa1qO4$tL6MmW!bzC6w(+y9GKqkEz61-86cfQT_$j5dhMNu118I zm6}3b6sB7dfE5Aw2n1k_g8YUf@%Ff!pv0NGf6aF(&-!+wb?t&$hgP+7zJt9Z70oGD zSjIURwqSN}`~{+`QL`CuA4q8=1%;fHJQm{rz724=9o|r)4hf)5*=Y0U&PkO_c6%v9 zb~tie=iZyoSijz=a?EI*ph(^TI6L`071Rht7kXS%0UHCjTKX)s4q)w}P#H$0-3L7Z zkl}gVo}I4u1h9@TKh_Yy?-T;y7-1&FXmH?y_he=cfOB$9>^EI1@|_fIhPX+K zK_L3^^tQ;AKaKQF$xrUTK)b#fh^8a9QAXCx=)j#q0D=A8NvOqYn8mTS^;HcYO7MvK zNC$T{`-y@ca^cZ)Im0=qfKqco6s*_9j=GS+rIx@QLjVlTEpgquHZy+2`059(dRZ&k ze+WQT5sXnYLxo3<1H&S5bdQPS7C`d8-k|QAIfQh2#`Tiw%QXbBh5$Y?1hCpb{~*sl z_DtA``{?Wt7(eLg^tNo9qPLDyG8!uAt|EA!9pF2_5wk$P>;ef9@%25}uNF45vLfmO z72@y=b{6C!pqdIXZWeMMjt~Kki~%=&OHz26yU)cc-DSr+MGiV%{V(ROsu6W^k_gGr z_`jC%8E80&EgZYVh$wpO+PlIVmJ|%KO3ucV$UT;+BL@cymt-6mfGZGF8Aywax^=AM zOCtbty#FbSYs?CZj~V;ywK)J&q&{kl@9Fx!BV;{M#5JF= zl{y5>Sv)5PumwdP^;8El&fv~sx*nHd(6P>`G~g^znzoQAHkzSC26F&L?$`J_Oz)kC z@NJw6#tb;CXoVdXCbT86DmIG}gJ0i>8il*{-Z-T6NO|L@5ZC5B7lfACQrxfDxb*o) z(y4;bI_Z9Rw9>Y^G2-nzJ;M0-65GioFoX_?aaMype3fNI$a;5ZVZnj-(tG))Z&@X| zBDA~;fC>-F2x--r2Rmo4976_5`_mkBc&e@L(7ER5lre-iKmXX?N*6r;{&REJ_n01< zL+Dg~+{*JGBQ?t3&)39Y2w)5j9}>_MOfeYR< z(5Bw81U|i28WQT_vOHSkwZz+#fwM#>-^9GEQ}bJlKod@ZCrJscT54(!cYs>%_mkdKlD#|k7CNo%6`__@^=yetH; zL|NWD1d#7nb7A;=&Qm&N>bmB@;6u;)94B>ZeNVB%&Itj`)we_Q8qzBzxze5~S zQ<X2bGhC-xrNHd}n-Nz6Y)mmlav58WpLiyE@ z*J9LbEjg-VL})Yv#$NvJf(;832r!S{=q1m;2dg~f?^`9G9iw#u$IE(5t-P@+mX01FE-i6UILDx0ibybF)gzz) z-8By_I|?)bi{#rY+vp=!rRRTY{f@2cshIZAeVe01=Ts|~nAQ6tDf%&7V^6bLTt9QW}C*hOE_+1w1zY zDT87R>M1UakYSgVAr+K=vLg|Vx`I?N0Q`pBmOe4$Ve;j=D);ZKZmbn&W!R;!DtZ3{ z9@P|dSqhMZY=74UN64rDD0x+boZ;1d5&1oqDFxP6kB?2%<4mU*rg2KrI!Y)$&QS_XqH21tM(~Wtk zbR(Do?W=7#wN0boY+y?>33;<#@6=PFbwB+T<9Ry6CtY%5a z%EA$;3P9)Ka~liL%JY2GyOp(LD7#lH0`OZR z0CV!_J`Dj_s{nreDu7Z`9VWmUf+fNk6y-51pFCKLo7`+q2$=`Yb7Rdns50xkTZYsB z7#I+Y)QFLIjFc;>n^pmIqcVhTLtv_KV#XN`mb$b`Aw&`-4~a!fF6u&oUq_l!Cx4P2`L)+&G*q4rx=0T4&C zoD12^J?@%utM9nwTyG_xTg$I=z?6bk%gRmw&Tu%OMGLD6N!rDp;9zwNO$(QJ_SX54 zqvYWd3~E$pU{FCkDg$7H8ave3z@Pz8gHdHIW9Z6z@0ig7I5BVn7iE0zm5`0ZL}I#r zz8o-_%{P-lMlSMuD^%FPpe8AjBLW&!*l>*>m;n=&#gZjMX%u!UqphZd!Qwb&@UemP2G~07Y0^@pqf`AVd2sKQ= zRIJKg)V|5&MWf1_B4glERYn(l$V4WGiFob^jEY63gG+cu2w?L0&vH{Y)K#4j7zPXj zhc=p71(VwxqiT6)4LM%(YN;56)N9@9S+{<^K+$}>>Q8gFJLJNf z1EPp4n65$Ft(pN54Z`iB8bl#^`F3)rqKs)&(cA_tSvpK9JOBy?jsd0DakqBBF{go) z;?*i!?@yahqL-sW*Q~CkQsoO|OA#iJ$~F<{+6-vc=htRH*EIuLLjb>J2!L^hK&ZkD zC$Z=wS{z|@Bb9_ChmJk&R~dw^I17>T-;zOt8jY9$8V&%OJA?o%vqI6Gj4doqu!)Qj zp#fi2#+=F2t9gPz|68iiK&WpkBGfD%dX22g;FckPo@`wtTNgMlT_oSnB88rVAjD{f zXYJU)U_%u)sDo@P09#1diq;Uo8UncUSVI5{z4|X30`OZ6>-Ivdt?4Oj?=?I%fYk;k z9ob6coGf!C`35fS&^ZP&+2p#s!eS+CsZeu;8Wjvt3TEd6TL+UAbnW0QUe-}5F8>d z19eIVWDDyhi74>Gbx0%fn)_@N96A$18veO7s8OqAjpVT^p_JqoM(TeJ0jwc_dxZe7 zj^A<+`gzT@`oU7hXJLcKM=)Q^dz#v#Ng3QLh2A4I1rvF)bm!~p%UEVr{bDlaU`+L8 zTB(U+fDgNdc>TIy!dBP-TEQZ}yX3mBEnB}{O@RHYPWeaI`>Q;M>-bId#3dns6^{Cv zN)ge9=~>QwMtavMhC_ps7?%FBcfH`j#r|gn1Z5Q~f1?Vm)=k$eaG3vbGDgyYIWnwr z<=-W*RX|7M{DFJiW!ukmvf$Jlmn0V6 z>U!^~qej;|aFg%7`hAu$n;x-bmE9u;;L_xeOXoIpjyYYO<}TQ&IbE6qKvBsXMR@_t zfFr3_7jKEWzUUP3j}L8RUo-~*S<8cNF{{^42%Z#W$$vpc7sdc{et!;dw6r zK&aQ2+g&VU##aweCx7>w?55snPeI+_@=6AP=W=k7krfxy(GAwmE!X1gH5-u#rnxM` zcEmpw1YfHF?mN~hfCUJ^QY&o;0k{>4(c`|(U(?T-%(E05dmOj?QByoLpRp z0ARpd^)N2Q8~de+1|N+8jJ(E_A{j#l)vc-ks33wk8PJT0XNv#$76`!7dxYUc#zXAfVME`s=0PF+$=c*UUx&X*D3wp z(rZKKijU`lMUu2!_4B6*yp_}QMFtT^#?n$Ekem%LF-m6Zm3$t=JT1s2qCFmyPT z^Oetkfo=Il*LBM*!26t^Gn-_|3i%3q&^?m??|Hpz65yHyINPiL%1MC9u@EAW!Q`wM zQXKGTXY9az?|$sHOU@A|MCI9jW7Mp1qm}}%{#6hlC~@Yg00y!Ea}*(N zP(+;Y)ZOy=k1~=LLa4t`7GPmc%-uC#`~3e-A%Har@XjFstmC&EjO8B0uY93X$$mG@ z!Hb-|#9oR2;H8MbNBWxMn8ctu%f9%o$dU&cvK#kNYkBI~xwR>me-Ytp=Z&u8_Zh1J z@DDKr<`@WHvI?+6oI5JmSjoCh8Iw;|qxrJ9R;Di3`GmAP&6OH6K0jSLVV-e_Zwbr{ z$3W`@MX4*ot^&4|M_x2f;11d;$#o;ZIl#K8heDj5z|p1gJuJQQ{Ut10)a=spSO$(3 zXdTcP;CTZ)HDy33&28%zU#)@P4jx&qGJz3yj<@Lt~`1ei?fDay)fwPrf3Tz_dz{%Vk%Q181ObhQr z$LzSgkrVlOI+U zK@5QZu><~d*T0Ph!vziNSjTDrtmAiZ=6f3)&vD&2`vC_dfC!=a&KzZR6NokQK9dT* zETenL>2iHebG^{Gnyz%R#0rvRK8}>>$q`NpQ4=%R#jtdmRZ)`bP1^!Pyyi0l#`VKH zIr7gF3yH5V1kC`LQZiKID3C{14i=+bbtrwj7yvdYe--ns{yc%-^#nE z#RstuMT-jJzQRa3?E9y?H4@-UxP99?8dF3x?s3N6X6~t1V@iMr6n_4lNy}Vi+9#h| zLGVSv6&MvcRGRVM!i09xoXv}ICv-)T6&u~pDmS)_#M#M|h0|}~wA`yUnIT3KcB(I4 zak@5~6NBn(CB$MhRJGBtMhl=Bc?3SZq<0L;l35#-o9H+z$Fjj+j2{A?T za9l_PG`Z=F$Ybbymk?Y`$z|^GL$V)}#atOJt$Q6MONw^J*rD|C`+i1O-^Y_AHQB{| zmN@&YK$7okwT((gTiZ1QN>GQSXTr3sx^>T~&LxC-`F`#tcbpN|%u^t=Npu!>T?RYE zp2Bf4n$UeumXN@?JrGk9`VfWZ+1EHbi|5}u@0BvZLT+pUoKfMN=~olUFfdSN_xIZ8 z-!Y?Q2>~!6bRvw`65@4`kzJ)UKispC%BchWbL98DXWbEb%AoE(s^M~Cf&LGcakPMQ z1kz?oAVy2TS&ciu8#^7x0%hx!f6?dvl6~@$YnVIl(wycz|Ch{vNQcgu{}kcU)VWIU z$A8z?)NhuK>oL?_c&<6Mlees`oV&n>&U0y9=1o28Pv)B*lMN@EWx+!p4B&d@FG|sc z4PTob>Beu^i8sgwR#ko#6eYpjKyIWBmf|@}!zG!A>GW*3d6RD#M1{?}qreTB?VNe3 znpEJc9AdF>;tHcj?AL|evHU1j8#^pA<@i3Z06ve7nfQW}wujm(x!hW;iCa+$B_=6!Q1|DvVx) z17OMbIZ)$|hT8$tFZ%q?o#PTca0~vJYxUhVdgE5#d(HdxQY&f*0hmLTICjokPysKs z_@>S^MirdDKi5*6q5_^PmmwO;Ter?kzbBUGP|@JnYgte{Vy1OHpg#4JEo1|AidVDq z)c_8LTiHq@5EHH{T6#2`y*&J$cQt%!?7#u~FxpS`AG&AHv96?!`529C__J zZ=+hzQw_5!M`rmQvh^aoz z9LA`I=b{Ni=bgHyl5QFz@f*{9^^`)tB?2&Z&L!u{e=kJ`Oi-Es=L#=lqGm9}I~VmluDo{| zlr$~A7yaj&z#cjWfsMz5YFVO3B;=lT2taE^@tZ=3iz8&B zLj)vXQA2u6&=-0BFWIxNMF6HgKgHfRw%5}I&;Q)H&C#n%^w`+^m*~m-@3kA?#5sPY zZh$3g`4&{594RI4k*+MK0_rOhR)tOjEemC{_oY?r04PjdxfT^WFv)q&a9~hSN^#Pf z=>%|5H$Z0Y!|59PXD1#yt3^X3)d}pnM7CZjUoRs~zfWVtemZRnoX_G3pIN@AstHX4 zRF!;})9)&#jyvuQuP8?0m~dvGWrk%7R%6Oz5Mn?vS~#3RAZ^Lhg)X?)9{85ezxU*= z>tq*)k64rIq{g1{C;M#x03ZNKL_t&oD#Z|ELX5Hzb2Kut;zjN6GczzmogAxW8*vi& zOLUqG;f+?(^$U(Dl)-3WaR#AQbIy9JnBvT)N)tW#?fXE?y~&T-9GkWHRjI(_>+3YEiulaYkUCcF z6Kz%}y8#Xsfl){V^rv=?0}+gij2#c^62~cOX_mQF&#`TR(@}rUjFt(`096BQcZ}^$ z3;~lE0UQ$3lEwwf;1`qJw2Dv&n&PtH3*g|S6b}+gsWikw$T|l`GUY3u|JcBg(1(0i z%M5a|9;ITTLog(S!9i*Fa!M&u+$4>M;52EGyA(bm1{pP!G|wbSFeGFaupDPqj=qv2 zgh|llq7cW|rXdbEoWa5WrlR>sJW@414mj@i`4*hOI5r3uFkD(NZlBd6L4mNXw^^gf>p%4WVLyAj*o_ z1tltux8$v}dZq^Qr4=&c<;Ed^?y@@w*c&Vyd4)bJzbk9&&x09os`TFu!0`y2PXJpX zJqkof1~?uG+Y_*RAZ#~XCb^433$e$}iY|D;CS`HKJIyy(poK#VMl0mNfX4z#iJMo1 z0GP{b&O_t`f>Eg5=O(nuvUgTAz;c=>7$Zms>qqZR3)q&VCSTt-6;Rdk6B6|t0y5CQ z1`1&s$686DVG~0rCZEO#fQ1Y4tx&_kNNZ_5?^g-|{t6+0F&TYU2;f?M@#R7Q|I}`P zb77j#?gsb~5TIk={RF%p81@XnQlwxxNoFGgni|+`fz1Y>T8UM>gX29iP{gk+9oHNWiFe=Oj$irBsF<3w|z40rcmnpp7DfOAHUIfq*Kx zp8JFV(#U+?=Yf#(Jupn1>PH<~6yKGQBhUipBhVf-$G`^_?f5Iz9+Vij@0ha31UG_QuV+eTM1Alx29-n}^lI^aIoqZZ;no9GS{QTcmea2eJYd%y~$moD0 z6gTz;U1A(|Xz%$fivRsx6wZDFY_>q%bmuT6sLT5acs&5ex9&Xqtx)F1$U`Yw6B{BN z@eagus)$f)6@tLka)k{(j+AB&I7;ZqbttL`hyf{Y2U#mJKA!-45VQpVxRUQ`TY2qR z1KS7S;Yo~EL(-4HxxSoAdfn%OR_GJ@#PjwBojeDw$62wCb=-5*m%z-I!b{iGLN0|z zZgq}Z@fuun4VOZ2m(=A>TAvPheFMJ#5F>y=XsWLK3X!)%kPY*sF!uQ@9_n`6HJ7oJ zmc0c-fT-AhmNVZv_nduYQ(R5g?#$rs2`<6i2@u@f-QC@t!6mr66WrZ3xP=g0LvVry zmpSv?Rqr1-Rl90`?e4w1*Xp${88Bo6`2Bl$GxXnEXNm$uic!C<2ZYrs#A6G6%F`cy z5shOw0*{ki{iC~nZ^;Lq0;{<8JH4D>PzmY$JF4s9NF z*_}iA!AIa}>ga*iha3Mz7!r=;Ccfz4OSXa_M!Y>uOl1VQMkL<;9$g1KC*-bYK%>tC zhf(LD>vbc5K2a8FV5QEDOy`4Kf24)%<4A~?Feo;xKnrGR@XQ)DY>?e##+#eVhlQy7&Wd6_<32(>X zizsTyUludZulB8}af8_y5~~WjpMSC#2Yx7X9l;by>=OKGq``(0`mn=+ju0b%NvQhX z!|cKf6yEvs8Gn^0PM8eoh572Qs@!7`sibY2K065eH+lYNS5(uA?Uur9@w8Q3cD8j) zi)`BY#Gv=UMI)K*ug)P;9gaPDv60{k1oq|$kIAG~>hsTWD<6k9fIg5aT3=9mZhdTM z_VW~3D0VpJha=gRz|ye>s0*lgm5L7(#g!2bIJ{^f!vpD*1Vf8t{QUvEgZv>yg6Hc? zzv&5AY-xg zXoIBhofw&u_93*V`wXZbK>h-Kf<7$$`Acs4QACVxemrUT#TQrI$3JAFcEPEqkV z`HLSYKkjp}n^&w;eG9)Jl*96X41{9x*nAV(K8nDa6J5)Z-B&jz3^H1{TewulIN23d z;cw)qXva+<%9)^+R;%%n#kj@zzVgl)EAu>JGs`y}<|1f}qWJ+8YRJ)LS&gYt%EetA9-4g3^|wH4I}`l;tj$(nx4*67`;% zQu|2mXjyKQQiO?pRORU&d$;ofxJm>AT{DJ0VSfB~N02PH4%jT>U%%;xvw@~~|_V%s{Q)D~metP()Dw25~{vmx*JeJH(l>GKi$cmKNE9Cie zqd&HDTieY7PkOjnz;|#J^`AwDR^-7?6f|OguqbJ>k#jK;PfLs`IJYEH|5<+1LP{qd z4QuGQdDvitV#66i`%xF{O#1CcEBWaO zQd#2&g0o&s{ zZz@vh-b#z>U4|v8v%}M{*golBh4Vh797zj93{C0EBd9PZ3IeLC?^A4ehUHy(<;I2l zGdcq`VRF%srZgF&f~gTdvIFEvJ{kYkCRe>2+C|nXNQH%!7K&u+m0IQ)Y(sS!a$T8` z_g9=bgJC<~WRhvzXPVA(Zbf0vzD#jX!`45XD)Z>eG#Jroo>+Z7q{{x|o|nVj81O3f(Yn0>ON@*+3&rXHv<(2Czy}7l0y1K2Q53XD@1Peyly%TGc~V^!?Ts4qI$*6c>BkX=&!9J z=HLqJA-~M3x4U#xWR>r%&Z8ojj{P%DufW*5KoUfeUVIiu9F6C>TPJw#&VxRKn=+%1~sEd0Kp(G$Bv zQSl6HdoP;EwhUmsCHS$3W3V_?$vLhTn;|*BP?? zxyOe~h!1>$SNN8ZKs_`Ne@1KE@+c3sJ?ca^WHT)+ZB)kYh5CKIx3tsd1epFH>_ct3 z=-C_|q~(6KzPO>*JF}$Ow%Gtxq4EG#=d&IOeQ;uFL1Y${D+4AW`n z08n~>EUABAIYe;JG54gBNa5#XrKe`$c^%6`7B`F+<@XYUk!VFM{}3tDf-#!U?PU7F z?q+40k)n~HE|vA#lnZig+?Cl1LCD7o;S~>d2G}zfZ!JEyYQ+KU zW&M_%;q1N8U6_X)z}=@MFB}g}h5rKn331LHQmYTaoZ$eOp)^*F#|i!KGuxX74~Qd6 z5(2iU9{Hzg-kWy8PkJ=~(tB(x(`lCs6{0aK`AVY5w(#4KJ-wo8#Jdlbgb7LUyoUKS z)SZ>6%=c<!l7_LGm!vIZ1Htv!9kPaN6FhK=pF-P1_-A-Um zwfgBY$9l$YmMO!a2Jsvb2OkOvxwDzgQFe~;pC{vHYmC2rna3fE+{(Ux%{O_<`}`+w zg~xi>J}Tn#UoLT@T|c0beCFEmQ$S*&0O`d76tIBt`88?G1L24^m9)3`PooRJ4Hhp0 zj@#I8zAgqFYFVLTaWPYa2%NxTCew!To@g3Gp)H2LH6%;2Qsym|4o3~h$MqjYi4Bh7shn$-I3QmPGmIU1G8vAgsGk}*+nW>m1C4xyLl5+{6)5-I+D~4 z!4UM-maFT}L{LDb`HKiSB_6&bV<7XXlnw}I&5T8MNz8+?-3)nDv+(+rRWsHd3)~es zx=I`+)YAIfH0C0!=P1!|n%LZG&O0&R`}_@h*#0JlZtu$ea6$Q+&hC_2PYg#KZ&@dG zCG>wj5(^B}yf99sjaCfr>}#7PsB9S_KhHiq>tY`?IA$=)RINKz5S&{_{M87_*GEF= zC6Ul|^mfDe?KPNYd?}$ty(LpX_V#)tC2C+~E3*M0E9We)0z1zSTe=E>gx^8i3C&Jq zUW2!vO@RU=;F08A;)U}7YS9(PtDCBy%^fQogKIB)dhneNMt9{gWF3q zGjjW&5k5%HcE_vK7w9jlr-#yOy9{}vT6^z7*wd@5!5z1jyIF>Bi~H!VP%_fOdSt|L zP$P8kg@nViJh7myxgJU!dOc^{b!0vBhad_#l+S;kFU0l}g>kqy)Fqep^_BIUseS8N z`0HFNI#^M+GQVnkTn&5C(AyF8>#e^42Pa!@rc?UMZuum!yzjrG0&^!;a8>RbRv+Lw z=`^rwur76;h%%gh+K{RH66F;V*k#}mC(9l0W^|7Th7m%CSGYG5R>pQ4X~9_dFhKxEmc!4QcP z=g~87YkGuDO*5{yYo>#=<_sjq>Bpzkt6N$Zvy68<{}>3um_5TV$P73P zVt-gWm*6Wj0{;xTdShaPcp>~%k>xEc^Zj*JqhY<|pCSY#+F@@p`C{qa&h+K<7;Gyx z3>`HZkcs!A8WRAGi1K@-dgSUm4hMe?^_G|0mb8V1VmUai2uJ??0+hX!NovoH@wpA6 zCo|rEH<@voGv{-3J;+j4^Ik{CCq%DAb=j7+UC$0_AvJae&*C&{7WnBhDAb z6-@JxO(7cm{0F{2nTe7WDytM=72f{SKqbqyl&=qLBxum0hHj0EaiL$?I^ z4U~E2zgg~RAEN++tJj z=Y*3Dnk!LI$7~3ROk9?jh@eoIx};SxJiycQyob4QCmQrcm%ScP zL}5}Y2!nsq?U@f${mmqo1-SKX^cXYsGOc53hVwC!+WdWFe6**r*D@7T3=cjtx)ftk z(>pm}C_FMzT*3<>wdju0E)tZ@Jt#d>!TcG$w|-7-v3si%8lN`FL8C|WJHav8UG@c| zhb{y>H3p+N{osuPoQY_wxF6|yIj5e7l&idyyJc}gYQzC&k6Y49U)z`TE<0Qm&pr zoMSf#5KMd5fM3O4s1%7ip$pd?2xAsIkgN~3!L-a!K(?Z_cs%c4s=h0DUz4>hYoK#Y zZsN2^X*xp%`zR8mpa-V|b0S@Z>xgmlFYks4&_eVz4 zALkds1?v2s9S`U2P(be;)ziz_^d5+h70!=f%oaELA`Qc9``Tjhd_FkmY1Gi(T=%)j z{%exrSTujJTBgNVSS-D{*g=9tBD*wu=`LQXSdalHsbUo!u)NVuJ zKmP0cVipK_MqOK z&T&d(wR0bQdrm{!U(OV^<`t+ZUi2aGp+!Ua8}iiYyh%!ChavV`nkQ;6@be%?^*T_< zEP>9v*rV4ZX}n?0xakZUK)|ZD?S<+eTT$%BZ2+!0`vsJAkzXP#`{E4!R0=w`)i)#j z1#@qTa26E{gD>9-fAQQA*OEHnkxf*|3{1aDI zvPdSj>`PIrm+-DEM3A(p7#F$|0{_Ta|8RN)nR73!Nn{O#lrVtx8J?*LF5Kq=6}8Tw zNDGz&tNw0ea1nd(nw1~%fzl>}+q%KFHWk{RuNY5!)d*DWDnER)%HGQhGq3QL*l18IE9!E_xm$n0 zROx42k_L5hGSQWQ;dSHpJ8eq?>p-1VbC1W+S$r8TG=jUra``DOEhHdi%B z`&&ot-Wl)GaQJ5uJ!P01?xzmjRZ7$~q|ODT3w5#TCl~d02w_p zer!RIr!)yrz_@!Di$17VLzrVX5h{&S9N6Fka~~A$ir^l|z{XPk%Z0Fw&`n~ESB^)p z#qM21@i8M1zX({KMdxi>J;eM9Q7{>AWM1G$euXVk6%@81XG4v)r%u1o#5m}D!*lpV z?En{t3=6|Hq>DoHbs5PTo))cSId;%9pb^-Z0Yop{*JgxK@VYH}H57fCKZ+uYB4ibqcMfP22eHk`-D6aWjy7tG$yS#1F1dLiGt@ zbS{DAH-YEA>YD=mYP8E=AREyZwvdqKa-W>a;jEO+qGHzPm9%xU+CJzgZs_iMKo41! znJo7j`x7?-{<=H@z4Ab5v6kTJqqa|g0i4$eF>NGUWQE_|Ri~hi#6Wdr9LDR*7)nn|2;dB2z`Ejq=Den-D?IVh12HHncJ@~f( z^u;`wuVWlp__;YMxqE-+pp*u2OekZuA0CKf5@Ui^%pI=fT?Rl0o9>m=9wrh&;m)@# zG@dp1s3WkHXfO-a->QG$QEmD^cDrhOCI`zKeh#A`7~d9BEe^++jstJn>_!V%6PWDR z;37t%Dlq>W)l@NkP*-^(?%=*UB4uk!BH`QLu4-N5O58tDi4p3+$$3SV4|3i~FSpjrl@+Nn~k)_$@EO3ku%5p0$>Vvlh ztockfA*n-bY?Xi|s*Q$LKL{W!vfL`5ba@O36#)gIMqjWPZm+iC565Bsj_L_^gH}lZ zFpcE1PPIrSQl(5Lm-LXQhHvC<L?C$mf}!EUS{F$H+DG{L|H6c+zk^=X737J^|JE%Xv*p0jIe_~Y^IFLl z($;S_moBGo>5qT=i^;C#>?MsY({^YUlbtYV?DQy;Vb0FeW-NzdxqjC}u}P{R10nV)fbG=i3t8 zNLhT|tDKQWZ%!>X_Jq@?^0<#jzBb%ZrVC@M=YA3|TejznW)KsTRJKEm6NH$*tV-IO znmOmKL-toPQkLTa`~L-+zuYhM%gYx+koq{d8k%^9+;PUD4u#Wdd8xu4FS%i_zQkue za528udk|fw^`R)(mbG$!$Yh5JUbf6R9>@8Mi6{XDo&wpomK!Hg=sKq@uXH5pAPq~1 zl|euPZ{3>{hCOn1q*jeelQjQ_LwIu<-0>7DKQ*d|ky@E+yz9J%;d0 zF*wu9IKFjj(8MNMHPN?3-O|%sYsa9|s`j7hu>o~uKyA1ax&WsIfs$^8dvO7uX~yD1 z<{{^@AhTjhY7Twj6DnLK5e-{gCA3XDIV~suLoQq(^$VS1uh%4Bbn6)huknG zd8Be#EWmc<*aW&5e^r|s{S0}!#L`yPro24yWZ-U;NDyjMGcp1BR5`FU9ggW)votdB z8a1He2eKf+quDK0nyiL%NbhJS#e^fdQg3 zB;h@?bvs^fi9DNy^7h}Q7Rrr_M}Sk-RV$+t>B1ARHmvdel}8RYFn27VC5HEQ%dUAV zTHwX9FBM|TYEI+}{>9qt6hK#=S|ywG@wuogt1>9m^9{Qj8SsMQJF~?}-x!=O(;-9C z3+=*T0Cgm<{D}bhQJanoQl-C?hSV!|8Q#n`5~5TTztx%@I48B+c0~czEOY&h$9UMt zf;P5F| zR+||+Ix4-UixHD>6N~@NTuO6vM9ub*Q6mFHm0-L=Pi#a0-Z}HV;I@AtjWmZf+XfzX zB>#w2F>a|6ndFH#ncn#6)gMTJr-F8%Wr7hi{e-G*hb*zVKqpNTYoCPNyo;rqdGTGx zhx(atG$v4}DMhw{a>~{ey*b?l@UVPp;I&*VXf?Mjc)#|#JtugXXE9n{NG5MaCcj9O zvcGgItUWL*xRL@p+w_Ey?|l=P(EqmnzV*2+W59&7NPqIE;D#|G*$`Y(Ol=$Z{>FO7 zHygc2Rteg@lyz+?Bj%tVFX9@{q)-(-J z-4u`VeJSIADBHY!-qaQ(8)@x(AB?s4So0I3E*==YXh58lY!2P)zy{ECJ6u#{A^(@;NYZleSiie?C#wv>KI$!PVg`QjaA6;{CMK z_HnRvT=3x*vTF1{x++wFBK-1JN(4OhMcLQw=W{3p_&0GXM6C?m)uW`Ay~zeUXlId3 zXaLV?slfT?WrzZ-+9mBV+%HF-0cSlnSWW?e>NC|IA@kuGEf3KZ_Xqgy5k41T4yGla zN$&aMj)IQ$pZ+E_59tUx%@Ol*))lq4m_Fn6_{q#03hEY2C zXJ+>`=_fYmlykuGxLclsDbQ*81z(uw8THH+H+VTJI!oHI85-2Sb%$EUaZoA_Q9mF8 z4G3SlJe=H_EBLNflfDZ;yJ$SHyMpv{Sr;~l&9kWu$dfuaVrOJMt+}%ce9iX9jAH*@ zIuDW4kkNPI#Q>YZS!$Xx@`~}wG$8yiEbK2#_9UJoN5WGwdWgm7SkeJlpTJdot{ql# zGI(#|;sE!(XM6I0{!xI8)A2-9U~M|hz#gK@UxwHE--S%)f;vf zTR8}tEWdUpP9c-r7zWklyOIw%04#Q4QzTOYgKNUC*oE_NpY9gG4R$OE@^o;K7t$61 zd?2=u%umto%%T>HHt=;Jzm(BU^S3)(YF9>n%F$#7rS5BI@ zTre-)g#X4w4X&7JZ(C09)O28A=x_zOpBP~Cvuw_yJIKIr%*Hm zydMd88$UgfZS;)auQe>AR$8D2#8`fR_+WlAHl54u}FDD~gjL50C^~KVrlWhCe@XYlq$-;N+R> zAmov_w8D-Lw!`;3_5v~8*NU^G-DYnKFS8Snn7!ZVcc1X`wqcfOM5qK%g~|&IG%S<_ zCwHHEPNIZ1;mgxgsh-s)9#Ml7XdWKq;X_EB$ z%q|Wg4=r@t70g$UvOVF2sqx*keEE!3KWP7mfJ+tT>USS^RQsRKw9rypDD#;27dX%} zuKeKp3lWz=kS>__O}56w1-v+IGHBo28wvP7H56Km!AmuSJRiew(q1`y8#tl}jGOaQ z`BN}XTn0TGK&;Nz*iN^`%d*tb&a>Hr0t+B1rM#B6Hv#zrcyJGgQPH;l&}+%cH4a5> zS;H%#+Zc{lObe!09L3tbJ3qaS?~Ev=2?^-!Jr%`wz<(-N#!^tuE*~K{S60V_bTS;e zu=0-RmE6d1YY~4n^|T3j_`uu7@!4yOIeOYXkdIutxF`7eR`}mjI>IiLi}&C0(a!}d zgDAM@esHPLlya7}yDo!-lP2=*i|;9}(IPspG;S6M1O(;Koiu`mk`G}Xc^Z&lMm!M7 z^&|QqM=OWLfpq7W91}SuElG1@wy!(<*PZ!xtff}rVIi|?kbhrf4@N)xK>h8LvUj9FIj3&`iaq_Hj;>?xy!anK1JZ(GH`4cUBsJ@B1e(4|$>DfR9GUQ8h0(LqImA zU{&fWxW=eTooN6&C+{AA2lYW5*45)n$KgSsp5KdNYTSn=uC zFoGIC0X~ZZmgy$=`~Ms#1HKgyvxg9e<-x{e1Et{;YVesN;U02;TW+z}OL?iC&YQ>7 zqczhkZ^yp-F8AjuJl@DZtS64Xg?^UG!b*8pGJ29OMphLvq%3$8=r8{(7&Q;%<@*sB z|NeMC?RQ44ib?-0Os`?&mAJpxocQt@Tc6%M^HwVxe97zr#XO^$A(SeX5NIaVp;e+q z1))HX%f4|!5R~F&j02K**ZUV7@%kOmXkvXQz>Tk|0?)GuFNL|U@lj=mO$Qeg-SXV! z&ZJ*DmovORvpKY(${PkR254eE#S8yh6gXw_Rypsm@H`W^y20pNVH4|){UFS@`vU0iY`pn6vcLLkkvYvRX$afa}UlNw$IdR-(*Y)JV>7mF#&gFq5$35 zJ8*4C3yczKo~M(L99PYm84X!*!>cnZnYK;V=w?GBqHpwbr04HDvN@xtFZj;O*uXM^ z55(G5kJTAYp@&MxzxbDdHh6<+55ktN@w%qh?B<1iJP0PSOV�A}0@+YV3H{*}v20 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 VFE+Jo{GbmC08dvxmvv4FO#pweh_e6y literal 0 HcmV?d00001 diff --git a/pixmaps/linphone2-57x57.png b/pixmaps/linphone2-57x57.png new file mode 100644 index 0000000000000000000000000000000000000000..a0f531636ec20d2e848fb647d04dd88880338258 GIT binary patch literal 4603 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igM# z2?GziOlsBu01-X^f zbDwALbM`v#UhBMTowYCA!#&)?J>0`R{31yIP2)kj01*?@4F?A;fjS)}C8cza?TREx z2q7r1sHUv6jMZyD`InwkakmJ?b&nAtA;Cm;jv%gkEP7oaDwPtgR*O=pKnQ^($q>T! zgI@_Dz|+H3EP891^gl^*eA;NC)9L8lt0$d1M__Mnj}Rb9AOzIZ){>uJKt|RG)+ z2o4`PPE~a^b}9vK?(XzYO=0R|qcOF&ily(alKv;c^?|-gV#2u5#P_@(4-b!PMkKJ= z1m)!wWM*b@;^ZlG{yx;!))5rwi_K;uJTwTULV?;&g~ej!$f<1lB*xP*B8t}LI?77R z=#?_!zeiH94-_+>m`3l!UWA6|uZLS{X&L)7vN(S11Sv`J6c-oLCq5RLT#n6lEgX*= zJB_`IH?c8YsVFy4T9n6`?90r4<_SE!Iv^0Vw>4ohw($JR3)!%FyL4B>Rj=2J@oA4R z@pt2Jb#cLJwP3Ts(W8gS$jCxi+lh(@Wx~UQP^;DG{M?W$lvpfgGL_Xqv1+fJ=KN+`u2(E%-M_N7nhQIr4X9{li5m0 zu#Wt1j)JhFRM}Bi-%5a!2a+ViUh9fUp~hrvrfYPkyCXb)etu%jM=R;vIRb#9;u3c4 z`ie8BPBLsr3O&@HJXhO4z;YX|r?c~`M%%MLOR93e3wj_xth)YjGW$mp@G{NN*=nmO%TQ4-hF z$afIJMsaZodHDs{+o`Y#87EJjCiB1{ii=Bmf5mcgE@d-i`m@r1R9!41 z*{qb5lyTtDVU8a^!Ra&SkV!Ck(ilR6^|Tp{EO_%>HgEWt1q&9jV%6$@uP28N87w+Q zbVLXX216zHckj%|5yR2gJ7Kk&k;|1B+nTNuEiN%oUQvaiyprJ$4ZvWiz-Uq6>+8e8 zLx(BMyF&N-??<6fU??l2%uq>TVIdA$H8EWyadL8`w(csf?tXOZ(g~Hq0>G}_``ET) zFYhc_%;LA+Vbw=#@0h6krwH~6{f+9Lcgk!NvDc{Roe)Dr#}Fbr zg)@HgEEfKG5gslYKHvTonFkNkC!zZ_MGw-Em3ffrx<+P9pUmMyhvt=)SI+;JNDdi1 zNQ49j^4fwoX>DzlfcZ~M9X~HBvI|PJ2Bk`a1lN*vyOFKicH-!urB{3$ZEZ$AS-*ws z3ps51Y&&UVeoJ(hF7!-H#bz-wxPKq!%%08zeUmtLwvYgQ82S$GI6J%W;hJ>}9hi)# zy9;(|1wp}K$RrywnM9C2fYodNj)S8sg9oLue&d!qA}PDoMCVT7yt90T^uv(;YEK4j zt&Jd{wzirtzfNb%maVLKe-*zO+Mm>vJ^;MAWF=FlP2);_F@Ju2F7_HFLRjgan#A*e zc!F+SBLS$XsiLyHgr!TCkXKN|gt5b!J|&Ix%;Q8xM&joeK(V2b{K8TI!oosWyJ{&b zR=kI)-NIXo-w?mplU|-4!pYg03l}fluv3?F^XCm2kj#ODhdF=lEET22bc+lnB0Lxe zCno^rEqIIGiM=^+;2_VFBLG%&JE376+4}i*qNA=Qb+uZBN+HobCYoKlGw78N zhliUB#fEym_+l6Lg$45Tvw!4jeFMpTdLe`jfP|j0JoW60EPQ=FTCL-}tOEz<|7=eV z9h8DT;HHUJdj91<6WuA4)V{q)PV9lkUW3hMC4Fxuzj^pE%oc%zy_y+Q$KvAbbVG^= z@bkpo!<*W=tJlZx>li|HZ9St#k7MW82PrEnqa;5YKOZ*&bwPZz;xG95>&Y*vp{cnA zfB=6#em`+Ek4>J=*fAqX=ou$|k-9!Ud7N-?(6Vj&ZZ2ObxZ%3ku92cg_h^Fk0i4gy zL6XZ*tL+#)>NlLrzC?IfFyWy=H(l4k*^3PuH!@^E^7S#R)ym%e2We<(p}ew=Cm&B^ z$5)vs?VJhl){>WBz{N|sM0e@LfPP8W@0;<=Ts*vd`R#~dJT&}a=@+Gt0jWvi#ph_RrxG(hjcwJpRh2@Q$IC&O}v7Ujc zeb}^h7d?B#(JeZH^nIB$8D$LZpNN}_JpknuRg9T1g9Wd>OqrpAIWN2-{Vd@D2nh+J zp{ecW535w-=%^*)zOXwc2w-Y&#m~!`+WKa$);C-qcXM;W(^-j+y9T4th{b9nx^qWX zuKI+U1`7#2yHiw<$Lh78(%jMtfUl1iE0(>%U*B8BfYcPGJT^}JERt(hEf;2sl?O+R zyXo$1-<2+=yd_NyicjJqpq=?+)L+(`8K6|hbL#hLPW<<5_-lW zSE#A0Z$YmMB(ie^?Z#$~9X-m?ljqO{>Ie!7;`HgW)K-;~*ei|)M?LlrTQF?0GKX z6atN%g4wfYk(Ifh*lv-WIC+-Vwsur@T4G~kFqDBioOJLX$9Un7Pm$Co@wVaG!Our{czW`|haXF=ZAPiNsTq}8 z#ig7pcP2u{798!Bgobx!Z^ltNN5znk*oW5ER*oJz#MzUF3GU!ZLR=J%S`AK44oJ6< z5|v8DHRgBF8R*tEN{ml?lw&8e(FJz6VJ^OVS7E2sg4M$Q14kr#jfRZO1K)4Zg&gV8 z2{S}hbuEGZevBMG1clH<>Wbx+A888({@ znOt_g+jpIlBvDvgibAcuvv=}u%NB|G3l>vRQ7PHm+Y470CuTkMIMr1Zq@|6+)6)&J z$%xU|PF;NyxtA|$-Z!rf&G)2{q$74y*zG9w5XsEg-pU? zv7k^Wuv)FiWHJQe8bO&1tJR7^p}=CXApb#I6QHrNncaIbSiWkVbVnq|Jvvh80y}W@ z*eRS{+?YHmjgDbDtQIrp&R?X1pD&00aST5{AM|=XzP`TLX`N_psKHL-h}CMQva*`b zwtmjxBPS^+Dq->KbBXS9>uy_HYb#ad29zolW|JAYLV?X@MUo^WBy2V-a)ko3$&6B^ zy580-DKYS6dM4XSl2Vo~Uqya?0Un+nFItgyt_o;=k1ABYfrEEI6&a;)d8hSfrP}DyZ10>?i=(^>CKZ*Ov2mC^9EZMi-p{r zT$~)Wm`x^>DkWBn1({6#15e7aS}Z74O3Wq`=^2N)l3&DU+je8IT5rqcrW4Uo5#sH) z7UALUj7nx@=U01KvV0W|4vsW6Hc)D)xK%1aCP_FuIWX<_V@Vr31}7JHOzo|lKcCIS zDNmzRs#v+~4Z_1izR$_kwX9jQj!`29-83ApdD2GR)p~Y(ox!@zJ1`oJ2ytgUD*2C3 zpSp>DDM@tc62;LY|KPRPmylmjL_<>>QzngL#u=N z3OPozg|E`HIC0`6;lTm;`1;}Eq(!53Wb3w_Z2o)~4fPG&-y;UOTu%DFELs{H>C`D4 zo7IL~Cdc;esaA7KD|_}GVAaQ)S-EB-7cS<~(%SZ&-Cx#swOK7pNE?kxDUqI@!I9&q z8T;s1+}!=Rl3&R7ox4d&N}#y3oQ@qsL{oDcuf6g|{QU!HH?|_l)znoRxSVfbd1dY_YOmH)Ro{rP2_%_Bbxj?|Pn~0b z))DdwOQ^1?`_i(j~GB<(1_mCUnQg+na>=IJ`XF z(WtLAw3JFa%KN^bdB!9)vNXNP3}c~Z6!`F9yB*K z(A?BOX=yoUvvW9oHk(pICDk=`_;`CTY5XH}jtFPY%L@q!($T+PAL3%8$tx^l<})wc zl;GXK4Z>4cR5IVo(_@~qlNL`mr)zmjE~u`q=KYU8W#g6|%zj}3{sDo6hlk_s>A{9g z+fb|3`1||P(AdPe^A`b${3``~xOM|6eG>`NbwDnYXliP~aEHCpy8@+BDO4(zP$`wd z&Bf_@L8#XSh()i@6-yVtDoXQDi#fArh;IwVTh_P-zu76aZdxPyr6dU#CkJu2x!m%5 z(rh+MCX-1rnaxsN{r8nbVNr?n*OhAs^!H`qqGgPJWF#Yp4Y{R(hlcbMYNbThp<{H4 z=tzBIGygLrZ-;`y5^4E+tLfJ_k)6Bt@aijbSiJCMq9QwqP8~yT@RYZYAN7r`^yn7B z`>WRe`u@i=W7_Y8$z;OU+Y@i!4)loYPGwa!Y9(CE$s<0#Cn~v>p~ENe*u*isw{k7z zmDSR(!js=&`FpFS(z0@znp@}@7sdJwn~3ceMP5NMBZfc7_8mK^tE0`R+{6FDKLM`_WtB&u#!>(P002ovPDHLkV1k;w?nD3p literal 0 HcmV?d00001 diff --git a/share/Makefile.am b/share/Makefile.am index a15fe2ea7..734859945 100644 --- a/share/Makefile.am +++ b/share/Makefile.am @@ -4,6 +4,7 @@ SUBDIRS=C fr it ja cs LINPHONE_SOUNDS=ringback.wav hello8000.wav hello16000.wav LINPHONE_RINGS=rings/orig.wav \ rings/oldphone.wav \ + rings/oldphone-mono.wav \ rings/rock.wav \ rings/bigben.wav \ rings/toy.wav \ From d54a04dc71744634fddb928ed2b8940e4f60e354 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 9 Mar 2010 11:25:33 +0100 Subject: [PATCH 2/6] make use of firewall ip address in contact and sdp. --- coreapi/linphonecore.c | 147 +++++++++++++---------------------------- coreapi/sal_eXosip2.c | 69 +++++++++++++------ 2 files changed, 95 insertions(+), 121 deletions(-) diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 0c5ad1772..a1cb09b04 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -41,7 +41,6 @@ static const char *liblinphone_version=LIBLINPHONE_VERSION; #include "enum.h" void linphone_core_get_local_ip(LinphoneCore *lc, const char *dest, char *result); -static void apply_nat_settings(LinphoneCore *lc); static void toggle_video_preview(LinphoneCore *lc, bool_t val); /* relative path where is stored local ring*/ @@ -1094,10 +1093,6 @@ int linphone_core_set_primary_contact(LinphoneCore *lc, const char *contact) /*result must be an array of chars at least LINPHONE_IPADDR_SIZE */ void linphone_core_get_local_ip(LinphoneCore *lc, const char *dest, char *result){ - if (lc->apply_nat_settings){ - apply_nat_settings(lc); - lc->apply_nat_settings=FALSE; - } if (linphone_core_get_firewall_policy(lc)==LINPHONE_POLICY_USE_NAT_ADDRESS){ strncpy(result,linphone_core_get_nat_address(lc),LINPHONE_IPADDR_SIZE); return; @@ -1109,6 +1104,32 @@ void linphone_core_get_local_ip(LinphoneCore *lc, const char *dest, char *result sal_get_default_local_ip(lc->sal,lc->sip_conf.ipv6_enabled ? AF_INET6 : AF_INET,result,LINPHONE_IPADDR_SIZE); } +static void update_primary_contact(LinphoneCore *lc){ + char *guessed=NULL; + char tmp[LINPHONE_IPADDR_SIZE]; + + LinphoneAddress *url; + if (lc->sip_conf.guessed_contact!=NULL){ + ms_free(lc->sip_conf.guessed_contact); + lc->sip_conf.guessed_contact=NULL; + } + url=linphone_address_new(lc->sip_conf.contact); + if (!url){ + ms_error("Could not parse identity contact !"); + url=linphone_address_new("sip:unknown@unkwownhost"); + } + linphone_core_get_local_ip(lc, NULL, tmp); + if (strcmp(tmp,"127.0.0.1")==0 || strcmp(tmp,"::1")==0 ){ + ms_warning("Local loopback network only !"); + lc->sip_conf.loopback_only=TRUE; + }else lc->sip_conf.loopback_only=FALSE; + linphone_address_set_domain(url,tmp); + linphone_address_set_port_int(url,lc->sip_conf.sip_port); + guessed=linphone_address_as_string(url); + lc->sip_conf.guessed_contact=guessed; + linphone_address_destroy(url); +} + /** * Returns the default identity when no proxy configuration is used. * @@ -1116,31 +1137,10 @@ void linphone_core_get_local_ip(LinphoneCore *lc, const char *dest, char *result **/ const char *linphone_core_get_primary_contact(LinphoneCore *lc){ char *identity; - char tmp[LINPHONE_IPADDR_SIZE]; if (lc->sip_conf.guess_hostname){ if (lc->sip_conf.guessed_contact==NULL || lc->sip_conf.loopback_only){ - char *guessed=NULL; - LinphoneAddress *url; - if (lc->sip_conf.guessed_contact!=NULL){ - ms_free(lc->sip_conf.guessed_contact); - lc->sip_conf.guessed_contact=NULL; - } - url=linphone_address_new(lc->sip_conf.contact); - if (!url){ - ms_error("Could not parse identity contact !"); - url=linphone_address_new("sip:unknown@unkwownhost"); - } - linphone_core_get_local_ip(lc, NULL, tmp); - if (strcmp(tmp,"127.0.0.1")==0 || strcmp(tmp,"::1")==0 ){ - ms_warning("Local loopback network only !"); - lc->sip_conf.loopback_only=TRUE; - }else lc->sip_conf.loopback_only=FALSE; - linphone_address_set_domain(url,tmp); - linphone_address_set_port_int(url,lc->sip_conf.sip_port); - guessed=linphone_address_as_string(url); - lc->sip_conf.guessed_contact=guessed; - linphone_address_destroy(url); + update_primary_contact(lc); } identity=lc->sip_conf.guessed_contact; }else{ @@ -1739,9 +1739,20 @@ LinphoneProxyConfig * linphone_core_lookup_known_proxy(LinphoneCore *lc, const L return found_cfg; } -static char *get_fixed_contact(LinphoneCore *lc, const char *localip, LinphoneProxyConfig *dest_proxy){ +static char *get_fixed_contact(LinphoneCore *lc, LinphoneCall *call , LinphoneProxyConfig *dest_proxy){ LinphoneAddress *ctt; + const char *localip=call->localip; + if (linphone_core_get_firewall_policy(lc)==LINPHONE_POLICY_USE_NAT_ADDRESS){ + ctt=linphone_core_get_primary_contact_parsed(lc); + return ms_strdup_printf("sip:%s@%s",linphone_address_get_username(ctt), + linphone_core_get_nat_address(lc)); + } + + if (call->op && sal_op_get_contact(call->op)!=NULL){ + return NULL; + } + if (dest_proxy && dest_proxy->op){ const char *fixed_contact=sal_op_get_contact(dest_proxy->op); if (fixed_contact) { @@ -1815,10 +1826,8 @@ int linphone_core_invite(LinphoneCore *lc, const char *url) call=linphone_call_new_outgoing(lc,parsed_url2,real_parsed_url); sal_op_set_route(call->op,route); - /*try to be best-effort in giving real local or routable contact address, - except when the user choosed to override the ipaddress */ - if (linphone_core_get_firewall_policy(lc)!=LINPHONE_POLICY_USE_NAT_ADDRESS) - contact=get_fixed_contact(lc,call->localip,dest_proxy); + /*try to be best-effort in giving real local or routable contact address */ + contact=get_fixed_contact(lc,call,dest_proxy); if (contact){ sal_op_set_contact(call->op, contact); ms_free(contact); @@ -2193,10 +2202,8 @@ int linphone_core_accept_call(LinphoneCore *lc, const char *url) lc->ringstream=NULL; } - /*try to be best-effort in giving real local or routable contact address, - except when the user choosed to override the ipaddress */ - if (linphone_core_get_firewall_policy(lc)!=LINPHONE_POLICY_USE_NAT_ADDRESS) - contact=get_fixed_contact(lc,call->localip,NULL); + /*try to be best-effort in giving real local or routable contact address*/ + contact=get_fixed_contact(lc,call,NULL); if (contact) sal_op_set_contact(call->op,contact); @@ -2705,7 +2712,6 @@ void linphone_core_set_stun_server(LinphoneCore *lc, const char *server){ if (server) lc->net_conf.stun_server=ms_strdup(server); else lc->net_conf.stun_server=NULL; - lc->apply_nat_settings=TRUE; } const char * linphone_core_get_stun_server(const LinphoneCore *lc){ @@ -2727,69 +2733,6 @@ int linphone_core_set_relay_addr(LinphoneCore *lc, const char *addr){ return 0; } -static void apply_nat_settings(LinphoneCore *lc){ - char *wmsg; - char *tmp=NULL; - int err; - struct addrinfo hints,*res; - const char *addr=lc->net_conf.nat_address; - - if (lc->net_conf.firewall_policy==LINPHONE_POLICY_USE_NAT_ADDRESS){ - if (addr==NULL || strlen(addr)==0){ - lc->vtable.display_warning(lc,_("No nat/firewall address supplied !")); - linphone_core_set_firewall_policy(lc,LINPHONE_POLICY_NO_FIREWALL); - } - /*check the ip address given */ - memset(&hints,0,sizeof(struct addrinfo)); - if (lc->sip_conf.ipv6_enabled) - hints.ai_family=AF_INET6; - else - hints.ai_family=AF_INET; - hints.ai_socktype = SOCK_DGRAM; - err=getaddrinfo(addr,NULL,&hints,&res); - if (err!=0){ - wmsg=ortp_strdup_printf(_("Invalid nat address '%s' : %s"), - addr, gai_strerror(err)); - ms_warning(wmsg); // what is this for ? - lc->vtable.display_warning(lc, wmsg); - ms_free(wmsg); - linphone_core_set_firewall_policy(lc,LINPHONE_POLICY_NO_FIREWALL); - return; - } - /*now get it as an numeric ip address */ - tmp=ms_malloc0(50); - err=getnameinfo(res->ai_addr,res->ai_addrlen,tmp,50,NULL,0,NI_NUMERICHOST); - if (err!=0){ - wmsg=ortp_strdup_printf(_("Invalid nat address '%s' : %s"), - addr, gai_strerror(err)); - ms_warning("%s",wmsg); // what is this for ? - lc->vtable.display_warning(lc, wmsg); - ms_free(wmsg); - ms_free(tmp); - freeaddrinfo(res); - linphone_core_set_firewall_policy(lc,LINPHONE_POLICY_NO_FIREWALL); - return; - } - freeaddrinfo(res); - } - - if (lc->net_conf.firewall_policy==LINPHONE_POLICY_USE_NAT_ADDRESS){ - if (tmp!=NULL){ - if (!lc->net_conf.nat_sdp_only){ - sal_masquerade(lc->sal,tmp); - } - ms_free(tmp); - } - else{ - sal_masquerade(lc->sal,NULL); - } - } - else { - sal_masquerade(lc->sal,NULL); - } -} - - void linphone_core_set_nat_address(LinphoneCore *lc, const char *addr) { if (lc->net_conf.nat_address!=NULL){ @@ -2797,7 +2740,7 @@ void linphone_core_set_nat_address(LinphoneCore *lc, const char *addr) } if (addr!=NULL) lc->net_conf.nat_address=ms_strdup(addr); else lc->net_conf.nat_address=NULL; - lc->apply_nat_settings=TRUE; + update_primary_contact(lc); } const char *linphone_core_get_nat_address(const LinphoneCore *lc) @@ -2807,7 +2750,7 @@ const char *linphone_core_get_nat_address(const LinphoneCore *lc) void linphone_core_set_firewall_policy(LinphoneCore *lc, LinphoneFirewallPolicy pol){ lc->net_conf.firewall_policy=pol; - lc->apply_nat_settings=TRUE; + update_primary_contact(lc); } LinphoneFirewallPolicy linphone_core_get_firewall_policy(const LinphoneCore *lc){ diff --git a/coreapi/sal_eXosip2.c b/coreapi/sal_eXosip2.c index 10d15526a..597ab5c66 100644 --- a/coreapi/sal_eXosip2.c +++ b/coreapi/sal_eXosip2.c @@ -183,6 +183,7 @@ void *sal_get_user_pointer(const Sal *sal){ } void sal_masquerade(Sal *ctx, const char *ip){ + ms_message("Masquerading SIP with %s",ip); eXosip_set_option(EXOSIP_OPT_SET_IPV4_FOR_GATEWAY,ip); } @@ -259,6 +260,25 @@ MSList *sal_get_pending_auths(Sal *sal){ return ms_list_copy(sal->pending_auths); } +static int extract_received_rport(osip_message_t *msg, const char **received, int *rportval){ + osip_via_t *via=NULL; + osip_generic_param_t *param=NULL; + const char *rport; + + osip_message_get_via(msg,0,&via); + if (!via) return -1; + osip_via_param_get_byname(via,"rport",¶m); + if (param) { + rport=param->gvalue; + if (rport && rport[0]!='\0') *rportval=atoi(rport); + else *rportval=5060; + } + param=NULL; + osip_via_param_get_byname(via,"received",¶m); + if (param) *received=param->gvalue; + else return -1; + return 0; +} static void set_sdp(osip_message_t *sip,sdp_message_t *msg){ int sdplen; @@ -586,6 +606,9 @@ static void handle_ack(Sal *sal, eXosip_event_t *ev){ static int call_proceeding(Sal *sal, eXosip_event_t *ev){ SalOp *op=(SalOp*)ev->external_reference; + const char *received; + int rport; + if (op==NULL) { ms_warning("This call has been canceled."); eXosip_lock(); @@ -595,6 +618,24 @@ static int call_proceeding(Sal *sal, eXosip_event_t *ev){ } op->did=ev->did; op->tid=ev->tid; + /* update contact if received and rport are set by the server */ + if (extract_received_rport(ev->response,&received,&rport)==0){ + const char *contact=sal_op_get_contact(op); + if (!contact){ + /*no contact given yet, use from instead*/ + contact=sal_op_get_from(op); + } + if (contact){ + SalAddress *addr=sal_address_new(contact); + char *tmp; + sal_address_set_domain(addr,received); + sal_address_set_port_int(addr,rport); + tmp=sal_address_as_string(addr); + ms_message("Contact address automatically updated to %s for this call",tmp); + sal_op_set_contact(op,tmp); + ms_free(tmp); + } + } return 0; } @@ -998,34 +1039,23 @@ static void other_request(Sal *sal, eXosip_event_t *ev){ static bool_t register_again_with_updated_contact(SalOp *op, osip_message_t *orig_request, osip_message_t *last_answer){ osip_message_t *msg; - const char *rport,*received; - osip_via_t *via=NULL; - osip_generic_param_t *param=NULL; + const char *received; + int rport; osip_contact_t *ctt=NULL; char *tmp; + char port[20]; - osip_message_get_via(last_answer,0,&via); - if (!via) return FALSE; - osip_via_param_get_byname(via,"rport",¶m); - if (param) rport=param->gvalue; - else return FALSE; - param=NULL; - osip_via_param_get_byname(via,"received",¶m); - if (param) received=param->gvalue; - else return FALSE; + if (extract_received_rport(last_answer,&received,&rport)==-1) return FALSE; osip_message_get_contact(orig_request,0,&ctt); if (strcmp(ctt->url->host,received)==0){ /*ip address matches, check ports*/ const char *contact_port=ctt->url->port; - const char *via_rport=rport; - if (via_rport==NULL || strlen(via_rport)>0) - via_rport="5060"; - if (contact_port==NULL || strlen(contact_port)>0) + if (contact_port==NULL || contact_port[0]=='\0') contact_port="5060"; - if (strcmp(contact_port,via_rport)==0){ + if (atoi(contact_port)==rport){ ms_message("Register has up to date contact, doing nothing."); return FALSE; - }else ms_message("ports do not match, need to update the register (%s <> %s)", contact_port,via_rport); + }else ms_message("ports do not match, need to update the register (%s <> %i)", contact_port,rport); } eXosip_lock(); msg=NULL; @@ -1043,7 +1073,8 @@ static bool_t register_again_with_updated_contact(SalOp *op, osip_message_t *ori if (ctt->url->port!=NULL){ osip_free(ctt->url->port); } - ctt->url->port=osip_strdup(rport); + snprintf(port,sizeof(port),"%i",rport); + ctt->url->port=osip_strdup(port); eXosip_register_send_register(op->rid,msg); eXosip_unlock(); osip_contact_to_str(ctt,&tmp); From 1a218d544d15771dcab2a2a01d4024e136e0a9f8 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Tue, 9 Mar 2010 14:24:52 +0100 Subject: [PATCH 3/6] avoid use of osip_list_special_free because of signature changes among osip versions. --- coreapi/sal_eXosip2.c | 15 +- intltool-extract.in | 325 --------------------- intltool-merge.in | 657 ------------------------------------------ intltool-update.in | 634 ---------------------------------------- 4 files changed, 12 insertions(+), 1619 deletions(-) delete mode 100644 intltool-extract.in delete mode 100644 intltool-merge.in delete mode 100644 intltool-update.in diff --git a/coreapi/sal_eXosip2.c b/coreapi/sal_eXosip2.c index 597ab5c66..a8b9b2a16 100644 --- a/coreapi/sal_eXosip2.c +++ b/coreapi/sal_eXosip2.c @@ -21,6 +21,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "offeranswer.h" + +static void _osip_list_set_empty(osip_list_t *l, void (*freefunc)(void*)){ + void *data; + while((data=osip_list_get(l,0))!=NULL){ + osip_list_remove(l,0); + freefunc(data); + } +} + void sal_get_default_local_ip(Sal *sal, int address_family,char *ip, size_t iplen){ if (eXosip_guess_localip(address_family,ip,iplen)<0){ /*default to something */ @@ -349,7 +358,7 @@ int sal_call(SalOp *h, const char *from, const char *to){ return -1; } if (h->base.contact){ - osip_list_special_free(&invite->contacts,(void (*)(void*))osip_contact_free); + _osip_list_set_empty(&invite->contacts,(void (*)(void*))osip_contact_free); osip_message_set_contact(invite,h->base.contact); } if (h->base.root->session_expires!=0){ @@ -394,7 +403,7 @@ int sal_call_accept(SalOp * h){ } if (contact) { - osip_list_special_free(&msg->contacts,(void (*)(void*))osip_contact_free); + _osip_list_set_empty(&msg->contacts,(void (*)(void*))osip_contact_free); osip_message_set_contact(msg,contact); } @@ -562,7 +571,7 @@ static void handle_reinvite(Sal *sal, eXosip_event_t *ev){ if (op->supports_session_timers) osip_message_set_supported(msg, "timer"); } if (op->base.contact){ - osip_list_special_free(&msg->contacts,(void (*)(void*))osip_contact_free); + _osip_list_set_empty(&msg->contacts,(void (*)(void*))osip_contact_free); osip_message_set_contact(msg,op->base.contact); } if (sdp){ diff --git a/intltool-extract.in b/intltool-extract.in deleted file mode 100644 index 256a959a1..000000000 --- a/intltool-extract.in +++ /dev/null @@ -1,325 +0,0 @@ -#!@INTLTOOL_PERL@ -w -# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*- - -# -# The Intltool Message Extractor -# -# Copyright (C) 2000-2001 Free Software Foundation. -# -# Intltool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# Intltool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. -# -# Authors: Kenneth Christiansen -# Darin Adler -# - -## Release information -my $PROGRAM = "intltool-extract"; -my $PACKAGE = "intltool"; -my $VERSION = "0.22"; - -## Loaded modules -use strict; -use File::Basename; -use Getopt::Long; - -## Scalars used by the option stuff -my $TYPE_ARG = "0"; -my $LOCAL_ARG = "0"; -my $HELP_ARG = "0"; -my $VERSION_ARG = "0"; -my $UPDATE_ARG = "0"; -my $QUIET_ARG = "0"; - -my $FILE; -my $OUTFILE; - -my $gettext_type = ""; -my $input; -my %messages = (); - -## Use this instead of \w for XML files to handle more possible characters. -my $w = "[-A-Za-z0-9._:]"; - -## Always print first -$| = 1; - -## Handle options -GetOptions ( - "type=s" => \$TYPE_ARG, - "local|l" => \$LOCAL_ARG, - "help|h" => \$HELP_ARG, - "version|v" => \$VERSION_ARG, - "update" => \$UPDATE_ARG, - "quiet|q" => \$QUIET_ARG, - ) or &error; - -&split_on_argument; - - -## Check for options. -## This section will check for the different options. - -sub split_on_argument { - - if ($VERSION_ARG) { - &version; - - } elsif ($HELP_ARG) { - &help; - - } elsif ($LOCAL_ARG) { - &place_local; - &extract; - - } elsif ($UPDATE_ARG) { - &place_normal; - &extract; - - } elsif (@ARGV > 0) { - &place_normal; - &message; - &extract; - - } else { - &help; - - } -} - -sub place_normal { - $FILE = $ARGV[0]; - $OUTFILE = "$FILE.h"; -} - -sub place_local { - $OUTFILE = fileparse($FILE, ()); - if (!-e "tmp/") { - system("mkdir tmp/"); - } - $OUTFILE = "./tmp/$OUTFILE.h" -} - -sub determine_type { - if ($TYPE_ARG =~ /^gettext\/(.*)/) { - $gettext_type=$1 - } -} - -## Sub for printing release information -sub version{ - print "${PROGRAM} (${PACKAGE}) $VERSION\n"; - print "Copyright (C) 2000 Free Software Foundation, Inc.\n"; - print "Written by Kenneth Christiansen, 2000.\n\n"; - print "This is free software; see the source for copying conditions. There is NO\n"; - print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; - exit; -} - -## Sub for printing usage information -sub help{ - print "Usage: ${PROGRAM} [FILENAME] [OPTIONS] ...\n"; - print "Generates a header file from an xml source file.\n\nGrabs all strings "; - print "between <_translatable_node> and it's end tag,\nwhere tag are all allowed "; - print "xml tags. Read the docs for more info.\n\n"; - print " -v, --version shows the version\n"; - print " -h, --help shows this help page\n"; - print " -q, --quiet quiet mode\n"; - print "\nReport bugs to .\n"; - exit; -} - -## Sub for printing error messages -sub error{ - print "Try `${PROGRAM} --help' for more information.\n"; - exit; -} - -sub message { - print "Generating C format header file for translation.\n"; -} - -sub extract { - &determine_type; - - &convert ($FILE); - - open OUT, ">$OUTFILE"; - &msg_write; - close OUT; - - print "Wrote $OUTFILE\n" unless $QUIET_ARG; -} - -sub convert($) { - - ## Reading the file - { - local (*IN); - local $/; #slurp mode - open (IN, "<$FILE") || die "can't open $FILE: $!"; - $input = ; - } - - &type_ini if $gettext_type eq "ini"; - &type_keys if $gettext_type eq "keys"; - &type_xml if $gettext_type eq "xml"; - &type_glade if $gettext_type eq "glade"; - &type_scheme if $gettext_type eq "scheme"; - &type_schemas if $gettext_type eq "schemas"; -} - -sub entity_decode_minimal -{ - local ($_) = @_; - - s/'/'/g; # ' - s/"/"/g; # " - s/&/&/g; - - return $_; -} - -sub entity_decode -{ - local ($_) = @_; - - s/'/'/g; # ' - s/"/"/g; # " - s/&/&/g; - s/<//g; - - return $_; -} - -sub escape_char -{ - return '\"' if $_ eq '"'; - return '\n' if $_ eq "\n"; - return '\\' if $_ eq '\\'; - - return $_; -} - -sub escape -{ - my ($string) = @_; - return join "", map &escape_char, split //, $string; -} - -sub type_ini { - ### For generic translatable desktop files ### - while ($input =~ /^_.*=(.*)$/mg) { - $messages{$1} = []; - } -} - -sub type_keys { - ### For generic translatable mime/keys files ### - while ($input =~ /^\s*_\w+=(.*)$/mg) { - $messages{$1} = []; - } -} - -sub type_xml { - ### For generic translatable XML files ### - - while ($input =~ /\s_$w+=\"([^"]+)\"/sg) { # " - $messages{entity_decode_minimal($1)} = []; - } - - while ($input =~ /<_($w+)>(.+?)<\/_\1>/sg) { - $_ = $2; - s/\s+/ /g; - s/^ //; - s/ $//; - $messages{entity_decode_minimal($_)} = []; - } -} - -sub type_schemas { - ### For schemas XML files ### - - # FIXME: We should handle escaped < (less than) - while ($input =~ /<(short|long)>([^<]+)<\/\1>/sg) { - $_ = $2; - s/\s+/ /g; - s/^ //; - s/ $//; - $messages{entity_decode_minimal($_)} = []; - } -} - -sub type_glade { - ### For translatable Glade XML files ### - - my $tags = "label|title|text|format|copyright|comments|preview_text|tooltip|message"; - - while ($input =~ /<($tags)>([^<]+)<\/($tags)>/sg) { - # Glade sometimes uses tags that normally mark translatable things for - # little bits of non-translatable content. We work around this by not - # translating strings that only includes something like label4 or window1. - $messages{entity_decode($2)} = [] unless $2 =~ /^(window|label)[0-9]+$/; - } - - while ($input =~ /(..[^<]*)<\/items>/sg) { - for my $item (split (/\n/, $1)) { - $messages{entity_decode($item)} = []; - } - } - - ## handle new glade files - while ($input =~ /<(property|atkproperty)\s+[^>]*translatable\s*=\s*"yes"[^>]*>([^<]+)<\/\1>/sg) { - $messages{entity_decode($2)} = [] unless $2 =~ /^(window|label)[0-9]+$/; - } - while ($input =~ /]*)"\s+description="([^>]+)"\/>/sg) { - $messages{entity_decode_minimal($2)} = []; - } -} - -sub type_scheme { - while ($input =~ /_\(?"((?:[^"\\]+|\\.)*)"\)?/sg) { - $messages{$1} = []; - } -} - -sub msg_write { - for my $message (sort keys %messages) { - print OUT "/* xgettext:no-c-format */\n" if $message =~ /%/; - - my @lines = split (/\n/, $message); - for (my $n = 0; $n < @lines; $n++) { - if ($n == 0) { - print OUT "char *s = N_(\""; - } else { - print OUT " \""; - } - - print OUT escape($lines[$n]); - - if ($n < @lines - 1) { - print OUT "\\n\"\n"; - } else { - print OUT "\");\n"; - } - } - } -} - diff --git a/intltool-merge.in b/intltool-merge.in deleted file mode 100644 index fd35cfdef..000000000 --- a/intltool-merge.in +++ /dev/null @@ -1,657 +0,0 @@ -#!@INTLTOOL_PERL@ -w - -# -# The Intltool Message Merger -# -# Copyright (C) 2000, 2002 Free Software Foundation. -# Copyright (C) 2000, 2001 Eazel, Inc -# -# Intltool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# version 2 published by the Free Software Foundation. -# -# Intltool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. -# -# Authors: Maciej Stachowiak -# Kenneth Christiansen -# Darin Adler -# -# Proper XML UTF-8'ification written by Cyrille Chepelov -# - -## Release information -my $PROGRAM = "intltool-merge"; -my $PACKAGE = "intltool"; -my $VERSION = "0.22"; - -## Loaded modules -use strict; -use Getopt::Long; - -## Scalars used by the option stuff -my $HELP_ARG = 0; -my $VERSION_ARG = 0; -my $BA_STYLE_ARG = 0; -my $XML_STYLE_ARG = 0; -my $KEYS_STYLE_ARG = 0; -my $DESKTOP_STYLE_ARG = 0; -my $SCHEMAS_STYLE_ARG = 0; -my $QUIET_ARG = 0; -my $PASS_THROUGH_ARG = 0; -my $UTF8_ARG = 0; -my $cache_file; - -## Handle options -GetOptions -( - "help" => \$HELP_ARG, - "version" => \$VERSION_ARG, - "quiet|q" => \$QUIET_ARG, - "oaf-style|o" => \$BA_STYLE_ARG, ## for compatibility - "ba-style|b" => \$BA_STYLE_ARG, - "xml-style|x" => \$XML_STYLE_ARG, - "keys-style|k" => \$KEYS_STYLE_ARG, - "desktop-style|d" => \$DESKTOP_STYLE_ARG, - "schemas-style|s" => \$SCHEMAS_STYLE_ARG, - "pass-through|p" => \$PASS_THROUGH_ARG, - "utf8|u" => \$UTF8_ARG, - "cache|c=s" => \$cache_file - ) or &error; - -my $PO_DIR; -my $FILE; -my $OUTFILE; - -my %po_files_by_lang = (); -my %translations = (); - -# Use this instead of \w for XML files to handle more possible characters. -my $w = "[-A-Za-z0-9._:]"; - -# XML quoted string contents -my $q = "[^\\\"]*"; - -## Check for options. - -if ($VERSION_ARG) { - &print_version; -} elsif ($HELP_ARG) { - &print_help; -} elsif ($BA_STYLE_ARG && @ARGV > 2) { - &preparation; - &print_message; - &ba_merge_translations; - &finalize; -} elsif ($XML_STYLE_ARG && @ARGV > 2) { - &utf8_sanity_check; - &preparation; - &print_message; - &xml_merge_translations; - &finalize; -} elsif ($KEYS_STYLE_ARG && @ARGV > 2) { - &utf8_sanity_check; - &preparation; - &print_message; - &keys_merge_translations; - &finalize; -} elsif ($DESKTOP_STYLE_ARG && @ARGV > 2) { - &preparation; - &print_message; - &desktop_merge_translations; - &finalize; -} elsif ($SCHEMAS_STYLE_ARG && @ARGV > 2) { - &preparation; - &print_message; - &schemas_merge_translations; - &finalize; -} else { - &print_help; -} - -exit; - -## Sub for printing release information -sub print_version -{ - print "${PROGRAM} (${PACKAGE}) ${VERSION}\n"; - print "Written by Maciej Stachowiak, Darin Adler and Kenneth Christiansen.\n\n"; - print "Copyright (C) 2000-2002 Free Software Foundation, Inc.\n"; - print "Copyright (C) 2000-2001 Eazel, Inc.\n"; - print "This is free software; see the source for copying conditions. There is NO\n"; - print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; - exit; -} - -## Sub for printing usage information -sub print_help -{ - print "Usage: ${PROGRAM} [OPTIONS] PO_DIRECTORY FILENAME OUTPUT_FILE\n"; - print "Generates an output file that includes translated versions of some attributes,\n"; - print "from an untranslated source and a po directory that includes translations.\n\n"; - print " -b, --ba-style includes translations in the bonobo-activation style\n"; - print " -d, --desktop-style includes translations in the desktop style\n"; - print " -k, --keys-style includes translations in the keys style\n"; - print " -s, --schemas-style includes translations in the schemas style\n"; - print " -x, --xml-style includes translations in the standard xml style\n"; - print " -u, --utf8 convert all strings to UTF-8 before merging\n"; - print " -p, --pass-through use strings as found in .po files, without\n"; - print " conversion (STRONGLY unrecommended with -x)\n"; - print " -q, --quiet suppress most messages\n"; - print " --help display this help and exit\n"; - print " --version output version information and exit\n"; - print "\nReport bugs to bugzilla.gnome.org, module intltool, or contact us through \n"; - print ".\n"; - exit; -} - - -## Sub for printing error messages -sub print_error -{ - print "Try `${PROGRAM} --help' for more information.\n"; - exit; -} - - -sub print_message -{ - print "Merging translations into $OUTFILE.\n" unless $QUIET_ARG; -} - - -sub preparation -{ - $PO_DIR = $ARGV[0]; - $FILE = $ARGV[1]; - $OUTFILE = $ARGV[2]; - - &gather_po_files; - &get_translation_database; -} - -# General-purpose code for looking up translations in .po files - -sub po_file2lang -{ - my ($tmp) = @_; - $tmp =~ s/^.*\/(.*)\.po$/$1/; - return $tmp; -} - -sub gather_po_files -{ - for my $po_file (glob "$PO_DIR/*.po") { - $po_files_by_lang{po_file2lang($po_file)} = $po_file; - } -} - -sub get_po_encoding -{ - my ($in_po_file) = @_; - my $encoding = ""; - - open IN_PO_FILE, $in_po_file or die; - while () { - ## example: "Content-Type: text/plain; charset=ISO-8859-1\n" - if (/Content-Type\:.*charset=([-a-zA-Z0-9]+)\\n/) { - $encoding = $1; - last; - } - } - close IN_PO_FILE; - - if (!$encoding) { - print "Warning: no encoding found in $in_po_file. Assuming ISO-8859-1\n"; - $encoding = "ISO-8859-1"; - } - return $encoding -} - -sub utf8_sanity_check -{ - if (!$UTF8_ARG) { - if (!$PASS_THROUGH_ARG) { - $PASS_THROUGH_ARG="1"; - } - } -} - -sub get_translation_database -{ - if ($cache_file) { - &get_cached_translation_database; - } else { - &create_translation_database; - } -} - -sub get_newest_po_age -{ - my $newest_age; - - foreach my $file (values %po_files_by_lang) { - my $file_age = -M $file; - $newest_age = $file_age if !$newest_age || $file_age < $newest_age; - } - - return $newest_age; -} - -sub create_cache -{ - print "Generating and caching the translation database\n" unless $QUIET_ARG; - - &create_translation_database; - - open CACHE, ">$cache_file" || die; - print CACHE join "\x01", %translations; - close CACHE; -} - -sub load_cache -{ - print "Found cached translation database\n" unless $QUIET_ARG; - - my $contents; - open CACHE, "<$cache_file" || die; - { - local $/; - $contents = ; - } - close CACHE; - %translations = split "\x01", $contents; -} - -sub get_cached_translation_database -{ - my $cache_file_age = -M $cache_file; - if (defined $cache_file_age) { - if ($cache_file_age <= &get_newest_po_age) { - &load_cache; - return; - } - print "Found too-old cached translation database\n" unless $QUIET_ARG; - } - - &create_cache; -} - -sub create_translation_database -{ - for my $lang (keys %po_files_by_lang) { - my $po_file = $po_files_by_lang{$lang}; - - if ($UTF8_ARG) { - my $encoding = get_po_encoding ($po_file); - if (lc $encoding eq "utf-8") { - open PO_FILE, "<$po_file"; - } else { - my $iconv = $ENV{"INTLTOOL_ICONV"} || "iconv"; - open PO_FILE, "$iconv -f $encoding -t UTF-8 $po_file|"; - } - } else { - open PO_FILE, "<$po_file"; - } - - my $nextfuzzy = 0; - my $inmsgid = 0; - my $inmsgstr = 0; - my $msgid = ""; - my $msgstr = ""; - while () { - $nextfuzzy = 1 if /^#, fuzzy/; - if (/^msgid "((\\.|[^\\])*)"/ ) { - $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; - $msgid = ""; - $msgstr = ""; - - if ($nextfuzzy) { - $inmsgid = 0; - } else { - $msgid = unescape_po_string($1); - $inmsgid = 1; - } - $inmsgstr = 0; - $nextfuzzy = 0; - } - if (/^msgstr "((\\.|[^\\])*)"/) { - $msgstr = unescape_po_string($1); - $inmsgstr = 1; - $inmsgid = 0; - } - if (/^"((\\.|[^\\])*)"/) { - $msgid .= unescape_po_string($1) if $inmsgid; - $msgstr .= unescape_po_string($1) if $inmsgstr; - } - } - $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; - } -} - -sub finalize -{ -} - -sub unescape_one_sequence -{ - my ($sequence) = @_; - - return "\\" if $sequence eq "\\\\"; - return "\"" if $sequence eq "\\\""; - - # gettext also handles \n, \t, \b, \r, \f, \v, \a, \xxx (octal), - # \xXX (hex) and has a comment saying they want to handle \u and \U. - - return $sequence; -} - -sub unescape_po_string -{ - my ($string) = @_; - - $string =~ s/(\\.)/unescape_one_sequence($1)/eg; - - return $string; -} - -sub entity_decode -{ - local ($_) = @_; - - s/'/'/g; # ' - s/"/"/g; # " - s/&/&/g; - - return $_; -} - -sub entity_encode -{ - my ($pre_encoded) = @_; - - my @list_of_chars = unpack ('C*', $pre_encoded); - - if ($PASS_THROUGH_ARG) { - return join ('', map (&entity_encode_int_even_high_bit, @list_of_chars)); - } else { - return join ('', map (&entity_encode_int_minimalist, @list_of_chars)); - } -} - -sub entity_encode_int_minimalist -{ - return """ if $_ == 34; - return "&" if $_ == 38; - return "'" if $_ == 39; - return chr $_; -} - -sub entity_encode_int_even_high_bit -{ - if ($_ > 127 || $_ == 34 || $_ == 38 || $_ == 39) { - # the ($_ > 127) should probably be removed - return "&#" . $_ . ";"; - } else { - return chr $_; - } -} - -sub entity_encoded_translation -{ - my ($lang, $string) = @_; - - my $translation = $translations{$lang, $string}; - return $string if !$translation; - return entity_encode ($translation); -} - -## XML (bonobo-activation specific) merge code - -sub ba_merge_translations -{ - my $source; - - { - local $/; # slurp mode - open INPUT, "<$FILE" or die "can't open $FILE: $!"; - $source = ; - close INPUT; - } - - open OUTPUT, ">$OUTFILE" or die "can't open $OUTFILE: $!"; - - while ($source =~ s|^(.*?)([ \t]*<\s*$w+\s+($w+\s*=\s*"$q"\s*)+/?>)([ \t]*\n)?||s) { - print OUTPUT $1; - - my $node = $2 . "\n"; - - my @strings = (); - $_ = $node; - while (s/(\s)_($w+\s*=\s*"($q)")/$1$2/s) { - push @strings, entity_decode($3); - } - print OUTPUT; - - my %langs; - for my $string (@strings) { - for my $lang (keys %po_files_by_lang) { - $langs{$lang} = 1 if $translations{$lang, $string}; - } - } - - for my $lang (sort keys %langs) { - $_ = $node; - s/(\sname\s*=\s*)"($q)"/$1"$2-$lang"/s; - s/(\s)_($w+\s*=\s*")($q)"/$1 . $2 . entity_encoded_translation($lang, $3) . '"'/seg; - print OUTPUT; - } - } - - print OUTPUT $source; - - close OUTPUT; -} - - -## XML (non-bonobo-activation) merge code - -sub xml_merge_translations -{ - my $source; - - { - local $/; # slurp mode - open INPUT, "<$FILE" or die "can't open $FILE: $!"; - $source = ; - close INPUT; - } - - open OUTPUT, ">$OUTFILE" or die; - - # FIXME: support attribute translations - - # Empty nodes never need translation, so unmark all of them. - # For example, <_foo/> is just replaced by . - $source =~ s|<\s*_($w+)\s*/>|<$1/>|g; - - # Support for <_foo>blah style translations. - while ($source =~ s|^(.*?)([ \t]*)<\s*_($w+)\s*>(.*?)<\s*/_\3\s*>([ \t]*\n)?||s) { - print OUTPUT $1; - - my $spaces = $2; - my $tag = $3; - my $string = $4; - - print OUTPUT "$spaces<$tag>$string\n"; - - $string =~ s/\s+/ /g; - $string =~ s/^ //; - $string =~ s/ $//; - $string = entity_decode($string); - - for my $lang (sort keys %po_files_by_lang) { - my $translation = $translations{$lang, $string}; - next if !$translation; - $translation = entity_encode($translation); - print OUTPUT "$spaces<$tag xml:lang=\"$lang\">$translation\n"; - } - } - - print OUTPUT $source; - - close OUTPUT; -} - -sub keys_merge_translations -{ - open INPUT, "<${FILE}" or die; - open OUTPUT, ">${OUTFILE}" or die; - - while () { - if (s/^(\s*)_(\w+=(.*))/$1$2/) { - my $string = $3; - - print OUTPUT; - - my $non_translated_line = $_; - - for my $lang (sort keys %po_files_by_lang) { - my $translation = $translations{$lang, $string}; - next if !$translation; - - $_ = $non_translated_line; - s/(\w+)=.*/[$lang]$1=$translation/; - print OUTPUT; - } - } else { - print OUTPUT; - } - } - - close OUTPUT; - close INPUT; -} - -sub desktop_merge_translations -{ - open INPUT, "<${FILE}" or die; - open OUTPUT, ">${OUTFILE}" or die; - - while () { - if (s/^(\s*)_(\w+=(.*))/$1$2/) { - my $string = $3; - - print OUTPUT; - - my $non_translated_line = $_; - - for my $lang (sort keys %po_files_by_lang) { - my $translation = $translations{$lang, $string}; - next if !$translation; - - $_ = $non_translated_line; - s/(\w+)=.*/${1}[$lang]=$translation/; - print OUTPUT; - } - } else { - print OUTPUT; - } - } - - close OUTPUT; - close INPUT; -} - -sub schemas_merge_translations -{ - my $source; - - { - local $/; # slurp mode - open INPUT, "<$FILE" or die "can't open $FILE: $!"; - $source = ; - close INPUT; - } - - open OUTPUT, ">$OUTFILE" or die; - - # FIXME: support attribute translations - - # Empty nodes never need translation, so unmark all of them. - # For example, <_foo/> is just replaced by . - $source =~ s|<\s*_($w+)\s*/>|<$1/>|g; - - # Support for <_foo>blah style translations. - - my $regex_start = "^(.*?)([ \t]*)"; - my $regex_short = "([ \t\n]*)(.*?)"; - my $regex_long = "([ \t\n]*)(.*?)"; - my $regex_end = "([ \t\n]*)"; - - while ($source =~ s|$regex_start$regex_short$regex_long$regex_end||s) { - print OUTPUT $1; - - my $locale_start_spaces = $2; - my $locale_end_spaces = $7; - my $short_spaces = $3; - my $short_string = $4; - my $long_spaces = $5; - my $long_string = $6; - - # English first - - print OUTPUT "$locale_start_spaces"; - print OUTPUT "$short_spaces$short_string"; - print OUTPUT "$long_spaces$long_string"; - print OUTPUT "$locale_end_spaces"; - - $short_string =~ s/\s+/ /g; - $short_string =~ s/^ //; - $short_string =~ s/ $//; - $short_string = entity_decode($short_string); - - $long_string =~ s/\s+/ /g; - $long_string =~ s/^ //; - $long_string =~ s/ $//; - $long_string = entity_decode($long_string); - - for my $lang (sort keys %po_files_by_lang) { - my $short_translation = $translations{$lang, $short_string}; - my $long_translation = $translations{$lang, $long_string}; - - next if (!$short_translation && !$long_translation); - - print OUTPUT "\n$locale_start_spaces"; - - if ($short_translation) - { - $short_translation = entity_encode($short_translation); - print OUTPUT "$short_spaces$short_translation"; - } - - if ($long_translation) - { - $long_translation = entity_encode($long_translation); - print OUTPUT "$long_spaces$long_translation"; - } - - print OUTPUT "$locale_end_spaces"; - } - } - - print OUTPUT $source; - - close OUTPUT; -} diff --git a/intltool-update.in b/intltool-update.in deleted file mode 100644 index cc5fc141d..000000000 --- a/intltool-update.in +++ /dev/null @@ -1,634 +0,0 @@ -#!@INTLTOOL_PERL@ -w - -# -# The Intltool Message Updater -# -# Copyright (C) 2000-2002 Free Software Foundation. -# -# Intltool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# version 2 published by the Free Software Foundation. -# -# Intltool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. -# -# Authors: Kenneth Christiansen -# Maciej Stachowiak -# Darin Adler - -## Release information -my $PROGRAM = "intltool-update"; -my $VERSION = "0.22"; -my $PACKAGE = "intltool"; - -## Loaded modules -use strict; -use Getopt::Long; -use Cwd; -use File::Copy; -use File::Find; - -## Scalars used by the option stuff -my $HELP_ARG = 0; -my $VERSION_ARG = 0; -my $DIST_ARG = 0; -my $POT_ARG = 0; -my $HEADERS_ARG = 0; -my $MAINTAIN_ARG = 0; -my $REPORT_ARG = 0; -my $VERBOSE = 0; -my $GETTEXT_PACKAGE = ""; - -my @languages; -my %po_files_by_lang = (); - -# Regular expressions to categorize file types. -# FIXME: Please check if the following is correct - -my $xml_extension = -"xml(\.in)*|". # .in is not required -"ui|". -"glade2?(\.in)*|". # .in is not required -"scm(\.in)*|". # .in is not required -"oaf(\.in)+|". -"etspec|". -"sheet(\.in)+|". -"schemas(\.in)+|". -"pong(\.in)+"; - -my $ini_extension = -"desktop(\.in)+|". -"caves(\.in)+|". -"directory(\.in)+|". -"soundlist(\.in)+|". -"keys(\.in)+|". -"server(\.in)+"; - -## Always print as the first thing -$| = 1; - -## Handle options -GetOptions -( - "help" => \$HELP_ARG, - "version" => \$VERSION_ARG, - "dist|d" => \$DIST_ARG, - "pot|p" => \$POT_ARG, - "headers|s" => \$HEADERS_ARG, - "maintain|m" => \$MAINTAIN_ARG, - "report|r" => \$REPORT_ARG, - "verbose|x" => \$VERBOSE, - "gettext-package|g=s" => \$GETTEXT_PACKAGE, - ) or &print_error_invalid_option; - -&print_help if $HELP_ARG; -&print_version if $VERSION_ARG; - -my $arg_count = ($DIST_ARG > 0) - + ($POT_ARG > 0) - + ($HEADERS_ARG > 0) - + ($MAINTAIN_ARG > 0) - + ($REPORT_ARG > 0); -&print_help if $arg_count > 1; - -# --version and --help don't require a module name -my $MODULE = $GETTEXT_PACKAGE || &find_package_name; - -if ($DIST_ARG) { - if ($ARGV[0] =~ /^[a-z]/){ - &update_po_file ($ARGV[0]); - &print_status ($ARGV[0]); - } else { - &print_help; - } -} elsif ($POT_ARG) { - &generate_headers; - &generate_po_template; -} elsif ($HEADERS_ARG) { - &generate_headers; -} elsif ($MAINTAIN_ARG) { - &find_leftout_files; -} elsif ($REPORT_ARG) { - &print_report; -} else { - if ($ARGV[0] =~ /^[a-z]/) { - &main ($ARGV[0]); - } else { - &print_help; - } -} - -exit; - -######### - -sub print_version -{ - ## Print version information - print "${PROGRAM} (${PACKAGE}) $VERSION\n"; - print "Written by Kenneth Christiansen, Maciej Stachowiak, and Darin Adler.\n\n"; - print "Copyright (C) 2000-2002 Free Software Foundation, Inc.\n"; - print "This is free software; see the source for copying conditions. There is NO\n"; - print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; - exit; -} - -sub print_help -{ - ## Print usage information - print "Usage: ${PROGRAM} [OPTIONS] ...LANGCODE\n"; - print "Updates PO template files and merge them with the translations.\n\n"; - print " -p, --pot generate the PO template only\n"; - print " -s, --headers generate the header files in POTFILES.in\n"; - print " -m, --maintain search for left out files from POTFILES.in\n"; - print " -r, --report display a status report for the module.\n"; - print " -x, --verbose display lots of feedback\n"; - print " --help display this help and exit\n"; - print " --version output version information and exit\n"; - print "\nExamples of use:\n"; - print "${PROGRAM} --pot just creates a new PO template from the source\n"; - print "${PROGRAM} da created new PO template and updated the da.po file\n\n"; - print "Report bugs to bugzilla.gnome.org, module 'intltool'.\n"; - exit; -} - -sub main -{ - my ($lang) = @_; - - ## Report error if the language file supplied - ## to the command line is non-existent - &print_error_not_existing("$lang.po") if ! -s "$lang.po"; - - print "Working, please wait..." unless $VERBOSE; - &generate_headers; - &generate_po_template; - &update_po_file ($lang); - &print_status ($lang); -} - -sub determine_type ($) -{ - my $type = $_; - my $gettext_type; - - # FIXME: Use $xml_extentions, and maybe do all this even nicer - my $xml_regex = - "(?:xml(\.in)*|ui|oaf(?:\.in)+|server(?:\.in)+|sheet(?:\.in)+|". - "pong(?:\.in)+|etspec|schemas(?:\.in)+)"; - my $ini_regex = - "(?:desktop(?:\.in)+|caves(?:\.in)+|directory(?:\.in)+|". - "soundlist(?:\.in)+)"; - - if ($type =~ /\[type: gettext\/([^\]].*)]/) { - $gettext_type=$1; - } - elsif ($type =~ /schemas(\.in)+$/) { - $gettext_type="schemas"; - } - elsif ($type =~ /$xml_regex$/) { - $gettext_type="xml"; - } - elsif ($type =~ /glade2?(\.in)*$/) { - $gettext_type="glade"; - } - elsif ($type =~ /$ini_regex$/) { - $gettext_type="ini"; - } - elsif ($type =~ /scm(\.in)*$/) { - $gettext_type="scheme"; - } - elsif ($type =~ /keys(\.in)+$/) { - $gettext_type="keys"; - } - else { $gettext_type=""; } - - return "gettext\/$gettext_type"; -} - -sub find_leftout_files -{ - my (@buf_i18n_plain, - @buf_i18n_xml, - @buf_i18n_xml_unmarked, - @buf_i18n_ini, - @buf_potfiles, - @buf_potfiles_ignore, - @buf_allfiles, - @buf_allfiles_sorted, - @buf_potfiles_sorted - ); - - ## Search and find all translatable files - find sub { - push @buf_i18n_plain, "$File::Find::name" if /\.(c|y|cc|cpp|c\+\+|h|gob)$/ - }, ".."; - find sub { - push @buf_i18n_xml, "$File::Find::name" if /\.($xml_extension)$/ - }, ".."; - find sub { - push @buf_i18n_ini, "$File::Find::name" if /\.($ini_extension)$/ - }, ".."; - find sub { - push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/ - }, ".."; - - - open POTFILES, "POTFILES.in" or die "$PROGRAM: there's no POTFILES.in!\n"; - - @buf_potfiles = grep /^[^#]/, ; - - print "Searching for missing translatable files...\n" if $VERBOSE; - - ## Check if we should ignore some found files, when - ## comparing with POTFILES.in - foreach my $ignore ("POTFILES.skip", "POTFILES.ignore") { - if (-s $ignore) { - open FILE, $ignore; - while () { - if (/^[^#]/){ - push @buf_potfiles_ignore, $_; - } - } - print "Found $ignore: Ignoring files...\n" if $VERBOSE; - @buf_potfiles = (@buf_potfiles_ignore, @buf_potfiles); - } - } - - foreach my $file (@buf_i18n_plain) - { - my $in_comment = 0; - my $in_macro = 0; - - open FILE, "<$file"; - while () - { - # Handle continued multi-line comment. - if ($in_comment) - { - next unless s-.*\*/--; - $in_comment = 0; - } - - # Handle continued macro. - if ($in_macro) - { - $in_macro = 0 unless /\\$/; - next; - } - - # Handle start of macro (or any preprocessor directive). - if (/^\s*\#/) - { - $in_macro = 1 if /^([^\\]|\\.)*\\$/; - next; - } - - # Handle comments and quoted text. - while (m-(/\*|//|\'|\")-) # \' and \" keep emacs perl mode happy - { - my $match = $1; - if ($match eq "/*") - { - if (!s-/\*.*?\*/--) - { - s-/\*.*--; - $in_comment = 1; - } - } - elsif ($match eq "//") - { - s-//.*--; - } - else # ' or " - { - if (!s-$match([^\\]|\\.)*?$match-QUOTEDTEXT-) - { - warn "mismatched quotes at line $. in $file\n"; - s-$match.*--; - } - } - } - - - if (/_\(QUOTEDTEXT/) - { - ## Remove the first 3 chars and add newline - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - last; - } - } - close FILE; - } - - foreach my $file (@buf_i18n_xml) { - open FILE, "<$file"; - while () { - if (/\s_(.*)=\"/ || /translatable=\"yes\"/){ - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - last; - } - } - } - - foreach my $file (@buf_i18n_ini){ - open FILE, "<$file"; - while () { - if (/_(.*)=/){ - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - last; - } - } - } - - foreach my $file (@buf_i18n_xml_unmarked){ - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - } - - - @buf_allfiles_sorted = sort (@buf_allfiles); - @buf_potfiles_sorted = sort (@buf_potfiles); - - my %in2; - foreach (@buf_potfiles_sorted) { - $in2{$_} = 1; - } - - my @result; - - foreach (@buf_allfiles_sorted){ - if (!exists($in2{$_})){ - push @result, $_ - } - } - - ## Save file with information about the files missing - ## if any, and give information about this procedure. - if (@result) { - print "\n" if $VERBOSE; - open OUT, ">missing"; - print OUT @result; - print "The following files contain translations and are currently not in use. Please\n"; - print "consider adding these to the POTFILES.in file, located in the po/ directory.\n\n"; - print @result, "\n"; - print "If some of these files are left out on purpose then please add them to\n"; - print "POTFILES.skip instead of POTFILES.in. A file 'missing' containing this list\n"; - print "of left out files has been written in the current directory.\n"; - } - - ## If there is nothing to complain about, notify the user - else { - print "\nAll files containing translations are present in POTFILES.in.\n"; - } -} - -sub print_error_invalid_option -{ - ## Handle invalid arguments - print "Try `${PROGRAM} --help' for more information.\n"; - exit 1; -} - -sub generate_headers -{ - my $EXTRACT = `which intltool-extract 2>/dev/null`; - chomp $EXTRACT; - - $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} if $ENV{"INTLTOOL_EXTRACT"}; - - ## Generate the .h header files, so we can allow glade and - ## xml translation support - if (! -s $EXTRACT) - { - print "\n *** The intltool-extract script wasn't found!" - ."\n *** Without it, intltool-update can not generate files.\n"; - exit; - } - else - { - open FILE, ") { - chomp; - - ## Find xml files in POTFILES.in and generate the - ## files with help from the extract script - - my $gettext_type= &determine_type ($1); - - if (/\.($xml_extension|$ini_extension)$/ || /^\[/){ - $_ =~ s/^\[[^\[].*]\s*//; - my $filename = "../$_"; - - if ($VERBOSE){ - system($EXTRACT, "--update", "--type=$gettext_type", $filename); - } else { - system($EXTRACT, "--update", "--type=$gettext_type", "--quiet", $filename); - } - } - } - close FILE; - } -} - -sub generate_po_template -{ - ## Generate the potfiles from the POTFILES.in file - - print "Building the $MODULE.pot...\n" if $VERBOSE; - - move ("POTFILES.in", "POTFILES.in.old"); - - open INFILE, "POTFILES.in"; - while () { - s/\.($xml_extension|$ini_extension)$/$&.h/; - s/^\[.*]\s*(.*)/$1.h/; - print OUTFILE $_; - } - close OUTFILE; - close INFILE; - - system ("xgettext", "--default-domain\=$MODULE", - "--directory\=\.\.", - "--add-comments", - "--keyword\=\_", - "--keyword\=N\_", - "--keyword\=U\_", - "--files-from\=\.\/POTFILES\.in"); - - move ("POTFILES.in.old", "POTFILES.in"); - - print "Removing generated header (.h) files..." if $VERBOSE; - - open FILE, ") - { - chomp; - unlink "../$_.h" if /\.($xml_extension|$ini_extension)$/; - } - - close FILE; - print "done\n" if $VERBOSE; - - if (!-e "$MODULE.po") { - print "WARNING: It seems that none of the files in POTFILES.in ". - "contain marked strings\n"; - exit (1); - } - - system ("rm", "-f", "$MODULE.pot"); - move ("$MODULE.po", "$MODULE.pot") or die "$PROGRAM: couldn't move $MODULE.po to $MODULE.pot.\n"; - - print "Wrote $MODULE.pot\n" if $VERBOSE; -} - -sub update_po_file -{ - my ($lang) = @_; - - print "Merging $lang.po with $MODULE.pot..." if $VERBOSE; - - copy ("$lang.po", "$lang.po.old") || die "copy failed: $!"; - - # Perform merge, remove backup file and the "messages" trash file - # generated by gettext - system ("msgmerge", "$lang.po.old", "$MODULE.pot", "-o", "$lang.po"); - unlink "$lang.po.old"; - unlink "messages"; -} - -sub print_error_not_existing -{ - my ($file) = @_; - - ## Report error if supplied language file is non-existing - print "$PROGRAM: $file does not exist!\n"; - print "Try '$PROGRAM --help' for more information.\n"; - exit; -} - -sub gather_po_files -{ - my @po_files = glob ("./*.po"); - - @languages = map (&po_file2lang, @po_files); - - foreach my $lang (@languages) { - $po_files_by_lang{$lang} = shift (@po_files); - } -} - -sub po_file2lang ($) -{ - my $tmp = $_; - $tmp =~ s/^.*\/(.*)\.po$/$1/; - return $tmp; -} - -sub print_status -{ - my ($lang) = @_; - - system ("msgfmt", "--statistics", "$lang.po"); - print "\n"; -} - -sub print_report -{ - &generate_headers; - &generate_po_template; - &gather_po_files; - - foreach my $lang (@languages) { - print "$lang: "; - &update_po_file ($lang); - } - - print "\n\n * Current translation support in $MODULE \n\n"; - - foreach my $lang (@languages){ - print "$lang: "; - system ("msgfmt", "--statistics", "$lang.po"); - } -} - -sub find_package_name -{ - my $base_dirname = getcwd(); - $base_dirname =~ s@.*/@@; - - my ($conf_in, $src_dir); - - if ($base_dirname =~ /^po(-.+)?$/) { - if (-f "../configure.in") { - $conf_in = "../configure.in"; - } elsif (-f "../configure.ac") { - $conf_in = "../configure.ac"; - } else { - my $makefile_source; - local (*IN); - open IN, ") { - if (/^top_srcdir[ \t]*=/) { - $src_dir = $_; - # print "${src_dir}\n"; - - $src_dir =~ s/^top_srcdir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; - # print "${src_dir}\n"; - chomp $src_dir; - $conf_in = "$src_dir" . "/configure.in" . "\n"; - last; - } - } - $conf_in || die "Cannot find top_srcdir in Makefile." - } - - my %varhash = (); - my $conf_source; { - local (*IN); - open (IN, "<$conf_in") || die "can't open $conf_in: $!"; - while () { - if (/^(\w+)=(\S+)/) { $varhash{$1} = $2 }; - } - seek (IN, 0, 0); - local $/; # slurp mode - $conf_source = ; - } - - my $name = ""; - $name = $1 if $conf_source =~ /^AM_INIT_AUTOMAKE\([\s\[]*([^,\)\s\]]+)/m; - if ($conf_source =~ /^AC_INIT\([\s\[]*([^,\)\s\]]+)\]?\s*,/m) { - $name = $1; - $varhash{"AC_PACKAGE_NAME"} = $1; - } - $name = $1 if $conf_source =~ /^GETTEXT_PACKAGE=\[?([^\s\]]+)/m; - - $name = "\$AC_PACKAGE_NAME" if "$name" eq "AC_PACKAGE_NAME"; - - my $oldname = ""; - while (($name =~ /[\$](\S+)/) && ("$oldname" ne "$name")) { - $oldname = $name; - if (exists $varhash{$1}) { - $name =~ s/[\$](\S+)/$varhash{$1}/; - } - } - return $name if $name; - } - - print "$PROGRAM: Unable to determine package name.\n" . - "Make sure to run this script inside the po directory.\n"; - exit; -} From b88fb9a025db99185307aa64098fd77644dc6cfa Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Wed, 10 Mar 2010 22:40:48 +0100 Subject: [PATCH 4/6] fix network state automatic management (wasn't working) --- coreapi/linphonecore.c | 60 ++-- coreapi/linphonecore.h | 1 + coreapi/proxy.c | 4 +- intltool-extract.in | 325 -------------------- intltool-merge.in | 657 ----------------------------------------- intltool-update.in | 634 --------------------------------------- 6 files changed, 38 insertions(+), 1643 deletions(-) delete mode 100644 intltool-extract.in delete mode 100644 intltool-merge.in delete mode 100644 intltool-update.in diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 5f94e634e..e79c39d55 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -40,6 +40,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /*#define UNSTANDART_GSM_11K 1*/ static const char *liblinphone_version=LIBLINPHONE_VERSION; +static void set_network_reachable(LinphoneCore* lc,bool_t isReachable); #include "enum.h" @@ -1403,28 +1404,31 @@ static void linphone_core_disconnected(LinphoneCore *lc){ linphone_core_terminate_call(lc,NULL); } -static void proxy_update(LinphoneCore *lc, time_t curtime){ - +static void monitor_network_state(LinphoneCore *lc, time_t curtime){ static time_t last_check=0; static bool_t last_status=FALSE; - if (lc->sip_conf.register_only_when_network_is_up){ - char result[LINPHONE_IPADDR_SIZE]; - /* only do the network up checking every five seconds */ - if (last_check==0 || (curtime-last_check)>=5){ - if (eXosip_guess_localip(lc->sip_conf.ipv6_enabled ? AF_INET6 : AF_INET,result,LINPHONE_IPADDR_SIZE)==0){ - if (strcmp(result,"::1")!=0 && strcmp(result,"127.0.0.1")!=0){ - last_status=TRUE; - ms_message("Network is up, registering now (%s)",result); - }else last_status=FALSE; - } - last_check=curtime; + char result[LINPHONE_IPADDR_SIZE]; + bool_t new_status; + + /* only do the network up checking every five seconds */ + if (last_check==0 || (curtime-last_check)>=5){ + if (eXosip_guess_localip(lc->sip_conf.ipv6_enabled ? AF_INET6 : AF_INET,result,LINPHONE_IPADDR_SIZE)==0){ + if (strcmp(result,"::1")!=0 && strcmp(result,"127.0.0.1")!=0){ + new_status=TRUE; + }else new_status=FALSE; + } + last_check=curtime; + if (new_status!=last_status) { + set_network_reachable(lc,new_status); + last_status=new_status; } - linphone_core_set_network_reachable(lc,last_status); - }else { - ms_list_for_each(lc->sip_conf.proxies,(void (*)(void*))&linphone_proxy_config_update); } } +static void proxy_update(LinphoneCore *lc){ + ms_list_for_each(lc->sip_conf.proxies,(void (*)(void*))&linphone_proxy_config_update); +} + static void assign_buddy_info(LinphoneCore *lc, BuddyInfo *info){ LinphoneFriend *lf=linphone_core_get_friend_by_uri(lc,info->sip_uri); if (lf!=NULL){ @@ -1542,7 +1546,9 @@ void linphone_core_iterate(LinphoneCore *lc) } } - proxy_update(lc,curtime); + if (lc->auto_net_state_mon) monitor_network_state(lc,curtime); + + proxy_update(lc); if (lc->call!=NULL){ LinphoneCall *call=lc->call; @@ -3490,12 +3496,7 @@ static void linphone_core_uninit(LinphoneCore *lc) gstate_new_state(lc, GSTATE_POWER_OFF, NULL); } -void linphone_core_set_network_reachable(LinphoneCore* lc,bool_t isReachable) { - //first disable automatic mode - if (lc->auto_net_state_mon) { - ms_message("Disabling automatic network state monitoring"); - lc->auto_net_state_mon=FALSE; - } +static void set_network_reachable(LinphoneCore* lc,bool_t isReachable){ ms_message("Network state is now [%s]",isReachable?"UP":"DOWN"); // second get the list of available proxies const MSList *elem=linphone_core_get_proxy_config_list(lc); @@ -3504,14 +3505,21 @@ void linphone_core_set_network_reachable(LinphoneCore* lc,bool_t isReachable) { if (linphone_proxy_config_register_enabled(cfg) ) { if (!isReachable) { cfg->registered=0; + }else{ cfg->commit=TRUE; - } else { - linphone_proxy_config_update(cfg); } } - } + lc->network_reachable=isReachable; +} +void linphone_core_set_network_reachable(LinphoneCore* lc,bool_t isReachable) { + //first disable automatic mode + if (lc->auto_net_state_mon) { + ms_message("Disabling automatic network state monitoring"); + lc->auto_net_state_mon=FALSE; + } + set_network_reachable(lc,isReachable); } /** * Destroys a LinphoneCore diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index 0796a6d05..54c915060 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -661,6 +661,7 @@ typedef struct _LinphoneCore * In case of false, network state must be communicate to linphone core with method linphone_core_ */ bool_t auto_net_state_mon; + bool_t network_reachable; } LinphoneCore; diff --git a/coreapi/proxy.c b/coreapi/proxy.c index 4a9720a35..637400cbb 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -913,11 +913,13 @@ SipSetup *linphone_proxy_config_get_sip_setup(LinphoneProxyConfig *cfg){ } void linphone_proxy_config_update(LinphoneProxyConfig *cfg){ + LinphoneCore *lc=cfg->lc; if (cfg->commit){ if (cfg->type && cfg->ssctx==NULL){ linphone_proxy_config_activate_sip_setup(cfg); } - linphone_proxy_config_register(cfg); + if (lc->sip_conf.register_only_when_network_is_up || lc->network_reachable) + linphone_proxy_config_register(cfg); cfg->commit=FALSE; } } diff --git a/intltool-extract.in b/intltool-extract.in deleted file mode 100644 index 256a959a1..000000000 --- a/intltool-extract.in +++ /dev/null @@ -1,325 +0,0 @@ -#!@INTLTOOL_PERL@ -w -# -*- Mode: perl; indent-tabs-mode: nil; c-basic-offset: 4 -*- - -# -# The Intltool Message Extractor -# -# Copyright (C) 2000-2001 Free Software Foundation. -# -# Intltool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. -# -# Intltool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. -# -# Authors: Kenneth Christiansen -# Darin Adler -# - -## Release information -my $PROGRAM = "intltool-extract"; -my $PACKAGE = "intltool"; -my $VERSION = "0.22"; - -## Loaded modules -use strict; -use File::Basename; -use Getopt::Long; - -## Scalars used by the option stuff -my $TYPE_ARG = "0"; -my $LOCAL_ARG = "0"; -my $HELP_ARG = "0"; -my $VERSION_ARG = "0"; -my $UPDATE_ARG = "0"; -my $QUIET_ARG = "0"; - -my $FILE; -my $OUTFILE; - -my $gettext_type = ""; -my $input; -my %messages = (); - -## Use this instead of \w for XML files to handle more possible characters. -my $w = "[-A-Za-z0-9._:]"; - -## Always print first -$| = 1; - -## Handle options -GetOptions ( - "type=s" => \$TYPE_ARG, - "local|l" => \$LOCAL_ARG, - "help|h" => \$HELP_ARG, - "version|v" => \$VERSION_ARG, - "update" => \$UPDATE_ARG, - "quiet|q" => \$QUIET_ARG, - ) or &error; - -&split_on_argument; - - -## Check for options. -## This section will check for the different options. - -sub split_on_argument { - - if ($VERSION_ARG) { - &version; - - } elsif ($HELP_ARG) { - &help; - - } elsif ($LOCAL_ARG) { - &place_local; - &extract; - - } elsif ($UPDATE_ARG) { - &place_normal; - &extract; - - } elsif (@ARGV > 0) { - &place_normal; - &message; - &extract; - - } else { - &help; - - } -} - -sub place_normal { - $FILE = $ARGV[0]; - $OUTFILE = "$FILE.h"; -} - -sub place_local { - $OUTFILE = fileparse($FILE, ()); - if (!-e "tmp/") { - system("mkdir tmp/"); - } - $OUTFILE = "./tmp/$OUTFILE.h" -} - -sub determine_type { - if ($TYPE_ARG =~ /^gettext\/(.*)/) { - $gettext_type=$1 - } -} - -## Sub for printing release information -sub version{ - print "${PROGRAM} (${PACKAGE}) $VERSION\n"; - print "Copyright (C) 2000 Free Software Foundation, Inc.\n"; - print "Written by Kenneth Christiansen, 2000.\n\n"; - print "This is free software; see the source for copying conditions. There is NO\n"; - print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; - exit; -} - -## Sub for printing usage information -sub help{ - print "Usage: ${PROGRAM} [FILENAME] [OPTIONS] ...\n"; - print "Generates a header file from an xml source file.\n\nGrabs all strings "; - print "between <_translatable_node> and it's end tag,\nwhere tag are all allowed "; - print "xml tags. Read the docs for more info.\n\n"; - print " -v, --version shows the version\n"; - print " -h, --help shows this help page\n"; - print " -q, --quiet quiet mode\n"; - print "\nReport bugs to .\n"; - exit; -} - -## Sub for printing error messages -sub error{ - print "Try `${PROGRAM} --help' for more information.\n"; - exit; -} - -sub message { - print "Generating C format header file for translation.\n"; -} - -sub extract { - &determine_type; - - &convert ($FILE); - - open OUT, ">$OUTFILE"; - &msg_write; - close OUT; - - print "Wrote $OUTFILE\n" unless $QUIET_ARG; -} - -sub convert($) { - - ## Reading the file - { - local (*IN); - local $/; #slurp mode - open (IN, "<$FILE") || die "can't open $FILE: $!"; - $input = ; - } - - &type_ini if $gettext_type eq "ini"; - &type_keys if $gettext_type eq "keys"; - &type_xml if $gettext_type eq "xml"; - &type_glade if $gettext_type eq "glade"; - &type_scheme if $gettext_type eq "scheme"; - &type_schemas if $gettext_type eq "schemas"; -} - -sub entity_decode_minimal -{ - local ($_) = @_; - - s/'/'/g; # ' - s/"/"/g; # " - s/&/&/g; - - return $_; -} - -sub entity_decode -{ - local ($_) = @_; - - s/'/'/g; # ' - s/"/"/g; # " - s/&/&/g; - s/<//g; - - return $_; -} - -sub escape_char -{ - return '\"' if $_ eq '"'; - return '\n' if $_ eq "\n"; - return '\\' if $_ eq '\\'; - - return $_; -} - -sub escape -{ - my ($string) = @_; - return join "", map &escape_char, split //, $string; -} - -sub type_ini { - ### For generic translatable desktop files ### - while ($input =~ /^_.*=(.*)$/mg) { - $messages{$1} = []; - } -} - -sub type_keys { - ### For generic translatable mime/keys files ### - while ($input =~ /^\s*_\w+=(.*)$/mg) { - $messages{$1} = []; - } -} - -sub type_xml { - ### For generic translatable XML files ### - - while ($input =~ /\s_$w+=\"([^"]+)\"/sg) { # " - $messages{entity_decode_minimal($1)} = []; - } - - while ($input =~ /<_($w+)>(.+?)<\/_\1>/sg) { - $_ = $2; - s/\s+/ /g; - s/^ //; - s/ $//; - $messages{entity_decode_minimal($_)} = []; - } -} - -sub type_schemas { - ### For schemas XML files ### - - # FIXME: We should handle escaped < (less than) - while ($input =~ /<(short|long)>([^<]+)<\/\1>/sg) { - $_ = $2; - s/\s+/ /g; - s/^ //; - s/ $//; - $messages{entity_decode_minimal($_)} = []; - } -} - -sub type_glade { - ### For translatable Glade XML files ### - - my $tags = "label|title|text|format|copyright|comments|preview_text|tooltip|message"; - - while ($input =~ /<($tags)>([^<]+)<\/($tags)>/sg) { - # Glade sometimes uses tags that normally mark translatable things for - # little bits of non-translatable content. We work around this by not - # translating strings that only includes something like label4 or window1. - $messages{entity_decode($2)} = [] unless $2 =~ /^(window|label)[0-9]+$/; - } - - while ($input =~ /(..[^<]*)<\/items>/sg) { - for my $item (split (/\n/, $1)) { - $messages{entity_decode($item)} = []; - } - } - - ## handle new glade files - while ($input =~ /<(property|atkproperty)\s+[^>]*translatable\s*=\s*"yes"[^>]*>([^<]+)<\/\1>/sg) { - $messages{entity_decode($2)} = [] unless $2 =~ /^(window|label)[0-9]+$/; - } - while ($input =~ /]*)"\s+description="([^>]+)"\/>/sg) { - $messages{entity_decode_minimal($2)} = []; - } -} - -sub type_scheme { - while ($input =~ /_\(?"((?:[^"\\]+|\\.)*)"\)?/sg) { - $messages{$1} = []; - } -} - -sub msg_write { - for my $message (sort keys %messages) { - print OUT "/* xgettext:no-c-format */\n" if $message =~ /%/; - - my @lines = split (/\n/, $message); - for (my $n = 0; $n < @lines; $n++) { - if ($n == 0) { - print OUT "char *s = N_(\""; - } else { - print OUT " \""; - } - - print OUT escape($lines[$n]); - - if ($n < @lines - 1) { - print OUT "\\n\"\n"; - } else { - print OUT "\");\n"; - } - } - } -} - diff --git a/intltool-merge.in b/intltool-merge.in deleted file mode 100644 index fd35cfdef..000000000 --- a/intltool-merge.in +++ /dev/null @@ -1,657 +0,0 @@ -#!@INTLTOOL_PERL@ -w - -# -# The Intltool Message Merger -# -# Copyright (C) 2000, 2002 Free Software Foundation. -# Copyright (C) 2000, 2001 Eazel, Inc -# -# Intltool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# version 2 published by the Free Software Foundation. -# -# Intltool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. -# -# Authors: Maciej Stachowiak -# Kenneth Christiansen -# Darin Adler -# -# Proper XML UTF-8'ification written by Cyrille Chepelov -# - -## Release information -my $PROGRAM = "intltool-merge"; -my $PACKAGE = "intltool"; -my $VERSION = "0.22"; - -## Loaded modules -use strict; -use Getopt::Long; - -## Scalars used by the option stuff -my $HELP_ARG = 0; -my $VERSION_ARG = 0; -my $BA_STYLE_ARG = 0; -my $XML_STYLE_ARG = 0; -my $KEYS_STYLE_ARG = 0; -my $DESKTOP_STYLE_ARG = 0; -my $SCHEMAS_STYLE_ARG = 0; -my $QUIET_ARG = 0; -my $PASS_THROUGH_ARG = 0; -my $UTF8_ARG = 0; -my $cache_file; - -## Handle options -GetOptions -( - "help" => \$HELP_ARG, - "version" => \$VERSION_ARG, - "quiet|q" => \$QUIET_ARG, - "oaf-style|o" => \$BA_STYLE_ARG, ## for compatibility - "ba-style|b" => \$BA_STYLE_ARG, - "xml-style|x" => \$XML_STYLE_ARG, - "keys-style|k" => \$KEYS_STYLE_ARG, - "desktop-style|d" => \$DESKTOP_STYLE_ARG, - "schemas-style|s" => \$SCHEMAS_STYLE_ARG, - "pass-through|p" => \$PASS_THROUGH_ARG, - "utf8|u" => \$UTF8_ARG, - "cache|c=s" => \$cache_file - ) or &error; - -my $PO_DIR; -my $FILE; -my $OUTFILE; - -my %po_files_by_lang = (); -my %translations = (); - -# Use this instead of \w for XML files to handle more possible characters. -my $w = "[-A-Za-z0-9._:]"; - -# XML quoted string contents -my $q = "[^\\\"]*"; - -## Check for options. - -if ($VERSION_ARG) { - &print_version; -} elsif ($HELP_ARG) { - &print_help; -} elsif ($BA_STYLE_ARG && @ARGV > 2) { - &preparation; - &print_message; - &ba_merge_translations; - &finalize; -} elsif ($XML_STYLE_ARG && @ARGV > 2) { - &utf8_sanity_check; - &preparation; - &print_message; - &xml_merge_translations; - &finalize; -} elsif ($KEYS_STYLE_ARG && @ARGV > 2) { - &utf8_sanity_check; - &preparation; - &print_message; - &keys_merge_translations; - &finalize; -} elsif ($DESKTOP_STYLE_ARG && @ARGV > 2) { - &preparation; - &print_message; - &desktop_merge_translations; - &finalize; -} elsif ($SCHEMAS_STYLE_ARG && @ARGV > 2) { - &preparation; - &print_message; - &schemas_merge_translations; - &finalize; -} else { - &print_help; -} - -exit; - -## Sub for printing release information -sub print_version -{ - print "${PROGRAM} (${PACKAGE}) ${VERSION}\n"; - print "Written by Maciej Stachowiak, Darin Adler and Kenneth Christiansen.\n\n"; - print "Copyright (C) 2000-2002 Free Software Foundation, Inc.\n"; - print "Copyright (C) 2000-2001 Eazel, Inc.\n"; - print "This is free software; see the source for copying conditions. There is NO\n"; - print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; - exit; -} - -## Sub for printing usage information -sub print_help -{ - print "Usage: ${PROGRAM} [OPTIONS] PO_DIRECTORY FILENAME OUTPUT_FILE\n"; - print "Generates an output file that includes translated versions of some attributes,\n"; - print "from an untranslated source and a po directory that includes translations.\n\n"; - print " -b, --ba-style includes translations in the bonobo-activation style\n"; - print " -d, --desktop-style includes translations in the desktop style\n"; - print " -k, --keys-style includes translations in the keys style\n"; - print " -s, --schemas-style includes translations in the schemas style\n"; - print " -x, --xml-style includes translations in the standard xml style\n"; - print " -u, --utf8 convert all strings to UTF-8 before merging\n"; - print " -p, --pass-through use strings as found in .po files, without\n"; - print " conversion (STRONGLY unrecommended with -x)\n"; - print " -q, --quiet suppress most messages\n"; - print " --help display this help and exit\n"; - print " --version output version information and exit\n"; - print "\nReport bugs to bugzilla.gnome.org, module intltool, or contact us through \n"; - print ".\n"; - exit; -} - - -## Sub for printing error messages -sub print_error -{ - print "Try `${PROGRAM} --help' for more information.\n"; - exit; -} - - -sub print_message -{ - print "Merging translations into $OUTFILE.\n" unless $QUIET_ARG; -} - - -sub preparation -{ - $PO_DIR = $ARGV[0]; - $FILE = $ARGV[1]; - $OUTFILE = $ARGV[2]; - - &gather_po_files; - &get_translation_database; -} - -# General-purpose code for looking up translations in .po files - -sub po_file2lang -{ - my ($tmp) = @_; - $tmp =~ s/^.*\/(.*)\.po$/$1/; - return $tmp; -} - -sub gather_po_files -{ - for my $po_file (glob "$PO_DIR/*.po") { - $po_files_by_lang{po_file2lang($po_file)} = $po_file; - } -} - -sub get_po_encoding -{ - my ($in_po_file) = @_; - my $encoding = ""; - - open IN_PO_FILE, $in_po_file or die; - while () { - ## example: "Content-Type: text/plain; charset=ISO-8859-1\n" - if (/Content-Type\:.*charset=([-a-zA-Z0-9]+)\\n/) { - $encoding = $1; - last; - } - } - close IN_PO_FILE; - - if (!$encoding) { - print "Warning: no encoding found in $in_po_file. Assuming ISO-8859-1\n"; - $encoding = "ISO-8859-1"; - } - return $encoding -} - -sub utf8_sanity_check -{ - if (!$UTF8_ARG) { - if (!$PASS_THROUGH_ARG) { - $PASS_THROUGH_ARG="1"; - } - } -} - -sub get_translation_database -{ - if ($cache_file) { - &get_cached_translation_database; - } else { - &create_translation_database; - } -} - -sub get_newest_po_age -{ - my $newest_age; - - foreach my $file (values %po_files_by_lang) { - my $file_age = -M $file; - $newest_age = $file_age if !$newest_age || $file_age < $newest_age; - } - - return $newest_age; -} - -sub create_cache -{ - print "Generating and caching the translation database\n" unless $QUIET_ARG; - - &create_translation_database; - - open CACHE, ">$cache_file" || die; - print CACHE join "\x01", %translations; - close CACHE; -} - -sub load_cache -{ - print "Found cached translation database\n" unless $QUIET_ARG; - - my $contents; - open CACHE, "<$cache_file" || die; - { - local $/; - $contents = ; - } - close CACHE; - %translations = split "\x01", $contents; -} - -sub get_cached_translation_database -{ - my $cache_file_age = -M $cache_file; - if (defined $cache_file_age) { - if ($cache_file_age <= &get_newest_po_age) { - &load_cache; - return; - } - print "Found too-old cached translation database\n" unless $QUIET_ARG; - } - - &create_cache; -} - -sub create_translation_database -{ - for my $lang (keys %po_files_by_lang) { - my $po_file = $po_files_by_lang{$lang}; - - if ($UTF8_ARG) { - my $encoding = get_po_encoding ($po_file); - if (lc $encoding eq "utf-8") { - open PO_FILE, "<$po_file"; - } else { - my $iconv = $ENV{"INTLTOOL_ICONV"} || "iconv"; - open PO_FILE, "$iconv -f $encoding -t UTF-8 $po_file|"; - } - } else { - open PO_FILE, "<$po_file"; - } - - my $nextfuzzy = 0; - my $inmsgid = 0; - my $inmsgstr = 0; - my $msgid = ""; - my $msgstr = ""; - while () { - $nextfuzzy = 1 if /^#, fuzzy/; - if (/^msgid "((\\.|[^\\])*)"/ ) { - $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; - $msgid = ""; - $msgstr = ""; - - if ($nextfuzzy) { - $inmsgid = 0; - } else { - $msgid = unescape_po_string($1); - $inmsgid = 1; - } - $inmsgstr = 0; - $nextfuzzy = 0; - } - if (/^msgstr "((\\.|[^\\])*)"/) { - $msgstr = unescape_po_string($1); - $inmsgstr = 1; - $inmsgid = 0; - } - if (/^"((\\.|[^\\])*)"/) { - $msgid .= unescape_po_string($1) if $inmsgid; - $msgstr .= unescape_po_string($1) if $inmsgstr; - } - } - $translations{$lang, $msgid} = $msgstr if $inmsgstr && $msgid && $msgstr; - } -} - -sub finalize -{ -} - -sub unescape_one_sequence -{ - my ($sequence) = @_; - - return "\\" if $sequence eq "\\\\"; - return "\"" if $sequence eq "\\\""; - - # gettext also handles \n, \t, \b, \r, \f, \v, \a, \xxx (octal), - # \xXX (hex) and has a comment saying they want to handle \u and \U. - - return $sequence; -} - -sub unescape_po_string -{ - my ($string) = @_; - - $string =~ s/(\\.)/unescape_one_sequence($1)/eg; - - return $string; -} - -sub entity_decode -{ - local ($_) = @_; - - s/'/'/g; # ' - s/"/"/g; # " - s/&/&/g; - - return $_; -} - -sub entity_encode -{ - my ($pre_encoded) = @_; - - my @list_of_chars = unpack ('C*', $pre_encoded); - - if ($PASS_THROUGH_ARG) { - return join ('', map (&entity_encode_int_even_high_bit, @list_of_chars)); - } else { - return join ('', map (&entity_encode_int_minimalist, @list_of_chars)); - } -} - -sub entity_encode_int_minimalist -{ - return """ if $_ == 34; - return "&" if $_ == 38; - return "'" if $_ == 39; - return chr $_; -} - -sub entity_encode_int_even_high_bit -{ - if ($_ > 127 || $_ == 34 || $_ == 38 || $_ == 39) { - # the ($_ > 127) should probably be removed - return "&#" . $_ . ";"; - } else { - return chr $_; - } -} - -sub entity_encoded_translation -{ - my ($lang, $string) = @_; - - my $translation = $translations{$lang, $string}; - return $string if !$translation; - return entity_encode ($translation); -} - -## XML (bonobo-activation specific) merge code - -sub ba_merge_translations -{ - my $source; - - { - local $/; # slurp mode - open INPUT, "<$FILE" or die "can't open $FILE: $!"; - $source = ; - close INPUT; - } - - open OUTPUT, ">$OUTFILE" or die "can't open $OUTFILE: $!"; - - while ($source =~ s|^(.*?)([ \t]*<\s*$w+\s+($w+\s*=\s*"$q"\s*)+/?>)([ \t]*\n)?||s) { - print OUTPUT $1; - - my $node = $2 . "\n"; - - my @strings = (); - $_ = $node; - while (s/(\s)_($w+\s*=\s*"($q)")/$1$2/s) { - push @strings, entity_decode($3); - } - print OUTPUT; - - my %langs; - for my $string (@strings) { - for my $lang (keys %po_files_by_lang) { - $langs{$lang} = 1 if $translations{$lang, $string}; - } - } - - for my $lang (sort keys %langs) { - $_ = $node; - s/(\sname\s*=\s*)"($q)"/$1"$2-$lang"/s; - s/(\s)_($w+\s*=\s*")($q)"/$1 . $2 . entity_encoded_translation($lang, $3) . '"'/seg; - print OUTPUT; - } - } - - print OUTPUT $source; - - close OUTPUT; -} - - -## XML (non-bonobo-activation) merge code - -sub xml_merge_translations -{ - my $source; - - { - local $/; # slurp mode - open INPUT, "<$FILE" or die "can't open $FILE: $!"; - $source = ; - close INPUT; - } - - open OUTPUT, ">$OUTFILE" or die; - - # FIXME: support attribute translations - - # Empty nodes never need translation, so unmark all of them. - # For example, <_foo/> is just replaced by . - $source =~ s|<\s*_($w+)\s*/>|<$1/>|g; - - # Support for <_foo>blah style translations. - while ($source =~ s|^(.*?)([ \t]*)<\s*_($w+)\s*>(.*?)<\s*/_\3\s*>([ \t]*\n)?||s) { - print OUTPUT $1; - - my $spaces = $2; - my $tag = $3; - my $string = $4; - - print OUTPUT "$spaces<$tag>$string\n"; - - $string =~ s/\s+/ /g; - $string =~ s/^ //; - $string =~ s/ $//; - $string = entity_decode($string); - - for my $lang (sort keys %po_files_by_lang) { - my $translation = $translations{$lang, $string}; - next if !$translation; - $translation = entity_encode($translation); - print OUTPUT "$spaces<$tag xml:lang=\"$lang\">$translation\n"; - } - } - - print OUTPUT $source; - - close OUTPUT; -} - -sub keys_merge_translations -{ - open INPUT, "<${FILE}" or die; - open OUTPUT, ">${OUTFILE}" or die; - - while () { - if (s/^(\s*)_(\w+=(.*))/$1$2/) { - my $string = $3; - - print OUTPUT; - - my $non_translated_line = $_; - - for my $lang (sort keys %po_files_by_lang) { - my $translation = $translations{$lang, $string}; - next if !$translation; - - $_ = $non_translated_line; - s/(\w+)=.*/[$lang]$1=$translation/; - print OUTPUT; - } - } else { - print OUTPUT; - } - } - - close OUTPUT; - close INPUT; -} - -sub desktop_merge_translations -{ - open INPUT, "<${FILE}" or die; - open OUTPUT, ">${OUTFILE}" or die; - - while () { - if (s/^(\s*)_(\w+=(.*))/$1$2/) { - my $string = $3; - - print OUTPUT; - - my $non_translated_line = $_; - - for my $lang (sort keys %po_files_by_lang) { - my $translation = $translations{$lang, $string}; - next if !$translation; - - $_ = $non_translated_line; - s/(\w+)=.*/${1}[$lang]=$translation/; - print OUTPUT; - } - } else { - print OUTPUT; - } - } - - close OUTPUT; - close INPUT; -} - -sub schemas_merge_translations -{ - my $source; - - { - local $/; # slurp mode - open INPUT, "<$FILE" or die "can't open $FILE: $!"; - $source = ; - close INPUT; - } - - open OUTPUT, ">$OUTFILE" or die; - - # FIXME: support attribute translations - - # Empty nodes never need translation, so unmark all of them. - # For example, <_foo/> is just replaced by . - $source =~ s|<\s*_($w+)\s*/>|<$1/>|g; - - # Support for <_foo>blah style translations. - - my $regex_start = "^(.*?)([ \t]*)"; - my $regex_short = "([ \t\n]*)(.*?)"; - my $regex_long = "([ \t\n]*)(.*?)"; - my $regex_end = "([ \t\n]*)"; - - while ($source =~ s|$regex_start$regex_short$regex_long$regex_end||s) { - print OUTPUT $1; - - my $locale_start_spaces = $2; - my $locale_end_spaces = $7; - my $short_spaces = $3; - my $short_string = $4; - my $long_spaces = $5; - my $long_string = $6; - - # English first - - print OUTPUT "$locale_start_spaces"; - print OUTPUT "$short_spaces$short_string"; - print OUTPUT "$long_spaces$long_string"; - print OUTPUT "$locale_end_spaces"; - - $short_string =~ s/\s+/ /g; - $short_string =~ s/^ //; - $short_string =~ s/ $//; - $short_string = entity_decode($short_string); - - $long_string =~ s/\s+/ /g; - $long_string =~ s/^ //; - $long_string =~ s/ $//; - $long_string = entity_decode($long_string); - - for my $lang (sort keys %po_files_by_lang) { - my $short_translation = $translations{$lang, $short_string}; - my $long_translation = $translations{$lang, $long_string}; - - next if (!$short_translation && !$long_translation); - - print OUTPUT "\n$locale_start_spaces"; - - if ($short_translation) - { - $short_translation = entity_encode($short_translation); - print OUTPUT "$short_spaces$short_translation"; - } - - if ($long_translation) - { - $long_translation = entity_encode($long_translation); - print OUTPUT "$long_spaces$long_translation"; - } - - print OUTPUT "$locale_end_spaces"; - } - } - - print OUTPUT $source; - - close OUTPUT; -} diff --git a/intltool-update.in b/intltool-update.in deleted file mode 100644 index cc5fc141d..000000000 --- a/intltool-update.in +++ /dev/null @@ -1,634 +0,0 @@ -#!@INTLTOOL_PERL@ -w - -# -# The Intltool Message Updater -# -# Copyright (C) 2000-2002 Free Software Foundation. -# -# Intltool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# version 2 published by the Free Software Foundation. -# -# Intltool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. -# -# Authors: Kenneth Christiansen -# Maciej Stachowiak -# Darin Adler - -## Release information -my $PROGRAM = "intltool-update"; -my $VERSION = "0.22"; -my $PACKAGE = "intltool"; - -## Loaded modules -use strict; -use Getopt::Long; -use Cwd; -use File::Copy; -use File::Find; - -## Scalars used by the option stuff -my $HELP_ARG = 0; -my $VERSION_ARG = 0; -my $DIST_ARG = 0; -my $POT_ARG = 0; -my $HEADERS_ARG = 0; -my $MAINTAIN_ARG = 0; -my $REPORT_ARG = 0; -my $VERBOSE = 0; -my $GETTEXT_PACKAGE = ""; - -my @languages; -my %po_files_by_lang = (); - -# Regular expressions to categorize file types. -# FIXME: Please check if the following is correct - -my $xml_extension = -"xml(\.in)*|". # .in is not required -"ui|". -"glade2?(\.in)*|". # .in is not required -"scm(\.in)*|". # .in is not required -"oaf(\.in)+|". -"etspec|". -"sheet(\.in)+|". -"schemas(\.in)+|". -"pong(\.in)+"; - -my $ini_extension = -"desktop(\.in)+|". -"caves(\.in)+|". -"directory(\.in)+|". -"soundlist(\.in)+|". -"keys(\.in)+|". -"server(\.in)+"; - -## Always print as the first thing -$| = 1; - -## Handle options -GetOptions -( - "help" => \$HELP_ARG, - "version" => \$VERSION_ARG, - "dist|d" => \$DIST_ARG, - "pot|p" => \$POT_ARG, - "headers|s" => \$HEADERS_ARG, - "maintain|m" => \$MAINTAIN_ARG, - "report|r" => \$REPORT_ARG, - "verbose|x" => \$VERBOSE, - "gettext-package|g=s" => \$GETTEXT_PACKAGE, - ) or &print_error_invalid_option; - -&print_help if $HELP_ARG; -&print_version if $VERSION_ARG; - -my $arg_count = ($DIST_ARG > 0) - + ($POT_ARG > 0) - + ($HEADERS_ARG > 0) - + ($MAINTAIN_ARG > 0) - + ($REPORT_ARG > 0); -&print_help if $arg_count > 1; - -# --version and --help don't require a module name -my $MODULE = $GETTEXT_PACKAGE || &find_package_name; - -if ($DIST_ARG) { - if ($ARGV[0] =~ /^[a-z]/){ - &update_po_file ($ARGV[0]); - &print_status ($ARGV[0]); - } else { - &print_help; - } -} elsif ($POT_ARG) { - &generate_headers; - &generate_po_template; -} elsif ($HEADERS_ARG) { - &generate_headers; -} elsif ($MAINTAIN_ARG) { - &find_leftout_files; -} elsif ($REPORT_ARG) { - &print_report; -} else { - if ($ARGV[0] =~ /^[a-z]/) { - &main ($ARGV[0]); - } else { - &print_help; - } -} - -exit; - -######### - -sub print_version -{ - ## Print version information - print "${PROGRAM} (${PACKAGE}) $VERSION\n"; - print "Written by Kenneth Christiansen, Maciej Stachowiak, and Darin Adler.\n\n"; - print "Copyright (C) 2000-2002 Free Software Foundation, Inc.\n"; - print "This is free software; see the source for copying conditions. There is NO\n"; - print "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"; - exit; -} - -sub print_help -{ - ## Print usage information - print "Usage: ${PROGRAM} [OPTIONS] ...LANGCODE\n"; - print "Updates PO template files and merge them with the translations.\n\n"; - print " -p, --pot generate the PO template only\n"; - print " -s, --headers generate the header files in POTFILES.in\n"; - print " -m, --maintain search for left out files from POTFILES.in\n"; - print " -r, --report display a status report for the module.\n"; - print " -x, --verbose display lots of feedback\n"; - print " --help display this help and exit\n"; - print " --version output version information and exit\n"; - print "\nExamples of use:\n"; - print "${PROGRAM} --pot just creates a new PO template from the source\n"; - print "${PROGRAM} da created new PO template and updated the da.po file\n\n"; - print "Report bugs to bugzilla.gnome.org, module 'intltool'.\n"; - exit; -} - -sub main -{ - my ($lang) = @_; - - ## Report error if the language file supplied - ## to the command line is non-existent - &print_error_not_existing("$lang.po") if ! -s "$lang.po"; - - print "Working, please wait..." unless $VERBOSE; - &generate_headers; - &generate_po_template; - &update_po_file ($lang); - &print_status ($lang); -} - -sub determine_type ($) -{ - my $type = $_; - my $gettext_type; - - # FIXME: Use $xml_extentions, and maybe do all this even nicer - my $xml_regex = - "(?:xml(\.in)*|ui|oaf(?:\.in)+|server(?:\.in)+|sheet(?:\.in)+|". - "pong(?:\.in)+|etspec|schemas(?:\.in)+)"; - my $ini_regex = - "(?:desktop(?:\.in)+|caves(?:\.in)+|directory(?:\.in)+|". - "soundlist(?:\.in)+)"; - - if ($type =~ /\[type: gettext\/([^\]].*)]/) { - $gettext_type=$1; - } - elsif ($type =~ /schemas(\.in)+$/) { - $gettext_type="schemas"; - } - elsif ($type =~ /$xml_regex$/) { - $gettext_type="xml"; - } - elsif ($type =~ /glade2?(\.in)*$/) { - $gettext_type="glade"; - } - elsif ($type =~ /$ini_regex$/) { - $gettext_type="ini"; - } - elsif ($type =~ /scm(\.in)*$/) { - $gettext_type="scheme"; - } - elsif ($type =~ /keys(\.in)+$/) { - $gettext_type="keys"; - } - else { $gettext_type=""; } - - return "gettext\/$gettext_type"; -} - -sub find_leftout_files -{ - my (@buf_i18n_plain, - @buf_i18n_xml, - @buf_i18n_xml_unmarked, - @buf_i18n_ini, - @buf_potfiles, - @buf_potfiles_ignore, - @buf_allfiles, - @buf_allfiles_sorted, - @buf_potfiles_sorted - ); - - ## Search and find all translatable files - find sub { - push @buf_i18n_plain, "$File::Find::name" if /\.(c|y|cc|cpp|c\+\+|h|gob)$/ - }, ".."; - find sub { - push @buf_i18n_xml, "$File::Find::name" if /\.($xml_extension)$/ - }, ".."; - find sub { - push @buf_i18n_ini, "$File::Find::name" if /\.($ini_extension)$/ - }, ".."; - find sub { - push @buf_i18n_xml_unmarked, "$File::Find::name" if /\.(schemas(\.in)+)$/ - }, ".."; - - - open POTFILES, "POTFILES.in" or die "$PROGRAM: there's no POTFILES.in!\n"; - - @buf_potfiles = grep /^[^#]/, ; - - print "Searching for missing translatable files...\n" if $VERBOSE; - - ## Check if we should ignore some found files, when - ## comparing with POTFILES.in - foreach my $ignore ("POTFILES.skip", "POTFILES.ignore") { - if (-s $ignore) { - open FILE, $ignore; - while () { - if (/^[^#]/){ - push @buf_potfiles_ignore, $_; - } - } - print "Found $ignore: Ignoring files...\n" if $VERBOSE; - @buf_potfiles = (@buf_potfiles_ignore, @buf_potfiles); - } - } - - foreach my $file (@buf_i18n_plain) - { - my $in_comment = 0; - my $in_macro = 0; - - open FILE, "<$file"; - while () - { - # Handle continued multi-line comment. - if ($in_comment) - { - next unless s-.*\*/--; - $in_comment = 0; - } - - # Handle continued macro. - if ($in_macro) - { - $in_macro = 0 unless /\\$/; - next; - } - - # Handle start of macro (or any preprocessor directive). - if (/^\s*\#/) - { - $in_macro = 1 if /^([^\\]|\\.)*\\$/; - next; - } - - # Handle comments and quoted text. - while (m-(/\*|//|\'|\")-) # \' and \" keep emacs perl mode happy - { - my $match = $1; - if ($match eq "/*") - { - if (!s-/\*.*?\*/--) - { - s-/\*.*--; - $in_comment = 1; - } - } - elsif ($match eq "//") - { - s-//.*--; - } - else # ' or " - { - if (!s-$match([^\\]|\\.)*?$match-QUOTEDTEXT-) - { - warn "mismatched quotes at line $. in $file\n"; - s-$match.*--; - } - } - } - - - if (/_\(QUOTEDTEXT/) - { - ## Remove the first 3 chars and add newline - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - last; - } - } - close FILE; - } - - foreach my $file (@buf_i18n_xml) { - open FILE, "<$file"; - while () { - if (/\s_(.*)=\"/ || /translatable=\"yes\"/){ - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - last; - } - } - } - - foreach my $file (@buf_i18n_ini){ - open FILE, "<$file"; - while () { - if (/_(.*)=/){ - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - last; - } - } - } - - foreach my $file (@buf_i18n_xml_unmarked){ - push @buf_allfiles, unpack("x3 A*", $file) . "\n"; - } - - - @buf_allfiles_sorted = sort (@buf_allfiles); - @buf_potfiles_sorted = sort (@buf_potfiles); - - my %in2; - foreach (@buf_potfiles_sorted) { - $in2{$_} = 1; - } - - my @result; - - foreach (@buf_allfiles_sorted){ - if (!exists($in2{$_})){ - push @result, $_ - } - } - - ## Save file with information about the files missing - ## if any, and give information about this procedure. - if (@result) { - print "\n" if $VERBOSE; - open OUT, ">missing"; - print OUT @result; - print "The following files contain translations and are currently not in use. Please\n"; - print "consider adding these to the POTFILES.in file, located in the po/ directory.\n\n"; - print @result, "\n"; - print "If some of these files are left out on purpose then please add them to\n"; - print "POTFILES.skip instead of POTFILES.in. A file 'missing' containing this list\n"; - print "of left out files has been written in the current directory.\n"; - } - - ## If there is nothing to complain about, notify the user - else { - print "\nAll files containing translations are present in POTFILES.in.\n"; - } -} - -sub print_error_invalid_option -{ - ## Handle invalid arguments - print "Try `${PROGRAM} --help' for more information.\n"; - exit 1; -} - -sub generate_headers -{ - my $EXTRACT = `which intltool-extract 2>/dev/null`; - chomp $EXTRACT; - - $EXTRACT = $ENV{"INTLTOOL_EXTRACT"} if $ENV{"INTLTOOL_EXTRACT"}; - - ## Generate the .h header files, so we can allow glade and - ## xml translation support - if (! -s $EXTRACT) - { - print "\n *** The intltool-extract script wasn't found!" - ."\n *** Without it, intltool-update can not generate files.\n"; - exit; - } - else - { - open FILE, ") { - chomp; - - ## Find xml files in POTFILES.in and generate the - ## files with help from the extract script - - my $gettext_type= &determine_type ($1); - - if (/\.($xml_extension|$ini_extension)$/ || /^\[/){ - $_ =~ s/^\[[^\[].*]\s*//; - my $filename = "../$_"; - - if ($VERBOSE){ - system($EXTRACT, "--update", "--type=$gettext_type", $filename); - } else { - system($EXTRACT, "--update", "--type=$gettext_type", "--quiet", $filename); - } - } - } - close FILE; - } -} - -sub generate_po_template -{ - ## Generate the potfiles from the POTFILES.in file - - print "Building the $MODULE.pot...\n" if $VERBOSE; - - move ("POTFILES.in", "POTFILES.in.old"); - - open INFILE, "POTFILES.in"; - while () { - s/\.($xml_extension|$ini_extension)$/$&.h/; - s/^\[.*]\s*(.*)/$1.h/; - print OUTFILE $_; - } - close OUTFILE; - close INFILE; - - system ("xgettext", "--default-domain\=$MODULE", - "--directory\=\.\.", - "--add-comments", - "--keyword\=\_", - "--keyword\=N\_", - "--keyword\=U\_", - "--files-from\=\.\/POTFILES\.in"); - - move ("POTFILES.in.old", "POTFILES.in"); - - print "Removing generated header (.h) files..." if $VERBOSE; - - open FILE, ") - { - chomp; - unlink "../$_.h" if /\.($xml_extension|$ini_extension)$/; - } - - close FILE; - print "done\n" if $VERBOSE; - - if (!-e "$MODULE.po") { - print "WARNING: It seems that none of the files in POTFILES.in ". - "contain marked strings\n"; - exit (1); - } - - system ("rm", "-f", "$MODULE.pot"); - move ("$MODULE.po", "$MODULE.pot") or die "$PROGRAM: couldn't move $MODULE.po to $MODULE.pot.\n"; - - print "Wrote $MODULE.pot\n" if $VERBOSE; -} - -sub update_po_file -{ - my ($lang) = @_; - - print "Merging $lang.po with $MODULE.pot..." if $VERBOSE; - - copy ("$lang.po", "$lang.po.old") || die "copy failed: $!"; - - # Perform merge, remove backup file and the "messages" trash file - # generated by gettext - system ("msgmerge", "$lang.po.old", "$MODULE.pot", "-o", "$lang.po"); - unlink "$lang.po.old"; - unlink "messages"; -} - -sub print_error_not_existing -{ - my ($file) = @_; - - ## Report error if supplied language file is non-existing - print "$PROGRAM: $file does not exist!\n"; - print "Try '$PROGRAM --help' for more information.\n"; - exit; -} - -sub gather_po_files -{ - my @po_files = glob ("./*.po"); - - @languages = map (&po_file2lang, @po_files); - - foreach my $lang (@languages) { - $po_files_by_lang{$lang} = shift (@po_files); - } -} - -sub po_file2lang ($) -{ - my $tmp = $_; - $tmp =~ s/^.*\/(.*)\.po$/$1/; - return $tmp; -} - -sub print_status -{ - my ($lang) = @_; - - system ("msgfmt", "--statistics", "$lang.po"); - print "\n"; -} - -sub print_report -{ - &generate_headers; - &generate_po_template; - &gather_po_files; - - foreach my $lang (@languages) { - print "$lang: "; - &update_po_file ($lang); - } - - print "\n\n * Current translation support in $MODULE \n\n"; - - foreach my $lang (@languages){ - print "$lang: "; - system ("msgfmt", "--statistics", "$lang.po"); - } -} - -sub find_package_name -{ - my $base_dirname = getcwd(); - $base_dirname =~ s@.*/@@; - - my ($conf_in, $src_dir); - - if ($base_dirname =~ /^po(-.+)?$/) { - if (-f "../configure.in") { - $conf_in = "../configure.in"; - } elsif (-f "../configure.ac") { - $conf_in = "../configure.ac"; - } else { - my $makefile_source; - local (*IN); - open IN, ") { - if (/^top_srcdir[ \t]*=/) { - $src_dir = $_; - # print "${src_dir}\n"; - - $src_dir =~ s/^top_srcdir[ \t]*=[ \t]*([^ \t\n\r]*)/$1/; - # print "${src_dir}\n"; - chomp $src_dir; - $conf_in = "$src_dir" . "/configure.in" . "\n"; - last; - } - } - $conf_in || die "Cannot find top_srcdir in Makefile." - } - - my %varhash = (); - my $conf_source; { - local (*IN); - open (IN, "<$conf_in") || die "can't open $conf_in: $!"; - while () { - if (/^(\w+)=(\S+)/) { $varhash{$1} = $2 }; - } - seek (IN, 0, 0); - local $/; # slurp mode - $conf_source = ; - } - - my $name = ""; - $name = $1 if $conf_source =~ /^AM_INIT_AUTOMAKE\([\s\[]*([^,\)\s\]]+)/m; - if ($conf_source =~ /^AC_INIT\([\s\[]*([^,\)\s\]]+)\]?\s*,/m) { - $name = $1; - $varhash{"AC_PACKAGE_NAME"} = $1; - } - $name = $1 if $conf_source =~ /^GETTEXT_PACKAGE=\[?([^\s\]]+)/m; - - $name = "\$AC_PACKAGE_NAME" if "$name" eq "AC_PACKAGE_NAME"; - - my $oldname = ""; - while (($name =~ /[\$](\S+)/) && ("$oldname" ne "$name")) { - $oldname = $name; - if (exists $varhash{$1}) { - $name =~ s/[\$](\S+)/$varhash{$1}/; - } - } - return $name if $name; - } - - print "$PROGRAM: Unable to determine package name.\n" . - "Make sure to run this script inside the po directory.\n"; - exit; -} From 4d09f9af4e42f2777e9f451f1242d587398cdf62 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 11 Mar 2010 11:38:15 +0100 Subject: [PATCH 5/6] merge patch from myjoice - sv translation - advanced ui toggle button - ui appearance changes. --- coreapi/plugins/buddylookup/src/lookup.c | 2 +- gtk-glade/linphone.h | 1 + gtk-glade/main.c | 51 +-- gtk-glade/main.glade | 100 ++++-- gtk-glade/parameters.glade | 38 ++- gtk-glade/propertybox.c | 31 ++ gtk-glade/support.c | 40 +++ po/cs.po | 275 +++++++++-------- po/de.po | 285 +++++++++-------- po/es.po | 305 +++++++++--------- po/fr.po | 269 ++++++++-------- po/hu.po | 285 +++++++++-------- po/it.po | 264 ++++++++-------- po/ja.po | 305 +++++++++--------- po/nl.po | 285 +++++++++-------- po/pl.po | 305 +++++++++--------- po/pt_BR.po | 287 +++++++++-------- po/ru.po | 278 +++++++++-------- po/sv.po | 375 ++++++++++++----------- po/zh_CN.po | 269 ++++++++-------- 20 files changed, 2203 insertions(+), 1847 deletions(-) diff --git a/coreapi/plugins/buddylookup/src/lookup.c b/coreapi/plugins/buddylookup/src/lookup.c index ff6ef8b52..48a8d3bb2 100644 --- a/coreapi/plugins/buddylookup/src/lookup.c +++ b/coreapi/plugins/buddylookup/src/lookup.c @@ -193,7 +193,7 @@ static int lookup_buddy(SipSetupContext *ctx, BLReq *req){ LpConfig *config=linphone_core_get_config(lc); const char *identity=linphone_proxy_config_get_identity(cfg); const char *url=lp_config_get_string(config,"BuddyLookup","url",NULL); - LinphoneAuthInfo *aa; + const LinphoneAuthInfo *aa; SoupMessage *sm; LinphoneAddress *from; diff --git a/gtk-glade/linphone.h b/gtk-glade/linphone.h index d7185c9e1..b6dcd5df1 100644 --- a/gtk-glade/linphone.h +++ b/gtk-glade/linphone.h @@ -70,6 +70,7 @@ void linphone_gtk_buddy_info_updated(LinphoneCore *lc, LinphoneFriend *lf); const gchar *linphone_gtk_get_ui_config(const char *key, const char *def); int linphone_gtk_get_ui_config_int(const char *key, int def); void linphone_gtk_set_ui_config_int(const char *key , int val); +void linphone_gtk_visibility_set(const char *hiddens, const char *window_name, GtkWidget *w, gboolean show); void linphone_gtk_open_browser(const char *url); void linphone_gtk_check_for_new_version(void); diff --git a/gtk-glade/main.c b/gtk-glade/main.c index 75b454c26..22062fac0 100644 --- a/gtk-glade/main.c +++ b/gtk-glade/main.c @@ -224,46 +224,6 @@ GtkWidget *linphone_gtk_get_main_window(){ return the_ui; } -static void parse_item(const char *item, const char *window_name, GtkWidget *w, gboolean show){ - char tmp[64]; - char *dot; - strcpy(tmp,item); - dot=strchr(tmp,'.'); - if (dot){ - *dot='\0'; - dot++; - if (strcmp(window_name,tmp)==0){ - GtkWidget *wd=linphone_gtk_get_widget(w,dot); - if (wd) { - if (!show) gtk_widget_hide(wd); - else gtk_widget_show(wd); - } - } - } -} - -static void parse_widgets(const char *hiddens, const char *window_name, GtkWidget *w, gboolean show){ - char item[64]; - const char *i; - const char *b; - int len; - for(b=i=hiddens;*i!='\0';++i){ - if (*i==' '){ - len=MIN(i-b,sizeof(item)-1); - strncpy(item,b,len); - item[len]='\0'; - b=i+1; - parse_item(item,window_name,w,show); - } - } - len=MIN(i-b,sizeof(item)-1); - if (len>0){ - strncpy(item,b,len); - item[len]='\0'; - parse_item(item,window_name,w,show); - } -} - static void linphone_gtk_configure_window(GtkWidget *w, const char *window_name){ static const char *icon_path=NULL; static const char *hiddens=NULL; @@ -277,9 +237,9 @@ static void linphone_gtk_configure_window(GtkWidget *w, const char *window_name) config_loaded=TRUE; } if (hiddens) - parse_widgets(hiddens,window_name,w,FALSE); + linphone_gtk_visibility_set(hiddens,window_name,w,FALSE); if (shown) - parse_widgets(shown,window_name,w,TRUE); + linphone_gtk_visibility_set(shown,window_name,w,TRUE); if (icon_path) { GdkPixbuf *pbuf=create_pixbuf(icon_path); gtk_window_set_icon(GTK_WINDOW(w),pbuf); @@ -1075,6 +1035,7 @@ static void linphone_gtk_configure_main_window(){ static const char *home; static const char *start_call_icon; static const char *stop_call_icon; + static const char *search_icon; static gboolean update_check_menu; GtkWidget *w=linphone_gtk_get_main_window(); if (!config_loaded){ @@ -1082,6 +1043,7 @@ static void linphone_gtk_configure_main_window(){ home=linphone_gtk_get_ui_config("home","http://www.linphone.org"); start_call_icon=linphone_gtk_get_ui_config("start_call_icon","green.png"); stop_call_icon=linphone_gtk_get_ui_config("stop_call_icon","red.png"); + search_icon=linphone_gtk_get_ui_config("directory_search_icon",NULL); update_check_menu=linphone_gtk_get_ui_config_int("update_check_menu",0); config_loaded=TRUE; } @@ -1103,6 +1065,11 @@ static void linphone_gtk_configure_main_window(){ gtk_image_set_from_pixbuf(GTK_IMAGE(linphone_gtk_get_widget(w,"in_call_terminate_icon")),pbuf); g_object_unref(G_OBJECT(pbuf)); } + if (search_icon){ + GdkPixbuf *pbuf=create_pixbuf(search_icon); + gtk_image_set_from_pixbuf(GTK_IMAGE(linphone_gtk_get_widget(w,"directory_search_button_icon")),pbuf); + g_object_unref(G_OBJECT(pbuf)); + } if (home){ gchar *tmp; GtkWidget *menu_item=linphone_gtk_get_widget(w,"home_item"); diff --git a/gtk-glade/main.glade b/gtk-glade/main.glade index ad7445e28..62d730f31 100644 --- a/gtk-glade/main.glade +++ b/gtk-glade/main.glade @@ -50,7 +50,7 @@ - Call history + Call history True False @@ -153,7 +153,7 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Show debug messages + Show debug messages True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK False @@ -178,7 +178,7 @@ - Homepage + Homepage True False @@ -234,7 +234,7 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True Start call - half + none @@ -275,6 +275,8 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 5 + 5 True @@ -320,7 +322,7 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True Terminate call - half + none @@ -380,6 +382,7 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK 12 + 12 True @@ -467,42 +470,80 @@ Online users - + + True + 0 + none - + True - True - - gtk-find - True - True - - - - + + + True + True + + + + + + + + 0 + + + + + True + True + True + none + + + + True + + + True + gtk-find + + + 0 + + + + + True + Search + + + 1 + + + + + + + False + 1 + + - - 0 - - - gtk-find + True - True - True - True - + <b>Add contacts from directory</b> + True - False - 1 + label_item False False + 5 2 @@ -977,7 +1018,6 @@ Fiber Channel True gtk-go-forward - 4 0 @@ -1020,6 +1060,7 @@ Fiber Channel True 12 + 12 True @@ -1256,6 +1297,7 @@ Fiber Channel True 12 + 12 True @@ -1369,7 +1411,7 @@ Fiber Channel True - gtk-connect + gtk-connect True True True diff --git a/gtk-glade/parameters.glade b/gtk-glade/parameters.glade index 56d02a486..14e07514f 100644 --- a/gtk-glade/parameters.glade +++ b/gtk-glade/parameters.glade @@ -108,6 +108,7 @@ + False 0 @@ -219,6 +220,7 @@ + False 1 @@ -373,6 +375,7 @@ + False 2 @@ -1546,7 +1549,40 @@ Video codecs - + + True + 0 + + + True + 12 + + + Show advanced settings + True + True + False + True + + + + + + + + True + <b>Level</b> + True + + + label_item + + + + + False + 1 + diff --git a/gtk-glade/propertybox.c b/gtk-glade/propertybox.c index cbc7b5c73..eb264bc7f 100644 --- a/gtk-glade/propertybox.c +++ b/gtk-glade/propertybox.c @@ -700,6 +700,28 @@ void linphone_gtk_lang_changed(GtkComboBox *combo){ } } +static void linphone_gtk_ui_level_adapt(GtkWidget *top) { + gboolean ui_advanced; + const char *simple_ui = linphone_gtk_get_ui_config("simple_ui", "parameters.codec_tab parameters.transport_frame parameters.ports_frame"); + + ui_advanced = linphone_gtk_get_ui_config_int("advanced_ui", TRUE); + if (ui_advanced) { + linphone_gtk_visibility_set(simple_ui, "parameters", top, TRUE); + } else { + linphone_gtk_visibility_set(simple_ui, "parameters", top, FALSE); + } +} + +void linphone_gtk_ui_level_toggled(GtkWidget *w) { + gint ui_advanced; + GtkWidget *top; + + top = gtk_widget_get_toplevel(w); + ui_advanced = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w)); + linphone_gtk_set_ui_config_int("advanced_ui", ui_advanced); + linphone_gtk_ui_level_adapt(top); +} + void linphone_gtk_show_parameters(void){ GtkWidget *pb=linphone_gtk_create_window("parameters"); LinphoneCore *lc=linphone_gtk_get_core(); @@ -709,6 +731,8 @@ void linphone_gtk_show_parameters(void){ LinphoneFirewallPolicy pol; GtkWidget *codec_list=linphone_gtk_get_widget(pb,"codec_list"); int mtu; + int ui_advanced; + /* NETWORK CONFIG */ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(pb,"ipv6_enabled")), linphone_core_ipv6_enabled(lc)); @@ -779,6 +803,13 @@ void linphone_gtk_show_parameters(void){ gtk_spin_button_set_value(GTK_SPIN_BUTTON(linphone_gtk_get_widget(pb,"upload_bw")), linphone_core_get_upload_bandwidth(lc)); + /* UI CONFIG */ linphone_gtk_fill_langs(pb); + ui_advanced = linphone_gtk_get_ui_config_int("advanced_ui", 1); + linphone_gtk_set_ui_config_int("advanced_ui", ui_advanced); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(linphone_gtk_get_widget(pb,"ui_level")), + ui_advanced); + linphone_gtk_ui_level_adapt(pb); + gtk_widget_show(pb); } diff --git a/gtk-glade/support.c b/gtk-glade/support.c index 3600205a8..3e3320c4f 100644 --- a/gtk-glade/support.c +++ b/gtk-glade/support.c @@ -193,3 +193,43 @@ void linphone_gtk_set_ui_config_int(const char *key , int val){ } +static void parse_item(const char *item, const char *window_name, GtkWidget *w, gboolean show){ + char tmp[64]; + char *dot; + strcpy(tmp,item); + dot=strchr(tmp,'.'); + if (dot){ + *dot='\0'; + dot++; + if (strcmp(window_name,tmp)==0){ + GtkWidget *wd=linphone_gtk_get_widget(w,dot); + if (wd) { + if (!show) gtk_widget_hide(wd); + else gtk_widget_show(wd); + } + } + } +} + +void linphone_gtk_visibility_set(const char *hiddens, const char *window_name, GtkWidget *w, gboolean show){ + char item[64]; + const char *i; + const char *b; + int len; + for(b=i=hiddens;*i!='\0';++i){ + if (*i==' '){ + len=MIN(i-b,sizeof(item)-1); + strncpy(item,b,len); + item[len]='\0'; + b=i+1; + parse_item(item,window_name,w,show); + } + } + len=MIN(i-b,sizeof(item)-1); + if (len>0){ + strncpy(item,b,len); + item[len]='\0'; + parse_item(item,window_name,w,show); + } +} + diff --git a/po/cs.po b/po/cs.po index 7cc7a59ae..d8e6ca5dd 100644 --- a/po/cs.po +++ b/po/cs.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-3.2.0-r659\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2009-09-21 21:44+0200\n" "Last-Translator: Petr Pisar \n" "Language-Team: Czech \n" @@ -52,17 +52,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "Diskuze s %s" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "Příchozí hovor od %s" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -75,27 +75,27 @@ msgstr "" "do svého adresáře?\n" "Odpovíte-li ne, tato osobo bude dočasně blokována." -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, fuzzy, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "Prosím, zadejte svoje heslo pro doménu %s:" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "Lipnhone – internetový videofon" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "%s (Výchozí)" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "Volný SIP videofon" @@ -375,7 +375,7 @@ msgstr "Hovor skončil." msgid "Unmute" msgstr "Neomezená" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "Ztlumit" @@ -433,22 +433,27 @@ msgid "9" msgstr "9" #: ../gtk-glade/main.glade.h:13 +#, fuzzy +msgid "Add contacts from directory" +msgstr "Přidat nový kontakt z adresáře %s" + +#: ../gtk-glade/main.glade.h:14 msgid "Contact list" msgstr "Seznam kontaktů" -#: ../gtk-glade/main.glade.h:14 +#: ../gtk-glade/main.glade.h:15 msgid "Terminate call" msgstr "Ukončit hovor" -#: ../gtk-glade/main.glade.h:15 +#: ../gtk-glade/main.glade.h:16 msgid "Welcome !" msgstr "Vítejte!" -#: ../gtk-glade/main.glade.h:16 +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "A" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" @@ -456,7 +461,7 @@ msgstr "" "ADSL\n" "Fiber Channel" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" @@ -464,133 +469,143 @@ msgstr "" "všech uživatelích\n" "připojených uživatelích" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "Průvodce" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 msgid "Audio & Video" msgstr "Zvuk i obraz" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 msgid "Audio only" msgstr "Pouze zvuk" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 #, fuzzy msgid "Automatically log me in" msgstr "Automaticky uhodnout platné jméno" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "B" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "C" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" +msgstr "Historie volání" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "D" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "Výchozí" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "Číslice" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 msgid "Duration" msgstr "Délka" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 msgid "Duration:" msgstr "Délka:" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 msgid "Enable self-view" msgstr "Zobrazovat sám sebe" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "Zadejte uživatelské jméno, telefonní číslo nebo plnou sipovou adresu" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "Domovská stránka" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "Telefonuje se" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "Připojení k Internetu:" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 msgid "Login information" msgstr "Informace o přihlášení" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "Hledat:" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "Hlavní zobrazení" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 msgid "My current identity:" msgstr "Moje současná totožnost:" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 msgid "Password" msgstr "Heslo" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 msgid "SIP address or phone number:" msgstr "SIP adresa nebo telefonní číslo:" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +#, fuzzy +msgid "Search" +msgstr "Hledat:" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "Zobrazit současný hovor" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +#, fuzzy +msgid "Show debug messages" +msgstr "Zobrazit ladicí okno" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "Zahájit hovor" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "Ukončit hovor" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 msgid "Username" msgstr "Uživatelské jméno" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 msgid "_Linphone" msgstr "_Linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 msgid "_Modes" msgstr "Reži_my" -#: ../gtk-glade/main.glade.h:50 -msgid "gtk-connect" -msgstr "" - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "ve" # XXX: Dummy string. Make it not translatable or use real message -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "" @@ -686,10 +701,6 @@ msgstr "Prosím, zadejte heslo pro doménu" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "Historie volání" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "Nastavit SIP účet" @@ -775,42 +786,47 @@ msgid "Language" msgstr "Jazyk" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Jazyk" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "NAT a firewall" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 msgid "Ports" msgstr "Porty" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "Soukromí" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 msgid "Proxy accounts" msgstr "Proxy účty" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 msgid "Transport" msgstr "Přenos" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "Obraz" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "Zvláštní ALSA zařízení (volitelné):" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "Přidat" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "Zvukový RTP/UDP:" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 msgid "" "Audio codecs\n" "Video codecs" @@ -818,83 +834,83 @@ msgstr "" "Kodeky zvuku\n" "Kodeky obrazu" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "Za NAT/firewallem (adresu brány zadejte níže)" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "Za NAT/firewallem (adresu určí STUN)" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "CIF" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 msgid "Capture device:" msgstr "Zařízení pro nahrávání:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 msgid "Codecs" msgstr "Kodeky" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "Přímé připojení do Internetu" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Zakázat" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 msgid "Done" msgstr "Hotovo" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "Omezení příchozí rychlosti (kb/s):" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Upravit" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Povolit" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "Zapnout potlačení ozvěny" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "Vymazat všechna hesla" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "Nastavení SIP účtů" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "Nastavení multimédií" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 msgid "Network settings" msgstr "Nastavení sítě" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 msgid "Playback device:" msgstr "Zařízení pro přehrávání:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "Upřednostňované rozlišení obrazu:" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 msgid "Public IP address:" msgstr "Veřejná IP adresa:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" @@ -902,99 +918,103 @@ msgstr "" "Zaregistrovat se do\n" "virtuální sítě FONICS!" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Odstranit" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 msgid "Ring device:" msgstr "Zařízení pro vyzvánění:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 msgid "Ring sound:" msgstr "Vyzvánění:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "SIP (UDP):" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "Odesílat tóny DTMF jako SIP INFO zprávy" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "Nastavit MTU (největší přenositelná zpráva):" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "Nastavení" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 msgid "Stun server:" msgstr "STUN server:" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "Tento oddíl určuje vaši SIP adresu, když se nepoužívá žádný účet" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "Omezení odchozí rychlosti (kb/s):" -#: ../gtk-glade/parameters.glade.h:50 +#: ../gtk-glade/parameters.glade.h:52 msgid "Use IPv6 instead of IPv4" msgstr "Používat IPv6 místo IPv4" -#: ../gtk-glade/parameters.glade.h:51 +#: ../gtk-glade/parameters.glade.h:53 msgid "User interface" msgstr "Uživatelské rozhraní" -#: ../gtk-glade/parameters.glade.h:52 +#: ../gtk-glade/parameters.glade.h:54 msgid "Video RTP/UDP:" msgstr "Obrazový RTP/UDP:" -#: ../gtk-glade/parameters.glade.h:53 +#: ../gtk-glade/parameters.glade.h:55 msgid "Video input device:" msgstr "Vstupní zařízení obrazu:" -#: ../gtk-glade/parameters.glade.h:54 +#: ../gtk-glade/parameters.glade.h:56 msgid "Your display name (eg: John Doe):" msgstr "Vaše zobrazované jméno (např. Jan Novák):" -#: ../gtk-glade/parameters.glade.h:55 +#: ../gtk-glade/parameters.glade.h:57 msgid "Your resulting SIP address:" msgstr "Vaše výsledná SIP adresa:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 msgid "Your username:" msgstr "Vaše uživatelské jméno:" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "zvuková karta\n" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "implicitní kamera" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "implicitní zvuková karta" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "implicitní zvuková karta\n" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1069,50 +1089,50 @@ msgstr "" msgid "Ready" msgstr "Připraven." -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "Vzdálený konec se asi odpojil, hovor bude ukončen." -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Vyhledává se umístění čísla…" -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "Toto číslo nelze vyhledat." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" msgstr "" "Špatně zadaná SIP adresa. Adresa má mít tento formát " -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "Promiňte, vedení více současných hovorů není podporováno!" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "Kontaktuji" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "Nelze volat." -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Připojeno." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "Hovor skončil." -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "Žádná adresa NATu/firewallu nebyla zadána!" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "Neplatná adresa NATu '%s': '%s" @@ -1410,7 +1430,7 @@ msgstr "měnič frekvence" msgid "RTP output filter" msgstr "Filtr RTP výstupu" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "Filtr RTP vstupu" @@ -1559,7 +1579,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "Dekodér MPEG používající knihovnu ffmpeg" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "Obecné zobrazování videa" @@ -1599,12 +1619,6 @@ msgstr "Snímač kamer postavený na directshow." #~ msgid "Bresilian" #~ msgstr "brazilská portugalština" -#~ msgid "Homepage" -#~ msgstr "Domovská stránka" - -#~ msgid "Show debug window" -#~ msgstr "Zobrazit ladicí okno" - #~ msgid "_View" #~ msgstr "_Zobrazit" @@ -1624,9 +1638,6 @@ msgstr "Snímač kamer postavený na directshow." #~ "Zobrazovat vše\n" #~ "Zobrazovat připojené" -#~ msgid "Search:" -#~ msgstr "Hledat:" - #~ msgid "Display filters" #~ msgstr "Filtry pro zobrazení" diff --git a/po/de.po b/po/de.po index 9f25ad41b..d2f97c24d 100644 --- a/po/de.po +++ b/po/de.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone 0.7.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2003-05-23 17:51-0400\n" "Last-Translator: Jean-Jacques Sarton , Ursula Herles-" "Hartz \n" @@ -48,17 +48,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "Chat mit %s" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, fuzzy, c-format msgid "Incoming call from %s" msgstr "Eingehendes Gespr�h" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -67,27 +67,27 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "Ein freies SIP Video-Fone" @@ -370,7 +370,7 @@ msgstr "Anruf beendet" msgid "Unmute" msgstr "Unbegrenzt" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" @@ -429,176 +429,189 @@ msgstr "" #: ../gtk-glade/main.glade.h:13 #, fuzzy -msgid "Contact list" -msgstr "Kontaktliste" +msgid "Add contacts from directory" +msgstr "Kontaktinformationen" #: ../gtk-glade/main.glade.h:14 #, fuzzy -msgid "Terminate call" +msgid "Contact list" msgstr "Kontaktliste" #: ../gtk-glade/main.glade.h:15 #, fuzzy -msgid "Welcome !" +msgid "Terminate call" msgstr "Kontaktliste" #: ../gtk-glade/main.glade.h:16 +#, fuzzy +msgid "Welcome !" +msgstr "Kontaktliste" + +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" msgstr "" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 #, fuzzy msgid "Audio & Video" msgstr "Eigenschaften des Audiocodecs" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 #, fuzzy msgid "Audio only" msgstr "Audio" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 #, fuzzy msgid "Automatically log me in" msgstr "Automatisch einen gültigen Hostnamen erraten" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +#, fuzzy +msgid "Call history" +msgstr "Linphone - Gesprächsverlauf" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 #, fuzzy msgid "Duration" msgstr "Information" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 #, fuzzy msgid "Duration:" msgstr "Information" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 #, fuzzy msgid "Enable self-view" msgstr "Video einschalten" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 #, fuzzy msgid "In call" msgstr "Eingehendes Gespr�h" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "Kontaktinformationen" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 #, fuzzy msgid "My current identity:" msgstr "SIP Identität" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "Passwort" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 #, fuzzy msgid "SIP address or phone number:" msgstr "Sip-Adresse oder Telefonnummer eingeben." -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 #, fuzzy msgid "Show current call" msgstr "Konnte kein Anruf vornehmen" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "Benutzername:" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 #, fuzzy msgid "_Linphone" msgstr "Linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 #, fuzzy msgid "_Modes" msgstr "Codecs" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "Verbunden." - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 #, fuzzy msgid "label" msgstr "label37" @@ -687,11 +700,6 @@ msgstr "" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -#, fuzzy -msgid "Call history" -msgstr "Linphone - Gesprächsverlauf" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "" @@ -787,241 +795,250 @@ msgid "Language" msgstr "" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Kontaktliste" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 #, fuzzy msgid "Ports" msgstr "Kontaktliste" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 #, fuzzy msgid "Proxy accounts" msgstr "Kontaktliste" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 #, fuzzy msgid "Transport" msgstr "Kontaktliste" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "Hinzufgen" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 #, fuzzy msgid "" "Audio codecs\n" "Video codecs" msgstr "Audio und Video Codecs" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 #, fuzzy msgid "Capture device:" msgstr "Audio Aufnahmegerät:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 #, fuzzy msgid "Codecs" msgstr "Codecs" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Sperren" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 #, fuzzy msgid "Done" msgstr "Gegangen" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 #, fuzzy msgid "Download speed limit in Kbit/sec:" msgstr "Download-Bandbreite (kbit/sec):" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Bearbeiten" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Freigeben" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 #, fuzzy msgid "Network settings" msgstr "Netzwerk" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 #, fuzzy msgid "Playback device:" msgstr "Ton Wiedergabegerät:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 #, fuzzy msgid "Public IP address:" msgstr "Sip-Adresse:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" msgstr "" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Entfernen" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 #, fuzzy msgid "Ring device:" msgstr "Klingel Wiedergabegerät:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 #, fuzzy msgid "Ring sound:" msgstr "Klingelton:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:47 -#, fuzzy -msgid "Stun server:" -msgstr "Umleitungs-Server" - #: ../gtk-glade/parameters.glade.h:48 -msgid "This section defines your SIP address when not using a SIP account" +msgid "Show advanced settings" msgstr "" #: ../gtk-glade/parameters.glade.h:49 #, fuzzy -msgid "Upload speed limit in Kbit/sec:" -msgstr "Upload-Bandbreite (kbit/sec):" +msgid "Stun server:" +msgstr "Umleitungs-Server" #: ../gtk-glade/parameters.glade.h:50 -msgid "Use IPv6 instead of IPv4" +msgid "This section defines your SIP address when not using a SIP account" msgstr "" #: ../gtk-glade/parameters.glade.h:51 #, fuzzy -msgid "User interface" -msgstr "Benutzername:" +msgid "Upload speed limit in Kbit/sec:" +msgstr "Upload-Bandbreite (kbit/sec):" #: ../gtk-glade/parameters.glade.h:52 -msgid "Video RTP/UDP:" +msgid "Use IPv6 instead of IPv4" msgstr "" #: ../gtk-glade/parameters.glade.h:53 #, fuzzy -msgid "Video input device:" -msgstr "Audiogerät" +msgid "User interface" +msgstr "Benutzername:" #: ../gtk-glade/parameters.glade.h:54 -msgid "Your display name (eg: John Doe):" +msgid "Video RTP/UDP:" msgstr "" #: ../gtk-glade/parameters.glade.h:55 #, fuzzy +msgid "Video input device:" +msgstr "Audiogerät" + +#: ../gtk-glade/parameters.glade.h:56 +msgid "Your display name (eg: John Doe):" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:57 +#, fuzzy msgid "Your resulting SIP address:" msgstr "Ihre Sip-Adresse:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 #, fuzzy msgid "Your username:" msgstr "Benutzername:" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1095,19 +1112,19 @@ msgstr "" msgid "Ready" msgstr "Bereit" -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "" -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Suche Telefonnummernziel.." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "Konnte dies Nummer nicht auflösen." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" @@ -1115,31 +1132,31 @@ msgstr "" "Sip-Adresse kann nicht bestimmt werden. Eine Sip-Adresse hat folgenden " "Aufbau " -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "Mehrfachen gleichzeitigen Anrufen nicht unterstützt !" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "Rufe an" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "Konnte kein Anruf vornehmen" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Verbunden." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "Anruf beendet" -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "Keine Nat/Firewall Adresse vorgegeben !" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "Ungültige NAT Adresse '%s' : '%s'" @@ -1440,7 +1457,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1574,7 +1591,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1606,6 +1623,10 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "Verbunden." + #, fuzzy #~ msgid "SIP address" #~ msgstr "Adresse" diff --git a/po/es.po b/po/es.po index c064cc32e..c270f17e3 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Linphone 0.9.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2002-10-15 HO:MI+ZONE\n" "Last-Translator: Nelson Benitez \n" "Language-Team: es \n" @@ -48,17 +48,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, c-format msgid "Call with %s" msgstr "" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -67,27 +67,27 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "" @@ -369,7 +369,7 @@ msgstr "Llamada cancelada." msgid "Unmute" msgstr "" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" @@ -428,173 +428,185 @@ msgstr "9" #: ../gtk-glade/main.glade.h:13 #, fuzzy -msgid "Contact list" -msgstr "Contactando " +msgid "Add contacts from directory" +msgstr "Informacion de codec" #: ../gtk-glade/main.glade.h:14 #, fuzzy -msgid "Terminate call" +msgid "Contact list" msgstr "Contactando " #: ../gtk-glade/main.glade.h:15 #, fuzzy -msgid "Welcome !" +msgid "Terminate call" msgstr "Contactando " #: ../gtk-glade/main.glade.h:16 +#, fuzzy +msgid "Welcome !" +msgstr "Contactando " + +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" msgstr "" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 #, fuzzy msgid "Audio & Video" msgstr "Propiedades del codec de Audio" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 #, fuzzy msgid "Audio only" msgstr "Propiedades del codec de Audio" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 msgid "Automatically log me in" msgstr "" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 -msgid "Check for updates" -msgstr "" - -#: ../gtk-glade/main.glade.h:28 -msgid "D" +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" msgstr "" #: ../gtk-glade/main.glade.h:29 -msgid "Default" +msgid "Check for updates" msgstr "" #: ../gtk-glade/main.glade.h:30 -msgid "Digits" +msgid "D" msgstr "" #: ../gtk-glade/main.glade.h:31 +msgid "Default" +msgstr "" + +#: ../gtk-glade/main.glade.h:32 +msgid "Digits" +msgstr "" + +#: ../gtk-glade/main.glade.h:33 #, fuzzy msgid "Duration" msgstr "Informacion" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 #, fuzzy msgid "Duration:" msgstr "Informacion" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 #, fuzzy msgid "Enable self-view" msgstr "Activado" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "Informacion de codec" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 #, fuzzy msgid "My current identity:" msgstr "Identidad" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "Tu Contraseña:" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 #, fuzzy msgid "SIP address or phone number:" msgstr "La direccion SIP del servidor de registro." -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "Manual de Usuario" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 #, fuzzy msgid "_Linphone" msgstr "linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 #, fuzzy msgid "_Modes" msgstr "Codecs" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "Conectado." - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "" @@ -681,10 +693,6 @@ msgstr "" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "" @@ -778,238 +786,247 @@ msgid "Language" msgstr "" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Contactando " + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 #, fuzzy msgid "Ports" msgstr "Contactando " -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 #, fuzzy msgid "Proxy accounts" msgstr "Contactando " -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 #, fuzzy msgid "Transport" msgstr "Contactando " -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "Añadir" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 #, fuzzy msgid "" "Audio codecs\n" "Video codecs" msgstr "Propiedades del codec de Audio" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 #, fuzzy msgid "Capture device:" msgstr "Usar dispositivo de sonido:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 #, fuzzy msgid "Codecs" msgstr "Codecs" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Desactivado" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 #, fuzzy msgid "Done" msgstr "Ninguno." -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Activado" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 #, fuzzy msgid "Network settings" msgstr "Red" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 #, fuzzy msgid "Playback device:" msgstr "Usar dispositivo de sonido:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 #, fuzzy msgid "Public IP address:" msgstr "Direccion SIP" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" msgstr "" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Borrar" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 #, fuzzy msgid "Ring device:" msgstr "Usar dispositivo de sonido:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 #, fuzzy msgid "Ring sound:" msgstr "Fuente de grabacion:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 #, fuzzy msgid "Stun server:" msgstr "Servidor de Redireccionamiento" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "" -#: ../gtk-glade/parameters.glade.h:50 -msgid "Use IPv6 instead of IPv4" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:51 -#, fuzzy -msgid "User interface" -msgstr "Manual de Usuario" - #: ../gtk-glade/parameters.glade.h:52 -msgid "Video RTP/UDP:" +msgid "Use IPv6 instead of IPv4" msgstr "" #: ../gtk-glade/parameters.glade.h:53 #, fuzzy -msgid "Video input device:" -msgstr "Usar dispositivo de sonido:" +msgid "User interface" +msgstr "Manual de Usuario" #: ../gtk-glade/parameters.glade.h:54 -msgid "Your display name (eg: John Doe):" +msgid "Video RTP/UDP:" msgstr "" #: ../gtk-glade/parameters.glade.h:55 #, fuzzy -msgid "Your resulting SIP address:" -msgstr "Tu direccion SIP:" +msgid "Video input device:" +msgstr "Usar dispositivo de sonido:" #: ../gtk-glade/parameters.glade.h:56 -msgid "Your username:" +msgid "Your display name (eg: John Doe):" msgstr "" #: ../gtk-glade/parameters.glade.h:57 -msgid "a sound card\n" +#, fuzzy +msgid "Your resulting SIP address:" +msgstr "Tu direccion SIP:" + +#: ../gtk-glade/parameters.glade.h:58 +msgid "Your username:" msgstr "" #: ../gtk-glade/parameters.glade.h:59 -msgid "default camera" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:60 -msgid "default soundcard" +msgid "a sound card\n" msgstr "" #: ../gtk-glade/parameters.glade.h:61 -msgid "default soundcard\n" +msgid "default camera" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:62 +msgid "default soundcard" msgstr "" #: ../gtk-glade/parameters.glade.h:63 -msgid "gtk-go-down" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:64 -msgid "gtk-go-up" +msgid "default soundcard\n" msgstr "" #: ../gtk-glade/parameters.glade.h:65 +msgid "gtk-go-down" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:66 +msgid "gtk-go-up" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1078,19 +1095,19 @@ msgstr "" msgid "Ready" msgstr "Preparado." -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "" -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "" -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 #, fuzzy msgid "" "Could not parse given sip address. A sip url usually looks like sip:" @@ -1098,33 +1115,33 @@ msgid "" msgstr "" "Direccion SIP mal escrita. Una direccion SIP es " -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 #, fuzzy msgid "Contacting" msgstr "Contactando " -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Conectado." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 #, fuzzy msgid "Call ended" msgstr "Llamada cancelada." -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "" @@ -1426,7 +1443,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1560,7 +1577,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1592,6 +1609,10 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "Conectado." + #, fuzzy #~ msgid "SIP address" #~ msgstr "Direccion" diff --git a/po/fr.po b/po/fr.po index 52cbbdd95..d03ad72b5 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Linphone 0.9.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2002-12-06 17:33+0100\n" "Last-Translator: Simon Morlat \n" "Language-Team: french \n" @@ -47,17 +47,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "Chat avec %s" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "Appel entrant de %s" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -66,27 +66,27 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, fuzzy, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "Entrez votre mot de passe pour le domaine %s" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "Linphone - un téléphone video pour l'internet" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "%s (par défaut)" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "Un visiophone libre" @@ -367,7 +367,7 @@ msgstr "Appel terminé." msgid "Unmute" msgstr "" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" @@ -425,29 +425,34 @@ msgid "9" msgstr "" #: ../gtk-glade/main.glade.h:13 +#, fuzzy +msgid "Add contacts from directory" +msgstr "Ajouter un contact depuis l'annuaire %s" + +#: ../gtk-glade/main.glade.h:14 msgid "Contact list" msgstr "List de contacts" -#: ../gtk-glade/main.glade.h:14 +#: ../gtk-glade/main.glade.h:15 msgid "Terminate call" msgstr "Raccrocher" -#: ../gtk-glade/main.glade.h:15 +#: ../gtk-glade/main.glade.h:16 #, fuzzy msgid "Welcome !" msgstr "Rechercher une personne" -#: ../gtk-glade/main.glade.h:16 +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" @@ -455,136 +460,143 @@ msgstr "" "Tous\n" "En ligne" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 msgid "Audio & Video" msgstr "Audio et video" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 msgid "Audio only" msgstr "Audio seul" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 msgid "Automatically log me in" msgstr "" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" +msgstr "Historique des appels" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "Par défaut" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 msgid "Duration" msgstr "Durée" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 msgid "Duration:" msgstr "Durée:" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 msgid "Enable self-view" msgstr "Se voir" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "" "Entrez un nom d'utilisateur, un numéro de téléphone, ou une addresse SIP" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "Appel en cours" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "Information sur le contact" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "Rechercher:" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "Vue principale" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 msgid "My current identity:" msgstr "Mon identité sip :" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "Mot de passe:" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 msgid "SIP address or phone number:" msgstr "Addresse SIP ou numéro" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "Voir l'appel en cours" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "Démarrer l'appel" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "Raccrocher" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "Nom d'utilisateur:" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 msgid "_Linphone" msgstr "_Linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 msgid "_Modes" msgstr "_Modes" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "Connecté" - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "dans" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "" @@ -668,10 +680,6 @@ msgstr "Entrez votre mot de passe pour le domaine" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "Historique des appels" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "Configuer un compte SIP" @@ -758,42 +766,47 @@ msgid "Language" msgstr "Usage de l'IPv6" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Usage de l'IPv6" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "Paramètres liés au pare-feu" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 msgid "Ports" msgstr "Ports utilisés" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "Sécurité" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 msgid "Proxy accounts" msgstr "Comptes SIP via des proxy" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 msgid "Transport" msgstr "Transport" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "Ajouter" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 msgid "" "Audio codecs\n" "Video codecs" @@ -801,183 +814,187 @@ msgstr "" "Codecs audio\n" "Codecs video" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "Derrière un pare-feu (spécifier la passerelle ci dessous)" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "Derrière un pare-feu (utiliser STUN)" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 msgid "Capture device:" msgstr "Périphérique de capture:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 msgid "Codecs" msgstr "" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "Connection directe à l'Internet" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Désactive" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 msgid "Done" msgstr "Fermer" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "Limite de débit descendant en kbits/sec:" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Editer" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Active" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "Activer l'annulation d'écho" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "Effacer tous les mots de passe" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "Gérer mes comptes SIP" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "Paramètres multimedia" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 msgid "Network settings" msgstr "Paramètres réseau" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 msgid "Playback device:" msgstr "Périphérique d'écoute:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "Résolution video préférée:" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 msgid "Public IP address:" msgstr "Addresse IP publique:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" msgstr "" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Enlever" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 msgid "Ring device:" msgstr "Périphérique de sonnerie:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 msgid "Ring sound:" msgstr "Sonnerie:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "Envoyer les digits en tant que SIP INFO" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "Spécifier la Maximum Transmission Unit" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 msgid "Stun server:" msgstr "Serveur STUN:" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "" "Cette rubrique permet de définir son addresse SIP lorsqu'on ne possède pas " "de compte SIP" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "Limite de débit montant en kbits/sec:" -#: ../gtk-glade/parameters.glade.h:50 +#: ../gtk-glade/parameters.glade.h:52 msgid "Use IPv6 instead of IPv4" msgstr "Utiliser l'IPv6 au lieu d'IPv4" -#: ../gtk-glade/parameters.glade.h:51 +#: ../gtk-glade/parameters.glade.h:53 msgid "User interface" msgstr "Interface utilisateur" -#: ../gtk-glade/parameters.glade.h:52 +#: ../gtk-glade/parameters.glade.h:54 msgid "Video RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:53 +#: ../gtk-glade/parameters.glade.h:55 msgid "Video input device:" msgstr "Périphérique d'entrée video" -#: ../gtk-glade/parameters.glade.h:54 +#: ../gtk-glade/parameters.glade.h:56 msgid "Your display name (eg: John Doe):" msgstr "Votre nom d'affichage (ex: James Bond)" -#: ../gtk-glade/parameters.glade.h:55 +#: ../gtk-glade/parameters.glade.h:57 msgid "Your resulting SIP address:" msgstr "Votre addresse SIP:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 msgid "Your username:" msgstr "Votre nom d'utilisateur" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "une carte son\n" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "camera par défaut" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "Carte son par défaut" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "Carte son par défaut\n" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1052,50 +1069,50 @@ msgstr "" msgid "Ready" msgstr "Prêt." -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "Votre correspondant a du se déconnecter, l'appel va être raccroché." -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Recherche de la destination du numéro de téléphone..." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "La destination n'a pu être trouvée." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" msgstr "" "Adresse SIP mal formulée. Une address sip ressemble à " -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "Désolé, vous ne pouvez appeler plusieurs personnes simultanément !" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "Appel de" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "Echec" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "En ligne." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "Appel terminé." -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "Pas d'addresse NAT fournie" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "Adresse nat invalide '%s' : %s" @@ -1389,7 +1406,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1523,7 +1540,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1555,5 +1572,9 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "Connecté" + #~ msgid "SIP address" #~ msgstr "Adresse SIP" diff --git a/po/hu.po b/po/hu.po index a5da811c5..e4650f2c2 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2007-12-14 11:12+0100\n" "Last-Translator: \n" "Language-Team: LANGUAGE \n" @@ -48,17 +48,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "Chat-elés %s -el" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, fuzzy, c-format msgid "Incoming call from %s" msgstr "Beérkező hívás" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -67,27 +67,27 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "Egy ingyenes SIP video-telefon" @@ -370,7 +370,7 @@ msgstr "Hívás vége" msgid "Unmute" msgstr "Korlátlan" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" @@ -429,176 +429,189 @@ msgstr "" #: ../gtk-glade/main.glade.h:13 #, fuzzy -msgid "Contact list" -msgstr "Kapcsolatilista" +msgid "Add contacts from directory" +msgstr "Kapcsolatiinformáció" #: ../gtk-glade/main.glade.h:14 #, fuzzy -msgid "Terminate call" +msgid "Contact list" msgstr "Kapcsolatilista" #: ../gtk-glade/main.glade.h:15 #, fuzzy -msgid "Welcome !" +msgid "Terminate call" msgstr "Kapcsolatilista" #: ../gtk-glade/main.glade.h:16 +#, fuzzy +msgid "Welcome !" +msgstr "Kapcsolatilista" + +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" msgstr "" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 #, fuzzy msgid "Audio & Video" msgstr "Audio kodekek" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 #, fuzzy msgid "Audio only" msgstr "Audio kodekek" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 #, fuzzy msgid "Automatically log me in" msgstr "Automatikus valós hostnév megállapítása" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +#, fuzzy +msgid "Call history" +msgstr "Linphone - Híváselőzmények" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 #, fuzzy msgid "Duration" msgstr "Információk" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 #, fuzzy msgid "Duration:" msgstr "Információk" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 #, fuzzy msgid "Enable self-view" msgstr "Video engedélyezés" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 #, fuzzy msgid "In call" msgstr "Beérkező hívás" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "Kapcsolatiinformáció" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 #, fuzzy msgid "My current identity:" msgstr "SIP azonosító:" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "jelszó:" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 #, fuzzy msgid "SIP address or phone number:" msgstr "Gépeld ide a sip címet vagy a telefonszámot" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 #, fuzzy msgid "Show current call" msgstr "nem sikerült hívni" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "felhasználónév:" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 #, fuzzy msgid "_Linphone" msgstr "Linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 #, fuzzy msgid "_Modes" msgstr "Kodekek" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "Kapcsolódva." - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "" @@ -685,11 +698,6 @@ msgstr "" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -#, fuzzy -msgid "Call history" -msgstr "Linphone - Híváselőzmények" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "" @@ -785,241 +793,250 @@ msgid "Language" msgstr "" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Kapcsolatilista" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 #, fuzzy msgid "Ports" msgstr "Kapcsolatilista" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 #, fuzzy msgid "Proxy accounts" msgstr "Kapcsolatilista" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 #, fuzzy msgid "Transport" msgstr "Kapcsolatilista" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 #, fuzzy msgid "" "Audio codecs\n" "Video codecs" msgstr "Audio és video kodekek" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 #, fuzzy msgid "Capture device:" msgstr "Felvevő hang eszköz:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 #, fuzzy msgid "Codecs" msgstr "Kodekek" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Tiltás" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 #, fuzzy msgid "Done" msgstr "Elveszítve" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 #, fuzzy msgid "Download speed limit in Kbit/sec:" msgstr "Letöltési sávszélesség (kbit/sec):" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Szerkesztés" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Engedélyezés" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 #, fuzzy msgid "Network settings" msgstr "Hálózat" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 #, fuzzy msgid "Playback device:" msgstr "Lejátszó hang eszköz:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 #, fuzzy msgid "Public IP address:" msgstr "Sip cím:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" msgstr "" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Eltávolítás" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 #, fuzzy msgid "Ring device:" msgstr "Csengőhang forrás:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 #, fuzzy msgid "Ring sound:" msgstr "Csengőhang:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:47 -#, fuzzy -msgid "Stun server:" -msgstr "Hang eszköz" - #: ../gtk-glade/parameters.glade.h:48 -msgid "This section defines your SIP address when not using a SIP account" +msgid "Show advanced settings" msgstr "" #: ../gtk-glade/parameters.glade.h:49 #, fuzzy -msgid "Upload speed limit in Kbit/sec:" -msgstr "Feltöltési sávszélesség (kbit/sec):" +msgid "Stun server:" +msgstr "Hang eszköz" #: ../gtk-glade/parameters.glade.h:50 -msgid "Use IPv6 instead of IPv4" +msgid "This section defines your SIP address when not using a SIP account" msgstr "" #: ../gtk-glade/parameters.glade.h:51 #, fuzzy -msgid "User interface" -msgstr "felhasználónév:" +msgid "Upload speed limit in Kbit/sec:" +msgstr "Feltöltési sávszélesség (kbit/sec):" #: ../gtk-glade/parameters.glade.h:52 -msgid "Video RTP/UDP:" +msgid "Use IPv6 instead of IPv4" msgstr "" #: ../gtk-glade/parameters.glade.h:53 #, fuzzy -msgid "Video input device:" -msgstr "Hang eszköz" +msgid "User interface" +msgstr "felhasználónév:" #: ../gtk-glade/parameters.glade.h:54 -msgid "Your display name (eg: John Doe):" +msgid "Video RTP/UDP:" msgstr "" #: ../gtk-glade/parameters.glade.h:55 #, fuzzy +msgid "Video input device:" +msgstr "Hang eszköz" + +#: ../gtk-glade/parameters.glade.h:56 +msgid "Your display name (eg: John Doe):" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:57 +#, fuzzy msgid "Your resulting SIP address:" msgstr "Saját sip cím:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 #, fuzzy msgid "Your username:" msgstr "felhasználónév:" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1094,50 +1111,50 @@ msgstr "" msgid "Ready" msgstr "Kész" -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "" -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Telefonszám-cél keresése..." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "Nem sikkerült értelmezni a számot." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" msgstr "" "Az adott szám nem értelmezhető. Egy sip cím általában így néz ki: user@domain" -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "Bocsánat, a többszörös egyidejű hívások még nem támogatottak!" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "Kapcsolódás" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "nem sikerült hívni" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Kapcsolódva." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "Hívás vége" -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "Nincs nat/tűzfal cím megadva!" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "Hibás nat cím '%s' : %s" @@ -1438,7 +1455,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1572,7 +1589,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1604,6 +1621,10 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "Kapcsolódva." + #, fuzzy #~ msgid "SIP address" #~ msgstr "Sip cím:" diff --git a/po/it.po b/po/it.po index f6a62cb7f..7ea4bf7b3 100644 --- a/po/it.po +++ b/po/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Linphone 3.2.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2002-10-15 HO:MI+ZONE\n" "Last-Translator: Matteo Piazza \n" "Language-Team: it \n" @@ -47,17 +47,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "Chat con %s" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "Chiamata proveniente da %s" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -69,27 +69,27 @@ msgstr "" "veda il tuo stato o aggiungerlo alla tua lista dei contatti Se rispondi no " "questo utente sarà momentaneamente bloccato." -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "Prego inserire la password per username %s e dominio %s" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "%s (Default)" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "" @@ -370,7 +370,7 @@ msgstr "" "Attiva\n" "microfono" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" "Chiudi\n" @@ -430,22 +430,27 @@ msgid "9" msgstr "9" #: ../gtk-glade/main.glade.h:13 +#, fuzzy +msgid "Add contacts from directory" +msgstr "Aggiungi nuovo contatto dalla directory %s" + +#: ../gtk-glade/main.glade.h:14 msgid "Contact list" msgstr "Lista contatti" -#: ../gtk-glade/main.glade.h:14 +#: ../gtk-glade/main.glade.h:15 msgid "Terminate call" msgstr "Termina chiamata" -#: ../gtk-glade/main.glade.h:15 +#: ../gtk-glade/main.glade.h:16 msgid "Welcome !" msgstr "Benvenuto !" -#: ../gtk-glade/main.glade.h:16 +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "A" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" @@ -453,7 +458,7 @@ msgstr "" "ADSL\n" "Fibra Ottica" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" @@ -461,131 +466,139 @@ msgstr "" "Tutti gli utenti\n" "Utenti Online" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "Configuratore" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 msgid "Audio & Video" msgstr "Audio & Video" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 msgid "Audio only" msgstr "Solo Audio" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 msgid "Automatically log me in" msgstr "Login Automatico" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "B" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "C" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" +msgstr "Cronologia" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "D" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "Default" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "Caratteri" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 msgid "Duration" msgstr "Durata" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 msgid "Duration:" msgstr "Durata:" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 msgid "Enable self-view" msgstr "Self-view abilitato" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "Inserisci username, numero o indirizzo sip" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "In chiamata" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "Connessione Internet:" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 msgid "Login information" msgstr "Credenziali di accesso" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "Vista principale" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 msgid "My current identity:" msgstr "Identità corrente" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 msgid "Password" msgstr "Password" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 msgid "SIP address or phone number:" msgstr "Indirizzo sip o numero." -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "Mostra chiamata corrente" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "Inizia chiamata" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "Termina chiamata" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 msgid "Username" msgstr "Username" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 msgid "_Linphone" msgstr "_Linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 msgid "_Modes" msgstr "_Modi" -#: ../gtk-glade/main.glade.h:50 -msgid "gtk-connect" -msgstr "" - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "in" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "etichetta" @@ -668,10 +681,6 @@ msgstr "Prego inserire la password di dominio" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "Cronologia" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "Configurazione SIP account" @@ -757,42 +766,47 @@ msgid "Language" msgstr "Linguaggio" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Linguaggio" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "NAT and Firewall" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 msgid "Ports" msgstr "Porte" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "Privacy" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 msgid "Proxy accounts" msgstr "Account proxy" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 msgid "Transport" msgstr "Transporto" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "Video" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "Dispositivo ALSA (optional):" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "Aggiungi" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "Audio RTP/UDP:" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 msgid "" "Audio codecs\n" "Video codecs" @@ -800,83 +814,83 @@ msgstr "" "Audio codecs\n" "Video codecs" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "Dietro NAT / Firewall (IP del gateway)" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "Dietro NAT / Firewall (utilizza STUN)" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "CIF" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 msgid "Capture device:" msgstr "Dispositivo microfono:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 msgid "Codecs" msgstr "Codec" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "Connessione diretta a internet" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Disattivato" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 msgid "Done" msgstr "Fatto" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "Velocita massima in Dowload Kbit/sec" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Edita" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Attivato" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "Attiva cancellazione eco" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "Cancella tutte le password" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "Gestici SIP Account" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "Impostazioni multimediali" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 msgid "Network settings" msgstr "Impostazioni di rete" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 msgid "Playback device:" msgstr "Dispositivo uscita audio:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "Risoluzione video preferita" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 msgid "Public IP address:" msgstr "Indirizzo ip pubblico:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" @@ -884,100 +898,104 @@ msgstr "" "Registrati a FONICS\n" "virtual network !" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Rimuovi" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 msgid "Ring device:" msgstr "Dispositivo squillo:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 msgid "Ring sound:" msgstr "Suoneria:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "SIP (UDP)" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "Invia DTMF come SIP info" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "Imposta Maximum Transmission Unit:" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "Preferenze" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 msgid "Stun server:" msgstr "Stun server:" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "" "questa sezione definisce il tuo indirizzo SIP se non hai account attivi" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "Velocità massima in upload Kbit/sec:" -#: ../gtk-glade/parameters.glade.h:50 +#: ../gtk-glade/parameters.glade.h:52 msgid "Use IPv6 instead of IPv4" msgstr "Usa IPv6 invece che IPv4" -#: ../gtk-glade/parameters.glade.h:51 +#: ../gtk-glade/parameters.glade.h:53 msgid "User interface" msgstr "Interfaccia utente" -#: ../gtk-glade/parameters.glade.h:52 +#: ../gtk-glade/parameters.glade.h:54 msgid "Video RTP/UDP:" msgstr "Video RTP/UDP" -#: ../gtk-glade/parameters.glade.h:53 +#: ../gtk-glade/parameters.glade.h:55 msgid "Video input device:" msgstr "Dispositivo Video:" -#: ../gtk-glade/parameters.glade.h:54 +#: ../gtk-glade/parameters.glade.h:56 msgid "Your display name (eg: John Doe):" msgstr "Nome visualizzato (es: Mario Rossi):" -#: ../gtk-glade/parameters.glade.h:55 +#: ../gtk-glade/parameters.glade.h:57 msgid "Your resulting SIP address:" msgstr "Il tuo indirizzo sip:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 msgid "Your username:" msgstr "Username" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "una scheda audio\n" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "default videocamera" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "default scheda audio" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "default scheda audio\n" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1051,19 +1069,19 @@ msgstr "" msgid "Ready" msgstr "Pronto" -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "L'utente remoto sembra disconesso, la chiamata verrà terminata" -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Ricerca numero destinazione..." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "Impossibile risolvere il numero." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" @@ -1071,31 +1089,31 @@ msgstr "" "Errore nel formato del contatto sip. Usualmente un indirizzo appare sip:" "user@domain" -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "Spiacenti, le chiamate multiple non sono supportate" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "In connessione" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "chiamata fallita" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Connessione" -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "Chiamata terminata" -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "Non è stato fornito un indirizzo nat/firewall!" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "Indirizzo NAT invalido '%s' : %s" @@ -1392,7 +1410,7 @@ msgstr "campionatore di frequenza" msgid "RTP output filter" msgstr "RTP output filter" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "RTP imput filter" @@ -1531,7 +1549,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "Un MJPEG encoder che utilizza le librerie ffmpeg" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "Un generico video display" diff --git a/po/ja.po b/po/ja.po index 2a2622045..3f9c09db9 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone 0.10\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2003-01-21 00:05+9000\n" "Last-Translator: YAMAGUCHI YOSHIYA \n" "Language-Team: \n" @@ -49,17 +49,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, c-format msgid "Call with %s" msgstr "" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -68,27 +68,27 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "" @@ -370,7 +370,7 @@ msgstr "通話は拒否されました。" msgid "Unmute" msgstr "" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" @@ -429,173 +429,185 @@ msgstr "9" #: ../gtk-glade/main.glade.h:13 #, fuzzy -msgid "Contact list" -msgstr "接続中" +msgid "Add contacts from directory" +msgstr "コーデックの情報" #: ../gtk-glade/main.glade.h:14 #, fuzzy -msgid "Terminate call" +msgid "Contact list" msgstr "接続中" #: ../gtk-glade/main.glade.h:15 #, fuzzy -msgid "Welcome !" +msgid "Terminate call" msgstr "接続中" #: ../gtk-glade/main.glade.h:16 +#, fuzzy +msgid "Welcome !" +msgstr "接続中" + +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" msgstr "" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 #, fuzzy msgid "Audio & Video" msgstr "オーディオコーデックのプロパティー" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 #, fuzzy msgid "Audio only" msgstr "オーディオ" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 msgid "Automatically log me in" msgstr "" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 -msgid "Check for updates" -msgstr "" - -#: ../gtk-glade/main.glade.h:28 -msgid "D" +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" msgstr "" #: ../gtk-glade/main.glade.h:29 -msgid "Default" +msgid "Check for updates" msgstr "" #: ../gtk-glade/main.glade.h:30 -msgid "Digits" +msgid "D" msgstr "" #: ../gtk-glade/main.glade.h:31 +msgid "Default" +msgstr "" + +#: ../gtk-glade/main.glade.h:32 +msgid "Digits" +msgstr "" + +#: ../gtk-glade/main.glade.h:33 #, fuzzy msgid "Duration" msgstr "情報" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 #, fuzzy msgid "Duration:" msgstr "情報" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 #, fuzzy msgid "Enable self-view" msgstr "使用する" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "コーデックの情報" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 #, fuzzy msgid "My current identity:" msgstr "個人情報" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "パスワード" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 #, fuzzy msgid "SIP address or phone number:" msgstr "レジストラサーバーのSIPアドレス" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "ユーザーマニュアル" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 #, fuzzy msgid "_Linphone" msgstr "Linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 #, fuzzy msgid "_Modes" msgstr "コーデック" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "接続しました。" - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "" @@ -681,10 +693,6 @@ msgstr "" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "" @@ -778,238 +786,247 @@ msgid "Language" msgstr "" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "接続中" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 #, fuzzy msgid "Ports" msgstr "接続中" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 #, fuzzy msgid "Proxy accounts" msgstr "接続中" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 #, fuzzy msgid "Transport" msgstr "接続中" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "追加する" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 #, fuzzy msgid "" "Audio codecs\n" "Video codecs" msgstr "オーディオコーデックのプロパティー" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 #, fuzzy msgid "Capture device:" msgstr "使用するサウンドデバイス" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 #, fuzzy msgid "Codecs" msgstr "コーデック" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "使用しない" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 #, fuzzy msgid "Done" msgstr "ありません。" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "使用する" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 #, fuzzy msgid "Network settings" msgstr "ネットワーク" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 #, fuzzy msgid "Playback device:" msgstr "使用するサウンドデバイス" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 #, fuzzy msgid "Public IP address:" msgstr "Sipアドレス:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" msgstr "" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "削除する" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 #, fuzzy msgid "Ring device:" msgstr "使用するサウンドデバイス" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 #, fuzzy msgid "Ring sound:" msgstr "録音する音源" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 #, fuzzy msgid "Stun server:" msgstr "使用するサウンドデバイス" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "" -#: ../gtk-glade/parameters.glade.h:50 -msgid "Use IPv6 instead of IPv4" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:51 -#, fuzzy -msgid "User interface" -msgstr "ユーザーマニュアル" - #: ../gtk-glade/parameters.glade.h:52 -msgid "Video RTP/UDP:" +msgid "Use IPv6 instead of IPv4" msgstr "" #: ../gtk-glade/parameters.glade.h:53 #, fuzzy -msgid "Video input device:" -msgstr "使用するサウンドデバイス" +msgid "User interface" +msgstr "ユーザーマニュアル" #: ../gtk-glade/parameters.glade.h:54 -msgid "Your display name (eg: John Doe):" +msgid "Video RTP/UDP:" msgstr "" #: ../gtk-glade/parameters.glade.h:55 #, fuzzy -msgid "Your resulting SIP address:" -msgstr "あなたのSIPアドレス" +msgid "Video input device:" +msgstr "使用するサウンドデバイス" #: ../gtk-glade/parameters.glade.h:56 -msgid "Your username:" +msgid "Your display name (eg: John Doe):" msgstr "" #: ../gtk-glade/parameters.glade.h:57 -msgid "a sound card\n" +#, fuzzy +msgid "Your resulting SIP address:" +msgstr "あなたのSIPアドレス" + +#: ../gtk-glade/parameters.glade.h:58 +msgid "Your username:" msgstr "" #: ../gtk-glade/parameters.glade.h:59 -msgid "default camera" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:60 -msgid "default soundcard" +msgid "a sound card\n" msgstr "" #: ../gtk-glade/parameters.glade.h:61 -msgid "default soundcard\n" +msgid "default camera" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:62 +msgid "default soundcard" msgstr "" #: ../gtk-glade/parameters.glade.h:63 -msgid "gtk-go-down" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:64 -msgid "gtk-go-up" +msgid "default soundcard\n" msgstr "" #: ../gtk-glade/parameters.glade.h:65 +msgid "gtk-go-down" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:66 +msgid "gtk-go-up" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1078,19 +1095,19 @@ msgstr "" msgid "Ready" msgstr "準備完了。" -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "" -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "" -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 #, fuzzy msgid "" "Could not parse given sip address. A sip url usually looks like sip:" @@ -1099,33 +1116,33 @@ msgstr "" "SIPアドレスの形式エラーです。SIPアドレスは、のような" "形式です。" -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 #, fuzzy msgid "Contacting" msgstr "接続中" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "接続しました。" -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 #, fuzzy msgid "Call ended" msgstr "通話は拒否されました。" -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "" @@ -1428,7 +1445,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1562,7 +1579,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1594,6 +1611,10 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "接続しました。" + #, fuzzy #~ msgid "SIP address" #~ msgstr "アドレス" diff --git a/po/nl.po b/po/nl.po index 75272150e..17fe33597 100644 --- a/po/nl.po +++ b/po/nl.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: nl\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2007-09-05 10:40+0200\n" "Last-Translator: Hendrik-Jan Heins \n" "Language-Team: Nederlands \n" @@ -51,17 +51,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "Chat met %s" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, fuzzy, c-format msgid "Incoming call from %s" msgstr "Inkomende oproep" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -70,27 +70,27 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "Een Vrije SIP video-telefoon" @@ -373,7 +373,7 @@ msgstr "Oproep beeindigd" msgid "Unmute" msgstr "Ongelimiteerd" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" @@ -432,176 +432,189 @@ msgstr "" #: ../gtk-glade/main.glade.h:13 #, fuzzy -msgid "Contact list" -msgstr "Contactlijst" +msgid "Add contacts from directory" +msgstr "Contact informatie" #: ../gtk-glade/main.glade.h:14 #, fuzzy -msgid "Terminate call" +msgid "Contact list" msgstr "Contactlijst" #: ../gtk-glade/main.glade.h:15 #, fuzzy -msgid "Welcome !" +msgid "Terminate call" msgstr "Contactlijst" #: ../gtk-glade/main.glade.h:16 +#, fuzzy +msgid "Welcome !" +msgstr "Contactlijst" + +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" msgstr "" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 #, fuzzy msgid "Audio & Video" msgstr "Audio codecs" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 #, fuzzy msgid "Audio only" msgstr "Audio codecs" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 #, fuzzy msgid "Automatically log me in" msgstr "Automatisch een geldige hostnaam raden" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +#, fuzzy +msgid "Call history" +msgstr "Linphone - Oproepgeschiedenis" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 #, fuzzy msgid "Duration" msgstr "Informatie" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 #, fuzzy msgid "Duration:" msgstr "Informatie" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 #, fuzzy msgid "Enable self-view" msgstr "Video aan" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 #, fuzzy msgid "In call" msgstr "Inkomende oproep" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "Contact informatie" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 #, fuzzy msgid "My current identity:" msgstr "SIP-identiteit:" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "wachtwoord:" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 #, fuzzy msgid "SIP address or phone number:" msgstr "Geef het SIP adres of telefoonnummer in" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 #, fuzzy msgid "Show current call" msgstr "Kon niet oproepen" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "gebruikersnaam:" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 #, fuzzy msgid "_Linphone" msgstr "linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 #, fuzzy msgid "_Modes" msgstr "Codecs" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "Verbonden." - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "" @@ -688,11 +701,6 @@ msgstr "" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -#, fuzzy -msgid "Call history" -msgstr "Linphone - Oproepgeschiedenis" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "" @@ -788,242 +796,251 @@ msgid "Language" msgstr "" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Contactlijst" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 #, fuzzy msgid "Ports" msgstr "Contactlijst" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 #, fuzzy msgid "Proxy accounts" msgstr "Contactlijst" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 #, fuzzy msgid "Transport" msgstr "Contactlijst" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 #, fuzzy msgid "Add" msgstr "Adres" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 #, fuzzy msgid "" "Audio codecs\n" "Video codecs" msgstr "Audio en video codecs" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 #, fuzzy msgid "Capture device:" msgstr "Geluidsapparaat gebruiken:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 #, fuzzy msgid "Codecs" msgstr "Codecs" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Uit" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 #, fuzzy msgid "Done" msgstr "Weg" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 #, fuzzy msgid "Download speed limit in Kbit/sec:" msgstr "Download bandbreedte (kbit/sec):" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Bewerken" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Aan" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 #, fuzzy msgid "Network settings" msgstr "Netwerk" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 #, fuzzy msgid "Playback device:" msgstr "Geluidsapparaat gebruiken:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 #, fuzzy msgid "Public IP address:" msgstr "SIP-adres:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" msgstr "" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Verwijderen" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 #, fuzzy msgid "Ring device:" msgstr "Geluidsapparaat gebruiken:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 #, fuzzy msgid "Ring sound:" msgstr "Belgeluid:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:47 -#, fuzzy -msgid "Stun server:" -msgstr "Geluidsapparaat" - #: ../gtk-glade/parameters.glade.h:48 -msgid "This section defines your SIP address when not using a SIP account" +msgid "Show advanced settings" msgstr "" #: ../gtk-glade/parameters.glade.h:49 #, fuzzy -msgid "Upload speed limit in Kbit/sec:" -msgstr "Upload bandbreedte (kbit/sec):" +msgid "Stun server:" +msgstr "Geluidsapparaat" #: ../gtk-glade/parameters.glade.h:50 -msgid "Use IPv6 instead of IPv4" +msgid "This section defines your SIP address when not using a SIP account" msgstr "" #: ../gtk-glade/parameters.glade.h:51 #, fuzzy -msgid "User interface" -msgstr "gebruikersnaam:" +msgid "Upload speed limit in Kbit/sec:" +msgstr "Upload bandbreedte (kbit/sec):" #: ../gtk-glade/parameters.glade.h:52 -msgid "Video RTP/UDP:" +msgid "Use IPv6 instead of IPv4" msgstr "" #: ../gtk-glade/parameters.glade.h:53 #, fuzzy -msgid "Video input device:" -msgstr "Geluidsapparaat" +msgid "User interface" +msgstr "gebruikersnaam:" #: ../gtk-glade/parameters.glade.h:54 -msgid "Your display name (eg: John Doe):" +msgid "Video RTP/UDP:" msgstr "" #: ../gtk-glade/parameters.glade.h:55 #, fuzzy +msgid "Video input device:" +msgstr "Geluidsapparaat" + +#: ../gtk-glade/parameters.glade.h:56 +msgid "Your display name (eg: John Doe):" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:57 +#, fuzzy msgid "Your resulting SIP address:" msgstr "Uw SIP-adres:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 #, fuzzy msgid "Your username:" msgstr "gebruikersnaam:" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1098,19 +1115,19 @@ msgstr "" msgid "Ready" msgstr "Gereed." -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "" -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Zoekt de lokatie van het telefoonnummer..." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "Kon dit nummer niet vinden." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" @@ -1118,31 +1135,31 @@ msgstr "" "Slecht geformuleerd SIP-adres. Een SIP-adres ziet er uit als sip:" "gebruikersnaam@domeinnaam" -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "Helaas, meerdere gelijktijdige gesprekken wordt nog niet ondersteund!" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "Verbinden" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "Kon niet oproepen" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Verbonden." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "Oproep beeindigd" -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "Geen NAT/firewall adres opgegeven" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "Ongeldig NAT adres '%s' : %s" @@ -1441,7 +1458,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1575,7 +1592,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1607,6 +1624,10 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "Verbonden." + #, fuzzy #~ msgid "SIP address" #~ msgstr "Adres" diff --git a/po/pl.po b/po/pl.po index 9e538f359..2f457b053 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone 0.7.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2003-08-22 12:50+0200\n" "Last-Translator: Robert Nasiadek \n" "Language-Team: Polski \n" @@ -47,17 +47,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, c-format msgid "Call with %s" msgstr "" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -66,27 +66,27 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "" @@ -368,7 +368,7 @@ msgstr "Rozmowa odrzucona." msgid "Unmute" msgstr "" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" @@ -427,173 +427,185 @@ msgstr "9" #: ../gtk-glade/main.glade.h:13 #, fuzzy -msgid "Contact list" -msgstr "Dzwonie do " +msgid "Add contacts from directory" +msgstr "Informacje o kodeku" #: ../gtk-glade/main.glade.h:14 #, fuzzy -msgid "Terminate call" +msgid "Contact list" msgstr "Dzwonie do " #: ../gtk-glade/main.glade.h:15 #, fuzzy -msgid "Welcome !" +msgid "Terminate call" msgstr "Dzwonie do " #: ../gtk-glade/main.glade.h:16 +#, fuzzy +msgid "Welcome !" +msgstr "Dzwonie do " + +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" msgstr "" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 #, fuzzy msgid "Audio & Video" msgstr "Kodeki audio" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 #, fuzzy msgid "Audio only" msgstr "Kodeki audio" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 msgid "Automatically log me in" msgstr "" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 -msgid "Check for updates" -msgstr "" - -#: ../gtk-glade/main.glade.h:28 -msgid "D" +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" msgstr "" #: ../gtk-glade/main.glade.h:29 -msgid "Default" +msgid "Check for updates" msgstr "" #: ../gtk-glade/main.glade.h:30 -msgid "Digits" +msgid "D" msgstr "" #: ../gtk-glade/main.glade.h:31 +msgid "Default" +msgstr "" + +#: ../gtk-glade/main.glade.h:32 +msgid "Digits" +msgstr "" + +#: ../gtk-glade/main.glade.h:33 #, fuzzy msgid "Duration" msgstr "Informacja" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 #, fuzzy msgid "Duration:" msgstr "Informacja" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 #, fuzzy msgid "Enable self-view" msgstr "Włączone" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "Informacje o kodeku" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 #, fuzzy msgid "My current identity:" msgstr "Tożsamość" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "Twoje hasło:" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 #, fuzzy msgid "SIP address or phone number:" msgstr "Adres serwera rejestracji sip" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "Podręcznik" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 #, fuzzy msgid "_Linphone" msgstr "linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 #, fuzzy msgid "_Modes" msgstr "Kodeki" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "Połączony" - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "" @@ -679,10 +691,6 @@ msgstr "" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "" @@ -776,239 +784,248 @@ msgid "Language" msgstr "" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Dzwonie do " + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 #, fuzzy msgid "Ports" msgstr "Dzwonie do " -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 #, fuzzy msgid "Proxy accounts" msgstr "Dzwonie do " -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 #, fuzzy msgid "Transport" msgstr "Dzwonie do " -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 #, fuzzy msgid "Add" msgstr "Adres" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 #, fuzzy msgid "" "Audio codecs\n" "Video codecs" msgstr "Kodeki audio" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 #, fuzzy msgid "Capture device:" msgstr "Użyj tego urządzenia dźwięku:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 #, fuzzy msgid "Codecs" msgstr "Kodeki" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Wyłącz" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 #, fuzzy msgid "Done" msgstr "Brak." -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Włączony" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 #, fuzzy msgid "Network settings" msgstr "Sieć" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 #, fuzzy msgid "Playback device:" msgstr "Użyj tego urządzenia dźwięku:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 #, fuzzy msgid "Public IP address:" msgstr "Adres sip:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" msgstr "" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 #, fuzzy msgid "Ring device:" msgstr "Użyj tego urządzenia dźwięku:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 #, fuzzy msgid "Ring sound:" msgstr "Źródło nagrywania:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 #, fuzzy msgid "Stun server:" msgstr "Dźwięk" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "" -#: ../gtk-glade/parameters.glade.h:50 -msgid "Use IPv6 instead of IPv4" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:51 -#, fuzzy -msgid "User interface" -msgstr "Podręcznik" - #: ../gtk-glade/parameters.glade.h:52 -msgid "Video RTP/UDP:" +msgid "Use IPv6 instead of IPv4" msgstr "" #: ../gtk-glade/parameters.glade.h:53 #, fuzzy -msgid "Video input device:" -msgstr "Dźwięk" +msgid "User interface" +msgstr "Podręcznik" #: ../gtk-glade/parameters.glade.h:54 -msgid "Your display name (eg: John Doe):" +msgid "Video RTP/UDP:" msgstr "" #: ../gtk-glade/parameters.glade.h:55 #, fuzzy -msgid "Your resulting SIP address:" -msgstr "Twój adres sip:" +msgid "Video input device:" +msgstr "Dźwięk" #: ../gtk-glade/parameters.glade.h:56 -msgid "Your username:" +msgid "Your display name (eg: John Doe):" msgstr "" #: ../gtk-glade/parameters.glade.h:57 -msgid "a sound card\n" +#, fuzzy +msgid "Your resulting SIP address:" +msgstr "Twój adres sip:" + +#: ../gtk-glade/parameters.glade.h:58 +msgid "Your username:" msgstr "" #: ../gtk-glade/parameters.glade.h:59 -msgid "default camera" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:60 -msgid "default soundcard" +msgid "a sound card\n" msgstr "" #: ../gtk-glade/parameters.glade.h:61 -msgid "default soundcard\n" +msgid "default camera" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:62 +msgid "default soundcard" msgstr "" #: ../gtk-glade/parameters.glade.h:63 -msgid "gtk-go-down" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:64 -msgid "gtk-go-up" +msgid "default soundcard\n" msgstr "" #: ../gtk-glade/parameters.glade.h:65 +msgid "gtk-go-down" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:66 +msgid "gtk-go-up" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1077,52 +1094,52 @@ msgstr "" msgid "Ready" msgstr "Gotowy." -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "" -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "" -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 #, fuzzy msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" msgstr "Nie poprawny adres sip. Adres sip wygląda tak " -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 #, fuzzy msgid "Contacting" msgstr "Dzwonie do " -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Połączony" -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 #, fuzzy msgid "Call ended" msgstr "Rozmowa odrzucona." -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "" @@ -1424,7 +1441,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1558,7 +1575,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1590,6 +1607,10 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "Połączony" + #, fuzzy #~ msgid "SIP address" #~ msgstr "Adres" diff --git a/po/pt_BR.po b/po/pt_BR.po index 7a68ff02e..cda22db43 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-1.1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2006-07-11 23:30+0200\n" "Last-Translator: Rafael Caesar Lenzi \n" "Language-Team: pt_BR \n" @@ -49,17 +49,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "Bate-papo com %s" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, fuzzy, c-format msgid "Incoming call from %s" msgstr "Camadas recebidas" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -68,27 +68,27 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "" @@ -371,7 +371,7 @@ msgstr "Chamada cancelada." msgid "Unmute" msgstr "" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "" @@ -430,172 +430,185 @@ msgstr "" #: ../gtk-glade/main.glade.h:13 #, fuzzy -msgid "Contact list" -msgstr "Contatando " +msgid "Add contacts from directory" +msgstr "Informação de contato" #: ../gtk-glade/main.glade.h:14 #, fuzzy -msgid "Terminate call" +msgid "Contact list" msgstr "Contatando " #: ../gtk-glade/main.glade.h:15 #, fuzzy -msgid "Welcome !" +msgid "Terminate call" msgstr "Contatando " #: ../gtk-glade/main.glade.h:16 +#, fuzzy +msgid "Welcome !" +msgstr "Contatando " + +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" msgstr "" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 #, fuzzy msgid "Audio & Video" msgstr "Codec's de áudio" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 #, fuzzy msgid "Audio only" msgstr "Codec's de áudio" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 #, fuzzy msgid "Automatically log me in" msgstr "Adquirir automaticamente um nome de servidor válido." -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +#, fuzzy +msgid "Call history" +msgstr "Linphone - Histórico de chamadas" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 #, fuzzy msgid "Duration" msgstr "Informações" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 #, fuzzy msgid "Duration:" msgstr "Informações" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 #, fuzzy msgid "Enable self-view" msgstr "Ativado" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 #, fuzzy msgid "In call" msgstr "Camadas recebidas" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "Informação de contato" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 #, fuzzy msgid "My current identity:" msgstr "Identificação SIP:" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "Senha:" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 msgid "SIP address or phone number:" msgstr "" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "Usuário" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 msgid "_Linphone" msgstr "" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 msgid "_Modes" msgstr "" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "Conectado." - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "" @@ -681,11 +694,6 @@ msgstr "" msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -#, fuzzy -msgid "Call history" -msgstr "Linphone - Histórico de chamadas" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "" @@ -781,240 +789,249 @@ msgid "Language" msgstr "" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Contatando " + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 #, fuzzy msgid "Ports" msgstr "Contatando " -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 #, fuzzy msgid "Proxy accounts" msgstr "Contatando " -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 #, fuzzy msgid "Transport" msgstr "Contatando " -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 #, fuzzy msgid "Add" msgstr "Endereço" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 #, fuzzy msgid "" "Audio codecs\n" "Video codecs" msgstr "Codec's de áudio" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 #, fuzzy msgid "Capture device:" msgstr "Dispositivo de captura de som:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 #, fuzzy msgid "Codecs" msgstr "Codec's de áudio" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Desativar" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 #, fuzzy msgid "Done" msgstr "Nenhum" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Editar" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Ativado" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 #, fuzzy msgid "Network settings" msgstr "Rede" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 #, fuzzy msgid "Playback device:" msgstr "Dispositivo de som:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 #, fuzzy msgid "Public IP address:" msgstr "Endereço sip:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" msgstr "" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Remover" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 #, fuzzy msgid "Ring device:" msgstr "Dispositivo de som" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 #, fuzzy msgid "Ring sound:" msgstr "Som do toque:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 #, fuzzy msgid "Stun server:" msgstr "Dispositivo de som" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "" -#: ../gtk-glade/parameters.glade.h:50 -msgid "Use IPv6 instead of IPv4" -msgstr "" - -#: ../gtk-glade/parameters.glade.h:51 -#, fuzzy -msgid "User interface" -msgstr "Usuário" - #: ../gtk-glade/parameters.glade.h:52 -msgid "Video RTP/UDP:" +msgid "Use IPv6 instead of IPv4" msgstr "" #: ../gtk-glade/parameters.glade.h:53 #, fuzzy -msgid "Video input device:" -msgstr "Dispositivo de som" +msgid "User interface" +msgstr "Usuário" #: ../gtk-glade/parameters.glade.h:54 -msgid "Your display name (eg: John Doe):" +msgid "Video RTP/UDP:" msgstr "" #: ../gtk-glade/parameters.glade.h:55 #, fuzzy +msgid "Video input device:" +msgstr "Dispositivo de som" + +#: ../gtk-glade/parameters.glade.h:56 +msgid "Your display name (eg: John Doe):" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:57 +#, fuzzy msgid "Your resulting SIP address:" msgstr "Seu endereço SIP:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 #, fuzzy msgid "Your username:" msgstr "Usuário" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1089,51 +1106,51 @@ msgstr "" msgid "Ready" msgstr "Pronto." -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "" -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Procurando por telefone de destino..." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "Não foi possível encontrar este número." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" msgstr "" -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 #, fuzzy msgid "Contacting" msgstr "Contatando " -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Conectado." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 #, fuzzy msgid "Call ended" msgstr "Chamada cancelada." -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "" @@ -1421,7 +1438,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1555,7 +1572,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1587,6 +1604,10 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "Conectado." + #, fuzzy #~ msgid "SIP address" #~ msgstr "Endereço" diff --git a/po/ru.po b/po/ru.po index ad06e3b3f..7dcfad649 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone 0.7.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2010-01-22 18:43+0300\n" "Last-Translator: Maxim Prokopyev \n" "Language-Team: Russian \n" @@ -51,17 +51,17 @@ msgstr "" "Определить рабочий каталог (относительно каталога установки, например: c:" "\\Program Files\\Linphone)" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "Обмен сообщениями с %s" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "Входящий звонок от %s" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -74,7 +74,7 @@ msgstr "" "контактный лист?\n" "Если вы ответите Нет, эта персона будет временно заблокирована." -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" @@ -83,20 +83,20 @@ msgstr "" "Пожалуйста, введите пароль для пользователя %s\n" " в домене %s:" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "Домашняя страница" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "Linphone - Интернет видео телефон" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "%s (По умолчанию)" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "Свободный SIP видео-телефон" @@ -378,7 +378,7 @@ msgstr "Звонок закончен." msgid "Unmute" msgstr "Безлимитный" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "Приглушить" @@ -436,22 +436,27 @@ msgid "9" msgstr "9" #: ../gtk-glade/main.glade.h:13 +#, fuzzy +msgid "Add contacts from directory" +msgstr "Добавить новый контакт из директории '%s'" + +#: ../gtk-glade/main.glade.h:14 msgid "Contact list" msgstr "Список контактов" -#: ../gtk-glade/main.glade.h:14 +#: ../gtk-glade/main.glade.h:15 msgid "Terminate call" msgstr "Завершить вызов" -#: ../gtk-glade/main.glade.h:15 +#: ../gtk-glade/main.glade.h:16 msgid "Welcome !" msgstr "Добро пожаловать!" -#: ../gtk-glade/main.glade.h:16 +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "A" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" @@ -459,7 +464,7 @@ msgstr "" "ADSL\n" "Выделенный канал" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" @@ -467,131 +472,141 @@ msgstr "" "Все пользователи\n" "Пользователи в сети" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "Помощник" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 msgid "Audio & Video" msgstr "Аудио и Видео" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 msgid "Audio only" msgstr "Только Аудио" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 msgid "Automatically log me in" msgstr "Входить автоматически" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "B" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "C" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" +msgstr "История звонков" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "D" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "По умолчанию" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "Цифры" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 msgid "Duration" msgstr "Продолжительность" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 msgid "Duration:" msgstr "Продолжительность:" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 msgid "Enable self-view" msgstr "Включить видео " -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "Введите имя пользователя, " -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "Входящий звонок" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "Интернет-соединение:" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 msgid "Login information" msgstr "Информация " -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "Поиск:" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "Главное окно" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 msgid "My current identity:" msgstr "Текущий идентификатор:" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 msgid "Password" msgstr "Пароль" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 msgid "SIP address or phone number:" msgstr "SIP-адрес или номер телефона." -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +#, fuzzy +msgid "Search" +msgstr "Поиск:" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "Показать текущий звонок" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +#, fuzzy +msgid "Show debug messages" +msgstr "Показать окно ошибок" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "Вызов" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "Прервать вызов" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 msgid "Username" msgstr "Имя пользователя" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 msgid "_Linphone" msgstr "_Linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 msgid "_Modes" msgstr "_Режимы" -#: ../gtk-glade/main.glade.h:50 -msgid "gtk-connect" -msgstr "Соединить" - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "Найти" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "в" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" msgstr "метка" @@ -686,10 +701,6 @@ msgstr "Введите пароль" msgid "UserID" msgstr "UserID" -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "История звонков" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "Настроить учетную запись SIP" @@ -775,42 +786,47 @@ msgid "Language" msgstr "Язык" #: ../gtk-glade/parameters.glade.h:7 +#, fuzzy +msgid "Level" +msgstr "Язык" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "NAT и брандмауэр" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 msgid "Ports" msgstr "Порты" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "Секретность" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 msgid "Proxy accounts" msgstr "Учетные записи Proxy" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 msgid "Transport" msgstr "Транспорт" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "Видео" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "Специальное устройство ALSA (необязательно)" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "Добавить" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "Аудио RTP/UDP" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 msgid "" "Audio codecs\n" "Video codecs" @@ -818,83 +834,83 @@ msgstr "" "Аудио кодеки\n" "Видео кодеки" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "За NAT / брандмауэр (указать IP-адрес шлюза ниже)" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "За NAT / брандмауэр (исползовать STUN)" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "CIF" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 msgid "Capture device:" msgstr "Устройство захвата:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 msgid "Codecs" msgstr "Кодеки" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "Прямое подключение к Интернет" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Выключить" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 msgid "Done" msgstr "Готово" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "Ограничение скорости входящего потока kbit/sec" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Редактировать" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Включить" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "Включить подавление эхо" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "Стереть все пароли" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "Управление учетными записями SIP" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "Настройка мультимедиа" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 msgid "Network settings" msgstr "Настройки сети" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 msgid "Playback device:" msgstr "Устройство воспроизведения" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "Предпочтительное разрешение видео:" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 msgid "Public IP address:" msgstr "Выделенный IP-адрес" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" @@ -902,99 +918,103 @@ msgstr "" "Регистрация в \n" "виртуальной сети FONICS!" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Удалить" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 msgid "Ring device:" msgstr "Устройство звонка:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 msgid "Ring sound:" msgstr "Звук звонка:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "SIP (UDP):" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "Отправить DTFM как SIP-инфо" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "Установка MTU (Максимально Передаваемый Блок)" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "Настройки:" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 msgid "Stun server:" msgstr "Stun сервер:" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "Поле определяет ваш SIP адрес когда вы не используете SIP аккаунт" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "Ограничение исходящего потока kbit/sec:" -#: ../gtk-glade/parameters.glade.h:50 +#: ../gtk-glade/parameters.glade.h:52 msgid "Use IPv6 instead of IPv4" msgstr "Использовать IPv6 вместо IPv4" -#: ../gtk-glade/parameters.glade.h:51 +#: ../gtk-glade/parameters.glade.h:53 msgid "User interface" msgstr "Интерфейс:" -#: ../gtk-glade/parameters.glade.h:52 +#: ../gtk-glade/parameters.glade.h:54 msgid "Video RTP/UDP:" msgstr "Видео RTP/UDP:" -#: ../gtk-glade/parameters.glade.h:53 +#: ../gtk-glade/parameters.glade.h:55 msgid "Video input device:" msgstr "Видео устройство вывода:" -#: ../gtk-glade/parameters.glade.h:54 +#: ../gtk-glade/parameters.glade.h:56 msgid "Your display name (eg: John Doe):" msgstr "Отображаемое имя (Иван Сидоров):" -#: ../gtk-glade/parameters.glade.h:55 +#: ../gtk-glade/parameters.glade.h:57 msgid "Your resulting SIP address:" msgstr "Результирующий sip адрес:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 msgid "Your username:" msgstr "Имя пользователя:" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "звуковая карта\n" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "камера по умолчаию" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "звуковая карта по умолчанию" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "звуковая карта по умолчанию\n" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "Вниз" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "Вверх" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "Проиграть" @@ -1068,19 +1088,19 @@ msgstr "" msgid "Ready" msgstr "Готов" -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "Удалённый узел отключился, звонок завершён." -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Поиск назначения для телефонного номера.." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "Не может принять решение по этому номеру." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" @@ -1088,31 +1108,31 @@ msgstr "" "Не могу опознать sip адрес. SIP url обычно выглядит как: " -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "Одновременные вызовы пока не поддерживается!" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "Соединение" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "невозможно позвонить" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Соединён." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "Разговор окончен" -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "NAT/firewall адрес не установлен !" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "Неверный NAT адрес '%s' : '%s'" @@ -1413,7 +1433,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1551,7 +1571,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "MJPEG декодер ( использует ffmpeg )" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1583,12 +1603,15 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#~ msgid "gtk-connect" +#~ msgstr "Соединить" + +#~ msgid "gtk-find" +#~ msgstr "Найти" + #~ msgid "SIP address" #~ msgstr "SIP-адрес" -#~ msgid "Show debug window" -#~ msgstr "Показать окно ошибок" - #~ msgid "_View" #~ msgstr "_Вид" @@ -1608,9 +1631,6 @@ msgstr "" #~ "Показать все\n" #~ "Показать Online" -#~ msgid "Search:" -#~ msgstr "Поиск:" - #~ msgid "Display filters" #~ msgstr "Показать фильтры" diff --git a/po/sv.po b/po/sv.po index 112c53768..59526ee92 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2009-02-17 15:22+0100\n" "Last-Translator: Emmanuel Frécon \n" "Language-Team: SWEDISH \n" @@ -46,19 +46,18 @@ msgstr "Om på, besvara automatisk alla inkommande samtal" msgid "" "Specifiy a working directory (should be the base of the installation, eg: c:" "\\Program Files\\Linphone)" -msgstr "" +msgstr "Välj en arbetskatalog som ska vara basen för installationen, såsom C:\\Program\\Linphone" -#: ../gtk-glade/main.c:436 -#, fuzzy, c-format +#: ../gtk-glade/main.c:396 msgid "Call with %s" -msgstr "Chatta med %s" +msgstr "Samtal med %s" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "Inkommande samtal från %s" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -71,7 +70,7 @@ msgstr "" "henne till din kontaktlista?\n" "Om du svarar nej, personen kommer att vara bannlyst." -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, c-format msgid "" "Please enter your password for username %s\n" @@ -80,20 +79,20 @@ msgstr "" "Mata in ditt lösenord för användaren %s\n" "vid domänen %s:" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "Webbsajt" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "Linphone - en video Internet telefon" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "%s (Default)" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "En gratis SIP video-telefon" @@ -186,11 +185,11 @@ msgstr "Italiensk" #: ../gtk-glade/propertybox.c:626 msgid "Spanish" -msgstr "Spansk" +msgstr "Spanska" #: ../gtk-glade/propertybox.c:627 msgid "Brazilian Portugese" -msgstr "" +msgstr "Portugisiska" #: ../gtk-glade/propertybox.c:628 msgid "Polish" @@ -221,7 +220,6 @@ msgid "Czech" msgstr "Tjekiska" #: ../gtk-glade/propertybox.c:635 -#, fuzzy msgid "Chinese" msgstr "Kinesiska" @@ -241,7 +239,7 @@ msgstr "" #: ../gtk-glade/update.c:91 msgid "You are running the lastest version." -msgstr "" +msgstr "Du kör den sensaste versionen." #: ../gtk-glade/buddylookup.c:85 msgid "Firstname, Lastname" @@ -275,18 +273,20 @@ msgid "" "Welcome !\n" "This assistant will help you to use a SIP account for your calls." msgstr "" +"Välkommen!\n" +"Assistenten kommer att hjälpa dig använda ett SIP konto för dina samtal:" #: ../gtk-glade/setupwizard.c:34 msgid "Create an account by choosing a username" -msgstr "" +msgstr "Skapa ett konto genom att välja ett användarnamn" #: ../gtk-glade/setupwizard.c:35 msgid "I have already an account and just want to use it" -msgstr "" +msgstr "Jag har redan ett konto och vill bara använda det." #: ../gtk-glade/setupwizard.c:53 msgid "Please choose a username:" -msgstr "" +msgstr "Välj ett användarnamn:" #: ../gtk-glade/setupwizard.c:54 msgid "Username:" @@ -295,60 +295,59 @@ msgstr "Användarnamn:" #: ../gtk-glade/setupwizard.c:92 #, c-format msgid "Checking if '%s' is available..." -msgstr "" +msgstr "Verifierar om '%s' är tillgänglig..." #: ../gtk-glade/setupwizard.c:97 ../gtk-glade/setupwizard.c:164 msgid "Please wait..." -msgstr "" +msgstr "Var god dröj..." #: ../gtk-glade/setupwizard.c:101 msgid "Sorry this username already exists. Please try a new one." -msgstr "" +msgstr "Användarnamnet finns redan, försök med ett nytt namn." #: ../gtk-glade/setupwizard.c:103 ../gtk-glade/setupwizard.c:168 msgid "Ok !" -msgstr "" +msgstr "Ok !" #: ../gtk-glade/setupwizard.c:106 ../gtk-glade/setupwizard.c:171 msgid "Communication problem, please try again later." -msgstr "" +msgstr "Kommunikationsproblem, prova igen senare." #: ../gtk-glade/setupwizard.c:134 msgid "Thank you. Your account is now configured and ready for use." -msgstr "" +msgstr "Tack. Ditt konto är nu konfigurerad och färdig att användas." #: ../gtk-glade/setupwizard.c:228 msgid "Welcome to the account setup assistant" -msgstr "" +msgstr "Välkommen till kontoinstallationsassistenten" #: ../gtk-glade/setupwizard.c:232 msgid "Account setup assistant" -msgstr "" +msgstr "Kontoinstallationsassistenten" #: ../gtk-glade/setupwizard.c:236 msgid "Choosing a username" -msgstr "Välj ditt användarnamn:" +msgstr "Välj ditt användarnamn" #: ../gtk-glade/setupwizard.c:240 msgid "Verifying" -msgstr "" +msgstr "Verifierar" #: ../gtk-glade/setupwizard.c:244 -#, fuzzy msgid "Confirmation" -msgstr "Kontakt information" +msgstr "Bekräftelse" #: ../gtk-glade/setupwizard.c:249 msgid "Creating your account" -msgstr "" +msgstr "Skapar ditt konto" #: ../gtk-glade/setupwizard.c:253 msgid "Now ready !" -msgstr "" +msgstr "Klar nu!" #: ../gtk-glade/incall_view.c:97 msgid "Calling..." -msgstr "Kontaktar..." +msgstr "Ringer..." #: ../gtk-glade/incall_view.c:122 msgid "In call with" @@ -365,16 +364,15 @@ msgstr "%02i:%02i:%02i" #: ../gtk-glade/incall_view.c:158 msgid "Call ended." -msgstr "Samtalet slut" +msgstr "Samtalet slut." #: ../gtk-glade/incall_view.c:176 -#, fuzzy msgid "Unmute" -msgstr "Tyst" +msgstr "Mikrofon på" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" -msgstr "Tyst" +msgstr "Mikrofon av" #: ../gtk-glade/loginframe.c:82 #, c-format @@ -430,22 +428,26 @@ msgid "9" msgstr "" #: ../gtk-glade/main.glade.h:13 +msgid "Add contacts from directory" +msgstr "Lägg till kontakt ifrån katalogen" + +#: ../gtk-glade/main.glade.h:14 msgid "Contact list" msgstr "Kontaktlista" -#: ../gtk-glade/main.glade.h:14 +#: ../gtk-glade/main.glade.h:15 msgid "Terminate call" msgstr "Lägg på" -#: ../gtk-glade/main.glade.h:15 +#: ../gtk-glade/main.glade.h:16 msgid "Welcome !" msgstr "Välkommen!" -#: ../gtk-glade/main.glade.h:16 +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" @@ -453,7 +455,7 @@ msgstr "" "ADSL\n" "Fiber" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" @@ -461,142 +463,147 @@ msgstr "" "Alla användare\n" "Online användare" -#: ../gtk-glade/main.glade.h:21 -msgid "Assistant" -msgstr "" - #: ../gtk-glade/main.glade.h:22 +msgid "Assistant" +msgstr "Assistent" + +#: ../gtk-glade/main.glade.h:23 msgid "Audio & Video" msgstr "Audio & Video" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 msgid "Audio only" msgstr "Enbart audio" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 msgid "Automatically log me in" msgstr "Logga mig automatiskt" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 -msgid "Check for updates" -msgstr "" +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" +msgstr "Samtalshistorik" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:29 +msgid "Check for updates" +msgstr "Letar efter uppdateringar" + +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "Tangenter" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 msgid "Duration" msgstr "Förlopp" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 msgid "Duration:" msgstr "Förlopp:" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 msgid "Enable self-view" msgstr "Själv bild" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "Mata in användarnamn, telefonnummer eller SIP adress" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "Hemsidan" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "I samtal" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "Internet förbindelse:" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 msgid "Login information" msgstr "Login information" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "Sök:" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "Huvud vy" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 msgid "My current identity:" msgstr "Min nuvarande identitet" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 msgid "Password" msgstr "Lösenord" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 msgid "SIP address or phone number:" msgstr "Användarnamn" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "Sök" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "Nuvarande samtal" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "Visa debugfönstret" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "Ring" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "Lägg på" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 msgid "Username" -msgstr "Användarnamn:" +msgstr "Användarnamn" -#: ../gtk-glade/main.glade.h:48 -#, fuzzy +#: ../gtk-glade/main.glade.h:53 msgid "_Linphone" -msgstr "Apropå linphone" +msgstr "_inphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 msgid "_Modes" msgstr "_Media" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "Kopplad" - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "i" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 msgid "label" -msgstr "" +msgstr "etikett" #: ../gtk-glade/about.glade.h:1 msgid "About linphone" msgstr "Apropå linphone" #: ../gtk-glade/about.glade.h:2 -#, fuzzy msgid "An internet video phone using the standard SIP (rfc3261) protocol." msgstr "En Internet video telefon baserat på SIP protokoll." @@ -620,9 +627,8 @@ msgid "" msgstr "" #: ../gtk-glade/contact.glade.h:1 -#, fuzzy msgid "Contact information" -msgstr "Kontakt information" +msgstr "Kontakt information" #: ../gtk-glade/contact.glade.h:2 msgid "Allow this contact to see my presence status" @@ -669,11 +675,7 @@ msgstr "Mata in lösenordet för domänen" #: ../gtk-glade/password.glade.h:4 msgid "UserID" -msgstr "" - -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "Samtalshistorik" +msgstr "AnvändarID" #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" @@ -760,42 +762,46 @@ msgid "Language" msgstr "Språk" #: ../gtk-glade/parameters.glade.h:7 +msgid "Level" +msgstr "Nivå" + +#: ../gtk-glade/parameters.glade.h:8 msgid "NAT and Firewall" msgstr "NAT och Brandvägg" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 msgid "Ports" msgstr "Portar" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "Integritet" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 msgid "Proxy accounts" msgstr "Proxy konton" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 msgid "Transport" msgstr "Transport" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "Video" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "ALSA speciell enhet (tillval):" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "Lägg till" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 msgid "Audio RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 msgid "" "Audio codecs\n" "Video codecs" @@ -803,83 +809,83 @@ msgstr "" "Audio codecs\n" "Video codecs" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "Bakom en NAT / brandvägg (specificera gatewap IP adress nedan)" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "Bakom en NAT / brandvägg (använd STUN för att avgöra adressen)" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 msgid "Capture device:" msgstr "Mikrofon enhet:" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 msgid "Codecs" msgstr "Codecs" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "Direkt förbindelse till Internet" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "Inaktivera" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 msgid "Done" msgstr "Klar" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 msgid "Download speed limit in Kbit/sec:" msgstr "Max downstream bandbreddshastighet i kbit/sek:" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "Editera" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "Möjliggör" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "Tillåta ekokancellering" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "Glöm alla lösenord" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "Hantera SIP konton" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "Multimedia inställningar" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 msgid "Network settings" msgstr "Nätverksinställningar" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 msgid "Playback device:" msgstr "Uppspelningsenhet:" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "Video upplösning:" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 msgid "Public IP address:" msgstr "Publik IP adress:" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" @@ -887,110 +893,114 @@ msgstr "" "Registrera hos FONICS\n" "virtuella nätverk!" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "Ta bort" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 msgid "Ring device:" msgstr "Ringning enhet:" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 msgid "Ring sound:" msgstr "Ring signal:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "Kicka DTMF koder som SIP info" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "Välj MTU (Maximum Transmission Unit):" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "Inställningar" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "Visa avancerade inställningar" + +#: ../gtk-glade/parameters.glade.h:49 msgid "Stun server:" msgstr "STUN server:" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "" "Denna sektion specificerar din SIP adress när du inte använder ett SIP konto" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 msgid "Upload speed limit in Kbit/sec:" msgstr "Max upstream bandbreddshastighet i kbit/sek:" -#: ../gtk-glade/parameters.glade.h:50 +#: ../gtk-glade/parameters.glade.h:52 msgid "Use IPv6 instead of IPv4" msgstr "Använd IPv6 istället av IPv4" -#: ../gtk-glade/parameters.glade.h:51 +#: ../gtk-glade/parameters.glade.h:53 msgid "User interface" -msgstr "Användarinterface:" +msgstr "Användarinterface" -#: ../gtk-glade/parameters.glade.h:52 +#: ../gtk-glade/parameters.glade.h:54 msgid "Video RTP/UDP:" msgstr "" -#: ../gtk-glade/parameters.glade.h:53 +#: ../gtk-glade/parameters.glade.h:55 msgid "Video input device:" msgstr "Video ingångsenhet:" -#: ../gtk-glade/parameters.glade.h:54 +#: ../gtk-glade/parameters.glade.h:56 msgid "Your display name (eg: John Doe):" msgstr "Ditt synliga namn, e.g. Kalle Karlsson:" -#: ../gtk-glade/parameters.glade.h:55 +#: ../gtk-glade/parameters.glade.h:57 msgid "Your resulting SIP address:" msgstr "Din SIP adress:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 msgid "Your username:" msgstr "Ditt användarnamn:" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "ett ljud kort\n" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "default kamera" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "default ljudkort" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "default ljudkort\n" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" #: ../gtk-glade/buddylookup.glade.h:1 msgid "Search somebody" -msgstr "" +msgstr "Sök efter kontakter" #: ../gtk-glade/buddylookup.glade.h:2 msgid "Add to my list" -msgstr "Lägg till till min lista" +msgstr "Lägg till min lista" #: ../gtk-glade/buddylookup.glade.h:3 msgid "Search contacts in directory" @@ -998,7 +1008,7 @@ msgstr "Sök för kontakter i katalogen" #: ../gtk-glade/waiting.glade.h:1 msgid "Linphone" -msgstr "Apropå linphone" +msgstr "Linphone" #: ../gtk-glade/waiting.glade.h:2 msgid "Please wait" @@ -1054,19 +1064,19 @@ msgstr "" msgid "Ready" msgstr "Redo" -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "Motparten verkar ha avbrutit samtalet, samtalet kommer att avslutas." -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "Leta efter telefonnummer för destinationen..." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "Kan inte nå dett nummer." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" @@ -1074,31 +1084,31 @@ msgstr "" "Kan inte förstå angiven SIP adress. En SIP adress vanligen ser ut som sip:" "användare@domänen" -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "Förlåt, men linphone stödjer inte flera samtliga samtal än!" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "Kontaktar" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "Kunde inte ringa" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "Kopplad" -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "Samtalet slut" -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "Ingen NAT / brandväggs adress angiven!" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "Fel NAT adress '%s': %s" @@ -1200,7 +1210,7 @@ msgstr "" #: ../coreapi/exevents.c:836 msgid "Remote ringing." -msgstr "" +msgstr "Ringer hos motparten." #: ../coreapi/exevents.c:860 msgid "Early media." @@ -1267,17 +1277,14 @@ msgid "Unknown" msgstr "Okänd" #: ../coreapi/friend.c:44 -#, fuzzy msgid "Be right back" msgstr "Kommer strax tillbaka" #: ../coreapi/friend.c:50 -#, fuzzy msgid "On the phone" msgstr "På telefon" #: ../coreapi/friend.c:53 -#, fuzzy msgid "Out to lunch" msgstr "Lunchar" @@ -1303,7 +1310,7 @@ msgstr "Pågående" #: ../coreapi/friend.c:74 msgid "Unknown-bug" -msgstr "" +msgstr "Okänd bug" #: ../coreapi/proxy.c:265 msgid "" @@ -1398,7 +1405,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1444,7 +1451,6 @@ msgid "a small video size converter" msgstr "En liten video storlek konverterare" #: ../mediastreamer2/src/speexec.c:349 ../mediastreamer2/src/speexec.c:367 -#, fuzzy msgid "Echo canceller using speex library" msgstr "Echo cancellering med hjälp av speex" @@ -1483,9 +1489,8 @@ msgid "A MPEG4 decoder using ffmpeg library" msgstr "En MPEG4 decoder via ffmpeg" #: ../mediastreamer2/src/videodec.c:718 -#, fuzzy msgid "A RTP/JPEG decoder using ffmpeg library" -msgstr "En MJPEG decode via ffmpeg" +msgstr "En RTP/JPEG decoder via ffmpeg" #: ../mediastreamer2/src/videodec.c:734 msgid "A MJPEG decoder using ffmpeg library" @@ -1516,9 +1521,8 @@ msgid "A video snow encoder using ffmpeg library." msgstr "En video snow encoder via ffmpeg" #: ../mediastreamer2/src/videoenc.c:925 -#, fuzzy msgid "A RTP/MJPEG encoder using ffmpeg library." -msgstr "En MJPEG decode via ffmpeg" +msgstr "En RTP/MJPEG encoder via ffmpeg" #: ../mediastreamer2/src/videoenc.c:959 msgid "" @@ -1542,11 +1546,10 @@ msgstr "" "garanteras." #: ../mediastreamer2/src/videoenc.c:1011 -#, fuzzy msgid "A MJPEG encoder using ffmpeg library." -msgstr "En MJPEG decode via ffmpeg" +msgstr "En MJPEG encoder via ffmpeg" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "En generisk video utgång" @@ -1578,18 +1581,16 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "Kopplad" + #~ msgid "SIP address" #~ msgstr "SIP Adress" #~ msgid "Bresilian" #~ msgstr "Brasiliansk" -#~ msgid "Homepage" -#~ msgstr "Hemsidan" - -#~ msgid "Show debug window" -#~ msgstr "Visa debugfönstret" - #~ msgid "_View" #~ msgstr "_Vy" diff --git a/po/zh_CN.po b/po/zh_CN.po index 3efab5257..fdfcbe81c 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone 0.7.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-03-02 10:42+0100\n" +"POT-Creation-Date: 2010-03-10 14:21+0100\n" "PO-Revision-Date: 2009-09-24 18:39+0300\n" "Last-Translator: Jiang Honglei\n" "Language-Team: Jiang Honglei\n" @@ -47,17 +47,17 @@ msgid "" "\\Program Files\\Linphone)" msgstr "" -#: ../gtk-glade/main.c:436 +#: ../gtk-glade/main.c:396 #, fuzzy, c-format msgid "Call with %s" msgstr "与 %s 聊天" -#: ../gtk-glade/main.c:749 +#: ../gtk-glade/main.c:709 #, c-format msgid "Incoming call from %s" msgstr "来自 %s 的呼叫" -#: ../gtk-glade/main.c:787 +#: ../gtk-glade/main.c:747 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -69,27 +69,27 @@ msgstr "" "你是否允许他看到你的在线状态或者将它加为你的好友允许?\n" "如果你回答否,则会将该人临时性的放入黑名单" -#: ../gtk-glade/main.c:865 +#: ../gtk-glade/main.c:825 #, fuzzy, c-format msgid "" "Please enter your password for username %s\n" " at domain %s:" msgstr "请输入你的密码 %s:" -#: ../gtk-glade/main.c:962 +#: ../gtk-glade/main.c:922 msgid "Website link" msgstr "" -#: ../gtk-glade/main.c:998 +#: ../gtk-glade/main.c:958 msgid "Linphone - a video internet phone" msgstr "Linphone - 互联网视频电话" -#: ../gtk-glade/main.c:1017 +#: ../gtk-glade/main.c:977 #, c-format msgid "%s (Default)" msgstr "%s (缺省)" -#: ../gtk-glade/main.c:1258 +#: ../gtk-glade/main.c:1225 msgid "A free SIP video-phone" msgstr "免费的 SIP 视频电话" @@ -371,7 +371,7 @@ msgstr "通话结束" msgid "Unmute" msgstr "静音" -#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:40 +#: ../gtk-glade/incall_view.c:180 ../gtk-glade/main.glade.h:43 msgid "Mute" msgstr "静音" @@ -429,166 +429,178 @@ msgid "9" msgstr "9" #: ../gtk-glade/main.glade.h:13 +#, fuzzy +msgid "Add contacts from directory" +msgstr "从 %s 目录增加好友 " + +#: ../gtk-glade/main.glade.h:14 msgid "Contact list" msgstr "好友列表" -#: ../gtk-glade/main.glade.h:14 +#: ../gtk-glade/main.glade.h:15 msgid "Terminate call" msgstr "挂断电话" -#: ../gtk-glade/main.glade.h:15 +#: ../gtk-glade/main.glade.h:16 #, fuzzy msgid "Welcome !" msgstr "欢迎 !" -#: ../gtk-glade/main.glade.h:16 +#: ../gtk-glade/main.glade.h:17 msgid "A" msgstr "" -#: ../gtk-glade/main.glade.h:17 +#: ../gtk-glade/main.glade.h:18 msgid "" "ADSL\n" "Fiber Channel" msgstr "" -#: ../gtk-glade/main.glade.h:19 +#: ../gtk-glade/main.glade.h:20 msgid "" "All users\n" "Online users" msgstr "" -#: ../gtk-glade/main.glade.h:21 +#: ../gtk-glade/main.glade.h:22 msgid "Assistant" msgstr "配置向导" -#: ../gtk-glade/main.glade.h:22 +#: ../gtk-glade/main.glade.h:23 msgid "Audio & Video" msgstr "音频 & 视频" -#: ../gtk-glade/main.glade.h:23 +#: ../gtk-glade/main.glade.h:24 msgid "Audio only" msgstr "音频" -#: ../gtk-glade/main.glade.h:24 +#: ../gtk-glade/main.glade.h:25 msgid "Automatically log me in" msgstr "" -#: ../gtk-glade/main.glade.h:25 +#: ../gtk-glade/main.glade.h:26 msgid "B" msgstr "" -#: ../gtk-glade/main.glade.h:26 ../gtk-glade/parameters.glade.h:20 +#: ../gtk-glade/main.glade.h:27 ../gtk-glade/parameters.glade.h:21 msgid "C" msgstr "" -#: ../gtk-glade/main.glade.h:27 +#: ../gtk-glade/main.glade.h:28 ../gtk-glade/call_logs.glade.h:1 +msgid "Call history" +msgstr "呼叫历史" + +#: ../gtk-glade/main.glade.h:29 msgid "Check for updates" msgstr "" -#: ../gtk-glade/main.glade.h:28 +#: ../gtk-glade/main.glade.h:30 msgid "D" msgstr "" -#: ../gtk-glade/main.glade.h:29 +#: ../gtk-glade/main.glade.h:31 msgid "Default" msgstr "缺省" -#: ../gtk-glade/main.glade.h:30 +#: ../gtk-glade/main.glade.h:32 msgid "Digits" msgstr "" -#: ../gtk-glade/main.glade.h:31 +#: ../gtk-glade/main.glade.h:33 msgid "Duration" msgstr "通话时间" -#: ../gtk-glade/main.glade.h:32 +#: ../gtk-glade/main.glade.h:34 msgid "Duration:" msgstr "通话计时:" -#: ../gtk-glade/main.glade.h:33 +#: ../gtk-glade/main.glade.h:35 msgid "Enable self-view" msgstr "启用self-view" -#: ../gtk-glade/main.glade.h:34 +#: ../gtk-glade/main.glade.h:36 msgid "Enter username, phone number, or full sip address" msgstr "请输入用户名、电话号码或者SIP地址" -#: ../gtk-glade/main.glade.h:35 +#: ../gtk-glade/main.glade.h:37 +msgid "Homepage" +msgstr "" + +#: ../gtk-glade/main.glade.h:38 msgid "In call" msgstr "呼入" -#: ../gtk-glade/main.glade.h:36 +#: ../gtk-glade/main.glade.h:39 msgid "Internet connection:" msgstr "网络连接:" -#: ../gtk-glade/main.glade.h:37 +#: ../gtk-glade/main.glade.h:40 #, fuzzy msgid "Login information" msgstr "登陆信息" -#: ../gtk-glade/main.glade.h:38 +#: ../gtk-glade/main.glade.h:41 msgid "Lookup:" msgstr "查找:" -#: ../gtk-glade/main.glade.h:39 +#: ../gtk-glade/main.glade.h:42 msgid "Main view" msgstr "" -#: ../gtk-glade/main.glade.h:41 +#: ../gtk-glade/main.glade.h:44 #, fuzzy msgid "My current identity:" msgstr "我的当前ID:" -#: ../gtk-glade/main.glade.h:42 +#: ../gtk-glade/main.glade.h:45 #, fuzzy msgid "Password" msgstr "密码" -#: ../gtk-glade/main.glade.h:43 +#: ../gtk-glade/main.glade.h:46 #, fuzzy msgid "SIP address or phone number:" msgstr "SIP地址或电话号码" -#: ../gtk-glade/main.glade.h:44 +#: ../gtk-glade/main.glade.h:47 +msgid "Search" +msgstr "" + +#: ../gtk-glade/main.glade.h:48 msgid "Show current call" msgstr "" -#: ../gtk-glade/main.glade.h:45 +#: ../gtk-glade/main.glade.h:49 +msgid "Show debug messages" +msgstr "" + +#: ../gtk-glade/main.glade.h:50 msgid "Start call" msgstr "开始呼叫" -#: ../gtk-glade/main.glade.h:46 +#: ../gtk-glade/main.glade.h:51 msgid "Terminate call" msgstr "终止呼叫" -#: ../gtk-glade/main.glade.h:47 +#: ../gtk-glade/main.glade.h:52 #, fuzzy msgid "Username" msgstr "用户名:" -#: ../gtk-glade/main.glade.h:48 +#: ../gtk-glade/main.glade.h:53 #, fuzzy msgid "_Linphone" msgstr "_Linphone" -#: ../gtk-glade/main.glade.h:49 +#: ../gtk-glade/main.glade.h:54 msgid "_Modes" msgstr "_模式" -#: ../gtk-glade/main.glade.h:50 -#, fuzzy -msgid "gtk-connect" -msgstr "连接" - -#: ../gtk-glade/main.glade.h:51 -msgid "gtk-find" -msgstr "" - -#: ../gtk-glade/main.glade.h:52 +#: ../gtk-glade/main.glade.h:55 msgid "in" msgstr "" -#: ../gtk-glade/main.glade.h:53 +#: ../gtk-glade/main.glade.h:56 #, fuzzy msgid "label" msgstr "label" @@ -686,10 +698,6 @@ msgstr "请输入密码..." msgid "UserID" msgstr "" -#: ../gtk-glade/call_logs.glade.h:1 -msgid "Call history" -msgstr "呼叫历史" - #: ../gtk-glade/sip_account.glade.h:1 msgid "Configure a SIP account" msgstr "配置 SIP 账户" @@ -779,44 +787,49 @@ msgstr "语言设置" #: ../gtk-glade/parameters.glade.h:7 #, fuzzy +msgid "Level" +msgstr "语言设置" + +#: ../gtk-glade/parameters.glade.h:8 +#, fuzzy msgid "NAT and Firewall" msgstr "NAT及防火墙" -#: ../gtk-glade/parameters.glade.h:8 +#: ../gtk-glade/parameters.glade.h:9 msgid "Ports" msgstr "端口" -#: ../gtk-glade/parameters.glade.h:9 +#: ../gtk-glade/parameters.glade.h:10 msgid "Privacy" msgstr "隐私" -#: ../gtk-glade/parameters.glade.h:10 +#: ../gtk-glade/parameters.glade.h:11 msgid "Proxy accounts" msgstr "Proxy 账户" -#: ../gtk-glade/parameters.glade.h:11 +#: ../gtk-glade/parameters.glade.h:12 #, fuzzy msgid "Transport" msgstr "传输协议" -#: ../gtk-glade/parameters.glade.h:12 +#: ../gtk-glade/parameters.glade.h:13 msgid "Video" msgstr "视频" -#: ../gtk-glade/parameters.glade.h:13 +#: ../gtk-glade/parameters.glade.h:14 msgid "ALSA special device (optional):" msgstr "" -#: ../gtk-glade/parameters.glade.h:14 +#: ../gtk-glade/parameters.glade.h:15 msgid "Add" msgstr "添加" -#: ../gtk-glade/parameters.glade.h:15 +#: ../gtk-glade/parameters.glade.h:16 #, fuzzy msgid "Audio RTP/UDP:" msgstr "音频 RTP/UDP" -#: ../gtk-glade/parameters.glade.h:16 +#: ../gtk-glade/parameters.glade.h:17 msgid "" "Audio codecs\n" "Video codecs" @@ -824,85 +837,85 @@ msgstr "" "音频编码\n" "视频编码" -#: ../gtk-glade/parameters.glade.h:18 +#: ../gtk-glade/parameters.glade.h:19 msgid "Behind NAT / Firewall (specify gateway IP below)" msgstr "位于NAT或防火墙之后(请填写防火墙地址)" -#: ../gtk-glade/parameters.glade.h:19 +#: ../gtk-glade/parameters.glade.h:20 msgid "Behind NAT / Firewall (use STUN to resolve)" msgstr "STUN服务器地址" -#: ../gtk-glade/parameters.glade.h:21 +#: ../gtk-glade/parameters.glade.h:22 msgid "CIF" msgstr "" -#: ../gtk-glade/parameters.glade.h:22 +#: ../gtk-glade/parameters.glade.h:23 #, fuzzy msgid "Capture device:" msgstr "录音设备" -#: ../gtk-glade/parameters.glade.h:23 +#: ../gtk-glade/parameters.glade.h:24 msgid "Codecs" msgstr "编码" -#: ../gtk-glade/parameters.glade.h:24 +#: ../gtk-glade/parameters.glade.h:25 msgid "Direct connection to the Internet" msgstr "直连" -#: ../gtk-glade/parameters.glade.h:25 +#: ../gtk-glade/parameters.glade.h:26 msgid "Disable" msgstr "禁用" -#: ../gtk-glade/parameters.glade.h:26 +#: ../gtk-glade/parameters.glade.h:27 msgid "Done" msgstr "确认" -#: ../gtk-glade/parameters.glade.h:27 +#: ../gtk-glade/parameters.glade.h:28 #, fuzzy msgid "Download speed limit in Kbit/sec:" msgstr "下传速率限制 kbit/sec" -#: ../gtk-glade/parameters.glade.h:28 +#: ../gtk-glade/parameters.glade.h:29 msgid "Edit" msgstr "编辑" -#: ../gtk-glade/parameters.glade.h:29 +#: ../gtk-glade/parameters.glade.h:30 msgid "Enable" msgstr "启用" -#: ../gtk-glade/parameters.glade.h:30 +#: ../gtk-glade/parameters.glade.h:31 msgid "Enable echo cancellation" msgstr "启用回声抑制" -#: ../gtk-glade/parameters.glade.h:31 +#: ../gtk-glade/parameters.glade.h:32 msgid "Erase all passwords" msgstr "删除所有编码" -#: ../gtk-glade/parameters.glade.h:32 +#: ../gtk-glade/parameters.glade.h:33 msgid "Manage SIP Accounts" msgstr "SIP账户管理" -#: ../gtk-glade/parameters.glade.h:33 +#: ../gtk-glade/parameters.glade.h:34 msgid "Multimedia settings" msgstr "音视频设置" -#: ../gtk-glade/parameters.glade.h:34 +#: ../gtk-glade/parameters.glade.h:35 msgid "Network settings" msgstr "网络设置" -#: ../gtk-glade/parameters.glade.h:35 +#: ../gtk-glade/parameters.glade.h:36 msgid "Playback device:" msgstr "回放设备" -#: ../gtk-glade/parameters.glade.h:36 +#: ../gtk-glade/parameters.glade.h:37 msgid "Prefered video resolution:" msgstr "视频分辨率" -#: ../gtk-glade/parameters.glade.h:37 +#: ../gtk-glade/parameters.glade.h:38 msgid "Public IP address:" msgstr "公网 IP 地址" -#: ../gtk-glade/parameters.glade.h:38 +#: ../gtk-glade/parameters.glade.h:39 msgid "" "Register to FONICS\n" "virtual network !" @@ -910,104 +923,108 @@ msgstr "" "注册到 FONICS\n" "虚拟网络!" -#: ../gtk-glade/parameters.glade.h:40 +#: ../gtk-glade/parameters.glade.h:41 msgid "Remove" msgstr "移除" -#: ../gtk-glade/parameters.glade.h:41 +#: ../gtk-glade/parameters.glade.h:42 msgid "Ring device:" msgstr "响铃设备" -#: ../gtk-glade/parameters.glade.h:42 +#: ../gtk-glade/parameters.glade.h:43 msgid "Ring sound:" msgstr "铃声:" -#: ../gtk-glade/parameters.glade.h:43 +#: ../gtk-glade/parameters.glade.h:44 msgid "SIP (UDP):" msgstr "SIP (UDP)" -#: ../gtk-glade/parameters.glade.h:44 +#: ../gtk-glade/parameters.glade.h:45 msgid "Send DTMFs as SIP info" msgstr "" -#: ../gtk-glade/parameters.glade.h:45 +#: ../gtk-glade/parameters.glade.h:46 msgid "Set Maximum Transmission Unit:" msgstr "设置Maximum Transmission Unit(MTU):" -#: ../gtk-glade/parameters.glade.h:46 +#: ../gtk-glade/parameters.glade.h:47 msgid "Settings" msgstr "设置" -#: ../gtk-glade/parameters.glade.h:47 +#: ../gtk-glade/parameters.glade.h:48 +msgid "Show advanced settings" +msgstr "" + +#: ../gtk-glade/parameters.glade.h:49 #, fuzzy msgid "Stun server:" msgstr "Stun 服务器地址:" -#: ../gtk-glade/parameters.glade.h:48 +#: ../gtk-glade/parameters.glade.h:50 msgid "This section defines your SIP address when not using a SIP account" msgstr "该段在你不使用SIP账号时的SIP地址" -#: ../gtk-glade/parameters.glade.h:49 +#: ../gtk-glade/parameters.glade.h:51 #, fuzzy msgid "Upload speed limit in Kbit/sec:" msgstr "上传速率限制 kbit/sec" -#: ../gtk-glade/parameters.glade.h:50 +#: ../gtk-glade/parameters.glade.h:52 msgid "Use IPv6 instead of IPv4" msgstr "使用 IPv6" -#: ../gtk-glade/parameters.glade.h:51 +#: ../gtk-glade/parameters.glade.h:53 #, fuzzy msgid "User interface" msgstr "界面设置:" -#: ../gtk-glade/parameters.glade.h:52 +#: ../gtk-glade/parameters.glade.h:54 #, fuzzy msgid "Video RTP/UDP:" msgstr "视频 RTP/UDP" -#: ../gtk-glade/parameters.glade.h:53 +#: ../gtk-glade/parameters.glade.h:55 #, fuzzy msgid "Video input device:" msgstr "视频输入设备" -#: ../gtk-glade/parameters.glade.h:54 +#: ../gtk-glade/parameters.glade.h:56 msgid "Your display name (eg: John Doe):" msgstr "你的显示名 (如:张三):" -#: ../gtk-glade/parameters.glade.h:55 +#: ../gtk-glade/parameters.glade.h:57 msgid "Your resulting SIP address:" msgstr "你的SIP地址结果:" -#: ../gtk-glade/parameters.glade.h:56 +#: ../gtk-glade/parameters.glade.h:58 msgid "Your username:" msgstr "你的用户名:" -#: ../gtk-glade/parameters.glade.h:57 +#: ../gtk-glade/parameters.glade.h:59 msgid "a sound card\n" msgstr "声卡\n" -#: ../gtk-glade/parameters.glade.h:59 +#: ../gtk-glade/parameters.glade.h:61 msgid "default camera" msgstr "缺省摄像头" -#: ../gtk-glade/parameters.glade.h:60 +#: ../gtk-glade/parameters.glade.h:62 msgid "default soundcard" msgstr "缺省声卡" -#: ../gtk-glade/parameters.glade.h:61 +#: ../gtk-glade/parameters.glade.h:63 msgid "default soundcard\n" msgstr "缺省声卡\n" -#: ../gtk-glade/parameters.glade.h:63 +#: ../gtk-glade/parameters.glade.h:65 msgid "gtk-go-down" msgstr "" -#: ../gtk-glade/parameters.glade.h:64 +#: ../gtk-glade/parameters.glade.h:66 msgid "gtk-go-up" msgstr "" -#: ../gtk-glade/parameters.glade.h:65 +#: ../gtk-glade/parameters.glade.h:67 msgid "gtk-media-play" msgstr "" @@ -1080,49 +1097,49 @@ msgstr "" msgid "Ready" msgstr "就绪" -#: ../coreapi/linphonecore.c:1401 +#: ../coreapi/linphonecore.c:1402 msgid "Remote end seems to have disconnected, the call is going to be closed." msgstr "对方断开连接, 通话终止." -#: ../coreapi/linphonecore.c:1638 +#: ../coreapi/linphonecore.c:1640 msgid "Looking for telephone number destination..." msgstr "查询对方电话号码.." -#: ../coreapi/linphonecore.c:1640 +#: ../coreapi/linphonecore.c:1642 msgid "Could not resolve this number." msgstr "该号码无法解析." -#: ../coreapi/linphonecore.c:1713 +#: ../coreapi/linphonecore.c:1715 msgid "" "Could not parse given sip address. A sip url usually looks like sip:" "user@domain" msgstr "无法解析给定的SIP地址. SIP url 应有如下格式: " -#: ../coreapi/linphonecore.c:1827 +#: ../coreapi/linphonecore.c:1829 msgid "Sorry, having multiple simultaneous calls is not supported yet !" msgstr "抱歉, 还不支持并发多路呼叫!" -#: ../coreapi/linphonecore.c:1871 +#: ../coreapi/linphonecore.c:1873 msgid "Contacting" msgstr "联系中" -#: ../coreapi/linphonecore.c:1887 +#: ../coreapi/linphonecore.c:1889 msgid "could not call" msgstr "无法呼叫" -#: ../coreapi/linphonecore.c:2303 ../coreapi/exevents.c:50 +#: ../coreapi/linphonecore.c:2305 ../coreapi/exevents.c:50 msgid "Connected." msgstr "连接建立." -#: ../coreapi/linphonecore.c:2337 +#: ../coreapi/linphonecore.c:2339 msgid "Call ended" msgstr "呼叫结束" -#: ../coreapi/linphonecore.c:2861 +#: ../coreapi/linphonecore.c:2863 msgid "No nat/firewall address supplied !" msgstr "没有提供NAT/firewall地址!" -#: ../coreapi/linphonecore.c:2873 ../coreapi/linphonecore.c:2885 +#: ../coreapi/linphonecore.c:2875 ../coreapi/linphonecore.c:2887 #, c-format msgid "Invalid nat address '%s' : %s" msgstr "无效NAT地址 '%s' : '%s'" @@ -1421,7 +1438,7 @@ msgstr "" msgid "RTP output filter" msgstr "" -#: ../mediastreamer2/src/msrtp.c:492 ../mediastreamer2/src/msrtp.c:510 +#: ../mediastreamer2/src/msrtp.c:493 ../mediastreamer2/src/msrtp.c:511 msgid "RTP input filter" msgstr "" @@ -1555,7 +1572,7 @@ msgstr "" msgid "A MJPEG encoder using ffmpeg library." msgstr "" -#: ../mediastreamer2/src/videoout.c:1323 ../mediastreamer2/src/videoout.c:1341 +#: ../mediastreamer2/src/videoout.c:1807 ../mediastreamer2/src/videoout.c:1825 msgid "A generic video display" msgstr "" @@ -1587,6 +1604,10 @@ msgstr "" msgid "A webcam grabber based on directshow." msgstr "" +#, fuzzy +#~ msgid "gtk-connect" +#~ msgstr "连接" + #, fuzzy #~ msgid "SIP address" #~ msgstr "SIP 地址" From 8e675c90eb66ff32d31726ecaa58a8644a2d6029 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 11 Mar 2010 15:08:43 +0100 Subject: [PATCH 6/6] use guessed contact address in ack too. --- coreapi/sal_eXosip2.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/coreapi/sal_eXosip2.c b/coreapi/sal_eXosip2.c index a8b9b2a16..daae709db 100644 --- a/coreapi/sal_eXosip2.c +++ b/coreapi/sal_eXosip2.c @@ -667,6 +667,7 @@ static void call_accepted(Sal *sal, eXosip_event_t *ev){ sdp_message_t *sdp; osip_message_t *msg=NULL; SalOp *op; + const char *contact; op=(SalOp*)ev->external_reference; if (op==NULL){ ms_error("A closed call is accepted ?"); @@ -680,6 +681,11 @@ static void call_accepted(Sal *sal, eXosip_event_t *ev){ if (op->base.local_media) sdp_process(op); } eXosip_call_build_ack(ev->did,&msg); + contact=sal_op_get_contact(op); + if (contact) { + _osip_list_set_empty(&msg->contacts,(void (*)(void*))osip_contact_free); + osip_message_set_contact(msg,contact); + } if (op->sdp_answer) set_sdp(msg,op->sdp_answer); eXosip_call_send_ack(ev->did,msg);