From bbae2b12b121bb9836a799cd2d5de127f32d137d Mon Sep 17 00:00:00 2001 From: CHARRAS Date: Wed, 23 Jan 2008 08:01:38 +0000 Subject: [PATCH] Plot option in GERBER format Plot (Exclude Edge Pcb layer) modification (now, default = off, and saved in config) --- change_log.txt | 8 + include/build_version.h | 2 +- include/id.h | 5 +- include/wxPcbStruct.h | 2 +- internat/fr/kicad.mo | Bin 139652 -> 140918 bytes internat/fr/kicad.po | 1841 ++++++++++++++++++----------------- pcbnew/class_board.cpp | 18 + pcbnew/class_board.h | 6 + pcbnew/edit.cpp | 7 +- pcbnew/onrightclick.cpp | 4 +- pcbnew/pcbplot.cpp | 22 +- pcbnew/pcbplot.h | 4 +- pcbnew/plotgerb.cpp | 2 +- pcbnew/zones_by_polygon.cpp | 66 +- 14 files changed, 1022 insertions(+), 965 deletions(-) diff --git a/change_log.txt b/change_log.txt index 85723baaac..dc3531fd67 100644 --- a/change_log.txt +++ b/change_log.txt @@ -4,6 +4,14 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with email address. +2008-Jan-23 UPDATE Jean-Pierre Charras +================================================================================ ++pcbnew: + Plot option in GERBER format Plot (Exclude Edge Pcb layer) modification: + - the default is OFF (like odl pcbnew versions) + - this setup is now save in config (is persistant) + + In Zone creation, now delete last created corner works. 2008-Jan-22 UPDATE Dick Hollenbeck ================================================================================ diff --git a/include/build_version.h b/include/build_version.h index 0b35e1808f..e73849a18a 100644 --- a/include/build_version.h +++ b/include/build_version.h @@ -5,7 +5,7 @@ COMMON_GLOBL wxString g_BuildVersion #ifdef EDA_BASE - (wxT("(2008-01-06)")) + (wxT("(2008-01-22)")) #endif ; diff --git a/include/id.h b/include/id.h index bbfe3bad12..8598519fe2 100644 --- a/include/id.h +++ b/include/id.h @@ -554,7 +554,7 @@ enum main_id { ID_POPUP_PCB_ADD_ZONE_CORNER, ID_POPUP_PCB_DELETE_ZONE_CORNER, ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE, - ID_POPUP_PCB_DELETE_EDGE_ZONE, + ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER, ID_POPUP_PCB_FILL_ALL_ZONES, ID_POPUP_PCB_FILL_ZONE, ID_POPUP_PCB_DELETE_ZONE_CONTAINER, @@ -564,6 +564,9 @@ enum main_id { ID_POPUP_PCB_DELETE_ZONE_CUTOUT, ID_POPUP_PCB_MOVE_ZONE_OUTLINES, ID_POPUP_PCB_PLACE_ZONE_OUTLINES, + ID_POPUP_ZONE_UNUSED1, + ID_POPUP_ZONE_UNUSED2, + ID_POPUP_ZONE_UNUSED3, ID_POPUP_ZONE_UNUSED4, ID_POPUP_PCB_DELETE_MARKER, diff --git a/include/wxPcbStruct.h b/include/wxPcbStruct.h index bd36f0fd8d..373dc392f4 100644 --- a/include/wxPcbStruct.h +++ b/include/wxPcbStruct.h @@ -488,7 +488,7 @@ public: */ void Delete_Zone_Fill( wxDC* DC, SEGZONE* Track, long aTimestamp = 0 ); - EDGE_ZONE* Del_SegmEdgeZone( wxDC* DC, EDGE_ZONE* edge_zone ); + EDGE_ZONE* Del_LastSegmEdgeZone( wxDC* DC ); /** * Function Begin_Zone diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 2f966f1b4484b8c2f25ae85c43abea805540fc5f..42b37713c097199a0b7cf1aac3108f2fa9d00750 100644 GIT binary patch delta 51458 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 NSF3>?Xy{0Z{6Bb!F9ZMp delta 50128 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 diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index e91dd233ea..8de65537ee 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2008-01-12 09:15+0100\n" +"PO-Revision-Date: 2008-01-22 20:51+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -21,27 +21,6 @@ msgstr "" "X-Poedit-SearchPath-6: 3d-viewer\n" "X-Poedit-SearchPath-7: share\n" -#: pcbnew/specctra.cpp:1557 -#: pcbnew/specctra.cpp:1564 -msgid "Expecting" -msgstr "Attendu" - -#: pcbnew/specctra.cpp:1573 -#: pcbnew/specctra.cpp:1580 -msgid "Unexpected" -msgstr "Inattendu" - -#: pcbnew/specctra.cpp:1601 -#: pcbnew/specctra.cpp:2846 -#, c-format -msgid "Unable to open file \"%s\"" -msgstr "Ne peut pas ouvrirle fichier \"%s\"" - -#: pcbnew/specctra.cpp:2814 -#, c-format -msgid "System file error writing to file \"%s\"" -msgstr "Erreur système sur écriture fichier \"%s\"" - #: pcbnew/files.cpp:57 msgid "Recovery file " msgstr "Fichier de secours " @@ -138,12 +117,12 @@ msgstr "Affichage coord Polaires" #: pcbnew/dialog_general_options.cpp:271 #: pcbnew/set_grid.cpp:147 +#: pcbnew/dialog_gendrill.cpp:165 #: gerbview/options.cpp:185 msgid "Inches" msgstr "Pouces" #: pcbnew/dialog_general_options.cpp:272 -#: pcbnew/gendrill.cpp:171 #: gerbview/options.cpp:186 msgid "millimeters" msgstr "millimetres" @@ -182,6 +161,7 @@ msgid "Auto Save (minuts):" msgstr "Sauveg. Auto (min)" #: pcbnew/dialog_general_options.cpp:315 +#: pcbnew/dialog_gendrill.cpp:227 #: eeschema/dialog_build_BOM.cpp:285 #: eeschema/netlist_control.cpp:228 #: eeschema/dialog_cmp_graphic_properties.cpp:151 @@ -379,6 +359,7 @@ msgstr "3D Caract" #: pcbnew/dialog_zones_by_polygon.cpp:201 #: pcbnew/sel_layer.cpp:158 #: pcbnew/sel_layer.cpp:316 +#: pcbnew/dialog_gendrill.cpp:278 #: eeschema/sheetlab.cpp:93 #: eeschema/eelayer.cpp:251 #: gerbview/reglage.cpp:108 @@ -474,11 +455,12 @@ msgstr "Cuivre" #: pcbnew/class_text_mod.cpp:373 #: pcbnew/class_pcb_text.cpp:177 #: pcbnew/class_pad.cpp:1062 -#: pcbnew/classpcb.cpp:189 -#: pcbnew/class_track.cpp:779 +#: pcbnew/class_track.cpp:832 #: pcbnew/class_module.cpp:1217 #: pcbnew/sel_layer.cpp:145 -#: pcbnew/class_zone.cpp:483 +#: pcbnew/class_drawsegment.cpp:175 +#: pcbnew/class_zone.cpp:61 +#: pcbnew/class_zone.cpp:512 #: gerbview/affiche.cpp:109 msgid "Layer" msgstr "Couche" @@ -716,7 +698,6 @@ msgstr "Ins #: pcbnew/dialog_setup_libs.cpp:191 #: eeschema/dialog_eeschema_config.cpp:213 #: cvpcb/dialog_cvpcb_config.cpp:185 -#: cvpcb/menucfg.cpp:231 msgid "Libraries" msgstr "Librairies" @@ -746,12 +727,16 @@ msgid "Net ext: " msgstr "Net ext: " #: pcbnew/dialog_setup_libs.cpp:367 -msgid "library files:" -msgstr "Fichiers Librairies" +#: cvpcb/menucfg.cpp:232 +msgid "Library Files:" +msgstr "Fichiers Librairies:" -#: pcbnew/dialog_setup_libs.cpp:390 -msgid "Library exists! No Change" -msgstr "Librairie existante! Pas de changement" +#: pcbnew/dialog_setup_libs.cpp:392 +#: eeschema/dialog_eeschema_config.cpp:394 +#: cvpcb/menucfg.cpp:257 +#: cvpcb/menucfg.cpp:325 +msgid "Library already in use" +msgstr "Librairie déjà en usage" #: pcbnew/muonde.cpp:149 msgid "Gap" @@ -1084,7 +1069,7 @@ msgstr "Trac #: pcbnew/pcbplot.cpp:257 msgid "Exclude Edges Pcb layer" -msgstr "Exclure couche PCB" +msgstr "Exclure Couche Contours PCB" #: pcbnew/pcbplot.cpp:260 msgid "Exclude contents of Edges Pcb layer from all other layers" @@ -1288,10 +1273,11 @@ msgid "Module" msgstr "Module" #: pcbnew/class_text_mod.cpp:359 -#: pcbnew/classpcb.cpp:173 -#: pcbnew/class_marker.cpp:112 -#: pcbnew/class_track.cpp:723 -#: pcbnew/class_zone.cpp:454 +#: pcbnew/class_marker.cpp:133 +#: pcbnew/class_track.cpp:776 +#: pcbnew/class_drawsegment.cpp:159 +#: pcbnew/class_zone.cpp:59 +#: pcbnew/class_zone.cpp:483 #: gerbview/affiche.cpp:93 msgid "Type" msgstr "Type" @@ -1326,11 +1312,11 @@ msgstr "Miroir" #: pcbnew/pcbtexte.cpp:130 #: pcbnew/class_pcb_text.cpp:191 #: pcbnew/dialog_edit_mod_text.cpp:204 -#: pcbnew/classpcb.cpp:194 #: pcbnew/cotation.cpp:129 -#: pcbnew/class_track.cpp:806 +#: pcbnew/class_track.cpp:855 #: pcbnew/mirepcb.cpp:113 #: pcbnew/class_edge_mod.cpp:297 +#: pcbnew/class_drawsegment.cpp:179 #: eeschema/dialog_cmp_graphic_properties.cpp:188 #: eeschema/affiche.cpp:188 #: gerbview/affiche.cpp:52 @@ -1506,9 +1492,9 @@ msgstr "NetName Pad:" #: pcbnew/dialog_pad_edit.cpp:176 #: pcbnew/dialog_pad_edit.cpp:196 -#: pcbnew/classpcb.cpp:178 #: pcbnew/class_board_item.cpp:107 -#: pcbnew/class_track.cpp:749 +#: pcbnew/class_track.cpp:802 +#: pcbnew/class_drawsegment.cpp:164 msgid "Circle" msgstr "Cercle" @@ -1553,7 +1539,7 @@ msgid "Pad Shape:" msgstr "Forme Pad:" #: pcbnew/dialog_pad_edit.cpp:205 -#: pcbnew/class_track.cpp:751 +#: pcbnew/class_track.cpp:804 msgid "Standard" msgstr "Standard" @@ -1738,7 +1724,7 @@ msgstr "Zoom automatique" #: pcbnew/tool_modedit.cpp:133 #: pcbnew/modedit.cpp:396 #: pcbnew/menubarmodedit.cpp:45 -#: pcbnew/menubarpcb.cpp:209 +#: pcbnew/menubarpcb.cpp:216 msgid "Pad Settings" msgstr "Caract pads" @@ -1767,7 +1753,7 @@ msgid "Add graphic arc" msgstr "Addition de graphiques (Arc de Cercle)" #: pcbnew/tool_modedit.cpp:180 -#: pcbnew/edit.cpp:283 +#: pcbnew/edit.cpp:288 #: eeschema/schedit.cpp:315 #: eeschema/libframe.cpp:503 #: gerbview/tool_gerber.cpp:385 @@ -1861,191 +1847,48 @@ msgstr "Grille %.3f" msgid "User Grid" msgstr "Grille perso" -#: pcbnew/gendrill.cpp:150 -msgid "Drill tools" -msgstr "Outils de perçage" - -#: pcbnew/gendrill.cpp:171 -#: eeschema/dialog_options.cpp:246 -msgid "inches" -msgstr "Pouces" - -#: pcbnew/gendrill.cpp:173 -msgid "Drill Units:" -msgstr "Unités perçage:" - -#: pcbnew/gendrill.cpp:181 -msgid "decimal format" -msgstr "Format décimal" - -#: pcbnew/gendrill.cpp:182 -msgid "suppress leading zeros" -msgstr "Suppression zeros de tête" - -#: pcbnew/gendrill.cpp:182 -msgid "suppress trailing zeros" -msgstr "Suppression zeros de fin" - -#: pcbnew/gendrill.cpp:182 -msgid "keep zeros" -msgstr "Garder les zéros" - -#: pcbnew/gendrill.cpp:185 -msgid "Zeros Format" -msgstr "Format des zéros" - -#: pcbnew/gendrill.cpp:192 -#: pcbnew/gendrill.cpp:452 -msgid "2:3" -msgstr "2:3" - -#: pcbnew/gendrill.cpp:192 -#: pcbnew/gendrill.cpp:453 -msgid "2:4" -msgstr "2:4" - -#: pcbnew/gendrill.cpp:193 -#: pcbnew/gendrill.cpp:458 -msgid "3:2" -msgstr "3:2" - -#: pcbnew/gendrill.cpp:193 -#: pcbnew/gendrill.cpp:459 -msgid "3:3" -msgstr "3:3" - -#: pcbnew/gendrill.cpp:199 -msgid "Precision" -msgstr "Précision" - -#: pcbnew/gendrill.cpp:211 -msgid "absolute" -msgstr "Absolu" - -#: pcbnew/gendrill.cpp:211 -msgid "auxiliary axis" -msgstr "Axe Auxiliaire" - -#: pcbnew/gendrill.cpp:213 -msgid "Drill Origin:" -msgstr "Origine des coord de percage:" - -#: pcbnew/gendrill.cpp:222 -#: pcbnew/gendrill.cpp:230 -#: eeschema/libedit.cpp:41 -#: eeschema/viewlibs.cpp:120 -msgid "None" -msgstr "Aucun" - -#: pcbnew/gendrill.cpp:222 -msgid "drill sheet (HPGL)" -msgstr "Plan de perçage (HPGL)" - -#: pcbnew/gendrill.cpp:222 -msgid "drill sheet (PostScript)" -msgstr "Plan de perçage (Postscript)" - -#: pcbnew/gendrill.cpp:224 -msgid "Drill Sheet:" -msgstr "Plan de perçage:" - -#: pcbnew/gendrill.cpp:230 -msgid "Drill report" -msgstr "Rapport de perçage" - -#: pcbnew/gendrill.cpp:232 -msgid "Drill Report:" -msgstr "Rapport de perçage:" - -#: pcbnew/gendrill.cpp:238 -msgid "Via Drill" -msgstr "Perçage des vias" - -#: pcbnew/gendrill.cpp:243 -#: eeschema/plothpgl.cpp:239 -msgid "Pen Number" -msgstr "Numéro de plume" - -#: pcbnew/gendrill.cpp:246 -msgid "Speed (cm/s)" -msgstr "Vitesse plume ( cm/s )" - -#: pcbnew/gendrill.cpp:249 -msgid "mirror y axis" -msgstr "Miroir sur axe Y" - -#: pcbnew/gendrill.cpp:253 -msgid "minimal header" -msgstr "Entête minimal" - -#: pcbnew/gendrill.cpp:259 -msgid "&Execute" -msgstr "&Exécuter" - -#: pcbnew/gendrill.cpp:263 -#: eeschema/plotps.cpp:208 -#: share/svg_print.cpp:222 -#: share/dialog_print.cpp:225 -msgid "&Close" -msgstr "&Fermer" - -#: pcbnew/gendrill.cpp:389 +#: pcbnew/gendrill.cpp:298 msgid "Drill file" msgstr "Fichier de percage" -#: pcbnew/gendrill.cpp:403 -#: pcbnew/gendrill.cpp:1623 +#: pcbnew/gendrill.cpp:316 +#: pcbnew/gendrill.cpp:779 #: pcbnew/plotps.cpp:51 #: pcbnew/xchgmod.cpp:642 msgid "Unable to create file " msgstr "Impossible de créer le fichier " -#: pcbnew/gendrill.cpp:410 -#: pcbnew/gendrill.cpp:1036 -#: pcbnew/gendrill.cpp:1629 -#: pcbnew/plotps.cpp:58 -#: pcbnew/plotgerb.cpp:84 -#: pcbnew/plothpgl.cpp:74 -msgid "File" -msgstr "Fichier" +#: pcbnew/gendrill.cpp:368 +#: pcbnew/dialog_gendrill.cpp:180 +msgid "2:3" +msgstr "2:3" -#: pcbnew/gendrill.cpp:416 -#: pcbnew/gendrill.cpp:1041 -#: pcbnew/gendrill.cpp:1634 -msgid "Tools" -msgstr "Outils" +#: pcbnew/gendrill.cpp:369 +#: pcbnew/dialog_gendrill.cpp:181 +msgid "2:4" +msgstr "2:4" -#: pcbnew/gendrill.cpp:420 -#: pcbnew/gendrill.cpp:1110 -#: pcbnew/gendrill.cpp:1686 -#: pcbnew/class_pad.cpp:1085 -#: pcbnew/class_track.cpp:798 -#: pcbnew/class_track.cpp:803 -msgid "Drill" -msgstr "Perçage" +#: pcbnew/gendrill.cpp:374 +msgid "3:2" +msgstr "3:2" -#: pcbnew/gendrill.cpp:971 +#: pcbnew/gendrill.cpp:375 +msgid "3:3" +msgstr "3:3" + +#: pcbnew/gendrill.cpp:718 msgid "Drill Map file" msgstr "Fichier Plan de perçage" -#: pcbnew/gendrill.cpp:1030 -#, c-format -msgid "Unable to create file <%s>" -msgstr "Impossible de créer fichier <%s>" +#: pcbnew/gendrill.cpp:733 +msgid "Unable to create file" +msgstr "Impossible de créer le fichier " -#: pcbnew/gendrill.cpp:1332 -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 diametres différents pour tracer 1 symbole par diametre\n" -"Le tracé utilise des cercles pour quelques valeurs " - -#: pcbnew/gendrill.cpp:1608 +#: pcbnew/gendrill.cpp:764 msgid "Drill Report file" msgstr "Fichier rapport de perçage:" -#: pcbnew/via_edit.cpp:51 +#: pcbnew/via_edit.cpp:54 msgid "Incorrect value for Via drill. No via drill change" msgstr "Valeur incorrecte pour perçage.Pas de changement pour la via" @@ -2073,14 +1916,18 @@ msgstr "Diam per msgid "Pad Orient (0.1 deg)" msgstr "Orient Pad (0.1 deg)" -#: pcbnew/editpads.cpp:389 +#: pcbnew/editpads.cpp:390 msgid "Incorrect value for pad drill: pad drill bigger than pad size" msgstr "Valeur incorrecte pour diametre de perçage.percage plus grand que la taille du pad" -#: pcbnew/editpads.cpp:395 +#: pcbnew/editpads.cpp:396 msgid "Incorrect value for pad offset" msgstr "Valeur incorrecte pour offset du pad" +#: pcbnew/editpads.cpp:489 +msgid "Unknown netname, no change" +msgstr "Net inconnu, pas de changement" + #: pcbnew/export_gencad.cpp:69 msgid "GenCAD file:" msgstr "Fichier GenCAD:" @@ -2095,7 +1942,7 @@ msgstr "COTATION" msgid "PCB Text" msgstr "Texte Pcb" -#: pcbnew/ioascii.cpp:165 +#: pcbnew/ioascii.cpp:167 msgid "Error: Unexpected end of file !" msgstr "Erreur: Fin de fichier inattendue !" @@ -2123,8 +1970,8 @@ msgstr "Garder" #: pcbnew/dialog_netlist.cpp:143 #: pcbnew/onrightclick.cpp:599 -#: pcbnew/onrightclick.cpp:764 -#: pcbnew/onrightclick.cpp:861 +#: pcbnew/onrightclick.cpp:772 +#: pcbnew/onrightclick.cpp:869 #: eeschema/edit_component_in_lib.cpp:239 #: eeschema/edit_component_in_lib.cpp:320 msgid "Delete" @@ -2269,6 +2116,12 @@ msgstr "RefP" msgid "Net" msgstr "Net" +#: pcbnew/class_pad.cpp:1085 +#: pcbnew/class_track.cpp:847 +#: pcbnew/class_track.cpp:852 +msgid "Drill" +msgstr "Perçage" + #: pcbnew/class_pad.cpp:1093 msgid "Drill X / Y" msgstr "Perçage X/Y" @@ -2320,7 +2173,7 @@ msgid "Add Drawing" msgstr "Ajout d'éléments graphiques" #: pcbnew/modedit.cpp:424 -#: pcbnew/edit.cpp:519 +#: pcbnew/edit.cpp:540 #: eeschema/schedit.cpp:455 #: eeschema/libframe.cpp:579 msgid "Delete item" @@ -2335,7 +2188,7 @@ msgid "End Tool" msgstr "Fin Outil" #: pcbnew/modedit_onclick.cpp:217 -#: pcbnew/onrightclick.cpp:469 +#: pcbnew/onrightclick.cpp:473 #: eeschema/onrightclick.cpp:587 #: eeschema/libedit_onrightclick.cpp:237 #: gerbview/onrightclick.cpp:51 @@ -2343,13 +2196,13 @@ msgid "Cancel Block" msgstr "Annuler Bloc" #: pcbnew/modedit_onclick.cpp:219 -#: pcbnew/onrightclick.cpp:471 +#: pcbnew/onrightclick.cpp:475 #: gerbview/onrightclick.cpp:52 msgid "Zoom Block (Midd butt drag)" msgstr "Zoom Bloc (drag+bouton milieu)" #: pcbnew/modedit_onclick.cpp:222 -#: pcbnew/onrightclick.cpp:474 +#: pcbnew/onrightclick.cpp:478 #: eeschema/onrightclick.cpp:595 #: eeschema/libedit_onrightclick.cpp:245 #: gerbview/onrightclick.cpp:54 @@ -2357,7 +2210,7 @@ msgid "Place Block" msgstr "Place Bloc" #: pcbnew/modedit_onclick.cpp:224 -#: pcbnew/onrightclick.cpp:476 +#: pcbnew/onrightclick.cpp:480 #: eeschema/onrightclick.cpp:604 #: eeschema/libedit_onrightclick.cpp:251 msgid "Copy Block (shift + drag mouse)" @@ -2368,18 +2221,18 @@ msgid "Mirror Block (alt + drag mouse)" msgstr "Bloc Miroir (alt + drag mouse)" #: pcbnew/modedit_onclick.cpp:228 -#: pcbnew/onrightclick.cpp:480 +#: pcbnew/onrightclick.cpp:484 msgid "Rotate Block (ctrl + drag mouse)" msgstr "Rotation Bloc (ctrl + drag mouse)" #: pcbnew/modedit_onclick.cpp:230 -#: pcbnew/onrightclick.cpp:482 +#: pcbnew/onrightclick.cpp:486 msgid "Delete Block (shift+ctrl + drag mouse)" msgstr "Effacement Bloc (shift+ctrl + drag mouse)" #: pcbnew/modedit_onclick.cpp:252 -#: pcbnew/onrightclick.cpp:758 -#: pcbnew/onrightclick.cpp:855 +#: pcbnew/onrightclick.cpp:766 +#: pcbnew/onrightclick.cpp:863 msgid "Rotate" msgstr "Rotation" @@ -2404,17 +2257,17 @@ msgid "Move Pad" msgstr "Déplace Pad" #: pcbnew/modedit_onclick.cpp:274 -#: pcbnew/onrightclick.cpp:797 +#: pcbnew/onrightclick.cpp:805 msgid "Edit Pad" msgstr "Edit Pad" #: pcbnew/modedit_onclick.cpp:276 -#: pcbnew/onrightclick.cpp:801 +#: pcbnew/onrightclick.cpp:809 msgid "New Pad Settings" msgstr "Nouvelles Caract. Pads" #: pcbnew/modedit_onclick.cpp:278 -#: pcbnew/onrightclick.cpp:803 +#: pcbnew/onrightclick.cpp:811 msgid "Export Pad Settings" msgstr "Exporte Caract. Pads" @@ -2423,7 +2276,7 @@ msgid "delete Pad" msgstr "Supprimer Pad" #: pcbnew/modedit_onclick.cpp:285 -#: pcbnew/onrightclick.cpp:808 +#: pcbnew/onrightclick.cpp:816 msgid "Global Pad Settings" msgstr "Edition Globale des pads" @@ -2456,9 +2309,9 @@ msgid "Place edge" msgstr "Place contour" #: pcbnew/modedit_onclick.cpp:317 -#: pcbnew/onrightclick.cpp:726 -#: pcbnew/onrightclick.cpp:760 -#: pcbnew/onrightclick.cpp:857 +#: pcbnew/onrightclick.cpp:734 +#: pcbnew/onrightclick.cpp:768 +#: pcbnew/onrightclick.cpp:865 #: eeschema/onrightclick.cpp:313 msgid "Edit" msgstr "Editer" @@ -2487,9 +2340,15 @@ msgstr "Effacement contour" msgid "Set Width" msgstr "Ajuste Epaiss" +#: pcbnew/plotps.cpp:58 +#: pcbnew/plotgerb.cpp:84 +#: pcbnew/plothpgl.cpp:74 +msgid "File" +msgstr "Fichier" + #: pcbnew/plotps.cpp:361 #: pcbnew/affiche.cpp:63 -#: pcbnew/class_board.cpp:406 +#: pcbnew/class_board.cpp:412 msgid "Vias" msgstr "Vias" @@ -2497,19 +2356,6 @@ msgstr "Vias" msgid "Tracks" msgstr "Pistes" -#: pcbnew/classpcb.cpp:175 -msgid "Shape" -msgstr "Forme" - -#: pcbnew/classpcb.cpp:182 -msgid " Arc " -msgstr " Arc " - -#: pcbnew/classpcb.cpp:187 -#: pcbnew/class_track.cpp:747 -msgid "Segment" -msgstr "Segment" - #: pcbnew/plotgerb.cpp:72 msgid "unable to create file " msgstr "Impossible de créer fichier " @@ -2561,6 +2407,7 @@ msgid "Default Via Type" msgstr "Via par Défaut" #: pcbnew/dialog_track_options.cpp:163 +#: pcbnew/dialog_gendrill.cpp:270 msgid "Micro Vias:" msgstr "Micro Vias:" @@ -2598,14 +2445,6 @@ msgstr "Isolation" msgid "Mask clearance" msgstr "Retrait Masque" -#: pcbnew/dialog_track_options.cpp:303 -msgid "" -"You have selected VIA Blind and Buried\n" -"WARNING: this feature is EXPERIMENTAL!!! Accept ?" -msgstr "" -"Vous avez sélectionné VIA borgne et enterrée\n" -"ATTENTION: Cette possibilité est EXPERIMENTALE!!! Accepter ?" - #: pcbnew/dialog_display_options.cpp:186 msgid "Tracks and vias" msgstr "Pistes et vias" @@ -2677,28 +2516,28 @@ msgid "Sizes and Widths" msgstr "Dims. et Epaiss." #: pcbnew/menubarmodedit.cpp:41 -#: pcbnew/menubarpcb.cpp:205 +#: pcbnew/menubarpcb.cpp:212 msgid "Adjust width for texts and drawings" msgstr "Ajuster dims pour textes et graphiques" #: pcbnew/menubarmodedit.cpp:46 -#: pcbnew/menubarpcb.cpp:210 +#: pcbnew/menubarpcb.cpp:217 msgid "Adjust size,shape,layers... for Pads" msgstr "Ajuster taille, forme, couches... pour pads" #: pcbnew/menubarmodedit.cpp:50 -#: pcbnew/menubarpcb.cpp:199 +#: pcbnew/menubarpcb.cpp:206 #: pcbnew/set_grid.h:39 msgid "User Grid Size" msgstr "Dim Grille utilisteur" #: pcbnew/menubarmodedit.cpp:51 -#: pcbnew/menubarpcb.cpp:200 +#: pcbnew/menubarpcb.cpp:207 msgid "Adjust User Grid" msgstr "Ajuster Grille utilisateur" #: pcbnew/menubarmodedit.cpp:60 -#: pcbnew/menubarpcb.cpp:268 +#: pcbnew/menubarpcb.cpp:275 #: eeschema/menubar.cpp:178 #: cvpcb/tool_cvpcb.cpp:158 #: kicad/buildmnu.cpp:198 @@ -2707,12 +2546,12 @@ msgid "&Contents" msgstr "&Contenu" #: pcbnew/menubarmodedit.cpp:60 -#: pcbnew/menubarpcb.cpp:268 +#: pcbnew/menubarpcb.cpp:275 msgid "Open the pcbnew manual" msgstr "Ouvrir la documentation de pcbnew" #: pcbnew/menubarmodedit.cpp:64 -#: pcbnew/menubarpcb.cpp:272 +#: pcbnew/menubarpcb.cpp:279 #: eeschema/menubar.cpp:183 #: cvpcb/tool_cvpcb.cpp:162 #: kicad/buildmnu.cpp:203 @@ -2721,7 +2560,7 @@ msgid "&About" msgstr "&Infos logiciel" #: pcbnew/menubarmodedit.cpp:64 -#: pcbnew/menubarpcb.cpp:272 +#: pcbnew/menubarpcb.cpp:279 #: eeschema/menubar.cpp:183 #: cvpcb/tool_cvpcb.cpp:163 #: kicad/buildmnu.cpp:203 @@ -2730,27 +2569,27 @@ msgid "About this application" msgstr "Au sujet de cette application" #: pcbnew/menubarmodedit.cpp:72 -#: pcbnew/menubarpcb.cpp:280 +#: pcbnew/menubarpcb.cpp:287 msgid "3D Display" msgstr "3D Visu" #: pcbnew/menubarmodedit.cpp:72 -#: pcbnew/menubarpcb.cpp:280 +#: pcbnew/menubarpcb.cpp:287 msgid "Show Board in 3D Mode" msgstr "Visualisation en 3D" #: pcbnew/menubarmodedit.cpp:76 -#: pcbnew/menubarpcb.cpp:286 +#: pcbnew/menubarpcb.cpp:293 msgid "&Dimensions" msgstr "&Dimensions" #: pcbnew/menubarmodedit.cpp:77 -#: pcbnew/menubarpcb.cpp:289 +#: pcbnew/menubarpcb.cpp:296 msgid "&3D Display" msgstr "&3D Visu" #: pcbnew/menubarmodedit.cpp:78 -#: pcbnew/menubarpcb.cpp:290 +#: pcbnew/menubarpcb.cpp:297 #: eeschema/menubar.cpp:191 #: cvpcb/tool_cvpcb.cpp:169 #: kicad/buildmnu.cpp:211 @@ -2775,7 +2614,7 @@ msgid "Footprint name:" msgstr "Nom Module: " #: pcbnew/modules.cpp:281 -#: pcbnew/onrightclick.cpp:732 +#: pcbnew/onrightclick.cpp:740 msgid "Delete Module" msgstr "Supprimer Module" @@ -2785,304 +2624,52 @@ msgstr "Supprimer Module" msgid "Value " msgstr "Valeur " -#: pcbnew/menubarpcb.cpp:42 -msgid "Load Board Ctrl-O" -msgstr "Charger Circuit Imprimé (Ctrl O)" - -#: pcbnew/menubarpcb.cpp:43 -msgid "Delete old Board and Load new Board" -msgstr "Effacer ancien C.I. et charger un nouveau" - -#: pcbnew/menubarpcb.cpp:48 -msgid "Append Board" -msgstr "Ajouter Circuit Imprimé" - -#: pcbnew/menubarpcb.cpp:49 -msgid "Add Board to old Board" -msgstr "Ajouter un C.I. au C.I. actuel" - -#: pcbnew/menubarpcb.cpp:54 -msgid "&New board" -msgstr "&Nouveau Circuit Imprimé" - -#: pcbnew/menubarpcb.cpp:55 -msgid "Clear old PCB and init a new one" -msgstr "Effacer C.I. ancien et créer un nouveau" - -#: pcbnew/menubarpcb.cpp:60 -msgid "&Rescue" -msgstr "&Secours" - -#: pcbnew/menubarpcb.cpp:61 -msgid "Clear old board and get last rescue file" -msgstr "Effacer C.I. actuel et reprendre dernier fichier secours" - -#: pcbnew/menubarpcb.cpp:66 -msgid "&Previous version" -msgstr "&Précédente version" - -#: pcbnew/menubarpcb.cpp:67 -msgid "Clear old board and get old version of board" -msgstr "Effacer C.I. actuel et reprendre ancienne version" - -#: pcbnew/menubarpcb.cpp:74 -msgid "&Save board Ctrl-S" -msgstr "Sauver Circuit Imprimé (Ctrl S)" - -#: pcbnew/menubarpcb.cpp:75 -msgid "Save current board" -msgstr "Sauver le C.I. actuel" - -#: pcbnew/menubarpcb.cpp:80 -msgid "Save Board as.." -msgstr "Sauver C.I. sous.." - -#: pcbnew/menubarpcb.cpp:81 -msgid "Save current board as.." -msgstr "Sauver le Circuit Imprimé courant sous.." - -#: pcbnew/menubarpcb.cpp:88 -#: eeschema/menubar.cpp:72 -#: gerbview/tool_gerber.cpp:88 -msgid "P&rint" -msgstr "Imp&rimer" - -#: pcbnew/menubarpcb.cpp:88 -#: eeschema/menubar.cpp:72 -#: gerbview/tool_gerber.cpp:88 -msgid "Print on current printer" -msgstr "Imprimer sur l'imprimante par défaut" - -#: pcbnew/menubarpcb.cpp:93 -#: eeschema/menubar.cpp:102 -msgid "&Plot" -msgstr "&Tracer" - -#: pcbnew/menubarpcb.cpp:94 -msgid "Plot (HPGL, PostScript, or Gerber format)" -msgstr "Tracer ( format HPGL, POSTSCRIPT ou GERBER)" - -#: pcbnew/menubarpcb.cpp:102 -msgid "&GenCAD" -msgstr "&GenCAD" - -#: pcbnew/menubarpcb.cpp:102 -msgid "Export GenCAD Format" -msgstr "Exporter en Format GenCAD" - -#: pcbnew/menubarpcb.cpp:106 -msgid "&Module report" -msgstr "Rapport &Modules" - -#: pcbnew/menubarpcb.cpp:106 -msgid "Create a pcb report (footprint report)" -msgstr "Créer un fichier rapport (rapport sur modules)" - -#: pcbnew/menubarpcb.cpp:110 -msgid "E&xport" -msgstr "E&xporter" - -#: pcbnew/menubarpcb.cpp:110 -msgid "Export board" -msgstr "Exporter le C.I." - -#: pcbnew/menubarpcb.cpp:116 -msgid "Add new footprints" -msgstr "Archiver nouveaux modules" - -#: pcbnew/menubarpcb.cpp:117 -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:121 -msgid "Create footprint archive" -msgstr "Créer Archive des modules" - -#: pcbnew/menubarpcb.cpp:122 -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:127 -msgid "Archive footprints" -msgstr "Archiver modules" - -#: pcbnew/menubarpcb.cpp:128 -msgid "Archive or Add footprints in a library file" -msgstr "Archiver ou ajouter les modules dans un fichier librairie" - -#: pcbnew/menubarpcb.cpp:132 -#: eeschema/menubar.cpp:105 -#: cvpcb/tool_cvpcb.cpp:125 -#: kicad/buildmnu.cpp:130 -#: gerbview/tool_gerber.cpp:93 -msgid "E&xit" -msgstr "&Quitter" - -#: pcbnew/menubarpcb.cpp:132 -msgid "Quit pcbnew" -msgstr "Quitter Pcbnew" - -#: pcbnew/menubarpcb.cpp:150 -#: eeschema/menubar.cpp:139 -msgid "&Libs and Dir" -msgstr "&Libs et Rep" - -#: pcbnew/menubarpcb.cpp:151 -#: eeschema/menubar.cpp:140 -#: cvpcb/tool_cvpcb.cpp:140 -msgid "Setting Libraries, Directories and others..." -msgstr "Sélectionner les librairies et répertoires" - -#: pcbnew/menubarpcb.cpp:155 -#: eeschema/menubar.cpp:145 -#: gerbview/tool_gerber.cpp:108 -msgid "&Colors" -msgstr "&Couleurs" - -#: pcbnew/menubarpcb.cpp:156 -msgid "Select Colors and Display for PCB items" -msgstr "Selection couleurs et affichage des éléments du C.I." - -#: pcbnew/menubarpcb.cpp:160 -msgid "&General Options" -msgstr "Options &générales" - -#: pcbnew/menubarpcb.cpp:161 -msgid "Select general options for pcbnew" -msgstr " Sélection options générales pour pcbnew" - -#: pcbnew/menubarpcb.cpp:165 -msgid "&Display Options" -msgstr "Options &d'affichage" - -#: pcbnew/menubarpcb.cpp:166 -msgid "Select what items are displayed" -msgstr "Sélectionner les éléments a afficher" - -#: pcbnew/menubarpcb.cpp:176 -#: eeschema/menubar.cpp:163 -msgid "&Save preferences" -msgstr "&Sauver Préférences" - -#: pcbnew/menubarpcb.cpp:177 -#: eeschema/menubar.cpp:164 -#: gerbview/tool_gerber.cpp:123 -msgid "Save application preferences" -msgstr "Sauver préférences" - -#: pcbnew/menubarpcb.cpp:181 -#: eeschema/menubar.cpp:167 -msgid "&Read preferences" -msgstr "&Lire Préférences" - -#: pcbnew/menubarpcb.cpp:182 -#: eeschema/menubar.cpp:168 -msgid "Read application preferences" -msgstr "Lire préférences de l'application" - -#: pcbnew/menubarpcb.cpp:194 -msgid "Tracks and Vias" -msgstr "Pistes et vias" - -#: pcbnew/menubarpcb.cpp:195 -msgid "Adjust size and width for tracks, vias" -msgstr "Ajuster dims et taille des pistes et vias" - -#: pcbnew/menubarpcb.cpp:204 -#: pcbnew/dialog_graphic_items_options.h:47 -msgid "Texts and Drawings" -msgstr "Textes et Tracés" - -#: pcbnew/menubarpcb.cpp:215 -#: gerbview/tool_gerber.cpp:122 -msgid "&Save Setup" -msgstr "&Sauver Options" - -#: pcbnew/menubarpcb.cpp:216 -msgid "Save options in current directory" -msgstr "Sauver les options en répertoire de travail" - -#: pcbnew/menubarpcb.cpp:225 -msgid "Create &Modules Pos" -msgstr "Créer &Modules Pos" - -#: pcbnew/menubarpcb.cpp:226 -msgid "Gen Position modules file" -msgstr "Gen fichier Position des Modules" - -#: pcbnew/menubarpcb.cpp:230 -msgid "Create &Drill file" -msgstr "Créer &Fichier de percage" - -#: pcbnew/menubarpcb.cpp:231 -msgid "Gen Drill (EXCELLON] file and/or Drill sheet" -msgstr "Gen fichier de percage (EXCELLON] et/ou plan de percage" - -#: pcbnew/menubarpcb.cpp:235 -msgid "Create &Cmp file" -msgstr "Créer &Fichier Cmp" - -#: pcbnew/menubarpcb.cpp:236 -msgid "Recreate .cmp file for CvPcb" -msgstr "Recréer le fichier .cmp pour CvPcb" - -#: pcbnew/menubarpcb.cpp:244 -msgid "Global &Deletions" -msgstr "Effacements &Généraux" - -#: pcbnew/menubarpcb.cpp:245 -msgid "Delete Tracks, Modules, Texts... on Board" -msgstr "Effacer Pistes, Modules, Textes... sur le C.I." - -#: pcbnew/menubarpcb.cpp:249 -msgid "&List nets" -msgstr "&Liste équipots" - -#: pcbnew/menubarpcb.cpp:250 -msgid "List nets (names and id)" -msgstr "Lister équipotentielles (noms et numéros d'identification)" - -#: pcbnew/menubarpcb.cpp:254 -msgid "&Track operations" -msgstr "Opéra&tions sur pistes" - -#: pcbnew/menubarpcb.cpp:255 -msgid "Clean stubs, vias, delete break points, or connect dangling tracks to pads and vias" -msgstr "Nettoyer bouts de pistes, vias, points inutiles, or connecter extrémités de pistes mal connectées au centre de pads ou vias" - -#: pcbnew/menubarpcb.cpp:259 -msgid "&Swap layers" -msgstr "&Permutte couches" - -#: pcbnew/menubarpcb.cpp:260 -msgid "Swap tracks on copper layers or drawings on others layers" -msgstr "Permutation de couches" - -#: pcbnew/menubarpcb.cpp:284 -#: eeschema/menubar.cpp:188 -#: cvpcb/tool_cvpcb.cpp:167 -#: gerbview/tool_gerber.cpp:154 -#: 3d-viewer/3d_toolbar.cpp:111 -msgid "&File" -msgstr "&Fichiers" - -#: pcbnew/menubarpcb.cpp:285 -#: eeschema/menubar.cpp:190 -#: cvpcb/tool_cvpcb.cpp:168 -#: kicad/buildmnu.cpp:210 -#: gerbview/tool_gerber.cpp:155 -#: 3d-viewer/3d_toolbar.cpp:119 -msgid "&Preferences" -msgstr "&Préférences" - -#: pcbnew/menubarpcb.cpp:287 -#: gerbview/tool_gerber.cpp:156 -msgid "&Miscellaneous" -msgstr "&Divers" - -#: pcbnew/menubarpcb.cpp:288 -msgid "P&ostprocess" -msgstr "P&ostprocesseurs" +#: pcbnew/dsn.cpp:489 +msgid "Line length exceeded" +msgstr "Longueur de ligne dépassée" + +#: pcbnew/dsn.cpp:603 +msgid "in file" +msgstr "dans le fichier" + +#: pcbnew/dsn.cpp:604 +msgid "on line" +msgstr "en ligne" + +#: pcbnew/dsn.cpp:605 +msgid "at offset" +msgstr "a l'offset" + +#: pcbnew/dsn.cpp:653 +msgid "String delimiter must be a single character of ', \", or $" +msgstr "Le caractère de délimitation de ligne doit être un seul caractère ', \", or $" + +#: pcbnew/dsn.cpp:743 +msgid "Un-terminated delimited string" +msgstr "Ligne délimitée non terminée" + +#: pcbnew/specctra.cpp:93 +#: pcbnew/specctra.cpp:100 +msgid "Expecting" +msgstr "Attendu" + +#: pcbnew/specctra.cpp:107 +#: pcbnew/specctra.cpp:114 +msgid "Unexpected" +msgstr "Inattendu" + +#: pcbnew/specctra.cpp:274 +#: pcbnew/specctra.cpp:304 +#: pcbnew/specctra.cpp:3335 +#: pcbnew/specctra.cpp:3352 +#, c-format +msgid "Unable to open file \"%s\"" +msgstr "Ne peut pas ouvrirle fichier \"%s\"" + +#: pcbnew/specctra.cpp:3288 +#, c-format +msgid "System file error writing to file \"%s\"" +msgstr "Erreur système sur écriture fichier \"%s\"" #: pcbnew/onrightclick.cpp:82 #, c-format @@ -3145,8 +2732,8 @@ msgid "End edge zone" msgstr "Fin contour Zone" #: pcbnew/onrightclick.cpp:279 -msgid "Delete edge zone" -msgstr "Supprimer Contour Zone" +msgid "Delete Current Edge" +msgstr "Effacer Contour Zone Courant" #: pcbnew/onrightclick.cpp:298 msgid "Delete Marker" @@ -3172,164 +2759,164 @@ msgstr "Editer Mire" msgid "Delete Target" msgstr "Supprimer Mire" -#: pcbnew/onrightclick.cpp:347 +#: pcbnew/onrightclick.cpp:351 msgid "Get and Move Footprint" msgstr "Sel et Dépl.t module" -#: pcbnew/onrightclick.cpp:361 +#: pcbnew/onrightclick.cpp:365 msgid "Fill or Refill All Zones" msgstr "Remplir ou Re-remplir Toutes les Zones" -#: pcbnew/onrightclick.cpp:366 -#: pcbnew/onrightclick.cpp:377 -#: pcbnew/onrightclick.cpp:390 -#: pcbnew/onrightclick.cpp:451 +#: pcbnew/onrightclick.cpp:370 +#: pcbnew/onrightclick.cpp:381 +#: pcbnew/onrightclick.cpp:394 +#: pcbnew/onrightclick.cpp:455 msgid "Select Working Layer" msgstr "Sélection de la couche de travail" -#: pcbnew/onrightclick.cpp:375 -#: pcbnew/onrightclick.cpp:448 +#: pcbnew/onrightclick.cpp:379 +#: pcbnew/onrightclick.cpp:452 msgid "Select Track Width" msgstr "Sélection Epais. Piste" -#: pcbnew/onrightclick.cpp:379 +#: pcbnew/onrightclick.cpp:383 msgid "Select layer pair for vias" msgstr "Selection couple de couches pour Vias" -#: pcbnew/onrightclick.cpp:396 +#: pcbnew/onrightclick.cpp:400 msgid "Footprint documentation" msgstr "Documentation des modules" -#: pcbnew/onrightclick.cpp:406 +#: pcbnew/onrightclick.cpp:410 msgid "Glob Move and Place" msgstr "Move et Place Globaux" -#: pcbnew/onrightclick.cpp:408 +#: pcbnew/onrightclick.cpp:412 msgid "Unlock All Modules" msgstr "Déverrouiller tous les Modules" -#: pcbnew/onrightclick.cpp:410 +#: pcbnew/onrightclick.cpp:414 msgid "Lock All Modules" msgstr "Verrouiller tous les Modules" -#: pcbnew/onrightclick.cpp:413 +#: pcbnew/onrightclick.cpp:417 msgid "Move All Modules" msgstr "Déplace tous les Modules" -#: pcbnew/onrightclick.cpp:414 +#: pcbnew/onrightclick.cpp:418 msgid "Move New Modules" msgstr "Déplace nouveaux Modules" -#: pcbnew/onrightclick.cpp:416 +#: pcbnew/onrightclick.cpp:420 msgid "Autoplace All Modules" msgstr "Autoplace Tous Modules" -#: pcbnew/onrightclick.cpp:417 +#: pcbnew/onrightclick.cpp:421 msgid "Autoplace New Modules" msgstr "AutoPlace nouveaux Modules" -#: pcbnew/onrightclick.cpp:418 +#: pcbnew/onrightclick.cpp:422 msgid "Autoplace Next Module" msgstr "Autoplace Module suivant" -#: pcbnew/onrightclick.cpp:421 +#: pcbnew/onrightclick.cpp:425 msgid "Orient All Modules" msgstr "Oriente Tous Modules" -#: pcbnew/onrightclick.cpp:428 +#: pcbnew/onrightclick.cpp:432 msgid "Global Autoroute" msgstr "Autoroutage global" -#: pcbnew/onrightclick.cpp:430 +#: pcbnew/onrightclick.cpp:434 msgid "Select layer pair" msgstr "Selection couple de couches" -#: pcbnew/onrightclick.cpp:432 +#: pcbnew/onrightclick.cpp:436 msgid "Autoroute All Modules" msgstr "Autoroute Tous Modules" -#: pcbnew/onrightclick.cpp:434 +#: pcbnew/onrightclick.cpp:438 msgid "Reset Unrouted" msgstr "Réinit Non routés" -#: pcbnew/onrightclick.cpp:439 +#: pcbnew/onrightclick.cpp:443 msgid "Global AutoRouter" msgstr "Autorouteur Global" -#: pcbnew/onrightclick.cpp:441 +#: pcbnew/onrightclick.cpp:445 msgid "Read Global AutoRouter Data" msgstr "Lire Données de L'autorouteur global" -#: pcbnew/onrightclick.cpp:478 +#: pcbnew/onrightclick.cpp:482 msgid "Flip Block (alt + drag mouse)" msgstr "Inversion Bloc (alt + drag mouse)" -#: pcbnew/onrightclick.cpp:501 +#: pcbnew/onrightclick.cpp:505 msgid "Drag Via" msgstr "Drag Via" -#: pcbnew/onrightclick.cpp:505 +#: pcbnew/onrightclick.cpp:509 #: pcbnew/onrightclick.cpp:579 msgid "Edit Via" msgstr "Edit Via" -#: pcbnew/onrightclick.cpp:507 +#: pcbnew/onrightclick.cpp:511 msgid "Set via hole to Default" msgstr "Ajuste perçage via à défaut" -#: pcbnew/onrightclick.cpp:509 +#: pcbnew/onrightclick.cpp:513 msgid "Set via hole to alt value" msgstr "Ajuste perçage via à valeur alternative" -#: pcbnew/onrightclick.cpp:511 +#: pcbnew/onrightclick.cpp:515 msgid "Set the via hole alt value" msgstr "Ajuste la valeur alt. perçage via" -#: pcbnew/onrightclick.cpp:513 +#: pcbnew/onrightclick.cpp:517 msgid "Export Via hole to alt value" msgstr "Exporte perçage via à valeur alt." -#: pcbnew/onrightclick.cpp:515 +#: pcbnew/onrightclick.cpp:519 msgid "Export via hole to others id vias" msgstr "Exporte perçage via aux autres semblables." -#: pcbnew/onrightclick.cpp:517 +#: pcbnew/onrightclick.cpp:521 msgid "Set ALL via holes to default" msgstr "Ajuste perçage TOUTES vias au défaut" -#: pcbnew/onrightclick.cpp:530 +#: pcbnew/onrightclick.cpp:534 msgid "Move Node" msgstr "Déplace Noeud" -#: pcbnew/onrightclick.cpp:535 +#: pcbnew/onrightclick.cpp:539 msgid "Drag Segments, keep slope" msgstr "Drag Segments, garder direction" -#: pcbnew/onrightclick.cpp:537 +#: pcbnew/onrightclick.cpp:541 msgid "Drag Segment" msgstr "Drag Segment" -#: pcbnew/onrightclick.cpp:540 +#: pcbnew/onrightclick.cpp:544 msgid "Move Segment" msgstr "Déplace Segment" -#: pcbnew/onrightclick.cpp:543 +#: pcbnew/onrightclick.cpp:547 msgid "Break Track" msgstr "Briser piste" -#: pcbnew/onrightclick.cpp:550 +#: pcbnew/onrightclick.cpp:554 msgid "Place Node" msgstr "Place noeud" -#: pcbnew/onrightclick.cpp:557 +#: pcbnew/onrightclick.cpp:561 msgid "End Track" msgstr "Terminer Piste" -#: pcbnew/onrightclick.cpp:560 +#: pcbnew/onrightclick.cpp:564 msgid "Place Via" msgstr "Place Via" -#: pcbnew/onrightclick.cpp:568 +#: pcbnew/onrightclick.cpp:569 msgid "Place Micro Via" msgstr "Place Micro Via" @@ -3405,85 +2992,93 @@ msgstr "Net verrouill msgid "Net Locked: No" msgstr "Net verrouillé: Non" -#: pcbnew/onrightclick.cpp:648 +#: pcbnew/onrightclick.cpp:649 msgid "Place Corner" msgstr "Place Sommet" -#: pcbnew/onrightclick.cpp:654 +#: pcbnew/onrightclick.cpp:652 +msgid "Place Zone" +msgstr "Place Zone" + +#: pcbnew/onrightclick.cpp:658 #: pcbnew/dialog_drc.cpp:477 msgid "Zones" msgstr "Zones" -#: pcbnew/onrightclick.cpp:659 +#: pcbnew/onrightclick.cpp:663 msgid "Move Corner" msgstr "Déplace Sommet" -#: pcbnew/onrightclick.cpp:661 +#: pcbnew/onrightclick.cpp:665 msgid "Delete Corner" msgstr "Supprimer Sommet" -#: pcbnew/onrightclick.cpp:666 +#: pcbnew/onrightclick.cpp:670 msgid "Create Corner" msgstr "Créer Sommet" -#: pcbnew/onrightclick.cpp:671 +#: pcbnew/onrightclick.cpp:675 msgid "Add Similar Zone" msgstr "Addition d'une Zone Semblable" -#: pcbnew/onrightclick.cpp:674 +#: pcbnew/onrightclick.cpp:678 msgid "Add Cutout Area" msgstr "Addition d'une Zone Interdite" -#: pcbnew/onrightclick.cpp:678 +#: pcbnew/onrightclick.cpp:682 msgid "Fill Zone" msgstr "Remplir Zone" -#: pcbnew/onrightclick.cpp:681 +#: pcbnew/onrightclick.cpp:685 +msgid "Move Zone" +msgstr "Déplace Zone" + +#: pcbnew/onrightclick.cpp:688 msgid "Edit Zone Params" msgstr "Editer Paramètres de la Zone" -#: pcbnew/onrightclick.cpp:685 +#: pcbnew/onrightclick.cpp:693 msgid "Delete Cutout" msgstr "Supprimer Zone Interdite" -#: pcbnew/onrightclick.cpp:688 +#: pcbnew/onrightclick.cpp:696 msgid "Delete Zone Outline" msgstr "Supprimer Contour de Zone" -#: pcbnew/onrightclick.cpp:710 -#: pcbnew/onrightclick.cpp:755 -#: pcbnew/onrightclick.cpp:793 -#: pcbnew/onrightclick.cpp:852 +#: pcbnew/onrightclick.cpp:718 +#: pcbnew/onrightclick.cpp:763 +#: pcbnew/onrightclick.cpp:801 +#: pcbnew/onrightclick.cpp:860 msgid "Move" msgstr "Move" -#: pcbnew/onrightclick.cpp:713 -#: pcbnew/onrightclick.cpp:795 +#: pcbnew/onrightclick.cpp:721 +#: pcbnew/onrightclick.cpp:803 msgid "Drag" msgstr "Drag" -#: pcbnew/onrightclick.cpp:717 +#: pcbnew/onrightclick.cpp:725 msgid "Rotate +" msgstr "Rotation +" -#: pcbnew/onrightclick.cpp:721 +#: pcbnew/onrightclick.cpp:729 #: eeschema/onrightclick.cpp:301 msgid "Rotate -" msgstr "Rotation -" -#: pcbnew/onrightclick.cpp:722 +#: pcbnew/onrightclick.cpp:730 msgid "Flip" msgstr "Change côté" -#: pcbnew/onrightclick.cpp:812 +#: pcbnew/onrightclick.cpp:820 msgid "delete" msgstr "Effacer" -#: pcbnew/onrightclick.cpp:819 +#: pcbnew/onrightclick.cpp:827 msgid "Autoroute Pad" msgstr "Autoroute Pad" -#: pcbnew/onrightclick.cpp:820 +#: pcbnew/onrightclick.cpp:828 msgid "Autoroute Net" msgstr "Autoroute Net" @@ -3539,48 +3134,48 @@ msgstr "D msgid "Copy Block" msgstr "Copie Bloc" -#: pcbnew/edit.cpp:171 +#: pcbnew/edit.cpp:176 #: pcbnew/editmod.cpp:45 msgid "Module Editor" msgstr "Ouvrir Editeur de modules" -#: pcbnew/edit.cpp:251 +#: pcbnew/edit.cpp:256 msgid "Add Tracks" msgstr "Addition de pistes" -#: pcbnew/edit.cpp:260 +#: pcbnew/edit.cpp:265 msgid "Add Zones" msgstr "Addition de Zones" -#: pcbnew/edit.cpp:262 +#: pcbnew/edit.cpp:267 msgid "Warning: Display Zone is OFF!!!" msgstr "Attention: Affichage zones désactivé !!!" -#: pcbnew/edit.cpp:269 +#: pcbnew/edit.cpp:274 msgid "Add Layer Alignment Target" msgstr "Ajouter Mire de superposition" -#: pcbnew/edit.cpp:273 +#: pcbnew/edit.cpp:278 msgid "Adjust Zero" msgstr "Ajuster Zéro" -#: pcbnew/edit.cpp:279 +#: pcbnew/edit.cpp:284 msgid "Add Graphic" msgstr "Addition éléments graphiques" -#: pcbnew/edit.cpp:287 +#: pcbnew/edit.cpp:292 msgid "Add Modules" msgstr "Addition de Modules" -#: pcbnew/edit.cpp:291 +#: pcbnew/edit.cpp:296 msgid "Add Dimension" msgstr "Ajout de cotes" -#: pcbnew/edit.cpp:299 +#: pcbnew/edit.cpp:304 msgid "Net Highlight" msgstr "Surbrillance des équipotentielles" -#: pcbnew/edit.cpp:303 +#: pcbnew/edit.cpp:308 msgid "Local Ratsnest" msgstr "Monter le chevelu général" @@ -3744,7 +3339,7 @@ msgstr "Arc" #: pcbnew/class_board_item.cpp:139 #: pcbnew/pcbframe.cpp:447 -#: pcbnew/class_track.cpp:712 +#: pcbnew/class_track.cpp:765 msgid "Track" msgstr "Piste" @@ -3758,22 +3353,22 @@ msgid "Length:" msgstr "Long.:" #: pcbnew/class_board_item.cpp:152 -#: pcbnew/class_zone.cpp:448 +#: pcbnew/class_zone.cpp:477 msgid "Zone Outline" msgstr "Contour de Zone" #: pcbnew/class_board_item.cpp:156 -#: pcbnew/class_zone.cpp:451 +#: pcbnew/class_zone.cpp:480 msgid "(Cutout)" msgstr "(Cutout)" #: pcbnew/class_board_item.cpp:175 -#: pcbnew/class_zone.cpp:471 +#: pcbnew/class_zone.cpp:500 msgid "Not Found" msgstr " Non Trouvé" #: pcbnew/class_board_item.cpp:181 -#: pcbnew/class_track.cpp:716 +#: pcbnew/class_track.cpp:769 msgid "Zone" msgstr "Zone" @@ -3792,7 +3387,7 @@ msgid "Micro Via" msgstr "Micro Via" #: pcbnew/class_board_item.cpp:227 -#: pcbnew/class_marker.cpp:112 +#: pcbnew/class_marker.cpp:133 msgid "Marker" msgstr "Marqueur" @@ -3816,7 +3411,7 @@ msgstr "Contour Zone" msgid "Module Editor: module modified!, Continue ?" msgstr "Editeur de Module: module modifié! Continuer ?" -#: pcbnew/class_marker.cpp:116 +#: pcbnew/class_marker.cpp:137 msgid "ErrType" msgstr "Type Err" @@ -3953,28 +3548,33 @@ msgstr "Net Code" #: pcbnew/affiche.cpp:52 #: pcbnew/class_module.cpp:1228 -#: pcbnew/class_board.cpp:396 +#: pcbnew/class_board.cpp:402 msgid "Pads" msgstr "Pads" -#: pcbnew/class_track.cpp:738 +#: pcbnew/class_track.cpp:791 #: pcbnew/zones.cpp:873 -#: pcbnew/zones_by_polygon.cpp:864 -#: pcbnew/class_zone.cpp:474 +#: pcbnew/zones_by_polygon.cpp:900 +#: pcbnew/class_zone.cpp:503 msgid "NetName" msgstr "NetName" -#: pcbnew/class_track.cpp:743 -#: pcbnew/class_zone.cpp:479 +#: pcbnew/class_track.cpp:796 +#: pcbnew/class_zone.cpp:508 msgid "NetCode" msgstr "NetCode" -#: pcbnew/class_track.cpp:763 +#: pcbnew/class_track.cpp:800 +#: pcbnew/class_drawsegment.cpp:173 +msgid "Segment" +msgstr "Segment" + +#: pcbnew/class_track.cpp:816 #: pcbnew/class_module.cpp:1236 msgid "Stat" msgstr "Stat" -#: pcbnew/class_track.cpp:787 +#: pcbnew/class_track.cpp:840 msgid "Diam" msgstr "Diam" @@ -4333,40 +3933,207 @@ msgid "Delete Current Zone Edges" msgstr "Effacer contour zone courant" #: pcbnew/zones.cpp:871 -#: pcbnew/zones_by_polygon.cpp:862 +#: pcbnew/zones_by_polygon.cpp:898 msgid "No Net" msgstr "No Net" -#: pcbnew/dsn.cpp:469 -msgid "Line length exceeded" -msgstr "Longueur de ligne dépassée" +#: pcbnew/tool_pcb.cpp:50 +msgid "" +"Show active layer selections\n" +"and select layer pair for route and place via" +msgstr "" +"Affiche selections couche active\n" +"et selection paire de couches pour routage and placement via" -#: pcbnew/dsn.cpp:579 -msgid "in file" -msgstr "dans le fichier" +#: pcbnew/tool_pcb.cpp:238 +msgid "New Board" +msgstr "Nouveau Circuit Imprimé" -#: pcbnew/dsn.cpp:580 -msgid "on line" -msgstr "en ligne" +#: pcbnew/tool_pcb.cpp:240 +msgid "Open existing Board" +msgstr "Ouvrir C.I. existant" -#: pcbnew/dsn.cpp:581 -msgid "at offset" -msgstr "a l'offset" +#: pcbnew/tool_pcb.cpp:241 +msgid "Save Board" +msgstr "Sauver Circuit Imprimé" -#: pcbnew/dsn.cpp:629 -msgid "String delimiter must be a single character of ', \", or $" -msgstr "Le caractère de délimitation de ligne doit être un seul caractère ', \", or $" +#: pcbnew/tool_pcb.cpp:245 +#: eeschema/tool_sch.cpp:65 +#: gerbview/tool_gerber.cpp:232 +msgid "page settings (size, texts)" +msgstr "Ajustage de la feuille de dessin (dimensions, textes)" -#: pcbnew/dsn.cpp:708 -msgid "Un-terminated delimited string" -msgstr "Ligne délimitée non terminée" +#: pcbnew/tool_pcb.cpp:249 +msgid "Open Module Editor" +msgstr "Ouvrir Editeur de modules" -#: pcbnew/zones_by_polygon.cpp:324 -#: pcbnew/zones_by_polygon.cpp:378 -#: pcbnew/zones_by_polygon.cpp:667 +#: pcbnew/tool_pcb.cpp:252 +#: eeschema/tool_sch.cpp:81 +#: gerbview/tool_gerber.cpp:243 +msgid "Cut selected item" +msgstr "Suppression des éléments sélectionnés" + +#: pcbnew/tool_pcb.cpp:256 +#: eeschema/tool_sch.cpp:84 +#: gerbview/tool_gerber.cpp:248 +msgid "Copy selected item" +msgstr "Copie des éléments sélectionnés" + +#: pcbnew/tool_pcb.cpp:258 +#: eeschema/tool_sch.cpp:87 +#: gerbview/tool_gerber.cpp:254 +msgid "Paste" +msgstr "Copie des éléments sauvegardés" + +#: pcbnew/tool_pcb.cpp:261 +#: gerbview/tool_gerber.cpp:261 +msgid "Undelete" +msgstr "Annulation du dernier effacement" + +#: pcbnew/tool_pcb.cpp:264 +msgid "Print Board" +msgstr "Imprimer C.I." + +#: pcbnew/tool_pcb.cpp:266 +msgid "Plot (HPGL, PostScript, or GERBER format)" +msgstr "Tracer en format HPGL, POSTSCRIPT ou GERBER" + +#: pcbnew/tool_pcb.cpp:285 +#: eeschema/tool_sch.cpp:125 +msgid "Find components and texts" +msgstr "Recherche de composants et textes" + +#: pcbnew/tool_pcb.cpp:291 +msgid "Read Netlist" +msgstr "Lire Netliste" + +#: pcbnew/tool_pcb.cpp:293 +msgid "Pcb Design Rules Check" +msgstr "Controle des règles de conception" + +#: pcbnew/tool_pcb.cpp:304 +msgid "Mode Module: Manual and Automatic Move or Place for modules" +msgstr "Mode Module: Déplacements ou Placement Manuel ou Automatique des modules" + +#: pcbnew/tool_pcb.cpp:307 +msgid "Mode Track and Autorouting" +msgstr "Mode Pistes and Autoroutage" + +#: pcbnew/tool_pcb.cpp:331 +msgid "Drc OFF" +msgstr "Drc DESACTIVEE" + +#: pcbnew/tool_pcb.cpp:348 +msgid "Show General Ratsnest" +msgstr "Monter le chevelu général" + +#: pcbnew/tool_pcb.cpp:351 +msgid "Show Module Ratsnest when moving" +msgstr "Monter le chevelu du module pendant déplacement" + +#: pcbnew/tool_pcb.cpp:356 +msgid "Enable Auto Del Track" +msgstr "Autoriser l'effacement automatique des pistes" + +#: pcbnew/tool_pcb.cpp:369 +msgid "Show Tracks Sketch" +msgstr "Afficher pistes en contour" + +#: pcbnew/tool_pcb.cpp:382 +msgid "" +"Display auxiliary vertical toolbar (tools for micro wave applications)\n" +" This is a very experimental feature (under development)" +msgstr "" +"Affiche toolbar vertical auxiliaire (outils pour applications micro-ondes)\n" +"C'est un outil expérimental (en cours de développement)" + +#: pcbnew/tool_pcb.cpp:411 +msgid "Net highlight" +msgstr "Surbrillance des équipotentielles" + +#: pcbnew/tool_pcb.cpp:415 +msgid "Display local ratsnest (pad or module)" +msgstr "Afficher le chevelu local (pastilles ou modules)" + +#: pcbnew/tool_pcb.cpp:420 +msgid "Add modules" +msgstr "Addition de Modules" + +#: pcbnew/tool_pcb.cpp:424 +msgid "Add tracks and vias" +msgstr "Ajouter pistes et vias" + +#: pcbnew/tool_pcb.cpp:428 +msgid "Add zones" +msgstr "Addition de Zones" + +#: pcbnew/tool_pcb.cpp:445 +msgid "Add text" +msgstr "Ajout de Texte" + +#: pcbnew/tool_pcb.cpp:450 +msgid "Add dimension" +msgstr "Ajout des cotes" + +#: pcbnew/tool_pcb.cpp:454 +#: gerbview/tool_gerber.cpp:378 +msgid "Add layer alignment target" +msgstr "Ajouter Mire de superposition" + +#: pcbnew/tool_pcb.cpp:464 +msgid "Offset adjust for drill and place files" +msgstr "Ajuste offset pour fichier de perçage et placement" + +#: pcbnew/tool_pcb.cpp:489 +msgid "Create line of specified length for microwave applications" +msgstr "Creation de lignes de longueur spécifiée (pour applications micro-ondes)" + +#: pcbnew/tool_pcb.cpp:495 +msgid "Create gap of specified length for microwave applications" +msgstr "Creation de gaps de longueur spécifiée (pour applications micro-ondes)" + +#: pcbnew/tool_pcb.cpp:503 +msgid "Create stub of specified length for microwave applications" +msgstr "Creation de stub de longueur spécifiée (pour applications micro-ondes)" + +#: pcbnew/tool_pcb.cpp:509 +msgid "Create stub (arc) of specified length for microwave applications" +msgstr "Creation de stub (arc) de longueur spécifiée (pour applications micro-ondes)" + +#: pcbnew/tool_pcb.cpp:516 +msgid "Create a polynomial shape for microwave applications" +msgstr "Creation de formes polynomiales (pour applications micro-ondes)" + +#: pcbnew/tool_pcb.cpp:570 +msgid "Zoom " +msgstr "Zoom " + +#: pcbnew/tool_pcb.cpp:584 +#: eeschema/eelayer.cpp:223 +#: pcbnew/set_color.h:414 +#: eeschema/eelayer.h:210 +#: gerbview/set_color.h:324 +msgid "Grid" +msgstr "Grille" + +#: pcbnew/tool_pcb.cpp:691 +msgid "+/- to switch" +msgstr "+/- pour commuter" + +#: pcbnew/zones_by_polygon.cpp:342 +#: pcbnew/zones_by_polygon.cpp:380 +#: pcbnew/zones_by_polygon.cpp:713 msgid "Area: DRC outline error" msgstr "Zone; Erreur DRC sur contour" +#: pcbnew/zones_by_polygon.cpp:540 +msgid "DRC error: this start point is inside or too close an other area" +msgstr "Erreur DRC: ce point de départ est a l'intérieur d'une autre zone ou trop proche" + +#: pcbnew/zones_by_polygon.cpp:638 +msgid "DRC error: closing this area creates a drc error with an other area" +msgstr "Erreur DRC: la fermeture de cette zone crée une erreur DRC avec une autre zone" + #: pcbnew/move_or_drag_track.cpp:714 msgid "Unable to drag this segment: too many segments connected" msgstr "Impossible de drag ce segment: trop de segments connectés" @@ -4585,27 +4352,342 @@ msgstr "Chercher Marqueur" msgid "Find Next Marker" msgstr "Marqueur Suivant" -#: pcbnew/class_board.cpp:409 +#: pcbnew/class_board.cpp:415 msgid "Nodes" msgstr "Nodes" -#: pcbnew/class_board.cpp:412 +#: pcbnew/class_board.cpp:418 msgid "Links" msgstr "Liens" -#: pcbnew/class_board.cpp:415 +#: pcbnew/class_board.cpp:421 msgid "Nets" msgstr "Nets" -#: pcbnew/class_board.cpp:418 +#: pcbnew/class_board.cpp:424 msgid "Connect" msgstr "Connect" -#: pcbnew/class_board.cpp:421 +#: pcbnew/class_board.cpp:427 #: eeschema/eelayer.h:116 msgid "NoConn" msgstr "Non Conn" +#: pcbnew/class_drawsegment.cpp:161 +msgid "Shape" +msgstr "Forme" + +#: pcbnew/class_drawsegment.cpp:168 +msgid " Arc " +msgstr " Arc " + +#: pcbnew/menubarpcb.cpp:42 +msgid "Load Board Ctrl-O" +msgstr "Charger Circuit Imprimé (Ctrl O)" + +#: pcbnew/menubarpcb.cpp:43 +msgid "Delete old Board and Load new Board" +msgstr "Effacer ancien C.I. et charger un nouveau" + +#: pcbnew/menubarpcb.cpp:48 +msgid "Append Board" +msgstr "Ajouter Circuit Imprimé" + +#: pcbnew/menubarpcb.cpp:49 +msgid "Add Board to old Board" +msgstr "Ajouter un C.I. au C.I. actuel" + +#: pcbnew/menubarpcb.cpp:54 +msgid "&New board" +msgstr "&Nouveau Circuit Imprimé" + +#: pcbnew/menubarpcb.cpp:55 +msgid "Clear old PCB and init a new one" +msgstr "Effacer C.I. ancien et créer un nouveau" + +#: pcbnew/menubarpcb.cpp:60 +msgid "&Rescue" +msgstr "&Secours" + +#: pcbnew/menubarpcb.cpp:61 +msgid "Clear old board and get last rescue file" +msgstr "Effacer C.I. actuel et reprendre dernier fichier secours" + +#: pcbnew/menubarpcb.cpp:66 +msgid "&Previous version" +msgstr "&Précédente version" + +#: pcbnew/menubarpcb.cpp:67 +msgid "Clear old board and get old version of board" +msgstr "Effacer C.I. actuel et reprendre ancienne version" + +#: pcbnew/menubarpcb.cpp:74 +msgid "&Save board Ctrl-S" +msgstr "Sauver Circuit Imprimé (Ctrl S)" + +#: pcbnew/menubarpcb.cpp:75 +msgid "Save current board" +msgstr "Sauver le C.I. actuel" + +#: pcbnew/menubarpcb.cpp:80 +msgid "Save Board as.." +msgstr "Sauver C.I. sous.." + +#: pcbnew/menubarpcb.cpp:81 +msgid "Save current board as.." +msgstr "Sauver le Circuit Imprimé courant sous.." + +#: pcbnew/menubarpcb.cpp:88 +#: eeschema/menubar.cpp:72 +#: gerbview/tool_gerber.cpp:88 +msgid "P&rint" +msgstr "Imp&rimer" + +#: pcbnew/menubarpcb.cpp:88 +#: eeschema/menubar.cpp:72 +#: gerbview/tool_gerber.cpp:88 +msgid "Print on current printer" +msgstr "Imprimer sur l'imprimante par défaut" + +#: pcbnew/menubarpcb.cpp:93 +#: eeschema/menubar.cpp:102 +msgid "&Plot" +msgstr "&Tracer" + +#: pcbnew/menubarpcb.cpp:94 +msgid "Plot (HPGL, PostScript, or Gerber format)" +msgstr "Tracer ( format HPGL, POSTSCRIPT ou GERBER)" + +#: pcbnew/menubarpcb.cpp:103 +msgid "&Specctra DSN" +msgstr "&Specctra DSN" + +#: pcbnew/menubarpcb.cpp:103 +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:108 +msgid "&GenCAD" +msgstr "&GenCAD" + +#: pcbnew/menubarpcb.cpp:108 +msgid "Export GenCAD Format" +msgstr "Exporter en Format GenCAD" + +#: pcbnew/menubarpcb.cpp:113 +msgid "&Module report" +msgstr "Rapport &Modules" + +#: pcbnew/menubarpcb.cpp:113 +msgid "Create a pcb report (footprint report)" +msgstr "Créer un fichier rapport (rapport sur modules)" + +#: pcbnew/menubarpcb.cpp:117 +msgid "E&xport" +msgstr "E&xporter" + +#: pcbnew/menubarpcb.cpp:117 +msgid "Export board" +msgstr "Exporter le C.I." + +#: pcbnew/menubarpcb.cpp:123 +msgid "Add new footprints" +msgstr "Archiver nouveaux modules" + +#: pcbnew/menubarpcb.cpp:124 +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:128 +msgid "Create footprint archive" +msgstr "Créer Archive des modules" + +#: pcbnew/menubarpcb.cpp:129 +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:134 +msgid "Archive footprints" +msgstr "Archiver modules" + +#: pcbnew/menubarpcb.cpp:135 +msgid "Archive or Add footprints in a library file" +msgstr "Archiver ou ajouter les modules dans un fichier librairie" + +#: pcbnew/menubarpcb.cpp:139 +#: eeschema/menubar.cpp:105 +#: cvpcb/tool_cvpcb.cpp:125 +#: kicad/buildmnu.cpp:130 +#: gerbview/tool_gerber.cpp:93 +msgid "E&xit" +msgstr "&Quitter" + +#: pcbnew/menubarpcb.cpp:139 +msgid "Quit pcbnew" +msgstr "Quitter Pcbnew" + +#: pcbnew/menubarpcb.cpp:157 +#: eeschema/menubar.cpp:139 +msgid "&Libs and Dir" +msgstr "&Libs et Rep" + +#: pcbnew/menubarpcb.cpp:158 +#: eeschema/menubar.cpp:140 +#: cvpcb/tool_cvpcb.cpp:140 +msgid "Setting Libraries, Directories and others..." +msgstr "Sélectionner les librairies et répertoires" + +#: pcbnew/menubarpcb.cpp:162 +#: eeschema/menubar.cpp:145 +#: gerbview/tool_gerber.cpp:108 +msgid "&Colors" +msgstr "&Couleurs" + +#: pcbnew/menubarpcb.cpp:163 +msgid "Select Colors and Display for PCB items" +msgstr "Selection couleurs et affichage des éléments du C.I." + +#: pcbnew/menubarpcb.cpp:167 +msgid "&General Options" +msgstr "Options &générales" + +#: pcbnew/menubarpcb.cpp:168 +msgid "Select general options for pcbnew" +msgstr " Sélection options générales pour pcbnew" + +#: pcbnew/menubarpcb.cpp:172 +msgid "&Display Options" +msgstr "Options &d'affichage" + +#: pcbnew/menubarpcb.cpp:173 +msgid "Select what items are displayed" +msgstr "Sélectionner les éléments a afficher" + +#: pcbnew/menubarpcb.cpp:183 +#: eeschema/menubar.cpp:163 +msgid "&Save preferences" +msgstr "&Sauver Préférences" + +#: pcbnew/menubarpcb.cpp:184 +#: eeschema/menubar.cpp:164 +#: gerbview/tool_gerber.cpp:123 +msgid "Save application preferences" +msgstr "Sauver préférences" + +#: pcbnew/menubarpcb.cpp:188 +#: eeschema/menubar.cpp:167 +msgid "&Read preferences" +msgstr "&Lire Préférences" + +#: pcbnew/menubarpcb.cpp:189 +#: eeschema/menubar.cpp:168 +msgid "Read application preferences" +msgstr "Lire préférences de l'application" + +#: pcbnew/menubarpcb.cpp:201 +msgid "Tracks and Vias" +msgstr "Pistes et vias" + +#: pcbnew/menubarpcb.cpp:202 +msgid "Adjust size and width for tracks, vias" +msgstr "Ajuster dims et taille des pistes et vias" + +#: pcbnew/menubarpcb.cpp:211 +#: pcbnew/dialog_graphic_items_options.h:47 +msgid "Texts and Drawings" +msgstr "Textes et Tracés" + +#: pcbnew/menubarpcb.cpp:222 +#: gerbview/tool_gerber.cpp:122 +msgid "&Save Setup" +msgstr "&Sauver Options" + +#: pcbnew/menubarpcb.cpp:223 +msgid "Save options in current directory" +msgstr "Sauver les options en répertoire de travail" + +#: pcbnew/menubarpcb.cpp:232 +msgid "Create &Modules Pos" +msgstr "Créer &Modules Pos" + +#: pcbnew/menubarpcb.cpp:233 +msgid "Gen Position modules file" +msgstr "Gen fichier Position des Modules" + +#: pcbnew/menubarpcb.cpp:237 +msgid "Create &Drill file" +msgstr "Créer &Fichier de percage" + +#: pcbnew/menubarpcb.cpp:238 +msgid "Gen Drill (EXCELLON] file and/or Drill sheet" +msgstr "Gen fichier de percage (EXCELLON] et/ou plan de percage" + +#: pcbnew/menubarpcb.cpp:242 +msgid "Create &Cmp file" +msgstr "Créer &Fichier Cmp" + +#: pcbnew/menubarpcb.cpp:243 +msgid "Recreate .cmp file for CvPcb" +msgstr "Recréer le fichier .cmp pour CvPcb" + +#: pcbnew/menubarpcb.cpp:251 +msgid "Global &Deletions" +msgstr "Effacements &Généraux" + +#: pcbnew/menubarpcb.cpp:252 +msgid "Delete Tracks, Modules, Texts... on Board" +msgstr "Effacer Pistes, Modules, Textes... sur le C.I." + +#: pcbnew/menubarpcb.cpp:256 +msgid "&List nets" +msgstr "&Liste équipots" + +#: pcbnew/menubarpcb.cpp:257 +msgid "List nets (names and id)" +msgstr "Lister équipotentielles (noms et numéros d'identification)" + +#: pcbnew/menubarpcb.cpp:261 +msgid "&Track operations" +msgstr "Opéra&tions sur pistes" + +#: pcbnew/menubarpcb.cpp:262 +msgid "Clean stubs, vias, delete break points, or connect dangling tracks to pads and vias" +msgstr "Nettoyer bouts de pistes, vias, points inutiles, or connecter extrémités de pistes mal connectées au centre de pads ou vias" + +#: pcbnew/menubarpcb.cpp:266 +msgid "&Swap layers" +msgstr "&Permutte couches" + +#: pcbnew/menubarpcb.cpp:267 +msgid "Swap tracks on copper layers or drawings on others layers" +msgstr "Permutation de couches" + +#: pcbnew/menubarpcb.cpp:291 +#: eeschema/menubar.cpp:188 +#: cvpcb/tool_cvpcb.cpp:167 +#: gerbview/tool_gerber.cpp:154 +#: 3d-viewer/3d_toolbar.cpp:111 +msgid "&File" +msgstr "&Fichiers" + +#: pcbnew/menubarpcb.cpp:292 +#: eeschema/menubar.cpp:190 +#: cvpcb/tool_cvpcb.cpp:168 +#: kicad/buildmnu.cpp:210 +#: gerbview/tool_gerber.cpp:155 +#: 3d-viewer/3d_toolbar.cpp:119 +msgid "&Preferences" +msgstr "&Préférences" + +#: pcbnew/menubarpcb.cpp:294 +#: gerbview/tool_gerber.cpp:156 +msgid "&Miscellaneous" +msgstr "&Divers" + +#: pcbnew/menubarpcb.cpp:295 +msgid "P&ostprocess" +msgstr "P&ostprocesseurs" + #: pcbnew/basepcbframe.cpp:159 msgid "3D Frame already opened" msgstr "Fenetre 3D déjà ouverte" @@ -4615,6 +4697,141 @@ msgstr "Fenetre 3D d msgid "3D Viewer" msgstr "Visu 3D" +#: pcbnew/dialog_gendrill.cpp:164 +msgid "Millimeters" +msgstr "Millimetres" + +#: pcbnew/dialog_gendrill.cpp:166 +msgid "Drill Units:" +msgstr "Unités perçage:" + +#: pcbnew/dialog_gendrill.cpp:171 +msgid "decimal format" +msgstr "Format décimal" + +#: pcbnew/dialog_gendrill.cpp:172 +msgid "suppress leading zeros" +msgstr "Suppression zeros de tête" + +#: pcbnew/dialog_gendrill.cpp:173 +msgid "suppress trailing zeros" +msgstr "Suppression zeros de fin" + +#: pcbnew/dialog_gendrill.cpp:174 +msgid "keep zeros" +msgstr "Garder les zéros" + +#: pcbnew/dialog_gendrill.cpp:175 +msgid "Zeros Format" +msgstr "Format des zéros" + +#: pcbnew/dialog_gendrill.cpp:182 +msgid "Precision" +msgstr "Précision" + +#: pcbnew/dialog_gendrill.cpp:187 +msgid "absolute" +msgstr "Absolu" + +#: pcbnew/dialog_gendrill.cpp:188 +msgid "auxiliary axis" +msgstr "Axe Auxiliaire" + +#: pcbnew/dialog_gendrill.cpp:189 +msgid "Drill Origin:" +msgstr "Origine des coord de percage:" + +#: pcbnew/dialog_gendrill.cpp:197 +#: pcbnew/dialog_gendrill.cpp:205 +#: eeschema/libedit.cpp:41 +#: eeschema/viewlibs.cpp:120 +msgid "None" +msgstr "Aucun" + +#: pcbnew/dialog_gendrill.cpp:198 +msgid "drill sheet (HPGL)" +msgstr "Plan de perçage (HPGL)" + +#: pcbnew/dialog_gendrill.cpp:199 +msgid "drill sheet (PostScript)" +msgstr "Plan de perçage (Postscript)" + +#: pcbnew/dialog_gendrill.cpp:200 +msgid "Drill Sheet:" +msgstr "Plan de perçage:" + +#: pcbnew/dialog_gendrill.cpp:206 +msgid "Drill report" +msgstr "Rapport de perçage" + +#: pcbnew/dialog_gendrill.cpp:207 +msgid "Drill Report:" +msgstr "Rapport de perçage:" + +#: pcbnew/dialog_gendrill.cpp:211 +msgid "HPGL plotter Options:" +msgstr "Options de Tracé HPGL:" + +#: pcbnew/dialog_gendrill.cpp:215 +msgid "Speed (cm/s)" +msgstr "Vitesse plume ( cm/s )" + +#: pcbnew/dialog_gendrill.cpp:221 +#: eeschema/plothpgl.cpp:239 +msgid "Pen Number" +msgstr "Numéro de plume" + +#: pcbnew/dialog_gendrill.cpp:231 +msgid "mirror y axis" +msgstr "Miroir sur axe Y" + +#: pcbnew/dialog_gendrill.cpp:235 +msgid "minimal header" +msgstr "Entête minimal" + +#: pcbnew/dialog_gendrill.cpp:242 +msgid "Info:" +msgstr "Infos:" + +#: pcbnew/dialog_gendrill.cpp:246 +msgid "Default Vias Drill:" +msgstr "Perçage vias par Défaut" + +#: pcbnew/dialog_gendrill.cpp:250 +msgid "Via Drill Value" +msgstr "Perçage des Vias" + +#: pcbnew/dialog_gendrill.cpp:253 +msgid "Micro Vias Drill:" +msgstr "Perçage Micro Via:" + +#: pcbnew/dialog_gendrill.cpp:257 +msgid "Micro Via Drill Value" +msgstr "Valeur Perçage Micro Via" + +#: pcbnew/dialog_gendrill.cpp:260 +msgid "Holes Count:" +msgstr "Nb Trous" + +#: pcbnew/dialog_gendrill.cpp:264 +msgid "Pads:" +msgstr "Pastilles:" + +#: pcbnew/dialog_gendrill.cpp:267 +msgid "Through Vias:" +msgstr "Via Traversantes:" + +#: pcbnew/dialog_gendrill.cpp:273 +msgid "Buried Vias:" +msgstr "Via Enterrées:" + +#: pcbnew/dialog_gendrill.cpp:282 +#: eeschema/plotps.cpp:208 +#: share/svg_print.cpp:222 +#: share/dialog_print.cpp:225 +msgid "&Close" +msgstr "&Fermer" + #: pcbnew/dialog_drc.cpp:429 #: eeschema/dialog_erc.cpp:237 #: eeschema/dialog_edit_component_in_lib.cpp:166 @@ -4739,11 +4956,28 @@ msgstr "Fichier rapport termin msgid "DRC Report file" msgstr "Fichier rapport de contrôle DRC:" -#: pcbnew/class_zone.cpp:487 +#: pcbnew/gen_drill_report_files.cpp:388 +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 diametres différents pour tracer 1 symbole par diametre\n" +"Le tracé utilise des cercles pour quelques valeurs " + +#: pcbnew/class_zone.cpp:65 +msgid "Netcode" +msgstr "Netcode" + +#: pcbnew/class_zone.cpp:74 +#: eeschema/eelayer.h:104 +msgid "Netname" +msgstr "NetName" + +#: pcbnew/class_zone.cpp:516 msgid "Corners" msgstr "Sommets" -#: pcbnew/class_zone.cpp:491 +#: pcbnew/class_zone.cpp:520 msgid "Hatch lines" msgstr "Lignes de Hachure" @@ -4788,205 +5022,30 @@ msgid "Via hole > diameter" msgstr "Perçage via > diamètre" #: pcbnew/class_drc_item.cpp:69 +msgid "Micro Via: incorrect layer pairs (not adjacent)" +msgstr "Mivro via: paire de couches incorrecte (non adjacent)" + +#: pcbnew/class_drc_item.cpp:71 msgid "Copper area inside copper area" msgstr "Zone de cuivre à l'intérieur d'une zone de cuivre" -#: pcbnew/class_drc_item.cpp:71 -msgid "Copper areas intersect or too close" +#: pcbnew/class_drc_item.cpp:73 +msgid "Copper areas intersect or are too close" msgstr "Les zones de cuivre se coupent ou sont trop proches" -#: pcbnew/hotkeys.cpp:467 +#: pcbnew/class_drc_item.cpp:75 +msgid "Copper area has a non existent net name" +msgstr "La zone de cuivre a un nom de net non existant" + +#: pcbnew/hotkeys.cpp:468 #, c-format msgid "Footprint %s found, but locked" msgstr "Module %s trouvé, mais verrouillé" -#: pcbnew/hotkeys.cpp:632 +#: pcbnew/hotkeys.cpp:633 msgid "Delete module?" msgstr "Effacer Module?" -#: pcbnew/tool_pcb.cpp:50 -msgid "" -"Show active layer selections\n" -"and select layer pair for route and place via" -msgstr "" -"Affiche selections couche active\n" -"et selection paire de couches pour routage and placement via" - -#: pcbnew/tool_pcb.cpp:238 -msgid "New Board" -msgstr "Nouveau Circuit Imprimé" - -#: pcbnew/tool_pcb.cpp:240 -msgid "Open existing Board" -msgstr "Ouvrir C.I. existant" - -#: pcbnew/tool_pcb.cpp:241 -msgid "Save Board" -msgstr "Sauver Circuit Imprimé" - -#: pcbnew/tool_pcb.cpp:245 -#: eeschema/tool_sch.cpp:65 -#: gerbview/tool_gerber.cpp:232 -msgid "page settings (size, texts)" -msgstr "Ajustage de la feuille de dessin (dimensions, textes)" - -#: pcbnew/tool_pcb.cpp:249 -msgid "Open Module Editor" -msgstr "Ouvrir Editeur de modules" - -#: pcbnew/tool_pcb.cpp:252 -#: eeschema/tool_sch.cpp:81 -#: gerbview/tool_gerber.cpp:243 -msgid "Cut selected item" -msgstr "Suppression des éléments sélectionnés" - -#: pcbnew/tool_pcb.cpp:256 -#: eeschema/tool_sch.cpp:84 -#: gerbview/tool_gerber.cpp:248 -msgid "Copy selected item" -msgstr "Copie des éléments sélectionnés" - -#: pcbnew/tool_pcb.cpp:258 -#: eeschema/tool_sch.cpp:87 -#: gerbview/tool_gerber.cpp:254 -msgid "Paste" -msgstr "Copie des éléments sauvegardés" - -#: pcbnew/tool_pcb.cpp:261 -#: gerbview/tool_gerber.cpp:261 -msgid "Undelete" -msgstr "Annulation du dernier effacement" - -#: pcbnew/tool_pcb.cpp:264 -msgid "Print Board" -msgstr "Imprimer C.I." - -#: pcbnew/tool_pcb.cpp:266 -msgid "Plot (HPGL, PostScript, or GERBER format)" -msgstr "Tracer en format HPGL, POSTSCRIPT ou GERBER" - -#: pcbnew/tool_pcb.cpp:285 -#: eeschema/tool_sch.cpp:125 -msgid "Find components and texts" -msgstr "Recherche de composants et textes" - -#: pcbnew/tool_pcb.cpp:291 -msgid "Read Netlist" -msgstr "Lire Netliste" - -#: pcbnew/tool_pcb.cpp:293 -msgid "Pcb Design Rules Check" -msgstr "Controle des règles de conception" - -#: pcbnew/tool_pcb.cpp:304 -msgid "Mode Module: Manual and Automatic Move or Place for modules" -msgstr "Mode Module: Déplacements ou Placement Manuel ou Automatique des modules" - -#: pcbnew/tool_pcb.cpp:307 -msgid "Mode Track and Autorouting" -msgstr "Mode Pistes and Autoroutage" - -#: pcbnew/tool_pcb.cpp:331 -msgid "Drc OFF" -msgstr "Drc DESACTIVEE" - -#: pcbnew/tool_pcb.cpp:348 -msgid "Show General Ratsnest" -msgstr "Monter le chevelu général" - -#: pcbnew/tool_pcb.cpp:351 -msgid "Show Module Ratsnest when moving" -msgstr "Monter le chevelu du module pendant déplacement" - -#: pcbnew/tool_pcb.cpp:356 -msgid "Enable Auto Del Track" -msgstr "Autoriser l'effacement automatique des pistes" - -#: pcbnew/tool_pcb.cpp:369 -msgid "Show Tracks Sketch" -msgstr "Afficher pistes en contour" - -#: pcbnew/tool_pcb.cpp:382 -msgid "" -"Display auxiliary vertical toolbar (tools for micro wave applications)\n" -" This is a very experimental feature (under development)" -msgstr "" -"Affiche toolbar vertical auxiliaire (outils pour applications micro-ondes)\n" -"C'est un outil expérimental (en cours de développement)" - -#: pcbnew/tool_pcb.cpp:411 -msgid "Net highlight" -msgstr "Surbrillance des équipotentielles" - -#: pcbnew/tool_pcb.cpp:415 -msgid "Display local ratsnest (pad or module)" -msgstr "Afficher le chevelu local (pastilles ou modules)" - -#: pcbnew/tool_pcb.cpp:420 -msgid "Add modules" -msgstr "Addition de Modules" - -#: pcbnew/tool_pcb.cpp:424 -msgid "Add tracks and vias" -msgstr "Ajouter pistes et vias" - -#: pcbnew/tool_pcb.cpp:428 -msgid "Add zones" -msgstr "Addition de Zones" - -#: pcbnew/tool_pcb.cpp:445 -msgid "Add text" -msgstr "Ajout de Texte" - -#: pcbnew/tool_pcb.cpp:450 -msgid "Add dimension" -msgstr "Ajout des cotes" - -#: pcbnew/tool_pcb.cpp:454 -#: gerbview/tool_gerber.cpp:378 -msgid "Add layer alignment target" -msgstr "Ajouter Mire de superposition" - -#: pcbnew/tool_pcb.cpp:464 -msgid "Offset adjust for drill and place files" -msgstr "Ajuste offset pour fichier de perçage et placement" - -#: pcbnew/tool_pcb.cpp:489 -msgid "Create line of specified length for microwave applications" -msgstr "Creation de lignes de longueur spécifiée (pour applications micro-ondes)" - -#: pcbnew/tool_pcb.cpp:495 -msgid "Create gap of specified length for microwave applications" -msgstr "Creation de gaps de longueur spécifiée (pour applications micro-ondes)" - -#: pcbnew/tool_pcb.cpp:503 -msgid "Create stub of specified length for microwave applications" -msgstr "Creation de stub de longueur spécifiée (pour applications micro-ondes)" - -#: pcbnew/tool_pcb.cpp:509 -msgid "Create stub (arc) of specified length for microwave applications" -msgstr "Creation de stub (arc) de longueur spécifiée (pour applications micro-ondes)" - -#: pcbnew/tool_pcb.cpp:516 -msgid "Create a polynomial shape for microwave applications" -msgstr "Creation de formes polynomiales (pour applications micro-ondes)" - -#: pcbnew/tool_pcb.cpp:570 -msgid "Zoom " -msgstr "Zoom " - -#: pcbnew/tool_pcb.cpp:584 -#: eeschema/eelayer.cpp:223 -#: pcbnew/set_color.h:414 -#: eeschema/eelayer.h:210 -#: gerbview/set_color.h:324 -msgid "Grid" -msgstr "Grille" - -#: pcbnew/tool_pcb.cpp:675 -msgid "+/- to switch" -msgstr "+/- pour commuter" - #: eeschema/save_schemas.cpp:71 #: eeschema/files-io.cpp:65 #: eeschema/eeload.cpp:59 @@ -5669,6 +5728,10 @@ msgstr "Monter Pins" msgid "millimeter" msgstr "millimetre" +#: eeschema/dialog_options.cpp:246 +msgid "inches" +msgstr "Pouces" + #: eeschema/dialog_options.cpp:256 msgid "Horiz/Vertical" msgstr "Horiz/Vertical" @@ -6888,15 +6951,11 @@ msgstr "Ext fichier Symbole: " msgid "Schematic file Ext: " msgstr "Ext fichier Schema: " -#: eeschema/dialog_eeschema_config.cpp:367 +#: eeschema/dialog_eeschema_config.cpp:368 msgid "Library files:" msgstr "Fichiers Librairies:" -#: eeschema/dialog_eeschema_config.cpp:390 -msgid "Library already in use" -msgstr "Librairie déjà en usage" - -#: eeschema/dialog_eeschema_config.cpp:463 +#: eeschema/dialog_eeschema_config.cpp:470 msgid " Default Path for libraries" msgstr "Chemin par défaut des librairies" @@ -8084,7 +8143,6 @@ msgid "View &Net + Pkg" msgstr "View &Net + Pkg" #: cvpcb/dialog_cvpcb_config.cpp:217 -#: cvpcb/menucfg.cpp:285 msgid "Equiv" msgstr "Equiv" @@ -8158,6 +8216,10 @@ msgstr "Equiv ext:" msgid "Retro ext:" msgstr "Retro ext:" +#: cvpcb/menucfg.cpp:301 +msgid "Equiv Files:" +msgstr "Fichiers d'Equiv:" + #: cvpcb/viewlogi.cpp:55 msgid "Netlist file " msgstr "Fichiers Netlist " @@ -10039,9 +10101,8 @@ msgid "??? Via" msgstr "??? Via" #: pcbnew/pcbnew.h:290 -#, fuzzy msgid "Blind/Buried Via" -msgstr "Via enterrée" +msgstr "Via Aveugle/Enterrée" #: pcbnew/set_color.h:38 msgid "Pcbnew Layer Colors:" @@ -10095,7 +10156,11 @@ msgstr "Afficher Modules Cmp" msgid "Show Modules Cu" msgstr "Afficher Modules Cu" -#: pcbnew/drc_stuff.h:121 +#: pcbnew/dialog_gendrill.h:50 +msgid "WinEDA_DrillFrame" +msgstr "WinEDA_DrillFrame" + +#: pcbnew/drc_stuff.h:142 #, c-format msgid "ErrType(%d): %s

  • %s: %s
  • %s: %s
