From 47bfe663fd941aff94bef54a6ac44f53fbaa2093 Mon Sep 17 00:00:00 2001 From: charras Date: Fri, 26 Feb 2010 15:39:10 +0000 Subject: [PATCH] Setting a new language now update the layer manager. --- common/basicframe.cpp | 17 + common/build_version.cpp | 4 +- common/drawframe.cpp | 14 +- cvpcb/cvframe.cpp | 10 +- gerbview/class_gerbview_layer_widget.cpp | 14 + gerbview/class_gerbview_layer_widget.h | 5 + gerbview/gerberframe.cpp | 19 +- gerbview/wxGerberFrame.h | 5 + include/wxPcbStruct.h | 6 + include/wxstruct.h | 13 +- internat/fr/kicad.mo | Bin 223064 -> 223127 bytes internat/fr/kicad.po | 607 ++++++++++++----------- pcbnew/class_pcb_layer_widget.cpp | 13 + pcbnew/class_pcb_layer_widget.h | 5 + pcbnew/pcbframe.cpp | 14 +- version.txt | 4 +- 16 files changed, 426 insertions(+), 324 deletions(-) diff --git a/common/basicframe.cpp b/common/basicframe.cpp index 67e546fd08..9a90eb41fe 100644 --- a/common/basicframe.cpp +++ b/common/basicframe.cpp @@ -77,6 +77,23 @@ void WinEDA_BasicFrame::ReCreateMenuBar() } +/** Vitual function SetLanguage + * called on a language menu selection + * when using a derived function, do not forget to call this one + */ +void WinEDA_BasicFrame::SetLanguage( wxCommandEvent& event ) +{ + int id = event.GetId(); + + wxGetApp().SetLanguageIdentifier( id ); + if ( wxGetApp().SetLanguage() ) + { + wxLogDebug( wxT( "Recreating menu bar due to language change." ) ); + ReCreateMenuBar(); + Refresh(); + } +} + /** * Load common frame parameters from configuration. diff --git a/common/build_version.cpp b/common/build_version.cpp index dd4fa5d2ed..c61eebaf0b 100644 --- a/common/build_version.cpp +++ b/common/build_version.cpp @@ -6,10 +6,10 @@ #endif #ifndef KICAD_BUILD_VERSION -#define KICAD_BUILD_VERSION "(2010-02-21)" +#define KICAD_BUILD_VERSION "(2010-02-26)" #endif -#define VERSION_STABILITY "RC4" +#define VERSION_STABILITY "RC5" /** Function GetBuildVersion() * Return the build date and version diff --git a/common/drawframe.cpp b/common/drawframe.cpp index 9c82ea95d0..d0af2fe9fb 100644 --- a/common/drawframe.cpp +++ b/common/drawframe.cpp @@ -533,17 +533,13 @@ void WinEDA_DrawFrame::AdjustScrollBars() } +/** function SetLanguage + * called on a language menu selection + * when using a derived function, do not forget to call this one + */ void WinEDA_DrawFrame::SetLanguage( wxCommandEvent& event ) { - int id = event.GetId(); - - wxGetApp().SetLanguageIdentifier( id ); - if ( wxGetApp().SetLanguage() ) - { - wxLogDebug( wxT( "Recreating menu bar due to language change." ) ); - ReCreateMenuBar(); - Refresh(); - } + WinEDA_BasicFrame::SetLanguage( event ); } /** diff --git a/cvpcb/cvframe.cpp b/cvpcb/cvframe.cpp index ce3a2aaf3f..eea1037b50 100644 --- a/cvpcb/cvframe.cpp +++ b/cvpcb/cvframe.cpp @@ -506,14 +506,12 @@ void WinEDA_CvpcbFrame::DisplayModule( wxCommandEvent& event ) } +/** Vitual function SetLanguage + * called on a language menu selection + */ void WinEDA_CvpcbFrame::SetLanguage( wxCommandEvent& event ) { - int id = event.GetId(); - - wxGetApp().SetLanguageIdentifier( id ); - wxGetApp().SetLanguage(); - ReCreateMenuBar(); - Refresh(); + WinEDA_BasicFrame::SetLanguage( event ); } diff --git a/gerbview/class_gerbview_layer_widget.cpp b/gerbview/class_gerbview_layer_widget.cpp index 0e23ea1809..ffa7d1f9da 100644 --- a/gerbview/class_gerbview_layer_widget.cpp +++ b/gerbview/class_gerbview_layer_widget.cpp @@ -76,6 +76,9 @@ GERBER_LAYER_WIDGET::GERBER_LAYER_WIDGET( WinEDA_GerberFrame* aParent, wxWindow* } AppendRenderRows( renderRows, DIM(renderRows) ); + + // Update default tabs labels for gerbview + SetLayersManagerTabsText( ); //------------------------------------------------------ // handle the popup menu over the layer window. @@ -91,6 +94,16 @@ GERBER_LAYER_WIDGET::GERBER_LAYER_WIDGET( WinEDA_GerberFrame* aParent, wxWindow* // using installRightLayerClickHandler } +/** Function SetLayersManagerTabsText + * Update the layer manager tabs labels + * Useful when changing Language or to set labels to a non default value + */ +void GERBER_LAYER_WIDGET::SetLayersManagerTabsText( ) +{ + m_notebook->SetPageText(0, _("Layer") ); + m_notebook->SetPageText(1, _("Render") ); +} + void GERBER_LAYER_WIDGET::installRightLayerClickHandler() { @@ -175,6 +188,7 @@ void GERBER_LAYER_WIDGET::onPopupSelection( wxCommandEvent& event ) } + void GERBER_LAYER_WIDGET::ReFill() { BOARD* brd = myframe->GetBoard(); diff --git a/gerbview/class_gerbview_layer_widget.h b/gerbview/class_gerbview_layer_widget.h index caf9d3a5aa..15968f463e 100644 --- a/gerbview/class_gerbview_layer_widget.h +++ b/gerbview/class_gerbview_layer_widget.h @@ -77,6 +77,11 @@ public: void OnLayerVisible( int aLayer, bool isVisible, bool isFinal ); void OnRenderColorChange( int aId, int aColor ); void OnRenderEnable( int aId, bool isEnabled ); + /** Function SetLayersManagerTabsText + * Update the layer manager tabs labels + * Useful when changing Language or to set labels to a non default value + */ + void SetLayersManagerTabsText( ); //--------------- }; diff --git a/gerbview/gerberframe.cpp b/gerbview/gerberframe.cpp index 8dfc625275..4a6d5e8578 100644 --- a/gerbview/gerberframe.cpp +++ b/gerbview/gerberframe.cpp @@ -182,8 +182,6 @@ WinEDA_GerberFrame::WinEDA_GerberFrame( wxWindow* father, // LAYER_WIDGET is floatable, but initially docked at far right wxAuiPaneInfo lyrs; - lyrs.MinSize( m_LayersManager->GetBestSize() ); // updated in ReFillLayerWidget - lyrs.BestSize( m_LayersManager->GetBestSize() ); lyrs.CloseButton( false ); lyrs.Caption( _( "Visibles" ) ); lyrs.IsFloatable(); @@ -210,9 +208,10 @@ WinEDA_GerberFrame::WinEDA_GerberFrame( wxWindow* father, m_auimgr.AddPane( MsgPanel, wxAuiPaneInfo( horiz ).Name( wxT( "MsgPanel" ) ).Bottom() ); + ReFillLayerWidget(); // this is near end because contents establish size + m_auimgr.Update(); - ReFillLayerWidget(); // this is near end because contents establish size } @@ -485,3 +484,17 @@ void WinEDA_GerberFrame::syncLayerBox() m_SelLayerBox->SetSelection( getActiveLayer() ); } +/** function SetLanguage + * called on a language menu selection + * Update Layer manager title and tabs texts + */ +void WinEDA_GerberFrame::SetLanguage( wxCommandEvent& event ) +{ + WinEDA_DrawFrame::SetLanguage( event ); + m_LayersManager->SetLayersManagerTabsText( ); + wxAuiPaneInfo& pane_info = m_auimgr.GetPane(m_LayersManager); + pane_info.Caption( _( "Visibles" ) ); + m_auimgr.Update(); + + ReFillLayerWidget(); +} diff --git a/gerbview/wxGerberFrame.h b/gerbview/wxGerberFrame.h index 5d648265a7..23884443b2 100644 --- a/gerbview/wxGerberFrame.h +++ b/gerbview/wxGerberFrame.h @@ -179,6 +179,11 @@ public: */ virtual void SaveSettings(); + /** function SetLanguage + * called on a language menu selection + */ + virtual void SetLanguage( wxCommandEvent& event ); + void Process_Special_Functions( wxCommandEvent& event ); void RedrawActiveWindow( wxDC* DC, bool EraseBg ); void ReCreateHToolbar(); diff --git a/include/wxPcbStruct.h b/include/wxPcbStruct.h index 8ba0221ba2..d4c6d89558 100644 --- a/include/wxPcbStruct.h +++ b/include/wxPcbStruct.h @@ -909,6 +909,12 @@ public: */ virtual void SaveSettings(); + /** function SetLanguage + * called on a language menu selection + */ + virtual void SetLanguage( wxCommandEvent& event ); + + DECLARE_EVENT_TABLE() }; diff --git a/include/wxstruct.h b/include/wxstruct.h index 48c93523c5..ca169c4b3a 100644 --- a/include/wxstruct.h +++ b/include/wxstruct.h @@ -126,7 +126,11 @@ public: int ReadHotkeyConfigFile( const wxString& Filename, struct Ki_HotkeyInfoSectionDescriptor* DescList, bool verbose ); - void SetLanguage( wxCommandEvent& event ); + /** function SetLanguage + * called on a language menu selection + * when using a derived function, do not forget to call this one + */ + virtual void SetLanguage( wxCommandEvent& event ); wxString GetFileFromHistory( int cmdId, const wxString& type ); void SetLastProject( const wxString& FullFileName ); @@ -230,7 +234,12 @@ public: void EraseMsgBox(); void Process_PageSettings( wxCommandEvent& event ); virtual void SetToolbars(); - void SetLanguage( wxCommandEvent& event ); + /** function SetLanguage + * called on a language menu selection + * when using a derived function, do not forget to call this one + */ + virtual void SetLanguage( wxCommandEvent& event ); + virtual void ReCreateHToolbar() = 0; virtual void ReCreateVToolbar() = 0; virtual void ReCreateMenuBar(); diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index a2e28baf60db13c1ee67d2c5f6cc2f66fca6b27f..b2a6717d1e472d7cb4bd0302c568e6bdfbc04f70 100644 GIT binary patch delta 52406 zcmXWkci@gy|G@Fv${txI;cM@`N7=J7ic%7iQBk%O-9{8;6O~OUiBKYmo+J&lG>sA& zrKl*9=l#CV`Tg^{&bhAZoX`23aoyC@@9Vue=k3dxJd`)%+ywvkO7=wJdK}$7k(ir1 zk@$YAwTVQve-epwSRLD9&FC1+PkA@y#P6{%p2BPJs*8yPO(u%s%~%0D;z-PcA0W>q z6W?%Ago?9h0J$$E64zoSw4s)G6?VsLcpv7%htUom$MiS_eQqjd!a0}^pT|P@D*F5f zX!~Da7Wz;8%7rhUM?1KTBp{LH-_X&uXa{96D^|c9SPSi_DK^5^I1!&f+sSr0k;s4r z(18>}>#Ji%Y=i~qKhczn>+lXV;vr~?CZP|`Ltk7FU4;g`0W;&4=+0Qb2c4Szm<5la zBR_)%eleCa|405!O+GGcs4_aD+Gykr(T*FVfwYTuK)yeg$+%?a<~=?;{hy!=g^Vl;WZm5gicWzG-GwJ8MebZI2E0e z_plbGOBc#@uoC5=SOb@&%bYG1>F2YHXQ)})F`wah*(19U|L9)dnMHaZz?XBIlJ`Dn(HFLGf@)<@q#Bi@TP za0E^HNwmW==$g40{SR$8eWuWG7A!`&0Q!DyG@u*Nsks?_{x&3lWa3UPZ1_GjvO(yB zW6%emKm(c*T@Za0eSQbJ20lSEb{su}&ct%otHJ=TMh99DZMQV$@YJlxg#pw{RU{HE z&<;CcUhEz3kHAut$H)7t&;YhX-$w)Z93Am@Xgeq4{Y&Vg&caUhy}X#6{u9Nxa4ssM zk=2RiMraCKqYZbA_q$?o%J-n}jYXe(8tq_CtY3s4*Ds-g?~L`w(SFV%>pzjWz=a+B zgQh55mM{f*(2-n&&UtC{`SS68#aLe>S|{FbfSwzT(6!Sz*0(@E2d(1$JF>9FaY{6@MoR;-AwioP6O zi#EJIx(RLYO*D|Lv3`H_3pA5oqf_)V`WZNfPD!q;VQrO3a$!p9qp5C(&SBT+z3Ac` zfX?wFXvgEC6VL%njOC}IQ=-pAr=icyh~?R6V9B{$80iu$gX^$59>Cg|C0pFTXa;UZ z7gI+ZiNn$7enmf2C9|hX)We?Whv_+Nh#$vtmK@=JLu6pd#4s+*z*w|{nP{YQV|hNh zI2YipxB@%k1+0Q?a;8hXfFsc_X1-kM61}h;*2GtE0v^H2cwg=?;8~c}{lAopiriR( zX5cFtf(Im8^>FCM#LiAO%qn+q;d(ehHLl@Cuw4+mK!&jnN^M%0jq3@N7Rz}~elaKxH zjiyw%joP6N^h7_O4`6*9hYj#8tcvH+=gZ^|fi*%KY=LI51De6^=s*Ud+ixtIsRii3 z*XC#c8^8xt*x{#W22NlT{1Y8{?E<0U8_?%(!t1d!R>HyP&$mVB05)J(+=d2LpkU}Y z4Q;q{*NtbAh_o5?QhK_h6 zmc)H%;D4Ye+ufmbXP z2GkOrk}g;gd!r}dbiC31zlsYZK8_wl7tlGs>bi7^$FK?7@iz2#!ERiRd+{b5QaJoF z-j3BM|A7vm)b(LXd!bYK2s-kyXr?D&UibgAT$HEcrBnsqZ?wbXXkcg2)t$ab$jCM5 zh)ZEfEQcN}H)CCV6zymOI#q9?Yvc#C<6K3Eh6 z%VK*p@)7a=V_1yxMD+a^(F|@zxAA+i{yQ{)U(tbGLO))4N`$pkyF@a)*oX>mw8g6U z5W2k%RfiY#rn&!oUK&YmIcsuilgsWK{HezJ@IZr1L}+RlN`o{2g^kCL|cuH za2L95K8)qh(0%_Ex($z_9i76|K@{&7Egim|70}&rb1V-+ciAlTy=}-;Clhnn!= zEkU>UMoh!EE3^Ndi$hcxaiU7P#655=&c>102D4XfW)>L(zk420HNdNiLkD&(H=hqLC+Rgc0XOw__nR;-Y9kZO{fEL_2&c zIxD&$x)NQa>(NEI1)bV`=u{^UabbsN&<7JW!y?Rz&UI0=gG%V)tAqaRZiLKg;6+TsBDK;bI^d0Hrlz4CFGl)JCf0FbiguzY{{meLzoC(4t{nm@h`v}6{e{#J z-4&hDDSHSFY#zFc-bdU04qYo}(D&2V34g%Ji)rrv7F?9(Mjy1}r?DF74eU3x zfoyd{hu2{(%FWTtJc7PI0e$ZUG{AM}K=z;+{Tf{>$MIVFPyE4!k>{uv4xonUoDV=x zw83b{qp%%Lj`d%l4StVya0;Euf6xxH*AG*2Ef%HRB$j)i_n*Y1b2f*IyKoyif@>Ot z5m!Y=)(%~@UC`7IM?0K`u7QQ<+Ia^J-~+UsZ_)S9p=;l(8EZ|0&U z6}~tN9q|e@g|DDSv%+x(*%KyXZl5Fjdd~I}Snd^lsBJR5@E8>aG8uhw4w``_(M{;cKR~zTm*|1?E4uxv zwhODfD|(`iMi=1H3&C`9{RcN5X-|cl@YYVMd;$(h^fVkj`#@r5j&4JV8IR^(d@s@Tr{HMDKtg9&^i7L zT}-FY7yd?5R;Obaaeu5pc@CyBhECZ>==;B77tGWtjJO;62bEFifi*_m|4(vZif5t$ z%tz<;MKsl~qk(KiNBTjm{}%1|a4erjpZgu1y8qD3WxX}5sUm2*mC#Hz!lVy$;=+#m zpeY-I&h0a3q;t`cFGipH6rF-YXsR>b7M{NbO?4W&i0hyOYl-%AGkW&-L<8x28~fim z9YKYWPmR8ScJxy8jp+Z-5${I>{XW*8N9Q&}=a8Y2=m=|LO>7s-kE2sI8_m%6&g_39 z+CzozLj(CTdK5jo&!Q3M>=FVif|e_wQ_=v<#LehI(*vFBL1-q2p&1y1c03cE+6752 zY+z};u`%A*9_#-X>%WX1K|4B)ruILyp-i`jj> z@GQD&SI6>>_`qlAhz_DDJrnO|xFbwO0d$1L(X~KUL5$$LW+R=-#ycM16kI<1HLmT`X%VUPFVU8$}l?{0LUT=h1^{4|;b0gr5DG?@E{0fNil8{);WJeYbFc%|<(Z z0nN}VbmZ$}d8_y7Kk+{<9>RS%9B;fk{LSVjbmWQdA&~3PZPylU=wUQtqtFhfpdHRe zPte8aqF#mf;aa>4^WGEwfHM%2j{HR~9N8{(ahyQcLZKdEl~<28jdnsa)GImx(Xi)J<#Q^W`=8MWGu#_Gz7Bn{ELvX=T|6D4 z1F$;f$yg2FLZABuyJ3dj;r$+Hhl9}V`8Ya|S#7xRg%xPzZ=nav{#ZVOe*gc%+L-^o zFw%DD+;&Dsc-QQ#rE4ag^_kS@b7+f8(f#s9bSIkAk1@3`(0y_YZ7FA;5L$k8UzS1J ztBv+}13Jmg(M8Z39m>Q$Or{OYqr%Bsgihvn=$H%i4dwD^V7<}69ziE>0^0CYwBxmC zuD8Ye-=K4GH2P<(&(trxpSvHEX@iAgMJaTZREg!L=pSKjLOZw*4R|Q7!bj0bD$zgG zS3_4!Uyg^|FkzaIu~8$TQIe}(aan{ zGx7_T!As~qEHNOgp&QXDdJIe9cud1p=*T}n-~R+tf0_F|7pCSY8rey74g86An0a8B zqI}Ub^nPVDV@=SbupRmVABes;INl$F4(v&Eiq^#XjhH7%#oJ!sUi45tjIRC@=T54M^pYFnt>mH zBYqR@_yC%+qv#qq9qTWl4Q3e}MwEt5NgMRNZfJ)3qXCaY=l*zPt|4K>`Os7sM>BaNreSBa-Qj4v2j{Y2)y~LPsdgejXUI;y$ zilQH?YFG`&qo?IYw4blWa0a*_exSlYPQ)8$(fPfEMxOui@Q3&sSf27dvHTPkr@RT> zk_Te>H2Pdl+PA~Hv7c^ehVDhDw|_F;7!_}fMFW|Ho&nR*z5hbIzYY!fb@aJy=ySW! zo$@J`!o=9H9!g_5icQh8<^iALv9Z+L5fEJkFGvF33{Py3AMmi83;m}xq6n$|l`r<@% zaZN+FrdfM%9rqMeESKuHvK0an;05=0exXDnz}8q{8_wz z2p#$FXh)eRg$!Mbro0^bUS~9bf#?}90nP9-bO4*tjP1bGztFLd3mg0z4d5i2fxpnq z{2S{tKN&KS58F_GExHYRq1*6btdB{oj9YLh{*1QQ?Wqvhy=Vp>d5ZmShf}CNaIgI!k%s{ygdcOhs-DrvS_XIlCGbXcLTwKpm zVM;cltN2|s!Vl2~zDGO$84dJoEN7e&MwAP!FNIaHF8Y2yw8K&8IWjSpm!kt%m*m0} zzJtE-3EI$MbVTQ3eTJt)Mhc)GtPN7>_Qlg=j|`WBpcin|&GYpF}&nf_9W+Y8dGC(F(|- zOeX4aQJx2GK{GHiIyw3R+TmI>^8cX?AC2|Dqf>a*v=Bf^w4J)>b8XQK-;QSXK6EXO z#LDjfv0Rj;;#G8?A3#(89h#9}&=j6W*GRhQq2WAexd=MPmC)zw#rw_B_d3M;ccFpx zMW^r)@4NqJc!4jV9j`dNT- z+R?_C`U~B*v7&plADX(sXoruZfjtw;3$YsIHRyi-K3Z^Q_(MuZw4?Fp{b$hBzmM*M zZ_xHG%w+#J;v&ne@T;XI`a5m{TE86|;-z@M?(8r{!_hf^6y3-3VtFCj@m6%i@1f_w z$FY7tdJ=w%2K3u(_P--dKPRL*H=5FG(UF&oEk?lpd-+@>@hz58p zmj8_9f6;+te>Qv@3ZVhkKr@hR9xHA~BkqU(QXLf^n2mP4676^+I+C~0ZMg$G-~n_h z%FGLaR6-YJLv#SG(evR}wBx==Aj!liE^KHD`rs0D4%eWOzm8?`f9P|k!LfK|8(!?dJhZ{TX0*>VltK@y0y##bs!UUq$EYb!?8`qf?gl zTnMN+R-}9h^G8&G^IbH0sj^6XI>CGD1gp+X>{Aw#|N=J8pzfK?0*~FL4_UdMN{}CI+uUo zBFwljG_V})@J)1%KSF=;>_s#1bM$v~&HRHtSA0?UnO+KA%&jmDZ(GFvw}D|)7~xd( z#bxL|{SXc4H*{CzTpUimvgmH;iU!mZ&B#!+oiS*}W}zLfLsPyD9q`Ao{@WxM&e_lC zh%cjGxm-)agHz zII?c&;u;=(1`TXEI+87D2M5p}mA}Puu4Uo5vgrFapqc56PRZTq)b>F;9Doiqi7d`! zVg?s>v;ggB1DdjZ=py+ZP2G=Z!{^YET#V*g9u{8-w4+++$Qz=Ix*fWxyTto4MT`xVd>*FrmL9qo*!ychc1 zkmzVknwm+m;%T&_xoE^I(2=i0r{aHTiua%$>_?wFh>qw)ET2aMOSdvSmos`@v~0B2 zO7_1EHKoEA+DGq-_KglfJ9->_elptOv*-b~0v*T>bSidXEBpj)H~*@Tfi$d0xjH(q z?yHjFg~3!f!cp-?5>3@?oPrCnAC_Ak8k~VHq6O$V@gf@Fhv*c1iKhHSEdPTBp5vv^ zUm^7U;z=(0a!~&R-VZ^tf9p8!u+#T(xUvwC{d&Z$Z zI%lE>+DmA=$=zJIn!iQ2-&r(}Tx-GuMbPu18rH*hXa^I}5zat=qAkTLcn}Rd$17p2 zl#NzF7jSy$$ zlvo@7ac17=NW7iu@3FZ1zvio9Bwf%H^+gxYFBE8faP&B z8psc5hEAi4>_RLjUJLhgL~b9J!rslH?aR5$vadyS3ja7_!HgN|Dg?Dw=ry+a?xt&K~xV7 ztZ}pr`hF*@gx%07c?!+cZ1jAXA6>GM{ci)Ssj$P>&=)>IJN_CS*>QAno{L_I^*J_$ z`fH=5(Ew_o18Rh3s6E!gK4<{Xqvy@CBo`hatFbzMf;Mmk?Ktb}p`ik3KxNU?){eGB z1MY$b*b{wjV61-(UA&Xf_nt$y_e-&ye3J`1`XE+(fj0CLx?0bo9prfM+5ja z`YSr3#G7HxbE5$_LIY`yK7R+gZ683}eF8JO|EF@{3$xG>ER3#+^;^)0-$NJOezbwF z&~14Ho$J5QjAh;u_Inw0#Ldx+-ieGj(HC3d%b4Hq|L-3l?}1H4ef9z`rcP)z~|7B|APjY@2xPP8kjWIH*#Tv9ipA1ccLBKgPv&p z(ZD7}XQF{GKo6?d(2?#!r|L5_fD7nU{D*0nYg^cDRkyMKZTKcC`s4k03x0;CJnijZ zCA6V>SOFWOYvKWP5zfZq_zJqM_M(~k0v-8LG_cF)fU<25&*k6F{&z&zQDFv3qa9U1 z=eT;b0op)wOv8?`JQyAM<7h{-V*M-V0JcPT#rjXtj30{iza`_vrD*1N!i)K$#iA9_ zj_RVT`6f(F4Z8UHqXT&qT>}%*gXRVF_rh}YW3&p**lzS-N*>|D7cZc5lzvADATK(% zMbQUq#&SFKxgN3naJ>IS^aXVBZ9qr*3EJ@?G|>OhMVM!2Y7Hb4Rk=uw2u<-l=z|ZU zBN>Cv^=$Mrx(yBZo9IuNM)^0iojmV`KN*!oKRRvE5f4P)pM(xarOEuBlV;{vSGfYMacde+HM~ zz3^6cw6%O_I*P<{1#}p-(EQzk&cgsS`q5Yh=b>9*JDSG#(0Mq3w)-=>($At%o_~)$ z=wA7c3io2pT_Mbh=!><`e7D3p*bzM@pN#kCqJgeNJKTr{va^je=vT5cjGVde%lYjzuET$ z`qOw1dK_l@D1759paZ%aD`D~(E-G`e1?E8J*j$ z(f6<-<-O61XoqD!3Em!^gd8f##2Z|+=YbEg6&BhXrlKdhsD`7NS%7xD0iC;daS$Fx zN7!*+$k=eKKzS23@;;i0>-UFKtSg%O0a(dBIFSoi?FMv_ycyk%E}jGEBKrvq;A||X z`!w9o6}=vvstV{@YKp#hd$c#&&mb&~BQW*P;1+PU(jnIOL^Co3 zZD1_=+|*dV5Zxtf(172L_rJjElz+l@Sn!JwV6QLO|89%%RQL&7hOX*u=ojY;w80bT zF1d)#ZGkVt`Pu}X`}@$vJ2}?Bh8~k&qV1hU&+)7W!eXw0X8i60?0;8pKPv2KFgoH1 zXh3t&5x$D1b~~ow=jaIkL>E)`ufnP?743+&HyUkk8hRitj&4BP-Ie6RhQ34_`UUMc z)7PO~3~itux(nK(ndyPhIv|#v5(W{n-Is z6J27t2O3}>bmW7hqtU5(GTxt$W?%(6w{M^$eIHHrH)sZaN2e~wLFD{Nl;^^RTA_1$ z2fAt>^Z}fJ9=%Iq{dV*laR8mVzhXJ}p-^819pNo#09|l8_D8qv-y0DUXf!x1yPRC*I$Mep5b12l^WtNa6_l-xqTp z2`O%kE}q-44Bm_Wf}D(YI2CPR4w~v0(SSE&Y7NEuPq94pN743j{tyDc9vx_LG=Pdf zB*TmKsBmsupegGRy%+6hI69|Kq8-hPE|0E@zJ<>5ZnT}FXaMKYjAZ&T)Mt+tO>*JL zs$(6j7kwD-q`VR}a))};Izw!~w26IT2=9I+$OMY$NAif!l!KS5LbJvybw@gYn*kuEVB zr{n#Y<78N*Bk&3L|6DE(aO1jD%vn0lYFtXW@GqpC^4mCu@+ZHt7AW6zhJSAlJN%X| zaR+YrJ^b}(wsRpPL+~D+zv>U}V;@|CZ=-?U^JnN zlG`X9RLb6*G< zD2{&pDx)cE7R#Mtxi1>vaC8?vjqa9b(e_rx@@90g?nVPYc7grx1HV#Xs{ca+%Jz3K zKRVK)=squtro1+qvG!;x2Vyati3a!@dQj~^mPle3`uuKmV8_vb|Nfi(Z;EsM6Dn$> zXZ1~JNB5#%ugB0e@+{iW9;}Ba(A`q}V%TO~&_KpvZCr}A@GG>v9G5}>rO|TTBp0Tt zBid0x@bfm}8k)4iSMyDe8zv2FMXt@}=hAN=_CaZB_ z!%fgR>4K)TI~w6QG_dE<4qnI935Txoqv+I}M+44yIb)ijVxah!*ckyn_OMF%EVH}E!(7Df>E`6$_mgtm>K~p~sos!w;;#(N+zY={L z&D7rL4`^op#MD27&zU|nP!`QVb@YH~jLuc7SiTt@!EIOp2gdsO(Z%TdE77Ukgszco z=mE3~ZFdhkfc==XgCDripQFD<|A_t*y%NooA#{)(9eF-<%8H<=uZ*sR2C>`ij(MhP&iWhiuF^` zsdyF*UyGeWDL$Mt?61L^H7hZ^eDs z4ohTCpZe4EKs1w^&;WO$+xUGnu;kZVI47sk2d|(b%8@0E{95$E%IFj{K?A!p+5?@s zKG6Y~jq*@*TR)CY$wD+^FQRMVRb&w+`R`JO2lk)=e2PAJ2uE`0GhG*zq65v)T~y9piX zTj&Y+9@_B_@%}}$gLFB4XvQ|9nc0E%^AXzKmuMj0=VJfc;g7N6 z6#C-t=yv-Dmywdo=>A=Db^6p_RxQI0l+U6aHq9FXxC8x#^8lKWr_j_d#V)uOdtioq z;rZT4F8sWXKtHQ9vA7SSbG;AK@E0_&ocY5@3ZiQ!4eg)`I&}@u5#E4~um##qJGA|N z=<^e>6eg#0VQMy^FK$O0-i1E+IXd@;(GLDVpFfXo*F=HPQBG`0F(1ytJJI{UU@DX7 zKrhGoYYV2PG?^&Pg^^W2N8So^V}Eo`A3+;<8r@dY(bc;Yox1gCX5K{SdM6s-$7qKK zV*OckVE>};XS>D&i2YZHi(*t%KpSd@rtUVh<2%t8yQ7Qn!FYcV`WYR8zW*eS!&NvI z%U>HZ_HuMB8rXU?Gh310zx*oY!jbGjx5cMe1v3^3i>W52QSO9}a0r^AF=&RSqPt=V zw!_WX0MlQWKG6(sz#DNaHodcZD12RHJf93NA!Qu_oI8FA4m70ss0SzrianR z{1-ZPS+8gR`;+Rr>qBa5p&d0wA8dop+1+T$`=V=L1p3@#=ste}T_X$8sa%7;w-KGP zx6vv309|~C(f7|Jx$pn&w4K#x0B>U& z?n2u+j&}GD8d&=o;$p&iac`*|_C7E}LG_1EJA@1hOtM>BF5?f4|R7S2VlN(-sG4n2^nVMT0)KK~GU zkd2J@pF=aT2F=_XXdv%m>fgcpkPAolP4pzXTK_@kI(PAKzYJEOTnD}13k_^!y#F*B zzzgVzSD*oIh`xso>_99Z!K4qIu9^D&^7aS3HEI;-UD!BWTCtq7%>nC&uzq(J9eqqSMgl zX2kMrbhXSyH~KR4bGH%e;Bjn%MUtgMr1zj17>4EX5gdifus&X2CVlFk@ZF9#P@avo z@l$M!nahS{*BbpEjz%-I8C{<5qwOC+1N}CZlLxsl6+hs8coO?#`*NX!&A6ZPuh;^& zmrtMiyUq+1LO?@sHTCPz4{z6s;c%XZw)+ZJ!A)oej-r2sQLs|#xn!a}7mm0$mcps% z;kf}l&9~rU{1~0%0hL4j<7jy%+R<`!#B0!#VkP`^T|qm}RV@Tq23=IO&<%~Kl{*3 z|A5JkTwGN>{KCHj8&Y0{Zlj}U2L3}wmaRtcIxIuE0v5wg=wUq={TwYo1KWcJ@^id@ z5zRp9n&D5K^=q>Kec(wd^m%jyYq2bDLl4uR&?zZYD~zBT4x-!)owAMS{hjEDzedlE zW3hY*9Y~hi=~I7&nID@|Zd056Zv)RzQ3IbxNAL+&#EbF4GIi3Y{#UsVpqbf(#c>~+ ziL>Y;ytZyQ8Pl*0yhfzL(P$n$82ucLFl9UbU? zbSi$v)PHF1G8d0ik-2GjU=rHELUiulL`VE-y#F0K!gJ{2&Co1(H5y1UG?NvuB-TeW z(H(847yAB#m~^#|=EBwc5}K;l&=|N1M(6euEQd$Xj0kqPSGA{ z1_z?;O+p7W7tPd~mdS81yg`Mjc^4h&$LN7^2yO5bnwh_2Ia909KtA+DD~cXiHPH9& zLfh$!F5XAb#rrB6=rJ_or;@Sa9NN)^cq3Em&`?hFfGLEIpb7e12Xu(SxORv=_RMAHxjzG}_Sg=mNB%mtuJXIyLWL zX*_|BFjw2~UO{X`xg`3H>4}xy{|mVA!4J_z^I0r^gLd#k^i;h62O9ZB^u4Rwg}@7; zM{-Scb$3DMx-a^f9*w>?A3br`Ve0Qh-{Znm?oUG-Czt42$*#yqR(@w8K}UJJFGT5j}$jnB}hU zcO_|PW|K|1@WETr1_q#Wm_&EM^XMXa15M>=^tl4v!Wt=uo`6j;we7Gb<-X|i&!Yo* z58a->U>(eLcPbOfL`yE*e%&w?5!R+WBl~NsT_>Ma0RAep`IZV4KVf3MDFIo8~xCTpF%rchNf@>x<M%SVjo)H^&<( z_eSS(89D`DV*||GHylvSa3tkB&`j<_chO;Ni)H(T0SxY!46AW66}NL^2i}6$^bare z!K#$kqTB8u-h~*m z^SK#~_y}gk-_euqZ#4B+&^40t!EoZ0Mb}6Rtb`AtC)*3?L9_yWe=GX_PBh?s*a4G= zxVVjrDg(mYjYqfJ3Utoap)Y=j2J|($?T(;R_b(by{(<5BD(L-=(E;c;<0*7t3(@D- zB2%7B?B>F=`&)ETTtMeO&qHBOtDzA;i2d+UbT|AM>wm$@lrNzHmw!0yh8F0QbVNTk z-ONtj|3t1eO-9kIwO}=zGJXlhDBDp##~B?uPy7 z$j_k%Rr_v(0`&L7q0%c=!18o4Gcg>J`o+s9JIrwXhR!f`8~9wFVU~z1@ygK zL&8Xlpi@;5ZNE7>MYmzT#RMYO>zL&F?ji{7t{ z-ftAk?a=4$jP>`U=fcRL?0*--+<0Rhx;@@T7v)b_73&QPe+26vor8{a2b#IB&=H=( z8kl}~$YAYgdvrkk&_G6^1D-sb{a=xbwN#jrZ_oh#LRaneBf_uN>R5&HL+IQuL>t(F z{$TkDouc2-b}nNpEHpB#sh*fdc?A00JoLR4NiJN?>tn@M^y~C~tp5o8dVLwq_DFcX zF`9w4XhS_?{Q&g&5m+79U~@c(uBqaq!ut)-sZO@w!W&&N4F{u(X%;#)o6v2wH+nMG zXM8lgR}?+T>Y`I|J9cMI$lwze{|Ii~LkfMfd+Q z%z$sAt9TnaB_E;X`}4Rn<^Mn`xr`f(b8cC;8>8*gBJ+>dscZCqG%CDCt17c{``Xkh)(Obw2X z9moE+qv=%G@CG!1J?MxJpaC2~BmWbPJnQ%{Mc1RNKMf725<0i7(D&~^pYMfE<*-;k zKGr`oo)mavF%_nCEgHx>@xcRl73CvnLqDS@*F|(KTst9jR1OWK2DjWn_wFDKvOyv4PZLj@e9$_XrQm7 z?e9X{{|+5U@-HsZxX3p#e1>bG4Rpe$cn^B=EkPIMKCFs~Nn!4*p@BVs-XD&YaV4hV z7uW{>iuE@>8Gf(~Kn|v4;#n?ST;HM%WOyq4w5o-FP@abFlJS$nHzEC$u()nVJH7{< z>-*763`H|B9!>o;oQ%tG6;^sW{E6ucEN;uip9y~|ZH|?AAc;2o3OZ+-(TseCHhdVJ zlGEtg_!FPSOZXJdni|gj!qdV*buXH+r?4iziGCw~!Mu(v%k;3X3!|&ICYp&BXl90^ zC*C4-x4efo_%r$ux@JaLybaM`Qn#RU{s7wEqiBauV+~vt{T7psEa%Mdz;);%se>Lg zH=~Q?K6F1nj;3@HnwjU(OuUXR;_c}3pP~VrMz`%HH1IsL!h1E*z}nAZ|NCMODvWRl zmceOQ9$&}Cco=J8vDsnOcE&-JhoJ8rMYr!2H1MnEgk4e|(W**wXtJo6X#76jEyx(wM`qck6 zB6%wpp4}_ZsdyU=WIsA*-=lMW1&d?8`C&KIMn}{PT?;+XUGpgV{zP={XQFFtC3@nm&6Y#m&eqZk7gq4^I`7t;0=^Zpqc22W}-hjfWc@6oMrW(uL(wlt>xo#?h)7(j0{6T`3@PC-+998GL=4BO%xD%>Uomxcr5Zmddq3_6Ev z(UE+PruG;=SYQ@jG*6(p^K&+`eJvi zfTJ*VKA>~0cU(MOilLaHE6pf(dTNT@85)GqFX2@6Zdgpiie@w?Rj(? zEk+|>i)LaU8qm*Z!+BSRT~jJr8(ple&?)GHo_G_`j(4Ejbw9dx{=n2f|GUgZ>NC13 zY^#Q7xeFTUs8}A4PQ}XTR&->0(T;yYGnZj?$WSqKtu#TmcTaQ|3`VD54CdqfNlf9w zeYyzk@O5-fx1)>fJ9JG5V92WCD^ts*W zw!Mt0eSPOr|x_Hei;g4b+uo>k^*cA6*eayZ#lv|>KJ&CTR8EER4 zqXXKAsVRv5v6lVsYA*O{_z6}WeQ_X~(y{1VFGf@U8ag$*FcY3c7vFDa>d&JcQtI(~L3B|TLmRGxuJ*R*qU?b_Hw90R>uAPJA?4Mu4E0^m07u9A+34!Ax{fy?_mH4Z2&7qa7E1 zBhP#xU!l9>5*l#2H^a9jJJzIJ5dHno4wFWH9~aZ`IdmJ9+Y%aTfyF8JM_-tNZm$(+ zDtDrRe}!((Ut&42H9S`U4WtGdNWEC!49#GVt?YkC@GupoW(4}eLMe51}J{B$l5+NAhf}UypvI-b3I27j5tA|Ai?kf*$R+p;OuuT{}ZCufPAt z#~X8_tI$kriRBN`kJ0z&e!hfuSns{yAarD_(UGo01Ah|@2)N4Eo$lf;b(X!R^A)-^^<4=PoqE6SE1YR6?AR9 zkEyR4dJcSp4(uQr$Qg98X4)49SQyy_?0+tdydIkB*65me08Qnv=wviyi_lcQj7{)O zwBdhZeeV4sup(%nb+J4)LRWp?=sYar{{MiBD%|)DO>xmr!-%@0YoR|nvf=3V8xzY< zpmYBWx}O)IQ}|+ZGn%nI=s=F48M}xs;{2bH3Hncz<-%3o5PhLDnz}(~$K%kEOh!K< z({K!~K?5rPdFY@T+HgxWqg}Ba_Cu#&MsyY0&UQ@w{oi+77{Cd11nIsAe_+Um2GksF zum`%IAByEkXzJ&pbG`=6$T~EzchGjiv7#?} zrr}$-7;UKAcj5jJOiy__+VCuNgsY>kVNJ?g(dW*f89R#}XvMz|zldt1 z1L%dUg=AtZ7d|*2-KQVK@;UUVEO9XW5vvW_;dpeFKaHkv5t`bU(2Q(Br{Ej3;}huA z{EM!MEQi7r7sS-x|5fM0j$5Ovb1?eiWOOYo#7g*P^cWg&-oxR3Gb}^7JKE6`Xh$>9 z_756uAKibY?Xh7qlPoo)_ivw`okL>^ETwH%N1ke+m+kt3G$D$3c!m_vp9l;N1V85aV z&tK@A{}avfQy9QC=)lUNQ(7yQ+n|AU`6(IZss|OW_JNq1L-d6ivAhCZZ0lqBEwq8% z=yRW<9UVgla1PB-reoo`!qL*`QC<~&zE+Y8A8d+ta7QfP8_SQN0Zl*`)%55>G&5_^ zhTcX4`VejBi|FC#spwzP#PRTaGJCuz5G@uhAFYXYa0A+5JFJa&qa&FW@6W^jlvkkJ zH0RIZ+$e~*P_Bt)Y8*OsbCJcHOf2NW)W3ty;Q`!=$MA7naw24)*vSxaMXXGHZFJG~ zM&BP6eH!g(8M=tyKnL(XnwigW6&}K?{r*on6%U~32WW$TV>`@!IxMog&=KE*rn)y8 z@IbV~(dbmpK+lbp==R)+?)RgyKI<=`z7&@6``?NSUmS>Tj|u26p@rB4cc3Fp_iOmr zXv%t^DSH@wa5Os7 zr_hnlLsPjFU6ik&Q?eD!#0eaM|3-)Y7JgHn!nV}6{5?E3{de}iBVA5KH+&zvV~Mlj z=p2i7Fdyw;B^uBdXdp-8{Zr^k`8RrQTz@W{7tOI8Pz&!AJNR5$JCVl83N9Wc32cWA1X(iB;&PtnD6GV`8!NOK6EXV#m;yWI-n(J#~aWe zAa7ynzlruO7j|6mpD<^o&=l83JH8Fw6%U}PeiUtRYOG%z%j;r!C%XSXMc2?TXge7% zhW87j{Z+B-{%^#E9dtnVYY()8C(t$VEZV>ZH1a*@T%SM}*?(w*xi5utqX@bfo1g)A zMi*Z{Y=k4w_cmg(JQweAVFzc>RA%}&ES5Z2fpTl~{t)z>n2a{C49nt1bgI5XJ3N6d zu1nDZm&2NMXt@R6iG9(IcA%^I3v_jV6U#@@1Lp*~ zdvf!0#GhQXqwUZDd&KgSXl53m?Y-fD6T*wPqC3#lzY9(Mr)X;bjb=@kAvMB+=u|XB z7h7lafO;6s)FL#aE3p!8Mt8+eXrNirXYfBsm`GOP;x;ZeqAz655WE&meR-^oRndc` z7rH2Cq7AJ@JNz8Y)OT1Je?zCLNX87QHB}2eIUA#M-zt=oiOyWOFT0_O@4o26=!1`< z--xHsHL(WW9b3^1e2l(#49(Q&thgoGEqXsXmm|@U zJ%etaC1}bIqTBZGSk7`)$XH3tKz(^M<(1Jj)d`*Zq39G(#nhkwpX0*RuSG|+9nvGdKr&BxnFcBx;B#W{*>sP=%Vb& z@ZxGJT*VvEk#0p7(;h5^2he~np(!nzBLq|%Yf$cib~Fpk$U?N8jcB0nqT75grgjUu z7{5z$;oP1?cR|LSVT3u+a%pUWRnUeXMi=Eobgev(u91!CL9{QH&!Z<@-dy4N(r6|d zpi|Nnoyz1`E*#l>bk5(3{)(o&SnkkqTXfEPpi?ywE8>gT6hFm1m@iL;)L$$f#M+cA zU7aEIL*!m;NqIIJ=r>5e?7zIB;gV=%ZSfWy9P8gfUp$5eR54#z?OkvL zpZOjC<$OLr-*cYxoaa2xbC%!FQiDR|W6qj3hjnR>g)09Z>M=cGSp;>DxFemld=zTL zF_xX6W@ai(fjeybf%48CY6;sizblhUC-^{@x_7EabN*GaW3+QjdPBWx z2SMFzZ$RCgi){a|P#rk{^>mzpYWND&tM)cj{fd>sTyMZMs2R$IdI1$cJ(hQ&I{cuY z^RJbve&=dz4E0!LSdM}^a5~f!ehu{)u7Y|G?12^Gd8m<>igCtQhMMYBSP!;`J>gWS zOMC%pfaP*xohz|ER8OCWYH%!6M?Qv{vZYYh{wUPl98uX>+vlKeu6LpC{>@Mgmkl`Y zh7_1ayBmB8egbt9=RwV6&Uq?&!~Fp@h5pB#^W6mMQe;7OXe884^C8p}Z-F||MX1O1 z(JIcS?FBUxUqa15F4PGRLCxR=sF}M5$$XBhTvcZYYD2xDT3Pmon)*q$e*sj3tD!ou zAJ&3*pdVHXI^&x|b)b)JkB8bn59%>q19i!-6!&xf9;z1RT7aMitO2(}{WQ7_$G~yb z9nWt=P1%DroTaG%bu%SGb*wSeyS|%cAE*-!gX-vKP*2Zp%QLVv^Sl0}qPzHkkh7~F zf%-O!vJ6Xo@p_I#m1Z%vt~-`_=02i}4DHCv)~Sn+Q#!lCwehnl%wQ2YBpb^Il$ z4!vjjIaG&!%%P&2W+&7&IRbSP7DD}qET7;Qt_bz`#6sO{iBQL-TX|=wnd}Gk7>|Rx zIp;%l=sTzZ{s7g^2B`Dp?5Cn@d@BFr zZz0qSu7#S3JQxFyL3O|+7H@jipNbw6pJglfBJFW75uS!|utJ?M*J9WlPKDQ?Mw*l4 zygfgIs`m#}N2}F!maZ=BLi;6{1vkM4utu`>bN*hWqF3uYmM067>wNuYLAAFKY5-fHzP<|}7gmm|WE*Fq z@=z6@g1R|+L%q?4KpprdEM6)YLwga_NVhu&38!iS+|_%W!d4?s+hkAjugSuv2pl-%q zFab`q@)eeAp=NNiZ6ASZ=Ohe+g;4EXh3e>SsBgtGT{-_+Dc99u1p^wAsbzaB?*(;}4zlerwto`TJ@64!2fl@xnGHEq)U!OOo8uVNi{lh*2yZ}5dEIW# zp6CG6XukqAGe1C`aJ6l3g&O&8sHf>LREPhD`d#7a?%1tonKPP-p5LF~6Yx6JR91c7 z*-Z7JW~d$1W7Qez1es8eQGci@eidp)UWXd#G^mk&0S){as-4wP_s9l^Ij#d%;k@m* z2vzZK+jjS`UqWyo@`|u2oD4&7C+rOWgl%Dmp3bgc2-U$WP%~R1!#Q20px&r{=+kYV zLPb;F5o)Tkp?W?XY9y1Pp7#Y%9m}=c40Y*tSnh+Gp(C&wJZx-ZCry8LGpDP?sVs)45OQky81NFkV2X*4+y`7A7fhn~6K=u4nsGD*H)UV_HQ1v}o&Yp>e z8fhK)AbiHMEmQ})+jd44=U)f*N1z-7HN{h)M)*F|h-X5*5$8c&yLGnzFw`|Z4s}x& z!5DZCYG9RKa3bvhbq{1hou>~}2VZ$1$62$t5tKkM9qL+t2-Va7*!Bvj1`a}Oqbg}Nl^IaC5vIzx?gtmOo#8F&ZkruqQtoj(Wa z#4BJOxEtz4QmU^buLw25x|U6$u6ZY@OOXwAo*}j!HHwN(Gy!U4Q=mpJvgIeA`BYB* zUBuvC?@MheIblN^HrUc@{W3G%Sy)N;@n?iR<$uRq}{4uR1^B=pj$?r zr3|zB$ufOaXZJZ;7o~93a5GCXR|id|OkUl@Tbp@2R$s?VlKj;fCRrM+iHzRPh@a_O z1;2v)6`1QBbN+@;Ps-3We(zB`LrLplQ0A`*R2hM^myJnnCQ<)_u@TJm0qvT^_<@{T z6Q9t|j&DfM9&*J$D{$?_dM7K_(f^^&JE^#Akrr!{qb^}D56#DrKE%kj^sVQ4SZ1xA zZT=xi>jLJybX^zn#?jkKHz(y2M!YH?txNYdL%Kp&n$k^uldJ0@O=}6y^_gd+O0M5C z2#wiTAIg|7rCn~wydmRq{}r8N{qo{t5?A+8blyZa7dDd?>j#HlMZ-r=l&o7{)>GE% zw?#iq3f4!)u0ay1xkS>O`HOf4VxgkVS3QZ^Fd$_&THol_v!x+1T;@52*Qsc`vCyCP zSo9uY?rAVY`$Ji^!Cz%68r9Lz@)xtGI zq1}Z?%O{e#(HAiR+fA(GOGdY&T~(%U3|4=Mnqk%#VGVlTVYcl&4Tw~~XnH~|ccoxs zAo>ckoF&3<(cFN&<7jI6o!nKG*iB_UG1&PWNp<{tP#SIWnH=e{DK&Z1l@LiA0nntA1@`-WSid zG*eDmZwtivu-e618f<+}BhoL}Nz-UACm+k0H3j}t=5C9R=#6v@y1sV zkA!azcz?69N?6fX??h>^J>K0P?N?>!_K{JOsnx@m-K@hZ)TlDEsBR0hdRw94b*87z0Dy#$TRjA~7+hpA7c|83e@=FsjVal79$4Q18tbW=*g z_xQXw8C3xb6Pe>vw026;p3dgBOxu%Tx=Z1nRL@B?%3&iOo{^-zInl3RT}yjn3Nb@# z#@@k3Z=Uk9Yj4Qp%e}q6sA}lVB3><9?3!qOgCy)rHoK(XzJTd0)AqGD8>L`hyy+?4 z{gLi5jEa`H{Y}hi8M@zRhRd}5iJm*m^#DCH8DA*d_osXRK=KGyy*zx!y8a>65BSX` zX>lOr*@3U$p_z?$UKxL2p2?8dgJq){Ab%Ds$$0uL;})UQktao39}Gq{rROd^{K#Tg z3eN;GR*vVqOgq@!JAtwH%bV1v%bkP%sJE?jG;y}ZqXK3e#h4c*AH~<(jfGLvzoWmaL>=)(H>Ow1MI@IP zdA|&xU0vE8Ni(Bm`jN8XE$rOa=Kr2*8cY7~>7L?mEBbe^+ty3c(PYnO%pD+t8jO5hMj!PXx6C@~i>hPi>W$`E z>(guavrx7ljW_q?-cg_XZN`Qq`k3F0mj=gtW}I|A7BG=Aj=D!?9ZNGEB=4BdJqcTn z%bjD1-Uw=cSj*~Xp)@G)yGLTDu4EP@yDyWw=`y#VFJDCN;~`UC5{@_VKFf$DWUjQ0 zuCKgxe7G4XcaHnrAJO-MM4w1CtEKCS_uP-rPLRSAzKCno%Hi=yA~?tBB}DnKM4$9W z)TKwuQf9kfW=p%1@n)WkKk1A53V*T~`80a<82K(EKZf7QvXiN1id;PzGCxZ6sX%N? zYw0aUT&DgvnngTb=3IyM0?9lTA09^UW~2jT)~Q7Em~1~4Y5K^iQ$h29cut4RN=Z3A zIJ!UM`8k`#fBkiovH!B(H6r_`W#j2Y&&$~9#G_@DxX%R4=TiMlYV-nR_t5^vdb7f= zS1;NPWc-=3CQLp$ljW^Xdj@^w@MRQ4MTVxMqotKBJsZdl$J&!fYBQgf4`?qVuN#o@5071Q8Sy+8LbUVj z$SuV2E3z?ULQ7@pb&xgVKKOz5G34LEd^_{+l5);({*d((*%LB{Nm_ z6%O`RLXeA637g_5>3AvKq{;kCAx|m#8rq(j_D`Vw2V3S-+Lh%SY>DJw z^+m+dzCc0-Fw-bzUjiG6=bDetrs~(m#mk!cOi>{G9I~tEACkDDcg#ET zW0B9q%D$pd#1D+UNw1dD%w39ksz}6*Hc=z#X@w*V&$aBP{uj|5lW{jf;S=#WmpD$z z(i=h3P4aF8y`_;YLiRl)wRpsP(`U*`+|9_OvGi#fgBO2c=>l`Ui?04Zp0$)AFZ`TN z*LLJZjNeBDkuv(`U{g)b-AoHVf@~sVZ%M+fCP^i+7KtwpVQCQ3Z>cv$;~1lM(Eh)r zFS>6a|6CT|3RJIz))F+15NAi~8*S|OM;u0`rMKL;74oj7m4HSK#%sxzgxeYBW0`(C z;HhpSQu$n2cRLhbQ6*@%{P&I9-yiq1%^db}%#iG1F$4Pz%3eP2u$h=xs%}g|-TFzj zXV!eUMC|>>@(vG|@GmMkB74NJ{$1knswu-Vp3WXVeDH|j{O7!jhxP0G zKkbZR>lY8t9`;K1|Lgc)y_qpJ!v0yVVL5A_;Ajl2L?8 zi-shndcWWMocEv4b(H-3mk@dy^eKaeI9dHzZyI%5&+jw3KHZb6<) zCf?(sI29+*0sM!BvDn|Cp}Lrrau>V|dt)BF0qtNkrsE{^xv7{1@5TK1AYO%!qt95Hv&+&WA9Sr?6V8#Et##qtpJxiM&P?n0wHJv}W% z^+76pVG+7~PoU9$8r=cUqs#ja+R!KQ{^3}E0v*6lXginC4svD+t8gXSUMb9nm12F9 zOvy0f4pfxoMqhLWQ_)16gN}GSn=z!8Phjw$K z&lO5?VS^=NMOn1Ns^|df#rv($4bUDP;1Kk=G10rxcJ4v*ZZ;aRC1^xeM_)h(yd8Z% zxt|L|ei&0*56!P1qG!>De?uGo6H8#0ETMt2=zyxBOVb2>{u*=u9nf}rqwn8{K6e}P zTrzPd7mjFB^r7hE=nF5RIj{{4*+KLSIu^?p(Fvqw4KvM(4&X}k{i5gqD#UUfw7-^k zg{Nw-_`pqAh8tt!1542c)1cuS8$C3VonxtS=QU7w=a>&xtB%=&Q&2I_Sqiy?DPJ+HS{K?i%e8 z?VX+dZ$o`!MgQm^ypsAGV|haKZnVKE=nSXF`uov=KM>1vqVu8)qYp=yMjy@2{&xT? zsj%VI(I?RcpG60!EztnGqaREUU}JnEmj8_RE9VLm8;0h@7&O8&(1G3;%E`oR zF3iq{uqQr@-SIS5!v?w25-V^7`iYq-Pg-IyHp1HY7|z7~SQUF;9%g(G8tR2u8CReY zcn3@3*;JYRmp5-%yZY!6+Y4Qa+c5Rz1{YDDg)UW*e4)M^y8r8=GwXn!7hR(L(TR;f zzvSGGM*3d#!)lRb_x~C$Z1_cV#BZQ4>_HniiVoyd^mp|6ELVi*@}b{7%Ao^jjkePR zJt+sE6Pkd&mqe3u4ko>LoC`bJh(7ol+R#okiT0rbI)XO*bMzuQuuS>Gdj+D!(f7*5 za!qs>HA3I-j(&Rf&(HpE$i*F0G{WbwI)013P_RH4SQWIvI%o)+qao~qPGAta{l=gJ zdI+8QN_0Y7&<@{1BX9^?;MWD%|IWPZm7(FP=nIXp7`DbLI2irV_8tjJ~(1B$s z7&^|2c2E+{jjCuQo1+8njDDC6M00I?k_%s$kEL)0R>19Oww}goFi)YhM04zk&TtVr zKWZQKkUSaNc_n2pY43Hrinbfz27?0yw*#I5Ma zi(VCGR2N;6Hdq;Zp(kJxo8eM)zz5NT=rp?If8b;uOVlV5I^KYO=xoNdxE(v;kfPz6 z@$*=N@+ou%1&W0=?SU@gNOb07&`?i6bK`!jh|6R7ZFHgsF|VKhC%7=Xe?vo(t$3Jm z0W`FQ(SxN4*2kOCj@F<{^(>krAEO=ri_SF9)uEl@XuBoRC8~xFtUjiGs_Mu^ODb+e zL%Rk$;~Qv5bCd{2a$PhD`=cQqjn3r$=tA`4_%ZakC(sTzp~<)%o#=k_y>Bq-#V=fp zz`xOLH#8%7cXU3Q3s1%J3+S5eM%Vse^lS9F-_QtLLOae`GDZTuUlNT#<&y0G@?12d z!jaz;AGifeP#%vqumla^Gw42kCDwm{4&Y04WQ9%u+7Qpa|Mf1#}7Oq9bmIHrNu)?k=(12mKTrf_}bFM>|@BwzCdB zKVFTV#?tQp!sSE5P0$xwM?0Y%^o$OO^~2Cza!V}FKnFe>oybZw^c&IVcA`i1A@sT5 z(d^Grfr-$6q8JzM`wD1?TA>YfL6d1Py2f{)YdaI&{|nLGvksm4$LM=MqXWoPG3=HC z=-O9C+iQ<*&wiNfz{LnI#^FY^gR+%Eme)on~GHEtA}mW37ts~w87!n3vWkf_BI-k zPhYHH|9E%lj6}nsAt-=0xdz_-ej>B(AQKjy%SROCSi)BtU80NUZi z=snSgqK}|Sx*AQkb?Dl@iLUitw8LZQbHAWTcoALdWS-iggJNj%mBVUS6P>}0*c|V{ z)J)I;{(u>nyG~l78&*RjH4W`}KHBjrG(sEEkncis;W#qTWa0uBjwoy0@M2N)D^g{2 zSF}dg?0R%yv(V>XMH~JA&6Q(l$G>4sOs^LPSO?2ez839xGSX0T+(!INHEp zXor{84_`cLqmdbjHZTtDa1J`aRcOdxLqqy5nkxsj9&}<4 zqY-?pG5g<8zeq((JdEzwqD?}mx?y$7)3J`vp%M88ZSWjA;4DqUjIKtPq#>Fky`m%0 z2v0=^I5)bwDf{1wm*WF_&@UJV(VRGgZp-Y=!Wmu*9Y|Mnpfk}3ZAMSZ!{`9>Hcv~8 z!mH7xn2il_2{yugXap}ywg{mrg&nBqf-P_<`rsinLit;U0W?8#q#t(0wdhj)hIW+J zDlN4w^Pmx`9&L#ZtQR`5!RSPjQ@E(f#bPv+yU_=ap(oT&=*e|1mM@~AOxf4C2C!+(Mh1aF3een!BfJFOH zp9d`$MLVn*%MH+owT<<|(2mBTGfkrJJs9hkp-c5-d-lH%zDb1x_yC>xQM7|IvHlV| zuv{HNLsy~il}GDqqmgJ4%RQpkqaELZ4&-k1y?fCJEa;F77f(`QLtD^&xf?x@zC^cQ ziH;$=+oMP9t!NTHj5fFqZEzF%>G)o({|RmPPjrA;I)#Z9M9+<~NiNLdcIX=4ghpTr z8j*Qe9Un&zqP^$|_a_>{D>{b(R7E>#h_=%fYvRCIKMx(?3Ut6PU}|Yz=fZ5>6K{Nk z{(x{8J@b!YWju{lF@Kk^9b2Li=!7u3XC;_tQUJNiPlULn+Z(GJU@Gpmbs)C4{IyQ4GggD&Y! z=)k8&=b-&8@5TQ2;^|oNGCJcO=tw_|_1~gvdk&3I{@!7RWwAEpMzK5^U9y>Igq}wS z^jh>ybRfH<2YR#rJ-bg(;fVi12bBBTP%eUYSP6|p6LcSULw_i}5sl0+Gy=Dw9nV0Q z@FDd5g|U8Ztbab%znqLWc1QQ49UVnOdlqfzJlgSJXh%8wge52ut%eS~Db~P_=s+f; z1Gpbe+GVl)V!WT+$%PGngeJ|g_`o@IDYEnpGt7tPN)a@KWze;)g?7{deZDvP+>NpR zW;9pEqy5~A_Om3ElZo|QxYn2@H?!C=g>7S-Y*=*J+K_*N$64h1lsX?XpVe_ z9z5sKcCWZD)K@{5x-+_sM`AVi|ASn3GQEbL-Jhao{{?&r8}?62^uV96H8vX%POzD1 z$8*peSc=Ykbu6!s_g}`*)W3=2vD(1!i_ItTD);{{TvWr$28C_c5N+rNG-RXD4kn=; z&P0#U`Dk`8#bLM-`(yg`;U}CyXhfEv6WfI5#vwEpa@@fCW_`)UJxb?K8k8PX={U^5 zC1?|`Vg)=H%m1NSP~ygr1y#|ZwvJwlc5xFn#A)auyai3u^Jw;@4-V;h)nHBnSHCh9 zp61Qa81zQd<@)G2bYILyJDeZuSEB>kgzk^G(bfJO?dTlZ@nu88dxg;Y3TU=8ACe3g z1F5J<#ocJIo{JBDfdeR?Lp$y^G<0|)+Tmz)quqlx{4hH3=g=7Mh~@q02mUu$7c&nF z6K#~ig{#>bonc3Gm3u_5TYRxh?W9dEq{bccbaW#+w>L1g6VRRU8QRi6=+H6`4_mPy z+HzU6$ExTe*G3n=7yA5o^!-`r;>{b*BDtC$P~n`j+!R*#Ds*7I(1DFa7jGQe@Kp2+ zScwLEL%jbU8p{LGuVelB=znN?IYxx`3XEWp%#y2PMNRaFmd0oYz0na5#b@wlG%Kzc z8R|38>?)6@b5k@DH=(EOXmldu(1FcHBfA`((9=mS4DpNc#v5qI@1ZXo!W#HJdiWF> z6}E02w4y9p8;#6< zG$LPMIs6gbh*#VilBgQGM7LlW9E%ya6rK4N^!;tZ13%LOq5z0sx7_0er;$NSL;oknvbac7uN zvS_@hh=#I$EVo8y(lgc%LATNE(P`*F=Aw~Wf)4a`Ovl~mLGvz-!gJ{PF=%{RVhFx~ z9OZmSPYBsu3p2RU2dm*-SPP%VW_TEzW8u3(xgR#7ycDhf1pTS&iizP|=#DKY&qbGZ zFS^v9p}F)eUgiG(mkVcF`0nsP1vF$0u{w5-_0!Q1E<_`>9_!#{G@E}yb0z1b&|zNm zq$?DyiRMfvw7+7f1)$UIyt;|H9GS~=s+f7 z6u00iJ?Ep7S~i6V^!ZAAw&4DM;Ex8%J zzZXrOW3hZDmj8+7ni(Qk6rE6YbO3eGj+>%iN_t`z&wxQ(IK!c-3clx|FOET99FHc~ zG;~WYKqIsg4ec}N-rj;nW^b%Nf^Sj&5x3$0?hRY}mit0`b1?Nswkx?XbnC3Zo$-Oa z=*+)DJGy{IAp89xl!ejvTB8FPgq{K8(3vhmC-4j!u@__cO|-ptF=>Z~xiA9XprQE* zt-pXqBGat2)Ss+oN4H@QbRaiiL%bcU;yN6MpQG({njHq#6OG_VwB1SQ(%wIt{qIPY zQ;|AW(eh?=C_2C&(dYg^XPoVU@O7*ldcP7j!@6jPccMu-9sRa+KN^v> z53p^_;+Lp!gj>-DK14hI93AP2SpFRi^}n&cz=Pp)qCEP3U$nzf=s7YzmKUQFScOLL z1@!rCNiOVQA3CFx@y0ncB3b5y^Zp8~L%9;V?{C2BI1df=c67kI(FyEB-#>zWo}5Mp zknN!m*+S^^$&6T03GJYEyfG5}vM?5%@m#c{wXuFZdQk0-_Yb2T{)~2X37u)Kxxpf6 zQdYo<*c6FCGBF}tB<_yRK|5TDj{Ie`;RCV$D|8M2KnIY2UI=A*^tpy;$8FKb_C|AQ z1e&B{uslAFnce?;xG?k|pdtAJ4dJ(FlKhG`oR}ZVxzRN)hCW{by=iRHOigYpV=zke9bx-k5Z(gN*hEP8(m8v0k! zUGN^--f3)te_~UtyNLbo_qcJ3!j0##G36i82g)xF2hebI&2L8c@vK;$i*~#oo$)J} z3EznIJJ6(iA05zfbfUkZk^XNn``?gee>luMKUyw{u6-3W^o`LMI>r0Fu{Px!(3vep z*ZN7cgICd$^KC4H?_xPTgZ}(jU`eR2pX9F=V)-L< zfS<+k*RlK)x`cnDpA9)42?H#JMxb^qw?zk>?8}AUR7b@JW}+QGf_A(Xoyl|PwtNx0 z;U07;3N8%;DTXFxWpo1d(PV3dcH9Sz)F`x_Nyu}_!~!l{!xiYrpThF^GWy`rc>h;) z8~q*2`Im(Ti=#huR6_?)6K$_4+HpH{K>g7H43ADo)wBO+ap8-L&=5b4uGLd`4StBO zS>EMgK((Y=12N4q!JG zuFWZY9Dhd}SiCZH_$<1{ucKML9gV=}(XY^)`5t{P-{awHdI2<<>tP07gT6luZGYIv&gaqR$mt6B?+BCSPlGNjjrzdo9}GKy;?J zqq}T6`u;;mKgq-zE*$ZjXp(%0hVB!z;gje=@1Yx?gq{;i&;f2mmtZ#<@ zhoMP)2l{C_13l1|qwQ`+llgsgn91t1Ufci#g2jkEgPDj6@EyQa0 z5jyZoXs#665WE^q>ays78ewXwqkWKelZhc*II`Q(2k!|t5{uB8u0mg2kIwkjSid9I ze}EoTpQGo(FE|X-{}&vAeJFp3{_3Xm^I;-wu#o$|4;LoSXzYrc&;ezBAFFeyP^ZW554~ax>TRM#Qt{%UsK_}K8rSZ z*~?+u6pm(~$yEUzSoLTF^!=7t1v{ZjG7*i`OmzFrjxIpoUxxPg#LMh|U)V;49lwjt z>>!%;C!;^d`b)8#{grV4N^}6F&>2-hBh(D*;I-%g9z+kEMd7Gezz4tg~s;AHaydV7%ozXAon*WCmxXP9=koxHJ?a*!8A8q$eG$*E_&)2L_44}?t^XcQS|+P&S0h~s2;w)z1zvy-=@kVI3 zF^;5s-5c!xE?n%S!jR|P7A%G~Q~@htbu=gXqe(auJChgN1nbTtZg3j!P2qZ2z{_yEZ-3C-x-~QCf^!#rrXet_o4$mizZ>> zt(XItnh+A!Yurq2C_Md!qZ% zoH`QkpNjq%J*SJOw$GOO9bBeeA>(qRtrtP3Q3j1)Q*<2$qQk!x%i%0EwVy}B_zJoX zd(d`1M^pU-I?8X+t#TIK+cJ-7neiUpQoq!%HPh(fyif!G4IrfIN=#D1Ua5OXz zp&hS5_tHx^2KS*eY_TsyY&g1gp2Q~JM*KIgMbKobiN4o1+6(RIMl6drp%H!vP4W%O8Iah_h1+H) z`rrXH*)F1?&ihH+mgomY8FX7!Mmw&78Q2DI#GBA#^&NBq2hf3?LX+Hv{j5|mBq74j*_s5|#PoitO5S`%@Xoz1yXZ``YWT&H< zzYOh^M3=M{7IOc$<-!NAM~~de-oWMPXTwHx&GyIg578XQ!VD{*1E_)X@fviy9>7$@ z&`;UZX!ietZtK4=^)q<(<6%Sv(E(IK*Qh<(K$mE5Y)E-PyuSnu<)iWbYV@<@88l+= zqXRjLzV{s(;Zk3PoT>H|`@b9&O{wsk<1n5}7?Mlqr(X68A%w-za+O$ai4L$kx{Yo^cgr1UgEL}z5t^)P z(1GuW_uobPIgAeIn+xoJFMg)NnO;QqdHSCr(_au?bEu5D8)QlDCAlH7qd^dvUGx6$o#2`gibzrsKU zVqMBpunxY2ws#sGK;rLEz5L%tl1%=2huwxBb83vGB$ z^boofKg9dzWBD&Mhq7D>9p^;bEs8El4K$+323$Def#}G_qa7^3)Cq@X`F3<^K1K(8 z99@bZ@hZ&uPq<$e4S8)$#|~)3I-?Pth_6c>IRZbDyt4?TE}V@^^ir-=XiPr>CbPkPEZA|BGX9NPXH(VfwEG3kxHvEtL{k?2=w z2j8M2KZ|DZpJ?c_XG%}y!j)*bB>G%6bV(bak?I`p4?qVt5{>BXnbN~Qo4k{X@>I+~ zL$(h62DB56z!7vHSu&@mvOPCiE{x7R0}Xw}SlW_@3D~$-ro|-TYbR? z--{Ld&^0`U!|^26!}eK2B$C*Z@_Ouu|6p71XA4U(A06Oh=r(==9oWn0lI%g3>Igca zEw20VrixLN-6)Q3#+>pjJ7u)eQ!D1ZgMpjKKMMk_FK{9*o(gK zF}h!mq8)vQZSX8E!a7%m`|n^XlIX|np;&(o&80-aFt9A>%u6CCZ!&QW7lx=8+Q3cd z{=ON_-YMwX%|Rox7+vef&;dS!cDOOte~8ZPbM*ah&;#gq^fMt#q0mlQO#L1FYFyZH z9rVQp=!n~<9^eml(FS^;4Gh54KoxX`U62qZ`k@gTiSCNY*bx_DBm5FuVc{a_soxq zA5;4|mRCd{k3JE7GWtw(JsRr&q1$vTn#}vrrTZHFMs*&I?B&HmKSheM|9!AD6|Px* zG~_MO9Ow}r?1S#}8_*n?h_2=R=zH_fhL@pBv=&Xit>}c_LqBCdL7zK~4(PWe7p`rt z;-TXbSe9~iw4rO!?RhKu;zYEendktPVFs>7+j$G^@KbbPU!oB?9n1fq1Iu=G-2Vl+ z@IWYozEBx$xGvgpQ#7<4(EZ;B{k$KDhITSKu!o{c(e~D$ky?j#xEXDC5BlC-Bm&9A zaW3rmB0BO+B|;=}p}A2knt|RggEm+dt6-B@KML(|EZWiZ=xlTX3*!Bi==;xM>i2(J zxv=3~XfAvdJ%NVqJbEDI%m|R^!}Y_B<@Eew-6o3O0>hL(A;_@x(ieP z+0;+DaIJrcH_}RmFCh8Q0W?7e))Q^uCUgK3&>1Ju0nClALL<5{mS2y4gg$>99q1WM z{r>MyE^IJssc_?RH2aI7$yfpnVH@SFr_XN4wFSIe?ykhtcA#YGD${zOOGuxyAx zH>^mx7v7Ciu_0c-CRnpvdg|Y4jK;c@H(+x-i6&vG^5N65FB+jmXtF+mMtCEV|NP=1 zR%}5d@dggVT{sdeRtOy|!u^!r#n!mIVtVQ~pU2Pvb*Yq|corYTW>~v&II72@?asn# zI3JC`cC7E`|F2wlrdO;IX50+RP#%dMrE}4<{b5{%&!B7Eu4<^i4lUn`b~Fv0@%`wz zu>_s@I&=W9#qxKU^oz%zT=+u4YT=7WS#cjujRAQ&w^Fxm(J~2 z0gs>^W~v_E%a8U`0)4+JIEh zo9KBgM>$Ka@ZGQqR-)V)tKePez@9`0vNPWQ42?h{S=*mN`GZ9Cfg#cH=nQ6Kd0dKS z^_%FD{Ep5bXPxxapNbbpXFd;!X4?qKnuG3pNa2;fA0QnT%cC z{|mX8L&aBU2ybl^MmP!Ir#ut;V%Nsu7YI*dBgzM{7v^gcmTEY#pff0mu6+Y^#_g~wc19bRg!S-6^b9|Z4(L~GgH@V^_Qs+| z?tSQq_XwI3kD^QP3?_ZxMJ^2GTj-3AVhOC?JUuZOyP+Z7h~~nN=(a7?B80dGx&&R& zFBZemfsa9RWIWp80(7aDqZ56u1^eH%*hz&mIfT>jWPD(7%h13?w8O>da~seGUPUMH z5xR88qCcSn`3sF?mR8|+N(InJG(g*F(kdAmXiJ6J-WSc@d(lumgr#vgI?!$C3=W_( z{stYuKhZqbg!&R#lluB-PK-jI8-vYpM)a*D7pZO4I@ksc-2>5i=nNL4Nwo$&C!WO$ z_&VCr*JuX?+l2SaqYl5lXVDYwB6?uuZX4RGi?-7eP2OH;@;-n}G@01Jg(2S^DiR-|9eon(zd{H09eTk0 zj?SQHyYO5kbcq_E2iHKXg!9oH*@_PEV|3tO#Pau;`ah%loeLlQ2kp2(`>-2IMVp}e zxDT2hp@lzLLYnzO`8A3 z@+)WuZ$x*;`+L!We}=yI6S|FmM~~z@9YapkK-an@`Z3)XeQzA5{ySU`a$$&9p`m;( zmiM7A97Wgm0@_f{P9ahy(Opm-%VRtAq`MtW(z$3ytD~FI?+bg;h@R=h{`cY^D%xZ2 z&gqE>*auCTkFY8pM?NePxx0ivs_BNa(g-b9!A{-M6K`^VV)xK-gC1e#oiLRX=%?p= zbOO8Z4m{F>{r>_NoqL84iA!kc+xH4~L$^&IG&gQX52&f=ht(xC)cJacnbt;U-Vr_d z2B9bCM0A_Kgw^p6Y>efS*M=`3L(uG=g>Jv+(Iwe}?)zQn{(c`#zN4}H9XjBPXs8o? z!jW7E{YF(M+7~NQo`mMglW49aH*jHc?LiNoeOL`YMYA_k-!PMk=(cN(Mxs}AaP;=* zR5T~%prKxiM&z~Vhv;@Z9_}X-KX75giGE?`mq)Kc*RC|0Tz#+|PDA(i9yDUVqDfo$ zy7bil*+>(#!v~^|p)-9U`W`yKQ<&lB|KD5~+G72~gH_Q6+M#RMAKeAx(Ii@khH?-3 z+%IU3WEv25Ninp&8dw`!qR)>Dgj4aJo=hMCnzZ?r;3JQVGC zDjLGMm;*PX1APk}$Y8)yofHm!6L(z#%#MFN_bv75S`5JU4o6wy21YP?d(KXFEI)u0_j-Y%kx*N8| z`ggD@<%8&eGv6L|LkVbnOnt`XA8e{*D$H z6V|vY`d;_wV07SP(dQST5qS=s`A6u-`m4ByWzYxfqYbn}KO=5L zXL38*;S{u?xv{(o?dV0c-A~Z>zDJktPjsoWjt%W!J(m6N8djsi2Rfn$M?ZAtQ_v0; zMAt-LK^xwKzV{hA;8W-tpNsdij|=w;q0g5^pQ{t=TPL}2<~`Bm853_jh;FlGXi~n3 z)iM8_;YYA*qPL?nU4iD%OXv)Dqet$SXaw_)4^~7c)CwI)vNspbcoh-{k)$H? zWc zQDa6JU;}hu*PxN=oQxL((Cu_H+VEU-08gSb-iQw1b#&zW(1CxAF3|-v`~OAK|PrTjYD&`$K=`V7s5bLexKW`=>} zMzjAabRzxG2@FSf(cMV<{NJX;2cAP4-hw922k1;rU}|P)=(61#LYWs`%c7WpjnI$| zK%c)E?RY|TCOXgsX#1-%_21!ql?!LGA2aYQ`Z0X@eW8IW*phNXtcH`(q+E~H@hH0X zIqwexYlGhJj#Y66X5b6h9{0!kt7h?q#r@xo3s0sy(B#^LHgF8D!^>xH0xv>u)!Gky(Z<`y={y)%zs_DECv7uO-^5S{ye?KJNp~AI4 zh3@M=FfZnrA0kl#jZAm6p}W!DvI<>-omd)wLzB1Qg0O@Y&^2#^ws$Ss-%VHx?^(b; z_hJ(j&g{GRzjI1L1Vk2~fU9cRE!iu;6o8wljgMXn(TYYi({eKtqz3pfOj-ZkJ3Ed@`9}Y=a z8a+u{qt7Kr#f!=4m%_PN7q_6h;4J!~k#k8{<9uiY3P&@d6{0nw4Wccg?W5h%cKabq zl1z-}!mPa?&DsTMa;-wQ+jD4g9YJSw0*%x~bRfAN38625=16g@jBU{aY%JRT1K0)^ zqhDkWr|z?#3NB4g{fAqtqGxv!?O+)?kmt}f+l;RH5p=hlMRO+avM{6K=$bY{cg?lv z`!}L%e=GX@40K86VSe}X|G03i-$Ik_J2d3~;`^9+c|7ycNPLa1-H+H5|3M?s_|XuF zYtRXFMk89TkQs@pxz;FFL}j&@;R& zx@NtwC5}ZqdIihlHZ)nkK_gILRhW4ZH2Er`Gp~)d+X&5xwn;ARcmNvGTcXzcz+yCn z&tfgyjDFt#fHrg%?cgtTUuRw&mZ&0nzYf}Ni)imyKN5{-@=h*%aXz{&Ucol_D`sH* zC&Cfi4_(9A=uDo+61WK+=x6AG^aGj`+1G?}Ep!0g(WD!OMs5PK#K}aG3%A9RP{Dtb zE6iXE+R@wS61|T$bTaw}I)lsBhMXvi9xUz9Z9FVG70s1L(A;?mU9wLxm!GGXxG;n{ zo(v<*k0wo7^u-3~$=DlH=L5QA%P<3RZef$mUVWkb>uUrnsmXx2whWKqP zXZ$Y=YzUf5x1gb)hE8Z6rj{TXFZQC@{3|xbT+fFW+oK^JfUflkI|0KL@#?G44^z_P+uQY`@dhjF%D~TV2crYirmRClvj+T$sh&GJ2igt?j#?+aQsWU&; zPs9w`oq^7H4LZPWsr&5zU0fL2kI)exM;rP+^#DtPCgopf!}(qc*!jONM(bi4k8ss9Fl{!QV5BIpcCp);+B8Q3J&4?-InhDPdE zG^;0IBfKBoEpMS6{}Jm;z8VgofoQwS(RMbx%KrD_6)Ftj8)!&(qXRjDCf^Ahia(>z z_1YX78i+>hcJ%ql=;!)9Xp+8w&iDX2;KOL7Pho95yP5s($yaJi7}3hoeuTpAoO11NjgQ`B!)n&*2w%@b&OnlYIG&Fr&lhem{pM zQTnzpv-0TfXo}9f8=7pR&?KFXo|G%lfqfk7f4~gNS+6P}-~awE zb-|ZGbPeA_KTeOu^3Q0;ncoT#x*T2etI;K>gTB`aD_~#DgwxUY?!^{3A05bkbg2(x zInJNNS6n!gY&%1Uil7aaLmOy}W^Y?`O}oePFmxuPWBqLOL+UZ~{ZG-5e~&KFdGu(n z{B~H<2ADK?I&$Fv`o|l$MU!YG7RK@#^uy>CY=Q^S4)g8`wnt|+9i8bcbl?lnfjo+y zj8CJvwr3an-v>X74<17s_zwNa=4bT9s=LG5HAEZejXrm0te=c7$s=g?Z$RJMg+^>Y zn#5nD5&I*WcTX}Lm6i5{tR8?yVl4W?eQ1MA(f$7dx+EXR`Y+G{{f=gTfpT-dD07I-j8dH&a5HYa7VPGftZ0~V*NsFMtLpvz?0~Huk%6p_4+hS zB^UZl>N9la`92I2sDK{rov^*%|3`4qm5LYfTKo@tMMGTzO_o+@C_6_7 zqia0@4dp%90vDhSe;n&iqXRpS4)pT<;R{FstU0-Y>i8o%gQA~?2J55yxos?8kB0s>bj@d?5t)S!Y$@9APp`Y(v&<;n&`-{CMCpw~$=!Hh6KQiEC z;$|*PvSsKup0(jdVjcRz=jhRU44p~haOf}(`e9TQJ%Ssd_xqzcGZJ0vyV0dtfcN9m zXg^ht_&oc+HWwyWOEg3s&<1Y8*YPg2q1s2o{f?MUc?8<<&FBoLM<2l2loz4T?Li~< z9-8DAu`=fVf(g)nq9GS1LqGJvF<22-$MXBgQJMG)8)C+np~L=YmJdZEH~|gq3^XDO z(Iwc3cDw^!norS4eT7Na_$(LBB*(GPaS3!l9ncpCqtA`UD!3rJ4IS_g@qUrx;T)-p zb~F&}Xe8R+1a$w;Lvv^CarVD6+eU?1c?wHPDV)qV4oT2XtL@C>nv=l3d)%#VouAe@6$<;8a-KHdu~wKeWLlmdAzY z3|>PAwi`WoK0??0bN6g1gp z$MRzI{Z;65>(Gw2p~?9^8lf-I=gvj{L5^}h|Gx<@I~$^#qdTJ?rDXpd;=&hBMbAVpMANi`BNqGu-E_{RL)>-U=IZua3U5DA+|F>~r_KrtGzZ6}==W#1;!)ZA2yAXj3=zueQ zAI|*TXwo%C-|rk9iZ00{GzaFP6L=hr%yXE0hKpCZa7Nev5D%c}YP7-q*bz^oNmlE} zFyngYKpLY1Zi9B%8(qqg=(#Zso#1kGyT2amPyERK_r@hE%<`*$3NN-nx5ohVo6vY{ zfy>aD9!5X?en1D7^-MT&d!QZMhwh5!qAz0^%CDpCeuYNhuQTj_lPb&E5So1G=k(QR z$m+-XcIb1x(V50I*={#{!a9y+>b`|cl5j{`dj#TzXt92Rx~M-uX5px z4xl-368-S_9i2geb724#(2iPQHSCBUt#@M;oQ@{f|IqigqLJB)sU<@P`~%wGAISN@ zzyJI_92AA4mC?0rh7PDd`r@tF94DeD(FF+J^D7fuRlN|@@e!K`u=z5SGIGpzTAbdTWUn> zMjK)3_y5hg@S99~w1E-mjK-ofpN@w1A#^(~kM%Fc`Zr?zd+7ULp-b>1nhXD7Z!G<1 zn9xLY0uN%+ju&&$7+*p=K8vo|B{amjFNTgQqr0LNdbamOBQ!kL-xbTVVtF~b|JR{O zybGPc7wG%vF0%jaFza8Tq5#@Kd33+lM>`mZ=EP{Ufd|onKY_0G4s^f=(e_TGyXia{ ziNb$}_N$=D*BqN*SO1=mFV3N&B0h$8um=t0msk(K!%A45aZ zmm+^!rc|<3!D^J-p^=(^Ms^xj!TIQ}cmvD&{r@X2?xiAYdZyH0wVZ>#a6I}8deWt3 z%9Q$5O?LEPX@n-_&FGBpM?2hrM(P!;itnOJ^#__$xig3M3S(~iPn3uiRndJ}2Ys+< zv^~0pz0j;4j4si==pS#ih{VLk<$FY0@P1Z}83DdKNkY`16tP;8_I%mxk{y%tbqQZv9qM^SZ zozYUvz!%X_e~fl`20c)+XA2R@zzoXQpy$Fc^jw&UZtLaf61(@bOxHmbI_SCMw4j`y4_wt2lOc#(hKN-^5n{t`qXQHc619GkqKx!524$61$urw zgY=V3Y~aFdd<9+Go#-z35}o0;S!oGrLM@7`hlS%TE7f^aXUJo%=tsM zSHlUEyI?Eag&i?lflR5taM%-TQ(l2?+kMywb6v^)ug^t0E*fAGEpNdZ_zTv;k_9uR zJ_UQD^>ff|`bP94G)Io%|C>4!uqvyq0kb`Ey(hywDIp#S=!hpgA{i1Q5|Z;kY7SYZ zWQblX^(uckRpeM^R<_F7Zf0tfTGmxFb3!3BXT@?rMI|N0p&Tpgf7ki8|MTzX`F!_Y zd#$zCUVAtnprT884kp8!mWdHgW^!RF@};(29>Mw7P2{WV3jXu^7O*$%X;63nN!Sk7 zh;)|Zaj0uJ3F-iI;C#3n>bZZRo-6o|Ql>$j;m`0980&QfUvQp*dSlLqy5uXood0H2 ziV=juKcMbbQ{Q1Ns56R&I>Q90H(d*;fpoI{*_K10Zo+X;H}fp0c3)X;gnGJmK)p8( zZj=VanFs2P|C_0)U~HG^AW@OSVWq@qhuW$A9{+)#0r zt)ZrV01R#}s19dA4d4sd1nz?xu<<+gu~3&H!?vG-+CLiVF`fAF@n?>bDKlrFblm?+l!cKphUY ziX&kt?Qu}g?|7*9z}uGdq3-(6Z2xAcr(qY=51Z4reH{kBf@iU!Tn}~A9=7}&Y6crLaZ;QB_tAb7s{imr z=jF38RK5HpDmt^4mYpp7KwaBG@L^Si`nkOts^L1QZ^c_-cld+tk9yF_-2G7dAAowS z6QQnocgsPLfcW`872N~xL0yv%VI%kj)R)J@PzOE+_1K((y8Ev}wF_(N$RnXO|f_h&FWQ&B%hPpI!p-$vmsK;^-d{96CE3HDk zF3u9PfEsCE7zgvAzGy6l@$e+n<8xP*vs9g6bK0*#4QwscQ&b5vVccVmzrj!^Fb(R* z_97Vk`F}AL9q2IBfkV1Fo1+2L8|@*ehV7uPS$`M8PrYtJ=9IO z7ixxof|~jYs25Nb%vZ;M+m48CPD-Pp?&9`PU#kZ~UBij6A)E;{rR$-lv<&KQ{td=L z)7`Q6LESU0pr*VR)PRRU%}`!<&cA*p+#qLd{H~ZKv7(j!^eNZ>Rwbhh!!{WHJ?vY%bKz zu@LITu>`h)tD&a+I@CQ8{*?0`p8_>Aqo59$Z`;$L&Rn3Lruk3<+XVH!Vi#-$ZwASt zx9IDf-*NCEI{pham1m%S{{I0rRrfsY9ILue2e=>VF$zFUaXQqDWI~}^I0RpSWl%R|r+&`Yjx*pBwAaIKFucFB>jyy% za3$2tZh?BbN}%4TCt&dX|92{y@_VzLR5gSec{8Xp=>+w>=Rgf?qUBVmOZSfDOsE&n z0{8%2YUO(@e}wvBcMNJE7qdD4>Y(~F&KlN)+OB8Yu}}j`fcklz4t33kLDhT7%3pyR z@CvAz+6wi8DS>)g?ik?se;DdJ;iFKOs{4R^=ML|WK=1bVp6om^>;ztGsmFL^eVg){v*es2Wo)zZ968PiW&wi)1aofGt?P&hdSdv zPLMMJ3LG!3@#m`X(l zY6EpwS${s-wZ zc24RunfelJ>oC@Pv>P+W8FF)DV$*KcK7*e94jfJHM4Pfh%uR~`#3ri(Jh4S zCZ6!;v?nXOK78d#AU!Z0fb+C?3 z&ooBc$&=1Z^^K-K)bhJrF7icPWR$baa5Y zd(Epdv^Xv52Q0MQ!e27ug<^e-wjggLMa3y*o7^h)n|c!WeOl~vyi~*IUyR33yF<1x zP7duEjJ*mguZ;iR8~GQud+eicXnLc&V|#zop{YX!H zJWpXp&1B~fUClcZwIjpSmVP^Y3H9*W$9fuOW6xlwOV~+o(OyG7RxxTSTp-JLB!&+_ zx{=-|;IH`B5-FE=_{~0v-0Ab|va! zh_6jNJ;bxCHs>gASB807a(AVfrm_&pXR>NnAnX8|{QkCJ`9P|6CBTJ)=Bh z=($~rs4tbZd;F%pl+mVQWLf(OTB6E9BD)&Ywhas7TR$U@IgXcc9m!WYHt1is-2=%w=VD~9H zy?B~Szn}b(ZRz=g9)3}ANGi`nGFFGDQWpHw*E0dz+hrp4cg1}uI&zAYj$xizL{!d* zqp=w*nTNcliS#=ZVC<=fqC>w&GewpkiVn|boI+fUMDn4vKO^ObQamr)Rw<)5z?)0r z5BoTWS%;&|M>6zqg!@G_b`axZGW~G2=_FN$BSO=W#f$q$QrJv9FDDmsc@m}L5x-d@ zBaZm^H2UC(-~CVPeYO-G@nz~-e=Hj!A`t!`}4m^ye z{w4i=B>t#3DwAF<=aF2%@^*Qi_5(8DXoeXr3y;=zcd%n$mi0#i?5xV8Y32=yD;wqc zH$6KryA!`!TFde>KetY4*%32ORvt?;nNoGEbJ*X+reznqtx(z?PYL^&v3<;-5tjKf z^?0D2F%f)g30hg72XI=+13E>H5*p?1@H);P{fR(W*jOZZ8a5#=eN7l`j&SzbPvH=^*9 z0TUsaCtG{6uvkXsYS`Hgk`GSindilQDmwIi`f?=URGL{YLr%RDdN=I{<<=>0_+@H! zhCv*%W<%?9Wx(k~^P$W*?TsuTo*XP&qt_hEx3QcJzmTHS zX=bXJih%h>5-NPL9j&KHSX`j~H=0*?JdC*+?)%s5lqRFlPLay+TDXVO=PSc>3%5_z^quTe;sTFY!a^>hXZ zc>&o<>etYGh{b5^Jr z=Fs=|ol;zNpP42VRl_||2ntcEW>Z{OaxZi?kI2dkfv|tj*UC=%zfyU@A9{r$rb_rl zpSvryn+y^ynHRG?ub`=AFP^k?l9d;S^QsnmsjvGtWDC&_$mB~tlO_e1e6hiA8==<_ zyHq=Z+MUwnVG6HG)ulu(xv0yDy!K^XPRtywvGDkK_T%k#d7JuvyUlJf65lZjDX{$$ zY5&fa`48<_S&y&xr0TLayfN)_B;aXJxx-!NC3~&X%Q^?CJ z=r_Ta58vC7>34cB+l}#a)(HBDom{iyhqq1FZl6 diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index d21982e4f5..2b37d89652 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-02-24 17:18+0100\n" -"PO-Revision-Date: 2010-02-24 17:18+0100\n" +"POT-Creation-Date: 2010-02-26 16:50+0100\n" +"PO-Revision-Date: 2010-02-26 16:50+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -390,7 +390,7 @@ msgstr "Longueur" #: pcbnew/muonde.cpp:233 msgid "Length(mm):" -msgstr "Long. (mm):" +msgstr "Longueur (mm):" #: pcbnew/muonde.cpp:241 #: pcbnew/muonde.cpp:697 @@ -1309,6 +1309,7 @@ msgid "Failed to create " msgstr "Impossible de créer fichier " #: pcbnew/pcbframe.cpp:337 +#: pcbnew/pcbframe.cpp:628 msgid "Visibles" msgstr "Visibles" @@ -1948,7 +1949,7 @@ msgstr "Nb Segms" msgid "Error: Unexpected end of file !" msgstr "Erreur: Fin de fichier inattendue !" -#: pcbnew/pcbnew.cpp:109 +#: pcbnew/pcbnew.cpp:113 msgid "Pcbnew is already running, Continue?" msgstr "Pcbnew est en cours d'exécution. Continuer ?" @@ -2230,75 +2231,79 @@ msgstr "Références" msgid "Show footprint's references" msgstr "Afficher les références des modules" -#: pcbnew/class_pcb_layer_widget.cpp:140 +#: pcbnew/class_pcb_layer_widget.cpp:143 msgid "Show All Cu" msgstr "Afficher toutes couches cuivre" -#: pcbnew/class_pcb_layer_widget.cpp:143 +#: pcbnew/class_pcb_layer_widget.cpp:146 msgid "Hide All Cu" msgstr "Cacher Cu" -#: pcbnew/class_pcb_layer_widget.cpp:217 +#: pcbnew/class_pcb_layer_widget.cpp:209 +msgid "Render" +msgstr "Autre" + +#: pcbnew/class_pcb_layer_widget.cpp:230 msgid "Front copper layer" msgstr "Couche cuivre dessus" -#: pcbnew/class_pcb_layer_widget.cpp:225 +#: pcbnew/class_pcb_layer_widget.cpp:238 msgid "An innner copper layer" msgstr "Couche interne" -#: pcbnew/class_pcb_layer_widget.cpp:233 +#: pcbnew/class_pcb_layer_widget.cpp:246 msgid "Back copper layer" msgstr "Couche cuivre dessous" -#: pcbnew/class_pcb_layer_widget.cpp:241 +#: pcbnew/class_pcb_layer_widget.cpp:254 msgid "Adhesive on board's front" msgstr "Afficher couche adhésive situés sur le dessus du circuit imprimé" -#: pcbnew/class_pcb_layer_widget.cpp:242 +#: pcbnew/class_pcb_layer_widget.cpp:255 msgid "Adhesive on board's back" msgstr "Couche adhésive sur le dessous du circuit imprimé" -#: pcbnew/class_pcb_layer_widget.cpp:243 +#: pcbnew/class_pcb_layer_widget.cpp:256 msgid "Solder paste on board's front" msgstr "Couche de pâte à souder sur dessus du circuit imprimé" -#: pcbnew/class_pcb_layer_widget.cpp:244 +#: pcbnew/class_pcb_layer_widget.cpp:257 msgid "Solder paste on board's back" msgstr "Couche de pâte à souder sur dessous du circuit imprimé" -#: pcbnew/class_pcb_layer_widget.cpp:245 +#: pcbnew/class_pcb_layer_widget.cpp:258 msgid "Silkscreen on board's front" msgstr "Sérigraphie sur le dessus du circuit imprimé" -#: pcbnew/class_pcb_layer_widget.cpp:246 +#: pcbnew/class_pcb_layer_widget.cpp:259 msgid "Silkscreen on board's back" msgstr "Sérigraphie sur le dessous du circuit imprimé " -#: pcbnew/class_pcb_layer_widget.cpp:247 +#: pcbnew/class_pcb_layer_widget.cpp:260 msgid "Solder mask on board's front" msgstr "Couche masque soudure sur le dessus du circuit imprimé" -#: pcbnew/class_pcb_layer_widget.cpp:248 +#: pcbnew/class_pcb_layer_widget.cpp:261 msgid "Solder mask on board's back" msgstr "Couche masque soudure sur le dessous du circuit imprimé" -#: pcbnew/class_pcb_layer_widget.cpp:249 +#: pcbnew/class_pcb_layer_widget.cpp:262 msgid "Explanatory drawings" msgstr "Couche dessins explicatifs" -#: pcbnew/class_pcb_layer_widget.cpp:250 +#: pcbnew/class_pcb_layer_widget.cpp:263 msgid "Explanatory comments" msgstr "Couche commentaires" -#: pcbnew/class_pcb_layer_widget.cpp:251 +#: pcbnew/class_pcb_layer_widget.cpp:264 msgid "TDB" msgstr "" -#: pcbnew/class_pcb_layer_widget.cpp:252 +#: pcbnew/class_pcb_layer_widget.cpp:265 msgid "TBD" msgstr "" -#: pcbnew/class_pcb_layer_widget.cpp:253 +#: pcbnew/class_pcb_layer_widget.cpp:266 msgid "Board's perimeter definition" msgstr "Couche de définition des contours du circuit imprimé" @@ -3808,7 +3813,7 @@ msgstr "SoldP_Dessus" #: pcbnew/class_board.cpp:235 msgid "SilkS_Back" -msgstr "Sérig_Dessous" +msgstr "Sérigr_Dessous" #: pcbnew/class_board.cpp:236 msgid "SilkS_Front" @@ -4370,7 +4375,7 @@ msgstr "" #: pcbnew/dialog_pcbnew_config_libs_and_paths_fbp.cpp:36 #: pcbnew/dialog_pcbnew_config_libs_and_paths_fbp.cpp:83 -#: pcbnew/dialog_design_rules_base.cpp:73 +#: pcbnew/dialog_design_rules_base.cpp:72 msgid "Add" msgstr "Ajouter" @@ -4389,7 +4394,7 @@ msgstr "Ajouter une nouvelle librairie avant la librairie sélectionnée, et la #: pcbnew/dialog_pcbnew_config_libs_and_paths_fbp.cpp:46 #: pcbnew/dialog_pcbnew_config_libs_and_paths_fbp.cpp:89 -#: pcbnew/dialog_design_rules_base.cpp:78 +#: pcbnew/dialog_design_rules_base.cpp:77 msgid "Remove" msgstr "Enlever" @@ -4489,11 +4494,11 @@ msgstr "Défaut" msgid "Net Class parameters" msgstr "Paramètres de NeClass" -#: pcbnew/dialog_design_rules_base.cpp:74 +#: pcbnew/dialog_design_rules_base.cpp:73 msgid "Add another Net Class" msgstr "Ajouter une autre NetClass" -#: pcbnew/dialog_design_rules_base.cpp:79 +#: pcbnew/dialog_design_rules_base.cpp:78 msgid "" "Remove the currently select Net Class\n" "The default Net Class cannot be removed" @@ -4501,71 +4506,71 @@ msgstr "" "Supprimer la NetClasse sélectionnée\n" "La Netclasse Défaut ne peut être supprimée" -#: pcbnew/dialog_design_rules_base.cpp:83 +#: pcbnew/dialog_design_rules_base.cpp:82 msgid "Move Up" msgstr "Vers le haut ^" -#: pcbnew/dialog_design_rules_base.cpp:84 +#: pcbnew/dialog_design_rules_base.cpp:83 msgid "Move the currently selected Net Class up one row" msgstr "Déplacer la NetClassl sélectionné de une ligne vers le haut" -#: pcbnew/dialog_design_rules_base.cpp:93 +#: pcbnew/dialog_design_rules_base.cpp:92 msgid "Membership:" msgstr "Membres:" -#: pcbnew/dialog_design_rules_base.cpp:113 +#: pcbnew/dialog_design_rules_base.cpp:112 msgid "<<<" msgstr "<<<" -#: pcbnew/dialog_design_rules_base.cpp:114 +#: pcbnew/dialog_design_rules_base.cpp:113 msgid "Move the selected nets in the right list to the left list" msgstr "Déplacer les nets sélectionnés de la liste droite vers la liste gauche" -#: pcbnew/dialog_design_rules_base.cpp:118 +#: pcbnew/dialog_design_rules_base.cpp:117 msgid ">>>" msgstr ">>>" -#: pcbnew/dialog_design_rules_base.cpp:119 +#: pcbnew/dialog_design_rules_base.cpp:118 msgid "Move the selected nets in the left list to the right list" msgstr "Déplacer les nets sélectionnés dans la liste de gauche vers la liste de droite" -#: pcbnew/dialog_design_rules_base.cpp:123 +#: pcbnew/dialog_design_rules_base.cpp:122 msgid "<< Select All" msgstr "<< Sélectionner Tout" -#: pcbnew/dialog_design_rules_base.cpp:124 +#: pcbnew/dialog_design_rules_base.cpp:123 msgid "Select all nets in the left list" msgstr "Sélectionner tous les nets de la liste de gauche" -#: pcbnew/dialog_design_rules_base.cpp:128 +#: pcbnew/dialog_design_rules_base.cpp:127 msgid "Select All >>" msgstr "Sélectionner Tout >>" -#: pcbnew/dialog_design_rules_base.cpp:129 +#: pcbnew/dialog_design_rules_base.cpp:128 msgid "Select all nets in the right list" msgstr "Sélectionner tous les nets de la liste de droite" -#: pcbnew/dialog_design_rules_base.cpp:155 +#: pcbnew/dialog_design_rules_base.cpp:154 msgid "Net Classes Editor" msgstr "Editeur de NetClasses" -#: pcbnew/dialog_design_rules_base.cpp:164 +#: pcbnew/dialog_design_rules_base.cpp:163 msgid "Via Options:" msgstr "Options Vias:" -#: pcbnew/dialog_design_rules_base.cpp:166 +#: pcbnew/dialog_design_rules_base.cpp:165 msgid "Through via" msgstr "Via traversante" -#: pcbnew/dialog_design_rules_base.cpp:166 +#: pcbnew/dialog_design_rules_base.cpp:165 msgid "Blind or buried via" msgstr "Via enterrée ou aveugle" -#: pcbnew/dialog_design_rules_base.cpp:168 +#: pcbnew/dialog_design_rules_base.cpp:167 msgid "Default Via Type" msgstr "Via par Défaut" -#: pcbnew/dialog_design_rules_base.cpp:170 +#: pcbnew/dialog_design_rules_base.cpp:169 msgid "" "Select the current via type.\n" "Trough via is the usual selection" @@ -4573,27 +4578,27 @@ msgstr "" "Sélection du type de via courant.\n" "Via traversante est la sélection usuelle." -#: pcbnew/dialog_design_rules_base.cpp:180 +#: pcbnew/dialog_design_rules_base.cpp:179 msgid "Min via diameter" msgstr "Diamètre Min Via" -#: pcbnew/dialog_design_rules_base.cpp:187 +#: pcbnew/dialog_design_rules_base.cpp:186 msgid "Min via drill dia" msgstr "Perçage Min Via" -#: pcbnew/dialog_design_rules_base.cpp:199 +#: pcbnew/dialog_design_rules_base.cpp:198 msgid "Micro Via Options:" msgstr "Options Micro Vias:" -#: pcbnew/dialog_design_rules_base.cpp:201 +#: pcbnew/dialog_design_rules_base.cpp:200 msgid "Do not allow micro vias" msgstr "Ne pas autoriser les micro vias" -#: pcbnew/dialog_design_rules_base.cpp:201 +#: pcbnew/dialog_design_rules_base.cpp:200 msgid "Allow micro vias" msgstr "Autoriser les micro vias" -#: pcbnew/dialog_design_rules_base.cpp:205 +#: pcbnew/dialog_design_rules_base.cpp:204 msgid "" "Allows or do not allow use of micro vias\n" "They are very small vias only from an external copper layer to its near neightbour" @@ -4601,19 +4606,19 @@ msgstr "" "Autorise ou non l'utilisation de micro vias\n" "Ce sont de petites vias allant d'une couche externe à la plus proche couche interne uniquement" -#: pcbnew/dialog_design_rules_base.cpp:215 +#: pcbnew/dialog_design_rules_base.cpp:214 msgid "Min uvia diameter" msgstr "Diamètre Min uVia" -#: pcbnew/dialog_design_rules_base.cpp:223 +#: pcbnew/dialog_design_rules_base.cpp:222 msgid "Min uvia drill dia" msgstr "Perçage min uVia" -#: pcbnew/dialog_design_rules_base.cpp:236 +#: pcbnew/dialog_design_rules_base.cpp:235 msgid "Minimum Allowed Values:" msgstr "Valeurs Minimales Autorisées:" -#: pcbnew/dialog_design_rules_base.cpp:260 +#: pcbnew/dialog_design_rules_base.cpp:259 msgid "" "Specific via diameters and track widths, which \n" "can be used to replace default Netclass values \n" @@ -4623,79 +4628,79 @@ msgstr "" "peuvent être utilisées pour remplacer les valeurs par défault des Netclass\n" "quand c'est nécessaire, pour des vias ou segments de pistes arbitraires." -#: pcbnew/dialog_design_rules_base.cpp:268 +#: pcbnew/dialog_design_rules_base.cpp:267 msgid "Custom Via Sizes:" msgstr "Tailles de Vias Spécifiques" -#: pcbnew/dialog_design_rules_base.cpp:270 +#: pcbnew/dialog_design_rules_base.cpp:269 msgid "Drill value: a blank or 0 => default Netclass value" msgstr "Perçage: blanc ou 0 => valeur par défaut de la Netclass" -#: pcbnew/dialog_design_rules_base.cpp:287 +#: pcbnew/dialog_design_rules_base.cpp:286 msgid "Diameter" msgstr "Diamètre" -#: pcbnew/dialog_design_rules_base.cpp:294 +#: pcbnew/dialog_design_rules_base.cpp:293 msgid "Via 1" msgstr "Via 1" -#: pcbnew/dialog_design_rules_base.cpp:295 +#: pcbnew/dialog_design_rules_base.cpp:294 msgid "Via 2" msgstr "Via 2" -#: pcbnew/dialog_design_rules_base.cpp:296 +#: pcbnew/dialog_design_rules_base.cpp:295 msgid "Via 3" msgstr "Via 3" -#: pcbnew/dialog_design_rules_base.cpp:297 +#: pcbnew/dialog_design_rules_base.cpp:296 msgid "Via 4" msgstr "Via 4" -#: pcbnew/dialog_design_rules_base.cpp:298 +#: pcbnew/dialog_design_rules_base.cpp:297 msgid "Via 5" msgstr "Via 5" -#: pcbnew/dialog_design_rules_base.cpp:299 +#: pcbnew/dialog_design_rules_base.cpp:298 msgid "Via 6" msgstr "Via 6" -#: pcbnew/dialog_design_rules_base.cpp:300 +#: pcbnew/dialog_design_rules_base.cpp:299 msgid "Via 7" msgstr "Via 7" -#: pcbnew/dialog_design_rules_base.cpp:312 +#: pcbnew/dialog_design_rules_base.cpp:311 msgid "Custom Track Widths:" msgstr "Epais. Piste Spécifiques" -#: pcbnew/dialog_design_rules_base.cpp:337 +#: pcbnew/dialog_design_rules_base.cpp:336 msgid "Track 1" msgstr "Piste 1" -#: pcbnew/dialog_design_rules_base.cpp:338 +#: pcbnew/dialog_design_rules_base.cpp:337 msgid "Track 2" msgstr "Piste 2" -#: pcbnew/dialog_design_rules_base.cpp:339 +#: pcbnew/dialog_design_rules_base.cpp:338 msgid "Track 3" msgstr "Piste 3" -#: pcbnew/dialog_design_rules_base.cpp:340 +#: pcbnew/dialog_design_rules_base.cpp:339 msgid "Track 4" msgstr "Piste 4" -#: pcbnew/dialog_design_rules_base.cpp:341 +#: pcbnew/dialog_design_rules_base.cpp:340 msgid "Track 5" msgstr "Piste 5" -#: pcbnew/dialog_design_rules_base.cpp:342 +#: pcbnew/dialog_design_rules_base.cpp:341 msgid "Track 6" msgstr "Piste 6" -#: pcbnew/dialog_design_rules_base.cpp:343 +#: pcbnew/dialog_design_rules_base.cpp:342 msgid "Track 7" msgstr "Piste 7" -#: pcbnew/dialog_design_rules_base.cpp:359 +#: pcbnew/dialog_design_rules_base.cpp:358 msgid "Global Design Rules" msgstr "Règles Générales" @@ -5434,7 +5439,7 @@ msgstr "Si vous voulez une couche de pâte à braser sur le dessus du PCB" #: pcbnew/dialog_layers_setup_base.cpp:118 msgid "SilkS_Front_later" -msgstr "Sérig_Dessus_réserve" +msgstr "Sérigr_Dessus_réserve" #: pcbnew/dialog_layers_setup_base.cpp:130 msgid "If you want a silk screen layer for the front side of the board" @@ -5580,7 +5585,7 @@ msgstr "Si vous voulez un vernis épargne sur le dessous du PCB" #: pcbnew/dialog_layers_setup_base.cpp:633 msgid "SilkS_Back_later" -msgstr "Sérig_Dessous_réserver" +msgstr "Sérigr_Dessous_réserve" #: pcbnew/dialog_layers_setup_base.cpp:645 msgid "If you want a silk screen layer for the back side of the board" @@ -6544,17 +6549,13 @@ msgstr "Activer ceci pour activer la visibilité" msgid "Middle click for color change" msgstr "Clicquer sur bouton du milieu pour changer la couleur" -#: pcbnew/layer_widget.cpp:491 -msgid "Render" -msgstr "Autres" - #: pcbnew/dialog_plot_base.cpp:38 msgid "Use Proper Gerber Extensions" msgstr "Utiliser Extensions Gerber Particulières" #: pcbnew/dialog_plot_base.cpp:40 msgid "Use Proper Gerber Extensions - .GBL, .GTL, etc..." -msgstr "Utiliser les extensions GERBER specifiques aux couches - .GBL, .GTL, etc..." +msgstr "Utiliser les extensions GERBER spécifiques aux couches - .GBL, .GTL, etc..." #: pcbnew/dialog_plot_base.cpp:44 msgid "Exclude pcb edge layer" @@ -7110,8 +7111,8 @@ msgstr "Editer fichier documentation" msgid "Edit pins part per part ( Use carefully!)" msgstr "Editer pins unité par unité (Utiliser en connaissance de cause)" -#: eeschema/symbdraw.cpp:954 -#: eeschema/symbdraw.cpp:1042 +#: eeschema/symbdraw.cpp:962 +#: eeschema/symbdraw.cpp:1050 #, c-format msgid "Arc %.1f deg" msgstr "Arc %.1f deg" @@ -7267,6 +7268,92 @@ msgstr "Force affichage des pins invisibles" msgid "Schematic" msgstr "Schématique" +#: eeschema/build_BOM.cpp:59 +msgid "Bill of Materials file (*.lst)|*.lst" +msgstr "Fichier Liste du Matériel (*.lst)|*.lst" + +#: eeschema/build_BOM.cpp:104 +msgid "Bill of Materials" +msgstr "Liste du Matériel" + +#: eeschema/build_BOM.cpp:154 +#: eeschema/build_BOM.cpp:191 +#: eeschema/build_BOM.cpp:227 +msgid "Failed to open file " +msgstr "Erreur ouverture " + +#: eeschema/build_BOM.cpp:272 +#, c-format +msgid "" +"\n" +"#Global, Hierarchical Labels and PinSheets ( order = Sheet Number ) count = %d\n" +msgstr "" +"\n" +"#Labels globaux, hiérarchiques et pins de feuille ( ordre = Numéro de feuille ) nombre = %d\n" + +#: eeschema/build_BOM.cpp:284 +#, c-format +msgid "" +"\n" +"#Global, Hierarchical Labels and PinSheets ( order = Alphab. ) count = %d\n" +"\n" +msgstr "" +"\n" +"#Labels globaux, hiérarchiques et pins de feuille ( ordre = Alphab. ) nombre = %d\n" +"\n" + +#: eeschema/build_BOM.cpp:292 +msgid "" +"\n" +"#End List\n" +msgstr "" +"\n" +"#End List\n" + +#: eeschema/build_BOM.cpp:667 +msgid "Field" +msgstr "Champ" + +#: eeschema/build_BOM.cpp:676 +msgid "" +"\n" +"#Cmp ( order = Reference )" +msgstr "" +"\n" +"#Cmp ( ordre = Référence )" + +#: eeschema/build_BOM.cpp:679 +#: eeschema/build_BOM.cpp:904 +msgid " (with SubCmp)" +msgstr "avec sub-composants" + +#: eeschema/build_BOM.cpp:778 +#: eeschema/build_BOM.cpp:960 +msgid "#End Cmp\n" +msgstr "#End Cmp\n" + +#: eeschema/build_BOM.cpp:901 +msgid "" +"\n" +"#Cmp ( order = Value )" +msgstr "" +"\n" +"#Cmp ( ordre = Valeur )" + +#: eeschema/build_BOM.cpp:988 +#, c-format +msgid "> %-28.28s %s (Sheet %s) pos: %3.3f, %3.3f\n" +msgstr "> %-28.28s %s (Feuille %s) pos: %3.3f, %3.3f\n" + +#: eeschema/build_BOM.cpp:1008 +#, c-format +msgid "> %-28.28s PinSheet %-7.7s (Sheet %s) pos: %3.3f, %3.3f\n" +msgstr "> %-28.28s PinSheet %-7.7s (Feuille %s) pos: %3.3f, %3.3f\n" + +#: eeschema/build_BOM.cpp:1023 +msgid "#End labels\n" +msgstr "#End labels\n" + #: eeschema/libfield.cpp:155 msgid "Edit field" msgstr "Editer Champ" @@ -7309,41 +7396,41 @@ msgstr "" msgid "This position is already occupied by another pin. Continue?" msgstr "Position occupée par une autre pin. Continuer ?" -#: eeschema/pinedit.cpp:659 +#: eeschema/pinedit.cpp:660 msgid "No pins!" msgstr "Pas de Pins!" -#: eeschema/pinedit.cpp:670 +#: eeschema/pinedit.cpp:671 msgid "Marker Information" msgstr "Info Marqueur" -#: eeschema/pinedit.cpp:689 +#: eeschema/pinedit.cpp:690 #, c-format msgid "Duplicate pin %s \"%s\" at location (%.3f, %.3f) conflicts with pin %s \"%s\" at location (%.3f, %.3f)" msgstr "Pin dupliquée %s \"%s\" en position (%.3f, %.3f) en conflit avec pin %s \"%s\" en position (%.3f, %.3f)" -#: eeschema/pinedit.cpp:702 -#: eeschema/pinedit.cpp:741 +#: eeschema/pinedit.cpp:703 +#: eeschema/pinedit.cpp:742 #, c-format msgid " in part %c" msgstr " en composant %c" -#: eeschema/pinedit.cpp:709 -#: eeschema/pinedit.cpp:748 +#: eeschema/pinedit.cpp:710 +#: eeschema/pinedit.cpp:749 msgid " of converted" msgstr " de converti" -#: eeschema/pinedit.cpp:711 -#: eeschema/pinedit.cpp:750 +#: eeschema/pinedit.cpp:712 +#: eeschema/pinedit.cpp:751 msgid " of normal" msgstr " de normal" -#: eeschema/pinedit.cpp:732 +#: eeschema/pinedit.cpp:733 #, c-format msgid "Off grid pin %s \"%s\" at location (%.3f, %.3f)" msgstr "Pin %s hors grille \"%s\" en position (%.3f, %.3f)" -#: eeschema/pinedit.cpp:759 +#: eeschema/pinedit.cpp:760 msgid "No off grid or duplicate pins were found." msgstr "Pas de pins doublées ou hors grille trouvées" @@ -7458,7 +7545,7 @@ msgstr "Non connecté" msgid "Pin" msgstr "Pin" -#: eeschema/class_pin.cpp:1609 +#: eeschema/class_pin.cpp:1597 msgid "Number" msgstr "Numéro" @@ -8071,106 +8158,6 @@ msgstr "" "Ajuster la position et le style des champs et l'orientation du componsant aux valeurs par défaut en librairie.\n" "Les textes des champs ne sont pas modifiés." -#: eeschema/dialog_build_BOM_base.cpp:23 -msgid "List items:" -msgstr " Liste éléments: " - -#: eeschema/dialog_build_BOM_base.cpp:25 -msgid "Components by reference" -msgstr "Composants par référence" - -#: eeschema/dialog_build_BOM_base.cpp:29 -msgid "Sub components (i.e. U2A, U2B ...)" -msgstr "Sous composants (i.e U2A, U2B...)" - -#: eeschema/dialog_build_BOM_base.cpp:33 -msgid "Components by value" -msgstr "Composants par valeur" - -#: eeschema/dialog_build_BOM_base.cpp:37 -msgid "Hierarchy pins by name" -msgstr "Pins de hiérarchie par nom" - -#: eeschema/dialog_build_BOM_base.cpp:41 -msgid "Hierarchy pins by sheets" -msgstr "Pins de hiérarchie par feuilles" - -#: eeschema/dialog_build_BOM_base.cpp:47 -msgid "Text for spreadsheet import" -msgstr "Texte pour import dans tableur:" - -#: eeschema/dialog_build_BOM_base.cpp:49 -msgid "Output format:" -msgstr "Format de sortie" - -#: eeschema/dialog_build_BOM_base.cpp:53 -msgid "Tab" -msgstr "Tab" - -#: eeschema/dialog_build_BOM_base.cpp:53 -msgid ";" -msgstr ";" - -#: eeschema/dialog_build_BOM_base.cpp:53 -msgid "," -msgstr "," - -#: eeschema/dialog_build_BOM_base.cpp:55 -msgid "Field separator for spreadsheet import:" -msgstr "Séparateur de champ pour import dans tableur:" - -#: eeschema/dialog_build_BOM_base.cpp:62 -msgid "Launch list browser" -msgstr "Lancer le visualisateur de liste" - -#: eeschema/dialog_build_BOM_base.cpp:74 -msgid "Fields to add:" -msgstr "Champs à ajouter:" - -#: eeschema/dialog_build_BOM_base.cpp:77 -msgid "System Fields:" -msgstr "Champs Système:" - -#: eeschema/dialog_build_BOM_base.cpp:86 -msgid "Users Fields:" -msgstr "Champs Utilisateurs:" - -#: eeschema/dialog_build_BOM_base.cpp:88 -msgid "Field 1" -msgstr "Champ 1" - -#: eeschema/dialog_build_BOM_base.cpp:92 -msgid "Field 2" -msgstr "Champ 2" - -#: eeschema/dialog_build_BOM_base.cpp:96 -msgid "Field 3" -msgstr "Champ 3" - -#: eeschema/dialog_build_BOM_base.cpp:100 -msgid "Field 4" -msgstr "Champ 4" - -#: eeschema/dialog_build_BOM_base.cpp:104 -msgid "Field 5" -msgstr "Champ 5" - -#: eeschema/dialog_build_BOM_base.cpp:108 -msgid "Field 6" -msgstr "Champ 6" - -#: eeschema/dialog_build_BOM_base.cpp:112 -msgid "Field 7" -msgstr "Champ 7" - -#: eeschema/dialog_build_BOM_base.cpp:116 -msgid "Field 8" -msgstr "Champ 8" - -#: eeschema/dialog_build_BOM_base.cpp:120 -msgid "All existing users fields" -msgstr "Tous les champs existants" - #: eeschema/plothpgl.cpp:203 msgid "Sheet Size" msgstr "Dim. feuille" @@ -9522,90 +9509,109 @@ msgstr "Importer Connecteur de hiérarchie" msgid "Add Power" msgstr "Ajouter Alims" -#: eeschema/build_BOM.cpp:57 -msgid "Bill of Materials file (*.lst)|*.lst" -msgstr "Fichier Liste du Matériel (*.lst)|*.lst" +#: eeschema/dialog_build_BOM_base.cpp:23 +msgid "List items:" +msgstr " Liste éléments: " -#: eeschema/build_BOM.cpp:99 -msgid "Bill of Materials" -msgstr "Liste du Matériel" +#: eeschema/dialog_build_BOM_base.cpp:25 +msgid "Components by reference" +msgstr "Composants par référence" -#: eeschema/build_BOM.cpp:140 -#: eeschema/build_BOM.cpp:176 -msgid "Failed to open file " -msgstr "Erreur ouverture " +#: eeschema/dialog_build_BOM_base.cpp:29 +msgid "Sub components (i.e. U2A, U2B ...)" +msgstr "Sous composants (i.e U2A, U2B...)" -#: eeschema/build_BOM.cpp:220 -#, c-format -msgid "" -"\n" -"#Global, Hierarchical Labels and PinSheets ( order = Sheet Number ) count = %d\n" -msgstr "" -"\n" -"#Labels globaux, hiérarchiques et pins de feuille ( ordre = Numéro de feuille ) nombre = %d\n" +#: eeschema/dialog_build_BOM_base.cpp:33 +msgid "Components by value" +msgstr "Composants par valeur" -#: eeschema/build_BOM.cpp:231 -#, c-format -msgid "" -"\n" -"#Global, Hierarchical Labels and PinSheets ( order = Alphab. ) count = %d\n" -"\n" -msgstr "" -"\n" -"#Labels globaux, hiérarchiques et pins de feuille ( ordre = Alphab. ) nombre = %d\n" -"\n" +#: eeschema/dialog_build_BOM_base.cpp:37 +msgid "Hierarchy pins by name" +msgstr "Pins de hiérarchie par nom" -#: eeschema/build_BOM.cpp:239 -msgid "" -"\n" -"#End List\n" -msgstr "" -"\n" -"#End List\n" +#: eeschema/dialog_build_BOM_base.cpp:41 +msgid "Hierarchy pins by sheets" +msgstr "Pins de hiérarchie par feuilles" -#: eeschema/build_BOM.cpp:614 -msgid "Field" -msgstr "Champ" +#: eeschema/dialog_build_BOM_base.cpp:47 +msgid "Text for spreadsheet import" +msgstr "Texte pour import dans tableur:" -#: eeschema/build_BOM.cpp:623 -msgid "" -"\n" -"#Cmp ( order = Reference )" -msgstr "" -"\n" -"#Cmp ( ordre = Référence )" +#: eeschema/dialog_build_BOM_base.cpp:47 +msgid "Single Part per line" +msgstr "Une ligne par valeur" -#: eeschema/build_BOM.cpp:626 -#: eeschema/build_BOM.cpp:735 -msgid " (with SubCmp)" -msgstr "avec sub-composants" +#: eeschema/dialog_build_BOM_base.cpp:49 +msgid "Output format:" +msgstr "Format de sortie" -#: eeschema/build_BOM.cpp:711 -#: eeschema/build_BOM.cpp:791 -msgid "#End Cmp\n" -msgstr "#End Cmp\n" +#: eeschema/dialog_build_BOM_base.cpp:53 +msgid "Tab" +msgstr "Tab" -#: eeschema/build_BOM.cpp:732 -msgid "" -"\n" -"#Cmp ( order = Value )" -msgstr "" -"\n" -"#Cmp ( ordre = Valeur )" +#: eeschema/dialog_build_BOM_base.cpp:53 +msgid ";" +msgstr ";" -#: eeschema/build_BOM.cpp:819 -#, c-format -msgid "> %-28.28s %s (Sheet %s) pos: %3.3f, %3.3f\n" -msgstr "> %-28.28s %s (Feuille %s) pos: %3.3f, %3.3f\n" +#: eeschema/dialog_build_BOM_base.cpp:53 +msgid "," +msgstr "," -#: eeschema/build_BOM.cpp:839 -#, c-format -msgid "> %-28.28s PinSheet %-7.7s (Sheet %s) pos: %3.3f, %3.3f\n" -msgstr "> %-28.28s PinSheet %-7.7s (Feuille %s) pos: %3.3f, %3.3f\n" +#: eeschema/dialog_build_BOM_base.cpp:55 +msgid "Field separator for spreadsheet import:" +msgstr "Séparateur de champ pour import dans tableur:" -#: eeschema/build_BOM.cpp:854 -msgid "#End labels\n" -msgstr "#End labels\n" +#: eeschema/dialog_build_BOM_base.cpp:62 +msgid "Launch list browser" +msgstr "Lancer le visualisateur de liste" + +#: eeschema/dialog_build_BOM_base.cpp:74 +msgid "Fields to add:" +msgstr "Champs à ajouter:" + +#: eeschema/dialog_build_BOM_base.cpp:77 +msgid "System Fields:" +msgstr "Champs Système:" + +#: eeschema/dialog_build_BOM_base.cpp:86 +msgid "Users Fields:" +msgstr "Champs Utilisateurs:" + +#: eeschema/dialog_build_BOM_base.cpp:88 +msgid "Field 1" +msgstr "Champ 1" + +#: eeschema/dialog_build_BOM_base.cpp:92 +msgid "Field 2" +msgstr "Champ 2" + +#: eeschema/dialog_build_BOM_base.cpp:96 +msgid "Field 3" +msgstr "Champ 3" + +#: eeschema/dialog_build_BOM_base.cpp:100 +msgid "Field 4" +msgstr "Champ 4" + +#: eeschema/dialog_build_BOM_base.cpp:104 +msgid "Field 5" +msgstr "Champ 5" + +#: eeschema/dialog_build_BOM_base.cpp:108 +msgid "Field 6" +msgstr "Champ 6" + +#: eeschema/dialog_build_BOM_base.cpp:112 +msgid "Field 7" +msgstr "Champ 7" + +#: eeschema/dialog_build_BOM_base.cpp:116 +msgid "Field 8" +msgstr "Champ 8" + +#: eeschema/dialog_build_BOM_base.cpp:120 +msgid "All existing users fields" +msgstr "Tous les champs existants" #: eeschema/dialog_edit_libentry_fields_in_lib.cpp:160 #: eeschema/dialog_edit_libentry_fields_in_lib.cpp:165 @@ -10468,6 +10474,9 @@ msgstr "Taille du te&xte:" #: eeschema/dialog_sch_sheet_props_base.cpp:42 #: eeschema/dialog_sch_sheet_props_base.cpp:63 +#: eeschema/dialog_lib_edit_pin_base.cpp:41 +#: eeschema/dialog_lib_edit_pin_base.cpp:64 +#: eeschema/dialog_lib_edit_pin_base.cpp:87 msgid "units" msgstr "unités" @@ -12148,15 +12157,15 @@ msgstr "DCodes" msgid "Show DCodes identification" msgstr "Afficher numéros de D-Code" -#: gerbview/class_gerbview_layer_widget.cpp:118 +#: gerbview/class_gerbview_layer_widget.cpp:131 msgid "Show All Layers" msgstr "Monter Toutes les Couches" -#: gerbview/class_gerbview_layer_widget.cpp:121 +#: gerbview/class_gerbview_layer_widget.cpp:134 msgid "Hide All Layers" msgstr "Cacher Toutes les Couches" -#: gerbview/class_gerbview_layer_widget.cpp:186 +#: gerbview/class_gerbview_layer_widget.cpp:200 #, c-format msgid "Layer %d" msgstr "Couche %d" @@ -12384,20 +12393,20 @@ msgstr "Inconnu" msgid " \"" msgstr " \"" -#: common/basicframe.cpp:207 +#: common/basicframe.cpp:224 msgid " file <" msgstr " Fichier <" -#: common/basicframe.cpp:207 +#: common/basicframe.cpp:224 msgid "> was not found." msgstr "> non trouvé." -#: common/basicframe.cpp:241 +#: common/basicframe.cpp:258 #, c-format msgid "Help file %s not found" msgstr "Fichier d'aide %s non trouvé" -#: common/basicframe.cpp:250 +#: common/basicframe.cpp:267 #, c-format msgid "Help file %s could not be found." msgstr "Fichier d'aide %s non trouvé." @@ -12466,7 +12475,7 @@ msgstr "Sélection par Viewer" msgid "Load Error!" msgstr "Erreur de Chargement!" -#: common/hotkeys_basic.cpp:367 +#: common/hotkeys_basic.cpp:384 msgid "" "Current hotkey list:\n" "\n" @@ -12474,87 +12483,87 @@ msgstr "" "Liste des Hotkeys courantes:\n" "\n" -#: common/hotkeys_basic.cpp:375 +#: common/hotkeys_basic.cpp:392 msgid "key " msgstr "touche: " -#: common/hotkeys_basic.cpp:428 +#: common/hotkeys_basic.cpp:445 msgid "Save Hotkey Configuration File:" msgstr "Sauver Fichier Configuration des Hotkeys:" -#: common/hotkeys_basic.cpp:460 +#: common/hotkeys_basic.cpp:477 msgid "Allowed keys:\n" msgstr "Touches autorisées:\n" -#: common/hotkeys_basic.cpp:545 +#: common/hotkeys_basic.cpp:562 msgid "Open Hotkey Configuration File:" msgstr "Ouvrir Fichier Configuration des Hotkeys:" -#: common/hotkeys_basic.cpp:563 +#: common/hotkeys_basic.cpp:580 msgid "Unable to read " msgstr "Impossible de lire " -#: common/hotkeys_basic.cpp:681 +#: common/hotkeys_basic.cpp:698 msgid "List Current Keys" msgstr "Lister Touches Courantes" -#: common/hotkeys_basic.cpp:682 +#: common/hotkeys_basic.cpp:699 msgid "Displays the current hotkeys list and corresponding commands" msgstr "Afficher la liste des hotkeyc courante et les commandes correspondantes" -#: common/hotkeys_basic.cpp:688 +#: common/hotkeys_basic.cpp:705 msgid "(Re)create Hotkeys File" msgstr "(Re)créer Fichier Hotkeys" -#: common/hotkeys_basic.cpp:690 +#: common/hotkeys_basic.cpp:707 msgid "Create or recreate the hotkey configuration file from current hotkey list" msgstr "Créer ou recréer le fichier configuration des Hotkeys à partir de la liste courante" -#: common/hotkeys_basic.cpp:697 +#: common/hotkeys_basic.cpp:714 msgid "Reload Hotkeys File" msgstr "Relire Fichiers Hotkeys" -#: common/hotkeys_basic.cpp:698 +#: common/hotkeys_basic.cpp:715 msgid "Reload the hotkey configuration file" msgstr "Relire les fichiers configuration des hotkeys" -#: common/hotkeys_basic.cpp:704 +#: common/hotkeys_basic.cpp:721 msgid "Edit Hotkeys File" msgstr "Editer Fichier Hotkeys" -#: common/hotkeys_basic.cpp:705 +#: common/hotkeys_basic.cpp:722 msgid "Edit the hotkey configuration file in a text editor" msgstr "Editer les fichiers configuration des hotkeys" -#: common/hotkeys_basic.cpp:711 +#: common/hotkeys_basic.cpp:728 msgid "Hotkeys" msgstr "Hotkeys" -#: common/hotkeys_basic.cpp:712 +#: common/hotkeys_basic.cpp:729 msgid "Hotkeys configuration and preferences" msgstr "Options et préférences générales des hotkeys" -#: common/hotkeys_basic.cpp:720 +#: common/hotkeys_basic.cpp:737 msgid "Home directory" msgstr "Répertoire d'accueil (home)" -#: common/hotkeys_basic.cpp:721 +#: common/hotkeys_basic.cpp:738 msgid "Use home directory to load or store Hotkey config files" msgstr "Utiliser le répertoire d'accueil pour charger ou sauver les fichiers de config des Hotkeys" -#: common/hotkeys_basic.cpp:728 +#: common/hotkeys_basic.cpp:745 msgid "KiCad template directory" msgstr "kicad/template répertoire" -#: common/hotkeys_basic.cpp:729 +#: common/hotkeys_basic.cpp:746 msgid "Use kicad/template directory to load or store Hotkey config files" msgstr "Utiliser répertoire kicad/template pour charger ou sauver les fichiers de config des Hotkeys" -#: common/hotkeys_basic.cpp:735 +#: common/hotkeys_basic.cpp:752 msgid "Location" msgstr "Emplacement" -#: common/hotkeys_basic.cpp:736 +#: common/hotkeys_basic.cpp:753 msgid "Select hotkey configuration file location" msgstr "Sélectionner l'emplacement du fichier fonfiguration des hotkeys:" @@ -12849,7 +12858,7 @@ msgstr "Echange modules:" msgid "Module properties" msgstr "Propriétés du Module" -#: pcbnew/dialog_design_rules_base.h:111 +#: pcbnew/dialog_design_rules_base.h:110 msgid "Design Rules Editor" msgstr "Editeur de Règles de Conception" @@ -12973,6 +12982,10 @@ msgstr "Propriétés des Champs" msgid "Pin Properties" msgstr "Propriétés des Pins" +#: eeschema/dialog_build_BOM_base.h:69 +msgid "List of Material" +msgstr "Liste du Matériel" + #: eeschema/dialog_annotate_base.h:77 msgid "Annotate Schematic" msgstr "Annotation de la Schématique" @@ -12997,10 +13010,6 @@ msgstr "Propriétés de la Feuille de Hiérarchie" msgid "Schematic Editor Options" msgstr "Options de l'Editeur de Schématique" -#: eeschema/dialog_build_BOM_base.h:69 -msgid "List of Material" -msgstr "Liste du Matériel" - #: eeschema/component_wizard/dialog_component_setup.h:55 msgid "Component Builder" msgstr "Générateur de Composant" diff --git a/pcbnew/class_pcb_layer_widget.cpp b/pcbnew/class_pcb_layer_widget.cpp index 146b1addc1..f617421e94 100644 --- a/pcbnew/class_pcb_layer_widget.cpp +++ b/pcbnew/class_pcb_layer_widget.cpp @@ -99,6 +99,9 @@ PCB_LAYER_WIDGET::PCB_LAYER_WIDGET( WinEDA_PcbFrame* aParent, wxWindow* aFocusOw AppendRenderRows( renderRows, DIM(renderRows) ); + // Update default tabs labels for gerbview + SetLayersManagerTabsText( ); + //------------------------------------------------------ // handle the popup menu over the layer window. m_LayerScrolledWindow->Connect( wxEVT_RIGHT_DOWN, @@ -196,6 +199,16 @@ void PCB_LAYER_WIDGET::onPopupSelection( wxCommandEvent& event ) } } +/** Function SetLayersManagerTabsText + * Update the layer manager tabs labels + * Useful when changing Language or to set labels to a non default value + */ +void PCB_LAYER_WIDGET::SetLayersManagerTabsText( ) +{ + m_notebook->SetPageText(0, _("Layer") ); + m_notebook->SetPageText(1, _("Render") ); +} + void PCB_LAYER_WIDGET::ReFill() { diff --git a/pcbnew/class_pcb_layer_widget.h b/pcbnew/class_pcb_layer_widget.h index 5510a4418e..1f54b4440b 100644 --- a/pcbnew/class_pcb_layer_widget.h +++ b/pcbnew/class_pcb_layer_widget.h @@ -75,6 +75,11 @@ public: void OnLayerVisible( int aLayer, bool isVisible, bool isFinal ); void OnRenderColorChange( int aId, int aColor ); void OnRenderEnable( int aId, bool isEnabled ); + /** Function SetLayersManagerTabsText + * Update the layer manager tabs labels + * Useful when changing Language or to set labels to a non default value + */ + void SetLayersManagerTabsText( ); //--------------- }; diff --git a/pcbnew/pcbframe.cpp b/pcbnew/pcbframe.cpp index a6c8124423..369162209f 100644 --- a/pcbnew/pcbframe.cpp +++ b/pcbnew/pcbframe.cpp @@ -128,7 +128,7 @@ BEGIN_EVENT_TABLE( WinEDA_PcbFrame, WinEDA_BasePcbFrame ) WinEDA_PcbFrame::Process_Special_Functions ) EVT_MENU_RANGE( ID_LANGUAGE_CHOICE, ID_LANGUAGE_CHOICE_END, - WinEDA_DrawFrame::SetLanguage ) + WinEDA_PcbFrame::SetLanguage ) // menu Postprocess EVT_MENU( ID_PCB_GEN_POS_MODULES_FILE, WinEDA_PcbFrame::GenModulesPosition ) @@ -617,3 +617,15 @@ void WinEDA_PcbFrame::SetVisibleAlls( ) m_Layers->SetRenderState( ii, true ); } +/** function SetLanguage + * called on a language menu selection + */ +void WinEDA_PcbFrame::SetLanguage( wxCommandEvent& event ) +{ + WinEDA_DrawFrame::SetLanguage( event ); + m_Layers->SetLayersManagerTabsText( ); + wxAuiPaneInfo& pane_info = m_auimgr.GetPane(m_Layers); + pane_info.Caption( _( "Visibles" ) ); + m_auimgr.Update(); + ReFillLayerWidget(); +} diff --git a/version.txt b/version.txt index 4bc1a7ae24..f45ea09e8c 100644 --- a/version.txt +++ b/version.txt @@ -1,4 +1,4 @@ release version: -2010 feb 21 +2010 feb 26 files (.zip,.tgz): -kicad-2010-02-21-RC4 +kicad-2010-02-26-RC5