From 4537ac8c99b69b1cbc73c84c8081a734b3372c0d Mon Sep 17 00:00:00 2001 From: charras Date: Sat, 19 Sep 2009 16:15:40 +0000 Subject: [PATCH] Fixed cvpcb crash (only when compiled in Debug version) --- cvpcb/displayframe.cpp | 6 + cvpcb/loadcmp.cpp | 1 - gerbview/gerbview.cpp | 4 + internat/fr/kicad.mo | Bin 192681 -> 190601 bytes internat/fr/kicad.po | 4778 +++++++++++++------------ pcbnew/class_board_connected_item.cpp | 22 +- pcbnew/class_pad_draw_functions.cpp | 50 +- polygon/PolyLine.cpp | 10 +- 8 files changed, 2565 insertions(+), 2306 deletions(-) diff --git a/cvpcb/displayframe.cpp b/cvpcb/displayframe.cpp index ad1f8c1f86..adf125c017 100644 --- a/cvpcb/displayframe.cpp +++ b/cvpcb/displayframe.cpp @@ -62,6 +62,12 @@ WinEDA_DisplayFrame::WinEDA_DisplayFrame( WinEDA_CvpcbFrame* father, SetBaseScreen( new PCB_SCREEN() ); LoadSettings(); + + // Initialize some display options + DisplayOpt.DisplayPadIsol = false; // Pad clearance has no meaning here + DisplayOpt.ShowTrackClearanceMode = 0; // tracks and vias clearance has no meaning here + + SetSize( m_FramePos.x, m_FramePos.y, m_FrameSize.x, m_FrameSize.y ); ReCreateHToolbar(); ReCreateVToolbar(); diff --git a/cvpcb/loadcmp.cpp b/cvpcb/loadcmp.cpp index 13490c1b2c..01578e3849 100644 --- a/cvpcb/loadcmp.cpp +++ b/cvpcb/loadcmp.cpp @@ -119,7 +119,6 @@ found in the default search paths." ), if( stricmp( Name, CONV_TO_UTF8( CmpName ) ) == 0 ) /* composant localise */ { Module = new MODULE( GetBoard() ); - // Switch the locale to standard C (needed to print floating point numbers like 1.3) SetLocaleTo_C_standard(); Module->ReadDescr( file, &LineNum ); diff --git a/gerbview/gerbview.cpp b/gerbview/gerbview.cpp index 54fec0193f..854603467b 100644 --- a/gerbview/gerbview.cpp +++ b/gerbview/gerbview.cpp @@ -74,6 +74,10 @@ bool WinEDA_App::OnInit() frame->SetTitle( GetTitle() + wxT( " " ) + GetBuildVersion() ); frame->SetBoard( new BOARD( NULL, frame ) ); + // Initialize some display options + DisplayOpt.DisplayPadIsol = false; // Pad clearance has no meaning here + DisplayOpt.ShowTrackClearanceMode = 0; // tracks and vias clearance has no meaning here + SetTopWindow( frame ); // Set GerbView mainframe on top frame->Show( TRUE ); // Show GerbView mainframe frame->Zoom_Automatique( TRUE ); // Zoomfit drawing in frame diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 2541ff534ac55ae0b8c4dff1c0c9e8594bdd4479..4577b6b4977a5999672414f737d18540cb1652a4 100644 GIT binary patch delta 61601 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 delta 63321 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 CBC@dn diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index ef0992b8c1..35b2198936 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: 2009-09-05 17:38+0100\n" -"PO-Revision-Date: 2009-09-05 17:51+0100\n" +"POT-Creation-Date: 2009-09-18 20:34+0100\n" +"PO-Revision-Date: 2009-09-18 20:38+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -263,9 +263,9 @@ msgstr "OK" msgid "Cancel" msgstr "Annuler" -#: pcbnew/ioascii.cpp:175 -msgid "Error: Unexpected end of file !" -msgstr "Erreur: Fin de fichier inattendue !" +#: pcbnew/controle.cpp:173 +msgid "Selection Clarification" +msgstr "Clarification de la Sélection" #: pcbnew/class_marker_pcb.cpp:67 msgid "Type" @@ -443,7 +443,6 @@ msgid "Delete module?" msgstr "Effacer Module?" #: pcbnew/editmod.cpp:43 -#: pcbnew/edit.cpp:253 msgid "Module Editor" msgstr "Ouvrir Editeur de modules" @@ -455,21 +454,92 @@ msgstr "Le texte est la REFERENCE!" msgid "Text is VALUE!" msgstr "Le texte est la VALEUR!" -#: pcbnew/controle.cpp:173 -msgid "Selection Clarification" -msgstr "Clarification de la Sélection" +#: pcbnew/router.cpp:66 +msgid "Unable to create temporary file " +msgstr "Impossible de créer le fichier temporaire " -#: pcbnew/initpcb.cpp:46 -msgid "Ok to delete selected items ?" -msgstr "Ok pour effacer les éléments sélectionnés ?" +#: pcbnew/router.cpp:71 +msgid "Create temporary file " +msgstr "Création fichier temporaire " -#: pcbnew/initpcb.cpp:155 -msgid "Current Board will be lost and this operation and cannot be undone. Continue ?" -msgstr "Le circuit actuel sera perdu et cette opération ne pourra pas être annulée. Continuer ?" +#: pcbnew/router.cpp:573 +msgid "Unable to find data file " +msgstr "Impossible de trouver le fichier de données " -#: pcbnew/initpcb.cpp:212 -msgid "Current Footprint will be lost and this operation and cannot be undone. Continue ?" -msgstr "Le module actuel sera perdu et cette opération ne pourra pas être annulée. Continuer ?" +#: pcbnew/router.cpp:579 +msgid "Reading autorouter data file " +msgstr "Lecture fichier données de l'autorouteur" + +#: pcbnew/autoplac.cpp:105 +msgid "Footprints NOT LOCKED will be moved" +msgstr "Les modules NON FIXES vont être déplacés" + +#: pcbnew/autoplac.cpp:110 +msgid "Footprints NOT PLACED will be moved" +msgstr "Les modules NON PLACES vont être déplacés" + +#: pcbnew/autoplac.cpp:401 +msgid "No edge PCB, Unknown board size!" +msgstr "Pas de contour PCB, la taille du PCB est inconnue!" + +#: pcbnew/autoplac.cpp:422 +msgid "Cols" +msgstr "Cols" + +#: pcbnew/autoplac.cpp:424 +msgid "Lines" +msgstr "Lignes" + +#: pcbnew/autoplac.cpp:426 +msgid "Cells." +msgstr "Cells." + +#: pcbnew/autoplac.cpp:487 +msgid "Loop" +msgstr "Itération" + +#: pcbnew/autoplac.cpp:642 +msgid "Ok to abort ?" +msgstr "Ok pour arrêter ?" + +#: pcbnew/solve.cpp:240 +msgid "Abort routing?" +msgstr "Arrêter le routage?" + +#: pcbnew/specctra_export.cpp:77 +msgid "Specctra DSN file:" +msgstr "Fichier Specctra DSN" + +#: pcbnew/specctra_export.cpp:136 +msgid "BOARD exported OK." +msgstr "PCB exporté Ok." + +#: pcbnew/specctra_export.cpp:141 +msgid "Unable to export, please fix and try again." +msgstr "Impossible d'exporter, fixer le problème et recommencer" + +#: pcbnew/specctra_export.cpp:793 +#, c-format +msgid "Unsupported DRAWSEGMENT type %s" +msgstr "DRAWSEGMENT type %s non supporté" + +#: pcbnew/specctra_export.cpp:828 +msgid "Unable to find the next segment with an endpoint of " +msgstr "Impossible de trouver le segment suivant avec une extrémité à " + +#: pcbnew/specctra_export.cpp:831 +msgid "Edit Edges_Pcb segments, making them contiguous." +msgstr "Modifier les segments du contour PCB pour les rendre contigus." + +#: pcbnew/specctra_export.cpp:883 +#, c-format +msgid "Component with value of \"%s\" has empty reference id." +msgstr "Le composant avec valeur \"%s\" a une référence vide." + +#: pcbnew/specctra_export.cpp:891 +#, c-format +msgid "Multiple components have identical reference IDs of \"%s\"." +msgstr "Multiple composants ont une reference identique \"%s\"." #: pcbnew/class_drc_item.cpp:39 msgid "Unconnected pads" @@ -551,49 +621,29 @@ msgstr "Trop petite dimension de via" msgid "Too small micro via size" msgstr "Trop petite dimension de microvia" -#: pcbnew/class_module.cpp:824 -msgid "Last Change" -msgstr "Last Change" +#: pcbnew/class_drc_item.cpp:89 +msgid "NetClass Track Width < global limit" +msgstr "" -#: pcbnew/class_module.cpp:830 -msgid "Netlist path" -msgstr "Chemin Netliste " +#: pcbnew/class_drc_item.cpp:91 +msgid "NetClass Clearance < global limit" +msgstr "" -#: pcbnew/class_module.cpp:834 -msgid "Layer" -msgstr "Couche" +#: pcbnew/class_drc_item.cpp:93 +msgid "NetClass Via Dia < global limit" +msgstr "" -#: pcbnew/class_module.cpp:847 -msgid "Pads" -msgstr "Pads" +#: pcbnew/class_drc_item.cpp:95 +msgid "NetClass Via Drill < global limit" +msgstr "" -#: pcbnew/class_module.cpp:855 -msgid "Stat" -msgstr "Stat" +#: pcbnew/class_drc_item.cpp:97 +msgid "NetClass uVia Dia < global limit" +msgstr "" -#: pcbnew/class_module.cpp:859 -msgid "Orient" -msgstr "Orient" - -#: pcbnew/class_module.cpp:862 -msgid "Module" -msgstr "Module" - -#: pcbnew/class_module.cpp:868 -msgid "No 3D shape" -msgstr "Pas de forme 3D" - -#: pcbnew/class_module.cpp:869 -msgid "3D-Shape" -msgstr "Forme 3D" - -#: pcbnew/class_module.cpp:872 -msgid "Doc: " -msgstr "Doc: " - -#: pcbnew/class_module.cpp:873 -msgid "KeyW: " -msgstr "KeyW: " +#: pcbnew/class_drc_item.cpp:99 +msgid "NetClass uVia Drill < global limit" +msgstr "" #: pcbnew/tool_pcb.cpp:29 msgid "" @@ -896,54 +946,6 @@ msgstr "" "Plan de perçage: trop de diamètres différents pour tracer 1 symbole par diamètre (max 13)\n" "Le tracé utilise des cercles pour quelques valeurs " -#: pcbnew/edit.cpp:323 -msgid "Add Tracks" -msgstr "Addition de Pistes" - -#: pcbnew/edit.cpp:332 -msgid "Add Zones" -msgstr "Addition de Zones" - -#: pcbnew/edit.cpp:334 -msgid "Warning: Display Zone is OFF!!!" -msgstr "Attention: Affichage zones désactivé !!!" - -#: pcbnew/edit.cpp:340 -msgid "Add Layer Alignment Target" -msgstr "Ajouter Mire de superposition" - -#: pcbnew/edit.cpp:344 -msgid "Adjust Zero" -msgstr "Ajuster Zéro" - -#: pcbnew/edit.cpp:350 -msgid "Add Graphic" -msgstr "Addition éléments graphiques" - -#: pcbnew/edit.cpp:354 -msgid "Add Text" -msgstr "Ajout de Texte" - -#: pcbnew/edit.cpp:358 -msgid "Add Modules" -msgstr "Addition de Modules" - -#: pcbnew/edit.cpp:362 -msgid "Add Dimension" -msgstr "Ajout de cotes" - -#: pcbnew/edit.cpp:370 -msgid "Net Highlight" -msgstr "Surbrillance des équipotentielles" - -#: pcbnew/edit.cpp:374 -msgid "Local Ratsnest" -msgstr "Montrer le chevelu général" - -#: pcbnew/edit.cpp:678 -msgid "Delete item" -msgstr "Suppression d'éléments" - #: pcbnew/move_or_drag_track.cpp:838 msgid "Unable to drag this segment: too many segments connected" msgstr "Impossible de dragger ce segment: trop de segments connectés" @@ -992,18 +994,53 @@ msgstr "Déplacer Bloc" msgid "Copy Block" msgstr "Copie Bloc" -#: pcbnew/pcbcfg.cpp:74 -msgid "Read Project File" -msgstr "Lire Fichier Projet" +#: pcbnew/edit.cpp:323 +msgid "Add Tracks" +msgstr "Addition de Pistes" -#: pcbnew/pcbcfg.cpp:84 -#, c-format -msgid "File %s not found" -msgstr "Fichier %s non trouvé" +#: pcbnew/edit.cpp:332 +msgid "Add Zones" +msgstr "Addition de Zones" -#: pcbnew/pcbcfg.cpp:227 -msgid "Save Project File" -msgstr "Sauver Fichier Projet" +#: pcbnew/edit.cpp:334 +msgid "Warning: Display Zone is OFF!!!" +msgstr "Attention: Affichage zones désactivé !!!" + +#: pcbnew/edit.cpp:340 +msgid "Add Layer Alignment Target" +msgstr "Ajouter Mire de superposition" + +#: pcbnew/edit.cpp:344 +msgid "Adjust Zero" +msgstr "Ajuster Zéro" + +#: pcbnew/edit.cpp:350 +msgid "Add Graphic" +msgstr "Addition éléments graphiques" + +#: pcbnew/edit.cpp:354 +msgid "Add Text" +msgstr "Ajout de Texte" + +#: pcbnew/edit.cpp:358 +msgid "Add Modules" +msgstr "Addition de Modules" + +#: pcbnew/edit.cpp:362 +msgid "Add Dimension" +msgstr "Ajout de cotes" + +#: pcbnew/edit.cpp:370 +msgid "Net Highlight" +msgstr "Surbrillance des équipotentielles" + +#: pcbnew/edit.cpp:374 +msgid "Local Ratsnest" +msgstr "Montrer le chevelu général" + +#: pcbnew/edit.cpp:678 +msgid "Delete item" +msgstr "Suppression d'éléments" #: pcbnew/loadcmp.cpp:106 msgid "Place module" @@ -1098,6 +1135,69 @@ msgstr "Connecte une extrémité de piste en l'air, lorsque elle couvre un pad o msgid "Clean pcb" msgstr "Nettoyage PCB" +#: pcbnew/class_track.cpp:900 +msgid "Track" +msgstr "Piste" + +#: pcbnew/class_track.cpp:904 +msgid "Zone" +msgstr "Zone" + +#: pcbnew/class_track.cpp:929 +msgid "NetName" +msgstr "NetName" + +#: pcbnew/class_track.cpp:935 +msgid "NetCode" +msgstr "NetCode" + +#: pcbnew/class_track.cpp:940 +#: pcbnew/class_drawsegment.cpp:390 +msgid "Segment" +msgstr "Segment" + +#: pcbnew/class_track.cpp:942 +#: pcbnew/class_drawsegment.cpp:376 +msgid "Circle" +msgstr "Cercle" + +#: pcbnew/class_track.cpp:944 +msgid "Standard" +msgstr "Standard" + +#: pcbnew/class_track.cpp:952 +msgid "Flags" +msgstr "Flags" + +#: pcbnew/class_track.cpp:965 +msgid "Stat" +msgstr "Stat" + +#: pcbnew/class_track.cpp:981 +#: pcbnew/class_drawsegment.cpp:400 +msgid "Layer" +msgstr "Couche" + +#: pcbnew/class_track.cpp:990 +msgid "Diam" +msgstr "Diam" + +#: pcbnew/class_track.cpp:998 +msgid "Drill" +msgstr "Perçage" + +#: pcbnew/class_track.cpp:1002 +msgid "(Specific)" +msgstr "(Specifique)" + +#: pcbnew/class_track.cpp:1004 +msgid "(Default)" +msgstr "(Défaut)" + +#: pcbnew/ioascii.cpp:175 +msgid "Error: Unexpected end of file !" +msgstr "Erreur: Fin de fichier inattendue !" + #: pcbnew/mirepcb.cpp:81 msgid "Target Properties" msgstr "Propriétés de la mire" @@ -1140,22 +1240,6 @@ msgstr "&OK" msgid "&Cancel" msgstr "&Annuler" -#: pcbnew/router.cpp:66 -msgid "Unable to create temporary file " -msgstr "Impossible de créer le fichier temporaire " - -#: pcbnew/router.cpp:71 -msgid "Create temporary file " -msgstr "Création fichier temporaire " - -#: pcbnew/router.cpp:573 -msgid "Unable to find data file " -msgstr "Impossible de trouver le fichier de données " - -#: pcbnew/router.cpp:579 -msgid "Reading autorouter data file " -msgstr "Lecture fichier données de l'autorouteur" - #: pcbnew/dialog_initpcb.cpp:103 msgid "Items to delete" msgstr "Eléments à effacer" @@ -1208,10 +1292,6 @@ msgstr "Inclure Pistes Verrouillées" msgid "Shape" msgstr "Forme" -#: pcbnew/class_drawsegment.cpp:376 -msgid "Circle" -msgstr "Cercle" - #: pcbnew/class_drawsegment.cpp:380 msgid "Arc" msgstr "Arc" @@ -1224,10 +1304,6 @@ msgstr "Angle" msgid "Curve" msgstr "Courbe" -#: pcbnew/class_drawsegment.cpp:390 -msgid "Segment" -msgstr "Segment" - #: pcbnew/automove.cpp:214 msgid "Move Modules ?" msgstr "Déplacer Modules ?" @@ -1274,9 +1350,109 @@ msgstr "Chercher Marqueur" msgid "Find Next Marker" msgstr "Marqueur Suivant" -#: pcbnew/solve.cpp:240 -msgid "Abort routing?" -msgstr "Arrêter le routage?" +#: pcbnew/pcbframe.cpp:320 +msgid "Board modified, Save before exit ?" +msgstr "Circuit Imprimé modifié, Sauver avant de quitter ?" + +#: pcbnew/pcbframe.cpp:321 +msgid "Confirmation" +msgstr "Confirmation" + +#: pcbnew/pcbframe.cpp:412 +msgid "DRC Off (Disable !!!), Currently: DRC is active" +msgstr "DRC off (désactivée !!!), actuellement DRC active" + +#: pcbnew/pcbframe.cpp:413 +msgid "DRC On (Currently: DRC is inactive !!!)" +msgstr "DRC On (Actuellement, DRC désactivée !!!)" + +#: pcbnew/pcbframe.cpp:424 +#: pcbnew/moduleframe.cpp:332 +msgid "Polar Coords not show" +msgstr "Coord Polaires non affichées" + +#: pcbnew/pcbframe.cpp:425 +#: pcbnew/moduleframe.cpp:333 +msgid "Display Polar Coords" +msgstr "Affichage coord Polaires" + +#: pcbnew/pcbframe.cpp:430 +#: pcbnew/moduleframe.cpp:338 +msgid "Grid not show" +msgstr "Grille non montrée" + +#: pcbnew/pcbframe.cpp:430 +#: pcbnew/moduleframe.cpp:338 +msgid "Show Grid" +msgstr "Afficher grille" + +#: pcbnew/pcbframe.cpp:439 +msgid "Hide General ratsnest" +msgstr "Ne pas afficher le chevelu général" + +#: pcbnew/pcbframe.cpp:440 +msgid "Show General ratsnest" +msgstr "Afficher le chevelu général" + +#: pcbnew/pcbframe.cpp:446 +msgid "Hide Module ratsnest" +msgstr "Ne pas montrer le chevelu du module" + +#: pcbnew/pcbframe.cpp:447 +msgid "Show Module ratsnest" +msgstr "Montrer le chevelu du module" + +#: pcbnew/pcbframe.cpp:454 +msgid "Disable Auto Delete old Track" +msgstr "Ne pas Autoriser l'effacement automatique des pistes" + +#: pcbnew/pcbframe.cpp:455 +msgid "Enable Auto Delete old Track" +msgstr "Autoriser l'effacement automatique des pistes" + +#: pcbnew/pcbframe.cpp:462 +#: pcbnew/moduleframe.cpp:348 +msgid "Show Pads Sketch mode" +msgstr "Afficher pastilles en contour" + +#: pcbnew/pcbframe.cpp:463 +#: pcbnew/moduleframe.cpp:349 +msgid "Show pads filled mode" +msgstr "Afficher pastilles en mode plein" + +#: pcbnew/pcbframe.cpp:469 +msgid "Show Tracks Sketch mode" +msgstr "Afficher pistes en contour" + +#: pcbnew/pcbframe.cpp:470 +msgid "Show Tracks filled mode" +msgstr "Afficher pistes en mode plein" + +#: pcbnew/pcbframe.cpp:476 +msgid "Normal Contrast Mode Display" +msgstr "Mode d'affichage Contraste normal" + +#: pcbnew/pcbframe.cpp:483 +msgid "Hide Invisible Text" +msgstr "Cacher textes invisibles" + +#: pcbnew/pcbframe.cpp:528 +msgid "Clearance" +msgstr "Isolation" + +#: pcbnew/pcbframe.cpp:560 +msgid "Via" +msgstr "Via" + +#: pcbnew/pcbframe.cpp:632 +#: pcbnew/moduleframe.cpp:397 +msgid "3D Frame already opened" +msgstr "Fenêtre 3D déjà ouverte" + +#: pcbnew/pcbframe.cpp:636 +#: pcbnew/moduleframe.cpp:401 +msgid "3D Viewer" +msgstr "Visu 3D" #: pcbnew/editedge.cpp:136 msgid "Copper layer global delete not allowed!" @@ -1530,38 +1706,6 @@ msgstr "Place Ancre" msgid "Module Editor: Module modified! Continue?" msgstr "Editeur de Module: Module modifié! Continuer ?" -#: pcbnew/moduleframe.cpp:332 -msgid "Polar Coords not show" -msgstr "Coord Polaires non affichées" - -#: pcbnew/moduleframe.cpp:333 -msgid "Display Polar Coords" -msgstr "Affichage coord Polaires" - -#: pcbnew/moduleframe.cpp:338 -msgid "Grid not show" -msgstr "Grille non montrée" - -#: pcbnew/moduleframe.cpp:338 -msgid "Show Grid" -msgstr "Afficher grille" - -#: pcbnew/moduleframe.cpp:348 -msgid "Show Pads Sketch mode" -msgstr "Afficher pastilles en contour" - -#: pcbnew/moduleframe.cpp:349 -msgid "Show pads filled mode" -msgstr "Afficher pastilles en mode plein" - -#: pcbnew/moduleframe.cpp:397 -msgid "3D Frame already opened" -msgstr "Fenêtre 3D déjà ouverte" - -#: pcbnew/moduleframe.cpp:401 -msgid "3D Viewer" -msgstr "Visu 3D" - #: pcbnew/autorout.cpp:72 msgid "Net not selected" msgstr "Net non sélectionné" @@ -1666,6 +1810,10 @@ msgstr "Vous avez choisi l'option \"non connecté\". Cela créera des blocs non msgid "Seg" msgstr "Seg" +#: pcbnew/class_edge_mod.cpp:237 +msgid "Module" +msgstr "Module" + #: pcbnew/class_edge_mod.cpp:238 msgid "Value" msgstr "Valeur" @@ -1881,186 +2029,198 @@ msgid "Select general options for PCBNEW" msgstr " Sélection options générales pour PCBNEW" #: pcbnew/menubarpcb.cpp:188 +msgid "Copper &Layers" +msgstr "Couches &Cuivre." + +#: pcbnew/menubarpcb.cpp:189 +msgid "Select copper layers count and layers names" +msgstr "Sélection du nombre de couches cuivre et du nom des couches" + +#: pcbnew/menubarpcb.cpp:193 msgid "&Display" msgstr "&Affichage" -#: pcbnew/menubarpcb.cpp:189 +#: pcbnew/menubarpcb.cpp:194 msgid "Select how items (pads, tracks texts ... ) are displayed" msgstr "Sélectionner comment les éléments (pads, pistes, textes ...) sont affichés" -#: pcbnew/menubarpcb.cpp:196 +#: pcbnew/menubarpcb.cpp:201 msgid "&Save Preferences" msgstr "&Sauver Préférences" -#: pcbnew/menubarpcb.cpp:197 +#: pcbnew/menubarpcb.cpp:202 msgid "Save application preferences" msgstr "Sauver les préférences de l'application" -#: pcbnew/menubarpcb.cpp:201 +#: pcbnew/menubarpcb.cpp:206 msgid "&Read Preferences" msgstr "&Lire Préférences" -#: pcbnew/menubarpcb.cpp:202 +#: pcbnew/menubarpcb.cpp:207 msgid "Read application preferences" msgstr "Lire les préférences de l'application" -#: pcbnew/menubarpcb.cpp:212 +#: pcbnew/menubarpcb.cpp:217 msgid "Design Rules" msgstr "Règles de Conception" -#: pcbnew/menubarpcb.cpp:212 +#: pcbnew/menubarpcb.cpp:217 msgid "Open the design rules dialog editor" msgstr "Ouvrir la fenêtre de dialogue de l'éditeur de règles de conception" -#: pcbnew/menubarpcb.cpp:222 +#: pcbnew/menubarpcb.cpp:227 msgid "Tracks and Vias" msgstr "Pistes et Vias" -#: pcbnew/menubarpcb.cpp:223 +#: pcbnew/menubarpcb.cpp:228 msgid "Adjust size and width for tracks and vias" msgstr "Ajuster largeur des pistes et diamètre de vias" -#: pcbnew/menubarpcb.cpp:228 +#: pcbnew/menubarpcb.cpp:233 msgid "Adjust User Grid" msgstr "Ajuster Grille utilisateur" -#: pcbnew/menubarpcb.cpp:233 +#: pcbnew/menubarpcb.cpp:238 msgid "Texts and Drawings" msgstr "Textes et Tracés" -#: pcbnew/menubarpcb.cpp:234 +#: pcbnew/menubarpcb.cpp:239 msgid "Adjust width for texts and drawings" msgstr "Ajuster dims pour textes et graphiques" -#: pcbnew/menubarpcb.cpp:239 +#: pcbnew/menubarpcb.cpp:243 +msgid "Pads" +msgstr "Pads" + +#: pcbnew/menubarpcb.cpp:244 msgid "Adjust size,shape,layers... for pads" msgstr "Ajuster taille, forme, couches... pour pads" -#: pcbnew/menubarpcb.cpp:244 +#: pcbnew/menubarpcb.cpp:249 msgid "&Save Setup" msgstr "&Sauver Options" -#: pcbnew/menubarpcb.cpp:245 +#: pcbnew/menubarpcb.cpp:250 msgid "Save options in current directory" msgstr "Sauver les options en répertoire de travail" -#: pcbnew/menubarpcb.cpp:254 +#: pcbnew/menubarpcb.cpp:259 msgid "Generate &Modules Position" msgstr "Créer &Modules Position" -#: pcbnew/menubarpcb.cpp:255 +#: pcbnew/menubarpcb.cpp:260 msgid "Generate modules position file" msgstr "Gen fichier Position des Modules" -#: pcbnew/menubarpcb.cpp:260 +#: pcbnew/menubarpcb.cpp:265 msgid "Create &Drill File" msgstr "Créer &Fichier de Perçage" -#: pcbnew/menubarpcb.cpp:261 +#: pcbnew/menubarpcb.cpp:266 msgid "Generate excellon2 drill file" msgstr "Créer Fichier de perçage Excellon2" -#: pcbnew/menubarpcb.cpp:266 +#: pcbnew/menubarpcb.cpp:271 msgid "Create &Component File" msgstr "Créer &Fichier Cmp" -#: pcbnew/menubarpcb.cpp:267 +#: pcbnew/menubarpcb.cpp:272 msgid "Recreate .cmp file for CvPcb" msgstr "Recréer le fichier .cmp pour CvPcb" -#: pcbnew/menubarpcb.cpp:272 +#: pcbnew/menubarpcb.cpp:277 msgid "Create &BOM File" msgstr "Créer Fichier Liste du &Matériel" -#: pcbnew/menubarpcb.cpp:273 +#: pcbnew/menubarpcb.cpp:278 msgid "Recreate .csv file for CvPcb" msgstr "Recréer le fichier .csv pour CvPcb" -#: pcbnew/menubarpcb.cpp:282 +#: pcbnew/menubarpcb.cpp:287 msgid "Global &Deletions" msgstr "Effacements &Généraux" -#: pcbnew/menubarpcb.cpp:283 +#: pcbnew/menubarpcb.cpp:288 msgid "Delete tracks, modules, texts... on board" msgstr "Effacer pistes, modules, textes... sur le C.I." -#: pcbnew/menubarpcb.cpp:288 +#: pcbnew/menubarpcb.cpp:293 msgid "&List Nets" msgstr "Liste Equipots" -#: pcbnew/menubarpcb.cpp:289 +#: pcbnew/menubarpcb.cpp:294 msgid "List nets (names and id)" msgstr "Lister équipotentielles (noms et numéros d'identification)" -#: pcbnew/menubarpcb.cpp:294 +#: pcbnew/menubarpcb.cpp:299 msgid "&Track Operations" msgstr "Opéra&tions sur Pistes" -#: pcbnew/menubarpcb.cpp:295 +#: pcbnew/menubarpcb.cpp:300 msgid "Clean stubs, vias, delete break points, or connect dangling tracks to pads and vias" msgstr "Nettoyer bouts de pistes, vias, points inutiles, ou connecter extrémités de pistes mal connectées au centre de pads ou vias" -#: pcbnew/menubarpcb.cpp:300 +#: pcbnew/menubarpcb.cpp:305 msgid "&Swap Layers" msgstr "&Permutte Couches" -#: pcbnew/menubarpcb.cpp:301 +#: pcbnew/menubarpcb.cpp:306 msgid "Swap tracks on copper layers or drawings on others layers" msgstr "Permutation de couches" -#: pcbnew/menubarpcb.cpp:309 +#: pcbnew/menubarpcb.cpp:314 msgid "&Contents" msgstr "&Contenu" -#: pcbnew/menubarpcb.cpp:310 +#: pcbnew/menubarpcb.cpp:315 msgid "Open the PCBNEW manual" msgstr "Ouvrir la Documentation de PCBNEW" -#: pcbnew/menubarpcb.cpp:314 +#: pcbnew/menubarpcb.cpp:319 msgid "&About PCBNEW" msgstr "&Au Sujet de PCBNEW" -#: pcbnew/menubarpcb.cpp:315 +#: pcbnew/menubarpcb.cpp:320 msgid "About PCBNEW printed circuit board designer" msgstr "Au Sujet de PCBNEW outil de conception de C.I." -#: pcbnew/menubarpcb.cpp:324 +#: pcbnew/menubarpcb.cpp:329 msgid "3D Display" msgstr "3D Visu" -#: pcbnew/menubarpcb.cpp:324 +#: pcbnew/menubarpcb.cpp:329 msgid "Show board in 3D viewer" msgstr "Visualisation du circuit en 3D" -#: pcbnew/menubarpcb.cpp:328 +#: pcbnew/menubarpcb.cpp:333 msgid "&File" msgstr "&Fichiers" -#: pcbnew/menubarpcb.cpp:329 +#: pcbnew/menubarpcb.cpp:334 msgid "&Preferences" msgstr "&Préférences" -#: pcbnew/menubarpcb.cpp:330 +#: pcbnew/menubarpcb.cpp:335 msgid "&Design Rules" msgstr "&Règles de Conception" -#: pcbnew/menubarpcb.cpp:331 +#: pcbnew/menubarpcb.cpp:336 msgid "&Dimensions" msgstr "&Dimensions" -#: pcbnew/menubarpcb.cpp:332 +#: pcbnew/menubarpcb.cpp:337 msgid "&Miscellaneous" msgstr "&Divers" -#: pcbnew/menubarpcb.cpp:333 +#: pcbnew/menubarpcb.cpp:338 msgid "P&ostprocess" msgstr "P&ostprocesseurs" -#: pcbnew/menubarpcb.cpp:334 +#: pcbnew/menubarpcb.cpp:339 msgid "&3D Display" msgstr "&3D Visu" -#: pcbnew/menubarpcb.cpp:335 +#: pcbnew/menubarpcb.cpp:340 msgid "&Help" msgstr "&Aide" @@ -2167,74 +2327,6 @@ msgstr "Valeur incorrecte pour offset du pad" msgid "Unknown netname, no change" msgstr "Net inconnu, pas de changement" -#: pcbnew/pcbframe.cpp:319 -msgid "Board modified, Save before exit ?" -msgstr "Circuit Imprimé modifié, Sauver avant de quitter ?" - -#: pcbnew/pcbframe.cpp:320 -msgid "Confirmation" -msgstr "Confirmation" - -#: pcbnew/pcbframe.cpp:411 -msgid "DRC Off (Disable !!!), Currently: DRC is active" -msgstr "DRC off (désactivée !!!), actuellement DRC active" - -#: pcbnew/pcbframe.cpp:412 -msgid "DRC On (Currently: DRC is inactive !!!)" -msgstr "DRC On (Actuellement, DRC désactivée !!!)" - -#: pcbnew/pcbframe.cpp:438 -msgid "Hide General ratsnest" -msgstr "Ne pas afficher le chevelu général" - -#: pcbnew/pcbframe.cpp:439 -msgid "Show General ratsnest" -msgstr "Afficher le chevelu général" - -#: pcbnew/pcbframe.cpp:445 -msgid "Hide Module ratsnest" -msgstr "Ne pas montrer le chevelu du module" - -#: pcbnew/pcbframe.cpp:446 -msgid "Show Module ratsnest" -msgstr "Montrer le chevelu du module" - -#: pcbnew/pcbframe.cpp:453 -msgid "Disable Auto Delete old Track" -msgstr "Ne pas Autoriser l'effacement automatique des pistes" - -#: pcbnew/pcbframe.cpp:454 -msgid "Enable Auto Delete old Track" -msgstr "Autoriser l'effacement automatique des pistes" - -#: pcbnew/pcbframe.cpp:468 -msgid "Show Tracks Sketch mode" -msgstr "Afficher pistes en contour" - -#: pcbnew/pcbframe.cpp:469 -msgid "Show Tracks filled mode" -msgstr "Afficher pistes en mode plein" - -#: pcbnew/pcbframe.cpp:475 -msgid "Normal Contrast Mode Display" -msgstr "Mode d'affichage Contraste normal" - -#: pcbnew/pcbframe.cpp:482 -msgid "Hide Invisible Text" -msgstr "Cacher textes invisibles" - -#: pcbnew/pcbframe.cpp:495 -msgid "Track" -msgstr "Piste" - -#: pcbnew/pcbframe.cpp:527 -msgid "Clearance" -msgstr "Isolation" - -#: pcbnew/pcbframe.cpp:559 -msgid "Via" -msgstr "Via" - #: pcbnew/clean.cpp:183 msgid "Delete unconnected tracks:" msgstr "Suppression Pistes non connectées:" @@ -2291,37 +2383,17 @@ msgstr "Max" msgid "Segm" msgstr "Segm" -#: pcbnew/autoplac.cpp:105 -msgid "Footprints NOT LOCKED will be moved" -msgstr "Les modules NON FIXES vont être déplacés" +#: pcbnew/initpcb.cpp:46 +msgid "Ok to delete selected items ?" +msgstr "Ok pour effacer les éléments sélectionnés ?" -#: pcbnew/autoplac.cpp:110 -msgid "Footprints NOT PLACED will be moved" -msgstr "Les modules NON PLACES vont être déplacés" +#: pcbnew/initpcb.cpp:155 +msgid "Current Board will be lost and this operation and cannot be undone. Continue ?" +msgstr "Le circuit actuel sera perdu et cette opération ne pourra pas être annulée. Continuer ?" -#: pcbnew/autoplac.cpp:401 -msgid "No edge PCB, Unknown board size!" -msgstr "Pas de contour PCB, la taille du PCB est inconnue!" - -#: pcbnew/autoplac.cpp:422 -msgid "Cols" -msgstr "Cols" - -#: pcbnew/autoplac.cpp:424 -msgid "Lines" -msgstr "Lignes" - -#: pcbnew/autoplac.cpp:426 -msgid "Cells." -msgstr "Cells." - -#: pcbnew/autoplac.cpp:487 -msgid "Loop" -msgstr "Itération" - -#: pcbnew/autoplac.cpp:639 -msgid "Ok to abort ?" -msgstr "Ok pour arrêter ?" +#: pcbnew/initpcb.cpp:212 +msgid "Current Footprint will be lost and this operation and cannot be undone. Continue ?" +msgstr "Le module actuel sera perdu et cette opération ne pourra pas être annulée. Continuer ?" #: pcbnew/pcbplot.cpp:178 #: pcbnew/pcbplot.cpp:328 @@ -2566,6 +2638,25 @@ msgstr "Attention: option d'échelle ajustée à une valeur très grande" msgid "No layer selected" msgstr "Pas de couche sélectionnée" +#: pcbnew/dialog_drc.cpp:129 +#: pcbnew/dialog_drc.cpp:210 +#, c-format +msgid "Report file \"%s\" created" +msgstr "Fichier rapport \"%s\" créé" + +#: pcbnew/dialog_drc.cpp:131 +#: pcbnew/dialog_drc.cpp:211 +msgid "Disk File Report Completed" +msgstr "Fichier rapport terminé" + +#: pcbnew/dialog_drc.cpp:231 +msgid "DRC report files (.rpt)|*.rpt" +msgstr "Fichier rapport DRC (.rpt)|*.rpt" + +#: pcbnew/dialog_drc.cpp:237 +msgid "Save DRC Report File" +msgstr "Sauver Fichier Rapport DRC:" + #: pcbnew/edgemod.cpp:191 msgid "The graphic item will be on a copper layer.It is very dangerous. Are you sure" msgstr "L'élément graphique sera sur une couche cuivre. C'est très dangereux. Etes vous sûr" @@ -2621,18 +2712,10 @@ msgstr "(Cutout)" msgid "Not Found" msgstr " Non Trouvé" -#: pcbnew/class_zone.cpp:944 -msgid "NetName" -msgstr "NetName" - #: pcbnew/class_zone.cpp:947 msgid "Non Copper Zone" msgstr "Zone non Cuivre" -#: pcbnew/class_zone.cpp:952 -msgid "NetCode" -msgstr "NetCode" - #: pcbnew/class_zone.cpp:960 msgid "Corners" msgstr "Sommets" @@ -2697,101 +2780,6 @@ msgstr "Créer Fichier " msgid " error" msgstr " erreur" -#: pcbnew/dialog_drc_base.cpp:25 -msgid "Options" -msgstr "Options" - -#: pcbnew/dialog_drc_base.cpp:40 -#: pcbnew/dialog_drc_base.cpp:49 -#: pcbnew/dialog_drc_base.cpp:61 -#: pcbnew/dialog_drc_base.cpp:70 -msgid "In the clearance units, enter the clearance distance" -msgstr "Entrée l'isolation" - -#: pcbnew/dialog_drc_base.cpp:44 -msgid "Via Min Size" -msgstr "Via Taille Min" - -#: pcbnew/dialog_drc_base.cpp:54 -msgid "Track Min Width" -msgstr "Epais.Mini Piste" - -#: pcbnew/dialog_drc_base.cpp:65 -msgid "MicroVia Min Size" -msgstr "Diam. Mini MicroVia" - -#: pcbnew/dialog_drc_base.cpp:77 -msgid "Create Report File" -msgstr "Créer fichier rapport " - -#: pcbnew/dialog_drc_base.cpp:81 -msgid "Enable writing report to this file" -msgstr "Autoriser l'écriture du rapport dans ce fichier" - -#: pcbnew/dialog_drc_base.cpp:86 -msgid "Enter the report filename" -msgstr "Entrer le nom du fichier rapport " - -#: pcbnew/dialog_drc_base.cpp:91 -msgid "..." -msgstr "..." - -#: pcbnew/dialog_drc_base.cpp:103 -msgid "Messages:" -msgstr "Messages:" - -#: pcbnew/dialog_drc_base.cpp:117 -msgid "Start DRC" -msgstr "Démarrer DRC" - -#: pcbnew/dialog_drc_base.cpp:119 -msgid "Start the Design Rule Checker" -msgstr "Démarrer le Contrôle des Règles de Conception (DRC)" - -#: pcbnew/dialog_drc_base.cpp:123 -msgid "List Unconnected" -msgstr "Liste Non Conn." - -#: pcbnew/dialog_drc_base.cpp:124 -msgid "List unconnected pads or tracks" -msgstr "Lister pads ou pistes non connectées" - -#: pcbnew/dialog_drc_base.cpp:128 -msgid "Delete All Markers" -msgstr "Effacer tous les Marqueurs" - -#: pcbnew/dialog_drc_base.cpp:129 -msgid "Delete every marker" -msgstr "Effacer Chaque Marqueur" - -#: pcbnew/dialog_drc_base.cpp:133 -msgid "Delete Current Marker" -msgstr "Effacer Marqueur Courant" - -#: pcbnew/dialog_drc_base.cpp:134 -msgid "Delete the marker selected in the listBox below" -msgstr "Supprimer le marqueur sélectionné dans la liste ci dessous" - -#: pcbnew/dialog_drc_base.cpp:142 -msgid "Error Messages:" -msgstr "Messages d'Erreur:" - -#: pcbnew/dialog_drc_base.cpp:152 -msgid "MARKERs, double click any to go there in PCB, right click for popup menu" -msgstr "MARQUEURS, double clic pour aller sur le PCB, clic droit pour ouvrir menu" - -#: pcbnew/dialog_drc_base.cpp:160 -msgid "Distance Problem Markers" -msgstr "Marqueurs de problèmes de distance" - -#: pcbnew/dialog_drc_base.cpp:166 -msgid "A list of unconnected pads, right click for popup menu" -msgstr "Pour une liste de pads non connecté, clic droit pour ouvrir un menu" - -#: pcbnew/dialog_drc_base.cpp:173 -msgid "Unconnected" -msgstr "Non connecté" - #: pcbnew/dialog_track_options_base.cpp:27 msgid "Vias:" msgstr "Vias:" @@ -2984,25 +2972,6 @@ msgstr "Fichiers rapport de perçage (.rpt)*.rpt" msgid "Save Drill Report File" msgstr "Sauver Fichier Rapport de Perçage" -#: pcbnew/dialog_drc.cpp:130 -#: pcbnew/dialog_drc.cpp:211 -#, c-format -msgid "Report file \"%s\" created" -msgstr "Fichier rapport \"%s\" créé" - -#: pcbnew/dialog_drc.cpp:132 -#: pcbnew/dialog_drc.cpp:212 -msgid "Disk File Report Completed" -msgstr "Fichier rapport terminé" - -#: pcbnew/dialog_drc.cpp:232 -msgid "DRC report files (.rpt)|*.rpt" -msgstr "Fichier rapport DRC (.rpt)|*.rpt" - -#: pcbnew/dialog_drc.cpp:238 -msgid "Save DRC Report File" -msgstr "Sauver Fichier Rapport DRC:" - #: pcbnew/surbrill.cpp:34 msgid "Filter for net names:" msgstr "Filtre pour nets:" @@ -3127,6 +3096,47 @@ msgstr "Supprimer Module" msgid "Value " msgstr "Valeur " +#: pcbnew/pcbcfg.cpp:82 +msgid "Read Project File" +msgstr "Lire Fichier Projet" + +#: pcbnew/pcbcfg.cpp:92 +#, c-format +msgid "File %s not found" +msgstr "Fichier %s non trouvé" + +#: pcbnew/pcbcfg.cpp:235 +msgid "Save Project File" +msgstr "Sauver Fichier Projet" + +#: pcbnew/class_board.cpp:44 +msgid "This is the default net class." +msgstr "" + +#: pcbnew/class_board.cpp:545 +msgid "Vias" +msgstr "Vias" + +#: pcbnew/class_board.cpp:548 +msgid "Nodes" +msgstr "Nodes" + +#: pcbnew/class_board.cpp:551 +msgid "Nets" +msgstr "Nets" + +#: pcbnew/class_board.cpp:559 +msgid "Links" +msgstr "Liens" + +#: pcbnew/class_board.cpp:562 +msgid "Connect" +msgstr "Connect" + +#: pcbnew/class_board.cpp:565 +msgid "NoConn" +msgstr "Non Conn" + #: pcbnew/class_text_mod.cpp:459 msgid "Ref." msgstr "Ref." @@ -3152,6 +3162,10 @@ msgstr "Non" msgid " Yes" msgstr "Oui" +#: pcbnew/class_text_mod.cpp:498 +msgid "Orient" +msgstr "Orient" + #: pcbnew/class_text_mod.cpp:504 msgid "H Size" msgstr "Taille H" @@ -3189,37 +3203,30 @@ msgid "Edit All Track Sizes" msgstr "Editer TOUTES Pistes" #: pcbnew/dialog_non_copper_zones_properties_base.cpp:28 -#: pcbnew/dialog_copper_zones_base.cpp:38 msgid "Zone Fill Options:" msgstr "Options Remplissage Zone:" #: pcbnew/dialog_non_copper_zones_properties_base.cpp:30 -#: pcbnew/dialog_copper_zones_base.cpp:40 msgid "Use polygons" msgstr "Utiliser des polygones" #: pcbnew/dialog_non_copper_zones_properties_base.cpp:30 -#: pcbnew/dialog_copper_zones_base.cpp:40 msgid "Use segments" msgstr "Utiliser des segments" #: pcbnew/dialog_non_copper_zones_properties_base.cpp:32 -#: pcbnew/dialog_copper_zones_base.cpp:42 msgid "Filling Mode:" msgstr "Mode de Remplissage:" #: pcbnew/dialog_non_copper_zones_properties_base.cpp:36 -#: pcbnew/dialog_copper_zones_base.cpp:125 msgid "Zone min thickness value" msgstr "Valeur épaisseur min pour zone" #: pcbnew/dialog_non_copper_zones_properties_base.cpp:46 -#: pcbnew/dialog_copper_zones_base.cpp:99 msgid "Outlines Options:" msgstr "Options des Contours:" #: pcbnew/dialog_non_copper_zones_properties_base.cpp:48 -#: pcbnew/dialog_copper_zones_base.cpp:101 msgid "Any" msgstr "Tout" @@ -3886,6 +3893,7 @@ msgid "Export this zone setup to all other copper zones" msgstr "Exporter ces options vers les autres zones de cuivre" #: pcbnew/dialog_copper_zones_base.cpp:155 +#: pcbnew/dialog_pad_properties_base.cpp:91 msgid "Ok" msgstr "Ok" @@ -4012,10 +4020,6 @@ msgstr "Orient pad:" msgid "Pad Orient (0.1 deg)" msgstr "Orient. Pad (0.1 deg)" -#: pcbnew/dialog_pad_properties_base.cpp:80 -msgid "Standard" -msgstr "Standard" - #: pcbnew/dialog_pad_properties_base.cpp:80 msgid "SMD" msgstr "CMS" @@ -4085,31 +4089,6 @@ msgstr "couche E.C.O.2" msgid "Draft layer" msgstr "Couche dessin" -#: pcbnew/dialog_design_rules.cpp:321 -msgid "Errors detected, Abort" -msgstr "Erreurs detectées, Abandont" - -#: pcbnew/dialog_design_rules.cpp:377 -msgid "New Net Class Name:" -msgstr "Nouveau Nom de Classe d'Equipotentielle:" - -#: pcbnew/dialog_design_rules.cpp:390 -msgid "This NetClass is already existing, cannot add it; Aborted" -msgstr "Cette NetClass existe déjà, et ne peut être ajoutée; Abandon" - -#: pcbnew/dialog_design_rules.cpp:571 -#, c-format -msgid "This layer name %s is already existing
" -msgstr "Ce nom de couche %s existe déjà
" - -#: pcbnew/dialog_design_rules.cpp:595 -msgid "The track minimum size is bigger than the size
" -msgstr "La tracktaille minimum est plus grande que la taille
" - -#: pcbnew/dialog_design_rules.cpp:609 -msgid "The via minimum size is bigger than the size
" -msgstr "La taille minimum deviaest plus grande que la taille
" - #: pcbnew/class_pad.cpp:380 msgid "Unknown Pad shape" msgstr "Forme Pad inconnue" @@ -4122,10 +4101,6 @@ msgstr "RefP" msgid "Net" msgstr "Net" -#: pcbnew/class_pad.cpp:577 -msgid "Drill" -msgstr "Perçage" - #: pcbnew/class_pad.cpp:585 msgid "Drill X / Y" msgstr "Perçage X/Y" @@ -4218,40 +4193,102 @@ msgstr "" "Entrez un nom de fichier si vous ne voulez pas utiliser les noms par défaut\n" "Ne peut être utilisé que pour imprimer la feuille courante" -#: pcbnew/specctra_export.cpp:66 -msgid "Specctra DSN file:" -msgstr "Fichier Specctra DSN" +#: pcbnew/dialog_SVG_print_base.cpp:97 +#: pcbnew/dialog_drc_base.cpp:102 +msgid "Messages:" +msgstr "Messages:" -#: pcbnew/specctra_export.cpp:124 -msgid "BOARD exported OK." -msgstr "PCB exporté Ok." +#: pcbnew/dialog_drc_base.cpp:25 +msgid "Options" +msgstr "Options" -#: pcbnew/specctra_export.cpp:129 -msgid "Unable to export, please fix and try again." -msgstr "Impossible d'exporter, fixer le problème et recommencer" +#: pcbnew/dialog_drc_base.cpp:40 +#: pcbnew/dialog_drc_base.cpp:49 +#: pcbnew/dialog_drc_base.cpp:61 +#: pcbnew/dialog_drc_base.cpp:70 +msgid "In the clearance units, enter the clearance distance" +msgstr "Entrée l'isolation" -#: pcbnew/specctra_export.cpp:780 -#, c-format -msgid "Unsupported DRAWSEGMENT type %s" -msgstr "DRAWSEGMENT type %s non supporté" +#: pcbnew/dialog_drc_base.cpp:44 +msgid "Via Min Size" +msgstr "Via Taille Min" -#: pcbnew/specctra_export.cpp:815 -msgid "Unable to find the next segment with an endpoint of " -msgstr "Impossible de trouver le segment suivant avec une extrémité à " +#: pcbnew/dialog_drc_base.cpp:54 +msgid "Track Min Width" +msgstr "Epais.Mini Piste" -#: pcbnew/specctra_export.cpp:818 -msgid "Edit Edges_Pcb segments, making them contiguous." -msgstr "Modifier les segments du contour PCB pour les rendre contigus." +#: pcbnew/dialog_drc_base.cpp:65 +msgid "MicroVia Min Size" +msgstr "Diam. Mini MicroVia" -#: pcbnew/specctra_export.cpp:870 -#, c-format -msgid "Component with value of \"%s\" has empty reference id." -msgstr "Le composant avec valeur \"%s\" a une référence vide." +#: pcbnew/dialog_drc_base.cpp:77 +msgid "Create Report File" +msgstr "Créer fichier rapport " -#: pcbnew/specctra_export.cpp:878 -#, c-format -msgid "Multiple components have identical reference IDs of \"%s\"." -msgstr "Multiple composants ont une reference identique \"%s\"." +#: pcbnew/dialog_drc_base.cpp:80 +msgid "Enable writing report to this file" +msgstr "Autoriser l'écriture du rapport dans ce fichier" + +#: pcbnew/dialog_drc_base.cpp:85 +msgid "Enter the report filename" +msgstr "Entrer le nom du fichier rapport " + +#: pcbnew/dialog_drc_base.cpp:90 +msgid "..." +msgstr "..." + +#: pcbnew/dialog_drc_base.cpp:116 +msgid "Start DRC" +msgstr "Démarrer DRC" + +#: pcbnew/dialog_drc_base.cpp:118 +msgid "Start the Design Rule Checker" +msgstr "Démarrer le Contrôle des Règles de Conception (DRC)" + +#: pcbnew/dialog_drc_base.cpp:122 +msgid "List Unconnected" +msgstr "Liste Non Conn." + +#: pcbnew/dialog_drc_base.cpp:123 +msgid "List unconnected pads or tracks" +msgstr "Lister pads ou pistes non connectées" + +#: pcbnew/dialog_drc_base.cpp:127 +msgid "Delete All Markers" +msgstr "Effacer tous les Marqueurs" + +#: pcbnew/dialog_drc_base.cpp:128 +msgid "Delete every marker" +msgstr "Effacer Chaque Marqueur" + +#: pcbnew/dialog_drc_base.cpp:132 +msgid "Delete Current Marker" +msgstr "Effacer Marqueur Courant" + +#: pcbnew/dialog_drc_base.cpp:133 +msgid "Delete the marker selected in the listBox below" +msgstr "Supprimer le marqueur sélectionné dans la liste ci dessous" + +#: pcbnew/dialog_drc_base.cpp:141 +msgid "Error Messages:" +msgstr "Messages d'Erreur:" + +#: pcbnew/dialog_drc_base.cpp:151 +msgid "MARKERs, double click any to go there in PCB, right click for popup menu" +msgstr "MARQUEURS, double clic pour aller sur le PCB, clic droit pour ouvrir menu" + +#: pcbnew/dialog_drc_base.cpp:159 +#, fuzzy +msgid "Problems / Markers" +msgstr "Marqueurs de problèmes de distance" + +#: pcbnew/dialog_drc_base.cpp:165 +msgid "A list of unconnected pads, right click for popup menu" +msgstr "Pour une liste de pads non connecté, clic droit pour ouvrir un menu" + +#: pcbnew/dialog_drc_base.cpp:172 +msgid "Unconnected" +msgstr "Non connecté" #: pcbnew/dialog_graphic_item_properties.cpp:86 #: pcbnew/dialog_graphic_item_properties.cpp:95 @@ -4338,41 +4375,6 @@ msgstr "Le fichier Session a une 'reference' à 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/drc.cpp:201 -msgid "Compile Ratsnest" -msgstr "Calcul du chevelu" - -#: pcbnew/drc.cpp:204 -#: pcbnew/drc.cpp:228 -msgid " Ok\n" -msgstr " Ok\n" - -#: pcbnew/drc.cpp:213 -msgid "Test pads to pads clearance" -msgstr "Test isolation pad a pad" - -#: pcbnew/drc.cpp:216 -#: pcbnew/drc.cpp:235 -#: pcbnew/drc.cpp:244 -msgid "\n" -msgstr "\n" - -#: pcbnew/drc.cpp:225 -msgid "Fill zones" -msgstr "Remplissage Zones" - -#: pcbnew/drc.cpp:232 -msgid "Test zones" -msgstr "Test zones" - -#: pcbnew/drc.cpp:241 -msgid "List unconnected pads" -msgstr "Liste pads non connectés" - -#: pcbnew/drc.cpp:250 -msgid "Finished\n" -msgstr "Fini\n" - #: pcbnew/muwave_command.cpp:52 msgid "Add Line" msgstr "Addition de lignes" @@ -4520,11 +4522,6 @@ msgstr "Graphique" msgid "Not on copper layer" msgstr "Pas sur Couches Cuivre" -#: pcbnew/class_board_item.cpp:169 -#: pcbnew/class_track.cpp:904 -msgid "Zone" -msgstr "Zone" - #: pcbnew/class_board_item.cpp:191 msgid "Blind/Buried" msgstr "Borgne/Aveugle" @@ -4715,8 +4712,6 @@ msgstr "Si activé, utiliser 2 segments de piste, avec un angle de 45 degrés en #: pcbnew/dialog_general_options_BoardEditor_base.cpp:136 #: pcbnew/dialog_general_options_BoardEditor_base.cpp:144 -#: pcbnew/dialog_display_options_base.cpp:30 -#: pcbnew/dialog_display_options_base.cpp:38 msgid "Never" msgstr "Jamais" @@ -4727,8 +4722,6 @@ msgstr "En création de pistes" #: pcbnew/dialog_general_options_BoardEditor_base.cpp:136 #: pcbnew/dialog_general_options_BoardEditor_base.cpp:144 -#: pcbnew/dialog_display_options_base.cpp:30 -#: pcbnew/dialog_display_options_base.cpp:38 msgid "Always" msgstr "Toujours" @@ -4804,6 +4797,31 @@ msgstr "Texte PCB" msgid "Netlist Selection:" msgstr "Sélection de la netliste" +#: pcbnew/dialog_design_rules.cpp:56 +msgid "* (Any)" +msgstr "* (Tout)" + +#: pcbnew/dialog_design_rules.cpp:76 +msgid "Class" +msgstr "Classe" + +#: pcbnew/dialog_design_rules.cpp:386 +msgid "Errors detected, Abort" +msgstr "Erreurs detectées, Abandont" + +#: pcbnew/dialog_design_rules.cpp:402 +msgid "New Net Class Name:" +msgstr "Nouveau Nom de Classe d'Equipotentielle:" + +#: pcbnew/dialog_design_rules.cpp:415 +msgid "This NetClass is already existing, cannot add it; Aborted" +msgstr "Cette NetClass existe déjà, et ne peut être ajoutée; Abandon" + +#: pcbnew/dialog_design_rules.cpp:640 +#, c-format +msgid "%s: Via DrillVia Dia
" +msgstr "" + #: pcbnew/dialog_print_using_printer_base.cpp:35 msgid "Exclude Edges_Pcb Layer" msgstr "Exclure Couche Contours PCB" @@ -4976,21 +4994,93 @@ msgstr "Recalculer le chevelu complet ( utile après une édition manuelle de no msgid "Netlist File:" msgstr "Fichier Netliste:" -#: pcbnew/class_track.cpp:952 -msgid "Flags" -msgstr "Flags" +#: pcbnew/drc.cpp:202 +msgid "Compile ratsnest...\n" +msgstr "Calcul du chevelu...\n" -#: pcbnew/class_track.cpp:990 -msgid "Diam" -msgstr "Diam" +#: pcbnew/drc.cpp:218 +msgid "Aborting\n" +msgstr "Arrêt\n" -#: pcbnew/class_track.cpp:1002 -msgid "(Specific)" -msgstr "(Specifique)" +#: pcbnew/drc.cpp:231 +#, fuzzy +msgid "Pad clearances...\n" +msgstr "Retrait Masque" -#: pcbnew/class_track.cpp:1004 -msgid "(Default)" -msgstr "(Défaut)" +#: pcbnew/drc.cpp:241 +#, fuzzy +msgid "Track clearances...\n" +msgstr "Retrait Masque" + +#: pcbnew/drc.cpp:251 +msgid "Fill zones...\n" +msgstr "Remplissage zones...\n" + +#: pcbnew/drc.cpp:259 +msgid "Test zones...\n" +msgstr "Test zones...\n" + +#: pcbnew/drc.cpp:270 +msgid "Unconnected pads...\n" +msgstr "Pads non connectés...\n" + +#: pcbnew/drc.cpp:284 +msgid "Finished" +msgstr "Fini" + +#: pcbnew/drc.cpp:325 +#, c-format +msgid "NETCLASS: '%s' has Clearance:%s which is less than global:%s" +msgstr "" + +#: pcbnew/drc.cpp:339 +#, c-format +msgid "NETCLASS: '%s' has TrackWidth:%s which is less than global:%s" +msgstr "" + +#: pcbnew/drc.cpp:353 +#, c-format +msgid "NETCLASS: '%s' has Via Dia:%s which is less than global:%s" +msgstr "" + +#: pcbnew/drc.cpp:367 +#, c-format +msgid "NETCLASS: '%s' has Via Drill:%s which is less than global:%s" +msgstr "" + +#: pcbnew/drc.cpp:381 +#, c-format +msgid "NETCLASS: '%s' has uVia Dia:%s which is less than global:%s" +msgstr "" + +#: pcbnew/drc.cpp:395 +#, c-format +msgid "NETCLASS: '%s' has uVia Drill:%s which is less than global:%s" +msgstr "" + +#: pcbnew/class_module.cpp:824 +msgid "Last Change" +msgstr "Last Change" + +#: pcbnew/class_module.cpp:830 +msgid "Netlist path" +msgstr "Chemin Netliste " + +#: pcbnew/class_module.cpp:868 +msgid "No 3D shape" +msgstr "Pas de forme 3D" + +#: pcbnew/class_module.cpp:869 +msgid "3D-Shape" +msgstr "Forme 3D" + +#: pcbnew/class_module.cpp:872 +msgid "Doc: " +msgstr "Doc: " + +#: pcbnew/class_module.cpp:873 +msgid "KeyW: " +msgstr "KeyW: " #: pcbnew/class_netinfo_item.cpp:142 msgid "Net Name" @@ -5000,10 +5090,6 @@ msgstr "Nom Equipot" msgid "Net Code" msgstr "Net Code" -#: pcbnew/class_netinfo_item.cpp:174 -msgid "Vias" -msgstr "Vias" - #: pcbnew/class_netinfo_item.cpp:177 msgid "Net Length" msgstr "Long. Net" @@ -5217,26 +5303,6 @@ msgstr "Change Perçage" msgid "Change Orientation" msgstr "Change Orientation" -#: pcbnew/class_board.cpp:543 -msgid "Nodes" -msgstr "Nodes" - -#: pcbnew/class_board.cpp:546 -msgid "Nets" -msgstr "Nets" - -#: pcbnew/class_board.cpp:554 -msgid "Links" -msgstr "Liens" - -#: pcbnew/class_board.cpp:557 -msgid "Connect" -msgstr "Connect" - -#: pcbnew/class_board.cpp:560 -msgid "NoConn" -msgstr "Non Conn" - #: pcbnew/dialog_pcbnew_config_libs_and_paths.cpp:40 msgid "from " msgstr "De " @@ -5283,7 +5349,6 @@ msgstr "" #: pcbnew/dialog_pcbnew_config_libs_and_paths_fbp.cpp:36 #: pcbnew/dialog_pcbnew_config_libs_and_paths_fbp.cpp:83 -#: pcbnew/dialog_design_rules_base.cpp:134 msgid "Add" msgstr "Ajouter" @@ -5302,7 +5367,6 @@ msgstr "Ajouter une nouvelle librairie avant la librairie sélectionnée, et la #: pcbnew/dialog_pcbnew_config_libs_and_paths_fbp.cpp:46 #: pcbnew/dialog_pcbnew_config_libs_and_paths_fbp.cpp:89 -#: pcbnew/dialog_design_rules_base.cpp:137 msgid "Remove" msgstr "Enlever" @@ -5360,126 +5424,6 @@ msgstr "Il y a un problème d'impression" msgid "Print page %d" msgstr "Imprimer page %d" -#: pcbnew/dialog_design_rules_base.cpp:26 -msgid "Layers Count" -msgstr "Nombre de Couches" - -#: pcbnew/dialog_design_rules_base.cpp:46 -msgid "Active" -msgstr "Active" - -#: pcbnew/dialog_design_rules_base.cpp:47 -msgid "Status" -msgstr "Status" - -#: pcbnew/dialog_design_rules_base.cpp:48 -msgid "Name" -msgstr "Nom" - -#: pcbnew/dialog_design_rules_base.cpp:56 -msgid "Inner 14" -msgstr "Interne 14" - -#: pcbnew/dialog_design_rules_base.cpp:57 -msgid "Inner 13" -msgstr "Interne 13" - -#: pcbnew/dialog_design_rules_base.cpp:58 -msgid "Inner 12" -msgstr "Interne 12" - -#: pcbnew/dialog_design_rules_base.cpp:59 -msgid "Inner 11" -msgstr "Interne 11" - -#: pcbnew/dialog_design_rules_base.cpp:60 -msgid "Inner 10" -msgstr "Interne 10" - -#: pcbnew/dialog_design_rules_base.cpp:61 -msgid "Inner 9" -msgstr "Interne 9" - -#: pcbnew/dialog_design_rules_base.cpp:62 -msgid "Inner 8" -msgstr "Interne 8" - -#: pcbnew/dialog_design_rules_base.cpp:63 -msgid "Inner 7" -msgstr "Interne 7" - -#: pcbnew/dialog_design_rules_base.cpp:64 -msgid "Inner 6" -msgstr "Interne 6" - -#: pcbnew/dialog_design_rules_base.cpp:65 -msgid "Inner 5" -msgstr "Interne 5" - -#: pcbnew/dialog_design_rules_base.cpp:66 -msgid "Inner 4" -msgstr "Interne 4" - -#: pcbnew/dialog_design_rules_base.cpp:67 -msgid "Inner 3" -msgstr "Interne 3" - -#: pcbnew/dialog_design_rules_base.cpp:68 -msgid "Inner 2" -msgstr "Interne 2" - -#: pcbnew/dialog_design_rules_base.cpp:69 -msgid "Inner 1" -msgstr "Interne 1" - -#: pcbnew/dialog_design_rules_base.cpp:82 -msgid "Layers" -msgstr "Couches" - -#: pcbnew/dialog_design_rules_base.cpp:88 -msgid "Net classes:" -msgstr "Classes d'Equipotentielles:" - -#: pcbnew/dialog_design_rules_base.cpp:108 -msgid "Track size" -msgstr "Largeur piste" - -#: pcbnew/dialog_design_rules_base.cpp:109 -msgid "Vias size" -msgstr "Diamètre via" - -#: pcbnew/dialog_design_rules_base.cpp:111 -msgid "Track Min Size" -msgstr "Taille Min Piste" - -#: pcbnew/dialog_design_rules_base.cpp:119 -msgid "Default" -msgstr "Défaut" - -#: pcbnew/dialog_design_rules_base.cpp:120 -msgid "Special" -msgstr "Special" - -#: pcbnew/dialog_design_rules_base.cpp:163 -msgid "<<<" -msgstr "<<<" - -#: pcbnew/dialog_design_rules_base.cpp:166 -msgid ">>>" -msgstr ">>>" - -#: pcbnew/dialog_design_rules_base.cpp:172 -msgid "<< Select All" -msgstr "<< Selectionner Tout" - -#: pcbnew/dialog_design_rules_base.cpp:175 -msgid "Select All >>" -msgstr "Selectionner Tout >>" - -#: pcbnew/dialog_design_rules_base.cpp:200 -msgid "Net Classes" -msgstr "Classes d'Equipots." - #: pcbnew/tool_modedit.cpp:42 msgid "Select working library" msgstr "Sélection de la librairie de travail" @@ -5866,136 +5810,278 @@ msgstr "Y" msgid "Change Module(s)" msgstr "Change module(s)" +#: pcbnew/dialog_design_rules_base.cpp:20 +msgid "Net Classes:" +msgstr "Classes d'Equipots:" + +#: pcbnew/dialog_design_rules_base.cpp:42 +msgid "Via Dia" +msgstr "Diamètre Via" + +#: pcbnew/dialog_design_rules_base.cpp:43 +msgid "Via Drill" +msgstr "Perçage Via" + +#: pcbnew/dialog_design_rules_base.cpp:44 +msgid "uVia Dia" +msgstr "Diamètre µVia" + +#: pcbnew/dialog_design_rules_base.cpp:45 +msgid "uVia Drill" +msgstr " Perçage µVia" + +#: pcbnew/dialog_design_rules_base.cpp:52 +msgid "Default" +msgstr "Défaut" + +#: pcbnew/dialog_design_rules_base.cpp:59 +#, fuzzy +msgid "Net Class parameters" +msgstr "Classes d'Equipots." + +#: pcbnew/dialog_design_rules_base.cpp:68 +msgid "Add another Net Class" +msgstr "" + +#: pcbnew/dialog_design_rules_base.cpp:73 +#, fuzzy +msgid "Remove the currently select Net Class" +msgstr "Le texte (ou la valeur) du champ actuellement sélectionné" + +#: pcbnew/dialog_design_rules_base.cpp:77 +msgid "Move Up" +msgstr "Vers le haut ^" + +#: pcbnew/dialog_design_rules_base.cpp:78 +#, fuzzy +msgid "Move the currently selected Net Class up one row" +msgstr "Déplacer le champ optionnel sélectionné de une position vers le haut" + +#: pcbnew/dialog_design_rules_base.cpp:87 +msgid "Membership:" +msgstr "" + +#: pcbnew/dialog_design_rules_base.cpp:107 +msgid "<<<" +msgstr "<<<" + +#: pcbnew/dialog_design_rules_base.cpp:110 +msgid ">>>" +msgstr ">>>" + +#: pcbnew/dialog_design_rules_base.cpp:116 +msgid "<< Select All" +msgstr "<< Selectionner Tout" + +#: pcbnew/dialog_design_rules_base.cpp:119 +msgid "Select All >>" +msgstr "Selectionner Tout >>" + #: pcbnew/zones_by_polygon_fill_functions.cpp:130 msgid "No Net" msgstr "No Net" -#: eeschema/tool_lib.cpp:46 -msgid "deselect current tool" +#: pcbnew/dialog_copper_layers_setup.cpp:207 +#, c-format +msgid "This layer name %s is already existing
" +msgstr "Ce nom de couche %s existe déjà
" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:24 +msgid "Layers Count" +msgstr "Nombre de Couches" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:44 +msgid "Active" +msgstr "Active" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:45 +msgid "Status" +msgstr "Status" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:46 +msgid "Name" +msgstr "Nom" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:54 +msgid "Inner 14" +msgstr "Interne 14" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:55 +msgid "Inner 13" +msgstr "Interne 13" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:56 +msgid "Inner 12" +msgstr "Interne 12" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:57 +msgid "Inner 11" +msgstr "Interne 11" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:58 +msgid "Inner 10" +msgstr "Interne 10" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:59 +msgid "Inner 9" +msgstr "Interne 9" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:60 +msgid "Inner 8" +msgstr "Interne 8" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:61 +msgid "Inner 7" +msgstr "Interne 7" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:62 +msgid "Inner 6" +msgstr "Interne 6" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:63 +msgid "Inner 5" +msgstr "Interne 5" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:64 +msgid "Inner 4" +msgstr "Interne 4" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:65 +msgid "Inner 3" +msgstr "Interne 3" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:66 +msgid "Inner 2" +msgstr "Interne 2" + +#: pcbnew/dialog_copper_layers_setup_base.cpp:67 +msgid "Inner 1" +msgstr "Interne 1" + +#: eeschema/tool_lib.cpp:40 +msgid "Deselect current tool" msgstr "Désélection outil courant" -#: eeschema/tool_lib.cpp:52 +#: eeschema/tool_lib.cpp:45 msgid "Add Pins" msgstr "Addition de \"pins\"" -#: eeschema/tool_lib.cpp:56 +#: eeschema/tool_lib.cpp:49 msgid "Add graphic text" msgstr "Addition de textes graphiques (commentaires)" -#: eeschema/tool_lib.cpp:60 -msgid "Add rectangles" -msgstr "Addition de rectangles" +#: eeschema/tool_lib.cpp:53 +msgid "Add rectangle" +msgstr "Ajout de rectangle" -#: eeschema/tool_lib.cpp:64 -msgid "Add circles" -msgstr "Addition de cercles" +#: eeschema/tool_lib.cpp:57 +msgid "Add circle" +msgstr "Ajout de cercle" -#: eeschema/tool_lib.cpp:68 -msgid "Add arcs" -msgstr "Addition d'arc" +#: eeschema/tool_lib.cpp:61 +msgid "Add arc" +msgstr "Ajout d'arc" -#: eeschema/tool_lib.cpp:72 +#: eeschema/tool_lib.cpp:65 msgid "Add lines and polygons" msgstr "Addition de lignes ou polygones graphiques" -#: eeschema/tool_lib.cpp:77 +#: eeschema/tool_lib.cpp:70 msgid "Move part anchor" msgstr "Positionner l'ancre du composant" -#: eeschema/tool_lib.cpp:82 +#: eeschema/tool_lib.cpp:75 msgid "Import existing drawings" msgstr "Importer des dessins existants" -#: eeschema/tool_lib.cpp:86 +#: eeschema/tool_lib.cpp:79 msgid "Export current drawing" msgstr "Exporter le dessin en cours" -#: eeschema/tool_lib.cpp:119 -msgid "Save current loaded library on disk (file update)" -msgstr "Sauver librairie chargée courante sur disque (mise à jour du fichier)" +#: eeschema/tool_lib.cpp:104 +#, fuzzy +msgid "Save current library to disk" +msgstr "Sauver le C.I. actuel" -#: eeschema/tool_lib.cpp:125 +#: eeschema/tool_lib.cpp:112 msgid "Delete component in current library" msgstr "Supprimer composant en librairie de travail" -#: eeschema/tool_lib.cpp:129 +#: eeschema/tool_lib.cpp:117 msgid "New component" msgstr "Nouveau composant" -#: eeschema/tool_lib.cpp:133 +#: eeschema/tool_lib.cpp:121 msgid "Select component to edit" msgstr "Sélectionner le composant à éditer" -#: eeschema/tool_lib.cpp:137 -msgid "Save current component into current loaded library (in memory)" -msgstr "Sauver le composant courant en librairie courante (en mémoire)" +#: eeschema/tool_lib.cpp:125 +#, fuzzy +msgid "Update current component in current library" +msgstr "Supprimer composant en librairie de travail" -#: eeschema/tool_lib.cpp:140 -msgid "import component" +#: eeschema/tool_lib.cpp:128 +msgid "Import component" msgstr "Importer composant" -#: eeschema/tool_lib.cpp:143 -msgid "export component" +#: eeschema/tool_lib.cpp:131 +msgid "Export component" msgstr "Exporter composant" -#: eeschema/tool_lib.cpp:147 -msgid "Create a new library an save current component into" -msgstr "Créer une nouvelle librairie et y sauver le composant" +#: eeschema/tool_lib.cpp:135 +#, fuzzy +msgid "Save current component to new library" +msgstr "Sauver le composant courant en librairie courante (en mémoire)" -#: eeschema/tool_lib.cpp:158 +#: eeschema/tool_lib.cpp:138 +msgid "Undo last command" +msgstr "Défaire dernière édition" + +#: eeschema/tool_lib.cpp:142 +msgid "Redo the last command" +msgstr "Refaire la dernière commande defaite" + +#: eeschema/tool_lib.cpp:150 msgid "Edit component properties" msgstr "Editer propriétés du composant" -#: eeschema/tool_lib.cpp:162 -msgid "Add, remove fields and edit fields properties" +#: eeschema/tool_lib.cpp:154 +msgid "Add and remove fields and edit field properties" msgstr "Ajouter, supprimer des champs et éditer leurs propriétés" -#: eeschema/tool_lib.cpp:167 -msgid "Test duplicate pins" -msgstr "Test duplicate pins" +#: eeschema/tool_lib.cpp:158 +msgid "Test for duplicate pins" +msgstr "Test pins doublées" -#: eeschema/tool_lib.cpp:189 -msgid "show as \"De Morgan\" normal part" +#: eeschema/tool_lib.cpp:175 +msgid "Zoom page" +msgstr "Zoom page" + +#: eeschema/tool_lib.cpp:180 +msgid "Show as \"De Morgan\" normal part" msgstr "Afficher sous représentation normale" -#: eeschema/tool_lib.cpp:195 -msgid "show as \"De Morgan\" convert part" +#: eeschema/tool_lib.cpp:184 +msgid "Show as \"De Morgan\" convert part" msgstr "Afficher sous présentation \" De Morgan\"" -#: eeschema/tool_lib.cpp:202 -msgid "Documents" -msgstr "Documents" +#: eeschema/tool_lib.cpp:189 +#, fuzzy +msgid "Edit document file" +msgstr "Documentation des Modules:" -#: eeschema/tool_lib.cpp:217 -msgid "Edit pins part per part (Carefully use!)" +#: eeschema/tool_lib.cpp:206 +msgid "Edit pins part per part ( Use carefully!)" msgstr "Editer pins unité par unité (Utiliser en connaissance de cause)" -#: eeschema/tool_lib.cpp:237 +#: eeschema/libarch.cpp:55 #, c-format -msgid "Part %c" -msgstr "Composant %c" +msgid "An error occurrred attempting to save component library <%s>." +msgstr "Une erreur s'est produite lors de la sauvegarde de la librairie de composants <%s>." -#: eeschema/backanno.cpp:137 -msgid "Load Stuff File" -msgstr "Charger Fichier d'échange" - -#: eeschema/backanno.cpp:158 -msgid "Set the Footprint Field to Visible ?" -msgstr "Rendre le Champ Module Visible" - -#: eeschema/backanno.cpp:159 -msgid "Field Display Option" -msgstr "Options d'affichage du Champ" - -#: eeschema/backanno.cpp:172 -#, c-format -msgid "Failed to open Stuff File <%s>" -msgstr "Ne peut pas ouvrir fichier d'échange <%s>" - -#: eeschema/delsheet.cpp:44 -#, c-format -msgid "Sheet %s (file %s) modified. Save it?" -msgstr "Feuille %s (fichier %s) modifiée. La sauver?" +#: eeschema/viewlib_frame.cpp:68 +msgid "Library browser" +msgstr "Visualisateur des librairies" #: eeschema/netlist.cpp:91 msgid "List" @@ -6019,41 +6105,69 @@ msgstr "Labels" msgid "Hierar." msgstr "Hiérar." -#: eeschema/getpart.cpp:102 +#: eeschema/backanno.cpp:137 +msgid "Load Stuff File" +msgstr "Charger Fichier d'échange" + +#: eeschema/backanno.cpp:158 +msgid "Set the Footprint Field to Visible ?" +msgstr "Rendre le Champ Module Visible" + +#: eeschema/backanno.cpp:159 +msgid "Field Display Option" +msgstr "Options d'affichage du Champ" + +#: eeschema/backanno.cpp:172 #, c-format -msgid "component selection (%d items loaded):" -msgstr "Sélection Composant (%d items chargés):" +msgid "Failed to open Stuff File <%s>" +msgstr "Ne peut pas ouvrir fichier d'échange <%s>" -#: eeschema/getpart.cpp:173 -msgid "Failed to find part " -msgstr "Impossible de trouver le composant " - -#: eeschema/getpart.cpp:173 -msgid " in library" -msgstr " en librairie" - -#: eeschema/viewlibs.cpp:112 -msgid "Library browser" -msgstr "Visualisateur des librairies" - -#: eeschema/viewlibs.cpp:119 -msgid "none selected" -msgstr "Pas de sélection" - -#: eeschema/viewlibs.cpp:291 +#: eeschema/delsheet.cpp:44 #, c-format -msgid "Current Part: <%s> (is Alias of <%s>)" -msgstr "Cmp courant: <%s> (est Alias de <%s>)" +msgid "Sheet %s (file %s) modified. Save it?" +msgstr "Feuille %s (fichier %s) modifiée. La sauver?" -#: eeschema/viewlibs.cpp:300 -#, c-format -msgid "Error: Root Part <%s> not found" -msgstr "Erreur: Root Part <%s> non trouvé" +#: eeschema/database.cpp:52 +msgid "No components found matching " +msgstr "Pas de composants trouvés qui correspondent " -#: eeschema/viewlibs.cpp:320 +#: eeschema/database.cpp:55 +msgid "name search criteria <" +msgstr "critère de recherche par nom <" + +#: eeschema/database.cpp:57 +msgid "and " +msgstr "et " + +#: eeschema/database.cpp:61 +msgid "key search criteria <" +msgstr "critère de recherche par clé <" + +#: eeschema/database.cpp:68 +msgid "Select Component" +msgstr "Sélection Composant" + +#: eeschema/libfield.cpp:185 +msgid "Edit field" +msgstr "Editer Champ" + +#: eeschema/libfield.cpp:201 #, c-format -msgid "Current Part: <%s>" -msgstr "Cmp Courant: <%s>" +msgid "" +"The field name <%s> is an existing alias of the component <%s>.\n" +"Please choose another name that does not conflict with any names in the alias list." +msgstr "" + +#: eeschema/libfield.cpp:215 +#, c-format +msgid "" +"The field name <%s> conflicts with an existing entry in the component library <%s>.\n" +"Please choose another name that does not conflict with any library entries." +msgstr "" + +#: eeschema/libfield.cpp:237 +msgid "No new text: no change" +msgstr "Pas de nouveau texte: pas de changements" #: eeschema/plothpgl.cpp:199 msgid "Sheet Size" @@ -6144,58 +6258,126 @@ msgstr "&Accepter Offset" msgid "Plot: %s\n" msgstr "Trace: %s\n" -#: eeschema/libframe.cpp:190 -msgid "" -"Component was modified!\n" -"Discard changes?" -msgstr "" -"Le composant a été modifié\n" -"Perdre les changements" +#: eeschema/classes_body_items.cpp:35 +msgid "Undefined" +msgstr "Non Défini" -#: eeschema/libframe.cpp:204 +#: eeschema/classes_body_items.cpp:56 +#: eeschema/classes_body_items.cpp:62 +msgid "All" +msgstr "Tout" + +#: eeschema/classes_body_items.cpp:59 +msgid "Unit" +msgstr "Unité" + +#: eeschema/classes_body_items.cpp:64 +msgid "no" +msgstr "non" + +#: eeschema/classes_body_items.cpp:66 +msgid "yes" +msgstr "oui" + +#: eeschema/classes_body_items.cpp:69 +msgid "Convert" +msgstr "Convert" + +#: eeschema/classes_body_items.cpp:135 #, c-format -msgid "" -"Library \"%s\" was modified!\n" -"Discard changes?" -msgstr "" -"Librairie \"%s\" modifiée!\n" -"Perdre les changements ?" +msgid "arc only had %d parameters of the required 8" +msgstr "l'arc a seulement %d paramètres sur les 8 requis" -#: eeschema/libframe.cpp:440 -msgid "Include last component changes?" -msgstr "Inclure les dernières modifications du composant" +#: eeschema/classes_body_items.cpp:427 +#: eeschema/classes_body_items.cpp:631 +#: eeschema/classes_body_items.cpp:786 +#: eeschema/classes_body_items.cpp:971 +#: eeschema/classes_body_items.cpp:1312 +#: eeschema/classes_body_items.cpp:1605 +msgid "Line width" +msgstr "Epaisseur ligne" -#: eeschema/libframe.cpp:492 -msgid " Pins Test OK!" -msgstr " Test Pins OK!" +#: eeschema/classes_body_items.cpp:432 +#: eeschema/classes_body_items.cpp:640 +#: eeschema/classes_body_items.cpp:976 +#: eeschema/classes_body_items.cpp:1317 +#: eeschema/classes_body_items.cpp:1610 +msgid "Bounding box" +msgstr "Rectange dencadrement" -#: eeschema/libframe.cpp:569 -msgid "Add Pin" -msgstr "Addition de \"pins\"" +#: eeschema/classes_body_items.cpp:468 +#, c-format +msgid "circle only had %d parameters of the required 6" +msgstr "le cercle a seulement %d paramètres sur les 6 requis" -#: eeschema/libframe.cpp:573 -msgid "Set Pin Options" -msgstr "Choix Options des Pins" +#: eeschema/classes_body_items.cpp:635 +msgid "Radius" +msgstr "Rayon" -#: eeschema/libframe.cpp:595 -msgid "Add Rectangle" -msgstr "Addition de rectangles" +#: eeschema/classes_body_items.cpp:653 +msgid "Rectangle" +msgstr "Rectangle" -#: eeschema/libframe.cpp:599 -msgid "Add Circle" -msgstr "Addition de cercle" +#: eeschema/classes_body_items.cpp:678 +#, c-format +msgid "rectangle only had %d parameters of the required 7" +msgstr "le rectangle a seulement %d paramètres sur les 7 requis" -#: eeschema/libframe.cpp:603 -msgid "Add Arc" -msgstr "Addition d' arc" +#: eeschema/classes_body_items.cpp:1023 +msgid "PolyLine" +msgstr "PolyLigne" -#: eeschema/libframe.cpp:611 -msgid "Anchor" -msgstr "Ancre" +#: eeschema/classes_body_items.cpp:1060 +#, c-format +msgid "polyline only had %d parameters of the required 4" +msgstr "la polyligne a seulement %d paramètres sur les 4 requis" -#: eeschema/libframe.cpp:621 -msgid "Export" -msgstr "Exporter" +#: eeschema/classes_body_items.cpp:1065 +#, c-format +msgid "polyline count parameter %d is invalid" +msgstr "le nombre de paramètes (%d) de la polyligne est mauvais" + +#: eeschema/classes_body_items.cpp:1081 +#, c-format +msgid "polyline point %d X position not defined" +msgstr "la position X du point %d de la polyligne n'est pas définie" + +#: eeschema/classes_body_items.cpp:1088 +#, c-format +msgid "polyline point %d Y position not defined" +msgstr "la position Y du point %d de la polyligne n'est pas définie" + +#: eeschema/classes_body_items.cpp:1328 +msgid "Bezier" +msgstr "Bezier" + +#: eeschema/classes_body_items.cpp:1365 +#, c-format +msgid "Bezier only had %d parameters of the required 4" +msgstr "La courbe de Bezier a seulement %d paramètres sur les 4 requis" + +#: eeschema/classes_body_items.cpp:1371 +#, c-format +msgid "Bezier count parameter %d is invalid" +msgstr "le nombre de paramètes (%d) de la courbe de Bezier est mauvais" + +#: eeschema/classes_body_items.cpp:1387 +#, c-format +msgid "Bezier point %d X position not defined" +msgstr "la position X du point %d de la courbe de Bezier n'est pas définie" + +#: eeschema/classes_body_items.cpp:1393 +#, c-format +msgid "Bezier point %d Y position not defined" +msgstr "la position Y du point %d de la courbe de Bezier n'est pas définie" + +#: eeschema/hotkeys.cpp:285 +msgid "Add Component" +msgstr "Ajout Composant" + +#: eeschema/hotkeys.cpp:310 +msgid "Add Wire" +msgstr "Ajouter Fils" #: eeschema/hierarch.cpp:122 msgid "Navigator" @@ -6341,73 +6523,26 @@ msgstr "Force affichage des pins invisibles" msgid "HV orientation for Wires and Bus" msgstr "Force direction H, V et X pour les fils et bus" -#: eeschema/libfield.cpp:185 -msgid "Edit field" -msgstr "Editer Champ" +#: eeschema/viewlibs.cpp:118 +msgid "none selected" +msgstr "Pas de sélection" -#: eeschema/libfield.cpp:204 -msgid "" -"This name is an existing alias of the component\n" -"Aborting" -msgstr "" -"Ce nom est celui d'un alias existant du composant\n" -"Abandon." +#: eeschema/viewlibs.cpp:317 +#, fuzzy +msgid "Part" +msgstr "Composant %c" -#: eeschema/libfield.cpp:223 -msgid "No new text: no change" -msgstr "Pas de nouveau texte: pas de changements" +#: eeschema/viewlibs.cpp:318 +msgid "Alias" +msgstr "Alias" -#: eeschema/annotate.cpp:278 -#, c-format -msgid "%d Duplicate Time stamps replaced" -msgstr "%d Signatures Temporelles dupliquées remplacées" +#: eeschema/viewlibs.cpp:319 +msgid "Description" +msgstr "Description" -#: eeschema/annotate.cpp:691 -#, c-format -msgid "item not annotated: %s%s" -msgstr "item non numéroté: %s%s" - -#: eeschema/annotate.cpp:696 -#, c-format -msgid "( unit %d)" -msgstr "( Unité %d)" - -#: eeschema/annotate.cpp:718 -#, c-format -msgid "Error item %s%s" -msgstr "Erreur item %s%s" - -#: eeschema/annotate.cpp:721 -#, c-format -msgid " unit %d and no more than %d parts" -msgstr " unité %d et plus que %d parts" - -#: eeschema/annotate.cpp:758 -#: eeschema/annotate.cpp:786 -#, c-format -msgid "Multiple item %s%s" -msgstr "Multipleélément %s%s" - -#: eeschema/annotate.cpp:763 -#: eeschema/annotate.cpp:791 -#, c-format -msgid " (unit %d)" -msgstr " ( Unité %d)" - -#: eeschema/annotate.cpp:812 -#, c-format -msgid "Diff values for %s%d.%c (%s) and %s%d.%c (%s)" -msgstr "Valeurs différentes pour %s%d%c (%s) et %s%d%c (%s)" - -#: eeschema/annotate.cpp:821 -#, c-format -msgid "Diff values for %s%d%c (%s) and %s%d%c (%s)" -msgstr "Valeurs différentes pour %s%d%c (%s) et %s%d%c (%s)" - -#: eeschema/annotate.cpp:857 -#, c-format -msgid "duplicate time stamp (%s) for %s%d and %s%d" -msgstr "signature temporelle dupliquée (%s) pour %s%d et %s%d" +#: eeschema/viewlibs.cpp:320 +msgid "Key words" +msgstr "Mots clé" #: eeschema/eelayer.cpp:219 msgid "White" @@ -6421,30 +6556,88 @@ msgstr "Noir" msgid "Background Color:" msgstr "Couleur du Fond:" -#: eeschema/dialog_eeschema_config.cpp:224 -msgid "Library files:" -msgstr "Fichiers Librairies:" +#: eeschema/edit_component_in_lib.cpp:155 +#, fuzzy, c-format +msgid "Alias <%s> not found for component <%s> in library <%s>." +msgstr "Element <%s> non trouvé en librairie <%s>." -#: eeschema/database.cpp:52 -msgid "No components found matching " -msgstr "Pas de composants trouvés qui correspondent " +#: eeschema/edit_component_in_lib.cpp:159 +msgid "Component Library Error" +msgstr "Erreur en Librairie de Composanr" -#: eeschema/database.cpp:55 -msgid "name search criteria <" -msgstr "critère de recherche par nom <" +#: eeschema/edit_component_in_lib.cpp:276 +#: eeschema/edit_component_in_lib.cpp:343 +#, c-format +msgid "Alias <%s> cannot be removed while it is being edited!" +msgstr "" -#: eeschema/database.cpp:57 -msgid "and " -msgstr "et " +#: eeschema/edit_component_in_lib.cpp:285 +msgid "Remove all aliases from list?" +msgstr "" -#: eeschema/database.cpp:61 -msgid "key search criteria <" -msgstr "critère de recherche par clé <" +#: eeschema/edit_component_in_lib.cpp:308 +msgid "New alias:" +msgstr "Noveau alias" -#: eeschema/database.cpp:68 -#: eeschema/selpart.cpp:89 -msgid "Select Component" -msgstr "Sélection Composant" +#: eeschema/edit_component_in_lib.cpp:308 +msgid "Component Alias" +msgstr "Alias de Composant" + +#: eeschema/edit_component_in_lib.cpp:318 +#, fuzzy, c-format +msgid "Alias or component name <%s> already exists in library <%s>." +msgstr "Composant %s sauvé en librairie %s" + +#: eeschema/edit_component_in_lib.cpp:396 +msgid "Delete units" +msgstr "Supprimer unité" + +#: eeschema/edit_component_in_lib.cpp:466 +msgid "Create pins for Convert items" +msgstr "Créér les pins des unitées converties" + +#: eeschema/edit_component_in_lib.cpp:470 +msgid "Part as \"De Morgan\" anymore" +msgstr "Le composant a une représentation convertie" + +#: eeschema/edit_component_in_lib.cpp:495 +msgid "Delete Convert items" +msgstr "Suppression des éléments convertis" + +#: eeschema/edit_component_in_lib.cpp:526 +msgid "Doc Files" +msgstr "Fichiers de Doc" + +#: eeschema/edit_component_in_lib.cpp:557 +msgid "Ok to Delete FootprintFilter LIST" +msgstr "Ok pour effacer la LISTE des filtres de modules" + +#: eeschema/edit_component_in_lib.cpp:579 +#, fuzzy +msgid "Add Footprint Filter" +msgstr "Filtrage Modules" + +#: eeschema/edit_component_in_lib.cpp:579 +msgid "Footprint Filter" +msgstr "Filtrage Modules" + +#: eeschema/edit_component_in_lib.cpp:592 +#, c-format +msgid "Foot print filter <%s> is already defined." +msgstr "" + +#: eeschema/getpart.cpp:98 +#, c-format +msgid "component selection (%d items loaded):" +msgstr "Sélection Composant (%d items chargés):" + +#: eeschema/getpart.cpp:169 +msgid "Failed to find part " +msgstr "Impossible de trouver le composant " + +#: eeschema/getpart.cpp:169 +msgid " in library" +msgstr " en librairie" #: eeschema/sheetlab.cpp:69 msgid "PinSheet Properties:" @@ -6562,115 +6755,82 @@ msgstr "" "\n" " >> Erreurs ERC: %d\n" -#: eeschema/selpart.cpp:25 -msgid "No libraries are loaded" -msgstr "Pas de librairies chargées" +#: eeschema/find.cpp:214 +msgid "Pin " +msgstr "Pin " -#: eeschema/selpart.cpp:29 +#: eeschema/find.cpp:218 +msgid "Ref " +msgstr "Ref " + +#: eeschema/find.cpp:226 +msgid "Field " +msgstr "Champ " + +#: eeschema/find.cpp:236 +#: eeschema/find.cpp:240 +msgid " found" +msgstr " trouvé " + +#: eeschema/find.cpp:374 #, c-format -msgid " Select 1 of %d libraries." -msgstr "Selection 1 parmi %d librairies." +msgid "Marker %d found in %s" +msgstr "Marqueur %d trouvé en %s " -#: eeschema/selpart.cpp:48 -msgid "Select Library" -msgstr "Sélection Librairie" +#: eeschema/find.cpp:380 +msgid "Marker Not Found" +msgstr "Marqueur non trouvé" -#: eeschema/edit_component_in_lib.cpp:302 -msgid "Ok to Delete Alias LIST" -msgstr "Ok pour effacer la LISTE des Alias" +#: eeschema/find.cpp:606 +msgid " Found in " +msgstr " Trouvé en " -#: eeschema/edit_component_in_lib.cpp:327 -msgid "New alias:" -msgstr "Noveau alias" +#: eeschema/find.cpp:618 +msgid " Not Found" +msgstr " Non trouvé" -#: eeschema/edit_component_in_lib.cpp:327 -msgid "Component Alias" -msgstr "Alias de Composant" +#: eeschema/find.cpp:650 +msgid "No component libraries are loaded." +msgstr "Pas de librairies de composants chargées." -#: eeschema/edit_component_in_lib.cpp:335 -msgid "This is the Root Part" -msgstr "Ceci est le composant racine" +#: eeschema/find.cpp:673 +#: eeschema/find.cpp:738 +#: eeschema/find.cpp:754 +msgid "Found " +msgstr "Trouvé " -#: eeschema/edit_component_in_lib.cpp:344 -#: eeschema/edit_component_in_lib.cpp:616 -msgid "Already in use" -msgstr "Déjà en usage" +#: eeschema/find.cpp:673 +msgid " in library " +msgstr " en librairie " -#: eeschema/edit_component_in_lib.cpp:369 -msgid " is Current Selected Alias!" -msgstr " est l' Alias actuellement sélectionné!" +#: eeschema/find.cpp:681 +msgid " found only in cache" +msgstr "trouvé seulement en cache" -#: eeschema/edit_component_in_lib.cpp:422 -msgid "Delete units" -msgstr "Supprimer unité" +#: eeschema/find.cpp:684 +msgid "" +"\n" +"Explore All Libraries?" +msgstr "" +"\n" +"Explorer toutes les Librairies?" -#: eeschema/edit_component_in_lib.cpp:492 -msgid "Create pins for Convert items" -msgstr "Créér les pins des unitées converties" +#: eeschema/find.cpp:690 +msgid "Nothing found" +msgstr " Rien trouvé" -#: eeschema/edit_component_in_lib.cpp:496 -msgid "Part as \"De Morgan\" anymore" -msgstr "Le composant a une représentation convertie" - -#: eeschema/edit_component_in_lib.cpp:521 -msgid "Delete Convert items" -msgstr "Suppression des éléments convertis" - -#: eeschema/edit_component_in_lib.cpp:552 -msgid "Doc Files" -msgstr "Fichiers de Doc" - -#: eeschema/edit_component_in_lib.cpp:583 -msgid "Ok to Delete FootprintFilter LIST" -msgstr "Ok pour effacer la LISTE des filtres de modules" - -#: eeschema/edit_component_in_lib.cpp:605 -msgid "New FootprintFilter:" -msgstr "Nouveau Filtre de Modules:" - -#: eeschema/edit_component_in_lib.cpp:605 -msgid "Footprint Filter" -msgstr "Filtrage Modules" +#: eeschema/find.cpp:739 +#: eeschema/find.cpp:755 +msgid " in lib " +msgstr " en libr. " #: eeschema/edit_label.cpp:48 msgid "Empty Text!" msgstr "Texte vide" -#: eeschema/tool_viewlib.cpp:54 -msgid "Select library to browse" -msgstr "Sélection de la librairie à examiner" - -#: eeschema/tool_viewlib.cpp:58 -msgid "Select part to browse" -msgstr "Sélectionner composant à visualiser" - -#: eeschema/tool_viewlib.cpp:63 -msgid "Display previous part" -msgstr "Afficher composant précédent" - -#: eeschema/tool_viewlib.cpp:67 -msgid "Display next part" -msgstr "Afficher composant suivant" - -#: eeschema/tool_viewlib.cpp:84 -msgid "Best zoom" -msgstr "Meilleur Zoom" - -#: eeschema/tool_viewlib.cpp:89 -msgid "Show as \"De Morgan\" normal part" -msgstr "Afficher sous représentation normale" - -#: eeschema/tool_viewlib.cpp:94 -msgid "Show as \"De Morgan\" convert part" -msgstr "Afficher sous présentation \" De Morgan\"" - -#: eeschema/tool_viewlib.cpp:107 -msgid "View component documents" -msgstr "Voir documents des composants" - -#: eeschema/tool_viewlib.cpp:116 -msgid "Insert component in schematic" -msgstr "Placer composant en schématique" +#: eeschema/dialog_eeschema_config.cpp:224 +msgid "Library files:" +msgstr "Fichiers Librairies:" #: eeschema/dialog_find.cpp:129 msgid "Item in &Sheet" @@ -6720,23 +6880,19 @@ msgstr "Messages :" msgid "Default Line Width" msgstr "Epaiss. ligne par défaut" +#: eeschema/eeredraw.cpp:94 +msgid "Sheet" +msgstr "Feuille" + +#: eeschema/libedit.cpp:28 +msgid "Component Library Editor: " +msgstr "Editeur de Composants" + #: eeschema/libedit.cpp:33 -msgid " Part: " -msgstr "Composant " +msgid "no library selected" +msgstr "Pas de librairie sélectionnée" -#: eeschema/libedit.cpp:48 -msgid " Convert" -msgstr " Convert" - -#: eeschema/libedit.cpp:50 -msgid " Normal" -msgstr " Normal" - -#: eeschema/libedit.cpp:53 -msgid " (Power Symbol)" -msgstr " (Symbole Alimentation)" - -#: eeschema/libedit.cpp:89 +#: eeschema/libedit.cpp:69 msgid "" "Current part not saved.\n" "Continue?" @@ -6744,123 +6900,125 @@ msgstr "" "Composant courant non sauvé.\n" "Continuer ?" -#: eeschema/libedit.cpp:118 -#: eeschema/libedit.cpp:427 -msgid "Component \"" -msgstr "Composant \"" +#: eeschema/libedit.cpp:98 +#, fuzzy, c-format +msgid "Component or alias name \"%s\" not found in library \"%s\"." +msgstr "Element <%s> non trouvé en librairie <%s>." -#: eeschema/libedit.cpp:119 -msgid "\" not found." -msgstr "\" non trouvé" - -#: eeschema/libedit.cpp:193 +#: eeschema/libedit.cpp:168 #, c-format msgid "Could not create copy of part <%s> in library <%s>." msgstr "Ne peut créer une copie de l'élément <%s> en librairie <%s>." -#: eeschema/libedit.cpp:273 +#: eeschema/libedit.cpp:249 +msgid "Include last component changes?" +msgstr "Inclure les dernières modifications du composant" + +#: eeschema/libedit.cpp:261 msgid "Modify library file \"" msgstr "Modifier le fichier Librairie \"" -#: eeschema/libedit.cpp:273 +#: eeschema/libedit.cpp:261 msgid "\"?" msgstr "\"?" -#: eeschema/libedit.cpp:284 -#, fuzzy +#: eeschema/libedit.cpp:272 msgid "Error while saving library file \"" -msgstr "Erreur en sauvant le fichier Librairie \"" +msgstr "Erreur en sauvant le fichier librairie \"" -#: eeschema/libedit.cpp:285 -#: eeschema/libedit.cpp:429 +#: eeschema/libedit.cpp:273 msgid "\"." msgstr "\"." -#: eeschema/libedit.cpp:291 +#: eeschema/libedit.cpp:279 msgid "Library file \"" msgstr "Fichier librairie \"" -#: eeschema/libedit.cpp:293 +#: eeschema/libedit.cpp:281 msgid "Document file \"" msgstr "Fichier de doc \"" -#: eeschema/libedit.cpp:348 +#: eeschema/libedit.cpp:328 +msgid "Body" +msgstr "Body" + +#: eeschema/libedit.cpp:331 +msgid "Power Symbol" +msgstr "Symbole d'Alimentation" + +#: eeschema/libedit.cpp:333 +msgid "Component" +msgstr "Composant" + +#: eeschema/libedit.cpp:380 msgid "Please select a component library." msgstr "SVP sélectionner une librairie de composants." -#: eeschema/libedit.cpp:357 -#, c-format -msgid "Component library <%s> does not have any entries to delete." -msgstr "La librairie de composants <%s> n'a aucun élément à supprimer" +#: eeschema/libedit.cpp:389 +#, fuzzy, c-format +msgid "Component library <%s> is empty." +msgstr "Fichier document de composants <%s> vide" -#: eeschema/libedit.cpp:359 +#: eeschema/libedit.cpp:391 #, fuzzy msgid "Delete Entry Error" msgstr "Supprimer Entrée de Bus" -#: eeschema/libedit.cpp:364 +#: eeschema/libedit.cpp:396 #, fuzzy, c-format msgid "" -"Select 1 of %d components to\n" -"delete from library <%s>." +"Select 1 of %d components to delete\n" +"from library <%s>." msgstr "Composant %s supprimé en librairie %s" -#: eeschema/libedit.cpp:367 +#: eeschema/libedit.cpp:399 msgid "Delete Component" msgstr "Suppression Composant" -#: eeschema/libedit.cpp:376 +#: eeschema/libedit.cpp:408 #, c-format msgid "Entry <%s> not found in library <%s>." msgstr "Element <%s> non trouvé en librairie <%s>." -#: eeschema/libedit.cpp:383 -msgid "Delete component \"" -msgstr "Suppression Composant \"" +#: eeschema/libedit.cpp:415 +#, fuzzy, c-format +msgid "Delete component \"%s\" from library \"%s\"?" +msgstr "Supprimer composant en librairie de travail" -#: eeschema/libedit.cpp:384 -msgid "\" from library \"" -msgstr "\" de la librairie \"" +#: eeschema/libedit.cpp:435 +msgid "The component being deleted has been modified. All changes will be lost. Discard changes?" +msgstr "" -#: eeschema/libedit.cpp:406 -msgid "Clear old component from screen (changes will be lost)?" -msgstr "Supprimer l'ancien composant de l'écran (les changements seront perdus)?" +#: eeschema/libedit.cpp:493 +msgid "" +"All changes to the current component will be lost!\n" +"\n" +"Clear the current component from the screen?" +msgstr "" -#: eeschema/libedit.cpp:428 -msgid "\" exists in library \"" -msgstr "\" existe en librairie \"" +#: eeschema/libedit.cpp:515 +#, fuzzy, c-format +msgid "Component \"%s\" exists in library \"%s\"." +msgstr "Composant %s supprimé en librairie %s" -#: eeschema/libedit.cpp:471 +#: eeschema/libedit.cpp:557 msgid "No component to save." msgstr "Pas de composant à sauver." -#: eeschema/libedit.cpp:480 +#: eeschema/libedit.cpp:566 msgid "No library specified." msgstr "Pas de librairie spécifiée." -#: eeschema/libedit.cpp:490 +#: eeschema/libedit.cpp:576 #, c-format msgid "Component \"%s\" exists. Change it?" msgstr "Le composant \" %s\" existe, Le changer ?" -#: eeschema/libedit.cpp:522 +#: eeschema/libedit.cpp:593 #, c-format msgid "Component %s saved in library %s" msgstr "Composant %s sauvé en librairie %s" -#: eeschema/symbdraw.cpp:792 -#, c-format -msgid "Arc %.1f deg" -msgstr "Arc %.1f deg" - -#: eeschema/eeredraw.cpp:94 -msgid "Sheet" -msgstr "Feuille" - -#: eeschema/eeconfig.cpp:289 -msgid "Save Project Settings" -msgstr "Sauver Optionsr Projet" - #: eeschema/sheet.cpp:170 msgid "Sheetname:" msgstr "Nom feuille" @@ -6877,10 +7035,6 @@ msgstr "" "Changer un nom de fichier peut changer toute la structure schématique et ne pourra être annulée.\n" "Ok pour renommer?" -#: eeschema/dialog_edit_component_in_schematic_fbp.cpp:26 -msgid "Unit" -msgstr "Unité" - #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:28 msgid "3" msgstr "3" @@ -6981,10 +7135,6 @@ msgstr "Nom en librairie" 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." -#: eeschema/dialog_edit_component_in_schematic_fbp.cpp:73 -msgid "Convert" -msgstr "Convert" - #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:75 msgid "" "Use the alternate shape of this component.\n" @@ -7017,10 +7167,6 @@ msgstr "Supprimer Champ" msgid "Delete one of the optional fields" msgstr "Supprimer un des champs optionnels." -#: eeschema/dialog_edit_component_in_schematic_fbp.cpp:106 -msgid "Move Up" -msgstr "Vers le haut ^" - #: eeschema/dialog_edit_component_in_schematic_fbp.cpp:107 msgid "Move the selected optional fields up one position" msgstr "Déplacer le champ optionnel sélectionné de une position vers le haut" @@ -7243,13 +7389,94 @@ msgstr "Doit on la convertir en une feuille de hiérarchie simple (autrement sup msgid "FileName" msgstr "Nom Fichier" -#: eeschema/libarch.cpp:72 -msgid "Failed to create archive lib file " -msgstr "Impossible de créer le fichier librairie archive " +#: eeschema/annotate.cpp:278 +#, c-format +msgid "%d Duplicate Time stamps replaced" +msgstr "%d Signatures Temporelles dupliquées remplacées" -#: eeschema/libarch.cpp:79 -msgid "Failed to create doc lib file " -msgstr "Impossible de créer le fichier lib document" +#: eeschema/annotate.cpp:692 +#, c-format +msgid "item not annotated: %s%s" +msgstr "item non numéroté: %s%s" + +#: eeschema/annotate.cpp:697 +#, c-format +msgid "( unit %d)" +msgstr "( Unité %d)" + +#: eeschema/annotate.cpp:719 +#, c-format +msgid "Error item %s%s" +msgstr "Erreur item %s%s" + +#: eeschema/annotate.cpp:722 +#, c-format +msgid " unit %d and no more than %d parts" +msgstr " unité %d et plus que %d parts" + +#: eeschema/annotate.cpp:759 +#: eeschema/annotate.cpp:787 +#, c-format +msgid "Multiple item %s%s" +msgstr "Multipleélément %s%s" + +#: eeschema/annotate.cpp:764 +#: eeschema/annotate.cpp:792 +#, c-format +msgid " (unit %d)" +msgstr " ( Unité %d)" + +#: eeschema/annotate.cpp:813 +#, c-format +msgid "Diff values for %s%d.%c (%s) and %s%d.%c (%s)" +msgstr "Valeurs différentes pour %s%d%c (%s) et %s%d%c (%s)" + +#: eeschema/annotate.cpp:822 +#, c-format +msgid "Diff values for %s%d%c (%s) and %s%d%c (%s)" +msgstr "Valeurs différentes pour %s%d%c (%s) et %s%d%c (%s)" + +#: eeschema/annotate.cpp:858 +#, c-format +msgid "duplicate time stamp (%s) for %s%d and %s%d" +msgstr "signature temporelle dupliquée (%s) pour %s%d et %s%d" + +#: eeschema/eeschema.cpp:141 +msgid "Eeschema is already running, Continue?" +msgstr "Eeschema est en cours d'exécution. Continuer ?" + +#: eeschema/netform.cpp:62 +#: eeschema/netform.cpp:270 +msgid "Failed to create file " +msgstr "Impossible de créer le fichier " + +#: eeschema/symbdraw.cpp:797 +#, c-format +msgid "Arc %.1f deg" +msgstr "Arc %.1f deg" + +#: eeschema/dialog_edit_component_in_schematic.cpp:94 +#: eeschema/dialog_edit_component_in_schematic.cpp:99 +msgid "Pos " +msgstr "Pos " + +#: eeschema/dialog_edit_component_in_schematic.cpp:170 +msgid "No Component Name!" +msgstr "Pas de nom de composant!" + +#: eeschema/dialog_edit_component_in_schematic.cpp:177 +#, c-format +msgid "Component [%s] not found!" +msgstr "Composant [%s] non trouvé!" + +#: eeschema/selpart.cpp:32 +#, c-format +msgid " Select 1 of %d libraries." +msgstr "Selection 1 parmi %d librairies." + +#: eeschema/selpart.cpp:34 +msgid "Select Library" +msgstr "Sélection Librairie" #: eeschema/pinedit.cpp:22 msgid "line" @@ -7301,166 +7528,34 @@ msgstr " Convert" msgid " Normal" msgstr " Normal" -#: eeschema/eeschema.cpp:146 -msgid "Eeschema is already running, Continue?" -msgstr "Eeschema est en cours d'exécution. Continuer ?" +#: eeschema/dialog_edit_label_base.cpp:24 +#: eeschema/dialog_edit_label_base.cpp:29 +msgid "Enter the text to be used within the schematic" +msgstr "Enter le texte qui doit être utilisé dans la schématique" -#: eeschema/hotkeys.cpp:285 -msgid "Add Component" -msgstr "Ajout Composant" +#: eeschema/dialog_edit_label_base.cpp:37 +msgid "Right" +msgstr "Droite" -#: eeschema/hotkeys.cpp:310 -msgid "Add Wire" -msgstr "Ajouter Fils" +#: eeschema/dialog_edit_label_base.cpp:37 +msgid "Up" +msgstr "Haut" -#: eeschema/dialog_create_component.cpp:158 -msgid "U" -msgstr "U" +#: eeschema/dialog_edit_label_base.cpp:37 +msgid "Left" +msgstr "Gauche" -#: eeschema/dialog_create_component.cpp:170 -msgid "As Convert" -msgstr "A une forme \"convertie\"" +#: eeschema/dialog_edit_label_base.cpp:37 +msgid "Down" +msgstr "Bas" -#: eeschema/dialog_create_component.cpp:174 -msgid "Power Symbol" -msgstr "Symbole d'Alimentation" +#: eeschema/dialog_edit_label_base.cpp:39 +msgid "Direction" +msgstr "Direction" -#: eeschema/dialog_create_component.cpp:199 -msgid "&1" -msgstr "&1" - -#: eeschema/dialog_create_component.cpp:200 -msgid "&2" -msgstr "&2" - -#: eeschema/dialog_create_component.cpp:201 -msgid "&3" -msgstr "&3" - -#: eeschema/dialog_create_component.cpp:202 -msgid "&4" -msgstr "&4" - -#: eeschema/dialog_create_component.cpp:203 -msgid "&5" -msgstr "&5" - -#: eeschema/dialog_create_component.cpp:204 -msgid "&6" -msgstr "&6" - -#: eeschema/dialog_create_component.cpp:205 -msgid "&7" -msgstr "&7" - -#: eeschema/dialog_create_component.cpp:206 -msgid "&8" -msgstr "&8" - -#: eeschema/dialog_create_component.cpp:207 -msgid "&9" -msgstr "&9" - -#: eeschema/dialog_create_component.cpp:208 -msgid "&10" -msgstr "&10" - -#: eeschema/dialog_create_component.cpp:209 -msgid "&11" -msgstr "&11" - -#: eeschema/dialog_create_component.cpp:210 -msgid "&12" -msgstr "&12" - -#: eeschema/dialog_create_component.cpp:211 -msgid "&13" -msgstr "&13" - -#: eeschema/dialog_create_component.cpp:212 -msgid "&14" -msgstr "&14" - -#: eeschema/dialog_create_component.cpp:213 -msgid "&15" -msgstr "&15" - -#: eeschema/dialog_create_component.cpp:214 -msgid "&16" -msgstr "&16" - -#: eeschema/dialog_create_component.cpp:215 -msgid "&17" -msgstr "&17" - -#: eeschema/dialog_create_component.cpp:216 -msgid "&18" -msgstr "&18" - -#: eeschema/dialog_create_component.cpp:217 -msgid "&19" -msgstr "&19" - -#: eeschema/dialog_create_component.cpp:218 -msgid "&20" -msgstr "&20" - -#: eeschema/dialog_create_component.cpp:219 -msgid "&21" -msgstr "&21" - -#: eeschema/dialog_create_component.cpp:220 -msgid "&22" -msgstr "&22" - -#: eeschema/dialog_create_component.cpp:221 -msgid "&23" -msgstr "&23" - -#: eeschema/dialog_create_component.cpp:222 -msgid "&24" -msgstr "&24" - -#: eeschema/dialog_create_component.cpp:223 -msgid "&25" -msgstr "&25" - -#: eeschema/dialog_create_component.cpp:224 -msgid "&26" -msgstr "&26" - -#: eeschema/dialog_create_component.cpp:225 -msgid "Parts per component" -msgstr "Parts par composant" - -#: eeschema/dialog_create_component.cpp:231 -msgid "Draw options" -msgstr "Options de Tracé" - -#: eeschema/dialog_create_component.cpp:235 -msgid "Show Pin Number" -msgstr "Montrer Numéro de Pin" - -#: eeschema/dialog_create_component.cpp:239 -msgid "Show Pin Name" -msgstr "Montre Nom de Pin" - -#: eeschema/dialog_create_component.cpp:243 -msgid "Pin Name Inside" -msgstr "Nom de pin à l'intérieur" - -#: eeschema/dialog_create_component.cpp:247 -msgid "Skew:" -msgstr "Décalage:" - -#: eeschema/dialog_create_component.cpp:301 -msgid "You must provide a name for this component" -msgstr "Vous devez fournir un nom pour ce composant" - -#: eeschema/netform.cpp:62 -#: eeschema/netform.cpp:270 -msgid "Failed to create file " -msgstr "Impossible de créer le fichier " +#: eeschema/dialog_edit_label_base.cpp:51 +msgid "Glabel Shape" +msgstr "Forme GLabel" #: eeschema/schedit.cpp:189 msgid "Push/Pop Hierarchy" @@ -7514,127 +7609,37 @@ msgstr "Importer Connecteur de hiérarchie" msgid "Add Power" msgstr "Ajouter Alims" -#: eeschema/class_libentry.cpp:499 +#: eeschema/symbedit.cpp:48 +msgid "Import Symbol Drawings" +msgstr "Importer Symbole de Dessin" + +#: eeschema/symbedit.cpp:67 #, c-format -msgid "DEF command expected in line %d, aborted." -msgstr "" +msgid "Failed to open Symbol File <%s>" +msgstr "Ne peut pas ouvrir fichier <%s>" -#: eeschema/class_libentry.cpp:521 +#: eeschema/symbedit.cpp:77 #, c-format -msgid "Wrong DEF format in line %d, skipped." -msgstr "" +msgid "Error <%s> occurred loading symbol library <%s>." +msgstr "Erreur <%s> en chargeant la librairie symbole <%s>." -#: eeschema/class_libentry.cpp:614 -msgid "file ended prematurely loading component draw element" -msgstr "" - -#: eeschema/class_libentry.cpp:654 +#: eeschema/symbedit.cpp:89 #, c-format -msgid "undefined DRAW command %c" -msgstr "" +msgid "No components found in symbol library <%s>." +msgstr "Pas deomposant trouvé en librairie de symboles <%s>." -#: eeschema/class_libentry.cpp:661 +#: eeschema/symbedit.cpp:96 +msgid "Warning: more than 1 part in Symbol File" +msgstr "Attention: plus de 1élément dans le fichier symbole" + +#: eeschema/symbedit.cpp:160 +msgid "Export Symbol Drawings" +msgstr "Exporter Symbole de Dessin" + +#: eeschema/symbedit.cpp:186 #, c-format -msgid "error <%s> in DRAW command %c" -msgstr "" - -#: eeschema/class_libentry.cpp:670 -msgid "file ended prematurely while attempting to flush to end of drawing section." -msgstr "" - -#: eeschema/dialog_edit_label_base.cpp:24 -#: eeschema/dialog_edit_label_base.cpp:29 -msgid "Enter the text to be used within the schematic" -msgstr "Enter le texte qui doit être utilisé dans la schématique" - -#: eeschema/dialog_edit_label_base.cpp:37 -msgid "Right" -msgstr "Droite" - -#: eeschema/dialog_edit_label_base.cpp:37 -msgid "Up" -msgstr "Haut" - -#: eeschema/dialog_edit_label_base.cpp:37 -msgid "Left" -msgstr "Gauche" - -#: eeschema/dialog_edit_label_base.cpp:37 -msgid "Down" -msgstr "Bas" - -#: eeschema/dialog_edit_label_base.cpp:39 -msgid "Direction" -msgstr "Direction" - -#: eeschema/dialog_edit_label_base.cpp:51 -msgid "Glabel Shape" -msgstr "Forme GLabel" - -#: eeschema/find.cpp:214 -msgid "Pin " -msgstr "Pin " - -#: eeschema/find.cpp:218 -msgid "Ref " -msgstr "Ref " - -#: eeschema/find.cpp:226 -msgid "Field " -msgstr "Champ " - -#: eeschema/find.cpp:236 -#: eeschema/find.cpp:240 -msgid " found" -msgstr " trouvé " - -#: eeschema/find.cpp:374 -#, c-format -msgid "Marker %d found in %s" -msgstr "Marqueur %d trouvé en %s " - -#: eeschema/find.cpp:380 -msgid "Marker Not Found" -msgstr "Marqueur non trouvé" - -#: eeschema/find.cpp:606 -msgid " Found in " -msgstr " Trouvé en " - -#: eeschema/find.cpp:618 -msgid " Not Found" -msgstr " Non trouvé" - -#: eeschema/find.cpp:673 -#: eeschema/find.cpp:738 -#: eeschema/find.cpp:754 -msgid "Found " -msgstr "Trouvé " - -#: eeschema/find.cpp:673 -msgid " in library " -msgstr " en librairie " - -#: eeschema/find.cpp:681 -msgid " found only in cache" -msgstr "trouvé seulement en cache" - -#: eeschema/find.cpp:684 -msgid "" -"\n" -"Explore All Libraries?" -msgstr "" -"\n" -"Explorer toutes les Librairies?" - -#: eeschema/find.cpp:690 -msgid "Nothing found" -msgstr " Rien trouvé" - -#: eeschema/find.cpp:739 -#: eeschema/find.cpp:755 -msgid " in lib " -msgstr " en libr. " +msgid "Save Symbol in [%s]" +msgstr "Symbole sauvé en [%s]" #: eeschema/menubar.cpp:42 msgid "&New" @@ -7904,37 +7909,39 @@ msgstr "&Voir" msgid "&Place" msgstr "&Placer" -#: eeschema/symbedit.cpp:52 -msgid "Import Symbol Drawings" -msgstr "Importer Symbole de Dessin" - -#: eeschema/symbedit.cpp:71 +#: eeschema/class_BodyItem_Text.cpp:86 #, c-format -msgid "Failed to open Symbol File <%s>" -msgstr "Ne peut pas ouvrir fichier <%s>" +msgid "text only had %d parameters of the required 8" +msgstr "le texte a seulement %d paramètres sur les 8 requis" -#: eeschema/symbedit.cpp:82 +#: eeschema/files-io.cpp:71 +msgid "Clear Schematic Hierarchy (modified!)?" +msgstr "Effacer la hiérarchie schématique (modifiée!)?" + +#: eeschema/files-io.cpp:80 +msgid "Open Schematic" +msgstr "Ouvrir Schématique" + +#: eeschema/files-io.cpp:129 +msgid "" +"Ready\n" +"Working dir: \n" +msgstr "" +"Prêt\n" +"Répertoire de travail: \n" + +#: eeschema/files-io.cpp:189 +#, fuzzy, c-format +msgid "" +"Component library <%s> failed to load.\n" +"\n" +"Error: %s" +msgstr "Fichiers librairies de composants" + +#: eeschema/files-io.cpp:204 #, c-format -msgid "Error <%s> occurred loading symbol library <%s>." -msgstr "Erreur <%s> en chargeant la librairie symbole <%s>." - -#: eeschema/symbedit.cpp:94 -#, c-format -msgid "No components found in symbol library <%s>." -msgstr "Pas deomposant trouvé en librairie de symboles <%s>." - -#: eeschema/symbedit.cpp:101 -msgid "Warning: more than 1 part in Symbol File" -msgstr "Attention: plus de 1élément dans le fichier symbole" - -#: eeschema/symbedit.cpp:165 -msgid "Export Symbol Drawings" -msgstr "Exporter Symbole de Dessin" - -#: eeschema/symbedit.cpp:191 -#, c-format -msgid "Save Symbol in [%s]" -msgstr "Symbole sauvé en [%s]" +msgid "File <%s> not found." +msgstr "Fichier <%s> non trouvé" #: eeschema/schframe.cpp:315 msgid "Schematic modified, Save before exit ?" @@ -7969,6 +7976,60 @@ msgstr "Afficher grille" msgid "Schematic" msgstr "Schématique" +#: eeschema/libframe.cpp:213 +msgid "" +"Component was modified!\n" +"Discard changes?" +msgstr "" +"Le composant a été modifié\n" +"Perdre les changements" + +#: eeschema/libframe.cpp:227 +#, c-format +msgid "" +"Library \"%s\" was modified!\n" +"Discard changes?" +msgstr "" +"Librairie \"%s\" modifiée!\n" +"Perdre les changements ?" + +#: eeschema/libframe.cpp:326 +#, c-format +msgid "Part %c" +msgstr "Composant %c" + +#: eeschema/libframe.cpp:571 +msgid " Pins Test OK!" +msgstr " Test Pins OK!" + +#: eeschema/libframe.cpp:616 +msgid "Add Pin" +msgstr "Addition de \"pins\"" + +#: eeschema/libframe.cpp:620 +msgid "Set Pin Options" +msgstr "Choix Options des Pins" + +#: eeschema/libframe.cpp:642 +msgid "Add Rectangle" +msgstr "Addition de rectangles" + +#: eeschema/libframe.cpp:646 +msgid "Add Circle" +msgstr "Addition de cercle" + +#: eeschema/libframe.cpp:650 +msgid "Add Arc" +msgstr "Addition d' arc" + +#: eeschema/libframe.cpp:658 +msgid "Anchor" +msgstr "Ancre" + +#: eeschema/libframe.cpp:668 +msgid "Export" +msgstr "Exporter" + #: eeschema/dialog_options.cpp:140 #: eeschema/dialog_options.cpp:287 msgid "Delta Step X" @@ -8137,27 +8198,6 @@ msgstr "Erreur. Vous devez entrer une ligne de commande" msgid "Error. You must provide a Title" msgstr "Erreur. Vous devez entrer un titre" -#: eeschema/files-io.cpp:72 -msgid "Clear Schematic Hierarchy (modified!)?" -msgstr "Effacer la hiérarchie schématique (modifiée!)?" - -#: eeschema/files-io.cpp:81 -msgid "Open Schematic" -msgstr "Ouvrir Schématique" - -#: eeschema/files-io.cpp:130 -msgid "" -"Ready\n" -"Working dir: \n" -msgstr "" -"Prêt\n" -"Répertoire de travail: \n" - -#: eeschema/files-io.cpp:196 -#, c-format -msgid "File <%s> not found." -msgstr "Fichier <%s> non trouvé" - #: eeschema/dialog_cmp_graphic_properties.cpp:150 msgid "Options :" msgstr "Options :" @@ -8257,112 +8297,65 @@ msgstr "" msgid "User defined search path" msgstr "Chemin de recherche défini par l'utilisateur" -#: eeschema/classes_body_items.cpp:35 -msgid "Undefined" -msgstr "Non Défini" - -#: eeschema/classes_body_items.cpp:56 -#: eeschema/classes_body_items.cpp:62 -#: eeschema/dialog_print_using_printer_base.cpp:52 -msgid "All" -msgstr "Tout" - -#: eeschema/classes_body_items.cpp:64 -msgid "no" -msgstr "non" - -#: eeschema/classes_body_items.cpp:66 -msgid "yes" -msgstr "oui" - -#: eeschema/classes_body_items.cpp:124 +#: eeschema/class_libentry.cpp:552 #, c-format -msgid "arc only had %d parameters of the required 8" -msgstr "l'arc a seulement %d paramètres sur les 8 requis" +msgid "DEF command expected in line %d, aborted." +msgstr "" -#: eeschema/classes_body_items.cpp:390 -#: eeschema/classes_body_items.cpp:565 -#: eeschema/classes_body_items.cpp:695 -#: eeschema/classes_body_items.cpp:856 -#: eeschema/classes_body_items.cpp:1155 -#: eeschema/classes_body_items.cpp:1400 -#: eeschema/class_BodyItem_Text.cpp:253 -msgid "Line width" -msgstr "Epaisseur ligne" - -#: eeschema/classes_body_items.cpp:395 -#: eeschema/classes_body_items.cpp:574 -#: eeschema/classes_body_items.cpp:861 -#: eeschema/classes_body_items.cpp:1160 -#: eeschema/classes_body_items.cpp:1405 -msgid "Bounding box" -msgstr "Rectange dencadrement" - -#: eeschema/classes_body_items.cpp:430 +#: eeschema/class_libentry.cpp:574 #, c-format -msgid "circle only had %d parameters of the required 6" -msgstr "le cercle a seulement %d paramètres sur les 6 requis" +msgid "Wrong DEF format in line %d, skipped." +msgstr "" -#: eeschema/classes_body_items.cpp:569 -msgid "Radius" -msgstr "Rayon" +#: eeschema/class_libentry.cpp:667 +msgid "file ended prematurely loading component draw element" +msgstr "" -#: eeschema/classes_body_items.cpp:587 -msgid "Rectangle" -msgstr "Rectangle" - -#: eeschema/classes_body_items.cpp:610 +#: eeschema/class_libentry.cpp:707 #, c-format -msgid "rectangle only had %d parameters of the required 7" -msgstr "le rectangle a seulement %d paramètres sur les 7 requis" +msgid "undefined DRAW command %c" +msgstr "" -#: eeschema/classes_body_items.cpp:908 -msgid "PolyLine" -msgstr "PolyLigne" - -#: eeschema/classes_body_items.cpp:940 +#: eeschema/class_libentry.cpp:714 #, c-format -msgid "polyline only had %d parameters of the required 4" -msgstr "la polyligne a seulement %d paramètres sur les 4 requis" +msgid "error <%s> in DRAW command %c" +msgstr "" -#: eeschema/classes_body_items.cpp:945 -#, c-format -msgid "polyline count parameter %d is invalid" -msgstr "le nombre de paramètes (%d) de la polyligne est mauvais" +#: eeschema/class_libentry.cpp:723 +msgid "file ended prematurely while attempting to flush to end of drawing section." +msgstr "" -#: eeschema/classes_body_items.cpp:961 -#, c-format -msgid "polyline point %d X position not defined" -msgstr "la position X du point %d de la polyligne n'est pas définie" +#: eeschema/eeconfig.cpp:282 +msgid "Save Project Settings" +msgstr "Sauver Optionsr Projet" -#: eeschema/classes_body_items.cpp:968 -#, c-format -msgid "polyline point %d Y position not defined" -msgstr "la position Y du point %d de la polyligne n'est pas définie" +#: eeschema/tool_viewlib.cpp:34 +msgid "Select library to browse" +msgstr "Sélection de la librairie à examiner" -#: eeschema/classes_body_items.cpp:1171 -msgid "Bezier" -msgstr "Bezier" +#: eeschema/tool_viewlib.cpp:38 +msgid "Select part to browse" +msgstr "Sélectionner composant à visualiser" -#: eeschema/classes_body_items.cpp:1204 -#, c-format -msgid "Bezier only had %d parameters of the required 4" -msgstr "La courbe de Bezier a seulement %d paramètres sur les 4 requis" +#: eeschema/tool_viewlib.cpp:43 +msgid "Display previous part" +msgstr "Afficher composant précédent" -#: eeschema/classes_body_items.cpp:1210 -#, c-format -msgid "Bezier count parameter %d is invalid" -msgstr "le nombre de paramètes (%d) de la courbe de Bezier est mauvais" +#: eeschema/tool_viewlib.cpp:47 +msgid "Display next part" +msgstr "Afficher composant suivant" -#: eeschema/classes_body_items.cpp:1226 -#, c-format -msgid "Bezier point %d X position not defined" -msgstr "la position X du point %d de la courbe de Bezier n'est pas définie" +#: eeschema/tool_viewlib.cpp:64 +msgid "Best zoom" +msgstr "Meilleur Zoom" -#: eeschema/classes_body_items.cpp:1232 -#, c-format -msgid "Bezier point %d Y position not defined" -msgstr "la position Y du point %d de la courbe de Bezier n'est pas définie" +#: eeschema/tool_viewlib.cpp:87 +msgid "View component documents" +msgstr "Voir documents des composants" + +#: eeschema/tool_viewlib.cpp:96 +msgid "Insert component in schematic" +msgstr "Placer composant en schématique" #: eeschema/dialog_bodygraphictext_properties_base.cpp:57 msgid " Text Options : " @@ -8413,334 +8406,10 @@ msgstr "Alignement au sommet" msgid "Vert. Justify" msgstr "Vert. Justifié" -#: eeschema/onrightclick.cpp:104 -msgid "Leave Sheet" -msgstr "Quitter sous-feuille" - -#: eeschema/onrightclick.cpp:120 -msgid "Delete Noconn" -msgstr "Supprimer Non Connexion" - -#: eeschema/onrightclick.cpp:130 -msgid "Move Bus Entry" -msgstr "Déplacer Entrée de Bus" - -#: eeschema/onrightclick.cpp:132 -msgid "Set Bus Entry /" -msgstr "Entrée de Bus /" - -#: eeschema/onrightclick.cpp:134 -msgid "Set Bus Entry \\" -msgstr "Entrée de Bus \\" - -#: eeschema/onrightclick.cpp:136 -msgid "Delete Bus Entry" -msgstr "Supprimer Entrée de Bus" - -#: eeschema/onrightclick.cpp:231 -msgid "Move Field" -msgstr "Déplace Champ" - -#: eeschema/onrightclick.cpp:232 -msgid "Rotate Field" -msgstr "Rotation Champ" - -#: eeschema/onrightclick.cpp:233 -msgid "Edit Field" -msgstr "Editer Champ" - -#: eeschema/onrightclick.cpp:258 -msgid "Move Component" -msgstr "Déplace Composant" - -#: eeschema/onrightclick.cpp:263 -msgid "Drag Component" -msgstr "Drag Composant" - -#: eeschema/onrightclick.cpp:274 -msgid "Mirror --" -msgstr "Miroir--" - -#: eeschema/onrightclick.cpp:276 -msgid "Mirror ||" -msgstr "Miroir ||" - -#: eeschema/onrightclick.cpp:282 -msgid "Orient Component" -msgstr "Oriente Composant" - -#: eeschema/onrightclick.cpp:295 -msgid "Footprint " -msgstr "Empreinte: " - -#: eeschema/onrightclick.cpp:308 -#, c-format -msgid "Unit %d %c" -msgstr "Unité %d %c" - -#: eeschema/onrightclick.cpp:318 -msgid "Edit Component" -msgstr "Edite Composant" - -#: eeschema/onrightclick.cpp:322 -msgid "Copy Component" -msgstr "Copie Composant" - -#: eeschema/onrightclick.cpp:343 -msgid "Move Global Label" -msgstr "Déplacer Label Global" - -#: eeschema/onrightclick.cpp:344 -msgid "Rotate Global Label" -msgstr "Rot. Label Global" - -#: eeschema/onrightclick.cpp:345 -msgid "Edit Global Label" -msgstr "Editer Label Global" - -#: eeschema/onrightclick.cpp:346 -msgid "Delete Global Label" -msgstr "Supprimer Label Global" - -#: eeschema/onrightclick.cpp:350 -#: eeschema/onrightclick.cpp:404 -#: eeschema/onrightclick.cpp:437 -msgid "Change to Hierarchical Label" -msgstr "Changer en Label Hiérarchique" - -#: eeschema/onrightclick.cpp:352 -#: eeschema/onrightclick.cpp:377 -#: eeschema/onrightclick.cpp:435 -msgid "Change to Label" -msgstr "Change en Label" - -#: eeschema/onrightclick.cpp:354 -#: eeschema/onrightclick.cpp:379 -#: eeschema/onrightclick.cpp:406 -msgid "Change to Text" -msgstr "Change en Texte" - -#: eeschema/onrightclick.cpp:356 -#: eeschema/onrightclick.cpp:383 -#: eeschema/onrightclick.cpp:410 -#: eeschema/onrightclick.cpp:441 -msgid "Change Type" -msgstr "Change Type" - -#: eeschema/onrightclick.cpp:370 -msgid "Move Hierarchical Label" -msgstr "Déplacer Label Hiérarchique" - -#: eeschema/onrightclick.cpp:371 -msgid "Rotate Hierarchical Label" -msgstr "Rot. Label Hiérarchique" - -#: eeschema/onrightclick.cpp:372 -msgid "Edit Hierarchical Label" -msgstr "Editer Label Hiérarchique" - -#: eeschema/onrightclick.cpp:373 -msgid "Delete Hierarchical label" -msgstr "Supprimer Label Hiérarchique" - -#: eeschema/onrightclick.cpp:381 -#: eeschema/onrightclick.cpp:408 -msgid "Change to Global Label" -msgstr "Change en Label Global" - -#: eeschema/onrightclick.cpp:397 -msgid "Move Label" -msgstr "Déplace Label" - -#: eeschema/onrightclick.cpp:398 -msgid "Rotate Label" -msgstr "Rot. Label" - -#: eeschema/onrightclick.cpp:399 -msgid "Edit Label" -msgstr "Editer Label" - -#: eeschema/onrightclick.cpp:400 -msgid "Delete Label" -msgstr "Supprimer Label" - -#: eeschema/onrightclick.cpp:424 -msgid "Move Text" -msgstr "Déplacer Texte" - -#: eeschema/onrightclick.cpp:425 -#: eeschema/libedit_onrightclick.cpp:130 -msgid "Rotate Text" -msgstr "Rot. Texte" - -#: eeschema/onrightclick.cpp:426 -msgid "Edit Text" -msgstr "Editer Texte" - -#: eeschema/onrightclick.cpp:427 -msgid "Delete Text" -msgstr "Effacer Texte" - -#: eeschema/onrightclick.cpp:439 -msgid "Change to Glabel" -msgstr "Change en Label Global" - -#: eeschema/onrightclick.cpp:460 -#: eeschema/onrightclick.cpp:501 -msgid "Break Wire" -msgstr "Briser Fil" - -#: eeschema/onrightclick.cpp:463 -msgid "Delete Junction" -msgstr "Supprimer Jonction" - -#: eeschema/onrightclick.cpp:468 -#: eeschema/onrightclick.cpp:495 -msgid "Delete Node" -msgstr "Supprimer Noeud" - -#: eeschema/onrightclick.cpp:470 -#: eeschema/onrightclick.cpp:497 -msgid "Delete Connection" -msgstr "Supprimer Connexion" - -#: eeschema/onrightclick.cpp:488 -msgid "Wire End" -msgstr "Terminer Fil" - -#: eeschema/onrightclick.cpp:492 -msgid "Drag Wire" -msgstr "Drag Fil" - -#: eeschema/onrightclick.cpp:494 -msgid "Delete Wire" -msgstr "Supprimer Fil" - -#: eeschema/onrightclick.cpp:511 -#: eeschema/onrightclick.cpp:545 -msgid "Add Global Label" -msgstr "Ajout Label Global" - -#: eeschema/onrightclick.cpp:528 -msgid "Bus End" -msgstr "Terminer Bus" - -#: eeschema/onrightclick.cpp:533 -msgid "Delete Bus" -msgstr "Supprimer Bus" - -#: eeschema/onrightclick.cpp:536 -msgid "Break Bus" -msgstr "Briser Bus" - -#: eeschema/onrightclick.cpp:558 -msgid "Enter Sheet" -msgstr "Entrer dans Feuille" - -#: eeschema/onrightclick.cpp:560 -msgid "Move Sheet" -msgstr "Déplacer Feuille" - -#: eeschema/onrightclick.cpp:565 -msgid "Place Sheet" -msgstr "Placer Feuille" - -#: eeschema/onrightclick.cpp:569 -msgid "Edit Sheet" -msgstr "Editer Feuille" - -#: eeschema/onrightclick.cpp:570 -msgid "Resize Sheet" -msgstr "Redimensionner Feuille" - -#: eeschema/onrightclick.cpp:572 -msgid "Import PinSheets" -msgstr "Importer Connecteur de Hiérarchie" - -#: eeschema/onrightclick.cpp:576 -msgid "Cleanup PinSheets" -msgstr "Nettoyage des Pins Hiérarchiques" - -#: eeschema/onrightclick.cpp:578 -msgid "Delete Sheet" -msgstr "Supprimer Feuille" - -#: eeschema/onrightclick.cpp:591 -msgid "Move PinSheet" -msgstr "Déplace Connecteur de hiérarchie" - -#: eeschema/onrightclick.cpp:593 -msgid "Edit PinSheet" -msgstr "Edit Connecteur de hiérarchie" - -#: eeschema/onrightclick.cpp:596 -msgid "Delete PinSheet" -msgstr "Supprimer Connecteur de hiérarchie" - -#: eeschema/onrightclick.cpp:613 -msgid "Window Zoom" -msgstr "Zoom sur Fenètre" - -#: eeschema/onrightclick.cpp:619 -msgid "Save Block" -msgstr "Sauver Bloc" - -#: eeschema/onrightclick.cpp:623 -msgid "Drag Block" -msgstr "Drag Bloc" - -#: eeschema/onrightclick.cpp:627 -#: eeschema/libedit_onrightclick.cpp:247 -msgid "Mirror Block ||" -msgstr "Miroir Bloc ||" - -#: eeschema/onrightclick.cpp:631 -msgid "Copy to Clipboard" -msgstr "Copie dans Presse papier" - #: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:145 msgid "The vertical height of the currently selected field's text in the schematic" msgstr "La taille du texte du champ actuellement sélectionné" -#: eeschema/class_library.cpp:329 -msgid "library file name not set" -msgstr "Nom du fichier librairie non sélectionné" - -#: eeschema/class_library.cpp:337 -msgid "could not open file" -msgstr "ne peut ouvrir le fichier" - -#: eeschema/class_library.cpp:343 -msgid "file is empty!" -msgstr "Fichier vide!" - -#: eeschema/class_library.cpp:349 -msgid "file is NOT an EESCHEMA library!" -msgstr "Le fichier n'est PAS une librairie EESCHEMA !" - -#: eeschema/class_library.cpp:364 -msgid "header read error" -msgstr "erreur lecture entête" - -#: eeschema/class_library.cpp:450 -#, c-format -msgid "" -"Could not open component document libray file\n" -"<%s>." -msgstr "" -"Ne peut ouvrir le fichier document du composant \n" -"<%s>." - -#: eeschema/class_library.cpp:457 -#, c-format -msgid "Component document libray file <%s> is empty." -msgstr "Fichier document de composants <%s> vide" - -#: eeschema/class_library.cpp:465 -#, c-format -msgid "File <%s> is not a valid component library document file." -msgstr "<%s> n'est pas un fichier documentation de composant valide." - #: eeschema/libedit_onrightclick.cpp:79 msgid "Move Arc " msgstr "Déplacer arc" @@ -8785,6 +8454,10 @@ msgstr "Déplacer Texte" msgid "Text Editor" msgstr "Editeur de Texte" +#: eeschema/libedit_onrightclick.cpp:130 +msgid "Rotate Text" +msgstr "Rot. Texte" + #: eeschema/libedit_onrightclick.cpp:133 msgid "Delete Text " msgstr "Supprimer Texte" @@ -8865,6 +8538,10 @@ msgstr "Change Taille Num Pin autres Pins" msgid "Select Items" msgstr "Sélection des Eléments" +#: eeschema/libedit_onrightclick.cpp:247 +msgid "Mirror Block ||" +msgstr "Miroir Bloc ||" + #: eeschema/annotate_dialog.cpp:150 msgid "Scope" msgstr "Sélection" @@ -8957,6 +8634,318 @@ msgstr "" "\n" "Cette opération supprimera l'annotation existante et ne peut être annulée." +#: eeschema/lib_export.cpp:45 +msgid "Import Component" +msgstr "Importer Composant" + +#: eeschema/lib_export.cpp:65 +#, fuzzy, c-format +msgid "Component library file <%s> is empty." +msgstr "Fichier document de composants <%s> vide" + +#: eeschema/lib_export.cpp:100 +msgid "There is no component selected to save." +msgstr "Pas de composant sélectionné à sauver." + +#: eeschema/lib_export.cpp:107 +msgid "New Library" +msgstr "Nouvelle Librairie" + +#: eeschema/lib_export.cpp:107 +msgid "Export Component" +msgstr "Exporter Composant" + +#: eeschema/lib_export.cpp:133 +msgid " - OK" +msgstr " - OK" + +#: eeschema/lib_export.cpp:134 +msgid "" +"This library will not be available until it is loaded by EESchema.\n" +"Modify the EESchema library configuration if you want to include it as part of this project." +msgstr "" +"Note: cette nouvelle librairie sera disponible seulement si elle est chargée par eeschema\n" +"Modifier la config de eeschema si vous voulez l'utiliser dans votre projet." + +#: eeschema/lib_export.cpp:139 +msgid "Error creating " +msgstr "Erreur en création de " + +#: eeschema/onrightclick.cpp:110 +msgid "Leave Sheet" +msgstr "Quitter sous-feuille" + +#: eeschema/onrightclick.cpp:126 +msgid "Delete Noconn" +msgstr "Supprimer Non Connexion" + +#: eeschema/onrightclick.cpp:137 +msgid "Move Bus Entry" +msgstr "Déplacer Entrée de Bus" + +#: eeschema/onrightclick.cpp:140 +msgid "Set Bus Entry /" +msgstr "Entrée de Bus /" + +#: eeschema/onrightclick.cpp:143 +msgid "Set Bus Entry \\" +msgstr "Entrée de Bus \\" + +#: eeschema/onrightclick.cpp:145 +msgid "Delete Bus Entry" +msgstr "Supprimer Entrée de Bus" + +#: eeschema/onrightclick.cpp:244 +msgid "Move Field" +msgstr "Déplace Champ" + +#: eeschema/onrightclick.cpp:246 +msgid "Rotate Field" +msgstr "Rotation Champ" + +#: eeschema/onrightclick.cpp:248 +msgid "Edit Field" +msgstr "Editer Champ" + +#: eeschema/onrightclick.cpp:280 +msgid "Move Component" +msgstr "Déplace Composant" + +#: eeschema/onrightclick.cpp:285 +msgid "Drag Component" +msgstr "Drag Composant" + +#: eeschema/onrightclick.cpp:299 +msgid "Mirror --" +msgstr "Miroir--" + +#: eeschema/onrightclick.cpp:302 +msgid "Mirror ||" +msgstr "Miroir ||" + +#: eeschema/onrightclick.cpp:310 +msgid "Orient Component" +msgstr "Oriente Composant" + +#: eeschema/onrightclick.cpp:326 +msgid "Footprint " +msgstr "Empreinte: " + +#: eeschema/onrightclick.cpp:342 +#, c-format +msgid "Unit %d %c" +msgstr "Unité %d %c" + +#: eeschema/onrightclick.cpp:354 +msgid "Edit Component" +msgstr "Edite Composant" + +#: eeschema/onrightclick.cpp:359 +msgid "Copy Component" +msgstr "Copie Composant" + +#: eeschema/onrightclick.cpp:380 +msgid "Move Global Label" +msgstr "Déplacer Label Global" + +#: eeschema/onrightclick.cpp:382 +msgid "Rotate Global Label" +msgstr "Rot. Label Global" + +#: eeschema/onrightclick.cpp:384 +msgid "Edit Global Label" +msgstr "Editer Label Global" + +#: eeschema/onrightclick.cpp:386 +msgid "Delete Global Label" +msgstr "Supprimer Label Global" + +#: eeschema/onrightclick.cpp:390 +#: eeschema/onrightclick.cpp:452 +#: eeschema/onrightclick.cpp:490 +msgid "Change to Hierarchical Label" +msgstr "Changer en Label Hiérarchique" + +#: eeschema/onrightclick.cpp:392 +#: eeschema/onrightclick.cpp:421 +#: eeschema/onrightclick.cpp:487 +msgid "Change to Label" +msgstr "Change en Label" + +#: eeschema/onrightclick.cpp:394 +#: eeschema/onrightclick.cpp:423 +#: eeschema/onrightclick.cpp:454 +msgid "Change to Text" +msgstr "Change en Texte" + +#: eeschema/onrightclick.cpp:397 +#: eeschema/onrightclick.cpp:428 +#: eeschema/onrightclick.cpp:459 +#: eeschema/onrightclick.cpp:497 +msgid "Change Type" +msgstr "Change Type" + +#: eeschema/onrightclick.cpp:411 +msgid "Move Hierarchical Label" +msgstr "Déplacer Label Hiérarchique" + +#: eeschema/onrightclick.cpp:413 +msgid "Rotate Hierarchical Label" +msgstr "Rot. Label Hiérarchique" + +#: eeschema/onrightclick.cpp:415 +msgid "Edit Hierarchical Label" +msgstr "Editer Label Hiérarchique" + +#: eeschema/onrightclick.cpp:417 +msgid "Delete Hierarchical label" +msgstr "Supprimer Label Hiérarchique" + +#: eeschema/onrightclick.cpp:425 +#: eeschema/onrightclick.cpp:456 +msgid "Change to Global Label" +msgstr "Change en Label Global" + +#: eeschema/onrightclick.cpp:442 +msgid "Move Label" +msgstr "Déplace Label" + +#: eeschema/onrightclick.cpp:444 +msgid "Rotate Label" +msgstr "Rot. Label" + +#: eeschema/onrightclick.cpp:446 +msgid "Edit Label" +msgstr "Editer Label" + +#: eeschema/onrightclick.cpp:448 +msgid "Delete Label" +msgstr "Supprimer Label" + +#: eeschema/onrightclick.cpp:473 +msgid "Move Text" +msgstr "Déplacer Texte" + +#: eeschema/onrightclick.cpp:476 +msgid "Edit Text" +msgstr "Editer Texte" + +#: eeschema/onrightclick.cpp:478 +msgid "Delete Text" +msgstr "Effacer Texte" + +#: eeschema/onrightclick.cpp:494 +msgid "Change to Glabel" +msgstr "Change en Label Global" + +#: eeschema/onrightclick.cpp:516 +#: eeschema/onrightclick.cpp:560 +msgid "Break Wire" +msgstr "Briser Fil" + +#: eeschema/onrightclick.cpp:519 +msgid "Delete Junction" +msgstr "Supprimer Jonction" + +#: eeschema/onrightclick.cpp:526 +#: eeschema/onrightclick.cpp:553 +msgid "Delete Node" +msgstr "Supprimer Noeud" + +#: eeschema/onrightclick.cpp:528 +#: eeschema/onrightclick.cpp:556 +msgid "Delete Connection" +msgstr "Supprimer Connexion" + +#: eeschema/onrightclick.cpp:545 +msgid "Wire End" +msgstr "Terminer Fil" + +#: eeschema/onrightclick.cpp:549 +msgid "Drag Wire" +msgstr "Drag Fil" + +#: eeschema/onrightclick.cpp:552 +msgid "Delete Wire" +msgstr "Supprimer Fil" + +#: eeschema/onrightclick.cpp:574 +#: eeschema/onrightclick.cpp:610 +msgid "Add Global Label" +msgstr "Ajout Label Global" + +#: eeschema/onrightclick.cpp:590 +msgid "Bus End" +msgstr "Terminer Bus" + +#: eeschema/onrightclick.cpp:594 +msgid "Delete Bus" +msgstr "Supprimer Bus" + +#: eeschema/onrightclick.cpp:597 +msgid "Break Bus" +msgstr "Briser Bus" + +#: eeschema/onrightclick.cpp:623 +msgid "Enter Sheet" +msgstr "Entrer dans Feuille" + +#: eeschema/onrightclick.cpp:626 +msgid "Move Sheet" +msgstr "Déplacer Feuille" + +#: eeschema/onrightclick.cpp:631 +msgid "Place Sheet" +msgstr "Placer Feuille" + +#: eeschema/onrightclick.cpp:636 +msgid "Edit Sheet" +msgstr "Editer Feuille" + +#: eeschema/onrightclick.cpp:638 +msgid "Resize Sheet" +msgstr "Redimensionner Feuille" + +#: eeschema/onrightclick.cpp:641 +msgid "Import PinSheets" +msgstr "Importer Connecteur de Hiérarchie" + +#: eeschema/onrightclick.cpp:645 +msgid "Cleanup PinSheets" +msgstr "Nettoyage des Pins Hiérarchiques" + +#: eeschema/onrightclick.cpp:647 +msgid "Delete Sheet" +msgstr "Supprimer Feuille" + +#: eeschema/onrightclick.cpp:662 +msgid "Move PinSheet" +msgstr "Déplace Connecteur de hiérarchie" + +#: eeschema/onrightclick.cpp:664 +msgid "Edit PinSheet" +msgstr "Edit Connecteur de hiérarchie" + +#: eeschema/onrightclick.cpp:668 +msgid "Delete PinSheet" +msgstr "Supprimer Connecteur de hiérarchie" + +#: eeschema/onrightclick.cpp:685 +msgid "Window Zoom" +msgstr "Zoom sur Fenètre" + +#: eeschema/onrightclick.cpp:692 +msgid "Save Block" +msgstr "Sauver Bloc" + +#: eeschema/onrightclick.cpp:695 +msgid "Drag Block" +msgstr "Drag Bloc" + +#: eeschema/onrightclick.cpp:705 +msgid "Copy to Clipboard" +msgstr "Copie dans Presse papier" + #: eeschema/dialog_SVG_print_base.cpp:25 #: eeschema/dialog_print_using_printer_base.cpp:25 msgid "Default Pen Size" @@ -8975,80 +8964,41 @@ msgstr "Imprimer Page Courante" msgid "Print All" msgstr "Imprimer Tout" -#: eeschema/class_BodyItem_Text.cpp:85 -#, c-format -msgid "text only had %d parameters of the required 8" -msgstr "le texte a seulement %d paramètres sur les 8 requis" +#: eeschema/class_sch_component.cpp:135 +msgid "U" +msgstr "U" + +#: eeschema/class_sch_component.cpp:1032 +msgid "Ref" +msgstr "Ref" + +#: eeschema/class_sch_component.cpp:1037 +msgid "Pwr Symb" +msgstr "Symb Alim" + +#: eeschema/class_sch_component.cpp:1039 +msgid "Val" +msgstr "Val" + +#: eeschema/class_sch_component.cpp:1043 +msgid "RefLib" +msgstr "RefLib" + +#: eeschema/class_sch_component.cpp:1047 +msgid "Lib" +msgstr "Lib" #: eeschema/dialog_print_using_printer_base.cpp:52 msgid "Current" msgstr "Courant" -#: eeschema/dialog_edit_component_in_lib.cpp:49 -msgid "Lib Component Properties" -msgstr "Propriétés du composant librairie" +#: eeschema/save_schemas.cpp:69 +msgid "Schematic Files" +msgstr "Fichiers Schématiques" -#: eeschema/dialog_edit_component_in_lib.cpp:53 -msgid "Properties for " -msgstr "Propriétés pour " - -#: eeschema/dialog_edit_component_in_lib.cpp:58 -msgid "(alias of " -msgstr "(alias de " - -#: eeschema/class_libentry_fields.cpp:112 -msgid "invalid field number defined" -msgstr "" - -#: eeschema/class_libentry_fields.cpp:151 -#, c-format -msgid "field %d does not have the correct number of parameters" -msgstr "" - -#: eeschema/class_libentry_fields.cpp:166 -#, c-format -msgid "field %d text orientation parameter <%c> is not valid" -msgstr "champ %d parametre d'orientation de texte<%c> non valide" - -#: eeschema/class_libentry_fields.cpp:178 -#, c-format -msgid "field %d text visible parameter <%c> is not valid" -msgstr "champ %d parametre de visibilité de texte<%c> non valide" - -#: eeschema/class_libentry_fields.cpp:197 -#, c-format -msgid "field %d text horizontal justification parameter <%c> is not valid" -msgstr "" - -#: eeschema/class_libentry_fields.cpp:211 -#, c-format -msgid "field %d text vertical justification parameter <%c> is not valid" -msgstr "" - -#: eeschema/class_libentry_fields.cpp:401 -msgid "Datasheet" -msgstr "Documentation" - -#: eeschema/class_libentry_fields.cpp:409 -#: eeschema/build_BOM.cpp:621 -msgid "Field" -msgstr "Champ" - -#: eeschema/class_pin.cpp:45 -msgid "Pin" -msgstr "Pin" - -#: eeschema/class_pin.cpp:1059 -msgid "PinName" -msgstr "Nom Pin" - -#: eeschema/class_pin.cpp:1068 -msgid "PinNum" -msgstr "Num Pin" - -#: eeschema/class_pin.cpp:1072 -msgid "PinType" -msgstr "Type Pin" +#: eeschema/save_schemas.cpp:99 +msgid "File write operation failed." +msgstr "Erreur sur écriture sur fichier." #: eeschema/dialog_edit_label.cpp:68 msgid "Global Label Properties" @@ -9075,6 +9025,211 @@ msgstr "Propriétés du Texte" msgid "%8.8lX/" msgstr "%8.8lX/" +#: eeschema/class_library.cpp:24 +#, c-format +msgid "Component library <%s> has duplicate entry name <%s>. This may cause some expected behavior when loading components into a schematic." +msgstr "" + +#: eeschema/class_library.cpp:184 +#, fuzzy, c-format +msgid "Cannot add duplicate alias <%s> to library <%s>." +msgstr "Ne peut créer une copie de l'élément <%s> en librairie <%s>." + +#: eeschema/class_library.cpp:223 +#, c-format +msgid "Conflict in library <%s>: alias <%s> already has root name <%s> and will not be assigned to root name <%s>." +msgstr "" + +#: eeschema/class_library.cpp:453 +#, fuzzy +msgid "The component library file name is not set." +msgstr "Nom du fichier librairie non sélectionné" + +#: eeschema/class_library.cpp:461 +#, fuzzy +msgid "The file could not be opened." +msgstr "Fichier d'aide %s non trouvé." + +#: eeschema/class_library.cpp:467 +msgid "The file is empty!" +msgstr "Fichier vide!" + +#: eeschema/class_library.cpp:490 +msgid "The file is NOT an EESCHEMA library!" +msgstr "Le fichier n'est PAS une librairie EESCHEMA !" + +#: eeschema/class_library.cpp:496 +msgid "The file header is missing version and time stamp information." +msgstr "" + +#: eeschema/class_library.cpp:503 +msgid "The file header version information is invalid." +msgstr "" + +#: eeschema/class_library.cpp:515 +#, c-format +msgid "" +"The component library <%s> header version number is invalid.\n" +"\n" +"In future versions of EESchema this library may not load correctly.\n" +"To resolve this problem open the library in the library editor and save it.\n" +"If this library is the project cache library, save the current schematic." +msgstr "" + +#: eeschema/class_library.cpp:539 +#, fuzzy +msgid "An error occured attempting to read the header." +msgstr "L'erreur <%s> s'est produite lors du chargement de la librairie de composants <%s>" + +#: eeschema/class_library.cpp:569 +#, c-format +msgid "Library <%s> component load error %s." +msgstr "Librairie <%s> erreur de chargement du composant %s." + +#: eeschema/class_library.cpp:639 +#, c-format +msgid "" +"Could not open component document libray file\n" +"<%s>." +msgstr "" +"Ne peut ouvrir le fichier document du composant \n" +"<%s>." + +#: eeschema/class_library.cpp:646 +#, c-format +msgid "Component document libray file <%s> is empty." +msgstr "Fichier document de composants <%s> vide" + +#: eeschema/class_library.cpp:654 +#, c-format +msgid "File <%s> is not a valid component library document file." +msgstr "<%s> n'est pas un fichier documentation de composant valide." + +#: eeschema/class_pin.cpp:45 +msgid "Pin" +msgstr "Pin" + +#: eeschema/class_pin.cpp:1099 +msgid "PinName" +msgstr "Nom Pin" + +#: eeschema/class_pin.cpp:1108 +msgid "PinNum" +msgstr "Num Pin" + +#: eeschema/class_pin.cpp:1112 +msgid "PinType" +msgstr "Type Pin" + +#: eeschema/class_drc_erc_item.cpp:39 +msgid "ERC err unspecified" +msgstr "Erreur ERC non specifiée" + +#: eeschema/class_drc_erc_item.cpp:41 +msgid "Duplicate sheet names within a given sheet" +msgstr "Nom de feuille en double dans une feuile donnée" + +#: eeschema/class_drc_erc_item.cpp:43 +msgid "Pin not connected (and no connect symbol found on this pin)" +msgstr "Pin non connectée (pas de symbole de non connexion trouvé sur cette pin)" + +#: eeschema/class_drc_erc_item.cpp:45 +msgid "Pin connected to some others pins but no pin to drive it" +msgstr "Pin connectée à d'autres pins, mais aucune pin pour la piloter" + +#: eeschema/class_drc_erc_item.cpp:47 +msgid "Confict problem between pins. Severity: warning" +msgstr "Problème de conflit entre pins. Sévérité: warning" + +#: eeschema/class_drc_erc_item.cpp:49 +msgid "Confict problem between pins. Severity: error" +msgstr "Problème de conflit entre pins. Sévérité: erreur" + +#: eeschema/class_drc_erc_item.cpp:51 +msgid "Mismatch between hierarchical labels and pins sheets" +msgstr "Différence entre labels de hiérarchieet pins de hiérarchie" + +#: eeschema/class_drc_erc_item.cpp:53 +msgid "A no connect symbol is connected to more than 1 pin" +msgstr "Un symbole de non connexion est connecté à plus de une pin" + +#: eeschema/class_libentry_fields.cpp:117 +msgid "invalid field number defined" +msgstr "" + +#: eeschema/class_libentry_fields.cpp:156 +#, c-format +msgid "field %d does not have the correct number of parameters" +msgstr "" + +#: eeschema/class_libentry_fields.cpp:171 +#, c-format +msgid "field %d text orientation parameter <%c> is not valid" +msgstr "champ %d parametre d'orientation de texte<%c> non valide" + +#: eeschema/class_libentry_fields.cpp:183 +#, c-format +msgid "field %d text visible parameter <%c> is not valid" +msgstr "champ %d parametre de visibilité de texte<%c> non valide" + +#: eeschema/class_libentry_fields.cpp:202 +#, c-format +msgid "field %d text horizontal justification parameter <%c> is not valid" +msgstr "" + +#: eeschema/class_libentry_fields.cpp:216 +#, c-format +msgid "field %d text vertical justification parameter <%c> is not valid" +msgstr "" + +#: eeschema/class_libentry_fields.cpp:435 +msgid "Datasheet" +msgstr "Documentation" + +#: eeschema/class_libentry_fields.cpp:443 +msgid "Field" +msgstr "Champ" + +#: eeschema/edit_component_in_schematic.cpp:38 +msgid "No Field to move" +msgstr "Pas de champ à déplacer" + +#: eeschema/edit_component_in_schematic.cpp:98 +msgid "No Field To Edit" +msgstr "Pas de champ à éditer" + +#: eeschema/edit_component_in_schematic.cpp:113 +msgid "" +"Part is a POWER, value cannot be modified!\n" +"You must create a new power" +msgstr "" +"Composant type ALIMENTATION!\n" +"valeur non modifiable, Vous devez créer un nouveau composant alimentation " + +#: eeschema/edit_component_in_schematic.cpp:138 +msgid "Component field text" +msgstr "Champ de Composant" + +#: eeschema/edit_component_in_schematic.cpp:161 +msgid "Reference needed !, No change" +msgstr "Référence NECESSAIRE: changement refusé" + +#: eeschema/edit_component_in_schematic.cpp:165 +msgid "Value needed !, No change" +msgstr "Valeur NECESSAIRE: changement refusé" + +#: eeschema/edit_component_in_schematic.cpp:312 +msgid "Component reference" +msgstr "Référence Composant" + +#: eeschema/edit_component_in_schematic.cpp:351 +msgid "Component value" +msgstr "Valeur Composant" + +#: eeschema/edit_component_in_schematic.cpp:393 +msgid "Component footprint" +msgstr "Module du Composant" + #: eeschema/build_BOM.cpp:93 msgid "Bill of Materials" msgstr "Liste du Materiel" @@ -9121,16 +9276,16 @@ msgstr "" "#Cmp ( ordre = Reference )" #: eeschema/build_BOM.cpp:632 -#: eeschema/build_BOM.cpp:732 +#: eeschema/build_BOM.cpp:731 msgid " (with SubCmp)" msgstr "avec sub-composants" #: eeschema/build_BOM.cpp:706 -#: eeschema/build_BOM.cpp:787 +#: eeschema/build_BOM.cpp:786 msgid "#End Cmp\n" msgstr "#End Cmp\n" -#: eeschema/build_BOM.cpp:729 +#: eeschema/build_BOM.cpp:728 msgid "" "\n" "#Cmp ( order = Value )" @@ -9138,76 +9293,29 @@ msgstr "" "\n" "#Cmp ( ordre = Valeur )" -#: eeschema/build_BOM.cpp:817 +#: eeschema/build_BOM.cpp:816 #, c-format msgid "> %-28.28s %s (Sheet %s) pos: %3.3f, %3.3f\n" msgstr "> %-28.28s %s (Feuille %s) pos: %3.3f, %3.3f\n" -#: eeschema/build_BOM.cpp:837 +#: eeschema/build_BOM.cpp:836 #, c-format msgid "> %-28.28s PinSheet %-7.7s (Sheet %s) pos: %3.3f, %3.3f\n" msgstr "> %-28.28s PinSheet %-7.7s (Feuille %s) pos: %3.3f, %3.3f\n" -#: eeschema/build_BOM.cpp:852 +#: eeschema/build_BOM.cpp:851 msgid "#End labels\n" msgstr "#End labels\n" -#: eeschema/class_drc_erc_item.cpp:39 -msgid "ERC err unspecified" -msgstr "Erreur ERC non specifiée" - -#: eeschema/class_drc_erc_item.cpp:41 -msgid "Duplicate sheet names within a given sheet" -msgstr "Nom de feuille en double dans une feuile donnée" - -#: eeschema/class_drc_erc_item.cpp:43 -msgid "Pin not connected (and no connect symbol found on this pin)" -msgstr "Pin non connectée (pas de symbole de non connexion trouvé sur cette pin)" - -#: eeschema/class_drc_erc_item.cpp:45 -msgid "Pin connected to some others pins but no pin to drive it" -msgstr "Pin connectée à d'autres pins, mais aucune pin pour la piloter" - -#: eeschema/class_drc_erc_item.cpp:47 -msgid "Confict problem between pins. Severity: warning" -msgstr "Problème de conflit entre pins. Sévérité: warning" - -#: eeschema/class_drc_erc_item.cpp:49 -msgid "Confict problem between pins. Severity: error" -msgstr "Problème de conflit entre pins. Sévérité: erreur" - -#: eeschema/class_drc_erc_item.cpp:51 -msgid "Mismatch between hierarchical labels and pins sheets" -msgstr "Différence entre labels de hiérarchieet pins de hiérarchie" - -#: eeschema/class_drc_erc_item.cpp:53 -msgid "A no connect symbol is connected to more than 1 pin" -msgstr "Un symbole de non connexion est connecté à plus de une pin" - -#: eeschema/class_sch_component.cpp:1031 -msgid "Ref" -msgstr "Ref" - -#: eeschema/class_sch_component.cpp:1036 -msgid "Pwr Symb" -msgstr "Symb Alim" - -#: eeschema/class_sch_component.cpp:1038 -msgid "Val" -msgstr "Val" - -#: eeschema/class_sch_component.cpp:1042 -msgid "RefLib" -msgstr "RefLib" - -#: eeschema/class_sch_component.cpp:1045 -msgid "Lib" -msgstr "Lib" - #: eeschema/dialog_edit_component_in_lib_base.cpp:25 msgid "General :" msgstr "Général :" +#: eeschema/dialog_edit_component_in_lib_base.cpp:27 +#: eeschema/dialog_create_component.cpp:170 +msgid "As Convert" +msgstr "A une forme \"convertie\"" + #: eeschema/dialog_edit_component_in_lib_base.cpp:29 msgid "" "Check this option for components that have a De Morgan representation.\n" @@ -9222,10 +9330,20 @@ msgstr "Montre Numéro de Pin" msgid "Show or hide pin numbers" msgstr "Affichage ou non des numéroes de pins" +#: eeschema/dialog_edit_component_in_lib_base.cpp:39 +#: eeschema/dialog_create_component.cpp:239 +msgid "Show Pin Name" +msgstr "Montre Nom de Pin" + #: eeschema/dialog_edit_component_in_lib_base.cpp:41 msgid "Show or hide pin names" msgstr "Affichage ou non des noms des pins" +#: eeschema/dialog_edit_component_in_lib_base.cpp:45 +#: eeschema/dialog_create_component.cpp:243 +msgid "Pin Name Inside" +msgstr "Nom de pin à l'intérieur" + #: eeschema/dialog_edit_component_in_lib_base.cpp:47 msgid "" "Check this option to have pin names inside the body and pin number outside.\n" @@ -9236,6 +9354,11 @@ msgstr "" msgid "Number of Units:" msgstr "Nombre de Parts:" +#: eeschema/dialog_edit_component_in_lib_base.cpp:74 +#: eeschema/dialog_create_component.cpp:247 +msgid "Skew:" +msgstr "Décalage:" + #: eeschema/dialog_edit_component_in_lib_base.cpp:90 msgid "" "Check this option for power symbols.\n" @@ -9270,10 +9393,6 @@ msgstr "Copie Doc" msgid "Browse DocFiles" msgstr "Examen Fichiers de Doc" -#: eeschema/dialog_edit_component_in_lib_base.cpp:143 -msgid "Description" -msgstr "Description" - #: eeschema/dialog_edit_component_in_lib_base.cpp:151 msgid "Alias List:" msgstr "Liste des Alias:" @@ -9283,10 +9402,6 @@ msgstr "Liste des Alias:" msgid "Delete All" msgstr "Tout Supprimer" -#: eeschema/dialog_edit_component_in_lib_base.cpp:177 -msgid "Alias" -msgstr "Alias" - #: eeschema/dialog_edit_component_in_lib_base.cpp:185 msgid "Footprints" msgstr "Modules" @@ -9316,14 +9431,151 @@ msgstr " a été créé par une version plus ancienne de Eeschema. Il sera enreg msgid "Done Loading " msgstr "Chargement terminé " -#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:159 -#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:164 -#: eeschema/dialog_edit_component_in_schematic.cpp:94 -#: eeschema/dialog_edit_component_in_schematic.cpp:99 -msgid "Pos " -msgstr "Pos " +#: eeschema/dialog_edit_component_in_lib.cpp:50 +msgid "Library Component Properties" +msgstr "Propriétés du Composant Librairie" -#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:228 +#: eeschema/dialog_edit_component_in_lib.cpp:54 +msgid "Properties for " +msgstr "Propriétés pour " + +#: eeschema/dialog_edit_component_in_lib.cpp:58 +msgid " (alias of " +msgstr " (alias de " + +#: eeschema/dialog_create_component.cpp:199 +msgid "&1" +msgstr "&1" + +#: eeschema/dialog_create_component.cpp:200 +msgid "&2" +msgstr "&2" + +#: eeschema/dialog_create_component.cpp:201 +msgid "&3" +msgstr "&3" + +#: eeschema/dialog_create_component.cpp:202 +msgid "&4" +msgstr "&4" + +#: eeschema/dialog_create_component.cpp:203 +msgid "&5" +msgstr "&5" + +#: eeschema/dialog_create_component.cpp:204 +msgid "&6" +msgstr "&6" + +#: eeschema/dialog_create_component.cpp:205 +msgid "&7" +msgstr "&7" + +#: eeschema/dialog_create_component.cpp:206 +msgid "&8" +msgstr "&8" + +#: eeschema/dialog_create_component.cpp:207 +msgid "&9" +msgstr "&9" + +#: eeschema/dialog_create_component.cpp:208 +msgid "&10" +msgstr "&10" + +#: eeschema/dialog_create_component.cpp:209 +msgid "&11" +msgstr "&11" + +#: eeschema/dialog_create_component.cpp:210 +msgid "&12" +msgstr "&12" + +#: eeschema/dialog_create_component.cpp:211 +msgid "&13" +msgstr "&13" + +#: eeschema/dialog_create_component.cpp:212 +msgid "&14" +msgstr "&14" + +#: eeschema/dialog_create_component.cpp:213 +msgid "&15" +msgstr "&15" + +#: eeschema/dialog_create_component.cpp:214 +msgid "&16" +msgstr "&16" + +#: eeschema/dialog_create_component.cpp:215 +msgid "&17" +msgstr "&17" + +#: eeschema/dialog_create_component.cpp:216 +msgid "&18" +msgstr "&18" + +#: eeschema/dialog_create_component.cpp:217 +msgid "&19" +msgstr "&19" + +#: eeschema/dialog_create_component.cpp:218 +msgid "&20" +msgstr "&20" + +#: eeschema/dialog_create_component.cpp:219 +msgid "&21" +msgstr "&21" + +#: eeschema/dialog_create_component.cpp:220 +msgid "&22" +msgstr "&22" + +#: eeschema/dialog_create_component.cpp:221 +msgid "&23" +msgstr "&23" + +#: eeschema/dialog_create_component.cpp:222 +msgid "&24" +msgstr "&24" + +#: eeschema/dialog_create_component.cpp:223 +msgid "&25" +msgstr "&25" + +#: eeschema/dialog_create_component.cpp:224 +msgid "&26" +msgstr "&26" + +#: eeschema/dialog_create_component.cpp:225 +msgid "Parts per component" +msgstr "Parts par composant" + +#: eeschema/dialog_create_component.cpp:231 +msgid "Draw options" +msgstr "Options de Tracé" + +#: eeschema/dialog_create_component.cpp:235 +msgid "Show Pin Number" +msgstr "Montrer Numéro de Pin" + +#: eeschema/dialog_create_component.cpp:301 +msgid "You must provide a name for this component" +msgstr "Vous devez fournir un nom pour ce composant" + +#: eeschema/eelibs_read_libraryfiles.cpp:60 +msgid "\n" +msgstr "\n" + +#: eeschema/eelibs_read_libraryfiles.cpp:86 +msgid " error!" +msgstr " erreur!" + +#: eeschema/eelibs_read_libraryfiles.cpp:96 +msgid "The following libraries could not be found:" +msgstr "Les librairies suivantes n'ont pas pu être trouvées:" + +#: eeschema/dialog_edit_libentry_fields_in_lib.cpp:225 #, c-format msgid "" "A new name is entered for this component\n" @@ -9334,50 +9586,6 @@ msgstr "" "Un alias %s existe déjà!\n" "Ne peut mettre à jour ce composant" -#: eeschema/save_schemas.cpp:65 -msgid "Schematic Files" -msgstr "Fichiers Schématiques" - -#: eeschema/save_schemas.cpp:95 -msgid "File write operation failed." -msgstr "Erreur sur écriture sur fichier." - -#: eeschema/lib_export.cpp:47 -msgid "Import Component" -msgstr "Importer Composant" - -#: eeschema/lib_export.cpp:77 -msgid "File is empty" -msgstr "Fichier vide" - -#: eeschema/lib_export.cpp:100 -msgid "No Part to Save" -msgstr "Pas de composant à sauver" - -#: eeschema/lib_export.cpp:107 -msgid "New Library" -msgstr "Nouvelle Librairie" - -#: eeschema/lib_export.cpp:107 -msgid "Export Component" -msgstr "Exporter Composant" - -#: eeschema/lib_export.cpp:145 -msgid " - OK" -msgstr " - OK" - -#: eeschema/lib_export.cpp:147 -msgid "" -"Note: this new library will be available only if it is loaded by eeschema.\n" -"Modify eeschema config if you want use it." -msgstr "" -"Note: cette nouvelle librairie sera disponible seulement si elle est chargée par eeschema\n" -"Modifier la config de eeschema si vous voulez l'utiliser" - -#: eeschema/lib_export.cpp:151 -msgid "Error creating " -msgstr "Erreur en création de " - #: eeschema/dialog_erc_base.cpp:38 msgid "Erc File Report:" msgstr "Fichier rapport d'erreurs:" @@ -9424,68 +9632,6 @@ msgstr "ERC" msgid "Reset" msgstr "Défaut" -#: eeschema/eelibs_read_libraryfiles.cpp:68 -#, c-format -msgid "Error <%s> occurred attempting to load component library <%s>" -msgstr "L'erreur <%s> s'est produite lors du chargement de la librairie de composants <%s>" - -#: eeschema/eelibs_read_libraryfiles.cpp:136 -msgid " error!" -msgstr " erreur!" - -#: eeschema/eelibs_read_libraryfiles.cpp:145 -msgid "The following libraries could not be found:" -msgstr "Les librairies suivantes n'ont pas pu être trouvées:" - -#: eeschema/edit_component_in_schematic.cpp:38 -msgid "No Field to move" -msgstr "Pas de champ à déplacer" - -#: eeschema/edit_component_in_schematic.cpp:98 -msgid "No Field To Edit" -msgstr "Pas de champ à éditer" - -#: eeschema/edit_component_in_schematic.cpp:113 -msgid "" -"Part is a POWER, value cannot be modified!\n" -"You must create a new power" -msgstr "" -"Composant type ALIMENTATION!\n" -"valeur non modifiable, Vous devez créer un nouveau composant alimentation " - -#: eeschema/edit_component_in_schematic.cpp:138 -msgid "Component field text" -msgstr "Champ de Composant" - -#: eeschema/edit_component_in_schematic.cpp:161 -msgid "Reference needed !, No change" -msgstr "Référence NECESSAIRE: changement refusé" - -#: eeschema/edit_component_in_schematic.cpp:165 -msgid "Value needed !, No change" -msgstr "Valeur NECESSAIRE: changement refusé" - -#: eeschema/edit_component_in_schematic.cpp:311 -msgid "Component reference" -msgstr "Référence Composant" - -#: eeschema/edit_component_in_schematic.cpp:350 -msgid "Component value" -msgstr "Valeur Composant" - -#: eeschema/edit_component_in_schematic.cpp:392 -msgid "Component footprint" -msgstr "Module du Composant" - -#: eeschema/dialog_edit_component_in_schematic.cpp:170 -msgid "No Component Name!" -msgstr "Pas de nom de composant!" - -#: eeschema/dialog_edit_component_in_schematic.cpp:177 -#, c-format -msgid "Component [%s] not found!" -msgstr "Composant [%s] non trouvé!" - #: eeschema/component_wizard/dialog_component_setup.cpp:137 msgid "Quick KICAD Library Component Builder" msgstr "" @@ -9646,6 +9792,7 @@ msgstr "Montre la liste complète des modules" #: cvpcb/init.cpp:68 #: cvpcb/init.cpp:120 +#: cvpcb/cvframe.cpp:439 #, c-format msgid "Components: %d (free: %d)" msgstr "Composants: %d (libres: %d)" @@ -9736,10 +9883,6 @@ msgstr "Lib: " msgid "Component %s %s pin %s : Different Nets" msgstr "Composant %s %s pin %s : Nets Differents" -#: cvpcb/savecmp.cpp:24 -msgid "Component Library Error" -msgstr "Erreur en Librairie de Composanr" - #: cvpcb/savecmp.cpp:87 #, c-format msgid "Cannot open component library <%s>." @@ -10932,166 +11075,6 @@ msgstr "Avertissement" msgid "Error" msgstr "Erreur" -#: common/common.cpp:59 -msgid "Kicad project files (*.pro)|*.pro" -msgstr "Fichiers projet Kicad (*.pro)|*.pro" - -#: common/common.cpp:60 -msgid "Kicad PCB files (*.brd)|*.brd" -msgstr "Fichiers Kicad PCB (*.brd)|*.brd" - -#: common/common.cpp:61 -msgid "Kicad schematic files (*.sch)|*.sch" -msgstr "Fichiers schématiques Kicad (*.sch)|*.sch" - -#: common/common.cpp:62 -msgid "Kicad netlist files (*.net)|*.net" -msgstr "fichiers netlistes Kicad (*.net)|*.net" - -#: common/common.cpp:63 -msgid "Gerber files (*.pho)|*.pho" -msgstr "Fichiers Gerber (*.pho)|*.pho" - -#: common/common.cpp:64 -msgid "Portable document format files (*.pdf)|*.pdf" -msgstr "Fichiers \"Portable document format\" (*.pdf)|*.pdf" - -#: common/common.cpp:65 -msgid "All files (*)|*" -msgstr "Tous les fichiers (*)|*" - -#: common/common.cpp:245 -msgid " (\"):" -msgstr " (\"):" - -#: common/common.cpp:336 -msgid " \"" -msgstr " \"" - -#: common/common.cpp:340 -msgid " mm" -msgstr " mm" - -#: common/common.cpp:564 -msgid "Copper " -msgstr "Cuivre " - -#: common/common.cpp:564 -msgid "Inner L1 " -msgstr "Interne 1" - -#: common/common.cpp:564 -msgid "Inner L2 " -msgstr "Interne 2" - -#: common/common.cpp:564 -msgid "Inner L3 " -msgstr "Interne 3" - -#: common/common.cpp:565 -msgid "Inner L4 " -msgstr "Interne 4" - -#: common/common.cpp:565 -msgid "Inner L5 " -msgstr "Interne 5" - -#: common/common.cpp:565 -msgid "Inner L6 " -msgstr "Interne 6" - -#: common/common.cpp:565 -msgid "Inner L7 " -msgstr "Interne 7" - -#: common/common.cpp:566 -msgid "Inner L8 " -msgstr "Interne 8" - -#: common/common.cpp:566 -msgid "Inner L9 " -msgstr "Interne 9" - -#: common/common.cpp:566 -msgid "Inner L10" -msgstr "Interne 10" - -#: common/common.cpp:566 -msgid "Inner L11" -msgstr "Interne 11" - -#: common/common.cpp:567 -msgid "Inner L12" -msgstr "Interne 12" - -#: common/common.cpp:567 -msgid "Inner L13" -msgstr "Interne 13" - -#: common/common.cpp:567 -msgid "Inner L14" -msgstr "Interne 14" - -#: common/common.cpp:567 -msgid "Component" -msgstr "Composant" - -#: common/common.cpp:568 -msgid "Adhes Cop" -msgstr "Adhes Cu " - -#: common/common.cpp:568 -msgid "Adhes Cmp" -msgstr "Adhes Cmp" - -#: common/common.cpp:568 -msgid "SoldP Cop" -msgstr "SoldP Cu " - -#: common/common.cpp:568 -msgid "SoldP Cmp" -msgstr "SoldP Cmp" - -#: common/common.cpp:569 -msgid "SilkS Cop" -msgstr "Sérigr Cu " - -#: common/common.cpp:569 -msgid "SilkS Cmp" -msgstr "Sérigr Cmp" - -#: common/common.cpp:569 -msgid "Mask Cop " -msgstr "Masque Cu " - -#: common/common.cpp:569 -msgid "Mask Cmp " -msgstr "Masque Cmp" - -#: common/common.cpp:570 -msgid "Drawings " -msgstr "Drawings " - -#: common/common.cpp:570 -msgid "Comments " -msgstr "Commentaires " - -#: common/common.cpp:570 -msgid "Eco1 " -msgstr "Eco1 " - -#: common/common.cpp:570 -msgid "Eco2 " -msgstr "Eco2 " - -#: common/common.cpp:571 -msgid "Edges Pcb" -msgstr "Contour Pcb" - -#: common/common.cpp:571 -msgid "BAD INDEX" -msgstr "BAD INDEX" - #: common/eda_doc.cpp:151 msgid "Doc File " msgstr "Fichier de Doc " @@ -11276,6 +11259,162 @@ msgstr "Fichier d'aide %s non trouvé" msgid "Help file %s could not be found." msgstr "Fichier d'aide %s non trouvé." +#: common/common.cpp:59 +msgid "Kicad project files (*.pro)|*.pro" +msgstr "Fichiers projet Kicad (*.pro)|*.pro" + +#: common/common.cpp:60 +msgid "Kicad PCB files (*.brd)|*.brd" +msgstr "Fichiers Kicad PCB (*.brd)|*.brd" + +#: common/common.cpp:61 +msgid "Kicad schematic files (*.sch)|*.sch" +msgstr "Fichiers schématiques Kicad (*.sch)|*.sch" + +#: common/common.cpp:62 +msgid "Kicad netlist files (*.net)|*.net" +msgstr "fichiers netlistes Kicad (*.net)|*.net" + +#: common/common.cpp:63 +msgid "Gerber files (*.pho)|*.pho" +msgstr "Fichiers Gerber (*.pho)|*.pho" + +#: common/common.cpp:64 +msgid "Portable document format files (*.pdf)|*.pdf" +msgstr "Fichiers \"Portable document format\" (*.pdf)|*.pdf" + +#: common/common.cpp:65 +msgid "All files (*)|*" +msgstr "Tous les fichiers (*)|*" + +#: common/common.cpp:245 +msgid " (\"):" +msgstr " (\"):" + +#: common/common.cpp:336 +msgid " \"" +msgstr " \"" + +#: common/common.cpp:340 +msgid " mm" +msgstr " mm" + +#: common/common.cpp:564 +msgid "Copper " +msgstr "Cuivre " + +#: common/common.cpp:564 +msgid "Inner L1 " +msgstr "Interne 1" + +#: common/common.cpp:564 +msgid "Inner L2 " +msgstr "Interne 2" + +#: common/common.cpp:564 +msgid "Inner L3 " +msgstr "Interne 3" + +#: common/common.cpp:565 +msgid "Inner L4 " +msgstr "Interne 4" + +#: common/common.cpp:565 +msgid "Inner L5 " +msgstr "Interne 5" + +#: common/common.cpp:565 +msgid "Inner L6 " +msgstr "Interne 6" + +#: common/common.cpp:565 +msgid "Inner L7 " +msgstr "Interne 7" + +#: common/common.cpp:566 +msgid "Inner L8 " +msgstr "Interne 8" + +#: common/common.cpp:566 +msgid "Inner L9 " +msgstr "Interne 9" + +#: common/common.cpp:566 +msgid "Inner L10" +msgstr "Interne 10" + +#: common/common.cpp:566 +msgid "Inner L11" +msgstr "Interne 11" + +#: common/common.cpp:567 +msgid "Inner L12" +msgstr "Interne 12" + +#: common/common.cpp:567 +msgid "Inner L13" +msgstr "Interne 13" + +#: common/common.cpp:567 +msgid "Inner L14" +msgstr "Interne 14" + +#: common/common.cpp:568 +msgid "Adhes Cop" +msgstr "Adhes Cu " + +#: common/common.cpp:568 +msgid "Adhes Cmp" +msgstr "Adhes Cmp" + +#: common/common.cpp:568 +msgid "SoldP Cop" +msgstr "SoldP Cu " + +#: common/common.cpp:568 +msgid "SoldP Cmp" +msgstr "SoldP Cmp" + +#: common/common.cpp:569 +msgid "SilkS Cop" +msgstr "Sérigr Cu " + +#: common/common.cpp:569 +msgid "SilkS Cmp" +msgstr "Sérigr Cmp" + +#: common/common.cpp:569 +msgid "Mask Cop " +msgstr "Masque Cu " + +#: common/common.cpp:569 +msgid "Mask Cmp " +msgstr "Masque Cmp" + +#: common/common.cpp:570 +msgid "Drawings " +msgstr "Drawings " + +#: common/common.cpp:570 +msgid "Comments " +msgstr "Commentaires " + +#: common/common.cpp:570 +msgid "Eco1 " +msgstr "Eco1 " + +#: common/common.cpp:570 +msgid "Eco2 " +msgstr "Eco2 " + +#: common/common.cpp:571 +msgid "Edges Pcb" +msgstr "Contour Pcb" + +#: common/common.cpp:571 +msgid "BAD INDEX" +msgstr "BAD INDEX" + #: common/pcbcommon.cpp:61 msgid "??? Via" msgstr "??? Via" @@ -11569,10 +11708,6 @@ msgstr "Effacements Globaux" msgid "Footprints Orientation" msgstr "Orientation des Modules" -#: pcbnew/dialog_drc_base.h:97 -msgid "DRC Control" -msgstr "Contrôle DRC" - #: pcbnew/dialog_track_options_base.h:76 msgid "Tracks and Vias Sizes" msgstr "Dims Pistes et Vias" @@ -11585,14 +11720,14 @@ msgstr "Dialogue Netliste" msgid "Create SVG file" msgstr "Créer Fichier SVG" +#: pcbnew/dialog_design_rules_base.h:78 +msgid "Design Rules Editor" +msgstr "Editeur de Règles de Conception" + #: pcbnew/dialog_copper_zones_base.h:99 msgid "Fill Zones Options" msgstr "Options de Remplissage de Zone" -#: pcbnew/dialog_design_rules_base.h:94 -msgid "Design Rules Editor" -msgstr "Editeur de Règles de Conception" - #: pcbnew/dialog_non_copper_zones_properties_base.h:59 msgid "Non Copper Zones Properties" msgstr "Propriétés des Zones sur couches non cuivre" @@ -11665,6 +11800,10 @@ msgstr "Afficher Modules Cu" msgid "Footprint text properties" msgstr "Propriétés du texte du module" +#: pcbnew/dialog_drc_base.h:98 +msgid "DRC Control" +msgstr "Contrôle DRC" + #: pcbnew/dialog_exchange_modules_base.h:57 msgid "Exchange Modules" msgstr "Echange modules:" @@ -11674,14 +11813,15 @@ msgstr "Echange modules:" msgid "Module properties" msgstr "Propriétés du Module" +#: pcbnew/dialog_copper_layers_setup_base.h:55 +#, fuzzy +msgid "Copper layers setup" +msgstr "Couches Cuivre" + #: eeschema/dialog_cmp_graphic_properties.h:43 msgid "Graphic shape properties" msgstr "Propriétés du dessin" -#: eeschema/dialog_create_component.h:55 -msgid "Component Creation" -msgstr "Création Composant" - #: eeschema/dialog_options.h:55 msgid "General Options" msgstr "Options Générales" @@ -11718,10 +11858,6 @@ msgstr "NetName" msgid "Notes" msgstr "Notes" -#: eeschema/eelayer.h:122 -msgid "Body" -msgstr "Body" - #: eeschema/eelayer.h:128 msgid "Body Bg" msgstr "Body Bg" @@ -11810,6 +11946,14 @@ msgstr "Propriétés du texte graphique:" msgid "Fields Properties" msgstr "Propriétés des Champs" +#: eeschema/dialog_edit_component_in_lib_base.h:107 +msgid "Lib Component Properties" +msgstr "Propriétés du composant librairie" + +#: eeschema/dialog_create_component.h:55 +msgid "Component Creation" +msgstr "Création Composant" + #: eeschema/dialog_erc_base.h:94 msgid "EESchema Erc" msgstr "EESchema Erc" @@ -11970,6 +12114,96 @@ msgstr "DCodes id." msgid "Page Settings" msgstr "Ajustage opt Page" +#~ msgid "The track minimum size is bigger than the size
" +#~ msgstr "La tracktaille minimum est plus grande que la taille
" +#~ msgid "The via minimum size is bigger than the size
" +#~ msgstr "La taille minimum deviaest plus grande que la taille
" +#~ msgid " Ok\n" +#~ msgstr " Ok\n" +#~ msgid "Test pads to pads clearance" +#~ msgstr "Test isolation pad a pad" +#~ msgid "List unconnected pads" +#~ msgstr "Liste pads non connectés" +#~ msgid "Layers" +#~ msgstr "Couches" +#~ msgid "Net classes:" +#~ msgstr "Classes d'Equipotentielles:" +#~ msgid "Track size" +#~ msgstr "Largeur piste" +#~ msgid "Vias size" +#~ msgstr "Diamètre via" +#~ msgid "Track Min Size" +#~ msgstr "Taille Min Piste" +#~ msgid "Special" +#~ msgstr "Special" +#~ msgid "Save current loaded library on disk (file update)" +#~ msgstr "" +#~ "Sauver librairie chargée courante sur disque (mise à jour du fichier)" +#~ msgid "Create a new library an save current component into" +#~ msgstr "Créer une nouvelle librairie et y sauver le composant" +#~ msgid "show as \"De Morgan\" normal part" +#~ msgstr "Afficher sous représentation normale" +#~ msgid "show as \"De Morgan\" convert part" +#~ msgstr "Afficher sous présentation \" De Morgan\"" +#~ msgid "Documents" +#~ msgstr "Documents" +#~ msgid "Current Part: <%s> (is Alias of <%s>)" +#~ msgstr "Cmp courant: <%s> (est Alias de <%s>)" +#~ msgid "Error: Root Part <%s> not found" +#~ msgstr "Erreur: Root Part <%s> non trouvé" +#~ msgid "Current Part: <%s>" +#~ msgstr "Cmp Courant: <%s>" +#~ msgid "" +#~ "This name is an existing alias of the component\n" +#~ "Aborting" +#~ msgstr "" +#~ "Ce nom est celui d'un alias existant du composant\n" +#~ "Abandon." +#~ msgid "Ok to Delete Alias LIST" +#~ msgstr "Ok pour effacer la LISTE des Alias" +#~ msgid "This is the Root Part" +#~ msgstr "Ceci est le composant racine" +#~ msgid "Already in use" +#~ msgstr "Déjà en usage" +#~ msgid " is Current Selected Alias!" +#~ msgstr " est l' Alias actuellement sélectionné!" +#~ msgid "New FootprintFilter:" +#~ msgstr "Nouveau Filtre de Modules:" +#~ msgid " Part: " +#~ msgstr "Composant " +#~ msgid " Convert" +#~ msgstr " Convert" +#~ msgid " Normal" +#~ msgstr " Normal" +#~ msgid " (Power Symbol)" +#~ msgstr " (Symbole Alimentation)" +#~ msgid "Component \"" +#~ msgstr "Composant \"" +#~ msgid "\" not found." +#~ msgstr "\" non trouvé" +#~ msgid "Component library <%s> does not have any entries to delete." +#~ msgstr "La librairie de composants <%s> n'a aucun élément à supprimer" +#~ msgid "Delete component \"" +#~ msgstr "Suppression Composant \"" +#~ msgid "\" from library \"" +#~ msgstr "\" de la librairie \"" +#~ msgid "Clear old component from screen (changes will be lost)?" +#~ msgstr "" +#~ "Supprimer l'ancien composant de l'écran (les changements seront perdus)?" +#~ msgid "\" exists in library \"" +#~ msgstr "\" existe en librairie \"" +#~ msgid "Failed to create archive lib file " +#~ msgstr "Impossible de créer le fichier librairie archive " +#~ msgid "Failed to create doc lib file " +#~ msgstr "Impossible de créer le fichier lib document" +#~ msgid "could not open file" +#~ msgstr "ne peut ouvrir le fichier" +#~ msgid "header read error" +#~ msgstr "erreur lecture entête" +#~ msgid "File is empty" +#~ msgstr "Fichier vide" +#~ msgid "No Part to Save" +#~ msgstr "Pas de composant à sauver" #~ msgid "No Active Library" #~ msgstr "Pas de Librairie Active" #~ msgid "Select Component (%d items)" @@ -11988,8 +12222,6 @@ msgstr "Ajustage opt Page" #~ msgstr "Librairie %s non trouvée" #~ msgid "File <%s> is empty!" #~ msgstr "Fichier <%s> vide!" -#~ msgid "Library <%s> component load error %s." -#~ msgstr "Librairie <%s> erreur de chargement du composant %s." #~ msgid "> is empty!" #~ msgstr "> est vide" #~ msgid "Library <" diff --git a/pcbnew/class_board_connected_item.cpp b/pcbnew/class_board_connected_item.cpp index dcd271c476..848b484cb6 100644 --- a/pcbnew/class_board_connected_item.cpp +++ b/pcbnew/class_board_connected_item.cpp @@ -74,8 +74,8 @@ int BOARD_CONNECTED_ITEM::GetClearance( BOARD_CONNECTED_ITEM* aItem ) const { NETCLASS* myclass = GetNetClass(); - wxASSERT( myclass ); - + // DO NOT use wxASSERT, because GetClearance is called inside an OnPaint event + // and a call to wxASSERT can crash the application. if( myclass ) { // @todo : after GetNetClass() is reliably not returning NULL, remove the @@ -84,18 +84,20 @@ int BOARD_CONNECTED_ITEM::GetClearance( BOARD_CONNECTED_ITEM* aItem ) const if( aItem ) { NETCLASS* hisclass = aItem->GetNetClass(); - wxASSERT( hisclass ); - if( hisclass ) { int hisClearance = hisclass->GetClearance(); int myClearance = myclass->GetClearance(); return max( hisClearance, myClearance ); } + else + wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetClearance(): NULL hisclass") ); } return myclass->GetClearance(); } + else + wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetClearance(): NULL netclass") ); return 0; } @@ -105,20 +107,24 @@ NETCLASS* BOARD_CONNECTED_ITEM::GetNetClass() const { // It is important that this be implemented without any sequential searching. // Simple array lookups should be fine, performance-wise. - BOARD* board = GetBoard(); - wxASSERT( board ); + // DO NOT use wxASSERT, because GetNetClass is called inside an OnPaint event + // and a call to wxASSERT can crash the application. if( board ) { NETINFO_ITEM* net = board->FindNet( GetNet() ); - wxASSERT( net ); if( net ) { NETCLASS* netclass = net->GetNetClass(); - wxASSERT( netclass ); + if( netclass == NULL ) + wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetNetClass(): NULL netclass") ); return netclass; } + else + wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetNetClass(): NULL net") ); } + else + wxLogWarning(wxT("BOARD_CONNECTED_ITEM::GetNetClass(): NULL board, type %d"), Type() ); return NULL; } diff --git a/pcbnew/class_pad_draw_functions.cpp b/pcbnew/class_pad_draw_functions.cpp index 015360dacd..f3af09d59a 100644 --- a/pcbnew/class_pad_draw_functions.cpp +++ b/pcbnew/class_pad_draw_functions.cpp @@ -38,9 +38,6 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin if( m_Flags & DO_NOT_DRAW ) return; - wxASSERT( panel ); - - WinEDA_BasePcbFrame* frame = (WinEDA_BasePcbFrame*) panel->m_Parent; PCB_SCREEN* screen = frame->GetScreen(); if( frame->m_DisplayPadFill == FILLED ) @@ -205,9 +202,14 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin if( ( m_Masque_Layer & ALL_CU_LAYERS ) == 0 ) DisplayIsol = FALSE; - SetAlpha(&color, 170); + SetAlpha( &color, 170 ); - int padClearance = GetClearance(); + /* Get the pad clearance. This has a meaning only for Pcbnew. + * for Cvpcb (and Gerbview) GetClearance() creates debug errors because there is no + * net classes so a call to GetClearance() is made only when needed + * (never needed in Cvpcb nor in Gerbview) + */ + int padClearance = DisplayIsol ? GetClearance() : 0; switch( GetShape() ) { @@ -423,7 +425,7 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin wxPoint tpos = tpos0; wxSize AreaSize; // size of text area, normalized to AreaSize.y < AreaSize.x int shortname_len = m_ShortNetname.Len(); - if( ! display_netname ) + if( !display_netname ) shortname_len = 0; if( GetShape() == PAD_CIRCLE ) angle = 0; @@ -455,7 +457,7 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin #define MIN_CHAR_COUNT 3 wxString buffer; - int tsize; + int tsize; if( display_padnum ) { ReturnStringPadName( buffer ); @@ -464,13 +466,15 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin tsize = min( AreaSize.y, AreaSize.x / numpad_len ); #define CHAR_SIZE_MIN 5 - if( screen->Scale( tsize ) >= CHAR_SIZE_MIN ) // Not drawable when size too small. + if( screen->Scale( tsize ) >= CHAR_SIZE_MIN ) // Not drawable when size too small. { - tsize = (int) (tsize * 0.8); // reserve room for marges and segments thickness + tsize = (int) ( tsize * 0.8 ); // reserve room for marges and segments thickness DrawGraphicText( panel, DC, tpos, - WHITE, buffer, t_angle, wxSize( tsize, tsize ), - GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER, tsize / 7, false, false, false ); + WHITE, buffer, t_angle, wxSize( tsize, + tsize ), + GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER, tsize / 7, false, + false, false ); } } @@ -483,18 +487,18 @@ void D_PAD::Draw( WinEDA_DrawPanel* panel, wxDC* DC, int draw_mode, const wxPoin if( screen->Scale( tsize ) >= CHAR_SIZE_MIN ) // Not drawable in size too small. { - if( !(!IsOnLayer( screen->m_Active_Layer )&& DisplayOpt.ContrastModeDisplay)){ + if( !(!IsOnLayer( screen->m_Active_Layer )&& DisplayOpt.ContrastModeDisplay) ) + { + tpos = tpos0; + if( display_padnum ) + tpos.y += AreaSize.y / 2; + RotatePoint( &tpos, wxPoint( ux0, uy0 ), angle ); - tpos = tpos0; - if ( display_padnum ) - tpos.y += AreaSize.y / 2; - RotatePoint( &tpos, wxPoint( ux0, uy0 ), angle ); - - tsize = (int) (tsize * 0.8); // reserve room for marges and segments thickness - DrawGraphicText( panel, DC, tpos, - WHITE, m_ShortNetname, t_angle, wxSize( tsize, tsize ), - GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER, tsize / 7, - false, false ); - } + tsize = (int) ( tsize * 0.8 ); // reserve room for marges and segments thickness + DrawGraphicText( panel, DC, tpos, + WHITE, m_ShortNetname, t_angle, wxSize( tsize, tsize ), + GR_TEXT_HJUSTIFY_CENTER, GR_TEXT_VJUSTIFY_CENTER, tsize / 7, + false, false ); + } } } diff --git a/polygon/PolyLine.cpp b/polygon/PolyLine.cpp index 4f289defee..7a7b69344a 100644 --- a/polygon/PolyLine.cpp +++ b/polygon/PolyLine.cpp @@ -481,7 +481,9 @@ int CPolyLine::MakeKboolPoly( int aStart_contour, int aEnd_contour, std::vector< } if( n_vertices != ivtx ) + { wxASSERT( 0 ); + } // close list added to the bool engine booleng->EndPolygonAdd(); @@ -580,7 +582,7 @@ void ArmBoolEng( Bool_Engine* aBooleng, bool aConvertHoles ) if( aConvertHoles ) { -#if 1 // Can be set to 1 for kbool version >= 2.1, must be set to 0 for previous versions +#if 1 // Can be set to 1 for kbool version >= 2.1, must be set to 0 for previous versions // SetAllowNonTopHoleLinking() exists only in kbool >= 2.1 aBooleng->SetAllowNonTopHoleLinking( false ); // Default = true, but i have problems (filling errors) when true #endif @@ -795,7 +797,9 @@ void CPolyLine::AppendCorner( int x, int y, int style, bool bDraw ) void CPolyLine::Close( int style, bool bDraw ) { if( GetClosed() ) + { wxASSERT( 0 ); + } Undraw(); side_style[corner.size() - 1] = style; corner[corner.size() - 1].end_contour = TRUE; @@ -1349,7 +1353,9 @@ void CPolyLine::Hatch() bool CPolyLine::TestPointInside( int px, int py ) { if( !GetClosed() ) + { wxASSERT( 0 ); + } // define line passing through (x,y), with slope = 2/3; // get intersection points @@ -1426,7 +1432,9 @@ bool CPolyLine::TestPointInsideContour( int icont, int px, int py ) if( icont >= GetNumContours() ) return FALSE; if( !GetClosed() ) + { wxASSERT( 0 ); + } // define line passing through (x,y), with slope = 2/3; // get intersection points