From f7d1c72a08dece757930eae2a553759c0579d59c Mon Sep 17 00:00:00 2001 From: charras Date: Wed, 31 Dec 2008 16:49:45 +0000 Subject: [PATCH] more in fields edition. Components in lib can have more than 8 user fields --- .../dialog_edit_component_in_schematic.cpp | 9 + .../dialog_edit_libentry_fields_in_lib.cpp | 4 +- eeschema/eelibs_read_libraryfiles.cpp | 17 +- eeschema/getpart.cpp | 99 ++- gerbview/rs274d.cpp | 2 - internat/fr/kicad.mo | Bin 170385 -> 170830 bytes internat/fr/kicad.po | 800 +++++++++--------- 7 files changed, 471 insertions(+), 460 deletions(-) diff --git a/eeschema/dialog_edit_component_in_schematic.cpp b/eeschema/dialog_edit_component_in_schematic.cpp index 829e614e20..589737b249 100644 --- a/eeschema/dialog_edit_component_in_schematic.cpp +++ b/eeschema/dialog_edit_component_in_schematic.cpp @@ -371,6 +371,12 @@ int DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::getSelectedFieldNdx() } + +static bool SortFieldsById(const SCH_CMP_FIELD& item1, const SCH_CMP_FIELD& item2) +{ + return item1.m_FieldId < item2.m_FieldId; +} + /*******************************************************************************/ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent ) /*******************************************************************************/ @@ -391,6 +397,9 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::InitBuffers( SCH_COMPONENT* aComponent // copy all the fields to a work area m_FieldsBuf = aComponent->m_Fields; + // Sort files by field id,if they are not entered by id + sort(m_FieldsBuf.begin(), m_FieldsBuf.end(), SortFieldsById); + #if 0 && defined(DEBUG) for( unsigned i = 0; im_Name.m_Text.CmpNoCase( LE2->m_Name.m_Text ); } @@ -953,9 +947,6 @@ static bool GetLibEntryField (EDA_LibComponentStruct* LibEntry, break; default: - if( NumOfField >= NUMBER_OF_FIELDS ) - break; - Field = new LibDrawField( NumOfField ); LibEntry->m_Fields.PushBack( Field ); break; diff --git a/eeschema/getpart.cpp b/eeschema/getpart.cpp index 630a15909a..cef2b1eeed 100644 --- a/eeschema/getpart.cpp +++ b/eeschema/getpart.cpp @@ -67,10 +67,9 @@ SCH_COMPONENT* WinEDA_SchematicFrame::Load_Component( wxDC* DC, */ { int ii, CmpCount = 0; - LibDrawField* Field; - EDA_LibComponentStruct* Entry = NULL; - SCH_COMPONENT* DrawLibItem = NULL; - LibraryStruct* Library = NULL; + EDA_LibComponentStruct* Entry = NULL; + SCH_COMPONENT* Component = NULL; + LibraryStruct* Library = NULL; wxString Name, keys, msg; bool AllowWildSeach = TRUE; @@ -176,17 +175,17 @@ SCH_COMPONENT* WinEDA_SchematicFrame::Load_Component( wxDC* DC, DrawPanel->ManageCurseur = ShowWhileMoving; DrawPanel->ForceCloseManageCurseur = ExitPlaceCmp; - DrawLibItem = new SCH_COMPONENT( GetScreen()->m_Curseur ); - DrawLibItem->m_Multi = 1; /* Selection de l'unite 1 dans le boitier */ - DrawLibItem->m_Convert = 1; - DrawLibItem->m_ChipName = Name; - DrawLibItem->m_TimeStamp = GetTimeStamp(); - DrawLibItem->m_Flags = IS_NEW | IS_MOVED; + Component = new SCH_COMPONENT( GetScreen()->m_Curseur ); + Component->m_Multi = 1; /* Selection de l'unite 1 dans le boitier */ + Component->m_Convert = 1; + Component->m_ChipName = Name; + Component->m_TimeStamp = GetTimeStamp(); + Component->m_Flags = IS_NEW | IS_MOVED; /* Init champ Valeur */ - DrawLibItem->GetField( VALUE )->m_Pos = Entry->m_Name.m_Pos + DrawLibItem->m_Pos; - DrawLibItem->GetField( VALUE )->ImportValues( Entry->m_Name ); - DrawLibItem->GetField( VALUE )->m_Text = DrawLibItem->m_ChipName; + Component->GetField( VALUE )->m_Pos = Entry->m_Name.m_Pos + Component->m_Pos; + Component->GetField( VALUE )->ImportValues( Entry->m_Name ); + Component->GetField( VALUE )->m_Text = Component->m_ChipName; msg = Entry->m_Prefix.m_Text; if( msg.IsEmpty() ) @@ -194,40 +193,48 @@ SCH_COMPONENT* WinEDA_SchematicFrame::Load_Component( wxDC* DC, msg += wxT( "?" ); // update the reference -- just the prefix for now. - DrawLibItem->SetRef( GetSheet(), msg ); + Component->SetRef( GetSheet(), msg ); /* Init champ Reference */ - DrawLibItem->GetField( REFERENCE )->m_Pos = Entry->m_Prefix.m_Pos + DrawLibItem->m_Pos; - DrawLibItem->GetField( REFERENCE )->ImportValues( Entry->m_Prefix ); - DrawLibItem->m_PrefixString = Entry->m_Prefix.m_Text; + Component->GetField( REFERENCE )->m_Pos = Entry->m_Prefix.m_Pos + Component->m_Pos; + Component->GetField( REFERENCE )->ImportValues( Entry->m_Prefix ); + Component->m_PrefixString = Entry->m_Prefix.m_Text; /* Init des autres champs si predefinis dans la librairie */ - for( Field = Entry->m_Fields; Field != NULL; Field = Field->Next() ) + LibDrawField* EntryField; + for( EntryField = Entry->m_Fields; EntryField != NULL; EntryField = EntryField->Next() ) { - if( Field->m_Text.IsEmpty() && Field->m_Name.IsEmpty() ) + if( EntryField->m_Text.IsEmpty() && EntryField->m_Name.IsEmpty() ) continue; - ii = Field->m_FieldId; + ii = EntryField->m_FieldId; if( ii < 2 ) // Reference or value, already done continue; - if( ii >= DrawLibItem->GetFieldCount() ) - continue; + if( ii >= Component->GetFieldCount() ) + { // This entry has more than the default count: add extra fields + while( ii >= Component->GetFieldCount() ) + { + int field_id = Component->GetFieldCount(); + SCH_CMP_FIELD field( wxPoint( 0, 0 ), field_id, Component, ReturnDefaultFieldName( ii ) ); + Component->AddField( field ); + } + } - SCH_CMP_FIELD* f = DrawLibItem->GetField( ii ); + SCH_CMP_FIELD* curr_field = Component->GetField( ii ); - f->m_Pos += Field->m_Pos; - f->ImportValues( *Field ); - f->m_Text = Field->m_Text; - f->m_Name = Field->m_Name; + curr_field->m_Pos = Component->m_Pos + EntryField->m_Pos; + curr_field->ImportValues( *EntryField ); + curr_field->m_Text = EntryField->m_Text; + curr_field->m_Name = ( ii < FIELD1 ) ? ReturnDefaultFieldName( ii ) : EntryField->m_Name; } - DrawStructsInGhost( DrawPanel, DC, DrawLibItem, 0, 0 ); + DrawStructsInGhost( DrawPanel, DC, Component, 0, 0 ); MsgPanel->EraseMsgBox(); - DrawLibItem->Display_Infos( this ); + Component->Display_Infos( this ); - return DrawLibItem; + return Component; } @@ -241,19 +248,19 @@ static void ShowWhileMoving( WinEDA_DrawPanel* panel, wxDC* DC, bool erase ) SCH_SCREEN* screen = (SCH_SCREEN*) panel->GetScreen(); - SCH_COMPONENT* DrawLibItem = (SCH_COMPONENT*) screen->GetCurItem(); + SCH_COMPONENT* Component = (SCH_COMPONENT*) screen->GetCurItem(); /* Effacement du composant */ if( erase ) { - DrawStructsInGhost( panel, DC, DrawLibItem, 0, 0 ); + DrawStructsInGhost( panel, DC, Component, 0, 0 ); } - move_vector.x = screen->m_Curseur.x - DrawLibItem->m_Pos.x; - move_vector.y = screen->m_Curseur.y - DrawLibItem->m_Pos.y; - MoveOneStruct( DrawLibItem, move_vector ); + move_vector.x = screen->m_Curseur.x - Component->m_Pos.x; + move_vector.y = screen->m_Curseur.y - Component->m_Pos.y; + MoveOneStruct( Component, move_vector ); - DrawStructsInGhost( panel, DC, DrawLibItem, 0, 0 ); + DrawStructsInGhost( panel, DC, Component, 0, 0 ); } @@ -309,25 +316,25 @@ static void ExitPlaceCmp( WinEDA_DrawPanel* Panel, wxDC* DC ) { SCH_SCREEN* screen = (SCH_SCREEN*) Panel->GetScreen(); - SCH_COMPONENT* DrawLibItem = (SCH_COMPONENT*) screen->GetCurItem(); + SCH_COMPONENT* Component = (SCH_COMPONENT*) screen->GetCurItem(); - if( DrawLibItem->m_Flags & IS_NEW ) /* Nouveau Placement en cours, on l'efface */ + if( Component->m_Flags & IS_NEW ) /* Nouveau Placement en cours, on l'efface */ { - DrawLibItem->m_Flags = 0; - SAFE_DELETE( DrawLibItem ); + Component->m_Flags = 0; + SAFE_DELETE( Component ); } - else if( DrawLibItem ) /* Deplacement ancien composant en cours */ + else if( Component ) /* Deplacement ancien composant en cours */ { wxPoint move_vector; - move_vector.x = OldPos.x - DrawLibItem->m_Pos.x; - move_vector.y = OldPos.y - DrawLibItem->m_Pos.y; + move_vector.x = OldPos.x - Component->m_Pos.x; + move_vector.y = OldPos.y - Component->m_Pos.y; - MoveOneStruct( DrawLibItem, move_vector ); + MoveOneStruct( Component, move_vector ); - memcpy( DrawLibItem->m_Transform, OldTransMat, sizeof(OldTransMat) ); + memcpy( Component->m_Transform, OldTransMat, sizeof(OldTransMat) ); - DrawLibItem->m_Flags = 0; + Component->m_Flags = 0; } Panel->Refresh( TRUE ); diff --git a/gerbview/rs274d.cpp b/gerbview/rs274d.cpp index 0d28d34431..1b3550e75f 100644 --- a/gerbview/rs274d.cpp +++ b/gerbview/rs274d.cpp @@ -72,8 +72,6 @@ #define GERB_STOP_DRAW 2 // extinction de lumiere ( lever de plume) #define GERB_FLASH 3 // Flash -#define NEGATE( nb ) (nb) = -(nb) - /* Variables locales : */ static wxPoint LastPosition; diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 1cc95f71141c431521148f015600aae4aba491d7..7c87695024e0b77a9bb67bb62f3a816b3fc25e7c 100644 GIT binary patch delta 55065 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 delta 54669 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 diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index 99f3df0df3..7219ef36f1 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-12-29 09:07+0100\n" -"PO-Revision-Date: 2008-12-29 16:04+0100\n" +"POT-Creation-Date: 2008-12-31 16:42+0100\n" +"PO-Revision-Date: 2008-12-31 16:46+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -774,7 +774,6 @@ msgid "Orient" msgstr "Orient" #: pcbnew/class_pcb_text.cpp:195 -#: pcbnew/class_edge_mod.cpp:271 msgid "Width" msgstr "Epaisseur" @@ -991,7 +990,6 @@ msgid "Reference" msgstr "Référence" #: pcbnew/class_board_item.cpp:106 -#: pcbnew/class_edge_mod.cpp:261 msgid "Value" msgstr "Valeur" @@ -1104,26 +1102,6 @@ msgstr "Epaisseur Contour" msgid "Incorrect number, no change" msgstr "Nombre incorrect, pas de changement" -#: pcbnew/class_edge_mod.cpp:258 -msgid "Seg" -msgstr "Seg" - -#: pcbnew/class_edge_mod.cpp:260 -msgid "Module" -msgstr "Module" - -#: pcbnew/class_edge_mod.cpp:264 -msgid "TimeStamp" -msgstr "TimeStamp" - -#: pcbnew/class_edge_mod.cpp:266 -msgid "Mod Layer" -msgstr "Couche Mod." - -#: pcbnew/class_edge_mod.cpp:268 -msgid "Seg Layer" -msgstr "Couche Seg." - #: pcbnew/modules.cpp:81 msgid "Search footprint" msgstr "Cherche Module" @@ -1643,6 +1621,10 @@ msgstr "Chemin Netliste " msgid "Stat" msgstr "Stat" +#: pcbnew/class_module.cpp:959 +msgid "Module" +msgstr "Module" + #: pcbnew/class_module.cpp:962 msgid "3D-Shape" msgstr "Forme 3D" @@ -1715,6 +1697,33 @@ msgstr "Déplacer Bloc" msgid "Copy Block" msgstr "Copie Bloc" +#: pcbnew/plot_rtn.cpp:210 +#, c-format +msgid "" +"Your BOARD has a bad layer number of %u for module\n" +" %s's \"reference\" text." +msgstr "" +"Votre PCB a un mauvais numero de couche %u pour le module\n" +" %s's \"reference\"." + +#: pcbnew/plot_rtn.cpp:230 +#, c-format +msgid "" +"Your BOARD has a bad layer number of %u for module\n" +" %s's \"value\" text." +msgstr "" +"Votre PCB a un mauvais numero de couche %u pour le module\n" +" %s's \"valeur\"." + +#: pcbnew/plot_rtn.cpp:276 +#, c-format +msgid "" +"Your BOARD has a bad layer number of %u for module\n" +" %s's \"module text\" text of %s." +msgstr "" +"Votre PCB a un mauvais numero de couche %u pour le module\n" +" %s's \"texte module\" de %s." + #: pcbnew/dialog_graphic_items_options.cpp:194 msgid "Graphics:" msgstr "Eléments graphiques;" @@ -3442,97 +3451,6 @@ msgstr "Epais. Piste" msgid "Mask clearance" msgstr "Retrait Masque" -#: pcbnew/muonde.cpp:134 -msgid "Gap" -msgstr "Gap" - -#: pcbnew/muonde.cpp:139 -msgid "Stub" -msgstr "Stub" - -#: pcbnew/muonde.cpp:145 -msgid "Arc Stub" -msgstr "Arc Stub" - -#: pcbnew/muonde.cpp:160 -msgid " (mm):" -msgstr " (mm):" - -#: pcbnew/muonde.cpp:166 -msgid " (inch):" -msgstr " (pouce):" - -#: pcbnew/muonde.cpp:168 -#: pcbnew/muonde.cpp:183 -msgid "Create microwave module" -msgstr "Créer Module MicroOnde" - -#: pcbnew/muonde.cpp:173 -#: pcbnew/muonde.cpp:186 -msgid "Incorrect number, abort" -msgstr "Nombre incorrect, arret" - -#: pcbnew/muonde.cpp:182 -msgid "Angle (0.1deg):" -msgstr "Angle (0.1deg):" - -#: pcbnew/muonde.cpp:314 -msgid "Complex shape" -msgstr "Formr complexe" - -#: pcbnew/muonde.cpp:340 -msgid "Read Shape Descr File..." -msgstr "Lire fichier de description de forme..." - -#: pcbnew/muonde.cpp:344 -msgid "Symmetrical" -msgstr "Symétrique" - -#: pcbnew/muonde.cpp:344 -msgid "Mirrored" -msgstr "Miroir" - -#: pcbnew/muonde.cpp:346 -msgid "Shape Option" -msgstr "Option Forme" - -#: pcbnew/muonde.cpp:412 -msgid "Read descr shape file" -msgstr "Lire fichier de description de forme" - -#: pcbnew/muonde.cpp:428 -msgid "File not found" -msgstr "fichier non trouvé" - -#: pcbnew/muonde.cpp:532 -msgid "Shape has a null size!" -msgstr "La forme a une taille nulle" - -#: pcbnew/muonde.cpp:537 -msgid "Shape has no points!" -msgstr "La forme n'a pas de points" - -#: pcbnew/muonde.cpp:663 -msgid "No pad for this module" -msgstr "Pas de pad dans ce module" - -#: pcbnew/muonde.cpp:668 -msgid "Only one pad for this module" -msgstr "Seulement un pad dans ce module" - -#: pcbnew/muonde.cpp:682 -msgid "Gap (mm):" -msgstr "Gap (mm):" - -#: pcbnew/muonde.cpp:682 -#: pcbnew/muonde.cpp:688 -msgid "Create Microwave Gap" -msgstr "Créer Gap MicroOnde " - -#: pcbnew/muonde.cpp:688 -msgid "Gap (inch):" -msgstr "Gap (inch):" - #: pcbnew/sel_layer.cpp:92 msgid "Select Layer:" msgstr "Sélection couche:" @@ -3586,41 +3504,21 @@ msgstr "N'affiche pas les couches cuivre" msgid "Apply" msgstr "Appliquer" -#: pcbnew/class_zone.cpp:889 -msgid "NetName" -msgstr "NetName" +#: pcbnew/class_edge_mod.cpp:242 +msgid "Seg" +msgstr "Seg" -#: pcbnew/class_zone.cpp:892 -msgid "Non Copper Zone" -msgstr "Zone non Cuivre" +#: pcbnew/class_edge_mod.cpp:248 +msgid "TimeStamp" +msgstr "TimeStamp" -#: pcbnew/class_zone.cpp:897 -msgid "NetCode" -msgstr "NetCode" +#: pcbnew/class_edge_mod.cpp:250 +msgid "Mod Layer" +msgstr "Couche Mod." -#: pcbnew/class_zone.cpp:905 -msgid "Corners" -msgstr "Sommets" - -#: pcbnew/class_zone.cpp:909 -msgid "Segments" -msgstr "Segments" - -#: pcbnew/class_zone.cpp:911 -msgid "Polygons" -msgstr "Polygones" - -#: pcbnew/class_zone.cpp:912 -msgid "Fill mode" -msgstr "Mode de remplissage" - -#: pcbnew/class_zone.cpp:917 -msgid "Hatch lines" -msgstr "Lignes de Hachure" - -#: pcbnew/class_zone.cpp:923 -msgid "Corners in DrawList" -msgstr "Sommets en Liste de dessin" +#: pcbnew/class_edge_mod.cpp:252 +msgid "Seg Layer" +msgstr "Couche Seg." #: pcbnew/cross-probing.cpp:61 #, c-format @@ -3643,6 +3541,97 @@ msgstr "%s pin %s non trouvée" msgid "%s pin %s found" msgstr "%s pin %s trouvée" +#: pcbnew/muonde.cpp:134 +msgid "Gap" +msgstr "Gap" + +#: pcbnew/muonde.cpp:139 +msgid "Stub" +msgstr "Stub" + +#: pcbnew/muonde.cpp:145 +msgid "Arc Stub" +msgstr "Arc Stub" + +#: pcbnew/muonde.cpp:160 +msgid " (mm):" +msgstr " (mm):" + +#: pcbnew/muonde.cpp:166 +msgid " (inch):" +msgstr " (pouce):" + +#: pcbnew/muonde.cpp:168 +#: pcbnew/muonde.cpp:183 +msgid "Create microwave module" +msgstr "Créer Module MicroOnde" + +#: pcbnew/muonde.cpp:173 +#: pcbnew/muonde.cpp:186 +msgid "Incorrect number, abort" +msgstr "Nombre incorrect, arret" + +#: pcbnew/muonde.cpp:182 +msgid "Angle (0.1deg):" +msgstr "Angle (0.1deg):" + +#: pcbnew/muonde.cpp:313 +msgid "Complex shape" +msgstr "Formr complexe" + +#: pcbnew/muonde.cpp:339 +msgid "Read Shape Descr File..." +msgstr "Lire fichier de description de forme..." + +#: pcbnew/muonde.cpp:343 +msgid "Symmetrical" +msgstr "Symétrique" + +#: pcbnew/muonde.cpp:343 +msgid "Mirrored" +msgstr "Miroir" + +#: pcbnew/muonde.cpp:345 +msgid "Shape Option" +msgstr "Option Forme" + +#: pcbnew/muonde.cpp:411 +msgid "Read descr shape file" +msgstr "Lire fichier de description de forme" + +#: pcbnew/muonde.cpp:427 +msgid "File not found" +msgstr "fichier non trouvé" + +#: pcbnew/muonde.cpp:534 +msgid "Shape has a null size!" +msgstr "La forme a une taille nulle" + +#: pcbnew/muonde.cpp:539 +msgid "Shape has no points!" +msgstr "La forme n'a pas de points" + +#: pcbnew/muonde.cpp:646 +msgid "No pad for this module" +msgstr "Pas de pad dans ce module" + +#: pcbnew/muonde.cpp:651 +msgid "Only one pad for this module" +msgstr "Seulement un pad dans ce module" + +#: pcbnew/muonde.cpp:665 +msgid "Gap (mm):" +msgstr "Gap (mm):" + +#: pcbnew/muonde.cpp:665 +#: pcbnew/muonde.cpp:671 +msgid "Create Microwave Gap" +msgstr "Créer Gap MicroOnde " + +#: pcbnew/muonde.cpp:671 +msgid "Gap (inch):" +msgstr "Gap (inch):" + #: pcbnew/basepcbframe.cpp:171 msgid "3D Frame already opened" msgstr "Fenetre 3D déjà ouverte" @@ -3712,33 +3701,6 @@ msgstr "Fichiers Librairies:" msgid "Library already in use" msgstr "Librairie déjà en usage" -#: pcbnew/plot_rtn.cpp:210 -#, c-format -msgid "" -"Your BOARD has a bad layer number of %u for module\n" -" %s's \"reference\" text." -msgstr "" -"Votre PCB a un mauvais numero de couche %u pour le module\n" -" %s's \"reference\"." - -#: pcbnew/plot_rtn.cpp:230 -#, c-format -msgid "" -"Your BOARD has a bad layer number of %u for module\n" -" %s's \"value\" text." -msgstr "" -"Votre PCB a un mauvais numero de couche %u pour le module\n" -" %s's \"valeur\"." - -#: pcbnew/plot_rtn.cpp:276 -#, c-format -msgid "" -"Your BOARD has a bad layer number of %u for module\n" -" %s's \"module text\" text of %s." -msgstr "" -"Votre PCB a un mauvais numero de couche %u pour le module\n" -" %s's \"texte module\" de %s." - #: pcbnew/dsn.cpp:502 msgid "Line length exceeded" msgstr "Longueur de ligne dépassée" @@ -4098,6 +4060,10 @@ msgstr "Erreur DRC: la fermeture de cette zone crée une erreur DRC avec une aut msgid "No Net" msgstr "No Net" +#: pcbnew/zones_by_polygon.cpp:905 +msgid "NetName" +msgstr "NetName" + #: pcbnew/specctra_export.cpp:64 msgid "Specctra DSN file:" msgstr "Fichier Specctra DSN" @@ -4420,6 +4386,38 @@ msgstr "Le fichier Session a une 'reference' a un composant non existant \"%s\"" msgid "A wire_via references a missing padstack \"%s\"" msgstr "Une piste ou via a une référence vers un pad \"%s\" manquant" +#: pcbnew/class_zone.cpp:882 +msgid "Non Copper Zone" +msgstr "Zone non Cuivre" + +#: pcbnew/class_zone.cpp:887 +msgid "NetCode" +msgstr "NetCode" + +#: pcbnew/class_zone.cpp:895 +msgid "Corners" +msgstr "Sommets" + +#: pcbnew/class_zone.cpp:899 +msgid "Segments" +msgstr "Segments" + +#: pcbnew/class_zone.cpp:901 +msgid "Polygons" +msgstr "Polygones" + +#: pcbnew/class_zone.cpp:902 +msgid "Fill mode" +msgstr "Mode de remplissage" + +#: pcbnew/class_zone.cpp:907 +msgid "Hatch lines" +msgstr "Lignes de Hachure" + +#: pcbnew/class_zone.cpp:913 +msgid "Corners in DrawList" +msgstr "Sommets en Liste de dessin" + #: pcbnew/dialog_orient_footprints.cpp:147 msgid "Orientation:" msgstr "Orientation:" @@ -4931,6 +4929,7 @@ msgid "Offset Y" msgstr "Offset Y" #: pcbnew/dialog_edit_module_text_base.cpp:72 +#: eeschema/affiche.cpp:195 msgid "Thickness" msgstr "Epaisseur" @@ -5142,7 +5141,7 @@ msgstr "2 segments pour piste" #: pcbnew/dialog_general_options_BoardEditor_base.cpp:127 msgid "If enabled, uses two track segments, with 45 degrees angle between them when creating a new track " -msgstr "" +msgstr "Si activé, utiliser 2 segments de piste, avec un angle de 45 degrés entre eux, pour créer une nouvelle piste" #: pcbnew/dialog_general_options_BoardEditor_base.cpp:136 #: pcbnew/dialog_general_options_BoardEditor_base.cpp:144 @@ -5371,7 +5370,6 @@ msgid "Plot " msgstr "Trace " #: eeschema/affiche.cpp:22 -#: eeschema/dialog_create_component.cpp:160 msgid "Name" msgstr "Nom" @@ -5426,22 +5424,18 @@ msgid "Length" msgstr "Longueur" #: eeschema/affiche.cpp:102 -#: eeschema/pinedit-dialog.cpp:225 msgid "Up" msgstr "Haut" #: eeschema/affiche.cpp:105 -#: eeschema/pinedit-dialog.cpp:226 msgid "Down" msgstr "Bas" #: eeschema/affiche.cpp:108 -#: eeschema/pinedit-dialog.cpp:224 msgid "Left" msgstr "Gauche" #: eeschema/affiche.cpp:111 -#: eeschema/pinedit-dialog.cpp:223 msgid "Right" msgstr "Droite" @@ -6082,39 +6076,39 @@ msgstr "" "Librairie \"%s\" modifiée!\n" "Perdre les changements ?" -#: eeschema/libframe.cpp:342 +#: eeschema/libframe.cpp:344 msgid "Include last component changes?" msgstr "Inclure les dernieres modifs du composant" -#: eeschema/libframe.cpp:405 +#: eeschema/libframe.cpp:411 msgid " Pins Test OK!" msgstr " Test Pins OK!" -#: eeschema/libframe.cpp:479 +#: eeschema/libframe.cpp:485 msgid "Add Pin" msgstr "Addition de \"pins\"" -#: eeschema/libframe.cpp:483 +#: eeschema/libframe.cpp:489 msgid "Set Pin Options" msgstr "Choix Options des Pins" -#: eeschema/libframe.cpp:505 +#: eeschema/libframe.cpp:511 msgid "Add Rectangle" msgstr "Addition de rectangles" -#: eeschema/libframe.cpp:509 +#: eeschema/libframe.cpp:515 msgid "Add Circle" msgstr "Addition de cercle" -#: eeschema/libframe.cpp:513 +#: eeschema/libframe.cpp:519 msgid "Add Arc" msgstr "Addition d' arc" -#: eeschema/libframe.cpp:521 +#: eeschema/libframe.cpp:527 msgid "Anchor" msgstr "Ancre" -#: eeschema/libframe.cpp:531 +#: eeschema/libframe.cpp:537 msgid "Export" msgstr "Exporter" @@ -7005,27 +6999,31 @@ msgstr "Créer une nouvelle librairie et y sauver le composant" msgid "Edit component properties" msgstr "Editer propriétés du composant" -#: eeschema/tool_lib.cpp:164 +#: eeschema/tool_lib.cpp:163 +msgid "Add, remove fields and edit fields properties" +msgstr "Ajouter, supprimer des champs et editer leurs propriétés" + +#: eeschema/tool_lib.cpp:170 msgid "Test duplicate pins" msgstr "Test duplicate pins" -#: eeschema/tool_lib.cpp:186 +#: eeschema/tool_lib.cpp:192 msgid "show as \"De Morgan\" normal part" msgstr "Afficher sous représentation normale" -#: eeschema/tool_lib.cpp:192 +#: eeschema/tool_lib.cpp:198 msgid "show as \"De Morgan\" convert part" msgstr "Afficher sous présentation \" De Morgan\"" -#: eeschema/tool_lib.cpp:201 +#: eeschema/tool_lib.cpp:207 msgid "Documents" msgstr "Documents" -#: eeschema/tool_lib.cpp:218 +#: eeschema/tool_lib.cpp:224 msgid "Edit pins part per part (Carefully use!)" msgstr "Editer pins unité par unité (Utiliser en connaissance de cause)" -#: eeschema/tool_lib.cpp:238 +#: eeschema/tool_lib.cpp:244 #, c-format msgid "Part %c" msgstr "Composant %c" @@ -7276,6 +7274,39 @@ msgstr " non trouvé" msgid "Eeschema is already running, Continue?" msgstr "Eeschema est en cours d'exécution. Continuer ?" +#: eeschema/dialog_edit_component_in_lib.cpp:136 +msgid "General :" +msgstr "Général :" + +#: eeschema/dialog_edit_component_in_lib.cpp:144 +msgid "Number of units:" +msgstr "Nombre de Parts:" + +#: eeschema/dialog_edit_component_in_lib.cpp:172 +msgid "Doc:" +msgstr "Doc:" + +#: eeschema/dialog_edit_component_in_lib.cpp:179 +msgid "Keywords:" +msgstr "Mots Cles:" + +#: eeschema/dialog_edit_component_in_lib.cpp:186 +msgid "DocFileName:" +msgstr "Fichier de Doc:" + +#: eeschema/dialog_edit_component_in_lib.cpp:195 +msgid "Copy Doc" +msgstr "Copie Doc" + +#: eeschema/dialog_edit_component_in_lib.cpp:199 +msgid "Browse DocFiles" +msgstr "Examen Fichiers de Doc" + +#: eeschema/dialog_edit_component_in_lib.cpp:207 +#: eeschema/edit_component_in_lib.cpp:104 +msgid "Alias" +msgstr "Alias" + #: eeschema/menubar.cpp:41 msgid "&New" msgstr "&Nouveau" @@ -7689,151 +7720,86 @@ msgstr "Ext fichier Schema: " msgid " Default Path for libraries" msgstr "Chemin par défaut des librairies" -#: eeschema/edit_component_in_lib.cpp:168 +#: eeschema/edit_component_in_lib.cpp:66 msgid "Lib Component Properties" msgstr "Propriétés du composant librairie" -#: eeschema/edit_component_in_lib.cpp:172 +#: eeschema/edit_component_in_lib.cpp:70 msgid "Properties for " msgstr "Propriétés pour " -#: eeschema/edit_component_in_lib.cpp:177 +#: eeschema/edit_component_in_lib.cpp:75 msgid "(alias of " msgstr "(alias de " +#: eeschema/edit_component_in_lib.cpp:133 #: eeschema/edit_component_in_lib.cpp:216 -msgid "Alias" -msgstr "Alias" - -#: eeschema/edit_component_in_lib.cpp:245 -#: eeschema/edit_component_in_lib.cpp:328 msgid "Delete All" msgstr "Tout Supprimer" -#: eeschema/edit_component_in_lib.cpp:281 -#: eeschema/edit_component_in_lib.cpp:1191 +#: eeschema/edit_component_in_lib.cpp:169 +#: eeschema/edit_component_in_lib.cpp:803 msgid "Footprint Filter" msgstr "Filtrage Modules" -#: eeschema/edit_component_in_lib.cpp:293 +#: eeschema/edit_component_in_lib.cpp:181 msgid "Footprints" msgstr "Modules" -#: eeschema/edit_component_in_lib.cpp:407 +#: eeschema/edit_component_in_lib.cpp:295 msgid "Show Pin Num" msgstr "Montre Numéro de Pin" -#: eeschema/edit_component_in_lib.cpp:476 -msgid "Align left" -msgstr "Alignement à gauche" - -#: eeschema/edit_component_in_lib.cpp:476 -#: eeschema/edit_component_in_lib.cpp:479 -msgid "Align center" -msgstr "Alignement au centre" - -#: eeschema/edit_component_in_lib.cpp:476 -msgid "Align right" -msgstr "Alignement à droite" - -#: eeschema/edit_component_in_lib.cpp:479 -msgid "Align bottom" -msgstr "Alignement en bas" - -#: eeschema/edit_component_in_lib.cpp:479 -msgid "Align top" -msgstr "Alignement au sommet" - -#: eeschema/edit_component_in_lib.cpp:486 -msgid "Fields" -msgstr "Champs" - -#: eeschema/edit_component_in_lib.cpp:499 -msgid "Show Text" -msgstr "Texte visible" - #: eeschema/edit_component_in_lib.cpp:504 -msgid "Vertical" -msgstr "Vertical" - -#: eeschema/edit_component_in_lib.cpp:510 -msgid "Field Name:" -msgstr "Nom Champ" - -#: eeschema/edit_component_in_lib.cpp:520 -msgid "Field Text:" -msgstr "Texte du Champ:" - -#: eeschema/edit_component_in_lib.cpp:526 -msgid "Pos" -msgstr "Pos" - -#: eeschema/edit_component_in_lib.cpp:531 -msgid "Hor Justify" -msgstr "Justifié horiz" - -#: eeschema/edit_component_in_lib.cpp:538 -msgid "Vert Justify" -msgstr "Justifié Vert." - -#: eeschema/edit_component_in_lib.cpp:553 -msgid "Chip Name" -msgstr "Nom en librairie" - -#: eeschema/edit_component_in_lib.cpp:556 -msgid "Field to edit" -msgstr "Champ à éditer" - -#: eeschema/edit_component_in_lib.cpp:892 msgid "Ok to Delete Alias LIST" msgstr "Ok pour effacer la LISTE des Alias" -#: eeschema/edit_component_in_lib.cpp:917 +#: eeschema/edit_component_in_lib.cpp:529 msgid "New alias:" msgstr "Noveau alias" -#: eeschema/edit_component_in_lib.cpp:917 +#: eeschema/edit_component_in_lib.cpp:529 msgid "Component Alias" msgstr "Alias de Composant" -#: eeschema/edit_component_in_lib.cpp:925 +#: eeschema/edit_component_in_lib.cpp:537 msgid "This is the Root Part" msgstr "Ceci est le composant racine" -#: eeschema/edit_component_in_lib.cpp:934 -#: eeschema/edit_component_in_lib.cpp:1202 +#: eeschema/edit_component_in_lib.cpp:546 +#: eeschema/edit_component_in_lib.cpp:814 msgid "Already in use" msgstr "Déja en usage" -#: eeschema/edit_component_in_lib.cpp:959 +#: eeschema/edit_component_in_lib.cpp:571 msgid " is Current Selected Alias!" msgstr " est l' Alias actuellement sélectionné!" -#: eeschema/edit_component_in_lib.cpp:1012 +#: eeschema/edit_component_in_lib.cpp:624 msgid "Delete units" msgstr "Supprimer unité" -#: eeschema/edit_component_in_lib.cpp:1082 +#: eeschema/edit_component_in_lib.cpp:694 msgid "Create pins for Convert items" msgstr "Créér les pins des unitées converties" -#: eeschema/edit_component_in_lib.cpp:1086 +#: eeschema/edit_component_in_lib.cpp:698 msgid "Part as \"De Morgan\" anymore" msgstr "Le composant a une représentation convertie" -#: eeschema/edit_component_in_lib.cpp:1111 +#: eeschema/edit_component_in_lib.cpp:723 msgid "Delete Convert items" msgstr "Suppression des éléments convertis" -#: eeschema/edit_component_in_lib.cpp:1146 +#: eeschema/edit_component_in_lib.cpp:758 msgid "Doc Files" msgstr "Fichiers de Doc" -#: eeschema/edit_component_in_lib.cpp:1169 +#: eeschema/edit_component_in_lib.cpp:781 msgid "Ok to Delete FootprintFilter LIST" msgstr "Ok pour effacer la LISTE des filtres de modules" -#: eeschema/edit_component_in_lib.cpp:1191 +#: eeschema/edit_component_in_lib.cpp:803 msgid "New FootprintFilter:" msgstr "Nouveau Filtre de Modules:" @@ -7997,6 +7963,11 @@ msgstr "Miroir |" msgid "Pick the graphical transformation to be used when displaying the component, if any" msgstr "Ajuster la transformation graphique à utiliser pour afficher le composant" +#: eeschema/dialog_edit_component_in_schematic_fbp.cpp:63 +#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:429 +msgid "Chip Name" +msgstr "Nom en librairie" + #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:67 msgid "The name of the symbol in the library from which this component came" msgstr "Le nom du symbole dans la librairie d'où vient le composant." @@ -8009,6 +7980,10 @@ msgstr "" "Utiliser la représentation alternative pour ce composant\n" "Pour les portes, ceci est la conversion \"De Morgan\"" +#: eeschema/dialog_edit_component_in_schematic_fbp.cpp:86 +msgid "Fields" +msgstr "Champs" + #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:95 msgid "Add a new custom field" msgstr "Ajouter un nouveau champ utilisateur" @@ -8082,37 +8057,23 @@ msgstr "La position Y du texte relativement au composant" msgid "Reset to Library Defaults" msgstr "Remettre aux Valeurs par Défaut en Librairie" -#: eeschema/dialog_edit_component_in_lib.cpp:139 -msgid "General :" -msgstr "Général :" +#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:157 +#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:162 +#: eeschema/dialog_edit_component_in_schematic.cpp:72 +#: eeschema/dialog_edit_component_in_schematic.cpp:77 +msgid "Pos " +msgstr "Pos " -#: eeschema/dialog_edit_component_in_lib.cpp:147 -msgid "Number of units:" -msgstr "Nombre de Parts:" - -#: eeschema/dialog_edit_component_in_lib.cpp:175 -msgid "Doc:" -msgstr "Doc:" - -#: eeschema/dialog_edit_component_in_lib.cpp:182 -msgid "Keywords:" -msgstr "Mots Cles:" - -#: eeschema/dialog_edit_component_in_lib.cpp:189 -msgid "DocFileName:" -msgstr "Fichier de Doc:" - -#: eeschema/dialog_edit_component_in_lib.cpp:198 -msgid "Copy Doc" -msgstr "Copie Doc" - -#: eeschema/dialog_edit_component_in_lib.cpp:202 -msgid "Browse DocFiles" -msgstr "Examen Fichiers de Doc" - -#: eeschema/component_class.cpp:131 -msgid "Datasheet" -msgstr "Documentation" +#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:226 +#, c-format +msgid "" +"A new name is entered for this component\n" +"An alias %s already exists!\n" +"Cannot update this component" +msgstr "" +"Un noveau nom a été entré pour ce composant\n" +"Un alias %s existe déjà!\n" +"Ne peut mettre à jour ce composant" #: eeschema/libedit_onrightclick.cpp:77 msgid "Move Arc " @@ -8314,16 +8275,11 @@ msgstr "Valeur Composant" msgid "Component footprint" msgstr "Module du Composant" -#: eeschema/dialog_edit_component_in_schematic.cpp:71 -#: eeschema/dialog_edit_component_in_schematic.cpp:76 -msgid "Pos " -msgstr "Pos " - -#: eeschema/dialog_edit_component_in_schematic.cpp:123 +#: eeschema/dialog_edit_component_in_schematic.cpp:142 msgid "No Component Name!" msgstr "Pas de nom de composant!" -#: eeschema/dialog_edit_component_in_schematic.cpp:130 +#: eeschema/dialog_edit_component_in_schematic.cpp:149 #, c-format msgid "Component [%s] not found!" msgstr "Composant [%s] non trouvé!" @@ -8373,6 +8329,10 @@ msgstr "Chargement terminé" msgid " Text Options : " msgstr "Options du Texte: " +#: eeschema/dialog_bodygraphictext_properties_base.cpp:42 +msgid "Vertical" +msgstr "Vertical" + #: eeschema/dialog_bodygraphictext_properties_base.cpp:53 msgid "Size:" msgstr "Taille:" @@ -8381,6 +8341,39 @@ msgstr "Taille:" msgid "Text Shape:" msgstr "Aspect Texte:" +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:54 +msgid "Align left" +msgstr "Alignement à gauche" + +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:54 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:67 +msgid "Align center" +msgstr "Alignement au centre" + +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:54 +msgid "Align right" +msgstr "Alignement à droite" + +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:56 +msgid "Horiz. Justify" +msgstr "Justification Horiz." + +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:67 +msgid "Align bottom" +msgstr "Alignement en bas" + +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:67 +msgid "Align top" +msgstr "Alignement au sommet" + +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:69 +msgid "Vert Justify" +msgstr "Justifié Vert." + +#: eeschema/class_libentry_fields.cpp:128 +msgid "Datasheet" +msgstr "Documentation" + #: eeschema/eelibs_read_libraryfiles.cpp:117 msgid "Start loading schematic libs" msgstr "Demarre chargement des librairies schématiques" @@ -8600,6 +8593,7 @@ msgid "Delete selections" msgstr "Effacement des associations existantes" #: cvpcb/cvframe.cpp:376 +#: cvpcb/init.cpp:112 #, c-format msgid "Componants: %d (free: %d)" msgstr "Composants: %d (libres: %d)" @@ -8694,7 +8688,6 @@ msgid "1:1 zoom" msgstr "1:1 zoom" #: cvpcb/genorcad.cpp:134 -#: cvpcb/writenetlistpcbnew.cpp:168 #, c-format msgid "%s %s pin %s : Different Nets" msgstr "%s %s pin %s : Nets Differents" @@ -9527,15 +9520,6 @@ msgstr "Effacement Bloc (ctrl + drag mouse)" msgid "Delete Dcode items" msgstr "Suppression d'éléments par DCode" -#: gerbview/rs274x.cpp:297 -#, c-format -msgid "Command <%c%c> ignored by Gerbview" -msgstr "Commande <%c%c> ignorée par Gerbview" - -#: gerbview/rs274x.cpp:342 -msgid "Too many include files!!" -msgstr "Trop de fichiers inclus!!" - #: gerbview/edit.cpp:246 msgid "No layer selected" msgstr "Pas de couche sélectionnée" @@ -9600,13 +9584,21 @@ msgstr "N'affiche pas les couches Gerber" msgid "Save config file" msgstr "Sauver config" +#: gerbview/rs274x.cpp:297 +#, c-format +msgid "Command <%c%c> ignored by Gerbview" +msgstr "Commande <%c%c> ignorée par Gerbview" + +#: gerbview/rs274x.cpp:332 +msgid "Too many include files!!" +msgstr "Trop de fichiers inclus!!" + #: gerbview/readgerb.cpp:253 #, c-format msgid "%d errors while reading Gerber file [%s]" msgstr "%d erreurs pendant lecture fichier gerber [%s]" #: gerbview/readgerb.cpp:273 -#: gerbview/files.cpp:187 msgid "D codes files:" msgstr "Fichiers D-Codes:" @@ -9668,74 +9660,6 @@ msgstr "Infos:" msgid "Colors" msgstr "Couleurs" -#: common/edaappl.cpp:56 -msgid "Default" -msgstr "Defaut" - -#: common/edaappl.cpp:69 -msgid "French" -msgstr "French" - -#: common/edaappl.cpp:75 -msgid "Spanish" -msgstr "Espagnol" - -#: common/edaappl.cpp:81 -msgid "Portuguese" -msgstr "Portugais" - -#: common/edaappl.cpp:87 -msgid "Italian" -msgstr "Italien" - -#: common/edaappl.cpp:93 -msgid "German" -msgstr "Allemand" - -#: common/edaappl.cpp:99 -msgid "Slovenian" -msgstr "Slovène" - -#: common/edaappl.cpp:105 -msgid "Hungarian" -msgstr "Hongrois" - -#: common/edaappl.cpp:111 -msgid "Polish" -msgstr "Polonais" - -#: common/edaappl.cpp:117 -msgid "Czech" -msgstr "Tchèque" - -#: common/edaappl.cpp:123 -msgid "Russian" -msgstr "Russe" - -#: common/edaappl.cpp:129 -msgid "Korean" -msgstr "Coréen" - -#: common/edaappl.cpp:135 -msgid "Chinese simplified" -msgstr "Chinois Simplifié" - -#: common/edaappl.cpp:141 -msgid "Catalan" -msgstr "Catalan" - -#: common/edaappl.cpp:147 -msgid "Dutch" -msgstr "Hollandais" - -#: common/edaappl.cpp:612 -msgid "Language" -msgstr "Langage" - -#: common/edaappl.cpp:613 -msgid "Select application language (only for testing!)" -msgstr "Choisir le langage (seulement pour tests!)" - #: common/zoom.cpp:238 msgid "Center" msgstr "Centrer" @@ -9961,6 +9885,74 @@ msgstr "Fichiers de Doc " msgid "Unknown MIME type for doc file <%s>" msgstr "MIME type inconnu pour fichier Doc <%s>" +#: common/edaappl.cpp:80 +msgid "Default" +msgstr "Defaut" + +#: common/edaappl.cpp:97 +msgid "French" +msgstr "French" + +#: common/edaappl.cpp:105 +msgid "Spanish" +msgstr "Espagnol" + +#: common/edaappl.cpp:113 +msgid "Portuguese" +msgstr "Portugais" + +#: common/edaappl.cpp:121 +msgid "Italian" +msgstr "Italien" + +#: common/edaappl.cpp:129 +msgid "German" +msgstr "Allemand" + +#: common/edaappl.cpp:137 +msgid "Slovenian" +msgstr "Slovène" + +#: common/edaappl.cpp:145 +msgid "Hungarian" +msgstr "Hongrois" + +#: common/edaappl.cpp:153 +msgid "Polish" +msgstr "Polonais" + +#: common/edaappl.cpp:161 +msgid "Czech" +msgstr "Tchèque" + +#: common/edaappl.cpp:169 +msgid "Russian" +msgstr "Russe" + +#: common/edaappl.cpp:177 +msgid "Korean" +msgstr "Coréen" + +#: common/edaappl.cpp:185 +msgid "Chinese simplified" +msgstr "Chinois Simplifié" + +#: common/edaappl.cpp:193 +msgid "Catalan" +msgstr "Catalan" + +#: common/edaappl.cpp:201 +msgid "Dutch" +msgstr "Hollandais" + +#: common/edaappl.cpp:747 +msgid "Language" +msgstr "Langage" + +#: common/edaappl.cpp:748 +msgid "Select application language (only for testing!)" +msgstr "Choisir le langage (seulement pour tests!)" + #: common/base_screen.cpp:264 #, c-format msgid "Grid size( %d, %d ) not in grid list, falling back to grid size( %d, %d )." @@ -10744,6 +10736,10 @@ msgstr "EESchema Tracé PS" msgid "Graphic text properties:" msgstr "Propriétés du texte graphique:" +#: eeschema/dialog_edit_libentry_fields_in_lib_base.h:74 +msgid "Fields Properties" +msgstr "Propriétés des Champs" + #: eeschema/component_wizard/dialog_component_setup.h:55 msgid "Component Builder" msgstr "Générateur de Composant" @@ -10912,6 +10908,16 @@ msgstr "Imprimer" msgid "Create SVG file" msgstr "Créer Fichier SVG" +#~ msgid "Show Text" +#~ msgstr "Texte visible" +#~ msgid "Field Name:" +#~ msgstr "Nom Champ" +#~ msgid "Field Text:" +#~ msgstr "Texte du Champ:" +#~ msgid "Pos" +#~ msgstr "Pos" +#~ msgid "Field to edit" +#~ msgstr "Champ à éditer" #~ msgid " Text : " #~ msgstr " Texte : " #~ msgid "Component name:"