From fff34db7f33a0691cb8c248ff688008444aabb41 Mon Sep 17 00:00:00 2001 From: charras Date: Sun, 19 Oct 2008 10:13:04 +0000 Subject: [PATCH] pcbnew: added oblong thermal relief for oblong pads (from a contribution) . added contributor to kicad list --- common/about_kicad.cpp | 1 + eeschema/component_class.cpp | 3 +- include/build_version.h | 4 +- internat/fr/kicad.mo | Bin 162465 -> 163349 bytes internat/fr/kicad.po | 2968 +++++++++-------- .../zones_convert_brd_items_to_polygons.cpp | 153 +- 6 files changed, 1653 insertions(+), 1476 deletions(-) diff --git a/common/about_kicad.cpp b/common/about_kicad.cpp index 3fc227a008..d2767edd30 100644 --- a/common/about_kicad.cpp +++ b/common/about_kicad.cpp @@ -99,6 +99,7 @@ void InitKiCadAbout( wxAboutDialogInfo& info ) info.AddDeveloper( SetMsg( wxT( "Jerry Jacobs " ) ) ); info.AddDeveloper( SetMsg( wxT( "Dick Hollenbeck " ) ) ); info.AddDeveloper( SetMsg( wxT( "KBool Library " ) ) ); + info.AddDeveloper( SetMsg( wxT( "Vesa Solonen " ) ) ); /* Add document writers */ info.AddDocWriter( wxT( "Jean-Pierre Charras " ) ); diff --git a/eeschema/component_class.cpp b/eeschema/component_class.cpp index eb7a013522..b70ea2574f 100644 --- a/eeschema/component_class.cpp +++ b/eeschema/component_class.cpp @@ -400,7 +400,8 @@ void SCH_COMPONENT::SwapData( SCH_COMPONENT* copyitem ) m_Fields.swap( copyitem->m_Fields ); // std::vector's swap() - // Reparent items after copying data (after swap() m_Pareny member does not points the right parent): + // Reparent items after copying data + // (after swap(), m_Parent member does not points the right parent): for( int ii = 0; ii < copyitem->GetFieldCount(); ++ii ) { copyitem->GetField(ii)->m_Parent = copyitem; diff --git a/include/build_version.h b/include/build_version.h index b45daf4b99..2cc316276e 100644 --- a/include/build_version.h +++ b/include/build_version.h @@ -9,7 +9,7 @@ COMMON_GLOBL wxString g_BuildVersion # include "config.h" (wxT(KICAD_SVN_VERSION)) # else - (wxT("(20081008-unstable)")) /* main program version */ + (wxT("(20081019-unstable)")) /* main program version */ # endif #endif ; @@ -20,7 +20,7 @@ COMMON_GLOBL wxString g_BuildAboutVersion # include "config.h" (wxT(KICAD_ABOUT_VERSION)) # else - (wxT("(20081008-unstable)")) /* svn date & rev (normally overridden) */ + (wxT("(20081019-unstable)")) /* svn date & rev (normally overridden) */ # endif #endif ; diff --git a/internat/fr/kicad.mo b/internat/fr/kicad.mo index 5a4c6a472a5c63c13ed3b006986192bfdf93f7c2..e881aa8f57bdc53abf1fe7b333bfdec5223401ce 100644 GIT binary patch delta 59293 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 delta 58664 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 OW?mluv9U&%JpTi7@K>h* diff --git a/internat/fr/kicad.po b/internat/fr/kicad.po index 4284e05259..f732e3f5c2 100644 --- a/internat/fr/kicad.po +++ b/internat/fr/kicad.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: kicad\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-10-16 20:00+0100\n" -"PO-Revision-Date: 2008-10-16 20:06+0100\n" +"POT-Creation-Date: 2008-10-19 11:20+0100\n" +"PO-Revision-Date: 2008-10-19 11:43+0100\n" "Last-Translator: \n" "Language-Team: kicad team \n" "MIME-Version: 1.0\n" @@ -347,7 +347,7 @@ msgstr "dimension" #: pcbnew/class_marker.cpp:133 #: pcbnew/class_text_mod.cpp:503 #: pcbnew/class_track.cpp:852 -#: pcbnew/class_zone.cpp:774 +#: pcbnew/class_zone.cpp:779 msgid "Type" msgstr "Type" @@ -370,7 +370,7 @@ msgstr "Segment" #: pcbnew/class_pcb_text.cpp:190 #: pcbnew/class_text_mod.cpp:516 #: pcbnew/class_track.cpp:909 -#: pcbnew/class_zone.cpp:808 +#: pcbnew/class_zone.cpp:813 msgid "Layer" msgstr "Couche" @@ -571,12 +571,12 @@ msgid "Display" msgstr "Affichage" #: pcbnew/class_track.cpp:868 -#: pcbnew/class_zone.cpp:796 +#: pcbnew/class_zone.cpp:801 msgid "NetName" msgstr "NetName" #: pcbnew/class_track.cpp:873 -#: pcbnew/class_zone.cpp:804 +#: pcbnew/class_zone.cpp:809 msgid "NetCode" msgstr "NetCode" @@ -588,27 +588,27 @@ msgstr "Standard" msgid "Diam" msgstr "Diam" -#: pcbnew/class_zone.cpp:799 +#: pcbnew/class_zone.cpp:804 msgid "Non Copper Zone" msgstr "Zone non Cuivre" -#: pcbnew/class_zone.cpp:812 +#: pcbnew/class_zone.cpp:817 msgid "Corners" msgstr "Sommets" -#: pcbnew/class_zone.cpp:818 +#: pcbnew/class_zone.cpp:823 msgid "No Grid" msgstr "Pas de Grille" -#: pcbnew/class_zone.cpp:819 +#: pcbnew/class_zone.cpp:824 msgid "Fill Grid" msgstr "Grille de Remplissage" -#: pcbnew/class_zone.cpp:824 +#: pcbnew/class_zone.cpp:829 msgid "Hatch lines" msgstr "Lignes de Hachure" -#: pcbnew/class_zone.cpp:830 +#: pcbnew/class_zone.cpp:835 msgid "Corners in DrawList" msgstr "Sommets en Liste de dessin" @@ -1354,6 +1354,9 @@ msgid "" "16 segment is faster to calculate and when redraw screen.\n" "32 segment give a better quality" msgstr "" +"Nombre de segments pour approximer un cercle dans les calcuyles de remplissage\n" +"16 segments est plus rapide à calculer et pour redessiner l'écran\n" +"32 segments donnent une meilleure qualité" #: pcbnew/dialog_copper_zones_frame.cpp:115 msgid "Others Options:" @@ -1379,7 +1382,7 @@ msgstr "Exporter vers autres zones" #: pcbnew/dialog_copper_zones_frame.cpp:135 msgid "Export this zone setup to all others copper zones" -msgstr "" +msgstr "Exporter ces options vers les autres zones de cuivre" #: pcbnew/dialog_copper_zones_frame.cpp:151 msgid "Ok" @@ -1411,6 +1414,9 @@ msgid "" "By alphabetic order\n" "By number of pads in the net (advanced)" msgstr "" +"Les équipotentielles peuvent être triées:\n" +"Paur ordre alphabétique\n" +"Par nombre de pads dans les équipotentielles (avancé)" #: pcbnew/dialog_copper_zones_frame.cpp:175 msgid "Filter" @@ -1877,349 +1883,496 @@ msgstr "Grille %.3f" msgid "User Grid" msgstr "Grille perso" -#: pcbnew/menubarpcb.cpp:42 -msgid "&New board" -msgstr "&Nouveau Circuit Imprimé" +#: pcbnew/onrightclick.cpp:41 +msgid "Auto Width" +msgstr "Epaisseur Automatique" + +#: pcbnew/onrightclick.cpp:43 +msgid "Use the track width when starting on a track, otherwise the current track width" +msgstr "Si on démarre sur une piste existante, utiliser sa largeur, sinon utiliser la largeur courante" + +#: pcbnew/onrightclick.cpp:57 +#, c-format +msgid "Track %.1f" +msgstr "Piste %.1f" + +#: pcbnew/onrightclick.cpp:59 +#, c-format +msgid "Track %.3f" +msgstr "Piste %.3f" + +#: pcbnew/onrightclick.cpp:77 +#, c-format +msgid "Via %.1f" +msgstr "Via %.1f" + +#: pcbnew/onrightclick.cpp:79 +#, c-format +msgid "Via %.3f" +msgstr "Via %.3f" + +#: pcbnew/onrightclick.cpp:127 +msgid "End Tool" +msgstr "Fin Outil" + +#: pcbnew/onrightclick.cpp:195 +msgid "Lock Module" +msgstr "Verrouiller Module" + +#: pcbnew/onrightclick.cpp:203 +msgid "Unlock Module" +msgstr "Déverrouiller Modules" + +#: pcbnew/onrightclick.cpp:211 +msgid "Auto Place Module" +msgstr "Auto Place Module" + +#: pcbnew/onrightclick.cpp:217 +msgid "Autoroute" +msgstr "Autoroute" + +#: pcbnew/onrightclick.cpp:233 +msgid "Move Drawing" +msgstr "Déplace Tracé" + +#: pcbnew/onrightclick.cpp:238 +msgid "End Drawing" +msgstr "Fin tracé" + +#: pcbnew/onrightclick.cpp:241 +msgid "Edit Drawing" +msgstr "Edit Tracé" + +#: pcbnew/onrightclick.cpp:243 +msgid "Delete Drawing" +msgstr "Supprimer Tracé" + +#: pcbnew/onrightclick.cpp:248 +msgid "Delete Zone Filling" +msgstr "Supprimer Remplissage de Zone" + +#: pcbnew/onrightclick.cpp:255 +msgid "Close Zone Outline" +msgstr "Fermer Contour de Zone" + +#: pcbnew/onrightclick.cpp:257 +msgid "Delete Last Corner" +msgstr "Supprimer Dernier Sommet" + +#: pcbnew/onrightclick.cpp:275 +msgid "Delete Marker" +msgstr "Effacer Marqueur" + +#: pcbnew/onrightclick.cpp:282 +msgid "Edit Dimension" +msgstr "Edit Cote" + +#: pcbnew/onrightclick.cpp:285 +msgid "Delete Dimension" +msgstr "Suppression Cote" + +#: pcbnew/onrightclick.cpp:292 +msgid "Move Target" +msgstr "Déplacer Mire" + +#: pcbnew/onrightclick.cpp:295 +msgid "Edit Target" +msgstr "Editer Mire" + +#: pcbnew/onrightclick.cpp:297 +msgid "Delete Target" +msgstr "Supprimer Mire" + +#: pcbnew/onrightclick.cpp:329 +msgid "Get and Move Footprint" +msgstr "Sel et Dépl.t module" + +#: pcbnew/onrightclick.cpp:343 +msgid "Fill or Refill All Zones" +msgstr "Remplir ou Re-remplir Toutes les Zones" + +#: pcbnew/onrightclick.cpp:345 +msgid "Remove filled areas" +msgstr "Suppimer zones remplies" + +#: pcbnew/onrightclick.cpp:350 +#: pcbnew/onrightclick.cpp:359 +#: pcbnew/onrightclick.cpp:371 +#: pcbnew/onrightclick.cpp:432 +msgid "Select Working Layer" +msgstr "Sélection de la couche de travail" + +#: pcbnew/onrightclick.cpp:357 +#: pcbnew/onrightclick.cpp:429 +msgid "Select Track Width" +msgstr "Sélection Epais. Piste" + +#: pcbnew/onrightclick.cpp:361 +msgid "Select Layer Pair for Vias" +msgstr "Selection Couple de Couches pour Vias" -#: pcbnew/menubarpcb.cpp:43 -msgid "Clear old PCB and init a new one" -msgstr "Effacer C.I. ancien et créer un nouveau" +#: pcbnew/onrightclick.cpp:377 +msgid "Footprint Documentation" +msgstr "Documentation des Modules" -#: pcbnew/menubarpcb.cpp:49 -msgid "&Load board" -msgstr "Charger circuit imprimé" +#: pcbnew/onrightclick.cpp:387 +msgid "Glob Move and Place" +msgstr "Move et Place Globaux" -#: pcbnew/menubarpcb.cpp:50 -msgid "Delete old Board and Load new Board" -msgstr "Effacer ancien C.I. et charger un nouveau" +#: pcbnew/onrightclick.cpp:389 +msgid "Unlock All Modules" +msgstr "Déverrouiller tous les Modules" -#: pcbnew/menubarpcb.cpp:56 -msgid "Append Board" -msgstr "Ajouter Circuit Imprimé" +#: pcbnew/onrightclick.cpp:391 +msgid "Lock All Modules" +msgstr "Verrouiller tous les Modules" -#: pcbnew/menubarpcb.cpp:57 -msgid "Add Board to old Board" -msgstr "Ajouter un C.I. au C.I. actuel" +#: pcbnew/onrightclick.cpp:394 +msgid "Move All Modules" +msgstr "Déplace tous les Modules" -#: pcbnew/menubarpcb.cpp:63 -msgid "&Rescue" -msgstr "&Secours" +#: pcbnew/onrightclick.cpp:395 +msgid "Move New Modules" +msgstr "Déplace nouveaux Modules" -#: pcbnew/menubarpcb.cpp:64 -msgid "Clear old board and get last rescue file" -msgstr "Effacer C.I. actuel et reprendre dernier fichier secours" +#: pcbnew/onrightclick.cpp:397 +msgid "Autoplace All Modules" +msgstr "Autoplace Tous Modules" -#: pcbnew/menubarpcb.cpp:69 -msgid "&Previous version" -msgstr "&Précédente version" +#: pcbnew/onrightclick.cpp:398 +msgid "Autoplace New Modules" +msgstr "AutoPlace nouveaux Modules" -#: pcbnew/menubarpcb.cpp:70 -msgid "Clear old board and get old version of board" -msgstr "Effacer C.I. actuel et reprendre ancienne version" +#: pcbnew/onrightclick.cpp:399 +msgid "Autoplace Next Module" +msgstr "Autoplace Module suivant" -#: pcbnew/menubarpcb.cpp:77 -msgid "&Save board Ctrl-S" -msgstr "Sauver Circuit Imprimé (Ctrl S)" +#: pcbnew/onrightclick.cpp:402 +msgid "Orient All Modules" +msgstr "Oriente Tous Modules" -#: pcbnew/menubarpcb.cpp:78 -msgid "Save current board" -msgstr "Sauver le C.I. actuel" +#: pcbnew/onrightclick.cpp:409 +msgid "Global Autoroute" +msgstr "Autoroutage global" -#: pcbnew/menubarpcb.cpp:83 -msgid "Save board as..." -msgstr "Sauver C.I. sous.." +#: pcbnew/onrightclick.cpp:411 +msgid "Select Layer Pair" +msgstr "Selection Paire de Couches" -#: pcbnew/menubarpcb.cpp:84 -msgid "Save current board as.." -msgstr "Sauver le Circuit Imprimé courant sous.." +#: pcbnew/onrightclick.cpp:413 +msgid "Autoroute All Modules" +msgstr "Autoroute Tous Modules" -#: pcbnew/menubarpcb.cpp:91 -msgid "P&rint" -msgstr "Imp&rimer" +#: pcbnew/onrightclick.cpp:415 +msgid "Reset Unrouted" +msgstr "Réinit non Routés" -#: pcbnew/menubarpcb.cpp:91 -msgid "Print on current printer" -msgstr "Imprimer sur l'imprimante par défaut" +#: pcbnew/onrightclick.cpp:420 +msgid "Global AutoRouter" +msgstr "Autorouteur Global" -#: pcbnew/menubarpcb.cpp:96 -msgid "&Plot" -msgstr "&Tracer" +#: pcbnew/onrightclick.cpp:422 +msgid "Read Global AutoRouter Data" +msgstr "Lire Données de L'autorouteur global" -#: pcbnew/menubarpcb.cpp:97 -msgid "Plot (HPGL, PostScript, or Gerber format)" -msgstr "Tracer ( format HPGL, POSTSCRIPT ou GERBER)" +#: pcbnew/onrightclick.cpp:450 +msgid "Cancel Block" +msgstr "Annuler Bloc" -#: pcbnew/menubarpcb.cpp:106 -msgid "&Specctra DSN" -msgstr "&Specctra DSN" +#: pcbnew/onrightclick.cpp:452 +msgid "Zoom Block" +msgstr "Zoom Bloc" -#: pcbnew/menubarpcb.cpp:106 -msgid "Export the current board to a \"Specctra DSN\" file" -msgstr "Exporte le CI courant dans un fichier au format \"Specctra DSN\"" +#: pcbnew/onrightclick.cpp:455 +msgid "Place Block" +msgstr "Place Bloc" -#: pcbnew/menubarpcb.cpp:111 -msgid "&GenCAD" -msgstr "&GenCAD" +#: pcbnew/onrightclick.cpp:459 +msgid "Flip Block" +msgstr "Retourner Bloc" -#: pcbnew/menubarpcb.cpp:111 -msgid "Export GenCAD Format" -msgstr "Exporter en Format GenCAD" +#: pcbnew/onrightclick.cpp:482 +msgid "Drag Via" +msgstr "Drag Via" -#: pcbnew/menubarpcb.cpp:116 -msgid "&Module report" -msgstr "Rapport &Modules" +#: pcbnew/onrightclick.cpp:486 +msgid "Edit Via Drill" +msgstr "Editer Perçage Via" -#: pcbnew/menubarpcb.cpp:116 -msgid "Create a pcb report (footprint report)" -msgstr "Créer un fichier rapport (rapport sur modules)" +#: pcbnew/onrightclick.cpp:488 +msgid "Set Via Hole to Default" +msgstr "Ajuste Perçage Via à Défaut" -#: pcbnew/menubarpcb.cpp:120 -msgid "&Export" -msgstr "&Exporter" +#: pcbnew/onrightclick.cpp:489 +msgid "Set via hole to a specific value. This specfic value is currently" +msgstr "Ajuste diametre perçage via a une valeur sécifique. Cette valeur spécifique est actuellement" -#: pcbnew/menubarpcb.cpp:120 -msgid "Export board" -msgstr "Exporter le C.I." +#: pcbnew/onrightclick.cpp:492 +msgid "Set Via Hole to Alt Value" +msgstr "Ajuste Perçage Via à Valeur Alternative" -#: pcbnew/menubarpcb.cpp:128 -msgid "&Specctra Session" -msgstr "&Specctra Session" +#: pcbnew/onrightclick.cpp:494 +msgid "Set a specific via hole value. This value is currently" +msgstr "Ajuste une valeur spécifique de perçage de la via. Cette valeur est actuellement" -#: pcbnew/menubarpcb.cpp:128 -msgid "Import a routed \"Specctra Session\" (*.ses) file" -msgstr "Importer un fichier de routage \"Specctra Session\" (*.ses) " +#: pcbnew/onrightclick.cpp:497 +msgid "Set the Via Hole Alt Value" +msgstr "Ajuste la Valeur Alt. Perçage Via" -#: pcbnew/menubarpcb.cpp:140 -msgid "Import" -msgstr "Importer" +#: pcbnew/onrightclick.cpp:499 +msgid "Export Via Hole to Alt Value" +msgstr "Exporte Perçage Via à Valeur Alt." -#: pcbnew/menubarpcb.cpp:140 -msgid "Import files" -msgstr "Importer fichiers" +#: pcbnew/onrightclick.cpp:501 +msgid "Export Via Hole to Others id Vias" +msgstr "Exporte Perçage Via aux Autres Semblables." -#: pcbnew/menubarpcb.cpp:147 -msgid "Add new footprints" -msgstr "Archiver nouveaux modules" +#: pcbnew/onrightclick.cpp:503 +msgid "Set ALL Via Holes to Default" +msgstr "Ajuste Perçage TOUTES Vias à Défaut" -#: pcbnew/menubarpcb.cpp:148 -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/onrightclick.cpp:516 +msgid "Move Node" +msgstr "Déplace Noeud" -#: pcbnew/menubarpcb.cpp:152 -msgid "Create footprint archive" -msgstr "Créer Archive des modules" +#: pcbnew/onrightclick.cpp:521 +msgid "Drag Segments, Keep Slope" +msgstr "Drag Segments, Garder Direction" -#: pcbnew/menubarpcb.cpp:153 -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/onrightclick.cpp:523 +msgid "Drag Segment" +msgstr "Drag Segment" -#: pcbnew/menubarpcb.cpp:158 -msgid "Archive footprints" -msgstr "Archiver modules" +#: pcbnew/onrightclick.cpp:526 +msgid "Move Segment" +msgstr "Déplace Segment" -#: pcbnew/menubarpcb.cpp:159 -msgid "Archive or Add footprints in a library file" -msgstr "Archiver ou ajouter les modules dans un fichier librairie" +#: pcbnew/onrightclick.cpp:529 +msgid "Break Track" +msgstr "Briser Piste" -#: pcbnew/menubarpcb.cpp:163 -msgid "E&xit" -msgstr "&Quitter" +#: pcbnew/onrightclick.cpp:536 +msgid "Place Node" +msgstr "Place noeud" -#: pcbnew/menubarpcb.cpp:163 -msgid "Quit pcbnew" -msgstr "Quitter Pcbnew" +#: pcbnew/onrightclick.cpp:543 +msgid "End Track" +msgstr "Terminer Piste" -#: pcbnew/menubarpcb.cpp:181 -msgid "&Library" -msgstr "&Librairie" +#: pcbnew/onrightclick.cpp:546 +msgid "Place Via" +msgstr "Place Via" -#: pcbnew/menubarpcb.cpp:182 -msgid "Setting Libraries, Directories and others..." -msgstr "Sélectionner les librairies et répertoires" +#: pcbnew/onrightclick.cpp:553 +msgid "Place Micro Via" +msgstr "Place Micro Via" -#: pcbnew/menubarpcb.cpp:186 -msgid "&Colors" -msgstr "&Couleurs" +#: pcbnew/onrightclick.cpp:565 +msgid "Change Width" +msgstr "Change Largeur" -#: pcbnew/menubarpcb.cpp:187 -msgid "Select Colors and Display for PCB items" -msgstr "Selection couleurs et affichage des éléments du C.I." +#: pcbnew/onrightclick.cpp:567 +msgid "Change Via Size" +msgstr "Change Taille Via" -#: pcbnew/menubarpcb.cpp:191 -msgid "&General" -msgstr " &Général " +#: pcbnew/onrightclick.cpp:567 +msgid "Change Segment Width" +msgstr "Change Largeur Segment" -#: pcbnew/menubarpcb.cpp:192 -msgid "Select general options for pcbnew" -msgstr " Sélection options générales pour pcbnew" +#: pcbnew/onrightclick.cpp:570 +msgid "Change Track Width" +msgstr "Change Largeur Piste" -#: pcbnew/menubarpcb.cpp:196 -msgid "&Display" -msgstr "&Affichage" +#: pcbnew/onrightclick.cpp:572 +msgid "Change Net" +msgstr "Change Net" -#: pcbnew/menubarpcb.cpp:197 -msgid "Select what items are displayed" -msgstr "Sélectionner les éléments a afficher" +#: pcbnew/onrightclick.cpp:574 +msgid "Change ALL Tracks and Vias" +msgstr "Changer TOUTES Pistes et Vias" -#: pcbnew/menubarpcb.cpp:207 -msgid "&Save preferences" -msgstr "&Sauver Préférences" +#: pcbnew/onrightclick.cpp:576 +msgid "Change ALL Vias (No Track)" +msgstr "Changer TOUTES Vias (Pas les Pistes)" -#: pcbnew/menubarpcb.cpp:208 -msgid "Save application preferences" -msgstr "Sauver préférences" +#: pcbnew/onrightclick.cpp:578 +msgid "Change ALL Tracks (No Via)" +msgstr "Changer TOUTES Pistes (Pas les Vias)" -#: pcbnew/menubarpcb.cpp:212 -msgid "&Read preferences" -msgstr "&Lire Préférences" +#: pcbnew/onrightclick.cpp:586 +msgid "Delete Via" +msgstr "Suppression Via" -#: pcbnew/menubarpcb.cpp:213 -msgid "Read application preferences" -msgstr "Lire préférences de l'application" +#: pcbnew/onrightclick.cpp:586 +msgid "Delete Segment" +msgstr "SupprimerSegment" -#: pcbnew/menubarpcb.cpp:225 -msgid "Tracks and Vias" -msgstr "Pistes et Vias" +#: pcbnew/onrightclick.cpp:593 +msgid "Delete Track" +msgstr "Effacer Piste" -#: pcbnew/menubarpcb.cpp:226 -msgid "Adjust size and width for tracks, vias" -msgstr "Ajuster dims et taille des pistes et vias" +#: pcbnew/onrightclick.cpp:597 +msgid "Delete Net" +msgstr "Supprimer Net" -#: pcbnew/menubarpcb.cpp:230 -msgid "Grid" -msgstr "Grille" +#: pcbnew/onrightclick.cpp:602 +msgid "Set Flags" +msgstr "Ajust. Flags" -#: pcbnew/menubarpcb.cpp:231 -msgid "Adjust User Grid" -msgstr "Ajuster Grille utilisateur" +#: pcbnew/onrightclick.cpp:603 +msgid "Locked: Yes" +msgstr "Verrou: Oui" -#: pcbnew/menubarpcb.cpp:235 -msgid "Texts and drawings" -msgstr "&Textes et Tracés" - -#: pcbnew/menubarpcb.cpp:236 -msgid "Adjust width for texts and drawings" -msgstr "Ajuster dims pour textes et graphiques" - -#: pcbnew/menubarpcb.cpp:241 -msgid "Adjust size,shape,layers... for Pads" -msgstr "Ajuster taille, forme, couches... pour pads" - -#: pcbnew/menubarpcb.cpp:246 -msgid "&Save Setup" -msgstr "&Sauver Options" - -#: pcbnew/menubarpcb.cpp:247 -msgid "Save options in current directory" -msgstr "Sauver les options en répertoire de travail" - -#: pcbnew/menubarpcb.cpp:256 -msgid "Generate &modules position" -msgstr "Créer &Modules Pos" - -#: pcbnew/menubarpcb.cpp:257 -msgid "Generate modules position file" -msgstr "Gen fichier Position des Modules" - -#: pcbnew/menubarpcb.cpp:261 -msgid "Create &drill file" -msgstr "Créer &Fichier de percage" - -#: pcbnew/menubarpcb.cpp:262 -msgid "Generate excellon drill file" -msgstr "Créer Fichier de percage" - -#: pcbnew/menubarpcb.cpp:266 -msgid "Create &component file" -msgstr "Créer &Fichier Cmp" - -#: pcbnew/menubarpcb.cpp:267 -msgid "Recreate .cmp file for CvPcb" -msgstr "Recréer le fichier .cmp pour CvPcb" - -#: pcbnew/menubarpcb.cpp:275 -msgid "Global &Deletions" -msgstr "Effacements &Généraux" - -#: pcbnew/menubarpcb.cpp:276 -msgid "Delete Tracks, Modules, Texts... on Board" -msgstr "Effacer Pistes, Modules, Textes... sur le C.I." - -#: pcbnew/menubarpcb.cpp:280 -msgid "&List nets" -msgstr "&Liste équipots" - -#: pcbnew/menubarpcb.cpp:281 -msgid "List nets (names and id)" -msgstr "Lister équipotentielles (noms et numéros d'identification)" - -#: pcbnew/menubarpcb.cpp:285 -msgid "&Track operations" -msgstr "Opéra&tions sur pistes" - -#: pcbnew/menubarpcb.cpp:286 -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:290 -msgid "&Swap layers" -msgstr "&Permutte couches" - -#: pcbnew/menubarpcb.cpp:291 -msgid "Swap tracks on copper layers or drawings on others layers" -msgstr "Permutation de couches" - -#: pcbnew/menubarpcb.cpp:299 -msgid "&Contents" -msgstr "&Contenu" - -#: pcbnew/menubarpcb.cpp:299 -msgid "Open the pcbnew manual" -msgstr "Ouvrir la documentation de pcbnew" - -#: pcbnew/menubarpcb.cpp:303 -msgid "&About pcbnew" -msgstr "&Au sujet de r Pcbnew" - -#: pcbnew/menubarpcb.cpp:303 -msgid "About pcbnew PCB designer" -msgstr "Au sujet de Pcbnew, concption de PCB" - -#: pcbnew/menubarpcb.cpp:311 -msgid "3D Display" -msgstr "3D Visu" - -#: pcbnew/menubarpcb.cpp:311 -msgid "Show board in 3D viewer" -msgstr "Visualisation du circuit en 3D" - -#: pcbnew/menubarpcb.cpp:315 -msgid "&File" -msgstr "&Fichiers" - -#: pcbnew/menubarpcb.cpp:316 -msgid "&Preferences" -msgstr "&Préférences" - -#: pcbnew/menubarpcb.cpp:317 -msgid "&Dimensions" -msgstr "&Dimensions" - -#: pcbnew/menubarpcb.cpp:318 -msgid "&Miscellaneous" -msgstr "&Divers" - -#: pcbnew/menubarpcb.cpp:319 -msgid "P&ostprocess" -msgstr "P&ostprocesseurs" - -#: pcbnew/menubarpcb.cpp:320 -msgid "&3D Display" -msgstr "&3D Visu" - -#: pcbnew/menubarpcb.cpp:321 -msgid "&Help" -msgstr "&Aide" +#: pcbnew/onrightclick.cpp:604 +msgid "Locked: No" +msgstr "Verrou: Non" + +#: pcbnew/onrightclick.cpp:614 +msgid "Track Locked: Yes" +msgstr "Piste Verrouillée: Oui" + +#: pcbnew/onrightclick.cpp:615 +msgid "Track Locked: No" +msgstr "Piste Verrouillée: Non" + +#: pcbnew/onrightclick.cpp:617 +msgid "Net Locked: Yes" +msgstr "Net Verrouillé: Oui" + +#: pcbnew/onrightclick.cpp:618 +msgid "Net Locked: No" +msgstr "Net Verrouillé: Non" + +#: pcbnew/onrightclick.cpp:633 +msgid "Place Edge Outline" +msgstr "Place Segment de Contour" + +#: pcbnew/onrightclick.cpp:639 +msgid "Place Corner" +msgstr "Place Sommet" + +#: pcbnew/onrightclick.cpp:642 +msgid "Place Zone" +msgstr "Place Zone" + +#: pcbnew/onrightclick.cpp:654 +msgid "Move Corner" +msgstr "Déplace Sommet" + +#: pcbnew/onrightclick.cpp:656 +msgid "Delete Corner" +msgstr "Supprimer Sommet" + +#: pcbnew/onrightclick.cpp:661 +msgid "Create Corner" +msgstr "Créer Sommet" + +#: pcbnew/onrightclick.cpp:663 +msgid "Drag Outline Segment" +msgstr "Drag Segment Contour" + +#: pcbnew/onrightclick.cpp:668 +msgid "Add Similar Zone" +msgstr "Addition d'une Zone Semblable" + +#: pcbnew/onrightclick.cpp:671 +msgid "Add Cutout Area" +msgstr "Addition d'une Zone Interdite" + +#: pcbnew/onrightclick.cpp:675 +msgid "Fill Zone" +msgstr "Remplir Zone" + +#: pcbnew/onrightclick.cpp:678 +msgid "Move Zone" +msgstr "Déplace Zone" + +#: pcbnew/onrightclick.cpp:681 +msgid "Edit Zone Params" +msgstr "Editer Paramètres de la Zone" + +#: pcbnew/onrightclick.cpp:686 +msgid "Delete Cutout" +msgstr "Supprimer Zone Interdite" + +#: pcbnew/onrightclick.cpp:689 +msgid "Delete Zone Outline" +msgstr "Supprimer Contour de Zone" + +#: pcbnew/onrightclick.cpp:711 +#: pcbnew/onrightclick.cpp:756 +#: pcbnew/onrightclick.cpp:794 +#: pcbnew/onrightclick.cpp:860 +msgid "Move" +msgstr "Move" + +#: pcbnew/onrightclick.cpp:714 +#: pcbnew/onrightclick.cpp:796 +msgid "Drag" +msgstr "Drag" + +#: pcbnew/onrightclick.cpp:718 +msgid "Rotate +" +msgstr "Rotation +" + +#: pcbnew/onrightclick.cpp:722 +msgid "Rotate -" +msgstr "Rotation -" + +#: pcbnew/onrightclick.cpp:723 +msgid "Flip" +msgstr "Change côté" + +#: pcbnew/onrightclick.cpp:727 +#: pcbnew/onrightclick.cpp:761 +#: pcbnew/onrightclick.cpp:865 +msgid "Edit" +msgstr "Editer" + +#: pcbnew/onrightclick.cpp:733 +msgid "Delete Module" +msgstr "Supprimer Module" + +#: pcbnew/onrightclick.cpp:759 +#: pcbnew/onrightclick.cpp:863 +msgid "Rotate" +msgstr "Rotation" + +#: pcbnew/onrightclick.cpp:798 +msgid "Edit Pad" +msgstr "Edit Pad" + +#: pcbnew/onrightclick.cpp:802 +msgid "New Pad Settings" +msgstr "Nouvelles Caract. Pads" + +#: pcbnew/onrightclick.cpp:803 +msgid "Copy current pad settings to this pad" +msgstr "Copier les réglages courants pour ce pad" + +#: pcbnew/onrightclick.cpp:806 +msgid "Export Pad Settings" +msgstr "Exporte Caract. Pads" + +#: pcbnew/onrightclick.cpp:807 +msgid "Copy this pad settings to current pad settings" +msgstr "Copier les caractéristiques de ce pad vers les caractéristiques courantes" + +#: pcbnew/onrightclick.cpp:813 +msgid "Global Pad Settings" +msgstr "Edition Globale des pads" + +#: pcbnew/onrightclick.cpp:815 +msgid "Copy this pad settings to all pads in this footprint (or similar footprints)" +msgstr "Copier les caractéristiques de ce pad vers tous les autres pads de ce module( ou modules similaires)" + +#: pcbnew/onrightclick.cpp:827 +msgid "Autoroute Pad" +msgstr "Autoroute Pad" + +#: pcbnew/onrightclick.cpp:828 +msgid "Autoroute Net" +msgstr "Autoroute Net" #: pcbnew/pcbplot.cpp:147 #: pcbnew/pcbplot.cpp:272 @@ -2897,10 +3050,6 @@ msgstr "Nom:" msgid "Search footprint" msgstr "Cherche Module" -#: pcbnew/modules.cpp:305 -msgid "Delete Module" -msgstr "Supprimer Module" - #: pcbnew/modules.cpp:306 msgid "Value " msgstr "Valeur " @@ -3085,6 +3234,10 @@ msgstr "" msgid "Zoom " msgstr "Zoom " +#: pcbnew/tool_pcb.cpp:595 +msgid "Grid" +msgstr "Grille" + #: pcbnew/tool_pcb.cpp:721 msgid "+/- to switch" msgstr "+/- pour commuter" @@ -3105,22 +3258,10 @@ msgstr "Forme X" msgid "Target Shape:" msgstr "Forme Mire:" -#: pcbnew/modedit_onclick.cpp:196 -msgid "End Tool" -msgstr "Fin Outil" - -#: pcbnew/modedit_onclick.cpp:206 -msgid "Cancel Block" -msgstr "Annuler Bloc" - #: pcbnew/modedit_onclick.cpp:208 msgid "Zoom Block (drag middle mouse)" msgstr "Zoom Bloc (drag bouton du milieu souris)" -#: pcbnew/modedit_onclick.cpp:211 -msgid "Place Block" -msgstr "Place Bloc" - #: pcbnew/modedit_onclick.cpp:213 msgid "Copy Block (shift + drag mouse)" msgstr "Copie Bloc (shift + drag mouse)" @@ -3137,10 +3278,6 @@ msgstr "Rotation Bloc (ctrl + drag mouse)" msgid "Delete Block (shift+ctrl + drag mouse)" msgstr "Effacement Bloc (shift+ctrl + drag mouse)" -#: pcbnew/modedit_onclick.cpp:241 -msgid "Rotate" -msgstr "Rotation" - #: pcbnew/modedit_onclick.cpp:245 msgid "Scale" msgstr "Echelle" @@ -3161,26 +3298,10 @@ msgstr "Transforme Module" msgid "Move Pad" msgstr "Déplace Pad" -#: pcbnew/modedit_onclick.cpp:263 -msgid "Edit Pad" -msgstr "Edit Pad" - -#: pcbnew/modedit_onclick.cpp:265 -msgid "New Pad Settings" -msgstr "Nouvelles Caract. Pads" - -#: pcbnew/modedit_onclick.cpp:267 -msgid "Export Pad Settings" -msgstr "Exporte Caract. Pads" - #: pcbnew/modedit_onclick.cpp:269 msgid "delete Pad" msgstr "Supprimer Pad" -#: pcbnew/modedit_onclick.cpp:274 -msgid "Global Pad Settings" -msgstr "Edition Globale des pads" - #: pcbnew/modedit_onclick.cpp:282 msgid "Move Text Mod." msgstr "Move Texte Mod." @@ -3209,10 +3330,6 @@ msgstr "Déplace contour" msgid "Place edge" msgstr "Place contour" -#: pcbnew/modedit_onclick.cpp:306 -msgid "Edit" -msgstr "Editer" - #: pcbnew/modedit_onclick.cpp:308 msgid "Edit Width (Current)" msgstr "Edit Epaisseur (Courant)" @@ -3618,7 +3735,7 @@ msgstr "Fichiers Cmp: " #: pcbnew/zones_by_polygon.cpp:328 #: pcbnew/zones_by_polygon.cpp:384 -#: pcbnew/zones_by_polygon.cpp:717 +#: pcbnew/zones_by_polygon.cpp:716 msgid "Area: DRC outline error" msgstr "Zone; Erreur DRC sur contour" @@ -3626,11 +3743,11 @@ msgstr "Zone; Erreur DRC sur contour" 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:662 +#: pcbnew/zones_by_polygon.cpp:661 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/zones_by_polygon.cpp:903 +#: pcbnew/zones_by_polygon.cpp:906 msgid "No Net" msgstr "No Net" @@ -4109,481 +4226,57 @@ msgstr "Multiple composants ont une reference identique \"%s\"." msgid "Sizes and Widths" msgstr "Dims. et Epaiss." +#: pcbnew/menubarmodedit.cpp:41 +msgid "Adjust width for texts and drawings" +msgstr "Ajuster dims pour textes et graphiques" + +#: pcbnew/menubarmodedit.cpp:46 +msgid "Adjust size,shape,layers... for Pads" +msgstr "Ajuster taille, forme, couches... pour pads" + #: pcbnew/menubarmodedit.cpp:50 msgid "User Grid Size" msgstr "Dim Grille utilisteur" -#: pcbnew/onrightclick.cpp:41 -msgid "Auto Width" -msgstr "Epaisseur Automatique" +#: pcbnew/menubarmodedit.cpp:51 +msgid "Adjust User Grid" +msgstr "Ajuster Grille utilisateur" -#: pcbnew/onrightclick.cpp:43 -msgid "Use the track width when starting on a track, otherwise the current track width" -msgstr "Si on démarre sur une piste existante, utiliser sa largeur, sinon utiliser la largeur courante" +#: pcbnew/menubarmodedit.cpp:64 +msgid "&Contents" +msgstr "&Contenu" -#: pcbnew/onrightclick.cpp:57 -#, c-format -msgid "Track %.1f" -msgstr "Piste %.1f" +#: pcbnew/menubarmodedit.cpp:65 +msgid "Open the pcbnew manual" +msgstr "Ouvrir la documentation de pcbnew" -#: pcbnew/onrightclick.cpp:59 -#, c-format -msgid "Track %.3f" -msgstr "Piste %.3f" +#: pcbnew/menubarmodedit.cpp:73 +msgid "&About pcbnew" +msgstr "&Au sujet de r Pcbnew" -#: pcbnew/onrightclick.cpp:77 -#, c-format -msgid "Via %.1f" -msgstr "Via %.1f" +#: pcbnew/menubarmodedit.cpp:74 +msgid "About pcbnew PCB designer" +msgstr "Au sujet de Pcbnew, concption de PCB" -#: pcbnew/onrightclick.cpp:79 -#, c-format -msgid "Via %.3f" -msgstr "Via %.3f" +#: pcbnew/menubarmodedit.cpp:82 +msgid "3D Display" +msgstr "3D Visu" -#: pcbnew/onrightclick.cpp:127 -msgid "End tool" -msgstr "Fin Outil" +#: pcbnew/menubarmodedit.cpp:82 +msgid "Show board in 3D viewer" +msgstr "Visualisation du circuit en 3D" -#: pcbnew/onrightclick.cpp:195 -msgid "Lock Module" -msgstr "Verrouiller Module" +#: pcbnew/menubarmodedit.cpp:86 +msgid "&Dimensions" +msgstr "&Dimensions" -#: pcbnew/onrightclick.cpp:203 -msgid "Unlock Module" -msgstr "Déverrouiller Modules" +#: pcbnew/menubarmodedit.cpp:87 +msgid "&3D Display" +msgstr "&3D Visu" -#: pcbnew/onrightclick.cpp:211 -msgid "Auto place Module" -msgstr "Auto place Module" - -#: pcbnew/onrightclick.cpp:217 -msgid "Autoroute" -msgstr "Autoroute" - -#: pcbnew/onrightclick.cpp:233 -msgid "Move Drawing" -msgstr "Déplace Tracé" - -#: pcbnew/onrightclick.cpp:238 -msgid "End Drawing" -msgstr "Fin tracé" - -#: pcbnew/onrightclick.cpp:241 -msgid "Edit Drawing" -msgstr "Edit Tracé" - -#: pcbnew/onrightclick.cpp:243 -msgid "Delete Drawing" -msgstr "Supprimer Tracé" - -#: pcbnew/onrightclick.cpp:248 -msgid "Delete Zone Filling" -msgstr "Supprimer Remplissage de Zone" - -#: pcbnew/onrightclick.cpp:255 -msgid "Close Zone Outline" -msgstr "Fermer Contour de Zone" - -#: pcbnew/onrightclick.cpp:257 -msgid "Delete Last Corner" -msgstr "Supprimer Dernier Sommet" - -#: pcbnew/onrightclick.cpp:275 -msgid "Delete Marker" -msgstr "Effacer Marqueur" - -#: pcbnew/onrightclick.cpp:282 -msgid "Edit Dimension" -msgstr "Edit Cote" - -#: pcbnew/onrightclick.cpp:285 -msgid "Delete Dimension" -msgstr "Suppression Cote" - -#: pcbnew/onrightclick.cpp:292 -msgid "Move Target" -msgstr "Déplacer Mire" - -#: pcbnew/onrightclick.cpp:295 -msgid "Edit Target" -msgstr "Editer Mire" - -#: pcbnew/onrightclick.cpp:297 -msgid "Delete Target" -msgstr "Supprimer Mire" - -#: pcbnew/onrightclick.cpp:329 -msgid "Get and Move Footprint" -msgstr "Sel et Dépl.t module" - -#: pcbnew/onrightclick.cpp:343 -msgid "Fill or Refill All Zones" -msgstr "Remplir ou Re-remplir Toutes les Zones" - -#: pcbnew/onrightclick.cpp:345 -msgid "Remove filled areas" -msgstr "Suppimer zones remplies" - -#: pcbnew/onrightclick.cpp:350 -#: pcbnew/onrightclick.cpp:359 -#: pcbnew/onrightclick.cpp:371 -#: pcbnew/onrightclick.cpp:432 -msgid "Select Working Layer" -msgstr "Sélection de la couche de travail" - -#: pcbnew/onrightclick.cpp:357 -#: pcbnew/onrightclick.cpp:429 -msgid "Select Track Width" -msgstr "Sélection Epais. Piste" - -#: pcbnew/onrightclick.cpp:361 -msgid "Select layer pair for vias" -msgstr "Selection couple de couches pour Vias" - -#: pcbnew/onrightclick.cpp:377 -msgid "Footprint documentation" -msgstr "Documentation des modules" - -#: pcbnew/onrightclick.cpp:387 -msgid "Glob Move and Place" -msgstr "Move et Place Globaux" - -#: pcbnew/onrightclick.cpp:389 -msgid "Unlock All Modules" -msgstr "Déverrouiller tous les Modules" - -#: pcbnew/onrightclick.cpp:391 -msgid "Lock All Modules" -msgstr "Verrouiller tous les Modules" - -#: pcbnew/onrightclick.cpp:394 -msgid "Move All Modules" -msgstr "Déplace tous les Modules" - -#: pcbnew/onrightclick.cpp:395 -msgid "Move New Modules" -msgstr "Déplace nouveaux Modules" - -#: pcbnew/onrightclick.cpp:397 -msgid "Autoplace All Modules" -msgstr "Autoplace Tous Modules" - -#: pcbnew/onrightclick.cpp:398 -msgid "Autoplace New Modules" -msgstr "AutoPlace nouveaux Modules" - -#: pcbnew/onrightclick.cpp:399 -msgid "Autoplace Next Module" -msgstr "Autoplace Module suivant" - -#: pcbnew/onrightclick.cpp:402 -msgid "Orient All Modules" -msgstr "Oriente Tous Modules" - -#: pcbnew/onrightclick.cpp:409 -msgid "Global Autoroute" -msgstr "Autoroutage global" - -#: pcbnew/onrightclick.cpp:411 -msgid "Select layer pair" -msgstr "Selection couple de couches" - -#: pcbnew/onrightclick.cpp:413 -msgid "Autoroute All Modules" -msgstr "Autoroute Tous Modules" - -#: pcbnew/onrightclick.cpp:415 -msgid "Reset unrouted" -msgstr "Réinit non routés" - -#: pcbnew/onrightclick.cpp:420 -msgid "Global AutoRouter" -msgstr "Autorouteur Global" - -#: pcbnew/onrightclick.cpp:422 -msgid "Read Global AutoRouter Data" -msgstr "Lire Données de L'autorouteur global" - -#: pcbnew/onrightclick.cpp:450 -msgid "Cancel block" -msgstr "Annuler bloc" - -#: pcbnew/onrightclick.cpp:452 -msgid "Zoom block" -msgstr "Zoom bloc" - -#: pcbnew/onrightclick.cpp:455 -msgid "Place block" -msgstr "Place bloc" - -#: pcbnew/onrightclick.cpp:457 -msgid "Copy block" -msgstr "Copie bloc" - -#: pcbnew/onrightclick.cpp:459 -msgid "Flip block" -msgstr "Retourner bloc" - -#: pcbnew/onrightclick.cpp:461 -msgid "Rotate block" -msgstr "Rotation bloc" - -#: pcbnew/onrightclick.cpp:463 -msgid "Delete block" -msgstr "Effacer bloc" - -#: pcbnew/onrightclick.cpp:482 -msgid "Drag via" -msgstr "Drag via" - -#: pcbnew/onrightclick.cpp:486 -msgid "Edit Via Drill" -msgstr "Editer Perçage Via" - -#: pcbnew/onrightclick.cpp:488 -msgid "Set via hole to Default" -msgstr "Ajuste perçage via à défaut" - -#: pcbnew/onrightclick.cpp:489 -msgid "Set via hole to a specific value. This specfic value is currently" -msgstr "Ajuste diametre perçage via a une valeur sécifique. Cette valeur spécifique est actuellement" - -#: pcbnew/onrightclick.cpp:492 -msgid "Set via hole to alt value" -msgstr "Ajuste perçage via à valeur alternative" - -#: pcbnew/onrightclick.cpp:494 -msgid "Set a specific via hole value. This value is currently" -msgstr "Ajuste une valeur spécifique de perçage de la via. Cette valeur est actuellement" - -#: pcbnew/onrightclick.cpp:497 -msgid "Set the via hole alt value" -msgstr "Ajuste la valeur alt. perçage via" - -#: pcbnew/onrightclick.cpp:499 -msgid "Export Via hole to alt value" -msgstr "Exporte perçage via à valeur alt." - -#: pcbnew/onrightclick.cpp:501 -msgid "Export via hole to others id vias" -msgstr "Exporte perçage via aux autres semblables." - -#: pcbnew/onrightclick.cpp:503 -msgid "Set ALL via holes to default" -msgstr "Ajuste perçage TOUTES vias au défaut" - -#: pcbnew/onrightclick.cpp:516 -msgid "Move Node" -msgstr "Déplace Noeud" - -#: pcbnew/onrightclick.cpp:521 -msgid "Drag Segments, keep slope" -msgstr "Drag Segments, garder direction" - -#: pcbnew/onrightclick.cpp:523 -msgid "Drag segment" -msgstr "Drag segment" - -#: pcbnew/onrightclick.cpp:526 -msgid "Move Segment" -msgstr "Déplace Segment" - -#: pcbnew/onrightclick.cpp:529 -msgid "Break track" -msgstr "Briser piste" - -#: pcbnew/onrightclick.cpp:536 -msgid "Place Node" -msgstr "Place noeud" - -#: pcbnew/onrightclick.cpp:543 -msgid "End Track" -msgstr "Terminer Piste" - -#: pcbnew/onrightclick.cpp:546 -msgid "Place Via" -msgstr "Place Via" - -#: pcbnew/onrightclick.cpp:553 -msgid "Place Micro Via" -msgstr "Place Micro Via" - -#: pcbnew/onrightclick.cpp:565 -msgid "Change width" -msgstr "Change largeur" - -#: pcbnew/onrightclick.cpp:567 -msgid "Change Via Size" -msgstr "Change Taille Via" - -#: pcbnew/onrightclick.cpp:567 -msgid "Change Segment Width" -msgstr "Change Largeur Segment" - -#: pcbnew/onrightclick.cpp:570 -msgid "Change Track Width" -msgstr "Change Largeur Piste" - -#: pcbnew/onrightclick.cpp:572 -msgid "Change net" -msgstr "Change net" - -#: pcbnew/onrightclick.cpp:574 -msgid "Change ALL Tracks and Vias" -msgstr "Changer TOUTES Pistes et Vias" - -#: pcbnew/onrightclick.cpp:576 -msgid "Change ALL Vias (no track)" -msgstr "Changer TOUTES Vias (pas les pistes)" - -#: pcbnew/onrightclick.cpp:578 -msgid "Change ALL Tracks (no via)" -msgstr "Changer TOUTES Pistes (pas les vias)" - -#: pcbnew/onrightclick.cpp:586 -msgid "Delete Via" -msgstr "Suppression Via" - -#: pcbnew/onrightclick.cpp:586 -msgid "Delete Segment" -msgstr "SupprimerSegment" - -#: pcbnew/onrightclick.cpp:593 -msgid "Delete track" -msgstr "Effacer piste" - -#: pcbnew/onrightclick.cpp:597 -msgid "Delete net" -msgstr "Supprimer Net" - -#: pcbnew/onrightclick.cpp:602 -msgid "Set flags" -msgstr "Ajust. flags" - -#: pcbnew/onrightclick.cpp:603 -msgid "Locked: Yes" -msgstr "Verrou: Oui" - -#: pcbnew/onrightclick.cpp:604 -msgid "Locked: No" -msgstr "Verrou: Non" - -#: pcbnew/onrightclick.cpp:614 -msgid "Track locked: Yes" -msgstr "Piste verrouillée: Oui" - -#: pcbnew/onrightclick.cpp:615 -msgid "Track locked: No" -msgstr "Piste verrouillée: Non" - -#: pcbnew/onrightclick.cpp:617 -msgid "Net locked: Yes" -msgstr "Net verrouillé: Oui" - -#: pcbnew/onrightclick.cpp:618 -msgid "Net locked: No" -msgstr "Net verrouillé: Non" - -#: pcbnew/onrightclick.cpp:633 -msgid "Place Edge Outline" -msgstr "Place Segment de Contour" - -#: pcbnew/onrightclick.cpp:639 -msgid "Place corner" -msgstr "Place sommet" - -#: pcbnew/onrightclick.cpp:642 -msgid "Place zone" -msgstr "Place zone" - -#: pcbnew/onrightclick.cpp:654 -msgid "Move corner" -msgstr "Déplace sommet" - -#: pcbnew/onrightclick.cpp:656 -msgid "Delete corner" -msgstr "Supprimer sommet" - -#: pcbnew/onrightclick.cpp:661 -msgid "Create Corner" -msgstr "Créer Sommet" - -#: pcbnew/onrightclick.cpp:663 -msgid "Drag Outline Segment" -msgstr "Drag Segment Contour" - -#: pcbnew/onrightclick.cpp:668 -msgid "Add Similar Zone" -msgstr "Addition d'une Zone Semblable" - -#: pcbnew/onrightclick.cpp:671 -msgid "Add Cutout Area" -msgstr "Addition d'une Zone Interdite" - -#: pcbnew/onrightclick.cpp:675 -msgid "Fill Zone" -msgstr "Remplir Zone" - -#: pcbnew/onrightclick.cpp:678 -msgid "Move Zone" -msgstr "Déplace Zone" - -#: pcbnew/onrightclick.cpp:681 -msgid "Edit Zone Params" -msgstr "Editer Paramètres de la Zone" - -#: pcbnew/onrightclick.cpp:686 -msgid "Delete Cutout" -msgstr "Supprimer Zone Interdite" - -#: pcbnew/onrightclick.cpp:689 -msgid "Delete Zone Outline" -msgstr "Supprimer Contour de Zone" - -#: pcbnew/onrightclick.cpp:711 -#: pcbnew/onrightclick.cpp:756 -#: pcbnew/onrightclick.cpp:794 -#: pcbnew/onrightclick.cpp:860 -msgid "Move" -msgstr "Move" - -#: pcbnew/onrightclick.cpp:714 -#: pcbnew/onrightclick.cpp:796 -msgid "Drag" -msgstr "Drag" - -#: pcbnew/onrightclick.cpp:718 -msgid "Rotate +" -msgstr "Rotation +" - -#: pcbnew/onrightclick.cpp:722 -msgid "Rotate -" -msgstr "Rotation -" - -#: pcbnew/onrightclick.cpp:723 -msgid "Flip" -msgstr "Change côté" - -#: pcbnew/onrightclick.cpp:803 -msgid "Copy current pad settings to this pad" -msgstr "Copier les réglages courants pour ce pad" - -#: pcbnew/onrightclick.cpp:807 -msgid "Copy this pad settings to current pad settings" -msgstr "Copier les caractéristiques de ce pad vers les caractéristiques courantes" - -#: pcbnew/onrightclick.cpp:815 -msgid "Copy this pad settings to all pads in this footprint (or similar footprints)" -msgstr "Copier les caractéristiques de ce pad vers tous les autres pads de ce module( ou modules similaires)" - -#: pcbnew/onrightclick.cpp:827 -msgid "Autoroute Pad" -msgstr "Autoroute Pad" - -#: pcbnew/onrightclick.cpp:828 -msgid "Autoroute Net" -msgstr "Autoroute Net" +#: pcbnew/menubarmodedit.cpp:88 +msgid "&Help" +msgstr "&Aide" #: pcbnew/dialog_freeroute_exchange.cpp:187 msgid "Export a Specctra Design (*.dsn) File" @@ -4650,7 +4343,7 @@ msgid "Layer selection:" msgstr "Sélection couche:" #: pcbnew/zones_non_copper_type_functions.cpp:152 -#: pcbnew/dialog_copper_zones.cpp:369 +#: pcbnew/dialog_copper_zones.cpp:382 msgid "Error : you must choose a layer" msgstr "Erreur. Vous devez choisir une couche" @@ -4662,7 +4355,7 @@ msgstr "Valeur isolation zone:" msgid "Grid :" msgstr "Grille:" -#: pcbnew/dialog_copper_zones.cpp:381 +#: pcbnew/dialog_copper_zones.cpp:394 msgid "Error : you must choose a net name" msgstr "Erreur. Vous devez choisir une équipotentielle" @@ -4944,6 +4637,314 @@ msgstr "couche E.C.O.2" msgid "Draft layer" msgstr "Couche dessin" +#: pcbnew/menubarpcb.cpp:42 +msgid "&New Board" +msgstr "&Nouveau Circuit Imprimé" + +#: pcbnew/menubarpcb.cpp:43 +msgid "Clear old board and initialize a new one" +msgstr "Effacer C.I. ancien et créer un nouveau" + +#: pcbnew/menubarpcb.cpp:49 +msgid "&Load Board" +msgstr "Charger Circuit Imprimé" + +#: pcbnew/menubarpcb.cpp:50 +msgid "Delete old board and load new board" +msgstr "Effacer ancien C.I. et charger un nouveau" + +#: pcbnew/menubarpcb.cpp:56 +msgid "Append Board" +msgstr "Ajouter Circuit Imprimé" + +#: pcbnew/menubarpcb.cpp:57 +msgid "Add board to old board" +msgstr "Ajouter un C.I. au C.I. actuel" + +#: pcbnew/menubarpcb.cpp:63 +msgid "&Rescue" +msgstr "&Secours" + +#: pcbnew/menubarpcb.cpp:64 +msgid "Clear old board and get last rescue file" +msgstr "Effacer C.I. actuel et reprendre dernier fichier secours" + +#: pcbnew/menubarpcb.cpp:69 +msgid "&Previous Version" +msgstr "&Précédente Version" + +#: pcbnew/menubarpcb.cpp:70 +msgid "Clear old board and get old version of board" +msgstr "Effacer C.I. actuel et reprendre ancienne version" + +#: pcbnew/menubarpcb.cpp:77 +msgid "&Save Board Ctrl-S" +msgstr "Sauver Circuit Imprimé (Ctrl S)" + +#: pcbnew/menubarpcb.cpp:78 +msgid "Save current board" +msgstr "Sauver le C.I. actuel" + +#: pcbnew/menubarpcb.cpp:83 +msgid "Save Board as..." +msgstr "Sauver C.I. sous.." + +#: pcbnew/menubarpcb.cpp:84 +msgid "Save current board as.." +msgstr "Sauver le Circuit Imprimé courant sous.." + +#: pcbnew/menubarpcb.cpp:91 +msgid "P&rint" +msgstr "Imp&rimer" + +#: pcbnew/menubarpcb.cpp:91 +msgid "Print on current printer" +msgstr "Imprimer sur l'imprimante par défaut" + +#: pcbnew/menubarpcb.cpp:96 +msgid "&Plot" +msgstr "&Tracer" + +#: pcbnew/menubarpcb.cpp:97 +msgid "Plot (HPGL, PostScript, or Gerber format)" +msgstr "Tracer ( format HPGL, POSTSCRIPT ou GERBER)" + +#: pcbnew/menubarpcb.cpp:106 +msgid "&Specctra DSN" +msgstr "&Specctra DSN" + +#: pcbnew/menubarpcb.cpp:106 +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:111 +msgid "&GenCAD" +msgstr "&GenCAD" + +#: pcbnew/menubarpcb.cpp:111 +msgid "Export GenCAD Format" +msgstr "Exporter en Format GenCAD" + +#: pcbnew/menubarpcb.cpp:116 +msgid "&Module Report" +msgstr "Rapport &Modules" + +#: pcbnew/menubarpcb.cpp:116 +msgid "Create a board report (footprint report)" +msgstr "Créer un fichier rapport (rapport sur modules)" + +#: pcbnew/menubarpcb.cpp:120 +msgid "&Export" +msgstr "&Exporter" + +#: pcbnew/menubarpcb.cpp:120 +msgid "Export board" +msgstr "Exporter le C.I." + +#: pcbnew/menubarpcb.cpp:128 +msgid "&Specctra Session" +msgstr "&Specctra Session" + +#: pcbnew/menubarpcb.cpp:128 +msgid "Import a routed \"Specctra Session\" (*.ses) file" +msgstr "Importer un fichier de routage \"Specctra Session\" (*.ses) " + +#: pcbnew/menubarpcb.cpp:140 +msgid "Import" +msgstr "Importer" + +#: pcbnew/menubarpcb.cpp:140 +msgid "Import files" +msgstr "Importer fichiers" + +#: pcbnew/menubarpcb.cpp:147 +msgid "Add New Footprints" +msgstr "Ajouter Nouveaux Modules" + +#: pcbnew/menubarpcb.cpp:148 +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:152 +msgid "Create Footprint Archive" +msgstr "Créer Archive des Modules" + +#: pcbnew/menubarpcb.cpp:153 +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:158 +msgid "Archive Footprints" +msgstr "Archiver Modules" + +#: pcbnew/menubarpcb.cpp:159 +msgid "Archive or add footprints in a library file" +msgstr "Archiver ou ajouter les modules dans un fichier librairie" + +#: pcbnew/menubarpcb.cpp:163 +msgid "E&xit" +msgstr "&Quitter" + +#: pcbnew/menubarpcb.cpp:163 +msgid "Quit PCBNEW" +msgstr "Quitter PCBNEW" + +#: pcbnew/menubarpcb.cpp:181 +msgid "&Library" +msgstr "&Librairie" + +#: pcbnew/menubarpcb.cpp:182 +msgid "Setting libraries, directories and others..." +msgstr "Sélectionner les librairies , répertoires et autres" + +#: pcbnew/menubarpcb.cpp:186 +msgid "&Colors" +msgstr "&Couleurs" + +#: pcbnew/menubarpcb.cpp:187 +msgid "Select colors and display for board items" +msgstr "Selection couleurs et affichage des éléments du C.I." + +#: pcbnew/menubarpcb.cpp:191 +msgid "&General" +msgstr " &Général " + +#: pcbnew/menubarpcb.cpp:192 +msgid "Select general options for PCBNEW" +msgstr " Sélection options générales pour PCBNEW" + +#: pcbnew/menubarpcb.cpp:196 +msgid "&Display" +msgstr "&Affichage" + +#: pcbnew/menubarpcb.cpp:197 +msgid "Select what items are displayed" +msgstr "Sélectionner les éléments a afficher" + +#: pcbnew/menubarpcb.cpp:207 +msgid "&Save Preferences" +msgstr "&Sauver Préférences" + +#: pcbnew/menubarpcb.cpp:208 +msgid "Save application preferences" +msgstr "Sauver préférences" + +#: pcbnew/menubarpcb.cpp:212 +msgid "&Read Preferences" +msgstr "&Lire Préférences" + +#: pcbnew/menubarpcb.cpp:213 +msgid "Read application preferences" +msgstr "Lire préférences de l'application" + +#: pcbnew/menubarpcb.cpp:225 +msgid "Tracks and Vias" +msgstr "Pistes et Vias" + +#: pcbnew/menubarpcb.cpp:226 +msgid "Adjust size and width for tracks, vias" +msgstr "Ajuster dims et taille des pistes et vias" + +#: pcbnew/menubarpcb.cpp:235 +msgid "Texts and Drawings" +msgstr "Textes et Tracés" + +#: pcbnew/menubarpcb.cpp:241 +msgid "Adjust size,shape,layers... for pads" +msgstr "Ajuster taille, forme, couches... pour pads" + +#: pcbnew/menubarpcb.cpp:246 +msgid "&Save Setup" +msgstr "&Sauver Options" + +#: pcbnew/menubarpcb.cpp:247 +msgid "Save options in current directory" +msgstr "Sauver les options en répertoire de travail" + +#: pcbnew/menubarpcb.cpp:256 +msgid "Generate &Modules Position" +msgstr "Créer &Modules Pos" + +#: pcbnew/menubarpcb.cpp:257 +msgid "Generate modules position file" +msgstr "Gen fichier Position des Modules" + +#: pcbnew/menubarpcb.cpp:261 +msgid "Create &Drill File" +msgstr "Créer &Fichier de Percage" + +#: pcbnew/menubarpcb.cpp:262 +msgid "Generate excellon drill file" +msgstr "Créer Fichier de percage" + +#: pcbnew/menubarpcb.cpp:266 +msgid "Create &Component File" +msgstr "Créer &Fichier Cmp" + +#: pcbnew/menubarpcb.cpp:267 +msgid "Recreate .cmp file for CvPcb" +msgstr "Recréer le fichier .cmp pour CvPcb" + +#: pcbnew/menubarpcb.cpp:275 +msgid "Global &Deletions" +msgstr "Effacements &Généraux" + +#: pcbnew/menubarpcb.cpp:276 +msgid "Delete tracks, modules, texts... on board" +msgstr "Effacer pistes, modules, textes... sur le C.I." + +#: pcbnew/menubarpcb.cpp:280 +msgid "&List Nets" +msgstr "Liste Equipots" + +#: pcbnew/menubarpcb.cpp:281 +msgid "List nets (names and id)" +msgstr "Lister équipotentielles (noms et numéros d'identification)" + +#: pcbnew/menubarpcb.cpp:285 +msgid "&Track Operations" +msgstr "Opéra&tions sur Pistes" + +#: pcbnew/menubarpcb.cpp:286 +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:290 +msgid "&Swap Layers" +msgstr "&Permutte Couches" + +#: pcbnew/menubarpcb.cpp:291 +msgid "Swap tracks on copper layers or drawings on others layers" +msgstr "Permutation de couches" + +#: pcbnew/menubarpcb.cpp:299 +msgid "Open the PCBNEW manual" +msgstr "Ouvrir la Documentation de PCBNEW" + +#: pcbnew/menubarpcb.cpp:303 +msgid "&About PCBNEW" +msgstr "&Au Sujet de PCBNEW" + +#: pcbnew/menubarpcb.cpp:303 +msgid "About PCBNEW printed circuit board designer" +msgstr "Au Sujet de PCBNEW outil de conception de C.I." + +#: pcbnew/menubarpcb.cpp:315 +msgid "&File" +msgstr "&Fichiers" + +#: pcbnew/menubarpcb.cpp:316 +msgid "&Preferences" +msgstr "&Préférences" + +#: pcbnew/menubarpcb.cpp:318 +msgid "&Miscellaneous" +msgstr "&Divers" + +#: pcbnew/menubarpcb.cpp:319 +msgid "P&ostprocess" +msgstr "P&ostprocesseurs" + #: pcbnew/pcbframe.cpp:280 msgid "Board modified, Save before exit ?" msgstr "Circuit Imprimé modifiée, Sauver avant de quitter ?" @@ -5503,320 +5504,6 @@ msgstr "Feuille %s (fichier %s) modifiée. La sauver?" msgid "Failed to create file " msgstr "Impossible de créer le fichier " -#: eeschema/onrightclick.cpp:119 -msgid "Leave Sheet" -msgstr "Quitter sous-feuille" - -#: eeschema/onrightclick.cpp:135 -msgid "Delete Noconn" -msgstr "Supprimer Non Connexion" - -#: eeschema/onrightclick.cpp:145 -msgid "Move Bus Entry" -msgstr "Déplacer Entrée de Bus" - -#: eeschema/onrightclick.cpp:147 -msgid "Set Bus Entry /" -msgstr "Entrée de Bus /" - -#: eeschema/onrightclick.cpp:149 -msgid "Set Bus Entry \\" -msgstr "Entrée de Bus \\" - -#: eeschema/onrightclick.cpp:151 -msgid "Delete Bus Entry" -msgstr "Supprimer Entrée de Bus" - -#: eeschema/onrightclick.cpp:246 -msgid "Move Field" -msgstr "Déplace Champ" - -#: eeschema/onrightclick.cpp:247 -msgid "Rotate Field" -msgstr "Rotation Champ" - -#: eeschema/onrightclick.cpp:273 -msgid "Move component" -msgstr "Déplace composant" - -#: eeschema/onrightclick.cpp:278 -msgid "Drag component" -msgstr "Drag composant" - -#: eeschema/onrightclick.cpp:285 -msgid "Rotate +" -msgstr "Rotation +" - -#: eeschema/onrightclick.cpp:289 -#: eeschema/dialog_edit_component_in_schematic.cpp:182 -msgid "Mirror --" -msgstr "Miroir--" - -#: eeschema/onrightclick.cpp:291 -msgid "Mirror ||" -msgstr "Miroir ||" - -#: eeschema/onrightclick.cpp:297 -msgid "Orient component" -msgstr "Oriente composant" - -#: eeschema/onrightclick.cpp:310 -msgid "Footprint " -msgstr "Empreinte: " - -#: eeschema/onrightclick.cpp:322 -#, c-format -msgid "Unit %d %c" -msgstr "Unité %d %c" - -#: eeschema/onrightclick.cpp:333 -msgid "Edit component" -msgstr "Edite composant" - -#: eeschema/onrightclick.cpp:337 -msgid "Copy component" -msgstr "Copie composant" - -#: eeschema/onrightclick.cpp:338 -msgid "Delete component" -msgstr "Suppression omposant" - -#: eeschema/onrightclick.cpp:357 -msgid "Move global label" -msgstr "Déplacer label global" - -#: eeschema/onrightclick.cpp:358 -msgid "Rotate global label" -msgstr "Rot. label global" - -#: eeschema/onrightclick.cpp:359 -msgid "Edit global label" -msgstr "Editer label global" - -#: eeschema/onrightclick.cpp:360 -msgid "Delete global label" -msgstr "Supprimer label global" - -#: eeschema/onrightclick.cpp:364 -#: eeschema/onrightclick.cpp:418 -#: eeschema/onrightclick.cpp:447 -msgid "Change to hierarchical label" -msgstr "Chnager en label hiérarchique" - -#: eeschema/onrightclick.cpp:366 -#: eeschema/onrightclick.cpp:391 -#: eeschema/onrightclick.cpp:445 -msgid "Change to label" -msgstr "Change en label" - -#: eeschema/onrightclick.cpp:368 -#: eeschema/onrightclick.cpp:393 -#: eeschema/onrightclick.cpp:420 -msgid "Change to text" -msgstr "Change en texte" - -#: eeschema/onrightclick.cpp:370 -#: eeschema/onrightclick.cpp:397 -#: eeschema/onrightclick.cpp:424 -#: eeschema/onrightclick.cpp:451 -msgid "Change type" -msgstr "Change type" - -#: eeschema/onrightclick.cpp:384 -msgid "Move hierarchical label" -msgstr "Déplacer label hiérarchique" - -#: eeschema/onrightclick.cpp:385 -msgid "Rotate hierarchical Label" -msgstr "Rot. label hiérarchique" - -#: eeschema/onrightclick.cpp:386 -msgid "Edit hierarchical Label" -msgstr "Editer label hiérarchique" - -#: eeschema/onrightclick.cpp:387 -msgid "Delete hierarchical label" -msgstr "Supprimer label hiérarchique" - -#: eeschema/onrightclick.cpp:395 -#: eeschema/onrightclick.cpp:422 -msgid "Change to global label" -msgstr "Change en label global" - -#: eeschema/onrightclick.cpp:411 -msgid "Move label" -msgstr "Déplace label" - -#: eeschema/onrightclick.cpp:412 -msgid "Rotate label" -msgstr "Rot. label" - -#: eeschema/onrightclick.cpp:413 -msgid "Edit label" -msgstr "Editer label" - -#: eeschema/onrightclick.cpp:414 -msgid "Delete label" -msgstr "Supprimer label" - -#: eeschema/onrightclick.cpp:438 -msgid "Move text" -msgstr "Déplacer texte" - -#: eeschema/onrightclick.cpp:439 -msgid "Rotate text" -msgstr "Rot. texte" - -#: eeschema/onrightclick.cpp:440 -msgid "Edit text" -msgstr "Editer texte" - -#: eeschema/onrightclick.cpp:441 -msgid "Delete text" -msgstr "Supprimer texte" - -#: eeschema/onrightclick.cpp:449 -msgid "Change to Glabel" -msgstr "Change en Label Global" - -#: eeschema/onrightclick.cpp:469 -#: eeschema/onrightclick.cpp:509 -msgid "Break wire" -msgstr "Briser fil" - -#: eeschema/onrightclick.cpp:472 -msgid "Delete junction" -msgstr "Supprimer jonction" - -#: eeschema/onrightclick.cpp:477 -#: eeschema/onrightclick.cpp:503 -msgid "Delete node" -msgstr "Supprimer noeud" - -#: eeschema/onrightclick.cpp:479 -#: eeschema/onrightclick.cpp:505 -msgid "Delete connection" -msgstr "Supprimer connexion" - -#: eeschema/onrightclick.cpp:496 -msgid "Wire end" -msgstr "Terminer fil" - -#: eeschema/onrightclick.cpp:498 -msgid "Delete wire" -msgstr "Supprimer fil" - -#: eeschema/onrightclick.cpp:513 -#: eeschema/onrightclick.cpp:545 -msgid "Add junction" -msgstr "Ajout jonction" - -#: eeschema/onrightclick.cpp:514 -#: eeschema/onrightclick.cpp:546 -msgid "Add label" -msgstr "Ajout label" - -#: eeschema/onrightclick.cpp:519 -#: eeschema/onrightclick.cpp:551 -msgid "Add global label" -msgstr "Ajout de labels globaux" - -#: eeschema/onrightclick.cpp:535 -msgid "Bus end" -msgstr "Terminer bus" - -#: eeschema/onrightclick.cpp:538 -msgid "Delete bus" -msgstr "Supprimer bus" - -#: eeschema/onrightclick.cpp:542 -msgid "Break bus" -msgstr "Briser bus" - -#: eeschema/onrightclick.cpp:564 -msgid "Enter sheet" -msgstr "Enter dans feuille" - -#: eeschema/onrightclick.cpp:566 -msgid "Move sheet" -msgstr "Déplace feuille" - -#: eeschema/onrightclick.cpp:571 -msgid "Place sheet" -msgstr "Place feuille" - -#: eeschema/onrightclick.cpp:575 -msgid "Edit sheet" -msgstr "Edite feuille" - -#: eeschema/onrightclick.cpp:576 -msgid "Resize sheet" -msgstr "Redimensionne feuille" - -#: eeschema/onrightclick.cpp:579 -msgid "Cleanup PinSheets" -msgstr "Nettoyage de la feuille" - -#: eeschema/onrightclick.cpp:580 -msgid "Delete sheet" -msgstr "Supprimer feuille" - -#: eeschema/onrightclick.cpp:593 -msgid "Move PinSheet" -msgstr "Déplace Connecteur de hiérarchie" - -#: eeschema/onrightclick.cpp:595 -msgid "Edit PinSheet" -msgstr "Edit Connecteur de hiérarchie" - -#: eeschema/onrightclick.cpp:598 -msgid "Delete PinSheet" -msgstr "Supprimer Connecteur de hiérarchie" - -#: eeschema/onrightclick.cpp:623 -msgid "Other block commands" -msgstr "Autres commandes de bloc" - -#: eeschema/onrightclick.cpp:624 -msgid "Save block" -msgstr "Sauver bloc" - -#: eeschema/onrightclick.cpp:628 -msgid "Drag block" -msgstr "Sauver bloc" - -#: eeschema/onrightclick.cpp:632 -msgid "Mirror Block ||" -msgstr "Miroir Bloc ||" - -#: eeschema/onrightclick.cpp:636 -msgid "Copy to Clipboard" -msgstr "Copie dans Presse papier" - -#: eeschema/dialog_cmp_graphic_properties.cpp:152 -msgid "Options :" -msgstr "Options :" - -#: eeschema/dialog_cmp_graphic_properties.cpp:156 -msgid "Common to Units" -msgstr "Commun aux Unités" - -#: eeschema/dialog_cmp_graphic_properties.cpp:160 -msgid "Common to convert" -msgstr "Commun a converti" - -#: eeschema/dialog_cmp_graphic_properties.cpp:168 -msgid "Void" -msgstr "Sans" - -#: eeschema/dialog_cmp_graphic_properties.cpp:170 -msgid "BgFilled" -msgstr "Fond Plein" - -#: eeschema/dialog_cmp_graphic_properties.cpp:171 -msgid "Fill:" -msgstr "Remplissage:" - #: eeschema/edit_component_in_lib.cpp:168 msgid "Lib Component Properties" msgstr "Propriétés du composant librairie" @@ -5839,7 +5526,7 @@ msgid "Delete All" msgstr "Tout Supprimer" #: eeschema/edit_component_in_lib.cpp:281 -#: eeschema/edit_component_in_lib.cpp:1189 +#: eeschema/edit_component_in_lib.cpp:1191 msgid "Footprint Filter" msgstr "Filtrage Modules" @@ -5856,7 +5543,7 @@ msgid "Align left" msgstr "Alignement à gauche" #: eeschema/edit_component_in_lib.cpp:476 -#: eeschema/edit_component_in_lib.cpp:478 +#: eeschema/edit_component_in_lib.cpp:479 msgid "Align center" msgstr "Alignement au centre" @@ -5864,110 +5551,243 @@ msgstr "Alignement au centre" msgid "Align right" msgstr "Alignement à droite" -#: eeschema/edit_component_in_lib.cpp:478 +#: eeschema/edit_component_in_lib.cpp:479 msgid "Align bottom" msgstr "Alignement en bas" -#: eeschema/edit_component_in_lib.cpp:478 +#: eeschema/edit_component_in_lib.cpp:479 msgid "Align top" msgstr "Alignement au sommet" -#: eeschema/edit_component_in_lib.cpp:484 +#: eeschema/edit_component_in_lib.cpp:486 #: eeschema/dialog_edit_component_in_schematic.cpp:226 msgid "Fields" msgstr "Champs" -#: eeschema/edit_component_in_lib.cpp:497 +#: eeschema/edit_component_in_lib.cpp:499 #: eeschema/dialog_edit_component_in_schematic.cpp:212 msgid "Show Text" msgstr "Texte visible" -#: eeschema/edit_component_in_lib.cpp:502 +#: eeschema/edit_component_in_lib.cpp:504 #: eeschema/dialog_edit_component_in_schematic.cpp:216 msgid "Vertical" msgstr "Vertical" -#: eeschema/edit_component_in_lib.cpp:508 +#: eeschema/edit_component_in_lib.cpp:510 msgid "Field Name:" msgstr "Nom Champ" -#: eeschema/edit_component_in_lib.cpp:518 +#: eeschema/edit_component_in_lib.cpp:520 msgid "Field Text:" msgstr "Texte du Champ:" -#: eeschema/edit_component_in_lib.cpp:524 +#: eeschema/edit_component_in_lib.cpp:526 msgid "Pos" msgstr "Pos" -#: eeschema/edit_component_in_lib.cpp:529 +#: eeschema/edit_component_in_lib.cpp:531 msgid "Hor Justify" msgstr "Justifié horiz" -#: eeschema/edit_component_in_lib.cpp:536 +#: eeschema/edit_component_in_lib.cpp:538 msgid "Vert Justify" msgstr "Justifié Vert." -#: eeschema/edit_component_in_lib.cpp:551 +#: eeschema/edit_component_in_lib.cpp:553 msgid "Chip Name" msgstr "Nom en librairie" -#: eeschema/edit_component_in_lib.cpp:554 +#: eeschema/edit_component_in_lib.cpp:556 msgid "Field to edit" msgstr "Champ à éditer" -#: eeschema/edit_component_in_lib.cpp:890 +#: eeschema/edit_component_in_lib.cpp:892 msgid "Ok to Delete Alias LIST" msgstr "Ok pour effacer la LISTE des Alias" -#: eeschema/edit_component_in_lib.cpp:915 +#: eeschema/edit_component_in_lib.cpp:917 msgid "New alias:" msgstr "Noveau alias" -#: eeschema/edit_component_in_lib.cpp:915 +#: eeschema/edit_component_in_lib.cpp:917 msgid "Component Alias" msgstr "Alias de Composant" -#: eeschema/edit_component_in_lib.cpp:923 +#: eeschema/edit_component_in_lib.cpp:925 msgid "This is the Root Part" msgstr "Ceci est le composant racine" -#: eeschema/edit_component_in_lib.cpp:932 -#: eeschema/edit_component_in_lib.cpp:1200 +#: eeschema/edit_component_in_lib.cpp:934 +#: eeschema/edit_component_in_lib.cpp:1202 msgid "Already in use" msgstr "Déja en usage" -#: eeschema/edit_component_in_lib.cpp:957 +#: eeschema/edit_component_in_lib.cpp:959 msgid " is Current Selected Alias!" msgstr " est l' Alias actuellement sélectionné!" -#: eeschema/edit_component_in_lib.cpp:1010 +#: eeschema/edit_component_in_lib.cpp:1012 msgid "Delete units" msgstr "Supprimer unité" -#: eeschema/edit_component_in_lib.cpp:1080 +#: eeschema/edit_component_in_lib.cpp:1082 msgid "Create pins for Convert items" msgstr "Créér les pins des unitées converties" -#: eeschema/edit_component_in_lib.cpp:1084 +#: eeschema/edit_component_in_lib.cpp:1086 msgid "Part as \"De Morgan\" anymore" msgstr "Le composant a une représentation convertie" -#: eeschema/edit_component_in_lib.cpp:1109 +#: eeschema/edit_component_in_lib.cpp:1111 msgid "Delete Convert items" msgstr "Suppression des éléments convertis" -#: eeschema/edit_component_in_lib.cpp:1144 +#: eeschema/edit_component_in_lib.cpp:1146 msgid "Doc Files" msgstr "Fichiers de Doc" -#: eeschema/edit_component_in_lib.cpp:1167 +#: eeschema/edit_component_in_lib.cpp:1169 msgid "Ok to Delete FootprintFilter LIST" msgstr "Ok pour effacer la LISTE des filtres de modules" -#: eeschema/edit_component_in_lib.cpp:1189 +#: eeschema/edit_component_in_lib.cpp:1191 msgid "New FootprintFilter:" msgstr "Nouveau Filtre de Modules:" +#: eeschema/dialog_cmp_graphic_properties.cpp:152 +msgid "Options :" +msgstr "Options :" + +#: eeschema/dialog_cmp_graphic_properties.cpp:156 +msgid "Common to Units" +msgstr "Commun aux Unités" + +#: eeschema/dialog_cmp_graphic_properties.cpp:160 +#: eeschema/pinedit-dialog.cpp:197 +msgid "Common to convert" +msgstr "Commun a converti" + +#: eeschema/dialog_cmp_graphic_properties.cpp:168 +msgid "Void" +msgstr "Sans" + +#: eeschema/dialog_cmp_graphic_properties.cpp:170 +msgid "BgFilled" +msgstr "Fond Plein" + +#: eeschema/dialog_cmp_graphic_properties.cpp:171 +msgid "Fill:" +msgstr "Remplissage:" + +#: eeschema/pinedit-dialog.cpp:160 +msgid "Pin Name :" +msgstr "Nom de la pin :" + +#: eeschema/pinedit-dialog.cpp:166 +msgid "Pin Num :" +msgstr "Num de la pin :" + +#: eeschema/pinedit-dialog.cpp:174 +msgid " Pin Options :" +msgstr "Options Pin :" + +#: eeschema/pinedit-dialog.cpp:190 +msgid "Pin length" +msgstr "Longueur pin" + +#: eeschema/pinedit-dialog.cpp:193 +msgid "Common to units" +msgstr "Commun aux unités" + +#: eeschema/pinedit-dialog.cpp:201 +msgid "No Draw" +msgstr "Invisible" + +#: eeschema/pinedit-dialog.cpp:227 +msgid "Pin Orient:" +msgstr "Pin Orient:" + +#: eeschema/pinedit-dialog.cpp:251 +msgid "line" +msgstr "Ligne" + +#: eeschema/pinedit-dialog.cpp:252 +msgid "invert" +msgstr "invert" + +#: eeschema/pinedit-dialog.cpp:253 +msgid "clock" +msgstr "clock" + +#: eeschema/pinedit-dialog.cpp:254 +msgid "clock inv" +msgstr "clock inv" + +#: eeschema/pinedit-dialog.cpp:255 +msgid "low in" +msgstr "low in" + +#: eeschema/pinedit-dialog.cpp:256 +msgid "low clock" +msgstr "low clock" + +#: eeschema/pinedit-dialog.cpp:257 +msgid "low out" +msgstr "low out" + +#: eeschema/pinedit-dialog.cpp:258 +msgid "Pin Shape:" +msgstr "Forme Pin:" + +#: eeschema/pinedit-dialog.cpp:264 +#: eeschema/dialog_edit_label.cpp:160 +msgid "Input" +msgstr "Entrée" + +#: eeschema/pinedit-dialog.cpp:265 +#: eeschema/dialog_edit_label.cpp:161 +msgid "Output" +msgstr "Sortie" + +#: eeschema/pinedit-dialog.cpp:266 +#: eeschema/dialog_edit_label.cpp:162 +msgid "Bidi" +msgstr "Bidi" + +#: eeschema/pinedit-dialog.cpp:267 +msgid "3 States" +msgstr "3 Etats" + +#: eeschema/pinedit-dialog.cpp:268 +#: eeschema/dialog_edit_label.cpp:164 +msgid "Passive" +msgstr "Passive" + +#: eeschema/pinedit-dialog.cpp:269 +msgid "Unspecified" +msgstr "Non specifié" + +#: eeschema/pinedit-dialog.cpp:270 +msgid "Power In" +msgstr "Power In" + +#: eeschema/pinedit-dialog.cpp:271 +msgid "Power Out" +msgstr "Power Out" + +#: eeschema/pinedit-dialog.cpp:272 +msgid "Open coll" +msgstr "Coll ouvert" + +#: eeschema/pinedit-dialog.cpp:273 +msgid "Open emit" +msgstr "Emetteur ouv." + +#: eeschema/pinedit-dialog.cpp:274 +msgid "Electrical Type:" +msgstr "Type électrique:" + #: eeschema/plotps.cpp:190 msgid "Page Size A4" msgstr "Feuille A4" @@ -6266,6 +6086,14 @@ msgstr "&Options" msgid "General options..." msgstr "Options Générales..." +#: eeschema/menubar.cpp:382 +msgid "&Save preferences" +msgstr "&Sauver Préférences" + +#: eeschema/menubar.cpp:386 +msgid "&Read preferences" +msgstr "&Lire Préférences" + #: eeschema/menubar.cpp:397 msgid "Open the eeschema manual" msgstr "Ouvrir la documentation de eeschema" @@ -6411,6 +6239,11 @@ msgstr "+90" msgid "Orient:" msgstr "Orient:" +#: eeschema/dialog_edit_component_in_schematic.cpp:182 +#: eeschema/onrightclick.cpp:289 +msgid "Mirror --" +msgstr "Miroir--" + #: eeschema/dialog_edit_component_in_schematic.cpp:183 msgid "Mirror !" msgstr "Miroir |" @@ -6427,6 +6260,291 @@ msgstr "Nom en librairie" msgid "Defaults" msgstr "Defauts" +#: eeschema/onrightclick.cpp:119 +msgid "Leave Sheet" +msgstr "Quitter sous-feuille" + +#: eeschema/onrightclick.cpp:135 +msgid "Delete Noconn" +msgstr "Supprimer Non Connexion" + +#: eeschema/onrightclick.cpp:145 +msgid "Move Bus Entry" +msgstr "Déplacer Entrée de Bus" + +#: eeschema/onrightclick.cpp:147 +msgid "Set Bus Entry /" +msgstr "Entrée de Bus /" + +#: eeschema/onrightclick.cpp:149 +msgid "Set Bus Entry \\" +msgstr "Entrée de Bus \\" + +#: eeschema/onrightclick.cpp:151 +msgid "Delete Bus Entry" +msgstr "Supprimer Entrée de Bus" + +#: eeschema/onrightclick.cpp:246 +msgid "Move Field" +msgstr "Déplace Champ" + +#: eeschema/onrightclick.cpp:247 +msgid "Rotate Field" +msgstr "Rotation Champ" + +#: eeschema/onrightclick.cpp:273 +msgid "Move Component" +msgstr "Déplace Composant" + +#: eeschema/onrightclick.cpp:278 +msgid "Drag Component" +msgstr "Drag Composant" + +#: eeschema/onrightclick.cpp:285 +msgid "Rotate +" +msgstr "Rotation +" + +#: eeschema/onrightclick.cpp:291 +msgid "Mirror ||" +msgstr "Miroir ||" + +#: eeschema/onrightclick.cpp:297 +msgid "Orient Component" +msgstr "Oriente Composant" + +#: eeschema/onrightclick.cpp:310 +msgid "Footprint " +msgstr "Empreinte: " + +#: eeschema/onrightclick.cpp:322 +#, c-format +msgid "Unit %d %c" +msgstr "Unité %d %c" + +#: eeschema/onrightclick.cpp:333 +msgid "Edit Component" +msgstr "Edite Composant" + +#: eeschema/onrightclick.cpp:337 +msgid "Copy Component" +msgstr "Copie Composant" + +#: eeschema/onrightclick.cpp:338 +msgid "Delete Component" +msgstr "Suppression Composant" + +#: eeschema/onrightclick.cpp:357 +msgid "Move Global Label" +msgstr "Déplacer Label Global" + +#: eeschema/onrightclick.cpp:358 +msgid "Rotate Global Label" +msgstr "Rot. Label Global" + +#: eeschema/onrightclick.cpp:359 +msgid "Edit Global Label" +msgstr "Editer Label Global" + +#: eeschema/onrightclick.cpp:360 +msgid "Delete Global Label" +msgstr "Supprimer Label Global" + +#: eeschema/onrightclick.cpp:364 +#: eeschema/onrightclick.cpp:418 +#: eeschema/onrightclick.cpp:447 +msgid "Change to Hierarchical Label" +msgstr "Changer en Label Hiérarchique" + +#: eeschema/onrightclick.cpp:366 +#: eeschema/onrightclick.cpp:391 +#: eeschema/onrightclick.cpp:445 +msgid "Change to Label" +msgstr "Change en Label" + +#: eeschema/onrightclick.cpp:368 +#: eeschema/onrightclick.cpp:393 +#: eeschema/onrightclick.cpp:420 +msgid "Change to Text" +msgstr "Change en Texte" + +#: eeschema/onrightclick.cpp:370 +#: eeschema/onrightclick.cpp:397 +#: eeschema/onrightclick.cpp:424 +#: eeschema/onrightclick.cpp:451 +msgid "Change Type" +msgstr "Change Type" + +#: eeschema/onrightclick.cpp:384 +msgid "Move Hierarchical Label" +msgstr "Déplacer Label Hiérarchique" + +#: eeschema/onrightclick.cpp:385 +msgid "Rotate Hierarchical Label" +msgstr "Rot. Label Hiérarchique" + +#: eeschema/onrightclick.cpp:386 +msgid "Edit Hierarchical Label" +msgstr "Editer Label Hiérarchique" + +#: eeschema/onrightclick.cpp:387 +msgid "Delete Hierarchical label" +msgstr "Supprimer Label Hiérarchique" + +#: eeschema/onrightclick.cpp:395 +#: eeschema/onrightclick.cpp:422 +msgid "Change to Global Label" +msgstr "Change en Label Global" + +#: eeschema/onrightclick.cpp:411 +msgid "Move Label" +msgstr "Déplace Label" + +#: eeschema/onrightclick.cpp:412 +msgid "Rotate Label" +msgstr "Rot. Label" + +#: eeschema/onrightclick.cpp:413 +msgid "Edit Label" +msgstr "Editer Label" + +#: eeschema/onrightclick.cpp:414 +msgid "Delete Label" +msgstr "Supprimer Label" + +#: eeschema/onrightclick.cpp:438 +msgid "Move Text" +msgstr "Déplacer Texte" + +#: eeschema/onrightclick.cpp:439 +msgid "Rotate Text" +msgstr "Rot. Texte" + +#: eeschema/onrightclick.cpp:440 +msgid "Edit Text" +msgstr "Editer Texte" + +#: eeschema/onrightclick.cpp:441 +msgid "Delete Text" +msgstr "Effacer Texte" + +#: eeschema/onrightclick.cpp:449 +msgid "Change to Glabel" +msgstr "Change en Label Global" + +#: eeschema/onrightclick.cpp:469 +#: eeschema/onrightclick.cpp:509 +msgid "Break Wire" +msgstr "Briser Fil" + +#: eeschema/onrightclick.cpp:472 +msgid "Delete Junction" +msgstr "Supprimer Jonction" + +#: eeschema/onrightclick.cpp:477 +#: eeschema/onrightclick.cpp:503 +msgid "Delete Node" +msgstr "Supprimer Noeud" + +#: eeschema/onrightclick.cpp:479 +#: eeschema/onrightclick.cpp:505 +msgid "Delete Connection" +msgstr "Supprimer Connexion" + +#: eeschema/onrightclick.cpp:496 +msgid "Wire End" +msgstr "Terminer Fil" + +#: eeschema/onrightclick.cpp:498 +msgid "Delete Wire" +msgstr "Supprimer Fil" + +#: eeschema/onrightclick.cpp:513 +#: eeschema/onrightclick.cpp:545 +msgid "Add Junction" +msgstr "Ajout jonctions" + +#: eeschema/onrightclick.cpp:514 +#: eeschema/onrightclick.cpp:546 +msgid "Add Label" +msgstr "Ajout Label" + +#: eeschema/onrightclick.cpp:519 +#: eeschema/onrightclick.cpp:551 +msgid "Add Global Label" +msgstr "Ajout Label Global" + +#: eeschema/onrightclick.cpp:535 +msgid "Bus End" +msgstr "Terminer Bus" + +#: eeschema/onrightclick.cpp:538 +msgid "Delete Bus" +msgstr "Supprimer Bus" + +#: eeschema/onrightclick.cpp:542 +msgid "Break Bus" +msgstr "Briser Bus" + +#: eeschema/onrightclick.cpp:564 +msgid "Enter Sheet" +msgstr "Enter dans Feuille" + +#: eeschema/onrightclick.cpp:566 +msgid "Move Sheet" +msgstr "Déplace Feuille" + +#: eeschema/onrightclick.cpp:571 +msgid "Place Sheet" +msgstr "Place Feuille" + +#: eeschema/onrightclick.cpp:575 +msgid "Edit Sheet" +msgstr "Edite Feuille" + +#: eeschema/onrightclick.cpp:576 +msgid "Resize Sheet" +msgstr "Redimensionne Feuille" + +#: eeschema/onrightclick.cpp:579 +msgid "Cleanup PinSheets" +msgstr "Nettoyage de la feuille" + +#: eeschema/onrightclick.cpp:580 +msgid "Delete Sheet" +msgstr "Supprimer Feuille" + +#: eeschema/onrightclick.cpp:593 +msgid "Move PinSheet" +msgstr "Déplace Connecteur de hiérarchie" + +#: eeschema/onrightclick.cpp:595 +msgid "Edit PinSheet" +msgstr "Edit Connecteur de hiérarchie" + +#: eeschema/onrightclick.cpp:598 +msgid "Delete PinSheet" +msgstr "Supprimer Connecteur de hiérarchie" + +#: eeschema/onrightclick.cpp:623 +msgid "Other Block Commands" +msgstr "Autres Commandes de Bloc" + +#: eeschema/onrightclick.cpp:624 +msgid "Save Block" +msgstr "Sauver Bloc" + +#: eeschema/onrightclick.cpp:628 +msgid "Drag Block" +msgstr "Drag Bloc" + +#: eeschema/onrightclick.cpp:632 +msgid "Mirror Block ||" +msgstr "Miroir Bloc ||" + +#: eeschema/onrightclick.cpp:636 +msgid "Copy to Clipboard" +msgstr "Copie dans Presse papier" + #: eeschema/dialog_edit_label.cpp:68 msgid "Global Label properties" msgstr "Propriétés du Label Global" @@ -6451,26 +6569,10 @@ msgstr "Texte " msgid "Text Orient:" msgstr "Orient:" -#: eeschema/dialog_edit_label.cpp:160 -msgid "Input" -msgstr "Entrée" - -#: eeschema/dialog_edit_label.cpp:161 -msgid "Output" -msgstr "Sortie" - -#: eeschema/dialog_edit_label.cpp:162 -msgid "Bidi" -msgstr "Bidi" - #: eeschema/dialog_edit_label.cpp:163 msgid "TriState" msgstr "3 états" -#: eeschema/dialog_edit_label.cpp:164 -msgid "Passive" -msgstr "Passive" - #: eeschema/dialog_edit_label.cpp:165 msgid "Glabel Shape:" msgstr "Forme GLabel:" @@ -7129,7 +7231,6 @@ msgstr "" "#End List\n" #: eeschema/build_BOM.cpp:694 -#: eeschema/component_class.cpp:119 msgid "Field" msgstr "Champ" @@ -7255,38 +7356,6 @@ msgstr "Erreur. Vous devez entre une ligne de commande" msgid "Error. You must provide a Title" msgstr "Erreur. Vous devez entre un titre" -#: eeschema/component_class.cpp:111 -msgid "Datasheet" -msgstr "Documentation" - -#: eeschema/pinedit.cpp:22 -msgid "line" -msgstr "Ligne" - -#: eeschema/pinedit.cpp:22 -msgid "invert" -msgstr "invert" - -#: eeschema/pinedit.cpp:22 -msgid "clock" -msgstr "clock" - -#: eeschema/pinedit.cpp:22 -msgid "clock inv" -msgstr "clock inv" - -#: eeschema/pinedit.cpp:23 -msgid "low in" -msgstr "low in" - -#: eeschema/pinedit.cpp:23 -msgid "low clock" -msgstr "low clock" - -#: eeschema/pinedit.cpp:23 -msgid "low out" -msgstr "low out" - #: eeschema/pinedit.cpp:216 msgid "Occupied by other pin. Continue?" msgstr "Occupé une autre pin, Continuer ?" @@ -7329,14 +7398,6 @@ msgstr "Ajoutde symboles de non connexion" msgid "Add Bus" msgstr "Addition de Bus" -#: eeschema/schedit.cpp:201 -msgid "Add Junction" -msgstr "Ajout jonctions" - -#: eeschema/schedit.cpp:205 -msgid "Add Label" -msgstr "Ajout Label" - #: eeschema/schedit.cpp:209 msgid "Add Global label" msgstr "Ajout de labels globaux" @@ -7621,66 +7682,6 @@ msgstr "Editer pins unité par unité (Utiliser en connaissance de cause)" msgid "Part %c" msgstr "Composant %c" -#: eeschema/pinedit-dialog.cpp:160 -msgid "Pin Name :" -msgstr "Nom de la pin :" - -#: eeschema/pinedit-dialog.cpp:166 -msgid "Pin Num :" -msgstr "Num de la pin :" - -#: eeschema/pinedit-dialog.cpp:174 -msgid " Pin Options :" -msgstr "Options Pin :" - -#: eeschema/pinedit-dialog.cpp:190 -msgid "Pin lenght" -msgstr "Longueur pin" - -#: eeschema/pinedit-dialog.cpp:193 -msgid "Common to units" -msgstr "Commun aux unités" - -#: eeschema/pinedit-dialog.cpp:201 -msgid "No Draw" -msgstr "Invisible" - -#: eeschema/pinedit-dialog.cpp:227 -msgid "Pin Orient:" -msgstr "Pin Orient:" - -#: eeschema/pinedit-dialog.cpp:258 -msgid "Pin Shape:" -msgstr "Forme Pin:" - -#: eeschema/pinedit-dialog.cpp:267 -msgid "3 States" -msgstr "3 Etats" - -#: eeschema/pinedit-dialog.cpp:269 -msgid "Unspecified" -msgstr "Non specifié" - -#: eeschema/pinedit-dialog.cpp:270 -msgid "Power In" -msgstr "Power In" - -#: eeschema/pinedit-dialog.cpp:271 -msgid "Power Out" -msgstr "Power Out" - -#: eeschema/pinedit-dialog.cpp:272 -msgid "Open coll" -msgstr "Coll ouvert" - -#: eeschema/pinedit-dialog.cpp:273 -msgid "Open emit" -msgstr "Emetteur ouv." - -#: eeschema/pinedit-dialog.cpp:274 -msgid "Electrical Type:" -msgstr "Type électrique:" - #: eeschema/plothpgl.cpp:222 msgid "Sheet Size" msgstr "Dim. feuille" @@ -7874,6 +7875,10 @@ msgstr "" msgid "File <%s> not found." msgstr "Fichier <%s> non trouvé" +#: eeschema/component_class.cpp:111 +msgid "Datasheet" +msgstr "Documentation" + #: eeschema/load_one_schematic_file.cpp:105 msgid "Failed to open " msgstr "Erreur ouverture " @@ -8043,6 +8048,35 @@ msgstr "Voir documents des composants" msgid "Insert component in schematic" msgstr "Placer composant en schématique" +#: eeschema/eelibs_read_libraryfiles.cpp:115 +msgid "Start loading schematic libs" +msgstr "Demarre chargement des librairies schématiques" + +#: eeschema/eelibs_read_libraryfiles.cpp:150 +msgid " error!" +msgstr " erreur!" + +#: eeschema/eelibs_read_libraryfiles.cpp:306 +#: eeschema/eelibs_read_libraryfiles.cpp:313 +msgid "File <" +msgstr "Fichier <" + +#: eeschema/eelibs_read_libraryfiles.cpp:306 +msgid "> is empty!" +msgstr "> est vide" + +#: eeschema/eelibs_read_libraryfiles.cpp:313 +msgid "> is NOT EESCHEMA library!" +msgstr "> nest PAS une librairie EESCHEMA !" + +#: eeschema/eelibs_read_libraryfiles.cpp:332 +msgid "Library <" +msgstr "Librairie <" + +#: eeschema/eelibs_read_libraryfiles.cpp:332 +msgid "> header read error" +msgstr "> erreur lecture entête" + #: eeschema/libedit_onrightclick.cpp:77 msgid "Move Arc " msgstr "Déplacer arc" @@ -8087,10 +8121,6 @@ msgstr "Déplacer Texte" msgid "Text Editor" msgstr "Editeur de Texte" -#: eeschema/libedit_onrightclick.cpp:128 -msgid "Rotate Text" -msgstr "Rot. Texte" - #: eeschema/libedit_onrightclick.cpp:131 msgid "Delete Text " msgstr "Supprimer Texte" @@ -8116,8 +8146,8 @@ msgid "Delete Segment " msgstr "Supprimer Segment" #: eeschema/libedit_onrightclick.cpp:168 -msgid "Move field " -msgstr "Déplace champ" +msgid "Move Field " +msgstr "Déplace Champ" #: eeschema/libedit_onrightclick.cpp:172 msgid "Field Rotate" @@ -8148,62 +8178,32 @@ msgid "Pin Size to selected pins" msgstr "Change taille pins sélectionnées" #: eeschema/libedit_onrightclick.cpp:214 -msgid "Pin Size to others" -msgstr "Change taille autres pins" +msgid "Pin Size to Others" +msgstr "Change Taille autres Pins" #: eeschema/libedit_onrightclick.cpp:217 msgid "Pin Name Size to selected pin" msgstr "Change taille Nom pin sélectionnées" #: eeschema/libedit_onrightclick.cpp:217 -msgid "Pin Name Size to others" -msgstr "Change taille Nom pin autres pins" +msgid "Pin Name Size to Others" +msgstr "Change taille Nom Pin autres Pins" #: eeschema/libedit_onrightclick.cpp:220 msgid "Pin Num Size to selected pin" msgstr "Change taille Num pins sélectionnées" #: eeschema/libedit_onrightclick.cpp:220 -msgid "Pin Num Size to others" -msgstr "Change taille Num pin autres pins" +msgid "Pin Num Size to Others" +msgstr "Change Taille Num Pin autres Pins" #: eeschema/libedit_onrightclick.cpp:242 -msgid "Select items" -msgstr "Sélection des éléments" +msgid "Select Items" +msgstr "Sélection des Eléments" #: eeschema/libedit_onrightclick.cpp:245 -#, fuzzy -msgid "Mirror block" -msgstr "Miroir Bloc ||" - -#: eeschema/eelibs_read_libraryfiles.cpp:115 -msgid "Start loading schematic libs" -msgstr "Demarre chargement des librairies schématiques" - -#: eeschema/eelibs_read_libraryfiles.cpp:150 -msgid " error!" -msgstr " erreur!" - -#: eeschema/eelibs_read_libraryfiles.cpp:306 -#: eeschema/eelibs_read_libraryfiles.cpp:313 -msgid "File <" -msgstr "Fichier <" - -#: eeschema/eelibs_read_libraryfiles.cpp:306 -msgid "> is empty!" -msgstr "> est vide" - -#: eeschema/eelibs_read_libraryfiles.cpp:313 -msgid "> is NOT EESCHEMA library!" -msgstr "> nest PAS une librairie EESCHEMA !" - -#: eeschema/eelibs_read_libraryfiles.cpp:332 -msgid "Library <" -msgstr "Librairie <" - -#: eeschema/eelibs_read_libraryfiles.cpp:332 -msgid "> header read error" -msgstr "> erreur lecture entête" +msgid "Mirror Block" +msgstr "Miroir Bloc" #: eeschema/netlist.cpp:217 msgid "No component" @@ -8592,6 +8592,10 @@ msgstr "Quitter Cvpcb" msgid "&Configuration" msgstr "&Configuration" +#: cvpcb/tool_cvpcb.cpp:137 +msgid "Setting Libraries, Directories and others..." +msgstr "Sélectionner les librairies et répertoires" + #: cvpcb/tool_cvpcb.cpp:148 msgid "&Save config" msgstr "&Sauver config" @@ -8870,150 +8874,6 @@ msgstr "Charger Fichiers:" msgid "noname" msgstr "noname" -#: kicad/buildmnu.cpp:92 -msgid "&Open project" -msgstr "&Ouvrir projet" - -#: kicad/buildmnu.cpp:93 -msgid "Select an existing project" -msgstr "Ouvrir un projet existant" - -#: kicad/buildmnu.cpp:98 -msgid "&New project" -msgstr "&Nouveau projet" - -#: kicad/buildmnu.cpp:99 -msgid "Create new project" -msgstr "Créer un nouveau projet" - -#: kicad/buildmnu.cpp:104 -msgid "&Save project" -msgstr "&Sauver projet" - -#: kicad/buildmnu.cpp:105 -msgid "Save current project" -msgstr "Sauver le projet courrant" - -#: kicad/buildmnu.cpp:111 -msgid "Save &project files" -msgstr "Sauver fichiers &projet" - -#: kicad/buildmnu.cpp:112 -msgid "Save and Zip all project files" -msgstr "Compresser et sauver fichiers Projet" - -#: kicad/buildmnu.cpp:116 -msgid "&Unzip Archive" -msgstr "&Unzip Archive" - -#: kicad/buildmnu.cpp:117 -msgid "UnZip archive file" -msgstr "Décompresser fichier d'archive" - -#: kicad/buildmnu.cpp:122 -msgid "Quit KiCad" -msgstr "Quitter KiCad" - -#: kicad/buildmnu.cpp:137 -msgid "&Editor" -msgstr "&Editeur" - -#: kicad/buildmnu.cpp:137 -msgid "Text editor" -msgstr "Editeur de Texte" - -#: kicad/buildmnu.cpp:141 -msgid "&Browse files" -msgstr "&Examen fichiers" - -#: kicad/buildmnu.cpp:141 -msgid "Read or edit files" -msgstr "Lire ou Editer fichiers" - -#: kicad/buildmnu.cpp:146 -msgid "&Select editor" -msgstr "&Sélection éditeur" - -#: kicad/buildmnu.cpp:146 -msgid "Select your prefered editor for file browsing" -msgstr "Choisir son pour examen de fichiers" - -#: kicad/buildmnu.cpp:153 -msgid "Select fonts" -msgstr "Sélection fontes" - -#: kicad/buildmnu.cpp:153 -msgid "Font preferences" -msgstr "Préférences de fontes" - -#: kicad/buildmnu.cpp:160 -msgid "Default Pdf Viewer" -msgstr "Visualisateur PDF par défaut" - -#: kicad/buildmnu.cpp:160 -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:167 -msgid "Favourite Pdf Viewer" -msgstr "Visualisateur PDF préféré" - -#: kicad/buildmnu.cpp:167 -msgid "Use your favourite PDF viewer used to browse datasheets" -msgstr "\"Utiliser le visualisateur PDF préférét pour afficher les documentations" - -#: kicad/buildmnu.cpp:175 -msgid "Select Pdf Viewer" -msgstr "Sélection Visualisateur PDF" - -#: kicad/buildmnu.cpp:175 -msgid "Select your favourite PDF viewer used to browse datasheets" -msgstr "\"Sélectionner le visualisateur PDF favori pour afficher des documentations" - -#: kicad/buildmnu.cpp:179 -msgid "Pdf Browser" -msgstr "Visualisateur PDF" - -#: kicad/buildmnu.cpp:190 -msgid "Open the kicad manual" -msgstr "Ouvrir la documentation de kicad" - -#: kicad/buildmnu.cpp:195 -msgid "&About kicad" -msgstr "&Au sujet de Kicad" - -#: kicad/buildmnu.cpp:195 -msgid "About kicad project manager" -msgstr "Au sujet de Kicad, gestionnaire de projet" - -#: kicad/buildmnu.cpp:200 -msgid "&Projects" -msgstr "&Projets" - -#: kicad/buildmnu.cpp:201 -msgid "&Browse" -msgstr "&Examiner" - -#: kicad/buildmnu.cpp:243 -msgid "Create new project descriptor" -msgstr "Créer un nouveau descripteur de projet" - -#: kicad/buildmnu.cpp:248 -msgid "Select an existing project descriptor" -msgstr "Ouvrir un descripteur de projet existant" - -#: kicad/buildmnu.cpp:253 -msgid "Save current project descriptor" -msgstr "Sauver le descripteur de projet" - -#: kicad/buildmnu.cpp:259 -msgid "Archive all project files" -msgstr "Archiver les fichiers du projet" - -#: kicad/buildmnu.cpp:265 -msgid "Refresh project tree" -msgstr "Mettre a jour l'affichage du projet" - #: kicad/treeprj_frame.cpp:94 msgid "&Run" msgstr "Exécute&r" @@ -9112,6 +8972,150 @@ msgstr "Changer Nom Fichier: " msgid "Change filename" msgstr "Changer Nom Fichier" +#: kicad/buildmnu.cpp:92 +msgid "&Open Project" +msgstr "&Ouvrir Projet" + +#: kicad/buildmnu.cpp:93 +msgid "Select an existing project" +msgstr "Ouvrir un projet existant" + +#: kicad/buildmnu.cpp:98 +msgid "&New Project" +msgstr "&Nouveau Projet" + +#: kicad/buildmnu.cpp:99 +msgid "Create new project" +msgstr "Créer un nouveau projet" + +#: kicad/buildmnu.cpp:104 +msgid "&Save Project" +msgstr "&Sauver Projet" + +#: kicad/buildmnu.cpp:105 +msgid "Save current project" +msgstr "Sauver le projet courrant" + +#: kicad/buildmnu.cpp:111 +msgid "Save &Project Files" +msgstr "Sauver Fichiers &Projet" + +#: kicad/buildmnu.cpp:112 +msgid "Save and Zip all project files" +msgstr "Compresser et sauver fichiers Projet" + +#: kicad/buildmnu.cpp:116 +msgid "&Unzip Archive" +msgstr "&Unzip Archive" + +#: kicad/buildmnu.cpp:117 +msgid "UnZip archive file" +msgstr "Décompresser fichier d'archive" + +#: kicad/buildmnu.cpp:122 +msgid "Quit KiCad" +msgstr "Quitter KiCad" + +#: kicad/buildmnu.cpp:137 +msgid "&Editor" +msgstr "&Editeur" + +#: kicad/buildmnu.cpp:137 +msgid "Text editor" +msgstr "Editeur de Texte" + +#: kicad/buildmnu.cpp:141 +msgid "&Browse Files" +msgstr "&Examen Fichiers" + +#: kicad/buildmnu.cpp:141 +msgid "Read or edit files" +msgstr "Lire ou Editer fichiers" + +#: kicad/buildmnu.cpp:146 +msgid "&Select Editor" +msgstr "&Sélection Editeur" + +#: kicad/buildmnu.cpp:146 +msgid "Select your prefered editor for file browsing" +msgstr "Choisir son pour examen de fichiers" + +#: kicad/buildmnu.cpp:153 +msgid "Select Fonts" +msgstr "Sélection Fontes" + +#: kicad/buildmnu.cpp:153 +msgid "Font preferences" +msgstr "Préférences de fontes" + +#: kicad/buildmnu.cpp:160 +msgid "Default Pdf Viewer" +msgstr "Visualisateur PDF par défaut" + +#: kicad/buildmnu.cpp:160 +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:167 +msgid "Favourite Pdf Viewer" +msgstr "Visualisateur PDF préféré" + +#: kicad/buildmnu.cpp:167 +msgid "Use your favourite PDF viewer used to browse datasheets" +msgstr "\"Utiliser le visualisateur PDF préférét pour afficher les documentations" + +#: kicad/buildmnu.cpp:175 +msgid "Select Pdf Viewer" +msgstr "Sélection Visualisateur PDF" + +#: kicad/buildmnu.cpp:175 +msgid "Select your favourite PDF viewer used to browse datasheets" +msgstr "\"Sélectionner le visualisateur PDF favori pour afficher des documentations" + +#: kicad/buildmnu.cpp:179 +msgid "Pdf Browser" +msgstr "Visualisateur PDF" + +#: kicad/buildmnu.cpp:190 +msgid "Open the kicad manual" +msgstr "Ouvrir la documentation de kicad" + +#: kicad/buildmnu.cpp:195 +msgid "&About Kicad" +msgstr "&Au Sujet de Kicad" + +#: kicad/buildmnu.cpp:195 +msgid "About kicad project manager" +msgstr "Au sujet de Kicad, gestionnaire de projet" + +#: kicad/buildmnu.cpp:200 +msgid "&Projects" +msgstr "&Projets" + +#: kicad/buildmnu.cpp:201 +msgid "&Browse" +msgstr "&Examiner" + +#: kicad/buildmnu.cpp:243 +msgid "Create new project descriptor" +msgstr "Créer un nouveau descripteur de projet" + +#: kicad/buildmnu.cpp:248 +msgid "Select an existing project descriptor" +msgstr "Ouvrir un descripteur de projet existant" + +#: kicad/buildmnu.cpp:253 +msgid "Save current project descriptor" +msgstr "Sauver le descripteur de projet" + +#: kicad/buildmnu.cpp:259 +msgid "Archive all project files" +msgstr "Archiver les fichiers du projet" + +#: kicad/buildmnu.cpp:265 +msgid "Refresh project tree" +msgstr "Mettre a jour l'affichage du projet" + #: gerbview/block.cpp:267 msgid "Ok to delete block ?" msgstr "Ok pour effacer le bloc" @@ -10273,10 +10277,6 @@ msgstr "dialog_freeroute_exchange" msgid "General Options" msgstr "Options Générales" -#: pcbnew/dialog_graphic_items_options.h:47 -msgid "Texts and Drawings" -msgstr "Textes et Tracés" - #: pcbnew/dialog_initpcb.h:38 msgid "Global Delete" msgstr "Effacements Généraux" @@ -10425,10 +10425,6 @@ msgstr "Propriétés du dessin" msgid "Component Creation" msgstr "Creation Composant:" -#: eeschema/dialog_edit_component_in_schematic.h:52 -msgid "Component properties" -msgstr "Propriétés du composant" - #: eeschema/dialog_erc.h:57 msgid "EESchema Erc" msgstr "EESchema Erc" @@ -10537,6 +10533,10 @@ msgstr "Propriétés de la feuille" msgid "Graphic text properties" msgstr "Propriétés du texte" +#: eeschema/dialog_edit_component_in_schematic.h:52 +msgid "Component Properties" +msgstr "Propriétés du Composant" + #: eeschema/pinedit-dialog.h:66 msgid "Pin properties" msgstr "Propriétés des Pins" @@ -10713,6 +10713,42 @@ msgstr "Imprimer" msgid "Create SVG file" msgstr "Créer Fichier SVG" +#~ msgid "Quit pcbnew" +#~ msgstr "Quitter Pcbnew" +#~ msgid "Texts and drawings" +#~ msgstr "&Textes et Tracés" +#~ msgid "&List nets" +#~ msgstr "&Liste équipots" +#~ msgid "End tool" +#~ msgstr "Fin Outil" +#~ msgid "Select layer pair" +#~ msgstr "Selection couple de couches" +#~ msgid "Cancel block" +#~ msgstr "Annuler bloc" +#~ msgid "Place block" +#~ msgstr "Place bloc" +#~ msgid "Copy block" +#~ msgstr "Copie bloc" +#~ msgid "Rotate block" +#~ msgstr "Rotation bloc" +#~ msgid "Delete block" +#~ msgstr "Effacer bloc" +#~ msgid "Delete track" +#~ msgstr "Effacer piste" +#~ msgid "Move text" +#~ msgstr "Déplacer texte" +#~ msgid "Rotate text" +#~ msgstr "Rot. texte" +#~ msgid "Delete text" +#~ msgstr "Supprimer texte" +#~ msgid "Add junction" +#~ msgstr "Ajout jonction" +#~ msgid "Add label" +#~ msgstr "Ajout label" +#~ msgid "Add global label" +#~ msgstr "Ajout de labels globaux" +#~ msgid "Move field " +#~ msgstr "Déplace champ" #~ msgid "Unfill zone" #~ msgstr "Vider zone" diff --git a/pcbnew/zones_convert_brd_items_to_polygons.cpp b/pcbnew/zones_convert_brd_items_to_polygons.cpp index f0f8681397..2a04093ab4 100644 --- a/pcbnew/zones_convert_brd_items_to_polygons.cpp +++ b/pcbnew/zones_convert_brd_items_to_polygons.cpp @@ -34,7 +34,7 @@ void AddTextBoxWithClearancePolygon( Bool_Engine* aBooleng, // Local Variables: /* how many segments are used to create a polygon from a circle: */ static int s_CircleToSegmentsCount = 16; /* default value. the real value will be changed to 32 - * if g_Zone_Arc_Approximation == 1 + * if g_Zone_Arc_Approximation == 1 */ /** function AddClearanceAreasPolygonsToPolysList @@ -380,13 +380,13 @@ void AddThermalReliefPadPolygon( Bool_Engine* aBooleng, corners_buffer.push_back( corner_end.y ); /* add the radius lines */ - corners_buffer.push_back( copper_tickness.x / 2); - corners_buffer.push_back( copper_tickness.y / 2); + corners_buffer.push_back( copper_tickness.x / 2 ); + corners_buffer.push_back( copper_tickness.y / 2 ); // Now, add the 4 holes ( each is the pattern, rotated by 0, 90, 180 and 270 deg - angle = 450; // TODO: problems with kbool if angle = 0 (bad filled polygon on some pads, but not alls) - int angle_pad = aPad.m_Orient; // Pad orientation + angle = 450; // TODO: problems with kbool if angle = 0 (bad filled polygon on some pads, but not alls) + int angle_pad = aPad.m_Orient; // Pad orientation for( unsigned ihole = 0; ihole < 4; ihole++ ) { if( aBooleng->StartPolygonAdd( GROUP_B ) ) @@ -394,7 +394,7 @@ void AddThermalReliefPadPolygon( Bool_Engine* aBooleng, for( unsigned ii = 0; ii < corners_buffer.size(); ii += 2 ) { corner = wxPoint( corners_buffer[ii], corners_buffer[ii + 1] ); - RotatePoint( &corner, angle + angle_pad ); // Rotate by segment angle and pad orientation + RotatePoint( &corner, angle + angle_pad ); // Rotate by segment angle and pad orientation corner += PadShapePos; aBooleng->AddPoint( corner.x, corner.y ); } @@ -408,6 +408,145 @@ void AddThermalReliefPadPolygon( Bool_Engine* aBooleng, break; case PAD_OVAL: + { + // Oval pad support along the lines of round and rectangular pads + + std::vector corners_buffer; // Polygon buffer as vector + + int dx = (aPad.m_Size.x / 2) + aThermalGap; // Cutout radius x + int dy = (aPad.m_Size.y / 2) + aThermalGap; // Cutout radius y + + wxPoint shape_offset; + + if( dx > dy ) // Some coordinate fiddling, depending on the shape offset direction + { + shape_offset = wxPoint( (dx - dy), 0 ); + + // Crosspoint of thermal spoke sides, the first point of polygon buffer + corners_buffer.push_back( wxPoint( copper_tickness.x / 2, copper_tickness.y / 2 ) ); + + // Arc start point calculation, the intersecting point of cutout arc and thermal spoke edge + if( copper_tickness.x > dx - dy ) // If copper thickness is more than shape offset, we need to calculate arc intercept point. + { + corner.x = copper_tickness.x / 2; + corner.y = + (int) sqrt( (double) ( dy * dy ) - + ( ( corner.x - (dx - dy) ) * ( corner.x - (dx - dy) ) ) ); + corner.x -= (dx - dy); + } + else + { + corner.x = copper_tickness.x / 2; + corner.y = dy; + corners_buffer.push_back( corner ); + corner.x = ( (dx - dy) - copper_tickness.x ) / 2; + } + + // Arc stop point calculation, the intersecting point of cutout arc and thermal spoke edge + corner_end.y = copper_tickness.y / 2; + corner_end.x = (int) sqrt( (double) ( ( dx * dx ) - ( corner_end.y * corner_end.y ) ) ); + } + else + { + shape_offset = wxPoint( 0, (dx - dy) ); + corners_buffer.push_back( wxPoint( copper_tickness.x / 2, -copper_tickness.y / 2 ) ); + + if( copper_tickness.y > dy - dx ) + { + corner.y = copper_tickness.y / 2; + corner.x = + (int) sqrt( (double) ( dx * + dx ) - + ( ( corner.y - (dy - dx) ) * ( corner.y - (dy - dx) ) ) ); + corner.y = ( -copper_tickness.y / 2 ) + (dy - dx); + } + else + { + corner.y = -copper_tickness.y / 2; + corner.x = dx; + corners_buffer.push_back( corner ); + corner.y = ( (dy - dx) - copper_tickness.y ) / 2; + } + corner_end.x = copper_tickness.x / 2; + corner_end.y = -(int) sqrt( (double) ( ( dy * dy ) - ( corner_end.x * corner_end.x ) ) ); + } + + + // calculate intermediate points till limit is reached + if( dx > dy ) + { + while( (corner.y > corner_end.y) && (corner.x < corner_end.x) ) + { + corners_buffer.push_back( corner + shape_offset ); + RotatePoint( &corner, delta ); + } + } + else + { + while( (corner.y > corner_end.y) && (corner.x > corner_end.x) ) + { + corners_buffer.push_back( corner + shape_offset ); + RotatePoint( &corner, delta ); + } + } + + //corners_buffer.push_back(corner + shape_offset); // TODO: about one mil geometry error forms somewhere. + corners_buffer.push_back( corner_end ); // Enabling the line above shows intersection point. + + + /* Create 2 holes, rotated by pad rotation. + */ + angle = aPad.m_Orient; + for( int irect = 0; irect < 2; irect++ ) + { + if( aBooleng->StartPolygonAdd( GROUP_B ) ) + { + for( int ic = 0; ic < corners_buffer.size(); ic++ ) + { + wxPoint cpos = corners_buffer[ic]; + RotatePoint( &cpos, angle ); + cpos += PadShapePos; + aBooleng->AddPoint( cpos.x, cpos.y ); + } + + aBooleng->EndPolygonAdd(); + angle += 1800; // this is calculate hole 3 + if( angle >= 3600 ) + angle -= 3600; + } + } + + // Create holes, that are the mirrored from the previous holes + for( int i = 0; i < corners_buffer.size(); i++ ) + { + wxPoint swap = corners_buffer[i]; + swap = wxPoint( -swap.x, swap.y ); + corners_buffer[i] = swap; + } + + // Now add corner 4 and 2 (2 is the corner 4 rotated by 180 deg + angle = aPad.m_Orient; + for( int irect = 0; irect < 2; irect++ ) + { + if( aBooleng->StartPolygonAdd( GROUP_B ) ) + { + for( int ic = 0; ic < corners_buffer.size(); ic++ ) + { + wxPoint cpos = corners_buffer[ic]; + RotatePoint( &cpos, angle ); + cpos += PadShapePos; + aBooleng->AddPoint( cpos.x, cpos.y ); + } + + aBooleng->EndPolygonAdd(); + angle += 1800; + if( angle >= 3600 ) + angle -= 3600; + } + } + } + break; + case PAD_RECT: // draw 4 Holes { /* we create 4 copper holes and put them in position 1, 2, 3 and 4 @@ -552,7 +691,7 @@ void AddRoundedEndsSegmentPolygon( Bool_Engine* aBooleng, startp = aEnd; } int delta_angle = ArcTangente( endp.y, endp.x ); // delta_angle is in 0.1 degrees - seg_len = (int) sqrt( ((double)endp.y * endp.y) + ((double)endp.x * endp.x) ); + seg_len = (int) sqrt( ( (double) endp.y * endp.y ) + ( (double) endp.x * endp.x ) ); if( !aBooleng->StartPolygonAdd( GROUP_B ) ) return; // error!