diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 7549a30944..9ca26808a2 100644 Binary files a/internat/fr/kicad.mo and b/internat/fr/kicad.mo differ diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index d71f512c1c..d412e05aed 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-11-13 17:41+0100\n" -"PO-Revision-Date: 2009-11-13 20:06+0100\n" +"POT-Creation-Date: 2009-11-18 18:17+0100\n" +"PO-Revision-Date: 2009-11-18 18:20+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -206,69 +206,30 @@ msgstr "Via Enterrées:" #: pcbnew/dialog_gendrill.cpp:293 #: pcbnew/block.cpp:167 #: pcbnew/cotation.cpp:104 -#: pcbnew/muonde.cpp:867 msgid "OK" msgstr "OK" #: pcbnew/dialog_gendrill.cpp:297 #: pcbnew/block.cpp:164 #: pcbnew/cotation.cpp:107 -#: pcbnew/muonde.cpp:870 msgid "Cancel" msgstr "Annuler" -#: pcbnew/loadcmp.cpp:108 -msgid "Place Module" -msgstr "Place Module" +#: pcbnew/edgemod.cpp:180 +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" -#: pcbnew/loadcmp.cpp:234 -#: pcbnew/loadcmp.cpp:387 -#, c-format -msgid "PCB footprint library file <%s> not found in search paths." -msgstr "Librairie modules PCB %s non trouvée dans les chemins de recherche" +#: pcbnew/edgemod.cpp:219 +msgid "New Width (1/10000\"):" +msgstr "Nouvelle largeur (1/10000\"):" -#: pcbnew/loadcmp.cpp:236 -#: pcbnew/loadcmp.cpp:248 -#: pcbnew/loadcmp.cpp:264 -#: pcbnew/loadcmp.cpp:389 -#: pcbnew/loadcmp.cpp:425 -msgid "Library Load Error" -msgstr "Erreur en Chargement de librairie" +#: pcbnew/edgemod.cpp:219 +msgid "Edge Width" +msgstr "Epaisseur Contour" -#: pcbnew/loadcmp.cpp:246 -#, c-format -msgid "Could not open PCB footprint library file <%s>." -msgstr "Ne peut ouvrir le fichier librairie de modules PCB <%s>." - -#: pcbnew/loadcmp.cpp:253 -#, c-format -msgid "Scan Lib: %s" -msgstr "Examen Lib: %s" - -#: pcbnew/loadcmp.cpp:262 -#: pcbnew/loadcmp.cpp:423 -#, c-format -msgid "<%s> is not a valid Kicad PCB footprint library file." -msgstr "<%s> n'est pas un fichier librarire de modules Kicad PCB valide." - -#: pcbnew/loadcmp.cpp:329 -#, c-format -msgid "Module <%s> not found" -msgstr "Module <%s> non trouvé" - -#: pcbnew/loadcmp.cpp:414 -msgid "Library " -msgstr "Librairie " - -#: pcbnew/loadcmp.cpp:414 -msgid " loaded" -msgstr " chargé" - -#: pcbnew/loadcmp.cpp:485 -#: pcbnew/loadcmp.cpp:637 -#, c-format -msgid "Modules [%d items]" -msgstr "Modules [%d éléments]" +#: pcbnew/edgemod.cpp:227 +msgid "Incorrect number, no change" +msgstr "Nombre incorrect, pas de changement" #: pcbnew/plotdxf.cpp:27 #: pcbnew/plotps.cpp:39 @@ -325,7 +286,6 @@ msgid "Dimension properties" msgstr "Propriétés des Cotes" #: pcbnew/cotation.cpp:110 -#: pcbnew/muonde.cpp:876 msgid "Normal" msgstr "Normal" @@ -338,7 +298,6 @@ msgid "Display" msgstr "Affichage" #: pcbnew/cotation.cpp:122 -#: pcbnew/muonde.cpp:883 msgid "Size" msgstr "Taille " @@ -350,123 +309,53 @@ msgstr "Epaisseur" msgid "Layer:" msgstr "Couche:" -#: pcbnew/muonde.cpp:239 -msgid "Length(inch):" -msgstr "Longueur (pouces):" +#: pcbnew/modedit.cpp:79 +msgid "Selection Clarification" +msgstr "Clarification de la Sélection" -#: pcbnew/muonde.cpp:239 -#: pcbnew/muonde.cpp:245 -msgid "Length" -msgstr "Longueur" +#: pcbnew/modedit.cpp:281 +msgid "Unable to find the footprint source on the main board" +msgstr "Impossible de trouver le module source sur le PCB principal" -#: pcbnew/muonde.cpp:245 -msgid "Length(mm):" -msgstr "Long. (mm):" +#: pcbnew/modedit.cpp:282 +msgid "" +"\n" +"Cannot update the footprint" +msgstr "" +"\n" +"Ne peut mettre à jour le module" -#: pcbnew/muonde.cpp:253 -#: pcbnew/muonde.cpp:710 -#: pcbnew/muonde.cpp:723 -msgid "Incorrect number, abort" -msgstr "Nombre incorrect, arrêt" +#: pcbnew/modedit.cpp:291 +msgid "A footprint source was found on the main board" +msgstr "Un module source a été trouvé sur le PCB principal" -#: pcbnew/muonde.cpp:261 -msgid "Requested length < minimum length" -msgstr "Longueur demandée < longueur minimum" +#: pcbnew/modedit.cpp:292 +msgid "" +"\n" +"Cannot insert this footprint" +msgstr "" +"\n" +"Ne peut insérer ce module" -#: pcbnew/muonde.cpp:282 -msgid "Unable to create line: Requested length is too big" -msgstr "Incapable de créer la ligne: longueur demandée trop grande" +#: pcbnew/modedit.cpp:427 +msgid "Add Pad" +msgstr "Ajouter Pastilles" -#: pcbnew/muonde.cpp:293 -#, c-format -msgid "Segm count = %d, Length = " -msgstr "Nbr segm = %d, Longueur = " +#: pcbnew/modedit.cpp:430 +msgid "Pad Settings" +msgstr "Caract pads" -#: pcbnew/muonde.cpp:671 -msgid "Gap" -msgstr "Gap" +#: pcbnew/modedit.cpp:440 +msgid "Add Drawing" +msgstr "Ajout d'éléments graphiques" -#: pcbnew/muonde.cpp:676 -msgid "Stub" -msgstr "Stub" +#: pcbnew/modedit.cpp:444 +msgid "Place anchor" +msgstr "Place Ancre" -#: pcbnew/muonde.cpp:682 -msgid "Arc Stub" -msgstr "Arc Stub" - -#: pcbnew/muonde.cpp:697 -msgid " (mm):" -msgstr " (mm):" - -#: pcbnew/muonde.cpp:703 -msgid " (inch):" -msgstr " (pouce):" - -#: pcbnew/muonde.cpp:705 -#: pcbnew/muonde.cpp:720 -msgid "Create microwave module" -msgstr "Créer Module MicroOnde" - -#: pcbnew/muonde.cpp:719 -msgid "Angle (0.1deg):" -msgstr "Angle (0.1deg):" - -#: pcbnew/muonde.cpp:850 -msgid "Complex shape" -msgstr "Forme complexe" - -#: pcbnew/muonde.cpp:873 -msgid "Read Shape Descr File..." -msgstr "Lire fichier de description de forme..." - -#: pcbnew/muonde.cpp:876 -msgid "Symmetrical" -msgstr "Symétrique" - -#: pcbnew/muonde.cpp:876 -msgid "Mirrored" -msgstr "Miroir" - -#: pcbnew/muonde.cpp:878 -msgid "Shape Option" -msgstr "Option Forme" - -#: pcbnew/muonde.cpp:944 -msgid "Read descr shape file" -msgstr "Lire fichier de description de forme" - -#: pcbnew/muonde.cpp:960 -msgid "File not found" -msgstr "fichier non trouvé" - -#: pcbnew/muonde.cpp:1067 -msgid "Shape has a null size!" -msgstr "La forme a une taille nulle" - -#: pcbnew/muonde.cpp:1072 -msgid "Shape has no points!" -msgstr "La forme n'a pas de points" - -#: pcbnew/muonde.cpp:1179 -msgid "No pad for this module" -msgstr "Pas de pad dans ce module" - -#: pcbnew/muonde.cpp:1184 -msgid "Only one pad for this module" -msgstr "Seulement un pad dans ce module" - -#: pcbnew/muonde.cpp:1198 -msgid "Gap (mm):" -msgstr "Gap (mm):" - -#: pcbnew/muonde.cpp:1198 -#: pcbnew/muonde.cpp:1204 -msgid "Create Microwave Gap" -msgstr "Créer Gap MicroOnde " - -#: pcbnew/muonde.cpp:1204 -msgid "Gap (inch):" -msgstr "Gap (inch):" +#: pcbnew/modedit.cpp:458 +msgid "Delete item" +msgstr "Suppression d'éléments" #: pcbnew/automove.cpp:200 msgid "No modules found!" @@ -480,37 +369,58 @@ msgstr "Déplacer modules ?" msgid "Could not automatically place modules. No board edges detected." msgstr " Impossible de placer automatiquement les modules. Pas de contours sur pcb." -#: pcbnew/autoplac.cpp:104 -msgid "Footprints NOT LOCKED will be moved" -msgstr "Les modules NON FIXES vont être déplacés" +#: pcbnew/loadcmp.cpp:101 +msgid "Place Module" +msgstr "Place Module" -#: pcbnew/autoplac.cpp:109 -msgid "Footprints NOT PLACED will be moved" -msgstr "Les modules NON PLACES vont être déplacés" +#: pcbnew/loadcmp.cpp:232 +#: pcbnew/loadcmp.cpp:384 +#, c-format +msgid "PCB footprint library file <%s> not found in search paths." +msgstr "Librairie modules PCB %s non trouvée dans les chemins de recherche" -#: pcbnew/autoplac.cpp:390 -msgid "No PCB edge found, unknown board size!" -msgstr "Pas de contour PCB, la taille du PCB est inconnue!" +#: pcbnew/loadcmp.cpp:234 +#: pcbnew/loadcmp.cpp:246 +#: pcbnew/loadcmp.cpp:262 +#: pcbnew/loadcmp.cpp:386 +#: pcbnew/loadcmp.cpp:422 +msgid "Library Load Error" +msgstr "Erreur en Chargement de librairie" -#: pcbnew/autoplac.cpp:413 -msgid "Cols" -msgstr "Cols" +#: pcbnew/loadcmp.cpp:244 +#, c-format +msgid "Could not open PCB footprint library file <%s>." +msgstr "Ne peut ouvrir le fichier librairie de modules PCB <%s>." -#: pcbnew/autoplac.cpp:415 -msgid "Lines" -msgstr "Lignes" +#: pcbnew/loadcmp.cpp:251 +#, c-format +msgid "Scan Lib: %s" +msgstr "Examen Lib: %s" -#: pcbnew/autoplac.cpp:417 -msgid "Cells." -msgstr "Cells." +#: pcbnew/loadcmp.cpp:260 +#: pcbnew/loadcmp.cpp:420 +#, c-format +msgid "<%s> is not a valid Kicad PCB footprint library file." +msgstr "<%s> n'est pas un fichier librarire de modules Kicad PCB valide." -#: pcbnew/autoplac.cpp:480 -msgid "Loop" -msgstr "Itération" +#: pcbnew/loadcmp.cpp:326 +#, c-format +msgid "Module <%s> not found" +msgstr "Module <%s> non trouvé" -#: pcbnew/autoplac.cpp:630 -msgid "Ok to abort?" -msgstr "Ok pour abandonner?" +#: pcbnew/loadcmp.cpp:411 +msgid "Library " +msgstr "Librairie " + +#: pcbnew/loadcmp.cpp:411 +msgid " loaded" +msgstr " chargé" + +#: pcbnew/loadcmp.cpp:482 +#: pcbnew/loadcmp.cpp:620 +#, c-format +msgid "Modules [%d items]" +msgstr "Modules [%d éléments]" #: pcbnew/set_grid.cpp:120 msgid "mm" @@ -536,17 +446,9 @@ msgstr "&OK" msgid "&Cancel" msgstr "&Annuler" -#: pcbnew/editmod.cpp:43 -msgid "Module Editor" -msgstr "Ouvrir Editeur de modules" - -#: pcbnew/editmod.cpp:134 -msgid "Text is REFERENCE!" -msgstr "Le texte est la REFERENCE!" - -#: pcbnew/editmod.cpp:139 -msgid "Text is VALUE!" -msgstr "Le texte est la VALEUR!" +#: pcbnew/deltrack.cpp:144 +msgid "Delete NET?" +msgstr "Supprimer Net?" #: pcbnew/solve.cpp:244 msgid "Abort routing?" @@ -634,19 +536,19 @@ msgstr "Trop petite dimension de microvia" #: pcbnew/class_drc_item.cpp:89 msgid "NetClass Track Width < global limit" -msgstr "" +msgstr "Largeur de piste en NetClass < limite globale" #: pcbnew/class_drc_item.cpp:91 msgid "NetClass Clearance < global limit" -msgstr "" +msgstr "Isolation en NetClass < limite globale" #: pcbnew/class_drc_item.cpp:93 msgid "NetClass Via Dia < global limit" -msgstr "" +msgstr "Diametre de via en NetClass < limite globale" #: pcbnew/class_drc_item.cpp:95 msgid "NetClass Via Drill < global limit" -msgstr "" +msgstr "Perçage de via en < limite globale" #: pcbnew/class_drc_item.cpp:97 msgid "NetClass uVia Dia < global limit" @@ -656,386 +558,258 @@ msgstr "" msgid "NetClass uVia Drill < global limit" msgstr "" -#: pcbnew/deltrack.cpp:146 -msgid "Delete NET ?" -msgstr "Supprimer Net ?" - -#: pcbnew/gen_drill_report_files.cpp:268 -msgid "" -" Drill map: Too many diameter values to draw to draw one symbol per drill value (max 13)\n" -"Plot uses circle shape for some drill values" -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/ioascii.cpp:176 -msgid "Error: Unexpected end of file !" -msgstr "Erreur: Fin de fichier inattendue !" - -#: pcbnew/modedit_onclick.cpp:203 -msgid "End Tool" -msgstr "Fin Outil" - -#: pcbnew/modedit_onclick.cpp:213 -msgid "Cancel Block" -msgstr "Annuler Bloc" - -#: pcbnew/modedit_onclick.cpp:215 -msgid "Zoom Block (drag middle mouse)" -msgstr "Zoom Bloc (drag bouton du milieu souris)" - -#: pcbnew/modedit_onclick.cpp:218 -msgid "Place Block" -msgstr "Place Bloc" - -#: pcbnew/modedit_onclick.cpp:220 -msgid "Copy Block (shift + drag mouse)" -msgstr "Copie Bloc (shift + drag souris)" - -#: pcbnew/modedit_onclick.cpp:222 -msgid "Mirror Block (alt + drag mouse)" -msgstr "Bloc Miroir (alt + drag souris)" - -#: pcbnew/modedit_onclick.cpp:224 -msgid "Rotate Block (ctrl + drag mouse)" -msgstr "Rotation Bloc (ctrl + drag souris)" - -#: pcbnew/modedit_onclick.cpp:226 -msgid "Delete Block (shift+ctrl + drag mouse)" -msgstr "Effacement Bloc (shift+ctrl + drag souris)" - -#: pcbnew/modedit_onclick.cpp:248 -msgid "Rotate" -msgstr "Rotation" - -#: pcbnew/modedit_onclick.cpp:252 -msgid "Edit Module" -msgstr "Edit Module" - -#: pcbnew/modedit_onclick.cpp:255 -msgid "Transform Module" -msgstr "Transforme Module" - -#: pcbnew/modedit_onclick.cpp:263 -msgid "Move Pad" -msgstr "Déplace Pad" - -#: pcbnew/modedit_onclick.cpp:265 -msgid "Edit Pad" -msgstr "Edit Pad" - -#: pcbnew/modedit_onclick.cpp:267 -msgid "New Pad Settings" -msgstr "Nouvelles Caract. Pads" - -#: pcbnew/modedit_onclick.cpp:269 -msgid "Export Pad Settings" -msgstr "Exporte Caract. Pads" - -#: pcbnew/modedit_onclick.cpp:271 -msgid "delete Pad" -msgstr "Supprimer Pad" - -#: pcbnew/modedit_onclick.cpp:276 -msgid "Global Pad Settings" -msgstr "Edition Globale des pads" - -#: pcbnew/modedit_onclick.cpp:284 -msgid "Move Text Mod." -msgstr "Déplacer Texte Mod." - -#: pcbnew/modedit_onclick.cpp:287 -msgid "Rotate Text Mod." -msgstr "Rot. Texte Mod." - -#: pcbnew/modedit_onclick.cpp:291 -msgid "Edit Text Mod." -msgstr "Edit Texte Mod." - -#: pcbnew/modedit_onclick.cpp:294 -msgid "Delete Text Mod." -msgstr "Supprimer Texte Mod." - -#: pcbnew/modedit_onclick.cpp:302 -msgid "End edge" -msgstr "Fin contour" - -#: pcbnew/modedit_onclick.cpp:305 -msgid "Move edge" -msgstr "Déplace contour" - -#: pcbnew/modedit_onclick.cpp:308 -msgid "Place edge" -msgstr "Place contour" - -#: pcbnew/modedit_onclick.cpp:311 -msgid "Edit" -msgstr "Editer" - -#: pcbnew/modedit_onclick.cpp:313 -msgid "Edit Width (Current)" -msgstr "Edit Epaisseur (Courant)" - -#: pcbnew/modedit_onclick.cpp:315 -msgid "Edit Width (All)" -msgstr "Edit Epaisseur (Tous)" - -#: pcbnew/modedit_onclick.cpp:317 -msgid "Edit Layer (Current)" -msgstr "Edit Couche (Courant)" - -#: pcbnew/modedit_onclick.cpp:319 -msgid "Edit Layer (All)" -msgstr "Edit Couche (Tous)" - -#: pcbnew/modedit_onclick.cpp:321 -msgid "Delete edge" -msgstr "Effacement contour" - -#: pcbnew/modedit_onclick.cpp:361 -msgid "Set Width" -msgstr "Ajuste Epaiss" - -#: pcbnew/pcbplot.cpp:178 -#: pcbnew/pcbplot.cpp:328 -msgid "Plot" -msgstr "Tracer" - -#: pcbnew/pcbplot.cpp:226 -msgid "Plot Format" -msgstr "Format de tracé" - -#: pcbnew/pcbplot.cpp:241 -msgid "HPGL Options:" -msgstr "Options HPGL:" - -#: pcbnew/pcbplot.cpp:246 -msgid "Pen Size" -msgstr "Diam Plume" - -#: pcbnew/pcbplot.cpp:253 -msgid "Pen Speed (cm/s)" -msgstr "Vitesse Plume ( cm/s )" - -#: pcbnew/pcbplot.cpp:257 -msgid "Set pen speed in cm/s" -msgstr "Ajuster Vitesse plume en centimètres par seconde" - -#: pcbnew/pcbplot.cpp:259 -msgid "Pen ovr" -msgstr "Recouvrement" - -#: pcbnew/pcbplot.cpp:265 -msgid "Set plot overlay for filling" -msgstr "Ajuste recouvrement des tracés pour les remplissages" - -#: pcbnew/pcbplot.cpp:267 -msgid "Lines Width" -msgstr "Epaiss. Lignes" - -#: pcbnew/pcbplot.cpp:273 -msgid "Set lines width used to plot in sketch mode and plot pads outlines on silk screen layers" -msgstr "Ajuste l'épaisseur des lignes utilisées pour tracer en mode contour et pour les contours des pads sur les couches de sérigraphie" - -#: pcbnew/pcbplot.cpp:278 -msgid "Absolute" -msgstr "Absolu" - -#: pcbnew/pcbplot.cpp:278 -msgid "Auxiliary axis" -msgstr "Axe Auxiliaire" - -#: pcbnew/pcbplot.cpp:281 -msgid "Plot Origin" -msgstr "Origine des Coord de Tracé" - -#: pcbnew/pcbplot.cpp:309 -msgid "X scale adjust" -msgstr "Ajustage Echelle X" - -#: pcbnew/pcbplot.cpp:312 -msgid "Set X scale adjust for exact scale plotting" -msgstr "Ajuster échelle X pour traçage à l'échelle exacte" - -#: pcbnew/pcbplot.cpp:316 -msgid "Y scale adjust" -msgstr "Ajustage Echelle Y" - -#: pcbnew/pcbplot.cpp:319 -msgid "Set Y scale adjust for exact scale plotting" -msgstr "Ajuster échelle Y pour traçage à l'échelle exacte" - -#: pcbnew/pcbplot.cpp:322 -msgid "Plot negative" -msgstr "Tracé en Négatif" - -#: pcbnew/pcbplot.cpp:331 -msgid "Save Options" -msgstr "Sauver Options" - -#: pcbnew/pcbplot.cpp:335 -msgid "Generate drill file" -msgstr "Créer Fichier de perçage" - -#: pcbnew/pcbplot.cpp:338 -msgid "Close" -msgstr "Fermer" - -#: pcbnew/pcbplot.cpp:384 -msgid "Exclude Edges_Pcb layer" -msgstr "Exclure Couche Contours PCB" - -#: pcbnew/pcbplot.cpp:388 -msgid "Exclude contents of Edges_Pcb layer from all other layers" -msgstr "Exclure les tracés contour PCB des autres couches" - -#: pcbnew/pcbplot.cpp:395 -msgid "Print sheet ref" -msgstr "Imprimer cartouche" - -#: pcbnew/pcbplot.cpp:406 -msgid "Print pads on silkscreen" -msgstr "Pads sur Sérigraphie" - -#: pcbnew/pcbplot.cpp:413 -msgid "Enable/disable print/plot pads on silkscreen layers" -msgstr "Active/désactive tracé des pastilles sur les couches de sérigraphie" - -#: pcbnew/pcbplot.cpp:417 -msgid "Always print pads" -msgstr "Toujours tracer pads" - -#: pcbnew/pcbplot.cpp:422 -msgid "Force print/plot pads on ALL layers" -msgstr "Force le tracé des pastilles sur TOUTES les couches" - -#: pcbnew/pcbplot.cpp:427 -msgid "Print module value" -msgstr "Imprimer Valeur Module" - -#: pcbnew/pcbplot.cpp:431 -msgid "Enable/disable print/plot module value on silkscreen layers" -msgstr "Active/désactive le tracé des textes valeurs des modules sur couches de sérigraphie" - -#: pcbnew/pcbplot.cpp:435 -msgid "Print module reference" -msgstr "Imprimer Référence Module" - -#: pcbnew/pcbplot.cpp:439 -msgid "Enable/disable print/plot module reference on silkscreen layers" -msgstr "Active/désactive le tracé des textes référence des modules sur couches de sérigraphie" - -#: pcbnew/pcbplot.cpp:443 -msgid "Print other module texts" -msgstr "Imprimer autres textes module" - -#: pcbnew/pcbplot.cpp:447 -msgid "Enable/disable print/plot module field texts on silkscreen layers" -msgstr "Active/désactive le tracé des textes des champs des modules sur couches de sérigraphie" - -#: pcbnew/pcbplot.cpp:452 -msgid "Force print invisible texts" -msgstr "Force tracé textes invisibles" - -#: pcbnew/pcbplot.cpp:456 -msgid "Force print/plot module invisible texts on silkscreen layers" -msgstr "Force le tracé des textes invisibles sur couches de sérigraphie" - -#: pcbnew/pcbplot.cpp:461 -msgid "No drill mark" -msgstr "Pas de marque" - -#: pcbnew/pcbplot.cpp:462 -msgid "Small mark" -msgstr "Petite marque" - -#: pcbnew/pcbplot.cpp:463 -msgid "Real drill" -msgstr "Perçage réel" - -#: pcbnew/pcbplot.cpp:467 -msgid "Pads Drill Opt" -msgstr "Options Perçage Pads" - -#: pcbnew/pcbplot.cpp:476 -msgid "Auto scale" -msgstr "Ech. auto" - -#: pcbnew/pcbplot.cpp:477 -msgid "Scale 1" -msgstr "Echelle 1" - -#: pcbnew/pcbplot.cpp:478 -msgid "Scale 1.5" -msgstr "Echelle 1,5" - -#: pcbnew/pcbplot.cpp:479 -msgid "Scale 2" -msgstr "Echelle 2" - -#: pcbnew/pcbplot.cpp:480 -msgid "Scale 3" -msgstr "Echelle 3" - -#: pcbnew/pcbplot.cpp:484 -msgid "Scale Opt" -msgstr "Echelle" - -#: pcbnew/pcbplot.cpp:491 -msgid "Line" -msgstr "Ligne" - -#: pcbnew/pcbplot.cpp:491 -msgid "Filled" -msgstr "Plein" - -#: pcbnew/pcbplot.cpp:492 -msgid "Sketch" -msgstr "Contour" - -#: pcbnew/pcbplot.cpp:494 -msgid "Plot Mode" -msgstr "Mode de Tracé" - -#: pcbnew/pcbplot.cpp:502 -msgid "Plot mirror" -msgstr "Tracé Miroir" - -#: pcbnew/pcbplot.cpp:508 -msgid "Vias on mask" -msgstr "Vias sur masque" - -#: pcbnew/pcbplot.cpp:512 -msgid "Print/plot vias on mask layers. They are in this case not protected" -msgstr "Trace vias sur vernis épargne. Elles seront non protégées" - -#: pcbnew/pcbplot.cpp:756 -msgid "Adobe post script files (.ps)|*.ps" -msgstr "Fichiers Adobe post script (.ps)|*.ps" - -#: pcbnew/pcbplot.cpp:762 -msgid "GERBER photo plot files (.pho)|*.pho" -msgstr "Fichiers phottraçage GERBER (.pho)|*.pho" - -#: pcbnew/pcbplot.cpp:767 -msgid "HPGL plot files (.plt)|*.plt" -msgstr "Fichiers Tracé HPGL (.plt)|*.plt" - -#: pcbnew/pcbplot.cpp:773 -msgid "DXF files (.dxf)|*.dxf" -msgstr "Fichiers DXF (.dxf)|*.dxf" - -#: pcbnew/pcbplot.cpp:780 -msgid "Warning: Scale option set to a very small value" -msgstr "Attention: option d'échelle ajustée à une valeur très petite" - -#: pcbnew/pcbplot.cpp:783 -msgid "Warning: Scale option set to a very large value" -msgstr "Attention: option d'échelle ajustée à une valeur très grande" - -#: pcbnew/pcbplot.cpp:832 -msgid "No layer selected" -msgstr "Pas de couche sélectionnée" +#: pcbnew/export_gencad.cpp:73 +msgid "GenCAD 1.4 board files (.cad)|*.cad" +msgstr "Fichiers PCB GenCAD 1.4 (.cad)|*.cad" + +#: pcbnew/export_gencad.cpp:76 +msgid "Save GenCAD Board File" +msgstr "Sauver Fichier PCB format GenCAD" + +#: pcbnew/export_gencad.cpp:85 +msgid "Unable to create " +msgstr "Impossible de créer " + +#: pcbnew/editrack.cpp:807 +msgid "Track Len" +msgstr "Long. Piste" + +#: pcbnew/editrack.cpp:811 +msgid "Segs Count" +msgstr "Nb Segms" + +#: pcbnew/netlist.cpp:118 +#, c-format +msgid "Netlist file %s not found" +msgstr "Netliste %s non trouvée" + +#: pcbnew/netlist.cpp:173 +#, c-format +msgid "Reading Netlist \"%s\"" +msgstr "Lire Netliste \"%s\"" + +#: pcbnew/netlist.cpp:349 +msgid "Ok to delete footprints not in netlist?" +msgstr "Ok pour effacer les empreintes non en netliste?" + +#: pcbnew/netlist.cpp:500 +#, c-format +msgid "Component \"%s\": Mismatch! module is [%s] and netlist said [%s]\n" +msgstr "Composant [%s] différence: le module est <%s> et la netliste dit <%s>\n" + +#: pcbnew/netlist.cpp:544 +#, c-format +msgid "Component [%s] not found" +msgstr "Composant [%s] non trouvé" + +#: pcbnew/netlist.cpp:610 +#, c-format +msgid "Module [%s]: Pad [%s] not found" +msgstr "Module [%s]: Pad [%s] non trouvé" + +#: pcbnew/netlist.cpp:633 +msgid "No Modules" +msgstr "Pas de Modules" + +#: pcbnew/netlist.cpp:636 +msgid "Components" +msgstr "Composants" + +#: pcbnew/netlist.cpp:686 +msgid "No modules" +msgstr "Pas de Modules" + +#: pcbnew/netlist.cpp:700 +msgid "No modules in NetList" +msgstr "Pas de modules en Netliste" + +#: pcbnew/netlist.cpp:704 +msgid "Check Modules" +msgstr "Contrôle Modules" + +#: pcbnew/netlist.cpp:707 +msgid "Duplicates" +msgstr "Doubles" + +#: pcbnew/netlist.cpp:727 +msgid "Lack:" +msgstr "Manque:" + +#: pcbnew/netlist.cpp:749 +msgid "Not in Netlist:" +msgstr "Pas en Netliste:" + +#: pcbnew/netlist.cpp:889 +#, c-format +msgid "File <%s> not found, use Netlist for lib module selection" +msgstr "Fichier <%s> non trouvé, Netliste utilisée pour sélection des modules en lib." + +#: pcbnew/netlist.cpp:1018 +#, c-format +msgid "Component [%s]: footprint <%s> not found" +msgstr "Composant [%s]: Module <%s> non trouvé en librairie" + +#: pcbnew/modules.cpp:70 +msgid "Name:" +msgstr "Nom:" + +#: pcbnew/modules.cpp:70 +msgid "Search footprint" +msgstr "Cherche Module" + +#: pcbnew/modules.cpp:310 +msgid "Delete Module" +msgstr "Supprimer Module" + +#: pcbnew/modules.cpp:311 +msgid "Value " +msgstr "Valeur " + +#: 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:359 +msgid "3D Frame already opened" +msgstr "Fenêtre 3D déjà ouverte" + +#: pcbnew/pcbframe.cpp:363 +msgid "3D Viewer" +msgstr "Visu 3D" + +#: pcbnew/muonde.cpp:225 +msgid "Length(inch):" +msgstr "Longueur (pouces):" + +#: pcbnew/muonde.cpp:225 +#: pcbnew/muonde.cpp:231 +msgid "Length" +msgstr "Longueur" + +#: pcbnew/muonde.cpp:231 +msgid "Length(mm):" +msgstr "Long. (mm):" + +#: pcbnew/muonde.cpp:239 +#: pcbnew/muonde.cpp:695 +#: pcbnew/muonde.cpp:708 +msgid "Incorrect number, abort" +msgstr "Nombre incorrect, arrêt" + +#: pcbnew/muonde.cpp:247 +msgid "Requested length < minimum length" +msgstr "Longueur demandée < longueur minimum" + +#: pcbnew/muonde.cpp:269 +msgid "Unable to create line: Requested length is too big" +msgstr "Incapable de créer la ligne: longueur demandée trop grande" + +#: pcbnew/muonde.cpp:281 +#, c-format +msgid "Segment count = %d, length = " +msgstr "Nbr segm = %d, longueur = " + +#: pcbnew/muonde.cpp:656 +msgid "Gap" +msgstr "Gap" + +#: pcbnew/muonde.cpp:661 +msgid "Stub" +msgstr "Stub" + +#: pcbnew/muonde.cpp:667 +msgid "Arc Stub" +msgstr "Arc Stub" + +#: pcbnew/muonde.cpp:682 +msgid " (mm):" +msgstr " (mm):" + +#: pcbnew/muonde.cpp:688 +msgid " (inch):" +msgstr " (pouce):" + +#: pcbnew/muonde.cpp:690 +#: pcbnew/muonde.cpp:705 +msgid "Create microwave module" +msgstr "Créer Module MicroOnde" + +#: pcbnew/muonde.cpp:704 +msgid "Angle (0.1deg):" +msgstr "Angle (0.1deg):" + +#: pcbnew/muonde.cpp:826 +msgid "Complex shape" +msgstr "Forme complexe" + +#: pcbnew/muonde.cpp:851 +msgid "Read Shape Description File..." +msgstr "Lire Fichier de Description de Forme..." + +#: pcbnew/muonde.cpp:854 +msgid "Symmetrical" +msgstr "Symétrique" + +#: pcbnew/muonde.cpp:855 +msgid "Mirrored" +msgstr "Miroir" + +#: pcbnew/muonde.cpp:856 +msgid "Shape Option" +msgstr "Option Forme" + +#: pcbnew/muonde.cpp:916 +msgid "Read descr shape file" +msgstr "Lire fichier de description de forme" + +#: pcbnew/muonde.cpp:931 +msgid "File not found" +msgstr "fichier non trouvé" + +#: pcbnew/muonde.cpp:1039 +msgid "Shape has a null size!" +msgstr "La forme a une taille nulle" + +#: pcbnew/muonde.cpp:1044 +msgid "Shape has no points!" +msgstr "La forme n'a pas de points" + +#: pcbnew/muonde.cpp:1148 +msgid "No pad for this module" +msgstr "Pas de pad dans ce module" + +#: pcbnew/muonde.cpp:1154 +msgid "Only one pad for this module" +msgstr "Seulement un pad dans ce module" + +#: pcbnew/muonde.cpp:1168 +msgid "Gap (mm):" +msgstr "Gap (mm):" + +#: pcbnew/muonde.cpp:1168 +#: pcbnew/muonde.cpp:1174 +msgid "Create Microwave Gap" +msgstr "Créer Gap MicroOnde " + +#: pcbnew/muonde.cpp:1174 +msgid "Gap (inch):" +msgstr "Gap (inch):" + +#: pcbnew/editmod.cpp:42 +msgid "Module Editor" +msgstr "Ouvrir Editeur de modules" + +#: pcbnew/editmod.cpp:128 +msgid "Text is REFERENCE!" +msgstr "Le texte est la REFERENCE!" + +#: pcbnew/editmod.cpp:133 +msgid "Text is VALUE!" +msgstr "Le texte est la VALEUR!" #: pcbnew/cleaningoptions_dialog.cpp:146 msgid "Static" @@ -1077,68 +851,24 @@ msgstr "Connecte une extrémité de piste en l'air, lorsque elle couvre un pad o msgid "Clean pcb" msgstr "Nettoyage PCB" -#: pcbnew/modedit.cpp:76 -#: pcbnew/controle.cpp:175 -msgid "Selection Clarification" -msgstr "Clarification de la Sélection" +#: pcbnew/move-drag_pads.cpp:242 +#, c-format +msgid "Delete Pad (module %s %s) " +msgstr "Effacer Pad (module %s %s) " -#: pcbnew/modedit.cpp:274 -msgid "Unable to find the footprint source on the main board" -msgstr "Impossible de trouver le module source sur le PCB principal" - -#: pcbnew/modedit.cpp:275 -msgid "" -"\n" -"Cannot update the footprint" -msgstr "" -"\n" -"Ne peut mettre à jour le module" - -#: pcbnew/modedit.cpp:283 -msgid "A footprint source was found on the main board" -msgstr "Un module source a été trouvé sur le PCB principal" - -#: pcbnew/modedit.cpp:284 -msgid "" -"\n" -"Cannot insert this footprint" -msgstr "" -"\n" -"Ne peut insérer ce module" - -#: pcbnew/modedit.cpp:416 -msgid "Add Pad" -msgstr "Ajouter Pastilles" - -#: pcbnew/modedit.cpp:419 -msgid "Pad Settings" -msgstr "Caract pads" - -#: pcbnew/modedit.cpp:429 -msgid "Add Drawing" -msgstr "Ajout d'éléments graphiques" - -#: pcbnew/modedit.cpp:433 -msgid "Place anchor" -msgstr "Place Ancre" - -#: pcbnew/modedit.cpp:447 -msgid "Delete item" -msgstr "Suppression d'éléments" - -#: pcbnew/mirepcb.cpp:77 +#: pcbnew/mirepcb.cpp:79 msgid "Target Properties" msgstr "Propriétés de la mire" -#: pcbnew/mirepcb.cpp:114 +#: pcbnew/mirepcb.cpp:118 msgid "shape +" msgstr "Forme +" -#: pcbnew/mirepcb.cpp:114 +#: pcbnew/mirepcb.cpp:118 msgid "shape X" msgstr "Forme X" -#: pcbnew/mirepcb.cpp:116 +#: pcbnew/mirepcb.cpp:120 msgid "Target Shape:" msgstr "Forme Mire:" @@ -1190,86 +920,37 @@ msgstr "Inclure Pistes Autoroutées" msgid "Include Locked Tracks" msgstr "Inclure Pistes Verrouillées" -#: pcbnew/find.cpp:117 -msgid "Marker found" -msgstr "Marqueur trouvé" +#: pcbnew/autoplac.cpp:104 +msgid "Footprints NOT LOCKED will be moved" +msgstr "Les modules NON FIXES vont être déplacés" -#: pcbnew/find.cpp:119 -#, c-format -msgid "<%s> Found" -msgstr "<%s> trouvé" +#: pcbnew/autoplac.cpp:109 +msgid "Footprints NOT PLACED will be moved" +msgstr "Les modules NON PLACES vont être déplacés" -#: pcbnew/find.cpp:132 -msgid "Marker not found" -msgstr "Marqueur non trouvé" +#: pcbnew/autoplac.cpp:390 +msgid "No PCB edge found, unknown board size!" +msgstr "Pas de contour PCB, la taille du PCB est inconnue!" -#: pcbnew/find.cpp:134 -#, c-format -msgid "<%s> Not Found" -msgstr "<%s> Non trouvé" +#: pcbnew/autoplac.cpp:413 +msgid "Cols" +msgstr "Cols" -#: pcbnew/find.cpp:237 -msgid "Item to find:" -msgstr "Elément à chercher:" +#: pcbnew/autoplac.cpp:415 +msgid "Lines" +msgstr "Lignes" -#: pcbnew/find.cpp:249 -msgid "Find Item" -msgstr "Chercher Item" +#: pcbnew/autoplac.cpp:417 +msgid "Cells." +msgstr "Cells." -#: pcbnew/find.cpp:253 -msgid "Find Next Item" -msgstr "Chercher Item Suivant" +#: pcbnew/autoplac.cpp:480 +msgid "Loop" +msgstr "Itération" -#: pcbnew/find.cpp:259 -msgid "Find Marker" -msgstr "Chercher Marqueur" - -#: pcbnew/find.cpp:262 -msgid "Find Next Marker" -msgstr "Marqueur Suivant" - -#: pcbnew/editedge.cpp:137 -msgid "Copper layer global delete not allowed!" -msgstr " Effacement global sur couche cuivre non autorisé" - -#: pcbnew/editedge.cpp:141 -msgid "Delete Layer " -msgstr "Effacer Couche" - -#: pcbnew/specctra_export.cpp:78 -msgid "Specctra DSN file:" -msgstr "Fichier Specctra DSN" - -#: pcbnew/specctra_export.cpp:137 -msgid "BOARD exported OK." -msgstr "PCB exporté Ok." - -#: pcbnew/specctra_export.cpp:142 -msgid "Unable to export, please fix and try again." -msgstr "Impossible d'exporter, fixer le problème et recommencer" - -#: pcbnew/specctra_export.cpp:806 -#, c-format -msgid "Unsupported DRAWSEGMENT type %s" -msgstr "DRAWSEGMENT type %s non supporté" - -#: pcbnew/specctra_export.cpp:841 -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:844 -msgid "Edit Edges_Pcb segments, making them contiguous." -msgstr "Modifier les segments du contour PCB pour les rendre contigus." - -#: pcbnew/specctra_export.cpp:896 -#, 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:904 -#, c-format -msgid "Multiple components have identical reference IDs of \"%s\"." -msgstr "Multiple composants ont une reference identique \"%s\"." +#: pcbnew/autoplac.cpp:630 +msgid "Ok to abort?" +msgstr "Ok pour abandonner?" #: pcbnew/set_color.cpp:277 #: pcbnew/set_color.cpp:303 @@ -1337,10 +1018,6 @@ msgstr "Sauver Fichier C.I." msgid "Warning: unable to create backup file " msgstr "Attention: impossible de créer un fichier backup " -#: pcbnew/files.cpp:364 -msgid "Unable to create " -msgstr "Impossible de créer " - #: pcbnew/files.cpp:383 msgid "Backup file: " msgstr "Fichier backup: " @@ -1353,6 +1030,14 @@ msgstr "Ecriture fichier CI: " msgid "Failed to create " msgstr "Impossible de créer fichier " +#: pcbnew/editedge.cpp:122 +msgid "Copper layer global delete not allowed!" +msgstr " Effacement global sur couche cuivre non autorisé" + +#: pcbnew/editedge.cpp:126 +msgid "Delete Layer " +msgstr "Effacer Couche" + #: pcbnew/cross-probing.cpp:60 #, c-format msgid "%s found" @@ -1564,14 +1249,6 @@ msgstr "Lignes de Hachure" msgid "Corners in DrawList" msgstr "Sommets en Liste de dessin" -#: pcbnew/editrack.cpp:783 -msgid "Track Len" -msgstr "Long. Piste" - -#: pcbnew/editrack.cpp:787 -msgid "Segs Count" -msgstr "Nb Segms" - #: pcbnew/initpcb.cpp:47 msgid "Ok to delete selected items ?" msgstr "Ok pour effacer les éléments sélectionnés ?" @@ -1584,77 +1261,6 @@ msgstr "Le circuit actuel sera perdu et cette opération ne pourra pas être ann msgid "Current Footprint will be lost and this operation cannot be undone. Continue ?" msgstr "Le module actuel sera perdu et cette opération ne pourra pas être annulée. Continuer ?" -#: pcbnew/netlist.cpp:117 -#, c-format -msgid "Netlist file %s not found" -msgstr "Netliste %s non trouvée" - -#: pcbnew/netlist.cpp:172 -#, c-format -msgid "Reading Netlist \"%s\"" -msgstr "Lire Netliste \"%s\"" - -#: pcbnew/netlist.cpp:340 -msgid "Ok to delete footprints not in netlist ?" -msgstr "Ok pour effacer les empreintes non en netliste ?" - -#: pcbnew/netlist.cpp:488 -#, c-format -msgid "Component \"%s\": Mismatch! module is [%s] and netlist said [%s]\n" -msgstr "Composant [%s] différence: le module est <%s> et la netliste dit <%s>\n" - -#: pcbnew/netlist.cpp:524 -#, c-format -msgid "Component [%s] not found" -msgstr "Composant [%s] non trouvé" - -#: pcbnew/netlist.cpp:589 -#, c-format -msgid "Module [%s]: Pad [%s] not found" -msgstr "Module [%s]: Pad [%s] non trouvé" - -#: pcbnew/netlist.cpp:615 -msgid "No Modules" -msgstr "Pas de Modules" - -#: pcbnew/netlist.cpp:618 -msgid "Components" -msgstr "Composants" - -#: pcbnew/netlist.cpp:671 -msgid "No modules" -msgstr "Pas de Modules" - -#: pcbnew/netlist.cpp:682 -msgid "No modules in NetList" -msgstr "Pas de modules en Netliste" - -#: pcbnew/netlist.cpp:685 -msgid "Check Modules" -msgstr "Contrôle Modules" - -#: pcbnew/netlist.cpp:688 -msgid "Duplicates" -msgstr "Doubles" - -#: pcbnew/netlist.cpp:706 -msgid "Lack:" -msgstr "Manque:" - -#: pcbnew/netlist.cpp:728 -msgid "Not in Netlist:" -msgstr "Pas en Netliste:" - -#: pcbnew/netlist.cpp:874 -#, c-format -msgid "File <%s> not found, use Netlist for lib module selection" -msgstr "Fichier <%s> non trouvé, Netliste utilisée pour sélection des modules en lib." - -#: pcbnew/netlist.cpp:1005 -#, c-format -msgid "Component [%s]: footprint <%s> not found" -msgstr "Composant [%s]: Module <%s> non trouvé en librairie" - #: pcbnew/tool_pcb.cpp:30 msgid "" "Show active layer selections\n" @@ -1935,17 +1541,231 @@ msgstr "Grille perso" msgid "+/- to switch" msgstr "+/- pour commuter" -#: pcbnew/dialog_pad_properties.cpp:482 -msgid "Incorrect value for pad drill: pad drill bigger than pad size" -msgstr "Valeur incorrecte pour diamètre de perçage: perçage plus grand que la taille du pad" +#: pcbnew/edit.cpp:232 +msgid "Add Tracks" +msgstr "Addition de Pistes" -#: pcbnew/dialog_pad_properties.cpp:488 -msgid "Incorrect value for pad offset" -msgstr "Valeur incorrecte pour offset du pad" +#: pcbnew/edit.cpp:240 +msgid "Add Zones" +msgstr "Addition de Zones" -#: pcbnew/dialog_pad_properties.cpp:586 -msgid "Unknown netname, no change" -msgstr "Net inconnu, pas de changement" +#: pcbnew/edit.cpp:242 +msgid "Warning: Display Zone is OFF!!!" +msgstr "Attention: Affichage zones désactivé !!!" + +#: pcbnew/edit.cpp:248 +msgid "Add Layer Alignment Target" +msgstr "Ajouter Mire de superposition" + +#: pcbnew/edit.cpp:252 +msgid "Adjust Zero" +msgstr "Ajuster Zéro" + +#: pcbnew/edit.cpp:258 +msgid "Add Graphic" +msgstr "Addition éléments graphiques" + +#: pcbnew/edit.cpp:262 +msgid "Add Text" +msgstr "Ajout de Texte" + +#: pcbnew/edit.cpp:266 +msgid "Add Modules" +msgstr "Addition de Modules" + +#: pcbnew/edit.cpp:270 +msgid "Add Dimension" +msgstr "Ajout de cotes" + +#: pcbnew/edit.cpp:278 +msgid "Net Highlight" +msgstr "Surbrillance des équipotentielles" + +#: pcbnew/edit.cpp:282 +msgid "Local Ratsnest" +msgstr "Montrer le chevelu général" + +#: pcbnew/librairi.cpp:32 +msgid "Kicad foot print export files (*.emp)|*.emp" +msgstr "Kicad fichiers export modules (*.emp)|*.emp" + +#: pcbnew/librairi.cpp:62 +msgid "Import Footprint Module" +msgstr "Importer Module" + +#: pcbnew/librairi.cpp:98 +msgid "Not a module file" +msgstr "N'est pas un fichier de Modules" + +#: pcbnew/librairi.cpp:174 +msgid "Create New Library" +msgstr "Créer un Nouvelle Librairie" + +#: pcbnew/librairi.cpp:174 +msgid "Export Module" +msgstr "Exporter Module" + +#: pcbnew/librairi.cpp:187 +#, c-format +msgid "Unable to create <%s>" +msgstr "Incapable de créer <%s>" + +#: pcbnew/librairi.cpp:213 +#, c-format +msgid "Module exported in file <%s>" +msgstr "Module exporté en fichier <%s>" + +#: pcbnew/librairi.cpp:237 +#, c-format +msgid "Ok to delete module %s in library %s" +msgstr "Ok pour effacer module %s en librairie %s" + +#: pcbnew/librairi.cpp:259 +msgid "Not a Library file" +msgstr "N'est pas un fichier Librairie" + +#: pcbnew/librairi.cpp:288 +#, c-format +msgid "Module [%s] not found" +msgstr "Module [%s] non trouvé" + +#: pcbnew/librairi.cpp:386 +#, c-format +msgid "Component %s deleted in library %s" +msgstr "Composant %s supprimé en librairie %s" + +#: pcbnew/librairi.cpp:409 +msgid " No modules to archive!" +msgstr "Pas de Modules à archiver" + +#: pcbnew/librairi.cpp:416 +msgid "Library" +msgstr "Librairie" + +#: pcbnew/librairi.cpp:433 +#, c-format +msgid "File %s exists, OK to replace ?" +msgstr "Fichier %s existant, OK pour remplacer ?" + +#: pcbnew/librairi.cpp:515 +#, c-format +msgid "Library %s not found" +msgstr "Librairie %s non trouvée" + +#: pcbnew/librairi.cpp:525 +msgid "Save module" +msgstr "Sauver Module" + +#: pcbnew/librairi.cpp:535 +#, c-format +msgid "Unable to open %s" +msgstr "Ne peut pas ouvrir \"%s\"" + +#: pcbnew/librairi.cpp:545 +#, c-format +msgid "File %s is not a eeschema library" +msgstr "Fichier %s n'est pas une librairie eeschema" + +#: pcbnew/librairi.cpp:576 +msgid "" +"Module exists\n" +" Line: " +msgstr "" +"Module existe\n" +" Ligne " + +#: pcbnew/librairi.cpp:704 +msgid "Component " +msgstr "Composant" + +#: pcbnew/librairi.cpp:705 +msgid " added in " +msgstr " ajouté dans " + +#: pcbnew/librairi.cpp:705 +msgid " replaced in " +msgstr " remplacé dans " + +#: pcbnew/librairi.cpp:729 +msgid "Module Reference:" +msgstr "Référence Module" + +#: pcbnew/librairi.cpp:730 +msgid "Module Creation" +msgstr "Création de Module" + +#: pcbnew/librairi.cpp:732 +msgid "No reference, aborted" +msgstr "Pas de référence, abandon" + +#: pcbnew/librairi.cpp:777 +msgid "Active Lib:" +msgstr "Librairie Active:" + +#: pcbnew/librairi.cpp:789 +msgid "Module Editor (lib: " +msgstr "Editeur de modules (lib: " + +#: pcbnew/librairi.cpp:802 +msgid "Library exists " +msgstr "Librairie existante " + +#: pcbnew/librairi.cpp:817 +msgid "Create error " +msgstr "Erreur en création " + +#: pcbnew/gendrill.cpp:27 +msgid "Drill files (*.drl)|*.drl" +msgstr "Fichiers de Perçage (*.drl)|*.drl" + +#: pcbnew/gendrill.cpp:94 +#: pcbnew/gendrill.cpp:96 +msgid "Use Netclasses values" +msgstr "Utiliser les valeurs des Netclass" + +#: pcbnew/gendrill.cpp:309 +msgid "Save Drill File" +msgstr "Sauver Fichier de Perçage" + +#: pcbnew/gendrill.cpp:395 +msgid "3:2" +msgstr "3:2" + +#: pcbnew/gendrill.cpp:396 +msgid "3:3" +msgstr "3:3" + +#: pcbnew/gendrill.cpp:748 +msgid "HPGL plot files (.plt)|*.plt" +msgstr "Fichiers Tracé HPGL (.plt)|*.plt" + +#: pcbnew/gendrill.cpp:753 +msgid "PostScript files (.ps)|*.ps" +msgstr "Fichiers PostScript (.ps)|*.ps" + +#: pcbnew/gendrill.cpp:758 +msgid "Gerber files (.pho)|*.pho" +msgstr "Fichiers Gerber (*.pho)|*.pho" + +#: pcbnew/gendrill.cpp:763 +msgid "DXF files (.dxf)|*.dxf" +msgstr "Fichiers DXF (.dxf)|*.dxf" + +#: pcbnew/gendrill.cpp:776 +msgid "Save Drill Plot File" +msgstr "Sauver Plan de Perçage" + +#: pcbnew/gendrill.cpp:787 +msgid "Unable to create file" +msgstr "Impossible de créer le fichier" + +#: pcbnew/gendrill.cpp:811 +msgid "Drill report files (.rpt)|*.rpt" +msgstr "Fichiers rapport de perçage (.rpt)*.rpt" + +#: pcbnew/gendrill.cpp:817 +msgid "Save Drill Report File" +msgstr "Sauver Fichier Rapport de Perçage" #: pcbnew/clean.cpp:183 msgid "Delete unconnected tracks:" @@ -2003,21 +1823,47 @@ msgstr "Max" msgid "Segm" msgstr "Segm" -#: 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" +#: pcbnew/ioascii.cpp:173 +msgid "Error: Unexpected end of file !" +msgstr "Erreur: Fin de fichier inattendue !" -#: pcbnew/edgemod.cpp:233 -msgid "New Width (1/10000\"):" -msgstr "Nouvelle largeur (1/10000\"):" +#: pcbnew/find.cpp:112 +msgid "Marker found" +msgstr "Marqueur trouvé" -#: pcbnew/edgemod.cpp:233 -msgid "Edge Width" -msgstr "Epaisseur Contour" +#: pcbnew/find.cpp:114 +#, c-format +msgid "<%s> Found" +msgstr "<%s> trouvé" -#: pcbnew/edgemod.cpp:240 -msgid "Incorrect number, no change" -msgstr "Nombre incorrect, pas de changement" +#: pcbnew/find.cpp:127 +msgid "Marker not found" +msgstr "Marqueur non trouvé" + +#: pcbnew/find.cpp:129 +#, c-format +msgid "<%s> Not Found" +msgstr "<%s> Non trouvé" + +#: pcbnew/find.cpp:233 +msgid "Item to find:" +msgstr "Elément à chercher:" + +#: pcbnew/find.cpp:260 +msgid "Find Item" +msgstr "Chercher Item" + +#: pcbnew/find.cpp:266 +msgid "Find Next Item" +msgstr "Chercher Item Suivant" + +#: pcbnew/find.cpp:281 +msgid "Find Marker" +msgstr "Chercher Marqueur" + +#: pcbnew/find.cpp:287 +msgid "Find Next Marker" +msgstr "Marqueur Suivant" #: pcbnew/hotkeys.cpp:480 #, c-format @@ -2087,69 +1933,618 @@ msgstr "Couche Inf." msgid "Warning: The Top Layer and Bottom Layer are same." msgstr "Attention: Les couches dessus et dessous sont les mêmes" -#: pcbnew/menubarmodedit.cpp:37 -msgid "Sizes and Widths" -msgstr "Dims. et Epaiss." +#: pcbnew/menubarpcb.cpp:29 +msgid "&New Board" +msgstr "&Nouveau Circuit Imprimé" -#: pcbnew/menubarmodedit.cpp:38 -msgid "Adjust width for texts and drawings" -msgstr "Ajuster dims pour textes et graphiques" +#: pcbnew/menubarpcb.cpp:30 +msgid "Clear old board and initialize a new one" +msgstr "Effacer ancien C.I. et créer un nouveau" -#: pcbnew/menubarmodedit.cpp:43 -msgid "Adjust size,shape,layers... for Pads" -msgstr "Ajuster taille, forme, couches... pour pads" +#: pcbnew/menubarpcb.cpp:35 +msgid "&Load Board" +msgstr "Charger Circuit Imprimé" -#: pcbnew/menubarmodedit.cpp:47 -msgid "User Grid Size" -msgstr "Dim Grille utilisteur" +#: pcbnew/menubarpcb.cpp:36 +msgid "Delete old board and load new board" +msgstr "Effacer ancien C.I. et charger un nouveau" -#: pcbnew/menubarmodedit.cpp:48 +#: pcbnew/menubarpcb.cpp:41 +msgid "Append Board" +msgstr "Ajouter Circuit Imprimé" + +#: pcbnew/menubarpcb.cpp:42 +msgid "Add board to old board" +msgstr "Ajouter un C.I. au C.I. actuel" + +#: pcbnew/menubarpcb.cpp:47 +msgid "&Rescue" +msgstr "&Secours" + +#: pcbnew/menubarpcb.cpp:48 +msgid "Clear old board and get last rescue file" +msgstr "Effacer C.I. actuel et reprendre le dernier fichier secours" + +#: pcbnew/menubarpcb.cpp:53 +msgid "&Previous Version" +msgstr "&Précédente Version" + +#: pcbnew/menubarpcb.cpp:54 +msgid "Clear old board and get old version of board" +msgstr "Effacer le C.I. actuel et reprendre l'ancienne version" + +#: pcbnew/menubarpcb.cpp:61 +msgid "&Save Board\tCtrl-S" +msgstr "&Sauver Circuit Imprimé (Ctrl S)" + +#: pcbnew/menubarpcb.cpp:62 +msgid "Save current board" +msgstr "Sauver le C.I. actuel" + +#: pcbnew/menubarpcb.cpp:67 +msgid "Save Board as..." +msgstr "Sauver C.I. sous.." + +#: pcbnew/menubarpcb.cpp:68 +msgid "Save current board as.." +msgstr "Sauver le Circuit Imprimé courant sous.." + +#: pcbnew/menubarpcb.cpp:74 +msgid "P&rint" +msgstr "Imp&rimer" + +#: pcbnew/menubarpcb.cpp:75 +msgid "Print pcb board" +msgstr "Imprimer C.I." + +#: pcbnew/menubarpcb.cpp:79 +msgid "Print S&VG" +msgstr "Impression S&VG" + +#: pcbnew/menubarpcb.cpp:80 +msgid "Plot pcb board in SVG format" +msgstr "Tracer le circuit imprimé en format SVG" + +#: pcbnew/menubarpcb.cpp:85 +msgid "&Plot" +msgstr "&Tracer" + +#: pcbnew/menubarpcb.cpp:86 +msgid "Plot (HPGL, PostScript, or Gerber format)" +msgstr "Tracer ( format HPGL, POSTSCRIPT ou GERBER)" + +#: pcbnew/menubarpcb.cpp:95 +msgid "&Specctra DSN" +msgstr "&Specctra DSN" + +#: pcbnew/menubarpcb.cpp:96 +msgid "Export the current board to a \"Specctra DSN\" file" +msgstr "Exporte le CI courant dans un fichier au format \"Specctra DSN\"" + +#: pcbnew/menubarpcb.cpp:101 +msgid "&GenCAD" +msgstr "&GenCAD" + +#: pcbnew/menubarpcb.cpp:101 +msgid "Export GenCAD Format" +msgstr "Exporter en Format GenCAD" + +#: pcbnew/menubarpcb.cpp:106 +msgid "&Module Report" +msgstr "Rapport &Modules" + +#: pcbnew/menubarpcb.cpp:107 +msgid "Create a board report (footprint report)" +msgstr "Créer un fichier rapport (rapport sur modules)" + +#: pcbnew/menubarpcb.cpp:111 +msgid "&Export" +msgstr "&Exporter" + +#: pcbnew/menubarpcb.cpp:112 +msgid "Export board" +msgstr "Exporter le C.I." + +#: pcbnew/menubarpcb.cpp:120 +msgid "&Specctra Session" +msgstr "&Specctra Session" + +#: pcbnew/menubarpcb.cpp:121 +msgid "Import a routed \"Specctra Session\" (*.ses) file" +msgstr "Importer un fichier de routage \"Specctra Session\" (*.ses) " + +#: pcbnew/menubarpcb.cpp:134 +msgid "Import" +msgstr "Importer" + +#: pcbnew/menubarpcb.cpp:135 +msgid "Import files" +msgstr "Importer fichiers" + +#: pcbnew/menubarpcb.cpp:143 +msgid "Add New Footprints" +msgstr "Ajouter Nouveaux Modules" + +#: pcbnew/menubarpcb.cpp:144 +msgid "Archive new footprints only in a library (keep other footprints in this lib)" +msgstr "Archiver nouveaux modules seuls dans une librairie (garder les autres modules de cette librairie)" + +#: pcbnew/menubarpcb.cpp:148 +msgid "Create Footprint Archive" +msgstr "Créer Archive des Modules" + +#: pcbnew/menubarpcb.cpp:149 +msgid "Archive all footprints in a library(old lib will be deleted)" +msgstr "Archiver tous les modules dans une librairie (ancienne librairie supprimée)" + +#: pcbnew/menubarpcb.cpp:154 +msgid "Archive Footprints" +msgstr "Archiver Modules" + +#: pcbnew/menubarpcb.cpp:155 +msgid "Archive or add footprints in a library file" +msgstr "Archiver ou ajouter les modules dans un fichier librairie" + +#: pcbnew/menubarpcb.cpp:160 +msgid "E&xit" +msgstr "&Quitter" + +#: pcbnew/menubarpcb.cpp:161 +msgid "Quit PCBnew" +msgstr "Quitter PCBnew" + +#: pcbnew/menubarpcb.cpp:171 +msgid "&Library" +msgstr "&Librairie" + +#: pcbnew/menubarpcb.cpp:172 +msgid "Setting libraries, directories and others..." +msgstr "Sélectionner les librairies , répertoires et autres" + +#: pcbnew/menubarpcb.cpp:177 +msgid "&Colors and Visibility" +msgstr "&Couleurs et Visibilité" + +#: pcbnew/menubarpcb.cpp:178 +msgid "Select colors and visibility of layers and some items" +msgstr "Sélection les couleurs et l' affichage des couches et de certains éléments du C.I." + +#: pcbnew/menubarpcb.cpp:182 +msgid "&General" +msgstr "&Général " + +#: pcbnew/menubarpcb.cpp:183 +msgid "Select general options for PCBnew" +msgstr " Sélection options générales pour PCBNEW" + +#: pcbnew/menubarpcb.cpp:188 +msgid "&Display" +msgstr "&Affichage" + +#: pcbnew/menubarpcb.cpp:189 +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:198 +msgid "&Save Preferences" +msgstr "&Sauver Préférences" + +#: pcbnew/menubarpcb.cpp:199 +msgid "Save application preferences" +msgstr "Sauver les préférences de l'application" + +#: pcbnew/menubarpcb.cpp:203 +msgid "&Read Preferences" +msgstr "&Lire Préférences" + +#: pcbnew/menubarpcb.cpp:204 +msgid "Read application preferences" +msgstr "Lire les préférences de l'application" + +#: pcbnew/menubarpcb.cpp:214 +msgid "Design Rules" +msgstr "Règles de Conception" + +#: pcbnew/menubarpcb.cpp:215 +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:219 +msgid "&Layers Setup" +msgstr "&Options Couches" + +#: pcbnew/menubarpcb.cpp:220 +msgid "Enable and set properties of layers" +msgstr "Activer les couches et ajuster leur propriétés" + +#: pcbnew/menubarpcb.cpp:231 +msgid "Pads Mask Clearance" +msgstr "Marge Masque des Pads" + +#: pcbnew/menubarpcb.cpp:232 +msgid "Adjust the global clearance between pads and the solder resist mask" +msgstr "Ajuster la marge globale entre pads et le masque de vernis épargne" + +#: pcbnew/menubarpcb.cpp:237 msgid "Adjust User Grid" msgstr "Ajuster Grille utilisateur" -#: pcbnew/menubarmodedit.cpp:61 +#: pcbnew/menubarpcb.cpp:242 +msgid "Texts and Drawings" +msgstr "Textes et Tracés" + +#: pcbnew/menubarpcb.cpp:243 +msgid "Adjust width for texts and drawings" +msgstr "Ajuster dims pour textes et graphiques" + +#: pcbnew/menubarpcb.cpp:247 +msgid "Pads" +msgstr "Pads" + +#: pcbnew/menubarpcb.cpp:248 +msgid "Adjust size,shape,layers... for pads" +msgstr "Ajuster taille, forme, couches... pour pads" + +#: pcbnew/menubarpcb.cpp:253 +msgid "&Save Setup" +msgstr "&Sauver Options" + +#: pcbnew/menubarpcb.cpp:254 +msgid "Save options in current directory" +msgstr "Sauver les options en répertoire de travail" + +#: pcbnew/menubarpcb.cpp:260 +msgid "Generate &Modules Position" +msgstr "Créer &Modules Position" + +#: pcbnew/menubarpcb.cpp:261 +msgid "Generate modules position file" +msgstr "Gen fichier Position des Modules" + +#: pcbnew/menubarpcb.cpp:266 +msgid "Create &Drill File" +msgstr "Créer &Fichier de Perçage" + +#: pcbnew/menubarpcb.cpp:267 +msgid "Generate excellon2 drill file" +msgstr "Créer Fichier de perçage Excellon2" + +#: pcbnew/menubarpcb.cpp:272 +msgid "Create &Component File" +msgstr "Créer &Fichier Cmp" + +#: pcbnew/menubarpcb.cpp:273 +msgid "Recreate .cmp file for CvPcb" +msgstr "Recréer le fichier .cmp pour CvPcb" + +#: pcbnew/menubarpcb.cpp:278 +msgid "Create &BOM File" +msgstr "Créer Fichier Liste du &Matériel" + +#: pcbnew/menubarpcb.cpp:279 +msgid "Recreate .csv file for CvPcb" +msgstr "Recréer le fichier .csv pour CvPcb" + +#: pcbnew/menubarpcb.cpp:285 +msgid "Global &Deletions" +msgstr "Effacements &Généraux" + +#: pcbnew/menubarpcb.cpp:286 +msgid "Delete tracks, modules, texts... on board" +msgstr "Effacer pistes, modules, textes... sur le C.I." + +#: pcbnew/menubarpcb.cpp:291 +msgid "&List Nets" +msgstr "Liste Equipots" + +#: pcbnew/menubarpcb.cpp:292 +msgid "List nets (names and id)" +msgstr "Lister équipotentielles (noms et numéros d'identification)" + +#: pcbnew/menubarpcb.cpp:297 +msgid "&Track Operations" +msgstr "Opéra&tions sur Pistes" + +#: pcbnew/menubarpcb.cpp:298 +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:303 +msgid "&Swap Layers" +msgstr "&Permutte Couches" + +#: pcbnew/menubarpcb.cpp:304 +msgid "Swap tracks on copper layers or drawings on others layers" +msgstr "Permutation de couches" + +#: pcbnew/menubarpcb.cpp:312 msgid "&Contents" msgstr "&Contenu" -#: pcbnew/menubarmodedit.cpp:62 -msgid "Open the pcbnew manual" -msgstr "Ouvrir la documentation de pcbnew" +#: pcbnew/menubarpcb.cpp:313 +msgid "Open the PCBnew manual" +msgstr "Ouvrir la documentation de PCPnew" -#: pcbnew/menubarmodedit.cpp:70 -msgid "&About pcbnew" -msgstr "&Au sujet de Pcbnew" +#: pcbnew/menubarpcb.cpp:317 +msgid "&About PCBnew" +msgstr "&Au sujet de PCBnew" -#: pcbnew/menubarmodedit.cpp:71 -msgid "About pcbnew PCB designer" -msgstr "Au sujet de Pcbnew, concption de PCB" +#: pcbnew/menubarpcb.cpp:318 +msgid "About PCBnew printed circuit board designer" +msgstr "Au Sujet de PCBnew outil de conception de C.I." -#: pcbnew/menubarmodedit.cpp:79 +#: pcbnew/menubarpcb.cpp:327 msgid "3D Display" msgstr "3D Visu" -#: pcbnew/menubarmodedit.cpp:79 +#: pcbnew/menubarpcb.cpp:327 msgid "Show board in 3D viewer" msgstr "Visualisation du circuit en 3D" -#: pcbnew/menubarmodedit.cpp:83 +#: pcbnew/menubarpcb.cpp:331 +msgid "&File" +msgstr "&Fichiers" + +#: pcbnew/menubarpcb.cpp:332 +msgid "&Preferences" +msgstr "&Préférences" + +#: pcbnew/menubarpcb.cpp:333 +msgid "&Design Rules" +msgstr "&Règles de Conception" + +#: pcbnew/menubarpcb.cpp:334 msgid "&Dimensions" msgstr "&Dimensions" -#: pcbnew/menubarmodedit.cpp:84 +#: pcbnew/menubarpcb.cpp:335 +msgid "&Miscellaneous" +msgstr "&Divers" + +#: pcbnew/menubarpcb.cpp:336 +msgid "P&ostprocess" +msgstr "P&ostprocesseurs" + +#: pcbnew/menubarpcb.cpp:337 msgid "&3D Display" msgstr "&3D Visu" -#: pcbnew/menubarmodedit.cpp:85 +#: pcbnew/menubarpcb.cpp:338 msgid "&Help" msgstr "&Aide" -#: pcbnew/dialog_SVG_print.cpp:206 -msgid "Create file " -msgstr "Créer Fichier " +#: pcbnew/pcbplot.cpp:178 +#: pcbnew/pcbplot.cpp:327 +msgid "Plot" +msgstr "Tracer" -#: pcbnew/dialog_SVG_print.cpp:208 -msgid " error" -msgstr " erreur" +#: pcbnew/pcbplot.cpp:226 +msgid "Plot Format" +msgstr "Format de tracé" + +#: pcbnew/pcbplot.cpp:240 +msgid "HPGL Options:" +msgstr "Options HPGL:" + +#: pcbnew/pcbplot.cpp:245 +msgid "Pen size" +msgstr "Diam plume" + +#: pcbnew/pcbplot.cpp:252 +msgid "Pen Speed (cm/s)" +msgstr "Vitesse Plume ( cm/s )" + +#: pcbnew/pcbplot.cpp:256 +msgid "Set pen speed in cm/s" +msgstr "Ajuster Vitesse plume en centimètres par seconde" + +#: pcbnew/pcbplot.cpp:258 +msgid "Pen ovr" +msgstr "Recouvrement" + +#: pcbnew/pcbplot.cpp:264 +msgid "Set plot overlay for filling" +msgstr "Ajuste recouvrement des tracés pour les remplissages" + +#: pcbnew/pcbplot.cpp:266 +msgid "Line width" +msgstr "Epaisseur ligne" + +#: pcbnew/pcbplot.cpp:272 +msgid "Set lines width used to plot in sketch mode and plot pads outlines on silk screen layers" +msgstr "Ajuste l'épaisseur des lignes utilisées pour tracer en mode contour et pour les contours des pads sur les couches de sérigraphie" + +#: pcbnew/pcbplot.cpp:277 +msgid "Absolute" +msgstr "Absolu" + +#: pcbnew/pcbplot.cpp:277 +msgid "Auxiliary axis" +msgstr "Axe Auxiliaire" + +#: pcbnew/pcbplot.cpp:280 +msgid "Plot Origin" +msgstr "Origine des Coord de Tracé" + +#: pcbnew/pcbplot.cpp:308 +msgid "X scale adjust" +msgstr "Ajustage Echelle X" + +#: pcbnew/pcbplot.cpp:311 +msgid "Set X scale adjust for exact scale plotting" +msgstr "Ajuster échelle X pour traçage à l'échelle exacte" + +#: pcbnew/pcbplot.cpp:315 +msgid "Y scale adjust" +msgstr "Ajustage Echelle Y" + +#: pcbnew/pcbplot.cpp:318 +msgid "Set Y scale adjust for exact scale plotting" +msgstr "Ajuster échelle Y pour traçage à l'échelle exacte" + +#: pcbnew/pcbplot.cpp:321 +msgid "Plot negative" +msgstr "Tracé en Négatif" + +#: pcbnew/pcbplot.cpp:330 +msgid "Save Options" +msgstr "Sauver Options" + +#: pcbnew/pcbplot.cpp:334 +msgid "Generate drill file" +msgstr "Créer Fichier de perçage" + +#: pcbnew/pcbplot.cpp:337 +msgid "Close" +msgstr "Fermer" + +#: pcbnew/pcbplot.cpp:383 +msgid "Exclude pcb edge layer" +msgstr "Exclure couche contours PCB" + +#: pcbnew/pcbplot.cpp:387 +msgid "Exclude contents of the pcb edge layer from all other layers" +msgstr "Exclure les tracés contour PCB des autres couches" + +#: pcbnew/pcbplot.cpp:394 +msgid "Print sheet reference" +msgstr "Imprimer cartouche" + +#: pcbnew/pcbplot.cpp:405 +msgid "Print pads on silkscreen" +msgstr "Pads sur Sérigraphie" + +#: pcbnew/pcbplot.cpp:413 +msgid "Enable/disable print/plot pads on silkscreen layers" +msgstr "Active/désactive tracé des pastilles sur les couches de sérigraphie" + +#: pcbnew/pcbplot.cpp:417 +msgid "Always print pads" +msgstr "Toujours tracer pads" + +#: pcbnew/pcbplot.cpp:423 +msgid "Force print/plot pads on ALL layers" +msgstr "Force le tracé des pastilles sur TOUTES les couches" + +#: pcbnew/pcbplot.cpp:428 +msgid "Print module value" +msgstr "Imprimer Valeur Module" + +#: pcbnew/pcbplot.cpp:432 +msgid "Enable/disable print/plot module value on silkscreen layers" +msgstr "Active/désactive le tracé des textes valeurs des modules sur couches de sérigraphie" + +#: pcbnew/pcbplot.cpp:436 +msgid "Print module reference" +msgstr "Imprimer Référence Module" + +#: pcbnew/pcbplot.cpp:440 +msgid "Enable/disable print/plot module reference on silkscreen layers" +msgstr "Active/désactive le tracé des textes référence des modules sur couches de sérigraphie" + +#: pcbnew/pcbplot.cpp:444 +msgid "Print other module texts" +msgstr "Imprimer autres textes module" + +#: pcbnew/pcbplot.cpp:448 +msgid "Enable/disable print/plot module field texts on silkscreen layers" +msgstr "Active/désactive le tracé des textes des champs des modules sur couches de sérigraphie" + +#: pcbnew/pcbplot.cpp:453 +msgid "Force print invisible texts" +msgstr "Force tracé textes invisibles" + +#: pcbnew/pcbplot.cpp:457 +msgid "Force print/plot module invisible texts on silkscreen layers" +msgstr "Force le tracé des textes invisibles sur couches de sérigraphie" + +#: pcbnew/pcbplot.cpp:462 +msgid "No drill mark" +msgstr "Pas de marque" + +#: pcbnew/pcbplot.cpp:463 +msgid "Small mark" +msgstr "Petite marque" + +#: pcbnew/pcbplot.cpp:464 +msgid "Real drill" +msgstr "Perçage réel" + +#: pcbnew/pcbplot.cpp:468 +msgid "Pads Drill Opt" +msgstr "Options Perçage Pads" + +#: pcbnew/pcbplot.cpp:477 +msgid "Auto scale" +msgstr "Ech. auto" + +#: pcbnew/pcbplot.cpp:478 +msgid "Scale 1" +msgstr "Echelle 1" + +#: pcbnew/pcbplot.cpp:479 +msgid "Scale 1.5" +msgstr "Echelle 1,5" + +#: pcbnew/pcbplot.cpp:480 +msgid "Scale 2" +msgstr "Echelle 2" + +#: pcbnew/pcbplot.cpp:481 +msgid "Scale 3" +msgstr "Echelle 3" + +#: pcbnew/pcbplot.cpp:485 +msgid "Scale Opt" +msgstr "Echelle" + +#: pcbnew/pcbplot.cpp:492 +msgid "Line" +msgstr "Ligne" + +#: pcbnew/pcbplot.cpp:492 +msgid "Filled" +msgstr "Plein" + +#: pcbnew/pcbplot.cpp:493 +msgid "Sketch" +msgstr "Contour" + +#: pcbnew/pcbplot.cpp:495 +msgid "Plot Mode" +msgstr "Mode de Tracé" + +#: pcbnew/pcbplot.cpp:503 +msgid "Plot mirror" +msgstr "Tracé Miroir" + +#: pcbnew/pcbplot.cpp:509 +msgid "Vias on mask" +msgstr "Vias sur masque" + +#: pcbnew/pcbplot.cpp:513 +msgid "Print/plot vias on mask layers. They are in this case not protected" +msgstr "Trace vias sur vernis épargne. Elles seront non protégées" + +#: pcbnew/pcbplot.cpp:762 +msgid "Adobe post script files (.ps)|*.ps" +msgstr "Fichiers Adobe post script (.ps)|*.ps" + +#: pcbnew/pcbplot.cpp:768 +msgid "GERBER photo plot files (.pho)|*.pho" +msgstr "Fichiers phottraçage GERBER (.pho)|*.pho" + +#: pcbnew/pcbplot.cpp:786 +msgid "Warning: Scale option set to a very small value" +msgstr "Attention: option d'échelle ajustée à une valeur très petite" + +#: pcbnew/pcbplot.cpp:789 +msgid "Warning: Scale option set to a very large value" +msgstr "Attention: option d'échelle ajustée à une valeur très grande" + +#: pcbnew/pcbplot.cpp:838 +msgid "No layer selected" +msgstr "Pas de couche sélectionnée" #: pcbnew/dialog_freeroute_exchange.cpp:179 msgid "Export a Specctra Design (*.dsn) File" @@ -2195,58 +2590,45 @@ msgstr "L' URL du site FreeRouting.net" msgid "&Close" msgstr "&Fermer" -#: pcbnew/export_gencad.cpp:77 -msgid "GenCAD 1.4 board files (.cad)|*.cad" -msgstr "Fichiers PCB GenCAD 1.4 (.gcd)|*.gcd" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:83 +msgid "Use this attribute for most non smd components" +msgstr "Utiliser cet attribut pour la plupart des composants" -#: pcbnew/export_gencad.cpp:80 -msgid "Save GenCAD Board File" -msgstr "Sauver Fichier PCB format GenCAD" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:86 +msgid "" +"Use this attribute for smd components.\n" +"Only components with this option are put in the footprint position list file" +msgstr "" +"Uiliser cet attribut pour les composants CMS.\n" +"Seuls les composants avec cette option sont mis dans le fichier de position des composants" -#: pcbnew/gendrill.cpp:27 -msgid "Drill files (*.drl)|*.drl" -msgstr "Fichiers de Perçage (*.drl)|*.drl" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:89 +msgid "Use this attribute for \"virtual\" components drawn on board (like a old ISA PC bus connector)" +msgstr "Uiliser cet attribut pour les composants \"virtuels\" directement dessinés sur le PCB (tel que les vieux connecteurs ISA de PC)" -#: pcbnew/gendrill.cpp:94 -#: pcbnew/gendrill.cpp:96 -msgid "Use Netclasses values" -msgstr "Utiliser les valeurs des Netclass" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:115 +msgid "Enable hotkey move commands and Auto Placement" +msgstr "Autoriser les commandes clavier de déplacement et l'auto placement" -#: pcbnew/gendrill.cpp:311 -msgid "Save Drill File" -msgstr "Sauver Fichier de Perçage" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:116 +msgid "Disable hotkey move commands and Auto Placement" +msgstr "Interdire les commandes clavier de déplacement et l'auto placement" -#: pcbnew/gendrill.cpp:397 -msgid "3:2" -msgstr "3:2" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:125 +msgid "Shape Scale:" +msgstr "Echelle de la forme:" -#: pcbnew/gendrill.cpp:398 -msgid "3:3" -msgstr "3:3" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:129 +msgid "Shape Offset:" +msgstr "Offset forme:" -#: pcbnew/gendrill.cpp:751 -msgid "PostScript files (.ps)|*.ps" -msgstr "Fichiers PostScript (.ps)|*.ps" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:133 +msgid "Shape Rotation:" +msgstr "Rot de la forme" -#: pcbnew/gendrill.cpp:756 -msgid "Gerber files (.pho)|*.pho" -msgstr "Fichiers Gerber (*.pho)|*.pho" - -#: pcbnew/gendrill.cpp:774 -msgid "Save Drill Plot File" -msgstr "Sauver Plan de Perçage" - -#: pcbnew/gendrill.cpp:785 -msgid "Unable to create file" -msgstr "Impossible de créer le fichier" - -#: pcbnew/gendrill.cpp:812 -msgid "Drill report files (.rpt)|*.rpt" -msgstr "Fichiers rapport de perçage (.rpt)*.rpt" - -#: pcbnew/gendrill.cpp:818 -msgid "Save Drill Report File" -msgstr "Sauver Fichier Rapport de Perçage" +#: pcbnew/dialog_edit_module_for_Modedit.cpp:259 +msgid "3D Shape:" +msgstr "Forme 3D:" #: pcbnew/xchgmod.cpp:175 #, c-format @@ -2313,22 +2695,6 @@ msgstr "Place Cells" msgid "unable to create file " msgstr "Impossible de créer fichier " -#: pcbnew/pcbframe.cpp:325 -msgid "Board modified, Save before exit ?" -msgstr "Circuit Imprimé modifié, Sauver avant de quitter ?" - -#: pcbnew/pcbframe.cpp:326 -msgid "Confirmation" -msgstr "Confirmation" - -#: pcbnew/pcbframe.cpp:364 -msgid "3D Frame already opened" -msgstr "Fenêtre 3D déjà ouverte" - -#: pcbnew/pcbframe.cpp:368 -msgid "3D Viewer" -msgstr "Visu 3D" - #: pcbnew/surbrill.cpp:34 msgid "Filter for net names:" msgstr "Filtre pour nets:" @@ -2543,156 +2909,61 @@ msgstr "Pour une liste de pads non connecté, clic droit pour ouvrir un menu" msgid "Unconnected" msgstr "Non connecté" -#: pcbnew/move-drag_pads.cpp:259 -#, c-format -msgid "Delete Pad (module %s %s) " -msgstr "Effacer Pad (module %s %s) " +#: pcbnew/menubarmodedit.cpp:28 +msgid "Sizes and Widths" +msgstr "Dims. et Epaiss." -#: pcbnew/modules.cpp:82 -#: pcbnew/librairi.cpp:532 -msgid "Name:" -msgstr "Nom:" +#: pcbnew/menubarmodedit.cpp:34 +msgid "Adjust size, shape, layers... for pads" +msgstr "Ajuster taille, forme, couches... pour pads" -#: pcbnew/modules.cpp:82 -msgid "Search footprint" -msgstr "Cherche Module" +#: pcbnew/menubarmodedit.cpp:40 +msgid "User Grid Size" +msgstr "Dim Grille utilisteur" -#: pcbnew/modules.cpp:330 -msgid "Delete Module" -msgstr "Supprimer Module" +#: pcbnew/menubarmodedit.cpp:41 +msgid "Adjust user grid" +msgstr "Ajuster grille utilisateur" -#: pcbnew/modules.cpp:331 -msgid "Value " -msgstr "Valeur " +#: pcbnew/menubarmodedit.cpp:55 +msgid "Open the pcbnew manual" +msgstr "Ouvrir la documentation de pcbnew" -#: pcbnew/librairi.cpp:34 -msgid "Kicad foot print export files (*.emp)|*.emp" -msgstr "Kicad fichiers export modules (*.emp)|*.emp" +#: pcbnew/menubarmodedit.cpp:63 +msgid "&About pcbnew" +msgstr "&Au sujet de Pcbnew" -#: pcbnew/librairi.cpp:68 -msgid "Import Footprint Module" -msgstr "Importer Module" +#: pcbnew/menubarmodedit.cpp:64 +msgid "About pcbnew PCB designer" +msgstr "Au sujet de Pcbnew, concption de PCB" -#: pcbnew/librairi.cpp:103 -msgid "Not a module file" -msgstr "N'est pas un fichier de Modules" +#: pcbnew/moduleframe.cpp:251 +msgid "Module Editor: Module modified! Continue?" +msgstr "Editeur de Module: Module modifié! Continuer ?" -#: pcbnew/librairi.cpp:180 -msgid "Create New Library" -msgstr "Créer un Nouvelle Librairie" +#: pcbnew/moduleframe.cpp:359 +msgid "Display rectangular coordinates" +msgstr "Affichage coord XY" -#: pcbnew/librairi.cpp:180 -msgid "Export Module" -msgstr "Exporter Module" +#: pcbnew/moduleframe.cpp:360 +msgid "Display polar coordinates" +msgstr "Affichage coord polaires" -#: pcbnew/librairi.cpp:194 -#, c-format -msgid "Unable to create <%s>" -msgstr "Incapable de créer <%s>" +#: pcbnew/moduleframe.cpp:366 +msgid "Hide grid" +msgstr "Ne pas afficher la grille" -#: pcbnew/librairi.cpp:219 -#, c-format -msgid "Module exported in file <%s>" -msgstr "Module exporté en fichier <%s>" +#: pcbnew/moduleframe.cpp:367 +msgid "Show grid" +msgstr "Afficher grille" -#: pcbnew/librairi.cpp:242 -#, c-format -msgid "Ok to delete module %s in library %s" -msgstr "Ok pour effacer module %s en librairie %s" +#: pcbnew/moduleframe.cpp:379 +msgid "Show pads in sketch mode" +msgstr "Afficher pastilles en mode contour" -#: pcbnew/librairi.cpp:264 -msgid "Not a Library file" -msgstr "N'est pas un fichier Librairie" - -#: pcbnew/librairi.cpp:293 -#, c-format -msgid "Module [%s] not found" -msgstr "Module [%s] non trouvé" - -#: pcbnew/librairi.cpp:391 -#, c-format -msgid "Component %s deleted in library %s" -msgstr "Composant %s supprimé en librairie %s" - -#: pcbnew/librairi.cpp:418 -msgid " No modules to archive!" -msgstr "Pas de Modules à archiver" - -#: pcbnew/librairi.cpp:425 -msgid "Library" -msgstr "Librairie" - -#: pcbnew/librairi.cpp:442 -#, c-format -msgid "File %s exists, OK to replace ?" -msgstr "Fichier %s existant, OK pour remplacer ?" - -#: pcbnew/librairi.cpp:521 -#, c-format -msgid "Library %s not found" -msgstr "Librairie %s non trouvée" - -#: pcbnew/librairi.cpp:532 -msgid "Save module" -msgstr "Sauver Module" - -#: pcbnew/librairi.cpp:542 -#, c-format -msgid "Unable to open %s" -msgstr "Ne peut pas ouvrir \"%s\"" - -#: pcbnew/librairi.cpp:552 -#, c-format -msgid "File %s is not a eeschema library" -msgstr "Fichier %s n'est pas une librairie eeschema" - -#: pcbnew/librairi.cpp:581 -msgid "" -"Module exists\n" -" Line: " -msgstr "" -"Module existe\n" -" Ligne " - -#: pcbnew/librairi.cpp:707 -msgid "Component " -msgstr "Composant" - -#: pcbnew/librairi.cpp:708 -msgid " added in " -msgstr " ajouté dans " - -#: pcbnew/librairi.cpp:708 -msgid " replaced in " -msgstr " remplacé dans " - -#: pcbnew/librairi.cpp:735 -msgid "Module Reference:" -msgstr "Référence Module" - -#: pcbnew/librairi.cpp:735 -msgid "Module Creation" -msgstr "Création de Module" - -#: pcbnew/librairi.cpp:737 -msgid "No reference, aborted" -msgstr "Pas de référence, abandon" - -#: pcbnew/librairi.cpp:783 -msgid "Active Lib:" -msgstr "Librairie Active:" - -#: pcbnew/librairi.cpp:795 -msgid "Module Editor (lib: " -msgstr "Editeur de modules (lib: " - -#: pcbnew/librairi.cpp:810 -msgid "Library exists " -msgstr "Librairie existante " - -#: pcbnew/librairi.cpp:825 -msgid "Create error " -msgstr "Erreur en création " +#: pcbnew/moduleframe.cpp:380 +msgid "Show pads in filled mode" +msgstr "Afficher pastilles en mode plein" #: pcbnew/class_board_item.cpp:24 msgid "Rect" @@ -2813,37 +3084,30 @@ msgid "size" msgstr "dimension" #: 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" @@ -3309,6 +3573,10 @@ msgstr "couche E.C.O.2" msgid "Draft layer" msgstr "Couche dessin" +#: pcbnew/editrack-part2.cpp:105 +msgid "Drc error, canceled" +msgstr "Erreur DRC, annulation" + #: pcbnew/dialog_SVG_print_base.cpp:25 msgid "Copper Layers:" msgstr "Couches Cuivre:" @@ -3588,21 +3856,49 @@ msgstr "Couche Mod." msgid "Seg Layer" msgstr "Couche Seg." -#: pcbnew/gen_modules_placefile.cpp:134 -msgid "No Modules for Automated Placement" -msgstr "Pas de Module pour placement Automatisé" +#: pcbnew/dialog_graphic_items_options.cpp:202 +msgid "Graphics:" +msgstr "Eléments graphiques;" -#: pcbnew/gen_modules_placefile.cpp:174 -msgid "Component side place file:" -msgstr "Fichier placement côté composant:" +#: pcbnew/dialog_graphic_items_options.cpp:208 +msgid "Graphic segm Width" +msgstr "Epaisseur segm graphique" -#: pcbnew/gen_modules_placefile.cpp:178 -msgid "Copper side place file:" -msgstr "Fichier placement côté cuivre:" +#: pcbnew/dialog_graphic_items_options.cpp:225 +msgid "Board Edges Width" +msgstr "Epaiss. contour pcb" -#: pcbnew/gen_modules_placefile.cpp:182 -msgid "Module count" -msgstr "Nb Modules" +#: pcbnew/dialog_graphic_items_options.cpp:242 +msgid "Copper Text Width" +msgstr "Epaisseur Texte sur cuivre" + +#: pcbnew/dialog_graphic_items_options.cpp:259 +msgid "Text Size V" +msgstr "Hauteur texte" + +#: pcbnew/dialog_graphic_items_options.cpp:276 +msgid "Text Size H" +msgstr "Largeur texte" + +#: pcbnew/dialog_graphic_items_options.cpp:295 +msgid "Modules:" +msgstr "Modules: " + +#: pcbnew/dialog_graphic_items_options.cpp:301 +msgid "Edges Module Width" +msgstr "Epaiss. contour module" + +#: pcbnew/dialog_graphic_items_options.cpp:321 +msgid "Text Module Width" +msgstr "Epaisseur Texte Module" + +#: pcbnew/dialog_graphic_items_options.cpp:342 +msgid "Text Module Size V" +msgstr "Hauteur Texte Module" + +#: pcbnew/dialog_graphic_items_options.cpp:363 +msgid "Text Module Size H" +msgstr "Largeur Texte Module" #: pcbnew/dialog_edit_module_text_base.cpp:19 #, c-format @@ -3649,50 +3945,6 @@ msgstr "Visible" msgid "Invisible" msgstr "Invisible" -#: pcbnew/edit.cpp:236 -msgid "Add Tracks" -msgstr "Addition de Pistes" - -#: pcbnew/edit.cpp:244 -msgid "Add Zones" -msgstr "Addition de Zones" - -#: pcbnew/edit.cpp:246 -msgid "Warning: Display Zone is OFF!!!" -msgstr "Attention: Affichage zones désactivé !!!" - -#: pcbnew/edit.cpp:252 -msgid "Add Layer Alignment Target" -msgstr "Ajouter Mire de superposition" - -#: pcbnew/edit.cpp:256 -msgid "Adjust Zero" -msgstr "Ajuster Zéro" - -#: pcbnew/edit.cpp:262 -msgid "Add Graphic" -msgstr "Addition éléments graphiques" - -#: pcbnew/edit.cpp:266 -msgid "Add Text" -msgstr "Ajout de Texte" - -#: pcbnew/edit.cpp:270 -msgid "Add Modules" -msgstr "Addition de Modules" - -#: pcbnew/edit.cpp:274 -msgid "Add Dimension" -msgstr "Ajout de cotes" - -#: pcbnew/edit.cpp:282 -msgid "Net Highlight" -msgstr "Surbrillance des équipotentielles" - -#: pcbnew/edit.cpp:286 -msgid "Local Ratsnest" -msgstr "Montrer le chevelu général" - #: pcbnew/class_drawsegment.cpp:373 msgid "Shape" msgstr "Forme" @@ -3713,18 +3965,138 @@ msgstr "Segment" msgid "Netlist Selection:" msgstr "Sélection de la netliste" -#: pcbnew/move_or_drag_track.cpp:844 -msgid "Unable to drag this segment: too many segments connected" -msgstr "Impossible de dragger ce segment: trop de segments connectés" +#: pcbnew/modedit_onclick.cpp:206 +msgid "End Tool" +msgstr "Fin Outil" -#: pcbnew/move_or_drag_track.cpp:912 -msgid "Unable to drag this segment: two collinear segments" -msgstr "Impossible de dragger ce segment: 2 segments alignés" +#: pcbnew/modedit_onclick.cpp:216 +msgid "Cancel Block" +msgstr "Annuler Bloc" + +#: pcbnew/modedit_onclick.cpp:218 +msgid "Zoom Block (drag middle mouse)" +msgstr "Zoom Bloc (drag bouton du milieu souris)" + +#: pcbnew/modedit_onclick.cpp:222 +msgid "Place Block" +msgstr "Place Bloc" + +#: pcbnew/modedit_onclick.cpp:224 +msgid "Copy Block (shift + drag mouse)" +msgstr "Copie Bloc (shift + drag souris)" + +#: pcbnew/modedit_onclick.cpp:227 +msgid "Mirror Block (alt + drag mouse)" +msgstr "Bloc Miroir (alt + drag souris)" + +#: pcbnew/modedit_onclick.cpp:230 +msgid "Rotate Block (ctrl + drag mouse)" +msgstr "Rotation Bloc (ctrl + drag souris)" + +#: pcbnew/modedit_onclick.cpp:233 +msgid "Delete Block (shift+ctrl + drag mouse)" +msgstr "Effacement Bloc (shift+ctrl + drag souris)" + +#: pcbnew/modedit_onclick.cpp:256 +msgid "Rotate" +msgstr "Rotation" + +#: pcbnew/modedit_onclick.cpp:260 +msgid "Edit Module" +msgstr "Edit Module" + +#: pcbnew/modedit_onclick.cpp:263 +msgid "Transform Module" +msgstr "Transforme Module" + +#: pcbnew/modedit_onclick.cpp:271 +msgid "Move Pad" +msgstr "Déplace Pad" + +#: pcbnew/modedit_onclick.cpp:273 +msgid "Edit Pad" +msgstr "Edit Pad" + +#: pcbnew/modedit_onclick.cpp:276 +msgid "New Pad Settings" +msgstr "Nouvelles Caract. Pads" + +#: pcbnew/modedit_onclick.cpp:278 +msgid "Export Pad Settings" +msgstr "Exporte Caract. Pads" + +#: pcbnew/modedit_onclick.cpp:280 +msgid "delete Pad" +msgstr "Supprimer Pad" + +#: pcbnew/modedit_onclick.cpp:285 +msgid "Global Pad Settings" +msgstr "Edition Globale des pads" + +#: pcbnew/modedit_onclick.cpp:293 +msgid "Move Text Mod." +msgstr "Déplacer Texte Mod." + +#: pcbnew/modedit_onclick.cpp:296 +msgid "Rotate Text Mod." +msgstr "Rot. Texte Mod." + +#: pcbnew/modedit_onclick.cpp:300 +msgid "Edit Text Mod." +msgstr "Edit Texte Mod." + +#: pcbnew/modedit_onclick.cpp:303 +msgid "Delete Text Mod." +msgstr "Supprimer Texte Mod." + +#: pcbnew/modedit_onclick.cpp:311 +msgid "End edge" +msgstr "Fin contour" + +#: pcbnew/modedit_onclick.cpp:314 +msgid "Move edge" +msgstr "Déplace contour" + +#: pcbnew/modedit_onclick.cpp:317 +msgid "Place edge" +msgstr "Place contour" + +#: pcbnew/modedit_onclick.cpp:321 +msgid "Edit" +msgstr "Editer" + +#: pcbnew/modedit_onclick.cpp:323 +msgid "Edit Width (Current)" +msgstr "Edit Epaisseur (Courant)" + +#: pcbnew/modedit_onclick.cpp:325 +msgid "Edit Width (All)" +msgstr "Edit Epaisseur (Tous)" + +#: pcbnew/modedit_onclick.cpp:327 +msgid "Edit Layer (Current)" +msgstr "Edit Couche (Courant)" + +#: pcbnew/modedit_onclick.cpp:329 +msgid "Edit Layer (All)" +msgstr "Edit Couche (Tous)" + +#: pcbnew/modedit_onclick.cpp:331 +msgid "Delete edge" +msgstr "Effacement contour" + +#: pcbnew/modedit_onclick.cpp:370 +msgid "Set Width" +msgstr "Ajuste Epaiss" #: pcbnew/dialog_print_using_printer_base.cpp:35 msgid "Exclude Edges_Pcb Layer" msgstr "Exclure Couche Contours PCB" +#: pcbnew/dialog_print_using_printer_base.cpp:37 +msgid "Exclude contents of Edges_Pcb layer from all other layers" +msgstr "Exclure les tracés contour PCB des autres couches" + #: pcbnew/dialog_print_using_printer_base.cpp:46 msgid "fit in page" msgstr "Ajustage en page" @@ -3964,6 +4336,41 @@ msgstr "" msgid "ErrType" msgstr "Type Err" +#: pcbnew/specctra_export.cpp:78 +msgid "Specctra DSN file:" +msgstr "Fichier Specctra DSN" + +#: pcbnew/specctra_export.cpp:137 +msgid "BOARD exported OK." +msgstr "PCB exporté Ok." + +#: pcbnew/specctra_export.cpp:142 +msgid "Unable to export, please fix and try again." +msgstr "Impossible d'exporter, fixer le problème et recommencer" + +#: pcbnew/specctra_export.cpp:806 +#, c-format +msgid "Unsupported DRAWSEGMENT type %s" +msgstr "DRAWSEGMENT type %s non supporté" + +#: pcbnew/specctra_export.cpp:841 +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:844 +msgid "Edit Edges_Pcb segments, making them contiguous." +msgstr "Modifier les segments du contour PCB pour les rendre contigus." + +#: pcbnew/specctra_export.cpp:896 +#, 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:904 +#, c-format +msgid "Multiple components have identical reference IDs of \"%s\"." +msgstr "Multiple composants ont une reference identique \"%s\"." + #: pcbnew/dialog_orient_footprints.cpp:138 msgid "Orientation:" msgstr "Orientation:" @@ -4001,57 +4408,13 @@ msgstr "Ok pour ajuster l'orientation des modules à %g degrés ?" msgid "Bad value for footprints orientation" msgstr "Mauvaise valeur pour l'orientation des empreintes" -#: pcbnew/globaleditpad.cpp:75 -msgid "Edit Pads Global" -msgstr "Pads: Edition globale" - -#: pcbnew/globaleditpad.cpp:91 -msgid "Pad Settings..." -msgstr "Caract pad ..." - -#: pcbnew/globaleditpad.cpp:95 -msgid "Change Module" -msgstr "Change module" - -#: pcbnew/globaleditpad.cpp:99 -msgid "Change ID Modules" -msgstr "Change Modules ident." - -#: pcbnew/globaleditpad.cpp:107 -msgid "Pad Filter :" -msgstr "Filtre Pad :" - -#: pcbnew/globaleditpad.cpp:111 -msgid "Shape Filter" -msgstr "Filtre sur forme" - -#: pcbnew/globaleditpad.cpp:116 -msgid "Layer Filter" -msgstr "Filtre sur couche" - -#: pcbnew/globaleditpad.cpp:121 -msgid "Orient Filter" -msgstr "Filtre Orientation" - -#: pcbnew/globaleditpad.cpp:128 -msgid "Change Items :" -msgstr "Eléments à changer:" - -#: pcbnew/globaleditpad.cpp:132 -msgid "Change Size" -msgstr "Change Taille" - -#: pcbnew/globaleditpad.cpp:137 -msgid "Change Shape" -msgstr "Change Forme" - -#: pcbnew/globaleditpad.cpp:142 -msgid "Change Drill" -msgstr "Change Perçage" - -#: pcbnew/globaleditpad.cpp:147 -msgid "Change Orientation" -msgstr "Change Orientation" +#: pcbnew/gen_drill_report_files.cpp:263 +msgid "" +" Drill map: Too many diameter values to draw to draw one symbol per drill value (max 13)\n" +"Plot uses circle shape for some drill values" +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/onrightclick.cpp:130 msgid "Lock Module" @@ -4564,355 +4927,6 @@ msgstr "" "Chemins (chemins système et chemins utilisateurs) utilisés pour chercher et charger les fichiers libriries et documentation des composants.\n" "Triés par ordre de priorité décroissante." -#: pcbnew/menubarpcb.cpp:33 -msgid "&New Board" -msgstr "&Nouveau Circuit Imprimé" - -#: pcbnew/menubarpcb.cpp:34 -msgid "Clear old board and initialize a new one" -msgstr "Effacer ancien C.I. et créer un nouveau" - -#: pcbnew/menubarpcb.cpp:39 -msgid "&Load Board" -msgstr "Charger Circuit Imprimé" - -#: pcbnew/menubarpcb.cpp:40 -msgid "Delete old board and load new board" -msgstr "Effacer ancien C.I. et charger un nouveau" - -#: pcbnew/menubarpcb.cpp:45 -msgid "Append Board" -msgstr "Ajouter Circuit Imprimé" - -#: pcbnew/menubarpcb.cpp:46 -msgid "Add board to old board" -msgstr "Ajouter un C.I. au C.I. actuel" - -#: pcbnew/menubarpcb.cpp:51 -msgid "&Rescue" -msgstr "&Secours" - -#: pcbnew/menubarpcb.cpp:52 -msgid "Clear old board and get last rescue file" -msgstr "Effacer C.I. actuel et reprendre le dernier fichier secours" - -#: pcbnew/menubarpcb.cpp:57 -msgid "&Previous Version" -msgstr "&Précédente Version" - -#: pcbnew/menubarpcb.cpp:58 -msgid "Clear old board and get old version of board" -msgstr "Effacer le C.I. actuel et reprendre l'ancienne version" - -#: pcbnew/menubarpcb.cpp:65 -msgid "&Save Board\tCtrl-S" -msgstr "&Sauver Circuit Imprimé (Ctrl S)" - -#: pcbnew/menubarpcb.cpp:65 -msgid "Save current board" -msgstr "Sauver le C.I. actuel" - -#: pcbnew/menubarpcb.cpp:70 -msgid "Save Board as..." -msgstr "Sauver C.I. sous.." - -#: pcbnew/menubarpcb.cpp:71 -msgid "Save current board as.." -msgstr "Sauver le Circuit Imprimé courant sous.." - -#: pcbnew/menubarpcb.cpp:77 -msgid "P&rint" -msgstr "Imp&rimer" - -#: pcbnew/menubarpcb.cpp:78 -msgid "Print pcb board" -msgstr "Imprimer C.I." - -#: pcbnew/menubarpcb.cpp:82 -msgid "Print S&VG" -msgstr "Impression S&VG" - -#: pcbnew/menubarpcb.cpp:83 -msgid "Plot pcb board in SVG format" -msgstr "Tracer le circuit imprimé en format SVG" - -#: pcbnew/menubarpcb.cpp:88 -msgid "&Plot" -msgstr "&Tracer" - -#: pcbnew/menubarpcb.cpp:89 -msgid "Plot (HPGL, PostScript, or Gerber format)" -msgstr "Tracer ( format HPGL, POSTSCRIPT ou GERBER)" - -#: pcbnew/menubarpcb.cpp:98 -msgid "&Specctra DSN" -msgstr "&Specctra DSN" - -#: pcbnew/menubarpcb.cpp:99 -msgid "Export the current board to a \"Specctra DSN\" file" -msgstr "Exporte le CI courant dans un fichier au format \"Specctra DSN\"" - -#: pcbnew/menubarpcb.cpp:104 -msgid "&GenCAD" -msgstr "&GenCAD" - -#: pcbnew/menubarpcb.cpp:104 -msgid "Export GenCAD Format" -msgstr "Exporter en Format GenCAD" - -#: pcbnew/menubarpcb.cpp:109 -msgid "&Module Report" -msgstr "Rapport &Modules" - -#: pcbnew/menubarpcb.cpp:110 -msgid "Create a board report (footprint report)" -msgstr "Créer un fichier rapport (rapport sur modules)" - -#: pcbnew/menubarpcb.cpp:114 -msgid "&Export" -msgstr "&Exporter" - -#: pcbnew/menubarpcb.cpp:115 -msgid "Export board" -msgstr "Exporter le C.I." - -#: pcbnew/menubarpcb.cpp:123 -msgid "&Specctra Session" -msgstr "&Specctra Session" - -#: pcbnew/menubarpcb.cpp:124 -msgid "Import a routed \"Specctra Session\" (*.ses) file" -msgstr "Importer un fichier de routage \"Specctra Session\" (*.ses) " - -#: pcbnew/menubarpcb.cpp:136 -msgid "Import" -msgstr "Importer" - -#: pcbnew/menubarpcb.cpp:137 -msgid "Import files" -msgstr "Importer fichiers" - -#: pcbnew/menubarpcb.cpp:145 -msgid "Add New Footprints" -msgstr "Ajouter Nouveaux Modules" - -#: pcbnew/menubarpcb.cpp:146 -msgid "Archive new footprints only in a library (keep other footprints in this lib)" -msgstr "Archiver nouveaux modules seuls dans une librairie (garder les autres modules de cette librairie)" - -#: pcbnew/menubarpcb.cpp:150 -msgid "Create Footprint Archive" -msgstr "Créer Archive des Modules" - -#: pcbnew/menubarpcb.cpp:151 -msgid "Archive all footprints in a library(old lib will be deleted)" -msgstr "Archiver tous les modules dans une librairie (ancienne librairie supprimée)" - -#: pcbnew/menubarpcb.cpp:156 -msgid "Archive Footprints" -msgstr "Archiver Modules" - -#: pcbnew/menubarpcb.cpp:157 -msgid "Archive or add footprints in a library file" -msgstr "Archiver ou ajouter les modules dans un fichier librairie" - -#: pcbnew/menubarpcb.cpp:162 -msgid "E&xit" -msgstr "&Quitter" - -#: pcbnew/menubarpcb.cpp:163 -msgid "Quit PCBnew" -msgstr "Quitter PCBnew" - -#: pcbnew/menubarpcb.cpp:173 -msgid "&Library" -msgstr "&Librairie" - -#: pcbnew/menubarpcb.cpp:174 -msgid "Setting libraries, directories and others..." -msgstr "Sélectionner les librairies , répertoires et autres" - -#: pcbnew/menubarpcb.cpp:178 -msgid "&Colors and Visibility" -msgstr "&Couleurs et Visibilité" - -#: pcbnew/menubarpcb.cpp:179 -msgid "Select colors and visibilty of layers and some items" -msgstr "Sélection les couleurs et l' affichage des couches et de certains éléments du C.I." - -#: pcbnew/menubarpcb.cpp:183 -msgid "&General" -msgstr "&Général " - -#: pcbnew/menubarpcb.cpp:184 -msgid "Select general options for PCBnew" -msgstr " Sélection options générales pour PCBNEW" - -#: pcbnew/menubarpcb.cpp:188 -msgid "&Display" -msgstr "&Affichage" - -#: pcbnew/menubarpcb.cpp:189 -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:198 -msgid "&Save Preferences" -msgstr "&Sauver Préférences" - -#: pcbnew/menubarpcb.cpp:199 -msgid "Save application preferences" -msgstr "Sauver les préférences de l'application" - -#: pcbnew/menubarpcb.cpp:203 -msgid "&Read Preferences" -msgstr "&Lire Préférences" - -#: pcbnew/menubarpcb.cpp:204 -msgid "Read application preferences" -msgstr "Lire les préférences de l'application" - -#: pcbnew/menubarpcb.cpp:215 -msgid "Design Rules" -msgstr "Règles de Conception" - -#: pcbnew/menubarpcb.cpp:215 -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:219 -msgid "&Layers Setup" -msgstr "&Options Couches" - -#: pcbnew/menubarpcb.cpp:220 -msgid "Enable and set properties of layers" -msgstr "Activer les couches et ajuster leur propriétés" - -#: pcbnew/menubarpcb.cpp:231 -msgid "Pads Mask Clearance" -msgstr "Marge Masque des Pads" - -#: pcbnew/menubarpcb.cpp:232 -msgid "Adjust the global clearance between pads and the solder resist mask" -msgstr "Ajuster la marge globale entre pads et le masque de vernis épargne" - -#: pcbnew/menubarpcb.cpp:242 -msgid "Texts and Drawings" -msgstr "Textes et Tracés" - -#: pcbnew/menubarpcb.cpp:247 -#: pcbnew/class_module.cpp:858 -msgid "Pads" -msgstr "Pads" - -#: pcbnew/menubarpcb.cpp:248 -msgid "Adjust size,shape,layers... for pads" -msgstr "Ajuster taille, forme, couches... pour pads" - -#: pcbnew/menubarpcb.cpp:253 -msgid "&Save Setup" -msgstr "&Sauver Options" - -#: pcbnew/menubarpcb.cpp:254 -msgid "Save options in current directory" -msgstr "Sauver les options en répertoire de travail" - -#: pcbnew/menubarpcb.cpp:263 -msgid "Generate &Modules Position" -msgstr "Créer &Modules Position" - -#: pcbnew/menubarpcb.cpp:264 -msgid "Generate modules position file" -msgstr "Gen fichier Position des Modules" - -#: pcbnew/menubarpcb.cpp:269 -msgid "Create &Drill File" -msgstr "Créer &Fichier de Perçage" - -#: pcbnew/menubarpcb.cpp:270 -msgid "Generate excellon2 drill file" -msgstr "Créer Fichier de perçage Excellon2" - -#: pcbnew/menubarpcb.cpp:275 -msgid "Create &Component File" -msgstr "Créer &Fichier Cmp" - -#: pcbnew/menubarpcb.cpp:276 -msgid "Recreate .cmp file for CvPcb" -msgstr "Recréer le fichier .cmp pour CvPcb" - -#: pcbnew/menubarpcb.cpp:281 -msgid "Create &BOM File" -msgstr "Créer Fichier Liste du &Matériel" - -#: pcbnew/menubarpcb.cpp:282 -msgid "Recreate .csv file for CvPcb" -msgstr "Recréer le fichier .csv pour CvPcb" - -#: pcbnew/menubarpcb.cpp:291 -msgid "Global &Deletions" -msgstr "Effacements &Généraux" - -#: pcbnew/menubarpcb.cpp:292 -msgid "Delete tracks, modules, texts... on board" -msgstr "Effacer pistes, modules, textes... sur le C.I." - -#: pcbnew/menubarpcb.cpp:297 -msgid "&List Nets" -msgstr "Liste Equipots" - -#: pcbnew/menubarpcb.cpp:298 -msgid "List nets (names and id)" -msgstr "Lister équipotentielles (noms et numéros d'identification)" - -#: pcbnew/menubarpcb.cpp:303 -msgid "&Track Operations" -msgstr "Opéra&tions sur Pistes" - -#: pcbnew/menubarpcb.cpp:304 -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:309 -msgid "&Swap Layers" -msgstr "&Permutte Couches" - -#: pcbnew/menubarpcb.cpp:310 -msgid "Swap tracks on copper layers or drawings on others layers" -msgstr "Permutation de couches" - -#: pcbnew/menubarpcb.cpp:319 -msgid "Open the PCBnew manual" -msgstr "Ouvrir la documentation de PCPnew" - -#: pcbnew/menubarpcb.cpp:323 -msgid "&About PCBnew" -msgstr "&Au sujet de PCBnew" - -#: pcbnew/menubarpcb.cpp:324 -msgid "About PCBnew printed circuit board designer" -msgstr "Au Sujet de PCBnew outil de conception de C.I." - -#: pcbnew/menubarpcb.cpp:337 -msgid "&File" -msgstr "&Fichiers" - -#: pcbnew/menubarpcb.cpp:338 -msgid "&Preferences" -msgstr "&Préférences" - -#: pcbnew/menubarpcb.cpp:339 -msgid "&Design Rules" -msgstr "&Règles de Conception" - -#: pcbnew/menubarpcb.cpp:341 -msgid "&Miscellaneous" -msgstr "&Divers" - -#: pcbnew/menubarpcb.cpp:342 -msgid "P&ostprocess" -msgstr "P&ostprocesseurs" - #: pcbnew/dialog_print_using_printer.cpp:90 msgid "Error Init Printer info" msgstr "Erreur Init info imprimante" @@ -5196,10 +5210,6 @@ msgstr "Doc: " msgid "KeyW: " msgstr "KeyW: " -#: pcbnew/editrack-part2.cpp:111 -msgid "Drc error, cancelled" -msgstr "Erreur DRC, annulation" - #: pcbnew/dialog_exchange_modules_base.cpp:25 msgid "Current Module" msgstr "Module courant" @@ -5435,54 +5445,13 @@ msgstr "Suppr. Forme 3D:" msgid "3D settings" msgstr "3D Caract" -#: pcbnew/dialog_edit_module_for_Modedit.cpp:83 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:229 -msgid "Use this attribute for most non smd components" -msgstr "Utiliser cet attribut pour la plupart des composants" +#: pcbnew/dialog_SVG_print.cpp:207 +msgid "Create file " +msgstr "Créer Fichier " -#: pcbnew/dialog_edit_module_for_Modedit.cpp:86 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:232 -msgid "" -"Use this attribute for smd components.\n" -"Only components with this option are put in the footprint position list file" -msgstr "" -"Uiliser cet attribut pour les composants CMS.\n" -"Seuls les composants avec cette option sont mis dans le fichier de position des composants" - -#: pcbnew/dialog_edit_module_for_Modedit.cpp:89 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:235 -msgid "Use this attribute for \"virtual\" components drawn on board (like a old ISA PC bus connector)" -msgstr "Uiliser cet attribut pour les composants \"virtuels\" directement dessinés sur le PCB (tel que les vieux connecteurs ISA de PC)" - -#: pcbnew/dialog_edit_module_for_Modedit.cpp:115 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:261 -msgid "Enable hotkey move commands and Auto Placement" -msgstr "Autoriser les commandes clavier de déplacement et l'auto placement" - -#: pcbnew/dialog_edit_module_for_Modedit.cpp:116 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:262 -msgid "Disable hotkey move commands and Auto Placement" -msgstr "Interdire les commandes clavier de déplacement et l'auto placement" - -#: pcbnew/dialog_edit_module_for_Modedit.cpp:125 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:271 -msgid "Shape Scale:" -msgstr "Echelle de la forme:" - -#: pcbnew/dialog_edit_module_for_Modedit.cpp:129 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:275 -msgid "Shape Offset:" -msgstr "Offset forme:" - -#: pcbnew/dialog_edit_module_for_Modedit.cpp:133 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:279 -msgid "Shape Rotation:" -msgstr "Rot de la forme" - -#: pcbnew/dialog_edit_module_for_Modedit.cpp:259 -#: pcbnew/dialog_edit_module_for_BoardEditor.cpp:387 -msgid "3D Shape:" -msgstr "Forme 3D:" +#: pcbnew/dialog_SVG_print.cpp:209 +msgid " error" +msgstr " erreur" #: pcbnew/dialog_edit_module_for_BoardEditor_base.cpp:48 msgid "Top" @@ -5531,6 +5500,58 @@ msgid "" "This value can be superseded by a pad local value." msgstr "" +#: pcbnew/globaleditpad.cpp:75 +msgid "Edit Pads Global" +msgstr "Pads: Edition globale" + +#: pcbnew/globaleditpad.cpp:90 +msgid "Pad Settings..." +msgstr "Caract pad ..." + +#: pcbnew/globaleditpad.cpp:94 +msgid "Change Module" +msgstr "Change module" + +#: pcbnew/globaleditpad.cpp:98 +msgid "Change ID Modules" +msgstr "Change Modules ident." + +#: pcbnew/globaleditpad.cpp:106 +msgid "Pad Filter :" +msgstr "Filtre Pad :" + +#: pcbnew/globaleditpad.cpp:110 +msgid "Shape Filter" +msgstr "Filtre sur forme" + +#: pcbnew/globaleditpad.cpp:115 +msgid "Layer Filter" +msgstr "Filtre sur couche" + +#: pcbnew/globaleditpad.cpp:120 +msgid "Orient Filter" +msgstr "Filtre Orientation" + +#: pcbnew/globaleditpad.cpp:127 +msgid "Change Items :" +msgstr "Eléments à changer:" + +#: pcbnew/globaleditpad.cpp:131 +msgid "Change Size" +msgstr "Change Taille" + +#: pcbnew/globaleditpad.cpp:136 +msgid "Change Shape" +msgstr "Change Forme" + +#: pcbnew/globaleditpad.cpp:141 +msgid "Change Drill" +msgstr "Change Perçage" + +#: pcbnew/globaleditpad.cpp:146 +msgid "Change Orientation" +msgstr "Change Orientation" + #: pcbnew/onleftclick.cpp:201 msgid "Graphic not authorized on Copper layers" msgstr "Graphique non autorisé sur Couches Cuivre" @@ -5543,38 +5564,13 @@ msgstr "Pistes sur Couches Cuivre seulement" msgid "Cotation not authorized on Copper layers" msgstr "Cotation non autorisée sur Couches Cuivre" -#: pcbnew/muwave_command.cpp:52 -msgid "Add Line" -msgstr "Addition de lignes" +#: pcbnew/move_or_drag_track.cpp:883 +msgid "Unable to drag this segment: too many segments connected" +msgstr "Impossible de dragger ce segment: trop de segments connectés" -#: pcbnew/muwave_command.cpp:56 -msgid "Add Gap" -msgstr "Ajouter gap" - -#: pcbnew/muwave_command.cpp:60 -msgid "Add Stub" -msgstr "Ajout de stub" - -#: pcbnew/muwave_command.cpp:64 -msgid "Add Arc Stub" -msgstr "Ajout de stub (arc)" - -#: pcbnew/muwave_command.cpp:68 -msgid "Add Polynomial Shape" -msgstr "Ajout Forme polynomiale" - -#: pcbnew/pcbnew_config.cpp:92 -msgid "Read Project File" -msgstr "Lire Fichier Projet" - -#: pcbnew/pcbnew_config.cpp:102 -#, c-format -msgid "File %s not found" -msgstr "Fichier %s non trouvé" - -#: pcbnew/pcbnew_config.cpp:230 -msgid "Save Project File" -msgstr "Sauver Fichier Projet" +#: pcbnew/move_or_drag_track.cpp:952 +msgid "Unable to drag this segment: two collinear segments" +msgstr "Impossible de dragger ce segment: 2 segments alignés" #: pcbnew/zones_by_polygon_fill_functions.cpp:130 msgid "No Net" @@ -5613,49 +5609,21 @@ msgid "" "The final clearance value is the sum of this value and the clearance value" msgstr "" -#: pcbnew/dialog_graphic_items_options.cpp:192 -msgid "Graphics:" -msgstr "Eléments graphiques;" +#: pcbnew/gen_modules_placefile.cpp:131 +msgid "No modules for automated placement." +msgstr "Pas de module pour placement automatisé" -#: pcbnew/dialog_graphic_items_options.cpp:196 -msgid "Graphic segm Width" -msgstr "Epaisseur segm graphique" +#: pcbnew/gen_modules_placefile.cpp:172 +msgid "Component side place file:" +msgstr "Fichier placement côté composant:" -#: pcbnew/dialog_graphic_items_options.cpp:202 -msgid "Board Edges Width" -msgstr "Epaiss. contour pcb" +#: pcbnew/gen_modules_placefile.cpp:176 +msgid "Copper side place file:" +msgstr "Fichier placement côté cuivre:" -#: pcbnew/dialog_graphic_items_options.cpp:208 -msgid "Copper Text Width" -msgstr "Epaisseur Texte sur cuivre" - -#: pcbnew/dialog_graphic_items_options.cpp:214 -msgid "Text Size V" -msgstr "Hauteur texte" - -#: pcbnew/dialog_graphic_items_options.cpp:220 -msgid "Text Size H" -msgstr "Largeur texte" - -#: pcbnew/dialog_graphic_items_options.cpp:228 -msgid "Modules:" -msgstr "Modules: " - -#: pcbnew/dialog_graphic_items_options.cpp:232 -msgid "Edges Module Width" -msgstr "Epaiss. contour module" - -#: pcbnew/dialog_graphic_items_options.cpp:238 -msgid "Text Module Width" -msgstr "Epaisseur Texte Module" - -#: pcbnew/dialog_graphic_items_options.cpp:244 -msgid "Text Module Size V" -msgstr "Hauteur Texte Module" - -#: pcbnew/dialog_graphic_items_options.cpp:250 -msgid "Text Module Size H" -msgstr "Largeur Texte Module" +#: pcbnew/gen_modules_placefile.cpp:180 +msgid "Module count" +msgstr "Nb Modules" #: pcbnew/dialog_global_edit_tracks_and_vias.cpp:154 msgid "Set current Net tracks and vias sizes and drill to the current values?" @@ -5677,6 +5645,19 @@ msgstr "Ajuster Toutes les Vias à la Valeur en NetClass" msgid "Set All Track to Netclass value" msgstr "Ajuster Toutes les Pistes à la Valeur en NetClass" +#: pcbnew/pcbnew_config.cpp:88 +msgid "Read Project File" +msgstr "Lire Fichier Projet" + +#: pcbnew/pcbnew_config.cpp:98 +#, c-format +msgid "File %s not found" +msgstr "Fichier %s non trouvé" + +#: pcbnew/pcbnew_config.cpp:220 +msgid "Save Project File" +msgstr "Sauver Fichier Projet" + #: pcbnew/dialog_display_options_base.cpp:20 msgid "Tracks and vias:" msgstr "Pistes et vias:" @@ -5691,6 +5672,8 @@ msgstr "Sélectionner comment les pistes sont affichées" #: pcbnew/dialog_display_options_base.cpp:30 #: pcbnew/dialog_display_options_base.cpp:38 +#: pcbnew/dialog_general_options_BoardEditor_base.cpp:137 +#: pcbnew/dialog_general_options_BoardEditor_base.cpp:145 msgid "Never" msgstr "Jamais" @@ -5704,6 +5687,8 @@ msgstr "Nouvelle piste avec via" #: pcbnew/dialog_display_options_base.cpp:30 #: pcbnew/dialog_display_options_base.cpp:38 +#: pcbnew/dialog_general_options_BoardEditor_base.cpp:137 +#: pcbnew/dialog_general_options_BoardEditor_base.cpp:145 msgid "Always" msgstr "Toujours" @@ -5979,14 +5964,9 @@ msgid "Display polar coords" msgstr "Affichage coord Polaires" #: pcbnew/toolbars_update_user_interface.cpp:210 -#: pcbnew/moduleframe.cpp:362 msgid "Grid not show" msgstr "Grille non montrée" -#: pcbnew/toolbars_update_user_interface.cpp:210 -msgid "Show grid" -msgstr "Afficher grille" - #: pcbnew/toolbars_update_user_interface.cpp:219 msgid "Hide general ratsnest" msgstr "Ne pas afficher le chevelu général" @@ -6016,7 +5996,6 @@ msgid "Show pads sketch mode" msgstr "Afficher pastilles en mode contour" #: pcbnew/toolbars_update_user_interface.cpp:243 -#: pcbnew/moduleframe.cpp:375 msgid "Show pads filled mode" msgstr "Afficher pastilles en mode plein" @@ -6052,26 +6031,6 @@ msgstr "Cacher textes invisibles" msgid "Show invisible text" msgstr "Montrer textes invisibles" -#: pcbnew/moduleframe.cpp:254 -msgid "Module Editor: Module modified! Continue?" -msgstr "Editeur de Module: Module modifié! Continuer ?" - -#: pcbnew/moduleframe.cpp:356 -msgid "Polar Coords not show" -msgstr "Coord Polaires non affichées" - -#: pcbnew/moduleframe.cpp:357 -msgid "Display Polar Coords" -msgstr "Affichage coord Polaires" - -#: pcbnew/moduleframe.cpp:362 -msgid "Show Grid" -msgstr "Afficher grille" - -#: pcbnew/moduleframe.cpp:374 -msgid "Show Pads Sketch mode" -msgstr "Afficher pastilles en contour" - #: pcbnew/dialog_general_options_BoardEditor_base.cpp:22 msgid "No Display" msgstr "Pas d'affichage" @@ -6285,6 +6244,26 @@ msgstr "Ajuster toutes vias (pas les pistes) à leurs valeurs en Netclass" msgid "Set all tracks (no via) to their Netclass value" msgstr "Ajuster toutes Pistes (pas les Vias) à leurs Valeurs en NetClass" +#: pcbnew/muwave_command.cpp:49 +msgid "Add Line" +msgstr "Addition de lignes" + +#: pcbnew/muwave_command.cpp:53 +msgid "Add Gap" +msgstr "Ajouter gap" + +#: pcbnew/muwave_command.cpp:57 +msgid "Add Stub" +msgstr "Ajout de stub" + +#: pcbnew/muwave_command.cpp:61 +msgid "Add Arc Stub" +msgstr "Ajout de stub (arc)" + +#: pcbnew/muwave_command.cpp:65 +msgid "Add Polynomial Shape" +msgstr "Ajout Forme polynomiale" + #: pcbnew/class_board.cpp:52 msgid "This is the default net class." msgstr "Ceci est la Netclass par défaut" @@ -6305,6 +6284,18 @@ msgstr "Liens" msgid "Connect" msgstr "Connect" +#: pcbnew/dialog_pad_properties.cpp:482 +msgid "Incorrect value for pad drill: pad drill bigger than pad size" +msgstr "Valeur incorrecte pour diamètre de perçage: perçage plus grand que la taille du pad" + +#: pcbnew/dialog_pad_properties.cpp:488 +msgid "Incorrect value for pad offset" +msgstr "Valeur incorrecte pour offset du pad" + +#: pcbnew/dialog_pad_properties.cpp:586 +msgid "Unknown netname, no change" +msgstr "Net inconnu, pas de changement" + #: eeschema/backanno.cpp:139 msgid "Load Stuff File" msgstr "Charger Fichier d'échange" @@ -6667,10 +6658,6 @@ msgstr "Ne pas affichager les pins invisibles" msgid "Show hidden pins" msgstr "Force affichage des pins invisibles" -#: eeschema/schframe.cpp:539 -msgid "Hide grid" -msgstr "Ne pas afficher la grille" - #: eeschema/schframe.cpp:617 msgid "Schematic" msgstr "Schématique" @@ -7410,6 +7397,7 @@ msgid "&New" msgstr "&Nouveau" #: eeschema/menubar.cpp:43 +#: eeschema/tool_sch.cpp:34 msgid "New schematic project" msgstr "Nouveau Projet schématique" @@ -7554,6 +7542,7 @@ msgid "W&ire to bus entry" msgstr "Entrées de bus (type fil vers bus)" #: eeschema/menubar.cpp:215 +#: eeschema/tool_sch.cpp:179 msgid "Place a wire to bus entry" msgstr "Placer une Entrée de Bus (type fil vers bus)" @@ -7562,6 +7551,7 @@ msgid "B&us to bus entry" msgstr "Entrées de bus (type bus vers bus)" #: eeschema/menubar.cpp:221 +#: eeschema/tool_sch.cpp:183 msgid "Place a bus to bus entry" msgstr "Placer une Entrée de Bus (type bus vers bus)" @@ -7578,6 +7568,7 @@ msgid "Net name" msgstr "Net Name" #: eeschema/menubar.cpp:231 +#: eeschema/tool_sch.cpp:192 msgid "Place net name" msgstr "Place nom de net" @@ -7602,6 +7593,7 @@ msgid "Hierarchical label" msgstr "Label Hiérarchique" #: eeschema/menubar.cpp:250 +#: eeschema/tool_sch.cpp:206 msgid "Place a hierarchical label. This label will be seen as a pin sheet in the sheet symbol" msgstr "Placer un label hiérachique. Ce label sera vu comme une pin dans la feuille mère symbole" @@ -7642,6 +7634,7 @@ msgid "Graphic text (comment)" msgstr "Textes graphiques (commentaires)" #: eeschema/menubar.cpp:286 +#: eeschema/tool_sch.cpp:229 msgid "Place graphic text (comment)" msgstr "Placer textes graphiques (commentaires)" @@ -8884,31 +8877,39 @@ msgid "Text Shape:" msgstr "Aspect Texte:" #: eeschema/dialog_bodygraphictext_properties_base.cpp:82 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:56 msgid "Align left" msgstr "Alignement à gauche" #: eeschema/dialog_bodygraphictext_properties_base.cpp:82 #: eeschema/dialog_bodygraphictext_properties_base.cpp:88 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:56 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:69 msgid "Align center" msgstr "Alignement au centre" #: eeschema/dialog_bodygraphictext_properties_base.cpp:82 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:56 msgid "Align right" msgstr "Alignement à droite" #: eeschema/dialog_bodygraphictext_properties_base.cpp:84 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:58 msgid "Horiz. Justify" msgstr "Justification Horiz." #: eeschema/dialog_bodygraphictext_properties_base.cpp:88 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:69 msgid "Align bottom" msgstr "Alignement en bas" #: eeschema/dialog_bodygraphictext_properties_base.cpp:88 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:69 msgid "Align top" msgstr "Alignement au sommet" #: eeschema/dialog_bodygraphictext_properties_base.cpp:90 +#: eeschema/dialog_edit_libentry_fields_in_lib_base.cpp:71 msgid "Vert. Justify" msgstr "Vert. Justifié" @@ -9037,16 +9038,6 @@ msgstr "oui" msgid "arc only had %d parameters of the required 8" msgstr "l'arc a seulement %d paramètres sur les 8 requis" -#: eeschema/classes_body_items.cpp:529 -#: eeschema/classes_body_items.cpp:790 -#: eeschema/classes_body_items.cpp:1015 -#: eeschema/classes_body_items.cpp:1266 -#: eeschema/classes_body_items.cpp:1677 -#: eeschema/classes_body_items.cpp:2046 -#: eeschema/class_BodyItem_Text.cpp:330 -msgid "Line width" -msgstr "Epaisseur ligne" - #: eeschema/classes_body_items.cpp:534 #: eeschema/classes_body_items.cpp:799 #: eeschema/classes_body_items.cpp:1271 @@ -9267,7 +9258,6 @@ msgid "General :" msgstr "Général :" #: eeschema/dialog_edit_component_in_lib_base.cpp:27 -#: eeschema/dialog_create_component.cpp:172 msgid "As Convert" msgstr "A une forme \"convertie\"" @@ -9286,7 +9276,6 @@ msgid "Show or hide pin numbers" msgstr "Affichage ou non des numéroes de pins" #: eeschema/dialog_edit_component_in_lib_base.cpp:40 -#: eeschema/dialog_create_component.cpp:241 msgid "Show Pin Name" msgstr "Montre Nom de Pin" @@ -9295,7 +9284,6 @@ msgid "Show or hide pin names" msgstr "Affichage ou non des noms des pins" #: eeschema/dialog_edit_component_in_lib_base.cpp:47 -#: eeschema/dialog_create_component.cpp:245 msgid "Pin Name Inside" msgstr "Nom de pin à l'intérieur" @@ -9310,7 +9298,6 @@ msgid "Number of Units:" msgstr "Nombre de Parts:" #: eeschema/dialog_edit_component_in_lib_base.cpp:77 -#: eeschema/dialog_create_component.cpp:249 msgid "Skew:" msgstr "Décalage:" @@ -9956,14 +9943,12 @@ msgid "&Style:" msgstr "&Style:" #: eeschema/dialog_lib_edit_pin_base.cpp:133 -#, fuzzy msgid "Add to all &parts in package" -msgstr "Nombre de &parts par boitier" +msgstr "Ajouter à toutes les &parts du boitier" #: eeschema/dialog_lib_edit_pin_base.cpp:137 -#, fuzzy msgid "Add to all alternate &body styles (DeMorgan)" -msgstr "Créer un composant avec une forme &alternative (DeMorgan)" +msgstr "Ajuoter à toutes les forme &alternatives (DeMorgan)" #: eeschema/dialog_lib_edit_pin_base.cpp:141 msgid "&Visible" @@ -10394,7 +10379,6 @@ msgid "Module %s not found" msgstr "Module %s non trouvé" #: cvpcb/menucfg.cpp:27 -#: cvpcb/tool_cvpcb.cpp:31 msgid "Open a net list file" msgstr "Ouvrir un fichier netliste" @@ -10609,133 +10593,133 @@ msgstr "" "\n" "Créer Archive zippée <%s>" -#: kicad/buildmnu.cpp:97 +#: kicad/buildmnu.cpp:93 msgid "&Open\tCtrl+O" msgstr "&Ouvrir\tCtrl+O" -#: kicad/buildmnu.cpp:98 +#: kicad/buildmnu.cpp:94 msgid "Open an existing project" msgstr "Ouvrir un projet existant" -#: kicad/buildmnu.cpp:103 +#: kicad/buildmnu.cpp:99 msgid "&New\tCtrl+N" msgstr "&Nouveau\tCtrl+N" -#: kicad/buildmnu.cpp:104 -#: kicad/buildmnu.cpp:262 +#: kicad/buildmnu.cpp:100 +#: kicad/buildmnu.cpp:258 msgid "Start a new project" msgstr "Créer un nouveau projet" -#: kicad/buildmnu.cpp:110 +#: kicad/buildmnu.cpp:106 msgid "&Save\tCtrl+S" msgstr "&Sauver\tCtrl S" -#: kicad/buildmnu.cpp:111 -#: kicad/buildmnu.cpp:272 +#: kicad/buildmnu.cpp:107 +#: kicad/buildmnu.cpp:268 msgid "Save current project" msgstr "Sauver le projet courrant" -#: kicad/buildmnu.cpp:120 +#: kicad/buildmnu.cpp:116 msgid "&Archive" msgstr "Archiver" -#: kicad/buildmnu.cpp:121 +#: kicad/buildmnu.cpp:117 msgid "Archive project files in zip archive" msgstr "Archive fichiers projet dans un fichier zip" -#: kicad/buildmnu.cpp:126 +#: kicad/buildmnu.cpp:122 msgid "&Unarchive" msgstr "&Désarchiver" -#: kicad/buildmnu.cpp:127 +#: kicad/buildmnu.cpp:123 msgid "Unarchive project files from zip file" msgstr "Désarchiver les fichiers du projet" -#: kicad/buildmnu.cpp:136 +#: kicad/buildmnu.cpp:132 msgid "Quit kicad" msgstr "Quitter KiCad" -#: kicad/buildmnu.cpp:148 +#: kicad/buildmnu.cpp:144 msgid "Text E&ditor" msgstr "&Editeur de Texte" -#: kicad/buildmnu.cpp:149 +#: kicad/buildmnu.cpp:145 msgid "Open prefered text editor" msgstr "Lancer l'éditeur de texte préféré" -#: kicad/buildmnu.cpp:155 +#: kicad/buildmnu.cpp:151 msgid "&Browse Files" msgstr "&Examen Fichiers" -#: kicad/buildmnu.cpp:156 +#: kicad/buildmnu.cpp:152 msgid "Read or edit files with text editor" msgstr "Lire ou éditer des fichiers avec l'éditeur de texte" -#: kicad/buildmnu.cpp:166 +#: kicad/buildmnu.cpp:162 msgid "&Text Editor" msgstr "&Editeur de Texte" -#: kicad/buildmnu.cpp:167 +#: kicad/buildmnu.cpp:163 msgid "Select your prefered text editor" msgstr "Choisir son éditeur de texte préféré" -#: kicad/buildmnu.cpp:180 +#: kicad/buildmnu.cpp:176 msgid "Default PDF Viewer" msgstr "Visualisateur PDF par défaut" -#: kicad/buildmnu.cpp:181 +#: kicad/buildmnu.cpp:177 msgid "Use the default (system) PDF viewer used to browse datasheets" msgstr "Utiliser le visualisateur PDF par défaut pour afficher les documentations" -#: kicad/buildmnu.cpp:192 +#: kicad/buildmnu.cpp:188 msgid "Favourite PDF Viewer" msgstr "Visualisateur PDF préféré" -#: kicad/buildmnu.cpp:193 +#: kicad/buildmnu.cpp:189 msgid "Use your favourite PDF viewer used to browse datasheets" msgstr "Utiliser le visualisateur PDF préféré pour afficher les documentations" -#: kicad/buildmnu.cpp:204 +#: kicad/buildmnu.cpp:200 msgid "Select Pdf Viewer" msgstr "Sélection Visualisateur PDF" -#: kicad/buildmnu.cpp:205 +#: kicad/buildmnu.cpp:201 msgid "Select your favourite PDF viewer used to browse datasheets" msgstr "Sélectionner le visualisateur PDF favori pour afficher les documents" -#: kicad/buildmnu.cpp:211 +#: kicad/buildmnu.cpp:207 msgid "Pdf Viewer" msgstr "Visualisateur PDF" -#: kicad/buildmnu.cpp:212 +#: kicad/buildmnu.cpp:208 msgid "Pdf viewer preferences" msgstr "Préférences pour le visualisateur PDF" -#: kicad/buildmnu.cpp:225 +#: kicad/buildmnu.cpp:221 msgid "Open the kicad manual" msgstr "Ouvrir la documentation de kicad" -#: kicad/buildmnu.cpp:231 +#: kicad/buildmnu.cpp:227 msgid "About kicad project manager" msgstr "Au sujet de Kicad, gestionnaire de projet" -#: kicad/buildmnu.cpp:237 +#: kicad/buildmnu.cpp:233 msgid "&Browse" msgstr "&Examiner" -#: kicad/buildmnu.cpp:267 +#: kicad/buildmnu.cpp:263 msgid "Load existing project" msgstr "Ouvrir un projet existant" -#: kicad/buildmnu.cpp:280 +#: kicad/buildmnu.cpp:276 msgid "Archive all project files" msgstr "Archiver les fichiers du projet" -#: kicad/buildmnu.cpp:288 +#: kicad/buildmnu.cpp:284 msgid "Refresh project tree" msgstr "Mettre à jour l'affichage du projet" -#: kicad/mainframe.cpp:101 +#: kicad/mainframe.cpp:91 #, c-format msgid "" "Ready\n" @@ -10744,19 +10728,19 @@ msgstr "" "Prêt\n" "Répertoire de travail: %s\n" -#: kicad/mainframe.cpp:335 +#: kicad/mainframe.cpp:287 msgid "Execute Python Script" msgstr "Executer un Script Python" -#: kicad/mainframe.cpp:336 +#: kicad/mainframe.cpp:288 msgid "Python script (*.py)|*.py" msgstr "Script Python (*.py)|*.py" -#: kicad/mainframe.cpp:354 +#: kicad/mainframe.cpp:309 msgid "Text file (" msgstr "Fichier Texte (" -#: kicad/mainframe.cpp:356 +#: kicad/mainframe.cpp:311 msgid "Load File to Edit" msgstr "Fichier à Editer" @@ -10788,23 +10772,23 @@ msgstr "" "\n" "Projet: " -#: kicad/commandframe.cpp:48 +#: kicad/commandframe.cpp:50 msgid "EESchema (Schematic editor)" msgstr "EESchema (Editeur de Schématique)" -#: kicad/commandframe.cpp:52 +#: kicad/commandframe.cpp:54 msgid "CVpcb (Components to modules)" msgstr "CVpcb ( Association Composants/ Modules)" -#: kicad/commandframe.cpp:56 +#: kicad/commandframe.cpp:58 msgid "PCBnew (PCB editor)" msgstr "PCBnew (Editeur de circuits imprimés)" -#: kicad/commandframe.cpp:60 +#: kicad/commandframe.cpp:62 msgid "GerbView (Gerber viewer)" msgstr "GerbView (Visualisateur Gerber)" -#: kicad/commandframe.cpp:67 +#: kicad/commandframe.cpp:69 msgid "Run Python Script" msgstr "Exécuter le Script Python" @@ -10865,105 +10849,105 @@ msgstr "Fichier exécutable (" msgid "Select Prefered Editor" msgstr "Sélection Editeur Préféré" -#: kicad/treeprj_frame.cpp:125 +#: kicad/treeprj_frame.cpp:123 msgid "&Run" msgstr "Exécute&r" -#: kicad/treeprj_frame.cpp:126 +#: kicad/treeprj_frame.cpp:124 msgid "Run the Python Script" msgstr "Exécuter le Script Python" -#: kicad/treeprj_frame.cpp:135 -#: kicad/treeprj_frame.cpp:210 +#: kicad/treeprj_frame.cpp:133 +#: kicad/treeprj_frame.cpp:208 msgid "&Edit in a text editor" msgstr "Editer avec un éditeur de Texte" -#: kicad/treeprj_frame.cpp:136 +#: kicad/treeprj_frame.cpp:134 msgid "&Open the file in a Text Editor" msgstr "&Ouvrir le fichier avec un Editeur de texte" -#: kicad/treeprj_frame.cpp:153 +#: kicad/treeprj_frame.cpp:151 msgid "New D&irectory" msgstr "&Nouveau Répertoire" -#: kicad/treeprj_frame.cpp:154 +#: kicad/treeprj_frame.cpp:152 msgid "Create a New Directory" msgstr "Créer un nouveau Répertoire" -#: kicad/treeprj_frame.cpp:163 +#: kicad/treeprj_frame.cpp:161 msgid "New P&ython Script" msgstr "Nouveau Script P&ython" -#: kicad/treeprj_frame.cpp:164 +#: kicad/treeprj_frame.cpp:162 msgid "Create a New Python Script" msgstr "Créer un nouveau script Python" -#: kicad/treeprj_frame.cpp:173 +#: kicad/treeprj_frame.cpp:171 msgid "New &Text File" msgstr "Nouveau Fichier &Texte" -#: kicad/treeprj_frame.cpp:174 +#: kicad/treeprj_frame.cpp:172 msgid "Create a New Txt File" msgstr "Créer un nouveau Fichier texte" -#: kicad/treeprj_frame.cpp:182 +#: kicad/treeprj_frame.cpp:180 msgid "New &File" msgstr "Nouveau &Fichier" -#: kicad/treeprj_frame.cpp:183 +#: kicad/treeprj_frame.cpp:181 msgid "Create a New File" msgstr "Créer un nouveau Fichier" -#: kicad/treeprj_frame.cpp:197 +#: kicad/treeprj_frame.cpp:195 msgid "&Rename file" msgstr "&Renommer fichier" +#: kicad/treeprj_frame.cpp:196 #: kicad/treeprj_frame.cpp:198 -#: kicad/treeprj_frame.cpp:200 msgid "&Rename directory" msgstr "&Renommer répertoire" -#: kicad/treeprj_frame.cpp:199 +#: kicad/treeprj_frame.cpp:197 msgid "Rename file" msgstr "Renommer fichier" -#: kicad/treeprj_frame.cpp:211 +#: kicad/treeprj_frame.cpp:209 msgid "Open the file in a Text Editor" msgstr "Ouvrir le fichier avec un Editeur de texte" -#: kicad/treeprj_frame.cpp:219 +#: kicad/treeprj_frame.cpp:217 msgid "&Delete File" msgstr "&Supprimer Fichier" -#: kicad/treeprj_frame.cpp:220 +#: kicad/treeprj_frame.cpp:218 msgid "&Delete Directory" msgstr "&Supprimer le Répertoire" -#: kicad/treeprj_frame.cpp:221 +#: kicad/treeprj_frame.cpp:219 msgid "Delete the File" msgstr "Supprimer le fichier" -#: kicad/treeprj_frame.cpp:222 +#: kicad/treeprj_frame.cpp:220 msgid "&Delete the Directory and its content" msgstr "Effacer le Répertoire et son contenu" -#: kicad/treeprj_frame.cpp:548 +#: kicad/treeprj_frame.cpp:546 msgid "Create New File" msgstr "Créer un Nouveau Fichier" -#: kicad/treeprj_frame.cpp:549 +#: kicad/treeprj_frame.cpp:547 msgid "Create New Directory" msgstr "Créer un nouveau Répertoire" -#: kicad/treeprj_frame.cpp:558 +#: kicad/treeprj_frame.cpp:556 msgid "noname." msgstr "noname." -#: kicad/treeprj_frame.cpp:1087 +#: kicad/treeprj_frame.cpp:1085 msgid "Change filename: " msgstr "Changer Nom Fichier: " -#: kicad/treeprj_frame.cpp:1089 +#: kicad/treeprj_frame.cpp:1087 msgid "Change filename" msgstr "Changer Nom Fichier" @@ -11169,6 +11153,7 @@ msgid "List D codes" msgstr "Liste D-Codes" #: gerbview/select_layers_to_pcb.cpp:213 +#: gerbview/tool_gerber.cpp:240 msgid "Layer " msgstr "Couche " @@ -12573,6 +12558,18 @@ msgstr "DCodes id." msgid "Page Settings" msgstr "Ajustage opt Page" +#~ msgid "Lines Width" +#~ msgstr "Epaiss. Lignes" +#~ msgid "Adjust size,shape,layers... for Pads" +#~ msgstr "Ajuster taille, forme, couches... pour pads" +#~ msgid "Polar Coords not show" +#~ msgstr "Coord Polaires non affichées" +#~ msgid "Display Polar Coords" +#~ msgstr "Affichage coord Polaires" +#~ msgid "Show Grid" +#~ msgstr "Afficher grille" +#~ msgid "Show Pads Sketch mode" +#~ msgstr "Afficher pastilles en contour" #~ msgid "Via size" #~ msgstr "Diamètre via" #~ msgid "Pad Position" diff --git a/kicad/CMakeLists.txt b/kicad/CMakeLists.txt index a35e2c45d1..65238d00af 100644 --- a/kicad/CMakeLists.txt +++ b/kicad/CMakeLists.txt @@ -9,6 +9,7 @@ set(KICAD_SRCS commandframe.cpp files-io.cpp kicad.cpp + kicad-python.cpp mainframe.cpp preferences.cpp prjconfig.cpp diff --git a/kicad/buildmnu.cpp b/kicad/buildmnu.cpp index 15fb6a0a9f..0388376254 100644 --- a/kicad/buildmnu.cpp +++ b/kicad/buildmnu.cpp @@ -19,12 +19,8 @@ BEGIN_EVENT_TABLE( WinEDA_MainFrame, WinEDA_BasicFrame ) /* Window events */ EVT_SIZE( WinEDA_MainFrame::OnSize ) EVT_CLOSE( WinEDA_MainFrame::OnCloseWindow ) -#if !defined(KICAD_AUIMANAGER) /* Sash drag events */ EVT_SASH_DRAGGED( ID_LEFT_FRAME, WinEDA_MainFrame::OnSashDrag ) - EVT_SASH_DRAGGED( ID_BOTTOM_FRAME, WinEDA_MainFrame::OnSashDrag ) - EVT_SASH_DRAGGED( ID_MAIN_COMMAND, WinEDA_MainFrame::OnSashDrag ) -#endif /* Toolbar events */ EVT_TOOL( ID_NEW_PROJECT, WinEDA_MainFrame::OnLoadProject ) EVT_TOOL( ID_LOAD_PROJECT, WinEDA_MainFrame::OnLoadProject ) diff --git a/kicad/commandframe.cpp b/kicad/commandframe.cpp index 4f144ffc1e..7a7582345d 100644 --- a/kicad/commandframe.cpp +++ b/kicad/commandframe.cpp @@ -9,29 +9,55 @@ #include "kicad.h" - -/************************************************************************************/ -WinEDA_CommandFrame::WinEDA_CommandFrame( wxWindow* parent, int id, - wxPoint pos, wxSize size, long style ) : - wxSashLayoutWindow( parent, id, pos, size, style ) -/************************************************************************************/ - -/** WinEDA_CommandFrame constructor - * create the window which the buttons to call eeschema and others... - */ +RIGHT_KM_FRAME::RIGHT_KM_FRAME( WinEDA_MainFrame* parent ) : + wxSashLayoutWindow( parent, wxID_ANY ) { - SetDefaultSize( wxSize( size.x, 100 ) ); - SetOrientation( wxLAYOUT_HORIZONTAL ); - SetAlignment( wxLAYOUT_TOP ); - SetSashVisible( wxSASH_BOTTOM, TRUE ); - SetSashVisible( wxSASH_LEFT, TRUE ); - SetExtraBorderSize( 2 ); + m_Parent = parent; + m_DialogWin = NULL; + m_ButtPanel = new wxPanel( this, wxID_ANY ); + m_ButtonSeparation = 10; // control of command buttons position + m_ButtonLastPosition.x = 20; // control of command buttons position + m_ButtonLastPosition.y = 20; // control of command buttons position + m_ButtonsPanelHeight = (m_ButtonLastPosition.y * 2) + 32; CreateCommandToolbar(); + m_DialogWin = new wxTextCtrl( this, wxID_ANY, wxEmptyString, + wxDefaultPosition, wxDefaultSize, + wxTE_MULTILINE | wxSUNKEN_BORDER | wxTE_READONLY ); + +}; + +void RIGHT_KM_FRAME::OnSize( wxSizeEvent& event ) +{ + #define EXTRA_MARGE 4 + wxSize wsize = GetClientSize(); + wsize.x -= EXTRA_MARGE; + wsize.y -= m_ButtonsPanelHeight + EXTRA_MARGE; + wxPoint wpos; + wpos.x = EXTRA_MARGE/2; + wpos.y = m_ButtonsPanelHeight + (EXTRA_MARGE/2); + if( m_DialogWin ) + { + m_DialogWin->SetSize( wsize ); + m_DialogWin->SetPosition(wpos ); + } + + wpos.y = EXTRA_MARGE/2; + m_ButtPanel->SetPosition(wpos ); + wsize.y -= m_ButtonsPanelHeight - EXTRA_MARGE; + m_ButtPanel->SetSize( wsize ); + m_ButtPanel->Refresh(); + + event.Skip(); } +BEGIN_EVENT_TABLE( RIGHT_KM_FRAME, wxSashLayoutWindow ) +EVT_SIZE( RIGHT_KM_FRAME::OnSize ) +END_EVENT_TABLE() + + /*************************************************/ -void WinEDA_CommandFrame::CreateCommandToolbar( void ) +void RIGHT_KM_FRAME::CreateCommandToolbar( void ) /*************************************************/ /** Function CreateCommandToolbar @@ -40,30 +66,28 @@ void WinEDA_CommandFrame::CreateCommandToolbar( void ) { wxBitmapButton* btn; - m_ButtonSeparation = 10; - m_ButtonLastPosition.x = 20; - m_ButtonLastPosition.y = 20; + wxWindow* parent = m_ButtPanel; - btn = new wxBitmapButton( this, ID_TO_EESCHEMA, wxBitmap( icon_eeschema_xpm ) ); + btn = new wxBitmapButton( parent, ID_TO_EESCHEMA, wxBitmap( icon_eeschema_xpm ) ); btn->SetToolTip( _( "EESchema (Schematic editor)" ) ); AddFastLaunch( btn ); - btn = new wxBitmapButton( this, ID_TO_CVPCB, wxBitmap( icon_cvpcb_xpm ) ); + btn = new wxBitmapButton( parent, ID_TO_CVPCB, wxBitmap( icon_cvpcb_xpm ) ); btn->SetToolTip( _( "CVpcb (Components to modules)" ) ); AddFastLaunch( btn ); - btn = new wxBitmapButton( this, ID_TO_PCB, wxBitmap( a_icon_pcbnew_xpm ) ); + btn = new wxBitmapButton( parent, ID_TO_PCB, wxBitmap( a_icon_pcbnew_xpm ) ); btn->SetToolTip( _( "PCBnew (PCB editor)" ) ); AddFastLaunch( btn ); - btn = new wxBitmapButton( this, ID_TO_GERBVIEW, wxBitmap( icon_gerbview_xpm ) ); + btn = new wxBitmapButton( parent, ID_TO_GERBVIEW, wxBitmap( icon_gerbview_xpm ) ); btn->SetToolTip( _( "GerbView (Gerber viewer)" ) ); AddFastLaunch( btn ); // Set up toolbar #ifdef KICAD_PYTHON - btn = new wxBitmapButton( this, ID_RUN_PYTHON, wxBitmap( icon_python_xpm ) ); + btn = new wxBitmapButton( parent, ID_RUN_PYTHON, wxBitmap( icon_python_xpm ) ); btn->SetToolTip( _( "Run Python Script" ) ); AddFastLaunch( btn ); #endif @@ -71,11 +95,12 @@ void WinEDA_CommandFrame::CreateCommandToolbar( void ) /****************************************************************/ -void WinEDA_CommandFrame::AddFastLaunch( wxBitmapButton * button ) +void RIGHT_KM_FRAME::AddFastLaunch( wxBitmapButton* button ) /****************************************************************/ + /** Function AddFastLaunch - * add a Bitmap Button (fast launch button) to the window - * @param button = wxBitmapButton to add to the window + * add a Bitmap Button (fast launch button) to the window + * @param button = wxBitmapButton to add to the window */ { button->Move( m_ButtonLastPosition ); diff --git a/kicad/kicad.cpp b/kicad/kicad.cpp index 4c18a54b6b..a9d36bf815 100644 --- a/kicad/kicad.cpp +++ b/kicad/kicad.cpp @@ -28,6 +28,7 @@ #ifdef KICAD_PYTHON #include + using namespace boost::python; #endif @@ -45,324 +46,6 @@ void ShowLogo( char* FonteFileName ); IMPLEMENT_APP( WinEDA_App ) -#ifdef KICAD_PYTHON -using namespace boost::python; - - -/*****************************************************************************/ - -// Global functions: -/*****************************************************************************/ -static WinEDA_MainFrame& GetMainFrame() -{ - return *( wxGetApp().m_MainFrame ); -} - - -static void WinEDAPrint( str msg ) -{ - GetMainFrame().PrintMsg( PyHandler::MakeStr( msg ) + wxT( "\n" ) ); -} - - -static void WinEDAClear() -{ - GetMainFrame().ClearMsg(); -} - - -static object GetTypeExt( enum TreeFileType type ) -{ - return PyHandler::Convert( WinEDA_PrjFrame::GetFileExt( type ) ); -} - - -/*****************************************************************************/ - -// WinEDA_MainFrame Special binding functions: -// (one line functions are simple wrappers) -/*****************************************************************************/ -object WinEDA_MainFrame::GetPrjName() const -{ - return PyHandler::Convert( m_PrjFileName ); -} - - -object WinEDA_MainFrame::ToWx() -{ - return object( handle<>( borrowed( wxPyMake_wxObject( this, false ) ) ) ); -} - - -WinEDA_PrjFrame* WinEDA_MainFrame::GetTree() const -{ - return m_LeftWin; -} - - -/** - * @brief TODO - */ -/*****************************************************************************/ -void WinEDA_MainFrame::AddFastLaunchPy( object& button ) -/*****************************************************************************/ -{ - wxBitmapButton* btn; - - bool success = wxPyConvertSwigPtr( button.ptr(), - (void**) &btn, _T( "wxBitmapButton" ) ); - - if( !success ) - return; - - Py_INCREF( button.ptr() ); - btn->Reparent( m_CommandWin ); - m_CommandWin->AddFastLaunch( btn ); -} - - -/*****************************************************************************/ - -// WinEDA_PrjFrame Special binding functions: -// (one line functions are simple wrappers) -/*****************************************************************************/ - -// TODO To WxWidgets ? -object WinEDA_PrjFrame::ToWx() -{ - return object( handle<>( borrowed( wxPyMake_wxObject( this, false ) ) ) ); -} - -// TODO Get ? -object WinEDA_PrjFrame::GetFtExPy( enum TreeFileType type ) const -{ - return PyHandler::Convert( GetFileExt( type ) ); -} - -// Get python menu -object WinEDA_PrjFrame::GetMenuPy( enum TreeFileType type ) -{ - return object( handle<>( borrowed( wxPyMake_wxObject( GetContextMenu( (int) type ), false ) ) ) ); -} - -// Get tree control -object WinEDA_PrjFrame::GetTreeCtrl() -{ - return object( handle<>( borrowed( wxPyMake_wxObject( m_TreeProject, false ) ) ) ); -} - -// Get current menu -object WinEDA_PrjFrame::GetCurrentMenu() -{ - return object( handle<>( borrowed( wxPyMake_wxObject( m_PopupMenu, false ) ) ) ); -} - - -/** - * @brief TODO - */ -/*****************************************************************************/ -void WinEDA_PrjFrame::NewFilePy( const str& name, - enum TreeFileType type, - object& id ) -/*****************************************************************************/ -{ - wxTreeItemId root; - - if( !wxPyConvertSwigPtr( id.ptr(), (void**) &root, _T( "wxTreeItemId" ) ) ) - return; - NewFile( PyHandler::MakeStr( name ), type, root ); -} - - -/** - * @brief Add a file to the tree under root, or m_root if conversion is wrong - */ -/*****************************************************************************/ -void WinEDA_PrjFrame::AddFilePy( const str& file, object& root ) -/*****************************************************************************/ -{ - wxTreeItemId* theroot = &m_root; - - if( !wxPyConvertSwigPtr( root.ptr(), (void**) &root, _T( "wxTreeItemId" ) ) ) - { - theroot = &m_root; - } - - AddFile( PyHandler::MakeStr( file ), *theroot ); -} - - -/** - * @brief convert wxTreeItem into TreePrjItemData - */ -/*****************************************************************************/ -TreePrjItemData* WinEDA_PrjFrame::GetItemData( const object& item ) -/*****************************************************************************/ -{ - wxTreeItemId* id = NULL; - - if( !wxPyConvertSwigPtr( item.ptr(), (void**) &id, _T( "wxTreeItemId" ) ) ) - { - return NULL; - } - - return dynamic_cast( m_TreeProject->GetItemData( *id ) ); -} - - -/*****************************************************************************/ - -// TreePrjItemData Special binding functions -// (one line functions are simple wrappers) -/*****************************************************************************/ - -// Python rename -bool TreePrjItemData::RenamePy( const str& newname, bool check ) -{ - return Rename( PyHandler::MakeStr( newname ), check ); -} - -// Get python directory -object TreePrjItemData::GetDirPy() const -{ - return PyHandler::Convert( GetDir() ); -} - -// Get python filename -object TreePrjItemData::GetFileNamePy() const -{ - return PyHandler::Convert( GetFileName() ); -} - -// Get python menu -object TreePrjItemData::GetMenuPy() -{ - return object( handle<>( borrowed( wxPyMake_wxObject( &m_fileMenu, false ) ) ) ); -} - - -/** - * @brief KiCad python module init, \n - * This function is called from PyHandler to init the kicad module - */ -/*****************************************************************************/ -static void py_kicad_init() -/*****************************************************************************/ -{ - def( "GetMainFrame", &GetMainFrame, - return_value_policy< reference_existing_object >() ); - def( "GetTypeExtension", &GetTypeExt ); - - class_( "PrjItem" ) - - // Internal data: - .def( "GetFileName", &TreePrjItemData::GetFileNamePy ) - .def( "GetDir", &TreePrjItemData::GetDirPy ) - .def( "GetType", &TreePrjItemData::GetType ) - .def( "GetId", &TreePrjItemData::GetIdPy ) - .def( "GetMenu", &TreePrjItemData::GetMenuPy ) - - // Item control - .def( "SetState", &TreePrjItemData::SetState ) - .def( "Rename", &TreePrjItemData::RenamePy ) - .def( "Move", &TreePrjItemData::Move ) - .def( "Delete", &TreePrjItemData::Delete ) - .def( "Activate", &TreePrjItemData::Activate ) - ; - - enum_( "FileType" ) - .value( "PROJECT", TREE_PROJECT ) - .value( "SCHEMA", TREE_SCHEMA ) - .value( "BOARD", TREE_PCB ) - .value( "PYSCRIPT", TREE_PY ) - .value( "GERBER", TREE_GERBER ) - .value( "PDF", TREE_PDF ) - .value( "TXT", TREE_TXT ) - .value( "NETLIST", TREE_NET ) - .value( "UNKNOWN", TREE_UNKNOWN ) - .value( "DIRECTORY", TREE_DIRECTORY ) - .value( "MAX", TREE_MAX ); - - - class_( "TreeWindow" ) - - // wx Interface - .def( "ToWx", &WinEDA_PrjFrame::ToWx ) - - // common features - .def( "GetContextMenu", &WinEDA_PrjFrame::GetMenuPy ) - .def( "GetFileExtension", &WinEDA_PrjFrame::GetFtExPy ) - - // file filters control - .def( "AddFilter", &WinEDA_PrjFrame::AddFilter ) - .def( "ClearFilters", &WinEDA_PrjFrame::ClearFilters ) - .def( "RemoveFilter", &WinEDA_PrjFrame::RemoveFilterPy ) - .def( "GetFilters", &WinEDA_PrjFrame::GetFilters, - return_value_policy < copy_const_reference >() ) - .def( "GetCurrentMenu", &WinEDA_PrjFrame::GetCurrentMenu ) - - - /** Project tree control **/ - - // AddState - .def( "AddState", - &WinEDA_PrjFrame::AddStatePy ) - - // GetTreeCtrl - .def( "GetTreeCtrl", - &WinEDA_PrjFrame::GetTreeCtrl ) - - // GetItemData - .def( "GetItemData", - &WinEDA_PrjFrame::GetItemData, - return_value_policy < reference_existing_object >() ) - - // FindItemData - .def( "FindItemData", - &WinEDA_PrjFrame::FindItemData, - return_value_policy < reference_existing_object >() ) - - // NewFile - .def( "NewFile", - &WinEDA_PrjFrame::NewFilePy ) - - // AddFile - .def( "AddFile", - &WinEDA_PrjFrame::AddFilePy ) - - ; /* ENDOF class_( "TreeWindow" ) */ - - - class_( "MainFrame" ) - - // Wx interface - .def( "ToWx", &WinEDA_MainFrame::ToWx ) - - // Common controls - .def( "AddFastLaunch", &WinEDA_MainFrame::AddFastLaunchPy ) - .def( "Refresh", &WinEDA_MainFrame::OnRefreshPy ) - .def( "GetProjectName", &WinEDA_MainFrame::GetPrjName ) - .def( "GetProjectWindow", &WinEDA_MainFrame::GetTree, - return_value_policy< reference_existing_object >() ); -} - - -/** - * @brief Common python module init - */ -/*****************************************************************************/ -static void py_common_init() -/*****************************************************************************/ -{ - def( "Print", &WinEDAPrint ); - def( "Clear", &WinEDAClear ); -} - - -#endif - - /*****************************************************************************/ bool WinEDA_App::OnInit() /*****************************************************************************/ diff --git a/kicad/kicad.h b/kicad/kicad.h index 663c38e35c..f03a95b3de 100644 --- a/kicad/kicad.h +++ b/kicad/kicad.h @@ -19,8 +19,7 @@ #include "wxstruct.h" #include "appl_wxstruct.h" - -class WinEDA_CommandFrame; +class RIGHT_KM_FRAME; class WinEDA_TreePrj; class WinEDA_PrjFrame; @@ -33,10 +32,8 @@ class WinEDA_PrjFrame; * new commands to Kicad. */ -enum id_kicad_frm -{ +enum id_kicad_frm { ID_LEFT_FRAME = ID_END_LIST, - ID_BOTTOM_FRAME, ID_PROJECT_TREE, ID_PROJECT_TXTEDIT, ID_PROJECT_TREE_REFRESH, @@ -49,7 +46,6 @@ enum id_kicad_frm ID_PROJECT_RENAME, ID_PROJECT_OPEN_FILE_WITH_TEXT_EDITOR, - ID_MAIN_COMMAND, ID_TO_EDITOR, ID_TO_EESCHEMA, ID_TO_GERBVIEW, @@ -71,18 +67,15 @@ class WinEDA_MainFrame : public WinEDA_BasicFrame { /* This class is the main entry point of the py API */ public: + WinEDA_PrjFrame* m_LeftWin; + RIGHT_KM_FRAME* m_RightWin; + WinEDA_Toolbar* m_VToolBar; // Vertical toolbar (not used) + wxString m_BoardFileName; + wxString m_SchematicRootFileName; + wxFileName m_ProjectFileName; - WinEDA_CommandFrame* m_CommandWin; - WinEDA_PrjFrame* m_LeftWin; - wxSashLayoutWindow* m_BottomWin; - wxTextCtrl* m_DialogWin; - WinEDA_Toolbar* m_VToolBar; // Vertical toolbar (not used) - wxString m_BoardFileName; - wxString m_SchematicRootFileName; - wxFileName m_ProjectFileName; - - int m_LeftWin_Width; - int m_CommandWin_Height; +private: + int m_LeftWin_Width; public: @@ -91,59 +84,63 @@ public: ~WinEDA_MainFrame(); - void OnCloseWindow( wxCloseEvent& Event ); - void OnSize( wxSizeEvent& event ); - void OnSashDrag( wxSashEvent& event ); - void OnLoadProject( wxCommandEvent& event ); - void OnSaveProject( wxCommandEvent& event ); - void OnArchiveFiles( wxCommandEvent& event ); - void OnUnarchiveFiles( wxCommandEvent& event ); - void OnRunPcbNew( wxCommandEvent& event ); - void OnRunCvpcb( wxCommandEvent& event ); - void OnRunEeschema( wxCommandEvent& event ); - void OnRunGerbview( wxCommandEvent& event ); + /** Function CreateCommandToolbar + * Create the main buttons (fast launch buttons) + */ + void OnCloseWindow( wxCloseEvent& Event ); + void OnSize( wxSizeEvent& event ); + void OnSashDrag( wxSashEvent& event ); + void OnLoadProject( wxCommandEvent& event ); + void OnSaveProject( wxCommandEvent& event ); + void OnArchiveFiles( wxCommandEvent& event ); + void OnUnarchiveFiles( wxCommandEvent& event ); + void OnRunPcbNew( wxCommandEvent& event ); + void OnRunCvpcb( wxCommandEvent& event ); + void OnRunEeschema( wxCommandEvent& event ); + void OnRunGerbview( wxCommandEvent& event ); #ifdef KICAD_PYTHON - void OnRunPythonScript( wxCommandEvent& event ); + void OnRunPythonScript( wxCommandEvent& event ); + #endif - void OnOpenTextEditor( wxCommandEvent& event ); - void OnOpenFileInTextEditor( wxCommandEvent& event ); - void OnOpenFileInEditor( wxCommandEvent& event ); + void OnOpenTextEditor( wxCommandEvent& event ); + void OnOpenFileInTextEditor( wxCommandEvent& event ); + void OnOpenFileInEditor( wxCommandEvent& event ); - void OnFileHistory( wxCommandEvent& event ); - void OnExit( wxCommandEvent& event ); - void Process_Preferences( wxCommandEvent& event ); - void ReCreateMenuBar(); - void RecreateBaseHToolbar(); - void PrintMsg( const wxString& text ); - void ClearMsg(); - void SetLanguage( wxCommandEvent& event ); - void OnRefresh( wxCommandEvent& event ); - void OnSelectDefaultPdfBrowser( wxCommandEvent& event ); - void OnSelectPreferredPdfBrowser( wxCommandEvent& event ); - void OnSelectPreferredEditor( wxCommandEvent& event ); + void OnFileHistory( wxCommandEvent& event ); + void OnExit( wxCommandEvent& event ); + void Process_Preferences( wxCommandEvent& event ); + void ReCreateMenuBar(); + void RecreateBaseHToolbar(); + void PrintMsg( const wxString& text ); + void ClearMsg(); + void SetLanguage( wxCommandEvent& event ); + void OnRefresh( wxCommandEvent& event ); + void OnSelectDefaultPdfBrowser( wxCommandEvent& event ); + void OnSelectPreferredPdfBrowser( wxCommandEvent& event ); + void OnSelectPreferredEditor( wxCommandEvent& event ); - void OnUpdateDefaultPdfBrowser( wxUpdateUIEvent& event ); - void OnUpdatePreferredPdfBrowser( wxUpdateUIEvent& event ); + void OnUpdateDefaultPdfBrowser( wxUpdateUIEvent& event ); + void OnUpdatePreferredPdfBrowser( wxUpdateUIEvent& event ); - void CreateNewProject( const wxString PrjFullFileName ); + void CreateNewProject( const wxString PrjFullFileName ); - void LoadSettings(); - void SaveSettings(); + void LoadSettings(); + void SaveSettings(); #ifdef KICAD_PYTHON - void OnRefreshPy(); + void OnRefreshPy(); - boost::python::object GetPrjName() const; + boost::python::object GetPrjName() const; WinEDA_MainFrame( const WinEDA_MainFrame& ) { } WinEDA_MainFrame() { } - boost::python::object ToWx(); - void AddFastLaunchPy( boost::python::object& button ); - WinEDA_PrjFrame* GetTree() const; + boost::python::object ToWx(); + void AddFastLaunchPy( boost::python::object& button ); + WinEDA_PrjFrame* GetTree() const; #endif @@ -166,39 +163,29 @@ enum TreeFileType { TREE_MAX, }; - -/**************************************************************/ -/* class WinEDA_CommandFrame: window handling command buttons */ -/**************************************************************/ - -/** class WinEDA_CommandFrame - * This is the window handling the main tools to launch eeschema, cvpcb, - * pcbnew and gerbview +/** class RIGHT_KM_FRAME */ -class WinEDA_CommandFrame : public wxSashLayoutWindow +class RIGHT_KM_FRAME : public wxSashLayoutWindow { public: - WinEDA_CommandFrame( wxWindow* parent, int id, wxPoint pos, wxSize size, - long style ); - ~WinEDA_CommandFrame() - { } + wxTextCtrl* m_DialogWin; +private: + WinEDA_MainFrame* m_Parent; + int m_ButtonsPanelHeight; + wxPanel* m_ButtPanel; + wxPoint m_ButtonLastPosition; /* position of the last button in the window */ + int m_ButtonSeparation; /* button distance in pixels */ - /** Function AddFastLaunch - * add a Bitmap Button (fast launch button) to the window - */ public: - void AddFastLaunch( wxBitmapButton * button ); + RIGHT_KM_FRAME( WinEDA_MainFrame* parent ); + ~RIGHT_KM_FRAME() { }; + void OnSize( wxSizeEvent& event ); private: + void CreateCommandToolbar( void ); + void AddFastLaunch( wxBitmapButton* button ); - /** Function CreateCommandToolbar - * Create the main buttons (fast launch buttons) - */ - void CreateCommandToolbar( void ); - -private: - wxPoint m_ButtonLastPosition; /** position of the last button in the window */ - int m_ButtonSeparation; /** button distance in pixels */ + DECLARE_EVENT_TABLE() }; @@ -228,9 +215,9 @@ public: TreePrjItemData() : m_Parent( NULL ) { } TreePrjItemData( const TreePrjItemData& src ) : - m_Type( src.m_Type ) - , m_FileName( src.m_FileName ) - , m_Parent( src.m_Parent ) + m_Type( src.m_Type ), + m_FileName( src.m_FileName ), + m_Parent( src.m_Parent ) { SetState( src.m_State ); } @@ -254,13 +241,13 @@ public: } - wxString GetDir() const; + wxString GetDir() const; - void OnRename( wxTreeEvent& event, bool check = true ); - bool Rename( const wxString& name, bool check = true ); - bool Delete( bool check = true ); - void Move( TreePrjItemData* dest ); - void Activate(WinEDA_PrjFrame* prjframe); + void OnRename( wxTreeEvent& event, bool check = true ); + bool Rename( const wxString& name, bool check = true ); + bool Delete( bool check = true ); + void Move( TreePrjItemData* dest ); + void Activate( WinEDA_PrjFrame* prjframe ); const wxMenu* GetMenu() { @@ -268,18 +255,18 @@ public: } - void SetState( int state ); + void SetState( int state ); #ifdef KICAD_PYTHON - boost::python::object GetFileNamePy() const; - bool RenamePy( const boost::python::str& newname, - bool check = true ); + boost::python::object GetFileNamePy() const; + bool RenamePy( const boost::python::str& newname, + bool check = true ); - boost::python::object GetDirPy() const; + boost::python::object GetDirPy() const; - boost::python::object GetIdPy() const; + boost::python::object GetIdPy() const; - boost::python::object GetMenuPy(); + boost::python::object GetMenuPy(); #endif }; @@ -291,19 +278,19 @@ class WinEDA_PrjFrame : public wxSashLayoutWindow { private: - std::vector m_ContextMenus; - std::vector m_Filters; + std::vector m_ContextMenus; + std::vector m_Filters; wxMenu* m_PopupMenu; wxCursor m_DragCursor; wxCursor m_Default; protected: - wxMenu* GetContextMenu( int type ); - void NewFile( TreeFileType type ); - void NewFile( const wxString& name, TreeFileType type, - wxTreeItemId& root ); - TreePrjItemData* GetSelectedData(); + wxMenu* GetContextMenu( int type ); + void NewFile( TreeFileType type ); + void NewFile( const wxString& name, TreeFileType type, + wxTreeItemId& root ); + TreePrjItemData* GetSelectedData(); public: WinEDA_MainFrame* m_Parent; @@ -312,41 +299,40 @@ public: wxTreeItemId m_root; public: - static wxString GetFileExt( TreeFileType type ); - static wxString GetFileWildcard( TreeFileType type ); + static wxString GetFileExt( TreeFileType type ); + static wxString GetFileWildcard( TreeFileType type ); - WinEDA_PrjFrame( WinEDA_MainFrame* parent, - const wxPoint& pos, const wxSize& size ); + WinEDA_PrjFrame( WinEDA_MainFrame* parent ); ~WinEDA_PrjFrame(); - void OnSelect( wxTreeEvent& Event ); - void OnRenameAsk( wxTreeEvent& Event ); - void OnRename( wxTreeEvent& Event ); - void OnDragStart( wxTreeEvent& event ); - void OnDragEnd( wxTreeEvent& event ); - void OnRight( wxTreeEvent& Event ); - void ReCreateTreePrj(); + void OnSelect( wxTreeEvent& Event ); + void OnRenameAsk( wxTreeEvent& Event ); + void OnRename( wxTreeEvent& Event ); + void OnDragStart( wxTreeEvent& event ); + void OnDragEnd( wxTreeEvent& event ); + void OnRight( wxTreeEvent& Event ); + void ReCreateTreePrj(); - void OnTxtEdit( wxCommandEvent& event ); + void OnTxtEdit( wxCommandEvent& event ); - void OnDeleteFile( wxCommandEvent& event ); - void OnRenameFile( wxCommandEvent& event ); + void OnDeleteFile( wxCommandEvent& event ); + void OnRenameFile( wxCommandEvent& event ); - void OnNewFile( wxCommandEvent& event ); - void OnNewDirectory( wxCommandEvent& event ); - void OnNewSchFile( wxCommandEvent& event ); - void OnNewBrdFile( wxCommandEvent& event ); - void OnNewPyFile( wxCommandEvent& event ); - void OnNewGerberFile( wxCommandEvent& event ); - void OnNewTxtFile( wxCommandEvent& event ); - void OnNewNetFile( wxCommandEvent& event ); + void OnNewFile( wxCommandEvent& event ); + void OnNewDirectory( wxCommandEvent& event ); + void OnNewSchFile( wxCommandEvent& event ); + void OnNewBrdFile( wxCommandEvent& event ); + void OnNewPyFile( wxCommandEvent& event ); + void OnNewGerberFile( wxCommandEvent& event ); + void OnNewTxtFile( wxCommandEvent& event ); + void OnNewNetFile( wxCommandEvent& event ); - void ClearFilters(); + void ClearFilters(); - const std::vector& GetFilters(); - void RemoveFilter( const wxString& filter ); + const std::vector& GetFilters(); + void RemoveFilter( const wxString& filter ); #ifdef KICAD_PYTHON - boost::python::object ToWx(); + boost::python::object ToWx(); WinEDA_PrjFrame() { @@ -358,31 +344,31 @@ public: } - void OnRunPy( wxCommandEvent& event ); + void OnRunPy( wxCommandEvent& event ); boost::python::object GetMenuPy( TreeFileType ); boost::python::object GetFtExPy( TreeFileType ) const; - void RemoveFilterPy( const boost::python::str& filter ); - void AddFilter( const boost::python::str& filter ); + void RemoveFilterPy( const boost::python::str& filter ); + void AddFilter( const boost::python::str& filter ); - boost::python::object GetTreeCtrl(); - TreePrjItemData* GetItemData( const boost::python::object& item ); - void AddFilePy( const boost::python::str& name, - boost::python::object& root ); - void NewFilePy( const boost::python::str& name, - TreeFileType type, - boost::python::object& root ); + boost::python::object GetTreeCtrl(); + TreePrjItemData* GetItemData( const boost::python::object& item ); + void AddFilePy( const boost::python::str& name, + boost::python::object& root ); + void NewFilePy( const boost::python::str& name, + TreeFileType type, + boost::python::object& root ); - TreePrjItemData* FindItemData( const boost::python::str& name ); + TreePrjItemData* FindItemData( const boost::python::str& name ); - boost::python::object GetCurrentMenu(); - int AddStatePy( boost::python::object& bitmap ); + boost::python::object GetCurrentMenu(); + int AddStatePy( boost::python::object& bitmap ); #endif - bool AddFile( const wxString& name, wxTreeItemId& root ); + bool AddFile( const wxString& name, wxTreeItemId& root ); DECLARE_EVENT_TABLE() }; diff --git a/kicad/mainframe.cpp b/kicad/mainframe.cpp index c5c3aa3386..508aa0a014 100644 --- a/kicad/mainframe.cpp +++ b/kicad/mainframe.cpp @@ -17,31 +17,31 @@ #include "confirm.h" #include "gestfich.h" #include "bitmaps.h" +#include "macros.h" #include "kicad.h" static const wxString TreeFrameWidthEntry( wxT( "LeftWinWidth" ) ); -static const wxString CommandFrameWidthEntry( wxT( "CommandWinWidth" ) ); -WinEDA_MainFrame::WinEDA_MainFrame( wxWindow* parent, +WinEDA_MainFrame::WinEDA_MainFrame( wxWindow* parent, const wxString& title, - const wxPoint& pos, - const wxSize& size ) : + const wxPoint& pos, + const wxSize& size ) : WinEDA_BasicFrame( parent, KICAD_MAIN_FRAME, title, pos, size ) { - wxString msg; - wxString line; - wxSize clientsize; + wxString msg; + wxString line; + wxSize clientsize; - m_FrameName = wxT( "KicadFrame" ); - m_VToolBar = NULL; - m_LeftWin = NULL; - m_BottomWin = NULL; - m_CommandWin = NULL; - m_LeftWin_Width = 200; - m_CommandWin_Height = 82; + m_FrameName = wxT( "KicadFrame" ); + m_VToolBar = NULL; // No Vertical tooolbar used here + m_LeftWin = NULL; // A shashwindow that contains the project tree + m_RightWin = NULL; /* A shashwindow that contains the buttons + * and the window display text + */ + m_LeftWin_Width = MAX(60, GetSize().x/3 ); LoadSettings(); @@ -55,47 +55,28 @@ WinEDA_MainFrame::WinEDA_MainFrame( wxWindow* parent, // Give an icon #ifdef __WINDOWS__ - SetIcon( wxICON( a_kicad_icon ) ); + SetIcon( wxICON( a_kicad_icon ) ); #else - SetIcon( wxICON( kicad_icon ) ); + SetIcon( wxICON( kicad_icon ) ); #endif clientsize = GetClientSize(); + int rightWinWidth = clientsize.x - m_LeftWin_Width; // Left window: is the box which display tree project - m_LeftWin = new WinEDA_PrjFrame( this, wxDefaultPosition, wxDefaultSize ); + m_LeftWin = new WinEDA_PrjFrame( this ); m_LeftWin->SetDefaultSize( wxSize( m_LeftWin_Width, clientsize.y ) ); m_LeftWin->SetOrientation( wxLAYOUT_VERTICAL ); m_LeftWin->SetAlignment( wxLAYOUT_LEFT ); m_LeftWin->SetSashVisible( wxSASH_RIGHT, TRUE ); m_LeftWin->SetExtraBorderSize( 2 ); -#if !defined(KICAD_AUIMANAGER) // Bottom Window: box to display messages - m_BottomWin = new wxSashLayoutWindow( this, ID_BOTTOM_FRAME, - wxDefaultPosition, wxDefaultSize, - wxNO_BORDER | wxSW_3D ); - m_BottomWin->SetDefaultSize( wxSize( clientsize.x, 150 ) ); - m_BottomWin->SetOrientation( wxLAYOUT_HORIZONTAL ); - m_BottomWin->SetAlignment ( wxLAYOUT_BOTTOM ); - m_BottomWin->SetSashVisible( wxSASH_TOP, TRUE ); - m_BottomWin->SetSashVisible( wxSASH_LEFT, TRUE ); - m_BottomWin->SetExtraBorderSize( 2 ); - - m_DialogWin = new wxTextCtrl( m_BottomWin, wxID_ANY, wxEmptyString, - wxDefaultPosition, wxDefaultSize, - wxTE_MULTILINE | wxNO_BORDER | wxTE_READONLY ); -#else - m_DialogWin = new wxTextCtrl( this, wxID_ANY, wxEmptyString, - wxDefaultPosition, wxDefaultSize, - wxTE_MULTILINE | wxNO_BORDER | wxTE_READONLY ); -#endif - // m_CommandWin is the box with buttons which launch eechema, pcbnew ... - m_CommandWin = new WinEDA_CommandFrame( this, ID_MAIN_COMMAND, - wxPoint( m_LeftWin_Width, 0 ), - wxSize( clientsize.x, - m_CommandWin_Height ), - wxNO_BORDER | wxSW_3D ); + m_RightWin = new RIGHT_KM_FRAME( this ); + m_RightWin->SetDefaultSize( wxSize( rightWinWidth, clientsize.y ) ); + m_RightWin->SetOrientation( wxLAYOUT_VERTICAL ); + m_RightWin->SetAlignment( wxLAYOUT_RIGHT ); + m_RightWin->SetExtraBorderSize( 2 ); msg = wxGetCwd(); line.Printf( _( "Ready\nWorking dir: %s\n" ), msg.GetData() ); @@ -108,32 +89,30 @@ WinEDA_MainFrame::WinEDA_MainFrame( wxWindow* parent, #if defined(KICAD_AUIMANAGER) RecreateBaseHToolbar(); - m_auimgr.SetManagedWindow(this); + m_auimgr.SetManagedWindow( this ); wxAuiPaneInfo horiz; - horiz.Gripper(false); - horiz.DockFixed(true); - horiz.Movable(false); - horiz.Floatable(false); - horiz.CloseButton(false); - horiz.CaptionVisible(false); + horiz.Gripper( false ); + horiz.DockFixed( true ); + horiz.Movable( false ); + horiz.Floatable( false ); + horiz.CloseButton( false ); + horiz.CaptionVisible( false ); - wxAuiPaneInfo vert(horiz); + wxAuiPaneInfo vert( horiz ); - vert.TopDockable(false).BottomDockable(false); - horiz.LeftDockable(false).RightDockable(false); + vert.TopDockable( false ).BottomDockable( false ); + horiz.LeftDockable( false ).RightDockable( false ); - m_auimgr.AddPane(m_HToolBar, - wxAuiPaneInfo(horiz).Name(wxT("m_HToolBar")).Top()); + m_auimgr.AddPane( m_HToolBar, + wxAuiPaneInfo( horiz ).Name( wxT( "m_HToolBar" ) ).Top() ); - m_auimgr.AddPane(m_CommandWin, - wxAuiPaneInfo().Name(wxT("m_CommandWin")).CentrePane()); + m_auimgr.AddPane( m_RightWin, + wxAuiPaneInfo().Name( wxT( "m_RightWin" ) ).CentrePane() ); - m_auimgr.AddPane(m_DialogWin, - wxAuiPaneInfo(horiz).Name(wxT("m_DialogWin")).CentrePane()); - - m_auimgr.AddPane(m_LeftWin, - wxAuiPaneInfo(horiz).Name(wxT("m_LeftWin")).Left().BestSize(clientsize.x/3,clientsize.y)); + m_auimgr.AddPane( m_LeftWin, + wxAuiPaneInfo( horiz ).Name( wxT( "m_LeftWin" ) ). + Left().BestSize( m_LeftWin_Width, clientsize.y ) ); m_auimgr.Update(); #endif } @@ -144,7 +123,7 @@ WinEDA_MainFrame::~WinEDA_MainFrame() /*****************************************************************************/ { #if defined(KICAD_AUIMANAGER) -m_auimgr.UnInit(); + m_auimgr.UnInit(); #endif } @@ -152,14 +131,12 @@ m_auimgr.UnInit(); /*******************************************************/ void WinEDA_MainFrame::PrintMsg( const wxString& text ) /*******************************************************/ + /* * Put text in the dialog frame */ { - m_DialogWin->AppendText( text ); -#ifdef DEBUG - printf("%s\n", (const char*)text.mb_str() ); -#endif + m_RightWin->m_DialogWin->AppendText( text ); } @@ -170,43 +147,19 @@ void WinEDA_MainFrame::OnSashDrag( wxSashEvent& event ) /* Resize windows when dragging window borders */ { - int w, h; - wxSize newsize; +#if defined(KICAD_AUIMANAGER) +#else if( event.GetDragStatus() == wxSASH_STATUS_OUT_OF_RANGE ) return; - GetClientSize( &w, &h ); - - switch( event.GetId() ) - { - case ID_LEFT_FRAME: - { - m_LeftWin->SetDefaultSize( wxSize( event.GetDragRect().width, -1 ) ); - break; - } - - case ID_BOTTOM_FRAME: - { - newsize = event.GetDragRect().GetSize(); - m_LeftWin->SetDefaultSize( wxSize( w - newsize.x, -1 ) ); - m_BottomWin->SetDefaultSize( wxSize( -1, newsize.y ) ); - m_CommandWin->SetDefaultSize( wxSize( -1, h - newsize.y ) ); - break; - } - - case ID_MAIN_COMMAND: - { - newsize = event.GetDragRect().GetSize(); - m_LeftWin->SetDefaultSize( wxSize( w - newsize.x, -1 ) ); - m_CommandWin->SetDefaultSize( wxSize( -1, newsize.y ) ); - m_BottomWin->SetDefaultSize( wxSize( -1, h - newsize.y ) ); - break; - } - } + m_LeftWin_Width = event.GetDragRect().width; + m_LeftWin->SetDefaultSize( wxSize( m_LeftWin_Width, -1 ) ); wxLayoutAlgorithm layout; layout.LayoutFrame( this ); +#endif + event.Skip(); } @@ -216,30 +169,13 @@ void WinEDA_MainFrame::OnSize( wxSizeEvent& event ) /************************************************/ { #if defined(KICAD_AUIMANAGER) - if(m_auimgr.GetManagedWindow()) - m_auimgr.Update(); -#else - if( m_CommandWin && m_BottomWin ) - { - int w, h, dy; - wxSize bsize, hsize; - GetClientSize( &w, &h ); - bsize = m_BottomWin->GetSize(); - hsize = m_CommandWin->GetSize(); - dy = h - hsize.y; - if( dy < 50 ) - { - dy = 50; - hsize.y = h - dy; - } - m_CommandWin->SetDefaultSize( wxSize( -1, hsize.y ) ); - m_BottomWin->SetDefaultSize( wxSize( -1, dy ) ); - } + if( m_auimgr.GetManagedWindow() ) + m_auimgr.Update(); +#else wxLayoutAlgorithm layout; layout.LayoutFrame( this ); - if( m_CommandWin ) - m_CommandWin->Refresh( TRUE ); + #endif event.Skip(); } @@ -276,7 +212,7 @@ void WinEDA_MainFrame::OnCloseWindow( wxCloseEvent& Event ) wxGetApp().m_HtmlCtrl = NULL; } - m_LeftWin->Show(false); + m_LeftWin->Show( false ); Destroy(); } @@ -291,6 +227,7 @@ void WinEDA_MainFrame::OnExit( wxCommandEvent& event ) void WinEDA_MainFrame::OnRunPcbNew( wxCommandEvent& event ) { wxFileName fn( m_ProjectFileName ); + fn.SetExt( BoardFileExtension ); ExecuteFile( this, PCBNEW_EXE, QuoteFullPath( fn ) ); } @@ -299,6 +236,7 @@ void WinEDA_MainFrame::OnRunPcbNew( wxCommandEvent& event ) void WinEDA_MainFrame::OnRunCvpcb( wxCommandEvent& event ) { wxFileName fn( m_ProjectFileName ); + fn.SetExt( NetlistFileExtension ); ExecuteFile( this, CVPCB_EXE, QuoteFullPath( fn ) ); } @@ -307,6 +245,7 @@ void WinEDA_MainFrame::OnRunCvpcb( wxCommandEvent& event ) void WinEDA_MainFrame::OnRunEeschema( wxCommandEvent& event ) { wxFileName fn( m_ProjectFileName ); + fn.SetExt( SchematicFileExtension ); ExecuteFile( this, EESCHEMA_EXE, QuoteFullPath( fn ) ); } @@ -315,8 +254,9 @@ void WinEDA_MainFrame::OnRunEeschema( wxCommandEvent& event ) void WinEDA_MainFrame::OnRunGerbview( wxCommandEvent& event ) { wxFileName fn( m_ProjectFileName ); + ExecuteFile( this, GERBVIEW_EXE, - fn.GetPath( wxPATH_GET_SEPARATOR | wxPATH_GET_VOLUME ) ); + fn.GetPath( wxPATH_GET_SEPARATOR | wxPATH_GET_VOLUME ) ); } @@ -341,12 +281,15 @@ void WinEDA_MainFrame::OnRunPythonScript( wxCommandEvent& event ) PyHandler::GetInstance()->RunScript( dlg.GetPath() ); } + + #endif void WinEDA_MainFrame::OnOpenFileInTextEditor( wxCommandEvent& event ) { wxString mask( wxT( "*" ) ); + #ifdef __WINDOWS__ mask += wxT( ".*" ); #endif @@ -354,12 +297,12 @@ void WinEDA_MainFrame::OnOpenFileInTextEditor( wxCommandEvent& event ) mask = _( "Text file (" ) + mask + wxT( ")|" ) + mask; wxFileDialog dlg( this, _( "Load File to Edit" ), wxGetCwd(), - wxEmptyString, mask,wxFD_OPEN ); + wxEmptyString, mask, wxFD_OPEN ); if( dlg.ShowModal() == wxID_CANCEL ) return; - if( ! dlg.GetPath().IsEmpty() && ! wxGetApp().GetEditorName().IsEmpty() ) + if( !dlg.GetPath().IsEmpty() && !wxGetApp().GetEditorName().IsEmpty() ) ExecuteFile( this, wxGetApp().GetEditorName(), dlg.GetPath() ); } @@ -372,12 +315,11 @@ void WinEDA_MainFrame::OnRefresh( wxCommandEvent& event ) } - /*********************************/ void WinEDA_MainFrame::ClearMsg() /*********************************/ { - m_DialogWin->Clear(); + m_RightWin->m_DialogWin->Clear(); } @@ -395,7 +337,6 @@ void WinEDA_MainFrame::LoadSettings() WinEDA_BasicFrame::LoadSettings(); cfg->Read( TreeFrameWidthEntry, &m_LeftWin_Width ); - cfg->Read( CommandFrameWidthEntry, &m_CommandWin_Height ); } @@ -414,7 +355,6 @@ void WinEDA_MainFrame::SaveSettings() WinEDA_BasicFrame::SaveSettings(); cfg->Write( TreeFrameWidthEntry, m_LeftWin->GetSize().x ); - cfg->Write( CommandFrameWidthEntry, m_CommandWin->GetSize().y ); } @@ -425,4 +365,6 @@ void WinEDA_MainFrame::OnRefreshPy() { m_LeftWin->ReCreateTreePrj(); } + + #endif diff --git a/kicad/treeprj_frame.cpp b/kicad/treeprj_frame.cpp index 8fb1abbc48..053ccf0e5f 100644 --- a/kicad/treeprj_frame.cpp +++ b/kicad/treeprj_frame.cpp @@ -69,13 +69,11 @@ const wxString TextFileWildcard( wxT( "Text files (*.txt)|*.txt" ) ); * @brief TODO */ /******************************************************************/ -WinEDA_PrjFrame::WinEDA_PrjFrame( WinEDA_MainFrame* parent, - const wxPoint& pos, - const wxSize& size ) : +WinEDA_PrjFrame::WinEDA_PrjFrame( WinEDA_MainFrame* parent ) : wxSashLayoutWindow( parent, ID_LEFT_FRAME, - pos, - size, + wxDefaultPosition, + wxDefaultSize, wxNO_BORDER | wxSW_3D ) /******************************************************************/ { diff --git a/pcbnew/zones_convert_brd_items_to_polygons.cpp b/pcbnew/zones_convert_brd_items_to_polygons.cpp index c4bb866ea1..0864fb6ab6 100644 --- a/pcbnew/zones_convert_brd_items_to_polygons.cpp +++ b/pcbnew/zones_convert_brd_items_to_polygons.cpp @@ -33,13 +33,8 @@ #include "PolyLine.h" // Kbool 1.9 and before had sometimes problemes when calculating thermal shapes as polygons (this is the best solution) -// So as a workaround we can use stubs (small tracks segments) to create thermal shape -// Define USE_STUBS_FOR_THERMAL to work on this workaround -// Currently only for tests: DO NOT USE -// because the code is not really tested, pcbnew can do not work properly when used // Kbool 2.0 has solved some problems, but not all // Kbool 2.1 has solved some others problems, but not all -//define USE_STUBS_FOR_THERMAL // Used to create data files to debug Kbool #include "debug_kbool_key_file_fct.h" @@ -67,14 +62,6 @@ void CreateThermalReliefPadPolygon( std::vector& aCornerBuffer, // Local Functions: -#ifdef USE_STUBS_FOR_THERMAL -#warning \ - USE_STUBS_FOR_THERMAL is defined: for test version only do not use for working pcbnew version -void CreateStubsForThermalShapes( BOARD* aPcb, ZONE_CONTAINER* aZone_container, - int aThermalGap, - int aCopperThickness, int aMinThicknessValue ); - -#endif void AddTrackWithClearancePolygon( Bool_Engine* aBooleng, TRACK& aTrack, int aClearanceValue ); void AddPadWithClearancePolygon( Bool_Engine* aBooleng, D_PAD& aPad, int aClearanceValue ); @@ -251,15 +238,11 @@ void ZONE_CONTAINER::AddClearanceAreasPolygonsToPolysList( BOARD* aPcb ) } int gap = zone_clearance; -#ifdef USE_STUBS_FOR_THERMAL - gap = MAX( zone_clearance, m_ThermalReliefGapValue ); -#else if( (m_PadOption == PAD_NOT_IN_ZONE) || (GetNet() == 0) || pad->m_PadShape == PAD_TRAPEZOID ) // PAD_TRAPEZOID shapes are not in zones because they are used in microwave apps // and i think it is good that shapes are not changed by thermal pads or others -#endif { item_boundingbox = pad->GetBoundingBox(); if( item_boundingbox.Intersects( zone_boundingbox ) ) @@ -375,28 +358,6 @@ void ZONE_CONTAINER::AddClearanceAreasPolygonsToPolysList( BOARD* aPcb ) CopyPolygonsFromBoolengineToFilledPolysList( booleng ); } delete booleng; -#ifdef USE_STUBS_FOR_THERMAL - - // remove thermal gaps if required: - if( m_PadOption != THERMAL_PAD || aPcb->m_Modules == NULL ) - { - Test_For_Copper_Island_And_Remove_Insulated_Islands( aPcb ); - return; - } - -#ifdef CREATE_KBOOL_KEY_FILES - CreateKeyFileKeyFile(); - OpenKeyFileEntity( "Layer" ); - CopyPolygonsFromFilledPolysListToKeyFile( this, 0 ); -#endif - CreateStubsForThermalShapes( aPcb, this, m_ThermalReliefGapValue, - m_ThermalReliefCopperBridgeValue, m_ZoneMinThickness ); - Test_For_Copper_Island_And_Remove_Insulated_Islands( aPcb ); -#ifdef CREATE_KBOOL_KEY_FILES - CloseKeyFileEntity(); - CloseKeyFile(); -#endif -#else // Remove insulated islands: if( GetNet() > 0 ) @@ -619,7 +580,6 @@ void ZONE_CONTAINER::AddClearanceAreasPolygonsToPolysList( BOARD* aPcb ) delete booleng; #endif // REMOVE_UNUSED_THERMAL_STUBS -#endif // USE_STUBS_FOR_THERMAL } @@ -654,117 +614,6 @@ void AddPadWithClearancePolygon( Bool_Engine* aBooleng, } -/** function CreateStubsForThermalShapes() - * Only for testing the thermal shapes by stubs purposes - * Do not use for working pcbnew versions - * This is just for kbool test only - */ -void CreateStubsForThermalShapes( BOARD* aPcb, ZONE_CONTAINER* aZone_container, - int aThermalGap, - int aCopperThickness, int aMinThicknessValue ) -{ - EDA_Rect zone_boundingbox = aZone_container->GetBoundingBox(); - bool have_poly_to_add = false; - Bool_Engine* booleng = new Bool_Engine(); - - ArmBoolEng( booleng, true ); - - TRACK dummy_track( aPcb ); - - if( aCopperThickness <= aMinThicknessValue ) - return; - - for( MODULE* module = aPcb->m_Modules; module; module = module->Next() ) - { - for( D_PAD* pad = module->m_Pads; pad != NULL; pad = pad->Next() ) - { - // check - if( !pad->IsOnLayer( aZone_container->GetLayer() ) ) - continue; - if( pad->GetNet() != aZone_container->GetNet() ) - continue; - - EDA_Rect item_boundingbox = pad->GetBoundingBox(); - item_boundingbox.Inflate( aThermalGap, aThermalGap ); - if( !( item_boundingbox.Intersects( zone_boundingbox ) ) ) - continue; - - // test point - int dx = ( pad->m_Size.x / 2 ) + aThermalGap; - int dy = ( pad->m_Size.y / 2 ) + aThermalGap; - - // This is CIRCLE pad tweak (for circle pads the thermal stubs are at 45 deg) - int fAngle = pad->m_Orient; - if( pad->m_PadShape == PAD_CIRCLE ) - { - dx = (int) ( dx * s_Correction ); - dy = dx; - fAngle = 450; - } - - // compute north, south, west and east points for zone connection. - // Add a small value to ensure point is inside (or outside) zone, not on an edge - wxPoint ptTest[4]; - ptTest[0] = wxPoint( 0, 3 + dy + aMinThicknessValue / 2 ); - ptTest[1] = wxPoint( 0, -(3 + dy + aMinThicknessValue / 2) ); - ptTest[2] = wxPoint( 3 + dx + aMinThicknessValue / 2, 0 ); - ptTest[3] = wxPoint( -(3 + dx + aMinThicknessValue / 2), 0 ); - - - // Test all sides - for( int i = 0; i<4; i++ ) - { - // rotate point - RotatePoint( &ptTest[i], fAngle ); - - // translate point - ptTest[i] += pad->ReturnShapePos(); - bool inside = aZone_container->HitTestFilledArea( ptTest[i] ); - - if( inside ) - { - dummy_track.m_Start = pad->ReturnShapePos(); - dummy_track.m_End = ptTest[i]; - dummy_track.SetNet( aZone_container->GetNet() ); - dummy_track.SetLayer( aZone_container->GetLayer() ); - dummy_track.m_Width = aCopperThickness; - dummy_track.SetState( BEGIN_ONPAD, ON ); - dummy_track.start = pad; - - // add stub - WinEDA_PcbFrame* pcbFrame = (WinEDA_PcbFrame*) aPcb->m_PcbFrame; - if( pcbFrame->GetDrcController()->Drc( &dummy_track, aPcb->m_Track ) == OK_DRC ) - { - have_poly_to_add = true; - - // because stubs outlines are drawn with a pen size = aMinThicknessValue, - // the width of the stub is aCopperThickness - aMinThicknessValue - int thickness = dummy_track.m_Width - aMinThicknessValue; - AddRoundedEndsSegmentPolygon( booleng, - dummy_track.m_Start, - dummy_track.m_End, - thickness ); - } - } - } - } - } - - if( have_poly_to_add ) - { - /* Add the main corrected polygon (i.e. the filled area using only one outline) - * in GroupA in Bool_Engine - */ - aZone_container->CopyPolygonsFromFilledPolysListToBoolengine( booleng, GROUP_A ); - /* remove thermal areas (non copper areas) */ - booleng->Do_Operation( BOOL_OR ); - /* put these areas in m_FilledPolysList */ - aZone_container->m_FilledPolysList.clear(); - aZone_container->CopyPolygonsFromBoolengineToFilledPolysList( booleng ); - } - delete booleng; -} - /** function AddThermalReliefPadPolygon * Add holes around a pad to create a thermal relief