" msgstr "Type Err(%d): %s
  • %s: %s
  • %s: %s
" @@ -10140,10 +10205,6 @@ msgstr "Label" msgid "GlobLabel" msgstr "Lab Global" -#: eeschema/eelayer.h:104 -msgid "Netname" -msgstr "NetName" - #: eeschema/eelayer.h:110 msgid "Notes" msgstr "Notes" diff --git a/pcbnew/class_board.cpp b/pcbnew/class_board.cpp index 0ad9e19871..1aa31e6289 100644 --- a/pcbnew/class_board.cpp +++ b/pcbnew/class_board.cpp @@ -879,6 +879,24 @@ out: return rc; } +/***********************************************************************************************/ +void BOARD::RedrawAreasOutlines(WinEDA_DrawPanel* panel, wxDC * aDC, int aDrawMode, int aLayer) +/***********************************************************************************************/ +/** + * Function RedrawAreasOutlines + * Redraw all areas outlines on layer aLayer ( redraw all if aLayer < 0 ) + */ +{ + if ( ! aDC ) return; + + for( int ii = 0; ii < GetAreaCount(); ii++ ) + { + ZONE_CONTAINER* edge_zone = GetArea(ii); + if( (aLayer < 0) || (aLayer == edge_zone->GetLayer()) ) + edge_zone->Draw( panel, aDC, wxPoint( 0, 0 ), aDrawMode ); + } +} + #if defined(DEBUG) diff --git a/pcbnew/class_board.h b/pcbnew/class_board.h index aa29a0b3e4..2d3fb72da4 100644 --- a/pcbnew/class_board.h +++ b/pcbnew/class_board.h @@ -250,6 +250,12 @@ public: /* Copper Areas handling */ /*************************/ + /** + * Function RedrawAreasOutlines + * Redraw all areas outlines on layer aLayer ( redraw all if aLayer < 0 ) + */ + void RedrawAreasOutlines(WinEDA_DrawPanel* panel, wxDC * aDC, int aDrawMode, int aLayer); + /** * Function SetAreasNetCodesFromNetNames * Set the .m_NetCode member of all copper areas, according to the area Net Name diff --git a/pcbnew/edit.cpp b/pcbnew/edit.cpp index 3f65e8423d..21999ab774 100644 --- a/pcbnew/edit.cpp +++ b/pcbnew/edit.cpp @@ -66,7 +66,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_POPUP_PCB_EXPORT_PAD_SETTINGS: case ID_POPUP_PCB_GLOBAL_IMPORT_PAD_SETTINGS: case ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE: - case ID_POPUP_PCB_DELETE_EDGE_ZONE: + case ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER: case ID_POPUP_PCB_FILL_ALL_ZONES: case ID_POPUP_PCB_PLACE_ZONE_CORNER: case ID_POPUP_PCB_PLACE_ZONE_OUTLINES: @@ -815,12 +815,11 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) } break; - case ID_POPUP_PCB_DELETE_EDGE_ZONE: + case ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER: DrawPanel->MouseToCursorSchema(); if( GetCurItem() && (GetCurItem()->m_Flags & IS_NEW) ) { - SetCurItem( Del_SegmEdgeZone( &dc, - (EDGE_ZONE*) GetCurItem() ) ); + SetCurItem( Del_LastSegmEdgeZone( &dc ) ); } break; diff --git a/pcbnew/onrightclick.cpp b/pcbnew/onrightclick.cpp index 6c765ba042..aba6fa92ff 100644 --- a/pcbnew/onrightclick.cpp +++ b/pcbnew/onrightclick.cpp @@ -275,8 +275,8 @@ bool WinEDA_PcbFrame::OnRightClick( const wxPoint& aMousePos, wxMenu* aPopMenu ) ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE, _( "End edge zone" ), apply_xpm ); } - ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_DELETE_EDGE_ZONE, - _( "Delete edge zone" ), delete_xpm ); + ADD_MENUITEM( aPopMenu, ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER, + _( "Delete Current Edge" ), delete_xpm ); break; case TYPEZONE_CONTAINER: // Item used to handle a zone area (outlines, holes ...) diff --git a/pcbnew/pcbplot.cpp b/pcbnew/pcbplot.cpp index 62b5e88c09..d71503a27d 100644 --- a/pcbnew/pcbplot.cpp +++ b/pcbnew/pcbplot.cpp @@ -16,6 +16,11 @@ #define PLOT_DEFAULT_MARGE 300 // mils +/* Keywords to r/w options in config */ +#define EDGELAYER_GERBER_OPT_KEY wxT("EdgeLayerGerberOpt") +#define PLOT_XFINESCALE_ADJ_KEY wxT("PlotXFineScaleAdj") +#define PLOT_YFINESCALE_ADJ_KEY wxT("PlotYFineScaleAdj") + // variables locale : static long s_SelectedLayers = CUIVRE_LAYER | CMP_LAYER | SILKSCREEN_LAYER_CMP | SILKSCREEN_LAYER_CU; @@ -222,8 +227,9 @@ wxString choice_plot_offset_msg[] = m_XScaleAdjust = m_YScaleAdjust = 1.0; if( m_Parent->m_Parent->m_EDA_Config ) { - m_Parent->m_Parent->m_EDA_Config->Read(wxT("PlotXFineScaleAdj"), &m_XScaleAdjust); - m_Parent->m_Parent->m_EDA_Config->Read(wxT("PlotYFineScaleAdj"), &m_YScaleAdjust); + m_Parent->m_Parent->m_EDA_Config->Read( EDGELAYER_GERBER_OPT_KEY, &g_Exclude_Edges_Pcb); + m_Parent->m_Parent->m_EDA_Config->Read( PLOT_XFINESCALE_ADJ_KEY, &m_XScaleAdjust); + m_Parent->m_Parent->m_EDA_Config->Read( PLOT_XFINESCALE_ADJ_KEY, &m_YScaleAdjust); } m_FineAdjustXscaleOpt = new WinEDA_DFloatValueCtrl(this, _("X Scale Adjust"), m_XScaleAdjust, RightBoxSizer); m_FineAdjustXscaleOpt->SetToolTip(_("Set X scale adjust for exact scale plotting")); @@ -253,9 +259,10 @@ wxString choice_plot_offset_msg[] = } // Option for excluding contents of "Edges Pcb" layer + m_Exclude_Edges_Pcb = new wxCheckBox(this, - ID_EXCLUDE_EDGES_PCB, _("Exclude Edges Pcb layer") ); - m_Exclude_Edges_Pcb->SetValue(Exclude_Edges_Pcb); + ID_EXCLUDE_EDGES_PCB, _("Exclude Edges Pcb Layer") ); + m_Exclude_Edges_Pcb->SetValue(g_Exclude_Edges_Pcb); m_Exclude_Edges_Pcb->SetToolTip( _("Exclude contents of Edges Pcb layer from all other layers") ); LeftBoxSizer->Add(m_Exclude_Edges_Pcb, 0, wxGROW|wxALL, 1); @@ -480,7 +487,7 @@ int format_list[] = void WinEDA_PlotFrame::SaveOptPlot(wxCommandEvent & event) /*********************************************************/ { - Exclude_Edges_Pcb = m_Exclude_Edges_Pcb->GetValue(); + g_Exclude_Edges_Pcb = m_Exclude_Edges_Pcb->GetValue(); if( m_Plot_Sheet_Ref ) Plot_Sheet_Ref = m_Plot_Sheet_Ref->GetValue(); @@ -516,8 +523,9 @@ void WinEDA_PlotFrame::SaveOptPlot(wxCommandEvent & event) if( m_Parent->m_Parent->m_EDA_Config ) { - m_Parent->m_Parent->m_EDA_Config->Write(wxT("PlotXFineScaleAdj"), m_XScaleAdjust); - m_Parent->m_Parent->m_EDA_Config->Write(wxT("PlotYFineScaleAdj"), m_YScaleAdjust); + m_Parent->m_Parent->m_EDA_Config->Write( EDGELAYER_GERBER_OPT_KEY, g_Exclude_Edges_Pcb); + m_Parent->m_Parent->m_EDA_Config->Write( PLOT_XFINESCALE_ADJ_KEY, m_XScaleAdjust); + m_Parent->m_Parent->m_EDA_Config->Write( PLOT_YFINESCALE_ADJ_KEY, m_YScaleAdjust); } g_Plot_PS_Negative = m_Plot_PS_Negative->GetValue(); diff --git a/pcbnew/pcbplot.h b/pcbnew/pcbplot.h index 4e3d703694..eef742ffe2 100644 --- a/pcbnew/pcbplot.h +++ b/pcbnew/pcbplot.h @@ -18,9 +18,9 @@ #define SCALE_HPGL 0.102041 /* Options : */ -eda_global bool Exclude_Edges_Pcb // True to exclude contents of Edges Pcb layer +eda_global bool g_Exclude_Edges_Pcb // True to exclude contents of Edges Pcb layer #ifdef MAIN -= TRUE += FALSE #endif ; eda_global bool Plot_Sheet_Ref; diff --git a/pcbnew/plotgerb.cpp b/pcbnew/plotgerb.cpp index b4722eb7d3..696efa84c1 100644 --- a/pcbnew/plotgerb.cpp +++ b/pcbnew/plotgerb.cpp @@ -90,7 +90,7 @@ int tracevia = 1; int layer_mask = g_TabOneLayerMask[Layer]; // Specify that the contents of the "Edges Pcb" layer are also to be // plotted, unless the option of excluding that layer has been selected. - if( ! Exclude_Edges_Pcb ) + if( ! g_Exclude_Edges_Pcb ) layer_mask |= EDGE_LAYER; switch( Layer ) diff --git a/pcbnew/zones_by_polygon.cpp b/pcbnew/zones_by_polygon.cpp index 94621b9b96..be33996950 100644 --- a/pcbnew/zones_by_polygon.cpp +++ b/pcbnew/zones_by_polygon.cpp @@ -150,19 +150,14 @@ void WinEDA_PcbFrame::Delete_Zone_Fill( wxDC* DC, SEGZONE* aZone, long aTimestam /*****************************************************************************/ -EDGE_ZONE* WinEDA_PcbFrame::Del_SegmEdgeZone( wxDC* DC, EDGE_ZONE* edge_zone ) +EDGE_ZONE* WinEDA_PcbFrame::Del_LastSegmEdgeZone( wxDC* DC) /*****************************************************************************/ /* Used only while creating a new zone outline * Remove and delete the current outline segment in progress */ { - EDGE_ZONE* segm; - - if( m_Pcb->m_CurrentLimitZone ) - segm = m_Pcb->m_CurrentLimitZone; - else - segm = edge_zone; + EDGE_ZONE* segm = m_Pcb->m_CurrentLimitZone; if( segm == NULL ) return NULL; @@ -178,6 +173,7 @@ EDGE_ZONE* WinEDA_PcbFrame::Del_SegmEdgeZone( wxDC* DC, EDGE_ZONE* edge_zone ) if( segm ) { segm->Pback = NULL; + segm->m_Flags |= IS_NEW | IS_MOVED; if( DrawPanel->ManageCurseur ) DrawPanel->ManageCurseur( DrawPanel, DC, TRUE ); } @@ -334,20 +330,9 @@ void WinEDA_PcbFrame::End_Move_Zone_Corner_Or_Outlines( wxDC* DC, ZONE_CONTAINER int layer = zone_container->GetLayer(); - for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) - { - ZONE_CONTAINER* edge_zone = m_Pcb->GetArea(ii); - if( layer == edge_zone->GetLayer() && DC) - edge_zone->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_XOR ); - } - + m_Pcb->RedrawAreasOutlines(DrawPanel, DC, GR_XOR, layer); m_Pcb->AreaPolygonModified( zone_container, true, verbose ); - for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) - { - ZONE_CONTAINER* edge_zone = m_Pcb->GetArea(ii); - if( layer == edge_zone->GetLayer() && DC) - edge_zone->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_OR ); - } + m_Pcb->RedrawAreasOutlines(DrawPanel, DC, GR_OR, layer); int ii = m_Pcb->GetAreaIndex(zone_container); // test if zone_container exists if ( ii < 0 ) zone_container = NULL; // was removed by combining zones @@ -379,29 +364,13 @@ void WinEDA_PcbFrame::Remove_Zone_Corner( wxDC* DC, ZONE_CONTAINER * zone_contai int layer = zone_container->GetLayer(); - if ( DC ) - { - for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) - { - ZONE_CONTAINER* edge_zone = m_Pcb->GetArea(ii); - if( layer == edge_zone->GetLayer() ) - edge_zone->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_XOR ); - } - } + m_Pcb->RedrawAreasOutlines(DrawPanel, DC, GR_XOR, layer); zone_container->m_Poly->DeleteCorner(zone_container->m_CornerSelection); // modify zones outlines according to the new zone_container shape m_Pcb->AreaPolygonModified( zone_container, true, verbose ); - if ( DC ) - { - for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) - { - ZONE_CONTAINER* edge_zone = m_Pcb->GetArea(ii); - if( layer == edge_zone->GetLayer() ) - edge_zone->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_OR ); - } - } + m_Pcb->RedrawAreasOutlines(DrawPanel, DC, GR_OR, layer); int ii = m_Pcb->GetAreaIndex(zone_container); // test if zone_container exists if ( ii < 0 ) zone_container = NULL; // was removed by combining zones @@ -678,12 +647,7 @@ bool WinEDA_PcbFrame::End_Zone( wxDC* DC ) DrawPanel->ForceCloseManageCurseur = NULL; // Undraw old drawings, because they can have important changes - for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) - { - ZONE_CONTAINER* area = m_Pcb->GetArea(ii); - if( layer == area->GetLayer() ) - area->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_XOR ); - } + m_Pcb->RedrawAreasOutlines(DrawPanel, DC, GR_XOR, layer); /* Put edges in list */ ZONE_CONTAINER* new_zone_container; @@ -739,12 +703,7 @@ bool WinEDA_PcbFrame::End_Zone( wxDC* DC ) m_Pcb->AreaPolygonModified( new_zone_container, true, verbose ); // Redraw the real edge zone : - for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) - { - ZONE_CONTAINER* edge_zone = m_Pcb->GetArea(ii); - if( layer == edge_zone->GetLayer() ) - edge_zone->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_OR ); - } + m_Pcb->RedrawAreasOutlines(DrawPanel, DC, GR_OR, layer); int ii = m_Pcb->GetAreaIndex(new_zone_container); // test if zone_container exists if ( ii < 0 ) new_zone_container = NULL; // was removed by combining zones @@ -845,12 +804,7 @@ void WinEDA_PcbFrame::Edit_Zone_Params( wxDC* DC, ZONE_CONTAINER* zone_container m_Pcb->AreaPolygonModified( zone_container, true, verbose ); // Redraw the real new zone outlines: - for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) - { - ZONE_CONTAINER* edge_zone = m_Pcb->GetArea(ii); - edge_zone->m_Flags = 0; - edge_zone->Draw( DrawPanel, DC, wxPoint( 0, 0 ), GR_OR ); - } + m_Pcb->RedrawAreasOutlines(DrawPanel, DC, GR_OR, -1); GetScreen()->SetModify(); }