From 88b1c9b7d3b3548f570959a7102550575a38a604 Mon Sep 17 00:00:00 2001 From: charras Date: Fri, 22 Aug 2008 14:48:30 +0000 Subject: [PATCH] bug solved: netlist calculations could crash eeschema under very rare circumstances. See also changelog --- change_log.txt | 9 + eeschema/libcmp.h | 8 +- eeschema/netlist.cpp | 340 ++++---- eeschema/plot.cpp | 8 +- internat/fr/kicad.mo | Bin 157985 -> 157880 bytes internat/fr/kicad.po | 1635 ++++++++++++++++++++++++------------- pcbnew/class_text_mod.cpp | 10 +- pcbnew/onrightclick.cpp | 6 +- 8 files changed, 1303 insertions(+), 713 deletions(-) diff --git a/change_log.txt b/change_log.txt index 67e0bf20c0..af65f93a61 100644 --- a/change_log.txt +++ b/change_log.txt @@ -5,6 +5,15 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with email address. +2008-Aug-22 UPDATE Jean-Pierre Charras +================================================================================ ++eeschema: + bug solved: netlist calculations could crash eeschema under very rare circumstances. + recent bug solved: background filled shapes (filled but not solid: texts are readables inside shapes) + were drawn (and plotted) as filled (solid) shapes + enhancements needed for plotting background filled shapes, in color mode + (cannot be filled in black and white mode) + 2008-Aug-18 UPDATE Jean-Pierre Charras ================================================================================ +pcbnew: diff --git a/eeschema/libcmp.h b/eeschema/libcmp.h index 5c6e646a39..5562be376b 100644 --- a/eeschema/libcmp.h +++ b/eeschema/libcmp.h @@ -238,7 +238,7 @@ class LibDrawArc : public LibEDA_BaseStruct { public: int m_Rayon; - bool m_Fill; + int m_Fill; // NO_FILL, FILLED_SHAPE or FILLED_WITH_BG_BODYCOLOR int t1, t2; /* position des 2 extremites de l'arc en 0,1 degres */ wxPoint m_ArcStart, m_ArcEnd; /* position des 2 extremites de l'arc en coord reelles*/ @@ -259,7 +259,7 @@ class LibDrawCircle : public LibEDA_BaseStruct { public: int m_Rayon; - bool m_Fill; + int m_Fill; public: LibDrawCircle(); @@ -299,7 +299,7 @@ class LibDrawSquare : public LibEDA_BaseStruct { public: wxPoint m_End; - bool m_Fill; + int m_Fill; public: LibDrawSquare(); @@ -337,7 +337,7 @@ class LibDrawPolyline : public LibEDA_BaseStruct public: int n; int* PolyList; - bool m_Fill; + int m_Fill; public: LibDrawPolyline(); diff --git a/eeschema/netlist.cpp b/eeschema/netlist.cpp index 547091b5ce..9880c1dee9 100644 --- a/eeschema/netlist.cpp +++ b/eeschema/netlist.cpp @@ -17,7 +17,7 @@ /* Routines locales */ static void PropageNetCode( int OldNetCode, int NewNetCode, int IsBus ); static void SheetLabelConnect( ObjetNetListStruct* SheetLabel ); -static int ListeObjetConnection( DrawSheetPath* sheetlist, +static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* ObjNet ); static int ConvertBusToMembers( ObjetNetListStruct* ObjNet ); static void PointToPointConnect( ObjetNetListStruct* Ref, int IsBus, @@ -28,7 +28,7 @@ static void LabelConnect( ObjetNetListStruct* Label ); static int TriNetCode( const void* o1, const void* o2 ); static void ConnectBusLabels( ObjetNetListStruct* Label, int NbItems ); static void SetUnconnectedFlag( ObjetNetListStruct* ObjNet, int NbItems ); -static int TriBySheet( const void* o1, const void* o2 ); +static int TriBySheet( const void* o1, const void* o2 ); /* Variable locales */ static int FirstNumWireBus, LastNumWireBus, RootBusNameLength; @@ -36,7 +36,7 @@ static int LastNetCode, LastBusNetCode; static int s_PassNumber; -#if defined(DEBUG) +#if defined (DEBUG) #include const char* ShowType( NetObjetType aType ) { @@ -44,22 +44,52 @@ const char* ShowType( NetObjetType aType ) switch( aType ) { - case NET_SEGMENT: ret = "segment"; break; - case NET_BUS: ret = "bus"; break; - case NET_JONCTION: ret = "junction"; break; - case NET_LABEL: ret = "label"; break; - case NET_HIERLABEL: ret = "hierlabel"; break; - case NET_GLOBLABEL: ret = "glabel"; break; - case NET_BUSLABELMEMBER: ret = "buslblmember"; break; - case NET_HIERBUSLABELMEMBER: ret = "hierbuslblmember"; break; - case NET_GLOBBUSLABELMEMBER: ret = "gbuslblmember"; break; - case NET_SHEETBUSLABELMEMBER: ret = "sbuslblmember"; break; - case NET_SHEETLABEL: ret = "sheetlabel"; break; - case NET_PINLABEL: ret = "pinlabel"; break; - case NET_PIN: ret = "pin"; break; - case NET_NOCONNECT: ret = "noconnect"; break; - default: ret = "??"; break; + case NET_SEGMENT: + ret = "segment"; break; + + case NET_BUS: + ret = "bus"; break; + + case NET_JONCTION: + ret = "junction"; break; + + case NET_LABEL: + ret = "label"; break; + + case NET_HIERLABEL: + ret = "hierlabel"; break; + + case NET_GLOBLABEL: + ret = "glabel"; break; + + case NET_BUSLABELMEMBER: + ret = "buslblmember"; break; + + case NET_HIERBUSLABELMEMBER: + ret = "hierbuslblmember"; break; + + case NET_GLOBBUSLABELMEMBER: + ret = "gbuslblmember"; break; + + case NET_SHEETBUSLABELMEMBER: + ret = "sbuslblmember"; break; + + case NET_SHEETLABEL: + ret = "sheetlabel"; break; + + case NET_PINLABEL: + ret = "pinlabel"; break; + + case NET_PIN: + ret = "pin"; break; + + case NET_NOCONNECT: + ret = "noconnect"; break; + + default: + ret = "??"; break; } + return ret; } @@ -67,11 +97,12 @@ const char* ShowType( NetObjetType aType ) void ObjetNetListStruct::Show( std::ostream& out, int ndx ) { wxString path = m_SheetList.PathHumanReadable(); + out << "\n"; + " type=\"" << ShowType( m_Type ) << '"' << + " netCode=\"" << GetNet() << '"' << + " sheet=\"" << CONV_TO_UTF8( path ) << '"' << + ">\n"; out << " \n"; @@ -86,13 +117,16 @@ void ObjetNetListStruct::Show( std::ostream& out, int ndx ) out << "\n"; } + void dumpNetTable() { - for( int i=0; iLastScreen()->EEDrawList; for( ; DrawList; DrawList = DrawList->Pnext ) { - if( ObjNet ){ - ObjNet[NbrItem].m_SheetList = *sheetlist; - ObjNet[NbrItem].m_SheetListInclude = *sheetlist; - //used for DrawSheetLabels - } switch( DrawList->Type() ) { case DRAW_SEGMENT_STRUCT_TYPE: @@ -469,13 +499,14 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O #define STRUCT ( (EDA_DrawLineStruct*) DrawList ) if( ObjNet ) { - if( (STRUCT->GetLayer() != LAYER_BUS) - && (STRUCT->GetLayer() != LAYER_WIRE) ) + if( (STRUCT->GetLayer() != LAYER_BUS) && (STRUCT->GetLayer() != LAYER_WIRE) ) break; - ObjNet[NbrItem].m_Comp = STRUCT; - ObjNet[NbrItem].m_Start = STRUCT->m_Start; - ObjNet[NbrItem].m_End = STRUCT->m_End; + ObjNet[NbrItem].m_SheetList = *sheetlist; + ObjNet[NbrItem].m_SheetListInclude = *sheetlist; + ObjNet[NbrItem].m_Comp = STRUCT; + ObjNet[NbrItem].m_Start = STRUCT->m_Start; + ObjNet[NbrItem].m_End = STRUCT->m_End; if( STRUCT->GetLayer() == LAYER_BUS ) { @@ -494,10 +525,12 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O #define STRUCT ( (DrawJunctionStruct*) DrawList ) if( ObjNet ) { - ObjNet[NbrItem].m_Comp = STRUCT; - ObjNet[NbrItem].m_Type = NET_JONCTION; - ObjNet[NbrItem].m_Start = STRUCT->m_Pos; - ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; + ObjNet[NbrItem].m_SheetList = *sheetlist; + ObjNet[NbrItem].m_SheetListInclude = *sheetlist; + ObjNet[NbrItem].m_Comp = STRUCT; + ObjNet[NbrItem].m_Type = NET_JONCTION; + ObjNet[NbrItem].m_Start = STRUCT->m_Pos; + ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; } NbrItem++; break; @@ -507,10 +540,12 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O #define STRUCT ( (DrawNoConnectStruct*) DrawList ) if( ObjNet ) { - ObjNet[NbrItem].m_Comp = STRUCT; - ObjNet[NbrItem].m_Type = NET_NOCONNECT; - ObjNet[NbrItem].m_Start = STRUCT->m_Pos; - ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; + ObjNet[NbrItem].m_SheetList = *sheetlist; + ObjNet[NbrItem].m_SheetListInclude = *sheetlist; + ObjNet[NbrItem].m_Comp = STRUCT; + ObjNet[NbrItem].m_Type = NET_NOCONNECT; + ObjNet[NbrItem].m_Start = STRUCT->m_Pos; + ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; } NbrItem++; break; @@ -521,8 +556,10 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O ii = IsBusLabel( STRUCT->m_Text ); if( ObjNet ) { - ObjNet[NbrItem].m_Comp = STRUCT; - ObjNet[NbrItem].m_Type = NET_LABEL; + ObjNet[NbrItem].m_SheetList = *sheetlist; + ObjNet[NbrItem].m_SheetListInclude = *sheetlist; + ObjNet[NbrItem].m_Comp = STRUCT; + ObjNet[NbrItem].m_Type = NET_LABEL; if( STRUCT->m_Layer == LAYER_GLOBLABEL ) ObjNet[NbrItem].m_Type = NET_GLOBLABEL; @@ -547,11 +584,13 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O ii = IsBusLabel( STRUCT->m_Text ); if( ObjNet ) { - ObjNet[NbrItem].m_Comp = STRUCT; - ObjNet[NbrItem].m_Type = NET_LABEL; + ObjNet[NbrItem].m_SheetList = *sheetlist; + ObjNet[NbrItem].m_SheetListInclude = *sheetlist; + ObjNet[NbrItem].m_Comp = STRUCT; + ObjNet[NbrItem].m_Type = NET_LABEL; - if( STRUCT->m_Layer == LAYER_GLOBLABEL ) //this is not the simplest way of doing it - ObjNet[NbrItem].m_Type = NET_GLOBLABEL;// (look at the case statement above). + if( STRUCT->m_Layer == LAYER_GLOBLABEL ) //this is not the simplest way of doing it + ObjNet[NbrItem].m_Type = NET_GLOBLABEL; // (look at the case statement above). if( STRUCT->m_Layer == LAYER_HIERLABEL ) ObjNet[NbrItem].m_Type = NET_HIERLABEL; @@ -590,7 +629,7 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O if( DEntry->Type() != COMPONENT_PIN_DRAW_TYPE ) continue; - if( DEntry->m_Unit && (DEntry->m_Unit != DrawLibItem->GetUnitSelection( sheetlist ) ) ) + if( DEntry->m_Unit && ( DEntry->m_Unit != DrawLibItem->GetUnitSelection( sheetlist ) ) ) continue; if( DEntry->m_Convert @@ -605,16 +644,17 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O if( ObjNet ) { - ObjNet[NbrItem].m_Comp = DEntry; - ObjNet[NbrItem].m_SheetList = *sheetlist; - ObjNet[NbrItem].m_Type = NET_PIN; - ObjNet[NbrItem].m_Link = DrawLibItem; + ObjNet[NbrItem].m_SheetListInclude = *sheetlist; + ObjNet[NbrItem].m_Comp = DEntry; + ObjNet[NbrItem].m_SheetList = *sheetlist; + ObjNet[NbrItem].m_Type = NET_PIN; + ObjNet[NbrItem].m_Link = DrawLibItem; ObjNet[NbrItem].m_ElectricalType = Pin->m_PinType; - ObjNet[NbrItem].m_PinNum = Pin->m_PinNum; - ObjNet[NbrItem].m_Label = &Pin->m_PinName; - ObjNet[NbrItem].m_Start.x = x2; - ObjNet[NbrItem].m_Start.y = y2; - ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; + ObjNet[NbrItem].m_PinNum = Pin->m_PinNum; + ObjNet[NbrItem].m_Label = &Pin->m_PinName; + ObjNet[NbrItem].m_Start.x = x2; + ObjNet[NbrItem].m_Start.y = y2; + ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; } NbrItem++; @@ -624,13 +664,14 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O /* Il y a un PIN_LABEL Associe */ if( ObjNet ) { - ObjNet[NbrItem].m_Comp = NULL; - ObjNet[NbrItem].m_SheetList = *sheetlist; - ObjNet[NbrItem].m_Type = NET_PINLABEL; - ObjNet[NbrItem].m_Label = &Pin->m_PinName; - ObjNet[NbrItem].m_Start.x = x2; - ObjNet[NbrItem].m_Start.y = y2; - ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; + ObjNet[NbrItem].m_SheetListInclude = *sheetlist; + ObjNet[NbrItem].m_Comp = NULL; + ObjNet[NbrItem].m_SheetList = *sheetlist; + ObjNet[NbrItem].m_Type = NET_PINLABEL; + ObjNet[NbrItem].m_Label = &Pin->m_PinName; + ObjNet[NbrItem].m_Start.x = x2; + ObjNet[NbrItem].m_Start.y = y2; + ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; } NbrItem++; } @@ -649,7 +690,7 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O #undef STRUCT #define STRUCT ( (DrawSheetStruct*) DrawList ) list = *sheetlist; - list.Push(STRUCT); + list.Push( STRUCT ); SheetLabel = STRUCT->m_Label; for( ; SheetLabel != NULL; SheetLabel = (Hierarchical_PIN_Sheet_Struct*) SheetLabel->Pnext ) @@ -657,15 +698,16 @@ static int ListeObjetConnection( DrawSheetPath* sheetlist, ObjetNetListStruct* O ii = IsBusLabel( SheetLabel->m_Text ); if( ObjNet ) { - ObjNet[NbrItem].m_Comp = SheetLabel; - ObjNet[NbrItem].m_SheetList = *sheetlist; - ObjNet[NbrItem].m_Link = DrawList; - ObjNet[NbrItem].m_Type = NET_SHEETLABEL; + ObjNet[NbrItem].m_SheetListInclude = *sheetlist; + ObjNet[NbrItem].m_Comp = SheetLabel; + ObjNet[NbrItem].m_SheetList = *sheetlist; + ObjNet[NbrItem].m_Link = DrawList; + ObjNet[NbrItem].m_Type = NET_SHEETLABEL; ObjNet[NbrItem].m_ElectricalType = SheetLabel->m_Shape; - ObjNet[NbrItem].m_Label = &SheetLabel->m_Text; - ObjNet[NbrItem].m_SheetListInclude = list; - ObjNet[NbrItem].m_Start = SheetLabel->m_Pos; - ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; + ObjNet[NbrItem].m_Label = &SheetLabel->m_Text; + ObjNet[NbrItem].m_SheetListInclude = list; + ObjNet[NbrItem].m_Start = SheetLabel->m_Pos; + ObjNet[NbrItem].m_End = ObjNet[NbrItem].m_Start; /* Si c'est un Bus, eclatement en Label */ if( ii ) @@ -743,6 +785,8 @@ static void ConnectBusLabels( ObjetNetListStruct* Label, int NbItems ) } } } + + /**************************************************/ int IsBusLabel( const wxString& LabelDrawList ) /**************************************************/ @@ -840,7 +884,7 @@ static int ConvertBusToMembers( ObjetNetListStruct* BusLabel ) BusLabel->m_Type = NET_BUSLABELMEMBER; /* Convertion du BusLabel en la racine du Label + le numero du fil */ - BufLine = BusLabel->m_Label->Left( RootBusNameLength ); + BufLine = BusLabel->m_Label->Left( RootBusNameLength ); BusMember = FirstNumWireBus; BufLine << BusMember; @@ -883,8 +927,8 @@ static void PropageNetCode( int OldNetCode, int NewNetCode, int IsBus ) if( OldNetCode == NewNetCode ) return; -#if defined(NETLIST_DEBUG) && defined(DEBUG) - printf("replacing net %d with %d\n", OldNetCode,NewNetCode); +#if defined (NETLIST_DEBUG) && defined (DEBUG) + printf( "replacing net %d with %d\n", OldNetCode, NewNetCode ); #endif if( IsBus == 0 ) /* Propagation du NetCode */ @@ -941,8 +985,7 @@ static void PointToPointConnect( ObjetNetListStruct* Ref, int IsBus, int start ) netCode = Ref->GetNet(); for( i = start; i < g_NbrObjNet; i++ ) { - - if( netTable[i].m_SheetList != Ref->m_SheetList ) //used to be > (why?) + if( netTable[i].m_SheetList != Ref->m_SheetList ) //used to be > (why?) continue; switch( netTable[i].m_Type ) @@ -957,9 +1000,9 @@ static void PointToPointConnect( ObjetNetListStruct* Ref, int IsBus, int start ) case NET_JONCTION: case NET_NOCONNECT: if( Ref->m_Start == netTable[i].m_Start - || Ref->m_Start == netTable[i].m_End - || Ref->m_End == netTable[i].m_Start - || Ref->m_End == netTable[i].m_End ) + || Ref->m_Start == netTable[i].m_End + || Ref->m_End == netTable[i].m_Start + || Ref->m_End == netTable[i].m_End ) { if( netTable[i].GetNet() == 0 ) netTable[i].SetNet( netCode ); @@ -977,7 +1020,6 @@ static void PointToPointConnect( ObjetNetListStruct* Ref, int IsBus, int start ) } } } - else /* Objets type BUS et BUSLABELS ( et JONCTIONS )*/ { netCode = Ref->m_BusNetCode; @@ -1005,9 +1047,9 @@ static void PointToPointConnect( ObjetNetListStruct* Ref, int IsBus, int start ) case NET_GLOBBUSLABELMEMBER: case NET_JONCTION: if( Ref->m_Start == netTable[i].m_Start - || Ref->m_Start == netTable[i].m_End - || Ref->m_End == netTable[i].m_Start - || Ref->m_End == netTable[i].m_End ) + || Ref->m_Start == netTable[i].m_End + || Ref->m_End == netTable[i].m_Start + || Ref->m_End == netTable[i].m_End ) { if( netTable[i].m_BusNetCode == 0 ) netTable[i].m_BusNetCode = netCode; @@ -1091,36 +1133,38 @@ static void LabelConnect( ObjetNetListStruct* LabelRef ) ObjetNetListStruct* netTable = g_TabObjNet; - for( int i=0; iGetNet() ) continue; if( netTable[i].m_SheetList != LabelRef->m_SheetList ) { if( (netTable[i].m_Type != NET_PINLABEL - && netTable[i].m_Type != NET_GLOBLABEL - && netTable[i].m_Type != NET_GLOBBUSLABELMEMBER) ) + && netTable[i].m_Type != NET_GLOBLABEL + && netTable[i].m_Type != NET_GLOBBUSLABELMEMBER) ) continue; if( (netTable[i].m_Type == NET_GLOBLABEL - || netTable[i].m_Type == NET_GLOBBUSLABELMEMBER) - && netTable[i].m_Type != LabelRef->m_Type) + || netTable[i].m_Type == NET_GLOBBUSLABELMEMBER) + && netTable[i].m_Type != LabelRef->m_Type ) //global labels only connect other global labels. continue; } + //regular labels are sheet-local; //NET_HIERLABEL are used to connect sheets. //NET_LABEL is sheet-local (***) //NET_GLOBLABEL is global. if( netTable[i].m_Type == NET_LABEL - || netTable[i].m_Type == NET_GLOBLABEL - || netTable[i].m_Type == NET_HIERLABEL - || netTable[i].m_Type == NET_BUSLABELMEMBER - || netTable[i].m_Type == NET_GLOBBUSLABELMEMBER - || netTable[i].m_Type == NET_HIERBUSLABELMEMBER - || netTable[i].m_Type == NET_PINLABEL ) + || netTable[i].m_Type == NET_GLOBLABEL + || netTable[i].m_Type == NET_HIERLABEL + || netTable[i].m_Type == NET_BUSLABELMEMBER + || netTable[i].m_Type == NET_GLOBBUSLABELMEMBER + || netTable[i].m_Type == NET_HIERBUSLABELMEMBER + || netTable[i].m_Type == NET_PINLABEL ) { if( netTable[i].m_Label->CmpNoCase( *LabelRef->m_Label ) != 0 ) continue; + // Propagation du Netcode a tous les Objets de meme NetCode if( netTable[i].GetNet() ) PropageNetCode( netTable[i].GetNet(), LabelRef->GetNet(), 0 ); @@ -1130,6 +1174,7 @@ static void LabelConnect( ObjetNetListStruct* LabelRef ) } } + /****************************************************************************/ static int TriNetCode( const void* o1, const void* o2 ) /****************************************************************************/ @@ -1144,6 +1189,7 @@ static int TriNetCode( const void* o1, const void* o2 ) return Objet1->GetNet() - Objet2->GetNet(); } + /*****************************************************************************/ static int TriBySheet( const void* o1, const void* o2 ) /*****************************************************************************/ @@ -1154,9 +1200,11 @@ static int TriBySheet( const void* o1, const void* o2 ) { ObjetNetListStruct* Objet1 = (ObjetNetListStruct*) o1; ObjetNetListStruct* Objet2 = (ObjetNetListStruct*) o2; - return Objet1->m_SheetList.Cmp(Objet2->m_SheetList); + + return Objet1->m_SheetList.Cmp( Objet2->m_SheetList ); } + /**********************************************************************/ static void SetUnconnectedFlag( ObjetNetListStruct* ListObj, int NbItems ) /**********************************************************************/ @@ -1171,7 +1219,7 @@ static void SetUnconnectedFlag( ObjetNetListStruct* ListObj, int NbItems ) IsConnectType StateFlag; - NetStart = NetEnd = ListObj; + NetStart = NetEnd = ListObj; NetItemRef = NetStart; Nb = 0; StateFlag = UNCONNECT; @@ -1187,7 +1235,7 @@ static void SetUnconnectedFlag( ObjetNetListStruct* ListObj, int NbItems ) NetItemTst = NetItemRef + 1; if( (NetItemTst >= Lim) - || (NetItemRef->GetNet() != NetItemTst->GetNet()) ) + || ( NetItemRef->GetNet() != NetItemTst->GetNet() ) ) { /* Net analyse: mise a jour de m_FlagOfConnection */ NetEnd = NetItemTst; @@ -1209,7 +1257,7 @@ static void SetUnconnectedFlag( ObjetNetListStruct* ListObj, int NbItems ) for( ; ; NetItemTst++ ) { if( (NetItemTst >= Lim) - || (NetItemRef->GetNet() != NetItemTst->GetNet()) ) + || ( NetItemRef->GetNet() != NetItemTst->GetNet() ) ) break; switch( NetItemTst->m_Type ) diff --git a/eeschema/plot.cpp b/eeschema/plot.cpp index ae465db3c2..4b70418632 100644 --- a/eeschema/plot.cpp +++ b/eeschema/plot.cpp @@ -219,7 +219,7 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem ) pos.y = PartY + TransMat[1][0] * Arc->m_Pos.x + TransMat[1][1] * Arc->m_Pos.y; MapAngles( &t1, &t2, TransMat ); - PlotArc( pos, t1, t2, Arc->m_Rayon, Arc->m_Fill, Arc->m_Width ); + PlotArc( pos, t1, t2, Arc->m_Rayon, Arc->m_Fill == FILLED_SHAPE ? true : false, Arc->m_Width ); } break; @@ -230,7 +230,7 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem ) TransMat[0][1] * Circle->m_Pos.y; pos.y = PartY + TransMat[1][0] * Circle->m_Pos.x + TransMat[1][1] * Circle->m_Pos.y; - PlotCercle( pos, Circle->m_Rayon * 2, Circle->m_Fill, Circle->m_Width ); + PlotCercle( pos, Circle->m_Rayon * 2, Circle->m_Fill == FILLED_SHAPE ? true : false, Circle->m_Width ); } break; @@ -266,7 +266,7 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem ) y2 = PartY + TransMat[1][0] * Square->m_End.x + TransMat[1][1] * Square->m_End.y; - PlotRect( wxPoint(x1, y1), wxPoint(x2, y2), Square->m_Fill, Square->m_Width ); + PlotRect( wxPoint(x1, y1), wxPoint(x2, y2), Square->m_Fill == FILLED_SHAPE ? true : false, Square->m_Width ); } break; @@ -311,7 +311,7 @@ void PlotLibPart( SCH_COMPONENT* DrawLibItem ) TransMat[1][1] * polyline->PolyList[ii * 2 + 1]; } - PlotPoly( ii, Poly, polyline->m_Fill, polyline->m_Width ); + PlotPoly( ii, Poly, polyline->m_Fill == FILLED_SHAPE ? true : false, polyline->m_Width ); MyFree( Poly ); } break; diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 82634477d96b04aaecc40212e18e83e8823acd09..993a4478c71659ee5172be1cc5212d5f4ca98be1 100644 GIT binary patch delta 52864 zcmYh^3D{Lr+raVDJZm0kdYb21^E`{vKqN(}REP|rl#>jFL?ww5k?>MUWQYg}DTE3s z4OFDTP?UWC|Jk?ia<1$7etWIG_FDJ4*IN5Lh4*{n^L(#Kd>+Y{N|nQ( zd!|ym3#L-5=UJOdo%Km7)dPEkv#|u_?N|tpVp&XWOr=UgIV^x@B3-3AU?02>i{N)? zyF*w$l}e}bY)S^MhIZTuZEzvx#%nM?-iW8+ZBc#zi8=Ks+VSEjzk+!wza8ZdF&E{{ zQNIoCcNgYo{M3Ff?D#jd!yKO`Gb)64Qm%ytunZ0C^(cRiIVo>PpWB5c@n^KZ?4KnT zMW4&Uir4~+;{eRd_^GS7D1zhAf$l;hoQY-d;V8d|X6RLPhM%CR{t8`!U3fa4Li;K6 zc@kiiuqL`>^{_Iw#`H)oF5zMvu0v)A*>F7)}oF2&aY9!w13#(dQpVbNpzOmxRxSFNDj(m%>-RU~9REuTkM{cpEKm zLUZ*Mx)|TZ{h!g@bRzDjzD(NZMcWrf7qv9nUuAR+8lgFDjkY@ri(;QI*;?MXj0y+3 z2CLyDbVg62yKWhJKHkPsxDM@Td(`iZ@=s{TzeatouaW=?pzTYdi&{R)_0n88KvQ&p zZs_*xi3W6e)Zc&xIsu*GRCI>3!Y9z(vmDLPYgi25Lfe0aZkBJuo#=S!JzNy$;sAQ^ zPN5xD*pg(R2D&6o&<9$ffpv)c=c0iPL}xw{Z9g7O{p6^>C+g=%`AOutbn0a;O44vG znxd_E2JXbnTB9>fZA}6wj4n+{H1JAMZi@EP5e?|Va5x&+wP-)LNBu0!tixq8?LZQlm7VJ9r?tE~$c25>&Q zMwdl{%cDFBUCXP&bT}*SFGf3j7CnytLo>M)&EP9h{|4IbEp*SljcEt`j0^n|jeJ{_ zcZEMh{edX|8XiM4aRQxr{;!jFY)LFlxe*$84|IZq(2QOY-taZ~cP($F!h!EWXD~Z_ z2#t6iI>4jofKOv%d>LEdKFsWeZ<4*!6z#W9I0)@`6gtr>(F|Sl4f!`kH&M|KCt@Gm zg!M7&+f=F<_Qra67aG7yEQRl)fq#vrbT>NiZ|Fd&?a5}$i4Isa%BQ2xS5L={wpfCS zuINk$qA44JzA&zj^6lsVGtpEoi1HG2fS1rf-Uv6u{q1P~`_a>J3Vl9Z;JYMcCDEBQ zL~pc22kMNjVQ+MR%g}aLMEQEO!&{<$8ajcQ=z#Ol{$4~U^hT6FL;_8xHgjQzd%}Zg z2Y*C4+m7U1=SMrr!j@PYTjOx_`Nz?KpG60H8O_|g=ma)nS^NRbQ1+cpJk7@8!nLT6 zcF+}lpf9@C!_fh*M>p9-G>`|vN5ZGjOe{qQeghroW3=CIu{!R1?Us2XVd`cdwHE?sxD|K4bT{V`pO zixFJd;r-~EJ%R?X44u(S=!0*g53WN4`wDHh7j3s6o#`LwgtG5WGFt%KQm%}r;}A5% z6LypTo?P5VMIHPaeR1U8lLS;Dtc5wLKNIb^CAt)y(7-Q1-~B_;nco!kcjHLP561nI zVX?hQ`nzYn&fq7$BvuI=1t@C3SpyUF#hCl8y?a&zD07s)0_Z zIi7(%(DuX8@y23h&;M;)ID@A!4?c@V_9FVgTWHEZLQ}Ub>UX099>U!C7dmjZ{mI@a ziq5neI$$fb-*eDR4Zzbp|AV;5OU0E~9&bQ9oP|Cx4-M?;s9zes9Ii(9(7RFIhR%3r zcp@xyAPJ}ux_P@{LC^m{E?ldTXv!v_GoFs_g-0&k^G8jLmYYBUoMp^>hP`|Huox(&_Q1!`0r#N+{(<>0-$C+kM8yyCUdIY(2kp_ohNAEI@pu-#j4sV7G()+5Ndhc^ zc32b7!^Y@@?m{yp0J_^W#g2Vmy+|G``s*@#R9f5=BuKMBpm z9cTwL&>7B016zs}@T(~Qjt)@%_vC(UG_Zc?1g<~>z7zdUcmT_I{+DxMq#vSdvK6c0 z_gD<`{E_@E(HU5u@<=q0htL<(GiYX(V-ehjK6d~O=mnN!nHpK zjdVnmCu0f9kDwhd!;<(mI>1+G=JsPL{1ff3$nm6~%4qwx*aXi*kKI%}6PF%m{f%Td z6-Igl%it+&iKYKcQq~t+Q67Y~aW49TT8o`+!1X*1?%FQXn+UMOl3Qf z{4QAg1o=0G-Kg-5c5d9b5?zw1=&pYVo$;&a(tL~tegy6KA9T-@I+PbC!8o;^e#D=01 z8G~6k0o?RX|k>#QhWf)0EY+D{to z=K(Zh3(-K9g{!dutx_LyVTWIayU_=ZpbuormUMg?+O86MzX5u`ebo0v2OJpX(NVq$ zZGRWq{vmY2Phug)Pc7xbRINr+z8;;y?x_C_?I4vs>7WQYPXnn zJZ?k-`WX$RT<&a{B=R()4Dmud^ z=m2M-Yuz7xF%Kf4| z2<_?orPv@F1iHIqwPONGxlA05DoBTAH`a&5T z_s5|#n2ZiI6K(%Ax(8OE6LV87Bk=K(Zhi_p{XKKlF~ zG~g4M`TPGOrIQ9(XsX(y4KBr|ctez*L)Ul>I`j9@rP~mG5q=x)34acM3r~hQ%W(c3 zs2~?^mP+WRsEekkMU=Z@4a$Ad8IDH-n2MQ{qk$|y-vf)$K%YY=v>eUUr)Xx5Mmgu{ zoPRs2etMG9df1Y3NAx(|f(|$n9cUrCL`%_K{4u&0zCb7NU6l8uFP>k~KTqU7BMGP? zI$pJ~?irka2WmovyR!#6lk3o#Oh7Y~MmOn$Xl53p1Ft|cwmRz9qk(>jw%>yu&)?B; z3YSfOAE<`*-yzL~zc6$~I~<12WDL4#Zbmzri*Cke&|~*DI`F4x`)|=ee?$j7iGJIa zDwo&_-F%mz&yPa`P2b5ybuJ!6zf|79Hn;`tphWp3Wi8N%+oQX`OVkfQ1Gp5;%oXVG z2{)ku-hxhSD%QoBXn=1a?bE5PT$u8`Xv2eOgvZc^c`784S3(1Afo9}VbZ?9eZ$(o) zJ?<|;*ZL)N=C7meKSL+51M_+Qf91l4f1|rIXT`))=s-2m2V0^`&>ijIQgp`GqZ61M z_orbE%8#R)a6P&Szd-}}4eh5u76CARstOmTww@K(IBbIk)(uT%uc*HW&CoEk!|Txi z??Kx?j0V0i%FE;aDl|jyV-|jcX*)j2g&pRtlyq1It5a@(K5zjV@m1(d??Cs;baaN# zgm0irwlT{4!V_rw(<&!{)7)ZtRO)a0oiH#ptiktI^DC!P@veI@5wx zlIMz}6R3<0ura!nm!YY@0Uhu@bRv(S0j;Q#&X)O`h>cWu+;UV+mZCB`Kn-+8^~1B! zj9i8ecr)7ZG&B=)(Bu3Jx&-T@ehd00Jb(=`f3+m=)@d$WyR*^A2cQv7LnC|~8{=y9 z*YiVYp!KRJ$Ehd!svVC8oJKQsSNK5qNcdE^G)%u57i+@};aB0#@Id%mcq+_WBMG1w zdhW|$7M4TzN?SBDUC|{TfKGTMlEHLp92dUJ??g|*4D5@u(Nyh4XI83a(ylx@!|G^# zLo@@;(UiB1`g5bcKidDr=w2I+RdFm9_x#V{q9qm2q8;r+HXJ0zG?@?jbY(c;kfYDaBBEKIB)jQ>c!J`wK8f}hwq0Q(feD% z9pR7Rq3~Gv54xT6)J}F^2{fk-(Uf#Vb9ffo?)=&uU1K8HuT;25ZeA3^b33?`b*jx^ttcRr8_PoN#=YnlX90yBZ40o6sHZxQvK(EfWx{h;u2G=u4}QE>-4 z!x?BGkD>!UkAA(qj;8K6^jDNT&5{ADp&4w1o`Pm*0Bz8ecSBFhx#)!Yq5WQr1eQ*X z=E51=oK&Q4M|bHg^npcahyRQFFQXm27xzC$1O5h`z|Uwvf1&}LLN{&h=1IFkXnh6D z`~`mXsA!C)suemw4|MZfhz>9o&A@Hg2p^34b?9c>g8s6%AMGbci==%qG_Y#uz>U!W zTVXDKfk?II!Wni&AM73FOQJjqJvKL?Ydjsz*u!W*Poe?7f*!*U(Ehfg?S4cjbQEh~ zs%28HiD@5b#)S{`L_4|wv*So~W>>`hiRgfLh4at>o=0c43VnV}_$eCr_vko(pzRB` zO8#o2bgTFUz7-X&Q8)B!wHLa{hNF973Yx-MXh#d9{$=z<@;*AlBbbH%pn+$#PQFbW zqf2u(8o+S0pKDrk{vGg6Ds(=&+h0PD$3b*v+1exl=0kUR5p)epVQnlM_q(AP=!L$R zE{#&$t&UQ&=(s{V>d%GeUX-CY$-stWh8{Ul$xCm?FDy)h-(bVQ@pZvaE z5uJG-w7)Uv(%pj2d>WeBN0Eu7Q_Hw8HE)L>MT0NGedyAhMAxi%ha|9C=xO>{=}7FYxQRFlAq&sr?p>^k9@z9g~?9MLVpB9>W^w%$lGb zc0e=K4ejq@bf%X@`9}13PeS+3bj*6b7#iVX^ueX*t8*ie~7+C@)3_UV%RU z4mz_9QU4j*ekYotBj^NsR85Ty*Z*_F0ozV_^qYn&3&-)lO(5dK}K7>wS zL6jGxnRy-!;GMYt8QSl*#B^#e7tY`aI>0IPfuh}$fh(a8)I|er5%rzW=XynXAi9@E zpue-yTUu#-Rbu3Kyf9coo~= z=jeyxCY3Oa*U=;rH+-Easx z!zJhdub^wZ8C`;{X#2hBZcp`1_Cg-CU4gI&azC9a85QNwwXTE)R0peK4>XXg(E!Jz z1I<7Ocoa?XB6Rbvz)|=Sn!zUhlKbt^%=AWo;TeUe`~80p7Y_Iox~bNpGhB}jv;_@d z4;tVhwB4Uk{|}n_{O2VzEQ7uY%cB8S3+tlKH$j)Qt$O~uap6F{F$)Jpc@nx-_k;`3 z-vO7SGh2(!d?UKX-$nhQ@I;vB{G@&HuwqyTGyed;ITy~bBRW7&bhBK7P4EVEM$e$< zdO7-PT^X)NpZ_-e5e@7pI@9d^lK={!OHdm9)vaNF&VO|-dQ+h{Vr^W2W@J4&(3j`{ z`_Tt~LpNXX3zC2vq8aFfuI+hf=Ek9WVj8x?$FU0TKm*BfA?Lpl7v(NY{(|9L^nt6x zyU>mwLpxp;<zoC1gz<^|pi-u*<%vFnWy|8)IcTC4ckFakvxG2iQ!Yk2? zT#ufD$!I3#pqqDP)PIf!{3Dvt<7i+NFG@CbHFOEjL^or)1s9ojGp`pM|A+=h012o0>@kR$_*&?W1M9dS6Cxu>K4Z8YGm zXy$Sa<@~!jN^@aK%cE;nJIXE4$h$_lKbpGBF!L%#pPzv);e%+3Uq{#cYjp4I4gWx& z&vRLlfeM$!_kT?)e4sJ<%500iIJ%%S?uD-HFf`DK=nU?T`;Ue%qN)7=9r!ae1G~`n zCov088Z4208}0WR z^!{yVp!cGIKN0om6s{josGUfEd@NiXJ|Dh>4)i)YleeS(v#8&S&iK11??ad37c_IH z;(or7w&VO2=fVc%(V5jlJMMsf`SeBCYy_I2body$)^DOS{Rn;jbF{y`Xg|M)xkn}K zOQRF6ika{KI$Rj>ndoL|hrZJOtR2D& zLIb!j?#~XN4qv;H^KWW5P~prsV=w#*UF);1N|t0Ky2f{)$7?!XjnCsmEITF%_+d1F zrPvtXL}z{&&DcqFsqqM2QeKED>TFujorBR+(_fKElZ_%%sjmC;nz3R|K}(<924hS#8*HjQR# z0Xpzvbih~8iL6B@vH=-4o%)gsXS@fq;eIsrKcQ=ye{2$Yd34|g=u&l!@>S@U$`mw% z^U&0#}=4brW>0G!6s-mf@6E+E3hn>T7!t=t5 z!(ri-;q_?0w?uhLcuzPBGynYWk*HV{J{PV)J9s^OCtM$H3cm`shkMY?`%`!X-HgZ3 z4CK5ac`+5ff%9)_no!}|bwyKo33{%_qkCWux~reT%w|HDY%SVu7rKd0p_{DGxa4oS zOQU<~47>FH+GF_oI8D&W%YRU9m0YA=n!q!$J59*2i;h%9gqw zC!qcOf^O#OHz$GAK?7@w?ujm8e{^D(r{iKg8u@fI>}n}9Ce zWb_x7d1xRnqQ~qt^tprRjE~0sToW?CHS_nsTzK4CqicUH`fW8mX^>imuJv|ognwgA zY;a4`ZU8#dThM?W2p>W-F&_kdk|3+ti4yVla521TwF*=bK(wu)^2yakf%GRMXK7#J@Jd=}| zS3)=0nP{qep=;O|?dUQz(6Q(Yr=SDQK=;N1wBHrsdUV|HCNq!^?5Dz+{Ej|wA}n%S zGV^L^hYiqn?J#qm(E$3RGaH6x@XGKyH1P50fV0rexFG5mrK92vG{tYD9ejj#_!&0C zZDpOThp{D=xjpH)UpNq**=3l8Bhh0!E$W{^zouV6-xKd4n>wBPmJ0(o6b*9Sk?j6* z=%#Fru6YMEpe|@Y=S2C!C|`n$NWm3&F82#fOoD5xwCPFa%AlLK z2|7+Ytc5+NbN(IZ#<=ki8sSrD2A)Na*)p`<+c+6_hC}a5Qn?F#gPuSGDm)`O4Hd#l zn8_5HnfhqJt!Hrl9iTH6_3?akpxe=ipG0TA6rJ%~=q~;YJq`QNV^`$jqv_TDY z*EU8|-V+_*Qmls8pvQF%`l@~c9q1Lz!ne=>c7*%T0FI#VffG?KI@3VX{Mn5Qk5_GU zrj5`JJD~%djc&$E(XZ1H=q9=YeQqYYs~<+6e;R#$Rg~AD0ep%E_BDF`cjM`dpE}8f zZ@5yk63;*zRzP2sHLxzWkNT_7OpQYanjB6;zXcya16qWpdO14tHE1ATVkSeF_So#> z!kL^z8|IjubaXlzX&v-|F6fJ<7aG7d=u%8T1Gx)bsu^hDk45O)n-bDNT2pwnh zgPeb7@;wzk@H1w^qv+cIh7O!>PO>y*(fbvnTnTMg4b5b$@Z7k68QT8xa1@%UE6~8M zOLO5ly(t<@KnI+N?ui-UEHv_mqP#GC676tFl$V7sp_y0}_t&BQZbVPlPBioBzqqjD zA`c}gJss_^N|fuM_nV@DwhKF=GwXt;wi~+p&%-luIJUxh=n{Q_Rq!C1@uG7x0j5*s zxUl0o=#1;50W?Na)Cz}VdmM#NVN)#haPl8}bjEg+r=bCSfPM*WMfb!X=zHXEGy_HE zCH+^%%=xd)g}b&Tx`sW_b3QogCt`id)6tIJi29A_K;NOMJ{jc#k0hI`7CK;a^px~K zPeuQ53|8>`-^qnv!%v}syp2BaDLTNn=)ix4g&s`;&B995pNS510oraHHq-9a>fGagIoTcArb4Bfpqp#jfC2Y4pRtI$9; zqVI>D;Q=(@-_XovTbTS}QfMLP-xonmDr#Xftb;?)2&bc)@g?;A@CLdm-$9ShIyA6v z@eVwU4m9rZB(N#y?w^UCqUX@|FQNT?kmkZ&`bkuLfu`tdbeA7Mk4x4Q$&Blu0dzt; z?vBoM2)Z;^pi4LjGw%;HpjmN$AsWaEG?VE!xai5nm*{Ukl@}!)bi$#O&%>7ZGWwU( zhtSPa@X2K0s%Sv<(T4TwfoAA)t8`|#-^!fSd^Gh(Z2{B!RiVxz(A#~;^uo)J5 zCYebW^c3_!JLroJJQ&T)Rp?;=;qt_4Cmie?4!b6e*#^z z0?#H76h=F!jy16X8pr^2pdnEngPx*sQJxs(JJ5mejrv7cmGX1w`(@L!>7?Qy6-HF- zx#X2v7Y*oK^c8vux|^>L??z{`5S{r8=tN#c2mBZfa2IBl7VYP6G=s(dmt?v^nhR6e z5WUeJec&8)b6td{_*!(Srl65OhYq+N9q^m*DEj4<@A+f`HNzHIjry~&Cti(bVfqa& z93bZlNrxrTa?P+MHl}&^<92Ti{*jb8D~%9zkE>tzS$| z%Vp>uxe6WcdTic z;pO2CX#Z2trJat&JpWH|;ee~q&GcdT1=`^b^!I~b&<^sylvo1YGZoOiQ5&6cKXfyX zM>8@z%I~A+en*sl#mqndE3`66eML0ojnM&np=&-GUGvA#j#ozgMyyOZ$IHo=RrPQX zI+0mue+$s(Uq$=fh)(#x%bb5xb&?8?Oa51ql$J(QUJi}8YLr``YuEwJM0fO<_C*I8 ziuG|KHo^aeJJ3uPUzKd;%2<(d|5coSH`O>QjCgL`ScLB0wderfpacGdweWYWf)!uQ zmKuSb(Npj&`rPm61WtP``30sFI+2cOp#9N)$ELY31Cyh{j3_TcQ@tGP;zwwzkD&pd z@p|$eXoGe*5FL0Ny18bcr|D_*eeoLF-xhS{N5XW`H_IMtA#GG}43U zK!2kzjxwv0j19%JDPM)na22{4f58i})SJmMy&BJ@JQscb2c&&E)!?n<7mLf$0B%Pk zdMLRqX-4i3?{#bOA-h?jM9q1;Tg>`Tpx->_zH zsiRzYEQ+j6QeGEr*b$w{#ZkTzUDG?!0UyTI_#QgL+ult!>D}l|XGi%>G-Ds2OZXM~ z-Z+A3XY@B0?&kdOMM}{W4M1ml4Z67|q2CP;p@A$xclGP&*XqW&|0~))=lhA}(aqZo zeg2~GiudF9|68Krqv(uRqD$}|8pv1ZE0w>h_2%g$!59`4d50uBln}P*oD{=58&n4{L|!3 z`55M){1zI}TJ*WiXhwFU8QmB4zo6|-Vdl^Og+EIgo{kP&0eurTMms(W-E2M44hN!} z?oxDfO+wdtI=WO(U`1St{${li-BVl8y>TEc`Z?#{W76XDWD}i@F2#-L=9`QT@G$x+ zUV?7c6==sFqU}CMH`f7lsS0gQ0<4byp|uMd;7~M>8_{v^-pu*;;!!G${Do-nI+}@3 zupNGnzGAb!NCK&e2G9fzuuXUl8puHOI8F-ZqJh7NjBMx&zDKV z5?Gu1O6UVU(RLR^d32PoN0;m_^xZx`?mvT`juq%Qub~;)i1w5Ii3>N&DRh9-zDhbM zgU-Av8u2hRBV*BBeFxUVg>nBAw8O8_Kn|jTaK<^D-L(l(@*wF9)I@^+e zIb;wHagLX6l-DG#6GrJ!<;oIn%=J+;wZ{)`YlpCV2;2~%L6VY>iKYB_Y z$C~&mX5sgk&P2F9`I4!M?%wmT3f_n=#Up4(&!Gdnfd;w-8{-~y0;Ru8GSwIjycN1+ zozdq9qnq$*wEx?`xw(d33-==!>Hl`ij0G?$5{el$WD>;xKyt zPurQiPio*;%IBe}e-GV!U!mjuzB8TtdR_DTBqjZ^DmQM#%zFWAQ+@&6Y+IxLI5wr6 ze^+vxI-sxE!RXQqL-))T;dSAJa7uVjIxc2~kA#cRbNU>bx)0Dzw-w!VyU?XMf^{+5 z?xbCPG=TQ#1iGPt3`r>#F*HU|XDy&g3I> z2A`w5{2MeQzn~fU8y&FF56Sao(RTIF_ecjcqZeQ$&;Lj+++=s7yMHm-!TL-CHVYci zadc+?pu4xgk4Z-j&|TgEoyb5mz>#RcW6=O^MtA?cXa*n0x}N_HT$uVl(HRuomkd-1 zeRI`AckRX45hvi8xEdYk2%5RS(4|Q2PXaE123!`cuYozRb=0@V%=iB}Tr}rKf6T)B z&_I@=GkPoh80}~)8qm+^u`6&Oc|p}eXE+c|@ipkuOh%u(A6?QX(ZF9m!1;Gg-lD>k ze}R^Fp|8l}XzFwPlw>GBn##&yQ}k=~EcCQoik|<8Xy9|uO}q$Q;^)!Ly&iq;*Pl55 zUgZBd*}av}06K>kp#fZjrt-#c3c9v4&>2012K)?~ftS#|v>u)LPw0&QK{K28U{WrV z=E9j*Lia!eY=GU-j&DL!c{iHsN3b=%ioSAx!z?WPOVVLObaS>u2Ob<=i?+KHo#4}G zf9cg+_-6YWo#9_-q`40zkrqbRup;`cSRZ{u-igleIkf#J*c88ta>2t%;3d&^)zQFv zpn=_q?4fjO9v9B^RdgvnLf7(pwBadqM#YXKySy2?ByG?&?TneV4=182o`>#%XVHFM z!7ThJ?*Ejj=lq@Eq82v_A5FewTB0)^f-cQ9*cB(COY|-p&^PFd=^s1~+y0tlW+t|z z{0bWA;qVx`8Bd{mCGT(X{a@S*Dk_Av!ZXna+J`;D^TNU5$ne_mmhet=lirUm(Oh)T zJRbFLVA_L{pai_vFD+=u9f&#aJDC;FPG}fCjo5oyc}{;C<+e=`gzK z{y_UF_(yWT_#d2q80No>llKOONWK>*>O}H@; z{W@Ka4*XG+zd{2%jLsnEUrD>u(evK~t?z^NaYWpI5Iwd_S{3q66QFzVRMJXSf_azB|wX|A_lJ|4z<%7J9!mx>x$4ulnIw8}Goh z7t6RXC10Zh{D96p`>7PdjvtFGMFaI=mel zQeJ@Wg^lRU_oD67$GPxDkv~V$acOk(H9%9>7hR%3=*+G~2cC)U<^^cSFJlYbfX*~m z&g6a}Gy~PpzdLGx26!g2Y1655xp1uqp)-5htIkmCSEKwM`rH@cZZtzj z(cf(H=1T5YN1tzsE@@XZfQvHsIe*u4VFspz_oKhD%+EC7oT34340lBRVYK6a!os(P#;W9IarDSjOd=wmd%&1hg-gw2yOQl`T{CmFxhO4(SiD4O}sS9)6o9sqWz{H8bI08l7VWYfpkTe_G;|x`Jcu`6)HBMyYn!* zNlswqYq@Y@eym4*5p)La(6#Q0zOXJp1G^brio4K^%tixRfwun~P5o}1?f3tmTsY8u zMUoC?qig>J`oKyw)$e0={1!bGJJ3L~7fk}r7Z$@N)R#ru_eR_IL-)iuwEx9e$MgRx z7e=}VYhaFI$zG^~^(l8om*_gIhV!v5u0>~d2t8hfizgE(i>A01x;HwbFQ7qay9sEf z?!wIZe~=3|-?M1LcQ6Zgpi7e~L8MR>E%(7Jya7%99Q3%YLO17{@Iy4So6#lNhGy&s zG_wawaQ;2-r>Jn#6)%~jrW)E|3pC;mXa_yf4lhDyb}8E7&FFg}9p%~R0FR*U{}<&K z(E!(m8%lEit5fk66*=&4bl_~Il8*DCsVag7P$8^?cGM#7cS0x92Mu@x+Wy)o--@1w zd(cfjFY2F4N5yiq!#B{)@jkjsx1t^W66F(U2SrOKZ?+yJBm5lQ8~f2E_!|wh z;2A#8`8%BpQ(gyaVLNm$j6%OWu0kKY7VT&X!#0PjT9zb7MEwhq9`=Wtd zjJ^-*Bm{9h!k((WOjPN++AAM5QD})zAnVp=&-64PA ze~M=C+o(T)F5O9VX^K@&GFlg%Q1dhw4mc3q6t|yUJl5G_W(#CGCJ_;A}Lr=?l4VpsUc1Z$(pcH#+bFw8J;hnZ1YZ;?L1` zyU+~%fo3dU)ug{NXohN|$FUnavBBt<-R($b(y2vU*zv1qO4gwr?ni&&IEkjPWwqqD zr<<;o%+k>V$Z;kAkzr-qmnN5m)sqc%vU!FuW@Cjyl{(t7e01DMi_CPrt zK)D^7;<@Mm|3lY!6S|qcz^eEQ8gTJi$zCXjw#y2up{JsDlpCReHp9%H|2uI}hl(+1 zD(9gCK8+6a5t^AjXv%*^*YybQhnE}FR=SRZrMNjwwnZ&)49zYknV zg=?HfH{qP{aWwM(p@FSH+pmfG&1gqoM|l^TiT!9lN5j9vymgZ$ERLSGN_9E^nYE|F zweE-R`qAhvpNe)gH_D5`73f}A8-5yo7ycan73Qs%J@dEUrLY0d^+UhRrljLy0d}L} zRm_F|pyxVQ{Uoq_=w`}7*RDmByP&&%5E{@m=n_rBES!NZ!7}t~_e-pZN3jW}i#13x z&=;oS$z9<%=OSBRl=p(F)TcbW#!(?}t#rD*9#hQ30I^a_5jvJ#~s!`?` z^S}Skg_~_C8sVL2$BWQ`H=%*;L6_zvy5?szPBKwBtdE}eR#EN}_KEsI;pO32%=|y_ zoe&jM!s+OqcnID7i!lq=paJYe13QHVR=i2}%s<4ggYK2V=o@tux`Y$ZCA$?pmiM4* ze?R8&{6EKq$7KbY;*Ho0_n^nJ?3u|6qdVI1+11~j82K)rwO#8#a&6D;`(fSLqI!?kG_*B$y zz;h@cMaOH`BFWUS7My=0xtfZucptheH>2*1;>??sPO`Burm zz0lo%LwF~;nIA%r_mk-6eI1+P`c|BOFHTX>56^6!Jv9ZVVnfW|Cb{1l4fI+xl@CPu zB^*NebM)Qbq;0b62cw(#E_8Fhgt>4F8sK&`kYCbV7~x6ug_EycvWBOlYg`{);anxlQP`KqJ+H;!^A^i7#QmkT4g5barDKzjm&;WLz0i8hmFWV`}Of9s1mrR-ScX8af5glkIdTf?q zCbc-2@)u}FjXNi6+yUM7qtRbD?ng873})f0=;_&p1@Kp_hyR52x=`==zt{^L8D1Zz z(UjdA<;T%I@O-!uUBlJroA3Q_Q@AbMjlP%;qV11|*}8K6t;o-X77xpX)zAU!qr0|Q zl)IxH_C}u@i0^nsq}?`-Eq z{bKaZ_#8UW26TY!n1#QECC^IQH46uzflfeYd_TI>i?KGonC2n}7vG{^4m;7^y%*ht z$Iu4~_lRAL?(SOXG3tt@{vtH+OVI!?4{t&Pfl(e7jtOrHZwv1Y=cMCeA=<&S z;fnB$@V)Sp@T+hKx(D`!htX4T9G!9A{>iUmCDFap7X3QzgC4{57%r-FF&*6lFQG4n z&1i}bplf{`-4kbAkSs+L^gEzCx~cl1-<}uZXdH)b-W}*t{)&UJz=hdUm*6O5Y163> zxG;bNcs3RtkUcdN2jQ*w7M_W1FUp>phS%Xacmf@``@m$TJ<-j35jxXr!YSynn-e~V zW@ZiMW&G3zE_?-liJ8rUrgSH|+4e>Gw2PC}mO}4WN0+QVI&gEepI%YlHynr_&td4m zS(8cKK8H#4&N;CsE zpn>0vei=XQq8Rr|31W*_a zpmNw4O=+jF2Re~HXh2t>n{px=*qvy9kD;6PDa`HpU&@84dKo=NZ=wjYWnc-27HA2+c|gVCQVcI?3~Zl@$i-Y?=M%T zgU5N`OsB|aHV>Y`&uAlvPdBdl_exVw#)F;XUM)Jz&Gk;&e-+RB$Z)PNFco~(^D~$0 z4Op1A<$V$G`JA6EuK!+l1)qW3htpy&#a1mxRpB0^%m;)@H5)f#^)!l7sT}@$8r7N;G!KrSMks$%D?l_SW`vg30!;p z{Pd;nTkGSK|3BCN)>S09c9A9P{`yZ)Q|Zf3L+bcWOZ`MSeIEn!uY0D-Q8AJmGmVPR zQ_=V!LCofQAZ@nuvx;_KaGy8q|9@;ciEK3E*~anQsIWWF7b2*CKmBRfhjB`B|B;-` zpFanru4E=x(vV-vGM@=_G?a%*U>{t}166sjB<;FVm&V`uNyi{>aqki8xAF8*eoFC7 zMeh4~hx+?yH;4ZHd_!OSi}I-sl!yAizfpz8{-W_fbXJn`Cp6;sj?`&*KMrDmk<`Dy zbvf!L^Duw+l-fkSpL|^R=Dweu3_O-WcXPdvw)?sF-_K8!2lL!~?q$~h)wtV}ih~jL zd*0-8O9V9s=W(w9k)Pt>h5Rhz{xp8_aQ#^fGJ^XX7<>-a<(coPzk*1Qf!#_^Lr6$4P8su`W!7Bgu;gN|IkNSmE>xEWuhGya9=%qKtXAK|JJ0d%E)IX`o` z_Ydt(aL<>_Gn9Y82dP^VldBQ^Kbs>nfBr&%8_jsQEe#jb*)htyDX$^wmwE7Qem>@B z6F;Bw^BF&%^Rt&hzQ7K&f0v)9dH!pD{7j_Y&!hC$i2;Yx-}so|awayC`{VfiBQ=x< z|NT_rhMyMHT}y-2l)vP`mnpx;&uRkdPA84{DNlVt>asDw#>mJ^)IC7mbjly_Yl+We;ytB;2s7T!q4TjD@2+4hgkU;z&iM^MH z22kD?v+#Z!+TKF>Jnom~{tAL`f`8I(E6?4|z@KoBf1Nb*d5QaZxpywXbxDFqr)p4f z3xxu7_EALGBOVyfW2L#zH*l&KogLx9ij;RG4`(`^N_~5R$jvhYxxR!pr^WLX>8~M! zj;4KYp7V1*`fYd{_ukC>|KH41GebJ@x80UB_~k!YSWNwu(P0~|FK3VoX>*EBi&K9c zZLg*N8-BVnSQ+X*=U!LZmEdO*_wQw}m#KS@;C}p1-@CG?XvhP_V&=xumX7}YTs^z# z6Lr!(X;qf4UZ;zHKM&B&v;6S46R8ah>!&rn48udT_rrhLklM`sYq&pzwl78w_`97{ z3EJ*vq$0F!OuJIi_b;@m!L$5}<(Ut^`eZgqQsVz^FdKG>8`&WB@degRzhx9g|j8ASFPv*Kb z4=luEG~$mmsg9JV@pBpXXJJ9=D#R?}(ac{vWUd*!HUSRC+_bIFpj-J_PWu{^{p8~M zO@8jm{3U5pm%5uqe%_0YzvX&6KYi)!X*%n`!)N12+I6xaAOA?woM0+P$C=9i{Ga|z z;4Gf$#gCsqV+^l5^OL@c2KgAUCk-|;&^#*pllEJw|M#<=S^xW~O1*#h{t(yjKP-w2cDsjkt!J3;#4 zKS)efk2cM?cOiXzN8j&Ie@AXM_jAm$IX~5s_Nfn|gA)*`Ve77s3qj9nMA znZ>>A4EQMJd2!F~_2xuaI0#41L^Rsw(7PI=2&j0=FjLxTr zGb14HSEg=Jl# zggd!6iNXEzZhJgL`5~TN;y+iuKB9aqW-^8jFXHD?%GtPAkDv4CuqHn@M%ywxJdYng zuhOy+?Sij%7ojcF{zVke%v;EKi zocF!WbeE|?tJ8cPpj9G>(}+{BVI=$ML)29XibH;1{ZA|xqPOx&?PGfCvS@dWt-M!t z$*m;f<(1h$hDYk@n&6LQkTX`~75R5q-bt{$e|wx8@`?Bxu~vDb z10`+-raJ0EZ%O#xfeXVg$g;ig_fiwN&b)Kvs>th_ssL6nv?&e0QYfk?8wqfU4vOMr zR#}1*0MUACb+E5cU&V#dTTJ^$!#xLV4{CnQD94O&{Ab{|W5|mItR!OZKY%@ z*;eE|q`g^!x4kX0gRhstoC4d7{8n%`SZV?|Gp815K)o!rd)Rj1?t_W4@ag>r68NGk zX%x9Yv$y&=8J>91Se|7|>fklR4)ojv7YF%20I$*49$kRere22J73wL(R(U|rXLuU2 zTorlA)R<}iOA5U&QxT-9+ zjC=&Tj#$J?m(7WI2sEw(cOLoqFQ2-M(V_b(y3!a6Misn;Uc1N((|u-0GWM}r%}0$b$g{}ISt0r@guIkpGOWRSbdu-VwF zH2k51=iom9)0hRUGMRWUxc1n6*!^e*!$OJ6!g-L`lRlADG)MT?cK}KB+xcjQEY2C-R!!5*)%jj0R7@Vfsy2 zNdZq8SPh@QDq%>H1|{*Pu{i2Vb05Xt0eeLU_apzDgB&E61WsflI*oW8T!W}N;vB~;kv|W`rXiGy2uRuCjUy^iC#N-{A+NMP7H}* zqc;G1py7IbPXXoAjjK}M&!8-t4`8j*n7mbjbkHH{a~OPBai_=^#oxo?$>cpXZ~42X zjwJGvuxGp3Fipj7)&-7{zfb+RHvFy2+=4LJ<`zzBeG0kU=xJgvG!yNBE&=ZfcW-Lr z;cvtt1~J1tk%S|F71;Bf#E527@B|!0z6gyjHA|#qrn=>2kG%N#zWE# zVn^^3u@C48rr$vR3Hn%v29R4%ucO{t5_Y_7^RMX7{}%u!Lh=+FhWbNr4;>6y3!BIH zFLDvoMb=Y`!a6fx9hg9t5vhz#fom7oIy!ikTA!R#8@5o(q_3v@{BK0_w=~V8xugO; z06f+~i>ZBtFr2tF^##Nk)VEv4@nQmhB^)Jf7X3`E0So@jz-8cv;2$CP3XIGQAQmz2 zBypU;PlpX8u1q|XCjP3Fp)BCrXl}N>gw2DM58H$AtFV+v2^J7(qNh8Y6aM?P8o1x! zO(QcO&UE61^wg2pe^z-N{}8S_ZIyQe0lP{v0cf}!T-&Muct009NG9jHy{uRB?v$(v4E{)5+vFX zNNu=2L=_V3(u!C3O7$&W*^FBc!#P$h1M4MLT%O>Y=3suWoNM$DkEpuAGZw@sa$l*B z!!HQ$8(2hsfprUqu$6zveWKn|_bG*ch>0Ri@Pp}Z1y?!x4w1{G<}Tl3n<+M7&@=#5 z7~Yq{1az|wSU_zZ4TV|4AAdcz1J){2AkC%NnL1o*bIETdUIOPA_-140kvjy|NiXT8 zymNh=gols-5;=x{1+7E;4m%aw2BKnUZEd`T@52%o(Bk+a)$sR%orT|lVK3pGLv8`} z6zm~#?^%8z2ewE13Rl97^rB`HSvOEKu_E?N-9^V}>`e4Bog&}E*o?RjHLJX(uQ`2f zNvxu_fei+On@m0v6?urOlXoQSu)&O52VpGdBT>{|vpkvpyVsjQns?F<7Z zqggbTBkl>=CYHGh-U#La`Dl9F;OI);4_yK7Fu6rwT)~ecR~GCx;S^odwG`=S( z;=`u9A&4a|ty?drX#)Q5H07u111eIH*qeoH#@em?ns z=isfV$8% zmX6g$+ilb21^^Y*p91+;@BygE0W=wHBXycvQ+Eb`2knf%jQm~*OC`7;F5UWyj6&+^ zsyPu4D5%@iPH+?>N1bnTcL884159J(#o%@kKTB9}xU{(!9YsLaqB4mtFDj$)pJ2Zu z-y7|N_JB1BEAoP!nqyyLJLxu(ze`V$UgT$d5r4Sy=*8E-jsc$+`;~lQehwP0(6A7q z{}GyRGVBbt9=5ejaXz`GHbbY<+ZY`UCP8tpAm0e?2$$9hzc2O}wh?{vbs2$2ore}6_km&0^t3WKL6?0EZUvg6QHTh#TaxD7A6mmV+_FTM4cR;gj>%R$?I$=}5zK z>}MLTX>A0H*|FdkVkhd0AepCwElqq`NqiAoklI5A{h@=y$&X+mi;y3NKMF1p^Hol^ zn1&;OrjQ6y(g^&b3KHNXB@=&^<^v(ikc3Kq?cJ$%DudQ4wmx$@z!7G{Iac0>2m`#| zhI|Zh9TpnLNeiRXXcWl>nFn?-SR?sX`1{F~0V^_xTpw=fj&haMC8Tzl-0##Q$rVDY z;%~C_asRV)z%GDG*sc%y1VCN@h44peJq8=WiA4@$%RzJ;TpZ+W@lA@$LGUa~Pr89b z9sE`->xG|1PYn1d;gZL{AZnFxP9V}m2bBRh1dU7mvzzFTL%8g(ih>0qmGyjeMyGurZXtWjSQrCf&uNR4WL$;{0s7*AzG!R z2N+(HdO4fHEp?%t3^`9vtj&UX@eAq=$mB%)7xFr!oq}R?2`R=wuo8mkoGlI2@T-$Q zpu>)1XVX`fTm$^J)IA_vM6Lk-dgUA_Jj!vEd?C~-UxZ6e`xBt@1XVfNDNZC(h&Ubp z0Hp7*cAA%3G>b+m=?%S&_L9>B6jy8?YW>i>iV22mDYZ{ntC$av@Fw~No0~=IGdNSp z1@s-wL$o2A{5o)JiJid)aGG&C^bYGLTp~sqWTp@i9Svt)-utx!PMoZH8Gd2S~f$k(eg-rwJgzm<7A=gQl zd!(evdcAweui>;m!~cz9fE!Lo%o45OFvkNB@g^9l{?GVRAxS4c3h;FX?NIWD`1!b@ zzpx9zuL3&-4FL@-Ynz`?jydxg*Rbg zroDMDJIpuf&y7jl%hq_2f1{C8)TF}&5PjL$WKj=d8uOWPgwaTBwwo+V& ztp>9Zu9g&g>uv7Ap8`Hvo)B53pEk55*GUKNrRat4L*q%78_RNeAiRaYU-3=B*Rqme zAAo6uHGJ~iKoFPz7IC-PCOrC%1S*nz!YOj4IN}kH~tqBhX`H( delta 52961 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"Xs9RN%&rY8-`zqWqadqp(b*Xc_+!a$lqR704!o? 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 diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index a2e42bc952..c9ad74232f 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: kicad\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2008-08-17 18:59+0100\n" -"PO-Revision-Date: 2008-08-17 21:41+0100\n" +"PO-Revision-Date: 2008-08-22 14:10+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -36,11 +36,13 @@ msgstr "Net Code" #: pcbnew/affiche.cpp:53 #: pcbnew/class_board.cpp:551 +#: pcbnew/class_module.cpp:1092 msgid "Pads" msgstr "Pads" #: pcbnew/affiche.cpp:67 #: pcbnew/class_board.cpp:561 +#: pcbnew/plotps.cpp:363 msgid "Vias" msgstr "Vias" @@ -49,6 +51,7 @@ msgid "Net Length" msgstr "Long. Net:" #: pcbnew/automove.cpp:207 +#: pcbnew/xchgmod.cpp:612 msgid "No Modules!" msgstr "Pas de Modules" @@ -146,10 +149,59 @@ msgid "Include egde layer" msgstr "Inclure couche Edge" #: pcbnew/block.cpp:154 +#: pcbnew/cotation.cpp:109 +#: pcbnew/dialog_edit_module.cpp:122 +#: pcbnew/dialog_orient_footprints.cpp:177 +#: pcbnew/globaleditpad.cpp:108 +#: pcbnew/mirepcb.cpp:103 +#: pcbnew/modedit_onclick.cpp:192 +#: pcbnew/modedit_onclick.cpp:224 +#: pcbnew/muonde.cpp:352 +#: pcbnew/pcbtexte.cpp:119 +#: pcbnew/sel_layer.cpp:163 +#: pcbnew/sel_layer.cpp:322 +#: pcbnew/set_color.cpp:357 +#: pcbnew/onrightclick.cpp:122 +#: pcbnew/onrightclick.cpp:136 +#: pcbnew/dialog_gendrill.cpp:297 +#: eeschema/eelayer.cpp:255 +#: eeschema/libedit_onrightclick.cpp:42 +#: eeschema/libedit_onrightclick.cpp:57 +#: eeschema/onrightclick.cpp:98 +#: eeschema/onrightclick.cpp:110 +#: eeschema/sheetlab.cpp:98 +#: gerbview/onrightclick.cpp:39 +#: gerbview/onrightclick.cpp:58 +#: gerbview/options.cpp:169 +#: gerbview/options.cpp:293 +#: gerbview/reglage.cpp:112 +#: gerbview/set_color.cpp:329 +#: common/displlst.cpp:111 +#: common/get_component_dialog.cpp:121 +#: common/selcolor.cpp:171 msgid "Cancel" msgstr "Annuler" #: pcbnew/block.cpp:157 +#: pcbnew/cotation.cpp:105 +#: pcbnew/dialog_edit_module.cpp:118 +#: pcbnew/dialog_orient_footprints.cpp:174 +#: pcbnew/dialog_zones_by_polygon.cpp:204 +#: pcbnew/mirepcb.cpp:99 +#: pcbnew/muonde.cpp:348 +#: pcbnew/pcbtexte.cpp:114 +#: pcbnew/sel_layer.cpp:159 +#: pcbnew/sel_layer.cpp:318 +#: pcbnew/set_color.cpp:353 +#: pcbnew/dialog_gendrill.cpp:292 +#: eeschema/eelayer.cpp:251 +#: eeschema/sheetlab.cpp:94 +#: gerbview/options.cpp:165 +#: gerbview/options.cpp:289 +#: gerbview/reglage.cpp:108 +#: gerbview/set_color.cpp:325 +#: common/displlst.cpp:106 +#: common/get_component_dialog.cpp:112 msgid "OK" msgstr "OK" @@ -198,30 +250,47 @@ msgid "Connect" msgstr "Connect" #: pcbnew/class_board.cpp:576 +#: eeschema/eelayer.h:115 msgid "NoConn" msgstr "Non Conn" #: pcbnew/class_board_item.cpp:23 +#: pcbnew/dialog_display_options.cpp:221 +#: pcbnew/dialog_display_options.cpp:229 +#: pcbnew/dialog_display_options.cpp:266 +#: pcbnew/dialog_zones_by_polygon.cpp:170 +#: pcbnew/pcbplot.cpp:415 +#: gerbview/options.cpp:321 msgid "Line" msgstr "Ligne" #: pcbnew/class_board_item.cpp:24 +#: pcbnew/dialog_pad_edit.cpp:198 msgid "Rect" msgstr "Rect" #: pcbnew/class_board_item.cpp:25 +#: pcbnew/class_drawsegment.cpp:311 msgid "Arc" msgstr "Arc" #: pcbnew/class_board_item.cpp:26 +#: pcbnew/class_drawsegment.cpp:307 +#: pcbnew/class_track.cpp:879 +#: pcbnew/dialog_pad_edit.cpp:176 +#: pcbnew/dialog_pad_edit.cpp:196 msgid "Circle" msgstr "Cercle" #: pcbnew/class_board_item.cpp:57 +#: pcbnew/class_pad.cpp:909 msgid "Net" msgstr "Net" #: pcbnew/class_board_item.cpp:62 +#: eeschema/component_class.cpp:74 +#: eeschema/dialog_build_BOM.cpp:298 +#: eeschema/edit_component_in_schematic.cpp:835 msgid "Footprint" msgstr "Module" @@ -265,10 +334,20 @@ msgid "Pcb Text" msgstr "Texte Pcb" #: pcbnew/class_board_item.cpp:100 +#: pcbnew/dialog_netlist.cpp:162 +#: eeschema/dialog_create_component.cpp:167 +#: eeschema/edit_component_in_schematic.cpp:758 +#: eeschema/onrightclick.cpp:307 +#: eeschema/eelayer.h:152 msgid "Reference" msgstr "Référence" #: pcbnew/class_board_item.cpp:104 +#: pcbnew/class_edge_mod.cpp:287 +#: pcbnew/class_text_mod.cpp:488 +#: eeschema/component_class.cpp:73 +#: eeschema/edit_component_in_schematic.cpp:796 +#: eeschema/eelayer.h:158 msgid "Value" msgstr "Valeur" @@ -279,6 +358,8 @@ msgid " of " msgstr " de " #: pcbnew/class_board_item.cpp:109 +#: pcbnew/class_text_mod.cpp:488 +#: pcbnew/class_text_mod.cpp:497 msgid "Text" msgstr "Texte" @@ -287,31 +368,39 @@ msgid "Graphic" msgstr "Graphique" #: pcbnew/class_board_item.cpp:127 +#: pcbnew/class_track.cpp:841 +#: pcbnew/pcbframe.cpp:467 msgid "Track" msgstr "Piste" #: pcbnew/class_board_item.cpp:134 #: pcbnew/class_board_item.cpp:201 +#: pcbnew/dialog_zones_by_polygon.cpp:231 msgid "Net:" msgstr "Net:" #: pcbnew/class_board_item.cpp:139 +#: pcbnew/class_zone.cpp:601 msgid "Zone Outline" msgstr "Contour de Zone" #: pcbnew/class_board_item.cpp:144 +#: pcbnew/class_zone.cpp:605 msgid "(Cutout)" msgstr "(Cutout)" #: pcbnew/class_board_item.cpp:163 +#: pcbnew/class_zone.cpp:625 msgid "Not Found" msgstr " Non Trouvé" #: pcbnew/class_board_item.cpp:169 +#: pcbnew/class_track.cpp:845 msgid "Zone" msgstr "Zone" #: pcbnew/class_board_item.cpp:187 +#: pcbnew/pcbframe.cpp:499 msgid "Via" msgstr "Via" @@ -320,10 +409,12 @@ msgid "Blind/Buried" msgstr "Borgne/Aveugle" #: pcbnew/class_board_item.cpp:193 +#: pcbnew/pcbnew.h:292 msgid "Micro Via" msgstr "Micro Via" #: pcbnew/class_board_item.cpp:216 +#: pcbnew/class_marker.cpp:133 msgid "Marker" msgstr "Marqueur" @@ -344,6 +435,7 @@ msgstr "dimension" #: pcbnew/class_text_mod.cpp:503 #: pcbnew/class_track.cpp:852 #: pcbnew/class_zone.cpp:608 +#: gerbview/affiche.cpp:94 msgid "Type" msgstr "Type" @@ -364,22 +456,33 @@ msgstr "Segment" #: pcbnew/class_module.cpp:1080 #: pcbnew/class_pad.cpp:993 #: pcbnew/class_pcb_text.cpp:190 -#: pcbnew/class_text_mod.cpp:513 -#: pcbnew/class_text_mod.cpp:517 +#: pcbnew/class_text_mod.cpp:516 #: pcbnew/class_track.cpp:909 #: pcbnew/class_zone.cpp:637 +#: pcbnew/dialog_edit_module.cpp:235 +#: pcbnew/sel_layer.cpp:146 +#: gerbview/affiche.cpp:110 msgid "Layer" msgstr "Couche" #: pcbnew/class_drawsegment.cpp:332 #: pcbnew/class_edge_mod.cpp:297 #: pcbnew/class_pcb_text.cpp:204 -#: pcbnew/class_text_mod.cpp:530 +#: pcbnew/class_text_mod.cpp:528 #: pcbnew/class_track.cpp:932 +#: pcbnew/cotation.cpp:129 +#: pcbnew/dialog_edit_mod_text.cpp:254 +#: pcbnew/mirepcb.cpp:113 +#: pcbnew/pcbtexte.cpp:133 +#: eeschema/affiche.cpp:187 +#: eeschema/dialog_cmp_graphic_properties.cpp:189 +#: gerbview/affiche.cpp:52 +#: gerbview/affiche.cpp:114 msgid "Width" msgstr "Epaisseur" #: pcbnew/class_drc_item.cpp:39 +#: pcbnew/dialog_drc.cpp:484 msgid "Unconnected pads" msgstr "Pads non connectés" @@ -447,6 +550,7 @@ msgstr "Seg" #: pcbnew/class_module.cpp:1107 #: pcbnew/class_pad.cpp:903 #: pcbnew/class_text_mod.cpp:494 +#: cvpcb/setvisu.cpp:31 msgid "Module" msgstr "Module" @@ -482,7 +586,10 @@ msgstr "Stat" #: pcbnew/class_module.cpp:1104 #: pcbnew/class_pad.cpp:1035 #: pcbnew/class_pcb_text.cpp:201 -#: pcbnew/class_text_mod.cpp:527 +#: pcbnew/class_text_mod.cpp:525 +#: pcbnew/dialog_edit_module.cpp:246 +#: eeschema/affiche.cpp:116 +#: gerbview/affiche.cpp:49 msgid "Orient" msgstr "Orient" @@ -508,13 +615,15 @@ msgstr "RefP" #: pcbnew/class_pad.cpp:1006 #: pcbnew/class_pcb_text.cpp:207 -#: pcbnew/class_text_mod.cpp:533 +#: pcbnew/class_text_mod.cpp:531 +#: gerbview/affiche.cpp:55 msgid "H Size" msgstr "Taille H" #: pcbnew/class_pad.cpp:1010 #: pcbnew/class_pcb_text.cpp:210 -#: pcbnew/class_text_mod.cpp:536 +#: pcbnew/class_text_mod.cpp:534 +#: gerbview/affiche.cpp:58 msgid "V Size" msgstr "Taille V" @@ -537,25 +646,38 @@ msgid "Y pos" msgstr "Y pos" #: pcbnew/class_pcb_text.cpp:186 +#: gerbview/affiche.cpp:29 msgid "COTATION" msgstr "COTATION" #: pcbnew/class_pcb_text.cpp:188 +#: gerbview/affiche.cpp:32 msgid "PCB Text" msgstr "Texte Pcb" #: pcbnew/class_pcb_text.cpp:194 -#: pcbnew/class_text_mod.cpp:524 +#: pcbnew/class_text_mod.cpp:522 +#: pcbnew/cotation.cpp:113 +#: pcbnew/modedit_onclick.cpp:243 +#: pcbnew/pcbtexte.cpp:180 +#: gerbview/affiche.cpp:40 +#: share/dialog_print.cpp:178 msgid "Mirror" msgstr "Miroir" #: pcbnew/class_pcb_text.cpp:196 #: pcbnew/class_text_mod.cpp:506 +#: pcbnew/dialog_display_options.cpp:275 +#: eeschema/dialog_options.cpp:280 +#: gerbview/affiche.cpp:43 msgid "No" msgstr "Non" #: pcbnew/class_pcb_text.cpp:198 #: pcbnew/class_text_mod.cpp:508 +#: pcbnew/dialog_display_options.cpp:274 +#: eeschema/dialog_options.cpp:279 +#: gerbview/affiche.cpp:45 msgid "Yes" msgstr "Oui" @@ -564,11 +686,19 @@ msgid "Ref." msgstr "Ref." #: pcbnew/class_text_mod.cpp:509 +#: pcbnew/cotation.cpp:114 +#: pcbnew/dialog_edit_mod_text.cpp:291 +#: pcbnew/dialog_general_options.cpp:289 +#: pcbnew/pcbtexte.cpp:181 +#: eeschema/affiche.cpp:91 +#: gerbview/options.cpp:176 +#: gerbview/tool_gerber.cpp:113 msgid "Display" msgstr "Affichage" #: pcbnew/class_track.cpp:868 #: pcbnew/class_zone.cpp:628 +#: pcbnew/zones_by_polygon.cpp:859 msgid "NetName" msgstr "NetName" @@ -578,6 +708,7 @@ msgid "NetCode" msgstr "NetCode" #: pcbnew/class_track.cpp:881 +#: pcbnew/dialog_pad_edit.cpp:205 msgid "Standard" msgstr "Standard" @@ -614,6 +745,10 @@ msgid "Merge" msgstr "Merge" #: pcbnew/clean.cpp:464 +#: pcbnew/dialog_pad_edit.cpp:186 +#: eeschema/dialog_edit_component_in_schematic.cpp:172 +#: eeschema/dialog_erc.cpp:193 +#: eeschema/dialog_erc.cpp:197 msgid "0" msgstr "0" @@ -690,6 +825,7 @@ msgid "Clean pcb" msgstr "Nettoyage PCB" #: pcbnew/controle.cpp:172 +#: pcbnew/modedit.cpp:77 msgid "Selection Clarification" msgstr "Clarification de la Sélection" @@ -700,14 +836,29 @@ msgstr "Propriétés des Cotes" #: pcbnew/cotation.cpp:113 #: pcbnew/dialog_edit_module.cpp:243 #: pcbnew/dialog_edit_module.cpp:289 +#: pcbnew/muonde.cpp:360 +#: pcbnew/pcbtexte.cpp:180 +#: eeschema/dialog_edit_component_in_schematic.cpp:181 +#: eeschema/dialog_options.cpp:247 +#: eeschema/onrightclick.cpp:293 msgid "Normal" msgstr "Normal" #: pcbnew/cotation.cpp:125 +#: pcbnew/mirepcb.cpp:108 +#: pcbnew/muonde.cpp:367 +#: pcbnew/pcbtexte.cpp:129 +#: eeschema/sheet.cpp:177 +#: eeschema/sheet.cpp:183 +#: eeschema/pinedit-dialog.cpp:208 +#: eeschema/pinedit-dialog.cpp:214 +#: common/wxwineda.cpp:91 msgid "Size" msgstr "Taille " #: pcbnew/cotation.cpp:133 +#: pcbnew/dialog_zones_by_polygon.cpp:238 +#: gerbview/affiche.cpp:37 msgid "Layer:" msgstr "Couche:" @@ -745,6 +896,9 @@ msgstr "Pistes et vias" #: pcbnew/dialog_display_options.cpp:231 #: pcbnew/dialog_display_options.cpp:244 #: pcbnew/dialog_display_options.cpp:268 +#: pcbnew/pcbplot.cpp:415 +#: gerbview/options.cpp:298 +#: gerbview/options.cpp:321 msgid "Sketch" msgstr "Contour" @@ -753,6 +907,10 @@ msgstr "Contour" #: pcbnew/dialog_display_options.cpp:230 #: pcbnew/dialog_display_options.cpp:245 #: pcbnew/dialog_display_options.cpp:267 +#: pcbnew/pcbplot.cpp:415 +#: eeschema/dialog_cmp_graphic_properties.cpp:169 +#: gerbview/options.cpp:298 +#: gerbview/options.cpp:321 msgid "Filled" msgstr "Plein" @@ -823,10 +981,12 @@ msgid "Show Pad NoConnect" msgstr "Montrer non conn" #: pcbnew/dialog_display_options.cpp:269 +#: gerbview/options.cpp:322 msgid "Display other items:" msgstr "Afficher autres éléments" #: pcbnew/dialog_display_options.cpp:276 +#: eeschema/dialog_options.cpp:281 msgid "Show page limits" msgstr " Afficher limites de page" @@ -836,6 +996,24 @@ msgstr " Afficher limites de page" #: pcbnew/dialog_general_options.cpp:479 #: pcbnew/dialog_graphic_items_options.cpp:263 #: pcbnew/dialog_initpcb.cpp:161 +#: pcbnew/dialog_track_options.cpp:322 +#: pcbnew/set_grid.cpp:171 +#: pcbnew/swap_layers.cpp:223 +#: pcbnew/dialog_pad_edit.cpp:215 +#: eeschema/dialog_build_BOM.cpp:344 +#: eeschema/dialog_cmp_graphic_properties.cpp:178 +#: eeschema/dialog_create_component.cpp:198 +#: eeschema/dialog_edit_component_in_lib.cpp:221 +#: eeschema/dialog_edit_component_in_schematic.cpp:241 +#: eeschema/dialog_edit_label.cpp:181 +#: eeschema/dialog_options.cpp:288 +#: eeschema/sheet.cpp:198 +#: eeschema/symbtext.cpp:177 +#: eeschema/pinedit-dialog.cpp:242 +#: cvpcb/dialog_display_options.cpp:187 +#: cvpcb/dialog_cvpcb_config.cpp:138 +#: gerbview/select_layers_to_pcb.cpp:285 +#: share/setpage.cpp:444 msgid "&OK" msgstr "&OK" @@ -845,15 +1023,39 @@ msgstr "&OK" #: pcbnew/dialog_general_options.cpp:485 #: pcbnew/dialog_graphic_items_options.cpp:267 #: pcbnew/dialog_initpcb.cpp:164 +#: pcbnew/dialog_track_options.cpp:328 +#: pcbnew/dialog_zones_by_polygon.cpp:207 +#: pcbnew/set_grid.cpp:176 +#: pcbnew/swap_layers.cpp:227 +#: pcbnew/dialog_pad_edit.cpp:219 +#: eeschema/dialog_cmp_graphic_properties.cpp:183 +#: eeschema/dialog_create_component.cpp:203 +#: eeschema/dialog_edit_component_in_lib.cpp:217 +#: eeschema/dialog_edit_component_in_schematic.cpp:233 +#: eeschema/dialog_edit_label.cpp:186 +#: eeschema/dialog_options.cpp:293 +#: eeschema/netlist_control.cpp:144 +#: eeschema/netlist_control.cpp:267 +#: eeschema/sheet.cpp:194 +#: eeschema/symbtext.cpp:182 +#: eeschema/pinedit-dialog.cpp:238 +#: cvpcb/dialog_display_options.cpp:192 +#: gerbview/select_layers_to_pcb.cpp:289 +#: share/setpage.cpp:448 msgid "&Cancel" msgstr "&Annuler" #: pcbnew/dialog_drc.cpp:430 #: pcbnew/dialog_netlist.cpp:193 +#: eeschema/dialog_create_component.cpp:179 +#: eeschema/dialog_edit_component_in_lib.cpp:169 +#: eeschema/dialog_edit_component_in_schematic.cpp:202 +#: eeschema/dialog_erc.cpp:239 msgid "Options" msgstr "Options" #: pcbnew/dialog_drc.cpp:440 +#: pcbnew/dialog_track_options.cpp:290 msgid "Clearance" msgstr "Isolation" @@ -894,6 +1096,7 @@ msgid "Include tests for clearances between pad to pads" msgstr "Inclure test de l'isolation entre pads" #: pcbnew/dialog_drc.cpp:478 +#: pcbnew/onrightclick.cpp:646 msgid "Zones" msgstr "Zones" @@ -991,10 +1194,13 @@ msgid "Change module(s)" msgstr "Change module(s)" #: pcbnew/dialog_edit_module.cpp:186 +#: pcbnew/modedit_onclick.cpp:250 msgid "Edit Module" msgstr "Edit Module" #: pcbnew/dialog_edit_module.cpp:193 +#: eeschema/dialog_edit_component_in_lib.cpp:206 +#: eeschema/onrightclick.cpp:343 msgid "Doc" msgstr "Doc" @@ -1011,6 +1217,7 @@ msgid "Add Field" msgstr "Ajouter Champ" #: pcbnew/dialog_edit_module.cpp:222 +#: eeschema/onrightclick.cpp:248 msgid "Edit Field" msgstr "Editer Champ" @@ -1019,6 +1226,7 @@ msgid "Delete Field" msgstr "Supprimer Champ" #: pcbnew/dialog_edit_module.cpp:234 +#: common/common.cpp:352 msgid "Component" msgstr "Composant" @@ -1027,6 +1235,7 @@ msgid "Copper" msgstr "Cuivre" #: pcbnew/dialog_edit_module.cpp:243 +#: pcbnew/dialog_pad_edit.cpp:190 msgid "User" msgstr "User" @@ -1095,6 +1304,7 @@ msgid "3D Shape Name" msgstr "3D forme" #: pcbnew/dialog_edit_module.cpp:395 +#: eeschema/dialog_eeschema_config.cpp:231 msgid "Browse" msgstr "Examiner" @@ -1165,6 +1375,7 @@ msgid "vertical" msgstr "Vertical" #: pcbnew/dialog_edit_mod_text.cpp:282 +#: pcbnew/pcbtexte.cpp:156 msgid "Orientation" msgstr "Orientation" @@ -1181,6 +1392,9 @@ msgid "Value:" msgstr "Valeur:" #: pcbnew/dialog_edit_mod_text.cpp:384 +#: pcbnew/pcbtexte.cpp:123 +#: eeschema/sheetlab.cpp:102 +#: common/confirm.cpp:145 msgid "Text:" msgstr "Texte:" @@ -1226,38 +1440,54 @@ msgstr "L' URL du site FreeRouting.net" #: pcbnew/dialog_freeroute_exchange.cpp:222 #: pcbnew/dialog_netlist.cpp:253 +#: eeschema/dialog_build_BOM.cpp:348 +#: eeschema/dialog_erc.cpp:219 +#: eeschema/plothpgl.cpp:291 +#: share/dialog_print.cpp:222 +#: share/svg_print.cpp:258 msgid "&Close" msgstr "&Fermer" #: pcbnew/dialog_general_options.cpp:288 +#: gerbview/options.cpp:175 msgid "No Display" msgstr "Pas d'affichage" #: pcbnew/dialog_general_options.cpp:291 +#: gerbview/options.cpp:177 msgid "Display Polar Coord" msgstr "Affichage coord Polaires" #: pcbnew/dialog_general_options.cpp:299 +#: pcbnew/set_grid.cpp:147 +#: pcbnew/dialog_gendrill.cpp:167 +#: gerbview/options.cpp:185 msgid "Inches" msgstr "Pouces" #: pcbnew/dialog_general_options.cpp:300 +#: gerbview/options.cpp:186 msgid "millimeters" msgstr "millimetres" #: pcbnew/dialog_general_options.cpp:302 +#: eeschema/dialog_options.cpp:264 +#: gerbview/options.cpp:187 msgid "Units" msgstr "Unités" #: pcbnew/dialog_general_options.cpp:309 +#: gerbview/options.cpp:193 msgid "Small" msgstr "Petit" #: pcbnew/dialog_general_options.cpp:310 +#: gerbview/options.cpp:193 msgid "Big" msgstr "Grand" #: pcbnew/dialog_general_options.cpp:312 +#: gerbview/options.cpp:194 msgid "Cursor" msgstr "Curseur" @@ -1274,6 +1504,10 @@ msgid "Auto Save (minuts):" msgstr "Sauveg. Auto (min)" #: pcbnew/dialog_general_options.cpp:376 +#: pcbnew/dialog_gendrill.cpp:239 +#: eeschema/dialog_build_BOM.cpp:283 +#: eeschema/netlist_control.cpp:121 +#: share/dialog_print.cpp:167 msgid "Options:" msgstr "Options :" @@ -1302,6 +1536,7 @@ msgid "Segments 45 Only" msgstr "Segments 45 seulement" #: pcbnew/dialog_general_options.cpp:429 +#: eeschema/dialog_options.cpp:256 msgid "Auto PAN" msgstr "Auto PAN" @@ -1458,6 +1693,13 @@ msgid "Keep or change an existing footprint when the netlist gives a different f msgstr "Garder ou changer une empreinte existante quand la netliste donne une empreinte différente" #: pcbnew/dialog_netlist.cpp:186 +#: pcbnew/onrightclick.cpp:581 +#: pcbnew/onrightclick.cpp:762 +#: pcbnew/onrightclick.cpp:817 +#: pcbnew/onrightclick.cpp:866 +#: eeschema/edit_component_in_lib.cpp:239 +#: eeschema/edit_component_in_lib.cpp:320 +#: eeschema/menubar.cpp:146 msgid "Delete" msgstr "Supprimer" @@ -1510,6 +1752,11 @@ msgid "Rebuild the full ratsnest (usefull after a manual pad netname edition)" msgstr "Recalculer le chevelu complet ( utile après une edition manuelle de nom de net sur pad)" #: pcbnew/dialog_netlist.cpp:232 +#: pcbnew/pcbplot.cpp:284 +#: pcbnew/xchgmod.cpp:137 +#: eeschema/annotate_dialog.cpp:230 +#: eeschema/plotps.cpp:256 +#: share/zoom.cpp:449 msgid "Close" msgstr "Fermer" @@ -1559,30 +1806,50 @@ msgid "Bad value for footprints orientation" msgstr "Mauvaise valeur pour l'orientation des empreintes" #: pcbnew/dialog_setup_libs.cpp:97 +#: eeschema/dialog_eeschema_config.cpp:105 +#: cvpcb/dialog_cvpcb_config.cpp:75 +#: gerbview/reglage.cpp:90 msgid "from " msgstr "De " #: pcbnew/dialog_setup_libs.cpp:153 +#: eeschema/dialog_eeschema_config.cpp:161 +#: cvpcb/dialog_display_options.cpp:178 +#: cvpcb/dialog_cvpcb_config.cpp:128 msgid "Save Cfg" msgstr "Sauver config" #: pcbnew/dialog_setup_libs.cpp:159 +#: eeschema/dialog_eeschema_config.cpp:178 +#: cvpcb/dialog_cvpcb_config.cpp:143 msgid "Files ext:" msgstr "Ext. Fichiers" #: pcbnew/dialog_setup_libs.cpp:175 +#: cvpcb/dialog_cvpcb_config.cpp:162 +#: cvpcb/dialog_cvpcb_config.cpp:194 msgid "Del" msgstr "Supprimer" #: pcbnew/dialog_setup_libs.cpp:179 +#: eeschema/dialog_eeschema_config.cpp:197 +#: eeschema/edit_component_in_lib.cpp:233 +#: eeschema/edit_component_in_lib.cpp:312 +#: cvpcb/dialog_cvpcb_config.cpp:166 +#: cvpcb/dialog_cvpcb_config.cpp:198 msgid "Add" msgstr "Ajouter" #: pcbnew/dialog_setup_libs.cpp:183 +#: eeschema/dialog_eeschema_config.cpp:203 +#: cvpcb/dialog_cvpcb_config.cpp:170 +#: cvpcb/dialog_cvpcb_config.cpp:202 msgid "Ins" msgstr "Insérer" #: pcbnew/dialog_setup_libs.cpp:191 +#: eeschema/dialog_eeschema_config.cpp:213 +#: cvpcb/dialog_cvpcb_config.cpp:177 msgid "Libraries" msgstr "Librairies" @@ -1591,6 +1858,7 @@ msgid "Lib Modules Dir:" msgstr "Repertoire Lib Modules:" #: pcbnew/dialog_setup_libs.cpp:206 +#: cvpcb/menucfg.cpp:62 msgid "Module Doc File:" msgstr "Fichiers Doc des Modules" @@ -1611,10 +1879,14 @@ msgid "Net ext: " msgstr "Net ext: " #: pcbnew/dialog_setup_libs.cpp:367 +#: cvpcb/menucfg.cpp:202 msgid "Library Files:" msgstr "Fichiers Librairies:" #: pcbnew/dialog_setup_libs.cpp:392 +#: eeschema/dialog_eeschema_config.cpp:394 +#: cvpcb/menucfg.cpp:227 +#: cvpcb/menucfg.cpp:295 msgid "Library already in use" msgstr "Librairie déjà en usage" @@ -1635,6 +1907,7 @@ msgid "Alternate Via Drill" msgstr "Perçage vias alternatif" #: pcbnew/dialog_track_options.cpp:208 +#: pcbnew/pcbnew.h:294 msgid "Through Via" msgstr "Via Traversante" @@ -1647,6 +1920,7 @@ msgid "Default Via Type" msgstr "Via par Défaut" #: pcbnew/dialog_track_options.cpp:223 +#: pcbnew/dialog_gendrill.cpp:284 msgid "Micro Vias:" msgstr "Micro Vias:" @@ -1723,6 +1997,7 @@ msgid "Pad options:" msgstr "Options pads" #: pcbnew/dialog_zones_by_polygon.cpp:193 +#: eeschema/dialog_options.cpp:273 msgid "Any" msgstr "Tout" @@ -1836,6 +2111,10 @@ msgid "Add Graphic" msgstr "Addition éléments graphiques" #: pcbnew/edit.cpp:290 +#: pcbnew/tool_modedit.cpp:171 +#: eeschema/libframe.cpp:501 +#: eeschema/schedit.cpp:217 +#: gerbview/tool_gerber.cpp:385 msgid "Add Text" msgstr "Ajout de Texte" @@ -1856,6 +2135,9 @@ msgid "Local Ratsnest" msgstr "Monter le chevelu général" #: pcbnew/edit.cpp:552 +#: pcbnew/modedit.cpp:424 +#: eeschema/libframe.cpp:577 +#: eeschema/schedit.cpp:366 msgid "Delete item" msgstr "Suppression d'éléments" @@ -1945,6 +2227,20 @@ msgid "GenCAD file:" msgstr "Fichier GenCAD:" #: pcbnew/export_gencad.cpp:83 +#: pcbnew/files.cpp:352 +#: pcbnew/gen_modules_placefile.cpp:128 +#: pcbnew/gen_modules_placefile.cpp:139 +#: pcbnew/gen_modules_placefile.cpp:292 +#: pcbnew/librairi.cpp:308 +#: pcbnew/librairi.cpp:454 +#: pcbnew/librairi.cpp:604 +#: pcbnew/librairi.cpp:808 +#: pcbnew/plothpgl.cpp:67 +#: eeschema/plotps.cpp:478 +#: eeschema/plothpgl.cpp:601 +#: cvpcb/genequiv.cpp:42 +#: gerbview/export_to_pcbnew.cpp:75 +#: common/hotkeys_basic.cpp:385 msgid "Unable to create " msgstr "Impossible de créer " @@ -1954,6 +2250,12 @@ msgstr "Fichier de secours " #: pcbnew/files.cpp:56 #: pcbnew/librairi.cpp:256 +#: eeschema/find.cpp:241 +#: eeschema/find.cpp:249 +#: eeschema/find.cpp:695 +#: gerbview/dcode.cpp:266 +#: gerbview/readgerb.cpp:145 +#: common/eda_doc.cpp:150 msgid " not found" msgstr " non trouvé" @@ -1971,6 +2273,7 @@ msgstr "Charger Fichiers C.I.:" #: pcbnew/files.cpp:188 #: pcbnew/librairi.cpp:77 +#: cvpcb/readschematicnetlist.cpp:110 #, c-format msgid "File <%s> not found" msgstr " fichier %s non trouvé" @@ -2022,6 +2325,7 @@ msgid "<%s> Not Found" msgstr "<%s> Non trouvé" #: pcbnew/find.cpp:238 +#: eeschema/dialog_find.cpp:117 msgid "Item to find:" msgstr "Elément a chercher:" @@ -2047,14 +2351,18 @@ msgstr "Fichier de percage" #: pcbnew/gendrill.cpp:322 #: pcbnew/gendrill.cpp:789 +#: pcbnew/plotps.cpp:51 +#: pcbnew/xchgmod.cpp:637 msgid "Unable to create file " msgstr "Impossible de créer le fichier " #: pcbnew/gendrill.cpp:378 +#: pcbnew/dialog_gendrill.cpp:184 msgid "2:3" msgstr "2:3" #: pcbnew/gendrill.cpp:379 +#: pcbnew/dialog_gendrill.cpp:185 msgid "2:4" msgstr "2:4" @@ -2180,6 +2488,7 @@ msgid "Delete draw items?" msgstr "Suppression éléments graphiques?" #: pcbnew/initpcb.cpp:249 +#: gerbview/initpcb.cpp:150 msgid "Delete Tracks?" msgstr "Effacer Pistes ?" @@ -2188,6 +2497,7 @@ msgid "Delete Modules?" msgstr "Effacement des Modules?" #: pcbnew/initpcb.cpp:295 +#: gerbview/initpcb.cpp:173 msgid "Delete Pcb Texts" msgstr "Effacer Textes Pcb" @@ -2218,6 +2528,7 @@ msgid "File %s exists, OK to replace ?" msgstr "Fichier %s existant, OK pour remplacer ?" #: pcbnew/librairi.cpp:203 +#: eeschema/symbedit.cpp:166 #, c-format msgid "Unable to create <%s>" msgstr "Incapable de créer <%s>" @@ -2264,6 +2575,8 @@ msgid "Library %s not found" msgstr "Librairie %s non trouvée" #: pcbnew/librairi.cpp:527 +#: eeschema/symbtext.cpp:143 +#: common/get_component_dialog.cpp:98 msgid "Name:" msgstr "Nom:" @@ -2318,6 +2631,7 @@ msgid "Module name:" msgstr "Nom module:" #: pcbnew/loadcmp.cpp:215 +#: eeschema/eelibs_read_libraryfiles.cpp:64 #, c-format msgid "Library <%s> not found" msgstr "Librairie %s non trouvée" @@ -2358,6 +2672,7 @@ msgstr "Ajuster dims pour textes et graphiques" #: pcbnew/menubarmodedit.cpp:45 #: pcbnew/menubarpcb.cpp:233 #: pcbnew/modedit.cpp:396 +#: pcbnew/tool_modedit.cpp:124 msgid "Pad Settings" msgstr "Caract pads" @@ -2368,6 +2683,7 @@ msgstr "Ajuster taille, forme, couches... pour pads" #: pcbnew/menubarmodedit.cpp:50 #: pcbnew/menubarpcb.cpp:223 +#: pcbnew/set_grid.h:39 msgid "User Grid Size" msgstr "Dim Grille utilisteur" @@ -2378,6 +2694,10 @@ msgstr "Ajuster Grille utilisateur" #: pcbnew/menubarmodedit.cpp:60 #: pcbnew/menubarpcb.cpp:292 +#: eeschema/menubar.cpp:397 +#: cvpcb/tool_cvpcb.cpp:155 +#: kicad/buildmnu.cpp:190 +#: gerbview/tool_gerber.cpp:149 msgid "&Contents" msgstr "&Contenu" @@ -2388,11 +2708,19 @@ msgstr "Ouvrir la documentation de pcbnew" #: pcbnew/menubarmodedit.cpp:64 #: pcbnew/menubarpcb.cpp:296 +#: eeschema/menubar.cpp:402 +#: cvpcb/tool_cvpcb.cpp:159 +#: kicad/buildmnu.cpp:195 +#: gerbview/tool_gerber.cpp:151 msgid "&About" msgstr "&Infos logiciel" #: pcbnew/menubarmodedit.cpp:64 #: pcbnew/menubarpcb.cpp:296 +#: eeschema/menubar.cpp:402 +#: cvpcb/tool_cvpcb.cpp:160 +#: kicad/buildmnu.cpp:195 +#: gerbview/tool_gerber.cpp:152 msgid "About this application" msgstr "Au sujet de cette application" @@ -2418,6 +2746,10 @@ msgstr "&3D Visu" #: pcbnew/menubarmodedit.cpp:78 #: pcbnew/menubarpcb.cpp:314 +#: eeschema/menubar.cpp:412 +#: cvpcb/tool_cvpcb.cpp:166 +#: kicad/buildmnu.cpp:203 +#: gerbview/tool_gerber.cpp:159 msgid "&Help" msgstr "&Aide" @@ -2478,14 +2810,19 @@ msgid "Save current board as.." msgstr "Sauver le Circuit Imprimé courant sous.." #: pcbnew/menubarpcb.cpp:84 +#: eeschema/menubar.cpp:75 +#: gerbview/tool_gerber.cpp:88 msgid "P&rint" msgstr "Imp&rimer" #: pcbnew/menubarpcb.cpp:84 +#: eeschema/menubar.cpp:75 +#: gerbview/tool_gerber.cpp:88 msgid "Print on current printer" msgstr "Imprimer sur l'imprimante par défaut" #: pcbnew/menubarpcb.cpp:89 +#: eeschema/menubar.cpp:105 msgid "&Plot" msgstr "&Tracer" @@ -2534,6 +2871,7 @@ msgid "Import a routed \"Specctra Session\" (*.ses) file" msgstr "Importer un fichier de routage \"Specctra Session\" (*.ses) " #: pcbnew/menubarpcb.cpp:133 +#: eeschema/libframe.cpp:525 msgid "Import" msgstr "Importer" @@ -2566,6 +2904,10 @@ msgid "Archive or Add footprints in a library file" msgstr "Archiver ou ajouter les modules dans un fichier librairie" #: pcbnew/menubarpcb.cpp:156 +#: eeschema/menubar.cpp:109 +#: cvpcb/tool_cvpcb.cpp:122 +#: kicad/buildmnu.cpp:122 +#: gerbview/tool_gerber.cpp:93 msgid "E&xit" msgstr "&Quitter" @@ -2574,14 +2916,19 @@ msgid "Quit pcbnew" msgstr "Quitter Pcbnew" #: pcbnew/menubarpcb.cpp:174 +#: eeschema/menubar.cpp:358 msgid "&Libs and Dir" msgstr "&Libs et Rep" #: pcbnew/menubarpcb.cpp:175 +#: eeschema/menubar.cpp:359 +#: cvpcb/tool_cvpcb.cpp:137 msgid "Setting Libraries, Directories and others..." msgstr "Sélectionner les librairies et répertoires" #: pcbnew/menubarpcb.cpp:179 +#: eeschema/menubar.cpp:364 +#: gerbview/tool_gerber.cpp:108 msgid "&Colors" msgstr "&Couleurs" @@ -2606,18 +2953,23 @@ msgid "Select what items are displayed" msgstr "Sélectionner les éléments a afficher" #: pcbnew/menubarpcb.cpp:200 +#: eeschema/menubar.cpp:382 msgid "&Save preferences" msgstr "&Sauver Préférences" #: pcbnew/menubarpcb.cpp:201 +#: eeschema/menubar.cpp:383 +#: gerbview/tool_gerber.cpp:123 msgid "Save application preferences" msgstr "Sauver préférences" #: pcbnew/menubarpcb.cpp:205 +#: eeschema/menubar.cpp:386 msgid "&Read preferences" msgstr "&Lire Préférences" #: pcbnew/menubarpcb.cpp:206 +#: eeschema/menubar.cpp:387 msgid "Read application preferences" msgstr "Lire préférences de l'application" @@ -2630,10 +2982,12 @@ msgid "Adjust size and width for tracks, vias" msgstr "Ajuster dims et taille des pistes et vias" #: pcbnew/menubarpcb.cpp:228 +#: pcbnew/dialog_graphic_items_options.h:47 msgid "Texts and Drawings" msgstr "Textes et Tracés" #: pcbnew/menubarpcb.cpp:239 +#: gerbview/tool_gerber.cpp:122 msgid "&Save Setup" msgstr "&Sauver Options" @@ -2698,14 +3052,24 @@ msgid "Swap tracks on copper layers or drawings on others layers" msgstr "Permutation de couches" #: pcbnew/menubarpcb.cpp:308 +#: eeschema/menubar.cpp:407 +#: cvpcb/tool_cvpcb.cpp:164 +#: gerbview/tool_gerber.cpp:154 +#: 3d-viewer/3d_toolbar.cpp:116 msgid "&File" msgstr "&Fichiers" #: pcbnew/menubarpcb.cpp:309 +#: eeschema/menubar.cpp:411 +#: cvpcb/tool_cvpcb.cpp:165 +#: kicad/buildmnu.cpp:202 +#: gerbview/tool_gerber.cpp:155 +#: 3d-viewer/3d_toolbar.cpp:124 msgid "&Preferences" msgstr "&Préférences" #: pcbnew/menubarpcb.cpp:311 +#: gerbview/tool_gerber.cpp:156 msgid "&Miscellaneous" msgstr "&Divers" @@ -2758,35 +3122,50 @@ msgid "Add Pad" msgstr "Ajouter Pastilles" #: pcbnew/modedit.cpp:406 +#: eeschema/schedit.cpp:197 msgid "Add Drawing" msgstr "Ajout d'éléments graphiques" #: pcbnew/modedit.cpp:410 +#: pcbnew/tool_modedit.cpp:176 msgid "Place anchor" msgstr "Place Ancre" #: pcbnew/modedit_onclick.cpp:196 #: pcbnew/onrightclick.cpp:127 +#: eeschema/libedit_onrightclick.cpp:47 +#: eeschema/onrightclick.cpp:102 +#: gerbview/onrightclick.cpp:41 msgid "End Tool" msgstr "Fin Outil" #: pcbnew/modedit_onclick.cpp:206 -#: pcbnew/onrightclick.cpp:445 +#: pcbnew/onrightclick.cpp:447 +#: eeschema/libedit_onrightclick.cpp:231 +#: eeschema/onrightclick.cpp:609 +#: gerbview/onrightclick.cpp:50 msgid "Cancel Block" msgstr "Annuler Bloc" #: pcbnew/modedit_onclick.cpp:208 -#: pcbnew/onrightclick.cpp:447 +#: pcbnew/onrightclick.cpp:449 +#: eeschema/libedit_onrightclick.cpp:234 +#: gerbview/onrightclick.cpp:51 msgid "Zoom Block (drag middle mouse)" msgstr "Zoom Bloc (drag bouton du milieu souris)" #: pcbnew/modedit_onclick.cpp:211 -#: pcbnew/onrightclick.cpp:450 +#: pcbnew/onrightclick.cpp:452 +#: eeschema/libedit_onrightclick.cpp:238 +#: eeschema/onrightclick.cpp:617 +#: gerbview/onrightclick.cpp:53 msgid "Place Block" msgstr "Place Bloc" #: pcbnew/modedit_onclick.cpp:213 -#: pcbnew/onrightclick.cpp:452 +#: pcbnew/onrightclick.cpp:454 +#: eeschema/libedit_onrightclick.cpp:244 +#: eeschema/onrightclick.cpp:626 msgid "Copy Block (shift + drag mouse)" msgstr "Copie Bloc (shift + drag mouse)" @@ -2795,18 +3174,19 @@ msgid "Mirror Block (alt + drag mouse)" msgstr "Bloc Miroir (alt + drag mouse)" #: pcbnew/modedit_onclick.cpp:217 -#: pcbnew/onrightclick.cpp:456 +#: pcbnew/onrightclick.cpp:458 msgid "Rotate Block (ctrl + drag mouse)" msgstr "Rotation Bloc (ctrl + drag mouse)" #: pcbnew/modedit_onclick.cpp:219 -#: pcbnew/onrightclick.cpp:458 +#: pcbnew/onrightclick.cpp:460 +#: eeschema/onrightclick.cpp:630 msgid "Delete Block (shift+ctrl + drag mouse)" msgstr "Effacement Bloc (shift+ctrl + drag mouse)" #: pcbnew/modedit_onclick.cpp:241 -#: pcbnew/onrightclick.cpp:754 -#: pcbnew/onrightclick.cpp:858 +#: pcbnew/onrightclick.cpp:756 +#: pcbnew/onrightclick.cpp:860 msgid "Rotate" msgstr "Rotation" @@ -2831,17 +3211,17 @@ msgid "Move Pad" msgstr "Déplace Pad" #: pcbnew/modedit_onclick.cpp:263 -#: pcbnew/onrightclick.cpp:793 +#: pcbnew/onrightclick.cpp:795 msgid "Edit Pad" msgstr "Edit Pad" #: pcbnew/modedit_onclick.cpp:265 -#: pcbnew/onrightclick.cpp:797 +#: pcbnew/onrightclick.cpp:799 msgid "New Pad Settings" msgstr "Nouvelles Caract. Pads" #: pcbnew/modedit_onclick.cpp:267 -#: pcbnew/onrightclick.cpp:801 +#: pcbnew/onrightclick.cpp:803 msgid "Export Pad Settings" msgstr "Exporte Caract. Pads" @@ -2850,7 +3230,7 @@ msgid "delete Pad" msgstr "Supprimer Pad" #: pcbnew/modedit_onclick.cpp:274 -#: pcbnew/onrightclick.cpp:808 +#: pcbnew/onrightclick.cpp:810 msgid "Global Pad Settings" msgstr "Edition Globale des pads" @@ -2883,9 +3263,10 @@ msgid "Place edge" msgstr "Place contour" #: pcbnew/modedit_onclick.cpp:306 -#: pcbnew/onrightclick.cpp:722 -#: pcbnew/onrightclick.cpp:756 -#: pcbnew/onrightclick.cpp:860 +#: pcbnew/onrightclick.cpp:724 +#: pcbnew/onrightclick.cpp:758 +#: pcbnew/onrightclick.cpp:862 +#: eeschema/onrightclick.cpp:300 msgid "Edit" msgstr "Editer" @@ -2922,11 +3303,13 @@ msgid "Footprint name:" msgstr "Nom Module: " #: pcbnew/modules.cpp:305 -#: pcbnew/onrightclick.cpp:728 +#: pcbnew/onrightclick.cpp:730 msgid "Delete Module" msgstr "Supprimer Module" #: pcbnew/modules.cpp:306 +#: eeschema/find.cpp:220 +#: eeschema/onrightclick.cpp:304 msgid "Value " msgstr "Valeur " @@ -2956,6 +3339,7 @@ msgid "Arc Stub" msgstr "Arc Stub" #: pcbnew/muonde.cpp:175 +#: common/common.cpp:97 msgid " (mm):" msgstr " (mm):" @@ -2965,6 +3349,7 @@ msgstr " (pouce):" #: pcbnew/muonde.cpp:189 #: pcbnew/muonde.cpp:202 +#: pcbnew/gen_self.h:231 msgid "Incorrect number, abort" msgstr "Nombre incorrect, arret" @@ -3025,6 +3410,7 @@ msgid "Gap (inch):" msgstr "Gap (inch):" #: pcbnew/muwave_command.cpp:52 +#: eeschema/libframe.cpp:517 msgid "Add Line" msgstr "Addition de lignes" @@ -3126,465 +3512,27 @@ msgstr "Pistes sur Couches Cuivre seulement" msgid "Cotation not authorized on Copper layers" msgstr "Cotation non autorisée sur Couches Cuivre" -#: pcbnew/onrightclick.cpp:41 -msgid "Auto Width" -msgstr "Epaisseur Automatique" - -#: pcbnew/onrightclick.cpp:43 -msgid "Use the track width when starting on a track, otherwise the current track width" -msgstr "Si on démarre sur une piste existante, utiliser sa largeur, sinon utiliser la largeur courante" - -#: pcbnew/onrightclick.cpp:57 -#, c-format -msgid "Track %.1f" -msgstr "Piste %.1f" - -#: pcbnew/onrightclick.cpp:59 -#, c-format -msgid "Track %.3f" -msgstr "Piste %.3f" - -#: pcbnew/onrightclick.cpp:77 -#, c-format -msgid "Via %.1f" -msgstr "Via %.1f" - -#: pcbnew/onrightclick.cpp:79 -#, c-format -msgid "Via %.3f" -msgstr "Via %.3f" - -#: pcbnew/onrightclick.cpp:195 -msgid "Lock Module" -msgstr "Verrouiller Module" - -#: pcbnew/onrightclick.cpp:203 -msgid "Unlock Module" -msgstr "Déverrouiller Modules" - -#: pcbnew/onrightclick.cpp:211 -msgid "Auto place Module" -msgstr "Auto place Module" - -#: pcbnew/onrightclick.cpp:217 -msgid "Autoroute" -msgstr "Autoroute" - -#: pcbnew/onrightclick.cpp:233 -msgid "Move Drawing" -msgstr "Déplace Tracé" - -#: pcbnew/onrightclick.cpp:238 -msgid "End Drawing" -msgstr "Fin tracé" - -#: pcbnew/onrightclick.cpp:240 -msgid "Edit Drawing" -msgstr "Edit Tracé" - -#: pcbnew/onrightclick.cpp:241 -msgid "Delete Drawing" -msgstr "Supprimer Tracé" - -#: pcbnew/onrightclick.cpp:246 -msgid "Delete Zone Filling" -msgstr "Supprimer Remplissage de Zone" - -#: pcbnew/onrightclick.cpp:253 -msgid "Close Zone Outline" -msgstr "Fermer Contour de Zone" - -#: pcbnew/onrightclick.cpp:255 -msgid "Delete Last Corner" -msgstr "Supprimer Dernier Sommet" - -#: pcbnew/onrightclick.cpp:273 -msgid "Delete Marker" -msgstr "Effacer Marqueur" - -#: pcbnew/onrightclick.cpp:280 -msgid "Edit Dimension" -msgstr "Edit Cote" - -#: pcbnew/onrightclick.cpp:283 -msgid "Delete Dimension" -msgstr "Suppression Cote" - -#: pcbnew/onrightclick.cpp:290 -msgid "Move Target" -msgstr "Déplacer Mire" - -#: pcbnew/onrightclick.cpp:293 -msgid "Edit Target" -msgstr "Editer Mire" - -#: pcbnew/onrightclick.cpp:295 -msgid "Delete Target" -msgstr "Supprimer Mire" - -#: pcbnew/onrightclick.cpp:327 -msgid "Get and Move Footprint" -msgstr "Sel et Dépl.t module" - -#: pcbnew/onrightclick.cpp:340 -msgid "Fill or Refill All Zones" -msgstr "Remplir ou Re-remplir Toutes les Zones" - -#: pcbnew/onrightclick.cpp:345 -#: pcbnew/onrightclick.cpp:354 -#: pcbnew/onrightclick.cpp:366 -#: pcbnew/onrightclick.cpp:427 -msgid "Select Working Layer" -msgstr "Sélection de la couche de travail" - -#: pcbnew/onrightclick.cpp:352 -#: pcbnew/onrightclick.cpp:424 -msgid "Select Track Width" -msgstr "Sélection Epais. Piste" - -#: pcbnew/onrightclick.cpp:356 -msgid "Select layer pair for vias" -msgstr "Selection couple de couches pour Vias" - -#: pcbnew/onrightclick.cpp:372 -msgid "Footprint documentation" -msgstr "Documentation des modules" - -#: pcbnew/onrightclick.cpp:382 -msgid "Glob Move and Place" -msgstr "Move et Place Globaux" - -#: pcbnew/onrightclick.cpp:384 -msgid "Unlock All Modules" -msgstr "Déverrouiller tous les Modules" - -#: pcbnew/onrightclick.cpp:386 -msgid "Lock All Modules" -msgstr "Verrouiller tous les Modules" - -#: pcbnew/onrightclick.cpp:389 -msgid "Move All Modules" -msgstr "Déplace tous les Modules" - -#: pcbnew/onrightclick.cpp:390 -msgid "Move New Modules" -msgstr "Déplace nouveaux Modules" - -#: pcbnew/onrightclick.cpp:392 -msgid "Autoplace All Modules" -msgstr "Autoplace Tous Modules" - -#: pcbnew/onrightclick.cpp:393 -msgid "Autoplace New Modules" -msgstr "AutoPlace nouveaux Modules" - -#: pcbnew/onrightclick.cpp:394 -msgid "Autoplace Next Module" -msgstr "Autoplace Module suivant" - -#: pcbnew/onrightclick.cpp:397 -msgid "Orient All Modules" -msgstr "Oriente Tous Modules" - -#: pcbnew/onrightclick.cpp:404 -msgid "Global Autoroute" -msgstr "Autoroutage global" - -#: pcbnew/onrightclick.cpp:406 -msgid "Select layer pair" -msgstr "Selection couple de couches" - -#: pcbnew/onrightclick.cpp:408 -msgid "Autoroute All Modules" -msgstr "Autoroute Tous Modules" - -#: pcbnew/onrightclick.cpp:410 -msgid "Reset Unrouted" -msgstr "Réinit Non routés" - -#: pcbnew/onrightclick.cpp:415 -msgid "Global AutoRouter" -msgstr "Autorouteur Global" - -#: pcbnew/onrightclick.cpp:417 -msgid "Read Global AutoRouter Data" -msgstr "Lire Données de L'autorouteur global" - -#: pcbnew/onrightclick.cpp:454 -msgid "Flip Block (alt + drag mouse)" -msgstr "Inversion Bloc (alt + drag mouse)" - -#: pcbnew/onrightclick.cpp:477 -msgid "Drag Via" -msgstr "Drag Via" - -#: pcbnew/onrightclick.cpp:481 -msgid "Edit Via Drill" -msgstr "Editer Perçage Via" - -#: pcbnew/onrightclick.cpp:483 -msgid "Set via hole to Default" -msgstr "Ajuste perçage via à défaut" - -#: pcbnew/onrightclick.cpp:484 -msgid "Set via hole to a specific value. This specfic value is currently" -msgstr "Ajuste diametre perçage via a une valeur sécifique. Cette valeur spécifique est actuellement" - -#: pcbnew/onrightclick.cpp:487 -msgid "Set via hole to alt value" -msgstr "Ajuste perçage via à valeur alternative" - -#: pcbnew/onrightclick.cpp:489 -msgid "Set a specific via hole value. This value is currently" -msgstr "Ajuste une valeur spécifique de perçage de la via. Cette valeur est actuellement" - -#: pcbnew/onrightclick.cpp:492 -msgid "Set the via hole alt value" -msgstr "Ajuste la valeur alt. perçage via" - -#: pcbnew/onrightclick.cpp:494 -msgid "Export Via hole to alt value" -msgstr "Exporte perçage via à valeur alt." - -#: pcbnew/onrightclick.cpp:496 -msgid "Export via hole to others id vias" -msgstr "Exporte perçage via aux autres semblables." - -#: pcbnew/onrightclick.cpp:498 -msgid "Set ALL via holes to default" -msgstr "Ajuste perçage TOUTES vias au défaut" - -#: pcbnew/onrightclick.cpp:511 -msgid "Move Node" -msgstr "Déplace Noeud" - -#: pcbnew/onrightclick.cpp:516 -msgid "Drag Segments, keep slope" -msgstr "Drag Segments, garder direction" - -#: pcbnew/onrightclick.cpp:518 -msgid "Drag Segment" -msgstr "Drag Segment" - -#: pcbnew/onrightclick.cpp:521 -msgid "Move Segment" -msgstr "Déplace Segment" - -#: pcbnew/onrightclick.cpp:524 -msgid "Break Track" -msgstr "Briser piste" - -#: pcbnew/onrightclick.cpp:531 -msgid "Place Node" -msgstr "Place noeud" - -#: pcbnew/onrightclick.cpp:538 -msgid "End Track" -msgstr "Terminer Piste" - -#: pcbnew/onrightclick.cpp:541 -msgid "Place Via" -msgstr "Place Via" - -#: pcbnew/onrightclick.cpp:548 -msgid "Place Micro Via" -msgstr "Place Micro Via" - -#: pcbnew/onrightclick.cpp:560 -msgid "Change Width" -msgstr "Change Largeur" - -#: pcbnew/onrightclick.cpp:562 -msgid "Change Via Size" -msgstr "Change Taille Via" - -#: pcbnew/onrightclick.cpp:562 -msgid "Change Segment Width" -msgstr "Change Largeur Segment" - -#: pcbnew/onrightclick.cpp:565 -msgid "Change Track Width" -msgstr "Change Largeur Piste" - -#: pcbnew/onrightclick.cpp:567 -msgid "Change Net" -msgstr "Change Net" - -#: pcbnew/onrightclick.cpp:569 -msgid "Change ALL Tracks and Vias" -msgstr "Changer TOUTES Pistes et Vias" - -#: pcbnew/onrightclick.cpp:571 -msgid "Change ALL Vias (no track)" -msgstr "Changer TOUTES Vias (pas les pistes)" - -#: pcbnew/onrightclick.cpp:573 -msgid "Change ALL Tracks (no via)" -msgstr "Changer TOUTES Pistes (pas les vias)" - -#: pcbnew/onrightclick.cpp:581 -msgid "Delete Via" -msgstr "Suppression Via" - -#: pcbnew/onrightclick.cpp:581 -msgid "Delete Segment" -msgstr "SupprimerSegment" - -#: pcbnew/onrightclick.cpp:588 -msgid "Delete Track" -msgstr "Effacer Piste" - -#: pcbnew/onrightclick.cpp:592 -msgid "Delete Net" -msgstr "Supprimer Net" - -#: pcbnew/onrightclick.cpp:597 -msgid "Set Flags" -msgstr "Ajust. Flags" - -#: pcbnew/onrightclick.cpp:598 -msgid "Locked: Yes" -msgstr "Verrou: Oui" - -#: pcbnew/onrightclick.cpp:599 -msgid "Locked: No" -msgstr "Verrou: Non" - -#: pcbnew/onrightclick.cpp:609 -msgid "Track Locked: Yes" -msgstr "Piste verrouillée: Oui" - -#: pcbnew/onrightclick.cpp:610 -msgid "Track Locked: No" -msgstr "Piste verrouillée: Non" - -#: pcbnew/onrightclick.cpp:612 -msgid "Net Locked: Yes" -msgstr "Net verrouillé: Oui" - -#: pcbnew/onrightclick.cpp:613 -msgid "Net Locked: No" -msgstr "Net verrouillé: Non" - -#: pcbnew/onrightclick.cpp:628 -msgid "Place Edge Outline" -msgstr "Place Segment de Contour" - -#: pcbnew/onrightclick.cpp:634 -msgid "Place Corner" -msgstr "Place Sommet" - -#: pcbnew/onrightclick.cpp:637 -msgid "Place Zone" -msgstr "Place Zone" - -#: pcbnew/onrightclick.cpp:649 -msgid "Move Corner" -msgstr "Déplace Sommet" - -#: pcbnew/onrightclick.cpp:651 -msgid "Delete Corner" -msgstr "Supprimer Sommet" - -#: pcbnew/onrightclick.cpp:656 -msgid "Create Corner" -msgstr "Créer Sommet" - -#: pcbnew/onrightclick.cpp:658 -msgid "Drag Outline Segment" -msgstr "Drag Segment Contour" - -#: pcbnew/onrightclick.cpp:663 -msgid "Add Similar Zone" -msgstr "Addition d'une Zone Semblable" - -#: pcbnew/onrightclick.cpp:666 -msgid "Add Cutout Area" -msgstr "Addition d'une Zone Interdite" - -#: pcbnew/onrightclick.cpp:670 -msgid "Fill Zone" -msgstr "Remplir Zone" - -#: pcbnew/onrightclick.cpp:673 -msgid "Move Zone" -msgstr "Déplace Zone" - -#: pcbnew/onrightclick.cpp:676 -msgid "Edit Zone Params" -msgstr "Editer Paramètres de la Zone" - -#: pcbnew/onrightclick.cpp:681 -msgid "Delete Cutout" -msgstr "Supprimer Zone Interdite" - -#: pcbnew/onrightclick.cpp:684 -msgid "Delete Zone Outline" -msgstr "Supprimer Contour de Zone" - -#: pcbnew/onrightclick.cpp:706 -#: pcbnew/onrightclick.cpp:751 -#: pcbnew/onrightclick.cpp:789 -#: pcbnew/onrightclick.cpp:855 -msgid "Move" -msgstr "Move" - -#: pcbnew/onrightclick.cpp:709 -#: pcbnew/onrightclick.cpp:791 -msgid "Drag" -msgstr "Drag" - -#: pcbnew/onrightclick.cpp:713 -msgid "Rotate +" -msgstr "Rotation +" - -#: pcbnew/onrightclick.cpp:717 -msgid "Rotate -" -msgstr "Rotation -" - -#: pcbnew/onrightclick.cpp:718 -msgid "Flip" -msgstr "Change côté" - -#: pcbnew/onrightclick.cpp:798 -msgid "Copy current pad settings to this pad" -msgstr "Copier les réglages courants pour ce pad" - -#: pcbnew/onrightclick.cpp:802 -msgid "Copy this pad settings to current pad settings" -msgstr "Copier les caractéristiques de ce pad vers les caractéristiques courantes" - -#: pcbnew/onrightclick.cpp:810 -msgid "Copy this pad settings to all pads in this footprint (or similar footprints)" -msgstr "Copier les caractéristiques de ce pad vers tous les autres pads de ce module( ou modules similaires)" - -#: pcbnew/onrightclick.cpp:815 -msgid "delete" -msgstr "Effacer" - -#: pcbnew/onrightclick.cpp:822 -msgid "Autoroute Pad" -msgstr "Autoroute Pad" - -#: pcbnew/onrightclick.cpp:823 -msgid "Autoroute Net" -msgstr "Autoroute Net" - #: pcbnew/pcbcfg.cpp:71 +#: eeschema/eeconfig.cpp:60 +#: cvpcb/menucfg.cpp:140 msgid "Read config file" msgstr "Lire config" #: pcbnew/pcbcfg.cpp:85 +#: cvpcb/menucfg.cpp:152 #, c-format msgid "File %s not found" msgstr " fichier %s non trouvé" #: pcbnew/pcbcfg.cpp:204 +#: eeschema/eeconfig.cpp:199 +#: cvpcb/cfg.cpp:75 msgid "Save preferences" msgstr "Sauver préférences" #: pcbnew/pcbplot.cpp:147 #: pcbnew/pcbplot.cpp:272 +#: gerbview/tool_gerber.cpp:90 msgid "Plot" msgstr "Tracer" @@ -3641,6 +3589,7 @@ msgid "X scale adjust" msgstr "Ajustage Echelle X" #: pcbnew/pcbplot.cpp:259 +#: share/wxprint.cpp:193 msgid "Set X scale adjust for exact scale plotting" msgstr "Ajuster échelle X pour traçage à l'échelle exacte" @@ -3649,6 +3598,7 @@ msgid "Y scale adjust" msgstr "Ajustage Echelle Y" #: pcbnew/pcbplot.cpp:264 +#: share/wxprint.cpp:194 msgid "Set Y scale adjust for exact scale plotting" msgstr "Ajuster échelle Y pour traçage à l'échelle exacte" @@ -3753,10 +3703,12 @@ msgid "Scale 1.5" msgstr "Echelle 1,5" #: pcbnew/pcbplot.cpp:406 +#: share/dialog_print.cpp:143 msgid "Scale 2" msgstr "Echelle 2" #: pcbnew/pcbplot.cpp:406 +#: share/dialog_print.cpp:144 msgid "Scale 3" msgstr "Echelle 3" @@ -3865,10 +3817,13 @@ msgstr "Attention: Les couches dessus et dessous sont les mêmes" #: pcbnew/set_color.cpp:269 #: pcbnew/set_color.cpp:296 +#: gerbview/set_color.cpp:258 +#: gerbview/set_color.cpp:285 msgid "Show None" msgstr "Rien Afficher" #: pcbnew/set_color.cpp:278 +#: gerbview/set_color.cpp:267 msgid "Show All" msgstr "Tout Afficher" @@ -3881,10 +3836,13 @@ msgid "Switch off all of the copper layers" msgstr "N'affiche pas les couches cuivre" #: pcbnew/set_color.cpp:361 +#: eeschema/eelayer.cpp:260 +#: gerbview/set_color.cpp:333 msgid "Apply" msgstr "Appliquer" #: pcbnew/set_grid.cpp:148 +#: share/drawframe.cpp:377 msgid "mm" msgstr "mm" @@ -4013,6 +3971,7 @@ msgid "Deselect this layer to select the No Change state" msgstr "Deselectionner cette couche pour restorer l'option Pas de Changement" #: pcbnew/tool_modedit.cpp:44 +#: eeschema/tool_lib.cpp:120 msgid "Select working library" msgstr "Sélection de la librairie de travail" @@ -4058,10 +4017,16 @@ msgid "export module" msgstr "Exporter Module" #: pcbnew/tool_modedit.cpp:92 +#: eeschema/menubar.cpp:130 +#: eeschema/tool_lib.cpp:147 +#: eeschema/tool_sch.cpp:74 msgid "Undo last edition" msgstr "Defait dernière édition" #: pcbnew/tool_modedit.cpp:94 +#: eeschema/menubar.cpp:138 +#: eeschema/tool_lib.cpp:149 +#: eeschema/tool_sch.cpp:77 msgid "Redo the last undo command" msgstr "Refait la dernière commande defaite" @@ -4075,21 +4040,35 @@ msgstr "Imprimer Module" #: pcbnew/tool_modedit.cpp:106 #: pcbnew/tool_pcb.cpp:255 +#: eeschema/tool_lib.cpp:167 +#: eeschema/tool_sch.cpp:92 +#: gerbview/tool_gerber.cpp:271 msgid "zoom +" msgstr "zoom +" #: pcbnew/tool_modedit.cpp:110 #: pcbnew/tool_pcb.cpp:259 +#: eeschema/tool_lib.cpp:171 +#: eeschema/tool_sch.cpp:96 +#: gerbview/tool_gerber.cpp:278 msgid "zoom -" msgstr "zoom -" #: pcbnew/tool_modedit.cpp:114 #: pcbnew/tool_pcb.cpp:263 +#: eeschema/menubar.cpp:193 +#: eeschema/tool_lib.cpp:175 +#: eeschema/tool_sch.cpp:100 +#: gerbview/tool_gerber.cpp:285 msgid "redraw" msgstr "Redessin" #: pcbnew/tool_modedit.cpp:119 #: pcbnew/tool_pcb.cpp:268 +#: eeschema/tool_lib.cpp:181 +#: eeschema/tool_sch.cpp:105 +#: gerbview/tool_gerber.cpp:296 +#: 3d-viewer/3d_toolbar.cpp:52 msgid "auto zoom" msgstr "Zoom automatique" @@ -4118,31 +4097,44 @@ msgstr "Addition de graphiques (Arc de Cercle)" #: pcbnew/tool_modedit.cpp:181 #: pcbnew/tool_pcb.cpp:455 +#: eeschema/menubar.cpp:146 +#: eeschema/tool_lib.cpp:90 +#: eeschema/tool_sch.cpp:228 +#: gerbview/tool_gerber.cpp:393 msgid "Delete items" msgstr "Suppression d'éléments" #: pcbnew/tool_modedit.cpp:203 #: pcbnew/tool_pcb.cpp:328 +#: eeschema/tool_sch.cpp:250 +#: gerbview/tool_gerber.cpp:417 msgid "Display Grid OFF" msgstr "Suppression de l'affichage de la grille" #: pcbnew/tool_modedit.cpp:207 #: pcbnew/tool_pcb.cpp:331 +#: gerbview/tool_gerber.cpp:423 msgid "Display Polar Coord ON" msgstr "Activer affichage coord Polaires" #: pcbnew/tool_modedit.cpp:211 #: pcbnew/tool_pcb.cpp:333 +#: eeschema/tool_sch.cpp:254 +#: gerbview/tool_gerber.cpp:427 msgid "Units = Inch" msgstr "Unités = pouce" #: pcbnew/tool_modedit.cpp:215 #: pcbnew/tool_pcb.cpp:335 +#: eeschema/tool_sch.cpp:258 +#: gerbview/tool_gerber.cpp:431 msgid "Units = mm" msgstr "Unités = mm" #: pcbnew/tool_modedit.cpp:221 #: pcbnew/tool_pcb.cpp:338 +#: eeschema/tool_sch.cpp:262 +#: gerbview/tool_gerber.cpp:437 msgid "Change Cursor Shape" msgstr "Sélection de la forme du curseur" @@ -4161,6 +4153,8 @@ msgstr "Afficher Modules en contour" #: pcbnew/tool_modedit.cpp:276 #: pcbnew/tool_pcb.cpp:577 +#: eeschema/plotps.cpp:195 +#: share/zoom.cpp:368 msgid "Auto" msgstr "Auto" @@ -4205,6 +4199,8 @@ msgid "Save Board" msgstr "Sauver Circuit Imprimé" #: pcbnew/tool_pcb.cpp:231 +#: eeschema/tool_sch.cpp:49 +#: gerbview/tool_gerber.cpp:232 msgid "page settings (size, texts)" msgstr "Ajustage de la feuille de dessin (dimensions, textes)" @@ -4213,18 +4209,25 @@ msgid "Open Module Editor" msgstr "Ouvrir Editeur de modules" #: pcbnew/tool_pcb.cpp:238 +#: eeschema/tool_sch.cpp:65 +#: gerbview/tool_gerber.cpp:243 msgid "Cut selected item" msgstr "Suppression des éléments sélectionnés" #: pcbnew/tool_pcb.cpp:242 +#: eeschema/tool_sch.cpp:68 +#: gerbview/tool_gerber.cpp:248 msgid "Copy selected item" msgstr "Copie des éléments sélectionnés" #: pcbnew/tool_pcb.cpp:244 +#: eeschema/tool_sch.cpp:71 +#: gerbview/tool_gerber.cpp:254 msgid "Paste" msgstr "Copie des éléments sauvegardés" #: pcbnew/tool_pcb.cpp:247 +#: gerbview/tool_gerber.cpp:261 msgid "Undelete" msgstr "Annulation du dernier effacement" @@ -4237,6 +4240,8 @@ msgid "Plot (HPGL, PostScript, or GERBER format)" msgstr "Tracer en format HPGL, POSTSCRIPT ou GERBER" #: pcbnew/tool_pcb.cpp:272 +#: eeschema/menubar.cpp:154 +#: eeschema/tool_sch.cpp:109 msgid "Find components and texts" msgstr "Recherche de composants et textes" @@ -4277,6 +4282,8 @@ msgid "Enable Auto Del Track" msgstr "Autoriser l'effacement automatique des pistes" #: pcbnew/tool_pcb.cpp:355 +#: pcbnew/pcbframe.cpp:434 +#: pcbnew/set_color.h:423 msgid "Show Zones" msgstr "Monter Zones" @@ -4285,6 +4292,7 @@ msgid "Show Tracks Sketch" msgstr "Afficher Pistes en Contour" #: pcbnew/tool_pcb.cpp:368 +#: pcbnew/pcbframe.cpp:455 msgid "Hight Contrast Mode Display" msgstr "Mode d'affichage Haut Contraste" @@ -4325,6 +4333,7 @@ msgid "Add dimension" msgstr "Ajout des cotes" #: pcbnew/tool_pcb.cpp:450 +#: gerbview/tool_gerber.cpp:378 msgid "Add layer alignment target" msgstr "Ajouter Mire de superposition" @@ -4365,6 +4374,10 @@ msgid "Zoom " msgstr "Zoom " #: pcbnew/tool_pcb.cpp:595 +#: eeschema/eelayer.cpp:223 +#: pcbnew/set_color.h:414 +#: eeschema/eelayer.h:214 +#: gerbview/set_color.h:324 msgid "Grid" msgstr "Grille" @@ -4471,6 +4484,450 @@ msgstr "Ok" msgid "Pcbnew is already running, Continue?" msgstr "Pcbnew est est cours d'exécution. Continuer ?" +#: pcbnew/onrightclick.cpp:41 +msgid "Auto Width" +msgstr "Epaisseur Automatique" + +#: pcbnew/onrightclick.cpp:43 +msgid "Use the track width when starting on a track, otherwise the current track width" +msgstr "Si on démarre sur une piste existante, utiliser sa largeur, sinon utiliser la largeur courante" + +#: pcbnew/onrightclick.cpp:57 +#, c-format +msgid "Track %.1f" +msgstr "Piste %.1f" + +#: pcbnew/onrightclick.cpp:59 +#, c-format +msgid "Track %.3f" +msgstr "Piste %.3f" + +#: pcbnew/onrightclick.cpp:77 +#, c-format +msgid "Via %.1f" +msgstr "Via %.1f" + +#: pcbnew/onrightclick.cpp:79 +#, c-format +msgid "Via %.3f" +msgstr "Via %.3f" + +#: pcbnew/onrightclick.cpp:195 +msgid "Lock Module" +msgstr "Verrouiller Module" + +#: pcbnew/onrightclick.cpp:203 +msgid "Unlock Module" +msgstr "Déverrouiller Modules" + +#: pcbnew/onrightclick.cpp:211 +msgid "Auto place Module" +msgstr "Auto place Module" + +#: pcbnew/onrightclick.cpp:217 +msgid "Autoroute" +msgstr "Autoroute" + +#: pcbnew/onrightclick.cpp:233 +msgid "Move Drawing" +msgstr "Déplace Tracé" + +#: pcbnew/onrightclick.cpp:238 +#: eeschema/onrightclick.cpp:208 +msgid "End Drawing" +msgstr "Fin tracé" + +#: pcbnew/onrightclick.cpp:241 +msgid "Edit Drawing" +msgstr "Edit Tracé" + +#: pcbnew/onrightclick.cpp:243 +#: eeschema/onrightclick.cpp:210 +msgid "Delete Drawing" +msgstr "Supprimer Tracé" + +#: pcbnew/onrightclick.cpp:248 +msgid "Delete Zone Filling" +msgstr "Supprimer Remplissage de Zone" + +#: pcbnew/onrightclick.cpp:255 +msgid "Close Zone Outline" +msgstr "Fermer Contour de Zone" + +#: pcbnew/onrightclick.cpp:257 +msgid "Delete Last Corner" +msgstr "Supprimer Dernier Sommet" + +#: pcbnew/onrightclick.cpp:275 +#: eeschema/onrightclick.cpp:155 +msgid "Delete Marker" +msgstr "Effacer Marqueur" + +#: pcbnew/onrightclick.cpp:282 +msgid "Edit Dimension" +msgstr "Edit Cote" + +#: pcbnew/onrightclick.cpp:285 +msgid "Delete Dimension" +msgstr "Suppression Cote" + +#: pcbnew/onrightclick.cpp:292 +msgid "Move Target" +msgstr "Déplacer Mire" + +#: pcbnew/onrightclick.cpp:295 +msgid "Edit Target" +msgstr "Editer Mire" + +#: pcbnew/onrightclick.cpp:297 +msgid "Delete Target" +msgstr "Supprimer Mire" + +#: pcbnew/onrightclick.cpp:329 +msgid "Get and Move Footprint" +msgstr "Sel et Dépl.t module" + +#: pcbnew/onrightclick.cpp:342 +msgid "Fill or Refill All Zones" +msgstr "Remplir ou Re-remplir Toutes les Zones" + +#: pcbnew/onrightclick.cpp:347 +#: pcbnew/onrightclick.cpp:356 +#: pcbnew/onrightclick.cpp:368 +#: pcbnew/onrightclick.cpp:429 +msgid "Select Working Layer" +msgstr "Sélection de la couche de travail" + +#: pcbnew/onrightclick.cpp:354 +#: pcbnew/onrightclick.cpp:426 +msgid "Select Track Width" +msgstr "Sélection Epais. Piste" + +#: pcbnew/onrightclick.cpp:358 +msgid "Select layer pair for vias" +msgstr "Selection couple de couches pour Vias" + +#: pcbnew/onrightclick.cpp:374 +msgid "Footprint documentation" +msgstr "Documentation des modules" + +#: pcbnew/onrightclick.cpp:384 +msgid "Glob Move and Place" +msgstr "Move et Place Globaux" + +#: pcbnew/onrightclick.cpp:386 +msgid "Unlock All Modules" +msgstr "Déverrouiller tous les Modules" + +#: pcbnew/onrightclick.cpp:388 +msgid "Lock All Modules" +msgstr "Verrouiller tous les Modules" + +#: pcbnew/onrightclick.cpp:391 +msgid "Move All Modules" +msgstr "Déplace tous les Modules" + +#: pcbnew/onrightclick.cpp:392 +msgid "Move New Modules" +msgstr "Déplace nouveaux Modules" + +#: pcbnew/onrightclick.cpp:394 +msgid "Autoplace All Modules" +msgstr "Autoplace Tous Modules" + +#: pcbnew/onrightclick.cpp:395 +msgid "Autoplace New Modules" +msgstr "AutoPlace nouveaux Modules" + +#: pcbnew/onrightclick.cpp:396 +msgid "Autoplace Next Module" +msgstr "Autoplace Module suivant" + +#: pcbnew/onrightclick.cpp:399 +msgid "Orient All Modules" +msgstr "Oriente Tous Modules" + +#: pcbnew/onrightclick.cpp:406 +msgid "Global Autoroute" +msgstr "Autoroutage global" + +#: pcbnew/onrightclick.cpp:408 +msgid "Select layer pair" +msgstr "Selection couple de couches" + +#: pcbnew/onrightclick.cpp:410 +msgid "Autoroute All Modules" +msgstr "Autoroute Tous Modules" + +#: pcbnew/onrightclick.cpp:412 +msgid "Reset Unrouted" +msgstr "Réinit Non routés" + +#: pcbnew/onrightclick.cpp:417 +msgid "Global AutoRouter" +msgstr "Autorouteur Global" + +#: pcbnew/onrightclick.cpp:419 +msgid "Read Global AutoRouter Data" +msgstr "Lire Données de L'autorouteur global" + +#: pcbnew/onrightclick.cpp:456 +msgid "Flip Block (alt + drag mouse)" +msgstr "Inversion Bloc (alt + drag mouse)" + +#: pcbnew/onrightclick.cpp:479 +msgid "Drag Via" +msgstr "Drag Via" + +#: pcbnew/onrightclick.cpp:483 +msgid "Edit Via Drill" +msgstr "Editer Perçage Via" + +#: pcbnew/onrightclick.cpp:485 +msgid "Set via hole to Default" +msgstr "Ajuste perçage via à défaut" + +#: pcbnew/onrightclick.cpp:486 +msgid "Set via hole to a specific value. This specfic value is currently" +msgstr "Ajuste diametre perçage via a une valeur sécifique. Cette valeur spécifique est actuellement" + +#: pcbnew/onrightclick.cpp:489 +msgid "Set via hole to alt value" +msgstr "Ajuste perçage via à valeur alternative" + +#: pcbnew/onrightclick.cpp:491 +msgid "Set a specific via hole value. This value is currently" +msgstr "Ajuste une valeur spécifique de perçage de la via. Cette valeur est actuellement" + +#: pcbnew/onrightclick.cpp:494 +msgid "Set the via hole alt value" +msgstr "Ajuste la valeur alt. perçage via" + +#: pcbnew/onrightclick.cpp:496 +msgid "Export Via hole to alt value" +msgstr "Exporte perçage via à valeur alt." + +#: pcbnew/onrightclick.cpp:498 +msgid "Export via hole to others id vias" +msgstr "Exporte perçage via aux autres semblables." + +#: pcbnew/onrightclick.cpp:500 +msgid "Set ALL via holes to default" +msgstr "Ajuste perçage TOUTES vias au défaut" + +#: pcbnew/onrightclick.cpp:513 +msgid "Move Node" +msgstr "Déplace Noeud" + +#: pcbnew/onrightclick.cpp:518 +msgid "Drag Segments, keep slope" +msgstr "Drag Segments, garder direction" + +#: pcbnew/onrightclick.cpp:520 +msgid "Drag Segment" +msgstr "Drag Segment" + +#: pcbnew/onrightclick.cpp:523 +msgid "Move Segment" +msgstr "Déplace Segment" + +#: pcbnew/onrightclick.cpp:526 +msgid "Break Track" +msgstr "Briser piste" + +#: pcbnew/onrightclick.cpp:533 +msgid "Place Node" +msgstr "Place noeud" + +#: pcbnew/onrightclick.cpp:540 +msgid "End Track" +msgstr "Terminer Piste" + +#: pcbnew/onrightclick.cpp:543 +msgid "Place Via" +msgstr "Place Via" + +#: pcbnew/onrightclick.cpp:550 +msgid "Place Micro Via" +msgstr "Place Micro Via" + +#: pcbnew/onrightclick.cpp:562 +msgid "Change Width" +msgstr "Change Largeur" + +#: pcbnew/onrightclick.cpp:564 +msgid "Change Via Size" +msgstr "Change Taille Via" + +#: pcbnew/onrightclick.cpp:564 +msgid "Change Segment Width" +msgstr "Change Largeur Segment" + +#: pcbnew/onrightclick.cpp:567 +msgid "Change Track Width" +msgstr "Change Largeur Piste" + +#: pcbnew/onrightclick.cpp:569 +msgid "Change Net" +msgstr "Change Net" + +#: pcbnew/onrightclick.cpp:571 +msgid "Change ALL Tracks and Vias" +msgstr "Changer TOUTES Pistes et Vias" + +#: pcbnew/onrightclick.cpp:573 +msgid "Change ALL Vias (no track)" +msgstr "Changer TOUTES Vias (pas les pistes)" + +#: pcbnew/onrightclick.cpp:575 +msgid "Change ALL Tracks (no via)" +msgstr "Changer TOUTES Pistes (pas les vias)" + +#: pcbnew/onrightclick.cpp:583 +msgid "Delete Via" +msgstr "Suppression Via" + +#: pcbnew/onrightclick.cpp:583 +msgid "Delete Segment" +msgstr "SupprimerSegment" + +#: pcbnew/onrightclick.cpp:590 +msgid "Delete Track" +msgstr "Effacer Piste" + +#: pcbnew/onrightclick.cpp:594 +msgid "Delete Net" +msgstr "Supprimer Net" + +#: pcbnew/onrightclick.cpp:599 +msgid "Set Flags" +msgstr "Ajust. Flags" + +#: pcbnew/onrightclick.cpp:600 +msgid "Locked: Yes" +msgstr "Verrou: Oui" + +#: pcbnew/onrightclick.cpp:601 +msgid "Locked: No" +msgstr "Verrou: Non" + +#: pcbnew/onrightclick.cpp:611 +msgid "Track Locked: Yes" +msgstr "Piste verrouillée: Oui" + +#: pcbnew/onrightclick.cpp:612 +msgid "Track Locked: No" +msgstr "Piste verrouillée: Non" + +#: pcbnew/onrightclick.cpp:614 +msgid "Net Locked: Yes" +msgstr "Net verrouillé: Oui" + +#: pcbnew/onrightclick.cpp:615 +msgid "Net Locked: No" +msgstr "Net verrouillé: Non" + +#: pcbnew/onrightclick.cpp:630 +msgid "Place Edge Outline" +msgstr "Place Segment de Contour" + +#: pcbnew/onrightclick.cpp:636 +msgid "Place Corner" +msgstr "Place Sommet" + +#: pcbnew/onrightclick.cpp:639 +msgid "Place Zone" +msgstr "Place Zone" + +#: pcbnew/onrightclick.cpp:651 +msgid "Move Corner" +msgstr "Déplace Sommet" + +#: pcbnew/onrightclick.cpp:653 +msgid "Delete Corner" +msgstr "Supprimer Sommet" + +#: pcbnew/onrightclick.cpp:658 +msgid "Create Corner" +msgstr "Créer Sommet" + +#: pcbnew/onrightclick.cpp:660 +msgid "Drag Outline Segment" +msgstr "Drag Segment Contour" + +#: pcbnew/onrightclick.cpp:665 +msgid "Add Similar Zone" +msgstr "Addition d'une Zone Semblable" + +#: pcbnew/onrightclick.cpp:668 +msgid "Add Cutout Area" +msgstr "Addition d'une Zone Interdite" + +#: pcbnew/onrightclick.cpp:672 +msgid "Fill Zone" +msgstr "Remplir Zone" + +#: pcbnew/onrightclick.cpp:675 +msgid "Move Zone" +msgstr "Déplace Zone" + +#: pcbnew/onrightclick.cpp:678 +msgid "Edit Zone Params" +msgstr "Editer Paramètres de la Zone" + +#: pcbnew/onrightclick.cpp:683 +msgid "Delete Cutout" +msgstr "Supprimer Zone Interdite" + +#: pcbnew/onrightclick.cpp:686 +msgid "Delete Zone Outline" +msgstr "Supprimer Contour de Zone" + +#: pcbnew/onrightclick.cpp:708 +#: pcbnew/onrightclick.cpp:753 +#: pcbnew/onrightclick.cpp:791 +#: pcbnew/onrightclick.cpp:857 +msgid "Move" +msgstr "Move" + +#: pcbnew/onrightclick.cpp:711 +#: pcbnew/onrightclick.cpp:793 +msgid "Drag" +msgstr "Drag" + +#: pcbnew/onrightclick.cpp:715 +msgid "Rotate +" +msgstr "Rotation +" + +#: pcbnew/onrightclick.cpp:719 +#: eeschema/onrightclick.cpp:288 +msgid "Rotate -" +msgstr "Rotation -" + +#: pcbnew/onrightclick.cpp:720 +msgid "Flip" +msgstr "Change côté" + +#: pcbnew/onrightclick.cpp:800 +msgid "Copy current pad settings to this pad" +msgstr "Copier les réglages courants pour ce pad" + +#: pcbnew/onrightclick.cpp:804 +msgid "Copy this pad settings to current pad settings" +msgstr "Copier les caractéristiques de ce pad vers les caractéristiques courantes" + +#: pcbnew/onrightclick.cpp:812 +msgid "Copy this pad settings to all pads in this footprint (or similar footprints)" +msgstr "Copier les caractéristiques de ce pad vers tous les autres pads de ce module( ou modules similaires)" + +#: pcbnew/onrightclick.cpp:824 +msgid "Autoroute Pad" +msgstr "Autoroute Pad" + +#: pcbnew/onrightclick.cpp:825 +msgid "Autoroute Net" +msgstr "Autoroute Net" + #: pcbnew/specctra_export.cpp:64 msgid "Specctra DSN file:" msgstr "Fichier Specctra DSN" @@ -4528,10 +4985,12 @@ msgid "90" msgstr "90" #: pcbnew/dialog_pad_edit.cpp:188 +#: eeschema/dialog_edit_component_in_schematic.cpp:175 msgid "-90" msgstr "-90" #: pcbnew/dialog_pad_edit.cpp:189 +#: eeschema/dialog_edit_component_in_schematic.cpp:174 msgid "180" msgstr "180" @@ -4552,6 +5011,7 @@ msgid "SMD" msgstr "CMS" #: pcbnew/dialog_pad_edit.cpp:207 +#: eeschema/netlist.cpp:209 msgid "Conn" msgstr "Conn" @@ -4700,6 +5160,8 @@ msgstr "Choisir l'origine des coordonnées: absolue ou relative à l'axe auxilia #: pcbnew/dialog_gendrill.cpp:205 #: pcbnew/dialog_gendrill.cpp:215 +#: eeschema/libedit.cpp:41 +#: eeschema/viewlibs.cpp:120 msgid "None" msgstr "Aucun" @@ -4740,6 +5202,7 @@ msgid "Speed (cm/s)" msgstr "Vitesse plume ( cm/s )" #: pcbnew/dialog_gendrill.cpp:233 +#: eeschema/plothpgl.cpp:256 msgid "Pen Number" msgstr "Numéro de plume" @@ -4796,6 +5259,9 @@ msgid "Board modified, Save before exit ?" msgstr "Circuit Imprimé modifiée, Sauver avant de quitter ?" #: pcbnew/pcbframe.cpp:281 +#: eeschema/schframe.cpp:311 +#: cvpcb/cvframe.cpp:178 +#: common/confirm.cpp:119 msgid "Confirmation" msgstr "Confirmation" @@ -4816,10 +5282,12 @@ msgid "Display Polar Coords" msgstr "Affichage coord Polaires" #: pcbnew/pcbframe.cpp:402 +#: eeschema/schframe.cpp:411 msgid "Grid not show" msgstr "Grille non montrée" #: pcbnew/pcbframe.cpp:402 +#: eeschema/schframe.cpp:411 msgid "Show Grid" msgstr "Afficher grille" @@ -4872,6 +5340,7 @@ msgid "Normal Contrast Mode Display" msgstr "Mode d'affichage Contraste normal" #: eeschema/affiche.cpp:22 +#: eeschema/dialog_create_component.cpp:160 msgid "Name" msgstr "Nom" @@ -4880,6 +5349,7 @@ msgid "FileName" msgstr "Nom Fichier" #: eeschema/affiche.cpp:37 +#: eeschema/component_class.cpp:72 msgid "Ref" msgstr "Ref" @@ -4904,6 +5374,7 @@ msgid "PinName" msgstr "Nom Pin" #: eeschema/affiche.cpp:79 +#: eeschema/eelayer.h:140 msgid "PinNum" msgstr "Num Pin" @@ -4926,31 +5397,44 @@ msgid "Lengh" msgstr "Long." #: eeschema/affiche.cpp:101 +#: eeschema/dialog_edit_label.cpp:150 +#: eeschema/pinedit-dialog.cpp:225 msgid "Up" msgstr "Haut" #: eeschema/affiche.cpp:104 +#: eeschema/dialog_edit_label.cpp:152 +#: eeschema/pinedit-dialog.cpp:226 msgid "Down" msgstr "Bas" #: eeschema/affiche.cpp:107 +#: eeschema/dialog_edit_label.cpp:151 +#: eeschema/pinedit-dialog.cpp:224 msgid "Left" msgstr "Gauche" #: eeschema/affiche.cpp:110 +#: eeschema/dialog_edit_label.cpp:149 +#: eeschema/pinedit-dialog.cpp:223 msgid "Right" msgstr "Droite" #: eeschema/affiche.cpp:168 #: eeschema/affiche.cpp:174 +#: share/dialog_print.cpp:198 +#: share/svg_print.cpp:239 msgid "All" msgstr "Tout" #: eeschema/affiche.cpp:171 +#: eeschema/onrightclick.cpp:328 msgid "Unit" msgstr "Unité" #: eeschema/affiche.cpp:181 +#: eeschema/dialog_edit_component_in_schematic.cpp:191 +#: eeschema/onrightclick.cpp:315 msgid "Convert" msgstr "Convert" @@ -5142,6 +5626,14 @@ msgstr "" "#End List\n" #: eeschema/build_BOM.cpp:691 +#: eeschema/component_class.cpp:76 +#: eeschema/component_class.cpp:77 +#: eeschema/component_class.cpp:78 +#: eeschema/component_class.cpp:79 +#: eeschema/component_class.cpp:80 +#: eeschema/component_class.cpp:81 +#: eeschema/component_class.cpp:82 +#: eeschema/component_class.cpp:83 msgid "Field" msgstr "Champ" @@ -5217,6 +5709,8 @@ msgid "%8.8lX/" msgstr "%8.8lX/" #: eeschema/component_class.cpp:75 +#: eeschema/eeredraw.cpp:130 +#: eeschema/eelayer.h:171 msgid "Sheet" msgstr "Feuille" @@ -5263,6 +5757,7 @@ msgid "Hierachy Pins by Sheets" msgstr "Pins de hiérarchie par feuilles" #: eeschema/dialog_build_BOM.cpp:269 +#: eeschema/netlist.cpp:161 msgid "List" msgstr "Liste" @@ -5335,6 +5830,7 @@ msgid "Create &List" msgstr "Créer &Liste" #: eeschema/dialog_build_BOM.cpp:352 +#: cvpcb/dialog_display_options.cpp:196 msgid "&Apply" msgstr "&Appliquer" @@ -5343,10 +5839,14 @@ msgid "Options :" msgstr "Options :" #: eeschema/dialog_cmp_graphic_properties.cpp:156 +#: eeschema/symbtext.cpp:162 +#: eeschema/pinedit-dialog.cpp:193 msgid "Common to Units" msgstr "Commun aux Unités" #: eeschema/dialog_cmp_graphic_properties.cpp:160 +#: eeschema/symbtext.cpp:166 +#: eeschema/pinedit-dialog.cpp:197 msgid "Common to convert" msgstr "Commun a converti" @@ -5363,14 +5863,18 @@ msgid "Fill:" msgstr "Remplissage:" #: eeschema/dialog_create_component.cpp:183 +#: eeschema/edit_component_in_lib.cpp:401 msgid "As Convert" msgstr "A une forme \"convertie\"" #: eeschema/dialog_create_component.cpp:187 +#: eeschema/dialog_edit_component_in_lib.cpp:161 msgid "Power Symbol" msgstr "Symbole Alimentation" #: eeschema/dialog_create_component.cpp:191 +#: eeschema/dialog_edit_component_in_lib.cpp:165 +#: eeschema/dialog_edit_component_in_schematic.cpp:188 msgid "Parts are locked" msgstr "Les parts sont verrouillées" @@ -5491,14 +5995,17 @@ msgid "Show Pin Number" msgstr "Montrer Numéro de Pin" #: eeschema/dialog_create_component.cpp:254 +#: eeschema/edit_component_in_lib.cpp:418 msgid "Show Pin Name" msgstr "Montre Nom de Pin" #: eeschema/dialog_create_component.cpp:258 +#: eeschema/edit_component_in_lib.cpp:429 msgid "Pin Name Inside" msgstr "Nom de pin a l'intérieur" #: eeschema/dialog_create_component.cpp:262 +#: eeschema/dialog_edit_component_in_lib.cpp:155 msgid "Skew:" msgstr "Décalage:" @@ -5661,6 +6168,7 @@ msgid "Orient:" msgstr "Orient:" #: eeschema/dialog_edit_component_in_schematic.cpp:182 +#: eeschema/onrightclick.cpp:289 msgid "Mirror --" msgstr "Miroir--" @@ -5683,11 +6191,13 @@ msgstr "Texte visible" #: eeschema/dialog_edit_component_in_schematic.cpp:216 #: eeschema/edit_component_in_lib.cpp:502 +#: eeschema/symbtext.cpp:170 msgid "Vertical" msgstr "Vertical" #: eeschema/dialog_edit_component_in_schematic.cpp:226 #: eeschema/edit_component_in_lib.cpp:484 +#: eeschema/eelayer.h:164 msgid "Fields" msgstr "Champs" @@ -5720,14 +6230,19 @@ msgid "Text Orient:" msgstr "Orient:" #: eeschema/dialog_edit_label.cpp:160 +#: eeschema/pinedit-dialog.cpp:264 +#: eeschema/component_wizard/ki_component_setup.cpp:219 msgid "Input" msgstr "Entrée" #: eeschema/dialog_edit_label.cpp:161 +#: eeschema/pinedit-dialog.cpp:265 +#: eeschema/component_wizard/ki_component_setup.cpp:220 msgid "Output" msgstr "Sortie" #: eeschema/dialog_edit_label.cpp:162 +#: eeschema/pinedit-dialog.cpp:266 msgid "Bidi" msgstr "Bidi" @@ -5736,6 +6251,8 @@ msgid "TriState" msgstr "3 états" #: eeschema/dialog_edit_label.cpp:164 +#: eeschema/pinedit-dialog.cpp:268 +#: eeschema/component_wizard/ki_component_setup.cpp:223 msgid "Passive" msgstr "Passive" @@ -5958,6 +6475,7 @@ msgid "Delta Label:" msgstr "Incrément Label:" #: eeschema/dialog_options.cpp:326 +#: eeschema/plotps.cpp:291 msgid "Default Line Width" msgstr "Epaiss. ligne par défaut" @@ -5966,6 +6484,7 @@ msgid "Default Label Size" msgstr "Taille Label par défaut:" #: eeschema/edit_component_in_lib.cpp:168 +#: eeschema/dialog_edit_component_in_lib.h:56 msgid "Lib Component Properties" msgstr "Propriétés du composant librairie" @@ -6000,6 +6519,7 @@ msgstr "Justifié à gauche" #: eeschema/edit_component_in_lib.cpp:476 #: eeschema/edit_component_in_lib.cpp:478 +#: share/zoom.cpp:360 msgid "Center" msgstr "Centrer" @@ -6085,6 +6605,7 @@ msgid "Delete Convert items" msgstr "Suppression des éléments convertis" #: eeschema/edit_component_in_lib.cpp:1144 +#: common/eda_doc.cpp:134 msgid "Doc Files" msgstr "Fichiers de Doc" @@ -6134,6 +6655,9 @@ msgid "Empty Text!" msgstr "Texte vide" #: eeschema/eeconfig.cpp:73 +#: kicad/files-io.cpp:131 +#: gerbview/dcode.cpp:266 +#: gerbview/readgerb.cpp:145 msgid "File " msgstr "Fichier " @@ -6146,6 +6670,7 @@ msgid "White" msgstr "Blanc" #: eeschema/eelayer.cpp:234 +#: share/dialog_print.cpp:184 msgid "Black" msgstr "Noir" @@ -6215,10 +6740,12 @@ msgid "Warning More than 1 Pin connected to UnConnect symbol" msgstr "Warning: plus que 1 Pin connectée a un symbole de non connexion" #: eeschema/erc.cpp:595 +#: common/confirm.cpp:84 msgid "Warning" msgstr "Avertissement" #: eeschema/erc.cpp:598 +#: common/confirm.cpp:88 msgid "Error" msgstr "Erreur" @@ -6267,6 +6794,7 @@ msgid "Clear Schematic Hierarchy (modified!)?" msgstr "Effacer la hiérarchie schématique (modifiée!)?" #: eeschema/files-io.cpp:82 +#: eeschema/save_schemas.cpp:61 msgid "Schematic files:" msgstr "Fichiers schématiques:" @@ -6318,6 +6846,7 @@ msgid " Not Found" msgstr " Non trouvé" #: eeschema/find.cpp:653 +#: eeschema/selpart.cpp:39 msgid "No libraries are loaded" msgstr "Pas de librairies chargées" @@ -6371,10 +6900,12 @@ msgid "Root" msgstr "Racine" #: eeschema/hotkeys.cpp:249 +#: eeschema/schedit.cpp:241 msgid "Add Component" msgstr "Ajout Composant" #: eeschema/hotkeys.cpp:271 +#: eeschema/schedit.cpp:189 msgid "Add Wire" msgstr "Ajouter Fils" @@ -6532,6 +7063,7 @@ msgid "Move Text " msgstr "Déplacer Texte" #: eeschema/libedit_onrightclick.cpp:126 +#: eeschema/dialog_edit_label.h:44 msgid "Text Editor" msgstr "Editeur de Texte" @@ -6746,6 +7278,7 @@ msgid "Done Loading " msgstr "Chargement terminé" #: eeschema/menubar.cpp:41 +#: gerbview/tool_gerber.cpp:63 msgid "&New" msgstr "&Nouveau" @@ -6754,6 +7287,7 @@ msgid "New schematic" msgstr "Nouvelle schématique" #: eeschema/menubar.cpp:47 +#: cvpcb/tool_cvpcb.cpp:109 msgid "&Open" msgstr "&Ouvrir " @@ -6766,6 +7300,7 @@ msgid "&Save" msgstr "&Sauver" #: eeschema/menubar.cpp:55 +#: eeschema/tool_sch.cpp:45 msgid "Save schematic project" msgstr "Sauver le Projet schématique" @@ -6834,6 +7369,7 @@ msgid "&Redo\t" msgstr "&Redo\t" #: eeschema/menubar.cpp:154 +#: pcbnew/find.h:38 msgid "Find" msgstr "Chercher" @@ -6847,11 +7383,13 @@ msgstr "Rétroannotation des Champs Modules" #: eeschema/menubar.cpp:169 #: eeschema/menubar.cpp:172 +#: share/zoom.cpp:361 msgid "Zoom in" msgstr "Zoom +" #: eeschema/menubar.cpp:177 #: eeschema/menubar.cpp:180 +#: share/zoom.cpp:362 msgid "Zoom out" msgstr "Zoom -" @@ -6865,6 +7403,7 @@ msgid "&Component" msgstr "&Composant" #: eeschema/menubar.cpp:206 +#: eeschema/tool_sch.cpp:156 msgid "Place the component" msgstr "Placer le Composant" @@ -6873,6 +7412,7 @@ msgid "&Power port" msgstr "Power Symbole" #: eeschema/menubar.cpp:212 +#: eeschema/tool_sch.cpp:160 msgid "Place the power port" msgstr "Placer le Symbole Power" @@ -6881,6 +7421,7 @@ msgid "&Wire" msgstr "&Fil" #: eeschema/menubar.cpp:218 +#: eeschema/tool_sch.cpp:165 msgid "Place the wire" msgstr "Place fil" @@ -6889,6 +7430,7 @@ msgid "&Bus" msgstr "&Bus" #: eeschema/menubar.cpp:227 +#: eeschema/tool_sch.cpp:169 msgid "Place the bus" msgstr "Placer le Bus" @@ -6897,6 +7439,7 @@ msgid "W&ire to bus entry" msgstr "Entrées de bus (type fil vers bus)" #: eeschema/menubar.cpp:237 +#: eeschema/tool_sch.cpp:173 msgid "Place the wire to bus entry" msgstr "Placer des entrées de bus (type fil vers bus)" @@ -6905,6 +7448,7 @@ msgid "B&us to bus entry" msgstr "Entrées de bus (type bus vers bus)" #: eeschema/menubar.cpp:247 +#: eeschema/tool_sch.cpp:177 msgid "Place the bus to bus entry" msgstr "Placer des entrées de bus (type bus vers bus)" @@ -6913,6 +7457,7 @@ msgid "No connect flag" msgstr "Symbole de Non Connexion" #: eeschema/menubar.cpp:257 +#: eeschema/tool_sch.cpp:182 msgid "Place the no connect flag" msgstr "Placer le symbole de non connexion" @@ -6921,6 +7466,7 @@ msgid "Net name" msgstr "Net Name" #: eeschema/menubar.cpp:267 +#: eeschema/tool_sch.cpp:186 msgid "Place the net name" msgstr "Placer le nom de net" @@ -6933,10 +7479,12 @@ msgid "Place the global label. Warning: all global labels with the same name are msgstr "Placerun label global. Attention: tous les labels globaux avec le même nom sont connectés dans toute la hierarchie" #: eeschema/menubar.cpp:284 +#: eeschema/eelayer.h:85 msgid "Junction" msgstr "Jonction" #: eeschema/menubar.cpp:285 +#: eeschema/tool_sch.cpp:195 msgid "Place the junction" msgstr "Placer la Jonction" @@ -6945,6 +7493,7 @@ msgid "Hierarchical label" msgstr "Label Hiérarchique" #: eeschema/menubar.cpp:297 +#: eeschema/tool_sch.cpp:200 msgid "Place the hierarchical label. This label will be seen as a pin sheet in the sheet symbol" msgstr "Placer le label hiérachique. Ce label sera vu comme une pin dans la feuille mère symbole" @@ -6953,6 +7502,7 @@ msgid "Hierarchical sheet" msgstr "Feuille Hiérrachique" #: eeschema/menubar.cpp:307 +#: eeschema/tool_sch.cpp:205 msgid "Place the hierarchical sheet" msgstr "Placer la Feuille Hiérachique" @@ -6961,6 +7511,7 @@ msgid "Imported hierarchical label" msgstr "Importer label hiérarchique" #: eeschema/menubar.cpp:317 +#: eeschema/tool_sch.cpp:209 msgid "Place the pin sheet (imported hierarchical label from sheet)" msgstr "Placer la pin hiérarchique ( Importer un label hiérarchique vers la feuille)" @@ -6985,6 +7536,7 @@ msgid "Graphic text (comment)" msgstr "Ttextes graphiques (commentaires)" #: eeschema/menubar.cpp:349 +#: eeschema/tool_sch.cpp:223 msgid "Place the graphic text (comment)" msgstr "Placer le textes graphique (commentaire)" @@ -6993,6 +7545,7 @@ msgid "Setting colors..." msgstr "Choisir les couleurs d'affichage..." #: eeschema/menubar.cpp:371 +#: gerbview/tool_gerber.cpp:110 msgid "&Options" msgstr "&Options" @@ -7055,6 +7608,7 @@ msgstr "Mauvais label de Bus: " #: eeschema/netlist_control.cpp:124 #: eeschema/netlist_control.cpp:240 +#: gerbview/options.cpp:201 msgid "Default format" msgstr "Format par défaut" @@ -7108,6 +7662,7 @@ msgid "Netlist command:" msgstr "Commande netliste:" #: eeschema/netlist_control.cpp:320 +#: share/setpage.cpp:354 msgid "Title:" msgstr "Titre:" @@ -7427,30 +7982,37 @@ msgid "Copy to Clipboard" msgstr "Copie dans Presse papier" #: eeschema/pinedit.cpp:22 +#: eeschema/pinedit-dialog.cpp:251 msgid "line" msgstr "Ligne" #: eeschema/pinedit.cpp:22 +#: eeschema/pinedit-dialog.cpp:252 msgid "invert" msgstr "invert" #: eeschema/pinedit.cpp:22 +#: eeschema/pinedit-dialog.cpp:253 msgid "clock" msgstr "clock" #: eeschema/pinedit.cpp:22 +#: eeschema/pinedit-dialog.cpp:254 msgid "clock inv" msgstr "clock inv" #: eeschema/pinedit.cpp:23 +#: eeschema/pinedit-dialog.cpp:255 msgid "low in" msgstr "low in" #: eeschema/pinedit.cpp:23 +#: eeschema/pinedit-dialog.cpp:256 msgid "low clock" msgstr "low clock" #: eeschema/pinedit.cpp:23 +#: eeschema/pinedit-dialog.cpp:257 msgid "low out" msgstr "low out" @@ -7477,14 +8039,17 @@ msgid " Normal" msgstr " Normal" #: eeschema/plotps.cpp:196 +#: eeschema/plothpgl.cpp:223 msgid "Page Size A4" msgstr "Feuille A4" #: eeschema/plotps.cpp:197 +#: eeschema/plothpgl.cpp:228 msgid "Page Size A" msgstr "Feuille A" #: eeschema/plotps.cpp:199 +#: eeschema/plothpgl.cpp:233 msgid "Plot page size:" msgstr "Format de la feuille:" @@ -7497,6 +8062,8 @@ msgid "B/W" msgstr "N/B" #: eeschema/plotps.cpp:219 +#: share/dialog_print.cpp:183 +#: share/svg_print.cpp:213 msgid "Color" msgstr "Couleur" @@ -7505,14 +8072,18 @@ msgid "Plot Color:" msgstr "Tracé et Couleurs:" #: eeschema/plotps.cpp:229 +#: share/dialog_print.cpp:174 +#: share/svg_print.cpp:225 msgid "Print Sheet Ref" msgstr "Imprimer cartouche" #: eeschema/plotps.cpp:242 +#: eeschema/plothpgl.cpp:283 msgid "&Plot CURRENT" msgstr "&Imprimer courant" #: eeschema/plotps.cpp:249 +#: eeschema/plothpgl.cpp:287 msgid "Plot A&LL" msgstr "&Tout tracer" @@ -7583,6 +8154,7 @@ msgid "Select component (%d items)" msgstr "Selection composant (%d items)" #: eeschema/sheet.cpp:162 +#: share/svg_print.cpp:265 msgid "Filename:" msgstr "Nom Fichier:" @@ -7857,18 +8429,26 @@ msgid "Display next part" msgstr "Afficher composant suivant" #: eeschema/tool_viewlib.cpp:67 +#: cvpcb/displayframe.cpp:123 +#: 3d-viewer/3d_toolbar.cpp:43 msgid "zoom + (F1)" msgstr "zoom + (F1)" #: eeschema/tool_viewlib.cpp:71 +#: cvpcb/displayframe.cpp:126 +#: 3d-viewer/3d_toolbar.cpp:46 msgid "zoom - (F2)" msgstr "zoom - (F2)" #: eeschema/tool_viewlib.cpp:75 +#: cvpcb/displayframe.cpp:129 +#: 3d-viewer/3d_toolbar.cpp:49 msgid "redraw (F3)" msgstr "Redessin (F3)" #: eeschema/tool_viewlib.cpp:79 +#: cvpcb/displayframe.cpp:132 +#: cvpcb/displayframe.cpp:136 msgid "1:1 zoom" msgstr "1:1 zoom" @@ -8016,6 +8596,7 @@ msgid "3 States" msgstr "3 Etats" #: eeschema/pinedit-dialog.cpp:269 +#: eeschema/component_wizard/ki_component_setup.cpp:224 msgid "Unspecified" msgstr "Non specifié" @@ -8169,10 +8750,13 @@ msgid "Cvpcb is already running, Continue?" msgstr "Cvpcb est est cours d'exécution. Continuer ?" #: cvpcb/displayframe.cpp:118 +#: pcbnew/dialog_display_options.h:54 +#: cvpcb/dialog_display_options.h:51 msgid "Display Options" msgstr "Options d'Affichage" #: cvpcb/genorcad.cpp:134 +#: cvpcb/writenetlistpcbnew.cpp:168 #, c-format msgid "%s %s pin %s : Different Nets" msgstr "%s %s pin %s : Nets Differents" @@ -8183,6 +8767,7 @@ msgid "Components: %d (free: %d)" msgstr "Composants: %d (libres: %d)" #: cvpcb/init.cpp:112 +#: cvpcb/cvframe.cpp:340 #, c-format msgid "Componants: %d (free: %d)" msgstr "Composants: %d (libres: %d)" @@ -8424,6 +9009,7 @@ msgid "Delete selections" msgstr "Effacement des associations existantes" #: cvpcb/cvframe.cpp:424 +#: share/drawframe.cpp:134 msgid "font for dialog boxes" msgstr "fonte pour boites de dialogue" @@ -8432,14 +9018,17 @@ msgid "font for Lists" msgstr "fonte pour listes" #: cvpcb/cvframe.cpp:428 +#: share/drawframe.cpp:138 msgid "font for Status Line" msgstr "fonte pour Ligne d'état" #: cvpcb/cvframe.cpp:431 +#: share/drawframe.cpp:141 msgid "&Font selection" msgstr "Sélection Fonte" #: cvpcb/cvframe.cpp:433 +#: share/drawframe.cpp:142 msgid "Choose font type and size for dialogs, infos and status box" msgstr "Choisir les fontes et leur taille pour les dialogues, infos et ligne d'état" @@ -8570,26 +9159,6 @@ msgstr "Archiver les fichiers du projet" msgid "Refresh project tree" msgstr "Mettre a jour l'affichage du projet" -#: kicad/commandframe.cpp:58 -msgid "eeschema (Schematic editor)" -msgstr "EeSchema (Editeur de Schématique)" - -#: kicad/commandframe.cpp:62 -msgid "cvpcb (Components to modules)" -msgstr "Cvpcb ( Association Composants/ Modules)" - -#: kicad/commandframe.cpp:66 -msgid "pcbnew (PCB editor)" -msgstr "Pcbnew (Editeur de circuits imprimés)" - -#: kicad/commandframe.cpp:70 -msgid "gerbview (Gerber viewer)" -msgstr "GerbView (Visualisateur Gerber)" - -#: kicad/commandframe.cpp:78 -msgid "Run Python Script" -msgstr "Exécuter le Script Python" - #: kicad/files-io.cpp:70 msgid "Create Project files:" msgstr "Créer fichiers Projets:" @@ -8663,6 +9232,7 @@ msgid "You must choose a PDF viewer before use this option" msgstr "Vous devez choisir un Visualisateur PDF avant d'utiliser cette option" #: kicad/preferences.cpp:97 +#: common/gestfich.cpp:685 msgid "Prefered Editor:" msgstr "Editeur préféré:" @@ -8849,7 +9419,29 @@ msgstr "Executer le Script Python:" msgid "Load file:" msgstr "Charger Fichiers:" +#: kicad/commandframe.cpp:58 +msgid "EESchema (Schematic editor)" +msgstr "EESchema (Editeur de Schématique)" + +#: kicad/commandframe.cpp:62 +msgid "CVpcb (Components to modules)" +msgstr "CVpcb ( Association Composants/ Modules)" + +#: kicad/commandframe.cpp:66 +msgid "PCBnew (PCB editor)" +msgstr "PCBnew (Editeur de circuits imprimés)" + +#: kicad/commandframe.cpp:70 +#, fuzzy +msgid "GerbView (Gerber viewer)" +msgstr "GerbView (Visualisateur Gerber)" + +#: kicad/commandframe.cpp:78 +msgid "Run Python Script" +msgstr "Exécuter le Script Python" + #: gerbview/affiche.cpp:34 +#: gerbview/tool_gerber.cpp:310 msgid "Layer " msgstr "Couche " @@ -8903,6 +9495,7 @@ msgid "Gerber files:" msgstr "Fichiers Gerber:" #: gerbview/files.cpp:187 +#: gerbview/readgerb.cpp:273 msgid "D codes files:" msgstr "Fichiers D-Codes:" @@ -8911,6 +9504,7 @@ msgid "GerbView is already running. Continue?" msgstr "Gerbview est est cours d'exécution. Continuer ?" #: gerbview/gerbview_config.cpp:131 +#: gerbview/process_config.cpp:117 msgid "Save config file" msgstr "Sauver config" @@ -9994,6 +10588,7 @@ msgid "dialog_freeroute_exchange" msgstr "dialog_freeroute_exchange" #: pcbnew/dialog_general_options.h:60 +#: eeschema/dialog_options.h:55 msgid "General Options" msgstr "Options Générales" @@ -10010,6 +10605,7 @@ msgid "Footprints Orientation" msgstr "Orientation des Modules" #: pcbnew/dialog_setup_libs.h:43 +#: eeschema/dialog_eeschema_config.h:50 msgid "Dialog" msgstr "Dialog" @@ -10428,66 +11024,3 @@ msgstr "Ajustage opt Page" msgid "Create SVG file" msgstr "Créer Fichier SVG" -#~ msgid "Build Version:" -#~ msgstr "Build Version:" -#~ msgid "Author:" -#~ msgstr "Autheur:" -#~ msgid "Based on wxWidgets " -#~ msgstr "Based on wxWidgets " -#~ msgid "" -#~ "\n" -#~ "\n" -#~ "GPL License" -#~ msgstr "" -#~ "\n" -#~ "\n" -#~ "GPL Licence" -#~ msgid "" -#~ "\n" -#~ "\n" -#~ "Author's sites:\n" -#~ msgstr "" -#~ "\n" -#~ "\n" -#~ "Sites Web de l'auteur:\n" -#~ msgid "" -#~ "\n" -#~ "\n" -#~ "International wiki:\n" -#~ msgstr "" -#~ "\n" -#~ "\n" -#~ "International wiki:\n" -#~ msgid "WinEDA_DrillFrame" -#~ msgstr "WinEDA_DrillFrame" -#~ msgid "Spot min" -#~ msgstr "Spot min" -#~ msgid "Pen speed (cm/s)" -#~ msgstr "Vitesse plume (cm/s)" -#~ msgid "Set width for lines in line plot mode" -#~ msgstr "Ajuster l'épaisseur des traits en Mode tracé filaire" -#~ msgid "Hole" -#~ msgstr "Hole" -#~ msgid "Mechanical" -#~ msgstr "Mechanical" -#~ msgid "&PcbNew" -#~ msgstr "&PcbNew" -#~ msgid "&ViewLogic" -#~ msgstr "&ViewLogic" -#~ msgid "View &Net + Pkg" -#~ msgstr "View &Net + Pkg" -#~ msgid "Pkg Ext:" -#~ msgstr "Pkg Ext:" -#~ msgid "Netlist file " -#~ msgstr "Fichiers Netlist " -#~ msgid "File not found " -#~ msgstr " fichier non trouvé" -#~ msgid "Format Netlist: ViewLogic net&pkg" -#~ msgstr "Format Netliste: ViewLogic net&pkg" -#~ msgid "Component [%s] not found in .pkg file" -#~ msgstr "Composant [%s] non trouvé en fichier .pkg" -#~ msgid "Unknown Netlist Format" -#~ msgstr " Format NetListe inconnu" -#~ msgid "Netlist Format: Pcad" -#~ msgstr " Format NetListe: Pcad" - diff --git a/pcbnew/class_text_mod.cpp b/pcbnew/class_text_mod.cpp index ea4a38f8ef..fb0029f327 100644 --- a/pcbnew/class_text_mod.cpp +++ b/pcbnew/class_text_mod.cpp @@ -494,7 +494,7 @@ void TEXTE_MODULE::Display_Infos( WinEDA_DrawFrame* frame ) Affiche_1_Parametre( frame, 1, _( "Module" ), Line, DARKCYAN ); Line = m_Text; - Affiche_1_Parametre( frame, 10, _( "Text" ), Line, YELLOW ); + Affiche_1_Parametre( frame, 10, _( "Text" ), Line, BROWN ); ii = m_Type; if( ii > 2 ) @@ -510,18 +510,16 @@ void TEXTE_MODULE::Display_Infos( WinEDA_DrawFrame* frame ) ii = m_Layer; if( ii < NB_LAYERS ) - Affiche_1_Parametre( frame, 28, _( "Layer" ), board->GetLayerName( ii ), DARKGREEN ); + msg = board->GetLayerName( ii ); else - { msg.Printf( wxT( "%d" ), ii ); - Affiche_1_Parametre( frame, 28, _( "Layer" ), msg, DARKGREEN ); - } + Affiche_1_Parametre( frame, 31, _( "Layer" ), msg, DARKGREEN ); msg = wxT( " Yes" ); if( m_Miroir & 1 ) msg = wxT( " No" ); - Affiche_1_Parametre( frame, 36, _( "Mirror" ), msg, DARKGREEN ); + Affiche_1_Parametre( frame, 37, _( "Mirror" ), msg, DARKGREEN ); msg.Printf( wxT( "%.1f" ), (float) m_Orient / 10 ); Affiche_1_Parametre( frame, 43, _( "Orient" ), msg, DARKGREEN ); diff --git a/pcbnew/onrightclick.cpp b/pcbnew/onrightclick.cpp index 3f86f5e40c..a789562681 100644 --- a/pcbnew/onrightclick.cpp +++ b/pcbnew/onrightclick.cpp @@ -237,8 +237,10 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_STOP_CURRENT_DRAWING, _( "End Drawing" ), apply_xpm ); } - aPopMenu->Append( ID_POPUP_PCB_EDIT_DRAWING, _( "Edit Drawing" ) ); - aPopMenu->Append( ID_POPUP_PCB_DELETE_DRAWING, _( "Delete Drawing" ) ); + ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_EDIT_DRAWING, + _( "Edit Drawing" ), edit_xpm ); + ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_DELETE_DRAWING, + _( "Delete Drawing" ), delete_xpm ); break; case TYPEZONE: // Item used to fill a zone