From 4809f11c00660e589624c5b65b6e75a83a0b1e99 Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Thu, 4 Jun 2020 20:15:36 +0300 Subject: [PATCH] - updated the French translation strings - from @micmac (Michel Maciejewski) --- CHANGELOG.md | 1 + app_Main.py | 4 +- locale/fr/LC_MESSAGES/strings.mo | Bin 392204 -> 369443 bytes locale/fr/LC_MESSAGES/strings.po | 1973 +++++++++++++++++------------- 4 files changed, 1103 insertions(+), 875 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bc90aa3..ccfbd590 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ CHANGELOG for FlatCAM beta 4.06.2020 - improved the Isolation Tool - rest machining: test if the isolated polygon has interiors (holes) and if those can't be isolated too then mark the polygon as a rest geometry to be isolated with the next tool and so on +- updated the French translation strings - from @micmac (Michel Maciejewski) 3.06.2020 diff --git a/app_Main.py b/app_Main.py index 1de9d9fb..c008be78 100644 --- a/app_Main.py +++ b/app_Main.py @@ -2896,9 +2896,9 @@ class App(QtCore.QObject): self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % ""), 1, 3) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "French"), 2, 0) - self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu (Google-Tr)"), 2, 1) + self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Michel Maciejewski"), 2, 1) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % ""), 2, 2) - self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 2, 3) + self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % ""), 2, 3) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Hungarian"), 3, 0) self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 3, 1) diff --git a/locale/fr/LC_MESSAGES/strings.mo b/locale/fr/LC_MESSAGES/strings.mo index 3e518283790e9eb6612db2976ba4c6bf23f7a8df..9bc6517b55588095a78dc8f844826c47ff94a578 100644 GIT binary patch delta 66413 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 bqIGW5eLw2mH1o)3{gP7)GG~6(`?&rOyYmG6 delta 85190 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 diff --git a/locale/fr/LC_MESSAGES/strings.po b/locale/fr/LC_MESSAGES/strings.po index 404e2a72..03838ffa 100644 --- a/locale/fr/LC_MESSAGES/strings.po +++ b/locale/fr/LC_MESSAGES/strings.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2020-06-03 21:02+0300\n" -"PO-Revision-Date: 2020-06-03 21:03+0300\n" +"POT-Creation-Date: 2020-06-04 20:06+0300\n" +"PO-Revision-Date: 2020-06-04 20:07+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -98,8 +98,10 @@ msgid "Bookmark removed." msgstr "Signet supprimé." #: Bookmark.py:290 +#, fuzzy +#| msgid "Exported bookmarks to" msgid "Export Bookmarks" -msgstr "Exporter des signets" +msgstr "Menu exportés vers" #: Bookmark.py:293 appGUI/MainGUI.py:515 msgid "Bookmarks" @@ -112,22 +114,22 @@ msgstr "Internet" #: appObjects/ObjectCollection.py:127 appTools/ToolFilm.py:739 #: appTools/ToolFilm.py:885 appTools/ToolImage.py:247 appTools/ToolMove.py:269 #: appTools/ToolPcbWizard.py:301 appTools/ToolPcbWizard.py:324 -#: appTools/ToolQRCode.py:800 appTools/ToolQRCode.py:847 app_Main.py:1711 -#: app_Main.py:2452 app_Main.py:2488 app_Main.py:2535 app_Main.py:4101 -#: app_Main.py:6612 app_Main.py:6651 app_Main.py:6695 app_Main.py:6724 -#: app_Main.py:6765 app_Main.py:6790 app_Main.py:6846 app_Main.py:6882 -#: app_Main.py:6927 app_Main.py:6968 app_Main.py:7010 app_Main.py:7052 -#: app_Main.py:7093 app_Main.py:7137 app_Main.py:7197 app_Main.py:7229 -#: app_Main.py:7261 app_Main.py:7492 app_Main.py:7530 app_Main.py:7573 -#: app_Main.py:7650 app_Main.py:7705 +#: appTools/ToolQRCode.py:800 appTools/ToolQRCode.py:847 app_Main.py:1712 +#: app_Main.py:2453 app_Main.py:2489 app_Main.py:2536 app_Main.py:4134 +#: app_Main.py:6645 app_Main.py:6684 app_Main.py:6728 app_Main.py:6757 +#: app_Main.py:6798 app_Main.py:6823 app_Main.py:6879 app_Main.py:6915 +#: app_Main.py:6960 app_Main.py:7001 app_Main.py:7043 app_Main.py:7085 +#: app_Main.py:7126 app_Main.py:7170 app_Main.py:7230 app_Main.py:7262 +#: app_Main.py:7294 app_Main.py:7525 app_Main.py:7563 app_Main.py:7606 +#: app_Main.py:7683 app_Main.py:7738 msgid "Cancelled." msgstr "Annulé." #: Bookmark.py:308 appDatabase.py:673 appDatabase.py:2287 #: appEditors/FlatCAMTextEditor.py:276 appObjects/FlatCAMCNCJob.py:959 #: appTools/ToolFilm.py:1016 appTools/ToolFilm.py:1197 -#: appTools/ToolSolderPaste.py:1542 app_Main.py:2543 app_Main.py:7949 -#: app_Main.py:7997 app_Main.py:8122 app_Main.py:8258 +#: appTools/ToolSolderPaste.py:1542 app_Main.py:2544 app_Main.py:7982 +#: app_Main.py:8030 app_Main.py:8155 app_Main.py:8291 msgid "" "Permission denied, saving not possible.\n" "Most likely another app is holding the file open and not accessible." @@ -148,8 +150,10 @@ msgid "Exported bookmarks to" msgstr "Menu exportés vers" #: Bookmark.py:337 +#, fuzzy +#| msgid "Imported Bookmarks from" msgid "Import Bookmarks" -msgstr "Importer des signets" +msgstr "Signet importés de" #: Bookmark.py:356 msgid "Imported Bookmarks from" @@ -165,8 +169,10 @@ msgid "Click the start point of the area." msgstr "Cliquez sur le point de départ de la zone." #: Common.py:269 +#, fuzzy +#| msgid "Click the end point of the paint area." msgid "Click the end point of the area." -msgstr "Cliquez sur le point final de la zone." +msgstr "Cliquez sur le point final de la zone de peinture." #: Common.py:275 Common.py:377 appTools/ToolCopperThieving.py:830 #: appTools/ToolIsolation.py:2504 appTools/ToolIsolation.py:2556 @@ -188,16 +194,14 @@ msgstr "" #: Common.py:408 msgid "Exclusion areas added. Checking overlap with the object geometry ..." msgstr "" -"Des zones d'exclusion ont été ajoutées. Vérification du chevauchement avec " -"la géométrie de l'objet ..." #: Common.py:413 msgid "Failed. Exclusion areas intersects the object geometry ..." -msgstr "Échoué. Les zones d'exclusion coupent la géométrie de l'objet ..." +msgstr "" #: Common.py:417 msgid "Exclusion areas added." -msgstr "Des zones d'exclusion ont été ajoutées." +msgstr "" #: Common.py:426 Common.py:559 Common.py:619 appGUI/ObjectUI.py:2047 msgid "Generate the CNC Job object." @@ -205,19 +209,23 @@ msgstr "Générez l'objet Travail CNC." #: Common.py:426 msgid "With Exclusion areas." -msgstr "Avec zones d'exclusion." +msgstr "" #: Common.py:461 msgid "Cancelled. Area exclusion drawing was interrupted." -msgstr "Annulé. Le dessin d'exclusion de zone a été interrompu." +msgstr "" #: Common.py:572 Common.py:621 +#, fuzzy +#| msgid "All objects are selected." msgid "All exclusion zones deleted." -msgstr "Toutes les zones d'exclusion ont été supprimées." +msgstr "Tous les objets sont sélectionnés." #: Common.py:608 +#, fuzzy +#| msgid "Selected plots enabled..." msgid "Selected exclusion zones deleted." -msgstr "Les zones d'exclusion sélectionnées ont été supprimées." +msgstr "Sélection de tous les Plots activés ..." #: appDatabase.py:88 msgid "Add Geometry Tool in DB" @@ -261,8 +269,10 @@ msgstr "" "fichier texte personnalisé." #: appDatabase.py:122 appDatabase.py:1795 +#, fuzzy +#| msgid "Transform Tool" msgid "Transfer the Tool" -msgstr "Transférer l'outil" +msgstr "Outil de Transformation" #: appDatabase.py:124 msgid "" @@ -275,8 +285,8 @@ msgstr "" "dans la base de données des outils." #: appDatabase.py:130 appDatabase.py:1810 appGUI/MainGUI.py:1388 -#: appGUI/preferences/PreferencesUIManager.py:885 app_Main.py:2226 -#: app_Main.py:3161 app_Main.py:4038 app_Main.py:4308 app_Main.py:6419 +#: appGUI/preferences/PreferencesUIManager.py:885 app_Main.py:2227 +#: app_Main.py:3162 app_Main.py:4071 app_Main.py:4341 app_Main.py:6452 msgid "Cancel" msgstr "Annuler" @@ -705,8 +715,10 @@ msgstr "Échec de l'analyse du fichier BD des outils." #: appDatabase.py:318 appDatabase.py:729 appDatabase.py:2044 #: appDatabase.py:2343 +#, fuzzy +#| msgid "Loaded FlatCAM Tools DB from" msgid "Loaded Tools DB from" -msgstr "Base de données des outils chargés" +msgstr "Base de données des outils FlatCAM chargée depuis" #: appDatabase.py:324 appDatabase.py:1958 msgid "Add to DB" @@ -755,10 +767,10 @@ msgstr "Importer la BD des outils FlatCAM" #: appDatabase.py:740 appDatabase.py:915 appDatabase.py:2354 #: appDatabase.py:2624 appObjects/FlatCAMGeometry.py:956 -#: appTools/ToolIsolation.py:2909 appTools/ToolIsolation.py:2994 +#: appTools/ToolIsolation.py:2938 appTools/ToolIsolation.py:3023 #: appTools/ToolNCC.py:4029 appTools/ToolNCC.py:4113 appTools/ToolPaint.py:3578 -#: appTools/ToolPaint.py:3663 app_Main.py:5235 app_Main.py:5269 -#: app_Main.py:5296 app_Main.py:5316 app_Main.py:5326 +#: appTools/ToolPaint.py:3663 app_Main.py:5268 app_Main.py:5302 +#: app_Main.py:5329 app_Main.py:5349 app_Main.py:5359 msgid "Tools Database" msgstr "Base de données d'outils" @@ -791,8 +803,10 @@ msgid "Paint Parameters" msgstr "Paramètres de Peindre" #: appDatabase.py:1071 +#, fuzzy +#| msgid "Paint Parameters" msgid "Isolation Parameters" -msgstr "Paramètres d'isolement" +msgstr "Paramètres de Peindre" #: appDatabase.py:1204 appGUI/ObjectUI.py:746 appGUI/ObjectUI.py:1671 #: appGUI/preferences/geometry/GeometryOptPrefGroupUI.py:186 @@ -1054,7 +1068,7 @@ msgstr "" "pour couper les bords rugueux." #: appDatabase.py:1528 appEditors/FlatCAMGeoEditor.py:611 -#: appEditors/FlatCAMGrbEditor.py:5305 appGUI/ObjectUI.py:143 +#: appEditors/FlatCAMGrbEditor.py:5304 appGUI/ObjectUI.py:143 #: appGUI/ObjectUI.py:1394 appGUI/ObjectUI.py:2256 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:255 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:183 @@ -1141,8 +1155,10 @@ msgstr "Lignes_laser" #: appDatabase.py:1654 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:154 #: appTools/ToolIsolation.py:323 +#, fuzzy +#| msgid "# Passes" msgid "Passes" -msgstr "Passes" +msgstr "Nbres Passes" #: appDatabase.py:1656 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:156 #: appTools/ToolIsolation.py:325 @@ -1163,8 +1179,10 @@ msgstr "" #: appDatabase.py:1702 appGUI/ObjectUI.py:236 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:201 #: appTools/ToolIsolation.py:371 +#, fuzzy +#| msgid "\"Follow\"" msgid "Follow" -msgstr "Suivre" +msgstr "\"Suivre\"" #: appDatabase.py:1704 appDatabase.py:1710 appGUI/ObjectUI.py:237 #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:45 @@ -1236,14 +1254,19 @@ msgid "Save the Tools Database information's." msgstr "Enregistrez les informations de la base de données des outils." #: appDatabase.py:1797 +#, fuzzy +#| msgid "" +#| "Add a new tool in the Tools Table of the\n" +#| "active Geometry object after selecting a tool\n" +#| "in the Tools Database." msgid "" "Insert a new tool in the Tools Table of the\n" "object/application tool after selecting a tool\n" "in the Tools Database." msgstr "" -"Insérez un nouvel outil dans le tableau des outils du\n" -"objet / outil d'application après avoir sélectionné un outil\n" -"dans la base de données d'outils." +"Ajoutez un nouvel outil depuis la table des \n" +"objets Géométrie actif, après l'avoir sélectionné\n" +"dans la base de données des outils." #: appEditors/FlatCAMExcEditor.py:50 appEditors/FlatCAMExcEditor.py:74 #: appEditors/FlatCAMExcEditor.py:168 appEditors/FlatCAMExcEditor.py:385 @@ -1565,7 +1588,7 @@ msgstr "Y" #: appEditors/FlatCAMExcEditor.py:1982 appEditors/FlatCAMExcEditor.py:2016 #: appEditors/FlatCAMGeoEditor.py:683 appEditors/FlatCAMGrbEditor.py:2822 #: appEditors/FlatCAMGrbEditor.py:2839 appEditors/FlatCAMGrbEditor.py:2875 -#: appEditors/FlatCAMGrbEditor.py:5377 +#: appEditors/FlatCAMGrbEditor.py:5376 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:94 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:113 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:189 @@ -1790,10 +1813,10 @@ msgstr "Annulé. Aucun Outil/Foret sélectionné" #: appEditors/FlatCAMGeoEditor.py:4286 appEditors/FlatCAMGeoEditor.py:4300 #: appEditors/FlatCAMGrbEditor.py:1085 appEditors/FlatCAMGrbEditor.py:1312 #: appEditors/FlatCAMGrbEditor.py:1497 appEditors/FlatCAMGrbEditor.py:1766 -#: appEditors/FlatCAMGrbEditor.py:4609 appEditors/FlatCAMGrbEditor.py:4626 +#: appEditors/FlatCAMGrbEditor.py:4608 appEditors/FlatCAMGrbEditor.py:4625 #: appGUI/MainGUI.py:2711 appGUI/MainGUI.py:2723 #: appTools/ToolAlignObjects.py:393 appTools/ToolAlignObjects.py:415 -#: app_Main.py:4678 app_Main.py:4832 +#: app_Main.py:4711 app_Main.py:4865 msgid "Done." msgstr "Terminé." @@ -1802,7 +1825,7 @@ msgid "Done. Drill(s) deleted." msgstr "Terminé. Percer des trous supprimés." #: appEditors/FlatCAMExcEditor.py:4057 appEditors/FlatCAMExcEditor.py:4067 -#: appEditors/FlatCAMGrbEditor.py:5057 +#: appEditors/FlatCAMGrbEditor.py:5056 msgid "Click on the circular array Center position" msgstr "Cliquez sur le tableau circulaire Position centrale" @@ -1875,7 +1898,7 @@ msgstr "Outil Tampon" #: appEditors/FlatCAMGeoEditor.py:143 appEditors/FlatCAMGeoEditor.py:160 #: appEditors/FlatCAMGeoEditor.py:177 appEditors/FlatCAMGeoEditor.py:2978 #: appEditors/FlatCAMGeoEditor.py:3006 appEditors/FlatCAMGeoEditor.py:3034 -#: appEditors/FlatCAMGrbEditor.py:5110 +#: appEditors/FlatCAMGrbEditor.py:5109 msgid "Buffer distance value is missing or wrong format. Add it and retry." msgstr "" "La valeur de la distance tampon est un format manquant ou incorrect. Ajoutez-" @@ -1943,7 +1966,7 @@ msgstr "Outil de Peinture" #: appEditors/FlatCAMGeoEditor.py:582 appEditors/FlatCAMGeoEditor.py:1071 #: appEditors/FlatCAMGeoEditor.py:2966 appEditors/FlatCAMGeoEditor.py:2994 #: appEditors/FlatCAMGeoEditor.py:3022 appEditors/FlatCAMGeoEditor.py:4439 -#: appEditors/FlatCAMGrbEditor.py:5765 +#: appEditors/FlatCAMGrbEditor.py:5764 msgid "Cancelled. No shape selected." msgstr "Annulé. Aucune forme sélectionnée." @@ -1955,25 +1978,25 @@ msgid "Tools" msgstr "Outils" #: appEditors/FlatCAMGeoEditor.py:606 appEditors/FlatCAMGeoEditor.py:1035 -#: appEditors/FlatCAMGrbEditor.py:5300 appEditors/FlatCAMGrbEditor.py:5729 +#: appEditors/FlatCAMGrbEditor.py:5299 appEditors/FlatCAMGrbEditor.py:5728 #: appGUI/MainGUI.py:935 appGUI/MainGUI.py:1967 appTools/ToolTransform.py:494 msgid "Transform Tool" msgstr "Outil de Transformation" #: appEditors/FlatCAMGeoEditor.py:607 appEditors/FlatCAMGeoEditor.py:699 -#: appEditors/FlatCAMGrbEditor.py:5301 appEditors/FlatCAMGrbEditor.py:5393 +#: appEditors/FlatCAMGrbEditor.py:5300 appEditors/FlatCAMGrbEditor.py:5392 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:88 #: appTools/ToolTransform.py:27 appTools/ToolTransform.py:146 msgid "Rotate" msgstr "Tourner" -#: appEditors/FlatCAMGeoEditor.py:608 appEditors/FlatCAMGrbEditor.py:5302 +#: appEditors/FlatCAMGeoEditor.py:608 appEditors/FlatCAMGrbEditor.py:5301 #: appTools/ToolTransform.py:28 msgid "Skew/Shear" msgstr "Inclinaison/Cisaillement" #: appEditors/FlatCAMGeoEditor.py:609 appEditors/FlatCAMGrbEditor.py:2687 -#: appEditors/FlatCAMGrbEditor.py:5303 appGUI/MainGUI.py:1057 +#: appEditors/FlatCAMGrbEditor.py:5302 appGUI/MainGUI.py:1057 #: appGUI/MainGUI.py:1499 appGUI/MainGUI.py:2089 appGUI/MainGUI.py:4513 #: appGUI/ObjectUI.py:125 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:147 @@ -1981,13 +2004,13 @@ msgstr "Inclinaison/Cisaillement" msgid "Scale" msgstr "Mise à l'échelle" -#: appEditors/FlatCAMGeoEditor.py:610 appEditors/FlatCAMGrbEditor.py:5304 +#: appEditors/FlatCAMGeoEditor.py:610 appEditors/FlatCAMGrbEditor.py:5303 #: appTools/ToolTransform.py:30 msgid "Mirror (Flip)" msgstr "Miroir (flip)" #: appEditors/FlatCAMGeoEditor.py:612 appEditors/FlatCAMGrbEditor.py:2647 -#: appEditors/FlatCAMGrbEditor.py:5306 appGUI/MainGUI.py:1055 +#: appEditors/FlatCAMGrbEditor.py:5305 appGUI/MainGUI.py:1055 #: appGUI/MainGUI.py:1454 appGUI/MainGUI.py:1497 appGUI/MainGUI.py:2087 #: appGUI/MainGUI.py:4511 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:212 @@ -1995,7 +2018,7 @@ msgstr "Miroir (flip)" msgid "Buffer" msgstr "Tampon" -#: appEditors/FlatCAMGeoEditor.py:643 appEditors/FlatCAMGrbEditor.py:5337 +#: appEditors/FlatCAMGeoEditor.py:643 appEditors/FlatCAMGrbEditor.py:5336 #: appGUI/GUIElements.py:2690 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:169 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:44 @@ -2004,7 +2027,7 @@ msgstr "Tampon" msgid "Reference" msgstr "Référence" -#: appEditors/FlatCAMGeoEditor.py:645 appEditors/FlatCAMGrbEditor.py:5339 +#: appEditors/FlatCAMGeoEditor.py:645 appEditors/FlatCAMGrbEditor.py:5338 msgid "" "The reference point for Rotate, Skew, Scale, Mirror.\n" "Can be:\n" @@ -2014,15 +2037,8 @@ msgid "" "- Min Selection -> the point (minx, miny) of the bounding box of the " "selection" msgstr "" -"Le point de référence pour Rotation, Inclinaison, Échelle, Miroir.\n" -"Peut être:\n" -"- Origine -> c'est le 0, 0 point\n" -"- Sélection -> le centre du cadre de sélection des objets sélectionnés\n" -"- Point -> un point personnalisé défini par les coordonnées X, Y\n" -"- Min Selection -> le point (minx, miny) de la boîte englobante de la " -"sélection" -#: appEditors/FlatCAMGeoEditor.py:653 appEditors/FlatCAMGrbEditor.py:5347 +#: appEditors/FlatCAMGeoEditor.py:653 appEditors/FlatCAMGrbEditor.py:5346 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 #: appTools/ToolCalibration.py:770 appTools/ToolCalibration.py:771 #: appTools/ToolTransform.py:70 @@ -2030,7 +2046,7 @@ msgid "Origin" msgstr "Origine" #: appEditors/FlatCAMGeoEditor.py:653 appEditors/FlatCAMGeoEditor.py:1044 -#: appEditors/FlatCAMGrbEditor.py:5347 appEditors/FlatCAMGrbEditor.py:5738 +#: appEditors/FlatCAMGrbEditor.py:5346 appEditors/FlatCAMGrbEditor.py:5737 #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:250 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:275 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:311 @@ -2041,7 +2057,7 @@ msgstr "Origine" msgid "Selection" msgstr "Sélection" -#: appEditors/FlatCAMGeoEditor.py:653 appEditors/FlatCAMGrbEditor.py:5347 +#: appEditors/FlatCAMGeoEditor.py:653 appEditors/FlatCAMGrbEditor.py:5346 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:80 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:60 @@ -2049,44 +2065,48 @@ msgstr "Sélection" msgid "Point" msgstr "Point" -#: appEditors/FlatCAMGeoEditor.py:653 appEditors/FlatCAMGrbEditor.py:5347 +#: appEditors/FlatCAMGeoEditor.py:653 appEditors/FlatCAMGrbEditor.py:5346 +#, fuzzy +#| msgid "Find Minimum" msgid "Minimum" -msgstr "Le minimum" +msgstr "Trouver le minimum" #: appEditors/FlatCAMGeoEditor.py:659 appEditors/FlatCAMGeoEditor.py:955 -#: appEditors/FlatCAMGrbEditor.py:5353 appEditors/FlatCAMGrbEditor.py:5649 +#: appEditors/FlatCAMGrbEditor.py:5352 appEditors/FlatCAMGrbEditor.py:5648 #: appGUI/preferences/tools/Tools2EDrillsPrefGroupUI.py:131 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:243 #: appTools/ToolExtractDrills.py:164 appTools/ToolExtractDrills.py:285 #: appTools/ToolPunchGerber.py:192 appTools/ToolPunchGerber.py:308 -#: appTools/ToolTransform.py:76 appTools/ToolTransform.py:402 app_Main.py:9700 +#: appTools/ToolTransform.py:76 appTools/ToolTransform.py:402 app_Main.py:9733 msgid "Value" msgstr "Valeur" -#: appEditors/FlatCAMGeoEditor.py:661 appEditors/FlatCAMGrbEditor.py:5355 +#: appEditors/FlatCAMGeoEditor.py:661 appEditors/FlatCAMGrbEditor.py:5354 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:62 #: appTools/ToolTransform.py:78 msgid "A point of reference in format X,Y." -msgstr "Un point de référence au format X, Y." +msgstr "" #: appEditors/FlatCAMGeoEditor.py:668 appEditors/FlatCAMGrbEditor.py:2590 -#: appEditors/FlatCAMGrbEditor.py:5362 appGUI/ObjectUI.py:1494 +#: appEditors/FlatCAMGrbEditor.py:5361 appGUI/ObjectUI.py:1494 #: appTools/ToolDblSided.py:192 appTools/ToolDblSided.py:425 #: appTools/ToolIsolation.py:276 appTools/ToolIsolation.py:610 #: appTools/ToolNCC.py:294 appTools/ToolNCC.py:631 appTools/ToolPaint.py:276 #: appTools/ToolPaint.py:675 appTools/ToolSolderPaste.py:127 #: appTools/ToolSolderPaste.py:605 appTools/ToolTransform.py:85 -#: app_Main.py:5672 +#: app_Main.py:5705 msgid "Add" msgstr "Ajouter" -#: appEditors/FlatCAMGeoEditor.py:670 appEditors/FlatCAMGrbEditor.py:5364 +#: appEditors/FlatCAMGeoEditor.py:670 appEditors/FlatCAMGrbEditor.py:5363 #: appTools/ToolTransform.py:87 +#, fuzzy +#| msgid "Coordinates copied to clipboard." msgid "Add point coordinates from clipboard." -msgstr "Ajoutez des coordonnées de point à partir du presse-papiers." +msgstr "Coordonnées copiées dans le presse-papier." -#: appEditors/FlatCAMGeoEditor.py:685 appEditors/FlatCAMGrbEditor.py:5379 +#: appEditors/FlatCAMGeoEditor.py:685 appEditors/FlatCAMGrbEditor.py:5378 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:98 #: appTools/ToolTransform.py:132 msgid "" @@ -2100,7 +2120,7 @@ msgstr "" "Nombres positifs pour le mouvement en CW.\n" "Nombres négatifs pour le mouvement CCW." -#: appEditors/FlatCAMGeoEditor.py:701 appEditors/FlatCAMGrbEditor.py:5395 +#: appEditors/FlatCAMGeoEditor.py:701 appEditors/FlatCAMGrbEditor.py:5394 #: appTools/ToolTransform.py:148 msgid "" "Rotate the selected object(s).\n" @@ -2112,7 +2132,7 @@ msgstr "" "le cadre de sélection pour tous les objets sélectionnés." #: appEditors/FlatCAMGeoEditor.py:721 appEditors/FlatCAMGeoEditor.py:783 -#: appEditors/FlatCAMGrbEditor.py:5415 appEditors/FlatCAMGrbEditor.py:5477 +#: appEditors/FlatCAMGrbEditor.py:5414 appEditors/FlatCAMGrbEditor.py:5476 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:112 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:151 #: appTools/ToolTransform.py:168 appTools/ToolTransform.py:230 @@ -2120,14 +2140,14 @@ msgid "Link" msgstr "Lien" #: appEditors/FlatCAMGeoEditor.py:723 appEditors/FlatCAMGeoEditor.py:785 -#: appEditors/FlatCAMGrbEditor.py:5417 appEditors/FlatCAMGrbEditor.py:5479 +#: appEditors/FlatCAMGrbEditor.py:5416 appEditors/FlatCAMGrbEditor.py:5478 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:153 #: appTools/ToolTransform.py:170 appTools/ToolTransform.py:232 msgid "Link the Y entry to X entry and copy its content." -msgstr "Liez l'entrée Y à l'entrée X et copiez son contenu." +msgstr "" -#: appEditors/FlatCAMGeoEditor.py:728 appEditors/FlatCAMGrbEditor.py:5422 +#: appEditors/FlatCAMGeoEditor.py:728 appEditors/FlatCAMGrbEditor.py:5421 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:151 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:124 #: appTools/ToolFilm.py:184 appTools/ToolTransform.py:175 @@ -2135,7 +2155,7 @@ msgid "X angle" msgstr "Angle X" #: appEditors/FlatCAMGeoEditor.py:730 appEditors/FlatCAMGeoEditor.py:751 -#: appEditors/FlatCAMGrbEditor.py:5424 appEditors/FlatCAMGrbEditor.py:5445 +#: appEditors/FlatCAMGrbEditor.py:5423 appEditors/FlatCAMGrbEditor.py:5444 #: appTools/ToolTransform.py:177 appTools/ToolTransform.py:198 msgid "" "Angle for Skew action, in degrees.\n" @@ -2144,13 +2164,13 @@ msgstr "" "Angle pour l'action asymétrique, en degrés.\n" "Nombre flottant entre -360 et 360." -#: appEditors/FlatCAMGeoEditor.py:738 appEditors/FlatCAMGrbEditor.py:5432 +#: appEditors/FlatCAMGeoEditor.py:738 appEditors/FlatCAMGrbEditor.py:5431 #: appTools/ToolTransform.py:185 msgid "Skew X" msgstr "Inclinaison X" #: appEditors/FlatCAMGeoEditor.py:740 appEditors/FlatCAMGeoEditor.py:761 -#: appEditors/FlatCAMGrbEditor.py:5434 appEditors/FlatCAMGrbEditor.py:5455 +#: appEditors/FlatCAMGrbEditor.py:5433 appEditors/FlatCAMGrbEditor.py:5454 #: appTools/ToolTransform.py:187 appTools/ToolTransform.py:208 msgid "" "Skew/shear the selected object(s).\n" @@ -2161,38 +2181,38 @@ msgstr "" "Le point de référence est le milieu de\n" "le cadre de sélection pour tous les objets sélectionnés." -#: appEditors/FlatCAMGeoEditor.py:749 appEditors/FlatCAMGrbEditor.py:5443 +#: appEditors/FlatCAMGeoEditor.py:749 appEditors/FlatCAMGrbEditor.py:5442 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:160 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:138 #: appTools/ToolFilm.py:193 appTools/ToolTransform.py:196 msgid "Y angle" msgstr "Angle Y" -#: appEditors/FlatCAMGeoEditor.py:759 appEditors/FlatCAMGrbEditor.py:5453 +#: appEditors/FlatCAMGeoEditor.py:759 appEditors/FlatCAMGrbEditor.py:5452 #: appTools/ToolTransform.py:206 msgid "Skew Y" msgstr "Inclinaison Y" -#: appEditors/FlatCAMGeoEditor.py:790 appEditors/FlatCAMGrbEditor.py:5484 +#: appEditors/FlatCAMGeoEditor.py:790 appEditors/FlatCAMGrbEditor.py:5483 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:120 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:162 #: appTools/ToolFilm.py:145 appTools/ToolTransform.py:237 msgid "X factor" msgstr "Facteur X" -#: appEditors/FlatCAMGeoEditor.py:792 appEditors/FlatCAMGrbEditor.py:5486 +#: appEditors/FlatCAMGeoEditor.py:792 appEditors/FlatCAMGrbEditor.py:5485 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:164 #: appTools/ToolTransform.py:239 msgid "Factor for scaling on X axis." msgstr "Facteur de mise à l'échelle sur l'axe X." -#: appEditors/FlatCAMGeoEditor.py:799 appEditors/FlatCAMGrbEditor.py:5493 +#: appEditors/FlatCAMGeoEditor.py:799 appEditors/FlatCAMGrbEditor.py:5492 #: appTools/ToolTransform.py:246 msgid "Scale X" msgstr "Mise à l'échelle X" #: appEditors/FlatCAMGeoEditor.py:801 appEditors/FlatCAMGeoEditor.py:821 -#: appEditors/FlatCAMGrbEditor.py:5495 appEditors/FlatCAMGrbEditor.py:5515 +#: appEditors/FlatCAMGrbEditor.py:5494 appEditors/FlatCAMGrbEditor.py:5514 #: appTools/ToolTransform.py:248 appTools/ToolTransform.py:268 msgid "" "Scale the selected object(s).\n" @@ -2203,59 +2223,59 @@ msgstr "" "Le point de référence dépend de\n" "l'état de la case à cocher référence d'échelle." -#: appEditors/FlatCAMGeoEditor.py:810 appEditors/FlatCAMGrbEditor.py:5504 +#: appEditors/FlatCAMGeoEditor.py:810 appEditors/FlatCAMGrbEditor.py:5503 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:129 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:175 #: appTools/ToolFilm.py:154 appTools/ToolTransform.py:257 msgid "Y factor" msgstr "Facteur Y" -#: appEditors/FlatCAMGeoEditor.py:812 appEditors/FlatCAMGrbEditor.py:5506 +#: appEditors/FlatCAMGeoEditor.py:812 appEditors/FlatCAMGrbEditor.py:5505 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:177 #: appTools/ToolTransform.py:259 msgid "Factor for scaling on Y axis." msgstr "Facteur de mise à l'échelle sur l'axe Y." -#: appEditors/FlatCAMGeoEditor.py:819 appEditors/FlatCAMGrbEditor.py:5513 +#: appEditors/FlatCAMGeoEditor.py:819 appEditors/FlatCAMGrbEditor.py:5512 #: appTools/ToolTransform.py:266 msgid "Scale Y" msgstr "Mise à l'échelle Y" -#: appEditors/FlatCAMGeoEditor.py:846 appEditors/FlatCAMGrbEditor.py:5540 +#: appEditors/FlatCAMGeoEditor.py:846 appEditors/FlatCAMGrbEditor.py:5539 #: appTools/ToolTransform.py:293 msgid "Flip on X" msgstr "Miroir sur X" #: appEditors/FlatCAMGeoEditor.py:848 appEditors/FlatCAMGeoEditor.py:853 -#: appEditors/FlatCAMGrbEditor.py:5542 appEditors/FlatCAMGrbEditor.py:5547 +#: appEditors/FlatCAMGrbEditor.py:5541 appEditors/FlatCAMGrbEditor.py:5546 #: appTools/ToolTransform.py:295 appTools/ToolTransform.py:300 msgid "Flip the selected object(s) over the X axis." msgstr "Retournez le ou les objets sélectionnés sur l’axe X." -#: appEditors/FlatCAMGeoEditor.py:851 appEditors/FlatCAMGrbEditor.py:5545 +#: appEditors/FlatCAMGeoEditor.py:851 appEditors/FlatCAMGrbEditor.py:5544 #: appTools/ToolTransform.py:298 msgid "Flip on Y" msgstr "Miroir sur Y" -#: appEditors/FlatCAMGeoEditor.py:871 appEditors/FlatCAMGrbEditor.py:5565 +#: appEditors/FlatCAMGeoEditor.py:871 appEditors/FlatCAMGrbEditor.py:5564 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:191 #: appTools/ToolTransform.py:318 msgid "X val" msgstr "Valeur X" -#: appEditors/FlatCAMGeoEditor.py:873 appEditors/FlatCAMGrbEditor.py:5567 +#: appEditors/FlatCAMGeoEditor.py:873 appEditors/FlatCAMGrbEditor.py:5566 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:193 #: appTools/ToolTransform.py:320 msgid "Distance to offset on X axis. In current units." msgstr "Distance à compenser sur l'axe X. En unités actuelles." -#: appEditors/FlatCAMGeoEditor.py:880 appEditors/FlatCAMGrbEditor.py:5574 +#: appEditors/FlatCAMGeoEditor.py:880 appEditors/FlatCAMGrbEditor.py:5573 #: appTools/ToolTransform.py:327 msgid "Offset X" msgstr "Décalage X" #: appEditors/FlatCAMGeoEditor.py:882 appEditors/FlatCAMGeoEditor.py:902 -#: appEditors/FlatCAMGrbEditor.py:5576 appEditors/FlatCAMGrbEditor.py:5596 +#: appEditors/FlatCAMGrbEditor.py:5575 appEditors/FlatCAMGrbEditor.py:5595 #: appTools/ToolTransform.py:329 appTools/ToolTransform.py:349 msgid "" "Offset the selected object(s).\n" @@ -2266,31 +2286,31 @@ msgstr "" "Le point de référence est le milieu de\n" "le cadre de sélection pour tous les objets sélectionnés.\n" -#: appEditors/FlatCAMGeoEditor.py:891 appEditors/FlatCAMGrbEditor.py:5585 +#: appEditors/FlatCAMGeoEditor.py:891 appEditors/FlatCAMGrbEditor.py:5584 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:204 #: appTools/ToolTransform.py:338 msgid "Y val" msgstr "Valeur Y" -#: appEditors/FlatCAMGeoEditor.py:893 appEditors/FlatCAMGrbEditor.py:5587 +#: appEditors/FlatCAMGeoEditor.py:893 appEditors/FlatCAMGrbEditor.py:5586 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:206 #: appTools/ToolTransform.py:340 msgid "Distance to offset on Y axis. In current units." msgstr "Distance à compenser sur l'axe X. En unités actuelles." -#: appEditors/FlatCAMGeoEditor.py:900 appEditors/FlatCAMGrbEditor.py:5594 +#: appEditors/FlatCAMGeoEditor.py:900 appEditors/FlatCAMGrbEditor.py:5593 #: appTools/ToolTransform.py:347 msgid "Offset Y" msgstr "Décalage Y" -#: appEditors/FlatCAMGeoEditor.py:920 appEditors/FlatCAMGrbEditor.py:5614 +#: appEditors/FlatCAMGeoEditor.py:920 appEditors/FlatCAMGrbEditor.py:5613 #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:142 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:216 #: appTools/ToolQRCode.py:206 appTools/ToolTransform.py:367 msgid "Rounded" msgstr "Arrondi" -#: appEditors/FlatCAMGeoEditor.py:922 appEditors/FlatCAMGrbEditor.py:5616 +#: appEditors/FlatCAMGeoEditor.py:922 appEditors/FlatCAMGrbEditor.py:5615 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:218 #: appTools/ToolTransform.py:369 msgid "" @@ -2304,14 +2324,14 @@ msgstr "" "S'il n'est pas coché, le tampon suivra la géométrie exacte\n" "de la forme tamponnée." -#: appEditors/FlatCAMGeoEditor.py:930 appEditors/FlatCAMGrbEditor.py:5624 +#: appEditors/FlatCAMGeoEditor.py:930 appEditors/FlatCAMGrbEditor.py:5623 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:226 #: appTools/ToolDistance.py:505 appTools/ToolDistanceMin.py:286 #: appTools/ToolTransform.py:377 msgid "Distance" msgstr "Distance" -#: appEditors/FlatCAMGeoEditor.py:932 appEditors/FlatCAMGrbEditor.py:5626 +#: appEditors/FlatCAMGeoEditor.py:932 appEditors/FlatCAMGrbEditor.py:5625 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:228 #: appTools/ToolTransform.py:379 msgid "" @@ -2325,12 +2345,12 @@ msgstr "" "Chaque élément de géométrie de l'objet sera augmenté\n" "ou diminué avec la «distance»." -#: appEditors/FlatCAMGeoEditor.py:944 appEditors/FlatCAMGrbEditor.py:5638 +#: appEditors/FlatCAMGeoEditor.py:944 appEditors/FlatCAMGrbEditor.py:5637 #: appTools/ToolTransform.py:391 msgid "Buffer D" msgstr "Tampon D" -#: appEditors/FlatCAMGeoEditor.py:946 appEditors/FlatCAMGrbEditor.py:5640 +#: appEditors/FlatCAMGeoEditor.py:946 appEditors/FlatCAMGrbEditor.py:5639 #: appTools/ToolTransform.py:393 msgid "" "Create the buffer effect on each geometry,\n" @@ -2339,7 +2359,7 @@ msgstr "" "Créez l'effet tampon sur chaque géométrie,\n" "élément de l'objet sélectionné, en utilisant la distance." -#: appEditors/FlatCAMGeoEditor.py:957 appEditors/FlatCAMGrbEditor.py:5651 +#: appEditors/FlatCAMGeoEditor.py:957 appEditors/FlatCAMGrbEditor.py:5650 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:245 #: appTools/ToolTransform.py:404 msgid "" @@ -2355,12 +2375,12 @@ msgstr "" "ou diminué pour correspondre à la «valeur». La valeur est un pourcentage\n" "de la dimension initiale." -#: appEditors/FlatCAMGeoEditor.py:970 appEditors/FlatCAMGrbEditor.py:5664 +#: appEditors/FlatCAMGeoEditor.py:970 appEditors/FlatCAMGrbEditor.py:5663 #: appTools/ToolTransform.py:417 msgid "Buffer F" msgstr "Tampon F" -#: appEditors/FlatCAMGeoEditor.py:972 appEditors/FlatCAMGrbEditor.py:5666 +#: appEditors/FlatCAMGeoEditor.py:972 appEditors/FlatCAMGrbEditor.py:5665 #: appTools/ToolTransform.py:419 msgid "" "Create the buffer effect on each geometry,\n" @@ -2369,7 +2389,7 @@ msgstr "" "Créez l'effet tampon sur chaque géométrie,\n" "élément de l'objet sélectionné, en utilisant le facteur." -#: appEditors/FlatCAMGeoEditor.py:1043 appEditors/FlatCAMGrbEditor.py:5737 +#: appEditors/FlatCAMGeoEditor.py:1043 appEditors/FlatCAMGrbEditor.py:5736 #: appGUI/ObjectUI.py:1103 appGUI/ObjectUI.py:1958 #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:54 @@ -2383,19 +2403,21 @@ msgstr "Objet" #: appEditors/FlatCAMGeoEditor.py:1107 appEditors/FlatCAMGeoEditor.py:1130 #: appEditors/FlatCAMGeoEditor.py:1276 appEditors/FlatCAMGeoEditor.py:1301 #: appEditors/FlatCAMGeoEditor.py:1335 appEditors/FlatCAMGeoEditor.py:1370 -#: appEditors/FlatCAMGeoEditor.py:1401 appEditors/FlatCAMGrbEditor.py:5801 -#: appEditors/FlatCAMGrbEditor.py:5824 appEditors/FlatCAMGrbEditor.py:5969 -#: appEditors/FlatCAMGrbEditor.py:6002 appEditors/FlatCAMGrbEditor.py:6045 -#: appEditors/FlatCAMGrbEditor.py:6086 appEditors/FlatCAMGrbEditor.py:6122 +#: appEditors/FlatCAMGeoEditor.py:1401 appEditors/FlatCAMGrbEditor.py:5800 +#: appEditors/FlatCAMGrbEditor.py:5823 appEditors/FlatCAMGrbEditor.py:5968 +#: appEditors/FlatCAMGrbEditor.py:6001 appEditors/FlatCAMGrbEditor.py:6044 +#: appEditors/FlatCAMGrbEditor.py:6085 appEditors/FlatCAMGrbEditor.py:6121 +#, fuzzy +#| msgid "Cancelled. No shape selected." msgid "No shape selected." -msgstr "Aucune forme sélectionnée." +msgstr "Annulé. Aucune forme sélectionnée." -#: appEditors/FlatCAMGeoEditor.py:1115 appEditors/FlatCAMGrbEditor.py:5809 +#: appEditors/FlatCAMGeoEditor.py:1115 appEditors/FlatCAMGrbEditor.py:5808 #: appTools/ToolTransform.py:585 msgid "Incorrect format for Point value. Needs format X,Y" -msgstr "Format incorrect pour la valeur de point. Nécessite le format X, Y" +msgstr "" -#: appEditors/FlatCAMGeoEditor.py:1140 appEditors/FlatCAMGrbEditor.py:5834 +#: appEditors/FlatCAMGeoEditor.py:1140 appEditors/FlatCAMGrbEditor.py:5833 #: appTools/ToolTransform.py:602 msgid "Rotate transformation can not be done for a value of 0." msgstr "" @@ -2403,7 +2425,7 @@ msgstr "" "0." #: appEditors/FlatCAMGeoEditor.py:1198 appEditors/FlatCAMGeoEditor.py:1219 -#: appEditors/FlatCAMGrbEditor.py:5892 appEditors/FlatCAMGrbEditor.py:5913 +#: appEditors/FlatCAMGrbEditor.py:5891 appEditors/FlatCAMGrbEditor.py:5912 #: appTools/ToolTransform.py:660 appTools/ToolTransform.py:681 msgid "Scale transformation can not be done for a factor of 0 or 1." msgstr "" @@ -2411,19 +2433,19 @@ msgstr "" "ou 1." #: appEditors/FlatCAMGeoEditor.py:1232 appEditors/FlatCAMGeoEditor.py:1241 -#: appEditors/FlatCAMGrbEditor.py:5926 appEditors/FlatCAMGrbEditor.py:5935 +#: appEditors/FlatCAMGrbEditor.py:5925 appEditors/FlatCAMGrbEditor.py:5934 #: appTools/ToolTransform.py:694 appTools/ToolTransform.py:703 msgid "Offset transformation can not be done for a value of 0." msgstr "" "La transformation de décalage ne peut pas être effectuée pour une valeur de " "0." -#: appEditors/FlatCAMGeoEditor.py:1271 appEditors/FlatCAMGrbEditor.py:5972 +#: appEditors/FlatCAMGeoEditor.py:1271 appEditors/FlatCAMGrbEditor.py:5971 #: appTools/ToolTransform.py:731 msgid "Appying Rotate" msgstr "Appliquer la Rotation" -#: appEditors/FlatCAMGeoEditor.py:1284 appEditors/FlatCAMGrbEditor.py:5984 +#: appEditors/FlatCAMGeoEditor.py:1284 appEditors/FlatCAMGrbEditor.py:5983 msgid "Done. Rotate completed." msgstr "Terminé. Rotation terminée." @@ -2431,17 +2453,17 @@ msgstr "Terminé. Rotation terminée." msgid "Rotation action was not executed" msgstr "L'action de rotation n'a pas été exécutée" -#: appEditors/FlatCAMGeoEditor.py:1304 appEditors/FlatCAMGrbEditor.py:6005 +#: appEditors/FlatCAMGeoEditor.py:1304 appEditors/FlatCAMGrbEditor.py:6004 #: appTools/ToolTransform.py:757 msgid "Applying Flip" msgstr "Appliquer Flip" -#: appEditors/FlatCAMGeoEditor.py:1312 appEditors/FlatCAMGrbEditor.py:6017 +#: appEditors/FlatCAMGeoEditor.py:1312 appEditors/FlatCAMGrbEditor.py:6016 #: appTools/ToolTransform.py:774 msgid "Flip on the Y axis done" msgstr "Tournez sur l'axe des Y fait" -#: appEditors/FlatCAMGeoEditor.py:1315 appEditors/FlatCAMGrbEditor.py:6025 +#: appEditors/FlatCAMGeoEditor.py:1315 appEditors/FlatCAMGrbEditor.py:6024 #: appTools/ToolTransform.py:783 msgid "Flip on the X axis done" msgstr "Tournez sur l'axe X terminé" @@ -2450,16 +2472,16 @@ msgstr "Tournez sur l'axe X terminé" msgid "Flip action was not executed" msgstr "L'action Flip n'a pas été exécutée" -#: appEditors/FlatCAMGeoEditor.py:1338 appEditors/FlatCAMGrbEditor.py:6048 +#: appEditors/FlatCAMGeoEditor.py:1338 appEditors/FlatCAMGrbEditor.py:6047 #: appTools/ToolTransform.py:804 msgid "Applying Skew" msgstr "Application de l'inclinaison" -#: appEditors/FlatCAMGeoEditor.py:1347 appEditors/FlatCAMGrbEditor.py:6064 +#: appEditors/FlatCAMGeoEditor.py:1347 appEditors/FlatCAMGrbEditor.py:6063 msgid "Skew on the X axis done" msgstr "Inclinaison sur l'axe X terminée" -#: appEditors/FlatCAMGeoEditor.py:1349 appEditors/FlatCAMGrbEditor.py:6066 +#: appEditors/FlatCAMGeoEditor.py:1349 appEditors/FlatCAMGrbEditor.py:6065 msgid "Skew on the Y axis done" msgstr "Inclinaison sur l'axe des Y faite" @@ -2467,16 +2489,16 @@ msgstr "Inclinaison sur l'axe des Y faite" msgid "Skew action was not executed" msgstr "L'action de biais n'a pas été exécutée" -#: appEditors/FlatCAMGeoEditor.py:1373 appEditors/FlatCAMGrbEditor.py:6089 +#: appEditors/FlatCAMGeoEditor.py:1373 appEditors/FlatCAMGrbEditor.py:6088 #: appTools/ToolTransform.py:831 msgid "Applying Scale" msgstr "Échelle d'application" -#: appEditors/FlatCAMGeoEditor.py:1382 appEditors/FlatCAMGrbEditor.py:6102 +#: appEditors/FlatCAMGeoEditor.py:1382 appEditors/FlatCAMGrbEditor.py:6101 msgid "Scale on the X axis done" msgstr "Échelle terminée sur l'axe X" -#: appEditors/FlatCAMGeoEditor.py:1384 appEditors/FlatCAMGrbEditor.py:6104 +#: appEditors/FlatCAMGeoEditor.py:1384 appEditors/FlatCAMGrbEditor.py:6103 msgid "Scale on the Y axis done" msgstr "Echelle terminée sur l'axe des Y" @@ -2484,16 +2506,16 @@ msgstr "Echelle terminée sur l'axe des Y" msgid "Scale action was not executed" msgstr "L'action d'échelle n'a pas été exécutée" -#: appEditors/FlatCAMGeoEditor.py:1404 appEditors/FlatCAMGrbEditor.py:6125 +#: appEditors/FlatCAMGeoEditor.py:1404 appEditors/FlatCAMGrbEditor.py:6124 #: appTools/ToolTransform.py:859 msgid "Applying Offset" msgstr "Appliquer un Décalage" -#: appEditors/FlatCAMGeoEditor.py:1414 appEditors/FlatCAMGrbEditor.py:6146 +#: appEditors/FlatCAMGeoEditor.py:1414 appEditors/FlatCAMGrbEditor.py:6145 msgid "Offset on the X axis done" msgstr "Décalage sur l'axe X terminé" -#: appEditors/FlatCAMGeoEditor.py:1416 appEditors/FlatCAMGrbEditor.py:6148 +#: appEditors/FlatCAMGeoEditor.py:1416 appEditors/FlatCAMGrbEditor.py:6147 msgid "Offset on the Y axis done" msgstr "Décalage sur l'axe Y terminé" @@ -2501,65 +2523,69 @@ msgstr "Décalage sur l'axe Y terminé" msgid "Offset action was not executed" msgstr "L'action offset n'a pas été exécutée" -#: appEditors/FlatCAMGeoEditor.py:1426 appEditors/FlatCAMGrbEditor.py:6158 +#: appEditors/FlatCAMGeoEditor.py:1426 appEditors/FlatCAMGrbEditor.py:6157 +#, fuzzy +#| msgid "Cancelled. No shape selected." msgid "No shape selected" -msgstr "Aucune forme sélectionnée" +msgstr "Annulé. Aucune forme sélectionnée." -#: appEditors/FlatCAMGeoEditor.py:1429 appEditors/FlatCAMGrbEditor.py:6161 +#: appEditors/FlatCAMGeoEditor.py:1429 appEditors/FlatCAMGrbEditor.py:6160 #: appTools/ToolTransform.py:889 msgid "Applying Buffer" msgstr "Application du tampon" -#: appEditors/FlatCAMGeoEditor.py:1436 appEditors/FlatCAMGrbEditor.py:6183 +#: appEditors/FlatCAMGeoEditor.py:1436 appEditors/FlatCAMGrbEditor.py:6182 #: appTools/ToolTransform.py:910 msgid "Buffer done" msgstr "Tampon terminé" -#: appEditors/FlatCAMGeoEditor.py:1440 appEditors/FlatCAMGrbEditor.py:6187 +#: appEditors/FlatCAMGeoEditor.py:1440 appEditors/FlatCAMGrbEditor.py:6186 #: appTools/ToolTransform.py:879 appTools/ToolTransform.py:915 +#, fuzzy +#| msgid "action was not executed." msgid "Action was not executed, due of" -msgstr "L'action n'a pas été exécutée en raison de" +msgstr "l'action n'a pas été exécutée." -#: appEditors/FlatCAMGeoEditor.py:1444 appEditors/FlatCAMGrbEditor.py:6191 +#: appEditors/FlatCAMGeoEditor.py:1444 appEditors/FlatCAMGrbEditor.py:6190 msgid "Rotate ..." msgstr "Tourner ..." #: appEditors/FlatCAMGeoEditor.py:1445 appEditors/FlatCAMGeoEditor.py:1494 -#: appEditors/FlatCAMGeoEditor.py:1509 appEditors/FlatCAMGrbEditor.py:6192 -#: appEditors/FlatCAMGrbEditor.py:6241 appEditors/FlatCAMGrbEditor.py:6256 +#: appEditors/FlatCAMGeoEditor.py:1509 appEditors/FlatCAMGrbEditor.py:6191 +#: appEditors/FlatCAMGrbEditor.py:6240 appEditors/FlatCAMGrbEditor.py:6255 msgid "Enter an Angle Value (degrees)" msgstr "Entrer une valeur d'angle (degrés)" -#: appEditors/FlatCAMGeoEditor.py:1453 appEditors/FlatCAMGrbEditor.py:6200 +#: appEditors/FlatCAMGeoEditor.py:1453 appEditors/FlatCAMGrbEditor.py:6199 msgid "Geometry shape rotate done" msgstr "Rotation de la forme géométrique effectuée" -#: appEditors/FlatCAMGeoEditor.py:1456 appEditors/FlatCAMGrbEditor.py:6203 +#: appEditors/FlatCAMGeoEditor.py:1456 appEditors/FlatCAMGrbEditor.py:6202 msgid "Geometry shape rotate cancelled" msgstr "Rotation de la forme géométrique annulée" -#: appEditors/FlatCAMGeoEditor.py:1461 appEditors/FlatCAMGrbEditor.py:6208 +#: appEditors/FlatCAMGeoEditor.py:1461 appEditors/FlatCAMGrbEditor.py:6207 msgid "Offset on X axis ..." msgstr "Décalage sur l'axe des X ..." #: appEditors/FlatCAMGeoEditor.py:1462 appEditors/FlatCAMGeoEditor.py:1479 -#: appEditors/FlatCAMGrbEditor.py:6209 appEditors/FlatCAMGrbEditor.py:6226 +#: appEditors/FlatCAMGrbEditor.py:6208 appEditors/FlatCAMGrbEditor.py:6225 msgid "Enter a distance Value" msgstr "Entrez une valeur de distance" -#: appEditors/FlatCAMGeoEditor.py:1470 appEditors/FlatCAMGrbEditor.py:6217 +#: appEditors/FlatCAMGeoEditor.py:1470 appEditors/FlatCAMGrbEditor.py:6216 msgid "Geometry shape offset on X axis done" msgstr "Géométrie décalée sur l'axe des X effectuée" -#: appEditors/FlatCAMGeoEditor.py:1473 appEditors/FlatCAMGrbEditor.py:6220 +#: appEditors/FlatCAMGeoEditor.py:1473 appEditors/FlatCAMGrbEditor.py:6219 msgid "Geometry shape offset X cancelled" msgstr "Décalage géométrique X annulé" -#: appEditors/FlatCAMGeoEditor.py:1478 appEditors/FlatCAMGrbEditor.py:6225 +#: appEditors/FlatCAMGeoEditor.py:1478 appEditors/FlatCAMGrbEditor.py:6224 msgid "Offset on Y axis ..." msgstr "Décalage sur l'axe Y ..." -#: appEditors/FlatCAMGeoEditor.py:1487 appEditors/FlatCAMGrbEditor.py:6234 +#: appEditors/FlatCAMGeoEditor.py:1487 appEditors/FlatCAMGrbEditor.py:6233 msgid "Geometry shape offset on Y axis done" msgstr "Géométrie décalée sur l'axe des Y effectuée" @@ -2567,11 +2593,11 @@ msgstr "Géométrie décalée sur l'axe des Y effectuée" msgid "Geometry shape offset on Y axis canceled" msgstr "Décalage de la forme de la géométrie sur l'axe des Y" -#: appEditors/FlatCAMGeoEditor.py:1493 appEditors/FlatCAMGrbEditor.py:6240 +#: appEditors/FlatCAMGeoEditor.py:1493 appEditors/FlatCAMGrbEditor.py:6239 msgid "Skew on X axis ..." msgstr "Skew on X axis ..." -#: appEditors/FlatCAMGeoEditor.py:1502 appEditors/FlatCAMGrbEditor.py:6249 +#: appEditors/FlatCAMGeoEditor.py:1502 appEditors/FlatCAMGrbEditor.py:6248 msgid "Geometry shape skew on X axis done" msgstr "Forme de la géométrie inclinée sur l'axe X terminée" @@ -2579,11 +2605,11 @@ msgstr "Forme de la géométrie inclinée sur l'axe X terminée" msgid "Geometry shape skew on X axis canceled" msgstr "Géométrie inclinée sur l'axe X annulée" -#: appEditors/FlatCAMGeoEditor.py:1508 appEditors/FlatCAMGrbEditor.py:6255 +#: appEditors/FlatCAMGeoEditor.py:1508 appEditors/FlatCAMGrbEditor.py:6254 msgid "Skew on Y axis ..." msgstr "Inclinez sur l'axe Y ..." -#: appEditors/FlatCAMGeoEditor.py:1517 appEditors/FlatCAMGrbEditor.py:6264 +#: appEditors/FlatCAMGeoEditor.py:1517 appEditors/FlatCAMGrbEditor.py:6263 msgid "Geometry shape skew on Y axis done" msgstr "Géométrie inclinée sur l'axe des Y" @@ -2727,7 +2753,7 @@ msgstr " Terminé. Ajout de texte terminé." msgid "Create buffer geometry ..." msgstr "Créer une géométrie tampon ..." -#: appEditors/FlatCAMGeoEditor.py:2990 appEditors/FlatCAMGrbEditor.py:5154 +#: appEditors/FlatCAMGeoEditor.py:2990 appEditors/FlatCAMGrbEditor.py:5153 msgid "Done. Buffer Tool completed." msgstr "Terminé. L'outil Tampon est terminé." @@ -2770,7 +2796,7 @@ msgid "Geometry Editor" msgstr "Éditeur de Géométrie" #: appEditors/FlatCAMGeoEditor.py:3287 appEditors/FlatCAMGrbEditor.py:2495 -#: appEditors/FlatCAMGrbEditor.py:3952 appGUI/ObjectUI.py:282 +#: appEditors/FlatCAMGrbEditor.py:3951 appGUI/ObjectUI.py:282 #: appGUI/ObjectUI.py:1394 appGUI/ObjectUI.py:2256 appTools/ToolCutOut.py:95 #: appTools/ToolTransform.py:92 msgid "Type" @@ -2823,12 +2849,16 @@ msgid "with diameter" msgstr "avec diamètre" #: appEditors/FlatCAMGeoEditor.py:4081 +#, fuzzy +#| msgid "All plots enabled." msgid "Grid Snap enabled." -msgstr "Accrochage à la grille activé." +msgstr "Activation de tous les Plots." #: appEditors/FlatCAMGeoEditor.py:4085 +#, fuzzy +#| msgid "Grid X snapping distance" msgid "Grid Snap disabled." -msgstr "Accrochage à la grille désactivé." +msgstr "Distance d'accrochage de la grille X" #: appEditors/FlatCAMGeoEditor.py:4446 appGUI/MainGUI.py:3046 #: appGUI/MainGUI.py:3092 appGUI/MainGUI.py:3110 appGUI/MainGUI.py:3254 @@ -3057,12 +3087,12 @@ msgstr "Ouvertures" msgid "Apertures Table for the Gerber Object." msgstr "Tableau des Ouvertures pour l'objet Gerber." -#: appEditors/FlatCAMGrbEditor.py:2495 appEditors/FlatCAMGrbEditor.py:3952 +#: appEditors/FlatCAMGrbEditor.py:2495 appEditors/FlatCAMGrbEditor.py:3951 #: appGUI/ObjectUI.py:282 msgid "Code" msgstr "Code" -#: appEditors/FlatCAMGrbEditor.py:2495 appEditors/FlatCAMGrbEditor.py:3952 +#: appEditors/FlatCAMGrbEditor.py:2495 appEditors/FlatCAMGrbEditor.py:3951 #: appGUI/ObjectUI.py:282 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:103 #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:167 @@ -3073,7 +3103,7 @@ msgstr "Code" msgid "Size" msgstr "Taille" -#: appEditors/FlatCAMGrbEditor.py:2495 appEditors/FlatCAMGrbEditor.py:3952 +#: appEditors/FlatCAMGrbEditor.py:2495 appEditors/FlatCAMGrbEditor.py:3951 #: appGUI/ObjectUI.py:282 msgid "Dim" msgstr "Dim" @@ -3177,7 +3207,7 @@ msgstr "Ajoutez une nouvelle ouverture à la liste des ouvertures." #: appTools/ToolIsolation.py:616 appTools/ToolNCC.py:316 #: appTools/ToolNCC.py:637 appTools/ToolPaint.py:298 appTools/ToolPaint.py:681 #: appTools/ToolSolderPaste.py:133 appTools/ToolSolderPaste.py:608 -#: app_Main.py:5674 +#: app_Main.py:5707 msgid "Delete" msgstr "Effacer" @@ -3373,123 +3403,123 @@ msgstr "" msgid "Dimensions edited." msgstr "Dimensions modifiées." -#: appEditors/FlatCAMGrbEditor.py:4067 +#: appEditors/FlatCAMGrbEditor.py:4066 msgid "Loading Gerber into Editor" msgstr "Chargement de Gerber dans l'éditeur" -#: appEditors/FlatCAMGrbEditor.py:4195 +#: appEditors/FlatCAMGrbEditor.py:4194 msgid "Setting up the UI" msgstr "Configuration de IU" -#: appEditors/FlatCAMGrbEditor.py:4196 +#: appEditors/FlatCAMGrbEditor.py:4195 msgid "Adding geometry finished. Preparing the GUI" -msgstr "Ajout de la géométrie terminé. Préparation de l'GUI" +msgstr "Ajout de la géométrie terminé. Préparation de l'interface graphique" -#: appEditors/FlatCAMGrbEditor.py:4205 +#: appEditors/FlatCAMGrbEditor.py:4204 msgid "Finished loading the Gerber object into the editor." msgstr "Le chargement de l'objet Gerber dans l'éditeur est terminé." -#: appEditors/FlatCAMGrbEditor.py:4346 +#: appEditors/FlatCAMGrbEditor.py:4345 msgid "" "There are no Aperture definitions in the file. Aborting Gerber creation." msgstr "" "Il n'y a pas de définitions d'ouverture dans le fichier. Abandon de la " "création de Gerber." -#: appEditors/FlatCAMGrbEditor.py:4348 appObjects/AppObject.py:133 +#: appEditors/FlatCAMGrbEditor.py:4347 appObjects/AppObject.py:133 #: appObjects/FlatCAMGeometry.py:1786 appParsers/ParseExcellon.py:896 -#: appTools/ToolPcbWizard.py:432 app_Main.py:8467 app_Main.py:8531 -#: app_Main.py:8662 app_Main.py:8727 app_Main.py:9379 +#: appTools/ToolPcbWizard.py:432 app_Main.py:8500 app_Main.py:8564 +#: app_Main.py:8695 app_Main.py:8760 app_Main.py:9412 msgid "An internal error has occurred. See shell.\n" msgstr "Une erreur interne s'est produite. Voir shell.\n" -#: appEditors/FlatCAMGrbEditor.py:4356 +#: appEditors/FlatCAMGrbEditor.py:4355 msgid "Creating Gerber." msgstr "Créer Gerber." -#: appEditors/FlatCAMGrbEditor.py:4368 +#: appEditors/FlatCAMGrbEditor.py:4367 msgid "Done. Gerber editing finished." msgstr "Terminé. Gerber édition terminée." -#: appEditors/FlatCAMGrbEditor.py:4384 +#: appEditors/FlatCAMGrbEditor.py:4383 msgid "Cancelled. No aperture is selected" msgstr "Annulé. Aucune ouverture n'est sélectionnée" -#: appEditors/FlatCAMGrbEditor.py:4539 app_Main.py:6000 +#: appEditors/FlatCAMGrbEditor.py:4538 app_Main.py:6033 msgid "Coordinates copied to clipboard." msgstr "Coordonnées copiées dans le presse-papier." -#: appEditors/FlatCAMGrbEditor.py:4986 +#: appEditors/FlatCAMGrbEditor.py:4985 msgid "Failed. No aperture geometry is selected." msgstr "Échoué. Aucune géométrie d'ouverture n'est sélectionnée." -#: appEditors/FlatCAMGrbEditor.py:4995 appEditors/FlatCAMGrbEditor.py:5266 +#: appEditors/FlatCAMGrbEditor.py:4994 appEditors/FlatCAMGrbEditor.py:5265 msgid "Done. Apertures geometry deleted." msgstr "Terminé. Géométrie des ouvertures supprimée." -#: appEditors/FlatCAMGrbEditor.py:5138 +#: appEditors/FlatCAMGrbEditor.py:5137 msgid "No aperture to buffer. Select at least one aperture and try again." msgstr "" "Pas d'ouverture à tamponner. Sélectionnez au moins une ouverture et " "réessayez." -#: appEditors/FlatCAMGrbEditor.py:5150 +#: appEditors/FlatCAMGrbEditor.py:5149 msgid "Failed." msgstr "Échoué." -#: appEditors/FlatCAMGrbEditor.py:5169 +#: appEditors/FlatCAMGrbEditor.py:5168 msgid "Scale factor value is missing or wrong format. Add it and retry." msgstr "" "La valeur du facteur d'échelle est manquante ou d'un format incorrect. " "Ajoutez-le et réessayez." -#: appEditors/FlatCAMGrbEditor.py:5201 +#: appEditors/FlatCAMGrbEditor.py:5200 msgid "No aperture to scale. Select at least one aperture and try again." msgstr "" "Pas d'ouverture à l'échelle. Sélectionnez au moins une ouverture et " "réessayez." -#: appEditors/FlatCAMGrbEditor.py:5217 +#: appEditors/FlatCAMGrbEditor.py:5216 msgid "Done. Scale Tool completed." msgstr "Terminé. Outil d'échelle terminé." -#: appEditors/FlatCAMGrbEditor.py:5255 +#: appEditors/FlatCAMGrbEditor.py:5254 msgid "Polygons marked." msgstr "Polygones marqués." -#: appEditors/FlatCAMGrbEditor.py:5258 +#: appEditors/FlatCAMGrbEditor.py:5257 msgid "No polygons were marked. None fit within the limits." msgstr "Aucun polygone n'a été marqué. Aucun ne rentre dans les limites." -#: appEditors/FlatCAMGrbEditor.py:5986 +#: appEditors/FlatCAMGrbEditor.py:5985 msgid "Rotation action was not executed." msgstr "L'action de rotation n'a pas été exécutée." -#: appEditors/FlatCAMGrbEditor.py:6028 app_Main.py:5434 app_Main.py:5482 +#: appEditors/FlatCAMGrbEditor.py:6027 app_Main.py:5467 app_Main.py:5515 msgid "Flip action was not executed." msgstr "La rotation n'a pas été exécutée." -#: appEditors/FlatCAMGrbEditor.py:6068 +#: appEditors/FlatCAMGrbEditor.py:6067 msgid "Skew action was not executed." msgstr "L'action fausser n'a pas été exécutée." -#: appEditors/FlatCAMGrbEditor.py:6107 +#: appEditors/FlatCAMGrbEditor.py:6106 msgid "Scale action was not executed." msgstr "L'action d'échelle n'a pas été exécutée." -#: appEditors/FlatCAMGrbEditor.py:6151 +#: appEditors/FlatCAMGrbEditor.py:6150 msgid "Offset action was not executed." msgstr "L'action decalage n'a pas été exécutée." -#: appEditors/FlatCAMGrbEditor.py:6237 +#: appEditors/FlatCAMGrbEditor.py:6236 msgid "Geometry shape offset Y cancelled" msgstr "Décalage géométrique de la forme Y annulé" -#: appEditors/FlatCAMGrbEditor.py:6252 +#: appEditors/FlatCAMGrbEditor.py:6251 msgid "Geometry shape skew X cancelled" msgstr "Inclinaison géométrique de la forme X annulé" -#: appEditors/FlatCAMGrbEditor.py:6267 +#: appEditors/FlatCAMGrbEditor.py:6266 msgid "Geometry shape skew Y cancelled" msgstr "Inclinaison géométrique de la forme Y annulé" @@ -3651,8 +3681,8 @@ msgstr "" msgid "Save Log" msgstr "Enregistrer le journal" -#: appGUI/GUIElements.py:2760 app_Main.py:2680 app_Main.py:2989 -#: app_Main.py:3123 +#: appGUI/GUIElements.py:2760 app_Main.py:2681 app_Main.py:2990 +#: app_Main.py:3124 msgid "Close" msgstr "Fermé" @@ -3892,7 +3922,7 @@ msgstr "F. Paramètres" #: appGUI/MainGUI.py:281 msgid "Import Preferences from file ..." -msgstr "Importer les préférences du fichier ..." +msgstr "Importer les paramètres …" #: appGUI/MainGUI.py:287 msgid "Export Preferences to file ..." @@ -4128,8 +4158,10 @@ msgid "Toggle Workspace\tShift+W" msgstr "Basculer l'espace de travail\tShift+W" #: appGUI/MainGUI.py:486 +#, fuzzy +#| msgid "Toggle Units" msgid "Toggle HUD\tAlt+H" -msgstr "Basculer le HUD\tAlt+H" +msgstr "Changement d'unités" #: appGUI/MainGUI.py:491 msgid "Objects" @@ -4157,7 +4189,7 @@ msgstr "Aide" msgid "Online Help\tF1" msgstr "Aide en ligne\tF1" -#: appGUI/MainGUI.py:518 app_Main.py:3092 app_Main.py:3101 +#: appGUI/MainGUI.py:518 app_Main.py:3093 app_Main.py:3102 msgid "Bookmarks Manager" msgstr "Gestionnaire de favoris" @@ -4183,9 +4215,9 @@ msgstr "Chaîne Youtube\tF4" #: appGUI/MainGUI.py:539 msgid "ReadMe?" -msgstr "Lisez-moi?" +msgstr "" -#: appGUI/MainGUI.py:542 app_Main.py:2647 +#: appGUI/MainGUI.py:542 app_Main.py:2648 msgid "About FlatCAM" msgstr "À propos de FlatCAM" @@ -4357,47 +4389,47 @@ msgstr "Désactiver le Tracé" msgid "Set Color" msgstr "Définir la couleur" -#: appGUI/MainGUI.py:700 app_Main.py:9646 +#: appGUI/MainGUI.py:700 app_Main.py:9679 msgid "Red" msgstr "Rouge" -#: appGUI/MainGUI.py:703 app_Main.py:9648 +#: appGUI/MainGUI.py:703 app_Main.py:9681 msgid "Blue" msgstr "Bleu" -#: appGUI/MainGUI.py:706 app_Main.py:9651 +#: appGUI/MainGUI.py:706 app_Main.py:9684 msgid "Yellow" msgstr "Jaune" -#: appGUI/MainGUI.py:709 app_Main.py:9653 +#: appGUI/MainGUI.py:709 app_Main.py:9686 msgid "Green" msgstr "Vert" -#: appGUI/MainGUI.py:712 app_Main.py:9655 +#: appGUI/MainGUI.py:712 app_Main.py:9688 msgid "Purple" msgstr "Violet" -#: appGUI/MainGUI.py:715 app_Main.py:9657 +#: appGUI/MainGUI.py:715 app_Main.py:9690 msgid "Brown" msgstr "Marron" -#: appGUI/MainGUI.py:718 app_Main.py:9659 app_Main.py:9715 +#: appGUI/MainGUI.py:718 app_Main.py:9692 app_Main.py:9748 msgid "White" msgstr "Blanche" -#: appGUI/MainGUI.py:721 app_Main.py:9661 +#: appGUI/MainGUI.py:721 app_Main.py:9694 msgid "Black" msgstr "Noire" -#: appGUI/MainGUI.py:726 app_Main.py:9664 +#: appGUI/MainGUI.py:726 app_Main.py:9697 msgid "Custom" msgstr "Personnalisé" -#: appGUI/MainGUI.py:731 app_Main.py:9698 +#: appGUI/MainGUI.py:731 app_Main.py:9731 msgid "Opacity" msgstr "Opacité" -#: appGUI/MainGUI.py:734 app_Main.py:9674 +#: appGUI/MainGUI.py:734 app_Main.py:9707 msgid "Default" msgstr "Défaut" @@ -4458,13 +4490,13 @@ msgstr "Barre d'outils de l'éditeur Gerber" msgid "Grid Toolbar" msgstr "Barre d'outils de la Grille" -#: appGUI/MainGUI.py:831 appGUI/MainGUI.py:1865 app_Main.py:6594 -#: app_Main.py:6599 +#: appGUI/MainGUI.py:831 appGUI/MainGUI.py:1865 app_Main.py:6627 +#: app_Main.py:6632 msgid "Open Gerber" msgstr "Ouvrir Gerber" -#: appGUI/MainGUI.py:833 appGUI/MainGUI.py:1867 app_Main.py:6634 -#: app_Main.py:6639 +#: appGUI/MainGUI.py:833 appGUI/MainGUI.py:1867 app_Main.py:6667 +#: app_Main.py:6672 msgid "Open Excellon" msgstr "Ouvrir Excellon" @@ -4563,8 +4595,10 @@ msgstr "Outil de la NCC" #: appGUI/MainGUI.py:914 appGUI/MainGUI.py:1946 appGUI/MainGUI.py:4113 #: appTools/ToolIsolation.py:38 appTools/ToolIsolation.py:766 +#, fuzzy +#| msgid "Isolation Type" msgid "Isolation Tool" -msgstr "Outil de Isolement" +msgstr "Type d'isolement" #: appGUI/MainGUI.py:918 appGUI/MainGUI.py:1950 msgid "Panel Tool" @@ -4626,13 +4660,17 @@ msgstr "Inverser Gerber" #: appGUI/MainGUI.py:950 appGUI/MainGUI.py:1982 appGUI/MainGUI.py:4115 #: appTools/ToolCorners.py:31 +#, fuzzy +#| msgid "Invert Gerber Tool" msgid "Corner Markers Tool" -msgstr "Outil Marqueurs de Coin" +msgstr "Inverser Gerber" #: appGUI/MainGUI.py:952 appGUI/MainGUI.py:1984 #: appTools/ToolEtchCompensation.py:32 appTools/ToolEtchCompensation.py:288 +#, fuzzy +#| msgid "Editor Transformation Tool" msgid "Etch Compensation Tool" -msgstr "Outil de Comp.de Gravure" +msgstr "Outil de transformation de l'éditeur" #: appGUI/MainGUI.py:958 appGUI/MainGUI.py:984 appGUI/MainGUI.py:1036 #: appGUI/MainGUI.py:1990 appGUI/MainGUI.py:2068 @@ -4803,23 +4841,25 @@ msgstr "Distance d'accrochage de la grille Y" #: appGUI/MainGUI.py:1101 msgid "Toggle the display of axis on canvas" -msgstr "Basculer l'affichage de l'axe sur le canevas" +msgstr "" #: appGUI/MainGUI.py:1107 appGUI/preferences/PreferencesUIManager.py:853 #: appGUI/preferences/PreferencesUIManager.py:945 #: appGUI/preferences/PreferencesUIManager.py:973 -#: appGUI/preferences/PreferencesUIManager.py:1078 app_Main.py:5141 -#: app_Main.py:5146 app_Main.py:5161 +#: appGUI/preferences/PreferencesUIManager.py:1078 app_Main.py:5174 +#: app_Main.py:5179 app_Main.py:5194 msgid "Preferences" msgstr "Préférences" #: appGUI/MainGUI.py:1113 +#, fuzzy +#| msgid "&Command Line" msgid "Command Line" -msgstr "Ligne de commande" +msgstr "&Ligne de commande" #: appGUI/MainGUI.py:1119 msgid "HUD (Heads up display)" -msgstr "HUD (affichage tête haute)" +msgstr "" #: appGUI/MainGUI.py:1125 appGUI/preferences/general/GeneralAPPSetGroupUI.py:97 msgid "" @@ -4837,7 +4877,7 @@ msgstr "Accrocher au coin" msgid "Max. magnet distance" msgstr "Max. distance d'aimant" -#: appGUI/MainGUI.py:1175 appGUI/MainGUI.py:1420 app_Main.py:7641 +#: appGUI/MainGUI.py:1175 appGUI/MainGUI.py:1420 app_Main.py:7674 msgid "Project" msgstr "Projet" @@ -5058,7 +5098,7 @@ msgstr "Éditeur Excellon" msgid "Add Drill" msgstr "Ajouter une Foret" -#: appGUI/MainGUI.py:1531 app_Main.py:2220 +#: appGUI/MainGUI.py:1531 app_Main.py:2221 msgid "Close Editor" msgstr "Fermer l'éditeur" @@ -5071,8 +5111,10 @@ msgstr "" "La référence est (X = 0, Y = 0) position" #: appGUI/MainGUI.py:1563 +#, fuzzy +#| msgid "Application started ..." msgid "Application units" -msgstr "Unités d'application" +msgstr "Bienvenu dans FlatCam ..." #: appGUI/MainGUI.py:1654 msgid "Lock Toolbars" @@ -5088,8 +5130,8 @@ msgstr "Êtes-vous sûr de vouloir supprimer les paramètres de GUI?\n" #: appGUI/MainGUI.py:1840 appGUI/preferences/PreferencesUIManager.py:884 #: appGUI/preferences/PreferencesUIManager.py:1129 appTranslation.py:111 -#: appTranslation.py:210 app_Main.py:2224 app_Main.py:3159 app_Main.py:5356 -#: app_Main.py:6417 +#: appTranslation.py:212 app_Main.py:2225 app_Main.py:3160 app_Main.py:5389 +#: app_Main.py:6450 msgid "Yes" msgstr "Oui" @@ -5098,8 +5140,8 @@ msgstr "Oui" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:164 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:150 #: appTools/ToolIsolation.py:174 appTools/ToolNCC.py:182 -#: appTools/ToolPaint.py:165 appTranslation.py:112 appTranslation.py:211 -#: app_Main.py:2225 app_Main.py:3160 app_Main.py:5357 app_Main.py:6418 +#: appTools/ToolPaint.py:165 appTranslation.py:112 appTranslation.py:213 +#: app_Main.py:2226 app_Main.py:3161 app_Main.py:5390 app_Main.py:6451 msgid "No" msgstr "Non" @@ -5194,23 +5236,29 @@ msgstr "Ajout de l'outil annulé ..." msgid "Distance Tool exit..." msgstr "Distance Outil sortie ..." -#: appGUI/MainGUI.py:3561 app_Main.py:3147 +#: appGUI/MainGUI.py:3561 app_Main.py:3148 msgid "Application is saving the project. Please wait ..." msgstr "Enregistrement du projet. Attendez ..." #: appGUI/MainGUI.py:3668 +#, fuzzy +#| msgid "All plots disabled." msgid "Shell disabled." -msgstr "Shell désactivé." +msgstr "Désactivation de tous les Plots." #: appGUI/MainGUI.py:3678 +#, fuzzy +#| msgid "All plots enabled." msgid "Shell enabled." -msgstr "Shell activé." +msgstr "Activation de tous les Plots." -#: appGUI/MainGUI.py:3706 app_Main.py:9157 +#: appGUI/MainGUI.py:3706 app_Main.py:9190 msgid "Shortcut Key List" msgstr "Touches de raccourci" #: appGUI/MainGUI.py:4089 +#, fuzzy +#| msgid "Key Shortcut List" msgid "General Shortcut list" msgstr "Liste de raccourcis clavier" @@ -5238,7 +5286,7 @@ msgstr "Nouveau Gerber" msgid "Edit Object (if selected)" msgstr "Editer objet (si sélectionné)" -#: appGUI/MainGUI.py:4092 app_Main.py:5660 +#: appGUI/MainGUI.py:4092 app_Main.py:5693 msgid "Grid On/Off" msgstr "Grille On/Off" @@ -5309,7 +5357,7 @@ msgstr "Ouvrir le fichier Gerber" msgid "New Project" msgstr "Nouveau Projet" -#: appGUI/MainGUI.py:4101 app_Main.py:6713 app_Main.py:6716 +#: appGUI/MainGUI.py:4101 app_Main.py:6746 app_Main.py:6749 msgid "Open Project" msgstr "Ouvrir Projet" @@ -5344,7 +5392,7 @@ msgstr "Outil de Distance Minimum" #: appGUI/MainGUI.py:4106 msgid "Open Preferences Window" -msgstr "Ouvrir la fenêtre des Préférences" +msgstr "Ouvrir la fenêtre de Paramètres " #: appGUI/MainGUI.py:4107 msgid "Rotate by 90 degree CCW" @@ -5371,8 +5419,10 @@ msgid "2-Sided PCB Tool" msgstr "Outil de PCB double face" #: appGUI/MainGUI.py:4112 +#, fuzzy +#| msgid "&Toggle Grid Lines\tAlt+G" msgid "Toggle Grid Lines" -msgstr "Basculer les Lignes de la Grille" +msgstr "Basculer les lignes de la grille\tAlt+G" #: appGUI/MainGUI.py:4114 msgid "Solder Paste Dispensing Tool" @@ -5663,6 +5713,8 @@ msgid "Transformation Tool" msgstr "Outil de Transformation" #: appGUI/ObjectUI.py:38 +#, fuzzy +#| msgid "Object" msgid "App Object" msgstr "Objet" @@ -5825,12 +5877,16 @@ msgstr "Routage d'isolement" #: appGUI/ObjectUI.py:334 appGUI/preferences/tools/ToolsISOPrefGroupUI.py:32 #: appTools/ToolIsolation.py:67 +#, fuzzy +#| msgid "" +#| "Create a Geometry object with\n" +#| "toolpaths to cut outside polygons." msgid "" "Create a Geometry object with\n" "toolpaths to cut around polygons." msgstr "" -"Créez un objet Geometry avec\n" -"parcours d'outils pour couper autour des polygones." +"Créez un objet de géométrie avec\n" +"parcours d’outils pour couper des polygones extérieurs." #: appGUI/ObjectUI.py:348 appGUI/ObjectUI.py:2089 appTools/ToolNCC.py:599 msgid "" @@ -6383,7 +6439,7 @@ msgstr "" #: appGUI/ObjectUI.py:1079 appGUI/ObjectUI.py:1934 msgid "Add exclusion areas" -msgstr "Ajouter des zones d'exclusion" +msgstr "" #: appGUI/ObjectUI.py:1082 appGUI/ObjectUI.py:1937 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:212 @@ -6392,45 +6448,40 @@ msgid "" "In those areas the travel of the tools\n" "is forbidden." msgstr "" -"Inclure les zones d'exclusion.\n" -"Dans ces zones, le déplacement des outils\n" -"est interdit." #: appGUI/ObjectUI.py:1103 appGUI/ObjectUI.py:1122 appGUI/ObjectUI.py:1958 #: appGUI/ObjectUI.py:1977 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:232 msgid "Strategy" -msgstr "Stratégie" +msgstr "" #: appGUI/ObjectUI.py:1103 appGUI/ObjectUI.py:1134 appGUI/ObjectUI.py:1958 #: appGUI/ObjectUI.py:1989 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:244 +#, fuzzy +#| msgid "Overlap" msgid "Over Z" -msgstr "Plus de Z" +msgstr "Chevauchement" #: appGUI/ObjectUI.py:1105 appGUI/ObjectUI.py:1960 msgid "This is the Area ID." -msgstr "Il s'agit de l'ID de zone." +msgstr "" #: appGUI/ObjectUI.py:1107 appGUI/ObjectUI.py:1962 msgid "Type of the object where the exclusion area was added." -msgstr "Type de l'objet où la zone d'exclusion a été ajoutée." +msgstr "" #: appGUI/ObjectUI.py:1109 appGUI/ObjectUI.py:1964 msgid "" "The strategy used for exclusion area. Go around the exclusion areas or over " "it." msgstr "" -"La stratégie utilisée pour la zone d'exclusion. Faites le tour des zones " -"d'exclusion ou au-dessus." #: appGUI/ObjectUI.py:1111 appGUI/ObjectUI.py:1966 msgid "" "If the strategy is to go over the area then this is the height at which the " "tool will go to avoid the exclusion area." msgstr "" -"Si la stratégie consiste à dépasser la zone, il s'agit de la hauteur à " -"laquelle l'outil ira pour éviter la zone d'exclusion." #: appGUI/ObjectUI.py:1123 appGUI/ObjectUI.py:1978 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:233 @@ -6440,21 +6491,20 @@ msgid "" "- Over -> when encountering the area, the tool will go to a set height\n" "- Around -> will avoid the exclusion area by going around the area" msgstr "" -"La stratégie a suivi lors de la rencontre d'une zone d'exclusion.\n" -"Peut être:\n" -"- Plus -> lors de la rencontre de la zone, l'outil ira à une hauteur " -"définie\n" -"- Autour -> évitera la zone d'exclusion en faisant le tour de la zone" #: appGUI/ObjectUI.py:1127 appGUI/ObjectUI.py:1982 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:237 +#, fuzzy +#| msgid "Overlap" msgid "Over" -msgstr "Plus de" +msgstr "Chevauchement" #: appGUI/ObjectUI.py:1128 appGUI/ObjectUI.py:1983 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:238 +#, fuzzy +#| msgid "Round" msgid "Around" -msgstr "Environ" +msgstr "Rond" #: appGUI/ObjectUI.py:1135 appGUI/ObjectUI.py:1990 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:245 @@ -6462,16 +6512,16 @@ msgid "" "The height Z to which the tool will rise in order to avoid\n" "an interdiction area." msgstr "" -"La hauteur Z à laquelle l'outil va s'élever afin d'éviter\n" -"une zone d'interdiction." #: appGUI/ObjectUI.py:1145 appGUI/ObjectUI.py:2000 +#, fuzzy +#| msgid "Add Track" msgid "Add area:" -msgstr "Ajouter une zone:" +msgstr "Ajouter une Piste" #: appGUI/ObjectUI.py:1146 appGUI/ObjectUI.py:2001 msgid "Add an Exclusion Area." -msgstr "Ajoutez une zone d'exclusion." +msgstr "" #: appGUI/ObjectUI.py:1152 appGUI/ObjectUI.py:2007 #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:222 @@ -6492,16 +6542,26 @@ msgid "Delete All" msgstr "Supprimer tout" #: appGUI/ObjectUI.py:1163 appGUI/ObjectUI.py:2018 +#, fuzzy +#| msgid "Delete all extensions from the list." msgid "Delete all exclusion areas." -msgstr "Supprimez toutes les zones d'exclusion." +msgstr "Supprimer toutes les extensions de la liste." #: appGUI/ObjectUI.py:1166 appGUI/ObjectUI.py:2021 +#, fuzzy +#| msgid "Delete Object" msgid "Delete Selected" -msgstr "Supprimer sélectionnée" +msgstr "Supprimer un objet" #: appGUI/ObjectUI.py:1167 appGUI/ObjectUI.py:2022 +#, fuzzy +#| msgid "" +#| "Delete a tool in the tool list\n" +#| "by selecting a row in the tool table." msgid "Delete all exclusion areas that are selected in the table." -msgstr "Supprimez toutes les zones d'exclusion sélectionnées dans le tableau." +msgstr "" +"Supprimer un outil dans la liste des outils\n" +"en sélectionnant une ligne dans la table d'outils." #: appGUI/ObjectUI.py:1191 appGUI/ObjectUI.py:2038 msgid "" @@ -7268,7 +7328,7 @@ msgstr "Alignement" msgid "Align Left" msgstr "Alignez à gauche" -#: appGUI/ObjectUI.py:2636 app_Main.py:4716 +#: appGUI/ObjectUI.py:2636 app_Main.py:4749 msgid "Center" msgstr "Centre" @@ -7307,28 +7367,40 @@ msgstr "" "pixels." #: appGUI/PlotCanvas.py:236 appGUI/PlotCanvasLegacy.py:345 +#, fuzzy +#| msgid "All plots enabled." msgid "Axis enabled." -msgstr "Axe activé." +msgstr "Activation de tous les Plots." #: appGUI/PlotCanvas.py:242 appGUI/PlotCanvasLegacy.py:352 +#, fuzzy +#| msgid "All plots disabled." msgid "Axis disabled." -msgstr "Axe désactivé." +msgstr "Désactivation de tous les Plots." #: appGUI/PlotCanvas.py:260 appGUI/PlotCanvasLegacy.py:372 +#, fuzzy +#| msgid "Enabled" msgid "HUD enabled." -msgstr "HUD activé." +msgstr "Activé" #: appGUI/PlotCanvas.py:268 appGUI/PlotCanvasLegacy.py:378 +#, fuzzy +#| msgid "Disabled" msgid "HUD disabled." -msgstr "HUD désactivé." +msgstr "Désactivé" #: appGUI/PlotCanvas.py:276 appGUI/PlotCanvasLegacy.py:451 +#, fuzzy +#| msgid "Grid X value" msgid "Grid enabled." -msgstr "Grille activée." +msgstr "Val. de la grille X" #: appGUI/PlotCanvas.py:280 appGUI/PlotCanvasLegacy.py:459 +#, fuzzy +#| msgid "Disabled" msgid "Grid disabled." -msgstr "Grille désactivée." +msgstr "Désactivé" #: appGUI/PlotCanvasLegacy.py:1523 msgid "" @@ -7343,12 +7415,16 @@ msgid "Preferences applied." msgstr "Paramètres appliquées." #: appGUI/preferences/PreferencesUIManager.py:879 +#, fuzzy +#| msgid "Are you sure you want to delete the GUI Settings? \n" msgid "Are you sure you want to continue?" -msgstr "Es-tu sur de vouloir continuer?" +msgstr "Êtes-vous sûr de vouloir supprimer les paramètres de GUI?\n" #: appGUI/preferences/PreferencesUIManager.py:880 +#, fuzzy +#| msgid "The application will restart." msgid "Application will restart" -msgstr "L'application va redémarrer" +msgstr "L'application va redémarrer." #: appGUI/preferences/PreferencesUIManager.py:978 msgid "Preferences closed without saving." @@ -7358,8 +7434,8 @@ msgstr "Les paramètres se sont fermées sans enregistrer." msgid "Preferences default values are restored." msgstr "Les valeurs par défaut des paramètres sont restaurées." -#: appGUI/preferences/PreferencesUIManager.py:1021 app_Main.py:2499 -#: app_Main.py:2567 +#: appGUI/preferences/PreferencesUIManager.py:1021 app_Main.py:2500 +#: app_Main.py:2568 msgid "Failed to write defaults to file." msgstr "Échec d'écriture du fichier." @@ -7588,8 +7664,10 @@ msgstr "Définissez la transparence de remplissage pour les objets tracés." #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:267 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:90 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:149 +#, fuzzy +#| msgid "CNCJob Object Color" msgid "Object Color" -msgstr "Couleur d'objet" +msgstr "Couleur d'objet CNCJob" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:212 msgid "Set the color for plotted objects." @@ -8346,10 +8424,11 @@ msgid "" "The notebook is the collapsible area in the left side of the GUI,\n" "and include the Project, Selected and Tool tabs." msgstr "" -"Cela définit la taille de la police pour les éléments trouvés dans le bloc-" -"notes.\n" -"Le bloc-notes est la zone pliable sur le côté gauche de GUI,\n" -"et inclure les onglets Projet, Sélectionné et Outil." +"Ceci définit la taille de la police pour les éléments présents dans le " +"cahier.\n" +"Le cahier est la zone repliable dans le côté gauche de l'interface " +"graphique,\n" +"et incluez les onglets Projet, Sélectionné et Outil." #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:214 msgid "Axis" @@ -8364,20 +8443,27 @@ msgid "Textbox" msgstr "Zone de texte" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:235 +#, fuzzy +#| msgid "" +#| "This sets the font size for the Textbox GUI\n" +#| "elements that are used in FlatCAM." msgid "" "This sets the font size for the Textbox GUI\n" "elements that are used in the application." msgstr "" -"Cela définit la taille de la police pour l'application Textbox GUI\n" -"les éléments utilisés dans l'application." +"Ceci définit la taille de la police pour l'interface graphique de la zone de " +"texte\n" +"éléments utilisés dans FlatCAM." #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:253 msgid "HUD" -msgstr "HUD" +msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:255 +#, fuzzy +#| msgid "This sets the font size for canvas axis." msgid "This sets the font size for the Heads Up Display." -msgstr "Cela définit la taille de la police pour l'affichage tête haute." +msgstr "Ceci définit la taille de la police pour l'axe de la toile." #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:280 msgid "Mouse Settings" @@ -8933,12 +9019,16 @@ msgid "Theme" msgstr "Thème" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:38 +#, fuzzy +#| msgid "" +#| "Select a theme for FlatCAM.\n" +#| "It will theme the plot area." msgid "" "Select a theme for the application.\n" "It will theme the plot area." msgstr "" -"Sélectionnez un thème pour l'application.\n" -"Il aura pour thème la zone d'affichage." +"Sélectionnez un thème pour FlatCAM.\n" +"Il aura pour thème la zone de traçage." #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:43 msgid "Light" @@ -8967,11 +9057,15 @@ msgid "Layout" msgstr "Disposition" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:75 +#, fuzzy +#| msgid "" +#| "Select an layout for FlatCAM.\n" +#| "It is applied immediately." msgid "" "Select a layout for the application.\n" "It is applied immediately." msgstr "" -"Sélectionnez une mise en page pour l'application.\n" +"Sélectionnez une mise en page pour FlatCAM.\n" "Il est appliqué immédiatement." #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:95 @@ -8979,11 +9073,15 @@ msgid "Style" msgstr "Style" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:97 +#, fuzzy +#| msgid "" +#| "Select an style for FlatCAM.\n" +#| "It will be applied at the next app start." msgid "" "Select a style for the application.\n" "It will be applied at the next app start." msgstr "" -"Sélectionnez un style pour l'application.\n" +"Sélectionnez un style pour FlatCAM.\n" "Il sera appliqué au prochain démarrage de l'application." #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:111 @@ -8991,11 +9089,15 @@ msgid "Activate HDPI Support" msgstr "Activer le support HDPI" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:113 +#, fuzzy +#| msgid "" +#| "Enable High DPI support for FlatCAM.\n" +#| "It will be applied at the next app start." msgid "" "Enable High DPI support for the application.\n" "It will be applied at the next app start." msgstr "" -"Activer la prise en charge haute DPI pour l'application.\n" +"Activer la prise en charge haute DPI pour FlatCAM.\n" "Il sera appliqué au prochain démarrage de l'application." #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:127 @@ -9003,13 +9105,19 @@ msgid "Display Hover Shape" msgstr "Afficher la forme de survol" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:129 +#, fuzzy +#| msgid "" +#| "Enable display of a hover shape for FlatCAM objects.\n" +#| "It is displayed whenever the mouse cursor is hovering\n" +#| "over any kind of not-selected object." msgid "" "Enable display of a hover shape for the application objects.\n" "It is displayed whenever the mouse cursor is hovering\n" "over any kind of not-selected object." msgstr "" -"Activez l'affichage d'une forme de survol pour les objets d'application.\n" -"Il s'affiche chaque fois que le curseur de la souris survole\n" +"Activer l'affichage d'une forme de survol pour les objets FlatCAM.\n" +"Il est affiché chaque fois que le curseur de la souris est en vol " +"stationnaire\n" "sur tout type d'objet non sélectionné." #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:136 @@ -9017,14 +9125,20 @@ msgid "Display Selection Shape" msgstr "Afficher la forme de sélection" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:138 +#, fuzzy +#| msgid "" +#| "Enable the display of a selection shape for FlatCAM objects.\n" +#| "It is displayed whenever the mouse selects an object\n" +#| "either by clicking or dragging mouse from left to right or\n" +#| "right to left." msgid "" "Enable the display of a selection shape for the application objects.\n" "It is displayed whenever the mouse selects an object\n" "either by clicking or dragging mouse from left to right or\n" "right to left." msgstr "" -"Activez l'affichage d'une forme de sélection pour les objets d'application.\n" -"Il s'affiche chaque fois que la souris sélectionne un objet\n" +"Activer l'affichage d'une forme de sélection pour les objets FlatCAM.\n" +"Il est affiché chaque fois que la souris sélectionne un objet\n" "soit en cliquant ou en faisant glisser la souris de gauche à droite ou\n" "de droite à gauche." @@ -9196,22 +9310,29 @@ msgstr "" "Une valeur de 0 signifie aucune segmentation sur l'axe Y." #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:200 +#, fuzzy +#| msgid "Area Selection" msgid "Area Exclusion" -msgstr "Exclusion de zone" +msgstr "Sélection de zone" #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:202 +#, fuzzy +#| msgid "" +#| "A list of Excellon advanced parameters.\n" +#| "Those parameters are available only for\n" +#| "Advanced App. Level." msgid "" "Area exclusion parameters.\n" "Those parameters are available only for\n" "Advanced App. Level." msgstr "" -"Paramètres d'exclusion de zone.\n" -"Ces paramètres sont disponibles uniquement pour\n" -"Application Avancée. Niveau." +"Une liste des paramètres avancés d’Excellon.\n" +"Ces paramètres ne sont disponibles que pour\n" +"App avancée. Niveau." #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:209 msgid "Exclusion areas" -msgstr "Zones d'exclusion" +msgstr "" #: appGUI/preferences/geometry/GeometryAdvOptPrefGroupUI.py:220 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:293 @@ -9385,13 +9506,14 @@ msgid "None" msgstr "Aucun" #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:80 +#, fuzzy +#| msgid "Buffering" msgid "Delayed Buffering" -msgstr "Mise en mémoire tampon différée" +msgstr "Mise en mémoire tampon" #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:82 msgid "When checked it will do the buffering in background." msgstr "" -"Lorsqu'elle est cochée, elle fera la mise en mémoire tampon en arrière-plan." #: appGUI/preferences/gerber/GerberAdvOptPrefGroupUI.py:87 msgid "Simplify" @@ -9967,12 +10089,12 @@ msgstr "" "- en bas à droite -> l'utilisateur alignera le PCB horizontalement" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:131 -#: appTools/ToolCalibration.py:159 app_Main.py:4713 +#: appTools/ToolCalibration.py:159 app_Main.py:4746 msgid "Top-Left" msgstr "En haut à gauche" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:132 -#: appTools/ToolCalibration.py:160 app_Main.py:4714 +#: appTools/ToolCalibration.py:160 app_Main.py:4747 msgid "Bottom-Right" msgstr "En bas à droite" @@ -10885,18 +11007,20 @@ msgstr "" "En microns." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:27 +#, fuzzy +#| msgid "Gerber Options" msgid "Corner Markers Options" -msgstr "Options des Marqueurs de Coin" +msgstr "Options de Gerber" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:44 #: appTools/ToolCorners.py:124 msgid "The thickness of the line that makes the corner marker." -msgstr "L'épaisseur de la ligne qui fait le marqueur de coin." +msgstr "" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:58 #: appTools/ToolCorners.py:138 msgid "The length of the line that makes the corner marker." -msgstr "La longueur de la ligne qui fait le marqueur de coin." +msgstr "" #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:28 msgid "Cutout Tool Options" @@ -11029,11 +11153,17 @@ msgid "Film Tool Options" msgstr "Options de l'Outil de Film" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:33 +#, fuzzy +#| msgid "" +#| "Create a PCB film from a Gerber or Geometry\n" +#| "FlatCAM object.\n" +#| "The file is saved in SVG format." msgid "" "Create a PCB film from a Gerber or Geometry object.\n" "The file is saved in SVG format." msgstr "" -"Créez un film PCB à partir d'un objet Gerber ou Geometry.\n" +"Créer un film de circuit imprimé à partir d'un gerber ou d'une géométrie\n" +"Objet FlatCAM.\n" "Le fichier est enregistré au format SVG." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:43 @@ -11243,8 +11373,10 @@ msgid "A selection of standard ISO 216 page sizes." msgstr "Une sélection de formats de page ISO 216 standard." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:26 +#, fuzzy +#| msgid "Calibration Tool Options" msgid "Isolation Tool Options" -msgstr "Options de l'outil de Isolement" +msgstr "Options de l'outil d'Étalonnage" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:48 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:49 @@ -11329,12 +11461,16 @@ msgid "V-shape" msgstr "Forme en V" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:103 +#, fuzzy +#| msgid "" +#| "The tip angle for V-Shape Tool.\n" +#| "In degree." msgid "" "The tip angle for V-Shape Tool.\n" "In degrees." msgstr "" -"L'angle de pointe pour l'outil en forme de V.\n" -"En degrés." +"L'angle de pointe pour l'outil en forme de V\n" +"En degré." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:117 #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:126 @@ -11369,11 +11505,22 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:245 #: appTools/ToolIsolation.py:432 appTools/ToolNCC.py:512 #: appTools/ToolPaint.py:441 +#, fuzzy +#| msgid "Restore" msgid "Rest" -msgstr "Reste" +msgstr "Restaurer" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:246 #: appTools/ToolIsolation.py:435 +#, fuzzy +#| msgid "" +#| "If checked, use 'rest machining'.\n" +#| "Basically it will clear copper outside PCB features,\n" +#| "using the biggest tool and continue with the next tools,\n" +#| "from bigger to smaller, to clear areas of copper that\n" +#| "could not be cleared by previous tool, until there is\n" +#| "no more copper to clear or there are no more tools.\n" +#| "If not checked, use the standard algorithm." msgid "" "If checked, use 'rest machining'.\n" "Basically it will isolate outside PCB features,\n" @@ -11383,13 +11530,13 @@ msgid "" "no more copper features to isolate or there are no more tools.\n" "If not checked, use the standard algorithm." msgstr "" -"Si cette case est cochée, utilisez «usinage de repos».\n" -"Fondamentalement, il isolera les caractéristiques extérieures des PCB,\n" -"en utilisant le plus grand outil et continuer avec les outils suivants,\n" -"du plus grand au plus petit, pour isoler les éléments en cuivre\n" -"n'a pas pu être effacé par l'outil précédent, tant qu'il n'y a pas\n" -"plus de fonctions en cuivre à isoler ou plus d'outils.\n" -"S'il n'est pas coché, utilisez l'algorithme standard." +"Si coché, utilisez 'repos usining'.\n" +"Fondamentalement, il nettoiera le cuivre en dehors des circuits imprimés,\n" +"en utilisant le plus gros outil et continuer avec les outils suivants,\n" +"du plus grand au plus petit, pour nettoyer les zones de cuivre\n" +"ne pouvait pas être effacé par l’outil précédent, jusqu’à ce que\n" +"plus de cuivre à nettoyer ou il n'y a plus d'outils.\n" +"Si non coché, utilisez l'algorithme standard." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:258 #: appTools/ToolIsolation.py:447 @@ -11419,6 +11566,11 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:277 #: appTools/ToolIsolation.py:496 +#, fuzzy +#| msgid "" +#| "Isolation scope. Choose what to isolate:\n" +#| "- 'All' -> Isolate all the polygons in the object\n" +#| "- 'Selection' -> Isolate a selection of polygons." msgid "" "Isolation scope. Choose what to isolate:\n" "- 'All' -> Isolate all the polygons in the object\n" @@ -11428,9 +11580,7 @@ msgid "" msgstr "" "Portée d'isolement. Choisissez quoi isoler:\n" "- 'Tout' -> Isoler tous les polygones de l'objet\n" -"- 'Sélection de zone' -> Isoler les polygones dans une zone de sélection.\n" -"- 'Sélection de polygone' -> Isoler une sélection de polygones.\n" -"- 'Objet de référence' - traitera la zone spécifiée par un autre objet." +"- 'Sélection' -> Isoler une sélection de polygones." #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:285 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:280 @@ -11456,23 +11606,27 @@ msgstr "Progressif" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:312 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:341 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:305 -#: appObjects/AppObject.py:349 appObjects/FlatCAMObj.py:251 +#: appObjects/AppObject.py:351 appObjects/FlatCAMObj.py:251 #: appObjects/FlatCAMObj.py:282 appObjects/FlatCAMObj.py:298 #: appObjects/FlatCAMObj.py:378 appTools/ToolCopperThieving.py:1491 #: appTools/ToolCorners.py:411 appTools/ToolFiducials.py:813 -#: appTools/ToolMove.py:229 appTools/ToolQRCode.py:737 app_Main.py:4398 +#: appTools/ToolMove.py:229 appTools/ToolQRCode.py:737 app_Main.py:4431 msgid "Plotting" msgstr "Traçage" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:314 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:343 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:307 +#, fuzzy +#| msgid "" +#| "- 'Normal' - normal plotting, done at the end of the NCC job\n" +#| "- 'Progressive' - after each shape is generated it will be plotted." msgid "" "- 'Normal' - normal plotting, done at the end of the job\n" "- 'Progressive' - each shape is plotted after it is generated" msgstr "" -"- 'Normal' - tracé normal, fait à la fin du travail\n" -"- 'Progressive' - chaque forme est tracée après sa génération" +"- 'Normal' - tracé normal, effectué à la fin du travail de la NCC\n" +"- 'Progressif' - après chaque forme générée, elle sera tracée." #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:27 msgid "NCC Tool Options" @@ -11545,12 +11699,16 @@ msgstr "Paramètres:" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:107 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:116 +#, fuzzy +#| msgid "" +#| "Depth of cut into material. Negative value.\n" +#| "In FlatCAM units." msgid "" "Depth of cut into material. Negative value.\n" "In application units." msgstr "" -"Profondeur de coupe dans le matériau. Valeur négative.\n" -"En unités d'application." +"Profondeur de la coupe dans le matériau. Valeur négative.\n" +"En unités FlatCAM." #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:247 #: appTools/ToolPaint.py:444 @@ -11941,12 +12099,16 @@ msgid "Transform Tool Options" msgstr "Options de l'Outil de Transformation" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:33 +#, fuzzy +#| msgid "" +#| "Various transformations that can be applied\n" +#| "on a FlatCAM object." msgid "" "Various transformations that can be applied\n" "on a application object." msgstr "" -"Diverses transformations qui peuvent être appliquées\n" -"sur un objet d'application." +"Diverses transformations pouvant être appliquées\n" +"sur un objet FlatCAM." #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:46 #: appTools/ToolTransform.py:62 @@ -11958,17 +12120,13 @@ msgid "" "- Point -> a custom point defined by X,Y coordinates\n" "- Object -> the center of the bounding box of a specific object" msgstr "" -"Le point de référence pour Rotation, Inclinaison, Échelle, Miroir.\n" -"Peut être:\n" -"- Origine -> c'est le 0, 0 point\n" -"- Sélection -> le centre du cadre de sélection des objets sélectionnés\n" -"- Point -> un point personnalisé défini par les coordonnées X, Y\n" -"- Objet -> le centre de la boîte englobante d'un objet spécifique" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:72 #: appTools/ToolTransform.py:94 +#, fuzzy +#| msgid "The FlatCAM object to be used as non copper clearing reference." msgid "The type of object used as reference." -msgstr "Type d'objet utilisé comme référence." +msgstr "L'objet FlatCAM à utiliser comme référence d'effacement non en cuivre." #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:107 msgid "Skew" @@ -12143,23 +12301,23 @@ msgid "" "\n" msgstr "L'objet ({kind}) a échoué car: {error}\n" -#: appObjects/AppObject.py:149 +#: appObjects/AppObject.py:151 msgid "Converting units to " msgstr "Conversion de l'unités en " -#: appObjects/AppObject.py:254 +#: appObjects/AppObject.py:256 msgid "CREATE A NEW FLATCAM TCL SCRIPT" msgstr "CRÉER UN NOUVEAU SCRIPT FLATCAM TCL" -#: appObjects/AppObject.py:255 +#: appObjects/AppObject.py:257 msgid "TCL Tutorial is here" msgstr "Le didacticiel TCL est ici" -#: appObjects/AppObject.py:257 +#: appObjects/AppObject.py:259 msgid "FlatCAM commands list" msgstr "Liste des commandes FlatCAM" -#: appObjects/AppObject.py:258 +#: appObjects/AppObject.py:260 msgid "" "Type >help< followed by Run Code for a list of FlatCAM Tcl Commands " "(displayed in Tcl Shell)." @@ -12167,9 +12325,9 @@ msgstr "" "Tapez >help< suivi du Run Code pour lister les commandes FlatCAM Tcl " "(affichées dans Tcl Shell)." -#: appObjects/AppObject.py:304 appObjects/AppObject.py:310 -#: appObjects/AppObject.py:316 appObjects/AppObject.py:322 -#: appObjects/AppObject.py:328 appObjects/AppObject.py:334 +#: appObjects/AppObject.py:306 appObjects/AppObject.py:312 +#: appObjects/AppObject.py:318 appObjects/AppObject.py:324 +#: appObjects/AppObject.py:330 appObjects/AppObject.py:336 msgid "created/selected" msgstr "créé/sélectionné" @@ -12188,19 +12346,23 @@ msgid "Plotting..." msgstr "Traçage..." #: appObjects/FlatCAMCNCJob.py:517 appTools/ToolSolderPaste.py:1511 +#, fuzzy +#| msgid "Export PNG cancelled." msgid "Export cancelled ..." -msgstr "Exportation annulée ..." +msgstr "Exportation PNG annulée." #: appObjects/FlatCAMCNCJob.py:538 +#, fuzzy +#| msgid "PDF file saved to" msgid "File saved to" -msgstr "Fichier enregistré dans" +msgstr "Fichier PDF enregistré dans" #: appObjects/FlatCAMCNCJob.py:548 appObjects/FlatCAMScript.py:134 -#: app_Main.py:7303 +#: app_Main.py:7336 msgid "Loading..." msgstr "Chargement..." -#: appObjects/FlatCAMCNCJob.py:562 app_Main.py:7400 +#: appObjects/FlatCAMCNCJob.py:562 app_Main.py:7433 msgid "Code Editor" msgstr "Éditeur de code" @@ -12304,12 +12466,16 @@ msgid "Generating CNC Code" msgstr "Génération de code CNC" #: appObjects/FlatCAMExcellon.py:1663 appObjects/FlatCAMGeometry.py:2553 +#, fuzzy +#| msgid "Delete failed. Select a tool to delete." msgid "Delete failed. There are no exclusion areas to delete." -msgstr "La suppression a échoué. Il n'y a aucune zone d'exclusion à supprimer." +msgstr "La suppression a échoué. Sélectionnez un outil à supprimer." #: appObjects/FlatCAMExcellon.py:1680 appObjects/FlatCAMGeometry.py:2570 +#, fuzzy +#| msgid "Failed. Nothing selected." msgid "Delete failed. Nothing is selected." -msgstr "La suppression a échoué. Rien n'est sélectionné." +msgstr "Échoué. Rien de sélectionné." #: appObjects/FlatCAMExcellon.py:1945 appTools/ToolIsolation.py:1253 #: appTools/ToolNCC.py:918 appTools/ToolPaint.py:843 @@ -12386,7 +12552,7 @@ msgstr "Cette géométrie ne peut pas être traitée car elle est" #: appObjects/FlatCAMGeometry.py:1708 msgid "geometry" -msgstr "géométrie" +msgstr "Géométrie" #: appObjects/FlatCAMGeometry.py:1749 msgid "Failed. No tool selected in the tool table ..." @@ -12529,7 +12695,7 @@ msgstr "Objet renommé de {old} à {new}" #: appObjects/ObjectCollection.py:926 appObjects/ObjectCollection.py:932 #: appObjects/ObjectCollection.py:938 appObjects/ObjectCollection.py:944 #: appObjects/ObjectCollection.py:950 appObjects/ObjectCollection.py:956 -#: app_Main.py:6237 app_Main.py:6243 app_Main.py:6249 app_Main.py:6255 +#: app_Main.py:6270 app_Main.py:6276 app_Main.py:6282 app_Main.py:6288 msgid "selected" msgstr "choisir" @@ -13490,44 +13656,56 @@ msgid "Copper Thieving Tool exit." msgstr "Sortie de l'outil de Copper Thieving." #: appTools/ToolCorners.py:57 +#, fuzzy +#| msgid "Gerber Object to which will be added a copper thieving." msgid "The Gerber object to which will be added corner markers." -msgstr "L'objet Gerber auquel seront ajoutés des marqueurs de coin." +msgstr "Objet Gerber auquel sera ajouté un voleur de cuivre." #: appTools/ToolCorners.py:73 +#, fuzzy +#| msgid "Location" msgid "Locations" -msgstr "Emplacements" +msgstr "Emplacement" #: appTools/ToolCorners.py:75 msgid "Locations where to place corner markers." -msgstr "Emplacements où placer les marqueurs de coin." +msgstr "" #: appTools/ToolCorners.py:92 appTools/ToolFiducials.py:95 msgid "Top Right" msgstr "En haut à droite" #: appTools/ToolCorners.py:101 +#, fuzzy +#| msgid "Toggle Units" msgid "Toggle ALL" -msgstr "Tout basculer" +msgstr "Changement d'unités" #: appTools/ToolCorners.py:167 +#, fuzzy +#| msgid "Add keyword" msgid "Add Marker" -msgstr "Ajouter un marqueur" +msgstr "Ajouter un mot clé" #: appTools/ToolCorners.py:169 msgid "Will add corner markers to the selected Gerber file." -msgstr "Will add corner markers to the selected Gerber file." +msgstr "" #: appTools/ToolCorners.py:235 +#, fuzzy +#| msgid "QRCode Tool" msgid "Corners Tool" -msgstr "Outil Corners" +msgstr "QRCode" #: appTools/ToolCorners.py:305 msgid "Please select at least a location" -msgstr "Veuillez sélectionner au moins un emplacement" +msgstr "" #: appTools/ToolCorners.py:440 +#, fuzzy +#| msgid "Copper Thieving Tool exit." msgid "Corners Tool exit." -msgstr "Sortie d'outil de Coins." +msgstr "Sortie de l'outil de Copper Thieving." #: appTools/ToolCutOut.py:41 msgid "Cutout PCB" @@ -14103,7 +14281,7 @@ msgstr "Il n'y a pas d'objet Excellon chargé ..." msgid "There is no Geometry object loaded ..." msgstr "Il n'y a pas d'objet Géométrie chargé ..." -#: appTools/ToolDblSided.py:818 app_Main.py:4351 app_Main.py:4506 +#: appTools/ToolDblSided.py:818 app_Main.py:4384 app_Main.py:4539 msgid "Failed. No object(s) selected..." msgstr "Érreur. Aucun objet sélectionné ..." @@ -14200,8 +14378,10 @@ msgid "Pads overlapped. Aborting." msgstr "Les coussinets se chevauchaient. Abandon." #: appTools/ToolDistance.py:489 +#, fuzzy +#| msgid "Distance Tool finished." msgid "Distance Tool cancelled." -msgstr "Outil Distance annulé." +msgstr "Outil Distance terminé." #: appTools/ToolDistance.py:494 msgid "MEASURING: Click on the Destination point ..." @@ -14285,15 +14465,17 @@ msgstr "Objet Gerber qui sera inversé." #: appTools/ToolEtchCompensation.py:86 msgid "Utilities" -msgstr "Utilitaires" +msgstr "" #: appTools/ToolEtchCompensation.py:87 +#, fuzzy +#| msgid "Conversion" msgid "Conversion utilities" -msgstr "Utilitaires de conversion" +msgstr "Conversion" #: appTools/ToolEtchCompensation.py:92 msgid "Oz to Microns" -msgstr "Oz en Microns" +msgstr "" #: appTools/ToolEtchCompensation.py:94 msgid "" @@ -14301,21 +14483,22 @@ msgid "" "Can use formulas with operators: /, *, +, -, %, .\n" "The real numbers use the dot decimals separator." msgstr "" -"Convertira de l'épaisseur de l'oz en microns [um].\n" -"Peut utiliser des formules avec des opérateurs: /, *, +, -,%,.\n" -"Les nombres réels utilisent le séparateur de décimales de points." #: appTools/ToolEtchCompensation.py:103 +#, fuzzy +#| msgid "X value" msgid "Oz value" -msgstr "Valeur en oz" +msgstr "Valeur X" #: appTools/ToolEtchCompensation.py:105 appTools/ToolEtchCompensation.py:126 +#, fuzzy +#| msgid "Min value" msgid "Microns value" -msgstr "Valeur en microns" +msgstr "Valeur min" #: appTools/ToolEtchCompensation.py:113 msgid "Mils to Microns" -msgstr "Mils en Microns" +msgstr "" #: appTools/ToolEtchCompensation.py:115 msgid "" @@ -14323,33 +14506,40 @@ msgid "" "Can use formulas with operators: /, *, +, -, %, .\n" "The real numbers use the dot decimals separator." msgstr "" -"Convertira de mils en microns [um].\n" -"Peut utiliser des formules avec des opérateurs: /, *, +, -,%,.\n" -"Les nombres réels utilisent le séparateur de décimales de points." #: appTools/ToolEtchCompensation.py:124 +#, fuzzy +#| msgid "Min value" msgid "Mils value" -msgstr "Valeur en millièmes" +msgstr "Valeur min" #: appTools/ToolEtchCompensation.py:139 appTools/ToolInvertGerber.py:86 msgid "Parameters for this tool" msgstr "Paramètres pour cet outil" #: appTools/ToolEtchCompensation.py:144 +#, fuzzy +#| msgid "Thickness" msgid "Copper Thickness" -msgstr "Épaisseur de cuivre" +msgstr "Épaisseur" #: appTools/ToolEtchCompensation.py:146 +#, fuzzy +#| msgid "" +#| "How thick the copper growth is intended to be.\n" +#| "In microns." msgid "" "The thickness of the copper foil.\n" "In microns [um]." msgstr "" -"L'épaisseur de la feuille de cuivre.\n" -"En microns [um]." +"Quelle épaisseur doit avoir la croissance du cuivre.\n" +"En microns." #: appTools/ToolEtchCompensation.py:157 +#, fuzzy +#| msgid "Location" msgid "Ratio" -msgstr "Rapport" +msgstr "Emplacement" #: appTools/ToolEtchCompensation.py:159 msgid "" @@ -14358,74 +14548,75 @@ msgid "" "- custom -> the user will enter a custom value\n" "- preselection -> value which depends on a selection of etchants" msgstr "" -"Le rapport de la gravure latérale par rapport à la gravure en profondeur.\n" -"Peut être:\n" -"- personnalisé -> l'utilisateur entrera une valeur personnalisée\n" -"- présélection -> valeur qui dépend d'une sélection d'agents de gravure" #: appTools/ToolEtchCompensation.py:165 +#, fuzzy +#| msgid "Factor" msgid "Etch Factor" -msgstr "Facteur de gravure" +msgstr "Facteur" #: appTools/ToolEtchCompensation.py:166 +#, fuzzy +#| msgid "Extensions list" msgid "Etchants list" -msgstr "Liste des marchands" +msgstr "Liste d'extensions" #: appTools/ToolEtchCompensation.py:167 +#, fuzzy +#| msgid "Manual" msgid "Manual offset" -msgstr "Décalage manuel" +msgstr "Manuel" #: appTools/ToolEtchCompensation.py:174 appTools/ToolEtchCompensation.py:179 msgid "Etchants" -msgstr "Etchants" +msgstr "" #: appTools/ToolEtchCompensation.py:176 +#, fuzzy +#| msgid "Shows list of commands." msgid "A list of etchants." -msgstr "Une liste des agents de gravure." +msgstr "Affiche la liste des commandes." #: appTools/ToolEtchCompensation.py:180 msgid "Alkaline baths" -msgstr "Bains alcalins" +msgstr "" #: appTools/ToolEtchCompensation.py:186 +#, fuzzy +#| msgid "X factor" msgid "Etch factor" -msgstr "Facteur de gravure" +msgstr "Facteur X" #: appTools/ToolEtchCompensation.py:188 msgid "" "The ratio between depth etch and lateral etch .\n" "Accepts real numbers and formulas using the operators: /,*,+,-,%" msgstr "" -"Le rapport entre la gravure en profondeur et la gravure latérale.\n" -"Accepte les nombres réels et les formules en utilisant les opérateurs: /, *, " -"+, -,%" #: appTools/ToolEtchCompensation.py:192 msgid "Real number or formula" -msgstr "Nombre réel ou formule" +msgstr "" #: appTools/ToolEtchCompensation.py:193 +#, fuzzy +#| msgid "X factor" msgid "Etch_factor" -msgstr "Facteur de gravure" +msgstr "Facteur X" #: appTools/ToolEtchCompensation.py:201 msgid "" "Value with which to increase or decrease (buffer)\n" "the copper features. In microns [um]." msgstr "" -"Valeur avec laquelle augmenter ou diminuer (tampon)\n" -"les caractéristiques de cuivre. En microns [um]." #: appTools/ToolEtchCompensation.py:225 msgid "Compensate" -msgstr "Compenser" +msgstr "" #: appTools/ToolEtchCompensation.py:227 msgid "" "Will increase the copper features thickness to compensate the lateral etch." msgstr "" -"Augmentera l'épaisseur des éléments en cuivre pour compenser la gravure " -"latérale." #: appTools/ToolExtractDrills.py:29 appTools/ToolExtractDrills.py:295 msgid "Extract Drills" @@ -14468,7 +14659,7 @@ msgstr "" #: appTools/ToolFiducials.py:240 msgid "Thickness of the line that makes the fiducial." -msgstr "Épaisseur de la ligne qui rend le fiducial." +msgstr "" #: appTools/ToolFiducials.py:271 msgid "Add Fiducial" @@ -14815,7 +15006,7 @@ msgstr "Outil Image" msgid "Import IMAGE" msgstr "Importer une Image" -#: appTools/ToolImage.py:277 app_Main.py:8362 app_Main.py:8409 +#: appTools/ToolImage.py:277 app_Main.py:8395 app_Main.py:8442 msgid "" "Not supported type is picked as parameter. Only Geometry and Gerber are " "supported" @@ -14827,9 +15018,9 @@ msgstr "" msgid "Importing Image" msgstr "Importation d'Image" -#: appTools/ToolImage.py:297 appTools/ToolPDF.py:154 app_Main.py:8387 -#: app_Main.py:8433 app_Main.py:8497 app_Main.py:8564 app_Main.py:8630 -#: app_Main.py:8695 app_Main.py:8752 +#: appTools/ToolImage.py:297 appTools/ToolPDF.py:154 app_Main.py:8420 +#: app_Main.py:8466 app_Main.py:8530 app_Main.py:8597 app_Main.py:8663 +#: app_Main.py:8728 app_Main.py:8785 msgid "Opened" msgstr "Ouvrir" @@ -14852,8 +15043,10 @@ msgid "Invert Tool" msgstr "Outil Inverser" #: appTools/ToolIsolation.py:96 +#, fuzzy +#| msgid "Gerber objects for which to check rules." msgid "Gerber object for isolation routing." -msgstr "Objet Gerber pour le routage d'isolement." +msgstr "Objets Gerber pour lesquels vérifier les règles." #: appTools/ToolIsolation.py:120 appTools/ToolNCC.py:122 msgid "" @@ -14864,6 +15057,14 @@ msgstr "" "choisira ceux utilisés pour le nettoyage du cuivre." #: appTools/ToolIsolation.py:136 +#, fuzzy +#| msgid "" +#| "This is the Tool Number.\n" +#| "Painting will start with the tool with the biggest diameter,\n" +#| "continuing until there are no more tools.\n" +#| "Only tools that create painting geometry will still be present\n" +#| "in the resulting geometry. This is because with some tools\n" +#| "this function will not be able to create painting geometry." msgid "" "This is the Tool Number.\n" "Isolation routing will start with the tool with the biggest \n" @@ -14872,13 +15073,12 @@ msgid "" "in the resulting geometry. This is because with some tools\n" "this function will not be able to create routing geometry." msgstr "" -"Il s'agit du numéro d'outil.\n" -"Le routage d'isolement commencera par l'outil avec le plus grand\n" -"diamètre, en continuant jusqu'à ce qu'il n'y ait plus d'outils.\n" -"Seuls les outils qui créent la géométrie d'isolement seront toujours " -"présents\n" -"dans la géométrie résultante. En effet, avec certains outils\n" -"cette fonction ne pourra pas créer de géométrie de routage." +"C'est le numéro de l'outil.\n" +"La peinture commencera avec l'outil avec le plus grand diamètre,\n" +"continue jusqu'à ce qu'il n'y ait plus d'outils.\n" +"Seuls les outils créant une géométrie de peinture seront toujours présents\n" +"dans la géométrie résultante. C’est parce qu’avec certains outils\n" +"cette fonction ne pourra pas créer de géométrie de peinture." #: appTools/ToolIsolation.py:144 appTools/ToolNCC.py:146 msgid "" @@ -14988,14 +15188,14 @@ msgstr "" #: appTools/ToolIsolation.py:1266 appTools/ToolIsolation.py:1426 #: appTools/ToolNCC.py:932 appTools/ToolNCC.py:1449 appTools/ToolPaint.py:857 #: appTools/ToolSolderPaste.py:576 appTools/ToolSolderPaste.py:901 -#: app_Main.py:4211 +#: app_Main.py:4244 msgid "Please enter a tool diameter with non-zero value, in Float format." msgstr "" "Veuillez saisir un diamètre d’outil avec une valeur non nulle, au format " "réel." #: appTools/ToolIsolation.py:1270 appTools/ToolNCC.py:936 -#: appTools/ToolPaint.py:861 appTools/ToolSolderPaste.py:580 app_Main.py:4215 +#: appTools/ToolPaint.py:861 appTools/ToolSolderPaste.py:580 app_Main.py:4248 msgid "Adding Tool cancelled" msgstr "Ajout d'outil annulé" @@ -15004,13 +15204,13 @@ msgstr "Ajout d'outil annulé" msgid "Please enter a tool diameter to add, in Float format." msgstr "Veuillez saisir un diamètre d'outil à ajouter, au format réel." -#: appTools/ToolIsolation.py:1451 appTools/ToolIsolation.py:2959 +#: appTools/ToolIsolation.py:1451 appTools/ToolIsolation.py:2988 #: appTools/ToolNCC.py:1474 appTools/ToolNCC.py:4079 appTools/ToolPaint.py:1227 #: appTools/ToolPaint.py:3628 appTools/ToolSolderPaste.py:925 msgid "Cancelled. Tool already in Tool Table." msgstr "Annulé. Outil déjà dans la table d'outils." -#: appTools/ToolIsolation.py:1458 appTools/ToolIsolation.py:2977 +#: appTools/ToolIsolation.py:1458 appTools/ToolIsolation.py:3006 #: appTools/ToolNCC.py:1481 appTools/ToolNCC.py:4096 appTools/ToolPaint.py:1232 #: appTools/ToolPaint.py:3645 msgid "New tool added to Tool Table." @@ -15043,11 +15243,13 @@ msgstr "Isoler ..." #: appTools/ToolIsolation.py:1654 msgid "Failed to create Follow Geometry with tool diameter" -msgstr "Impossible de créer la géométrie de suivi avec le diamètre de l'outil" +msgstr "" #: appTools/ToolIsolation.py:1657 +#, fuzzy +#| msgid "NCC Tool clearing with tool diameter" msgid "Follow Geometry was created with tool diameter" -msgstr "La géométrie de suivi a été créée avec le diamètre de l'outil" +msgstr "L'outil NCC s'efface avec le diamètre de l'outil" #: appTools/ToolIsolation.py:1698 msgid "Click on a polygon to isolate it." @@ -15060,13 +15262,17 @@ msgstr "Soustraction Geo" #: appTools/ToolIsolation.py:1816 appTools/ToolIsolation.py:1971 #: appTools/ToolIsolation.py:2142 +#, fuzzy +#| msgid "Intersection" msgid "Intersecting Geo" -msgstr "La Géo entrecroisée" +msgstr "Intersection" #: appTools/ToolIsolation.py:1865 appTools/ToolIsolation.py:2032 #: appTools/ToolIsolation.py:2199 +#, fuzzy +#| msgid "Geometry Options" msgid "Empty Geometry in" -msgstr "Géométrie vide dans" +msgstr "Options de Géométrie" #: appTools/ToolIsolation.py:2041 msgid "" @@ -15074,16 +15280,12 @@ msgid "" "But there are still not-isolated geometry elements. Try to include a tool " "with smaller diameter." msgstr "" -"Échec partiel. La géométrie a été traitée avec tous les outils.\n" -"Mais il existe encore des éléments de géométrie non isolés. Essayez " -"d'inclure un outil de plus petit diamètre." #: appTools/ToolIsolation.py:2044 msgid "" "The following are coordinates for the copper features that could not be " "isolated:" msgstr "" -"Voici les coordonnées des entités en cuivre qui n'ont pas pu être isolées:" #: appTools/ToolIsolation.py:2356 appTools/ToolIsolation.py:2465 #: appTools/ToolPaint.py:1535 @@ -15123,8 +15325,8 @@ msgstr "Aucun polygone dans la sélection." msgid "Click the end point of the paint area." msgstr "Cliquez sur le point final de la zone de peinture." -#: appTools/ToolIsolation.py:2916 appTools/ToolNCC.py:4036 -#: appTools/ToolPaint.py:3585 app_Main.py:5320 app_Main.py:5330 +#: appTools/ToolIsolation.py:2945 appTools/ToolNCC.py:4036 +#: appTools/ToolPaint.py:3585 app_Main.py:5353 app_Main.py:5363 msgid "Tool from DB added in Tool Table." msgstr "Outil ajouté a base de données." @@ -15241,20 +15443,28 @@ msgid "NCC Tool. Finished calculation of 'empty' area." msgstr "Outil de la NCC. Terminé le calcul de la zone \"vide\"." #: appTools/ToolNCC.py:2267 +#, fuzzy +#| msgid "Painting polygon with method: lines." msgid "Clearing the polygon with the method: lines." -msgstr "Clearing the polygon with the method: lines." +msgstr "Peinture polygone avec méthode: lignes." #: appTools/ToolNCC.py:2277 +#, fuzzy +#| msgid "Failed. Painting polygon with method: seed." msgid "Failed. Clearing the polygon with the method: seed." -msgstr "Échoué. Effacer le polygone avec la méthode: seed." +msgstr "Échoué. Peinture polygone avec méthode: graine." #: appTools/ToolNCC.py:2286 +#, fuzzy +#| msgid "Failed. Painting polygon with method: standard." msgid "Failed. Clearing the polygon with the method: standard." -msgstr "Échoué. Effacer le polygone avec la méthode: standard." +msgstr "Échoué. Peinture polygone avec méthode: standard." #: appTools/ToolNCC.py:2300 +#, fuzzy +#| msgid "Geometry could not be painted completely" msgid "Geometry could not be cleared completely" -msgstr "La géométrie n'a pas pu être complètement effacée" +msgstr "La géométrie n'a pas pu être peinte complètement" #: appTools/ToolNCC.py:2325 appTools/ToolNCC.py:2327 appTools/ToolNCC.py:2973 #: appTools/ToolNCC.py:2975 @@ -15480,11 +15690,11 @@ msgstr "Ouvrir le PDF annulé" msgid "Parsing PDF file ..." msgstr "Analyse du fichier PDF ..." -#: appTools/ToolPDF.py:138 app_Main.py:8595 +#: appTools/ToolPDF.py:138 app_Main.py:8628 msgid "Failed to open" msgstr "Impossible d'ouvrir" -#: appTools/ToolPDF.py:203 appTools/ToolPcbWizard.py:445 app_Main.py:8544 +#: appTools/ToolPDF.py:203 appTools/ToolPcbWizard.py:445 app_Main.py:8577 msgid "No geometry found in file" msgstr "Aucune géométrie trouvée dans le fichier" @@ -16065,7 +16275,7 @@ msgstr "Fichier PcbWizard .INF chargé." msgid "Main PcbWizard Excellon file loaded." msgstr "Le fichier principal de PcbWizard Excellon est chargé." -#: appTools/ToolPcbWizard.py:424 app_Main.py:8522 +#: appTools/ToolPcbWizard.py:424 app_Main.py:8555 msgid "This is not Excellon file." msgstr "Ce n'est pas un fichier Excellon." @@ -16094,9 +16304,9 @@ msgid "The imported Excellon file is empty." msgstr "Le fichier Excellon importé est Aucun." #: appTools/ToolProperties.py:116 appTools/ToolTransform.py:577 -#: app_Main.py:4693 app_Main.py:6805 app_Main.py:6905 app_Main.py:6946 -#: app_Main.py:6987 app_Main.py:7029 app_Main.py:7071 app_Main.py:7115 -#: app_Main.py:7159 app_Main.py:7683 app_Main.py:7687 +#: app_Main.py:4726 app_Main.py:6838 app_Main.py:6938 app_Main.py:6979 +#: app_Main.py:7020 app_Main.py:7062 app_Main.py:7104 app_Main.py:7148 +#: app_Main.py:7192 app_Main.py:7716 app_Main.py:7720 msgid "No object selected." msgstr "Aucun objet sélectionné." @@ -16336,8 +16546,8 @@ msgstr "Outil QRCode terminé." msgid "Export PNG" msgstr "Exporter en PNG" -#: appTools/ToolQRCode.py:838 appTools/ToolQRCode.py:842 app_Main.py:6837 -#: app_Main.py:6841 +#: appTools/ToolQRCode.py:838 appTools/ToolQRCode.py:842 app_Main.py:6870 +#: app_Main.py:6874 msgid "Export SVG" msgstr "Exporter en SVG" @@ -16564,7 +16774,7 @@ msgstr "Violations: Il n'y a pas de violations pour la règle actuelle." #: appTools/ToolShell.py:59 msgid "Clear the text." -msgstr "Effacez le texte." +msgstr "" #: appTools/ToolShell.py:91 appTools/ToolShell.py:93 msgid "...processing..." @@ -16575,8 +16785,10 @@ msgid "Solder Paste Tool" msgstr "Outil de Pâte à souder" #: appTools/ToolSolderPaste.py:68 +#, fuzzy +#| msgid "Select Soldermask object" msgid "Gerber Solderpaste object." -msgstr "Objet Gerber de pâte à souder." +msgstr "Sélectionner un objet Soldermask" #: appTools/ToolSolderPaste.py:81 msgid "" @@ -16944,7 +17156,7 @@ msgstr "Géométrie d'analyse terminée pour l'ouverture" #: appTools/ToolSub.py:344 msgid "Subtraction aperture processing finished." -msgstr "Le traitement d'ouverture de soustraction est terminé." +msgstr "" #: appTools/ToolSub.py:464 appTools/ToolSub.py:662 msgid "Generating new object ..." @@ -16981,8 +17193,6 @@ msgid "" "The object used as reference.\n" "The used point is the center of it's bounding box." msgstr "" -"L'objet utilisé comme référence.\n" -"Le point utilisé est le centre de sa boîte englobante." #: appTools/ToolTransform.py:728 msgid "No object selected. Please Select an object to rotate!" @@ -17085,7 +17295,7 @@ msgstr "Etes-vous sûr de vouloir changer la langue actuelle en" msgid "Apply Language ..." msgstr "Appliquer la langue ..." -#: appTranslation.py:203 app_Main.py:3152 +#: appTranslation.py:205 app_Main.py:3153 msgid "" "There are files/objects modified in FlatCAM. \n" "Do you want to Save the project?" @@ -17093,19 +17303,19 @@ msgstr "" "Il y a eu des modifications dans FlatCAM.\n" "Voulez-vous enregistrer le projet?" -#: appTranslation.py:206 app_Main.py:3155 app_Main.py:6413 +#: appTranslation.py:208 app_Main.py:3156 app_Main.py:6446 msgid "Save changes" msgstr "Sauvegarder les modifications" -#: app_Main.py:477 +#: app_Main.py:478 msgid "FlatCAM is initializing ..." msgstr "FlatCAM est en cours d'initialisation ..." -#: app_Main.py:621 +#: app_Main.py:622 msgid "Could not find the Language files. The App strings are missing." msgstr "Impossible de trouver les fichiers de languages. Fichiers Absent." -#: app_Main.py:693 +#: app_Main.py:694 msgid "" "FlatCAM is initializing ...\n" "Canvas initialization started." @@ -17113,7 +17323,7 @@ msgstr "" "FlatCAM est en cours d'initialisation ...\n" "Initialisation du Canevas." -#: app_Main.py:713 +#: app_Main.py:714 msgid "" "FlatCAM is initializing ...\n" "Canvas initialization started.\n" @@ -17123,43 +17333,44 @@ msgstr "" "Initialisation du Canevas\n" "Initialisation terminée en" -#: app_Main.py:1559 app_Main.py:6526 +#: app_Main.py:1560 app_Main.py:6559 msgid "New Project - Not saved" msgstr "Nouveau projet - Non enregistré" -#: app_Main.py:1660 +#: app_Main.py:1661 msgid "" "Found old default preferences files. Please reboot the application to update." msgstr "" "Anciens fichiers par défaut trouvés. Veuillez redémarrer pour mettre à jour " "l'application." -#: app_Main.py:1727 +#: app_Main.py:1728 msgid "Open Config file failed." msgstr "Défaut d'ouverture du fichier de configuration." -#: app_Main.py:1742 +#: app_Main.py:1743 msgid "Open Script file failed." msgstr "Défaut d'ouverture du fichier Script." -#: app_Main.py:1768 +#: app_Main.py:1769 msgid "Open Excellon file failed." msgstr "Défaut d'ouverture du fichier Excellon." -#: app_Main.py:1781 +#: app_Main.py:1782 msgid "Open GCode file failed." msgstr "Défaut d'ouverture du fichier G-code." -#: app_Main.py:1794 +#: app_Main.py:1795 msgid "Open Gerber file failed." msgstr "Défaut d'ouverture du fichier Gerber." -#: app_Main.py:2117 +#: app_Main.py:2118 +#, fuzzy +#| msgid "Select a Geometry, Gerber or Excellon Object to edit." msgid "Select a Geometry, Gerber, Excellon or CNCJob Object to edit." -msgstr "" -"Sélectionnez une Géométrie, Gerber, Excellon ou un objet CNCJob à modifier." +msgstr "Sélectionnez l'objet, Gerber ou Excellon à modifier." -#: app_Main.py:2132 +#: app_Main.py:2133 msgid "" "Simultaneous editing of tools geometry in a MultiGeo Geometry is not " "possible.\n" @@ -17168,91 +17379,91 @@ msgstr "" "L'édition simultanée de plusieurs géométrie n'est pas possible.\n" "Modifiez une seule géométrie à la fois." -#: app_Main.py:2198 +#: app_Main.py:2199 msgid "Editor is activated ..." msgstr "Editeur activé ..." -#: app_Main.py:2219 +#: app_Main.py:2220 msgid "Do you want to save the edited object?" msgstr "Voulez-vous enregistrer l'objet ?" -#: app_Main.py:2255 +#: app_Main.py:2256 msgid "Object empty after edit." msgstr "Objet vide après édition." -#: app_Main.py:2260 app_Main.py:2278 app_Main.py:2297 +#: app_Main.py:2261 app_Main.py:2279 app_Main.py:2298 msgid "Editor exited. Editor content saved." msgstr "Sortie de l'éditeur. Contenu enregistré." -#: app_Main.py:2301 app_Main.py:2325 app_Main.py:2343 +#: app_Main.py:2302 app_Main.py:2326 app_Main.py:2344 msgid "Select a Gerber, Geometry or Excellon Object to update." msgstr "Sélectionnez l'objet Géométrie, Gerber, ou Excellon à mettre à jour." -#: app_Main.py:2304 +#: app_Main.py:2305 msgid "is updated, returning to App..." msgstr "est mis à jour, Retour au programme..." -#: app_Main.py:2311 +#: app_Main.py:2312 msgid "Editor exited. Editor content was not saved." msgstr "Sortie de l'editeur. Contenu non enregistré." -#: app_Main.py:2444 app_Main.py:2448 +#: app_Main.py:2445 app_Main.py:2449 msgid "Import FlatCAM Preferences" msgstr "Importer les paramètres FlatCAM" -#: app_Main.py:2459 +#: app_Main.py:2460 msgid "Imported Defaults from" msgstr "Valeurs par défaut importées de" -#: app_Main.py:2479 app_Main.py:2485 +#: app_Main.py:2480 app_Main.py:2486 msgid "Export FlatCAM Preferences" msgstr "Exporter les paramètres FlatCAM" -#: app_Main.py:2505 +#: app_Main.py:2506 msgid "Exported preferences to" msgstr "Paramètres exportées vers" -#: app_Main.py:2525 app_Main.py:2530 +#: app_Main.py:2526 app_Main.py:2531 msgid "Save to file" msgstr "Enregistrer dans un fichier" -#: app_Main.py:2554 +#: app_Main.py:2555 msgid "Could not load the file." msgstr "Chargement du fichier Impossible." -#: app_Main.py:2570 +#: app_Main.py:2571 msgid "Exported file to" msgstr "Fichier exporté vers" -#: app_Main.py:2607 +#: app_Main.py:2608 msgid "Failed to open recent files file for writing." msgstr "Échec d'ouverture du fichier en écriture." -#: app_Main.py:2618 +#: app_Main.py:2619 msgid "Failed to open recent projects file for writing." msgstr "Échec d'ouverture des fichiers de projets en écriture." -#: app_Main.py:2673 +#: app_Main.py:2674 msgid "2D Computer-Aided Printed Circuit Board Manufacturing" msgstr "Fabrication de dessin de circuits imprimés 2D assistées par ordinateur" -#: app_Main.py:2674 +#: app_Main.py:2675 msgid "Development" msgstr "Développement" -#: app_Main.py:2675 +#: app_Main.py:2676 msgid "DOWNLOAD" msgstr "TÉLÉCHARGER" -#: app_Main.py:2676 +#: app_Main.py:2677 msgid "Issue tracker" msgstr "Traqueur d'incidents" -#: app_Main.py:2695 +#: app_Main.py:2696 msgid "Licensed under the MIT license" msgstr "Sous licence MIT" -#: app_Main.py:2704 +#: app_Main.py:2705 msgid "" "Permission is hereby granted, free of charge, to any person obtaining a " "copy\n" @@ -17305,7 +17516,15 @@ msgstr "" "OU \n" "D'AUTRES OPÉRATIONS DANS LE LOGICIEL.LES LOGICIELS." -#: app_Main.py:2726 +#: app_Main.py:2727 +#, fuzzy +#| msgid "" +#| "Some of the icons used are from the following sources:

Icons by " +#| "Freepik from www.flaticon.com
Icons by Icons8
Icons by oNline Web Fonts" msgid "" "Some of the icons used are from the following sources:
Icons by Freepik Freepik . à partir de www.flaticon.com
Icônes de Icons8
Icônes de " -"oNline Web Fonts
Icônes de " -"Pixel perfect à partir dewww.flaticon.com
" +"oNline Web Fonts" -#: app_Main.py:2762 +#: app_Main.py:2763 msgid "Splash" msgstr "A Propos" -#: app_Main.py:2768 +#: app_Main.py:2769 msgid "Programmers" msgstr "Programmeurs" -#: app_Main.py:2774 +#: app_Main.py:2775 msgid "Translators" msgstr "Traducteurs" -#: app_Main.py:2780 +#: app_Main.py:2781 msgid "License" msgstr "Licence" -#: app_Main.py:2786 +#: app_Main.py:2787 msgid "Attributions" msgstr "Attributions" -#: app_Main.py:2809 +#: app_Main.py:2810 msgid "Programmer" msgstr "Programmeur" -#: app_Main.py:2810 +#: app_Main.py:2811 msgid "Status" msgstr "Statut" -#: app_Main.py:2811 app_Main.py:2891 +#: app_Main.py:2812 app_Main.py:2892 msgid "E-mail" msgstr "Email" -#: app_Main.py:2814 +#: app_Main.py:2815 msgid "Program Author" msgstr "Auteur du programme" -#: app_Main.py:2819 +#: app_Main.py:2820 msgid "BETA Maintainer >= 2019" msgstr "Mainteneur BETA> = 2019" -#: app_Main.py:2888 +#: app_Main.py:2889 msgid "Language" msgstr "Langue" -#: app_Main.py:2889 +#: app_Main.py:2890 msgid "Translator" msgstr "Traducteur" -#: app_Main.py:2890 +#: app_Main.py:2891 msgid "Corrections" msgstr "Corrections" -#: app_Main.py:2964 +#: app_Main.py:2965 +#, fuzzy +#| msgid "Transformations" msgid "Important Information's" -msgstr "Informations importantes" +msgstr "Changement d'échelle" -#: app_Main.py:3112 +#: app_Main.py:3113 msgid "" "This entry will resolve to another website if:\n" "\n" @@ -17402,28 +17620,28 @@ msgstr "" "Si vous ne pouvez pas obtenir d'informations sur FlatCAM beta\n" "utilisez le lien de chaîne YouTube dans le menu Aide." -#: app_Main.py:3119 +#: app_Main.py:3120 msgid "Alternative website" msgstr "Site alternatif" -#: app_Main.py:3422 +#: app_Main.py:3455 msgid "Selected Excellon file extensions registered with FlatCAM." msgstr "Extensions de fichier Excellon sélectionnées enregistrées." -#: app_Main.py:3444 +#: app_Main.py:3477 msgid "Selected GCode file extensions registered with FlatCAM." msgstr "Extensions de fichier GCode sélectionnées enregistrées." -#: app_Main.py:3466 +#: app_Main.py:3499 msgid "Selected Gerber file extensions registered with FlatCAM." msgstr "Extensions de fichiers Gerber sélectionnées enregistrées." -#: app_Main.py:3654 app_Main.py:3713 app_Main.py:3741 +#: app_Main.py:3687 app_Main.py:3746 app_Main.py:3774 msgid "At least two objects are required for join. Objects currently selected" msgstr "" "Deux objets sont requis pour etre joint. Objets actuellement sélectionnés" -#: app_Main.py:3663 +#: app_Main.py:3696 msgid "" "Failed join. The Geometry objects are of different types.\n" "At least one is MultiGeo type and the other is SingleGeo type. A possibility " @@ -17440,47 +17658,47 @@ msgstr "" "inattendu \n" "Vérifiez le GCODE généré." -#: app_Main.py:3675 app_Main.py:3685 +#: app_Main.py:3708 app_Main.py:3718 msgid "Geometry merging finished" msgstr "Fusion de la géométrie terminée" -#: app_Main.py:3708 +#: app_Main.py:3741 msgid "Failed. Excellon joining works only on Excellon objects." msgstr "Érreur. Excellon ne travaille que sur des objets Excellon." -#: app_Main.py:3718 +#: app_Main.py:3751 msgid "Excellon merging finished" msgstr "Fusion Excellon terminée" -#: app_Main.py:3736 +#: app_Main.py:3769 msgid "Failed. Gerber joining works only on Gerber objects." msgstr "Érreur. Les jonctions Gerber ne fonctionne que sur des objets Gerber." -#: app_Main.py:3746 +#: app_Main.py:3779 msgid "Gerber merging finished" msgstr "Fusion Gerber terminée" -#: app_Main.py:3766 app_Main.py:3803 +#: app_Main.py:3799 app_Main.py:3836 msgid "Failed. Select a Geometry Object and try again." msgstr "Érreur. Sélectionnez un objet de géométrie et réessayez." -#: app_Main.py:3770 app_Main.py:3808 +#: app_Main.py:3803 app_Main.py:3841 msgid "Expected a GeometryObject, got" msgstr "Érreur. Sélectionnez un objet de géométrie et réessayez" -#: app_Main.py:3785 +#: app_Main.py:3818 msgid "A Geometry object was converted to MultiGeo type." msgstr "Un objet Géométrie a été converti au format MultiGeo." -#: app_Main.py:3823 +#: app_Main.py:3856 msgid "A Geometry object was converted to SingleGeo type." msgstr "L'objet Géométrie a été converti au format SingleGeo." -#: app_Main.py:4030 +#: app_Main.py:4063 msgid "Toggle Units" msgstr "Changement d'unités" -#: app_Main.py:4034 +#: app_Main.py:4067 msgid "" "Changing the units of the project\n" "will scale all objects.\n" @@ -17492,28 +17710,32 @@ msgstr "" "\n" "Voulez-vous continuer?" -#: app_Main.py:4037 app_Main.py:4224 app_Main.py:4307 app_Main.py:6811 -#: app_Main.py:6827 app_Main.py:7165 app_Main.py:7177 +#: app_Main.py:4070 app_Main.py:4257 app_Main.py:4340 app_Main.py:6844 +#: app_Main.py:6860 app_Main.py:7198 app_Main.py:7210 msgid "Ok" msgstr "D'accord" -#: app_Main.py:4087 +#: app_Main.py:4120 msgid "Converted units to" msgstr "Unités converties en" -#: app_Main.py:4122 +#: app_Main.py:4155 msgid "Detachable Tabs" msgstr "Onglets détachables" -#: app_Main.py:4151 +#: app_Main.py:4184 +#, fuzzy +#| msgid "Workspace Settings" msgid "Workspace enabled." -msgstr "Espace de travail activé." +msgstr "Paramètres de l'espace de travail" -#: app_Main.py:4154 +#: app_Main.py:4187 +#, fuzzy +#| msgid "Workspace Settings" msgid "Workspace disabled." -msgstr "Espace de travail désactivé." +msgstr "Paramètres de l'espace de travail" -#: app_Main.py:4218 +#: app_Main.py:4251 msgid "" "Adding Tool works only when Advanced is checked.\n" "Go to Preferences -> General - Show Advanced Options." @@ -17521,11 +17743,11 @@ msgstr "" "L'ajout d'outil ne fonctionne que lorsque l'option Avancé est cochée.\n" "Allez dans Paramètres -> Général - Afficher les options avancées." -#: app_Main.py:4300 +#: app_Main.py:4333 msgid "Delete objects" msgstr "Supprimer des objets" -#: app_Main.py:4305 +#: app_Main.py:4338 msgid "" "Are you sure you want to permanently delete\n" "the selected objects?" @@ -17533,87 +17755,87 @@ msgstr "" "Êtes-vous sûr de vouloir supprimer définitivement\n" "les objets sélectionnés?" -#: app_Main.py:4349 +#: app_Main.py:4382 msgid "Object(s) deleted" msgstr "Objets supprimés" -#: app_Main.py:4353 +#: app_Main.py:4386 msgid "Save the work in Editor and try again ..." msgstr "Enregistrez le travail de l'éditeur et réessayez ..." -#: app_Main.py:4382 +#: app_Main.py:4415 msgid "Object deleted" msgstr "Objet supprimé" -#: app_Main.py:4409 +#: app_Main.py:4442 msgid "Click to set the origin ..." msgstr "Cliquez pour définir l'origine ..." -#: app_Main.py:4431 +#: app_Main.py:4464 msgid "Setting Origin..." msgstr "Réglage de l'Origine ..." -#: app_Main.py:4444 app_Main.py:4546 +#: app_Main.py:4477 app_Main.py:4579 msgid "Origin set" msgstr "Réglage de l'origine effectué" -#: app_Main.py:4461 +#: app_Main.py:4494 msgid "Origin coordinates specified but incomplete." msgstr "Coordonnées d'origine spécifiées mais incomplètes." -#: app_Main.py:4502 +#: app_Main.py:4535 msgid "Moving to Origin..." msgstr "Déplacement vers l'origine ..." -#: app_Main.py:4583 +#: app_Main.py:4616 msgid "Jump to ..." msgstr "Sauter à ..." -#: app_Main.py:4584 +#: app_Main.py:4617 msgid "Enter the coordinates in format X,Y:" msgstr "Entrez les coordonnées au format X, Y:" -#: app_Main.py:4594 +#: app_Main.py:4627 msgid "Wrong coordinates. Enter coordinates in format: X,Y" msgstr "Mauvaises coordonnées. Entrez les coordonnées au format: X, Y" -#: app_Main.py:4712 +#: app_Main.py:4745 msgid "Bottom-Left" msgstr "En bas à gauche" -#: app_Main.py:4715 +#: app_Main.py:4748 msgid "Top-Right" msgstr "En haut à droite" -#: app_Main.py:4736 +#: app_Main.py:4769 msgid "Locate ..." msgstr "Localiser ..." -#: app_Main.py:5009 app_Main.py:5086 +#: app_Main.py:5042 app_Main.py:5119 msgid "No object is selected. Select an object and try again." msgstr "Aucun objet n'est sélectionné. Sélectionnez un objet et réessayez." -#: app_Main.py:5112 +#: app_Main.py:5145 msgid "" "Aborting. The current task will be gracefully closed as soon as possible..." msgstr "Abandon de la tâche en cours si possible ..." -#: app_Main.py:5118 +#: app_Main.py:5151 msgid "The current task was gracefully closed on user request..." msgstr "" "La tâche en cours a été fermée avec succès à la demande de l'utilisateur ..." -#: app_Main.py:5293 +#: app_Main.py:5326 msgid "Tools in Tools Database edited but not saved." msgstr "La base de données outils a été modifiés mais pas enregistrés." -#: app_Main.py:5332 +#: app_Main.py:5365 msgid "Adding tool from DB is not allowed for this object." msgstr "" "L'ajout d'outil à partir de la base de données n'est pas autorisé pour cet " "objet." -#: app_Main.py:5350 +#: app_Main.py:5383 msgid "" "One or more Tools are edited.\n" "Do you want to update the Tools Database?" @@ -17621,113 +17843,113 @@ msgstr "" "Un ou plusieurs outils ont été modifiés.\n" "Voulez-vous mettre à jour la base de données?" -#: app_Main.py:5352 +#: app_Main.py:5385 msgid "Save Tools Database" msgstr "Enregistrement de la base de données d'outils" -#: app_Main.py:5406 +#: app_Main.py:5439 msgid "No object selected to Flip on Y axis." msgstr "Aucun objet sélectionné pour basculer sur l’axe Y." -#: app_Main.py:5432 +#: app_Main.py:5465 msgid "Flip on Y axis done." msgstr "Rotation sur l'axe des Y effectué." -#: app_Main.py:5454 +#: app_Main.py:5487 msgid "No object selected to Flip on X axis." msgstr "Aucun objet sélectionné pour basculer sur l’axe X." -#: app_Main.py:5480 +#: app_Main.py:5513 msgid "Flip on X axis done." msgstr "Rotation sur l'axe des X effectué." -#: app_Main.py:5502 +#: app_Main.py:5535 msgid "No object selected to Rotate." msgstr "Aucun objet sélectionné pour faire pivoter." -#: app_Main.py:5505 app_Main.py:5556 app_Main.py:5593 +#: app_Main.py:5538 app_Main.py:5589 app_Main.py:5626 msgid "Transform" msgstr "Transformer" -#: app_Main.py:5505 app_Main.py:5556 app_Main.py:5593 +#: app_Main.py:5538 app_Main.py:5589 app_Main.py:5626 msgid "Enter the Angle value:" msgstr "Entrez la valeur de l'angle:" -#: app_Main.py:5535 +#: app_Main.py:5568 msgid "Rotation done." msgstr "Rotation effectuée." -#: app_Main.py:5537 +#: app_Main.py:5570 msgid "Rotation movement was not executed." msgstr "Le mouvement de rotation n'a pas été exécuté." -#: app_Main.py:5554 +#: app_Main.py:5587 msgid "No object selected to Skew/Shear on X axis." msgstr "Aucun objet sélectionné pour incliner/cisailler sur l'axe X." -#: app_Main.py:5575 +#: app_Main.py:5608 msgid "Skew on X axis done." msgstr "Inclinaison sur l'axe X terminée." -#: app_Main.py:5591 +#: app_Main.py:5624 msgid "No object selected to Skew/Shear on Y axis." msgstr "Aucun objet sélectionné pour incliner/cisailler sur l'axe Y." -#: app_Main.py:5612 +#: app_Main.py:5645 msgid "Skew on Y axis done." msgstr "Inclinaison sur l'axe des Y effectué." -#: app_Main.py:5690 +#: app_Main.py:5723 msgid "New Grid ..." msgstr "Nouvelle grille ..." -#: app_Main.py:5691 +#: app_Main.py:5724 msgid "Enter a Grid Value:" msgstr "Entrez une valeur de grille:" -#: app_Main.py:5699 app_Main.py:5723 +#: app_Main.py:5732 app_Main.py:5756 msgid "Please enter a grid value with non-zero value, in Float format." msgstr "" "Veuillez entrer une valeur de grille avec une valeur non nulle, au format " "réel." -#: app_Main.py:5704 +#: app_Main.py:5737 msgid "New Grid added" msgstr "Nouvelle grille ajoutée" -#: app_Main.py:5706 +#: app_Main.py:5739 msgid "Grid already exists" msgstr "La grille existe déjà" -#: app_Main.py:5708 +#: app_Main.py:5741 msgid "Adding New Grid cancelled" msgstr "Ajout d'une nouvelle grille annulée" -#: app_Main.py:5729 +#: app_Main.py:5762 msgid " Grid Value does not exist" msgstr " Valeur de la grille n'existe pas" -#: app_Main.py:5731 +#: app_Main.py:5764 msgid "Grid Value deleted" msgstr "Valeur de grille supprimée" -#: app_Main.py:5733 +#: app_Main.py:5766 msgid "Delete Grid value cancelled" msgstr "Suppression valeur de grille annulée" -#: app_Main.py:5739 +#: app_Main.py:5772 msgid "Key Shortcut List" msgstr "Liste de raccourcis clavier" -#: app_Main.py:5773 +#: app_Main.py:5806 msgid " No object selected to copy it's name" msgstr " Aucun objet sélectionné pour copier son nom" -#: app_Main.py:5777 +#: app_Main.py:5810 msgid "Name copied on clipboard ..." msgstr "Nom copié dans le presse-papiers ..." -#: app_Main.py:6410 +#: app_Main.py:6443 msgid "" "There are files/objects opened in FlatCAM.\n" "Creating a New project will delete them.\n" @@ -17737,12 +17959,12 @@ msgstr "" "La création d'un nouveau projet les supprimera.\n" "Voulez-vous enregistrer le projet?" -#: app_Main.py:6433 +#: app_Main.py:6466 msgid "New Project created" msgstr "Nouveau projet" -#: app_Main.py:6605 app_Main.py:6644 app_Main.py:6688 app_Main.py:6758 -#: app_Main.py:7552 app_Main.py:8765 app_Main.py:8827 +#: app_Main.py:6638 app_Main.py:6677 app_Main.py:6721 app_Main.py:6791 +#: app_Main.py:7585 app_Main.py:8798 app_Main.py:8860 msgid "" "Canvas initialization started.\n" "Canvas initialization finished in" @@ -17750,293 +17972,293 @@ msgstr "" "Initialisation du canevas commencé.\n" "Initialisation du canevas terminée en" -#: app_Main.py:6607 +#: app_Main.py:6640 msgid "Opening Gerber file." msgstr "Ouvrir le fichier Gerber." -#: app_Main.py:6646 +#: app_Main.py:6679 msgid "Opening Excellon file." msgstr "Ouverture du fichier Excellon." -#: app_Main.py:6677 app_Main.py:6682 +#: app_Main.py:6710 app_Main.py:6715 msgid "Open G-Code" msgstr "Ouvrir G-code" -#: app_Main.py:6690 +#: app_Main.py:6723 msgid "Opening G-Code file." msgstr "Ouverture du fichier G-Code." -#: app_Main.py:6749 app_Main.py:6753 +#: app_Main.py:6782 app_Main.py:6786 msgid "Open HPGL2" msgstr "Ouvrir HPGL2" -#: app_Main.py:6760 +#: app_Main.py:6793 msgid "Opening HPGL2 file." msgstr "Ouverture de fichier HPGL2." -#: app_Main.py:6783 app_Main.py:6786 +#: app_Main.py:6816 app_Main.py:6819 msgid "Open Configuration File" msgstr "Ouvrir Fichier de configuration" -#: app_Main.py:6806 app_Main.py:7160 +#: app_Main.py:6839 app_Main.py:7193 msgid "Please Select a Geometry object to export" msgstr "Sélectionner un objet de géométrie à exporter" -#: app_Main.py:6822 +#: app_Main.py:6855 msgid "Only Geometry, Gerber and CNCJob objects can be used." msgstr "Seuls les objets Géométrie, Gerber et CNCJob peuvent être utilisés." -#: app_Main.py:6867 +#: app_Main.py:6900 msgid "Data must be a 3D array with last dimension 3 or 4" msgstr "" "Les données doivent être un tableau 3D avec la dernière dimension 3 ou 4" -#: app_Main.py:6873 app_Main.py:6877 +#: app_Main.py:6906 app_Main.py:6910 msgid "Export PNG Image" msgstr "Exporter une image PNG" -#: app_Main.py:6910 app_Main.py:7120 +#: app_Main.py:6943 app_Main.py:7153 msgid "Failed. Only Gerber objects can be saved as Gerber files..." msgstr "" "Érreur. Seuls les objets Gerber peuvent être enregistrés en tant que " "fichiers Gerber ..." -#: app_Main.py:6922 +#: app_Main.py:6955 msgid "Save Gerber source file" msgstr "Enregistrer le fichier source Gerber" -#: app_Main.py:6951 +#: app_Main.py:6984 msgid "Failed. Only Script objects can be saved as TCL Script files..." msgstr "" "Érreur. Seuls les objets de script peuvent être enregistrés en tant que " "fichiers de script TCL ..." -#: app_Main.py:6963 +#: app_Main.py:6996 msgid "Save Script source file" msgstr "Enregistrer le fichier source du script" -#: app_Main.py:6992 +#: app_Main.py:7025 msgid "Failed. Only Document objects can be saved as Document files..." msgstr "" "Échoué. Seuls les objets Document peuvent être enregistrés en tant que " "fichiers Document ..." -#: app_Main.py:7004 +#: app_Main.py:7037 msgid "Save Document source file" msgstr "Enregistrer le fichier source du document" -#: app_Main.py:7034 app_Main.py:7076 app_Main.py:8035 +#: app_Main.py:7067 app_Main.py:7109 app_Main.py:8068 msgid "Failed. Only Excellon objects can be saved as Excellon files..." msgstr "" "Érreur. Seuls les objets Excellon peuvent être enregistrés en tant que " "fichiers Excellon ..." -#: app_Main.py:7042 app_Main.py:7047 +#: app_Main.py:7075 app_Main.py:7080 msgid "Save Excellon source file" msgstr "Enregistrer le fichier source Excellon" -#: app_Main.py:7084 app_Main.py:7088 +#: app_Main.py:7117 app_Main.py:7121 msgid "Export Excellon" msgstr "Exporter Excellon" -#: app_Main.py:7128 app_Main.py:7132 +#: app_Main.py:7161 app_Main.py:7165 msgid "Export Gerber" msgstr "Export Gerber" -#: app_Main.py:7172 +#: app_Main.py:7205 msgid "Only Geometry objects can be used." msgstr "Seuls les objets de géométrie peuvent être utilisés." -#: app_Main.py:7188 app_Main.py:7192 +#: app_Main.py:7221 app_Main.py:7225 msgid "Export DXF" msgstr "Exportation DXF" -#: app_Main.py:7217 app_Main.py:7220 +#: app_Main.py:7250 app_Main.py:7253 msgid "Import SVG" msgstr "Importer SVG" -#: app_Main.py:7248 app_Main.py:7252 +#: app_Main.py:7281 app_Main.py:7285 msgid "Import DXF" msgstr "Importation DXF" -#: app_Main.py:7302 +#: app_Main.py:7335 msgid "Viewing the source code of the selected object." msgstr "Affichage du code source de l'objet sélectionné." -#: app_Main.py:7309 app_Main.py:7313 +#: app_Main.py:7342 app_Main.py:7346 msgid "Select an Gerber or Excellon file to view it's source file." msgstr "" "Sélectionnez un fichier Gerber ou Excellon pour afficher son fichier source." -#: app_Main.py:7327 +#: app_Main.py:7360 msgid "Source Editor" msgstr "Éditeur de source" -#: app_Main.py:7367 app_Main.py:7374 +#: app_Main.py:7400 app_Main.py:7407 msgid "There is no selected object for which to see it's source file code." msgstr "Il n'y a pas d'objet sélectionné auxquelles voir son code source." -#: app_Main.py:7386 +#: app_Main.py:7419 msgid "Failed to load the source code for the selected object" msgstr "Échec du chargement du code source pour l'objet sélectionné" -#: app_Main.py:7422 +#: app_Main.py:7455 msgid "Go to Line ..." msgstr "Aller à la ligne ..." -#: app_Main.py:7423 +#: app_Main.py:7456 msgid "Line:" msgstr "Ligne:" -#: app_Main.py:7450 +#: app_Main.py:7483 msgid "New TCL script file created in Code Editor." msgstr "Nouveau fichier de script TCL créé dans l'éditeur de code." -#: app_Main.py:7486 app_Main.py:7488 app_Main.py:7524 app_Main.py:7526 +#: app_Main.py:7519 app_Main.py:7521 app_Main.py:7557 app_Main.py:7559 msgid "Open TCL script" msgstr "Ouvrir le script TCL" -#: app_Main.py:7554 +#: app_Main.py:7587 msgid "Executing ScriptObject file." msgstr "Exécution du fichier ScriptObject." -#: app_Main.py:7562 app_Main.py:7565 +#: app_Main.py:7595 app_Main.py:7598 msgid "Run TCL script" msgstr "Exécuter le script TCL" -#: app_Main.py:7588 +#: app_Main.py:7621 msgid "TCL script file opened in Code Editor and executed." msgstr "Fichier de script TCL ouvert dans l'éditeur de code exécuté." -#: app_Main.py:7639 app_Main.py:7645 +#: app_Main.py:7672 app_Main.py:7678 msgid "Save Project As ..." msgstr "Enregistrer le projet sous ..." -#: app_Main.py:7680 +#: app_Main.py:7713 msgid "FlatCAM objects print" msgstr "Impression d'objets FlatCAM" -#: app_Main.py:7693 app_Main.py:7700 +#: app_Main.py:7726 app_Main.py:7733 msgid "Save Object as PDF ..." msgstr "Enregistrement au format PDF ...Enregistrer le projet sous ..." -#: app_Main.py:7709 +#: app_Main.py:7742 msgid "Printing PDF ... Please wait." msgstr "Impression du PDF ... Veuillez patienter." -#: app_Main.py:7888 +#: app_Main.py:7921 msgid "PDF file saved to" msgstr "Fichier PDF enregistré dans" -#: app_Main.py:7913 +#: app_Main.py:7946 msgid "Exporting SVG" msgstr "Exporter du SVG" -#: app_Main.py:7956 +#: app_Main.py:7989 msgid "SVG file exported to" msgstr "Fichier SVG exporté vers" -#: app_Main.py:7982 +#: app_Main.py:8015 msgid "" "Save cancelled because source file is empty. Try to export the Gerber file." msgstr "" "Enregistrement annulé car le fichier source est vide. Essayez d'exporter le " "fichier Gerber." -#: app_Main.py:8129 +#: app_Main.py:8162 msgid "Excellon file exported to" msgstr "Fichier Excellon exporté vers" -#: app_Main.py:8138 +#: app_Main.py:8171 msgid "Exporting Excellon" msgstr "Exporter Excellon" -#: app_Main.py:8143 app_Main.py:8150 +#: app_Main.py:8176 app_Main.py:8183 msgid "Could not export Excellon file." msgstr "Impossible d'exporter le fichier Excellon." -#: app_Main.py:8265 +#: app_Main.py:8298 msgid "Gerber file exported to" msgstr "Fichier Gerber exporté vers" -#: app_Main.py:8273 +#: app_Main.py:8306 msgid "Exporting Gerber" msgstr "Exporter Gerber" -#: app_Main.py:8278 app_Main.py:8285 +#: app_Main.py:8311 app_Main.py:8318 msgid "Could not export Gerber file." msgstr "Impossible d'exporter le fichier Gerber." -#: app_Main.py:8320 +#: app_Main.py:8353 msgid "DXF file exported to" msgstr "Fichier DXF exporté vers" -#: app_Main.py:8326 +#: app_Main.py:8359 msgid "Exporting DXF" msgstr "Exportation DXF" -#: app_Main.py:8331 app_Main.py:8338 +#: app_Main.py:8364 app_Main.py:8371 msgid "Could not export DXF file." msgstr "Impossible d'exporter le fichier DXF." -#: app_Main.py:8372 +#: app_Main.py:8405 msgid "Importing SVG" msgstr "Importer du SVG" -#: app_Main.py:8380 app_Main.py:8426 +#: app_Main.py:8413 app_Main.py:8459 msgid "Import failed." msgstr "L'importation a échoué." -#: app_Main.py:8418 +#: app_Main.py:8451 msgid "Importing DXF" msgstr "Importation de DXF" -#: app_Main.py:8459 app_Main.py:8654 app_Main.py:8719 +#: app_Main.py:8492 app_Main.py:8687 app_Main.py:8752 msgid "Failed to open file" msgstr "Échec à l'ouverture du fichier" -#: app_Main.py:8462 app_Main.py:8657 app_Main.py:8722 +#: app_Main.py:8495 app_Main.py:8690 app_Main.py:8755 msgid "Failed to parse file" msgstr "Échec de l'analyse du fichier" -#: app_Main.py:8474 +#: app_Main.py:8507 msgid "Object is not Gerber file or empty. Aborting object creation." msgstr "" "L'objet n'est pas un fichier Gerber ou vide. Abandon de la création d'objet." -#: app_Main.py:8479 +#: app_Main.py:8512 msgid "Opening Gerber" msgstr "Ouverture Gerber" -#: app_Main.py:8490 +#: app_Main.py:8523 msgid "Open Gerber failed. Probable not a Gerber file." msgstr "Ouverture Gerber échoué. Probablement pas un fichier Gerber." -#: app_Main.py:8526 +#: app_Main.py:8559 msgid "Cannot open file" msgstr "Ne peut pas ouvrir le fichier" -#: app_Main.py:8547 +#: app_Main.py:8580 msgid "Opening Excellon." msgstr "Ouverture Excellon." -#: app_Main.py:8557 +#: app_Main.py:8590 msgid "Open Excellon file failed. Probable not an Excellon file." msgstr "Ouverture Excellon échoué. Probablement pas un fichier Excellon." -#: app_Main.py:8589 +#: app_Main.py:8622 msgid "Reading GCode file" msgstr "Lecture du fichier GCode" -#: app_Main.py:8602 +#: app_Main.py:8635 msgid "This is not GCODE" msgstr "Ce n'est pas du GCODE" -#: app_Main.py:8607 +#: app_Main.py:8640 msgid "Opening G-Code." msgstr "Ouverture G-Code." -#: app_Main.py:8620 +#: app_Main.py:8653 msgid "" "Failed to create CNCJob Object. Probable not a GCode file. Try to load it " "from File menu.\n" @@ -18048,122 +18270,135 @@ msgstr "" "La tentative de création d'un objet FlatCAM CNCJob à partir d'un fichier G-" "Code a échoué pendant le traitement" -#: app_Main.py:8676 +#: app_Main.py:8709 msgid "Object is not HPGL2 file or empty. Aborting object creation." msgstr "Objet vide ou non HPGL2. Abandon de la création d'objet." -#: app_Main.py:8681 +#: app_Main.py:8714 msgid "Opening HPGL2" msgstr "Ouverture HPGL2" -#: app_Main.py:8688 +#: app_Main.py:8721 msgid " Open HPGL2 failed. Probable not a HPGL2 file." msgstr " Ouverture HPGL2 échoué. Probablement pas un fichier HPGL2 ." -#: app_Main.py:8714 +#: app_Main.py:8747 msgid "TCL script file opened in Code Editor." msgstr "Fichier de script TCL ouvert dans l'éditeur de code." -#: app_Main.py:8734 +#: app_Main.py:8767 msgid "Opening TCL Script..." msgstr "Ouverture du script TCL ..." -#: app_Main.py:8745 +#: app_Main.py:8778 msgid "Failed to open TCL Script." msgstr "Impossible d'ouvrir le script TCL." -#: app_Main.py:8767 +#: app_Main.py:8800 msgid "Opening FlatCAM Config file." msgstr "Ouverture du fichier de configuration FlatCAM." -#: app_Main.py:8795 +#: app_Main.py:8828 msgid "Failed to open config file" msgstr "Impossible d'ouvrir le fichier de configuration" -#: app_Main.py:8824 +#: app_Main.py:8857 msgid "Loading Project ... Please Wait ..." msgstr "Chargement du projet ... Veuillez patienter ..." -#: app_Main.py:8829 +#: app_Main.py:8862 msgid "Opening FlatCAM Project file." msgstr "Ouverture du fichier de projet FlatCAM." -#: app_Main.py:8844 app_Main.py:8848 app_Main.py:8865 +#: app_Main.py:8877 app_Main.py:8881 app_Main.py:8898 msgid "Failed to open project file" msgstr "Impossible d'ouvrir le fichier de projet" -#: app_Main.py:8902 +#: app_Main.py:8935 msgid "Loading Project ... restoring" msgstr "Chargement du projet ... en cours de restauration" -#: app_Main.py:8912 +#: app_Main.py:8945 msgid "Project loaded from" msgstr "Projet chargé à partir de" -#: app_Main.py:8938 +#: app_Main.py:8971 msgid "Redrawing all objects" msgstr "Redessiner tous les objets" -#: app_Main.py:9026 +#: app_Main.py:9059 msgid "Failed to load recent item list." msgstr "Échec du chargement des éléments récents." -#: app_Main.py:9033 +#: app_Main.py:9066 msgid "Failed to parse recent item list." msgstr "Échec d'analyse des éléments récents." -#: app_Main.py:9043 +#: app_Main.py:9076 msgid "Failed to load recent projects item list." msgstr "Échec du chargement des éléments des projets récents." -#: app_Main.py:9050 +#: app_Main.py:9083 msgid "Failed to parse recent project item list." msgstr "Échec de l'analyse de la liste des éléments de projet récents." -#: app_Main.py:9111 +#: app_Main.py:9144 msgid "Clear Recent projects" msgstr "Effacer les projets récents" -#: app_Main.py:9135 +#: app_Main.py:9168 msgid "Clear Recent files" msgstr "Effacer les fichiers récents" -#: app_Main.py:9237 +#: app_Main.py:9270 msgid "Selected Tab - Choose an Item from Project Tab" msgstr "" "Onglet sélection - \n" "Choisissez un élément dans l'onglet Projet" -#: app_Main.py:9238 +#: app_Main.py:9271 msgid "Details" msgstr "Détails" -#: app_Main.py:9240 +#: app_Main.py:9273 +#, fuzzy +#| msgid "The normal flow when working in FlatCAM is the following:" msgid "The normal flow when working with the application is the following:" -msgstr "" -"Le flux normal lorsque vous travaillez avec l'application est le suivant:" +msgstr "Chronologie de travaille dans FlatCAM:" -#: app_Main.py:9241 +#: app_Main.py:9274 +#, fuzzy +#| msgid "" +#| "Load/Import a Gerber, Excellon, Gcode, DXF, Raster Image or SVG file into " +#| "FlatCAM using either the toolbars, key shortcuts or even dragging and " +#| "dropping the files on the GUI." msgid "" "Load/Import a Gerber, Excellon, Gcode, DXF, Raster Image or SVG file into " "the application using either the toolbars, key shortcuts or even dragging " "and dropping the files on the GUI." msgstr "" -"Chargez / importez un fichier Gerber, Excellon, Gcode, DXF, Raster Image ou " -"SVG dans l'application à l'aide des barres d'outils, des raccourcis clavier " -"ou même en faisant glisser et déposer les fichiers sur GUI." +"Chargez / importez un fichier Gerber, Excellon, Gcode, DXF,\n" +"Image raster ou SVG dans FlatCAM à l'aide des barres d'outils, \n" +"des raccourcis clavier ou même en glissant-déposant les fichiers \n" +"sur l'interface graphique." -#: app_Main.py:9244 +#: app_Main.py:9277 +#, fuzzy +#| msgid "" +#| "You can also load a FlatCAM project by double clicking on the project " +#| "file, drag and drop of the file into the FLATCAM GUI or through the menu " +#| "(or toolbar) actions offered within the app." msgid "" "You can also load a project by double clicking on the project file, drag and " "drop of the file into the GUI or through the menu (or toolbar) actions " "offered within the app." msgstr "" -"Vous pouvez également charger un projet en double-cliquant sur le fichier de " -"projet, faites glisser et déposez le fichier dans l'app GUI ou via les " -"actions de menu (ou de barre d'outils) proposées dans l'application." +"Vous pouvez également charger un projet FlatCAM en double-cliquant sur le " +"fichier du projet, en le glissant-déposant dans l’interface graphique de " +"FLATCAM ou par le biais du menu (ou de la barre d’outils) proposé dans " +"l’application." -#: app_Main.py:9247 +#: app_Main.py:9280 msgid "" "Once an object is available in the Project Tab, by selecting it and then " "focusing on SELECTED TAB (more simpler is to double click the object name in " @@ -18174,7 +18409,7 @@ msgstr "" "sera mis à jour avec les propriétés de l'objet en fonction de son type: " "Gerber, Excellon, géométrie ou CNCJob." -#: app_Main.py:9251 +#: app_Main.py:9284 msgid "" "If the selection of the object is done on the canvas by single click " "instead, and the SELECTED TAB is in focus, again the object properties will " @@ -18188,13 +18423,13 @@ msgstr "" "interactive. Double-cliquez sur l'objet de la table pour activer l'onglet " "\"Sélectionné\" et disposé des propriétés de l'objet." -#: app_Main.py:9255 +#: app_Main.py:9288 msgid "" "You can change the parameters in this screen and the flow direction is like " "this:" msgstr "Vous pouvez modifier les paramètres de la façon suivante:" -#: app_Main.py:9256 +#: app_Main.py:9289 msgid "" "Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> " "Geometry Object --> Add tools (change param in Selected Tab) --> Generate " @@ -18208,7 +18443,7 @@ msgstr "" "CNC Job. Ce sont les fichiers CNC Job qui permettrons le travaille de votre " "appareille de gravure." -#: app_Main.py:9260 +#: app_Main.py:9293 msgid "" "A list of key shortcuts is available through an menu entry in Help --> " "Shortcuts List or through its own key shortcut: F3." @@ -18216,31 +18451,31 @@ msgstr "" "Une liste des raccourcis clavier est disponible via le menu dans \"Aide\" " "ou avec la touche de raccourci F3." -#: app_Main.py:9324 +#: app_Main.py:9357 msgid "Failed checking for latest version. Could not connect." msgstr "Échec de vérification de mise a jour. Connection impossible." -#: app_Main.py:9331 +#: app_Main.py:9364 msgid "Could not parse information about latest version." msgstr "Impossible d'analyser les informations sur la dernière version." -#: app_Main.py:9341 +#: app_Main.py:9374 msgid "FlatCAM is up to date!" msgstr "FlatCAM est à jour!" -#: app_Main.py:9346 +#: app_Main.py:9379 msgid "Newer Version Available" msgstr "Nouvelle version FlatCam disponible" -#: app_Main.py:9348 +#: app_Main.py:9381 msgid "There is a newer version of FlatCAM available for download:" msgstr "Une version plus récente de FlatCAM est disponible au téléchargement:" -#: app_Main.py:9352 +#: app_Main.py:9385 msgid "info" msgstr "info" -#: app_Main.py:9380 +#: app_Main.py:9413 msgid "" "OpenGL canvas initialization failed. HW or HW configuration not supported." "Change the graphic engine to Legacy(2D) in Edit -> Preferences -> General " @@ -18252,63 +18487,63 @@ msgstr "" "Edition -> Paramètres -> onglet Général.\n" "\n" -#: app_Main.py:9458 +#: app_Main.py:9491 msgid "All plots disabled." msgstr "Désactivation de tous les Plots." -#: app_Main.py:9465 +#: app_Main.py:9498 msgid "All non selected plots disabled." msgstr "Désélection de tous les Plots." -#: app_Main.py:9472 +#: app_Main.py:9505 msgid "All plots enabled." msgstr "Activation de tous les Plots." -#: app_Main.py:9478 +#: app_Main.py:9511 msgid "Selected plots enabled..." msgstr "Sélection de tous les Plots activés ..." -#: app_Main.py:9486 +#: app_Main.py:9519 msgid "Selected plots disabled..." msgstr "Selection de tous les Plots désactivés ..." -#: app_Main.py:9519 +#: app_Main.py:9552 msgid "Enabling plots ..." msgstr "Activation des plots ..." -#: app_Main.py:9568 +#: app_Main.py:9601 msgid "Disabling plots ..." msgstr "Désactiver les plots ..." -#: app_Main.py:9591 +#: app_Main.py:9624 msgid "Working ..." msgstr "Travail ..." -#: app_Main.py:9700 +#: app_Main.py:9733 msgid "Set alpha level ..." msgstr "Définir le premier niveau ..." -#: app_Main.py:9754 +#: app_Main.py:9787 msgid "Saving FlatCAM Project" msgstr "Enregistrement du projet FlatCAM" -#: app_Main.py:9775 app_Main.py:9811 +#: app_Main.py:9808 app_Main.py:9844 msgid "Project saved to" msgstr "Projet enregistré dans" -#: app_Main.py:9782 +#: app_Main.py:9815 msgid "The object is used by another application." msgstr "L'objet est utilisé par une autre application." -#: app_Main.py:9796 +#: app_Main.py:9829 msgid "Failed to verify project file" msgstr "Échec de vérification du fichier projet" -#: app_Main.py:9796 app_Main.py:9804 app_Main.py:9814 +#: app_Main.py:9829 app_Main.py:9837 app_Main.py:9847 msgid "Retry to save it." msgstr "Réessayez de le sauvegarder." -#: app_Main.py:9804 app_Main.py:9814 +#: app_Main.py:9837 app_Main.py:9847 msgid "Failed to parse saved project file" msgstr "Échec d'analyse du fichier de projet enregistré" @@ -18415,7 +18650,7 @@ msgstr "Création d'une liste de points à explorer ..." #: camlib.py:2865 msgid "Failed. Drill points inside the exclusion zones." -msgstr "Échoué. Percer des points à l'intérieur des zones d'exclusion." +msgstr "" #: camlib.py:2942 camlib.py:3921 camlib.py:4331 msgid "Starting G-Code" @@ -18616,7 +18851,7 @@ msgstr "Exemple: help open_gerber" #: tclCommands/TclCommandPaint.py:250 tclCommands/TclCommandPaint.py:256 msgid "Expected a tuple value like -single 3.2,0.1." -msgstr "Attendu une valeur de tuple comme -single 3.2,0.1." +msgstr "" #: tclCommands/TclCommandPaint.py:276 msgid "Expected -box ." @@ -18655,6 +18890,24 @@ msgid "No Geometry name in args. Provide a name and try again." msgstr "" "Aucun nom de géométrie dans les arguments. Indiquez un nom et réessayez." +#~ msgid "Export FlatCAM Bookmarks" +#~ msgstr "Exporter les signets FlatCAM" + +#~ msgid "Import FlatCAM Bookmarks" +#~ msgstr "Importer des signet FlatCAM" + +#~ msgid "Add Tool from Tools DB" +#~ msgstr "Ajouter un outil à partir de la base de données" + +#~ msgid "./assets/icon.png" +#~ msgstr "./assets/icon.png" + +#~ msgid "Unifying Geometry from parsed Geometry segments" +#~ msgstr "Unifier la géométrie à partir de segments de géométrie analysés" + +#~ msgid "All Polygons" +#~ msgstr "Tous les polygones" + #~ msgid "Angle:" #~ msgstr "Angle:" @@ -18815,6 +19068,117 @@ msgstr "" #~ msgstr "" #~ "Aucune forme sélectionnée. Veuillez sélectionner une forme à compenser!" +#~ msgid "New Blank Geometry" +#~ msgstr "Nouvelle Géométrie vierge" + +#~ msgid "New Blank Gerber" +#~ msgstr "Nouveau Gerber vierge" + +#~ msgid "New Blank Excellon" +#~ msgstr "Nouveau Excellon vierge" + +#~ msgid "" +#~ "Relative measurement.\n" +#~ "Reference is last click position" +#~ msgstr "" +#~ "Mesure relative\n" +#~ "La référence est la position du dernier clic" + +#~ msgid "FlatCAM Object" +#~ msgstr "Objet FlatCAM" + +#~ msgid "" +#~ "Choose which tool to use for Gerber isolation:\n" +#~ "'Circular' or 'V-shape'.\n" +#~ "When the 'V-shape' is selected then the tool\n" +#~ "diameter will depend on the chosen cut depth." +#~ msgstr "" +#~ "Choisissez quel outil utiliser pour l'isolation de Gerber:\n" +#~ "«Circulaire» ou «Forme en V».\n" +#~ "Lorsque la \"Forme en V\" est sélectionnée, l'outil\n" +#~ "Le diamètre dépendra de la profondeur de coupe choisie." + +#~ msgid "V-Shape" +#~ msgstr "Forme en V" + +#~ msgid "" +#~ "Diameter of the cutting tool.\n" +#~ "If you want to have an isolation path\n" +#~ "inside the actual shape of the Gerber\n" +#~ "feature, use a negative value for\n" +#~ "this parameter." +#~ msgstr "" +#~ "Diamètre de l'outil de coupe.\n" +#~ "Si vous voulez avoir un chemin d'isolation\n" +#~ "à l'intérieur de la forme réelle du Gerber\n" +#~ "fonction, utilisez une valeur négative pour\n" +#~ "ce paramètre." + +#~ msgid "Pass overlap" +#~ msgstr "Chevauchement" + +#~ msgid "Scope" +#~ msgstr "Portée" + +#~ msgid "Clear N-copper" +#~ msgstr "N-Cuivre Clair" + +#~ msgid "Board cutout" +#~ msgstr "Découpe de la plaque" + +#~ msgid "" +#~ "Add a new tool to the Tool Table\n" +#~ "with the specified diameter." +#~ msgstr "" +#~ "Ajouter un nouvel outil à la table d'outils\n" +#~ "avec le diamètre spécifié." + +#~ msgid "Excellon Object Color" +#~ msgstr "Couleur d'objet Excellon" + +#~ msgid "Apply Theme" +#~ msgstr "Appliquer le thème" + +#~ msgid "" +#~ "Select a theme for FlatCAM.\n" +#~ "It will theme the plot area.\n" +#~ "The application will restart after change." +#~ msgstr "" +#~ "Sélectionnez un thème pour FlatCAM.\n" +#~ "Il aura pour thème la zone de traçage.\n" +#~ "L'application redémarrera après le changement." + +#~ msgid "Geometry Object Color" +#~ msgstr "Couleur de l'objet Géométrie" + +#~ msgid "Exterior" +#~ msgstr "Extérieur" + +#~ msgid "Interior" +#~ msgstr "Intérieur" + +#~ msgid "Gerber Object Color" +#~ msgstr "Couleur d'objet Gerber" + +#~ msgid "Combine Passes" +#~ msgstr "Combiner les passes" + +#~ msgid "Rest Machining" +#~ msgstr "Usinage de Repos" + +#~ msgid "NCC Plotting" +#~ msgstr "Dessin de la NCC" + +#~ msgid "Paint Plotting" +#~ msgstr "Peinture dessin" + +#~ msgid "" +#~ "- 'Normal' - normal plotting, done at the end of the Paint job\n" +#~ "- 'Progressive' - after each shape is generated it will be plotted." +#~ msgstr "" +#~ "- 'Normal' - traçage normal, effectué à la fin du travail de peinture\n" +#~ "- 'Progressif' - après chaque forme générée, elle sera tracée." + #~ msgid "" #~ "Scale the selected object(s)\n" #~ "using the Scale_X factor for both axis." @@ -18870,98 +19234,6 @@ msgstr "" #~ "Le \"x\" dans (x, y) sera utilisé lors de l'utilisation de Flip sur X et\n" #~ "le 'y' dans (x, y) sera utilisé lors de l'utilisation de Flip sur Y et" -#~ msgid "Ref. Point" -#~ msgstr "Miroir Réf. Point" - -#~ msgid "Add Tool from Tools DB" -#~ msgstr "Ajouter un outil à partir de la base de données" - -#~ msgid "FlatCAM Object" -#~ msgstr "Objet FlatCAM" - -#~ msgid "" -#~ "Choose which tool to use for Gerber isolation:\n" -#~ "'Circular' or 'V-shape'.\n" -#~ "When the 'V-shape' is selected then the tool\n" -#~ "diameter will depend on the chosen cut depth." -#~ msgstr "" -#~ "Choisissez quel outil utiliser pour l'isolation de Gerber:\n" -#~ "«Circulaire» ou «Forme en V».\n" -#~ "Lorsque la \"Forme en V\" est sélectionnée, l'outil\n" -#~ "Le diamètre dépendra de la profondeur de coupe choisie." - -#~ msgid "V-Shape" -#~ msgstr "Forme en V" - -#~ msgid "" -#~ "Diameter of the cutting tool.\n" -#~ "If you want to have an isolation path\n" -#~ "inside the actual shape of the Gerber\n" -#~ "feature, use a negative value for\n" -#~ "this parameter." -#~ msgstr "" -#~ "Diamètre de l'outil de coupe.\n" -#~ "Si vous voulez avoir un chemin d'isolation\n" -#~ "à l'intérieur de la forme réelle du Gerber\n" -#~ "fonction, utilisez une valeur négative pour\n" -#~ "ce paramètre." - -#~ msgid "Pass overlap" -#~ msgstr "Chevauchement" - -#~ msgid "Scope" -#~ msgstr "Portée" - -#~ msgid "Clear N-copper" -#~ msgstr "N-Cuivre Clair" - -#~ msgid "Board cutout" -#~ msgstr "Découpe de la plaque" - -#~ msgid "" -#~ "Add a new tool to the Tool Table\n" -#~ "with the specified diameter." -#~ msgstr "" -#~ "Ajouter un nouvel outil à la table d'outils\n" -#~ "avec le diamètre spécifié." - -#~ msgid "Excellon Object Color" -#~ msgstr "Couleur d'objet Excellon" - -#~ msgid "Geometry Object Color" -#~ msgstr "Couleur de l'objet Géométrie" - -#~ msgid "Exterior" -#~ msgstr "Extérieur" - -#~ msgid "Interior" -#~ msgstr "Intérieur" - -#~ msgid "Gerber Object Color" -#~ msgstr "Couleur d'objet Gerber" - -#~ msgid "Combine Passes" -#~ msgstr "Combiner les passes" - -#~ msgid "Rest Machining" -#~ msgstr "Usinage de Repos" - -#~ msgid "NCC Plotting" -#~ msgstr "Dessin de la NCC" - -#~ msgid "All Polygons" -#~ msgstr "Tous les polygones" - -#~ msgid "Paint Plotting" -#~ msgstr "Peinture dessin" - -#~ msgid "" -#~ "- 'Normal' - normal plotting, done at the end of the Paint job\n" -#~ "- 'Progressive' - after each shape is generated it will be plotted." -#~ msgstr "" -#~ "- 'Normal' - traçage normal, effectué à la fin du travail de peinture\n" -#~ "- 'Progressif' - après chaque forme générée, elle sera tracée." - #~ msgid "Export Machine Code ..." #~ msgstr "Exporter le code machine ..." @@ -18974,14 +19246,29 @@ msgstr "" #~ msgid "GCode Parameters" #~ msgstr "Paramètres GCode" -#, fuzzy -#~| msgid "Selection" -#~ msgid "PreSelection" -#~ msgstr "Sélection" - #~ msgid "Copper Gerber" #~ msgstr "Gerber cuivré" +#~ msgid "Film Object" +#~ msgstr "Objet de Film" + +#~ msgid "Object for which to create the film." +#~ msgstr "Objet pour lequel créer le film." + +#~ msgid "Box Object" +#~ msgstr "Objet Box" + +#~ msgid "" +#~ "The actual object that is used as container for the\n" +#~ " selected object for which we create the film.\n" +#~ "Usually it is the PCB outline but it can be also the\n" +#~ "same object for which the film is created." +#~ msgstr "" +#~ "L'objet réel qui utilise un conteneur pour la\n" +#~ "  objet sélectionné pour lequel nous créons le film.\n" +#~ "Habituellement, c’est le contour du PCB, mais cela peut aussi être le\n" +#~ "même objet pour lequel le film est créé." + #~ msgid "QRCode Parameters" #~ msgstr "Paramètres QRCode" @@ -19006,65 +19293,8 @@ msgstr "" #~ msgid "Parsing geometry for aperture" #~ msgstr "Analyser la géométrie pour l'ouverture" -#~ msgid "Export FlatCAM Bookmarks" -#~ msgstr "Exporter les signets FlatCAM" - -#~ msgid "Import FlatCAM Bookmarks" -#~ msgstr "Importer des signet FlatCAM" - -#~ msgid "Unifying Geometry from parsed Geometry segments" -#~ msgstr "Unifier la géométrie à partir de segments de géométrie analysés" - -#~ msgid "./assets/icon.png" -#~ msgstr "./assets/icon.png" - -#~ msgid "New Blank Geometry" -#~ msgstr "Nouvelle Géométrie vierge" - -#~ msgid "New Blank Gerber" -#~ msgstr "Nouveau Gerber vierge" - -#~ msgid "New Blank Excellon" -#~ msgstr "Nouveau Excellon vierge" - -#~ msgid "" -#~ "Relative measurement.\n" -#~ "Reference is last click position" -#~ msgstr "" -#~ "Mesure relative\n" -#~ "La référence est la position du dernier clic" - -#~ msgid "Apply Theme" -#~ msgstr "Appliquer le thème" - -#~ msgid "" -#~ "Select a theme for FlatCAM.\n" -#~ "It will theme the plot area.\n" -#~ "The application will restart after change." -#~ msgstr "" -#~ "Sélectionnez un thème pour FlatCAM.\n" -#~ "Il aura pour thème la zone de traçage.\n" -#~ "L'application redémarrera après le changement." - -#~ msgid "Film Object" -#~ msgstr "Objet de Film" - -#~ msgid "Object for which to create the film." -#~ msgstr "Objet pour lequel créer le film." - -#~ msgid "Box Object" -#~ msgstr "Objet Box" - -#~ msgid "" -#~ "The actual object that is used as container for the\n" -#~ " selected object for which we create the film.\n" -#~ "Usually it is the PCB outline but it can be also the\n" -#~ "same object for which the film is created." -#~ msgstr "" -#~ "L'objet réel qui utilise un conteneur pour la\n" -#~ "  objet sélectionné pour lequel nous créons le film.\n" -#~ "Habituellement, c’est le contour du PCB, mais cela peut aussi être le\n" -#~ "même objet pour lequel le film est créé." +#~ msgid "Ref. Point" +#~ msgstr "Miroir Réf. Point" #~ msgid "Expected -x and -y ." #~ msgstr "Attendu -x et -y ." @@ -19563,9 +19793,6 @@ msgstr "" #~ msgid "Start move Z" #~ msgstr "Commencer le mouv. Z" -#~ msgid "Grid X value" -#~ msgstr "Val. de la grille X" - #~ msgid "Grid Y value" #~ msgstr "Val. de la grille Y"