diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..c9ac9e74
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,4261 @@
+FlatCAM BETA (c) 2019 - by Marius Stanciu
+Based on FlatCAM:
+2D Computer-Aided PCB Manufacturing by (c) 2014-2016 Juan Pablo Caram
+=================================================
+
+CHANGELOG for FlatCAM beta
+
+=================================================
+
+25.04.2020
+
+- ensured that on Graceful Exit (CTRL+ALT+X key combo) if using Progressive Plotting, the eventual residual plotted lines are deleted. This apply for Tool NCC and Tool Paint
+- fixed links in Attributions tab in Help -> About FlatCAM to be able to open external links.
+- updated Google Translations for French and Spanish languages
+
+24.04.2020
+
+- some PEP changes, some method descriptions updated
+- added a placeholder text to 2Sided Tool
+- added a new menu entry in the context menu of the Tcl Shell: 'Save Log' which will save the content of the Tcl Shell browser window to a file
+- the status bar messages that are echoed in the Tcl Shell will no longer have all text colored but only the identifier
+- some message strings cleanup
+- added possibility to save as text file the content in Tcl Shell browser window when clicking the Save log context menu entry
+- fixed an issue regarding the statusbar pixmap selection
+- update the language template strings.pot and updated the Romanian translation
+- updated the Readme file with the steps for installation for MacOS
+- updated the requirements.txt file
+- updated some of the icons in the dark_resources folder (some added, some modified)
+- updated Paint Tool for the new Tool DB
+- updated the Tcl commands CopperClear and Paint
+
+23.04.2020
+
+- fixed the Tcl Command Help to work as expected; made the text of the commands to be colored in Red color and bold
+- added a 'Close' menu entry in the Tcl Shell context menu that will close (hide) the Tcl Shell Dock widget
+- on launching the Tcl Shell the Edit line will take focus immediately
+- in App.on_mouse_move_over_plot() method no longer will be done a setFocus() on every move, only when it is needed
+- added an extra check if old preferences files are detected, a check if the type of the values is the same with the type in the current preferences file. If the type is not the same then the current type is preferred.
+- aligned the Tcl commands display when the Help Tcl command is run without parameters
+- fixed the Tcl command Plot_All that malfunctioned if there were any FlatCAM scripts (or FlatCAM documents) open
+- updated the shortcuts list
+
+22.04.2020
+
+- added a new feature, project auto-saving controlled from Edit -> Preferences -> General -> APP. Preferences -> Enable Auto Save checkbox
+- fixed some bugs in the Tcl Commands
+- modified the Tcl Commands to be able to use as boolean values keywords with lower case like 'false' instead of expected 'False'
+- refactored some of the code in the App class and created a new Tcl Command named Help
+
+20.04.2020
+
+- made the Grid icon in the status bar clickable and it will toggle the snap to grid function
+- some mods in the Distance Tool
+- added ability to use line width when adding shapes for both Legacy and OpenGL graphic engines
+- added the linewidth=2 parameter for the Tool Distance utility geometry
+- fixed a selection issue in Legacy graphic mode for single click
+- added a CHANGELOG file and changed the README file to contain the installation instructions
+- updated the README file
+- in Project Tab added tooltips for the loaded objects
+- fixed a bug in loading objects by drag&drop into the Project Tab where only one object in the selection was loaded
+
+19.04.2020
+
+- fixed a bug that did not allow to edit GUI elements of type FCDoubleSpinner if it contained the percent symbol
+- some small optimizations in the GUI of Cutout Tool
+- fixed more issues (new) in NCC Tool
+- added a new layout named 'minimal'
+- some PEP8 changes in Geometry Editor
+
+15.04.2020
+
+- made sure that the Tcl commands descriptions listed on help command are aligned
+
+14.04.2020
+
+- lightened the hue of the color for 'success' messages printed in the Tcl Shell browser
+- modified the extensions all over such the names include also the extension name. For Linux who does not display the extensions in the native FileDialog.
+- added descriptions for some of the methods in the app.
+- added lightened icons for the dark theme from Leandro Heck
+
+13.04.2020
+
+- added the outname parameter for the geocutout Tcl command
+- multiple fixes in the Tcl commands (especially regarding the interchange between True/false and 1/0 values)
+- updated the help for all Tcl Commands
+- in Tcl Shell, the 'help' command will add also a brief description for each command in the list
+- updated the App.plot_all() method giving it the possibility to be run as threaded or not
+- updated the Tcl command PlotAll to be able to run threaded or not
+- updated the Tcl commands PlotAll and PlotObjects to have a parameter that control if the objects are to be plotted or not on canvas; it serve as a disable/enable
+- minor update to the autocomplete dictionary
+- the Show Shell in Edit -> Preferences will now toggle the Tcl shell based on the current status of the Tcl Shell
+- updated the Tcl command Isolate help for follow parameter
+- updated DrillCncJob Tcl Command with new parameters and fixed it to work in the new format of the Excellon methods
+- fixed issue #399
+- changed CncJob Tcl Command parameter 'depthperpass' to a shorter 'dpp'
+
+11.04.2020
+
+- fixed issue #394 - the saveDialog in Linux did not added the selected extension
+- when the Save button is clicked in the Edit -> Preferences the Preferences tab is closed.
+
+10.04.2020
+
+- made sure that the timeout parameter used by some Tcl Commands is seen as an integer in all cases - fixed issue #389
+- minor changes in Paint Tool
+- minor changes in GUI (Save locations in Menu -> File) and the key shortcuts - fixed issue #391
+
+
+9.04.2020
+
+- if FlatCAM is not run with Python version >= 3.5 it will exit.
+- modified all CTRL+ with Ctrl+ and all ALT+ with Alt+ and all SHIFT+ with Shift+. Fixed issue #387.
+- removed some packages from setup_ubuntu.sh as they are not needed in FlatCAM beta
+
+8.4.2020
+
+- fixed the Tcl Command Delete to have an argument -f that will force deletion evading the popup (if the popup is enabled). The sme command without a name now will delete all objects
+- fixed the Tcl Command JoinExcellons
+- fixed the Tcl Command JoinGeometry
+- fixed the Tcl Command Mirror
+- updated the Tcl Command Mirror to use a (X,Y) origin parameter. Works if the -box parameter is not used.
+- updated the Tcl Command Offset. Now it can use only -x or -y parameter no longer is mandatory to have both. The one that is not present will be assumed 0.0
+- updated the Tcl Command Panelize. The -rows and -columns parameters are no longer both required. If one is not present then it is assumed to be zero.
+- updated the Tcl Command Scale. THe -origin parameter can now be a tuple of (x,y) coordinates.
+- updated the Tcl Command Skew. Now it can use only -x or -y parameter no longer is mandatory to have both. The one that is not present will be assumed 0.0
+- updated the help for all the Tcl Commands
+
+6.04.2020
+
+- added key shortcuts (arrow up/down) that will select the objects in the Project tab if the focus is in that tab
+- added a minor change to the ListSys Tcl command
+- fixed an crash generated when running the Tool Database from the Menu -> Options menu entry
+- fixed a bug in handling the UP/DOWN key shortcuts that caused a crash when no object was selected in the Project Tab; also made sure that the said keys are handled only for the Project Tab
+- some PEP8 changes and other minor changes
+- updated the requirements file
+- updated the 2Sided Tool by not allowing the Gerber file to be mirrored without a valid reference and added some placeholder texts
+
+5.04.2020
+
+- made sure that the HDPI scaling attribute is set before the QApplication is started
+- made sure that when saving a project, the app will try to update the active object from UI form only if there is an active object
+- fix for contextual menus on canvas when using PyQt versions > 5.12.1
+- decision on which mouse button to use for panning is done now once when setting the plotcanvas
+- fix to work with Python 3.8 (closing the application)
+- fixed bug in Gerber parser that allowed loading as Gerber of a file that is not a Gerber
+- fixed a bug in extension detection for Gerber files that allowed in the filtered list files that extension *.gb*
+- added a processEvents method in the Gerber parser parse_lines() method
+- fixed issue #386 - multiple Cut operation on a edited object created a crash due of the bounds() method
+- some changes in the Geometry UI
+
+4.04.2020
+
+- fixed the Repeated code parsing in Excellon Parse
+
+1.04.2020
+
+- updated the SVG parser to take into consideration the 'Close' svg element and paths that are made from a single line (we may need to switch to svgpathtools module)
+- minor changes to increase compatibility with Python 3.8
+- PEP8 changes
+
+30.03.2020
+
+- working to update the Paint Tool
+- fixed some issues in Paint Tool
+
+29.03.2020
+
+- modified the new database to accept data from NCC and Paint Tools
+- fixed issues in the new database when adding the tool in a Geometry object
+- fixed a bug in Geometry object that generated a change of dictionary while iterating over it
+- started to add the new database links in the NCC and Paint Tools
+- in the new Tools DB added ability to double click on the ID in the tree widget to execute adding a tool from DB
+- working in updating NCC Tool
+
+28.03.2020
+
+- finished the new database based on a QTreeWidget
+
+21.03.2020
+
+- fixed Cutout Tool to work with negative values for Margin parameter
+
+20.03.2020
+
+- updated the "re-cut" feature in Geometry object; now if the re-cut parameter is non zero it will cut half of the entered distance before the isolation end and half of it after the isolation end
+- added to Paint and NCC Tool a feature that allow polygon area selection when the reference is selected as Area Selection
+- in Paint Tool and NCC Tool added ability to use Escape Tool to cancel Area Selection and for Paint Tool to cancel Polygon Selection
+- fixed issue in "re-cut" feature when combined with multi-depth feature
+- fixed bugs in cncjob TclCommand
+
+13.03.2020
+
+- fixed a bug in CNCJob generation out of a Excellon object; the plot failed in case some of the geometry of the CNCJob was invalid
+- fixed Properties Tool due of recent changes to the FCTree widget
+
+12.03.2020
+
+- working on the new database
+- fix a bug in the TextInputTool in FlatCAM Geometry Editor that crashed the sw when some fonts are not loaded correctly
+
+4.03.2020
+
+- updated all the FlatCAM Tools and the Gerber UI FCComboBoxes to update the box value with the latest object loaded in the App
+- some fixes in the NCC Tool
+- modified some strings
+
+02.03.2020
+
+- added property that allow the FCComboBox to update the view with the last item loaded; updated the app to use this property
+
+01.03.2020
+
+- updated the CutOut Tool such that while adding manual gaps, the cutting geometry is updated on-the-fly if the gap size or tool diameter parameters are adjusted
+- updated the UI in Geometry Editor
+
+29.02.2020
+
+- compacted the NCC Tool UI by replacing some Radio buttons with Combo boxes due of too many elements
+- fixed error in CutOut Tool when trying to create a FreeFrom Cutout out of a Gerber object with the Convex Shape checked
+- working on a new type of database
+
+28.02.2020
+
+- some small changes in preprocessors
+- solved issue #381 where there was an error when trying to generate CNCJob out of an Excellon file that have a tool with only slots and no drills
+- solved some issues in the preprocessors regarding the newly introduced feature that allow control of the final move X,Y positions
+
+25.02.2020
+
+- fixed bug in Gerber parser: it tried to calculate a len() for a single element and not a list - a Gerber generated by Eagle exhibited this
+- added a new parameter named 'End Move X,Y' for the Geometry and Excellon objects. Adding a tuple of coordinates in this field will control the X,Y position of the final move; not entering a value there will cause not to make an end move
+
+20.02.2020
+
+- in Paint Tool replaced the Selection radio with a combobox GUI element that is more compact
+- in NCC Tool modified the UI
+
+19.02.2020
+
+- fixed some issues in the Geometry Editor; the jump signal disconnect was failing for repeated Editor tool operation
+- fixed an issue in Gerber Editor where the multiprocessing pool was reported as closed and an ValueError exception was raised in a certain scneraio
+- on Set Origin, Move to Origin and Move actions for Gerber and Excellon objects the source file will be also updated (the export functions will export an updated object)
+- in FlatCAMObj.export_gerber() method took into account the possibility of polygons of type 'clear' (the ones found in the Gerber files under the LPC command)
+
+17.02.2020
+
+- updated the Excellon UI to hold data for each tool
+- in Excellon UI removed the tools table column for Offset Z and used the UI form parameter
+- updated the Excellon Editor to add for each tool a 'data' dictionary
+- updated all FlatCAM tools to use the new confirmation message that show if the entered value is within range or outside
+- updated all FlatCAM tools to use the new confirmation message for QSpinBoxes, too
+- in Excellon UI protected the values that are common parameters from change on tool selection change
+- fixed some issues related to the usage of the new confirmation message in FlatCAM Tools
+- made sure that the FlatCAM Tools UI initialization is done only in set_tool_ui() method and not in the constructor
+- adapted the GCode generation from Excellon to work with multiple tools data and modified the preprocessors header
+- when multiple tools are selected in Excellon UI and parameters are modified it will applied to all selected
+- in Excellon UI, Paint Tool and NCC Tool finished the "Apply parameters to all tools" functionality
+- updated Paint Tool and NCC Tool in the UI functionality
+- fixed the Offset spinbox not being controller by offset checkbox in NCC Tool
+
+16.02.2020
+
+- small update to NCC Tool UI
+
+15.02.2020
+
+- in Paint Tool added a new method of painting named Combo who will pass through all the methods until the polygon is cleared
+- in Paint Tool attempting to add a new mode suitable for Laser usage
+- more work in the new Laser Mode in the Paint Tool
+- modified the Paint Tool UI
+
+14.02.2020
+
+- adjusted the UI for Excellon and Geometry objects
+- added a new FlatCAM Tool: Gerber Invert Tool. It will invert the copper features in a Gerber file: where is copper there will be empty and where is empty it will be copper
+- added the Preferences entries for the Gerber Invert Tool
+
+13.02.2020
+
+- finished Punch Gerber Tool
+- minor changes in the Tool Transform and Tool Calculators UI to bring them up2date with the other tools
+
+12.02.2020
+
+- working on fixing a bug in FlatCAMGeometry.merge() - FIXED issue #380
+- fixed bug: when deleting a FlatCAMCNCJob with annotations enabled, the annotations are not deleted from canvas; fixed issue #379
+- fixed bug: creating a new project while a project is open and it contain CNCJob annotations and/or Gerber mark shapes, did not delete them from canvas
+
+11.02.2020
+
+- working on Tool Punch; finished the geometry update with the clear geometry for the case of Excellon method
+- working on Tool Punch; finished the geometry update with the clear geometry for the case of Fixed Diameter method
+
+10.02.2020
+
+- optimized the Paint and NCC Tools. When the Lines type of painting/clearing is used, the lines will try to arrange themselves on the direction that the lines length clearing the polygon are bigger
+- solved bug that made drilling with Marlin preprocessor very slow
+- applied the fix for above bug to the TclCommand Drillcncjob too
+- started a new way to clear the Gerber polygons based on the 'follow' lines
+- some cleanup and bug fixes for the Paint Tool
+
+
+8.02.2020
+
+- added a new preprocessor for using laser on a Marlin 3D printer named 'Marlin_laser_use_Spindle_pin'
+- modified the Geometry UI when using laser preprocessors
+- added a new preprocessor file for using laser on a Marlin motion controller but with the laser connected to one of the FAN pins, named 'Marlin_laser_use_FAN_pin'
+- modified the Excellon GCode generation so now it can use multi depth drilling; modified the preprocessors to show the number of passes
+
+5.02.2020
+
+- Modified the Distance Tool such that the Measure button can't be clicked while measuring is in progress
+- optimized selection of drills in the Excellon Editor
+- fixed bugs in multiple selection in Excellon Editor
+- fixed selection problems in Gerber Editor
+- in Distance Tool, when run in the Excellon or Gerber Editor, added a new option to snap to center of the geometry (drill for Excellon, pad for Gerber)
+
+3.02.2020
+
+- modified Spinbox and DoubleSpinbox Custom UI elements such that they issue a warning status message when the typed value is out of range
+- fixed the preprocessors with 'laser' in the name to use the spindle direction set in the Preferences
+- increased the upper limit for feedrates by an order of magnitude
+
+2.02.2020
+
+- fixed issue #376 where the V-Shape parameters from Gerber UI are not transferred to the resulting Geometry object if the 'combine' checkbox is not checked in the Gerber UI
+- in Excellon UI, if Basic application mode is selected in Preferences, the Plot column 'P' is hidden now because some inexperienced users mistake this column checkboxes for tool selection
+- fixed an error in Gerber Parser; the initial values for current_x, current_y were None but should have been 0.0
+- limited the lower limit of angle of V-tip to a value of 1 because 0 makes no sense
+- small changes in Gerber UI
+- in Geometry Editor make sure that after an edit is finished (correctly or forced) the QTree in the Editor UI is cleared of items
+
+31.01.2020
+
+- added a new functionality, a variation of Set Origin named Move to Origin. It will move a selection of objects to origin such as the bottom left corner of the bounding box that fit them all is in origin.
+- fixed some bugs
+- fixed a division by zero error: fixed #377
+
+30.01.2020
+
+- remade GUI in Tool Cutout, Tool Align Objects, Tool Panelize
+- some changed in the Excellon UI
+- some UI changes in the common object UI
+
+29.01.2020
+
+- changes in how the Editor exit is handled
+- small fix in some pywin32 imports
+- remade the GUI + small fixes in 2Sided Tool
+- updated 2Sided Tool
+
+28.01.2020
+
+- some changes in Excellon Editor
+
+27.01.2020
+
+- in Geometry Editor made sure that on final save, for MultiLineString geometry all the connected lines are merged into one LineString to minimize the number of vertical movements in GCode
+- more work in Punch Gerber Tool
+- the Jump To popup window will now autoselect the LineEdit therefore no more need for an extra click after launching the function
+- made some structural changes in Properties Tool
+- started to make some changes in Geometry Editor
+- finished adding in Geometry Editor a TreeWidget with the geometry shapes found in the edited object
+
+24.02.2020
+
+- small changes to the Toolchange manual preprocessor
+- fix for plotting Excellon objects if the color is changed and then the object is moved
+- laying the GUI for a new Tool: Punch Gerber Tool which will add holes in the Gerber apertures
+- fixed bugs in Minimum Distance Tool
+- update in the GUI for the Punch Gerber Tool
+
+22.01.2020
+
+- fixed a bug in the bounding box generation
+
+19.01.2020
+
+- fixed some bugs that are visible in Linux regarding the ArgsThread class: on app close we need to quit the QThread running the ArgsThread class and also close the opened Socket
+- make sure that the fixes above apply when rebooting app for theme change or for language change
+- fixed and issue that made setting colors for the Gerber file not possible if using a translation
+- made possible to set the colors for Excellon objects too
+- added to the possible colors the fundamentals: black and white
+- in the project context menu for setting colors added the option to set the transparency and also a default option which revert the color to the default value set in the Preferences
+
+17.01.2020
+
+- more changes to Excellon UI
+- changes to Geometry UI
+- more work in NCC Tool upgrade; each tool now work with it's own set of parameters
+- some updates in NCC Tool
+- optimized the object envelope generation in the redesigned NCC Tool
+
+16.01.2020
+
+- updated/optimized the GUI in Preferences for Paint Tool and for NCC Tool
+- work in Paint Tool to bring it up to date with NCC Tool
+- updated the GUI in preferences for Calculator Tool
+- a small change in the Excellon UI
+- updated the Excellon and Geometry UI to be similar
+- put bases for future changes to Excellon Object UI such that each tool will hold it's own parameters
+- in ParseExcellon.Excellon the self.tools dict has now a key 'data' which holds a dict with all the default values for Excellon and Geometry
+- Excellon and Geometry objects, when started with multiple tools selected, the parameters tool name reflect this situation
+- moved default_data data update from Excellon parser to the Excellon object constructor
+
+15.01.2020
+
+- added key shortcuts and toolbar icons for the new tools: Align Object Tool (Alt+A) and Extract Drills (Alt+I)
+- added new functionality (key shortcut Shift+J) to locate the corners of the bounding box (and center) in a selected object
+- modified the NCC Tool GUI to prepare for accepting a tool from a tool database
+- started to modify the Paint Tool to be similar to NCC Tool and to accept a tool from a database
+- work in Paint Tool GUI functionality
+
+14.01.2020
+
+- in Extract Drill Tool added a new method of drills extraction. The methods are: fixed diameter, fixed annular ring and proportional
+- in Align Objects Tool finished the Single Point method of alignment
+- working on the Dual Point option in Align Objects Tool - angle has to be recalculated
+- finished Dual Point option in Align Objects Tool
+
+13.01.2020
+
+- fixed a small GUI issue in Excellon UI when Basic mode is active
+- started the add of a new Tool: Align Objects Tool which will align (sync) objects of Gerber or Excellon type
+- fixed an issue in Gerber parser introduced recently due of changes made to make Gerber files produced by Sprint Layout
+- working on the Align Objects Tool
+
+12.01.2020
+
+- improved the circle approximation resolution
+- fixed an issue in Gerber parser with detecting old kind of units
+- if CTRL key is pressed during app startup the app will start in the Legacy(2D) graphic engine compatibility mode
+
+11.01.2020
+
+- fixed an issue in the Distance Tool
+- expanded the Extract Drills Tool to use a particular annular ring for each type of aperture flash (pad)
+- Extract Drills Tool: fixed issue with oblong pads and with pads made from aperture macros
+- Extract Drills Tool: added controls in Edit -> Preferences
+
+10.02.2020
+
+- working on a new tool: Extract Drills Tool who will create a Excellon object out of the apertures of a Gerber object
+- finished the GUI in the Extract Drills Tool
+- fixed issue in Film Tool where some parameters names in calls of method export_positive() were not matching the actual parameters name
+- finished the Extract Drills Tool
+- fixed a small issue in the DoubleSided Tool
+
+8.01.2020
+
+- working in NCC Tool
+- selected rows in the Tools Tables will stay colored in blue after loosing focus instead of the default gray
+- in NCC Tool the Tool name in the Parameters section will be the Tool ID in the Tool Table
+- added an exception catch in case the plotcanvas init failed for the OpenGL graphic engine and warn user about what happened
+
+7.01.2020
+
+- solved issue #368 - when using the Enable/Disable prj context menu entries the plotted status is not updated in the object properties
+- updates in NCC Tool
+
+6.01.2020
+
+- working on new NCC Tool
+
+2.01.2020
+
+- started to rework the NCC Tool GUI in preparation for adding a Tool DB feature
+- for auto-completer, now clicking an entry in the completer popup will select that entry and insert it
+- made available only for Linux and Windows (not OSX) the starting of the thread that checks if another instance of FlatCAM is already running at the launch of FLatCAM
+- modified Toggle Workspace function to work in the new Preferences UI configuration
+- cleaned the app from progress signal usage since it is not used anymore
+
+1.01.2020
+
+- fixed bug in NCC Tool: after trying to add a tool already in the Tool Table when trying to change the Tool Type the GUI does not change
+- final fix for app not quiting when running a script as argument, script that has the quit_flatcam Tcl command; fixed issue #360
+- fixed issue #363. The Tcl command drillcncjob does not create tool cut, does not allow creation of gcode, it forces the usage of dwell and dwelltime parameters
+- in NCC Tool I've added a warning so the user is warned that the NCC margin has to have a value of at least the tool diameter that is doing an iso_op job in the Tool Table
+- modified the Drillcncjob and Cncjob Tcl commands to be allowed to work without the 'dwell' and 'toolchange' arguments. If 'dwelltime' argument is present it will be assumed that the 'dwell' is True and the same for 'toolchangez' parameter, if present then 'toolchange' will be assumed to be True, else False
+- modified the extracut and multidepth parameters in Cncjob Tcl command like for dwell and toolchange
+- added ability for Tcl commands to have optional arguments with None value (meaning missing value). This case should be treated for each Tcl command in execute() method
+- fixed the Drillcncjob Tcl command by adding an custom self.options key "Tools_in_use" and build it's value, in case it does not exist, to make the toolchange command work
+- middle mouse click on closable tabs will close them
+
+30.12.2019
+
+- Buffer sub-tool in Transform Tool: added the possibility to apply a factor effectively scaling the aperture size thus the copper features sizes
+- in Transform Tool adjusted the GUI
+- fixed some decimals issues in NCC Tool, Paint Tool and Excellon Editor (they were still using the hardcoded values)
+- some small updates in the NCC Tool
+- changes in the Preferences UI for NCC and Paint Tool in Tool Dia entry field
+- fixed Tcl commands that use the overlap parameter to switch from fraction to percentage
+- in Transform Tool made sure that the buffer sub-tool parameters are better explained in tooltips
+- attempt to make TclCommand quit_flatcam work under Linux
+- some fixes in the NCC Tcl command (using the bool() method on some params)
+- another attempt to make TclCommand quit_flatcam work under Linux
+- another attempt to make TclCommand quit_flatcam work under Linux - use signal to call a hard exit when in Linux
+- TclCommand quit_flatcam work under Linux
+
+29.12.2019
+
+- the Apply button text in Preferences is now made red when changes were made and require to be applied
+- the Gerber UI is built only once now so the process is lighter on CPU
+- the Gerber apertures marking shapes storage is now built only once because the more are built the more sluggish is the interface
+- added a new function called by shortcut key combo Ctrl+G when the current widget in Plot Area is an Code Editor. It will jump to the specified line in the text.
+- fixed a small bug where the app tried to hide a label that I've removed previously
+- in Paint Tool Preferences is allowed to add a list of initial tools separated by comma
+- in Geometry Paint Tool fixed the Overlap rate to work between 0 and 99.9999%
+
+28.12.2019
+
+- more updates to the Preferences window and in some other parts of the GUI
+- updated the translations (less Russian)
+- fixed a minor issue that when saving a project with CNCJob objects, the variable that holds the origin of the CNCJob object was not saved in the project. Added to the serializable objects also the exc_cnc_tools dictionary
+- some changes in the File menu
+
+28.12.2019
+
+- updated all the translations files
+- fixed the big mouse cursor in OpenGL(3D) graphic mode to get the set color
+- fixed the cursor to have the set color and set cursor width in the Legacy(2D) graphic engine
+- in Legacy(2D) graphic mode fixed the cursor toggle when the big cursor is activated
+- in Legacy(2D) fixed big mouse cursor to snap to the grid
+- RELEASE 8.991
+
+27.12.2019
+
+- updated the POT file and the translation files for German, Spanish and French languages
+- fixed some typos
+
+26.12.2019
+
+- modified the ToolDB class and changed some strings
+- Preferences classes now have access to the App attributes through app.setup_obj_classes() method
+- moved app.setup_obj_classes() upper in the App.__init__()
+- added a new Preferences setting allowing to modify the mouse cursor color
+- remade the GUI in Preferences -> General grouping the settings in a more clear way
+- made available the Jump To function in Excellon Editor
+- added a clean_up() method in all the Editor Tools that need it, to be run when aborting using the ESC key
+- fixed an error in the Gerber parser; it did not took into consideration the aperture size declared before the beginning of a Gerber region. Detected for Gerber files generated by KiCAD 5.x
+- in Panelize Tool made sure that for Gerber objects if one of the apertures is without geometry then it is ignored
+- further modifications in Preferences -> General GUI
+- further modifications in Preferences -> General GUI - extended the changes
+- in Legacy(2D) graphic engine made to work the mouse color change
+- theme changing is no longer auto-reboot upon change; it require now to press a button
+- cleaned the Preferences classes and added the signals and signal slots in those classes, removing them from the main app class
+- each FlatCAM object found in Preferences has it's own set of controls for changing the colors
+- added a set of gray icons to be used when the theme is complete dark (for now it is useful only for MacOS with dark theme because at the moment the app is not styled to dark UI except the plot area)
+
+25.12.2019
+
+- fixed an issue in old default file detection and in saving the factory defaults file
+- in Preferences window removed the Import/Export Preferences buttons because they are redundant with the entries in the File -> Menu -> Backup. and added a button to Restore Defaults
+- when in Basic mode the Tool type of the tool in the Geometry UI Tool Table after isolating a Gerber object is automatically selected as 'C1'
+- let the multiprocessing Pool have as many processes as needed
+- added a new Preferences setting allowing a custom mouse line width (to make it thicker or thinner)
+- changed the extension of the Tool Database file to FlatDB for easy recognition (in the future double clicking such a file might import the new tools in the FC database)
+
+24.12.2019
+
+- edited some icons so they don't contain white background
+- fixed an incorrect usage of object in the app.select_objects() method
+- fixed a typo in ToolDB.on_tool_add()
+
+23.12.2019
+
+- some fixes in the Legacy(2D) graphic mode regarding the possibility of changing the color of the Gerber objects
+- added a method to darken the outline color for Gerber objects when they have the color set
+- when Printing as PDF Gerber objects now the rendered color is the print color
+- speed up the plotting in OpenGL(3D) graphic mode
+- speed up the color setting for Gerber object when using the OpenGL(3D) graphic mode
+- setting color for Gerber objects work on a selection of Gerber objects
+- ~~when the selection is changed in the Project Tree the selection shape on canvas is deleted~~
+- if an object is selected on Project Tree and it does not have the selection shape drawn, first click on canvas over it will draw the selection shape
+- in Tool Transform added a new feature named 'Buffer'. For Geometry and Gerber objects will create (and replace) a geometry at a distance from the original geometry and for Excellon will adjust the Tool diameters
+- solved issue #355 - when the tool diameter field in the Edit → Preferences → Geometry → Geometry General → Tools → Tool dia is only one the app failed to read it
+- solved issue #356 - in Tools DB can not be added more than one tool if a translation is active
+- some changes related to the fact that the geometry default tool diameter value can be comma separated string of tool diameters
+
+22.12.2019
+
+- added a new option for the Gerber objects: on the project context menu now can be chosen a color for the selected Gerber object
+- fixed issue in Gerber UI where a label was not hidden when in Basic mode
+- added the color parameters of the objects to the serializable attributes
+- fixed Gerber object color set for Legacy(2D) graphic engine; glitch on the OpenGL(3D) graphic engine
+- fixed the above mentioned glitch in the OpenGL(3D) graphic engine when an Gerber object has been set with a color
+
+21.12.2019
+
+- fixed a typo in Distance Tool
+
+20.12.2019
+
+- fixed a rare issue in the generation of non-copper-region geometry started from the Gerber Object UI (selected tab)
+- Print function is now printing a PDF file for a selection of objects in the colors from canvas
+- added an icon in the infobar that will show more clearly the status of the grid snapping
+- in Geometry Object UI (selected tab) when a tool type is changed from no matter what to V-shape, the cut_z value is saved and when the tool type is changed back to something different than V-shape, this saved cut-z value is restored
+- fixed re-cut length entry not staying disabled when the re-cut cb is not checked
+
+19.12.2019
+
+- in 2-Sided Tool added a way to calculate the bounding box values for a selection of objects, and also the centroid
+- in 2-Sided Tool fixed the Reset Tool button handler to reset the bounds value too; changed a string
+- added Preferences values for PDF margins when saving text in Code Editor as PDF
+- when clicking Cancel in Preferences now the values are reverted to what they used to be before opening Preferences tab and start changing values
+- starting to work to a general Print function; for now it will generate PDF files; currently it works only for one object not for a selection
+- added shortcut key Ctrl+P for printing to PDF method
+
+18.12.2019
+
+- added new parameters to improve Gerber parsing
+- small optimizations in the Preferences UI
+- the Jump To function reference is now saving it's last used value
+- added the ability to use the Jump To method in the Gerber Editor
+- improved the loading of Config File by using the advanced code editor
+- fixed a bug in the new feature 'extra buffering'
+- fixed the creation of CNCJob objects out of multigeo Geometry objects (objects with multiple tools)
+- optimized the NCC Tool
+
+17.12.2019
+
+- more optimizations in NCC Tool
+- optimizations in Paint Tool
+- maximum range for Cut Z is now zero to deal with the situation when using V-shape with tip-dia same value with cut width
+- modified QValidator in FCDoubleSpinner() GUI element to allow entering the minus sign when the range maximum is set as 0.0; also for positive numbers allowed entering the symbol plus
+- made sure that if in Gerber UI the isolation is made with a V-Shape tool then the tool type is automatically updated on the generated Geometry Object
+- added ability to save the Source File as PDF (still have to adjust the page size)
+- fixed the generate_from_geometry_2() method to use the default values in case the parameters are None
+- added ability to save the Source File as PDF - fixed page size and added line breaks
+- more mods to generate_from_geometry_2() method
+- fixed bug saving the FlatCAM project saying the file is used by another application
+- fixed issue #347 - a Gerber generated by Sprint Layout with copper pour ON will not have rendered the copper pour
+
+16.12.2019
+
+- in Geometry Editor added support for Jump To function such as that it works within the Editor Tools themselves. For now it works only in absolute jumps
+- modified the Jump To method such that now allows relative jump from the current mouse location
+- fixed the Defaults upgrade overwriting the new version number with the old one
+- fixed issue with clear_polygon3() - the one who makes 'lines' and fixed the NCC Tool
+- some small changes in the FlatCAMGeometry.on_tool_add() method
+- made sure that in Geometry Editor the self.app.mouse attribute is updated with the current mouse position (x, y)
+- updated the preprocessor files
+- fixed the HPGL preprocessor
+- fixed the CNCJob geometry created with HPGL preprocessor
+- fixed GCode generated with HPGL preprocessor to output only integer coordinates
+- fixed the HPGL2 import parsing for absolute linear movements
+- fixed the line endings for setup_ubuntu.sh
+
+15.12.2019
+
+- fixed a bug that created a crash in special conditions; it's related to the QSettings in FlatCAMGui.py
+- added a script to remove the bad profiles from resource pictures. From here: https://stackoverflow.com/questions/22745076/libpng-warning-iccp-known-incorrect-srgb-profile/43415650, link mentioned by @camellan (Andrey Kultyapov)
+- prepared the application for usage of dark icons in case of using the dark theme
+- updated the languages
+- fixed a typo
+- fixed layout on first launch of the app
+- fixed some issues with the recent preparation for dark icons resource usage
+- added a new preprocessor file contributed by Daniel Friderich and added fixes for it
+- modified the export_gcode() method and the preprocessors such that the preprocessors now have the information if to include the gcode header
+- updated all the translation PO files and the POT file
+- RELEASE 8.99
+
+14.12.2019
+
+- finished the strings update in the Google-translated Spanish
+- finished the strings update in the Google-translated French
+
+13.12.2019
+
+- HPGL2 import: added support for circles, arcs and 3-point arcs. Everything works only for absolute coordinates.
+- removed the .plt extension from Gcode extensions
+- some strings updated; update on the Romanian translate
+- more strings updated; finished the Romanian translation update
+- some work in updating the Spanish Google-translation
+- small updates (Google Translate) in Russian and Brazilian-PT languages
+
+12.12.2019
+
+- finished the Calibration Tool
+- changed the Scale Entry in Object UI to FCEntry() GUI element in order to allow expressions to be entered. E.g: 1/25.4
+- some small changes in the Scale button handler in FlatCAMObj() class
+- added option to save objects as PDF files in File -> Save menu
+- optimized the FlatCAMGerber.clear_plot_apertures() method
+- some changes in the ObjectUI and for the Geometry UI
+- finished a very rough and limited HPGL2 file import
+
+11.12.2019
+
+- started work in HPGL2 parser
+- some more work in Calibration Tool
+
+10.12.2019
+
+- small changes in the Geometry UI
+- now extracut option in the Geometry Object will recut as many points as many they are within the specified re-cut length
+- if extracut_length is zero then the extracut will cut up until the first point in path no matter what the distance is
+- in Gerber isolation, when selection mode is checked, now area selection works too
+- in CNCJob UI, now the CNCJob objects made out of Excellon objects will display their CNC tools (drill bits)
+- fixed a cumulative error when using the Tool Offset for Excellon objects
+- added the display of the real depth of cut (cut z + offset_z) for CNC tools made out of an Excellon object
+- for OpenGL graphic mode added a fit_view() execution on canvas initialization
+- fixed Excellon scaling the UI values
+- replaced the SpindleSpeed entry with a FCSpinner() GUI element; if speed is set to 0 it will amount to None
+
+9.12.2019
+
+- updated the border for fit view on OpenGL graphic mode
+- Calibration Tool - added preferences values
+- Calibration Tool - more work on it
+- reverted this change: "selected object in Project used to ask twice for UI build" because it will not build the UI when a tab is closed for Document object and the object is selected
+- fixed issue after Geometry object edit; the GCode made from an edited object did not reflect the changes in the object
+- in Object UI, the Scale FCDoubleSpinner will no longer work for Return key press due of issues of unwanted scaling on focusOut event
+- in FlatCAMGeometry fixed the scale and offset methods to always process the self.solid_geometry
+- Calibration Tool - finished the calibrated object creation method
+- updated the POT file
+- fixed an error in the German PO file
+- updated the languages PO files
+- some fixes on the app.jump_to() method
+- made sure that the ToolFilm will not start saving a file if there are no objects loaded
+- some fixes on the app.jump_to() method for the Legacy(2D) graphic mode
+
+8.12.2019
+
+- Calibrate Tool - rearranged the GUI
+- in Geometry UI made sure that the Label that points to the Tool parameters show clearly that those parameters apply only for the selected tool
+- fixed an small issue in Object UI
+- small fixes: selected object in Project used to ask twice for UI build; if scale factor in Object UI is 1 do nothing as there is no point in scaling with a factor of 1
+- in Geometry UI added a button that allow updating all the tools in the Tool Table with the current values in the UI form
+- updated Tcl commands to make use of either 0 or False for False value or 1 or True for True in case of a parameter with type Bool
+
+7.12.2019
+
+- renamed Calibrate Excellon Tool to a simpler Calibrate Tool
+- Calibrate Tool - when generating verification GCode it will always load into an Editor from which it can be edited and/or saved. On save the editor will close.
+- updated the CNCJob and Drillcncjob Tcl Commands to use 0 and 1 as values for the parameters that are stated as of bool type, beside the normal keywords of False and True
+- Calibrate Tool - working on it
+
+6.12.2019
+
+- fixed the toggle_units() method so now the grid values are accurate to the decimal
+- cleaned up the Excellon parser and fixed some bugs (old and new); Excellon parser has it's own convert_units() method no longer inheriting from Geometry
+- in Excellon UI fixed bug that did not allow editing of the Offset Z parameter from the Tool table
+- in Properties Tool added new information's for the tools in the CNCjob objects
+- few bugs solved regarding the newly created empty objects
+- changed everywhere the name "preprocessor" with "preprocessor"
+- updated the preprocessor files in the toolchange section in order to avoid a graphical representation of travel lines glitch
+- fixed a GUI glitch in the Excellon tool table
+- added units to some of the parameters in the Properties Tool
+
+5.12.2019
+
+- in NCC Tool, the new Geometry object that is created on copper clear now has the solid_geometry attribute where the geometry is stored not only in the obj.tools attribute
+- Copper Thieving Tool - added units label for the pattern plated area
+- Properties Tool - added a new parameter, the copper area which show the area of the copper features for the Gerber objects
+- Copper Thieving Tool - added a default value for the mask clearance when generating pattern plating mask
+- application wide change: introduced the precision parameters in Edit -> Preferences who will control how many decimals to use in the app parameters
+- changed the FCDoubleSpinner, FCSpinner and FCEntry GUI elements to allow passing an alignment value: left, right or center (not yet available in the app)
+- fixed the GUI of the Geometry Editor Tool Transform and adapted it to use the precision setting
+- updated Gerber Editor to use the precision setting and the Gerber Editor Transform Tool to use the FCDoubleSpinner GUI element
+- in Properties Tool added more information's regarding the Excellon tools, about travelled distance and job time; fixed issues when doing Properties on the CNCjob objects
+- TODO: I need to solve the mess in units conversion: it's too convoluted
+
+4.12.2019
+
+- made sure that if an older preferences file is detected then there are no errors and only the parameters that are currently active are loaded; the factory defaults file is deleted and recreated in the new format
+- in Preferences added a new button: 'Close' to close the Preferences window without saving
+- fixed bug in FCSpinner and FCDoubleSpinner GUI elements, that are now the main GUI element in FlatCAM, that made partial selection difficult
+- updated the Paint Tool in Geometry Editor to use the FCDoubleSpinner
+- added the possibility for suffix presence on the FCSpinner and FCDoubleSpinner GUI Elements
+- added the '%' symbol for overlap fields; I still need to divide the content by 100 to get the original (0 ... 1) value
+- fixed the overlap parameter all over the app to reflect the change to percentage
+- in Copper Thieving Tool added the display of the patterned plated area (approximate area)
+- Copper Thieving Tool - updated the way plated area is calculated making it a bit more precise but still it is a bit bigger than the actual area
+- fixed the Copy Object function to copy also the source_file content
+- Copper Thieving Tool - when the clearance value for the pattern plating mask is negative it will be applied to the origin soldermask too
+- modified the GUI in all tools making the text of the buttons bold and adding a new button named Reset Tool which have to reset the tool GUI and variables (need to check all tools to see if happen)
+- when the Tool tab is in focus, clicking on canvas will no longer change the focus to Project tab
+- Copper Thieving Tool - when creating the pattern platting mask will make a new Gerber object with it
+- small fix in the GUI layout in Gerber Editor
+
+3.12.2019
+
+- in Preferences added an Apply button which apply the modified preferences but does not save to a file, minimizing the file IO operations; Ctrl+S key combo does the Apply now.
+- updated some of the default values to metric, values that were missed previously
+- remade the Gerber Editor way to import an Gerber object into the editor in such a way to use the multiprocessing
+- various small fixes
+- fix for toggle grid lines updating canvas only after moving the mouse (hack, actually)
+- some changes in the UI layout in Cutout Tool
+- added some geometry parameters in Cutout Tool as a convenience, to be passed to the generated Geometry objects
+
+2.12.2019
+
+- fixed issue #343; updated the Image Tool
+- improvements in Importing SVG as Gerber - added an automatic source generation (it is not infallible)
+- a hack to import correctly the QRCode exported as SVG from FlatCAM
+- added 3 new tcl commands: export dxf, export excellon and export gerber
+- added a Cancel button in Tools DB when requesting to add a tool in the Geometry Tool Table
+- modified the default values for the METRIC system; the app now starts in the METRIC units since the majority of the world use the METRIC units system
+- small changes, updated the estimated release date
+- Tool Copper Thieving - added pattern plating mask generation feature
+
+28.11.2019
+
+- small fixes in NCC Tool and in the FlatCAMGeometry class
+
+27.11.2019
+
+- in Tool Film added the page size and page orientation in case of saving the film as PDF file
+- the application workspace has now a lot more options selectable in the Edit -> Preferences -> General -> GUI Preferences
+- updated the drawing of the workspace such that the application overall start time is improved and after first turn on of the workspace, toggling it will have no performance penalty
+- updated the workspace functions to work in Legacy(2D) graphic mode
+- adjusted the selection color transparency for the Legacy(2D) graphic mode because it was too transparent for the fill
+
+26.11.2019
+
+- updated the Film Tool to allow exporting PDF and PNG file (besides the SVG file)
+
+25.11.2019
+
+- In Gerber isolation changed the UI
+- in Gerber isolation added the option to selectively isolate only certain polygons
+- made some optimizations in FlatCAMGerber.isolate() method
+- updated the 'single' isolation of Gerber polygons to remove the polygon if clicked on it and it is already in the list of single polygons to be isolated
+- clicking to add a polygon when doing Single type isolation will add a blue shape marking the selected polygon, second click will remove that shape
+- fixed bugs in Paint Tool when painting single polygon
+- in Gerber isolation added the option to selectively isolate only certain polygons - made it to work for Legacy(2D) graphic mode
+- remade the Paint Tool - single polygon painting; now it can single paint a list of polygons that are clicked onto (right click will start the actual painting)
+
+23.11.2019
+
+- in Tool Fiducials added a new fiducial type: chess pattern
+- work in Calibrate Excellon Tool
+- fixed the line numbers in the TextPlainEdit to fit all digits of the line number; activated the line numbers for FlatCAMScript objects too
+- line numbers in the TextPlainEdit for the selected line are bold
+- made sure that the self.defaults dictionary is deepcopy-ed in the self.options dictionary
+- made sure that the units are read from the self.defaults and not from the GUI
+- added Robber Bar option to Copper Thieving Tool
+
+22.11.2019
+
+- Tool Fiducials - added GUI in Preferences and entries in self.defaults dict
+- Tool Fiducials - updated the source_file object for the modified Gerber files
+- working on adding line numbers to the TextPlainEdit
+- GCode view now has line numbers
+- solved a bug that made selection of objects on canvas impossible if there is an object of type FlatCAMScript or FlatCAMDocument opened
+
+21.11.2019
+
+- Tool Fiducials - finished the part with adding copper fiducials: manual and auto
+- Tool Fiducials - added choice of shapes: circular or non-standard cross
+- Tool Fiducials - finished the work on adding soldermask openings
+- Tool Fiducials - finished the tool
+- updated requirements.txt and setup_ubuntu.sh files
+
+20.11.2019
+
+- Tool Fiducials - added the GUI and the shortcut key
+- Tool Fiducials - updated the icon
+
+19.11.2019
+
+- removed the f-strings replacing them with the traditional string formatting due of not being supported by older versions of Python 3
+- fixed some TclCommands: MillDrills and OpenGerber
+- fixed bug in Tool Subtract that did not allow subtracting Gerber objects
+- starting to work on Tool Fiducials - created the file
+
+18.11.2019
+
+- finished the Dots and Squares options in the Copper Thieving Tool
+- working on the Lines option in Copper Thieving Tool
+- finished the Lines option in the Copper Thieving Tool; still have to add threading to maximize performance
+- finished Copper Thieving Tool improvements
+- working on the Calibrate Excellon Tool - remade the UI
+
+17.11.2019
+
+- optimized the storage of the Gerber mark shapes by making them one layer only
+- optimized the Distance Tool such that the distance utility geometry will be shown even when the mark shapes are plotted.
+- updated the make_freezed.py file to make sure that all the required files are included
+- updated the setup_ubuntu.sh to include the sudo command (courtesy of Krishna Torque on bitbucket)
+
+16.11.2019
+
+- fixed issue #341 that affected both preprocessors that have inlined feedrate: marlin and repetier. The used feedrate was the Feedrate X-Y and instead had to be Feedrate Z.
+
+15.11.2019
+
+- added all the recognized extensions to the save dialog filters; latest extension used will be preselected next time a save operation occur
+- fixed issue #335. The FCDoubleSPinBox (and FCSpinBox) value was not used when the user entered data but just hovered away the mouse expecting the data to be already confirmed
+- converted setup_ubuntu.sh to Linux line endings
+
+14.11.2019
+
+- made sure that the 'default' preprocessor file is always loaded first such that this name is always first in the GUI comboboxes
+- added a class in GUIElements for a TextEdit box with line numbers and highlight
+
+13.11.2019
+
+- trying to improve the performance of View CNC Code command by using QPlainTextEdit; made the mods for it
+- when using the Find function in the TextEditor and the result reach the bottom of the document, the next find will be the first in the document (before it defaulted to the beginning of the document)
+- finished improving the show of text files in FlatCAM (CNC Code, Source files)
+- fixed an issue in the FlatCAMObj.FlatCAMGerber.convert_units() which needed to be updated after changes elsewhere
+
+12.11.2019
+
+- added two new preprocessor files for ISEL CNC and for BERTA CNC
+- clicking on a FCTable GUI element empty space will also clear the focus now
+
+11.11.2019
+
+- in Tools Database added a contextual menu to add/copy/delete tool; Ctrl+C, DEL keys work too; key T for adding a tool is now only partially working
+- in Tools Database made the status bar messages show when adding/copying/deleting tools in DB
+- changed all Except statements that were single to except Exception as recommended in some PEP
+- renamed the Copper Fill Tool to Copper Thieving Tool as this is a more appropriate name; started to add ability for more types of copper thieving besides solid
+- fixed some issues recently introduced in ParseSVG
+- updated POT file
+- fixed GUI in 2Sided Tool
+- extending the Copper Thieving Tool - wip
+
+9.11.2019
+
+- fixed a new bug that did not allow to open the FlatCAM Preferences files by doubleclick in Windows
+- added a new feature: Tools Database for Geometry objects; resolved issue #308
+- added tooltips for the Tools Database table headers and buttons
+
+8.11.2019
+
+- updated the make file for frozen executable
+
+7.11.2019
+
+- added the '.ngc' file extension to the GCode Save file dialog filter
+- made the 'M2' Gcode command footer optional, default is False (can be set using the TclCommand: set_sys cncjob_footer True)
+- added a setting in Preferences to force the GCode output to have the Windows line-endings even for non-Windows OS's
+
+6.11.2019
+
+- the "CRTL+S" key combo when the Preferences Tab is in focus will save the Preferences instead of saving the Project
+- fixed bug in the Paint Tool that did not allow choosing a Paint Method that was not Standard
+- made sure that in the FlatCAMGeometry.merge() all the source data is deepcopy-ed in the final object
+- the font color of the Preferences tab will change to red if settings are not saved and it will revert to default when saved
+- fixed issue #333. The Geometry Editor Paint tool was not working and using it resulted in an error
+
+5.11.2019
+
+- added a new setting named 'Allow Machinist Unsafe Settings' that will allow the Travel Z and Cut Z to take both positive and negative values
+- fixed some issues when editing a multigeo geometry
+
+4.11.2019
+
+- wip
+- getting rid of all the Options GUI and related functions as it is no longer supported
+- updated the UI in Geometry UI
+- optimized the order of the defaults storage declaration and the update of the Preferences GUI from the defaults
+- started to add a Tool Database
+
+3.11.2019
+
+- fixed the V-shape tool diameter calculation in NCC Tool
+- in NCC Tool made the new tool dia (circular type) a parameter in Preferences
+- fixed a small issue with clicking in a disabled FCDoubleSpinner or FCSpinner still doing a selection
+
+30.10.2019
+
+- converted SolderPaste Tool to usage of SpinBoxes; changed the SolderPaste Tool UI in Preferences too
+- fixed a bug in SolderPaste Tool that did not allow to view the GCode
+
+29.10.2019
+
+- a bug fix in Geometry Object
+- fixed some missing properties in Tool Calculators
+
+28.10.2019
+
+- in Tools: Paint, NCC and Copper Fill, when using the Area Selection, now the selected areas will stay drawn as markers until the user click RMB
+- in legacy2D graphic engine, adding an utility geometry no longer draw the older ones, overwriting them
+- fixed some issues in the Gerber Editor (Aperture add was double adding an aperture)
+- converted Gerber Editor to usage of SpinBoxes
+- working on the Calibrate Excellon Tool
+- converted Excellon Editor to usage of SpinBoxes
+- Calibrate Excellon Tool: working on self.calculate_factors() method
+
+27.10.2019
+
+- Copper Fill Tool: some PEP8 corrections
+
+26.10.2019
+
+- fixed an error in the FCDoubleSpinner class when FlatCAM is run on system with locale that use the comma as decimal separator
+
+25.10.2019
+
+- QRCode Tool: added ability to add negative QRCodes (perhaps they can be isolated on copper?); added a clear area surrounding the QRCode in case it is dropped on a copper pour (region); fixed the Gerber export
+- QRCode Tool: all parameters are hard-coded for now
+- small update
+- fixed imports in all TclCommands
+- fixed the requirements.txt and setup_ubuntu.sh files
+- QRCode Tool: change the plot method parameter
+- QRCode Tool: added ability to save the generated QRCode as SVG file or PNG file
+- QRCode Tool: added the feature to save the PNG file with transparent background
+- QRCode Tool: added GUI category in Preferences window
+- QRCode Tool: shortcut key for this tool is now Alt+Q while PDF import Tool was relegated to Ctrl+Q combo key shortcut
+- added a new FlatCAM Tool: Copper Fill Tool. It will pour copper into a Gerber filling all empty space with copper, at a clearance distance of the Gerber features
+- Copper Fill Tool: added possibility to select between a bounding box rectangular or convex hull when the reference is the geometry of the source Gerber object
+- Copper Fill Tool: cleanup on not regular tool exit
+- Copper Fill Tool: added GUI category in Edit -> Preferences window
+- QRCode Tool: added a selection limit parameter to control the selection shape vs utility geo
+
+24.10.2019
+
+- added some placeholder texts in the TextBoxes.
+- working on QRCode Tool; added the utility geometry and initial functional layout
+- working on QRCode Tool; finished adding the QRCode geometry to the selected Gerber object and also finished adding the 'follow' geometry needed when exporting the Gerber object as a Gerber file in addition to the 'solid' geometry in the obj.apertures
+- working on QRCode Tool; finished offsetting the geometry both in apertures and in solid_geometry; updated the source_file of the source object
+
+23.10.2019
+
+- QRCode Tool - a SVG object is generated and plotted on screen having the QRCode data
+- fixed an import error in Distance Tool
+- fixed the Toggle Grid Lines functionality
+
+22.10.2019
+
+- working on the Calibrate Excellon Tool
+- finished the GUI layout for the Calibrate Excellon Tool
+- start working on QRCode Tool - not working yet
+- start working on QRCode Tool - searching for alternatives
+
+21.10.2019
+
+- the context menu for the Tabs in notebook and PlotTabArea is launched now on right mouse click on tabs themselves
+- fixed an error when trying to view the source file and there is no object selected
+- updated the Objects menu signals so whenever an object is (de)selected in the Project Tab, it's state will reflect the (un)checked state of the actions in the Object menu
+- fixed issue in Gerber Object UI of not updating the value of CutZ entry on TipDia or TipAngle entries change. Fixed issue #324
+
+18.10.2019
+
+- fixed a small bug in BETA status change
+- updated the About FlatCAM window
+- reverted change in tool dia being able to take only positive values in Gerber Object UI
+- started to work to a new tool: Calibrate Excellon Tool
+- solved the issue #329
+
+18.10.2019
+
+- finished the update on the Google translated Spanish translation.
+- updated the new objects icons for Gerber, Geometry and Excellon
+- small import problem fixed
+- RELEASE 8.98
+
+17.10.2019
+
+- fixed a bug in milling holes due of a message wrongly formatted
+- added an translator email address
+- finished the update on German Google translation. Part of it was corrected by Jens Karstedt
+- finished the update of the Romanian translation.
+- finished the Objects menu by adding the ability of actions to be checked so they will show the selected status of the objects and by adding to actions to (de)select all objects
+- fixed and optimized the click selection on canvas
+- fixed Gerber parsing for very simple Gerber files that have only one Polygon but many LPC zones
+- fixed SVG export; fix bug #327
+- finished the update on French Google translation.
+
+16.10.2019
+
+- small update to Romanian translation files
+
+15.10.2019
+
+- adjusted the layout in NCC Tool
+- fixed bug in Panelization Tool for which in case of Excellon objects, the panel kept a reference to the source object which created issues when moving or disabling/enabling the plots
+- cleaned up the module imports throughout the app (the TclCommands are not yet verified)
+- removed the styling on the comboboxes cellWidget's in the Tool Tables
+- replaced some of the icons that did not looked Ok on the dark theme
+- added a new toolbar button for the Copy object functionality
+- changed the Panelize tool icon
+- corrected some strings
+
+14.10.2019
+
+- modified the result highlight color in Check Rules Tool
+- added the Check Rules Tool parameters to the unit conversion list
+- converted more of the Preferences entries to FCDoubleSpinner and FCSpinner
+- converted all ObjectUI entries to FCDoubleSpinner and FCSpinner
+- updated the translation files (~ 89% translation level)
+- changed the splash screen as it seems that FlatCAM beta will never be more than beta
+- changed some of the signals from returnPressed to editingFinished due of now using the SpinBoxes
+- fixed an issue that caused the impossibility to load a GCode file that contained the % symbol even when was loaded in a regular way from the File menu
+- re-added the CNC tool diameter entry for the CNCjob object in Selected tab.FCSpinner
+- since the CNCjob geometry creation is only useful for graphical purposes and have no impact on the GCode creation I have removed the cascaded union on the GCode geometry therefore speeding up the Gcode display by many factors (perhaps hundreds of times faster)
+- added a secondary link in the bookmark manager
+- fixed the bookmark manager order of bookmark links; first two links are always protected from deletion or drag-and-drop to other positions
+- fixed a whole load of PyQT signal problems generated by recent changes to the usage of SpinBoxes; added a signal returnPressed for the FCSpinner and for FCDoubleSpinner
+- fixed issue in Paint Tool where the first added tool was expected to have a float diameter but it was a string
+- updated the translation files to the latest state in the app
+
+13.10.2019
+
+- fixed a bug in the Merge functions
+- fixed the Export PNG function when using the 2D legacy graphic engine
+- added a new capability to toggle the grid lines for both graphic engines: menu link in View and key shortcut combo Alt+G
+- changed the grid colors for 3D graphic engine when in Dark mode
+- enhanced the Tool Film adding the Film adjustments and added the GUI in Preferences
+- set the GUI layout in Preferences for a new category named Tools 2
+- added the Preferences for Check Rules Tool and for Optimal Tool and also updated the Film Tool to use the default settings in Preferences
+
+12.10.2019
+
+- fixed the Gerber Parser convert units unnecessary usage. The only units conversion should be done when creating the new object, after the parsing
+- more fixes in Rules Check Tool
+- optimized the Move Tool
+- added support for key-based panning in 3D graphic engine. Moving the mouse wheel while pressing the CTRL key will pan up-down and while pressing SHIFT key will pan left-right
+- fixed a bug in NCC Tool and start trying to make the App responsive while the NCC tool is run in a non-threaded way
+- fixed a GUI bug with the QMenuBar recently introduced
+
+11.10.2019
+
+- added a Bookmark Manager and a Bookmark menu in the Help Menu
+- added an initial support for rows drag and drop in FCTable in GUIElements; it crashes for CellWidgets for now, if CellWidgetsare in the table rows
+- fixed some issues in the Bookmark Manager
+- modified the Bookmark manager to be installed as a widget tab in Plot Area; fixed the drag & drop function for the table rows that have CellWidgets inside
+- marked in gray color the rows in the Bookmark Manager table that will populate the BookMark menu
+- made sure that only one instance of the BookmarkManager class is active at one time
+
+10.10.2019
+
+- fixed Tool Move to work only for objects that are selected but also plotted, therefore disabled objects will not be moved even if selected
+
+9.10.2019
+
+- updated the Rules Check Tool - solved some issues
+- made FCDoubleSpinner to use either comma or dot as a decimal separator
+- fixed the FCDoubleSpinner to only allow the amount of decimals already set with set_precision()
+- fixed ToolPanelize to use FCDoubleSpinner in some places
+
+8.10.2019
+
+- modified the FCSpinner and FCDoubleSpinner GUI elements such that the wheel event will not change the values inside unless there is a focus in the lineedit of the SpinBox
+- in Preferences General, Gerber, Geometry, Excellon, CNCJob sections made all the input fields of type SpinBox (where possible)
+- updated the Distance Tool utility geometry color to adapt to the dark theme canvas
+- Toggle Code Editor now works as expected even when the user is closing the Editor tab and not using the command Toggle Code Editor
+- more changes in Preferences GUI, replacing the FCEntries with Spinners
+- some small fixes in toggle units conversion
+- small GUI changes
+
+7.10.2019
+
+- fixed an conflict in a signal usage that was triggered by Tool SolderPaste when a new project was created
+- updated Optimal Tool to display both points coordinates that made a distance (and the minimum) not only the middle point (which is still the place where the jump happen)
+- added a dark theme to FlatCAM (only for canvas). The selection is done in Edit -> Preferences -> General -> GUI Settings
+- updated the .POT file and worked a bit in the romanian translation
+- small changes: reduced the thickness of the axis in 3D mode from 3 pixels to 1 pixel
+- made sure that is the text in the source file of a FlatCAMDocument is HTML is loaded as such
+- added inverted icons
+
+6.10.2019
+
+- remade the Mark area Tool in Gerber Editor to be able to clear the markings and also to delete the marked polygons (Gerber apertures)
+- working in adding to the Optimal Tool the rest of the distances found in the Gerber and the locations associated; added GUI
+- added display of the results for the Rules Check Tool in a formatted way
+- made the Rules Check Tool document window Read Only
+- made Excellon and Gerber classes from camlib into their own files in the flatcamParser folder
+- moved the ApertureMacro class from camlib to ParseGerber file
+- moved back the ApertureMacro class to camlib for now and made some import changes in the new ParseGerber and ParseExcellon classes
+- some changes to the tests - perhaps I will try adding a few tests in the future
+- changed the Jump To icon and reverted some changes to the parseGerber and ParseExcellon classes
+- updated Tool Optimal with display of all distances (and locations of the middle point between where they happen) found in the Gerber Object
+
+5.10.2019
+
+- remade the Tool Calculators to use the QSpinBox in order to simplify the user interaction and remove possible errors
+- remade: Tool Cutout, Tool 2Sided, Tool Image, Panelize Tool, NCC Tool, Paint Tool to use the QSpinBox GUI elements
+- optimized the Transformation Tool both in GUI and in functionality and replaced the entries with QSpinBox
+- fixed an issue with the tool table context menu in Paint Tool
+- made some changes in the GUI in Paint Tool, NCC Tool and SolderPaste Tool
+- changed some of the icons; added attributions for icons source in the About FlatCAM window
+- added a new tool in the Geometry Editor named Explode which is the opposite of Union Tool: it will explode the polygons into lines
+
+4.10.2019
+
+- updated the Film Tool and added the ability to generate Punched Positive films (holes in the pads) when a Gerber file is the film's source. The punch holes source can be either an Excellon file or the pads center
+- optimized Rules Check Tool so it runs faster when doing Copper 2 Copper rule
+- small GUI changes in Optimal Tool and in Film Tool
+- some PEP8 corrections
+- some code annotations to make it easier to navigate in the FlatCAMGUI.py
+- fixed exit FullScreen with Escape key
+- added a new menu category in the MenuBar named 'Objects'. It will hold the objects found in the Project tab. Useful when working in FullScreen
+- disabled a log.debug in ObjectColection.get_by_name()
+- added a Toggle Notebook button named 'NB' in the QMenBar which toggle the notebook
+- in Gerber isolation section, the tool dia value is updated when changing from Circular to V-shape and reverse
+- in Tool Film, when punching holes in a positive film, if the resulting object geometry is the same as the source object geometry, the film will not ge generated
+- fixed a bug that when a Gerber object is edited and it has as solid_geometry a single Polygon, saving the result was failing due of len() function not working on a single Polygon
+- added the Distance Tool, Distance Min Tool, Jump To and Set Origin functions to the Edit Toolbar
+
+3.10.2019
+
+- previously I've added the initial layout for the FlatCAMDocument object
+- added more editing features in the Selected Tab for the FlatCAMDocument object
+
+2.10.2019
+
+- fixed bug in Geometry Editor that did not allow the copy of geometric elements
+- created a new class that holds all the Code Editor functionality and integrated as a Editor in FlatCAM, the location is in flatcamEditors folder
+- remade all the functions for view_source, scripts and view_code to use the new TextEditor class; now all the Code Editor tabs are being kept alive, before only one could be in an open state
+- changed the name of the new object FlatCAMNotes to a more general one FlatCAMDocument
+- changed the way a new FlatCAMScript object is made, the method that is processing the Tcl commands when the Run button is clicked is moved to the FlatCAMObj.FlatCAMScript() class
+- reused the Multiprocessing Pool declared in the App for the ToolRulesCheck() class
+- adapted the Project context menu for the new types of FLatCAM objects
+- modified the setup_recent_files to accommodate the new FlatCAM objects
+- made sure that when an FlatCAMScript object is deleted, it's associated Tab is closed
+- fixed the FlatCMAScript object saving when project is saved (loading a project with this script object is not working yet)
+- fixed the FlatCMAScript object when loading it from a project
+
+1.10.2019
+
+- fixed the FCSpinner and FCDoubleSpinner GUI elements to select all on first click and deselect on second click in the Spinbox LineEdit
+- for Gerber object in Selected Tab added ability to chose a V-Shape tool and therefore control the isolation better by adjusting the cut width of the isolation in function of the cut depth, tip width of the tool and the tip angle of the tool
+- when in Gerber UI is selected the V-Shape tool, all those parameters (tip dia, tip angle, tool_type = 'V' and cut Z) are transferred to the generated Geometry and prefilled in the Geoemtry UI
+- added a fix in the Gerber parser to work even when there is no information about zero suppression in the Gerber file
+- added new settings in Edit -> Preferences -> Gerber for Gerber Units and Gerber Zeros to be used as defaults in case that those informations are missing from the Gerber file
+- added new settings for the Gerber newly introduced feature to isolate with the V-Shape tools (tip dia, tip angle, tool_type and cut Z) in Edit -> Preferences -> Gerber Advanced
+- made those settings just added for Gerber, to be updated on object creation
+- added the Geo Tolerance parameter to those that are converted from MM to INCH
+- added two new FlatCAM objects: FlatCAMScript and FlatCAMNotes
+
+30.09.2019
+
+- modified the Distance Tool such that the number of decimals all over the tool is set in one place by the self.decimals
+- added a new tool named Minimum Distance Tool who will calculate the minimum distance between two objects; key shortcut: SHIFT + M
+- finished the Minimum Distance Tool in case of using it at the object level (not in Editors)
+- completed the Minimum Distance Tool by adding the usage in Editors
+- made the Minimum Distance Tool more precise for the Excellon Editor since in the Excellon Editor the holes shape are represented as a cross line but in reality they should be evaluated as circles
+- small change in the UI layout for Check Rules Tool by adding a new rule (Check trace size)
+- changed a tooltip in Optimal Tool
+- in Optimal Tool added display of how frequent that minimum distance is found
+- in Tool Distance and Tool Minimal Distance made the entry fields read-only
+- in Optimal Tool added the display of the locations where the minimum distance was detected
+- added support to use Multi Processing (multi core usage, not simple threading) in Rules Check Tool
+- in Rules Check Tool added the functionality for the following rules: Hole Size, Trace Size, Hole to Hole Clearance
+- in Rules Check Tool added the functionality for Copper to Copper Clearance
+- in Rules Check Tool added the functionality for Copper to Outline Clearance, Silk to Silk Clearance, Silk to Solder Mask Clearance, Silk to Outline Clearance, Minimum Solder Mask Sliver, Minimum Annular Ring
+- fixes to cover all possible situations for the Minimum Annular Ring Rule in Rules Check Tool
+- some fixes in Rules Check Tool and added a QSignal that is fired at the end of the job
+
+29.09.2019
+
+- work done for the GUI layout of the Rule Check Tool
+- setup signals in the Rules Check Tool GUI
+- changed the name of the Measurement Tool to Distance Tool. Moved it's location to the Edit Menu
+- added Angle parameter which is continuously updated to the Distance Tool
+
+28.09.2019
+
+- changed the icon for Open Script and reused it for the Check Rules Tool
+- added a new tool named "Optimal Tool" which will determine the minimum distance between the copper features for a Gerber object, in fact determining the maximum diameter for a isolation tool that can be used for a complete isolation
+- fixed the ToolMeasurement geometry not being displayed
+- fixed a bug in Excellon Editor that crashed the app when editing the first tool added automatically into a new black Excellon file
+- made sure that if the big mouse cursor is selected, the utility geometry in Excellon Editor has a thicker line width (2 pixels now) so it is visible over the geometry of the mouse cursor
+- fixed issue #319 where generating a CNCJob from a geometry made with NCC Tool made the app crash; also #328 which is the same
+- replaced in FlatCAM Tools and in FLatCAMObj.py and in Editors all references to hardcoded decimals in string formats for tools with a variable declared in the __init__()
+- fixed a small bug that made app crash when the splash screen is disabled: it was trying to close it without being open
+
+27.09.2019
+
+- optimized the toggle axis command
+- added possibility of using a big mouse cursor or a small mouse cursor. The big mouse cursor is made from 2 infinite lines. This was implemented for both graphic engines
+- added ability to change the cursor size when the small mouse cursor is selected in Preferences -> General
+- removed the line that remove the spaces from the path parameter in the Tcl commands that open something (Gerber, Gcode, Excellon)
+- fixed issue with the old SysTray icon not hidden when the application is restarted programmatically
+- if an object is edited but the result is not saved, the app will reload the edited object UI and set the Selected tab as active
+- made the mouse cursor (big, small) change in real time for both graphic engines
+- started to work on a new FlatCAM tool: Rules Check
+- created the GUI for the Rule Check Tool
+- if there are (x, y) coordinates in the clipboard, when launching the "Jump to" function, those coordinates will be preloaded in the Dialog box.
+- when the combo SHIFT + LMB is executed there is no longer a deselection of objects
+- when the "Jump to" function is called, the mouse cursor (if active) will be moved to the new position and the screen position labels will be updated accordingly
+
+
+27.09.2019
+
+- RELEASE FlatCAM 8.97
+
+26.09.2019
+
+- added a Copy All button in the Code Editor, clicking this button will copy all text in the editor to the clipboard
+- added a 'Milling Type' radio button in Geometry Editor Preferences to contorl the type of geometry will be generated in the Geo Editor (for conventional milling or for the climb milling)
+- added the functionality to allow climb/conventional milling selection for the geometry created in the Geometry Editor
+- now any Geometry that is edited in Geometry editor will have coordinates ordered such that the resulting Gcode will allow the selected milling type in the 'Milling Type' radio button in Geometry Editor Preferences (which depends also of the spindle direction)
+- some strings update
+- French Google-translation at 100%
+- German Google-translation update to 100%
+- updated the other languages and the .POT file
+- changed some strings (that should not have been included for translation) and updated language files and the .POT file
+- fixed issue when rebooting from within in cx_freezed state (it issued a startup arg with the path to FlatCAM.exe but that triggered the last sys.exit(2) that I had in the App.args_at_startup())
+- modified the make_win script for the presence of MatPlotLib
+
+25.09.2019
+
+- French translation at 33%
+- fixed the 'Jump To' function to work in legacy graphic engine
+- in legacy graphic engine fixed the mouse cursor shape when grid snapping is ON, such that it fits with the shape from the OpenGL graphic engine
+- in legacy graphic engine fixed the axis toggle
+- French Google-translation at 48%
+
+24.09.2019
+
+- fixed the fullscreen method to show the application window in fullscreen wherever the mouse pointer it is therefore on the screen we are working on; before it was showing always on the primary screen
+- fixed setup_ubuntu.sh to include the matplotlib package required by the Legacy (2D) graphic engine
+- in legacy graphic engine, fixed issue where immediately after changing the mouse cursor snapping the mouse cursor shape was not updated
+- in legacy graphic engine, fixed issue where while zooming the mouse cursor shape was not updated
+- in legacy graphic engine, fixed issue where immediately after panning finished the mouse cursor shape was not updated
+- unfortunately the fix for issue where while zooming the mouse cursor shape was not updated braked something in way that Matplotlib work with PyQt5, therefore I removed it
+- fixed a bug in legacy graphic engine: when doing the self.app.collection.delete_all() in new_project an app crash occurred
+- implemented the Annotation change in CNCJob Selected Tab for the legacy graphic engine
+
+23.09.2019
+
+- in legacy graphic engine, fixed bug that made the old object disappear when a new object was loaded
+- in legacy graphic engine, fixed bug that crashed the app when creating a new project
+- in legacy graphic engine, fixed a bug that when deleting an object all objects where deleted
+- added a new TclCommand named "set_origin" which will set the origin for all loaded objects to zero if the -auto True argument is used and to a certain x,y location if the format is: set_origin 5,7
+- added a new TclCommand named "bounds" which will return a list of bounds values from a supplied list of objects names. For use in Tcl Scripts
+- updated strings in the translations and the .POT file
+- added the new keywords to the default keywords list
+- fixed the FullScreen option not working for the 3D graphic engine (due bug of Qt5 when OpenGL window is fullscreen) by creating a sort of fullscreen
+- added a final fix that allow full coverage of the screen in FullScreen in Windows and still the menus are working
+- optimized the Gerber mark shapes display
+- fixed a color format bug in Tool Move for 3D engine
+- made sure that when the Tool Move is used on a Gerber file with mark shapes active, those mark shapes are deleted before the actual move
+- in legacy graphic engine, fixed issue with Delete shortcut key trying to delete twice
+- 26% in Google-translated French translation and updated some strings too
+
+22.09.2019
+
+- fixed zoom directions legacy graphic engine (previous commit)
+- fixed display of MultiGeo geometries in legacy graphic engine
+- fixed Paint tool to work in legacy graphic engine
+- fixed CutOut Tool to work in legacy graphic engine
+- fixed display of distance labels and code optimizations in ToolPaint and NCC Tool
+- adjusted axis at startup for legacy graphic engine plotcanvas
+- when the graphic engine is changed in Edit -> Preferences -> General -> App Preferences, the application will restart
+- made hover shapes work in legacy graphic engine
+- fixed bug in display of the apertures marked in the Aperture table found in the Gerber Selected tab and through this made it to also work with the legacy graphic engine
+- fixed annotation in Mark Area Tool in Gerber Editor to work in legacy graphic engine
+- fixed the MultiColor plot option Gerber selected tab to work in legacy graphic engine
+- documented some methods in the ShapeCollectionLegacy class
+- updated the files: setup_ubuntu.sh and requirements.txt
+- some strings changed to be easier for translation
+- updated the .POT file and the translation files
+- updated and corrected the Romanian and Spanish translations
+- updated the .PO files for the rest of the translations, they need to be filled in.
+- fixed crash when trying to set a workspace in FlatCAM in the Legacy engine 2D mode by disabling this function for the case of 2D mode
+- fixed exception when trying to Fit View (shortcut key 'V') with no object loaded, in legacy graphic engine
+
+21.09.2019
+
+- fixed Measuring Tool in legacy graphic engine
+- fixed Gerber plotting in legacy graphic engine
+- fixed Geometry plotting in legacy graphic engine
+- fixed CNCJob and Excellon plotting in legacy graphic engine
+- in legacy graphic engine fixed the travel vs cut lines in CNCJob objects
+- final fix for key shortcuts with modifier in legacy graphic engine
+- refactored some of the code in the legacy graphic engine
+- fixed drawing of selection box when dragging mouse on screen and the selection shape drawing on the selected objects
+- fixed the moving drawing shape in Tool Move in legacy graphic engine
+- fixed moving geometry in Tool Measurement in legacy graphic engine
+- fixed Geometry Editor to work in legacy graphic engine
+- fixed Excellon Editor to work in legacy graphic engine
+- fixed Gerber Editor to work in legacy graphic engine
+- fixed NCC tool to work in legacy graphic engine
+
+20.09.2019
+
+- final fix for the --shellvar having spaces within the assigned value; now they are retained
+- legacy graphic engine - made the mouse events work (click, release, doubleclick, dragging)
+- legacy graphic engine - made the key events work (simple or with modifiers)
+- legacy graphic engine - made the mouse cursor work (enabled/disabled, position report); snapping is not moving the cursor yet
+- made the mouse cursor snap to the grid when grid snapping is active
+- changed the axis color to the one used in the OpenGL graphic engine
+- work on ShapeCollectionLegacy
+- fixed mouse cursor to work for all objects
+- fixed event signals to work in both graphic engines: 2D and 3D
+
+19.09.2019
+
+- made sure that if FlatCAM is registered with a file extension that it does not recognize it will exit
+- added some fixes in the the file extension detection
+- added some status messages for the Tcl script related methods
+- made sure that optionally, when a script is run then it is also loaded into the code editor
+- added control over the display of Sys Tray Icon in Edit -> Preferences -> General -> GUI Settings -> Sys Tray Icon checkbox
+- updated some of the default values to more reasonable ones
+- FlatCAM can be run in HEADLESS mode now. This mode can be selected by using the --headless=1 command line argument or by changing the line headless=False to True in config/configuration.txt file. In this mod the Sys Tray Icon menu will hold only the Run Scrip menu entry and Exit entry.
+- added a new TclCommand named quit_flatcam which will ... quit FlatCAM from Tcl Shell or from a script
+- fixed the command line argument --shellvar to work when there are spaces in the argument value
+- fixed bug in Gerber editor that did not allow to display all shapes after it encountered one shape without 'solid' geometry
+- fixed bug in Gerber Editor -> selection area handler where if some of the selected shapes did not had the 'solid' geometry will silently abort selection of further shapes
+- added new control in Edit -> Preferences -> General -> Gui Preferences -> Activity Icon. Will select a GIF from a selection, the one used to show that FlatCAM is working.
+- changed the script icon to a smaller one in the sys tray menu
+- fixed bug with losing the visibility of toolbars if at first startup the user tries to change something in the Preferences before doing a first save of Preferences
+- changed a bit the splash PNG file
+- moved all the GUI Preferences classes into it's own file flatcamGUI.PreferencesUI.py
+- changed the default method for Paint Tool to 'all'
+
+18.09.2019
+
+- added more functionality to the Extension registration with FLatCAM and added to the GUI in Edit -> Preferences -> Utilities
+- fixed the parsing of the Manufacturing files when double clicking them and they are registered with FlatCAM
+- fixed showing the GUI when some settings (maximized_GUI) are missing from QSettings
+- added sys tray menu
+- added possibility to edit the custom keywords used by the autocompleter (in Tcl Shell and in the Code Editor). It is done in the Edit -> Preferences -> Utilities
+- added a new setting in Edit -> Preferences -> General -> GUI Settings -> Textbox Font which control the font on the Textbox GUI elements
+- fixed issue with the sys tray icon not hiding after application close
+- added option to run a script from the context menu of the sys tray icon. Changed the color of the sys tray icon to a green one so it will be visible on light and dark themes
+
+17.09.2019
+
+- added more programmers that contributed to FlatCAM over the years, in the "About FlatCAM" -> Programmers window
+- fixed issue #315 where a script run with the --shellfile argument crashed the program if it contained a TclCommand New
+- added messages in the Splash Screen when running FlatCAM with arguments at startup
+- fixed issue #313 where TclCommand drillcncjob is spitting errors in Tcl Shell which should be ignored
+- fixed an bug where the pywrapcp name from Google OR-Tools is not defined; fix issue #316
+- if FlatCAM is started with the 'quit' or 'exit' as argument it will close immediately and it will close also another instance of FlatCAM that may be running
+- added a new command line parameter for FlatCAM named '--shellvars' which can load a text file with variables for Tcl Shell in the format: one variable assignment per line and looking like: 'a=3' without quotes
+- made --shellvars into --shellvar and make it only one list of commands passed to the Tcl. The list is separated by comma but without spaces. The variables are accessed in Tcl with the names shellvar_x where x is the index in the list of command comma separated values
+- fixed an issue in the TclShell that generated an exception IndexError which crashed the software
+- fixed the --shellvar and --shellfile FlatCAM arguments to work together but the --shellvar has precedence over --shellfile as it is most likely that whatever variable set by --shellvar will be used in the script file run by --shellfile
+
+16.09.2019
+
+- modified the TclCommand New so it will no longer close all tabs when called (it closed the Code Editor tab which may have been holding the code that run)
+- fixed the App.on_view_source() method for CNCJob objects: the Gcode will now contain the Prepend and Append code from the Edit -> Preferences -> CNCJob -> CNCJob Options
+- added a new parameter named 'muted' for the TclCommands: cncjob, drillcncjob and write_gcode. Setting it as -muted 1 will disable the error reporting in TCL Shell
+- some GUI optimizations
+- more GUI optimizations related to being part of the Advanced category or not
+- added possibility to change the positive SVG exported file color in Tool Film
+- fixed some issues recently introduced in the TclCommands CNCJob, DrillCNCJob and write_gcode; changed some parameters names
+- fixed issue in the Laser preprocessor where the laser was turned on as soon as the GCode started creating an unwanted cut up until the job start
+- added new links in Menu -> Help (Excellon, Gerber specifications and a Report Bug)
+- made the splashscreen to be showed on the current monitor on systems with multiple monitors
+- added a new entry in Menu -> View -> Redraw All which is doing what the name says: redraw all loaded objects
+- fixed issue where in TCl Shell the Windows paths were not understood due of backslash symbol understood as escape symbol instead of path separator
+- made sure that in for the TclCommand cncjob and for the drillcncjob if one of the args is stated but no value then the value used will be the default one
+- made available the TSA algorithm for drill path optimization when the used OS is 64bit. When used OS is 32bit the only available algorithm is TSA
+
+15.09.2019
+
+- refactored FlatCAMGeometry.mtool_gen_cncjob() method
+- fixed the TclCommandCncjob to work for multigeometry Geometry objects; still I had to fix the list of tools parameter, right now I am setting it to an empty list
+- update the Tcl Command isolate to be able to isolate exteriors, interiors besides the full isolation, using the iso_type parameter
+- fixed issue in ToolPaint that could not allow area painting of a geometry that was a list and not a Geometric element (polygon or MultiPolygon)
+- fixed UI showing before the initialization of FlatCAM is finished when the last state of GUI was maximized
+- finished updating the TclCommand cncjob to work for multi-geo Geometry objects with the parameters from the args
+- fixed the TclCommand cncjob to use the -outname parameter
+- added some more keywords in the data_model for auto-completer
+- fixed isolate TclCommand to use correctly the -outname parameter
+- added possibility to see the GCode when right clicking on the Project tab on a CNCJob object and then clicking View Source
+- added a new TclCommand named PlotObjects which will plot a list of FlatCAM objects
+- made that after opening an object in FlatCAM it is not automatically plotted. If the user wants to plot it can use the TclCommands PlotAll or PlotObjects
+- modified the TclCommands so that open files do not plot the opened files automatically
+- made all TclCommands not to be plotted automatically
+- made sure that all TclCommands are not threaded
+- added new TclCommands: NewExcellon, NewGerber
+- fixed the TclCommand open_project
+- added the outname parameter (and established an default name when outname not used) for the AlignDrillGrid and AlignDrill TclCommands
+- fixed Scripts repeating multiple time when the Code Editor is used. This repetition was correlated with multiple openings of the Code Editor window (especially after an error)
+- added the autocomplete keywords that can be changed to the defaults dictionary
+
+14.09.2019
+
+- more string changes
+- updated translation files
+- fixed a small bug
+- minor changes in the Code Editor GUI
+- minor changes in the 'FlatCAM About' GUI
+- added a new shortcut key F5 for doing the 'Plot All'
+- updated the google-translated Spanish translation strings
+- fixed the layouts to include toolbars breaks where it was needed
+- whenever the user changes the Excellon format values for loading files, the Export Excellon Format values will be updated
+- made optional the behavior of Excellon Export values following the values in the Excellon Loading section
+- updated the translations (except RU) and the POT file
+- added to the NonCopperClear.clear_copper() a parameter to be able to run it non-threaded
+
+13.09.2019
+
+- added control for simplification when loading a Gerber file in Preferences -> Gerber -> Gerber General -> Simplify
+- added some messages for the Edit -> Conversions -> Join methods() to make sure that there are at least 2 objects selected for join
+- added a grid layout in on_about()
+- upgraded the Script Editor to be able to run Tcl commands in batches
+- added some ToolTips for the buttons in the Code Editor
+- converted the big strings that hold the shortcut keys descriptions to smaller string to make translations easier
+- fixed some of the strings that were left in the old way
+- updated the POT file
+- updated Romanian language partially
+- added a new way to handle scripts with repeating Tcl commands
+- added new buttons in the Tools toolbar for running, opening and adding new scripts
+- finished the Romanian translation update and updated the POT file
+
+12.09.2019
+
+- small changes in the TclCommands: MillDrills, MillSlots, DrillCNCJob: the new parameter for tolerance is now named: diatol
+- cleaned up the 'About FlatCAM' window, started to give credits for the translation team
+- started to add an application splash screen
+- now, Excellon and Gerber edited objects will have the source_code updated and ready to be saved
+- the edited Gerber (or Excellon) object now is kept in the app after editing and the edited object is a new object
+- added a message to the splash screen
+- remade the splash screen to show multiple messages on app initialization
+- added a new splash image
+- added a control in Preferences -> General -> GUI Settings -> Splash Screen that control if the splash screen is shown at startup
+
+11.09.2019
+
+- added the Gerber code as source for the panelized object in Panelize Tool
+- whenever a Gerber file is deleted, the mark_shapes objects are deleted also
+- made faster the Gerber parser for the case of having a not valid geometry when loading a Gerber file without buffering
+- updated code in self.on_view_source() to make it more responsive
+- fixed the TclCommand MillHoles
+- changed the name of TclCommand MillHoles to MillDrills and added a new TclCommand named MillSlots
+- modified the MillDrills and MillSlots TclCommands to accept as parameter a list of tool diameters to be milled instead of tool indexes
+- fixed issue #302 where a copied object lost all the tools
+- modified the TclCommand DrillCncJob to have as parameter a list of tool diameters to be drilled instead of tool indexes
+- updated the Spanish translation (Google-translation)
+- added a new parameter in the TclCommands: DrillCNCJob, MillDrills, MillSlots named tol (from tolerance). If the diameters of the milled (drilled) dias are within the tolerance specified of the diameters in the Excellon object than those diameters will be processed. This is to help account for rounding errors when having units conversion
+
+10.09.2019
+
+- made isolation threaded
+- fixed a small typo in TclCommandCopperCLear
+- made changing the Plot kind in CNCJob selected tab, threaded
+- fixed an object used before declaring it in NCC Tool - Area option
+- added progress for the generation of Isolation geometry
+- added progress and possibility of graceful exit in Panel Tool
+- added graceful exit possibility when creating Isolation
+- changed the workers thread priority back to Normal
+- when disabling plots, if the selection shape is visible, it will be deleted
+- small changes in Tool Panel (eliminating some deepcopy() calls)
+- made sure that all the progress counters count to 100%
+
+9.09.2019
+
+- changed the triangulation type in VisPyVisuals for ShapeCollectionVisual class
+- added a setting in Preferences -> Gerber -> Gerber General named Buffering. If set to 'no' the Gerber objects load a lot more faster (perhaps 10 times faster than when set to 'full') but the visual look is not so great as all the aperture polygons can be seen
+- added for NCC Tool and Paint Tool a setting in the Preferences -> Tools --> (NCC Tool/ Paint Tool) that can set a progressive plotting (plot shapes as they are processed)
+- some fixes in Paint Tool when done over the Gerber objects in case that the progressive plotting is selected
+- some fixes in Gerber isolation in case that the progressive plotting is selected; added a 'Buffer solid geometry' button shown only when progressive plotting for Gerber object is selected. It will buffer the entire geometry of the object and plot it, in a threaded way.
+- modified FlatCAMObj.py file to the new string format that will allow easier translations
+- modified camlib.py, FlatCAMAPp.py and ObjectCollection.py files to the new string format that will allow easier translations
+- updated the POT file and the German language
+- fixed issue when loading unbuffered a Gerber file that has negative regions
+- fixed Panelize Tool to save the aperture geometries into the panel apertures. Also made the tool faster by removing the buffering at the end of the job
+- modified FlatCAMEditor's files to the new string format that will allow easier translations
+- updated POT file and the Romanian translation
+
+8.09.2019
+
+- added some documentation strings for methods in FlatCAMApp.App class
+- removed some @pyqtSlot() decorators as they interfere with the current way the program works
+
+7.09.2019
+
+- added a method to gracefully exit from threaded tasks and implemented it for the NCC Tool and for the Paint Tool
+- modified the on_about() function to reflect the reality in 2019 - FlatCAM it is an Open Source contributed software
+- remade the handlers for the Enable/Disable Project Tree context menu so they are threaded and activity is shown in the lower right corner of the main window
+- added to GUI new options for the Gerber object related to area subtraction
+- added new feature in the Gerber object isolation allowing for the isolation to avoid an area defined by another object (Gerber or Geometry)
+- all transformation functions show now the progress (rotate, mirror, scale, offset, skew)
+- made threaded the Offset and Scale operations found in the Selected tab of the object
+- corrected some issues and made Move Tool to show correctly when it is plotting and when it is offsetting the objects position
+- made Set Origin feature, threaded
+- updated German language translation files
+- separated the Plotting thread from the transformations threads
+
+6.09.2019
+
+- remade visibility threaded
+- reimplemented the thread listening for new FlatCAM process starting with args so it is no longer subclassed but using the moveToThread function
+- added percentage display for work done in NCC Tool
+- added percentage display for work done in Paint Tool
+- some fixes and prepared the activity monitor area to receive updated texts
+- added progress display in status bar for generating CNCJob from Excellon objects
+- added progress display in status bar for generating CNCJob from Geometry objects
+- modified all the FlatCAM tools strings to the new format in which the status is no longer included in the translated strings to make it easier for the future translations
+- more customization for the progress display in case of NCC Tool, Paint Tool and for the Gcode generation
+- updated POT file with the new strings
+- made the objects offset (therefore the Move Tool) show progress display
+
+5.09.2019
+
+- fixed issue with loading files at start-up
+- fixed issue with generating bounding box geometry for CNCJob objects
+- added some more infobar messages and log.debug
+- increased the priority for the worker tasks
+- hidden the configuration for G91 coordinates due of deciding to leave this development for another time; it require too much refactoring
+- added some messages for the G-code generation so the user know in which stage the process is
+
+4.09.2019
+
+- started to work on support for G91 in Gcode (relative coordinates)
+- added support for G91 coordinates
+- working in plotting the CNCjob generated with G91 coordinates
+
+3.09.2019
+
+- in NCC tool there is now a depth of cut parameter named 'Cut Z' which will dictate how deep the tool will enter into the PCB material
+- in NCC tool added possibility to choose between the type of tools to be used and when V-shape is used then the tool diameter is calculated from the desired depth of cut and from the V-tip parameters
+- small changes in NCC tool regarding the usage of the V-shape tool
+- fixed the isolation distance in NCC Tool for the tools with iso_op type
+- in NCC Tool now the Area adding is continuous until RMB is clicked (no key modifier is needed anymore)
+- fixed German language translation
+- in NCC Tool added a warning in case there are isolation tools and if those isolation's are interrupted by an area or a box
+- in Paint Tool made that the area selection is repeated until RMB click
+- in Paint Tool and NCC Tool fixed the RMB click detection when Area selection is used
+- finished the work on file extensions registration with FlatCAM. If the file extensions are deleted in the Preferences -> File Associations then those extensions are unregistered with FlatCAM
+- fixed bug in NCC Tools and in SolderPaste Tool if in Edit -> Preferences only one tool is entered
+- fixed bug in camblib.clear_polygon3() which caused that some copper clearing / paintings were not complete (some polygons were not processed) when the Straight Lines method was used
+- some changes in NCC Tools regarding of the clearing itself
+
+2.09.2019
+
+- fixed issue in NCC Tool when using area option
+- added formatting for some strings in the app strings, making the future translations easier
+- made changes in the Excellon Tools Table to make it more clear that the tools are selected in the # column and not in the Plot column
+- in Excellon and Gerber Selected tab made the Plot (mark) columns not selectable
+- some ToolTips were modified
+- in Properties Tool made threaded the calculation of convex_hull area and also made it to work for multi-geo objects
+- in NCC tool the type of tool that is used is transferred to the Geometry object
+- in NCC tool the type of isolation done with the tools selected as isolation tools can now be selected and it has also an Edit -> Preferences entry
+- in Properties Tool fixed the dimensions calculations (length, width, area) to work for multi-geo objects
+
+1.09.2019
+
+- fixed open handlers
+- fixed issue in NCC Tool where the tool table context menu could be installed multiple times
+- added new ability to create simple isolation's in the NCC Tool
+- fixed an issue when multi depth step is larger than the depth of cut
+
+27.08.2019
+
+- made FlatCAM so that whenever an associated file is double clicked, if there is an opened instance of FlatCAM, the file will be opened in the first instance without launching a new instance of FlatCAM. If FlatCAM is launched again it will spawn a new process (hopefully it will work when freezed).
+
+26.08.2019
+
+- added support for file associations with FlatCAM, for Windows
+
+25.08.2019
+
+- initial add of a new Tcl Command named CopperClear
+- remade the NCC Tool in preparation for the newly added TclCommand CopperClear
+- finished adding the TclCommandCopperClear that can be called with alias: 'ncc'
+- added new capability in NCC Tool when the reference object is of Gerber type and fixed some newly introduced errors
+- fixed issue #298. The changes in preprocessors done in Preferences dis not update the object UI layout as it was supposed to. The selection of Marlin postproc. did not unhidden the Feedrate Rapids entry.
+- fixed minor issues
+- fixed Tcl Command AddPolygon, AddPolyline
+- fixed Tcl Command CncJob
+- fixed crash due of Properties Tool trying to have a convex hull area on FlatCAMCNCJob objects which is not possible due of their nature
+- modified Tcl Command SubtractRectangle
+- fixed and modernized the Tcl Command Scale to be able to scale on X axis or on Y axis or on both and having as scale reference either the (0, 0) point or the minimum point of the bounding box or the center of the bounding box.
+- fixed and modernized the Tcl Command Skew
+
+24.08.2019
+
+- modified CutOut Tool so now the manual gaps adding will continue until the user is clicking the RMB
+- added ability to turn on/off the grid snapping and to jump to a location while in CutOut Tool manual gap adding action
+- made PlotCanvas class inherit from VisPy Canvas instead of creating an instance of it (work of JP)
+- fixed selection by dragging a selection shape in Geometry Editor
+- modified the Paint Tool. Now the Single Polygon and Area/Reference Object painting works with multiple tools too. The tools have to be selected in the Tool Table.
+- remade the TclCommand Paint to work in the new configuration of the the app (the painting functions are now in their own tool, Paint Tool)
+- fixed a bug in the Properties Tool
+- added a new TcL Command named Nregions who generate non-copper regions
+- added a new TclCommand named Bbox who generate a bounding box.
+
+23.08.2019
+
+- in Tool Cutout for the manual gaps, right mouse button click will exit from the action of adding gaps
+- in Tool Cutout tool I've added the possibility to create a cutout without bridge gaps; added the 'None' option in the Gaps combobox
+- in NCC Tool added ability to add multiple zones to clear when Area option is checked and the modifier key is pressed (either CTRL or SHIFT as set in Preferences). Right click of the mouse is an additional way to finish the job.
+- fixed a bug in Excellon Editor that made that the selection of drills is always cumulative
+- in Paint Tool added ability to add multiple zones to paint when Area option is checked and the modifier key is pressed (either CTRL or SHIFT as set in Preferences). Right click of the mouse is an additional way to finish the job.
+- in Paint Tool and NCC Tool, for the Area option, now mouse panning is allowed while adding areas to process
+- for all the FlatCAM tools launched from toolbar the behavior is modified: first click it will launch the tool; second click: if the Tool tab has focus it will close the tool but if another tab is selected, the tool will have focus
+- modified the NCC Tool and Paint Tool to work multiple times after first launch
+- fixed the issue with GUI entries content being deselected on right click in the box in order to copy the value
+- some changes in GUI tooltips
+- modified the way key modifiers are detected in Gerber Editor Selection class and in Excellon Editor Selection class
+- updated the translations
+- fixed aperture move in Gerber Editor
+- fixed drills/slots move in Excellon Editor
+- RELEASE 8.96
+
+22.08.2019
+
+- added ability to turn ON/OFF the detachable capability of the tabs in Notebook through a context menu activated by right mouse button click on the Notebook header
+- added ability to turn ON/OFF the detachable capability of the tabs in Plot Tab Area through a context menu activated by right mouse button click on the Notebook header
+- added possibility to turn application portable from the Edit -> Preferences -> General -> App. Preferences -> Portable checkbox
+- moved the canvas setup into it's own function and called it in the init() function
+- fixed the Buffer Tool in Geometry Editor; made the Buffer entry field a QDoubleSpinner and set the lower limit to zero.
+- fixed Tool Cutout so when the target Gerber is a single Polygon then the created manual geometry will follow the shape if shape is freeform
+- fixed TclCommandFollow command; an older function name was used who yielded wrong results
+- in Tool Cutout for the manual gaps, now the moving geometry that cuts gaps will orient itself to fit the angle of the cutout geometry
+
+21.08.2019
+
+- added feature in Paint Tool allowing the painting to be done on Gerber objects
+- added feature in Paint Tool to set how (and if) the tools are sorted
+- added Edit -> Preferences GUI entries for the above just added features
+- added new entry in Properties Tool which is the calculated Convex Hull Area (should give a more precise area for the irregular shapes than the box area)
+- added some more strings in Properties Tool for the translation
+- in NCC Tool added area selection feature
+- fixed bug in Excellon parser for the Excellon files that do not put the type of zero suppression they use in the file (like DipTrace eCAD)
+- fixed some issues introduced in NCC Tool
+
+20.08.2019
+
+- added ability to do copper clearing through NCC Tool on Geometry objects
+- replaced the layout from Grid to Form for the Reference objects comboboxes in Paint Tool and in NCC Tool
+
+19.08.2019
+
+- updated the Edit -> Preferences to include also the Gerber Editor complete Preferences
+- started to update the app strings to make it easier for future translations
+- fixed the POT file and the German translation
+- some mods in the Tool Sub
+- fixed bug in Tool Sub that created issues when toggling visibility of the plots
+- fixed the Spanish, Brazilian Portuguese and Romanian translations
+
+18.08.2019
+
+- made the exported preferences formatted therefore more easily read
+- projects at startup don't work in another thread so there is no multithreading if I want to double click an project and to load it
+- added messages in the application window title which show the progress in loading a project (which is not thread-safe therefore keeping the app from fully initialize until finished)
+- in NCC Tool added a new parameter (radio button) that offer the choice on the order of the tools both in tools table and in execution of engraving; added as a parameter also in Edit -> Preferences -> Tools -> NCC Tool
+- added possibility to drag & drop FlatCAM config files (*.FlatConfig) into the canvas to be opened into the application
+- added GUI in Paint tool in beginning to add Paint by external reference object
+- finished adding in Paint Tool the usage of an external object to set the extent of th area painted. For simple shapes (single Polygon) the shape can be anything, for the rest will be a convex hull of the reference object
+- modified NCC tool so for simple objects (single Polygon) the external object used as reference can have any shape, for the other types of objects the copper cleared area will be the convex hull of the reference object
+- modified the strings of the app wherever they contained the char seq so it is not included in the translated string
+- updated the translation files for the modified strings (and for the newly added strings)
+- added ability to lock toolbars within the context menu that is popped up on any toolbars right mouse click. The value is saved in QSettings and it is persistent between application startup's.
+
+17.08.2019
+
+- added estimated time of routing for the CNCJob and added travelled distance parameter for geometry, too
+- fixed error when creating CNCJob due of having the annotations disabled from preferences but the plot2() function from camlib.CNCJob class still performed operations who yielded TypeError exceptions
+- coded a more accurate way to estimate the job time in CNCJob, taking into consideration if there is a usage of multi depth which generate more passes
+- another fix (final one) for the Exception generated by the annotations set not to show in Preferences
+- updated translations and changed version
+- fixed installer issue for the x64 version due of the used CX_FREEZE python package which was in unofficial version (obviously not ready to be used)
+- fixed bug in Geometry Editor, in disconnect_canvas_event_handlers() where I left some part of code without adding a try - except block which was required
+- moved the initialization of the FlatCAM editors after a read of the default values. If I don't do this then only at the first start of the application the Editors are not functional as the Editor objects are most likely destroyed
+- fixed bug in FlatCAM editors that caused the shapes to be drawn without resolution when the app units where INCH
+- modified the transformation functions in all classes in camlib.py and FlatCAMObj.py to work with empty geometries
+- RELEASE 8.95
+
+17.08.2019
+
+- updated the translations for the new strings
+- RELEASE 8.94
+
+16.08.2019
+
+- working in Excellon Editor to Tool Resize to consider the slots, too
+- fixed a weird error that created a crash in the following scenario: create a new excellon, edit it, add some drills/slots, delete it without saving, create a new excellon, try to edit and a crash is issued due of a wrapped C++ error
+- fixed bug selection in Excellon editor that caused not to select the corresponding row (tool dia) in the tool table when a selection rectangle selected an even number of geometric elements
+- updated the default values to more convenient ones
+- remade the enable/disable plots functions to work only where it needs to (no sense in disabling a plot already disabled)
+- made sure that if multi depth is choosed when creating GCode then if the multidepth is more than the depth of cut only one cut is made (to the depth of cut)
+- each CNCJob object has now it's own text_collection for the annotations which allow for the individual enabling and disabling of the annotations
+- added new menu category in File -> Backup with two menu entries that duplicate the functions of the export/import preferences buttons from the bottom of the Preferences window
+- in Excellon Editor fixed the display of the number of slots in the Tool Table after the resize done with the Resize tool
+- in Excellon Editor -> Resize tool, made sure that when the slot is resized, it's length remain the same, because the tool should influence only the 'thickness' of the slot. Since I don't know anything but the geometry and tool diameters (old and new), this is only an approximation and computationally intensive
+- in Excellon Editor -> remade the Tool edit made by editing the diameter values in the Tools Table to work for slots too
+- In Excellon Editor -> fixed bug that caused incorrect display of the relative coordinates in the status bar
+
+15.08.2019
+
+- added Edit -> Preferences GUI and storage for the Excellon Editor Add Slots
+- added a confirmation message for objects delete and a setting to activate it in Edit -> Preferences -> Global
+- merged pull request from Mike Smith which fix an application crash when attempting to open a not-a-FlatCAM-project file as project
+- merged pull request from Mike Smith that add support for a new SVG element:
\n"
-#~ msgid "Run Script ...\tSHIFT+S"
-#~ msgstr "Skript ausführen ...\tSHIFT+S"
+#~ msgid "Run Script ...\tShift+S"
+#~ msgstr "Skript ausführen ...\tShift+S"
#~ msgid ""
#~ "FlatCAM
Version {version} {beta} ({date}) - "
@@ -18001,39 +18001,39 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Select All | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Copy Obj | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Open Excellon File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Open Gerber File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " New Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Open Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Project As | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Toggle Plot Area | \n"
#~ "
\n"
#~ " \n"
@@ -18041,39 +18041,39 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Copy Obj_Name | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Toggle Code Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Toggle the axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Open Preferences Window | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Rotate by 90 degree CCW | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Run a Script | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Toggle the workspace | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18081,59 +18081,59 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Calculators Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " 2-Sided PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Solder Paste Dispensing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Film PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Non-Copper Clearing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Paint Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " PDF Import Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformations Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " View File Source | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Cutout PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Enable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Disable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Disable Non-selected Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Toggle Full Screen | \n"
#~ "
\n"
#~ " \n"
@@ -18141,7 +18141,7 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+ALT+X"
+#~ " | Ctrl+Alt+X"
#~ "td>\n"
#~ " | Abort current task (gracefully) | \n"
#~ "
\n"
@@ -18339,40 +18339,40 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Objektnamen kopieren | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Code-Editor umschalten | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Toggle the axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Öffnen Sie das Einstellungsfenster"
#~ "td>\n"
#~ " |
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Um 90 Grad nach links drehen | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Führen Sie ein Skript aus | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Arbeitsbereich umschalten | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Neigung auf der X-Achse | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Neigung auf der Y-Achse | \n"
#~ "
\n"
#~ " \n"
@@ -18380,60 +18380,60 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Rechnerwerzeug | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " 2-seitiges PCBwerkzeug | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Lötpastenwerkzeug | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Film PCB Werkzeug | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Nicht-Kupfer löschen Werkzeug | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Paint Werkzeug | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " PDF-Importwerkzeug | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformationen\" Werkzeug | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " Dateiquelle anzeigen | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " PCB-Werkzeug ausschneiden | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Alle Plots aktivieren | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Deaktivieren Sie alle Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Deaktivieren Sie nicht ausgewählte "
#~ "Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Vollbild umschalten | \n"
#~ "
\n"
#~ " \n"
@@ -18441,7 +18441,7 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | STRG+ALT+X"
+#~ " | STRG+Alt+X"
#~ "td>\n"
#~ " | Aktuelle Aufgabe abbrechen "
#~ "(ordnungsgemäß) | \n"
@@ -18579,11 +18579,11 @@ msgstr ""
#~ " | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18591,15 +18591,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18607,15 +18607,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18707,7 +18707,7 @@ msgstr ""
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18795,11 +18795,11 @@ msgstr ""
#~ " Abort and return to Select | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Eraser Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18807,15 +18807,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Mark Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Poligonize Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformation Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18914,11 +18914,11 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Neigung auf der X-Achse | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Neigung auf der Y-Achse | \n"
#~ "
\n"
#~ " \n"
@@ -18926,15 +18926,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor-Umwandlungstool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Versatzform auf der X-Achse | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Versatzform auf der Y-Achse | \n"
#~ "
\n"
#~ " \n"
@@ -19151,15 +19151,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Bereichswerkzeug markieren | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Werkzeug \"Polygonisieren\" | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformations Werkzeug | \n"
#~ "
\n"
#~ " \n"
@@ -20271,11 +20271,11 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20283,15 +20283,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20299,15 +20299,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -20389,7 +20389,7 @@ msgstr ""
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -20478,11 +20478,11 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20490,15 +20490,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20506,15 +20506,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -20596,7 +20596,7 @@ msgstr ""
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
diff --git a/locale/en/LC_MESSAGES/strings.mo b/locale/en/LC_MESSAGES/strings.mo
index e569bb65..7d01d578 100644
Binary files a/locale/en/LC_MESSAGES/strings.mo and b/locale/en/LC_MESSAGES/strings.mo differ
diff --git a/locale/en/LC_MESSAGES/strings.po b/locale/en/LC_MESSAGES/strings.po
index f4300b66..782a66c3 100644
--- a/locale/en/LC_MESSAGES/strings.po
+++ b/locale/en/LC_MESSAGES/strings.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2019-12-28 20:25+0200\n"
-"PO-Revision-Date: 2019-12-28 20:25+0200\n"
+"POT-Creation-Date: 2020-04-25 14:59+0300\n"
+"PO-Revision-Date: 2020-04-25 14:59+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: en\n"
@@ -22,15 +22,43 @@ msgstr ""
"X-Poedit-SearchPathExcluded-1: doc\n"
"X-Poedit-SearchPathExcluded-2: tests\n"
-#: FlatCAMApp.py:1040
+#: FlatCAMApp.py:789 FlatCAMApp.py:821 FlatCAMCommon.py:1925
+#: FlatCAMCommon.py:2040 flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:570
+#: flatcamEditors/FlatCAMGeoEditor.py:5152 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolNCC.py:2396 flatcamTools/ToolNCC.py:2424
+#: flatcamTools/ToolNCC.py:2694 flatcamTools/ToolNCC.py:2726
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1843
+#: tclCommands/TclCommandCopperClear.py:128
+#: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127
+msgid "Seed"
+msgstr "Seed"
+
+#: FlatCAMApp.py:795 flatcamGUI/PreferencesUI.py:5588
+#: flatcamGUI/PreferencesUI.py:7695 flatcamTools/ToolCopperThieving.py:126
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1301
+#: flatcamTools/ToolNCC.py:1629 flatcamTools/ToolNCC.py:1914
+#: flatcamTools/ToolNCC.py:1978 flatcamTools/ToolNCC.py:2962
+#: flatcamTools/ToolNCC.py:2971 tclCommands/TclCommandCopperClear.py:190
+msgid "Itself"
+msgstr "Itself"
+
+#: FlatCAMApp.py:822 flatcamGUI/PreferencesUI.py:6119
+#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:1422
+#: tclCommands/TclCommandPaint.py:162
+msgid "All Polygons"
+msgstr "All Polygons"
+
+#: FlatCAMApp.py:1129
msgid "FlatCAM is initializing ..."
msgstr "FlatCAM is initializing ..."
-#: FlatCAMApp.py:1669
+#: FlatCAMApp.py:1814
msgid "Could not find the Language files. The App strings are missing."
msgstr "Could not find the Language files. The App strings are missing."
-#: FlatCAMApp.py:1763
+#: FlatCAMApp.py:1908
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started."
@@ -38,7 +66,7 @@ msgstr ""
"FlatCAM is initializing ...\n"
"Canvas initialization started."
-#: FlatCAMApp.py:1781
+#: FlatCAMApp.py:1928
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started.\n"
@@ -48,68 +76,66 @@ msgstr ""
"Canvas initialization started.\n"
"Canvas initialization finished in"
-#: FlatCAMApp.py:2401
-msgid ""
-"Type >help< to get started\n"
-"\n"
-msgstr ""
-"Type >help< to get started\n"
-"\n"
+#: FlatCAMApp.py:2570 flatcamGUI/GUIElements.py:2592
+msgid "Type >help< to get started"
+msgstr "Type >help< to get started"
-#: FlatCAMApp.py:2627 FlatCAMApp.py:9020
+#: FlatCAMApp.py:2822 FlatCAMApp.py:9400
msgid "New Project - Not saved"
msgstr "New Project - Not saved"
-#: FlatCAMApp.py:2702 FlatCAMApp.py:9088 FlatCAMApp.py:9125 FlatCAMApp.py:9166
-#: FlatCAMApp.py:9237 FlatCAMApp.py:9991 FlatCAMApp.py:11174
-#: FlatCAMApp.py:11233
-msgid ""
-"Canvas initialization started.\n"
-"Canvas initialization finished in"
-msgstr ""
-"Canvas initialization started.\n"
-"Canvas initialization finished in"
-
-#: FlatCAMApp.py:2704
-msgid "Executing Tcl Script ..."
-msgstr "Executing Tcl Script ..."
-
-#: FlatCAMApp.py:2719
+#: FlatCAMApp.py:2918
msgid ""
"Found old default preferences files. Please reboot the application to update."
msgstr ""
"Found old default preferences files. Please reboot the application to update."
-#: FlatCAMApp.py:2763 ObjectCollection.py:90 flatcamTools/ToolImage.py:248
+#: FlatCAMApp.py:2969 FlatCAMApp.py:3889 FlatCAMApp.py:3938 FlatCAMApp.py:3993
+#: FlatCAMApp.py:4068 FlatCAMApp.py:6117 FlatCAMApp.py:9484 FlatCAMApp.py:9521
+#: FlatCAMApp.py:9563 FlatCAMApp.py:9592 FlatCAMApp.py:9632 FlatCAMApp.py:9657
+#: FlatCAMApp.py:9709 FlatCAMApp.py:9745 FlatCAMApp.py:9791 FlatCAMApp.py:9832
+#: FlatCAMApp.py:9873 FlatCAMApp.py:9914 FlatCAMApp.py:9955 FlatCAMApp.py:9999
+#: FlatCAMApp.py:10055 FlatCAMApp.py:10087 FlatCAMApp.py:10119
+#: FlatCAMApp.py:10356 FlatCAMApp.py:10400 FlatCAMApp.py:10477
+#: FlatCAMApp.py:10532 FlatCAMCommon.py:371 FlatCAMCommon.py:413
+#: FlatCAMCommon.py:1107 FlatCAMCommon.py:1153 FlatCAMCommon.py:2537
+#: FlatCAMCommon.py:2583 ObjectCollection.py:122
+#: flatcamEditors/FlatCAMExcEditor.py:1024
+#: flatcamEditors/FlatCAMExcEditor.py:1092
+#: flatcamEditors/FlatCAMTextEditor.py:223 flatcamGUI/FlatCAMGUI.py:3389
+#: flatcamGUI/FlatCAMGUI.py:3601 flatcamGUI/FlatCAMGUI.py:3812
+#: flatcamTools/ToolFilm.py:754 flatcamTools/ToolFilm.py:900
+#: flatcamTools/ToolImage.py:247 flatcamTools/ToolMove.py:270
#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324
-msgid "Open cancelled."
-msgstr "Open cancelled."
+#: flatcamTools/ToolQRCode.py:791 flatcamTools/ToolQRCode.py:838
+msgid "Cancelled."
+msgstr "Cancelled."
-#: FlatCAMApp.py:2779
+#: FlatCAMApp.py:2985
msgid "Open Config file failed."
msgstr "Open Config file failed."
-#: FlatCAMApp.py:2794
+#: FlatCAMApp.py:3000
msgid "Open Script file failed."
msgstr "Open Script file failed."
-#: FlatCAMApp.py:2820
+#: FlatCAMApp.py:3026
msgid "Open Excellon file failed."
msgstr "Open Excellon file failed."
-#: FlatCAMApp.py:2833
+#: FlatCAMApp.py:3039
msgid "Open GCode file failed."
msgstr "Open GCode file failed."
-#: FlatCAMApp.py:2846
+#: FlatCAMApp.py:3052
msgid "Open Gerber file failed."
msgstr "Open Gerber file failed."
-#: FlatCAMApp.py:3201
+#: FlatCAMApp.py:3429
msgid "Select a Geometry, Gerber or Excellon Object to edit."
msgstr "Select a Geometry, Gerber or Excellon Object to edit."
-#: FlatCAMApp.py:3216
+#: FlatCAMApp.py:3444
msgid ""
"Simultaneous editing of tools geometry in a MultiGeo Geometry is not "
"possible.\n"
@@ -119,98 +145,96 @@ msgstr ""
"possible.\n"
"Edit only one geometry at a time."
-#: FlatCAMApp.py:3271
+#: FlatCAMApp.py:3502
msgid "Editor is activated ..."
msgstr "Editor is activated ..."
-#: FlatCAMApp.py:3292
+#: FlatCAMApp.py:3523
msgid "Do you want to save the edited object?"
msgstr "Do you want to save the edited object?"
-#: FlatCAMApp.py:3293 flatcamGUI/FlatCAMGUI.py:2165
+#: FlatCAMApp.py:3524 flatcamGUI/FlatCAMGUI.py:2273
msgid "Close Editor"
msgstr "Close Editor"
-#: FlatCAMApp.py:3296 FlatCAMApp.py:4014 FlatCAMApp.py:5067 FlatCAMApp.py:7724
-#: FlatCAMApp.py:7750 FlatCAMApp.py:8927 FlatCAMTranslation.py:108
-#: FlatCAMTranslation.py:193
+#: FlatCAMApp.py:3527 FlatCAMApp.py:5169 FlatCAMApp.py:8030 FlatCAMApp.py:8056
+#: FlatCAMApp.py:9305 FlatCAMTranslation.py:108 FlatCAMTranslation.py:199
+#: flatcamGUI/FlatCAMGUI.py:2479
msgid "Yes"
msgstr "Yes"
-#: FlatCAMApp.py:3297 FlatCAMApp.py:4015 FlatCAMApp.py:5068 FlatCAMApp.py:7725
-#: FlatCAMApp.py:7751 FlatCAMApp.py:8928 FlatCAMTranslation.py:109
-#: FlatCAMTranslation.py:194 flatcamGUI/PreferencesUI.py:5139
-#: flatcamGUI/PreferencesUI.py:5554 flatcamTools/ToolNonCopperClear.py:189
-#: flatcamTools/ToolPaint.py:161
+#: FlatCAMApp.py:3528 FlatCAMApp.py:5170 FlatCAMApp.py:8031 FlatCAMApp.py:8057
+#: FlatCAMApp.py:9306 FlatCAMTranslation.py:109 FlatCAMTranslation.py:200
+#: flatcamGUI/FlatCAMGUI.py:2480 flatcamGUI/PreferencesUI.py:5443
+#: flatcamGUI/PreferencesUI.py:5989 flatcamTools/ToolNCC.py:182
+#: flatcamTools/ToolPaint.py:166
msgid "No"
msgstr "No"
-#: FlatCAMApp.py:3298 FlatCAMApp.py:5069 FlatCAMApp.py:5925 FlatCAMApp.py:7006
-#: FlatCAMApp.py:8929 FlatCAMCommon.py:571 flatcamGUI/FlatCAMGUI.py:1260
+#: FlatCAMApp.py:3529 FlatCAMApp.py:5171 FlatCAMApp.py:6055 FlatCAMApp.py:7006
+#: FlatCAMApp.py:9307 FlatCAMCommon.py:572 FlatCAMCommon.py:2127
+#: flatcamGUI/FlatCAMGUI.py:1332
msgid "Cancel"
msgstr "Cancel"
-#: FlatCAMApp.py:3326
+#: FlatCAMApp.py:3561
msgid "Object empty after edit."
msgstr "Object empty after edit."
-#: FlatCAMApp.py:3375 FlatCAMApp.py:3395 FlatCAMApp.py:3410
+#: FlatCAMApp.py:3565 FlatCAMApp.py:3586 FlatCAMApp.py:3608
+msgid "Editor exited. Editor content saved."
+msgstr "Editor exited. Editor content saved."
+
+#: FlatCAMApp.py:3612 FlatCAMApp.py:3635 FlatCAMApp.py:3653
msgid "Select a Gerber, Geometry or Excellon Object to update."
msgstr "Select a Gerber, Geometry or Excellon Object to update."
-#: FlatCAMApp.py:3379
+#: FlatCAMApp.py:3615
msgid "is updated, returning to App..."
msgstr "is updated, returning to App..."
-#: FlatCAMApp.py:3774 FlatCAMApp.py:3888 FlatCAMApp.py:4929
+#: FlatCAMApp.py:3622
+msgid "Editor exited. Editor content was not saved."
+msgstr "Editor exited. Editor content was not saved."
+
+#: FlatCAMApp.py:3815 FlatCAMApp.py:3946 FlatCAMApp.py:5018
msgid "Could not load defaults file."
msgstr "Could not load defaults file."
-#: FlatCAMApp.py:3786 FlatCAMApp.py:3896 FlatCAMApp.py:4938
+#: FlatCAMApp.py:3827 FlatCAMApp.py:3954 FlatCAMApp.py:5027
msgid "Failed to parse defaults file."
msgstr "Failed to parse defaults file."
-#: FlatCAMApp.py:3831
-msgid "Preferences default restore was cancelled."
-msgstr "Preferences default restore was cancelled."
-
-#: FlatCAMApp.py:3839 FlatCAMApp.py:5017
+#: FlatCAMApp.py:3897 FlatCAMApp.py:5119
msgid "Could not load factory defaults file."
msgstr "Could not load factory defaults file."
-#: FlatCAMApp.py:3847 FlatCAMApp.py:5027
+#: FlatCAMApp.py:3905 FlatCAMApp.py:5129
msgid "Failed to parse factory defaults file."
msgstr "Failed to parse factory defaults file."
-#: FlatCAMApp.py:3855
+#: FlatCAMApp.py:3913
msgid "Preferences default values are restored."
msgstr "Preferences default values are restored."
-#: FlatCAMApp.py:3870 FlatCAMApp.py:3874
+#: FlatCAMApp.py:3928 FlatCAMApp.py:3932
msgid "Import FlatCAM Preferences"
msgstr "Import FlatCAM Preferences"
-#: FlatCAMApp.py:3880
-msgid "FlatCAM preferences import cancelled."
-msgstr "FlatCAM preferences import cancelled."
-
-#: FlatCAMApp.py:3904
+#: FlatCAMApp.py:3962
msgid "Imported Defaults from"
msgstr "Imported Defaults from"
-#: FlatCAMApp.py:3924 FlatCAMApp.py:3929
+#: FlatCAMApp.py:3982 FlatCAMApp.py:3987
msgid "Export FlatCAM Preferences"
msgstr "Export FlatCAM Preferences"
-#: FlatCAMApp.py:3936
-msgid "FlatCAM preferences export cancelled."
-msgstr "FlatCAM preferences export cancelled."
-
-#: FlatCAMApp.py:3945 FlatCAMApp.py:10389 FlatCAMApp.py:10437
-#: FlatCAMApp.py:10560 FlatCAMApp.py:10699 FlatCAMCommon.py:378
-#: FlatCAMCommon.py:1114 FlatCAMObj.py:6903
-#: flatcamEditors/FlatCAMTextEditor.py:274 flatcamTools/ToolFilm.py:1019
-#: flatcamTools/ToolFilm.py:1195 flatcamTools/ToolSolderPaste.py:1544
+#: FlatCAMApp.py:4002 FlatCAMApp.py:4076 FlatCAMApp.py:10776
+#: FlatCAMApp.py:10824 FlatCAMApp.py:10950 FlatCAMApp.py:11087
+#: FlatCAMCommon.py:379 FlatCAMCommon.py:1115 FlatCAMCommon.py:2545
+#: FlatCAMObj.py:7484 flatcamEditors/FlatCAMTextEditor.py:276
+#: flatcamTools/ToolFilm.py:1031 flatcamTools/ToolFilm.py:1212
+#: flatcamTools/ToolSolderPaste.py:1533
msgid ""
"Permission denied, saving not possible.\n"
"Most likely another app is holding the file open and not accessible."
@@ -218,45 +242,45 @@ msgstr ""
"Permission denied, saving not possible.\n"
"Most likely another app is holding the file open and not accessible."
-#: FlatCAMApp.py:3957
+#: FlatCAMApp.py:4014
msgid "Could not load preferences file."
msgstr "Could not load preferences file."
-#: FlatCAMApp.py:3976 FlatCAMApp.py:4985
+#: FlatCAMApp.py:4033 FlatCAMApp.py:4100 FlatCAMApp.py:5046
msgid "Failed to write defaults to file."
msgstr "Failed to write defaults to file."
-#: FlatCAMApp.py:3981
+#: FlatCAMApp.py:4038
msgid "Exported preferences to"
msgstr "Exported preferences to"
-#: FlatCAMApp.py:3998
-msgid "FlatCAM Preferences Folder opened."
-msgstr "FlatCAM Preferences Folder opened."
+#: FlatCAMApp.py:4058 FlatCAMApp.py:4063
+msgid "Save to file"
+msgstr "Save to file"
-#: FlatCAMApp.py:4009
-msgid "Are you sure you want to delete the GUI Settings? \n"
-msgstr "Are you sure you want to delete the GUI Settings? \n"
+#: FlatCAMApp.py:4087
+msgid "Could not load the file."
+msgstr "Could not load the file."
-#: FlatCAMApp.py:4012 flatcamGUI/FlatCAMGUI.py:1230
-msgid "Clear GUI Settings"
-msgstr "Clear GUI Settings"
+#: FlatCAMApp.py:4103
+msgid "Exported file to"
+msgstr "Exported file to"
-#: FlatCAMApp.py:4109
+#: FlatCAMApp.py:4186
msgid "Failed to open recent files file for writing."
msgstr "Failed to open recent files file for writing."
-#: FlatCAMApp.py:4120
+#: FlatCAMApp.py:4197
msgid "Failed to open recent projects file for writing."
msgstr "Failed to open recent projects file for writing."
-#: FlatCAMApp.py:4205 FlatCAMApp.py:10900 FlatCAMApp.py:10961
-#: FlatCAMApp.py:11090 FlatCAMObj.py:5050
-#: flatcamEditors/FlatCAMGrbEditor.py:4187 flatcamTools/ToolPcbWizard.py:437
+#: FlatCAMApp.py:4282 FlatCAMApp.py:11283 FlatCAMApp.py:11342
+#: FlatCAMApp.py:11470 FlatCAMApp.py:12196 FlatCAMObj.py:5605
+#: flatcamEditors/FlatCAMGrbEditor.py:4231 flatcamTools/ToolPcbWizard.py:433
msgid "An internal error has occurred. See shell.\n"
msgstr "An internal error has occurred. See shell.\n"
-#: FlatCAMApp.py:4206
+#: FlatCAMApp.py:4283
#, python-brace-format
msgid ""
"Object ({kind}) failed because: {error} \n"
@@ -265,63 +289,63 @@ msgstr ""
"Object ({kind}) failed because: {error} \n"
"\n"
-#: FlatCAMApp.py:4221
+#: FlatCAMApp.py:4298
msgid "Converting units to "
msgstr "Converting units to "
-#: FlatCAMApp.py:4324
+#: FlatCAMApp.py:4411
msgid "CREATE A NEW FLATCAM TCL SCRIPT"
msgstr "CREATE A NEW FLATCAM TCL SCRIPT"
-#: FlatCAMApp.py:4325
+#: FlatCAMApp.py:4412
msgid "TCL Tutorial is here"
msgstr "TCL Tutorial is here"
-#: FlatCAMApp.py:4327
+#: FlatCAMApp.py:4414
msgid "FlatCAM commands list"
msgstr "FlatCAM commands list"
-#: FlatCAMApp.py:4378 FlatCAMApp.py:4384 FlatCAMApp.py:4390 FlatCAMApp.py:4396
-#: FlatCAMApp.py:4402 FlatCAMApp.py:4408
+#: FlatCAMApp.py:4465 FlatCAMApp.py:4471 FlatCAMApp.py:4477 FlatCAMApp.py:4483
+#: FlatCAMApp.py:4489 FlatCAMApp.py:4495
msgid "created/selected"
msgstr "created/selected"
-#: FlatCAMApp.py:4423 FlatCAMApp.py:7086 FlatCAMObj.py:271 FlatCAMObj.py:302
-#: FlatCAMObj.py:318 FlatCAMObj.py:398 flatcamTools/ToolCopperThieving.py:1476
-#: flatcamTools/ToolFiducials.py:807 flatcamTools/ToolMove.py:220
-#: flatcamTools/ToolQRCode.py:726
+#: FlatCAMApp.py:4510 FlatCAMApp.py:7092 FlatCAMObj.py:278 FlatCAMObj.py:309
+#: FlatCAMObj.py:325 FlatCAMObj.py:405 flatcamTools/ToolCopperThieving.py:1482
+#: flatcamTools/ToolFiducials.py:809 flatcamTools/ToolMove.py:230
+#: flatcamTools/ToolQRCode.py:728
msgid "Plotting"
msgstr "Plotting"
-#: FlatCAMApp.py:4486 flatcamGUI/FlatCAMGUI.py:491
+#: FlatCAMApp.py:4573 flatcamGUI/FlatCAMGUI.py:530
msgid "About FlatCAM"
msgstr "About FlatCAM"
-#: FlatCAMApp.py:4512
+#: FlatCAMApp.py:4599
msgid "2D Computer-Aided Printed Circuit Board Manufacturing"
msgstr "2D Computer-Aided Printed Circuit Board Manufacturing"
-#: FlatCAMApp.py:4513
+#: FlatCAMApp.py:4600
msgid "Development"
msgstr "Development"
-#: FlatCAMApp.py:4514
+#: FlatCAMApp.py:4601
msgid "DOWNLOAD"
msgstr "DOWNLOAD"
-#: FlatCAMApp.py:4515
+#: FlatCAMApp.py:4602
msgid "Issue tracker"
msgstr "Issue tracker"
-#: FlatCAMApp.py:4519 FlatCAMApp.py:4860
+#: FlatCAMApp.py:4606 FlatCAMApp.py:4948 flatcamGUI/GUIElements.py:2583
msgid "Close"
msgstr "Close"
-#: FlatCAMApp.py:4534
+#: FlatCAMApp.py:4621
msgid "Licensed under the MIT license"
msgstr "Licensed under the MIT license"
-#: FlatCAMApp.py:4543
+#: FlatCAMApp.py:4630
msgid ""
"Permission is hereby granted, free of charge, to any person obtaining a "
"copy\n"
@@ -369,7 +393,7 @@ msgstr ""
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n"
"THE SOFTWARE."
-#: FlatCAMApp.py:4565
+#: FlatCAMApp.py:4652
msgid ""
"Some of the icons used are from the following sources:
Icons by oNline Web Fonts"
-#: FlatCAMApp.py:4597
+#: FlatCAMApp.py:4685
msgid "Splash"
msgstr "Splash"
-#: FlatCAMApp.py:4603
+#: FlatCAMApp.py:4691
msgid "Programmers"
msgstr "Programmers"
-#: FlatCAMApp.py:4609
+#: FlatCAMApp.py:4697
msgid "Translators"
msgstr "Translators"
-#: FlatCAMApp.py:4615
+#: FlatCAMApp.py:4703
msgid "License"
msgstr "License"
-#: FlatCAMApp.py:4621
+#: FlatCAMApp.py:4709
msgid "Attributions"
msgstr "Attributions"
-#: FlatCAMApp.py:4644
+#: FlatCAMApp.py:4732
msgid "Programmer"
msgstr "Programmer"
-#: FlatCAMApp.py:4645
+#: FlatCAMApp.py:4733
msgid "Status"
msgstr "Status"
-#: FlatCAMApp.py:4646 FlatCAMApp.py:4724
+#: FlatCAMApp.py:4734 FlatCAMApp.py:4812
msgid "E-mail"
msgstr "E-mail"
-#: FlatCAMApp.py:4654
+#: FlatCAMApp.py:4742
msgid "BETA Maintainer >= 2019"
msgstr "BETA Maintainer >= 2019"
-#: FlatCAMApp.py:4721
+#: FlatCAMApp.py:4809
msgid "Language"
msgstr "Language"
-#: FlatCAMApp.py:4722
+#: FlatCAMApp.py:4810
msgid "Translator"
msgstr "Translator"
-#: FlatCAMApp.py:4723
+#: FlatCAMApp.py:4811
msgid "Corrections"
msgstr "Corrections"
-#: FlatCAMApp.py:4832 FlatCAMApp.py:4840 FlatCAMApp.py:7769
-#: flatcamGUI/FlatCAMGUI.py:473
+#: FlatCAMApp.py:4920 FlatCAMApp.py:4928 FlatCAMApp.py:8075
+#: flatcamGUI/FlatCAMGUI.py:512
msgid "Bookmarks Manager"
msgstr "Bookmarks Manager"
-#: FlatCAMApp.py:4851
+#: FlatCAMApp.py:4939
msgid ""
"This entry will resolve to another website if:\n"
"\n"
@@ -458,27 +482,27 @@ msgstr ""
"If you can't get any informations about FlatCAM beta\n"
"use the YouTube channel link from the Help menu."
-#: FlatCAMApp.py:4858
+#: FlatCAMApp.py:4946
msgid "Alternative website"
msgstr "Alternative website"
-#: FlatCAMApp.py:4989 FlatCAMApp.py:7733
+#: FlatCAMApp.py:5050 FlatCAMApp.py:8039
msgid "Preferences saved."
msgstr "Preferences saved."
-#: FlatCAMApp.py:5043
+#: FlatCAMApp.py:5145
msgid "Failed to write factory defaults to file."
msgstr "Failed to write factory defaults to file."
-#: FlatCAMApp.py:5047
+#: FlatCAMApp.py:5149
msgid "Factory defaults saved."
msgstr "Factory defaults saved."
-#: FlatCAMApp.py:5057 flatcamGUI/FlatCAMGUI.py:3962
+#: FlatCAMApp.py:5159 flatcamGUI/FlatCAMGUI.py:4178
msgid "Application is saving the project. Please wait ..."
msgstr "Application is saving the project. Please wait ..."
-#: FlatCAMApp.py:5062 FlatCAMTranslation.py:188
+#: FlatCAMApp.py:5164 FlatCAMTranslation.py:194
msgid ""
"There are files/objects modified in FlatCAM. \n"
"Do you want to Save the project?"
@@ -486,27 +510,27 @@ msgstr ""
"There are files/objects modified in FlatCAM. \n"
"Do you want to Save the project?"
-#: FlatCAMApp.py:5065 FlatCAMApp.py:8925 FlatCAMTranslation.py:191
+#: FlatCAMApp.py:5167 FlatCAMApp.py:9303 FlatCAMTranslation.py:197
msgid "Save changes"
msgstr "Save changes"
-#: FlatCAMApp.py:5306
+#: FlatCAMApp.py:5423
msgid "Selected Excellon file extensions registered with FlatCAM."
msgstr "Selected Excellon file extensions registered with FlatCAM."
-#: FlatCAMApp.py:5328
+#: FlatCAMApp.py:5445
msgid "Selected GCode file extensions registered with FlatCAM."
msgstr "Selected GCode file extensions registered with FlatCAM."
-#: FlatCAMApp.py:5350
+#: FlatCAMApp.py:5467
msgid "Selected Gerber file extensions registered with FlatCAM."
msgstr "Selected Gerber file extensions registered with FlatCAM."
-#: FlatCAMApp.py:5538 FlatCAMApp.py:5595 FlatCAMApp.py:5623
+#: FlatCAMApp.py:5655 FlatCAMApp.py:5714 FlatCAMApp.py:5742
msgid "At least two objects are required for join. Objects currently selected"
msgstr "At least two objects are required for join. Objects currently selected"
-#: FlatCAMApp.py:5547
+#: FlatCAMApp.py:5664
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 "
@@ -522,51 +546,47 @@ msgstr ""
"be lost and the result may not be what was expected. \n"
"Check the generated GCODE."
-#: FlatCAMApp.py:5559
-msgid "Multigeo. Geometry merging finished"
-msgstr "Multigeo. Geometry merging finished"
-
-#: FlatCAMApp.py:5568
+#: FlatCAMApp.py:5676 FlatCAMApp.py:5686
msgid "Geometry merging finished"
msgstr "Geometry merging finished"
-#: FlatCAMApp.py:5590
+#: FlatCAMApp.py:5709
msgid "Failed. Excellon joining works only on Excellon objects."
msgstr "Failed. Excellon joining works only on Excellon objects."
-#: FlatCAMApp.py:5600
+#: FlatCAMApp.py:5719
msgid "Excellon merging finished"
msgstr "Excellon merging finished"
-#: FlatCAMApp.py:5618
+#: FlatCAMApp.py:5737
msgid "Failed. Gerber joining works only on Gerber objects."
msgstr "Failed. Gerber joining works only on Gerber objects."
-#: FlatCAMApp.py:5628
+#: FlatCAMApp.py:5747
msgid "Gerber merging finished"
msgstr "Gerber merging finished"
-#: FlatCAMApp.py:5648 FlatCAMApp.py:5683
+#: FlatCAMApp.py:5767 FlatCAMApp.py:5802
msgid "Failed. Select a Geometry Object and try again."
msgstr "Failed. Select a Geometry Object and try again."
-#: FlatCAMApp.py:5652 FlatCAMApp.py:5688
+#: FlatCAMApp.py:5771 FlatCAMApp.py:5807
msgid "Expected a FlatCAMGeometry, got"
msgstr "Expected a FlatCAMGeometry, got"
-#: FlatCAMApp.py:5665
+#: FlatCAMApp.py:5784
msgid "A Geometry object was converted to MultiGeo type."
msgstr "A Geometry object was converted to MultiGeo type."
-#: FlatCAMApp.py:5703
+#: FlatCAMApp.py:5822
msgid "A Geometry object was converted to SingleGeo type."
msgstr "A Geometry object was converted to SingleGeo type."
-#: FlatCAMApp.py:5919
+#: FlatCAMApp.py:6049
msgid "Toggle Units"
msgstr "Toggle Units"
-#: FlatCAMApp.py:5921
+#: FlatCAMApp.py:6051
msgid ""
"Changing the units of the project\n"
"will scale all objects.\n"
@@ -578,29 +598,25 @@ msgstr ""
"\n"
"Do you want to continue?"
-#: FlatCAMApp.py:5924 FlatCAMApp.py:6929 FlatCAMApp.py:7005 FlatCAMApp.py:9290
-#: FlatCAMApp.py:9304 FlatCAMApp.py:9658 FlatCAMApp.py:9669
+#: FlatCAMApp.py:6054 FlatCAMApp.py:6928 FlatCAMApp.py:7005 FlatCAMApp.py:9676
+#: FlatCAMApp.py:9690 FlatCAMApp.py:10025 FlatCAMApp.py:10035
msgid "Ok"
msgstr "Ok"
-#: FlatCAMApp.py:5973
+#: FlatCAMApp.py:6103
msgid "Converted units to"
msgstr "Converted units to"
-#: FlatCAMApp.py:5987
-msgid "Units conversion cancelled."
-msgstr "Units conversion cancelled."
-
-#: FlatCAMApp.py:6613
+#: FlatCAMApp.py:6743
msgid "Detachable Tabs"
msgstr "Detachable Tabs"
-#: FlatCAMApp.py:6828 FlatCAMApp.py:6889 FlatCAMApp.py:7560 FlatCAMApp.py:7622
-#: FlatCAMApp.py:7688
+#: FlatCAMApp.py:6817 FlatCAMApp.py:6861 FlatCAMApp.py:6889 FlatCAMApp.py:7822
+#: FlatCAMApp.py:7890 FlatCAMApp.py:7994
msgid "Preferences"
msgstr "Preferences"
-#: FlatCAMApp.py:6831
+#: FlatCAMApp.py:6823
msgid "Preferences applied."
msgstr "Preferences applied."
@@ -608,18 +624,18 @@ msgstr "Preferences applied."
msgid "Preferences closed without saving."
msgstr "Preferences closed without saving."
-#: FlatCAMApp.py:6917 flatcamTools/ToolNonCopperClear.py:591
-#: flatcamTools/ToolNonCopperClear.py:987 flatcamTools/ToolPaint.py:502
-#: flatcamTools/ToolSolderPaste.py:562 flatcamTools/ToolSolderPaste.py:892
+#: FlatCAMApp.py:6917 flatcamTools/ToolNCC.py:932 flatcamTools/ToolNCC.py:1426
+#: flatcamTools/ToolPaint.py:858 flatcamTools/ToolSolderPaste.py:568
+#: flatcamTools/ToolSolderPaste.py:893
msgid "Please enter a tool diameter with non-zero value, in Float format."
msgstr "Please enter a tool diameter with non-zero value, in Float format."
-#: FlatCAMApp.py:6922 flatcamTools/ToolNonCopperClear.py:595
-#: flatcamTools/ToolPaint.py:506 flatcamTools/ToolSolderPaste.py:566
+#: FlatCAMApp.py:6921 flatcamTools/ToolNCC.py:936 flatcamTools/ToolPaint.py:862
+#: flatcamTools/ToolSolderPaste.py:572
msgid "Adding Tool cancelled"
msgstr "Adding Tool cancelled"
-#: FlatCAMApp.py:6925
+#: FlatCAMApp.py:6924
msgid ""
"Adding Tool works only when Advanced is checked.\n"
"Go to Preferences -> General - Show Advanced Options."
@@ -639,651 +655,599 @@ msgstr ""
"Are you sure you want to permanently delete\n"
"the selected objects?"
-#: FlatCAMApp.py:7034
+#: FlatCAMApp.py:7041
msgid "Object(s) deleted"
msgstr "Object(s) deleted"
-#: FlatCAMApp.py:7038 flatcamTools/ToolDblSided.py:713
+#: FlatCAMApp.py:7045 FlatCAMApp.py:7200 flatcamTools/ToolDblSided.py:819
msgid "Failed. No object(s) selected..."
msgstr "Failed. No object(s) selected..."
-#: FlatCAMApp.py:7040
+#: FlatCAMApp.py:7047
msgid "Save the work in Editor and try again ..."
msgstr "Save the work in Editor and try again ..."
-#: FlatCAMApp.py:7070
+#: FlatCAMApp.py:7076
msgid "Object deleted"
msgstr "Object deleted"
-#: FlatCAMApp.py:7097
+#: FlatCAMApp.py:7103
msgid "Click to set the origin ..."
msgstr "Click to set the origin ..."
-#: FlatCAMApp.py:7119
+#: FlatCAMApp.py:7125
msgid "Setting Origin..."
msgstr "Setting Origin..."
-#: FlatCAMApp.py:7131
+#: FlatCAMApp.py:7138 FlatCAMApp.py:7240
msgid "Origin set"
msgstr "Origin set"
-#: FlatCAMApp.py:7138
+#: FlatCAMApp.py:7155
msgid "Origin coordinates specified but incomplete."
msgstr "Origin coordinates specified but incomplete."
-#: FlatCAMApp.py:7197
+#: FlatCAMApp.py:7196
+msgid "Moving to Origin..."
+msgstr "Moving to Origin..."
+
+#: FlatCAMApp.py:7277
msgid "Jump to ..."
msgstr "Jump to ..."
-#: FlatCAMApp.py:7198
+#: FlatCAMApp.py:7278
msgid "Enter the coordinates in format X,Y:"
msgstr "Enter the coordinates in format X,Y:"
-#: FlatCAMApp.py:7208
+#: FlatCAMApp.py:7288
msgid "Wrong coordinates. Enter coordinates in format: X,Y"
msgstr "Wrong coordinates. Enter coordinates in format: X,Y"
-#: FlatCAMApp.py:7288 flatcamEditors/FlatCAMExcEditor.py:3599
-#: flatcamEditors/FlatCAMExcEditor.py:3607
-#: flatcamEditors/FlatCAMGeoEditor.py:4036
-#: flatcamEditors/FlatCAMGeoEditor.py:4051
-#: flatcamEditors/FlatCAMGrbEditor.py:1086
-#: flatcamEditors/FlatCAMGrbEditor.py:1203
-#: flatcamEditors/FlatCAMGrbEditor.py:1489
-#: flatcamEditors/FlatCAMGrbEditor.py:1758
-#: flatcamEditors/FlatCAMGrbEditor.py:4445
-#: flatcamEditors/FlatCAMGrbEditor.py:4460 flatcamGUI/FlatCAMGUI.py:3145
-#: flatcamGUI/FlatCAMGUI.py:3157
+#: FlatCAMApp.py:7366 FlatCAMApp.py:7515
+#: flatcamEditors/FlatCAMExcEditor.py:3622
+#: flatcamEditors/FlatCAMExcEditor.py:3630
+#: flatcamEditors/FlatCAMGeoEditor.py:4349
+#: flatcamEditors/FlatCAMGeoEditor.py:4363
+#: flatcamEditors/FlatCAMGrbEditor.py:1085
+#: flatcamEditors/FlatCAMGrbEditor.py:1202
+#: flatcamEditors/FlatCAMGrbEditor.py:1488
+#: flatcamEditors/FlatCAMGrbEditor.py:1757
+#: flatcamEditors/FlatCAMGrbEditor.py:4489
+#: flatcamEditors/FlatCAMGrbEditor.py:4504 flatcamGUI/FlatCAMGUI.py:3370
+#: flatcamGUI/FlatCAMGUI.py:3382 flatcamTools/ToolAlignObjects.py:393
+#: flatcamTools/ToolAlignObjects.py:415
msgid "Done."
msgstr "Done."
-#: FlatCAMApp.py:7440 FlatCAMApp.py:7511
-msgid "No object is selected. Select an object and try again."
-msgstr "No object is selected. Select an object and try again."
-
-#: FlatCAMApp.py:7531
-msgid ""
-"Aborting. The current task will be gracefully closed as soon as possible..."
-msgstr ""
-"Aborting. The current task will be gracefully closed as soon as possible..."
-
-#: FlatCAMApp.py:7537
-msgid "The current task was gracefully closed on user request..."
-msgstr "The current task was gracefully closed on user request..."
-
-#: FlatCAMApp.py:7619
-msgid "Preferences edited but not saved."
-msgstr "Preferences edited but not saved."
-
-#: FlatCAMApp.py:7633 FlatCAMApp.py:7645 FlatCAMApp.py:7662 FlatCAMApp.py:7679
-#: FlatCAMApp.py:7739 FlatCAMCommon.py:1181 FlatCAMCommon.py:1356
-#: FlatCAMObj.py:4256
-msgid "Tools Database"
-msgstr "Tools Database"
-
-#: FlatCAMApp.py:7659
-msgid "Tools in Tools Database edited but not saved."
-msgstr "Tools in Tools Database edited but not saved."
-
-#: FlatCAMApp.py:7683
-msgid "Tool from DB added in Tool Table."
-msgstr "Tool from DB added in Tool Table."
-
-#: FlatCAMApp.py:7685
-msgid "Adding tool from DB is not allowed for this object."
-msgstr "Adding tool from DB is not allowed for this object."
-
-#: FlatCAMApp.py:7719
-msgid ""
-"One or more values are changed.\n"
-"Do you want to save the Preferences?"
-msgstr ""
-"One or more values are changed.\n"
-"Do you want to save the Preferences?"
-
-#: FlatCAMApp.py:7721 flatcamGUI/FlatCAMGUI.py:222
-msgid "Save Preferences"
-msgstr "Save Preferences"
-
-#: FlatCAMApp.py:7745
-msgid ""
-"One or more Tools are edited.\n"
-"Do you want to update the Tools Database?"
-msgstr ""
-"One or more Tools are edited.\n"
-"Do you want to update the Tools Database?"
-
-#: FlatCAMApp.py:7747
-msgid "Save Tools Database"
-msgstr "Save Tools Database"
-
-#: FlatCAMApp.py:7766 FlatCAMApp.py:9897 FlatCAMObj.py:6509
-msgid "Code Editor"
-msgstr "Code Editor"
-
-#: FlatCAMApp.py:7784
-msgid "No object selected to Flip on Y axis."
-msgstr "No object selected to Flip on Y axis."
-
-#: FlatCAMApp.py:7810
-msgid "Flip on Y axis done."
-msgstr "Flip on Y axis done."
-
-#: FlatCAMApp.py:7812 FlatCAMApp.py:7854
-#: flatcamEditors/FlatCAMGrbEditor.py:5858
-msgid "Flip action was not executed."
-msgstr "Flip action was not executed."
-
-#: FlatCAMApp.py:7826
-msgid "No object selected to Flip on X axis."
-msgstr "No object selected to Flip on X axis."
-
-#: FlatCAMApp.py:7852
-msgid "Flip on X axis done."
-msgstr "Flip on X axis done."
-
-#: FlatCAMApp.py:7868
-msgid "No object selected to Rotate."
-msgstr "No object selected to Rotate."
-
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
-msgid "Transform"
-msgstr "Transform"
-
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
-msgid "Enter the Angle value:"
-msgstr "Enter the Angle value:"
-
-#: FlatCAMApp.py:7902
-msgid "Rotation done."
-msgstr "Rotation done."
-
-#: FlatCAMApp.py:7904
-msgid "Rotation movement was not executed."
-msgstr "Rotation movement was not executed."
-
-#: FlatCAMApp.py:7916
-msgid "No object selected to Skew/Shear on X axis."
-msgstr "No object selected to Skew/Shear on X axis."
-
-#: FlatCAMApp.py:7938
-msgid "Skew on X axis done."
-msgstr "Skew on X axis done."
-
-#: FlatCAMApp.py:7949
-msgid "No object selected to Skew/Shear on Y axis."
-msgstr "No object selected to Skew/Shear on Y axis."
-
-#: FlatCAMApp.py:7971
-msgid "Skew on Y axis done."
-msgstr "Skew on Y axis done."
-
-#: FlatCAMApp.py:8119 FlatCAMApp.py:8166 flatcamGUI/FlatCAMGUI.py:449
-#: flatcamGUI/FlatCAMGUI.py:1612
-msgid "Select All"
-msgstr "Select All"
-
-#: FlatCAMApp.py:8123 FlatCAMApp.py:8170 flatcamGUI/FlatCAMGUI.py:451
-msgid "Deselect All"
-msgstr "Deselect All"
-
-#: FlatCAMApp.py:8186
-msgid "All objects are selected."
-msgstr "All objects are selected."
-
-#: FlatCAMApp.py:8196
-msgid "Objects selection is cleared."
-msgstr "Objects selection is cleared."
-
-#: FlatCAMApp.py:8216 flatcamGUI/FlatCAMGUI.py:1605
-msgid "Grid On/Off"
-msgstr "Grid On/Off"
-
-#: FlatCAMApp.py:8228 flatcamEditors/FlatCAMGeoEditor.py:940
-#: flatcamEditors/FlatCAMGrbEditor.py:2574
-#: flatcamEditors/FlatCAMGrbEditor.py:5431 flatcamGUI/ObjectUI.py:1304
-#: flatcamTools/ToolDblSided.py:187 flatcamTools/ToolDblSided.py:245
-#: flatcamTools/ToolNonCopperClear.py:286 flatcamTools/ToolPaint.py:188
-#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:591
-#: flatcamTools/ToolTransform.py:310
-msgid "Add"
-msgstr "Add"
-
-#: FlatCAMApp.py:8230 FlatCAMObj.py:3963
-#: flatcamEditors/FlatCAMGrbEditor.py:2579
-#: flatcamEditors/FlatCAMGrbEditor.py:2727 flatcamGUI/FlatCAMGUI.py:680
-#: flatcamGUI/FlatCAMGUI.py:991 flatcamGUI/FlatCAMGUI.py:2018
-#: flatcamGUI/FlatCAMGUI.py:2161 flatcamGUI/FlatCAMGUI.py:2559
-#: flatcamGUI/ObjectUI.py:1330 flatcamTools/ToolNonCopperClear.py:298
-#: flatcamTools/ToolPaint.py:200 flatcamTools/ToolSolderPaste.py:127
-#: flatcamTools/ToolSolderPaste.py:594
-msgid "Delete"
-msgstr "Delete"
-
-#: FlatCAMApp.py:8243
-msgid "New Grid ..."
-msgstr "New Grid ..."
-
-#: FlatCAMApp.py:8244
-msgid "Enter a Grid Value:"
-msgstr "Enter a Grid Value:"
-
-#: FlatCAMApp.py:8252 FlatCAMApp.py:8279
-msgid "Please enter a grid value with non-zero value, in Float format."
-msgstr "Please enter a grid value with non-zero value, in Float format."
-
-#: FlatCAMApp.py:8258
-msgid "New Grid added"
-msgstr "New Grid added"
-
-#: FlatCAMApp.py:8261
-msgid "Grid already exists"
-msgstr "Grid already exists"
-
-#: FlatCAMApp.py:8264
-msgid "Adding New Grid cancelled"
-msgstr "Adding New Grid cancelled"
-
-#: FlatCAMApp.py:8286
-msgid " Grid Value does not exist"
-msgstr " Grid Value does not exist"
-
-#: FlatCAMApp.py:8289
-msgid "Grid Value deleted"
-msgstr "Grid Value deleted"
-
-#: FlatCAMApp.py:8292
-msgid "Delete Grid value cancelled"
-msgstr "Delete Grid value cancelled"
-
-#: FlatCAMApp.py:8298
-msgid "Key Shortcut List"
-msgstr "Key Shortcut List"
-
-#: FlatCAMApp.py:8332
-msgid " No object selected to copy it's name"
-msgstr " No object selected to copy it's name"
-
-#: FlatCAMApp.py:8336
-msgid "Name copied on clipboard ..."
-msgstr "Name copied on clipboard ..."
-
-#: FlatCAMApp.py:8534 flatcamEditors/FlatCAMGrbEditor.py:4377
-msgid "Coordinates copied to clipboard."
-msgstr "Coordinates copied to clipboard."
-
-#: FlatCAMApp.py:8762 FlatCAMApp.py:8768 FlatCAMApp.py:8774 FlatCAMApp.py:8780
-#: ObjectCollection.py:797 ObjectCollection.py:803 ObjectCollection.py:809
-#: ObjectCollection.py:815 ObjectCollection.py:821 ObjectCollection.py:827
-msgid "selected"
-msgstr "selected"
-
-#: FlatCAMApp.py:8922
-msgid ""
-"There are files/objects opened in FlatCAM.\n"
-"Creating a New project will delete them.\n"
-"Do you want to Save the project?"
-msgstr ""
-"There are files/objects opened in FlatCAM.\n"
-"Creating a New project will delete them.\n"
-"Do you want to Save the project?"
-
-#: FlatCAMApp.py:8944
-msgid "New Project created"
-msgstr "New Project created"
-
-#: FlatCAMApp.py:9079 FlatCAMApp.py:9083 flatcamGUI/FlatCAMGUI.py:767
-#: flatcamGUI/FlatCAMGUI.py:2352
-msgid "Open Gerber"
-msgstr "Open Gerber"
-
-#: FlatCAMApp.py:9090
-msgid "Opening Gerber file."
-msgstr "Opening Gerber file."
-
-#: FlatCAMApp.py:9096
-msgid "Open Gerber cancelled."
-msgstr "Open Gerber cancelled."
-
-#: FlatCAMApp.py:9117 FlatCAMApp.py:9121 flatcamGUI/FlatCAMGUI.py:769
-#: flatcamGUI/FlatCAMGUI.py:2354
-msgid "Open Excellon"
-msgstr "Open Excellon"
-
-#: FlatCAMApp.py:9127
-msgid "Opening Excellon file."
-msgstr "Opening Excellon file."
-
-#: FlatCAMApp.py:9133
-msgid " Open Excellon cancelled."
-msgstr " Open Excellon cancelled."
-
-#: FlatCAMApp.py:9157 FlatCAMApp.py:9161
-msgid "Open G-Code"
-msgstr "Open G-Code"
-
-#: FlatCAMApp.py:9168
-msgid "Opening G-Code file."
-msgstr "Opening G-Code file."
-
-#: FlatCAMApp.py:9174
-msgid "Open G-Code cancelled."
-msgstr "Open G-Code cancelled."
-
-#: FlatCAMApp.py:9192 FlatCAMApp.py:9195 flatcamGUI/FlatCAMGUI.py:1614
-msgid "Open Project"
-msgstr "Open Project"
-
-#: FlatCAMApp.py:9204
-msgid "Open Project cancelled."
-msgstr "Open Project cancelled."
-
-#: FlatCAMApp.py:9228 FlatCAMApp.py:9232
-msgid "Open HPGL2"
-msgstr "Open HPGL2"
-
-#: FlatCAMApp.py:9239
-msgid "Opening HPGL2 file."
-msgstr "Opening HPGL2 file."
-
-#: FlatCAMApp.py:9244
-msgid "Open HPGL2 file cancelled."
-msgstr "Open HPGL2 file cancelled."
-
-#: FlatCAMApp.py:9262 FlatCAMApp.py:9265
-msgid "Open Configuration File"
-msgstr "Open Configuration File"
-
-#: FlatCAMApp.py:9270
-msgid "Open Config cancelled."
-msgstr "Open Config cancelled."
-
-#: FlatCAMApp.py:9286 FlatCAMApp.py:9654 FlatCAMApp.py:10124
-#: FlatCAMApp.py:10128
+#: FlatCAMApp.py:7381 FlatCAMApp.py:9672 FlatCAMApp.py:9768 FlatCAMApp.py:9810
+#: FlatCAMApp.py:9851 FlatCAMApp.py:9892 FlatCAMApp.py:9933 FlatCAMApp.py:9977
+#: FlatCAMApp.py:10021 FlatCAMApp.py:10510 FlatCAMApp.py:10514
+#: flatcamTools/ToolProperties.py:116
msgid "No object selected."
msgstr "No object selected."
-#: FlatCAMApp.py:9287 FlatCAMApp.py:9655
+#: FlatCAMApp.py:7400
+msgid "Bottom-Left"
+msgstr "Bottom-Left"
+
+#: FlatCAMApp.py:7401 flatcamGUI/PreferencesUI.py:8111
+#: flatcamTools/ToolCalibration.py:159
+msgid "Top-Left"
+msgstr "Top-Left"
+
+#: FlatCAMApp.py:7402 flatcamGUI/PreferencesUI.py:8112
+#: flatcamTools/ToolCalibration.py:160
+msgid "Bottom-Right"
+msgstr "Bottom-Right"
+
+#: FlatCAMApp.py:7403
+msgid "Top-Right"
+msgstr "Top-Right"
+
+#: FlatCAMApp.py:7404 flatcamGUI/ObjectUI.py:2624
+msgid "Center"
+msgstr "Center"
+
+#: FlatCAMApp.py:7424
+msgid "Locate ..."
+msgstr "Locate ..."
+
+#: FlatCAMApp.py:7685 FlatCAMApp.py:7762
+msgid "No object is selected. Select an object and try again."
+msgstr "No object is selected. Select an object and try again."
+
+#: FlatCAMApp.py:7788
+msgid ""
+"Aborting. The current task will be gracefully closed as soon as possible..."
+msgstr ""
+"Aborting. The current task will be gracefully closed as soon as possible..."
+
+#: FlatCAMApp.py:7794
+msgid "The current task was gracefully closed on user request..."
+msgstr "The current task was gracefully closed on user request..."
+
+#: FlatCAMApp.py:7887
+msgid "Preferences edited but not saved."
+msgstr "Preferences edited but not saved."
+
+#: FlatCAMApp.py:7904 FlatCAMApp.py:7932 FlatCAMApp.py:7959 FlatCAMApp.py:7978
+#: FlatCAMApp.py:8045 FlatCAMCommon.py:1182 FlatCAMCommon.py:1357
+#: FlatCAMCommon.py:2612 FlatCAMCommon.py:2820 FlatCAMObj.py:4798
+#: flatcamTools/ToolNCC.py:3958 flatcamTools/ToolNCC.py:4042
+#: flatcamTools/ToolPaint.py:3548 flatcamTools/ToolPaint.py:3633
+msgid "Tools Database"
+msgstr "Tools Database"
+
+#: FlatCAMApp.py:7956
+msgid "Tools in Tools Database edited but not saved."
+msgstr "Tools in Tools Database edited but not saved."
+
+#: FlatCAMApp.py:7982 flatcamTools/ToolNCC.py:3965
+#: flatcamTools/ToolPaint.py:3555
+msgid "Tool from DB added in Tool Table."
+msgstr "Tool from DB added in Tool Table."
+
+#: FlatCAMApp.py:7984
+msgid "Adding tool from DB is not allowed for this object."
+msgstr "Adding tool from DB is not allowed for this object."
+
+#: FlatCAMApp.py:8025
+msgid ""
+"One or more values are changed.\n"
+"Do you want to save the Preferences?"
+msgstr ""
+"One or more values are changed.\n"
+"Do you want to save the Preferences?"
+
+#: FlatCAMApp.py:8027 flatcamGUI/FlatCAMGUI.py:291
+msgid "Save Preferences"
+msgstr "Save Preferences"
+
+#: FlatCAMApp.py:8051
+msgid ""
+"One or more Tools are edited.\n"
+"Do you want to update the Tools Database?"
+msgstr ""
+"One or more Tools are edited.\n"
+"Do you want to update the Tools Database?"
+
+#: FlatCAMApp.py:8053
+msgid "Save Tools Database"
+msgstr "Save Tools Database"
+
+#: FlatCAMApp.py:8072 FlatCAMApp.py:10259 FlatCAMObj.py:7089
+msgid "Code Editor"
+msgstr "Code Editor"
+
+#: FlatCAMApp.py:8094
+msgid "No object selected to Flip on Y axis."
+msgstr "No object selected to Flip on Y axis."
+
+#: FlatCAMApp.py:8120
+msgid "Flip on Y axis done."
+msgstr "Flip on Y axis done."
+
+#: FlatCAMApp.py:8122 FlatCAMApp.py:8170
+#: flatcamEditors/FlatCAMGrbEditor.py:5893
+msgid "Flip action was not executed."
+msgstr "Flip action was not executed."
+
+#: FlatCAMApp.py:8142
+msgid "No object selected to Flip on X axis."
+msgstr "No object selected to Flip on X axis."
+
+#: FlatCAMApp.py:8168
+msgid "Flip on X axis done."
+msgstr "Flip on X axis done."
+
+#: FlatCAMApp.py:8190
+msgid "No object selected to Rotate."
+msgstr "No object selected to Rotate."
+
+#: FlatCAMApp.py:8193 FlatCAMApp.py:8246 FlatCAMApp.py:8285
+msgid "Transform"
+msgstr "Transform"
+
+#: FlatCAMApp.py:8193 FlatCAMApp.py:8246 FlatCAMApp.py:8285
+msgid "Enter the Angle value:"
+msgstr "Enter the Angle value:"
+
+#: FlatCAMApp.py:8224
+msgid "Rotation done."
+msgstr "Rotation done."
+
+#: FlatCAMApp.py:8226
+msgid "Rotation movement was not executed."
+msgstr "Rotation movement was not executed."
+
+#: FlatCAMApp.py:8244
+msgid "No object selected to Skew/Shear on X axis."
+msgstr "No object selected to Skew/Shear on X axis."
+
+#: FlatCAMApp.py:8266
+msgid "Skew on X axis done."
+msgstr "Skew on X axis done."
+
+#: FlatCAMApp.py:8283
+msgid "No object selected to Skew/Shear on Y axis."
+msgstr "No object selected to Skew/Shear on Y axis."
+
+#: FlatCAMApp.py:8305
+msgid "Skew on Y axis done."
+msgstr "Skew on Y axis done."
+
+#: FlatCAMApp.py:8458 FlatCAMApp.py:8505 flatcamGUI/FlatCAMGUI.py:488
+#: flatcamGUI/FlatCAMGUI.py:1713
+msgid "Select All"
+msgstr "Select All"
+
+#: FlatCAMApp.py:8462 FlatCAMApp.py:8509 flatcamGUI/FlatCAMGUI.py:490
+msgid "Deselect All"
+msgstr "Deselect All"
+
+#: FlatCAMApp.py:8525
+msgid "All objects are selected."
+msgstr "All objects are selected."
+
+#: FlatCAMApp.py:8535
+msgid "Objects selection is cleared."
+msgstr "Objects selection is cleared."
+
+#: FlatCAMApp.py:8555 flatcamGUI/FlatCAMGUI.py:1706
+msgid "Grid On/Off"
+msgstr "Grid On/Off"
+
+#: FlatCAMApp.py:8567 flatcamEditors/FlatCAMGeoEditor.py:940
+#: flatcamEditors/FlatCAMGrbEditor.py:2580
+#: flatcamEditors/FlatCAMGrbEditor.py:5475 flatcamGUI/ObjectUI.py:1593
+#: flatcamTools/ToolDblSided.py:193 flatcamTools/ToolDblSided.py:426
+#: flatcamTools/ToolNCC.py:294 flatcamTools/ToolNCC.py:631
+#: flatcamTools/ToolPaint.py:277 flatcamTools/ToolPaint.py:676
+#: flatcamTools/ToolSolderPaste.py:123 flatcamTools/ToolSolderPaste.py:597
+#: flatcamTools/ToolTransform.py:479
+msgid "Add"
+msgstr "Add"
+
+#: FlatCAMApp.py:8569 FlatCAMObj.py:4416
+#: flatcamEditors/FlatCAMGrbEditor.py:2585
+#: flatcamEditors/FlatCAMGrbEditor.py:2733 flatcamGUI/FlatCAMGUI.py:736
+#: flatcamGUI/FlatCAMGUI.py:1059 flatcamGUI/FlatCAMGUI.py:2126
+#: flatcamGUI/FlatCAMGUI.py:2269 flatcamGUI/FlatCAMGUI.py:2733
+#: flatcamGUI/ObjectUI.py:1621 flatcamTools/ToolNCC.py:316
+#: flatcamTools/ToolNCC.py:637 flatcamTools/ToolPaint.py:299
+#: flatcamTools/ToolPaint.py:682 flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolSolderPaste.py:600
+msgid "Delete"
+msgstr "Delete"
+
+#: FlatCAMApp.py:8582
+msgid "New Grid ..."
+msgstr "New Grid ..."
+
+#: FlatCAMApp.py:8583
+msgid "Enter a Grid Value:"
+msgstr "Enter a Grid Value:"
+
+#: FlatCAMApp.py:8591 FlatCAMApp.py:8618
+msgid "Please enter a grid value with non-zero value, in Float format."
+msgstr "Please enter a grid value with non-zero value, in Float format."
+
+#: FlatCAMApp.py:8597
+msgid "New Grid added"
+msgstr "New Grid added"
+
+#: FlatCAMApp.py:8600
+msgid "Grid already exists"
+msgstr "Grid already exists"
+
+#: FlatCAMApp.py:8603
+msgid "Adding New Grid cancelled"
+msgstr "Adding New Grid cancelled"
+
+#: FlatCAMApp.py:8625
+msgid " Grid Value does not exist"
+msgstr " Grid Value does not exist"
+
+#: FlatCAMApp.py:8628
+msgid "Grid Value deleted"
+msgstr "Grid Value deleted"
+
+#: FlatCAMApp.py:8631
+msgid "Delete Grid value cancelled"
+msgstr "Delete Grid value cancelled"
+
+#: FlatCAMApp.py:8637
+msgid "Key Shortcut List"
+msgstr "Key Shortcut List"
+
+#: FlatCAMApp.py:8671
+msgid " No object selected to copy it's name"
+msgstr " No object selected to copy it's name"
+
+#: FlatCAMApp.py:8675
+msgid "Name copied on clipboard ..."
+msgstr "Name copied on clipboard ..."
+
+#: FlatCAMApp.py:8888 flatcamEditors/FlatCAMGrbEditor.py:4421
+msgid "Coordinates copied to clipboard."
+msgstr "Coordinates copied to clipboard."
+
+#: FlatCAMApp.py:9127 FlatCAMApp.py:9133 FlatCAMApp.py:9139 FlatCAMApp.py:9145
+#: ObjectCollection.py:911 ObjectCollection.py:917 ObjectCollection.py:923
+#: ObjectCollection.py:929 ObjectCollection.py:935 ObjectCollection.py:941
+msgid "selected"
+msgstr "selected"
+
+#: FlatCAMApp.py:9300
+msgid ""
+"There are files/objects opened in FlatCAM.\n"
+"Creating a New project will delete them.\n"
+"Do you want to Save the project?"
+msgstr ""
+"There are files/objects opened in FlatCAM.\n"
+"Creating a New project will delete them.\n"
+"Do you want to Save the project?"
+
+#: FlatCAMApp.py:9321
+msgid "New Project created"
+msgstr "New Project created"
+
+#: FlatCAMApp.py:9468 FlatCAMApp.py:9472 flatcamGUI/FlatCAMGUI.py:821
+#: flatcamGUI/FlatCAMGUI.py:2504
+msgid "Open Gerber"
+msgstr "Open Gerber"
+
+#: FlatCAMApp.py:9477 FlatCAMApp.py:9514 FlatCAMApp.py:9556 FlatCAMApp.py:9625
+#: FlatCAMApp.py:10378 FlatCAMApp.py:11553 FlatCAMApp.py:11614
+msgid ""
+"Canvas initialization started.\n"
+"Canvas initialization finished in"
+msgstr ""
+"Canvas initialization started.\n"
+"Canvas initialization finished in"
+
+#: FlatCAMApp.py:9479
+msgid "Opening Gerber file."
+msgstr "Opening Gerber file."
+
+#: FlatCAMApp.py:9506 FlatCAMApp.py:9510 flatcamGUI/FlatCAMGUI.py:823
+#: flatcamGUI/FlatCAMGUI.py:2506
+msgid "Open Excellon"
+msgstr "Open Excellon"
+
+#: FlatCAMApp.py:9516
+msgid "Opening Excellon file."
+msgstr "Opening Excellon file."
+
+#: FlatCAMApp.py:9547 FlatCAMApp.py:9551
+msgid "Open G-Code"
+msgstr "Open G-Code"
+
+#: FlatCAMApp.py:9558
+msgid "Opening G-Code file."
+msgstr "Opening G-Code file."
+
+#: FlatCAMApp.py:9581 FlatCAMApp.py:9584 flatcamGUI/FlatCAMGUI.py:1715
+msgid "Open Project"
+msgstr "Open Project"
+
+#: FlatCAMApp.py:9616 FlatCAMApp.py:9620
+msgid "Open HPGL2"
+msgstr "Open HPGL2"
+
+#: FlatCAMApp.py:9627
+msgid "Opening HPGL2 file."
+msgstr "Opening HPGL2 file."
+
+#: FlatCAMApp.py:9650 FlatCAMApp.py:9653
+msgid "Open Configuration File"
+msgstr "Open Configuration File"
+
+#: FlatCAMApp.py:9673 FlatCAMApp.py:10022
msgid "Please Select a Geometry object to export"
msgstr "Please Select a Geometry object to export"
-#: FlatCAMApp.py:9301
+#: FlatCAMApp.py:9687
msgid "Only Geometry, Gerber and CNCJob objects can be used."
msgstr "Only Geometry, Gerber and CNCJob objects can be used."
-#: FlatCAMApp.py:9314 FlatCAMApp.py:9318 flatcamTools/ToolQRCode.py:827
-#: flatcamTools/ToolQRCode.py:831
+#: FlatCAMApp.py:9700 FlatCAMApp.py:9704 flatcamTools/ToolQRCode.py:829
+#: flatcamTools/ToolQRCode.py:833
msgid "Export SVG"
msgstr "Export SVG"
-#: FlatCAMApp.py:9324 flatcamTools/ToolQRCode.py:836
-msgid " Export SVG cancelled."
-msgstr " Export SVG cancelled."
-
-#: FlatCAMApp.py:9345
+#: FlatCAMApp.py:9730
msgid "Data must be a 3D array with last dimension 3 or 4"
msgstr "Data must be a 3D array with last dimension 3 or 4"
-#: FlatCAMApp.py:9351 FlatCAMApp.py:9355
+#: FlatCAMApp.py:9736 FlatCAMApp.py:9740
msgid "Export PNG Image"
msgstr "Export PNG Image"
-#: FlatCAMApp.py:9360
-msgid "Export PNG cancelled."
-msgstr "Export PNG cancelled."
-
-#: FlatCAMApp.py:9384
-msgid "No object selected. Please select an Gerber object to export."
-msgstr "No object selected. Please select an Gerber object to export."
-
-#: FlatCAMApp.py:9390 FlatCAMApp.py:9613
+#: FlatCAMApp.py:9774 FlatCAMApp.py:9982
msgid "Failed. Only Gerber objects can be saved as Gerber files..."
msgstr "Failed. Only Gerber objects can be saved as Gerber files..."
-#: FlatCAMApp.py:9402
+#: FlatCAMApp.py:9786
msgid "Save Gerber source file"
msgstr "Save Gerber source file"
-#: FlatCAMApp.py:9408
-msgid "Save Gerber source file cancelled."
-msgstr "Save Gerber source file cancelled."
-
-#: FlatCAMApp.py:9428
-msgid "No object selected. Please select an Script object to export."
-msgstr "No object selected. Please select an Script object to export."
-
-#: FlatCAMApp.py:9434
+#: FlatCAMApp.py:9815
msgid "Failed. Only Script objects can be saved as TCL Script files..."
msgstr "Failed. Only Script objects can be saved as TCL Script files..."
-#: FlatCAMApp.py:9446
+#: FlatCAMApp.py:9827
msgid "Save Script source file"
msgstr "Save Script source file"
-#: FlatCAMApp.py:9452
-msgid "Save Script source file cancelled."
-msgstr "Save Script source file cancelled."
-
-#: FlatCAMApp.py:9472
-msgid "No object selected. Please select an Document object to export."
-msgstr "No object selected. Please select an Document object to export."
-
-#: FlatCAMApp.py:9478
+#: FlatCAMApp.py:9856
msgid "Failed. Only Document objects can be saved as Document files..."
msgstr "Failed. Only Document objects can be saved as Document files..."
-#: FlatCAMApp.py:9490
+#: FlatCAMApp.py:9868
msgid "Save Document source file"
msgstr "Save Document source file"
-#: FlatCAMApp.py:9496
-msgid "Save Document source file cancelled."
-msgstr "Save Document source file cancelled."
-
-#: FlatCAMApp.py:9516
-msgid "No object selected. Please select an Excellon object to export."
-msgstr "No object selected. Please select an Excellon object to export."
-
-#: FlatCAMApp.py:9522 FlatCAMApp.py:9566 FlatCAMApp.py:10473
+#: FlatCAMApp.py:9897 FlatCAMApp.py:9938 FlatCAMApp.py:10863
msgid "Failed. Only Excellon objects can be saved as Excellon files..."
msgstr "Failed. Only Excellon objects can be saved as Excellon files..."
-#: FlatCAMApp.py:9530 FlatCAMApp.py:9534
+#: FlatCAMApp.py:9905 FlatCAMApp.py:9909
msgid "Save Excellon source file"
msgstr "Save Excellon source file"
-#: FlatCAMApp.py:9540
-msgid "Saving Excellon source file cancelled."
-msgstr "Saving Excellon source file cancelled."
-
-#: FlatCAMApp.py:9560
-msgid "No object selected. Please Select an Excellon object to export."
-msgstr "No object selected. Please Select an Excellon object to export."
-
-#: FlatCAMApp.py:9574 FlatCAMApp.py:9578
+#: FlatCAMApp.py:9946 FlatCAMApp.py:9950
msgid "Export Excellon"
msgstr "Export Excellon"
-#: FlatCAMApp.py:9584
-msgid "Export Excellon cancelled."
-msgstr "Export Excellon cancelled."
-
-#: FlatCAMApp.py:9607
-msgid "No object selected. Please Select an Gerber object to export."
-msgstr "No object selected. Please Select an Gerber object to export."
-
-#: FlatCAMApp.py:9621 FlatCAMApp.py:9625
+#: FlatCAMApp.py:9990 FlatCAMApp.py:9994
msgid "Export Gerber"
msgstr "Export Gerber"
-#: FlatCAMApp.py:9631
-msgid "Export Gerber cancelled."
-msgstr "Export Gerber cancelled."
-
-#: FlatCAMApp.py:9666
+#: FlatCAMApp.py:10032
msgid "Only Geometry objects can be used."
msgstr "Only Geometry objects can be used."
-#: FlatCAMApp.py:9680 FlatCAMApp.py:9684
+#: FlatCAMApp.py:10046 FlatCAMApp.py:10050
msgid "Export DXF"
msgstr "Export DXF"
-#: FlatCAMApp.py:9691
-msgid "Export DXF cancelled."
-msgstr "Export DXF cancelled."
-
-#: FlatCAMApp.py:9711 FlatCAMApp.py:9714
+#: FlatCAMApp.py:10075 FlatCAMApp.py:10078
msgid "Import SVG"
msgstr "Import SVG"
-#: FlatCAMApp.py:9724
-msgid "Open SVG cancelled."
-msgstr "Open SVG cancelled."
-
-#: FlatCAMApp.py:9743 FlatCAMApp.py:9747
+#: FlatCAMApp.py:10106 FlatCAMApp.py:10110
msgid "Import DXF"
msgstr "Import DXF"
-#: FlatCAMApp.py:9757
-msgid "Open DXF cancelled."
-msgstr "Open DXF cancelled."
-
-#: FlatCAMApp.py:9799
+#: FlatCAMApp.py:10161
msgid "Viewing the source code of the selected object."
msgstr "Viewing the source code of the selected object."
-#: FlatCAMApp.py:9800 FlatCAMObj.py:6495 FlatCAMObj.py:7225
+#: FlatCAMApp.py:10162 FlatCAMObj.py:7075 FlatCAMObj.py:7852
msgid "Loading..."
msgstr "Loading..."
-#: FlatCAMApp.py:9806 FlatCAMApp.py:9810
+#: FlatCAMApp.py:10168 FlatCAMApp.py:10172
msgid "Select an Gerber or Excellon file to view it's source file."
msgstr "Select an Gerber or Excellon file to view it's source file."
-#: FlatCAMApp.py:9824
+#: FlatCAMApp.py:10186
msgid "Source Editor"
msgstr "Source Editor"
-#: FlatCAMApp.py:9864 FlatCAMApp.py:9871
+#: FlatCAMApp.py:10226 FlatCAMApp.py:10233
msgid "There is no selected object for which to see it's source file code."
msgstr "There is no selected object for which to see it's source file code."
-#: FlatCAMApp.py:9883
+#: FlatCAMApp.py:10245
msgid "Failed to load the source code for the selected object"
msgstr "Failed to load the source code for the selected object"
-#: FlatCAMApp.py:9925
+#: FlatCAMApp.py:10281
+msgid "Go to Line ..."
+msgstr "Go to Line ..."
+
+#: FlatCAMApp.py:10282
+msgid "Line:"
+msgstr "Line:"
+
+#: FlatCAMApp.py:10311
msgid "New TCL script file created in Code Editor."
msgstr "New TCL script file created in Code Editor."
-#: FlatCAMApp.py:9963 FlatCAMApp.py:9965
+#: FlatCAMApp.py:10350 FlatCAMApp.py:10352
msgid "Open TCL script"
msgstr "Open TCL script"
-#: FlatCAMApp.py:9969
-msgid "Open TCL script cancelled."
-msgstr "Open TCL script cancelled."
-
-#: FlatCAMApp.py:9993
+#: FlatCAMApp.py:10380
msgid "Executing FlatCAMScript file."
msgstr "Executing FlatCAMScript file."
-#: FlatCAMApp.py:10000 FlatCAMApp.py:10003
+#: FlatCAMApp.py:10388 FlatCAMApp.py:10391
msgid "Run TCL script"
msgstr "Run TCL script"
-#: FlatCAMApp.py:10013
-msgid "Run TCL script cancelled."
-msgstr "Run TCL script cancelled."
-
-#: FlatCAMApp.py:10029
+#: FlatCAMApp.py:10415
msgid "TCL script file opened in Code Editor and executed."
msgstr "TCL script file opened in Code Editor and executed."
-#: FlatCAMApp.py:10080 FlatCAMApp.py:10086
+#: FlatCAMApp.py:10466 FlatCAMApp.py:10472
msgid "Save Project As ..."
msgstr "Save Project As ..."
-#: FlatCAMApp.py:10082 flatcamGUI/FlatCAMGUI.py:1051
-#: flatcamGUI/FlatCAMGUI.py:2053
+#: FlatCAMApp.py:10468 flatcamGUI/FlatCAMGUI.py:1119
+#: flatcamGUI/FlatCAMGUI.py:2161
msgid "Project"
msgstr "Project"
-#: FlatCAMApp.py:10091
-msgid "Save Project cancelled."
-msgstr "Save Project cancelled."
-
-#: FlatCAMApp.py:10121
+#: FlatCAMApp.py:10507
msgid "FlatCAM objects print"
msgstr "FlatCAM objects print"
-#: FlatCAMApp.py:10134 FlatCAMApp.py:10141
+#: FlatCAMApp.py:10520 FlatCAMApp.py:10527
msgid "Save Object as PDF ..."
msgstr "Save Object as PDF ..."
-#: FlatCAMApp.py:10146
-msgid "Save Object PDF cancelled."
-msgstr "Save Object PDF cancelled."
-
-#: FlatCAMApp.py:10150
+#: FlatCAMApp.py:10536
msgid "Printing PDF ... Please wait."
msgstr "Printing PDF ... Please wait."
-#: FlatCAMApp.py:10329
+#: FlatCAMApp.py:10715
msgid "PDF file saved to"
msgstr "PDF file saved to"
-#: FlatCAMApp.py:10353
+#: FlatCAMApp.py:10740
msgid "Exporting SVG"
msgstr "Exporting SVG"
-#: FlatCAMApp.py:10397
+#: FlatCAMApp.py:10783
msgid "SVG file exported to"
msgstr "SVG file exported to"
-#: FlatCAMApp.py:10422
+#: FlatCAMApp.py:10809
msgid ""
"Save cancelled because source file is empty. Try to export the Gerber file."
msgstr ""
"Save cancelled because source file is empty. Try to export the Gerber file."
-#: FlatCAMApp.py:10568
+#: FlatCAMApp.py:10957
msgid "Excellon file exported to"
msgstr "Excellon file exported to"
-#: FlatCAMApp.py:10577
+#: FlatCAMApp.py:10966
msgid "Exporting Excellon"
msgstr "Exporting Excellon"
-#: FlatCAMApp.py:10583 FlatCAMApp.py:10591
+#: FlatCAMApp.py:10971 FlatCAMApp.py:10978
msgid "Could not export Excellon file."
msgstr "Could not export Excellon file."
-#: FlatCAMApp.py:10707
+#: FlatCAMApp.py:11094
msgid "Gerber file exported to"
msgstr "Gerber file exported to"
-#: FlatCAMApp.py:10715
+#: FlatCAMApp.py:11102
msgid "Exporting Gerber"
msgstr "Exporting Gerber"
-#: FlatCAMApp.py:10721 FlatCAMApp.py:10729
+#: FlatCAMApp.py:11107 FlatCAMApp.py:11114
msgid "Could not export Gerber file."
msgstr "Could not export Gerber file."
-#: FlatCAMApp.py:10763
+#: FlatCAMApp.py:11149
msgid "DXF file exported to"
msgstr "DXF file exported to"
-#: FlatCAMApp.py:10769
+#: FlatCAMApp.py:11155
msgid "Exporting DXF"
msgstr "Exporting DXF"
-#: FlatCAMApp.py:10774 FlatCAMApp.py:10781
+#: FlatCAMApp.py:11160 FlatCAMApp.py:11167
msgid "Could not export DXF file."
msgstr "Could not export DXF file."
-#: FlatCAMApp.py:10804 FlatCAMApp.py:10847 flatcamTools/ToolImage.py:278
+#: FlatCAMApp.py:11190 FlatCAMApp.py:11232 flatcamTools/ToolImage.py:277
msgid ""
"Not supported type is picked as parameter. Only Geometry and Gerber are "
"supported"
@@ -1291,79 +1255,79 @@ msgstr ""
"Not supported type is picked as parameter. Only Geometry and Gerber are "
"supported"
-#: FlatCAMApp.py:10814
+#: FlatCAMApp.py:11200
msgid "Importing SVG"
msgstr "Importing SVG"
-#: FlatCAMApp.py:10825 FlatCAMApp.py:10867 FlatCAMApp.py:10926
-#: FlatCAMApp.py:10993 FlatCAMApp.py:11056 FlatCAMApp.py:11123
-#: FlatCAMApp.py:11161 flatcamTools/ToolImage.py:298
+#: FlatCAMApp.py:11211 FlatCAMApp.py:11251 FlatCAMApp.py:11309
+#: FlatCAMApp.py:11374 FlatCAMApp.py:11438 FlatCAMApp.py:11503
+#: FlatCAMApp.py:11540 flatcamTools/ToolImage.py:297
#: flatcamTools/ToolPDF.py:225
msgid "Opened"
msgstr "Opened"
-#: FlatCAMApp.py:10856
+#: FlatCAMApp.py:11241
msgid "Importing DXF"
msgstr "Importing DXF"
-#: FlatCAMApp.py:10892 FlatCAMApp.py:11082
+#: FlatCAMApp.py:11275 FlatCAMApp.py:11462
msgid "Failed to open file"
msgstr "Failed to open file"
-#: FlatCAMApp.py:10895 FlatCAMApp.py:11085
+#: FlatCAMApp.py:11278 FlatCAMApp.py:11465
msgid "Failed to parse file"
msgstr "Failed to parse file"
-#: FlatCAMApp.py:10907
+#: FlatCAMApp.py:11290
msgid "Object is not Gerber file or empty. Aborting object creation."
msgstr "Object is not Gerber file or empty. Aborting object creation."
-#: FlatCAMApp.py:10912
+#: FlatCAMApp.py:11295
msgid "Opening Gerber"
msgstr "Opening Gerber"
-#: FlatCAMApp.py:10919
+#: FlatCAMApp.py:11302
msgid " Open Gerber failed. Probable not a Gerber file."
msgstr " Open Gerber failed. Probable not a Gerber file."
-#: FlatCAMApp.py:10951 flatcamTools/ToolPcbWizard.py:427
+#: FlatCAMApp.py:11333 flatcamTools/ToolPcbWizard.py:425
msgid "This is not Excellon file."
msgstr "This is not Excellon file."
-#: FlatCAMApp.py:10955
+#: FlatCAMApp.py:11337
msgid "Cannot open file"
msgstr "Cannot open file"
-#: FlatCAMApp.py:10975 flatcamTools/ToolPDF.py:275
-#: flatcamTools/ToolPcbWizard.py:451
+#: FlatCAMApp.py:11356 flatcamTools/ToolPDF.py:275
+#: flatcamTools/ToolPcbWizard.py:447
msgid "No geometry found in file"
msgstr "No geometry found in file"
-#: FlatCAMApp.py:10978
+#: FlatCAMApp.py:11359
msgid "Opening Excellon."
msgstr "Opening Excellon."
-#: FlatCAMApp.py:10985
+#: FlatCAMApp.py:11366
msgid "Open Excellon file failed. Probable not an Excellon file."
msgstr "Open Excellon file failed. Probable not an Excellon file."
-#: FlatCAMApp.py:11016
+#: FlatCAMApp.py:11398
msgid "Reading GCode file"
msgstr "Reading GCode file"
-#: FlatCAMApp.py:11023
+#: FlatCAMApp.py:11405
msgid "Failed to open"
msgstr "Failed to open"
-#: FlatCAMApp.py:11031
+#: FlatCAMApp.py:11413
msgid "This is not GCODE"
msgstr "This is not GCODE"
-#: FlatCAMApp.py:11036
+#: FlatCAMApp.py:11418
msgid "Opening G-Code."
msgstr "Opening G-Code."
-#: FlatCAMApp.py:11045
+#: FlatCAMApp.py:11427
msgid ""
"Failed to create CNCJob Object. Probable not a GCode file. Try to load it "
"from File menu.\n"
@@ -1375,123 +1339,103 @@ msgstr ""
" Attempting to create a FlatCAM CNCJob Object from G-Code file failed during "
"processing"
-#: FlatCAMApp.py:11104
+#: FlatCAMApp.py:11484
msgid "Object is not HPGL2 file or empty. Aborting object creation."
msgstr "Object is not HPGL2 file or empty. Aborting object creation."
-#: FlatCAMApp.py:11109
+#: FlatCAMApp.py:11489
msgid "Opening HPGL2"
msgstr "Opening HPGL2"
-#: FlatCAMApp.py:11116
+#: FlatCAMApp.py:11496
msgid " Open HPGL2 failed. Probable not a HPGL2 file."
msgstr " Open HPGL2 failed. Probable not a HPGL2 file."
-#: FlatCAMApp.py:11137
+#: FlatCAMApp.py:11516
msgid "Opening TCL Script..."
msgstr "Opening TCL Script..."
-#: FlatCAMApp.py:11145
+#: FlatCAMApp.py:11524
msgid "TCL script file opened in Code Editor."
msgstr "TCL script file opened in Code Editor."
-#: FlatCAMApp.py:11148
+#: FlatCAMApp.py:11527
msgid "Failed to open TCL Script."
msgstr "Failed to open TCL Script."
-#: FlatCAMApp.py:11176
+#: FlatCAMApp.py:11555
msgid "Opening FlatCAM Config file."
msgstr "Opening FlatCAM Config file."
-#: FlatCAMApp.py:11204
+#: FlatCAMApp.py:11583
msgid "Failed to open config file"
msgstr "Failed to open config file"
-#: FlatCAMApp.py:11230
+#: FlatCAMApp.py:11611
msgid "Loading Project ... Please Wait ..."
msgstr "Loading Project ... Please Wait ..."
-#: FlatCAMApp.py:11235
+#: FlatCAMApp.py:11616
msgid "Opening FlatCAM Project file."
msgstr "Opening FlatCAM Project file."
-#: FlatCAMApp.py:11245 FlatCAMApp.py:11263
+#: FlatCAMApp.py:11626 FlatCAMApp.py:11644
msgid "Failed to open project file"
msgstr "Failed to open project file"
-#: FlatCAMApp.py:11300
+#: FlatCAMApp.py:11681
msgid "Loading Project ... restoring"
msgstr "Loading Project ... restoring"
-#: FlatCAMApp.py:11310
+#: FlatCAMApp.py:11691
msgid "Project loaded from"
msgstr "Project loaded from"
-#: FlatCAMApp.py:11373
+#: FlatCAMApp.py:11760
msgid "Redrawing all objects"
msgstr "Redrawing all objects"
-#: FlatCAMApp.py:11405
-msgid "Available commands:\n"
-msgstr "Available commands:\n"
-
-#: FlatCAMApp.py:11407
-msgid ""
-"\n"
-"\n"
-"Type help for usage.\n"
-" Example: help open_gerber"
-msgstr ""
-"\n"
-"\n"
-"Type help for usage.\n"
-" Example: help open_gerber"
-
-#: FlatCAMApp.py:11557
-msgid "Shows list of commands."
-msgstr "Shows list of commands."
-
-#: FlatCAMApp.py:11619
+#: FlatCAMApp.py:11849
msgid "Failed to load recent item list."
msgstr "Failed to load recent item list."
-#: FlatCAMApp.py:11627
+#: FlatCAMApp.py:11856
msgid "Failed to parse recent item list."
msgstr "Failed to parse recent item list."
-#: FlatCAMApp.py:11638
+#: FlatCAMApp.py:11866
msgid "Failed to load recent projects item list."
msgstr "Failed to load recent projects item list."
-#: FlatCAMApp.py:11646
+#: FlatCAMApp.py:11873
msgid "Failed to parse recent project item list."
msgstr "Failed to parse recent project item list."
-#: FlatCAMApp.py:11706
+#: FlatCAMApp.py:11934
msgid "Clear Recent projects"
msgstr "Clear Recent projects"
-#: FlatCAMApp.py:11730
+#: FlatCAMApp.py:11958
msgid "Clear Recent files"
msgstr "Clear Recent files"
-#: FlatCAMApp.py:11747 flatcamGUI/FlatCAMGUI.py:1276
+#: FlatCAMApp.py:11980 flatcamGUI/FlatCAMGUI.py:1348
msgid "Shortcut Key List"
msgstr "Shortcut Key List"
-#: FlatCAMApp.py:11821
+#: FlatCAMApp.py:12054
msgid "Selected Tab - Choose an Item from Project Tab"
msgstr "Selected Tab - Choose an Item from Project Tab"
-#: FlatCAMApp.py:11822
+#: FlatCAMApp.py:12055
msgid "Details"
msgstr "Details"
-#: FlatCAMApp.py:11824
+#: FlatCAMApp.py:12057
msgid "The normal flow when working in FlatCAM is the following:"
msgstr "The normal flow when working in FlatCAM is the following:"
-#: FlatCAMApp.py:11825
+#: FlatCAMApp.py:12058
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 "
@@ -1501,7 +1445,7 @@ msgstr ""
"FlatCAM using either the toolbars, key shortcuts or even dragging and "
"dropping the files on the GUI."
-#: FlatCAMApp.py:11828
+#: FlatCAMApp.py:12061
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 "
@@ -1511,7 +1455,7 @@ msgstr ""
"drag and drop of the file into the FLATCAM GUI or through the menu (or "
"toolbar) actions offered within the app."
-#: FlatCAMApp.py:11831
+#: FlatCAMApp.py:12064
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 "
@@ -1523,7 +1467,7 @@ msgstr ""
"the Project Tab, SELECTED TAB will be updated with the object properties "
"according to its kind: Gerber, Excellon, Geometry or CNCJob object."
-#: FlatCAMApp.py:11835
+#: FlatCAMApp.py:12068
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 "
@@ -1537,7 +1481,7 @@ msgstr ""
"object on the canvas will bring the SELECTED TAB and populate it even if it "
"was out of focus."
-#: FlatCAMApp.py:11839
+#: FlatCAMApp.py:12072
msgid ""
"You can change the parameters in this screen and the flow direction is like "
"this:"
@@ -1545,7 +1489,7 @@ msgstr ""
"You can change the parameters in this screen and the flow direction is like "
"this:"
-#: FlatCAMApp.py:11840
+#: FlatCAMApp.py:12073
msgid ""
"Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> "
"Geometry Object --> Add tools (change param in Selected Tab) --> Generate "
@@ -1557,7 +1501,7 @@ msgstr ""
"CNCJob --> CNCJob Object --> Verify GCode (through Edit CNC Code) and/or "
"append/prepend to GCode (again, done in SELECTED TAB) --> Save GCode."
-#: FlatCAMApp.py:11844
+#: FlatCAMApp.py:12077
msgid ""
"A list of key shortcuts is available through an menu entry in Help --> "
"Shortcuts List or through its own key shortcut: F3."
@@ -1565,103 +1509,167 @@ msgstr ""
"A list of key shortcuts is available through an menu entry in Help --> "
"Shortcuts List or through its own key shortcut: F3."
-#: FlatCAMApp.py:11906
+#: FlatCAMApp.py:12141
msgid "Failed checking for latest version. Could not connect."
msgstr "Failed checking for latest version. Could not connect."
-#: FlatCAMApp.py:11914
+#: FlatCAMApp.py:12148
msgid "Could not parse information about latest version."
msgstr "Could not parse information about latest version."
-#: FlatCAMApp.py:11925
+#: FlatCAMApp.py:12158
msgid "FlatCAM is up to date!"
msgstr "FlatCAM is up to date!"
-#: FlatCAMApp.py:11930
+#: FlatCAMApp.py:12163
msgid "Newer Version Available"
msgstr "Newer Version Available"
-#: FlatCAMApp.py:11931
-msgid ""
-"There is a newer version of FlatCAM available for download:\n"
-"\n"
-msgstr ""
-"There is a newer version of FlatCAM available for download:\n"
-"\n"
+#: FlatCAMApp.py:12165
+msgid "There is a newer version of FlatCAM available for download:"
+msgstr "There is a newer version of FlatCAM available for download:"
-#: FlatCAMApp.py:11933
+#: FlatCAMApp.py:12169
msgid "info"
msgstr "info"
-#: FlatCAMApp.py:12012
+#: FlatCAMApp.py:12197
+msgid ""
+"OpenGL canvas initialization failed. HW or HW configuration not supported."
+"Change the graphic engine to Legacy(2D) in Edit -> Preferences -> General "
+"tab.\n"
+"\n"
+msgstr ""
+"OpenGL canvas initialization failed. HW or HW configuration not supported."
+"Change the graphic engine to Legacy(2D) in Edit -> Preferences -> General "
+"tab.\n"
+"\n"
+
+#: FlatCAMApp.py:12276
msgid "All plots disabled."
msgstr "All plots disabled."
-#: FlatCAMApp.py:12019
+#: FlatCAMApp.py:12283
msgid "All non selected plots disabled."
msgstr "All non selected plots disabled."
-#: FlatCAMApp.py:12026
+#: FlatCAMApp.py:12290
msgid "All plots enabled."
msgstr "All plots enabled."
-#: FlatCAMApp.py:12033
+#: FlatCAMApp.py:12296
msgid "Selected plots enabled..."
msgstr "Selected plots enabled..."
-#: FlatCAMApp.py:12042
+#: FlatCAMApp.py:12304
msgid "Selected plots disabled..."
msgstr "Selected plots disabled..."
-#: FlatCAMApp.py:12061
+#: FlatCAMApp.py:12337
msgid "Enabling plots ..."
msgstr "Enabling plots ..."
-#: FlatCAMApp.py:12101
+#: FlatCAMApp.py:12389
msgid "Disabling plots ..."
msgstr "Disabling plots ..."
-#: FlatCAMApp.py:12123
+#: FlatCAMApp.py:12412
msgid "Working ..."
msgstr "Working ..."
-#: FlatCAMApp.py:12224
+#: FlatCAMApp.py:12467 flatcamGUI/FlatCAMGUI.py:688
+msgid "Red"
+msgstr "Red"
+
+#: FlatCAMApp.py:12469 flatcamGUI/FlatCAMGUI.py:691
+msgid "Blue"
+msgstr "Blue"
+
+#: FlatCAMApp.py:12472 flatcamGUI/FlatCAMGUI.py:694
+msgid "Yellow"
+msgstr "Yellow"
+
+#: FlatCAMApp.py:12474 flatcamGUI/FlatCAMGUI.py:697
+msgid "Green"
+msgstr "Green"
+
+#: FlatCAMApp.py:12476 flatcamGUI/FlatCAMGUI.py:700
+msgid "Purple"
+msgstr "Purple"
+
+#: FlatCAMApp.py:12478 flatcamGUI/FlatCAMGUI.py:703
+msgid "Brown"
+msgstr "Brown"
+
+#: FlatCAMApp.py:12480 FlatCAMApp.py:12536 flatcamGUI/FlatCAMGUI.py:706
+msgid "White"
+msgstr "White"
+
+#: FlatCAMApp.py:12482 flatcamGUI/FlatCAMGUI.py:709
+msgid "Black"
+msgstr "Black"
+
+#: FlatCAMApp.py:12485 flatcamGUI/FlatCAMGUI.py:714
+msgid "Custom"
+msgstr "Custom"
+
+#: FlatCAMApp.py:12495 flatcamGUI/FlatCAMGUI.py:722
+msgid "Default"
+msgstr "Default"
+
+#: FlatCAMApp.py:12519 flatcamGUI/FlatCAMGUI.py:719
+msgid "Opacity"
+msgstr "Opacity"
+
+#: FlatCAMApp.py:12521
+msgid "Set alpha level ..."
+msgstr "Set alpha level ..."
+
+#: FlatCAMApp.py:12521 flatcamGUI/PreferencesUI.py:6900
+#: flatcamGUI/PreferencesUI.py:8230 flatcamGUI/PreferencesUI.py:8444
+#: flatcamTools/ToolExtractDrills.py:164 flatcamTools/ToolExtractDrills.py:285
+#: flatcamTools/ToolPunchGerber.py:192 flatcamTools/ToolPunchGerber.py:308
+#: flatcamTools/ToolTransform.py:358
+msgid "Value"
+msgstr "Value"
+
+#: FlatCAMApp.py:12597
msgid "Saving FlatCAM Project"
msgstr "Saving FlatCAM Project"
-#: FlatCAMApp.py:12243 FlatCAMApp.py:12280
+#: FlatCAMApp.py:12618 FlatCAMApp.py:12654
msgid "Project saved to"
msgstr "Project saved to"
-#: FlatCAMApp.py:12250
+#: FlatCAMApp.py:12625
msgid "The object is used by another application."
msgstr "The object is used by another application."
-#: FlatCAMApp.py:12264
+#: FlatCAMApp.py:12639
msgid "Failed to verify project file"
msgstr "Failed to verify project file"
-#: FlatCAMApp.py:12264 FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12639 FlatCAMApp.py:12647 FlatCAMApp.py:12657
msgid "Retry to save it."
msgstr "Retry to save it."
-#: FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12647 FlatCAMApp.py:12657
msgid "Failed to parse saved project file"
msgstr "Failed to parse saved project file"
-#: FlatCAMApp.py:12398
+#: FlatCAMApp.py:13139
msgid "The user requested a graceful exit of the current task."
msgstr "The user requested a graceful exit of the current task."
-#: FlatCAMCommon.py:136 FlatCAMCommon.py:163
+#: FlatCAMCommon.py:137 FlatCAMCommon.py:164
msgid "Title"
msgstr "Title"
-#: FlatCAMCommon.py:137 FlatCAMCommon.py:167
+#: FlatCAMCommon.py:138 FlatCAMCommon.py:168
msgid "Web Link"
msgstr "Web Link"
-#: FlatCAMCommon.py:141
+#: FlatCAMCommon.py:142
msgid ""
"Index.\n"
"The rows in gray color will populate the Bookmarks menu.\n"
@@ -1671,7 +1679,7 @@ msgstr ""
"The rows in gray color will populate the Bookmarks menu.\n"
"The number of gray colored rows is set in Preferences."
-#: FlatCAMCommon.py:145
+#: FlatCAMCommon.py:146
msgid ""
"Description of the link that is set as an menu action.\n"
"Try to keep it short because it is installed as a menu item."
@@ -1679,95 +1687,87 @@ msgstr ""
"Description of the link that is set as an menu action.\n"
"Try to keep it short because it is installed as a menu item."
-#: FlatCAMCommon.py:148
+#: FlatCAMCommon.py:149
msgid "Web Link. E.g: https://your_website.org "
msgstr "Web Link. E.g: https://your_website.org "
-#: FlatCAMCommon.py:157
+#: FlatCAMCommon.py:158
msgid "New Bookmark"
msgstr "New Bookmark"
-#: FlatCAMCommon.py:176
+#: FlatCAMCommon.py:177
msgid "Add Entry"
msgstr "Add Entry"
-#: FlatCAMCommon.py:177
+#: FlatCAMCommon.py:178
msgid "Remove Entry"
msgstr "Remove Entry"
-#: FlatCAMCommon.py:178
+#: FlatCAMCommon.py:179
msgid "Export List"
msgstr "Export List"
-#: FlatCAMCommon.py:179
+#: FlatCAMCommon.py:180
msgid "Import List"
msgstr "Import List"
-#: FlatCAMCommon.py:260
+#: FlatCAMCommon.py:261
msgid "Title entry is empty."
msgstr "Title entry is empty."
-#: FlatCAMCommon.py:269
+#: FlatCAMCommon.py:270
msgid "Web link entry is empty."
msgstr "Web link entry is empty."
-#: FlatCAMCommon.py:277
+#: FlatCAMCommon.py:278
msgid "Either the Title or the Weblink already in the table."
msgstr "Either the Title or the Weblink already in the table."
-#: FlatCAMCommon.py:297
+#: FlatCAMCommon.py:298
msgid "Bookmark added."
msgstr "Bookmark added."
-#: FlatCAMCommon.py:314
+#: FlatCAMCommon.py:315
msgid "This bookmark can not be removed"
msgstr "This bookmark can not be removed"
-#: FlatCAMCommon.py:345
+#: FlatCAMCommon.py:346
msgid "Bookmark removed."
msgstr "Bookmark removed."
-#: FlatCAMCommon.py:360
+#: FlatCAMCommon.py:361
msgid "Export FlatCAM Bookmarks"
msgstr "Export FlatCAM Bookmarks"
-#: FlatCAMCommon.py:363 flatcamGUI/FlatCAMGUI.py:470
+#: FlatCAMCommon.py:364 flatcamGUI/FlatCAMGUI.py:509
msgid "Bookmarks"
msgstr "Bookmarks"
-#: FlatCAMCommon.py:370
-msgid "FlatCAM bookmarks export cancelled."
-msgstr "FlatCAM bookmarks export cancelled."
-
-#: FlatCAMCommon.py:389 FlatCAMCommon.py:419
+#: FlatCAMCommon.py:390 FlatCAMCommon.py:420
msgid "Could not load bookmarks file."
msgstr "Could not load bookmarks file."
-#: FlatCAMCommon.py:399
+#: FlatCAMCommon.py:400
msgid "Failed to write bookmarks to file."
msgstr "Failed to write bookmarks to file."
-#: FlatCAMCommon.py:401
+#: FlatCAMCommon.py:402
msgid "Exported bookmarks to"
msgstr "Exported bookmarks to"
-#: FlatCAMCommon.py:407
+#: FlatCAMCommon.py:408
msgid "Import FlatCAM Bookmarks"
msgstr "Import FlatCAM Bookmarks"
-#: FlatCAMCommon.py:412
-msgid "FlatCAM bookmarks import cancelled."
-msgstr "FlatCAM bookmarks import cancelled."
-
-#: FlatCAMCommon.py:426
+#: FlatCAMCommon.py:427
msgid "Imported Bookmarks from"
msgstr "Imported Bookmarks from"
-#: FlatCAMCommon.py:529
+#: FlatCAMCommon.py:530
msgid "Add Geometry Tool in DB"
msgstr "Add Geometry Tool in DB"
-#: FlatCAMCommon.py:531
+#: FlatCAMCommon.py:532 FlatCAMCommon.py:2087
msgid ""
"Add a new tool in the Tools Database.\n"
"It will be used in the Geometry UI.\n"
@@ -1777,35 +1777,35 @@ msgstr ""
"It will be used in the Geometry UI.\n"
"You can edit it after it is added."
-#: FlatCAMCommon.py:545
+#: FlatCAMCommon.py:546 FlatCAMCommon.py:2101
msgid "Delete Tool from DB"
msgstr "Delete Tool from DB"
-#: FlatCAMCommon.py:547
+#: FlatCAMCommon.py:548 FlatCAMCommon.py:2103
msgid "Remove a selection of tools in the Tools Database."
msgstr "Remove a selection of tools in the Tools Database."
-#: FlatCAMCommon.py:551
+#: FlatCAMCommon.py:552 FlatCAMCommon.py:2107
msgid "Export DB"
msgstr "Export DB"
-#: FlatCAMCommon.py:553
+#: FlatCAMCommon.py:554 FlatCAMCommon.py:2109
msgid "Save the Tools Database to a custom text file."
msgstr "Save the Tools Database to a custom text file."
-#: FlatCAMCommon.py:557
+#: FlatCAMCommon.py:558 FlatCAMCommon.py:2113
msgid "Import DB"
msgstr "Import DB"
-#: FlatCAMCommon.py:559
+#: FlatCAMCommon.py:560 FlatCAMCommon.py:2115
msgid "Load the Tools Database information's from a custom text file."
msgstr "Load the Tools Database information's from a custom text file."
-#: FlatCAMCommon.py:563
+#: FlatCAMCommon.py:564 FlatCAMCommon.py:2119
msgid "Add Tool from Tools DB"
msgstr "Add Tool from Tools DB"
-#: FlatCAMCommon.py:565
+#: FlatCAMCommon.py:566 FlatCAMCommon.py:2121
msgid ""
"Add a new tool in the Tools Table of the\n"
"active Geometry object after selecting a tool\n"
@@ -1815,135 +1815,144 @@ msgstr ""
"active Geometry object after selecting a tool\n"
"in the Tools Database."
-#: FlatCAMCommon.py:601 FlatCAMCommon.py:1276
+#: FlatCAMCommon.py:602 FlatCAMCommon.py:1277 FlatCAMCommon.py:1531
msgid "Tool Name"
msgstr "Tool Name"
-#: FlatCAMCommon.py:602 FlatCAMCommon.py:1278
-#: flatcamEditors/FlatCAMExcEditor.py:1602 flatcamGUI/ObjectUI.py:1295
-#: flatcamTools/ToolNonCopperClear.py:271 flatcamTools/ToolPaint.py:176
+#: FlatCAMCommon.py:603 FlatCAMCommon.py:1279 FlatCAMCommon.py:1544
+#: flatcamEditors/FlatCAMExcEditor.py:1605 flatcamGUI/ObjectUI.py:1343
+#: flatcamGUI/ObjectUI.py:1581 flatcamGUI/PreferencesUI.py:5971
+#: flatcamTools/ToolNCC.py:278 flatcamTools/ToolNCC.py:287
+#: flatcamTools/ToolPaint.py:261
msgid "Tool Dia"
msgstr "Tool Dia"
-#: FlatCAMCommon.py:603 FlatCAMCommon.py:1280 flatcamGUI/ObjectUI.py:1278
+#: FlatCAMCommon.py:604 FlatCAMCommon.py:1281 FlatCAMCommon.py:1725
+#: flatcamGUI/ObjectUI.py:1556
msgid "Tool Offset"
msgstr "Tool Offset"
-#: FlatCAMCommon.py:604 FlatCAMCommon.py:1282
+#: FlatCAMCommon.py:605 FlatCAMCommon.py:1283 FlatCAMCommon.py:1742
msgid "Custom Offset"
msgstr "Custom Offset"
-#: FlatCAMCommon.py:605 FlatCAMCommon.py:1284 flatcamGUI/ObjectUI.py:304
-#: flatcamGUI/PreferencesUI.py:2217 flatcamGUI/PreferencesUI.py:5036
-#: flatcamTools/ToolNonCopperClear.py:213
+#: FlatCAMCommon.py:606 FlatCAMCommon.py:1285 FlatCAMCommon.py:1709
+#: flatcamGUI/ObjectUI.py:308 flatcamGUI/PreferencesUI.py:2397
+#: flatcamGUI/PreferencesUI.py:5332 flatcamGUI/PreferencesUI.py:5901
+#: flatcamGUI/PreferencesUI.py:5911 flatcamTools/ToolNCC.py:213
+#: flatcamTools/ToolNCC.py:227 flatcamTools/ToolPaint.py:196
msgid "Tool Type"
msgstr "Tool Type"
-#: FlatCAMCommon.py:606 FlatCAMCommon.py:1286
+#: FlatCAMCommon.py:607 FlatCAMCommon.py:1287 FlatCAMCommon.py:1557
msgid "Tool Shape"
msgstr "Tool Shape"
-#: FlatCAMCommon.py:607 FlatCAMCommon.py:1289 flatcamGUI/ObjectUI.py:345
-#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1405
-#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:2257
-#: flatcamGUI/PreferencesUI.py:3082 flatcamGUI/PreferencesUI.py:3961
-#: flatcamGUI/PreferencesUI.py:5081 flatcamGUI/PreferencesUI.py:5327
-#: flatcamGUI/PreferencesUI.py:6145 flatcamTools/ToolCalculators.py:114
-#: flatcamTools/ToolCutOut.py:132 flatcamTools/ToolNonCopperClear.py:254
+#: FlatCAMCommon.py:608 FlatCAMCommon.py:1290 FlatCAMCommon.py:1573
+#: flatcamGUI/ObjectUI.py:349 flatcamGUI/ObjectUI.py:899
+#: flatcamGUI/ObjectUI.py:1701 flatcamGUI/ObjectUI.py:2254
+#: flatcamGUI/PreferencesUI.py:2437 flatcamGUI/PreferencesUI.py:3311
+#: flatcamGUI/PreferencesUI.py:4241 flatcamGUI/PreferencesUI.py:5377
+#: flatcamGUI/PreferencesUI.py:5666 flatcamGUI/PreferencesUI.py:5944
+#: flatcamGUI/PreferencesUI.py:5952 flatcamGUI/PreferencesUI.py:6635
+#: flatcamTools/ToolCalculators.py:114 flatcamTools/ToolCutOut.py:139
+#: flatcamTools/ToolNCC.py:260 flatcamTools/ToolNCC.py:268
+#: flatcamTools/ToolPaint.py:243
msgid "Cut Z"
msgstr "Cut Z"
-#: FlatCAMCommon.py:608 FlatCAMCommon.py:1291
+#: FlatCAMCommon.py:609 FlatCAMCommon.py:1292 FlatCAMCommon.py:1587
msgid "MultiDepth"
msgstr "MultiDepth"
-#: FlatCAMCommon.py:609 FlatCAMCommon.py:1293
+#: FlatCAMCommon.py:610 FlatCAMCommon.py:1294 FlatCAMCommon.py:1600
msgid "DPP"
msgstr "DPP"
-#: FlatCAMCommon.py:610 FlatCAMCommon.py:1295
+#: FlatCAMCommon.py:611 FlatCAMCommon.py:1296 FlatCAMCommon.py:1756
msgid "V-Dia"
msgstr "V-Dia"
-#: FlatCAMCommon.py:611 FlatCAMCommon.py:1297
+#: FlatCAMCommon.py:612 FlatCAMCommon.py:1298 FlatCAMCommon.py:1770
msgid "V-Angle"
msgstr "V-Angle"
-#: FlatCAMCommon.py:612 FlatCAMCommon.py:1299 flatcamGUI/ObjectUI.py:839
-#: flatcamGUI/ObjectUI.py:1452 flatcamGUI/PreferencesUI.py:3100
-#: flatcamGUI/PreferencesUI.py:4014 flatcamGUI/PreferencesUI.py:7535
+#: FlatCAMCommon.py:613 FlatCAMCommon.py:1300 FlatCAMCommon.py:1614
+#: FlatCAMObj.py:3661 FlatCAMObj.py:5486 flatcamGUI/ObjectUI.py:945
+#: flatcamGUI/ObjectUI.py:1748 flatcamGUI/PreferencesUI.py:3352
+#: flatcamGUI/PreferencesUI.py:4294 flatcamGUI/PreferencesUI.py:8041
#: flatcamTools/ToolCalibration.py:74
msgid "Travel Z"
msgstr "Travel Z"
-#: FlatCAMCommon.py:613 FlatCAMCommon.py:1301
+#: FlatCAMCommon.py:614 FlatCAMCommon.py:1302
msgid "FR"
msgstr "FR"
-#: FlatCAMCommon.py:614 FlatCAMCommon.py:1303
+#: FlatCAMCommon.py:615 FlatCAMCommon.py:1304
msgid "FR Z"
msgstr "FR Z"
-#: FlatCAMCommon.py:615 FlatCAMCommon.py:1305
+#: FlatCAMCommon.py:616 FlatCAMCommon.py:1306 FlatCAMCommon.py:1784
msgid "FR Rapids"
msgstr "FR Rapids"
-#: FlatCAMCommon.py:616 FlatCAMCommon.py:1307 flatcamGUI/PreferencesUI.py:3173
+#: FlatCAMCommon.py:617 FlatCAMCommon.py:1308 FlatCAMCommon.py:1657
+#: flatcamGUI/PreferencesUI.py:3440
msgid "Spindle Speed"
msgstr "Spindle Speed"
-#: FlatCAMCommon.py:617 FlatCAMCommon.py:1309 flatcamGUI/ObjectUI.py:963
-#: flatcamGUI/ObjectUI.py:1619
+#: FlatCAMCommon.py:618 FlatCAMCommon.py:1310 FlatCAMCommon.py:1672
+#: flatcamGUI/ObjectUI.py:1063 flatcamGUI/ObjectUI.py:1855
msgid "Dwell"
msgstr "Dwell"
-#: FlatCAMCommon.py:618 FlatCAMCommon.py:1311
+#: FlatCAMCommon.py:619 FlatCAMCommon.py:1312 FlatCAMCommon.py:1685
msgid "Dwelltime"
msgstr "Dwelltime"
-#: FlatCAMCommon.py:619 FlatCAMCommon.py:1313 flatcamGUI/ObjectUI.py:982
-#: flatcamGUI/ObjectUI.py:1640 flatcamGUI/PreferencesUI.py:3204
-#: flatcamGUI/PreferencesUI.py:4155 flatcamGUI/PreferencesUI.py:6642
-#: flatcamTools/ToolSolderPaste.py:334
+#: FlatCAMCommon.py:620 FlatCAMCommon.py:1314 flatcamGUI/ObjectUI.py:2012
+#: flatcamGUI/PreferencesUI.py:3475 flatcamGUI/PreferencesUI.py:4447
+#: flatcamGUI/PreferencesUI.py:7148 flatcamTools/ToolSolderPaste.py:336
msgid "Preprocessor"
msgstr "Preprocessor"
-#: FlatCAMCommon.py:620 FlatCAMCommon.py:1315
+#: FlatCAMCommon.py:621 FlatCAMCommon.py:1316 FlatCAMCommon.py:1800
msgid "ExtraCut"
msgstr "ExtraCut"
-#: FlatCAMCommon.py:621 FlatCAMCommon.py:1317
+#: FlatCAMCommon.py:622 FlatCAMCommon.py:1318 FlatCAMCommon.py:1815
msgid "E-Cut Length"
msgstr "E-Cut Length"
-#: FlatCAMCommon.py:622 FlatCAMCommon.py:1319
+#: FlatCAMCommon.py:623 FlatCAMCommon.py:1320
msgid "Toolchange"
msgstr "Toolchange"
-#: FlatCAMCommon.py:623 FlatCAMCommon.py:1321
+#: FlatCAMCommon.py:624 FlatCAMCommon.py:1322
msgid "Toolchange XY"
msgstr "Toolchange XY"
-#: FlatCAMCommon.py:624 FlatCAMCommon.py:1323 flatcamGUI/PreferencesUI.py:3124
-#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:7572
+#: FlatCAMCommon.py:625 FlatCAMCommon.py:1324 flatcamGUI/PreferencesUI.py:3378
+#: flatcamGUI/PreferencesUI.py:4324 flatcamGUI/PreferencesUI.py:8078
#: flatcamTools/ToolCalibration.py:111
msgid "Toolchange Z"
msgstr "Toolchange Z"
-#: FlatCAMCommon.py:625 FlatCAMCommon.py:1325 flatcamGUI/ObjectUI.py:886
-#: flatcamGUI/PreferencesUI.py:3309 flatcamGUI/PreferencesUI.py:4200
+#: FlatCAMCommon.py:626 FlatCAMCommon.py:1326 flatcamGUI/ObjectUI.py:1192
+#: flatcamGUI/PreferencesUI.py:3586 flatcamGUI/PreferencesUI.py:4493
msgid "Start Z"
msgstr "Start Z"
-#: FlatCAMCommon.py:626 FlatCAMCommon.py:1328
+#: FlatCAMCommon.py:627 FlatCAMCommon.py:1329
msgid "End Z"
msgstr "End Z"
-#: FlatCAMCommon.py:630
+#: FlatCAMCommon.py:631
msgid "Tool Index."
msgstr "Tool Index."
-#: FlatCAMCommon.py:632
+#: FlatCAMCommon.py:633 FlatCAMCommon.py:1533
msgid ""
"Tool name.\n"
"This is not used in the app, it's function\n"
@@ -1953,11 +1962,11 @@ msgstr ""
"This is not used in the app, it's function\n"
"is to serve as a note for the user."
-#: FlatCAMCommon.py:636
+#: FlatCAMCommon.py:637 FlatCAMCommon.py:1546
msgid "Tool Diameter."
msgstr "Tool Diameter."
-#: FlatCAMCommon.py:638
+#: FlatCAMCommon.py:639 FlatCAMCommon.py:1727
msgid ""
"Tool Offset.\n"
"Can be of a few types:\n"
@@ -1973,7 +1982,7 @@ msgstr ""
"Out = offset outside by half of tool diameter\n"
"Custom = custom offset using the Custom Offset value"
-#: FlatCAMCommon.py:645
+#: FlatCAMCommon.py:646 FlatCAMCommon.py:1744
msgid ""
"Custom Offset.\n"
"A value to be used as offset from the current path."
@@ -1981,7 +1990,7 @@ msgstr ""
"Custom Offset.\n"
"A value to be used as offset from the current path."
-#: FlatCAMCommon.py:648
+#: FlatCAMCommon.py:649 FlatCAMCommon.py:1711
msgid ""
"Tool Type.\n"
"Can be:\n"
@@ -1995,7 +2004,7 @@ msgstr ""
"Rough = rough cut, low feedrate, multiple passes\n"
"Finish = finishing cut, high feedrate"
-#: FlatCAMCommon.py:654
+#: FlatCAMCommon.py:655 FlatCAMCommon.py:1559
msgid ""
"Tool Shape. \n"
"Can be:\n"
@@ -2009,7 +2018,7 @@ msgstr ""
"B = ball tip milling tool\n"
"V = v-shape milling tool"
-#: FlatCAMCommon.py:660
+#: FlatCAMCommon.py:661 FlatCAMCommon.py:1575
msgid ""
"Cutting Depth.\n"
"The depth at which to cut into material."
@@ -2017,7 +2026,7 @@ msgstr ""
"Cutting Depth.\n"
"The depth at which to cut into material."
-#: FlatCAMCommon.py:663
+#: FlatCAMCommon.py:664 FlatCAMCommon.py:1589
msgid ""
"Multi Depth.\n"
"Selecting this will allow cutting in multiple passes,\n"
@@ -2027,7 +2036,7 @@ msgstr ""
"Selecting this will allow cutting in multiple passes,\n"
"each pass adding a DPP parameter depth."
-#: FlatCAMCommon.py:667
+#: FlatCAMCommon.py:668 FlatCAMCommon.py:1602
msgid ""
"DPP. Depth per Pass.\n"
"The value used to cut into material on each pass."
@@ -2035,7 +2044,7 @@ msgstr ""
"DPP. Depth per Pass.\n"
"The value used to cut into material on each pass."
-#: FlatCAMCommon.py:670
+#: FlatCAMCommon.py:671 FlatCAMCommon.py:1758
msgid ""
"V-Dia.\n"
"Diameter of the tip for V-Shape Tools."
@@ -2043,7 +2052,7 @@ msgstr ""
"V-Dia.\n"
"Diameter of the tip for V-Shape Tools."
-#: FlatCAMCommon.py:673
+#: FlatCAMCommon.py:674 FlatCAMCommon.py:1772
msgid ""
"V-Agle.\n"
"Angle at the tip for the V-Shape Tools."
@@ -2051,7 +2060,7 @@ msgstr ""
"V-Agle.\n"
"Angle at the tip for the V-Shape Tools."
-#: FlatCAMCommon.py:676
+#: FlatCAMCommon.py:677 FlatCAMCommon.py:1616
msgid ""
"Clearance Height.\n"
"Height at which the milling bit will travel between cuts,\n"
@@ -2061,7 +2070,7 @@ msgstr ""
"Height at which the milling bit will travel between cuts,\n"
"above the surface of the material, avoiding all fixtures."
-#: FlatCAMCommon.py:680
+#: FlatCAMCommon.py:681
msgid ""
"FR. Feedrate\n"
"The speed on XY plane used while cutting into material."
@@ -2069,7 +2078,7 @@ msgstr ""
"FR. Feedrate\n"
"The speed on XY plane used while cutting into material."
-#: FlatCAMCommon.py:683
+#: FlatCAMCommon.py:684
msgid ""
"FR Z. Feedrate Z\n"
"The speed on Z plane."
@@ -2077,7 +2086,7 @@ msgstr ""
"FR Z. Feedrate Z\n"
"The speed on Z plane."
-#: FlatCAMCommon.py:686
+#: FlatCAMCommon.py:687 FlatCAMCommon.py:1786
msgid ""
"FR Rapids. Feedrate Rapids\n"
"Speed used while moving as fast as possible.\n"
@@ -2089,7 +2098,7 @@ msgstr ""
"This is used only by some devices that can't use\n"
"the G0 g-code command. Mostly 3D printers."
-#: FlatCAMCommon.py:691
+#: FlatCAMCommon.py:692 FlatCAMCommon.py:1659
msgid ""
"Spindle Speed.\n"
"If it's left empty it will not be used.\n"
@@ -2099,7 +2108,7 @@ msgstr ""
"If it's left empty it will not be used.\n"
"The speed of the spindle in RPM."
-#: FlatCAMCommon.py:695
+#: FlatCAMCommon.py:696 FlatCAMCommon.py:1674
msgid ""
"Dwell.\n"
"Check this if a delay is needed to allow\n"
@@ -2109,7 +2118,7 @@ msgstr ""
"Check this if a delay is needed to allow\n"
"the spindle motor to reach it's set speed."
-#: FlatCAMCommon.py:699
+#: FlatCAMCommon.py:700 FlatCAMCommon.py:1687
msgid ""
"Dwell Time.\n"
"A delay used to allow the motor spindle reach it's set speed."
@@ -2117,7 +2126,7 @@ msgstr ""
"Dwell Time.\n"
"A delay used to allow the motor spindle reach it's set speed."
-#: FlatCAMCommon.py:702
+#: FlatCAMCommon.py:703
msgid ""
"Preprocessor.\n"
"A selection of files that will alter the generated G-code\n"
@@ -2127,7 +2136,7 @@ msgstr ""
"A selection of files that will alter the generated G-code\n"
"to fit for a number of use cases."
-#: FlatCAMCommon.py:706
+#: FlatCAMCommon.py:707 FlatCAMCommon.py:1802
msgid ""
"Extra Cut.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -2141,7 +2150,7 @@ msgstr ""
"such as that this point is covered by this extra cut to\n"
"ensure a complete isolation."
-#: FlatCAMCommon.py:712
+#: FlatCAMCommon.py:713 FlatCAMCommon.py:1817
msgid ""
"Extra Cut length.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -2157,7 +2166,7 @@ msgstr ""
"ensure a complete isolation. This is the length of\n"
"the extra cut."
-#: FlatCAMCommon.py:719
+#: FlatCAMCommon.py:720
msgid ""
"Toolchange.\n"
"It will create a toolchange event.\n"
@@ -2169,7 +2178,7 @@ msgstr ""
"The kind of toolchange is determined by\n"
"the preprocessor file."
-#: FlatCAMCommon.py:724
+#: FlatCAMCommon.py:725
msgid ""
"Toolchange XY.\n"
"A set of coordinates in the format (x, y).\n"
@@ -2181,7 +2190,7 @@ msgstr ""
"Will determine the cartesian position of the point\n"
"where the tool change event take place."
-#: FlatCAMCommon.py:729
+#: FlatCAMCommon.py:730
msgid ""
"Toolchange Z.\n"
"The position on Z plane where the tool change event take place."
@@ -2189,7 +2198,7 @@ msgstr ""
"Toolchange Z.\n"
"The position on Z plane where the tool change event take place."
-#: FlatCAMCommon.py:732
+#: FlatCAMCommon.py:733
msgid ""
"Start Z.\n"
"If it's left empty it will not be used.\n"
@@ -2199,7 +2208,7 @@ msgstr ""
"If it's left empty it will not be used.\n"
"A position on Z plane to move immediately after job start."
-#: FlatCAMCommon.py:736
+#: FlatCAMCommon.py:737
msgid ""
"End Z.\n"
"A position on Z plane to move immediately after job stop."
@@ -2207,345 +2216,717 @@ msgstr ""
"End Z.\n"
"A position on Z plane to move immediately after job stop."
-#: FlatCAMCommon.py:748 FlatCAMCommon.py:1125 FlatCAMCommon.py:1159
+#: FlatCAMCommon.py:749 FlatCAMCommon.py:1126 FlatCAMCommon.py:1160
+#: FlatCAMCommon.py:2335 FlatCAMCommon.py:2556 FlatCAMCommon.py:2590
msgid "Could not load Tools DB file."
msgstr "Could not load Tools DB file."
-#: FlatCAMCommon.py:756 FlatCAMCommon.py:1167
+#: FlatCAMCommon.py:757 FlatCAMCommon.py:1168 FlatCAMCommon.py:2343
+#: FlatCAMCommon.py:2598
msgid "Failed to parse Tools DB file."
msgstr "Failed to parse Tools DB file."
-#: FlatCAMCommon.py:759 FlatCAMCommon.py:1170
+#: FlatCAMCommon.py:760 FlatCAMCommon.py:1171 FlatCAMCommon.py:2346
+#: FlatCAMCommon.py:2601
msgid "Loaded FlatCAM Tools DB from"
msgstr "Loaded FlatCAM Tools DB from"
-#: FlatCAMCommon.py:765
+#: FlatCAMCommon.py:766 FlatCAMCommon.py:2260
msgid "Add to DB"
msgstr "Add to DB"
-#: FlatCAMCommon.py:767
+#: FlatCAMCommon.py:768 FlatCAMCommon.py:2263
msgid "Copy from DB"
msgstr "Copy from DB"
-#: FlatCAMCommon.py:769
+#: FlatCAMCommon.py:770 FlatCAMCommon.py:2266
msgid "Delete from DB"
msgstr "Delete from DB"
-#: FlatCAMCommon.py:1046
+#: FlatCAMCommon.py:1047 FlatCAMCommon.py:2473
msgid "Tool added to DB."
msgstr "Tool added to DB."
-#: FlatCAMCommon.py:1067
+#: FlatCAMCommon.py:1068 FlatCAMCommon.py:2497
msgid "Tool copied from Tools DB."
msgstr "Tool copied from Tools DB."
-#: FlatCAMCommon.py:1085
+#: FlatCAMCommon.py:1086 FlatCAMCommon.py:2516
msgid "Tool removed from Tools DB."
msgstr "Tool removed from Tools DB."
-#: FlatCAMCommon.py:1096
+#: FlatCAMCommon.py:1097 FlatCAMCommon.py:2527
msgid "Export Tools Database"
msgstr "Export Tools Database"
-#: FlatCAMCommon.py:1099
+#: FlatCAMCommon.py:1100 FlatCAMCommon.py:2530
msgid "Tools_Database"
msgstr "Tools_Database"
-#: FlatCAMCommon.py:1106
-msgid "FlatCAM Tools DB export cancelled."
-msgstr "FlatCAM Tools DB export cancelled."
-
-#: FlatCAMCommon.py:1136 FlatCAMCommon.py:1139 FlatCAMCommon.py:1191
+#: FlatCAMCommon.py:1137 FlatCAMCommon.py:1140 FlatCAMCommon.py:1192
+#: FlatCAMCommon.py:2567 FlatCAMCommon.py:2570 FlatCAMCommon.py:2622
msgid "Failed to write Tools DB to file."
msgstr "Failed to write Tools DB to file."
-#: FlatCAMCommon.py:1142
+#: FlatCAMCommon.py:1143 FlatCAMCommon.py:2573
msgid "Exported Tools DB to"
msgstr "Exported Tools DB to"
-#: FlatCAMCommon.py:1149
+#: FlatCAMCommon.py:1150 FlatCAMCommon.py:2580
msgid "Import FlatCAM Tools DB"
msgstr "Import FlatCAM Tools DB"
-#: FlatCAMCommon.py:1152
-msgid "FlatCAM Tools DB import cancelled."
-msgstr "FlatCAM Tools DB import cancelled."
-
-#: FlatCAMCommon.py:1195
+#: FlatCAMCommon.py:1196 FlatCAMCommon.py:2626
msgid "Saved Tools DB."
msgstr "Saved Tools DB."
-#: FlatCAMCommon.py:1342
+#: FlatCAMCommon.py:1343 FlatCAMCommon.py:2807
msgid "No Tool/row selected in the Tools Database table"
msgstr "No Tool/row selected in the Tools Database table"
-#: FlatCAMCommon.py:1360
+#: FlatCAMCommon.py:1361 FlatCAMCommon.py:2824
msgid "Cancelled adding tool from DB."
msgstr "Cancelled adding tool from DB."
-#: FlatCAMObj.py:257
+#: FlatCAMCommon.py:1462
+msgid "Basic Geo Parameters"
+msgstr "Basic Geo Parameters"
+
+#: FlatCAMCommon.py:1474
+msgid "Advanced Geo Parameters"
+msgstr "Advanced Geo Parameters"
+
+#: FlatCAMCommon.py:1486
+msgid "NCC Parameters"
+msgstr "NCC Parameters"
+
+#: FlatCAMCommon.py:1498
+msgid "Paint Parameters"
+msgstr "Paint Parameters"
+
+#: FlatCAMCommon.py:1629 flatcamGUI/ObjectUI.py:966 flatcamGUI/ObjectUI.py:1767
+#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:7059
+#: flatcamTools/ToolSolderPaste.py:254
+msgid "Feedrate X-Y"
+msgstr "Feedrate X-Y"
+
+#: FlatCAMCommon.py:1631
+msgid ""
+"Feedrate X-Y. Feedrate\n"
+"The speed on XY plane used while cutting into material."
+msgstr ""
+"Feedrate X-Y. Feedrate\n"
+"The speed on XY plane used while cutting into material."
+
+#: FlatCAMCommon.py:1643 flatcamGUI/ObjectUI.py:981 flatcamGUI/ObjectUI.py:1781
+#: flatcamGUI/PreferencesUI.py:3425 flatcamGUI/PreferencesUI.py:4393
+#: flatcamGUI/PreferencesUI.py:7072 flatcamTools/ToolSolderPaste.py:266
+msgid "Feedrate Z"
+msgstr "Feedrate Z"
+
+#: FlatCAMCommon.py:1645
+msgid ""
+"Feedrate Z\n"
+"The speed on Z plane."
+msgstr ""
+"Feedrate Z\n"
+"The speed on Z plane."
+
+#: FlatCAMCommon.py:1843 flatcamGUI/ObjectUI.py:844
+#: flatcamGUI/PreferencesUI.py:3264 flatcamTools/ToolNCC.py:341
+msgid "Operation"
+msgstr "Operation"
+
+#: FlatCAMCommon.py:1845 flatcamTools/ToolNCC.py:343
+msgid ""
+"The 'Operation' can be:\n"
+"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
+"If it's not successful then the non-copper clearing will fail, too.\n"
+"- Clear -> the regular non-copper clearing."
+msgstr ""
+"The 'Operation' can be:\n"
+"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
+"If it's not successful then the non-copper clearing will fail, too.\n"
+"- Clear -> the regular non-copper clearing."
+
+#: FlatCAMCommon.py:1852 flatcamEditors/FlatCAMGrbEditor.py:2739
+#: flatcamGUI/GUIElements.py:2577 flatcamTools/ToolNCC.py:350
+msgid "Clear"
+msgstr "Clear"
+
+#: FlatCAMCommon.py:1853 flatcamTools/ToolNCC.py:351
+#: flatcamTools/ToolNCC.py:1618
+msgid "Isolation"
+msgstr "Isolation"
+
+#: FlatCAMCommon.py:1861 flatcamGUI/ObjectUI.py:408 flatcamGUI/ObjectUI.py:866
+#: flatcamGUI/PreferencesUI.py:2257 flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:4665 flatcamGUI/PreferencesUI.py:5416
+#: flatcamTools/ToolNCC.py:359
+msgid "Milling Type"
+msgstr "Milling Type"
+
+#: FlatCAMCommon.py:1863 FlatCAMCommon.py:1871 flatcamGUI/PreferencesUI.py:5418
+#: flatcamGUI/PreferencesUI.py:5426 flatcamTools/ToolNCC.py:361
+#: flatcamTools/ToolNCC.py:369
+msgid ""
+"Milling type when the selected tool is of type: 'iso_op':\n"
+"- climb / best for precision milling and to reduce tool usage\n"
+"- conventional / useful when there is no backlash compensation"
+msgstr ""
+"Milling type when the selected tool is of type: 'iso_op':\n"
+"- climb / best for precision milling and to reduce tool usage\n"
+"- conventional / useful when there is no backlash compensation"
+
+#: FlatCAMCommon.py:1868 flatcamGUI/ObjectUI.py:414
+#: flatcamGUI/PreferencesUI.py:2264 flatcamGUI/PreferencesUI.py:4671
+#: flatcamGUI/PreferencesUI.py:5423 flatcamTools/ToolNCC.py:366
+msgid "Climb"
+msgstr "Climb"
+
+#: FlatCAMCommon.py:1869 flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/PreferencesUI.py:2265 flatcamGUI/PreferencesUI.py:4672
+#: flatcamGUI/PreferencesUI.py:5424 flatcamTools/ToolNCC.py:367
+msgid "Conventional"
+msgstr "Conventional"
+
+#: FlatCAMCommon.py:1881 FlatCAMCommon.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:452 flatcamGUI/PreferencesUI.py:5461
+#: flatcamGUI/PreferencesUI.py:6002 flatcamTools/ToolNCC.py:382
+#: flatcamTools/ToolPaint.py:329
+msgid "Overlap"
+msgstr "Overlap"
+
+#: FlatCAMCommon.py:1883 flatcamGUI/PreferencesUI.py:5463
+#: flatcamTools/ToolNCC.py:384
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be cleared are still \n"
+"not cleared.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be cleared are still \n"
+"not cleared.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+
+#: FlatCAMCommon.py:1902 FlatCAMCommon.py:2011
+#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/PreferencesUI.py:5481
+#: flatcamGUI/PreferencesUI.py:5723 flatcamGUI/PreferencesUI.py:6022
+#: flatcamGUI/PreferencesUI.py:7681 flatcamGUI/PreferencesUI.py:7838
+#: flatcamGUI/PreferencesUI.py:7923 flatcamGUI/PreferencesUI.py:8570
+#: flatcamGUI/PreferencesUI.py:8578 flatcamTools/ToolCopperThieving.py:112
+#: flatcamTools/ToolCopperThieving.py:363 flatcamTools/ToolCutOut.py:191
+#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolInvertGerber.py:88
+#: flatcamTools/ToolInvertGerber.py:96 flatcamTools/ToolNCC.py:403
+#: flatcamTools/ToolPaint.py:350
+msgid "Margin"
+msgstr "Margin"
+
+#: FlatCAMCommon.py:1904 flatcamGUI/PreferencesUI.py:5483
+#: flatcamGUI/PreferencesUI.py:7683 flatcamGUI/PreferencesUI.py:7925
+#: flatcamGUI/PreferencesUI.py:7989 flatcamTools/ToolCopperThieving.py:114
+#: flatcamTools/ToolFiducials.py:174 flatcamTools/ToolFiducials.py:237
+#: flatcamTools/ToolNCC.py:405
+msgid "Bounding box margin."
+msgstr "Bounding box margin."
+
+#: FlatCAMCommon.py:1915 FlatCAMCommon.py:2026
+#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:5494
+#: flatcamGUI/PreferencesUI.py:6037 flatcamGUI/PreferencesUI.py:8204
+#: flatcamGUI/PreferencesUI.py:8417 flatcamTools/ToolExtractDrills.py:128
+#: flatcamTools/ToolNCC.py:416 flatcamTools/ToolPaint.py:365
+#: flatcamTools/ToolPunchGerber.py:139
+msgid "Method"
+msgstr "Method"
+
+#: FlatCAMCommon.py:1917 flatcamGUI/PreferencesUI.py:5496
+#: flatcamTools/ToolNCC.py:418
+msgid ""
+"Algorithm for copper clearing:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
+msgstr ""
+"Algorithm for copper clearing:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolNCC.py:2390 flatcamTools/ToolNCC.py:2419
+#: flatcamTools/ToolNCC.py:2688 flatcamTools/ToolNCC.py:2720
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1829
+#: tclCommands/TclCommandCopperClear.py:126
+#: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125
+msgid "Standard"
+msgstr "Standard"
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:5156 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:699
+#: flatcamTools/ToolPaint.py:1857 tclCommands/TclCommandCopperClear.py:130
+#: tclCommands/TclCommandPaint.py:129
+msgid "Lines"
+msgstr "Lines"
+
+#: FlatCAMCommon.py:1933 FlatCAMCommon.py:2051 flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:6063 flatcamTools/ToolNCC.py:439
+#: flatcamTools/ToolPaint.py:401
+msgid "Connect"
+msgstr "Connect"
+
+#: FlatCAMCommon.py:1937 FlatCAMCommon.py:2054
+#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/PreferencesUI.py:5518
+#: flatcamGUI/PreferencesUI.py:6065 flatcamTools/ToolNCC.py:443
+#: flatcamTools/ToolPaint.py:404
+msgid ""
+"Draw lines between resulting\n"
+"segments to minimize tool lifts."
+msgstr ""
+"Draw lines between resulting\n"
+"segments to minimize tool lifts."
+
+#: FlatCAMCommon.py:1943 FlatCAMCommon.py:2058 flatcamGUI/PreferencesUI.py:5525
+#: flatcamGUI/PreferencesUI.py:6071 flatcamTools/ToolNCC.py:449
+#: flatcamTools/ToolPaint.py:408
+msgid "Contour"
+msgstr "Contour"
+
+#: FlatCAMCommon.py:1947 FlatCAMCommon.py:2061
+#: flatcamEditors/FlatCAMGeoEditor.py:519 flatcamGUI/PreferencesUI.py:5527
+#: flatcamGUI/PreferencesUI.py:6073 flatcamTools/ToolNCC.py:453
+#: flatcamTools/ToolPaint.py:411
+msgid ""
+"Cut around the perimeter of the polygon\n"
+"to trim rough edges."
+msgstr ""
+"Cut around the perimeter of the polygon\n"
+"to trim rough edges."
+
+#: FlatCAMCommon.py:1953 flatcamEditors/FlatCAMGeoEditor.py:613
+#: flatcamEditors/FlatCAMGrbEditor.py:5145 flatcamGUI/ObjectUI.py:142
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamGUI/PreferencesUI.py:5534 flatcamGUI/PreferencesUI.py:6822
+#: flatcamTools/ToolNCC.py:459 flatcamTools/ToolTransform.py:29
+msgid "Offset"
+msgstr "Offset"
+
+#: FlatCAMCommon.py:1957 flatcamGUI/PreferencesUI.py:5536
+#: flatcamTools/ToolNCC.py:463
+msgid ""
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0 and 10 FlatCAM units."
+msgstr ""
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0 and 10 FlatCAM units."
+
+#: FlatCAMCommon.py:1992 flatcamEditors/FlatCAMGeoEditor.py:454
+#: flatcamGUI/PreferencesUI.py:6004 flatcamTools/ToolPaint.py:331
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be painted are still \n"
+"not painted.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be painted are still \n"
+"not painted.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+
+#: FlatCAMCommon.py:2013 flatcamEditors/FlatCAMGeoEditor.py:474
+#: flatcamGUI/PreferencesUI.py:6024 flatcamTools/ToolPaint.py:352
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the polygon to\n"
+"be painted."
+msgstr ""
+"Distance by which to avoid\n"
+"the edges of the polygon to\n"
+"be painted."
+
+#: FlatCAMCommon.py:2028 flatcamGUI/PreferencesUI.py:6039
+#: flatcamTools/ToolPaint.py:367
+msgid ""
+"Algorithm for painting:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines.\n"
+"- Laser-lines: Active only for Gerber objects.\n"
+"Will create lines that follow the traces.\n"
+"- Combo: In case of failure a new method will be picked from the above\n"
+"in the order specified."
+msgstr ""
+"Algorithm for painting:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines.\n"
+"- Laser-lines: Active only for Gerber objects.\n"
+"Will create lines that follow the traces.\n"
+"- Combo: In case of failure a new method will be picked from the above\n"
+"in the order specified."
+
+#: FlatCAMCommon.py:2040 FlatCAMCommon.py:2042 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:392
+#: flatcamTools/ToolPaint.py:693 flatcamTools/ToolPaint.py:698
+#: flatcamTools/ToolPaint.py:1871 tclCommands/TclCommandPaint.py:131
+msgid "Laser_lines"
+msgstr "Laser_lines"
+
+#: FlatCAMCommon.py:2040 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:2022
+#: tclCommands/TclCommandPaint.py:133
+msgid "Combo"
+msgstr "Combo"
+
+#: FlatCAMCommon.py:2085
+msgid "Add Tool in DB"
+msgstr "Add Tool in DB"
+
+#: FlatCAMObj.py:264
msgid "Name changed from"
msgstr "Name changed from"
-#: FlatCAMObj.py:257
+#: FlatCAMObj.py:264
msgid "to"
msgstr "to"
-#: FlatCAMObj.py:268
+#: FlatCAMObj.py:275
msgid "Offsetting..."
msgstr "Offsetting..."
-#: FlatCAMObj.py:282 FlatCAMObj.py:287
+#: FlatCAMObj.py:289 FlatCAMObj.py:294
msgid "Scaling could not be executed."
msgstr "Scaling could not be executed."
-#: FlatCAMObj.py:291 FlatCAMObj.py:299
+#: FlatCAMObj.py:298 FlatCAMObj.py:306
msgid "Scale done."
msgstr "Scale done."
-#: FlatCAMObj.py:297
+#: FlatCAMObj.py:304
msgid "Scaling..."
msgstr "Scaling..."
-#: FlatCAMObj.py:315
+#: FlatCAMObj.py:322
msgid "Skewing..."
msgstr "Skewing..."
-#: FlatCAMObj.py:736 FlatCAMObj.py:2746 FlatCAMObj.py:3968
-#: flatcamGUI/PreferencesUI.py:1470 flatcamGUI/PreferencesUI.py:2859
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/ObjectUI.py:449
+#: flatcamGUI/PreferencesUI.py:6527 flatcamTools/ToolAlignObjects.py:73
+#: flatcamTools/ToolAlignObjects.py:109 flatcamTools/ToolCalibration.py:196
+#: flatcamTools/ToolCalibration.py:631 flatcamTools/ToolCalibration.py:648
+#: flatcamTools/ToolCalibration.py:807 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:92
+#: flatcamTools/ToolDblSided.py:225 flatcamTools/ToolFilm.py:69
+#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549
+#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:252 flatcamTools/ToolImage.py:273
+#: flatcamTools/ToolNCC.py:96 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1295 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:706 flatcamTools/ToolPanelize.py:118
+#: flatcamTools/ToolPanelize.py:204 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Gerber"
+msgstr "Gerber"
+
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/FlatCAMGUI.py:2154
+#: flatcamGUI/ObjectUI.py:449 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:93
+#: flatcamTools/ToolDblSided.py:227 flatcamTools/ToolFilm.py:69
+#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549
+#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:271 flatcamTools/ToolNCC.py:95
+#: flatcamTools/ToolNCC.py:558 flatcamTools/ToolNCC.py:1295
+#: flatcamTools/ToolPaint.py:502 flatcamTools/ToolPaint.py:706
+#: flatcamTools/ToolPanelize.py:118 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Geometry"
+msgstr "Geometry"
+
+#: FlatCAMObj.py:755 FlatCAMObj.py:2957 FlatCAMObj.py:4421
+#: flatcamGUI/PreferencesUI.py:1646 flatcamGUI/PreferencesUI.py:3041
msgid "Basic"
msgstr "Basic"
-#: FlatCAMObj.py:763 FlatCAMObj.py:2758 FlatCAMObj.py:3989
-#: flatcamGUI/PreferencesUI.py:1471
+#: FlatCAMObj.py:782 FlatCAMObj.py:2970 FlatCAMObj.py:4442
+#: flatcamGUI/PreferencesUI.py:1647
msgid "Advanced"
msgstr "Advanced"
-#: FlatCAMObj.py:980
+#: FlatCAMObj.py:998
msgid "Buffering solid geometry"
msgstr "Buffering solid geometry"
-#: FlatCAMObj.py:983 camlib.py:965 flatcamGUI/PreferencesUI.py:2296
-#: flatcamTools/ToolCopperThieving.py:1011
-#: flatcamTools/ToolCopperThieving.py:1200
-#: flatcamTools/ToolCopperThieving.py:1212
-#: flatcamTools/ToolNonCopperClear.py:1624
-#: flatcamTools/ToolNonCopperClear.py:1721
-#: flatcamTools/ToolNonCopperClear.py:1732
-#: flatcamTools/ToolNonCopperClear.py:2015
-#: flatcamTools/ToolNonCopperClear.py:2111
-#: flatcamTools/ToolNonCopperClear.py:2123
+#: FlatCAMObj.py:1001 camlib.py:979 flatcamGUI/PreferencesUI.py:2476
+#: flatcamTools/ToolCopperThieving.py:1017
+#: flatcamTools/ToolCopperThieving.py:1206
+#: flatcamTools/ToolCopperThieving.py:1218 flatcamTools/ToolNCC.py:2045
+#: flatcamTools/ToolNCC.py:2153 flatcamTools/ToolNCC.py:2167
+#: flatcamTools/ToolNCC.py:3098 flatcamTools/ToolNCC.py:3203
+#: flatcamTools/ToolNCC.py:3218 flatcamTools/ToolNCC.py:3484
+#: flatcamTools/ToolNCC.py:3585 flatcamTools/ToolNCC.py:3600
msgid "Buffering"
msgstr "Buffering"
-#: FlatCAMObj.py:989
+#: FlatCAMObj.py:1007
msgid "Done"
msgstr "Done"
-#: FlatCAMObj.py:1040
+#: FlatCAMObj.py:1032 FlatCAMObj.py:1058
+msgid "Operation could not be done."
+msgstr "Operation could not be done."
+
+#: FlatCAMObj.py:1075
msgid "Isolating..."
msgstr "Isolating..."
-#: FlatCAMObj.py:1099
+#: FlatCAMObj.py:1134
msgid "Click on a polygon to isolate it."
msgstr "Click on a polygon to isolate it."
-#: FlatCAMObj.py:1138 FlatCAMObj.py:1243 flatcamTools/ToolPaint.py:1120
+#: FlatCAMObj.py:1173 FlatCAMObj.py:1277 flatcamTools/ToolPaint.py:1511
msgid "Added polygon"
msgstr "Added polygon"
-#: FlatCAMObj.py:1140 FlatCAMObj.py:1245
+#: FlatCAMObj.py:1174 FlatCAMObj.py:1279
msgid "Click to add next polygon or right click to start isolation."
msgstr "Click to add next polygon or right click to start isolation."
-#: FlatCAMObj.py:1152 flatcamTools/ToolPaint.py:1134
+#: FlatCAMObj.py:1186 flatcamTools/ToolPaint.py:1525
msgid "Removed polygon"
msgstr "Removed polygon"
-#: FlatCAMObj.py:1153
+#: FlatCAMObj.py:1187
msgid "Click to add/remove next polygon or right click to start isolation."
msgstr "Click to add/remove next polygon or right click to start isolation."
-#: FlatCAMObj.py:1158 flatcamTools/ToolPaint.py:1140
+#: FlatCAMObj.py:1192 flatcamTools/ToolPaint.py:1531
msgid "No polygon detected under click position."
msgstr "No polygon detected under click position."
-#: FlatCAMObj.py:1179 flatcamTools/ToolPaint.py:1169
+#: FlatCAMObj.py:1213 flatcamTools/ToolPaint.py:1560
msgid "List of single polygons is empty. Aborting."
msgstr "List of single polygons is empty. Aborting."
-#: FlatCAMObj.py:1248
+#: FlatCAMObj.py:1282
msgid "No polygon in selection."
msgstr "No polygon in selection."
-#: FlatCAMObj.py:1324 FlatCAMObj.py:1457
-#: flatcamTools/ToolNonCopperClear.py:1653
-#: flatcamTools/ToolNonCopperClear.py:2039
-msgid "Isolation geometry could not be generated."
-msgstr "Isolation geometry could not be generated."
-
-#: FlatCAMObj.py:1374 FlatCAMObj.py:3637 FlatCAMObj.py:3922 FlatCAMObj.py:4221
+#: FlatCAMObj.py:1394 FlatCAMObj.py:1542 FlatCAMObj.py:4055 FlatCAMObj.py:4375
+#: FlatCAMObj.py:4762
msgid "Rough"
msgstr "Rough"
-#: FlatCAMObj.py:1400 FlatCAMObj.py:1480
+#: FlatCAMObj.py:1410 FlatCAMObj.py:1489 flatcamTools/ToolNCC.py:2081
+#: flatcamTools/ToolNCC.py:3132 flatcamTools/ToolNCC.py:3511
+msgid "Isolation geometry could not be generated."
+msgstr "Isolation geometry could not be generated."
+
+#: FlatCAMObj.py:1435 FlatCAMObj.py:1567
msgid "Isolation geometry created"
msgstr "Isolation geometry created"
-#: FlatCAMObj.py:1409 FlatCAMObj.py:1487
+#: FlatCAMObj.py:1444 FlatCAMObj.py:1574
msgid "Subtracting Geo"
msgstr "Subtracting Geo"
-#: FlatCAMObj.py:1807
+#: FlatCAMObj.py:1899
msgid "Plotting Apertures"
msgstr "Plotting Apertures"
-#: FlatCAMObj.py:2573 flatcamEditors/FlatCAMExcEditor.py:2427
+#: FlatCAMObj.py:2753 flatcamEditors/FlatCAMExcEditor.py:2453
msgid "Total Drills"
msgstr "Total Drills"
-#: FlatCAMObj.py:2605 flatcamEditors/FlatCAMExcEditor.py:2459
+#: FlatCAMObj.py:2784 flatcamEditors/FlatCAMExcEditor.py:2485
msgid "Total Slots"
msgstr "Total Slots"
-#: FlatCAMObj.py:3060 FlatCAMObj.py:3155 FlatCAMObj.py:3276
-msgid "Please select one or more tools from the list and try again."
-msgstr "Please select one or more tools from the list and try again."
-
-#: FlatCAMObj.py:3067
-msgid "Milling tool for DRILLS is larger than hole size. Cancelled."
-msgstr "Milling tool for DRILLS is larger than hole size. Cancelled."
-
-#: FlatCAMObj.py:3068 FlatCAMObj.py:4533 flatcamEditors/FlatCAMGeoEditor.py:408
-#: flatcamGUI/FlatCAMGUI.py:457 flatcamGUI/FlatCAMGUI.py:1072
-#: flatcamGUI/ObjectUI.py:1353
-msgid "Tool"
-msgstr "Tool"
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-msgid "Tool_nr"
-msgstr "Tool_nr"
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-#: flatcamEditors/FlatCAMExcEditor.py:1582
-#: flatcamEditors/FlatCAMExcEditor.py:3048 flatcamGUI/ObjectUI.py:777
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
-#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:396
-#: flatcamTools/ToolProperties.py:449 flatcamTools/ToolSolderPaste.py:84
-msgid "Diameter"
-msgstr "Diameter"
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-msgid "Drills_Nr"
-msgstr "Drills_Nr"
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-msgid "Slots_Nr"
-msgstr "Slots_Nr"
-
-#: FlatCAMObj.py:3164
-msgid "Milling tool for SLOTS is larger than hole size. Cancelled."
-msgstr "Milling tool for SLOTS is larger than hole size. Cancelled."
-
-#: FlatCAMObj.py:3336
-msgid ""
-"Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth"
-"\"]"
-msgstr ""
-"Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth"
-"\"]"
-
-#: FlatCAMObj.py:3347
-msgid ""
-"Wrong value format for self.defaults[\"feedrate_probe\"] or self."
-"options[\"feedrate_probe\"]"
-msgstr ""
-"Wrong value format for self.defaults[\"feedrate_probe\"] or self."
-"options[\"feedrate_probe\"]"
-
-#: FlatCAMObj.py:3377 FlatCAMObj.py:5354 FlatCAMObj.py:5358 FlatCAMObj.py:5493
-msgid "Generating CNC Code"
-msgstr "Generating CNC Code"
-
-#: FlatCAMObj.py:3637 FlatCAMObj.py:4632 FlatCAMObj.py:4633 FlatCAMObj.py:4642
-msgid "Iso"
-msgstr "Iso"
-
-#: FlatCAMObj.py:3637
-msgid "Finish"
-msgstr "Finish"
-
-#: FlatCAMObj.py:3957
-msgid "Add from Tool DB"
-msgstr "Add from Tool DB"
-
-#: FlatCAMObj.py:3960 flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:794
-#: flatcamGUI/FlatCAMGUI.py:989 flatcamGUI/FlatCAMGUI.py:2015
-#: flatcamGUI/FlatCAMGUI.py:2159 flatcamGUI/FlatCAMGUI.py:2378
-#: flatcamGUI/FlatCAMGUI.py:2557 flatcamGUI/ObjectUI.py:1324
-#: flatcamTools/ToolPanelize.py:534 flatcamTools/ToolPanelize.py:561
-#: flatcamTools/ToolPanelize.py:660 flatcamTools/ToolPanelize.py:694
-#: flatcamTools/ToolPanelize.py:759
-msgid "Copy"
-msgstr "Copy"
-
-#: FlatCAMObj.py:4054 FlatCAMObj.py:4397 FlatCAMObj.py:5107 FlatCAMObj.py:5744
-#: flatcamEditors/FlatCAMExcEditor.py:2534
-#: flatcamEditors/FlatCAMGeoEditor.py:1078
-#: flatcamEditors/FlatCAMGeoEditor.py:1112
-#: flatcamEditors/FlatCAMGeoEditor.py:1133
-#: flatcamEditors/FlatCAMGeoEditor.py:1154
-#: flatcamEditors/FlatCAMGeoEditor.py:1191
-#: flatcamEditors/FlatCAMGeoEditor.py:1219
-#: flatcamEditors/FlatCAMGeoEditor.py:1240
-#: flatcamTools/ToolNonCopperClear.py:1052
-#: flatcamTools/ToolNonCopperClear.py:1461 flatcamTools/ToolPaint.py:835
-#: flatcamTools/ToolPaint.py:1019 flatcamTools/ToolPaint.py:2198
-#: flatcamTools/ToolSolderPaste.py:882 flatcamTools/ToolSolderPaste.py:957
-msgid "Wrong value format entered, use a number."
-msgstr "Wrong value format entered, use a number."
-
-#: FlatCAMObj.py:4240
-msgid "Tool added in Tool Table."
-msgstr "Tool added in Tool Table."
-
-#: FlatCAMObj.py:4347 FlatCAMObj.py:4356
-msgid "Failed. Select a tool to copy."
-msgstr "Failed. Select a tool to copy."
-
-#: FlatCAMObj.py:4383
-msgid "Tool was copied in Tool Table."
-msgstr "Tool was copied in Tool Table."
-
-#: FlatCAMObj.py:4411
-msgid "Tool was edited in Tool Table."
-msgstr "Tool was edited in Tool Table."
-
-#: FlatCAMObj.py:4440 FlatCAMObj.py:4449
-msgid "Failed. Select a tool to delete."
-msgstr "Failed. Select a tool to delete."
-
-#: FlatCAMObj.py:4472
-msgid "Tool was deleted in Tool Table."
-msgstr "Tool was deleted in Tool Table."
-
-#: FlatCAMObj.py:4533 flatcamGUI/ObjectUI.py:1353
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3069 FlatCAMObj.py:3085 FlatCAMObj.py:3089
+#: FlatCAMObj.py:4242 FlatCAMObj.py:4667 FlatCAMObj.py:4703
+#: flatcamGUI/ObjectUI.py:817 flatcamGUI/ObjectUI.py:1660
+#: flatcamTools/ToolNCC.py:331 flatcamTools/ToolNCC.py:797
+#: flatcamTools/ToolNCC.py:811 flatcamTools/ToolNCC.py:1191
+#: flatcamTools/ToolPaint.py:314 flatcamTools/ToolPaint.py:767
+#: flatcamTools/ToolPaint.py:779 flatcamTools/ToolPaint.py:1166
msgid "Parameters for"
msgstr "Parameters for"
-#: FlatCAMObj.py:4967
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3089 FlatCAMObj.py:4242 FlatCAMObj.py:4703
+#: flatcamTools/ToolNCC.py:811 flatcamTools/ToolNCC.py:1191
+#: flatcamTools/ToolPaint.py:779 flatcamTools/ToolPaint.py:1166
+msgid "Multiple Tools"
+msgstr "Multiple Tools"
+
+#: FlatCAMObj.py:3069
+msgid "No Tool Selected"
+msgstr "No Tool Selected"
+
+#: FlatCAMObj.py:3085 FlatCAMObj.py:3427 FlatCAMObj.py:4667
+#: flatcamEditors/FlatCAMGeoEditor.py:406 flatcamGUI/FlatCAMGUI.py:496
+#: flatcamGUI/FlatCAMGUI.py:1143 flatcamGUI/ObjectUI.py:817
+#: flatcamGUI/ObjectUI.py:1660 flatcamTools/ToolNCC.py:331
+#: flatcamTools/ToolNCC.py:797 flatcamTools/ToolPaint.py:314
+#: flatcamTools/ToolPaint.py:767
+msgid "Tool"
+msgstr "Tool"
+
+#: FlatCAMObj.py:3419 FlatCAMObj.py:3512 FlatCAMObj.py:3700
+msgid "Please select one or more tools from the list and try again."
+msgstr "Please select one or more tools from the list and try again."
+
+#: FlatCAMObj.py:3426
+msgid "Milling tool for DRILLS is larger than hole size. Cancelled."
+msgstr "Milling tool for DRILLS is larger than hole size. Cancelled."
+
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
+msgid "Tool_nr"
+msgstr "Tool_nr"
+
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: flatcamEditors/FlatCAMExcEditor.py:1585
+#: flatcamEditors/FlatCAMExcEditor.py:3069 flatcamGUI/ObjectUI.py:780
+#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
+#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:416
+#: flatcamTools/ToolProperties.py:476 flatcamTools/ToolSolderPaste.py:86
+#: tclCommands/TclCommandDrillcncjob.py:194
+msgid "Diameter"
+msgstr "Diameter"
+
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
+msgid "Drills_Nr"
+msgstr "Drills_Nr"
+
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
+msgid "Slots_Nr"
+msgstr "Slots_Nr"
+
+#: FlatCAMObj.py:3521
+msgid "Milling tool for SLOTS is larger than hole size. Cancelled."
+msgstr "Milling tool for SLOTS is larger than hole size. Cancelled."
+
+#: FlatCAMObj.py:3626 FlatCAMObj.py:5451
+msgid "Focus Z"
+msgstr "Focus Z"
+
+#: FlatCAMObj.py:3645 FlatCAMObj.py:5470
+msgid "Laser Power"
+msgstr "Laser Power"
+
+#: FlatCAMObj.py:3677 FlatCAMObj.py:5502 flatcamGUI/ObjectUI.py:1048
+#: flatcamGUI/ObjectUI.py:1839 flatcamGUI/PreferencesUI.py:4409
+msgid "Spindle speed"
+msgstr "Spindle speed"
+
+#: FlatCAMObj.py:3776 FlatCAMObj.py:5911 FlatCAMObj.py:5915 FlatCAMObj.py:6060
+msgid "Generating CNC Code"
+msgstr "Generating CNC Code"
+
+#: FlatCAMObj.py:3966 flatcamTools/ToolNCC.py:918 flatcamTools/ToolPaint.py:844
+msgid "Current Tool parameters were applied to all tools."
+msgstr "Current Tool parameters were applied to all tools."
+
+#: FlatCAMObj.py:4055 FlatCAMObj.py:5115 FlatCAMObj.py:5116 FlatCAMObj.py:5125
+msgid "Iso"
+msgstr "Iso"
+
+#: FlatCAMObj.py:4055
+msgid "Finish"
+msgstr "Finish"
+
+#: FlatCAMObj.py:4410
+msgid "Add from Tool DB"
+msgstr "Add from Tool DB"
+
+#: FlatCAMObj.py:4413 flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:848
+#: flatcamGUI/FlatCAMGUI.py:1057 flatcamGUI/FlatCAMGUI.py:2123
+#: flatcamGUI/FlatCAMGUI.py:2267 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamGUI/FlatCAMGUI.py:2731 flatcamGUI/ObjectUI.py:1615
+#: flatcamTools/ToolPanelize.py:543 flatcamTools/ToolPanelize.py:570
+#: flatcamTools/ToolPanelize.py:669 flatcamTools/ToolPanelize.py:703
+#: flatcamTools/ToolPanelize.py:768
+msgid "Copy"
+msgstr "Copy"
+
+#: FlatCAMObj.py:4507 FlatCAMObj.py:4941 FlatCAMObj.py:5661 FlatCAMObj.py:6307
+#: flatcamEditors/FlatCAMExcEditor.py:2560
+#: flatcamEditors/FlatCAMGeoEditor.py:1077
+#: flatcamEditors/FlatCAMGeoEditor.py:1118
+#: flatcamEditors/FlatCAMGeoEditor.py:1146
+#: flatcamEditors/FlatCAMGeoEditor.py:1174
+#: flatcamEditors/FlatCAMGeoEditor.py:1218
+#: flatcamEditors/FlatCAMGeoEditor.py:1253
+#: flatcamEditors/FlatCAMGeoEditor.py:1281 flatcamTools/ToolNCC.py:1493
+#: flatcamTools/ToolPaint.py:1244 flatcamTools/ToolPaint.py:1415
+#: flatcamTools/ToolSolderPaste.py:883 flatcamTools/ToolSolderPaste.py:956
+msgid "Wrong value format entered, use a number."
+msgstr "Wrong value format entered, use a number."
+
+#: FlatCAMObj.py:4781
+msgid "Tool added in Tool Table."
+msgstr "Tool added in Tool Table."
+
+#: FlatCAMObj.py:4890 FlatCAMObj.py:4899
+msgid "Failed. Select a tool to copy."
+msgstr "Failed. Select a tool to copy."
+
+#: FlatCAMObj.py:4928
+msgid "Tool was copied in Tool Table."
+msgstr "Tool was copied in Tool Table."
+
+#: FlatCAMObj.py:4955
+msgid "Tool was edited in Tool Table."
+msgstr "Tool was edited in Tool Table."
+
+#: FlatCAMObj.py:4984 FlatCAMObj.py:4993
+msgid "Failed. Select a tool to delete."
+msgstr "Failed. Select a tool to delete."
+
+#: FlatCAMObj.py:5017
+msgid "Tool was deleted in Tool Table."
+msgstr "Tool was deleted in Tool Table."
+
+#: FlatCAMObj.py:5523
msgid "This Geometry can't be processed because it is"
msgstr "This Geometry can't be processed because it is"
-#: FlatCAMObj.py:4969
+#: FlatCAMObj.py:5523
msgid "geometry"
msgstr "geometry"
-#: FlatCAMObj.py:5012
+#: FlatCAMObj.py:5564
msgid "Failed. No tool selected in the tool table ..."
msgstr "Failed. No tool selected in the tool table ..."
-#: FlatCAMObj.py:5112 FlatCAMObj.py:5264
+#: FlatCAMObj.py:5667 FlatCAMObj.py:5820
msgid ""
"Tool Offset is selected in Tool Table but no value is provided.\n"
"Add a Tool Offset or change the Offset Type."
@@ -2553,44 +2934,44 @@ msgstr ""
"Tool Offset is selected in Tool Table but no value is provided.\n"
"Add a Tool Offset or change the Offset Type."
-#: FlatCAMObj.py:5177 FlatCAMObj.py:5325
+#: FlatCAMObj.py:5733 FlatCAMObj.py:5882
msgid "G-Code parsing in progress..."
msgstr "G-Code parsing in progress..."
-#: FlatCAMObj.py:5179 FlatCAMObj.py:5327
+#: FlatCAMObj.py:5735 FlatCAMObj.py:5884
msgid "G-Code parsing finished..."
msgstr "G-Code parsing finished..."
-#: FlatCAMObj.py:5187
+#: FlatCAMObj.py:5743
msgid "Finished G-Code processing"
msgstr "Finished G-Code processing"
-#: FlatCAMObj.py:5189 FlatCAMObj.py:5339
+#: FlatCAMObj.py:5745 FlatCAMObj.py:5896
msgid "G-Code processing failed with error"
msgstr "G-Code processing failed with error"
-#: FlatCAMObj.py:5234 flatcamTools/ToolSolderPaste.py:1303
+#: FlatCAMObj.py:5790 flatcamTools/ToolSolderPaste.py:1300
msgid "Cancelled. Empty file, it has no geometry"
msgstr "Cancelled. Empty file, it has no geometry"
-#: FlatCAMObj.py:5337 FlatCAMObj.py:5486
+#: FlatCAMObj.py:5894 FlatCAMObj.py:6055
msgid "Finished G-Code processing..."
msgstr "Finished G-Code processing..."
-#: FlatCAMObj.py:5356 FlatCAMObj.py:5360 FlatCAMObj.py:5496
+#: FlatCAMObj.py:5913 FlatCAMObj.py:5917 FlatCAMObj.py:6062
msgid "CNCjob created"
msgstr "CNCjob created"
-#: FlatCAMObj.py:5527 FlatCAMObj.py:5536 flatcamParsers/ParseGerber.py:1794
-#: flatcamParsers/ParseGerber.py:1804
+#: FlatCAMObj.py:6092 FlatCAMObj.py:6101 flatcamParsers/ParseGerber.py:1866
+#: flatcamParsers/ParseGerber.py:1876
msgid "Scale factor has to be a number: integer or float."
msgstr "Scale factor has to be a number: integer or float."
-#: FlatCAMObj.py:5600
+#: FlatCAMObj.py:6164
msgid "Geometry Scale done."
msgstr "Geometry Scale done."
-#: FlatCAMObj.py:5617 flatcamParsers/ParseGerber.py:1920
+#: FlatCAMObj.py:6181 flatcamParsers/ParseGerber.py:1992
msgid ""
"An (x,y) pair of values are needed. Probable you entered only one value in "
"the Offset field."
@@ -2598,11 +2979,11 @@ msgstr ""
"An (x,y) pair of values are needed. Probable you entered only one value in "
"the Offset field."
-#: FlatCAMObj.py:5674
+#: FlatCAMObj.py:6237
msgid "Geometry Offset done."
msgstr "Geometry Offset done."
-#: FlatCAMObj.py:5703
+#: FlatCAMObj.py:6266
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y)\n"
@@ -2612,43 +2993,43 @@ msgstr ""
"y)\n"
"but now there is only one value, not two."
-#: FlatCAMObj.py:6388 FlatCAMObj.py:7175 FlatCAMObj.py:7371
+#: FlatCAMObj.py:6956 FlatCAMObj.py:7802 FlatCAMObj.py:7999
msgid "Basic"
msgstr "Basic"
-#: FlatCAMObj.py:6394 FlatCAMObj.py:7179 FlatCAMObj.py:7375
+#: FlatCAMObj.py:6962 FlatCAMObj.py:7806 FlatCAMObj.py:8003
msgid "Advanced"
msgstr "Advanced"
-#: FlatCAMObj.py:6437
+#: FlatCAMObj.py:7005
msgid "Plotting..."
msgstr "Plotting..."
-#: FlatCAMObj.py:6460 FlatCAMObj.py:6465 flatcamTools/ToolSolderPaste.py:1509
+#: FlatCAMObj.py:7034 FlatCAMObj.py:7039 flatcamTools/ToolSolderPaste.py:1498
msgid "Export Machine Code ..."
msgstr "Export Machine Code ..."
-#: FlatCAMObj.py:6470 flatcamTools/ToolSolderPaste.py:1513
+#: FlatCAMObj.py:7044 flatcamTools/ToolSolderPaste.py:1502
msgid "Export Machine Code cancelled ..."
msgstr "Export Machine Code cancelled ..."
-#: FlatCAMObj.py:6492
+#: FlatCAMObj.py:7065
msgid "Machine Code file saved to"
msgstr "Machine Code file saved to"
-#: FlatCAMObj.py:6546 flatcamTools/ToolCalibration.py:1083
+#: FlatCAMObj.py:7126 flatcamTools/ToolCalibration.py:1097
msgid "Loaded Machine Code into Code Editor"
msgstr "Loaded Machine Code into Code Editor"
-#: FlatCAMObj.py:6684
+#: FlatCAMObj.py:7265
msgid "This CNCJob object can't be processed because it is a"
msgstr "This CNCJob object can't be processed because it is a"
-#: FlatCAMObj.py:6686
+#: FlatCAMObj.py:7267
msgid "CNCJob object"
msgstr "CNCJob object"
-#: FlatCAMObj.py:6866
+#: FlatCAMObj.py:7447
msgid ""
"G-code does not have a G94 code and we will not include the code in the "
"'Prepend to GCode' text box"
@@ -2656,38 +3037,38 @@ msgstr ""
"G-code does not have a G94 code and we will not include the code in the "
"'Prepend to GCode' text box"
-#: FlatCAMObj.py:6877
+#: FlatCAMObj.py:7458
msgid "Cancelled. The Toolchange Custom code is enabled but it's empty."
msgstr "Cancelled. The Toolchange Custom code is enabled but it's empty."
-#: FlatCAMObj.py:6882
+#: FlatCAMObj.py:7463
msgid "Toolchange G-code was replaced by a custom code."
msgstr "Toolchange G-code was replaced by a custom code."
-#: FlatCAMObj.py:6899 flatcamEditors/FlatCAMTextEditor.py:270
-#: flatcamTools/ToolSolderPaste.py:1540
+#: FlatCAMObj.py:7480 flatcamEditors/FlatCAMTextEditor.py:272
+#: flatcamTools/ToolSolderPaste.py:1529
msgid "No such file or directory"
msgstr "No such file or directory"
-#: FlatCAMObj.py:6913 flatcamEditors/FlatCAMTextEditor.py:282
+#: FlatCAMObj.py:7494 flatcamEditors/FlatCAMTextEditor.py:284
msgid "Saved to"
msgstr "Saved to"
-#: FlatCAMObj.py:6923 FlatCAMObj.py:6933
+#: FlatCAMObj.py:7511 FlatCAMObj.py:7521
msgid ""
"The used preprocessor file has to have in it's name: 'toolchange_custom'"
msgstr ""
"The used preprocessor file has to have in it's name: 'toolchange_custom'"
-#: FlatCAMObj.py:6937
+#: FlatCAMObj.py:7524
msgid "There is no preprocessor file."
msgstr "There is no preprocessor file."
-#: FlatCAMObj.py:7194
+#: FlatCAMObj.py:7821
msgid "Script Editor"
msgstr "Script Editor"
-#: FlatCAMObj.py:7475
+#: FlatCAMObj.py:8103
msgid "Document Editor"
msgstr "Document Editor"
@@ -2695,6 +3076,16 @@ msgstr "Document Editor"
msgid "processes running."
msgstr "processes running."
+#: FlatCAMTool.py:245 FlatCAMTool.py:252 flatcamGUI/ObjectUI.py:156
+#: flatcamGUI/ObjectUI.py:163
+msgid "Edited value is out of range"
+msgstr "Edited value is out of range"
+
+#: FlatCAMTool.py:247 FlatCAMTool.py:254 flatcamGUI/ObjectUI.py:158
+#: flatcamGUI/ObjectUI.py:165
+msgid "Edited value is within limits."
+msgstr "Edited value is within limits."
+
#: FlatCAMTranslation.py:103
msgid "The application will restart."
msgstr "The application will restart."
@@ -2707,68 +3098,68 @@ msgstr "Are you sure do you want to change the current language to"
msgid "Apply Language ..."
msgstr "Apply Language ..."
-#: ObjectCollection.py:459
+#: ObjectCollection.py:506
#, python-brace-format
msgid "Object renamed from {old} to {new}"
msgstr "Object renamed from {old} to {new}"
-#: ObjectCollection.py:858
+#: ObjectCollection.py:972
msgid "Cause of error"
msgstr "Cause of error"
-#: camlib.py:590
+#: camlib.py:593
msgid "self.solid_geometry is neither BaseGeometry or list."
msgstr "self.solid_geometry is neither BaseGeometry or list."
-#: camlib.py:953
+#: camlib.py:968
msgid "Pass"
msgstr "Pass"
-#: camlib.py:974
+#: camlib.py:988
msgid "Get Exteriors"
msgstr "Get Exteriors"
-#: camlib.py:977
+#: camlib.py:991
msgid "Get Interiors"
msgstr "Get Interiors"
-#: camlib.py:1964
+#: camlib.py:2172
msgid "Object was mirrored"
msgstr "Object was mirrored"
-#: camlib.py:1967
+#: camlib.py:2175
msgid "Failed to mirror. No object selected"
msgstr "Failed to mirror. No object selected"
-#: camlib.py:2036
+#: camlib.py:2244
msgid "Object was rotated"
msgstr "Object was rotated"
-#: camlib.py:2039
+#: camlib.py:2247
msgid "Failed to rotate. No object selected"
msgstr "Failed to rotate. No object selected"
-#: camlib.py:2107
+#: camlib.py:2314
msgid "Object was skewed"
msgstr "Object was skewed"
-#: camlib.py:2110
+#: camlib.py:2317
msgid "Failed to skew. No object selected"
msgstr "Failed to skew. No object selected"
-#: camlib.py:2179
+#: camlib.py:2392
msgid "Object was buffered"
msgstr "Object was buffered"
-#: camlib.py:2181
+#: camlib.py:2394
msgid "Failed to buffer. No object selected"
msgstr "Failed to buffer. No object selected"
-#: camlib.py:2378
+#: camlib.py:2599
msgid "There is no such parameter"
msgstr "There is no such parameter"
-#: camlib.py:2454
+#: camlib.py:2659 camlib.py:2892 camlib.py:3121 camlib.py:3343
msgid ""
"The Cut Z parameter has positive value. It is the depth value to drill into "
"material.\n"
@@ -2782,11 +3173,12 @@ msgstr ""
"therefore the app will convert the value to negative. Check the resulting "
"CNC code (Gcode etc)."
-#: camlib.py:2462 camlib.py:3181 camlib.py:3539
+#: camlib.py:2667 camlib.py:2902 camlib.py:3131 camlib.py:3353 camlib.py:3639
+#: camlib.py:4008
msgid "The Cut Z parameter is zero. There will be no cut, skipping file"
msgstr "The Cut Z parameter is zero. There will be no cut, skipping file"
-#: camlib.py:2475 camlib.py:3512
+#: camlib.py:2678 camlib.py:3976
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y) \n"
@@ -2796,31 +3188,39 @@ msgstr ""
"y) \n"
"but now there is only one value, not two. "
-#: camlib.py:2550
+#: camlib.py:2687 camlib.py:3590 camlib.py:3958
+msgid ""
+"The End Move X,Y field in Edit -> Preferences has to be in the format (x, y) "
+"but now there is only one value, not two."
+msgstr ""
+"The End Move X,Y field in Edit -> Preferences has to be in the format (x, y) "
+"but now there is only one value, not two."
+
+#: camlib.py:2775
msgid "Creating a list of points to drill..."
msgstr "Creating a list of points to drill..."
-#: camlib.py:2632
+#: camlib.py:2865 camlib.py:3737 camlib.py:4112
msgid "Starting G-Code"
msgstr "Starting G-Code"
-#: camlib.py:2727 camlib.py:2870 camlib.py:2972 camlib.py:3292 camlib.py:3653
+#: camlib.py:3006 camlib.py:3225 camlib.py:3389 camlib.py:3750 camlib.py:4123
msgid "Starting G-Code for tool with diameter"
msgstr "Starting G-Code for tool with diameter"
-#: camlib.py:2783 camlib.py:2926 camlib.py:3029
+#: camlib.py:3089 camlib.py:3307 camlib.py:3475
msgid "G91 coordinates not implemented"
msgstr "G91 coordinates not implemented"
-#: camlib.py:2789 camlib.py:2933 camlib.py:3035
+#: camlib.py:3095 camlib.py:3314 camlib.py:3481
msgid "The loaded Excellon file has no drills"
msgstr "The loaded Excellon file has no drills"
-#: camlib.py:3058
+#: camlib.py:3504
msgid "Finished G-Code generation..."
msgstr "Finished G-Code generation..."
-#: camlib.py:3153
+#: camlib.py:3608
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y) \n"
@@ -2830,7 +3230,7 @@ msgstr ""
"y) \n"
"but now there is only one value, not two."
-#: camlib.py:3166 camlib.py:3525
+#: camlib.py:3622 camlib.py:3991
msgid ""
"Cut_Z parameter is None or zero. Most likely a bad combinations of other "
"parameters."
@@ -2838,7 +3238,7 @@ msgstr ""
"Cut_Z parameter is None or zero. Most likely a bad combinations of other "
"parameters."
-#: camlib.py:3173 camlib.py:3531
+#: camlib.py:3631 camlib.py:4000
msgid ""
"The Cut Z parameter has positive value. It is the depth value to cut into "
"material.\n"
@@ -2852,11 +3252,11 @@ msgstr ""
"therefore the app will convert the value to negative.Check the resulting CNC "
"code (Gcode etc)."
-#: camlib.py:3186 camlib.py:3545
+#: camlib.py:3644 camlib.py:4014
msgid "Travel Z parameter is None or zero."
msgstr "Travel Z parameter is None or zero."
-#: camlib.py:3191 camlib.py:3550
+#: camlib.py:3649 camlib.py:4019
msgid ""
"The Travel Z parameter has negative value. It is the height value to travel "
"between cuts.\n"
@@ -2870,37 +3270,33 @@ msgstr ""
"therefore the app will convert the value to positive.Check the resulting CNC "
"code (Gcode etc)."
-#: camlib.py:3199 camlib.py:3558
+#: camlib.py:3657 camlib.py:4027
msgid "The Z Travel parameter is zero. This is dangerous, skipping file"
msgstr "The Z Travel parameter is zero. This is dangerous, skipping file"
-#: camlib.py:3218 camlib.py:3580
+#: camlib.py:3676 camlib.py:4050
msgid "Indexing geometry before generating G-Code..."
msgstr "Indexing geometry before generating G-Code..."
-#: camlib.py:3279 camlib.py:3642
-msgid "Starting G-Code..."
-msgstr "Starting G-Code..."
-
-#: camlib.py:3362 camlib.py:3724
+#: camlib.py:3820 camlib.py:4192
msgid "Finished G-Code generation"
msgstr "Finished G-Code generation"
-#: camlib.py:3364
+#: camlib.py:3820
msgid "paths traced"
msgstr "paths traced"
-#: camlib.py:3399
+#: camlib.py:3853
msgid "Expected a Geometry, got"
msgstr "Expected a Geometry, got"
-#: camlib.py:3406
+#: camlib.py:3860
msgid ""
"Trying to generate a CNC Job from a Geometry object without solid_geometry."
msgstr ""
"Trying to generate a CNC Job from a Geometry object without solid_geometry."
-#: camlib.py:3446
+#: camlib.py:3901
msgid ""
"The Tool Offset value is too negative to use for the current_geometry.\n"
"Raise the value (in module) and try again."
@@ -2908,35 +3304,35 @@ msgstr ""
"The Tool Offset value is too negative to use for the current_geometry.\n"
"Raise the value (in module) and try again."
-#: camlib.py:3724
+#: camlib.py:4192
msgid " paths traced."
msgstr " paths traced."
-#: camlib.py:3752
+#: camlib.py:4220
msgid "There is no tool data in the SolderPaste geometry."
msgstr "There is no tool data in the SolderPaste geometry."
-#: camlib.py:3839
+#: camlib.py:4306
msgid "Finished SolderPste G-Code generation"
msgstr "Finished SolderPste G-Code generation"
-#: camlib.py:3841
+#: camlib.py:4306
msgid "paths traced."
msgstr "paths traced."
-#: camlib.py:4097
+#: camlib.py:4566
msgid "Parsing GCode file. Number of lines"
msgstr "Parsing GCode file. Number of lines"
-#: camlib.py:4204
+#: camlib.py:4673
msgid "Creating Geometry from the parsed GCode file. "
msgstr "Creating Geometry from the parsed GCode file. "
-#: camlib.py:4345 camlib.py:4629 camlib.py:4732 camlib.py:4801
+#: camlib.py:4816 camlib.py:5101 camlib.py:5204 camlib.py:5360
msgid "G91 coordinates not implemented ..."
msgstr "G91 coordinates not implemented ..."
-#: camlib.py:4476
+#: camlib.py:4948
msgid "Unifying Geometry from parsed Geometry segments"
msgstr "Unifying Geometry from parsed Geometry segments"
@@ -2964,11 +3360,11 @@ msgstr "To add an Drill Array first select a tool in Tool Table"
#: flatcamEditors/FlatCAMExcEditor.py:193
#: flatcamEditors/FlatCAMExcEditor.py:416
#: flatcamEditors/FlatCAMExcEditor.py:637
-#: flatcamEditors/FlatCAMExcEditor.py:1155
-#: flatcamEditors/FlatCAMExcEditor.py:1182
+#: flatcamEditors/FlatCAMExcEditor.py:1152
+#: flatcamEditors/FlatCAMExcEditor.py:1179
#: flatcamEditors/FlatCAMGrbEditor.py:471
-#: flatcamEditors/FlatCAMGrbEditor.py:1936
-#: flatcamEditors/FlatCAMGrbEditor.py:1966
+#: flatcamEditors/FlatCAMGrbEditor.py:1935
+#: flatcamEditors/FlatCAMGrbEditor.py:1965
msgid "Click on target location ..."
msgstr "Click on target location ..."
@@ -3000,8 +3396,8 @@ msgstr "To add a slot first select a tool"
#: flatcamEditors/FlatCAMExcEditor.py:455
#: flatcamEditors/FlatCAMExcEditor.py:462
-#: flatcamEditors/FlatCAMExcEditor.py:744
-#: flatcamEditors/FlatCAMExcEditor.py:751
+#: flatcamEditors/FlatCAMExcEditor.py:743
+#: flatcamEditors/FlatCAMExcEditor.py:750
msgid "Value is missing or wrong format. Add it and retry."
msgstr "Value is missing or wrong format. Add it and retry."
@@ -3017,70 +3413,64 @@ msgstr "To add an Slot Array first select a tool in Tool Table"
msgid "Click on the Slot Circular Array Start position"
msgstr "Click on the Slot Circular Array Start position"
-#: flatcamEditors/FlatCAMExcEditor.py:682
-#: flatcamEditors/FlatCAMGrbEditor.py:520
+#: flatcamEditors/FlatCAMExcEditor.py:681
+#: flatcamEditors/FlatCAMGrbEditor.py:519
msgid "The value is mistyped. Check the value."
msgstr "The value is mistyped. Check the value."
-#: flatcamEditors/FlatCAMExcEditor.py:861
+#: flatcamEditors/FlatCAMExcEditor.py:860
msgid "Too many Slots for the selected spacing angle."
msgstr "Too many Slots for the selected spacing angle."
-#: flatcamEditors/FlatCAMExcEditor.py:884
+#: flatcamEditors/FlatCAMExcEditor.py:883
msgid "Done. Slot Array added."
msgstr "Done. Slot Array added."
-#: flatcamEditors/FlatCAMExcEditor.py:906
+#: flatcamEditors/FlatCAMExcEditor.py:905
msgid "Click on the Drill(s) to resize ..."
msgstr "Click on the Drill(s) to resize ..."
-#: flatcamEditors/FlatCAMExcEditor.py:936
+#: flatcamEditors/FlatCAMExcEditor.py:935
msgid "Resize drill(s) failed. Please enter a diameter for resize."
msgstr "Resize drill(s) failed. Please enter a diameter for resize."
-#: flatcamEditors/FlatCAMExcEditor.py:1026
-#: flatcamEditors/FlatCAMExcEditor.py:1095 flatcamGUI/FlatCAMGUI.py:3165
-#: flatcamGUI/FlatCAMGUI.py:3377 flatcamGUI/FlatCAMGUI.py:3591
-msgid "Cancelled."
-msgstr "Cancelled."
-
-#: flatcamEditors/FlatCAMExcEditor.py:1116
+#: flatcamEditors/FlatCAMExcEditor.py:1113
msgid "Done. Drill/Slot Resize completed."
msgstr "Done. Drill/Slot Resize completed."
-#: flatcamEditors/FlatCAMExcEditor.py:1119
+#: flatcamEditors/FlatCAMExcEditor.py:1116
msgid "Cancelled. No drills/slots selected for resize ..."
msgstr "Cancelled. No drills/slots selected for resize ..."
-#: flatcamEditors/FlatCAMExcEditor.py:1157
-#: flatcamEditors/FlatCAMGrbEditor.py:1938
+#: flatcamEditors/FlatCAMExcEditor.py:1154
+#: flatcamEditors/FlatCAMGrbEditor.py:1937
msgid "Click on reference location ..."
msgstr "Click on reference location ..."
-#: flatcamEditors/FlatCAMExcEditor.py:1214
+#: flatcamEditors/FlatCAMExcEditor.py:1211
msgid "Done. Drill(s) Move completed."
msgstr "Done. Drill(s) Move completed."
-#: flatcamEditors/FlatCAMExcEditor.py:1322
+#: flatcamEditors/FlatCAMExcEditor.py:1319
msgid "Done. Drill(s) copied."
msgstr "Done. Drill(s) copied."
-#: flatcamEditors/FlatCAMExcEditor.py:1555 flatcamGUI/PreferencesUI.py:3551
+#: flatcamEditors/FlatCAMExcEditor.py:1558 flatcamGUI/PreferencesUI.py:3829
msgid "Excellon Editor"
msgstr "Excellon Editor"
-#: flatcamEditors/FlatCAMExcEditor.py:1562
-#: flatcamEditors/FlatCAMGrbEditor.py:2454
+#: flatcamEditors/FlatCAMExcEditor.py:1565
+#: flatcamEditors/FlatCAMGrbEditor.py:2460
msgid "Name:"
msgstr "Name:"
-#: flatcamEditors/FlatCAMExcEditor.py:1568 flatcamGUI/ObjectUI.py:757
-#: flatcamGUI/ObjectUI.py:1184 flatcamTools/ToolNonCopperClear.py:109
-#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:73
+#: flatcamEditors/FlatCAMExcEditor.py:1571 flatcamGUI/ObjectUI.py:760
+#: flatcamGUI/ObjectUI.py:1463 flatcamTools/ToolNCC.py:120
+#: flatcamTools/ToolPaint.py:115 flatcamTools/ToolSolderPaste.py:75
msgid "Tools Table"
msgstr "Tools Table"
-#: flatcamEditors/FlatCAMExcEditor.py:1570 flatcamGUI/ObjectUI.py:759
+#: flatcamEditors/FlatCAMExcEditor.py:1573 flatcamGUI/ObjectUI.py:762
msgid ""
"Tools in this Excellon object\n"
"when are used for drilling."
@@ -3088,11 +3478,11 @@ msgstr ""
"Tools in this Excellon object\n"
"when are used for drilling."
-#: flatcamEditors/FlatCAMExcEditor.py:1590
+#: flatcamEditors/FlatCAMExcEditor.py:1593
msgid "Add/Delete Tool"
msgstr "Add/Delete Tool"
-#: flatcamEditors/FlatCAMExcEditor.py:1592
+#: flatcamEditors/FlatCAMExcEditor.py:1595
msgid ""
"Add/Delete a tool to the tool list\n"
"for this Excellon object."
@@ -3100,16 +3490,16 @@ msgstr ""
"Add/Delete a tool to the tool list\n"
"for this Excellon object."
-#: flatcamEditors/FlatCAMExcEditor.py:1604 flatcamGUI/ObjectUI.py:1297
-#: flatcamGUI/PreferencesUI.py:3582
+#: flatcamEditors/FlatCAMExcEditor.py:1607 flatcamGUI/ObjectUI.py:1583
+#: flatcamGUI/PreferencesUI.py:3860
msgid "Diameter for the new tool"
msgstr "Diameter for the new tool"
-#: flatcamEditors/FlatCAMExcEditor.py:1614
+#: flatcamEditors/FlatCAMExcEditor.py:1617
msgid "Add Tool"
msgstr "Add Tool"
-#: flatcamEditors/FlatCAMExcEditor.py:1616
+#: flatcamEditors/FlatCAMExcEditor.py:1619
msgid ""
"Add a new tool to the tool list\n"
"with the diameter specified above."
@@ -3117,11 +3507,11 @@ msgstr ""
"Add a new tool to the tool list\n"
"with the diameter specified above."
-#: flatcamEditors/FlatCAMExcEditor.py:1628
+#: flatcamEditors/FlatCAMExcEditor.py:1631
msgid "Delete Tool"
msgstr "Delete Tool"
-#: flatcamEditors/FlatCAMExcEditor.py:1630
+#: flatcamEditors/FlatCAMExcEditor.py:1633
msgid ""
"Delete a tool in the tool list\n"
"by selecting a row in the tool table."
@@ -3129,40 +3519,40 @@ msgstr ""
"Delete a tool in the tool list\n"
"by selecting a row in the tool table."
-#: flatcamEditors/FlatCAMExcEditor.py:1648 flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamEditors/FlatCAMExcEditor.py:1651 flatcamGUI/FlatCAMGUI.py:2004
msgid "Resize Drill(s)"
msgstr "Resize Drill(s)"
-#: flatcamEditors/FlatCAMExcEditor.py:1650
+#: flatcamEditors/FlatCAMExcEditor.py:1653
msgid "Resize a drill or a selection of drills."
msgstr "Resize a drill or a selection of drills."
-#: flatcamEditors/FlatCAMExcEditor.py:1657
+#: flatcamEditors/FlatCAMExcEditor.py:1660
msgid "Resize Dia"
msgstr "Resize Dia"
-#: flatcamEditors/FlatCAMExcEditor.py:1659
+#: flatcamEditors/FlatCAMExcEditor.py:1662
msgid "Diameter to resize to."
msgstr "Diameter to resize to."
-#: flatcamEditors/FlatCAMExcEditor.py:1670
+#: flatcamEditors/FlatCAMExcEditor.py:1673
msgid "Resize"
msgstr "Resize"
-#: flatcamEditors/FlatCAMExcEditor.py:1672
+#: flatcamEditors/FlatCAMExcEditor.py:1675
msgid "Resize drill(s)"
msgstr "Resize drill(s)"
-#: flatcamEditors/FlatCAMExcEditor.py:1697 flatcamGUI/FlatCAMGUI.py:1895
-#: flatcamGUI/FlatCAMGUI.py:2147
+#: flatcamEditors/FlatCAMExcEditor.py:1700 flatcamGUI/FlatCAMGUI.py:2003
+#: flatcamGUI/FlatCAMGUI.py:2255
msgid "Add Drill Array"
msgstr "Add Drill Array"
-#: flatcamEditors/FlatCAMExcEditor.py:1699
+#: flatcamEditors/FlatCAMExcEditor.py:1702
msgid "Add an array of drills (linear or circular array)"
msgstr "Add an array of drills (linear or circular array)"
-#: flatcamEditors/FlatCAMExcEditor.py:1705
+#: flatcamEditors/FlatCAMExcEditor.py:1708
msgid ""
"Select the type of drills array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -3170,43 +3560,48 @@ msgstr ""
"Select the type of drills array to create.\n"
"It can be Linear X(Y) or Circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1708
-#: flatcamEditors/FlatCAMExcEditor.py:1922
-#: flatcamEditors/FlatCAMGrbEditor.py:2766
+#: flatcamEditors/FlatCAMExcEditor.py:1711
+#: flatcamEditors/FlatCAMExcEditor.py:1925
+#: flatcamEditors/FlatCAMGrbEditor.py:2772
msgid "Linear"
msgstr "Linear"
-#: flatcamEditors/FlatCAMExcEditor.py:1709
-#: flatcamEditors/FlatCAMExcEditor.py:1923
-#: flatcamEditors/FlatCAMGrbEditor.py:2767 flatcamGUI/ObjectUI.py:311
-#: flatcamGUI/PreferencesUI.py:5044 flatcamGUI/PreferencesUI.py:7465
-#: flatcamTools/ToolFiducials.py:220 flatcamTools/ToolNonCopperClear.py:221
+#: flatcamEditors/FlatCAMExcEditor.py:1712
+#: flatcamEditors/FlatCAMExcEditor.py:1926
+#: flatcamEditors/FlatCAMGrbEditor.py:2773 flatcamGUI/ObjectUI.py:315
+#: flatcamGUI/PreferencesUI.py:5340 flatcamGUI/PreferencesUI.py:5909
+#: flatcamGUI/PreferencesUI.py:7971 flatcamGUI/PreferencesUI.py:8151
+#: flatcamGUI/PreferencesUI.py:8248 flatcamGUI/PreferencesUI.py:8363
+#: flatcamGUI/PreferencesUI.py:8462 flatcamTools/ToolExtractDrills.py:78
+#: flatcamTools/ToolExtractDrills.py:201 flatcamTools/ToolFiducials.py:220
+#: flatcamTools/ToolNCC.py:221 flatcamTools/ToolPaint.py:204
+#: flatcamTools/ToolPunchGerber.py:89 flatcamTools/ToolPunchGerber.py:229
msgid "Circular"
msgstr "Circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1717 flatcamGUI/PreferencesUI.py:3593
+#: flatcamEditors/FlatCAMExcEditor.py:1720 flatcamGUI/PreferencesUI.py:3871
msgid "Nr of drills"
msgstr "Nr of drills"
-#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/PreferencesUI.py:3595
+#: flatcamEditors/FlatCAMExcEditor.py:1721 flatcamGUI/PreferencesUI.py:3873
msgid "Specify how many drills to be in the array."
msgstr "Specify how many drills to be in the array."
-#: flatcamEditors/FlatCAMExcEditor.py:1736
-#: flatcamEditors/FlatCAMExcEditor.py:1786
-#: flatcamEditors/FlatCAMExcEditor.py:1858
-#: flatcamEditors/FlatCAMExcEditor.py:1951
-#: flatcamEditors/FlatCAMExcEditor.py:2002
-#: flatcamEditors/FlatCAMGrbEditor.py:1572
-#: flatcamEditors/FlatCAMGrbEditor.py:2795
-#: flatcamEditors/FlatCAMGrbEditor.py:2844 flatcamGUI/PreferencesUI.py:3703
+#: flatcamEditors/FlatCAMExcEditor.py:1739
+#: flatcamEditors/FlatCAMExcEditor.py:1789
+#: flatcamEditors/FlatCAMExcEditor.py:1861
+#: flatcamEditors/FlatCAMExcEditor.py:1954
+#: flatcamEditors/FlatCAMExcEditor.py:2005
+#: flatcamEditors/FlatCAMGrbEditor.py:1571
+#: flatcamEditors/FlatCAMGrbEditor.py:2801
+#: flatcamEditors/FlatCAMGrbEditor.py:2850 flatcamGUI/PreferencesUI.py:3981
msgid "Direction"
msgstr "Direction"
-#: flatcamEditors/FlatCAMExcEditor.py:1738
-#: flatcamEditors/FlatCAMExcEditor.py:1953
-#: flatcamEditors/FlatCAMGrbEditor.py:2797 flatcamGUI/PreferencesUI.py:2536
-#: flatcamGUI/PreferencesUI.py:3611 flatcamGUI/PreferencesUI.py:3759
+#: flatcamEditors/FlatCAMExcEditor.py:1741
+#: flatcamEditors/FlatCAMExcEditor.py:1956
+#: flatcamEditors/FlatCAMGrbEditor.py:2803 flatcamGUI/PreferencesUI.py:2718
+#: flatcamGUI/PreferencesUI.py:3889 flatcamGUI/PreferencesUI.py:4037
msgid ""
"Direction on which the linear array is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -3218,62 +3613,62 @@ msgstr ""
"- 'Y' - vertical axis or \n"
"- 'Angle' - a custom angle for the array inclination"
-#: flatcamEditors/FlatCAMExcEditor.py:1745
-#: flatcamEditors/FlatCAMExcEditor.py:1867
-#: flatcamEditors/FlatCAMExcEditor.py:1960
-#: flatcamEditors/FlatCAMGrbEditor.py:2804 flatcamGUI/PreferencesUI.py:2542
-#: flatcamGUI/PreferencesUI.py:3617 flatcamGUI/PreferencesUI.py:3712
-#: flatcamGUI/PreferencesUI.py:3765 flatcamGUI/PreferencesUI.py:5853
+#: flatcamEditors/FlatCAMExcEditor.py:1748
+#: flatcamEditors/FlatCAMExcEditor.py:1870
+#: flatcamEditors/FlatCAMExcEditor.py:1963
+#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2724
+#: flatcamGUI/PreferencesUI.py:3895 flatcamGUI/PreferencesUI.py:3990
+#: flatcamGUI/PreferencesUI.py:4043 flatcamGUI/PreferencesUI.py:6341
#: flatcamTools/ToolFilm.py:256
msgid "X"
msgstr "X"
-#: flatcamEditors/FlatCAMExcEditor.py:1746
-#: flatcamEditors/FlatCAMExcEditor.py:1868
-#: flatcamEditors/FlatCAMExcEditor.py:1961
-#: flatcamEditors/FlatCAMGrbEditor.py:2805 flatcamGUI/PreferencesUI.py:2543
-#: flatcamGUI/PreferencesUI.py:3618 flatcamGUI/PreferencesUI.py:3713
-#: flatcamGUI/PreferencesUI.py:3766 flatcamGUI/PreferencesUI.py:5854
+#: flatcamEditors/FlatCAMExcEditor.py:1749
+#: flatcamEditors/FlatCAMExcEditor.py:1871
+#: flatcamEditors/FlatCAMExcEditor.py:1964
+#: flatcamEditors/FlatCAMGrbEditor.py:2811 flatcamGUI/PreferencesUI.py:2725
+#: flatcamGUI/PreferencesUI.py:3896 flatcamGUI/PreferencesUI.py:3991
+#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:6342
#: flatcamTools/ToolFilm.py:257
msgid "Y"
msgstr "Y"
-#: flatcamEditors/FlatCAMExcEditor.py:1747
-#: flatcamEditors/FlatCAMExcEditor.py:1764
-#: flatcamEditors/FlatCAMExcEditor.py:1798
-#: flatcamEditors/FlatCAMExcEditor.py:1869
-#: flatcamEditors/FlatCAMExcEditor.py:1873
-#: flatcamEditors/FlatCAMExcEditor.py:1962
-#: flatcamEditors/FlatCAMExcEditor.py:1980
-#: flatcamEditors/FlatCAMExcEditor.py:2014
-#: flatcamEditors/FlatCAMGrbEditor.py:2806
-#: flatcamEditors/FlatCAMGrbEditor.py:2823
-#: flatcamEditors/FlatCAMGrbEditor.py:2859 flatcamGUI/PreferencesUI.py:2544
-#: flatcamGUI/PreferencesUI.py:2562 flatcamGUI/PreferencesUI.py:3619
-#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:3714
-#: flatcamGUI/PreferencesUI.py:3719 flatcamGUI/PreferencesUI.py:3767
-#: flatcamGUI/PreferencesUI.py:3788 flatcamGUI/PreferencesUI.py:6246
-#: flatcamTools/ToolDistance.py:66 flatcamTools/ToolDistanceMin.py:68
-#: flatcamTools/ToolTransform.py:63
+#: flatcamEditors/FlatCAMExcEditor.py:1750
+#: flatcamEditors/FlatCAMExcEditor.py:1767
+#: flatcamEditors/FlatCAMExcEditor.py:1801
+#: flatcamEditors/FlatCAMExcEditor.py:1872
+#: flatcamEditors/FlatCAMExcEditor.py:1876
+#: flatcamEditors/FlatCAMExcEditor.py:1965
+#: flatcamEditors/FlatCAMExcEditor.py:1983
+#: flatcamEditors/FlatCAMExcEditor.py:2017
+#: flatcamEditors/FlatCAMGrbEditor.py:2812
+#: flatcamEditors/FlatCAMGrbEditor.py:2829
+#: flatcamEditors/FlatCAMGrbEditor.py:2865 flatcamGUI/PreferencesUI.py:2726
+#: flatcamGUI/PreferencesUI.py:2744 flatcamGUI/PreferencesUI.py:3897
+#: flatcamGUI/PreferencesUI.py:3916 flatcamGUI/PreferencesUI.py:3992
+#: flatcamGUI/PreferencesUI.py:3997 flatcamGUI/PreferencesUI.py:4045
+#: flatcamGUI/PreferencesUI.py:4066 flatcamGUI/PreferencesUI.py:6733
+#: flatcamTools/ToolDistance.py:120 flatcamTools/ToolDistanceMin.py:69
+#: flatcamTools/ToolTransform.py:61
msgid "Angle"
msgstr "Angle"
-#: flatcamEditors/FlatCAMExcEditor.py:1751
-#: flatcamEditors/FlatCAMExcEditor.py:1966
-#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2550
-#: flatcamGUI/PreferencesUI.py:3625 flatcamGUI/PreferencesUI.py:3773
+#: flatcamEditors/FlatCAMExcEditor.py:1754
+#: flatcamEditors/FlatCAMExcEditor.py:1969
+#: flatcamEditors/FlatCAMGrbEditor.py:2816 flatcamGUI/PreferencesUI.py:2732
+#: flatcamGUI/PreferencesUI.py:3903 flatcamGUI/PreferencesUI.py:4051
msgid "Pitch"
msgstr "Pitch"
-#: flatcamEditors/FlatCAMExcEditor.py:1753
-#: flatcamEditors/FlatCAMExcEditor.py:1968
-#: flatcamEditors/FlatCAMGrbEditor.py:2812 flatcamGUI/PreferencesUI.py:2552
-#: flatcamGUI/PreferencesUI.py:3627 flatcamGUI/PreferencesUI.py:3775
+#: flatcamEditors/FlatCAMExcEditor.py:1756
+#: flatcamEditors/FlatCAMExcEditor.py:1971
+#: flatcamEditors/FlatCAMGrbEditor.py:2818 flatcamGUI/PreferencesUI.py:2734
+#: flatcamGUI/PreferencesUI.py:3905 flatcamGUI/PreferencesUI.py:4053
msgid "Pitch = Distance between elements of the array."
msgstr "Pitch = Distance between elements of the array."
-#: flatcamEditors/FlatCAMExcEditor.py:1766
-#: flatcamEditors/FlatCAMExcEditor.py:1982
+#: flatcamEditors/FlatCAMExcEditor.py:1769
+#: flatcamEditors/FlatCAMExcEditor.py:1985
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -3285,9 +3680,9 @@ msgstr ""
"Min value is: -360 degrees.\n"
"Max value is: 360.00 degrees."
-#: flatcamEditors/FlatCAMExcEditor.py:1787
-#: flatcamEditors/FlatCAMExcEditor.py:2003
-#: flatcamEditors/FlatCAMGrbEditor.py:2846
+#: flatcamEditors/FlatCAMExcEditor.py:1790
+#: flatcamEditors/FlatCAMExcEditor.py:2006
+#: flatcamEditors/FlatCAMGrbEditor.py:2852
msgid ""
"Direction for circular array.Can be CW = clockwise or CCW = counter "
"clockwise."
@@ -3295,36 +3690,36 @@ msgstr ""
"Direction for circular array.Can be CW = clockwise or CCW = counter "
"clockwise."
-#: flatcamEditors/FlatCAMExcEditor.py:1794
-#: flatcamEditors/FlatCAMExcEditor.py:2010
-#: flatcamEditors/FlatCAMGrbEditor.py:2854 flatcamGUI/PreferencesUI.py:2584
-#: flatcamGUI/PreferencesUI.py:3368 flatcamGUI/PreferencesUI.py:3661
-#: flatcamGUI/PreferencesUI.py:3811 flatcamGUI/PreferencesUI.py:4288
+#: flatcamEditors/FlatCAMExcEditor.py:1797
+#: flatcamEditors/FlatCAMExcEditor.py:2013
+#: flatcamEditors/FlatCAMGrbEditor.py:2860 flatcamGUI/PreferencesUI.py:2766
+#: flatcamGUI/PreferencesUI.py:3646 flatcamGUI/PreferencesUI.py:3939
+#: flatcamGUI/PreferencesUI.py:4089 flatcamGUI/PreferencesUI.py:4581
msgid "CW"
msgstr "CW"
-#: flatcamEditors/FlatCAMExcEditor.py:1795
-#: flatcamEditors/FlatCAMExcEditor.py:2011
-#: flatcamEditors/FlatCAMGrbEditor.py:2855 flatcamGUI/PreferencesUI.py:2585
-#: flatcamGUI/PreferencesUI.py:3369 flatcamGUI/PreferencesUI.py:3662
-#: flatcamGUI/PreferencesUI.py:3812 flatcamGUI/PreferencesUI.py:4289
+#: flatcamEditors/FlatCAMExcEditor.py:1798
+#: flatcamEditors/FlatCAMExcEditor.py:2014
+#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2767
+#: flatcamGUI/PreferencesUI.py:3647 flatcamGUI/PreferencesUI.py:3940
+#: flatcamGUI/PreferencesUI.py:4090 flatcamGUI/PreferencesUI.py:4582
msgid "CCW"
msgstr "CCW"
-#: flatcamEditors/FlatCAMExcEditor.py:1799
-#: flatcamEditors/FlatCAMExcEditor.py:2015
-#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2564
-#: flatcamGUI/PreferencesUI.py:2593 flatcamGUI/PreferencesUI.py:3640
-#: flatcamGUI/PreferencesUI.py:3670 flatcamGUI/PreferencesUI.py:3790
-#: flatcamGUI/PreferencesUI.py:3820
+#: flatcamEditors/FlatCAMExcEditor.py:1802
+#: flatcamEditors/FlatCAMExcEditor.py:2018
+#: flatcamEditors/FlatCAMGrbEditor.py:2867 flatcamGUI/PreferencesUI.py:2746
+#: flatcamGUI/PreferencesUI.py:2775 flatcamGUI/PreferencesUI.py:3918
+#: flatcamGUI/PreferencesUI.py:3948 flatcamGUI/PreferencesUI.py:4068
+#: flatcamGUI/PreferencesUI.py:4098
msgid "Angle at which each element in circular array is placed."
msgstr "Angle at which each element in circular array is placed."
-#: flatcamEditors/FlatCAMExcEditor.py:1833
+#: flatcamEditors/FlatCAMExcEditor.py:1836
msgid "Slot Parameters"
msgstr "Slot Parameters"
-#: flatcamEditors/FlatCAMExcEditor.py:1835
+#: flatcamEditors/FlatCAMExcEditor.py:1838
msgid ""
"Parameters for adding a slot (hole with oval shape)\n"
"either single or as an part of an array."
@@ -3332,16 +3727,16 @@ msgstr ""
"Parameters for adding a slot (hole with oval shape)\n"
"either single or as an part of an array."
-#: flatcamEditors/FlatCAMExcEditor.py:1844 flatcamGUI/PreferencesUI.py:3687
-#: flatcamTools/ToolProperties.py:555
+#: flatcamEditors/FlatCAMExcEditor.py:1847 flatcamGUI/PreferencesUI.py:3965
+#: flatcamTools/ToolProperties.py:559
msgid "Length"
msgstr "Length"
-#: flatcamEditors/FlatCAMExcEditor.py:1846 flatcamGUI/PreferencesUI.py:3689
+#: flatcamEditors/FlatCAMExcEditor.py:1849 flatcamGUI/PreferencesUI.py:3967
msgid "Length = The length of the slot."
msgstr "Length = The length of the slot."
-#: flatcamEditors/FlatCAMExcEditor.py:1860 flatcamGUI/PreferencesUI.py:3705
+#: flatcamEditors/FlatCAMExcEditor.py:1863 flatcamGUI/PreferencesUI.py:3983
msgid ""
"Direction on which the slot is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -3353,7 +3748,7 @@ msgstr ""
"- 'Y' - vertical axis or \n"
"- 'Angle' - a custom angle for the slot inclination"
-#: flatcamEditors/FlatCAMExcEditor.py:1875
+#: flatcamEditors/FlatCAMExcEditor.py:1878
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -3365,15 +3760,15 @@ msgstr ""
"Min value is: -360 degrees.\n"
"Max value is: 360.00 degrees."
-#: flatcamEditors/FlatCAMExcEditor.py:1908
+#: flatcamEditors/FlatCAMExcEditor.py:1911
msgid "Slot Array Parameters"
msgstr "Slot Array Parameters"
-#: flatcamEditors/FlatCAMExcEditor.py:1910
+#: flatcamEditors/FlatCAMExcEditor.py:1913
msgid "Parameters for the array of slots (linear or circular array)"
msgstr "Parameters for the array of slots (linear or circular array)"
-#: flatcamEditors/FlatCAMExcEditor.py:1919
+#: flatcamEditors/FlatCAMExcEditor.py:1922
msgid ""
"Select the type of slot array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -3381,15 +3776,15 @@ msgstr ""
"Select the type of slot array to create.\n"
"It can be Linear X(Y) or Circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1931 flatcamGUI/PreferencesUI.py:3744
+#: flatcamEditors/FlatCAMExcEditor.py:1934 flatcamGUI/PreferencesUI.py:4022
msgid "Nr of slots"
msgstr "Nr of slots"
-#: flatcamEditors/FlatCAMExcEditor.py:1932 flatcamGUI/PreferencesUI.py:3746
+#: flatcamEditors/FlatCAMExcEditor.py:1935 flatcamGUI/PreferencesUI.py:4024
msgid "Specify how many slots to be in the array."
msgstr "Specify how many slots to be in the array."
-#: flatcamEditors/FlatCAMExcEditor.py:2546
+#: flatcamEditors/FlatCAMExcEditor.py:2571
msgid ""
"Tool already in the original or actual tool list.\n"
"Save and reedit Excellon if you need to add this tool. "
@@ -3397,50 +3792,50 @@ msgstr ""
"Tool already in the original or actual tool list.\n"
"Save and reedit Excellon if you need to add this tool. "
-#: flatcamEditors/FlatCAMExcEditor.py:2555 flatcamGUI/FlatCAMGUI.py:3792
+#: flatcamEditors/FlatCAMExcEditor.py:2580 flatcamGUI/FlatCAMGUI.py:4009
msgid "Added new tool with dia"
msgstr "Added new tool with dia"
-#: flatcamEditors/FlatCAMExcEditor.py:2589
+#: flatcamEditors/FlatCAMExcEditor.py:2613
msgid "Select a tool in Tool Table"
msgstr "Select a tool in Tool Table"
-#: flatcamEditors/FlatCAMExcEditor.py:2622
+#: flatcamEditors/FlatCAMExcEditor.py:2643
msgid "Deleted tool with diameter"
msgstr "Deleted tool with diameter"
-#: flatcamEditors/FlatCAMExcEditor.py:2772
+#: flatcamEditors/FlatCAMExcEditor.py:2793
msgid "Done. Tool edit completed."
msgstr "Done. Tool edit completed."
-#: flatcamEditors/FlatCAMExcEditor.py:3324
+#: flatcamEditors/FlatCAMExcEditor.py:3350
msgid "There are no Tools definitions in the file. Aborting Excellon creation."
msgstr ""
"There are no Tools definitions in the file. Aborting Excellon creation."
-#: flatcamEditors/FlatCAMExcEditor.py:3328
+#: flatcamEditors/FlatCAMExcEditor.py:3354
msgid "An internal error has ocurred. See Shell.\n"
msgstr "An internal error has ocurred. See Shell.\n"
-#: flatcamEditors/FlatCAMExcEditor.py:3333
+#: flatcamEditors/FlatCAMExcEditor.py:3359
msgid "Creating Excellon."
msgstr "Creating Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:3347
+#: flatcamEditors/FlatCAMExcEditor.py:3371
msgid "Excellon editing finished."
msgstr "Excellon editing finished."
-#: flatcamEditors/FlatCAMExcEditor.py:3365
+#: flatcamEditors/FlatCAMExcEditor.py:3388
msgid "Cancelled. There is no Tool/Drill selected"
msgstr "Cancelled. There is no Tool/Drill selected"
-#: flatcamEditors/FlatCAMExcEditor.py:3978
+#: flatcamEditors/FlatCAMExcEditor.py:4001
msgid "Done. Drill(s) deleted."
msgstr "Done. Drill(s) deleted."
-#: flatcamEditors/FlatCAMExcEditor.py:4051
-#: flatcamEditors/FlatCAMExcEditor.py:4061
-#: flatcamEditors/FlatCAMGrbEditor.py:4853
+#: flatcamEditors/FlatCAMExcEditor.py:4074
+#: flatcamEditors/FlatCAMExcEditor.py:4084
+#: flatcamEditors/FlatCAMGrbEditor.py:4897
msgid "Click on the circular array Center position"
msgstr "Click on the circular array Center position"
@@ -3467,18 +3862,24 @@ msgstr ""
"meeting in the corner"
#: flatcamEditors/FlatCAMGeoEditor.py:95
-#: flatcamEditors/FlatCAMGrbEditor.py:2622
+#: flatcamEditors/FlatCAMGrbEditor.py:2628
msgid "Round"
msgstr "Round"
#: flatcamEditors/FlatCAMGeoEditor.py:96
-#: flatcamEditors/FlatCAMGrbEditor.py:2623 flatcamGUI/PreferencesUI.py:7058
+#: flatcamEditors/FlatCAMGrbEditor.py:2629 flatcamGUI/PreferencesUI.py:5606
+#: flatcamGUI/PreferencesUI.py:6130 flatcamGUI/PreferencesUI.py:7564
+#: flatcamGUI/PreferencesUI.py:8167 flatcamGUI/PreferencesUI.py:8274
+#: flatcamGUI/PreferencesUI.py:8379 flatcamGUI/PreferencesUI.py:8488
+#: flatcamTools/ToolExtractDrills.py:94 flatcamTools/ToolExtractDrills.py:227
+#: flatcamTools/ToolNCC.py:583 flatcamTools/ToolPaint.py:527
+#: flatcamTools/ToolPunchGerber.py:105 flatcamTools/ToolPunchGerber.py:255
#: flatcamTools/ToolQRCode.py:198
msgid "Square"
msgstr "Square"
#: flatcamEditors/FlatCAMGeoEditor.py:97
-#: flatcamEditors/FlatCAMGrbEditor.py:2624
+#: flatcamEditors/FlatCAMGrbEditor.py:2630
msgid "Beveled"
msgstr "Beveled"
@@ -3495,18 +3896,18 @@ msgid "Full Buffer"
msgstr "Full Buffer"
#: flatcamEditors/FlatCAMGeoEditor.py:133
-#: flatcamEditors/FlatCAMGeoEditor.py:2885 flatcamGUI/FlatCAMGUI.py:1805
-#: flatcamGUI/PreferencesUI.py:2604
+#: flatcamEditors/FlatCAMGeoEditor.py:3018 flatcamGUI/FlatCAMGUI.py:1913
+#: flatcamGUI/PreferencesUI.py:2786
msgid "Buffer Tool"
msgstr "Buffer Tool"
#: flatcamEditors/FlatCAMGeoEditor.py:145
#: flatcamEditors/FlatCAMGeoEditor.py:162
#: flatcamEditors/FlatCAMGeoEditor.py:179
-#: flatcamEditors/FlatCAMGeoEditor.py:2904
-#: flatcamEditors/FlatCAMGeoEditor.py:2934
-#: flatcamEditors/FlatCAMGeoEditor.py:2964
-#: flatcamEditors/FlatCAMGrbEditor.py:4906
+#: flatcamEditors/FlatCAMGeoEditor.py:3037
+#: flatcamEditors/FlatCAMGeoEditor.py:3065
+#: flatcamEditors/FlatCAMGeoEditor.py:3093
+#: flatcamEditors/FlatCAMGrbEditor.py:4950
msgid "Buffer distance value is missing or wrong format. Add it and retry."
msgstr "Buffer distance value is missing or wrong format. Add it and retry."
@@ -3514,7 +3915,7 @@ msgstr "Buffer distance value is missing or wrong format. Add it and retry."
msgid "Font"
msgstr "Font"
-#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2085
+#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2193
msgid "Text"
msgstr "Text"
@@ -3522,207 +3923,112 @@ msgstr "Text"
msgid "Text Tool"
msgstr "Text Tool"
-#: flatcamEditors/FlatCAMGeoEditor.py:442 flatcamGUI/ObjectUI.py:359
-#: flatcamGUI/PreferencesUI.py:2025 flatcamGUI/PreferencesUI.py:3875
-#: flatcamGUI/PreferencesUI.py:5535
+#: flatcamEditors/FlatCAMGeoEditor.py:440 flatcamGUI/ObjectUI.py:363
+#: flatcamGUI/PreferencesUI.py:2205
msgid "Tool dia"
msgstr "Tool dia"
-#: flatcamEditors/FlatCAMGeoEditor.py:444 flatcamGUI/PreferencesUI.py:5537
+#: flatcamEditors/FlatCAMGeoEditor.py:442
+msgid "Diameter of the tool to be used in the operation."
+msgstr "Diameter of the tool to be used in the operation."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:488
msgid ""
-"Diameter of the tool to\n"
-"be used in the operation."
+"Algorithm to paint the polygons:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
msgstr ""
-"Diameter of the tool to\n"
-"be used in the operation."
+"Algorithm to paint the polygons:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
-#: flatcamEditors/FlatCAMGeoEditor.py:455 flatcamGUI/PreferencesUI.py:5152
-#: flatcamGUI/PreferencesUI.py:5567 flatcamTools/ToolNonCopperClear.py:319
-#: flatcamTools/ToolPaint.py:219
-msgid "Overlap Rate"
-msgstr "Overlap Rate"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:457 flatcamGUI/PreferencesUI.py:5569
-#: flatcamTools/ToolPaint.py:221
-msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be painted are still \n"
-"not painted.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
-msgstr ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be painted are still \n"
-"not painted.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:475 flatcamGUI/PreferencesUI.py:5171
-#: flatcamGUI/PreferencesUI.py:5384 flatcamGUI/PreferencesUI.py:5587
-#: flatcamGUI/PreferencesUI.py:7175 flatcamGUI/PreferencesUI.py:7332
-#: flatcamGUI/PreferencesUI.py:7417 flatcamTools/ToolCopperThieving.py:111
-#: flatcamTools/ToolCopperThieving.py:361 flatcamTools/ToolCutOut.py:184
-#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolNonCopperClear.py:337
-#: flatcamTools/ToolPaint.py:238
-msgid "Margin"
-msgstr "Margin"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:5589
-#: flatcamTools/ToolPaint.py:240
-msgid ""
-"Distance by which to avoid\n"
-"the edges of the polygon to\n"
-"be painted."
-msgstr ""
-"Distance by which to avoid\n"
-"the edges of the polygon to\n"
-"be painted."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/PreferencesUI.py:5184
-#: flatcamGUI/PreferencesUI.py:5602 flatcamTools/ToolNonCopperClear.py:348
-#: flatcamTools/ToolPaint.py:251
-msgid "Method"
-msgstr "Method"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:491
-msgid ""
-"Algorithm to paint the polygon:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed."
-msgstr ""
-"Algorithm to paint the polygon:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/PreferencesUI.py:5193
-#: flatcamGUI/PreferencesUI.py:5611 flatcamTools/ToolNonCopperClear.py:357
-#: flatcamTools/ToolPaint.py:260
-msgid "Standard"
-msgstr "Standard"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:497 flatcamGUI/PreferencesUI.py:5194
-#: flatcamGUI/PreferencesUI.py:5612 flatcamTools/ToolNonCopperClear.py:358
-#: flatcamTools/ToolPaint.py:261
-msgid "Seed-based"
-msgstr "Seed-based"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/PreferencesUI.py:5195
-#: flatcamGUI/PreferencesUI.py:5613 flatcamTools/ToolNonCopperClear.py:359
-#: flatcamTools/ToolPaint.py:262
-msgid "Straight lines"
-msgstr "Straight lines"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:505
+#: flatcamEditors/FlatCAMGeoEditor.py:507
msgid "Connect:"
msgstr "Connect:"
-#: flatcamEditors/FlatCAMGeoEditor.py:507 flatcamGUI/PreferencesUI.py:5204
-#: flatcamGUI/PreferencesUI.py:5620 flatcamTools/ToolNonCopperClear.py:366
-#: flatcamTools/ToolPaint.py:269
-msgid ""
-"Draw lines between resulting\n"
-"segments to minimize tool lifts."
-msgstr ""
-"Draw lines between resulting\n"
-"segments to minimize tool lifts."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:515
+#: flatcamEditors/FlatCAMGeoEditor.py:517
msgid "Contour:"
msgstr "Contour:"
-#: flatcamEditors/FlatCAMGeoEditor.py:517 flatcamGUI/PreferencesUI.py:5213
-#: flatcamGUI/PreferencesUI.py:5628 flatcamTools/ToolNonCopperClear.py:373
-#: flatcamTools/ToolPaint.py:276
-msgid ""
-"Cut around the perimeter of the polygon\n"
-"to trim rough edges."
-msgstr ""
-"Cut around the perimeter of the polygon\n"
-"to trim rough edges."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:2089
+#: flatcamEditors/FlatCAMGeoEditor.py:530 flatcamGUI/FlatCAMGUI.py:2197
msgid "Paint"
msgstr "Paint"
-#: flatcamEditors/FlatCAMGeoEditor.py:547 flatcamGUI/FlatCAMGUI.py:845
-#: flatcamGUI/FlatCAMGUI.py:2423 flatcamGUI/ObjectUI.py:1731
-#: flatcamTools/ToolPaint.py:41 flatcamTools/ToolPaint.py:533
+#: flatcamEditors/FlatCAMGeoEditor.py:548 flatcamGUI/FlatCAMGUI.py:909
+#: flatcamGUI/FlatCAMGUI.py:2588 flatcamGUI/ObjectUI.py:2057
+#: flatcamTools/ToolPaint.py:43 flatcamTools/ToolPaint.py:738
msgid "Paint Tool"
msgstr "Paint Tool"
#: flatcamEditors/FlatCAMGeoEditor.py:584
-msgid "Paint cancelled. No shape selected."
-msgstr "Paint cancelled. No shape selected."
+#: flatcamEditors/FlatCAMGeoEditor.py:1056
+#: flatcamEditors/FlatCAMGeoEditor.py:3025
+#: flatcamEditors/FlatCAMGeoEditor.py:3053
+#: flatcamEditors/FlatCAMGeoEditor.py:3081
+#: flatcamEditors/FlatCAMGeoEditor.py:4502
+#: flatcamEditors/FlatCAMGrbEditor.py:5601
+msgid "Cancelled. No shape selected."
+msgstr "Cancelled. No shape selected."
#: flatcamEditors/FlatCAMGeoEditor.py:597
-#: flatcamEditors/FlatCAMGeoEditor.py:2910
-#: flatcamEditors/FlatCAMGeoEditor.py:2940
-#: flatcamEditors/FlatCAMGeoEditor.py:2970 flatcamGUI/PreferencesUI.py:3871
-#: flatcamTools/ToolProperties.py:120 flatcamTools/ToolProperties.py:158
+#: flatcamEditors/FlatCAMGeoEditor.py:3043
+#: flatcamEditors/FlatCAMGeoEditor.py:3071
+#: flatcamEditors/FlatCAMGeoEditor.py:3099 flatcamGUI/PreferencesUI.py:4149
+#: flatcamTools/ToolProperties.py:117 flatcamTools/ToolProperties.py:162
msgid "Tools"
msgstr "Tools"
#: flatcamEditors/FlatCAMGeoEditor.py:608
#: flatcamEditors/FlatCAMGeoEditor.py:992
-#: flatcamEditors/FlatCAMGrbEditor.py:5096
-#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamGUI/FlatCAMGUI.py:866
-#: flatcamGUI/FlatCAMGUI.py:2441 flatcamTools/ToolTransform.py:422
+#: flatcamEditors/FlatCAMGrbEditor.py:5140
+#: flatcamEditors/FlatCAMGrbEditor.py:5537 flatcamGUI/FlatCAMGUI.py:930
+#: flatcamGUI/FlatCAMGUI.py:2609 flatcamTools/ToolTransform.py:461
msgid "Transform Tool"
msgstr "Transform Tool"
#: flatcamEditors/FlatCAMGeoEditor.py:609
#: flatcamEditors/FlatCAMGeoEditor.py:674
-#: flatcamEditors/FlatCAMGrbEditor.py:5097
-#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/PreferencesUI.py:6238
-#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:80
+#: flatcamEditors/FlatCAMGrbEditor.py:5141
+#: flatcamEditors/FlatCAMGrbEditor.py:5206 flatcamGUI/PreferencesUI.py:6725
+#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:467
msgid "Rotate"
msgstr "Rotate"
#: flatcamEditors/FlatCAMGeoEditor.py:610
-#: flatcamEditors/FlatCAMGrbEditor.py:5098 flatcamTools/ToolTransform.py:26
+#: flatcamEditors/FlatCAMGrbEditor.py:5142 flatcamTools/ToolTransform.py:26
msgid "Skew/Shear"
msgstr "Skew/Shear"
#: flatcamEditors/FlatCAMGeoEditor.py:611
-#: flatcamEditors/FlatCAMGrbEditor.py:2671
-#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/FlatCAMGUI.py:980
-#: flatcamGUI/FlatCAMGUI.py:2017 flatcamGUI/FlatCAMGUI.py:2132
-#: flatcamGUI/FlatCAMGUI.py:2549 flatcamGUI/ObjectUI.py:103
-#: flatcamGUI/ObjectUI.py:121 flatcamGUI/PreferencesUI.py:6288
-#: flatcamTools/ToolTransform.py:27
+#: flatcamEditors/FlatCAMGrbEditor.py:2677
+#: flatcamEditors/FlatCAMGrbEditor.py:5143 flatcamGUI/FlatCAMGUI.py:1048
+#: flatcamGUI/FlatCAMGUI.py:2125 flatcamGUI/FlatCAMGUI.py:2240
+#: flatcamGUI/FlatCAMGUI.py:2723 flatcamGUI/ObjectUI.py:124
+#: flatcamGUI/PreferencesUI.py:6775 flatcamTools/ToolTransform.py:27
msgid "Scale"
msgstr "Scale"
#: flatcamEditors/FlatCAMGeoEditor.py:612
-#: flatcamEditors/FlatCAMGrbEditor.py:5100 flatcamTools/ToolTransform.py:28
+#: flatcamEditors/FlatCAMGrbEditor.py:5144 flatcamTools/ToolTransform.py:28
msgid "Mirror (Flip)"
msgstr "Mirror (Flip)"
-#: flatcamEditors/FlatCAMGeoEditor.py:613
-#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamGUI/ObjectUI.py:132
-#: flatcamGUI/ObjectUI.py:148 flatcamGUI/ObjectUI.py:1217
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/PreferencesUI.py:5234
-#: flatcamGUI/PreferencesUI.py:6335 flatcamTools/ToolNonCopperClear.py:393
-#: flatcamTools/ToolTransform.py:29
-msgid "Offset"
-msgstr "Offset"
-
#: flatcamEditors/FlatCAMGeoEditor.py:626
-#: flatcamEditors/FlatCAMGrbEditor.py:5114 flatcamGUI/FlatCAMGUI.py:787
-#: flatcamGUI/FlatCAMGUI.py:2370
+#: flatcamEditors/FlatCAMGrbEditor.py:5158 flatcamGUI/FlatCAMGUI.py:841
+#: flatcamGUI/FlatCAMGUI.py:2524
msgid "Editor"
msgstr "Editor"
#: flatcamEditors/FlatCAMGeoEditor.py:658
-#: flatcamEditors/FlatCAMGrbEditor.py:5146
+#: flatcamEditors/FlatCAMGrbEditor.py:5190
msgid "Angle:"
msgstr "Angle:"
#: flatcamEditors/FlatCAMGeoEditor.py:660
-#: flatcamEditors/FlatCAMGrbEditor.py:5148 flatcamGUI/PreferencesUI.py:6248
-#: flatcamTools/ToolTransform.py:65
+#: flatcamEditors/FlatCAMGrbEditor.py:5192 flatcamGUI/PreferencesUI.py:6735
+#: flatcamTools/ToolTransform.py:63
msgid ""
"Angle for Rotation action, in degrees.\n"
"Float number between -360 and 359.\n"
@@ -3735,7 +4041,7 @@ msgstr ""
"Negative numbers for CCW motion."
#: flatcamEditors/FlatCAMGeoEditor.py:676
-#: flatcamEditors/FlatCAMGrbEditor.py:5164
+#: flatcamEditors/FlatCAMGrbEditor.py:5208
msgid ""
"Rotate the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3746,16 +4052,16 @@ msgstr ""
"the bounding box for all selected shapes."
#: flatcamEditors/FlatCAMGeoEditor.py:699
-#: flatcamEditors/FlatCAMGrbEditor.py:5187
+#: flatcamEditors/FlatCAMGrbEditor.py:5231
msgid "Angle X:"
msgstr "Angle X:"
#: flatcamEditors/FlatCAMGeoEditor.py:701
#: flatcamEditors/FlatCAMGeoEditor.py:721
-#: flatcamEditors/FlatCAMGrbEditor.py:5189
-#: flatcamEditors/FlatCAMGrbEditor.py:5209 flatcamGUI/PreferencesUI.py:6267
-#: flatcamGUI/PreferencesUI.py:6281 flatcamTools/ToolCalibration.py:508
-#: flatcamTools/ToolCalibration.py:521
+#: flatcamEditors/FlatCAMGrbEditor.py:5233
+#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamGUI/PreferencesUI.py:6754
+#: flatcamGUI/PreferencesUI.py:6768 flatcamTools/ToolCalibration.py:505
+#: flatcamTools/ToolCalibration.py:518
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 359."
@@ -3764,14 +4070,14 @@ msgstr ""
"Float number between -360 and 359."
#: flatcamEditors/FlatCAMGeoEditor.py:712
-#: flatcamEditors/FlatCAMGrbEditor.py:5200 flatcamTools/ToolTransform.py:109
+#: flatcamEditors/FlatCAMGrbEditor.py:5244 flatcamTools/ToolTransform.py:468
msgid "Skew X"
msgstr "Skew X"
#: flatcamEditors/FlatCAMGeoEditor.py:714
#: flatcamEditors/FlatCAMGeoEditor.py:734
-#: flatcamEditors/FlatCAMGrbEditor.py:5202
-#: flatcamEditors/FlatCAMGrbEditor.py:5222
+#: flatcamEditors/FlatCAMGrbEditor.py:5246
+#: flatcamEditors/FlatCAMGrbEditor.py:5266
msgid ""
"Skew/shear the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3782,34 +4088,34 @@ msgstr ""
"the bounding box for all selected shapes."
#: flatcamEditors/FlatCAMGeoEditor.py:719
-#: flatcamEditors/FlatCAMGrbEditor.py:5207
+#: flatcamEditors/FlatCAMGrbEditor.py:5251
msgid "Angle Y:"
msgstr "Angle Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:732
-#: flatcamEditors/FlatCAMGrbEditor.py:5220 flatcamTools/ToolTransform.py:131
+#: flatcamEditors/FlatCAMGrbEditor.py:5264 flatcamTools/ToolTransform.py:469
msgid "Skew Y"
msgstr "Skew Y"
#: flatcamEditors/FlatCAMGeoEditor.py:760
-#: flatcamEditors/FlatCAMGrbEditor.py:5248
+#: flatcamEditors/FlatCAMGrbEditor.py:5292
msgid "Factor X:"
msgstr "Factor X:"
#: flatcamEditors/FlatCAMGeoEditor.py:762
-#: flatcamEditors/FlatCAMGrbEditor.py:5250 flatcamTools/ToolCalibration.py:472
+#: flatcamEditors/FlatCAMGrbEditor.py:5294 flatcamTools/ToolCalibration.py:469
msgid "Factor for Scale action over X axis."
msgstr "Factor for Scale action over X axis."
#: flatcamEditors/FlatCAMGeoEditor.py:772
-#: flatcamEditors/FlatCAMGrbEditor.py:5260 flatcamTools/ToolTransform.py:158
+#: flatcamEditors/FlatCAMGrbEditor.py:5304 flatcamTools/ToolTransform.py:470
msgid "Scale X"
msgstr "Scale X"
#: flatcamEditors/FlatCAMGeoEditor.py:774
#: flatcamEditors/FlatCAMGeoEditor.py:793
-#: flatcamEditors/FlatCAMGrbEditor.py:5262
-#: flatcamEditors/FlatCAMGrbEditor.py:5281
+#: flatcamEditors/FlatCAMGrbEditor.py:5306
+#: flatcamEditors/FlatCAMGrbEditor.py:5325
msgid ""
"Scale the selected shape(s).\n"
"The point of reference depends on \n"
@@ -3820,28 +4126,28 @@ msgstr ""
"the Scale reference checkbox state."
#: flatcamEditors/FlatCAMGeoEditor.py:779
-#: flatcamEditors/FlatCAMGrbEditor.py:5267
+#: flatcamEditors/FlatCAMGrbEditor.py:5311
msgid "Factor Y:"
msgstr "Factor Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:781
-#: flatcamEditors/FlatCAMGrbEditor.py:5269 flatcamTools/ToolCalibration.py:484
+#: flatcamEditors/FlatCAMGrbEditor.py:5313 flatcamTools/ToolCalibration.py:481
msgid "Factor for Scale action over Y axis."
msgstr "Factor for Scale action over Y axis."
#: flatcamEditors/FlatCAMGeoEditor.py:791
-#: flatcamEditors/FlatCAMGrbEditor.py:5279 flatcamTools/ToolTransform.py:179
+#: flatcamEditors/FlatCAMGrbEditor.py:5323 flatcamTools/ToolTransform.py:471
msgid "Scale Y"
msgstr "Scale Y"
#: flatcamEditors/FlatCAMGeoEditor.py:800
-#: flatcamEditors/FlatCAMGrbEditor.py:5288 flatcamGUI/PreferencesUI.py:6317
-#: flatcamTools/ToolTransform.py:192
+#: flatcamEditors/FlatCAMGrbEditor.py:5332 flatcamGUI/PreferencesUI.py:6804
+#: flatcamTools/ToolTransform.py:190
msgid "Link"
msgstr "Link"
#: flatcamEditors/FlatCAMGeoEditor.py:802
-#: flatcamEditors/FlatCAMGrbEditor.py:5290
+#: flatcamEditors/FlatCAMGrbEditor.py:5334
msgid ""
"Scale the selected shape(s)\n"
"using the Scale Factor X for both axis."
@@ -3850,13 +4156,13 @@ msgstr ""
"using the Scale Factor X for both axis."
#: flatcamEditors/FlatCAMGeoEditor.py:808
-#: flatcamEditors/FlatCAMGrbEditor.py:5296 flatcamGUI/PreferencesUI.py:6325
-#: flatcamTools/ToolTransform.py:200
+#: flatcamEditors/FlatCAMGrbEditor.py:5340 flatcamGUI/PreferencesUI.py:6812
+#: flatcamTools/ToolTransform.py:197
msgid "Scale Reference"
msgstr "Scale Reference"
#: flatcamEditors/FlatCAMGeoEditor.py:810
-#: flatcamEditors/FlatCAMGrbEditor.py:5298
+#: flatcamEditors/FlatCAMGrbEditor.py:5342
msgid ""
"Scale the selected shape(s)\n"
"using the origin reference when checked,\n"
@@ -3869,24 +4175,24 @@ msgstr ""
"of the selected shapes when unchecked."
#: flatcamEditors/FlatCAMGeoEditor.py:838
-#: flatcamEditors/FlatCAMGrbEditor.py:5327
+#: flatcamEditors/FlatCAMGrbEditor.py:5371
msgid "Value X:"
msgstr "Value X:"
#: flatcamEditors/FlatCAMGeoEditor.py:840
-#: flatcamEditors/FlatCAMGrbEditor.py:5329
+#: flatcamEditors/FlatCAMGrbEditor.py:5373
msgid "Value for Offset action on X axis."
msgstr "Value for Offset action on X axis."
#: flatcamEditors/FlatCAMGeoEditor.py:850
-#: flatcamEditors/FlatCAMGrbEditor.py:5339 flatcamTools/ToolTransform.py:227
+#: flatcamEditors/FlatCAMGrbEditor.py:5383 flatcamTools/ToolTransform.py:474
msgid "Offset X"
msgstr "Offset X"
#: flatcamEditors/FlatCAMGeoEditor.py:852
#: flatcamEditors/FlatCAMGeoEditor.py:872
-#: flatcamEditors/FlatCAMGrbEditor.py:5341
-#: flatcamEditors/FlatCAMGrbEditor.py:5361
+#: flatcamEditors/FlatCAMGrbEditor.py:5385
+#: flatcamEditors/FlatCAMGrbEditor.py:5405
msgid ""
"Offset the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3897,29 +4203,29 @@ msgstr ""
"the bounding box for all selected shapes.\n"
#: flatcamEditors/FlatCAMGeoEditor.py:858
-#: flatcamEditors/FlatCAMGrbEditor.py:5347
+#: flatcamEditors/FlatCAMGrbEditor.py:5391
msgid "Value Y:"
msgstr "Value Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:860
-#: flatcamEditors/FlatCAMGrbEditor.py:5349
+#: flatcamEditors/FlatCAMGrbEditor.py:5393
msgid "Value for Offset action on Y axis."
msgstr "Value for Offset action on Y axis."
#: flatcamEditors/FlatCAMGeoEditor.py:870
-#: flatcamEditors/FlatCAMGrbEditor.py:5359 flatcamTools/ToolTransform.py:248
+#: flatcamEditors/FlatCAMGrbEditor.py:5403 flatcamTools/ToolTransform.py:475
msgid "Offset Y"
msgstr "Offset Y"
#: flatcamEditors/FlatCAMGeoEditor.py:901
-#: flatcamEditors/FlatCAMGrbEditor.py:5390 flatcamTools/ToolTransform.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:5434 flatcamTools/ToolTransform.py:476
msgid "Flip on X"
msgstr "Flip on X"
#: flatcamEditors/FlatCAMGeoEditor.py:903
#: flatcamEditors/FlatCAMGeoEditor.py:910
-#: flatcamEditors/FlatCAMGrbEditor.py:5392
-#: flatcamEditors/FlatCAMGrbEditor.py:5399
+#: flatcamEditors/FlatCAMGrbEditor.py:5436
+#: flatcamEditors/FlatCAMGrbEditor.py:5443
msgid ""
"Flip the selected shape(s) over the X axis.\n"
"Does not create a new shape."
@@ -3928,17 +4234,17 @@ msgstr ""
"Does not create a new shape."
#: flatcamEditors/FlatCAMGeoEditor.py:908
-#: flatcamEditors/FlatCAMGrbEditor.py:5397 flatcamTools/ToolTransform.py:272
+#: flatcamEditors/FlatCAMGrbEditor.py:5441 flatcamTools/ToolTransform.py:477
msgid "Flip on Y"
msgstr "Flip on Y"
#: flatcamEditors/FlatCAMGeoEditor.py:916
-#: flatcamEditors/FlatCAMGrbEditor.py:5405
+#: flatcamEditors/FlatCAMGrbEditor.py:5449
msgid "Ref Pt"
msgstr "Ref Pt"
#: flatcamEditors/FlatCAMGeoEditor.py:918
-#: flatcamEditors/FlatCAMGrbEditor.py:5407
+#: flatcamEditors/FlatCAMGrbEditor.py:5451
msgid ""
"Flip the selected shape(s)\n"
"around the point in Point Entry Field.\n"
@@ -3961,12 +4267,12 @@ msgstr ""
"Point Entry field and click Flip on X(Y)"
#: flatcamEditors/FlatCAMGeoEditor.py:930
-#: flatcamEditors/FlatCAMGrbEditor.py:5419
+#: flatcamEditors/FlatCAMGrbEditor.py:5463
msgid "Point:"
msgstr "Point:"
#: flatcamEditors/FlatCAMGeoEditor.py:932
-#: flatcamEditors/FlatCAMGrbEditor.py:5421 flatcamTools/ToolTransform.py:301
+#: flatcamEditors/FlatCAMGrbEditor.py:5465 flatcamTools/ToolTransform.py:300
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
@@ -3977,7 +4283,7 @@ msgstr ""
"the 'y' in (x, y) will be used when using Flip on Y."
#: flatcamEditors/FlatCAMGeoEditor.py:942
-#: flatcamEditors/FlatCAMGrbEditor.py:5433 flatcamTools/ToolTransform.py:312
+#: flatcamEditors/FlatCAMGrbEditor.py:5477 flatcamTools/ToolTransform.py:310
msgid ""
"The point coordinates can be captured by\n"
"left click on canvas together with pressing\n"
@@ -3987,347 +4293,347 @@ msgstr ""
"left click on canvas together with pressing\n"
"SHIFT key. Then click Add button to insert."
-#: flatcamEditors/FlatCAMGeoEditor.py:1057
-#: flatcamEditors/FlatCAMGrbEditor.py:5558
-msgid "Transformation cancelled. No shape selected."
-msgstr "Transformation cancelled. No shape selected."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:1258
-#: flatcamEditors/FlatCAMGrbEditor.py:5742
+#: flatcamEditors/FlatCAMGeoEditor.py:1305
+#: flatcamEditors/FlatCAMGrbEditor.py:5785
msgid "No shape selected. Please Select a shape to rotate!"
msgstr "No shape selected. Please Select a shape to rotate!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1261
-#: flatcamEditors/FlatCAMGrbEditor.py:5745 flatcamTools/ToolTransform.py:611
+#: flatcamEditors/FlatCAMGeoEditor.py:1308
+#: flatcamEditors/FlatCAMGrbEditor.py:5788 flatcamTools/ToolTransform.py:680
msgid "Appying Rotate"
msgstr "Appying Rotate"
-#: flatcamEditors/FlatCAMGeoEditor.py:1290
-#: flatcamEditors/FlatCAMGrbEditor.py:5779
+#: flatcamEditors/FlatCAMGeoEditor.py:1334
+#: flatcamEditors/FlatCAMGrbEditor.py:5820
msgid "Done. Rotate completed."
msgstr "Done. Rotate completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:1295
+#: flatcamEditors/FlatCAMGeoEditor.py:1336
msgid "Rotation action was not executed"
msgstr "Rotation action was not executed"
-#: flatcamEditors/FlatCAMGeoEditor.py:1307
-#: flatcamEditors/FlatCAMGrbEditor.py:5800
+#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGrbEditor.py:5839
msgid "No shape selected. Please Select a shape to flip!"
msgstr "No shape selected. Please Select a shape to flip!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1310
-#: flatcamEditors/FlatCAMGrbEditor.py:5803 flatcamTools/ToolTransform.py:664
+#: flatcamEditors/FlatCAMGeoEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:5842 flatcamTools/ToolTransform.py:729
msgid "Applying Flip"
msgstr "Applying Flip"
-#: flatcamEditors/FlatCAMGeoEditor.py:1341
-#: flatcamEditors/FlatCAMGrbEditor.py:5843 flatcamTools/ToolTransform.py:707
+#: flatcamEditors/FlatCAMGeoEditor.py:1387
+#: flatcamEditors/FlatCAMGrbEditor.py:5880 flatcamTools/ToolTransform.py:770
msgid "Flip on the Y axis done"
msgstr "Flip on the Y axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1345
-#: flatcamEditors/FlatCAMGrbEditor.py:5852 flatcamTools/ToolTransform.py:717
+#: flatcamEditors/FlatCAMGeoEditor.py:1391
+#: flatcamEditors/FlatCAMGrbEditor.py:5889 flatcamTools/ToolTransform.py:779
msgid "Flip on the X axis done"
msgstr "Flip on the X axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGeoEditor.py:1399
msgid "Flip action was not executed"
msgstr "Flip action was not executed"
-#: flatcamEditors/FlatCAMGeoEditor.py:1365
-#: flatcamEditors/FlatCAMGrbEditor.py:5874
+#: flatcamEditors/FlatCAMGeoEditor.py:1417
+#: flatcamEditors/FlatCAMGrbEditor.py:5909
msgid "No shape selected. Please Select a shape to shear/skew!"
msgstr "No shape selected. Please Select a shape to shear/skew!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1368
-#: flatcamEditors/FlatCAMGrbEditor.py:5877 flatcamTools/ToolTransform.py:742
+#: flatcamEditors/FlatCAMGeoEditor.py:1420
+#: flatcamEditors/FlatCAMGrbEditor.py:5912 flatcamTools/ToolTransform.py:802
msgid "Applying Skew"
msgstr "Applying Skew"
-#: flatcamEditors/FlatCAMGeoEditor.py:1394
-#: flatcamEditors/FlatCAMGrbEditor.py:5913
+#: flatcamEditors/FlatCAMGeoEditor.py:1443
+#: flatcamEditors/FlatCAMGrbEditor.py:5946
msgid "Skew on the X axis done"
msgstr "Skew on the X axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1397
-#: flatcamEditors/FlatCAMGrbEditor.py:5915
+#: flatcamEditors/FlatCAMGeoEditor.py:1445
+#: flatcamEditors/FlatCAMGrbEditor.py:5948
msgid "Skew on the Y axis done"
msgstr "Skew on the Y axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1401
+#: flatcamEditors/FlatCAMGeoEditor.py:1448
msgid "Skew action was not executed"
msgstr "Skew action was not executed"
-#: flatcamEditors/FlatCAMGeoEditor.py:1413
-#: flatcamEditors/FlatCAMGrbEditor.py:5939
+#: flatcamEditors/FlatCAMGeoEditor.py:1470
+#: flatcamEditors/FlatCAMGrbEditor.py:5970
msgid "No shape selected. Please Select a shape to scale!"
msgstr "No shape selected. Please Select a shape to scale!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1416
-#: flatcamEditors/FlatCAMGrbEditor.py:5942 flatcamTools/ToolTransform.py:794
+#: flatcamEditors/FlatCAMGeoEditor.py:1473
+#: flatcamEditors/FlatCAMGrbEditor.py:5973 flatcamTools/ToolTransform.py:849
msgid "Applying Scale"
msgstr "Applying Scale"
-#: flatcamEditors/FlatCAMGeoEditor.py:1451
-#: flatcamEditors/FlatCAMGrbEditor.py:5981
+#: flatcamEditors/FlatCAMGeoEditor.py:1505
+#: flatcamEditors/FlatCAMGrbEditor.py:6010
msgid "Scale on the X axis done"
msgstr "Scale on the X axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1454
-#: flatcamEditors/FlatCAMGrbEditor.py:5983
+#: flatcamEditors/FlatCAMGeoEditor.py:1507
+#: flatcamEditors/FlatCAMGrbEditor.py:6012
msgid "Scale on the Y axis done"
msgstr "Scale on the Y axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1457
+#: flatcamEditors/FlatCAMGeoEditor.py:1509
msgid "Scale action was not executed"
msgstr "Scale action was not executed"
-#: flatcamEditors/FlatCAMGeoEditor.py:1467
-#: flatcamEditors/FlatCAMGrbEditor.py:6000
+#: flatcamEditors/FlatCAMGeoEditor.py:1524
+#: flatcamEditors/FlatCAMGrbEditor.py:6029
msgid "No shape selected. Please Select a shape to offset!"
msgstr "No shape selected. Please Select a shape to offset!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1470
-#: flatcamEditors/FlatCAMGrbEditor.py:6003 flatcamTools/ToolTransform.py:849
+#: flatcamEditors/FlatCAMGeoEditor.py:1527
+#: flatcamEditors/FlatCAMGrbEditor.py:6032 flatcamTools/ToolTransform.py:901
msgid "Applying Offset"
msgstr "Applying Offset"
-#: flatcamEditors/FlatCAMGeoEditor.py:1483
-#: flatcamEditors/FlatCAMGrbEditor.py:6024
+#: flatcamEditors/FlatCAMGeoEditor.py:1537
+#: flatcamEditors/FlatCAMGrbEditor.py:6053
msgid "Offset on the X axis done"
msgstr "Offset on the X axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1486
-#: flatcamEditors/FlatCAMGrbEditor.py:6026
+#: flatcamEditors/FlatCAMGeoEditor.py:1539
+#: flatcamEditors/FlatCAMGrbEditor.py:6055
msgid "Offset on the Y axis done"
msgstr "Offset on the Y axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1490
+#: flatcamEditors/FlatCAMGeoEditor.py:1542
msgid "Offset action was not executed"
msgstr "Offset action was not executed"
-#: flatcamEditors/FlatCAMGeoEditor.py:1494
-#: flatcamEditors/FlatCAMGrbEditor.py:6033
+#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGrbEditor.py:6062
msgid "Rotate ..."
msgstr "Rotate ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1495
-#: flatcamEditors/FlatCAMGeoEditor.py:1550
-#: flatcamEditors/FlatCAMGeoEditor.py:1567
-#: flatcamEditors/FlatCAMGrbEditor.py:6034
-#: flatcamEditors/FlatCAMGrbEditor.py:6083
-#: flatcamEditors/FlatCAMGrbEditor.py:6098
+#: flatcamEditors/FlatCAMGeoEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:1602
+#: flatcamEditors/FlatCAMGeoEditor.py:1619
+#: flatcamEditors/FlatCAMGrbEditor.py:6063
+#: flatcamEditors/FlatCAMGrbEditor.py:6112
+#: flatcamEditors/FlatCAMGrbEditor.py:6127
msgid "Enter an Angle Value (degrees)"
msgstr "Enter an Angle Value (degrees)"
-#: flatcamEditors/FlatCAMGeoEditor.py:1504
-#: flatcamEditors/FlatCAMGrbEditor.py:6042
+#: flatcamEditors/FlatCAMGeoEditor.py:1556
+#: flatcamEditors/FlatCAMGrbEditor.py:6071
msgid "Geometry shape rotate done"
msgstr "Geometry shape rotate done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1508
-#: flatcamEditors/FlatCAMGrbEditor.py:6045
+#: flatcamEditors/FlatCAMGeoEditor.py:1560
+#: flatcamEditors/FlatCAMGrbEditor.py:6074
msgid "Geometry shape rotate cancelled"
msgstr "Geometry shape rotate cancelled"
-#: flatcamEditors/FlatCAMGeoEditor.py:1513
-#: flatcamEditors/FlatCAMGrbEditor.py:6050
+#: flatcamEditors/FlatCAMGeoEditor.py:1565
+#: flatcamEditors/FlatCAMGrbEditor.py:6079
msgid "Offset on X axis ..."
msgstr "Offset on X axis ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1514
-#: flatcamEditors/FlatCAMGeoEditor.py:1533
-#: flatcamEditors/FlatCAMGrbEditor.py:6051
-#: flatcamEditors/FlatCAMGrbEditor.py:6068
+#: flatcamEditors/FlatCAMGeoEditor.py:1566
+#: flatcamEditors/FlatCAMGeoEditor.py:1585
+#: flatcamEditors/FlatCAMGrbEditor.py:6080
+#: flatcamEditors/FlatCAMGrbEditor.py:6097
msgid "Enter a distance Value"
msgstr "Enter a distance Value"
-#: flatcamEditors/FlatCAMGeoEditor.py:1523
-#: flatcamEditors/FlatCAMGrbEditor.py:6059
+#: flatcamEditors/FlatCAMGeoEditor.py:1575
+#: flatcamEditors/FlatCAMGrbEditor.py:6088
msgid "Geometry shape offset on X axis done"
msgstr "Geometry shape offset on X axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1527
-#: flatcamEditors/FlatCAMGrbEditor.py:6062
+#: flatcamEditors/FlatCAMGeoEditor.py:1579
+#: flatcamEditors/FlatCAMGrbEditor.py:6091
msgid "Geometry shape offset X cancelled"
msgstr "Geometry shape offset X cancelled"
-#: flatcamEditors/FlatCAMGeoEditor.py:1532
-#: flatcamEditors/FlatCAMGrbEditor.py:6067
+#: flatcamEditors/FlatCAMGeoEditor.py:1584
+#: flatcamEditors/FlatCAMGrbEditor.py:6096
msgid "Offset on Y axis ..."
msgstr "Offset on Y axis ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1542
-#: flatcamEditors/FlatCAMGrbEditor.py:6076
+#: flatcamEditors/FlatCAMGeoEditor.py:1594
+#: flatcamEditors/FlatCAMGrbEditor.py:6105
msgid "Geometry shape offset on Y axis done"
msgstr "Geometry shape offset on Y axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGeoEditor.py:1598
msgid "Geometry shape offset on Y axis canceled"
msgstr "Geometry shape offset on Y axis canceled"
-#: flatcamEditors/FlatCAMGeoEditor.py:1549
-#: flatcamEditors/FlatCAMGrbEditor.py:6082
+#: flatcamEditors/FlatCAMGeoEditor.py:1601
+#: flatcamEditors/FlatCAMGrbEditor.py:6111
msgid "Skew on X axis ..."
msgstr "Skew on X axis ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1559
-#: flatcamEditors/FlatCAMGrbEditor.py:6091
+#: flatcamEditors/FlatCAMGeoEditor.py:1611
+#: flatcamEditors/FlatCAMGrbEditor.py:6120
msgid "Geometry shape skew on X axis done"
msgstr "Geometry shape skew on X axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1563
+#: flatcamEditors/FlatCAMGeoEditor.py:1615
msgid "Geometry shape skew on X axis canceled"
msgstr "Geometry shape skew on X axis canceled"
-#: flatcamEditors/FlatCAMGeoEditor.py:1566
-#: flatcamEditors/FlatCAMGrbEditor.py:6097
+#: flatcamEditors/FlatCAMGeoEditor.py:1618
+#: flatcamEditors/FlatCAMGrbEditor.py:6126
msgid "Skew on Y axis ..."
msgstr "Skew on Y axis ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1576
-#: flatcamEditors/FlatCAMGrbEditor.py:6106
+#: flatcamEditors/FlatCAMGeoEditor.py:1628
+#: flatcamEditors/FlatCAMGrbEditor.py:6135
msgid "Geometry shape skew on Y axis done"
msgstr "Geometry shape skew on Y axis done"
-#: flatcamEditors/FlatCAMGeoEditor.py:1580
+#: flatcamEditors/FlatCAMGeoEditor.py:1632
msgid "Geometry shape skew on Y axis canceled"
msgstr "Geometry shape skew on Y axis canceled"
-#: flatcamEditors/FlatCAMGeoEditor.py:1951
-#: flatcamEditors/FlatCAMGeoEditor.py:2016
-#: flatcamEditors/FlatCAMGrbEditor.py:1436
-#: flatcamEditors/FlatCAMGrbEditor.py:1514
+#: flatcamEditors/FlatCAMGeoEditor.py:2009
+#: flatcamEditors/FlatCAMGeoEditor.py:2080
+#: flatcamEditors/FlatCAMGrbEditor.py:1435
+#: flatcamEditors/FlatCAMGrbEditor.py:1513
msgid "Click on Center point ..."
msgstr "Click on Center point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1958
-#: flatcamEditors/FlatCAMGrbEditor.py:1446
+#: flatcamEditors/FlatCAMGeoEditor.py:2022
+#: flatcamEditors/FlatCAMGrbEditor.py:1445
msgid "Click on Perimeter point to complete ..."
msgstr "Click on Perimeter point to complete ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:2054
msgid "Done. Adding Circle completed."
msgstr "Done. Adding Circle completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2038
-#: flatcamEditors/FlatCAMGrbEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:2108
+#: flatcamEditors/FlatCAMGrbEditor.py:1546
msgid "Click on Start point ..."
msgstr "Click on Start point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2040
-#: flatcamEditors/FlatCAMGrbEditor.py:1549
+#: flatcamEditors/FlatCAMGeoEditor.py:2110
+#: flatcamEditors/FlatCAMGrbEditor.py:1548
msgid "Click on Point3 ..."
msgstr "Click on Point3 ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2042
-#: flatcamEditors/FlatCAMGrbEditor.py:1551
+#: flatcamEditors/FlatCAMGeoEditor.py:2112
+#: flatcamEditors/FlatCAMGrbEditor.py:1550
msgid "Click on Stop point ..."
msgstr "Click on Stop point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2047
-#: flatcamEditors/FlatCAMGrbEditor.py:1556
+#: flatcamEditors/FlatCAMGeoEditor.py:2117
+#: flatcamEditors/FlatCAMGrbEditor.py:1555
msgid "Click on Stop point to complete ..."
msgstr "Click on Stop point to complete ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2049
-#: flatcamEditors/FlatCAMGrbEditor.py:1558
+#: flatcamEditors/FlatCAMGeoEditor.py:2119
+#: flatcamEditors/FlatCAMGrbEditor.py:1557
msgid "Click on Point2 to complete ..."
msgstr "Click on Point2 to complete ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2051
-#: flatcamEditors/FlatCAMGrbEditor.py:1560
+#: flatcamEditors/FlatCAMGeoEditor.py:2121
+#: flatcamEditors/FlatCAMGrbEditor.py:1559
msgid "Click on Center point to complete ..."
msgstr "Click on Center point to complete ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2063
+#: flatcamEditors/FlatCAMGeoEditor.py:2133
#, python-format
msgid "Direction: %s"
msgstr "Direction: %s"
-#: flatcamEditors/FlatCAMGeoEditor.py:2077
-#: flatcamEditors/FlatCAMGrbEditor.py:1586
+#: flatcamEditors/FlatCAMGeoEditor.py:2147
+#: flatcamEditors/FlatCAMGrbEditor.py:1585
msgid "Mode: Start -> Stop -> Center. Click on Start point ..."
msgstr "Mode: Start -> Stop -> Center. Click on Start point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2080
-#: flatcamEditors/FlatCAMGrbEditor.py:1589
+#: flatcamEditors/FlatCAMGeoEditor.py:2150
+#: flatcamEditors/FlatCAMGrbEditor.py:1588
msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..."
msgstr "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2083
-#: flatcamEditors/FlatCAMGrbEditor.py:1592
+#: flatcamEditors/FlatCAMGeoEditor.py:2153
+#: flatcamEditors/FlatCAMGrbEditor.py:1591
msgid "Mode: Center -> Start -> Stop. Click on Center point ..."
msgstr "Mode: Center -> Start -> Stop. Click on Center point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2224
+#: flatcamEditors/FlatCAMGeoEditor.py:2294
msgid "Done. Arc completed."
msgstr "Done. Arc completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2255
-#: flatcamEditors/FlatCAMGeoEditor.py:2322
+#: flatcamEditors/FlatCAMGeoEditor.py:2325
+#: flatcamEditors/FlatCAMGeoEditor.py:2398
msgid "Click on 1st corner ..."
msgstr "Click on 1st corner ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2261
+#: flatcamEditors/FlatCAMGeoEditor.py:2337
msgid "Click on opposite corner to complete ..."
msgstr "Click on opposite corner to complete ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2291
+#: flatcamEditors/FlatCAMGeoEditor.py:2367
msgid "Done. Rectangle completed."
msgstr "Done. Rectangle completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2329
+#: flatcamEditors/FlatCAMGeoEditor.py:2411 flatcamTools/ToolNCC.py:1728
+#: flatcamTools/ToolPaint.py:1623
msgid "Click on next Point or click right mouse button to complete ..."
msgstr "Click on next Point or click right mouse button to complete ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2360
+#: flatcamEditors/FlatCAMGeoEditor.py:2442
msgid "Done. Polygon completed."
msgstr "Done. Polygon completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2374
-#: flatcamEditors/FlatCAMGeoEditor.py:2439
-#: flatcamEditors/FlatCAMGrbEditor.py:1112
-#: flatcamEditors/FlatCAMGrbEditor.py:1323
+#: flatcamEditors/FlatCAMGeoEditor.py:2456
+#: flatcamEditors/FlatCAMGeoEditor.py:2521
+#: flatcamEditors/FlatCAMGrbEditor.py:1111
+#: flatcamEditors/FlatCAMGrbEditor.py:1322
msgid "Backtracked one point ..."
msgstr "Backtracked one point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2417
+#: flatcamEditors/FlatCAMGeoEditor.py:2499
msgid "Done. Path completed."
msgstr "Done. Path completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2580
+#: flatcamEditors/FlatCAMGeoEditor.py:2658
+msgid "No shape selected. Select a shape to explode"
+msgstr "No shape selected. Select a shape to explode"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2691
msgid "Done. Polygons exploded into lines."
msgstr "Done. Polygons exploded into lines."
-#: flatcamEditors/FlatCAMGeoEditor.py:2612
+#: flatcamEditors/FlatCAMGeoEditor.py:2723
msgid "MOVE: No shape selected. Select a shape to move"
msgstr "MOVE: No shape selected. Select a shape to move"
-#: flatcamEditors/FlatCAMGeoEditor.py:2615
-#: flatcamEditors/FlatCAMGeoEditor.py:2628
+#: flatcamEditors/FlatCAMGeoEditor.py:2726
+#: flatcamEditors/FlatCAMGeoEditor.py:2746
msgid " MOVE: Click on reference point ..."
msgstr " MOVE: Click on reference point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2619
+#: flatcamEditors/FlatCAMGeoEditor.py:2731
msgid " Click on destination point ..."
msgstr " Click on destination point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2653
+#: flatcamEditors/FlatCAMGeoEditor.py:2771
msgid "Done. Geometry(s) Move completed."
msgstr "Done. Geometry(s) Move completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2783
+#: flatcamEditors/FlatCAMGeoEditor.py:2904
msgid "Done. Geometry(s) Copy completed."
msgstr "Done. Geometry(s) Copy completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2811
-#: flatcamEditors/FlatCAMGrbEditor.py:898
+#: flatcamEditors/FlatCAMGeoEditor.py:2935
+#: flatcamEditors/FlatCAMGrbEditor.py:897
msgid "Click on 1st point ..."
msgstr "Click on 1st point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2829
+#: flatcamEditors/FlatCAMGeoEditor.py:2959
msgid ""
"Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. "
"Error"
@@ -4335,94 +4641,130 @@ msgstr ""
"Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. "
"Error"
-#: flatcamEditors/FlatCAMGeoEditor.py:2837
+#: flatcamEditors/FlatCAMGeoEditor.py:2967
msgid "No text to add."
msgstr "No text to add."
-#: flatcamEditors/FlatCAMGeoEditor.py:2844
+#: flatcamEditors/FlatCAMGeoEditor.py:2977
msgid " Done. Adding Text completed."
msgstr " Done. Adding Text completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2881
+#: flatcamEditors/FlatCAMGeoEditor.py:3014
msgid "Create buffer geometry ..."
msgstr "Create buffer geometry ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2892
-#: flatcamEditors/FlatCAMGeoEditor.py:2922
-#: flatcamEditors/FlatCAMGeoEditor.py:2952
-msgid "Buffer cancelled. No shape selected."
-msgstr "Buffer cancelled. No shape selected."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:2917
-#: flatcamEditors/FlatCAMGrbEditor.py:4950
+#: flatcamEditors/FlatCAMGeoEditor.py:3049
+#: flatcamEditors/FlatCAMGrbEditor.py:4994
msgid "Done. Buffer Tool completed."
msgstr "Done. Buffer Tool completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2947
+#: flatcamEditors/FlatCAMGeoEditor.py:3077
msgid "Done. Buffer Int Tool completed."
msgstr "Done. Buffer Int Tool completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:2977
+#: flatcamEditors/FlatCAMGeoEditor.py:3105
msgid "Done. Buffer Ext Tool completed."
msgstr "Done. Buffer Ext Tool completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:3023
-#: flatcamEditors/FlatCAMGrbEditor.py:2152
+#: flatcamEditors/FlatCAMGeoEditor.py:3154
+#: flatcamEditors/FlatCAMGrbEditor.py:2151
msgid "Select a shape to act as deletion area ..."
msgstr "Select a shape to act as deletion area ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3025
-#: flatcamEditors/FlatCAMGeoEditor.py:3045
-#: flatcamEditors/FlatCAMGeoEditor.py:3051
-#: flatcamEditors/FlatCAMGrbEditor.py:2154
+#: flatcamEditors/FlatCAMGeoEditor.py:3156
+#: flatcamEditors/FlatCAMGeoEditor.py:3182
+#: flatcamEditors/FlatCAMGeoEditor.py:3188
+#: flatcamEditors/FlatCAMGrbEditor.py:2153
msgid "Click to pick-up the erase shape..."
msgstr "Click to pick-up the erase shape..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3055
-#: flatcamEditors/FlatCAMGrbEditor.py:2213
+#: flatcamEditors/FlatCAMGeoEditor.py:3192
+#: flatcamEditors/FlatCAMGrbEditor.py:2212
msgid "Click to erase ..."
msgstr "Click to erase ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3084
-#: flatcamEditors/FlatCAMGrbEditor.py:2246
+#: flatcamEditors/FlatCAMGeoEditor.py:3221
+#: flatcamEditors/FlatCAMGrbEditor.py:2245
msgid "Done. Eraser tool action completed."
msgstr "Done. Eraser tool action completed."
-#: flatcamEditors/FlatCAMGeoEditor.py:3131
+#: flatcamEditors/FlatCAMGeoEditor.py:3271
msgid "Create Paint geometry ..."
msgstr "Create Paint geometry ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3144
-#: flatcamEditors/FlatCAMGrbEditor.py:2402
+#: flatcamEditors/FlatCAMGeoEditor.py:3284
+#: flatcamEditors/FlatCAMGrbEditor.py:2408
msgid "Shape transformations ..."
msgstr "Shape transformations ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3763
+#: flatcamEditors/FlatCAMGeoEditor.py:3340 flatcamGUI/PreferencesUI.py:4636
+msgid "Geometry Editor"
+msgstr "Geometry Editor"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamTools/ToolCutOut.py:96
+msgid "Type"
+msgstr "Type"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346 flatcamGUI/ObjectUI.py:217
+#: flatcamGUI/ObjectUI.py:741 flatcamGUI/ObjectUI.py:1431
+#: flatcamGUI/ObjectUI.py:2153 flatcamGUI/ObjectUI.py:2457
+#: flatcamGUI/ObjectUI.py:2524 flatcamTools/ToolCalibration.py:234
+#: flatcamTools/ToolFiducials.py:73
+msgid "Name"
+msgstr "Name"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3588
+msgid "Ring"
+msgstr "Ring"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3590
+msgid "Line"
+msgstr "Line"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3592 flatcamGUI/FlatCAMGUI.py:2187
+#: flatcamGUI/PreferencesUI.py:5607 flatcamGUI/PreferencesUI.py:6131
+#: flatcamTools/ToolNCC.py:584 flatcamTools/ToolPaint.py:528
+msgid "Polygon"
+msgstr "Polygon"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3594
+msgid "Multi-Line"
+msgstr "Multi-Line"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3596
+msgid "Multi-Polygon"
+msgstr "Multi-Polygon"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3603
+msgid "Geo Elem"
+msgstr "Geo Elem"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4076
msgid "Editing MultiGeo Geometry, tool"
msgstr "Editing MultiGeo Geometry, tool"
-#: flatcamEditors/FlatCAMGeoEditor.py:3765
+#: flatcamEditors/FlatCAMGeoEditor.py:4078
msgid "with diameter"
msgstr "with diameter"
-#: flatcamEditors/FlatCAMGeoEditor.py:4169
-msgid "Copy cancelled. No shape selected."
-msgstr "Copy cancelled. No shape selected."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:4176 flatcamGUI/FlatCAMGUI.py:3472
-#: flatcamGUI/FlatCAMGUI.py:3519 flatcamGUI/FlatCAMGUI.py:3538
-#: flatcamGUI/FlatCAMGUI.py:3679 flatcamGUI/FlatCAMGUI.py:3719
-#: flatcamGUI/FlatCAMGUI.py:3732 flatcamGUI/FlatCAMGUI.py:3749
+#: flatcamEditors/FlatCAMGeoEditor.py:4509 flatcamGUI/FlatCAMGUI.py:3695
+#: flatcamGUI/FlatCAMGUI.py:3741 flatcamGUI/FlatCAMGUI.py:3759
+#: flatcamGUI/FlatCAMGUI.py:3899 flatcamGUI/FlatCAMGUI.py:3938
+#: flatcamGUI/FlatCAMGUI.py:3950 flatcamGUI/FlatCAMGUI.py:3967
msgid "Click on target point."
msgstr "Click on target point."
-#: flatcamEditors/FlatCAMGeoEditor.py:4479
-#: flatcamEditors/FlatCAMGeoEditor.py:4514
+#: flatcamEditors/FlatCAMGeoEditor.py:4823
+#: flatcamEditors/FlatCAMGeoEditor.py:4858
msgid "A selection of at least 2 geo items is required to do Intersection."
msgstr "A selection of at least 2 geo items is required to do Intersection."
-#: flatcamEditors/FlatCAMGeoEditor.py:4600
-#: flatcamEditors/FlatCAMGeoEditor.py:4704
+#: flatcamEditors/FlatCAMGeoEditor.py:4944
+#: flatcamEditors/FlatCAMGeoEditor.py:5048
msgid ""
"Negative buffer value is not accepted. Use Buffer interior to generate an "
"'inside' shape"
@@ -4430,57 +4772,57 @@ msgstr ""
"Negative buffer value is not accepted. Use Buffer interior to generate an "
"'inside' shape"
-#: flatcamEditors/FlatCAMGeoEditor.py:4610
-#: flatcamEditors/FlatCAMGeoEditor.py:4663
-#: flatcamEditors/FlatCAMGeoEditor.py:4713
+#: flatcamEditors/FlatCAMGeoEditor.py:4954
+#: flatcamEditors/FlatCAMGeoEditor.py:5007
+#: flatcamEditors/FlatCAMGeoEditor.py:5057
msgid "Nothing selected for buffering."
msgstr "Nothing selected for buffering."
-#: flatcamEditors/FlatCAMGeoEditor.py:4615
-#: flatcamEditors/FlatCAMGeoEditor.py:4667
-#: flatcamEditors/FlatCAMGeoEditor.py:4718
+#: flatcamEditors/FlatCAMGeoEditor.py:4959
+#: flatcamEditors/FlatCAMGeoEditor.py:5011
+#: flatcamEditors/FlatCAMGeoEditor.py:5062
msgid "Invalid distance for buffering."
msgstr "Invalid distance for buffering."
-#: flatcamEditors/FlatCAMGeoEditor.py:4639
-#: flatcamEditors/FlatCAMGeoEditor.py:4738
+#: flatcamEditors/FlatCAMGeoEditor.py:4983
+#: flatcamEditors/FlatCAMGeoEditor.py:5082
msgid "Failed, the result is empty. Choose a different buffer value."
msgstr "Failed, the result is empty. Choose a different buffer value."
-#: flatcamEditors/FlatCAMGeoEditor.py:4650
+#: flatcamEditors/FlatCAMGeoEditor.py:4994
msgid "Full buffer geometry created."
msgstr "Full buffer geometry created."
-#: flatcamEditors/FlatCAMGeoEditor.py:4656
+#: flatcamEditors/FlatCAMGeoEditor.py:5000
msgid "Negative buffer value is not accepted."
msgstr "Negative buffer value is not accepted."
-#: flatcamEditors/FlatCAMGeoEditor.py:4687
+#: flatcamEditors/FlatCAMGeoEditor.py:5031
msgid "Failed, the result is empty. Choose a smaller buffer value."
msgstr "Failed, the result is empty. Choose a smaller buffer value."
-#: flatcamEditors/FlatCAMGeoEditor.py:4697
+#: flatcamEditors/FlatCAMGeoEditor.py:5041
msgid "Interior buffer geometry created."
msgstr "Interior buffer geometry created."
-#: flatcamEditors/FlatCAMGeoEditor.py:4748
+#: flatcamEditors/FlatCAMGeoEditor.py:5092
msgid "Exterior buffer geometry created."
msgstr "Exterior buffer geometry created."
-#: flatcamEditors/FlatCAMGeoEditor.py:4754
+#: flatcamEditors/FlatCAMGeoEditor.py:5098
#, python-format
-msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)."
-msgstr "Could not do Paint. Overlap value has to be less than 1.00 (100%%)."
+msgid "Could not do Paint. Overlap value has to be less than 100%%."
+msgstr "Could not do Paint. Overlap value has to be less than 100%%."
-#: flatcamEditors/FlatCAMGeoEditor.py:4761
+#: flatcamEditors/FlatCAMGeoEditor.py:5105
msgid "Nothing selected for painting."
msgstr "Nothing selected for painting."
-#: flatcamEditors/FlatCAMGeoEditor.py:4767
+#: flatcamEditors/FlatCAMGeoEditor.py:5111
msgid "Invalid value for"
msgstr "Invalid value for"
-#: flatcamEditors/FlatCAMGeoEditor.py:4826
+#: flatcamEditors/FlatCAMGeoEditor.py:5170
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different method of Paint"
@@ -4488,7 +4830,7 @@ msgstr ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different method of Paint"
-#: flatcamEditors/FlatCAMGeoEditor.py:4840
+#: flatcamEditors/FlatCAMGeoEditor.py:5181
msgid "Paint done."
msgstr "Paint done."
@@ -4502,7 +4844,7 @@ msgid "Aperture size is zero. It needs to be greater than zero."
msgstr "Aperture size is zero. It needs to be greater than zero."
#: flatcamEditors/FlatCAMGrbEditor.py:371
-#: flatcamEditors/FlatCAMGrbEditor.py:685
+#: flatcamEditors/FlatCAMGrbEditor.py:684
msgid ""
"Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'."
msgstr ""
@@ -4520,170 +4862,164 @@ msgstr "To add an Pad Array first select a aperture in Aperture Table"
msgid "Click on the Pad Circular Array Start position"
msgstr "Click on the Pad Circular Array Start position"
-#: flatcamEditors/FlatCAMGrbEditor.py:711
+#: flatcamEditors/FlatCAMGrbEditor.py:710
msgid "Too many Pads for the selected spacing angle."
msgstr "Too many Pads for the selected spacing angle."
-#: flatcamEditors/FlatCAMGrbEditor.py:734
+#: flatcamEditors/FlatCAMGrbEditor.py:733
msgid "Done. Pad Array added."
msgstr "Done. Pad Array added."
-#: flatcamEditors/FlatCAMGrbEditor.py:759
+#: flatcamEditors/FlatCAMGrbEditor.py:758
msgid "Select shape(s) and then click ..."
msgstr "Select shape(s) and then click ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:771
+#: flatcamEditors/FlatCAMGrbEditor.py:770
msgid "Failed. Nothing selected."
msgstr "Failed. Nothing selected."
-#: flatcamEditors/FlatCAMGrbEditor.py:787
+#: flatcamEditors/FlatCAMGrbEditor.py:786
msgid ""
"Failed. Poligonize works only on geometries belonging to the same aperture."
msgstr ""
"Failed. Poligonize works only on geometries belonging to the same aperture."
-#: flatcamEditors/FlatCAMGrbEditor.py:841
+#: flatcamEditors/FlatCAMGrbEditor.py:840
msgid "Done. Poligonize completed."
msgstr "Done. Poligonize completed."
-#: flatcamEditors/FlatCAMGrbEditor.py:896
-#: flatcamEditors/FlatCAMGrbEditor.py:1129
-#: flatcamEditors/FlatCAMGrbEditor.py:1153
+#: flatcamEditors/FlatCAMGrbEditor.py:895
+#: flatcamEditors/FlatCAMGrbEditor.py:1128
+#: flatcamEditors/FlatCAMGrbEditor.py:1152
msgid "Corner Mode 1: 45 degrees ..."
msgstr "Corner Mode 1: 45 degrees ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:908
-#: flatcamEditors/FlatCAMGrbEditor.py:1238
+#: flatcamEditors/FlatCAMGrbEditor.py:907
+#: flatcamEditors/FlatCAMGrbEditor.py:1237
msgid "Click on next Point or click Right mouse button to complete ..."
msgstr "Click on next Point or click Right mouse button to complete ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1117
-#: flatcamEditors/FlatCAMGrbEditor.py:1150
+#: flatcamEditors/FlatCAMGrbEditor.py:1116
+#: flatcamEditors/FlatCAMGrbEditor.py:1149
msgid "Corner Mode 2: Reverse 45 degrees ..."
msgstr "Corner Mode 2: Reverse 45 degrees ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1120
-#: flatcamEditors/FlatCAMGrbEditor.py:1147
+#: flatcamEditors/FlatCAMGrbEditor.py:1119
+#: flatcamEditors/FlatCAMGrbEditor.py:1146
msgid "Corner Mode 3: 90 degrees ..."
msgstr "Corner Mode 3: 90 degrees ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1123
-#: flatcamEditors/FlatCAMGrbEditor.py:1144
+#: flatcamEditors/FlatCAMGrbEditor.py:1122
+#: flatcamEditors/FlatCAMGrbEditor.py:1143
msgid "Corner Mode 4: Reverse 90 degrees ..."
msgstr "Corner Mode 4: Reverse 90 degrees ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1126
-#: flatcamEditors/FlatCAMGrbEditor.py:1141
+#: flatcamEditors/FlatCAMGrbEditor.py:1125
+#: flatcamEditors/FlatCAMGrbEditor.py:1140
msgid "Corner Mode 5: Free angle ..."
msgstr "Corner Mode 5: Free angle ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1183
-#: flatcamEditors/FlatCAMGrbEditor.py:1359
-#: flatcamEditors/FlatCAMGrbEditor.py:1398
+#: flatcamEditors/FlatCAMGrbEditor.py:1182
+#: flatcamEditors/FlatCAMGrbEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:1397
msgid "Track Mode 1: 45 degrees ..."
msgstr "Track Mode 1: 45 degrees ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1339
-#: flatcamEditors/FlatCAMGrbEditor.py:1393
+#: flatcamEditors/FlatCAMGrbEditor.py:1338
+#: flatcamEditors/FlatCAMGrbEditor.py:1392
msgid "Track Mode 2: Reverse 45 degrees ..."
msgstr "Track Mode 2: Reverse 45 degrees ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1344
-#: flatcamEditors/FlatCAMGrbEditor.py:1388
+#: flatcamEditors/FlatCAMGrbEditor.py:1343
+#: flatcamEditors/FlatCAMGrbEditor.py:1387
msgid "Track Mode 3: 90 degrees ..."
msgstr "Track Mode 3: 90 degrees ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1349
-#: flatcamEditors/FlatCAMGrbEditor.py:1383
+#: flatcamEditors/FlatCAMGrbEditor.py:1348
+#: flatcamEditors/FlatCAMGrbEditor.py:1382
msgid "Track Mode 4: Reverse 90 degrees ..."
msgstr "Track Mode 4: Reverse 90 degrees ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1354
-#: flatcamEditors/FlatCAMGrbEditor.py:1378
+#: flatcamEditors/FlatCAMGrbEditor.py:1353
+#: flatcamEditors/FlatCAMGrbEditor.py:1377
msgid "Track Mode 5: Free angle ..."
msgstr "Track Mode 5: Free angle ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1779
+#: flatcamEditors/FlatCAMGrbEditor.py:1778
msgid "Scale the selected Gerber apertures ..."
msgstr "Scale the selected Gerber apertures ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1821
+#: flatcamEditors/FlatCAMGrbEditor.py:1820
msgid "Buffer the selected apertures ..."
msgstr "Buffer the selected apertures ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1863
+#: flatcamEditors/FlatCAMGrbEditor.py:1862
msgid "Mark polygon areas in the edited Gerber ..."
msgstr "Mark polygon areas in the edited Gerber ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1929
+#: flatcamEditors/FlatCAMGrbEditor.py:1928
msgid "Nothing selected to move"
msgstr "Nothing selected to move"
-#: flatcamEditors/FlatCAMGrbEditor.py:2054
+#: flatcamEditors/FlatCAMGrbEditor.py:2053
msgid "Done. Apertures Move completed."
msgstr "Done. Apertures Move completed."
-#: flatcamEditors/FlatCAMGrbEditor.py:2136
+#: flatcamEditors/FlatCAMGrbEditor.py:2135
msgid "Done. Apertures copied."
msgstr "Done. Apertures copied."
-#: flatcamEditors/FlatCAMGrbEditor.py:2447 flatcamGUI/FlatCAMGUI.py:2110
-#: flatcamGUI/PreferencesUI.py:2443
+#: flatcamEditors/FlatCAMGrbEditor.py:2453 flatcamGUI/FlatCAMGUI.py:2218
+#: flatcamGUI/PreferencesUI.py:2623
msgid "Gerber Editor"
msgstr "Gerber Editor"
-#: flatcamEditors/FlatCAMGrbEditor.py:2467 flatcamGUI/ObjectUI.py:223
-#: flatcamTools/ToolProperties.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2473 flatcamGUI/ObjectUI.py:227
+#: flatcamTools/ToolProperties.py:159
msgid "Apertures"
msgstr "Apertures"
-#: flatcamEditors/FlatCAMGrbEditor.py:2469 flatcamGUI/ObjectUI.py:225
+#: flatcamEditors/FlatCAMGrbEditor.py:2475 flatcamGUI/ObjectUI.py:229
msgid "Apertures Table for the Gerber Object."
msgstr "Apertures Table for the Gerber Object."
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
msgid "Code"
msgstr "Code"
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-msgid "Type"
-msgstr "Type"
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
-#: flatcamGUI/PreferencesUI.py:1009 flatcamGUI/PreferencesUI.py:7270
-#: flatcamGUI/PreferencesUI.py:7299 flatcamGUI/PreferencesUI.py:7401
-#: flatcamTools/ToolCopperThieving.py:260
-#: flatcamTools/ToolCopperThieving.py:300 flatcamTools/ToolFiducials.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/PreferencesUI.py:1184 flatcamGUI/PreferencesUI.py:7776
+#: flatcamGUI/PreferencesUI.py:7805 flatcamGUI/PreferencesUI.py:7907
+#: flatcamTools/ToolCopperThieving.py:262
+#: flatcamTools/ToolCopperThieving.py:302 flatcamTools/ToolFiducials.py:156
msgid "Size"
msgstr "Size"
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
msgid "Dim"
msgstr "Dim"
-#: flatcamEditors/FlatCAMGrbEditor.py:2484 flatcamGUI/ObjectUI.py:262
+#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:266
msgid "Index"
msgstr "Index"
-#: flatcamEditors/FlatCAMGrbEditor.py:2486
-#: flatcamEditors/FlatCAMGrbEditor.py:2515 flatcamGUI/ObjectUI.py:264
+#: flatcamEditors/FlatCAMGrbEditor.py:2492
+#: flatcamEditors/FlatCAMGrbEditor.py:2521 flatcamGUI/ObjectUI.py:268
msgid "Aperture Code"
msgstr "Aperture Code"
-#: flatcamEditors/FlatCAMGrbEditor.py:2488 flatcamGUI/ObjectUI.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:2494 flatcamGUI/ObjectUI.py:270
msgid "Type of aperture: circular, rectangle, macros etc"
msgstr "Type of aperture: circular, rectangle, macros etc"
-#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:268
+#: flatcamEditors/FlatCAMGrbEditor.py:2496 flatcamGUI/ObjectUI.py:272
msgid "Aperture Size:"
msgstr "Aperture Size:"
-#: flatcamEditors/FlatCAMGrbEditor.py:2492 flatcamGUI/ObjectUI.py:270
+#: flatcamEditors/FlatCAMGrbEditor.py:2498 flatcamGUI/ObjectUI.py:274
msgid ""
"Aperture Dimensions:\n"
" - (width, height) for R, O type.\n"
@@ -4693,15 +5029,15 @@ msgstr ""
" - (width, height) for R, O type.\n"
" - (dia, nVertices) for P type"
-#: flatcamEditors/FlatCAMGrbEditor.py:2516 flatcamGUI/PreferencesUI.py:2474
+#: flatcamEditors/FlatCAMGrbEditor.py:2522 flatcamGUI/PreferencesUI.py:2654
msgid "Code for the new aperture"
msgstr "Code for the new aperture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2525
+#: flatcamEditors/FlatCAMGrbEditor.py:2531
msgid "Aperture Size"
msgstr "Aperture Size"
-#: flatcamEditors/FlatCAMGrbEditor.py:2527
+#: flatcamEditors/FlatCAMGrbEditor.py:2533
msgid ""
"Size for the new aperture.\n"
"If aperture type is 'R' or 'O' then\n"
@@ -4715,11 +5051,11 @@ msgstr ""
"calculated as:\n"
"sqrt(width**2 + height**2)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2541
+#: flatcamEditors/FlatCAMGrbEditor.py:2547
msgid "Aperture Type"
msgstr "Aperture Type"
-#: flatcamEditors/FlatCAMGrbEditor.py:2543
+#: flatcamEditors/FlatCAMGrbEditor.py:2549
msgid ""
"Select the type of new aperture. Can be:\n"
"C = circular\n"
@@ -4731,11 +5067,11 @@ msgstr ""
"R = rectangular\n"
"O = oblong"
-#: flatcamEditors/FlatCAMGrbEditor.py:2554
+#: flatcamEditors/FlatCAMGrbEditor.py:2560
msgid "Aperture Dim"
msgstr "Aperture Dim"
-#: flatcamEditors/FlatCAMGrbEditor.py:2556
+#: flatcamEditors/FlatCAMGrbEditor.py:2562
msgid ""
"Dimensions for the new aperture.\n"
"Active only for rectangular apertures (type R).\n"
@@ -4745,39 +5081,39 @@ msgstr ""
"Active only for rectangular apertures (type R).\n"
"The format is (width, height)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2565
+#: flatcamEditors/FlatCAMGrbEditor.py:2571
msgid "Add/Delete Aperture"
msgstr "Add/Delete Aperture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2567
+#: flatcamEditors/FlatCAMGrbEditor.py:2573
msgid "Add/Delete an aperture in the aperture table"
msgstr "Add/Delete an aperture in the aperture table"
-#: flatcamEditors/FlatCAMGrbEditor.py:2576
+#: flatcamEditors/FlatCAMGrbEditor.py:2582
msgid "Add a new aperture to the aperture list."
msgstr "Add a new aperture to the aperture list."
-#: flatcamEditors/FlatCAMGrbEditor.py:2581
+#: flatcamEditors/FlatCAMGrbEditor.py:2587
msgid "Delete a aperture in the aperture list"
msgstr "Delete a aperture in the aperture list"
-#: flatcamEditors/FlatCAMGrbEditor.py:2598
+#: flatcamEditors/FlatCAMGrbEditor.py:2604
msgid "Buffer Aperture"
msgstr "Buffer Aperture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2600
+#: flatcamEditors/FlatCAMGrbEditor.py:2606
msgid "Buffer a aperture in the aperture list"
msgstr "Buffer a aperture in the aperture list"
-#: flatcamEditors/FlatCAMGrbEditor.py:2613 flatcamGUI/PreferencesUI.py:2608
+#: flatcamEditors/FlatCAMGrbEditor.py:2619 flatcamGUI/PreferencesUI.py:2790
msgid "Buffer distance"
msgstr "Buffer distance"
-#: flatcamEditors/FlatCAMGrbEditor.py:2614
+#: flatcamEditors/FlatCAMGrbEditor.py:2620
msgid "Buffer corner"
msgstr "Buffer corner"
-#: flatcamEditors/FlatCAMGrbEditor.py:2616
+#: flatcamEditors/FlatCAMGrbEditor.py:2622
msgid ""
"There are 3 types of corners:\n"
" - 'Round': the corner is rounded.\n"
@@ -4791,27 +5127,26 @@ msgstr ""
" - 'Beveled:' the corner is a line that directly connects the features "
"meeting in the corner"
-#: flatcamEditors/FlatCAMGrbEditor.py:2631 flatcamGUI/FlatCAMGUI.py:978
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2087
-#: flatcamGUI/FlatCAMGUI.py:2130 flatcamGUI/FlatCAMGUI.py:2547
-#: flatcamGUI/PreferencesUI.py:6393 flatcamTools/ToolTransform.py:30
-#: flatcamTools/ToolTransform.py:349
+#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:1046
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2195
+#: flatcamGUI/FlatCAMGUI.py:2238 flatcamGUI/FlatCAMGUI.py:2721
+#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolTransform.py:30
msgid "Buffer"
msgstr "Buffer"
-#: flatcamEditors/FlatCAMGrbEditor.py:2646
+#: flatcamEditors/FlatCAMGrbEditor.py:2652
msgid "Scale Aperture"
msgstr "Scale Aperture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2648
+#: flatcamEditors/FlatCAMGrbEditor.py:2654
msgid "Scale a aperture in the aperture list"
msgstr "Scale a aperture in the aperture list"
-#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/PreferencesUI.py:2623
+#: flatcamEditors/FlatCAMGrbEditor.py:2662 flatcamGUI/PreferencesUI.py:2805
msgid "Scale factor"
msgstr "Scale factor"
-#: flatcamEditors/FlatCAMGrbEditor.py:2658
+#: flatcamEditors/FlatCAMGrbEditor.py:2664
msgid ""
"The factor by which to scale the selected aperture.\n"
"Values can be between 0.0000 and 999.9999"
@@ -4819,19 +5154,19 @@ msgstr ""
"The factor by which to scale the selected aperture.\n"
"Values can be between 0.0000 and 999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2686
+#: flatcamEditors/FlatCAMGrbEditor.py:2692
msgid "Mark polygons"
msgstr "Mark polygons"
-#: flatcamEditors/FlatCAMGrbEditor.py:2688
+#: flatcamEditors/FlatCAMGrbEditor.py:2694
msgid "Mark the polygon areas."
msgstr "Mark the polygon areas."
-#: flatcamEditors/FlatCAMGrbEditor.py:2696
+#: flatcamEditors/FlatCAMGrbEditor.py:2702
msgid "Area UPPER threshold"
msgstr "Area UPPER threshold"
-#: flatcamEditors/FlatCAMGrbEditor.py:2698
+#: flatcamEditors/FlatCAMGrbEditor.py:2704
msgid ""
"The threshold value, all areas less than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
@@ -4839,11 +5174,11 @@ msgstr ""
"The threshold value, all areas less than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2705
+#: flatcamEditors/FlatCAMGrbEditor.py:2711
msgid "Area LOWER threshold"
msgstr "Area LOWER threshold"
-#: flatcamEditors/FlatCAMGrbEditor.py:2707
+#: flatcamEditors/FlatCAMGrbEditor.py:2713
msgid ""
"The threshold value, all areas more than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
@@ -4851,36 +5186,32 @@ msgstr ""
"The threshold value, all areas more than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2721
+#: flatcamEditors/FlatCAMGrbEditor.py:2727
msgid "Mark"
msgstr "Mark"
-#: flatcamEditors/FlatCAMGrbEditor.py:2723
+#: flatcamEditors/FlatCAMGrbEditor.py:2729
msgid "Mark the polygons that fit within limits."
msgstr "Mark the polygons that fit within limits."
-#: flatcamEditors/FlatCAMGrbEditor.py:2729
+#: flatcamEditors/FlatCAMGrbEditor.py:2735
msgid "Delete all the marked polygons."
msgstr "Delete all the marked polygons."
-#: flatcamEditors/FlatCAMGrbEditor.py:2733
-msgid "Clear"
-msgstr "Clear"
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2735
+#: flatcamEditors/FlatCAMGrbEditor.py:2741
msgid "Clear all the markings."
msgstr "Clear all the markings."
-#: flatcamEditors/FlatCAMGrbEditor.py:2755 flatcamGUI/FlatCAMGUI.py:963
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamEditors/FlatCAMGrbEditor.py:2761 flatcamGUI/FlatCAMGUI.py:1031
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2706
msgid "Add Pad Array"
msgstr "Add Pad Array"
-#: flatcamEditors/FlatCAMGrbEditor.py:2757
+#: flatcamEditors/FlatCAMGrbEditor.py:2763
msgid "Add an array of pads (linear or circular array)"
msgstr "Add an array of pads (linear or circular array)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2763
+#: flatcamEditors/FlatCAMGrbEditor.py:2769
msgid ""
"Select the type of pads array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -4888,15 +5219,15 @@ msgstr ""
"Select the type of pads array to create.\n"
"It can be Linear X(Y) or Circular"
-#: flatcamEditors/FlatCAMGrbEditor.py:2774 flatcamGUI/PreferencesUI.py:2511
+#: flatcamEditors/FlatCAMGrbEditor.py:2780 flatcamGUI/PreferencesUI.py:2691
msgid "Nr of pads"
msgstr "Nr of pads"
-#: flatcamEditors/FlatCAMGrbEditor.py:2776 flatcamGUI/PreferencesUI.py:2513
+#: flatcamEditors/FlatCAMGrbEditor.py:2782 flatcamGUI/PreferencesUI.py:2693
msgid "Specify how many pads to be in the array."
msgstr "Specify how many pads to be in the array."
-#: flatcamEditors/FlatCAMGrbEditor.py:2825
+#: flatcamEditors/FlatCAMGrbEditor.py:2831
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -4908,12 +5239,12 @@ msgstr ""
"Min value is: -359.99 degrees.\n"
"Max value is: 360.00 degrees."
-#: flatcamEditors/FlatCAMGrbEditor.py:3307
-#: flatcamEditors/FlatCAMGrbEditor.py:3311
+#: flatcamEditors/FlatCAMGrbEditor.py:3321
+#: flatcamEditors/FlatCAMGrbEditor.py:3325
msgid "Aperture code value is missing or wrong format. Add it and retry."
msgstr "Aperture code value is missing or wrong format. Add it and retry."
-#: flatcamEditors/FlatCAMGrbEditor.py:3347
+#: flatcamEditors/FlatCAMGrbEditor.py:3361
msgid ""
"Aperture dimensions value is missing or wrong format. Add it in format "
"(width, height) and retry."
@@ -4921,178 +5252,178 @@ msgstr ""
"Aperture dimensions value is missing or wrong format. Add it in format "
"(width, height) and retry."
-#: flatcamEditors/FlatCAMGrbEditor.py:3360
+#: flatcamEditors/FlatCAMGrbEditor.py:3374
msgid "Aperture size value is missing or wrong format. Add it and retry."
msgstr "Aperture size value is missing or wrong format. Add it and retry."
-#: flatcamEditors/FlatCAMGrbEditor.py:3371
+#: flatcamEditors/FlatCAMGrbEditor.py:3385
msgid "Aperture already in the aperture table."
msgstr "Aperture already in the aperture table."
-#: flatcamEditors/FlatCAMGrbEditor.py:3379
+#: flatcamEditors/FlatCAMGrbEditor.py:3393
msgid "Added new aperture with code"
msgstr "Added new aperture with code"
-#: flatcamEditors/FlatCAMGrbEditor.py:3408
+#: flatcamEditors/FlatCAMGrbEditor.py:3422
msgid " Select an aperture in Aperture Table"
msgstr " Select an aperture in Aperture Table"
-#: flatcamEditors/FlatCAMGrbEditor.py:3416
+#: flatcamEditors/FlatCAMGrbEditor.py:3430
msgid "Select an aperture in Aperture Table -->"
msgstr "Select an aperture in Aperture Table -->"
-#: flatcamEditors/FlatCAMGrbEditor.py:3439
+#: flatcamEditors/FlatCAMGrbEditor.py:3453
msgid "Deleted aperture with code"
msgstr "Deleted aperture with code"
-#: flatcamEditors/FlatCAMGrbEditor.py:3924
+#: flatcamEditors/FlatCAMGrbEditor.py:3950
msgid "Loading Gerber into Editor"
msgstr "Loading Gerber into Editor"
-#: flatcamEditors/FlatCAMGrbEditor.py:4034
+#: flatcamEditors/FlatCAMGrbEditor.py:4078
msgid "Setting up the UI"
msgstr "Setting up the UI"
-#: flatcamEditors/FlatCAMGrbEditor.py:4035
+#: flatcamEditors/FlatCAMGrbEditor.py:4079
msgid "Adding geometry finished. Preparing the GUI"
msgstr "Adding geometry finished. Preparing the GUI"
-#: flatcamEditors/FlatCAMGrbEditor.py:4044
+#: flatcamEditors/FlatCAMGrbEditor.py:4088
msgid "Finished loading the Gerber object into the editor."
msgstr "Finished loading the Gerber object into the editor."
-#: flatcamEditors/FlatCAMGrbEditor.py:4184
+#: flatcamEditors/FlatCAMGrbEditor.py:4228
msgid ""
"There are no Aperture definitions in the file. Aborting Gerber creation."
msgstr ""
"There are no Aperture definitions in the file. Aborting Gerber creation."
-#: flatcamEditors/FlatCAMGrbEditor.py:4194
+#: flatcamEditors/FlatCAMGrbEditor.py:4238
msgid "Creating Gerber."
msgstr "Creating Gerber."
-#: flatcamEditors/FlatCAMGrbEditor.py:4203
+#: flatcamEditors/FlatCAMGrbEditor.py:4247
msgid "Done. Gerber editing finished."
msgstr "Done. Gerber editing finished."
-#: flatcamEditors/FlatCAMGrbEditor.py:4222
+#: flatcamEditors/FlatCAMGrbEditor.py:4265
msgid "Cancelled. No aperture is selected"
msgstr "Cancelled. No aperture is selected"
-#: flatcamEditors/FlatCAMGrbEditor.py:4782
+#: flatcamEditors/FlatCAMGrbEditor.py:4826
msgid "Failed. No aperture geometry is selected."
msgstr "Failed. No aperture geometry is selected."
-#: flatcamEditors/FlatCAMGrbEditor.py:4791
-#: flatcamEditors/FlatCAMGrbEditor.py:5062
+#: flatcamEditors/FlatCAMGrbEditor.py:4835
+#: flatcamEditors/FlatCAMGrbEditor.py:5106
msgid "Done. Apertures geometry deleted."
msgstr "Done. Apertures geometry deleted."
-#: flatcamEditors/FlatCAMGrbEditor.py:4934
+#: flatcamEditors/FlatCAMGrbEditor.py:4978
msgid "No aperture to buffer. Select at least one aperture and try again."
msgstr "No aperture to buffer. Select at least one aperture and try again."
-#: flatcamEditors/FlatCAMGrbEditor.py:4946
+#: flatcamEditors/FlatCAMGrbEditor.py:4990
msgid "Failed."
msgstr "Failed."
-#: flatcamEditors/FlatCAMGrbEditor.py:4965
+#: flatcamEditors/FlatCAMGrbEditor.py:5009
msgid "Scale factor value is missing or wrong format. Add it and retry."
msgstr "Scale factor value is missing or wrong format. Add it and retry."
-#: flatcamEditors/FlatCAMGrbEditor.py:4997
+#: flatcamEditors/FlatCAMGrbEditor.py:5041
msgid "No aperture to scale. Select at least one aperture and try again."
msgstr "No aperture to scale. Select at least one aperture and try again."
-#: flatcamEditors/FlatCAMGrbEditor.py:5013
+#: flatcamEditors/FlatCAMGrbEditor.py:5057
msgid "Done. Scale Tool completed."
msgstr "Done. Scale Tool completed."
-#: flatcamEditors/FlatCAMGrbEditor.py:5051
+#: flatcamEditors/FlatCAMGrbEditor.py:5095
msgid "Polygons marked."
msgstr "Polygons marked."
-#: flatcamEditors/FlatCAMGrbEditor.py:5054
+#: flatcamEditors/FlatCAMGrbEditor.py:5098
msgid "No polygons were marked. None fit within the limits."
msgstr "No polygons were marked. None fit within the limits."
-#: flatcamEditors/FlatCAMGrbEditor.py:5783
+#: flatcamEditors/FlatCAMGrbEditor.py:5822
msgid "Rotation action was not executed."
msgstr "Rotation action was not executed."
-#: flatcamEditors/FlatCAMGrbEditor.py:5919
+#: flatcamEditors/FlatCAMGrbEditor.py:5950
msgid "Skew action was not executed."
msgstr "Skew action was not executed."
-#: flatcamEditors/FlatCAMGrbEditor.py:5986
+#: flatcamEditors/FlatCAMGrbEditor.py:6015
msgid "Scale action was not executed."
msgstr "Scale action was not executed."
-#: flatcamEditors/FlatCAMGrbEditor.py:6029
+#: flatcamEditors/FlatCAMGrbEditor.py:6058
msgid "Offset action was not executed."
msgstr "Offset action was not executed."
-#: flatcamEditors/FlatCAMGrbEditor.py:6079
+#: flatcamEditors/FlatCAMGrbEditor.py:6108
msgid "Geometry shape offset Y cancelled"
msgstr "Geometry shape offset Y cancelled"
-#: flatcamEditors/FlatCAMGrbEditor.py:6094
+#: flatcamEditors/FlatCAMGrbEditor.py:6123
msgid "Geometry shape skew X cancelled"
msgstr "Geometry shape skew X cancelled"
-#: flatcamEditors/FlatCAMGrbEditor.py:6109
+#: flatcamEditors/FlatCAMGrbEditor.py:6138
msgid "Geometry shape skew Y cancelled"
msgstr "Geometry shape skew Y cancelled"
-#: flatcamEditors/FlatCAMTextEditor.py:72
+#: flatcamEditors/FlatCAMTextEditor.py:74
msgid "Print Preview"
msgstr "Print Preview"
-#: flatcamEditors/FlatCAMTextEditor.py:73
+#: flatcamEditors/FlatCAMTextEditor.py:75
msgid "Open a OS standard Preview Print window."
msgstr "Open a OS standard Preview Print window."
-#: flatcamEditors/FlatCAMTextEditor.py:76
+#: flatcamEditors/FlatCAMTextEditor.py:78
msgid "Print Code"
msgstr "Print Code"
-#: flatcamEditors/FlatCAMTextEditor.py:77
+#: flatcamEditors/FlatCAMTextEditor.py:79
msgid "Open a OS standard Print window."
msgstr "Open a OS standard Print window."
-#: flatcamEditors/FlatCAMTextEditor.py:79
+#: flatcamEditors/FlatCAMTextEditor.py:81
msgid "Find in Code"
msgstr "Find in Code"
-#: flatcamEditors/FlatCAMTextEditor.py:80
+#: flatcamEditors/FlatCAMTextEditor.py:82
msgid "Will search and highlight in yellow the string in the Find box."
msgstr "Will search and highlight in yellow the string in the Find box."
-#: flatcamEditors/FlatCAMTextEditor.py:84
+#: flatcamEditors/FlatCAMTextEditor.py:86
msgid "Find box. Enter here the strings to be searched in the text."
msgstr "Find box. Enter here the strings to be searched in the text."
-#: flatcamEditors/FlatCAMTextEditor.py:86
+#: flatcamEditors/FlatCAMTextEditor.py:88
msgid "Replace With"
msgstr "Replace With"
-#: flatcamEditors/FlatCAMTextEditor.py:87
+#: flatcamEditors/FlatCAMTextEditor.py:89
msgid ""
"Will replace the string from the Find box with the one in the Replace box."
msgstr ""
"Will replace the string from the Find box with the one in the Replace box."
-#: flatcamEditors/FlatCAMTextEditor.py:91
+#: flatcamEditors/FlatCAMTextEditor.py:93
msgid "String to replace the one in the Find box throughout the text."
msgstr "String to replace the one in the Find box throughout the text."
-#: flatcamEditors/FlatCAMTextEditor.py:93 flatcamGUI/ObjectUI.py:482
-#: flatcamGUI/ObjectUI.py:1809 flatcamGUI/PreferencesUI.py:2070
-#: flatcamGUI/PreferencesUI.py:4419 flatcamGUI/PreferencesUI.py:5647
+#: flatcamEditors/FlatCAMTextEditor.py:95 flatcamGUI/ObjectUI.py:485
+#: flatcamGUI/ObjectUI.py:2137 flatcamGUI/PreferencesUI.py:2250
+#: flatcamGUI/PreferencesUI.py:4712
msgid "All"
msgstr "All"
-#: flatcamEditors/FlatCAMTextEditor.py:94
+#: flatcamEditors/FlatCAMTextEditor.py:96
msgid ""
"When checked it will replace all instances in the 'Find' box\n"
"with the text in the 'Replace' box.."
@@ -5100,307 +5431,299 @@ msgstr ""
"When checked it will replace all instances in the 'Find' box\n"
"with the text in the 'Replace' box.."
-#: flatcamEditors/FlatCAMTextEditor.py:97
+#: flatcamEditors/FlatCAMTextEditor.py:99
msgid "Copy All"
msgstr "Copy All"
-#: flatcamEditors/FlatCAMTextEditor.py:98
+#: flatcamEditors/FlatCAMTextEditor.py:100
msgid "Will copy all the text in the Code Editor to the clipboard."
msgstr "Will copy all the text in the Code Editor to the clipboard."
-#: flatcamEditors/FlatCAMTextEditor.py:101
+#: flatcamEditors/FlatCAMTextEditor.py:103
msgid "Open Code"
msgstr "Open Code"
-#: flatcamEditors/FlatCAMTextEditor.py:102
+#: flatcamEditors/FlatCAMTextEditor.py:104
msgid "Will open a text file in the editor."
msgstr "Will open a text file in the editor."
-#: flatcamEditors/FlatCAMTextEditor.py:104
+#: flatcamEditors/FlatCAMTextEditor.py:106
msgid "Save Code"
msgstr "Save Code"
-#: flatcamEditors/FlatCAMTextEditor.py:105
+#: flatcamEditors/FlatCAMTextEditor.py:107
msgid "Will save the text in the editor into a file."
msgstr "Will save the text in the editor into a file."
-#: flatcamEditors/FlatCAMTextEditor.py:107
+#: flatcamEditors/FlatCAMTextEditor.py:109
msgid "Run Code"
msgstr "Run Code"
-#: flatcamEditors/FlatCAMTextEditor.py:108
+#: flatcamEditors/FlatCAMTextEditor.py:110
msgid "Will run the TCL commands found in the text file, one by one."
msgstr "Will run the TCL commands found in the text file, one by one."
-#: flatcamEditors/FlatCAMTextEditor.py:182
+#: flatcamEditors/FlatCAMTextEditor.py:184
msgid "Open file"
msgstr "Open file"
-#: flatcamEditors/FlatCAMTextEditor.py:213
-#: flatcamEditors/FlatCAMTextEditor.py:218
+#: flatcamEditors/FlatCAMTextEditor.py:215
+#: flatcamEditors/FlatCAMTextEditor.py:220
msgid "Export Code ..."
msgstr "Export Code ..."
-#: flatcamEditors/FlatCAMTextEditor.py:221
-msgid "Export Code cancelled."
-msgstr "Export Code cancelled."
-
-#: flatcamEditors/FlatCAMTextEditor.py:332
+#: flatcamEditors/FlatCAMTextEditor.py:334
msgid "Code Editor content copied to clipboard ..."
msgstr "Code Editor content copied to clipboard ..."
-#: flatcamGUI/FlatCAMGUI.py:52 flatcamGUI/FlatCAMGUI.py:54
-#: flatcamGUI/FlatCAMGUI.py:2040
+#: flatcamGUI/FlatCAMGUI.py:66 flatcamGUI/FlatCAMGUI.py:68
+#: flatcamGUI/FlatCAMGUI.py:2148
msgid "Toggle Panel"
msgstr "Toggle Panel"
-#: flatcamGUI/FlatCAMGUI.py:64
+#: flatcamGUI/FlatCAMGUI.py:78
msgid "File"
msgstr "File"
-#: flatcamGUI/FlatCAMGUI.py:69
-msgid "&New Project ...\tCTRL+N"
-msgstr "&New Project ...\tCTRL+N"
+#: flatcamGUI/FlatCAMGUI.py:83
+msgid "&New Project ...\tCtrl+N"
+msgstr "&New Project ...\tCtrl+N"
-#: flatcamGUI/FlatCAMGUI.py:71
+#: flatcamGUI/FlatCAMGUI.py:85
msgid "Will create a new, blank project"
msgstr "Will create a new, blank project"
-#: flatcamGUI/FlatCAMGUI.py:76
+#: flatcamGUI/FlatCAMGUI.py:90
msgid "&New"
msgstr "&New"
-#: flatcamGUI/FlatCAMGUI.py:80
+#: flatcamGUI/FlatCAMGUI.py:94
msgid "Geometry\tN"
msgstr "Geometry\tN"
-#: flatcamGUI/FlatCAMGUI.py:82
+#: flatcamGUI/FlatCAMGUI.py:96
msgid "Will create a new, empty Geometry Object."
msgstr "Will create a new, empty Geometry Object."
-#: flatcamGUI/FlatCAMGUI.py:84
+#: flatcamGUI/FlatCAMGUI.py:99
msgid "Gerber\tB"
msgstr "Gerber\tB"
-#: flatcamGUI/FlatCAMGUI.py:86
+#: flatcamGUI/FlatCAMGUI.py:101
msgid "Will create a new, empty Gerber Object."
msgstr "Will create a new, empty Gerber Object."
-#: flatcamGUI/FlatCAMGUI.py:88
+#: flatcamGUI/FlatCAMGUI.py:104
msgid "Excellon\tL"
msgstr "Excellon\tL"
-#: flatcamGUI/FlatCAMGUI.py:90
+#: flatcamGUI/FlatCAMGUI.py:106
msgid "Will create a new, empty Excellon Object."
msgstr "Will create a new, empty Excellon Object."
-#: flatcamGUI/FlatCAMGUI.py:94
+#: flatcamGUI/FlatCAMGUI.py:111
msgid "Document\tD"
msgstr "Document\tD"
-#: flatcamGUI/FlatCAMGUI.py:96
+#: flatcamGUI/FlatCAMGUI.py:113
msgid "Will create a new, empty Document Object."
msgstr "Will create a new, empty Document Object."
-#: flatcamGUI/FlatCAMGUI.py:99 flatcamGUI/FlatCAMGUI.py:4111
+#: flatcamGUI/FlatCAMGUI.py:117 flatcamGUI/FlatCAMGUI.py:4327
#: flatcamTools/ToolPcbWizard.py:62 flatcamTools/ToolPcbWizard.py:69
msgid "Open"
msgstr "Open"
-#: flatcamGUI/FlatCAMGUI.py:103
+#: flatcamGUI/FlatCAMGUI.py:122
msgid "Open &Project ..."
msgstr "Open &Project ..."
-#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121
-msgid "Open &Gerber ...\tCTRL+G"
-msgstr "Open &Gerber ...\tCTRL+G"
+#: flatcamGUI/FlatCAMGUI.py:128 flatcamGUI/FlatCAMGUI.py:4337
+msgid "Open &Gerber ...\tCtrl+G"
+msgstr "Open &Gerber ...\tCtrl+G"
-#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126
-msgid "Open &Excellon ...\tCTRL+E"
-msgstr "Open &Excellon ...\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:133 flatcamGUI/FlatCAMGUI.py:4342
+msgid "Open &Excellon ...\tCtrl+E"
+msgstr "Open &Excellon ...\tCtrl+E"
-#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131
+#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:4347
msgid "Open G-&Code ..."
msgstr "Open G-&Code ..."
-#: flatcamGUI/FlatCAMGUI.py:124
+#: flatcamGUI/FlatCAMGUI.py:145
msgid "Open Config ..."
msgstr "Open Config ..."
-#: flatcamGUI/FlatCAMGUI.py:128
+#: flatcamGUI/FlatCAMGUI.py:150
msgid "Recent projects"
msgstr "Recent projects"
-#: flatcamGUI/FlatCAMGUI.py:129
+#: flatcamGUI/FlatCAMGUI.py:152
msgid "Recent files"
msgstr "Recent files"
-#: flatcamGUI/FlatCAMGUI.py:135
-msgid "Scripting"
-msgstr "Scripting"
-
-#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:829
-#: flatcamGUI/FlatCAMGUI.py:2409
-msgid "New Script ..."
-msgstr "New Script ..."
-
-#: flatcamGUI/FlatCAMGUI.py:139 flatcamGUI/FlatCAMGUI.py:831
-#: flatcamGUI/FlatCAMGUI.py:2411
-msgid "Open Script ..."
-msgstr "Open Script ..."
-
-#: flatcamGUI/FlatCAMGUI.py:141 flatcamGUI/FlatCAMGUI.py:833
-#: flatcamGUI/FlatCAMGUI.py:2413 flatcamGUI/FlatCAMGUI.py:4100
-msgid "Run Script ..."
-msgstr "Run Script ..."
-
-#: flatcamGUI/FlatCAMGUI.py:143 flatcamGUI/FlatCAMGUI.py:4102
-msgid ""
-"Will run the opened Tcl Script thus\n"
-"enabling the automation of certain\n"
-"functions of FlatCAM."
-msgstr ""
-"Will run the opened Tcl Script thus\n"
-"enabling the automation of certain\n"
-"functions of FlatCAM."
-
-#: flatcamGUI/FlatCAMGUI.py:156
-msgid "Import"
-msgstr "Import"
-
-#: flatcamGUI/FlatCAMGUI.py:158
-msgid "&SVG as Geometry Object ..."
-msgstr "&SVG as Geometry Object ..."
-
-#: flatcamGUI/FlatCAMGUI.py:161
-msgid "&SVG as Gerber Object ..."
-msgstr "&SVG as Gerber Object ..."
-
-#: flatcamGUI/FlatCAMGUI.py:166
-msgid "&DXF as Geometry Object ..."
-msgstr "&DXF as Geometry Object ..."
-
-#: flatcamGUI/FlatCAMGUI.py:169
-msgid "&DXF as Gerber Object ..."
-msgstr "&DXF as Gerber Object ..."
-
-#: flatcamGUI/FlatCAMGUI.py:173
-msgid "HPGL2 as Geometry Object ..."
-msgstr "HPGL2 as Geometry Object ..."
-
-#: flatcamGUI/FlatCAMGUI.py:178
-msgid "Export"
-msgstr "Export"
-
-#: flatcamGUI/FlatCAMGUI.py:181
-msgid "Export &SVG ..."
-msgstr "Export &SVG ..."
-
-#: flatcamGUI/FlatCAMGUI.py:184
-msgid "Export DXF ..."
-msgstr "Export DXF ..."
-
-#: flatcamGUI/FlatCAMGUI.py:189
-msgid "Export &PNG ..."
-msgstr "Export &PNG ..."
-
-#: flatcamGUI/FlatCAMGUI.py:191
-msgid ""
-"Will export an image in PNG format,\n"
-"the saved image will contain the visual \n"
-"information currently in FlatCAM Plot Area."
-msgstr ""
-"Will export an image in PNG format,\n"
-"the saved image will contain the visual \n"
-"information currently in FlatCAM Plot Area."
-
-#: flatcamGUI/FlatCAMGUI.py:200
-msgid "Export &Excellon ..."
-msgstr "Export &Excellon ..."
-
-#: flatcamGUI/FlatCAMGUI.py:202
-msgid ""
-"Will export an Excellon Object as Excellon file,\n"
-"the coordinates format, the file units and zeros\n"
-"are set in Preferences -> Excellon Export."
-msgstr ""
-"Will export an Excellon Object as Excellon file,\n"
-"the coordinates format, the file units and zeros\n"
-"are set in Preferences -> Excellon Export."
-
-#: flatcamGUI/FlatCAMGUI.py:209
-msgid "Export &Gerber ..."
-msgstr "Export &Gerber ..."
-
-#: flatcamGUI/FlatCAMGUI.py:211
-msgid ""
-"Will export an Gerber Object as Gerber file,\n"
-"the coordinates format, the file units and zeros\n"
-"are set in Preferences -> Gerber Export."
-msgstr ""
-"Will export an Gerber Object as Gerber file,\n"
-"the coordinates format, the file units and zeros\n"
-"are set in Preferences -> Gerber Export."
-
-#: flatcamGUI/FlatCAMGUI.py:229
-msgid "Backup"
-msgstr "Backup"
-
-#: flatcamGUI/FlatCAMGUI.py:233
-msgid "Import Preferences from file ..."
-msgstr "Import Preferences from file ..."
-
-#: flatcamGUI/FlatCAMGUI.py:238
-msgid "Export Preferences to file ..."
-msgstr "Export Preferences to file ..."
-
-#: flatcamGUI/FlatCAMGUI.py:244 flatcamGUI/FlatCAMGUI.py:1614
-msgid "Print (PDF)"
-msgstr "Print (PDF)"
-
-#: flatcamGUI/FlatCAMGUI.py:247 flatcamGUI/FlatCAMGUI.py:682
-#: flatcamGUI/FlatCAMGUI.py:1252
+#: flatcamGUI/FlatCAMGUI.py:155 flatcamGUI/FlatCAMGUI.py:738
+#: flatcamGUI/FlatCAMGUI.py:1324
msgid "Save"
msgstr "Save"
+#: flatcamGUI/FlatCAMGUI.py:159
+msgid "&Save Project ...\tCtrl+S"
+msgstr "&Save Project ...\tCtrl+S"
+
+#: flatcamGUI/FlatCAMGUI.py:164
+msgid "Save Project &As ...\tCtrl+Shift+S"
+msgstr "Save Project &As ...\tCtrl+Shift+S"
+
+#: flatcamGUI/FlatCAMGUI.py:179
+msgid "Scripting"
+msgstr "Scripting"
+
+#: flatcamGUI/FlatCAMGUI.py:183 flatcamGUI/FlatCAMGUI.py:888
+#: flatcamGUI/FlatCAMGUI.py:2567
+msgid "New Script ..."
+msgstr "New Script ..."
+
+#: flatcamGUI/FlatCAMGUI.py:185 flatcamGUI/FlatCAMGUI.py:890
+#: flatcamGUI/FlatCAMGUI.py:2569
+msgid "Open Script ..."
+msgstr "Open Script ..."
+
+#: flatcamGUI/FlatCAMGUI.py:187 flatcamGUI/FlatCAMGUI.py:892
+#: flatcamGUI/FlatCAMGUI.py:2571 flatcamGUI/FlatCAMGUI.py:4316
+msgid "Run Script ..."
+msgstr "Run Script ..."
+
+#: flatcamGUI/FlatCAMGUI.py:189 flatcamGUI/FlatCAMGUI.py:4318
+msgid ""
+"Will run the opened Tcl Script thus\n"
+"enabling the automation of certain\n"
+"functions of FlatCAM."
+msgstr ""
+"Will run the opened Tcl Script thus\n"
+"enabling the automation of certain\n"
+"functions of FlatCAM."
+
+#: flatcamGUI/FlatCAMGUI.py:203
+msgid "Import"
+msgstr "Import"
+
+#: flatcamGUI/FlatCAMGUI.py:205
+msgid "&SVG as Geometry Object ..."
+msgstr "&SVG as Geometry Object ..."
+
+#: flatcamGUI/FlatCAMGUI.py:208
+msgid "&SVG as Gerber Object ..."
+msgstr "&SVG as Gerber Object ..."
+
+#: flatcamGUI/FlatCAMGUI.py:213
+msgid "&DXF as Geometry Object ..."
+msgstr "&DXF as Geometry Object ..."
+
+#: flatcamGUI/FlatCAMGUI.py:216
+msgid "&DXF as Gerber Object ..."
+msgstr "&DXF as Gerber Object ..."
+
+#: flatcamGUI/FlatCAMGUI.py:220
+msgid "HPGL2 as Geometry Object ..."
+msgstr "HPGL2 as Geometry Object ..."
+
+#: flatcamGUI/FlatCAMGUI.py:226
+msgid "Export"
+msgstr "Export"
+
+#: flatcamGUI/FlatCAMGUI.py:230
+msgid "Export &SVG ..."
+msgstr "Export &SVG ..."
+
+#: flatcamGUI/FlatCAMGUI.py:234
+msgid "Export DXF ..."
+msgstr "Export DXF ..."
+
+#: flatcamGUI/FlatCAMGUI.py:240
+msgid "Export &PNG ..."
+msgstr "Export &PNG ..."
+
+#: flatcamGUI/FlatCAMGUI.py:242
+msgid ""
+"Will export an image in PNG format,\n"
+"the saved image will contain the visual \n"
+"information currently in FlatCAM Plot Area."
+msgstr ""
+"Will export an image in PNG format,\n"
+"the saved image will contain the visual \n"
+"information currently in FlatCAM Plot Area."
+
#: flatcamGUI/FlatCAMGUI.py:251
-msgid "&Save Project ..."
-msgstr "&Save Project ..."
+msgid "Export &Excellon ..."
+msgstr "Export &Excellon ..."
-#: flatcamGUI/FlatCAMGUI.py:256
-msgid "Save Project &As ...\tCTRL+S"
-msgstr "Save Project &As ...\tCTRL+S"
+#: flatcamGUI/FlatCAMGUI.py:253
+msgid ""
+"Will export an Excellon Object as Excellon file,\n"
+"the coordinates format, the file units and zeros\n"
+"are set in Preferences -> Excellon Export."
+msgstr ""
+"Will export an Excellon Object as Excellon file,\n"
+"the coordinates format, the file units and zeros\n"
+"are set in Preferences -> Excellon Export."
-#: flatcamGUI/FlatCAMGUI.py:261
-msgid "Save Project C&opy ..."
-msgstr "Save Project C&opy ..."
+#: flatcamGUI/FlatCAMGUI.py:260
+msgid "Export &Gerber ..."
+msgstr "Export &Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:271
+#: flatcamGUI/FlatCAMGUI.py:262
+msgid ""
+"Will export an Gerber Object as Gerber file,\n"
+"the coordinates format, the file units and zeros\n"
+"are set in Preferences -> Gerber Export."
+msgstr ""
+"Will export an Gerber Object as Gerber file,\n"
+"the coordinates format, the file units and zeros\n"
+"are set in Preferences -> Gerber Export."
+
+#: flatcamGUI/FlatCAMGUI.py:272
+msgid "Backup"
+msgstr "Backup"
+
+#: flatcamGUI/FlatCAMGUI.py:277
+msgid "Import Preferences from file ..."
+msgstr "Import Preferences from file ..."
+
+#: flatcamGUI/FlatCAMGUI.py:283
+msgid "Export Preferences to file ..."
+msgstr "Export Preferences to file ..."
+
+#: flatcamGUI/FlatCAMGUI.py:297 flatcamGUI/FlatCAMGUI.py:1715
+msgid "Print (PDF)"
+msgstr "Print (PDF)"
+
+#: flatcamGUI/FlatCAMGUI.py:305
msgid "E&xit"
msgstr "E&xit"
-#: flatcamGUI/FlatCAMGUI.py:279 flatcamGUI/FlatCAMGUI.py:676
-#: flatcamGUI/FlatCAMGUI.py:2163
+#: flatcamGUI/FlatCAMGUI.py:313 flatcamGUI/FlatCAMGUI.py:732
+#: flatcamGUI/FlatCAMGUI.py:2271
msgid "Edit"
msgstr "Edit"
-#: flatcamGUI/FlatCAMGUI.py:283
+#: flatcamGUI/FlatCAMGUI.py:317
msgid "Edit Object\tE"
msgstr "Edit Object\tE"
-#: flatcamGUI/FlatCAMGUI.py:285
-msgid "Close Editor\tCTRL+S"
-msgstr "Close Editor\tCTRL+S"
+#: flatcamGUI/FlatCAMGUI.py:319
+msgid "Close Editor\tCtrl+S"
+msgstr "Close Editor\tCtrl+S"
-#: flatcamGUI/FlatCAMGUI.py:294
+#: flatcamGUI/FlatCAMGUI.py:328
msgid "Conversion"
msgstr "Conversion"
-#: flatcamGUI/FlatCAMGUI.py:296
+#: flatcamGUI/FlatCAMGUI.py:330
msgid "&Join Geo/Gerber/Exc -> Geo"
msgstr "&Join Geo/Gerber/Exc -> Geo"
-#: flatcamGUI/FlatCAMGUI.py:298
+#: flatcamGUI/FlatCAMGUI.py:332
msgid ""
"Merge a selection of objects, which can be of type:\n"
"- Gerber\n"
@@ -5414,28 +5737,28 @@ msgstr ""
"- Geometry\n"
"into a new combo Geometry object."
-#: flatcamGUI/FlatCAMGUI.py:305
+#: flatcamGUI/FlatCAMGUI.py:339
msgid "Join Excellon(s) -> Excellon"
msgstr "Join Excellon(s) -> Excellon"
-#: flatcamGUI/FlatCAMGUI.py:307
+#: flatcamGUI/FlatCAMGUI.py:341
msgid "Merge a selection of Excellon objects into a new combo Excellon object."
msgstr ""
"Merge a selection of Excellon objects into a new combo Excellon object."
-#: flatcamGUI/FlatCAMGUI.py:310
+#: flatcamGUI/FlatCAMGUI.py:344
msgid "Join Gerber(s) -> Gerber"
msgstr "Join Gerber(s) -> Gerber"
-#: flatcamGUI/FlatCAMGUI.py:312
+#: flatcamGUI/FlatCAMGUI.py:346
msgid "Merge a selection of Gerber objects into a new combo Gerber object."
msgstr "Merge a selection of Gerber objects into a new combo Gerber object."
-#: flatcamGUI/FlatCAMGUI.py:317
+#: flatcamGUI/FlatCAMGUI.py:351
msgid "Convert Single to MultiGeo"
msgstr "Convert Single to MultiGeo"
-#: flatcamGUI/FlatCAMGUI.py:319
+#: flatcamGUI/FlatCAMGUI.py:353
msgid ""
"Will convert a Geometry object from single_geometry type\n"
"to a multi_geometry type."
@@ -5443,11 +5766,11 @@ msgstr ""
"Will convert a Geometry object from single_geometry type\n"
"to a multi_geometry type."
-#: flatcamGUI/FlatCAMGUI.py:323
+#: flatcamGUI/FlatCAMGUI.py:357
msgid "Convert Multi to SingleGeo"
msgstr "Convert Multi to SingleGeo"
-#: flatcamGUI/FlatCAMGUI.py:325
+#: flatcamGUI/FlatCAMGUI.py:359
msgid ""
"Will convert a Geometry object from multi_geometry type\n"
"to a single_geometry type."
@@ -5455,734 +5778,744 @@ msgstr ""
"Will convert a Geometry object from multi_geometry type\n"
"to a single_geometry type."
-#: flatcamGUI/FlatCAMGUI.py:332
+#: flatcamGUI/FlatCAMGUI.py:366
msgid "Convert Any to Geo"
msgstr "Convert Any to Geo"
-#: flatcamGUI/FlatCAMGUI.py:335
+#: flatcamGUI/FlatCAMGUI.py:369
msgid "Convert Any to Gerber"
msgstr "Convert Any to Gerber"
-#: flatcamGUI/FlatCAMGUI.py:341
-msgid "&Copy\tCTRL+C"
-msgstr "&Copy\tCTRL+C"
+#: flatcamGUI/FlatCAMGUI.py:375
+msgid "&Copy\tCtrl+C"
+msgstr "&Copy\tCtrl+C"
-#: flatcamGUI/FlatCAMGUI.py:346
+#: flatcamGUI/FlatCAMGUI.py:380
msgid "&Delete\tDEL"
msgstr "&Delete\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:351
+#: flatcamGUI/FlatCAMGUI.py:385
msgid "Se&t Origin\tO"
msgstr "Se&t Origin\tO"
-#: flatcamGUI/FlatCAMGUI.py:353
+#: flatcamGUI/FlatCAMGUI.py:387
+msgid "Move to Origin\tShift+O"
+msgstr "Move to Origin\tShift+O"
+
+#: flatcamGUI/FlatCAMGUI.py:390
msgid "Jump to Location\tJ"
msgstr "Jump to Location\tJ"
-#: flatcamGUI/FlatCAMGUI.py:358
+#: flatcamGUI/FlatCAMGUI.py:392
+msgid "Locate in Object\tShift+J"
+msgstr "Locate in Object\tShift+J"
+
+#: flatcamGUI/FlatCAMGUI.py:397
msgid "Toggle Units\tQ"
msgstr "Toggle Units\tQ"
-#: flatcamGUI/FlatCAMGUI.py:360
-msgid "&Select All\tCTRL+A"
-msgstr "&Select All\tCTRL+A"
+#: flatcamGUI/FlatCAMGUI.py:399
+msgid "&Select All\tCtrl+A"
+msgstr "&Select All\tCtrl+A"
-#: flatcamGUI/FlatCAMGUI.py:365
-msgid "&Preferences\tSHIFT+P"
-msgstr "&Preferences\tSHIFT+P"
+#: flatcamGUI/FlatCAMGUI.py:404
+msgid "&Preferences\tShift+P"
+msgstr "&Preferences\tShift+P"
-#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153
+#: flatcamGUI/FlatCAMGUI.py:410 flatcamTools/ToolProperties.py:155
msgid "Options"
msgstr "Options"
-#: flatcamGUI/FlatCAMGUI.py:373
-msgid "&Rotate Selection\tSHIFT+(R)"
-msgstr "&Rotate Selection\tSHIFT+(R)"
+#: flatcamGUI/FlatCAMGUI.py:412
+msgid "&Rotate Selection\tShift+(R)"
+msgstr "&Rotate Selection\tShift+(R)"
-#: flatcamGUI/FlatCAMGUI.py:378
-msgid "&Skew on X axis\tSHIFT+X"
-msgstr "&Skew on X axis\tSHIFT+X"
+#: flatcamGUI/FlatCAMGUI.py:417
+msgid "&Skew on X axis\tShift+X"
+msgstr "&Skew on X axis\tShift+X"
-#: flatcamGUI/FlatCAMGUI.py:380
-msgid "S&kew on Y axis\tSHIFT+Y"
-msgstr "S&kew on Y axis\tSHIFT+Y"
+#: flatcamGUI/FlatCAMGUI.py:419
+msgid "S&kew on Y axis\tShift+Y"
+msgstr "S&kew on Y axis\tShift+Y"
-#: flatcamGUI/FlatCAMGUI.py:385
+#: flatcamGUI/FlatCAMGUI.py:424
msgid "Flip on &X axis\tX"
msgstr "Flip on &X axis\tX"
-#: flatcamGUI/FlatCAMGUI.py:387
+#: flatcamGUI/FlatCAMGUI.py:426
msgid "Flip on &Y axis\tY"
msgstr "Flip on &Y axis\tY"
-#: flatcamGUI/FlatCAMGUI.py:392
-msgid "View source\tALT+S"
-msgstr "View source\tALT+S"
+#: flatcamGUI/FlatCAMGUI.py:431
+msgid "View source\tAlt+S"
+msgstr "View source\tAlt+S"
-#: flatcamGUI/FlatCAMGUI.py:394
-msgid "Tools DataBase\tCTRL+D"
-msgstr "Tools DataBase\tCTRL+D"
+#: flatcamGUI/FlatCAMGUI.py:433
+msgid "Tools DataBase\tCtrl+D"
+msgstr "Tools DataBase\tCtrl+D"
-#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060
+#: flatcamGUI/FlatCAMGUI.py:440 flatcamGUI/FlatCAMGUI.py:2168
msgid "View"
msgstr "View"
-#: flatcamGUI/FlatCAMGUI.py:403
-msgid "Enable all plots\tALT+1"
-msgstr "Enable all plots\tALT+1"
+#: flatcamGUI/FlatCAMGUI.py:442
+msgid "Enable all plots\tAlt+1"
+msgstr "Enable all plots\tAlt+1"
-#: flatcamGUI/FlatCAMGUI.py:405
-msgid "Disable all plots\tALT+2"
-msgstr "Disable all plots\tALT+2"
+#: flatcamGUI/FlatCAMGUI.py:444
+msgid "Disable all plots\tAlt+2"
+msgstr "Disable all plots\tAlt+2"
-#: flatcamGUI/FlatCAMGUI.py:407
-msgid "Disable non-selected\tALT+3"
-msgstr "Disable non-selected\tALT+3"
+#: flatcamGUI/FlatCAMGUI.py:446
+msgid "Disable non-selected\tAlt+3"
+msgstr "Disable non-selected\tAlt+3"
-#: flatcamGUI/FlatCAMGUI.py:411
+#: flatcamGUI/FlatCAMGUI.py:450
msgid "&Zoom Fit\tV"
msgstr "&Zoom Fit\tV"
-#: flatcamGUI/FlatCAMGUI.py:413
+#: flatcamGUI/FlatCAMGUI.py:452
msgid "&Zoom In\t="
msgstr "&Zoom In\t="
-#: flatcamGUI/FlatCAMGUI.py:415
+#: flatcamGUI/FlatCAMGUI.py:454
msgid "&Zoom Out\t-"
msgstr "&Zoom Out\t-"
-#: flatcamGUI/FlatCAMGUI.py:420
+#: flatcamGUI/FlatCAMGUI.py:459
msgid "Redraw All\tF5"
msgstr "Redraw All\tF5"
-#: flatcamGUI/FlatCAMGUI.py:424
-msgid "Toggle Code Editor\tSHIFT+E"
-msgstr "Toggle Code Editor\tSHIFT+E"
+#: flatcamGUI/FlatCAMGUI.py:463
+msgid "Toggle Code Editor\tShift+E"
+msgstr "Toggle Code Editor\tShift+E"
-#: flatcamGUI/FlatCAMGUI.py:427
-msgid "&Toggle FullScreen\tALT+F10"
-msgstr "&Toggle FullScreen\tALT+F10"
+#: flatcamGUI/FlatCAMGUI.py:466
+msgid "&Toggle FullScreen\tAlt+F10"
+msgstr "&Toggle FullScreen\tAlt+F10"
-#: flatcamGUI/FlatCAMGUI.py:429
-msgid "&Toggle Plot Area\tCTRL+F10"
-msgstr "&Toggle Plot Area\tCTRL+F10"
+#: flatcamGUI/FlatCAMGUI.py:468
+msgid "&Toggle Plot Area\tCtrl+F10"
+msgstr "&Toggle Plot Area\tCtrl+F10"
-#: flatcamGUI/FlatCAMGUI.py:431
+#: flatcamGUI/FlatCAMGUI.py:470
msgid "&Toggle Project/Sel/Tool\t`"
msgstr "&Toggle Project/Sel/Tool\t`"
-#: flatcamGUI/FlatCAMGUI.py:435
+#: flatcamGUI/FlatCAMGUI.py:474
msgid "&Toggle Grid Snap\tG"
msgstr "&Toggle Grid Snap\tG"
-#: flatcamGUI/FlatCAMGUI.py:437
-msgid "&Toggle Grid Lines\tALT+G"
-msgstr "&Toggle Grid Lines\tALT+G"
+#: flatcamGUI/FlatCAMGUI.py:476
+msgid "&Toggle Grid Lines\tAlt+G"
+msgstr "&Toggle Grid Lines\tAlt+G"
-#: flatcamGUI/FlatCAMGUI.py:439
-msgid "&Toggle Axis\tSHIFT+G"
-msgstr "&Toggle Axis\tSHIFT+G"
+#: flatcamGUI/FlatCAMGUI.py:478
+msgid "&Toggle Axis\tShift+G"
+msgstr "&Toggle Axis\tShift+G"
-#: flatcamGUI/FlatCAMGUI.py:441
-msgid "Toggle Workspace\tSHIFT+W"
-msgstr "Toggle Workspace\tSHIFT+W"
+#: flatcamGUI/FlatCAMGUI.py:480
+msgid "Toggle Workspace\tShift+W"
+msgstr "Toggle Workspace\tShift+W"
-#: flatcamGUI/FlatCAMGUI.py:446
+#: flatcamGUI/FlatCAMGUI.py:485
msgid "Objects"
msgstr "Objects"
-#: flatcamGUI/FlatCAMGUI.py:460
+#: flatcamGUI/FlatCAMGUI.py:499
msgid "&Command Line\tS"
msgstr "&Command Line\tS"
-#: flatcamGUI/FlatCAMGUI.py:465
+#: flatcamGUI/FlatCAMGUI.py:504
msgid "Help"
msgstr "Help"
-#: flatcamGUI/FlatCAMGUI.py:467
+#: flatcamGUI/FlatCAMGUI.py:506
msgid "Online Help\tF1"
msgstr "Online Help\tF1"
-#: flatcamGUI/FlatCAMGUI.py:477
+#: flatcamGUI/FlatCAMGUI.py:516
msgid "Report a bug"
msgstr "Report a bug"
-#: flatcamGUI/FlatCAMGUI.py:480
+#: flatcamGUI/FlatCAMGUI.py:519
msgid "Excellon Specification"
msgstr "Excellon Specification"
-#: flatcamGUI/FlatCAMGUI.py:482
+#: flatcamGUI/FlatCAMGUI.py:521
msgid "Gerber Specification"
msgstr "Gerber Specification"
-#: flatcamGUI/FlatCAMGUI.py:487
+#: flatcamGUI/FlatCAMGUI.py:526
msgid "Shortcuts List\tF3"
msgstr "Shortcuts List\tF3"
-#: flatcamGUI/FlatCAMGUI.py:489
+#: flatcamGUI/FlatCAMGUI.py:528
msgid "YouTube Channel\tF4"
msgstr "YouTube Channel\tF4"
-#: flatcamGUI/FlatCAMGUI.py:500
+#: flatcamGUI/FlatCAMGUI.py:539
msgid "Add Circle\tO"
msgstr "Add Circle\tO"
-#: flatcamGUI/FlatCAMGUI.py:503
+#: flatcamGUI/FlatCAMGUI.py:542
msgid "Add Arc\tA"
msgstr "Add Arc\tA"
-#: flatcamGUI/FlatCAMGUI.py:506
+#: flatcamGUI/FlatCAMGUI.py:545
msgid "Add Rectangle\tR"
msgstr "Add Rectangle\tR"
-#: flatcamGUI/FlatCAMGUI.py:509
+#: flatcamGUI/FlatCAMGUI.py:548
msgid "Add Polygon\tN"
msgstr "Add Polygon\tN"
-#: flatcamGUI/FlatCAMGUI.py:512
+#: flatcamGUI/FlatCAMGUI.py:551
msgid "Add Path\tP"
msgstr "Add Path\tP"
-#: flatcamGUI/FlatCAMGUI.py:515
+#: flatcamGUI/FlatCAMGUI.py:554
msgid "Add Text\tT"
msgstr "Add Text\tT"
-#: flatcamGUI/FlatCAMGUI.py:518
+#: flatcamGUI/FlatCAMGUI.py:557
msgid "Polygon Union\tU"
msgstr "Polygon Union\tU"
-#: flatcamGUI/FlatCAMGUI.py:520
+#: flatcamGUI/FlatCAMGUI.py:559
msgid "Polygon Intersection\tE"
msgstr "Polygon Intersection\tE"
-#: flatcamGUI/FlatCAMGUI.py:522
+#: flatcamGUI/FlatCAMGUI.py:561
msgid "Polygon Subtraction\tS"
msgstr "Polygon Subtraction\tS"
-#: flatcamGUI/FlatCAMGUI.py:526
+#: flatcamGUI/FlatCAMGUI.py:565
msgid "Cut Path\tX"
msgstr "Cut Path\tX"
-#: flatcamGUI/FlatCAMGUI.py:529
+#: flatcamGUI/FlatCAMGUI.py:569
msgid "Copy Geom\tC"
msgstr "Copy Geom\tC"
-#: flatcamGUI/FlatCAMGUI.py:531
+#: flatcamGUI/FlatCAMGUI.py:571
msgid "Delete Shape\tDEL"
msgstr "Delete Shape\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:535 flatcamGUI/FlatCAMGUI.py:622
+#: flatcamGUI/FlatCAMGUI.py:575 flatcamGUI/FlatCAMGUI.py:662
msgid "Move\tM"
msgstr "Move\tM"
-#: flatcamGUI/FlatCAMGUI.py:537
+#: flatcamGUI/FlatCAMGUI.py:577
msgid "Buffer Tool\tB"
msgstr "Buffer Tool\tB"
-#: flatcamGUI/FlatCAMGUI.py:540
+#: flatcamGUI/FlatCAMGUI.py:580
msgid "Paint Tool\tI"
msgstr "Paint Tool\tI"
-#: flatcamGUI/FlatCAMGUI.py:543
-msgid "Transform Tool\tALT+R"
-msgstr "Transform Tool\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:583
+msgid "Transform Tool\tAlt+R"
+msgstr "Transform Tool\tAlt+R"
-#: flatcamGUI/FlatCAMGUI.py:547
+#: flatcamGUI/FlatCAMGUI.py:587
msgid "Toggle Corner Snap\tK"
msgstr "Toggle Corner Snap\tK"
-#: flatcamGUI/FlatCAMGUI.py:553
+#: flatcamGUI/FlatCAMGUI.py:593
msgid ">Excellon Editor<"
msgstr ">Excellon Editor<"
-#: flatcamGUI/FlatCAMGUI.py:557
+#: flatcamGUI/FlatCAMGUI.py:597
msgid "Add Drill Array\tA"
msgstr "Add Drill Array\tA"
-#: flatcamGUI/FlatCAMGUI.py:559
+#: flatcamGUI/FlatCAMGUI.py:599
msgid "Add Drill\tD"
msgstr "Add Drill\tD"
-#: flatcamGUI/FlatCAMGUI.py:563
+#: flatcamGUI/FlatCAMGUI.py:603
msgid "Add Slot Array\tQ"
msgstr "Add Slot Array\tQ"
-#: flatcamGUI/FlatCAMGUI.py:565
+#: flatcamGUI/FlatCAMGUI.py:605
msgid "Add Slot\tW"
msgstr "Add Slot\tW"
-#: flatcamGUI/FlatCAMGUI.py:569
+#: flatcamGUI/FlatCAMGUI.py:609
msgid "Resize Drill(S)\tR"
msgstr "Resize Drill(S)\tR"
-#: flatcamGUI/FlatCAMGUI.py:572 flatcamGUI/FlatCAMGUI.py:616
+#: flatcamGUI/FlatCAMGUI.py:612 flatcamGUI/FlatCAMGUI.py:656
msgid "Copy\tC"
msgstr "Copy\tC"
-#: flatcamGUI/FlatCAMGUI.py:574 flatcamGUI/FlatCAMGUI.py:618
+#: flatcamGUI/FlatCAMGUI.py:614 flatcamGUI/FlatCAMGUI.py:658
msgid "Delete\tDEL"
msgstr "Delete\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:579
+#: flatcamGUI/FlatCAMGUI.py:619
msgid "Move Drill(s)\tM"
msgstr "Move Drill(s)\tM"
-#: flatcamGUI/FlatCAMGUI.py:584
+#: flatcamGUI/FlatCAMGUI.py:624
msgid ">Gerber Editor<"
msgstr ">Gerber Editor<"
-#: flatcamGUI/FlatCAMGUI.py:588
+#: flatcamGUI/FlatCAMGUI.py:628
msgid "Add Pad\tP"
msgstr "Add Pad\tP"
-#: flatcamGUI/FlatCAMGUI.py:590
+#: flatcamGUI/FlatCAMGUI.py:630
msgid "Add Pad Array\tA"
msgstr "Add Pad Array\tA"
-#: flatcamGUI/FlatCAMGUI.py:592
+#: flatcamGUI/FlatCAMGUI.py:632
msgid "Add Track\tT"
msgstr "Add Track\tT"
-#: flatcamGUI/FlatCAMGUI.py:594
+#: flatcamGUI/FlatCAMGUI.py:634
msgid "Add Region\tN"
msgstr "Add Region\tN"
-#: flatcamGUI/FlatCAMGUI.py:598
-msgid "Poligonize\tALT+N"
-msgstr "Poligonize\tALT+N"
+#: flatcamGUI/FlatCAMGUI.py:638
+msgid "Poligonize\tAlt+N"
+msgstr "Poligonize\tAlt+N"
-#: flatcamGUI/FlatCAMGUI.py:600
+#: flatcamGUI/FlatCAMGUI.py:640
msgid "Add SemiDisc\tE"
msgstr "Add SemiDisc\tE"
-#: flatcamGUI/FlatCAMGUI.py:602
+#: flatcamGUI/FlatCAMGUI.py:642
msgid "Add Disc\tD"
msgstr "Add Disc\tD"
-#: flatcamGUI/FlatCAMGUI.py:604
+#: flatcamGUI/FlatCAMGUI.py:644
msgid "Buffer\tB"
msgstr "Buffer\tB"
-#: flatcamGUI/FlatCAMGUI.py:606
+#: flatcamGUI/FlatCAMGUI.py:646
msgid "Scale\tS"
msgstr "Scale\tS"
-#: flatcamGUI/FlatCAMGUI.py:608
-msgid "Mark Area\tALT+A"
-msgstr "Mark Area\tALT+A"
+#: flatcamGUI/FlatCAMGUI.py:648
+msgid "Mark Area\tAlt+A"
+msgstr "Mark Area\tAlt+A"
-#: flatcamGUI/FlatCAMGUI.py:610
-msgid "Eraser\tCTRL+E"
-msgstr "Eraser\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:650
+msgid "Eraser\tCtrl+E"
+msgstr "Eraser\tCtrl+E"
-#: flatcamGUI/FlatCAMGUI.py:612
-msgid "Transform\tALT+R"
-msgstr "Transform\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:652
+msgid "Transform\tAlt+R"
+msgstr "Transform\tAlt+R"
-#: flatcamGUI/FlatCAMGUI.py:639
+#: flatcamGUI/FlatCAMGUI.py:679
msgid "Enable Plot"
msgstr "Enable Plot"
-#: flatcamGUI/FlatCAMGUI.py:641
+#: flatcamGUI/FlatCAMGUI.py:681
msgid "Disable Plot"
msgstr "Disable Plot"
-#: flatcamGUI/FlatCAMGUI.py:645
+#: flatcamGUI/FlatCAMGUI.py:685
msgid "Set Color"
msgstr "Set Color"
-#: flatcamGUI/FlatCAMGUI.py:648
-msgid "Red"
-msgstr "Red"
-
-#: flatcamGUI/FlatCAMGUI.py:651
-msgid "Blue"
-msgstr "Blue"
-
-#: flatcamGUI/FlatCAMGUI.py:654
-msgid "Yellow"
-msgstr "Yellow"
-
-#: flatcamGUI/FlatCAMGUI.py:657
-msgid "Green"
-msgstr "Green"
-
-#: flatcamGUI/FlatCAMGUI.py:660
-msgid "Purple"
-msgstr "Purple"
-
-#: flatcamGUI/FlatCAMGUI.py:663
-msgid "Brown"
-msgstr "Brown"
-
-#: flatcamGUI/FlatCAMGUI.py:666
-msgid "Custom"
-msgstr "Custom"
-
-#: flatcamGUI/FlatCAMGUI.py:671
+#: flatcamGUI/FlatCAMGUI.py:727
msgid "Generate CNC"
msgstr "Generate CNC"
-#: flatcamGUI/FlatCAMGUI.py:673
+#: flatcamGUI/FlatCAMGUI.py:729
msgid "View Source"
msgstr "View Source"
-#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2172
-#: flatcamTools/ToolProperties.py:30
+#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:2280
+#: flatcamTools/ToolProperties.py:31
msgid "Properties"
msgstr "Properties"
-#: flatcamGUI/FlatCAMGUI.py:715
+#: flatcamGUI/FlatCAMGUI.py:771
msgid "File Toolbar"
msgstr "File Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:719
+#: flatcamGUI/FlatCAMGUI.py:775
msgid "Edit Toolbar"
msgstr "Edit Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:723
+#: flatcamGUI/FlatCAMGUI.py:779
msgid "View Toolbar"
msgstr "View Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:727
+#: flatcamGUI/FlatCAMGUI.py:783
msgid "Shell Toolbar"
msgstr "Shell Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:731
+#: flatcamGUI/FlatCAMGUI.py:787
msgid "Tools Toolbar"
msgstr "Tools Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:735
+#: flatcamGUI/FlatCAMGUI.py:791
msgid "Excellon Editor Toolbar"
msgstr "Excellon Editor Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:741
+#: flatcamGUI/FlatCAMGUI.py:797
msgid "Geometry Editor Toolbar"
msgstr "Geometry Editor Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:745
+#: flatcamGUI/FlatCAMGUI.py:801
msgid "Gerber Editor Toolbar"
msgstr "Gerber Editor Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:749
+#: flatcamGUI/FlatCAMGUI.py:805
msgid "Grid Toolbar"
msgstr "Grid Toolbar"
-#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2357
+#: flatcamGUI/FlatCAMGUI.py:826 flatcamGUI/FlatCAMGUI.py:2509
msgid "Open project"
msgstr "Open project"
-#: flatcamGUI/FlatCAMGUI.py:774 flatcamGUI/FlatCAMGUI.py:2359
+#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:2511
msgid "Save project"
msgstr "Save project"
-#: flatcamGUI/FlatCAMGUI.py:780 flatcamGUI/FlatCAMGUI.py:2363
+#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:2517
msgid "New Blank Geometry"
msgstr "New Blank Geometry"
-#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2365
+#: flatcamGUI/FlatCAMGUI.py:836 flatcamGUI/FlatCAMGUI.py:2519
msgid "New Blank Gerber"
msgstr "New Blank Gerber"
-#: flatcamGUI/FlatCAMGUI.py:784 flatcamGUI/FlatCAMGUI.py:2367
+#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:2521
msgid "New Blank Excellon"
msgstr "New Blank Excellon"
-#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:2373
+#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2527
msgid "Save Object and close the Editor"
msgstr "Save Object and close the Editor"
-#: flatcamGUI/FlatCAMGUI.py:796 flatcamGUI/FlatCAMGUI.py:2380
+#: flatcamGUI/FlatCAMGUI.py:850 flatcamGUI/FlatCAMGUI.py:2534
msgid "&Delete"
msgstr "&Delete"
-#: flatcamGUI/FlatCAMGUI.py:799 flatcamGUI/FlatCAMGUI.py:1613
-#: flatcamGUI/FlatCAMGUI.py:1812 flatcamGUI/FlatCAMGUI.py:2383
-#: flatcamTools/ToolDistance.py:30 flatcamTools/ToolDistance.py:160
+#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:1714
+#: flatcamGUI/FlatCAMGUI.py:1920 flatcamGUI/FlatCAMGUI.py:2537
+#: flatcamTools/ToolDistance.py:35 flatcamTools/ToolDistance.py:195
msgid "Distance Tool"
msgstr "Distance Tool"
-#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2385
+#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2539
msgid "Distance Min Tool"
msgstr "Distance Min Tool"
-#: flatcamGUI/FlatCAMGUI.py:803 flatcamGUI/FlatCAMGUI.py:1606
-#: flatcamGUI/FlatCAMGUI.py:2387
+#: flatcamGUI/FlatCAMGUI.py:857 flatcamGUI/FlatCAMGUI.py:1707
+#: flatcamGUI/FlatCAMGUI.py:2541
msgid "Set Origin"
msgstr "Set Origin"
-#: flatcamGUI/FlatCAMGUI.py:805 flatcamGUI/FlatCAMGUI.py:2389
+#: flatcamGUI/FlatCAMGUI.py:859
+msgid "Move to Origin"
+msgstr "Move to Origin"
+
+#: flatcamGUI/FlatCAMGUI.py:862 flatcamGUI/FlatCAMGUI.py:2543
msgid "Jump to Location"
msgstr "Jump to Location"
-#: flatcamGUI/FlatCAMGUI.py:811 flatcamGUI/FlatCAMGUI.py:2393
+#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1719
+#: flatcamGUI/FlatCAMGUI.py:2545
+msgid "Locate in Object"
+msgstr "Locate in Object"
+
+#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2551
msgid "&Replot"
msgstr "&Replot"
-#: flatcamGUI/FlatCAMGUI.py:813 flatcamGUI/FlatCAMGUI.py:2395
+#: flatcamGUI/FlatCAMGUI.py:872 flatcamGUI/FlatCAMGUI.py:2553
msgid "&Clear plot"
msgstr "&Clear plot"
-#: flatcamGUI/FlatCAMGUI.py:815 flatcamGUI/FlatCAMGUI.py:1609
-#: flatcamGUI/FlatCAMGUI.py:2397
+#: flatcamGUI/FlatCAMGUI.py:874 flatcamGUI/FlatCAMGUI.py:1710
+#: flatcamGUI/FlatCAMGUI.py:2555
msgid "Zoom In"
msgstr "Zoom In"
-#: flatcamGUI/FlatCAMGUI.py:817 flatcamGUI/FlatCAMGUI.py:1609
-#: flatcamGUI/FlatCAMGUI.py:2399
+#: flatcamGUI/FlatCAMGUI.py:876 flatcamGUI/FlatCAMGUI.py:1710
+#: flatcamGUI/FlatCAMGUI.py:2557
msgid "Zoom Out"
msgstr "Zoom Out"
-#: flatcamGUI/FlatCAMGUI.py:819 flatcamGUI/FlatCAMGUI.py:1608
-#: flatcamGUI/FlatCAMGUI.py:2062 flatcamGUI/FlatCAMGUI.py:2401
+#: flatcamGUI/FlatCAMGUI.py:878 flatcamGUI/FlatCAMGUI.py:1709
+#: flatcamGUI/FlatCAMGUI.py:2170 flatcamGUI/FlatCAMGUI.py:2559
msgid "Zoom Fit"
msgstr "Zoom Fit"
-#: flatcamGUI/FlatCAMGUI.py:827 flatcamGUI/FlatCAMGUI.py:2407
+#: flatcamGUI/FlatCAMGUI.py:886 flatcamGUI/FlatCAMGUI.py:2565
msgid "&Command Line"
msgstr "&Command Line"
-#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:2417
+#: flatcamGUI/FlatCAMGUI.py:898 flatcamGUI/FlatCAMGUI.py:2577
msgid "2Sided Tool"
msgstr "2Sided Tool"
-#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/ObjectUI.py:588
-#: flatcamTools/ToolCutOut.py:436
+#: flatcamGUI/FlatCAMGUI.py:900 flatcamGUI/FlatCAMGUI.py:1725
+#: flatcamGUI/FlatCAMGUI.py:2579
+msgid "Align Objects Tool"
+msgstr "Align Objects Tool"
+
+#: flatcamGUI/FlatCAMGUI.py:902 flatcamGUI/FlatCAMGUI.py:1726
+#: flatcamGUI/FlatCAMGUI.py:2581 flatcamTools/ToolExtractDrills.py:393
+msgid "Extract Drills Tool"
+msgstr "Extract Drills Tool"
+
+#: flatcamGUI/FlatCAMGUI.py:905 flatcamGUI/ObjectUI.py:595
+#: flatcamTools/ToolCutOut.py:447
msgid "Cutout Tool"
msgstr "Cutout Tool"
-#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2421
-#: flatcamGUI/ObjectUI.py:566 flatcamGUI/ObjectUI.py:1749
-#: flatcamTools/ToolNonCopperClear.py:632
+#: flatcamGUI/FlatCAMGUI.py:907 flatcamGUI/FlatCAMGUI.py:2586
+#: flatcamGUI/ObjectUI.py:573 flatcamGUI/ObjectUI.py:2075
+#: flatcamTools/ToolNCC.py:974
msgid "NCC Tool"
msgstr "NCC Tool"
-#: flatcamGUI/FlatCAMGUI.py:849 flatcamGUI/FlatCAMGUI.py:2427
+#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2592
msgid "Panel Tool"
msgstr "Panel Tool"
-#: flatcamGUI/FlatCAMGUI.py:851 flatcamGUI/FlatCAMGUI.py:2429
-#: flatcamTools/ToolFilm.py:578
+#: flatcamGUI/FlatCAMGUI.py:915 flatcamGUI/FlatCAMGUI.py:2594
+#: flatcamTools/ToolFilm.py:586
msgid "Film Tool"
msgstr "Film Tool"
-#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:2432
-#: flatcamTools/ToolSolderPaste.py:547
+#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2596
+#: flatcamTools/ToolSolderPaste.py:553
msgid "SolderPaste Tool"
msgstr "SolderPaste Tool"
-#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2434
+#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2598
#: flatcamTools/ToolSub.py:35
msgid "Subtract Tool"
msgstr "Subtract Tool"
-#: flatcamGUI/FlatCAMGUI.py:857 flatcamTools/ToolRulesCheck.py:607
+#: flatcamGUI/FlatCAMGUI.py:921 flatcamGUI/FlatCAMGUI.py:2600
+#: flatcamTools/ToolRulesCheck.py:616
msgid "Rules Tool"
msgstr "Rules Tool"
-#: flatcamGUI/FlatCAMGUI.py:859 flatcamGUI/FlatCAMGUI.py:1624
-#: flatcamTools/ToolOptimal.py:34 flatcamTools/ToolOptimal.py:310
+#: flatcamGUI/FlatCAMGUI.py:923 flatcamGUI/FlatCAMGUI.py:1728
+#: flatcamGUI/FlatCAMGUI.py:2602 flatcamTools/ToolOptimal.py:34
+#: flatcamTools/ToolOptimal.py:308
msgid "Optimal Tool"
msgstr "Optimal Tool"
-#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1622
-#: flatcamGUI/FlatCAMGUI.py:2439
+#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:1725
+#: flatcamGUI/FlatCAMGUI.py:2607
msgid "Calculators Tool"
msgstr "Calculators Tool"
-#: flatcamGUI/FlatCAMGUI.py:868 flatcamGUI/FlatCAMGUI.py:1625
-#: flatcamGUI/FlatCAMGUI.py:2443 flatcamTools/ToolQRCode.py:43
+#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:1729
+#: flatcamGUI/FlatCAMGUI.py:2611 flatcamTools/ToolQRCode.py:43
#: flatcamTools/ToolQRCode.py:382
msgid "QRCode Tool"
msgstr "QRCode Tool"
-#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2445
-#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:566
+#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2613
+#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:569
msgid "Copper Thieving Tool"
msgstr "Copper Thieving Tool"
-#: flatcamGUI/FlatCAMGUI.py:873 flatcamGUI/FlatCAMGUI.py:1622
-#: flatcamGUI/FlatCAMGUI.py:2448 flatcamTools/ToolFiducials.py:33
-#: flatcamTools/ToolFiducials.py:393
+#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:1726
+#: flatcamGUI/FlatCAMGUI.py:2616 flatcamTools/ToolFiducials.py:33
+#: flatcamTools/ToolFiducials.py:395
msgid "Fiducials Tool"
msgstr "Fiducials Tool"
-#: flatcamGUI/FlatCAMGUI.py:875 flatcamGUI/FlatCAMGUI.py:2450
-#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:762
+#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2618
+#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:759
msgid "Calibration Tool"
msgstr "Calibration Tool"
-#: flatcamGUI/FlatCAMGUI.py:881 flatcamGUI/FlatCAMGUI.py:907
-#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2454
-#: flatcamGUI/FlatCAMGUI.py:2528
+#: flatcamGUI/FlatCAMGUI.py:941 flatcamGUI/FlatCAMGUI.py:1726
+msgid "Punch Gerber Tool"
+msgstr "Punch Gerber Tool"
+
+#: flatcamGUI/FlatCAMGUI.py:943 flatcamTools/ToolInvertGerber.py:31
+msgid "Invert Gerber Tool"
+msgstr "Invert Gerber Tool"
+
+#: flatcamGUI/FlatCAMGUI.py:949 flatcamGUI/FlatCAMGUI.py:975
+#: flatcamGUI/FlatCAMGUI.py:1027 flatcamGUI/FlatCAMGUI.py:2624
+#: flatcamGUI/FlatCAMGUI.py:2702
msgid "Select"
msgstr "Select"
-#: flatcamGUI/FlatCAMGUI.py:883 flatcamGUI/FlatCAMGUI.py:2456
+#: flatcamGUI/FlatCAMGUI.py:951 flatcamGUI/FlatCAMGUI.py:2626
msgid "Add Drill Hole"
msgstr "Add Drill Hole"
-#: flatcamGUI/FlatCAMGUI.py:885 flatcamGUI/FlatCAMGUI.py:2458
+#: flatcamGUI/FlatCAMGUI.py:953 flatcamGUI/FlatCAMGUI.py:2628
msgid "Add Drill Hole Array"
msgstr "Add Drill Hole Array"
-#: flatcamGUI/FlatCAMGUI.py:887 flatcamGUI/FlatCAMGUI.py:1897
-#: flatcamGUI/FlatCAMGUI.py:2150 flatcamGUI/FlatCAMGUI.py:2462
+#: flatcamGUI/FlatCAMGUI.py:955 flatcamGUI/FlatCAMGUI.py:2005
+#: flatcamGUI/FlatCAMGUI.py:2258 flatcamGUI/FlatCAMGUI.py:2632
msgid "Add Slot"
msgstr "Add Slot"
-#: flatcamGUI/FlatCAMGUI.py:889 flatcamGUI/FlatCAMGUI.py:1896
-#: flatcamGUI/FlatCAMGUI.py:2152 flatcamGUI/FlatCAMGUI.py:2464
+#: flatcamGUI/FlatCAMGUI.py:957 flatcamGUI/FlatCAMGUI.py:2004
+#: flatcamGUI/FlatCAMGUI.py:2260 flatcamGUI/FlatCAMGUI.py:2634
msgid "Add Slot Array"
msgstr "Add Slot Array"
-#: flatcamGUI/FlatCAMGUI.py:891 flatcamGUI/FlatCAMGUI.py:2155
-#: flatcamGUI/FlatCAMGUI.py:2460
+#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2263
+#: flatcamGUI/FlatCAMGUI.py:2630
msgid "Resize Drill"
msgstr "Resize Drill"
-#: flatcamGUI/FlatCAMGUI.py:895 flatcamGUI/FlatCAMGUI.py:2468
+#: flatcamGUI/FlatCAMGUI.py:963 flatcamGUI/FlatCAMGUI.py:2638
msgid "Copy Drill"
msgstr "Copy Drill"
-#: flatcamGUI/FlatCAMGUI.py:897 flatcamGUI/FlatCAMGUI.py:2470
+#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2640
msgid "Delete Drill"
msgstr "Delete Drill"
-#: flatcamGUI/FlatCAMGUI.py:901 flatcamGUI/FlatCAMGUI.py:2474
+#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2644
msgid "Move Drill"
msgstr "Move Drill"
-#: flatcamGUI/FlatCAMGUI.py:909 flatcamGUI/FlatCAMGUI.py:2480
+#: flatcamGUI/FlatCAMGUI.py:977 flatcamGUI/FlatCAMGUI.py:2652
msgid "Add Circle"
msgstr "Add Circle"
-#: flatcamGUI/FlatCAMGUI.py:911 flatcamGUI/FlatCAMGUI.py:2482
+#: flatcamGUI/FlatCAMGUI.py:979 flatcamGUI/FlatCAMGUI.py:2654
msgid "Add Arc"
msgstr "Add Arc"
-#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2484
+#: flatcamGUI/FlatCAMGUI.py:981 flatcamGUI/FlatCAMGUI.py:2656
msgid "Add Rectangle"
msgstr "Add Rectangle"
-#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2488
+#: flatcamGUI/FlatCAMGUI.py:985 flatcamGUI/FlatCAMGUI.py:2660
msgid "Add Path"
msgstr "Add Path"
-#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2490
+#: flatcamGUI/FlatCAMGUI.py:987 flatcamGUI/FlatCAMGUI.py:2662
msgid "Add Polygon"
msgstr "Add Polygon"
-#: flatcamGUI/FlatCAMGUI.py:922 flatcamGUI/FlatCAMGUI.py:2493
+#: flatcamGUI/FlatCAMGUI.py:990 flatcamGUI/FlatCAMGUI.py:2665
msgid "Add Text"
msgstr "Add Text"
-#: flatcamGUI/FlatCAMGUI.py:924 flatcamGUI/FlatCAMGUI.py:2495
+#: flatcamGUI/FlatCAMGUI.py:992 flatcamGUI/FlatCAMGUI.py:2667
msgid "Add Buffer"
msgstr "Add Buffer"
-#: flatcamGUI/FlatCAMGUI.py:926 flatcamGUI/FlatCAMGUI.py:2497
+#: flatcamGUI/FlatCAMGUI.py:994 flatcamGUI/FlatCAMGUI.py:2669
msgid "Paint Shape"
msgstr "Paint Shape"
-#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:985
-#: flatcamGUI/FlatCAMGUI.py:2091 flatcamGUI/FlatCAMGUI.py:2136
-#: flatcamGUI/FlatCAMGUI.py:2499 flatcamGUI/FlatCAMGUI.py:2553
+#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:1053
+#: flatcamGUI/FlatCAMGUI.py:2199 flatcamGUI/FlatCAMGUI.py:2244
+#: flatcamGUI/FlatCAMGUI.py:2671 flatcamGUI/FlatCAMGUI.py:2727
msgid "Eraser"
msgstr "Eraser"
-#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:2503
+#: flatcamGUI/FlatCAMGUI.py:1000 flatcamGUI/FlatCAMGUI.py:2675
msgid "Polygon Union"
msgstr "Polygon Union"
-#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2505
+#: flatcamGUI/FlatCAMGUI.py:1002 flatcamGUI/FlatCAMGUI.py:2677
msgid "Polygon Explode"
msgstr "Polygon Explode"
-#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:2508
+#: flatcamGUI/FlatCAMGUI.py:1005 flatcamGUI/FlatCAMGUI.py:2680
msgid "Polygon Intersection"
msgstr "Polygon Intersection"
-#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2510
+#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2682
msgid "Polygon Subtraction"
msgstr "Polygon Subtraction"
-#: flatcamGUI/FlatCAMGUI.py:943 flatcamGUI/FlatCAMGUI.py:2514
+#: flatcamGUI/FlatCAMGUI.py:1011 flatcamGUI/FlatCAMGUI.py:2686
msgid "Cut Path"
msgstr "Cut Path"
-#: flatcamGUI/FlatCAMGUI.py:945
+#: flatcamGUI/FlatCAMGUI.py:1013
msgid "Copy Shape(s)"
msgstr "Copy Shape(s)"
-#: flatcamGUI/FlatCAMGUI.py:948
+#: flatcamGUI/FlatCAMGUI.py:1016
msgid "Delete Shape '-'"
msgstr "Delete Shape '-'"
-#: flatcamGUI/FlatCAMGUI.py:950 flatcamGUI/FlatCAMGUI.py:993
-#: flatcamGUI/FlatCAMGUI.py:2103 flatcamGUI/FlatCAMGUI.py:2140
-#: flatcamGUI/FlatCAMGUI.py:2520 flatcamGUI/FlatCAMGUI.py:2561
+#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:1061
+#: flatcamGUI/FlatCAMGUI.py:2211 flatcamGUI/FlatCAMGUI.py:2248
+#: flatcamGUI/FlatCAMGUI.py:2692 flatcamGUI/FlatCAMGUI.py:2735
+#: flatcamGUI/ObjectUI.py:108
msgid "Transformations"
msgstr "Transformations"
-#: flatcamGUI/FlatCAMGUI.py:953
+#: flatcamGUI/FlatCAMGUI.py:1021
msgid "Move Objects "
msgstr "Move Objects "
-#: flatcamGUI/FlatCAMGUI.py:961 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2530
+#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2704
msgid "Add Pad"
msgstr "Add Pad"
-#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2017
-#: flatcamGUI/FlatCAMGUI.py:2534
+#: flatcamGUI/FlatCAMGUI.py:1033 flatcamGUI/FlatCAMGUI.py:2125
+#: flatcamGUI/FlatCAMGUI.py:2708
msgid "Add Track"
msgstr "Add Track"
-#: flatcamGUI/FlatCAMGUI.py:967 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2536
+#: flatcamGUI/FlatCAMGUI.py:1035 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2710
msgid "Add Region"
msgstr "Add Region"
-#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2122
-#: flatcamGUI/FlatCAMGUI.py:2538
+#: flatcamGUI/FlatCAMGUI.py:1037 flatcamGUI/FlatCAMGUI.py:2230
+#: flatcamGUI/FlatCAMGUI.py:2712
msgid "Poligonize"
msgstr "Poligonize"
-#: flatcamGUI/FlatCAMGUI.py:972 flatcamGUI/FlatCAMGUI.py:2124
-#: flatcamGUI/FlatCAMGUI.py:2541
+#: flatcamGUI/FlatCAMGUI.py:1040 flatcamGUI/FlatCAMGUI.py:2232
+#: flatcamGUI/FlatCAMGUI.py:2715
msgid "SemiDisc"
msgstr "SemiDisc"
-#: flatcamGUI/FlatCAMGUI.py:974 flatcamGUI/FlatCAMGUI.py:2126
-#: flatcamGUI/FlatCAMGUI.py:2543
+#: flatcamGUI/FlatCAMGUI.py:1042 flatcamGUI/FlatCAMGUI.py:2234
+#: flatcamGUI/FlatCAMGUI.py:2717
msgid "Disc"
msgstr "Disc"
-#: flatcamGUI/FlatCAMGUI.py:982 flatcamGUI/FlatCAMGUI.py:2134
-#: flatcamGUI/FlatCAMGUI.py:2551
+#: flatcamGUI/FlatCAMGUI.py:1050 flatcamGUI/FlatCAMGUI.py:2242
+#: flatcamGUI/FlatCAMGUI.py:2725
msgid "Mark Area"
msgstr "Mark Area"
-#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2107 flatcamGUI/FlatCAMGUI.py:2170
-#: flatcamGUI/FlatCAMGUI.py:2564 flatcamTools/ToolMove.py:28
+#: flatcamGUI/FlatCAMGUI.py:1064 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2215 flatcamGUI/FlatCAMGUI.py:2278
+#: flatcamGUI/FlatCAMGUI.py:2738 flatcamTools/ToolMove.py:28
msgid "Move"
msgstr "Move"
-#: flatcamGUI/FlatCAMGUI.py:1004 flatcamGUI/FlatCAMGUI.py:2571
+#: flatcamGUI/FlatCAMGUI.py:1072 flatcamGUI/FlatCAMGUI.py:2747
msgid "Snap to grid"
msgstr "Snap to grid"
-#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2574
+#: flatcamGUI/FlatCAMGUI.py:1075 flatcamGUI/FlatCAMGUI.py:2750
msgid "Grid X snapping distance"
msgstr "Grid X snapping distance"
-#: flatcamGUI/FlatCAMGUI.py:1012 flatcamGUI/FlatCAMGUI.py:2579
+#: flatcamGUI/FlatCAMGUI.py:1080 flatcamGUI/FlatCAMGUI.py:2755
msgid "Grid Y snapping distance"
msgstr "Grid Y snapping distance"
-#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:2585
+#: flatcamGUI/FlatCAMGUI.py:1086 flatcamGUI/FlatCAMGUI.py:2761
msgid ""
"When active, value on Grid_X\n"
"is copied to the Grid_Y value."
@@ -6190,63 +6523,64 @@ msgstr ""
"When active, value on Grid_X\n"
"is copied to the Grid_Y value."
-#: flatcamGUI/FlatCAMGUI.py:1025 flatcamGUI/FlatCAMGUI.py:2592
+#: flatcamGUI/FlatCAMGUI.py:1093 flatcamGUI/FlatCAMGUI.py:2768
msgid "Snap to corner"
msgstr "Snap to corner"
-#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2596
-#: flatcamGUI/PreferencesUI.py:984
+#: flatcamGUI/FlatCAMGUI.py:1097 flatcamGUI/FlatCAMGUI.py:2772
+#: flatcamGUI/PreferencesUI.py:1159
msgid "Max. magnet distance"
msgstr "Max. magnet distance"
-#: flatcamGUI/FlatCAMGUI.py:1063
+#: flatcamGUI/FlatCAMGUI.py:1134
msgid "Selected"
msgstr "Selected"
-#: flatcamGUI/FlatCAMGUI.py:1090 flatcamGUI/FlatCAMGUI.py:1098
+#: flatcamGUI/FlatCAMGUI.py:1162 flatcamGUI/FlatCAMGUI.py:1170
msgid "Plot Area"
msgstr "Plot Area"
-#: flatcamGUI/FlatCAMGUI.py:1125
+#: flatcamGUI/FlatCAMGUI.py:1197
msgid "General"
msgstr "General"
-#: flatcamGUI/FlatCAMGUI.py:1140 flatcamTools/ToolCopperThieving.py:74
-#: flatcamTools/ToolDblSided.py:59 flatcamTools/ToolOptimal.py:71
-#: flatcamTools/ToolQRCode.py:77
+#: flatcamGUI/FlatCAMGUI.py:1212 flatcamTools/ToolCopperThieving.py:75
+#: flatcamTools/ToolDblSided.py:65 flatcamTools/ToolExtractDrills.py:61
+#: flatcamTools/ToolInvertGerber.py:72 flatcamTools/ToolOptimal.py:72
+#: flatcamTools/ToolPunchGerber.py:64
msgid "GERBER"
msgstr "GERBER"
-#: flatcamGUI/FlatCAMGUI.py:1150 flatcamTools/ToolDblSided.py:87
+#: flatcamGUI/FlatCAMGUI.py:1222 flatcamTools/ToolDblSided.py:93
msgid "EXCELLON"
msgstr "EXCELLON"
-#: flatcamGUI/FlatCAMGUI.py:1160 flatcamTools/ToolDblSided.py:115
+#: flatcamGUI/FlatCAMGUI.py:1232 flatcamTools/ToolDblSided.py:121
msgid "GEOMETRY"
msgstr "GEOMETRY"
-#: flatcamGUI/FlatCAMGUI.py:1170
+#: flatcamGUI/FlatCAMGUI.py:1242
msgid "CNC-JOB"
msgstr "CNC-JOB"
-#: flatcamGUI/FlatCAMGUI.py:1179 flatcamGUI/ObjectUI.py:555
-#: flatcamGUI/ObjectUI.py:1724
+#: flatcamGUI/FlatCAMGUI.py:1251 flatcamGUI/ObjectUI.py:562
+#: flatcamGUI/ObjectUI.py:2050
msgid "TOOLS"
msgstr "TOOLS"
-#: flatcamGUI/FlatCAMGUI.py:1188
+#: flatcamGUI/FlatCAMGUI.py:1260
msgid "TOOLS 2"
msgstr "TOOLS 2"
-#: flatcamGUI/FlatCAMGUI.py:1198
+#: flatcamGUI/FlatCAMGUI.py:1270
msgid "UTILITIES"
msgstr "UTILITIES"
-#: flatcamGUI/FlatCAMGUI.py:1215 flatcamGUI/PreferencesUI.py:2833
+#: flatcamGUI/FlatCAMGUI.py:1287 flatcamGUI/PreferencesUI.py:3015
msgid "Restore Defaults"
msgstr "Restore Defaults"
-#: flatcamGUI/FlatCAMGUI.py:1218
+#: flatcamGUI/FlatCAMGUI.py:1290
msgid ""
"Restore the entire set of default values\n"
"to the initial values loaded after first launch."
@@ -6254,15 +6588,19 @@ msgstr ""
"Restore the entire set of default values\n"
"to the initial values loaded after first launch."
-#: flatcamGUI/FlatCAMGUI.py:1223
+#: flatcamGUI/FlatCAMGUI.py:1295
msgid "Open Pref Folder"
msgstr "Open Pref Folder"
-#: flatcamGUI/FlatCAMGUI.py:1226
+#: flatcamGUI/FlatCAMGUI.py:1298
msgid "Open the folder where FlatCAM save the preferences files."
msgstr "Open the folder where FlatCAM save the preferences files."
-#: flatcamGUI/FlatCAMGUI.py:1234
+#: flatcamGUI/FlatCAMGUI.py:1302 flatcamGUI/FlatCAMGUI.py:2477
+msgid "Clear GUI Settings"
+msgstr "Clear GUI Settings"
+
+#: flatcamGUI/FlatCAMGUI.py:1306
msgid ""
"Clear the GUI settings for FlatCAM,\n"
"such as: layout, gui state, style, hdpi support etc."
@@ -6270,15 +6608,15 @@ msgstr ""
"Clear the GUI settings for FlatCAM,\n"
"such as: layout, gui state, style, hdpi support etc."
-#: flatcamGUI/FlatCAMGUI.py:1245
+#: flatcamGUI/FlatCAMGUI.py:1317
msgid "Apply"
msgstr "Apply"
-#: flatcamGUI/FlatCAMGUI.py:1248
+#: flatcamGUI/FlatCAMGUI.py:1320
msgid "Apply the current preferences without saving to a file."
msgstr "Apply the current preferences without saving to a file."
-#: flatcamGUI/FlatCAMGUI.py:1255
+#: flatcamGUI/FlatCAMGUI.py:1327
msgid ""
"Save the current settings in the 'current_defaults' file\n"
"which is the file storing the working default preferences."
@@ -6286,527 +6624,540 @@ msgstr ""
"Save the current settings in the 'current_defaults' file\n"
"which is the file storing the working default preferences."
-#: flatcamGUI/FlatCAMGUI.py:1263
+#: flatcamGUI/FlatCAMGUI.py:1335
msgid "Will not save the changes and will close the preferences window."
msgstr "Will not save the changes and will close the preferences window."
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "SHOW SHORTCUT LIST"
msgstr "SHOW SHORTCUT LIST"
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Project Tab"
msgstr "Switch to Project Tab"
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Selected Tab"
msgstr "Switch to Selected Tab"
-#: flatcamGUI/FlatCAMGUI.py:1604
+#: flatcamGUI/FlatCAMGUI.py:1705
msgid "Switch to Tool Tab"
msgstr "Switch to Tool Tab"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "New Gerber"
msgstr "New Gerber"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Edit Object (if selected)"
msgstr "Edit Object (if selected)"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Jump to Coordinates"
msgstr "Jump to Coordinates"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Excellon"
msgstr "New Excellon"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Move Obj"
msgstr "Move Obj"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Geometry"
msgstr "New Geometry"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Change Units"
msgstr "Change Units"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Open Properties Tool"
msgstr "Open Properties Tool"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Rotate by 90 degree CW"
msgstr "Rotate by 90 degree CW"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Shell Toggle"
msgstr "Shell Toggle"
-#: flatcamGUI/FlatCAMGUI.py:1608
+#: flatcamGUI/FlatCAMGUI.py:1709
msgid ""
"Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)"
msgstr ""
"Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)"
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on X_axis"
msgstr "Flip on X_axis"
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on Y_axis"
msgstr "Flip on Y_axis"
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Copy Obj"
msgstr "Copy Obj"
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Open Tools Database"
msgstr "Open Tools Database"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Excellon File"
msgstr "Open Excellon File"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Gerber File"
msgstr "Open Gerber File"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "New Project"
msgstr "New Project"
-#: flatcamGUI/FlatCAMGUI.py:1614 flatcamTools/ToolPDF.py:42
+#: flatcamGUI/FlatCAMGUI.py:1715 flatcamTools/ToolPDF.py:42
msgid "PDF Import Tool"
msgstr "PDF Import Tool"
-#: flatcamGUI/FlatCAMGUI.py:1614
-msgid "Save Project As"
-msgstr "Save Project As"
+#: flatcamGUI/FlatCAMGUI.py:1715
+msgid "Save Project"
+msgstr "Save Project"
-#: flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:1715
msgid "Toggle Plot Area"
msgstr "Toggle Plot Area"
-#: flatcamGUI/FlatCAMGUI.py:1617
+#: flatcamGUI/FlatCAMGUI.py:1718
msgid "Copy Obj_Name"
msgstr "Copy Obj_Name"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle Code Editor"
msgstr "Toggle Code Editor"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle the axis"
msgstr "Toggle the axis"
-#: flatcamGUI/FlatCAMGUI.py:1618 flatcamGUI/FlatCAMGUI.py:1810
-#: flatcamGUI/FlatCAMGUI.py:1897 flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1719 flatcamGUI/FlatCAMGUI.py:1918
+#: flatcamGUI/FlatCAMGUI.py:2005 flatcamGUI/FlatCAMGUI.py:2127
msgid "Distance Minimum Tool"
msgstr "Distance Minimum Tool"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1720
msgid "Open Preferences Window"
msgstr "Open Preferences Window"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Rotate by 90 degree CCW"
msgstr "Rotate by 90 degree CCW"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Run a Script"
msgstr "Run a Script"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Toggle the workspace"
msgstr "Toggle the workspace"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Skew on X axis"
msgstr "Skew on X axis"
-#: flatcamGUI/FlatCAMGUI.py:1620
+#: flatcamGUI/FlatCAMGUI.py:1722
msgid "Skew on Y axis"
msgstr "Skew on Y axis"
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "2-Sided PCB Tool"
msgstr "2-Sided PCB Tool"
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "Transformations Tool"
msgstr "Transformations Tool"
-#: flatcamGUI/FlatCAMGUI.py:1623
+#: flatcamGUI/FlatCAMGUI.py:1727
msgid "Solder Paste Dispensing Tool"
msgstr "Solder Paste Dispensing Tool"
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Film PCB Tool"
msgstr "Film PCB Tool"
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Non-Copper Clearing Tool"
msgstr "Non-Copper Clearing Tool"
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Paint Area Tool"
msgstr "Paint Area Tool"
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Rules Check Tool"
msgstr "Rules Check Tool"
-#: flatcamGUI/FlatCAMGUI.py:1626
+#: flatcamGUI/FlatCAMGUI.py:1730
msgid "View File Source"
msgstr "View File Source"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Cutout PCB Tool"
msgstr "Cutout PCB Tool"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Enable all Plots"
msgstr "Enable all Plots"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable all Plots"
msgstr "Disable all Plots"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable Non-selected Plots"
msgstr "Disable Non-selected Plots"
-#: flatcamGUI/FlatCAMGUI.py:1628
+#: flatcamGUI/FlatCAMGUI.py:1732
msgid "Toggle Full Screen"
msgstr "Toggle Full Screen"
-#: flatcamGUI/FlatCAMGUI.py:1631
+#: flatcamGUI/FlatCAMGUI.py:1735
msgid "Abort current task (gracefully)"
msgstr "Abort current task (gracefully)"
-#: flatcamGUI/FlatCAMGUI.py:1634
+#: flatcamGUI/FlatCAMGUI.py:1738
+msgid "Save Project As"
+msgstr "Save Project As"
+
+#: flatcamGUI/FlatCAMGUI.py:1739
+msgid ""
+"Paste Special. Will convert a Windows path style to the one required in Tcl "
+"Shell"
+msgstr ""
+"Paste Special. Will convert a Windows path style to the one required in Tcl "
+"Shell"
+
+#: flatcamGUI/FlatCAMGUI.py:1742
msgid "Open Online Manual"
msgstr "Open Online Manual"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Open Online Tutorials"
msgstr "Open Online Tutorials"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Refresh Plots"
msgstr "Refresh Plots"
-#: flatcamGUI/FlatCAMGUI.py:1635 flatcamTools/ToolSolderPaste.py:503
+#: flatcamGUI/FlatCAMGUI.py:1743 flatcamTools/ToolSolderPaste.py:509
msgid "Delete Object"
msgstr "Delete Object"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Alternate: Delete Tool"
msgstr "Alternate: Delete Tool"
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "(left to Key_1)Toogle Notebook Area (Left Side)"
msgstr "(left to Key_1)Toogle Notebook Area (Left Side)"
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "En(Dis)able Obj Plot"
msgstr "En(Dis)able Obj Plot"
-#: flatcamGUI/FlatCAMGUI.py:1637
+#: flatcamGUI/FlatCAMGUI.py:1745
msgid "Deselects all objects"
msgstr "Deselects all objects"
-#: flatcamGUI/FlatCAMGUI.py:1651
+#: flatcamGUI/FlatCAMGUI.py:1759
msgid "Editor Shortcut list"
msgstr "Editor Shortcut list"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "GEOMETRY EDITOR"
msgstr "GEOMETRY EDITOR"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Draw an Arc"
msgstr "Draw an Arc"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Copy Geo Item"
msgstr "Copy Geo Item"
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Within Add Arc will toogle the ARC direction: CW or CCW"
msgstr "Within Add Arc will toogle the ARC direction: CW or CCW"
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Polygon Intersection Tool"
msgstr "Polygon Intersection Tool"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Geo Paint Tool"
msgstr "Geo Paint Tool"
-#: flatcamGUI/FlatCAMGUI.py:1807 flatcamGUI/FlatCAMGUI.py:1896
-#: flatcamGUI/FlatCAMGUI.py:2016
+#: flatcamGUI/FlatCAMGUI.py:1915 flatcamGUI/FlatCAMGUI.py:2004
+#: flatcamGUI/FlatCAMGUI.py:2124
msgid "Jump to Location (x, y)"
msgstr "Jump to Location (x, y)"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Toggle Corner Snap"
msgstr "Toggle Corner Snap"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Move Geo Item"
msgstr "Move Geo Item"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Within Add Arc will cycle through the ARC modes"
msgstr "Within Add Arc will cycle through the ARC modes"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Polygon"
msgstr "Draw a Polygon"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Circle"
msgstr "Draw a Circle"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw a Path"
msgstr "Draw a Path"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw Rectangle"
msgstr "Draw Rectangle"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Polygon Subtraction Tool"
msgstr "Polygon Subtraction Tool"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Add Text Tool"
msgstr "Add Text Tool"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Polygon Union Tool"
msgstr "Polygon Union Tool"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on X axis"
msgstr "Flip shape on X axis"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on Y axis"
msgstr "Flip shape on Y axis"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on X axis"
msgstr "Skew shape on X axis"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on Y axis"
msgstr "Skew shape on Y axis"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Editor Transformation Tool"
msgstr "Editor Transformation Tool"
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on X axis"
msgstr "Offset shape on X axis"
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on Y axis"
msgstr "Offset shape on Y axis"
-#: flatcamGUI/FlatCAMGUI.py:1813 flatcamGUI/FlatCAMGUI.py:1899
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:1921 flatcamGUI/FlatCAMGUI.py:2007
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Save Object and Exit Editor"
msgstr "Save Object and Exit Editor"
-#: flatcamGUI/FlatCAMGUI.py:1813
+#: flatcamGUI/FlatCAMGUI.py:1921
msgid "Polygon Cut Tool"
msgstr "Polygon Cut Tool"
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Rotate Geometry"
msgstr "Rotate Geometry"
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Finish drawing for certain tools"
msgstr "Finish drawing for certain tools"
-#: flatcamGUI/FlatCAMGUI.py:1814 flatcamGUI/FlatCAMGUI.py:1899
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1922 flatcamGUI/FlatCAMGUI.py:2007
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Abort and return to Select"
msgstr "Abort and return to Select"
-#: flatcamGUI/FlatCAMGUI.py:1815 flatcamGUI/FlatCAMGUI.py:2518
+#: flatcamGUI/FlatCAMGUI.py:1923 flatcamGUI/FlatCAMGUI.py:2690
msgid "Delete Shape"
msgstr "Delete Shape"
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "EXCELLON EDITOR"
msgstr "EXCELLON EDITOR"
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "Copy Drill(s)"
msgstr "Copy Drill(s)"
-#: flatcamGUI/FlatCAMGUI.py:1895 flatcamGUI/FlatCAMGUI.py:2145
+#: flatcamGUI/FlatCAMGUI.py:2003 flatcamGUI/FlatCAMGUI.py:2253
msgid "Add Drill"
msgstr "Add Drill"
-#: flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamGUI/FlatCAMGUI.py:2004
msgid "Move Drill(s)"
msgstr "Move Drill(s)"
-#: flatcamGUI/FlatCAMGUI.py:1897
+#: flatcamGUI/FlatCAMGUI.py:2005
msgid "Add a new Tool"
msgstr "Add a new Tool"
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Delete Drill(s)"
msgstr "Delete Drill(s)"
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Alternate: Delete Tool(s)"
msgstr "Alternate: Delete Tool(s)"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "GERBER EDITOR"
msgstr "GERBER EDITOR"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add Disc"
msgstr "Add Disc"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add SemiDisc"
msgstr "Add SemiDisc"
-#: flatcamGUI/FlatCAMGUI.py:2017
+#: flatcamGUI/FlatCAMGUI.py:2125
msgid "Within Track & Region Tools will cycle in REVERSE the bend modes"
msgstr "Within Track & Region Tools will cycle in REVERSE the bend modes"
-#: flatcamGUI/FlatCAMGUI.py:2018
+#: flatcamGUI/FlatCAMGUI.py:2126
msgid "Within Track & Region Tools will cycle FORWARD the bend modes"
msgstr "Within Track & Region Tools will cycle FORWARD the bend modes"
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Alternate: Delete Apertures"
msgstr "Alternate: Delete Apertures"
-#: flatcamGUI/FlatCAMGUI.py:2020
+#: flatcamGUI/FlatCAMGUI.py:2128
msgid "Eraser Tool"
msgstr "Eraser Tool"
-#: flatcamGUI/FlatCAMGUI.py:2021 flatcamGUI/PreferencesUI.py:2634
+#: flatcamGUI/FlatCAMGUI.py:2129 flatcamGUI/PreferencesUI.py:2816
msgid "Mark Area Tool"
msgstr "Mark Area Tool"
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Poligonize Tool"
msgstr "Poligonize Tool"
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Transformation Tool"
msgstr "Transformation Tool"
-#: flatcamGUI/FlatCAMGUI.py:2038
+#: flatcamGUI/FlatCAMGUI.py:2146
msgid "Toggle Visibility"
msgstr "Toggle Visibility"
-#: flatcamGUI/FlatCAMGUI.py:2044
+#: flatcamGUI/FlatCAMGUI.py:2152
msgid "New"
msgstr "New"
-#: flatcamGUI/FlatCAMGUI.py:2046 flatcamTools/ToolCalibration.py:634
-msgid "Geometry"
-msgstr "Geometry"
-
-#: flatcamGUI/FlatCAMGUI.py:2050 flatcamTools/ToolCalibration.py:197
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolFilm.py:359
+#: flatcamGUI/FlatCAMGUI.py:2158 flatcamGUI/PreferencesUI.py:8410
+#: flatcamTools/ToolAlignObjects.py:74 flatcamTools/ToolAlignObjects.py:110
+#: flatcamTools/ToolCalibration.py:197 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:807
+#: flatcamTools/ToolCalibration.py:815 flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolDblSided.py:226
+#: flatcamTools/ToolFilm.py:359 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1295 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:706 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPunchGerber.py:149 flatcamTools/ToolPunchGerber.py:164
msgid "Excellon"
msgstr "Excellon"
-#: flatcamGUI/FlatCAMGUI.py:2057
+#: flatcamGUI/FlatCAMGUI.py:2165
msgid "Grids"
msgstr "Grids"
-#: flatcamGUI/FlatCAMGUI.py:2064
+#: flatcamGUI/FlatCAMGUI.py:2172
msgid "Clear Plot"
msgstr "Clear Plot"
-#: flatcamGUI/FlatCAMGUI.py:2066
+#: flatcamGUI/FlatCAMGUI.py:2174
msgid "Replot"
msgstr "Replot"
-#: flatcamGUI/FlatCAMGUI.py:2070
+#: flatcamGUI/FlatCAMGUI.py:2178
msgid "Geo Editor"
msgstr "Geo Editor"
-#: flatcamGUI/FlatCAMGUI.py:2072
+#: flatcamGUI/FlatCAMGUI.py:2180
msgid "Path"
msgstr "Path"
-#: flatcamGUI/FlatCAMGUI.py:2074
+#: flatcamGUI/FlatCAMGUI.py:2182
msgid "Rectangle"
msgstr "Rectangle"
-#: flatcamGUI/FlatCAMGUI.py:2077
+#: flatcamGUI/FlatCAMGUI.py:2185
msgid "Circle"
msgstr "Circle"
-#: flatcamGUI/FlatCAMGUI.py:2079
-msgid "Polygon"
-msgstr "Polygon"
-
-#: flatcamGUI/FlatCAMGUI.py:2081
+#: flatcamGUI/FlatCAMGUI.py:2189
msgid "Arc"
msgstr "Arc"
-#: flatcamGUI/FlatCAMGUI.py:2095
+#: flatcamGUI/FlatCAMGUI.py:2203
msgid "Union"
msgstr "Union"
-#: flatcamGUI/FlatCAMGUI.py:2097
+#: flatcamGUI/FlatCAMGUI.py:2205
msgid "Intersection"
msgstr "Intersection"
-#: flatcamGUI/FlatCAMGUI.py:2099
+#: flatcamGUI/FlatCAMGUI.py:2207
msgid "Subtraction"
msgstr "Subtraction"
-#: flatcamGUI/FlatCAMGUI.py:2101 flatcamGUI/ObjectUI.py:1811
-#: flatcamGUI/PreferencesUI.py:4421
+#: flatcamGUI/FlatCAMGUI.py:2209 flatcamGUI/ObjectUI.py:2139
+#: flatcamGUI/PreferencesUI.py:4714
msgid "Cut"
msgstr "Cut"
-#: flatcamGUI/FlatCAMGUI.py:2112
+#: flatcamGUI/FlatCAMGUI.py:2220
msgid "Pad"
msgstr "Pad"
-#: flatcamGUI/FlatCAMGUI.py:2114
+#: flatcamGUI/FlatCAMGUI.py:2222
msgid "Pad Array"
msgstr "Pad Array"
-#: flatcamGUI/FlatCAMGUI.py:2118
+#: flatcamGUI/FlatCAMGUI.py:2226
msgid "Track"
msgstr "Track"
-#: flatcamGUI/FlatCAMGUI.py:2120
+#: flatcamGUI/FlatCAMGUI.py:2228
msgid "Region"
msgstr "Region"
-#: flatcamGUI/FlatCAMGUI.py:2143
+#: flatcamGUI/FlatCAMGUI.py:2251
msgid "Exc Editor"
msgstr "Exc Editor"
-#: flatcamGUI/FlatCAMGUI.py:2188
+#: flatcamGUI/FlatCAMGUI.py:2296
msgid ""
"Relative neasurement.\n"
"Reference is last click position"
@@ -6814,7 +7165,7 @@ msgstr ""
"Relative neasurement.\n"
"Reference is last click position"
-#: flatcamGUI/FlatCAMGUI.py:2194
+#: flatcamGUI/FlatCAMGUI.py:2302
msgid ""
"Absolute neasurement.\n"
"Reference is (X=0, Y= 0) position"
@@ -6822,27 +7173,35 @@ msgstr ""
"Absolute neasurement.\n"
"Reference is (X=0, Y= 0) position"
-#: flatcamGUI/FlatCAMGUI.py:2301
+#: flatcamGUI/FlatCAMGUI.py:2406
msgid "Lock Toolbars"
msgstr "Lock Toolbars"
-#: flatcamGUI/FlatCAMGUI.py:2419
+#: flatcamGUI/FlatCAMGUI.py:2465
+msgid "FlatCAM Preferences Folder opened."
+msgstr "FlatCAM Preferences Folder opened."
+
+#: flatcamGUI/FlatCAMGUI.py:2476
+msgid "Are you sure you want to delete the GUI Settings? \n"
+msgstr "Are you sure you want to delete the GUI Settings? \n"
+
+#: flatcamGUI/FlatCAMGUI.py:2584
msgid "&Cutout Tool"
msgstr "&Cutout Tool"
-#: flatcamGUI/FlatCAMGUI.py:2478
+#: flatcamGUI/FlatCAMGUI.py:2650
msgid "Select 'Esc'"
msgstr "Select 'Esc'"
-#: flatcamGUI/FlatCAMGUI.py:2516
+#: flatcamGUI/FlatCAMGUI.py:2688
msgid "Copy Objects"
msgstr "Copy Objects"
-#: flatcamGUI/FlatCAMGUI.py:2524
+#: flatcamGUI/FlatCAMGUI.py:2696
msgid "Move Objects"
msgstr "Move Objects"
-#: flatcamGUI/FlatCAMGUI.py:3087
+#: flatcamGUI/FlatCAMGUI.py:3312
msgid ""
"Please first select a geometry item to be cutted\n"
"then select the geometry item that will be cutted\n"
@@ -6854,12 +7213,12 @@ msgstr ""
"out of the first item. In the end press ~X~ key or\n"
"the toolbar button."
-#: flatcamGUI/FlatCAMGUI.py:3094 flatcamGUI/FlatCAMGUI.py:3254
-#: flatcamGUI/FlatCAMGUI.py:3299 flatcamGUI/FlatCAMGUI.py:3319
+#: flatcamGUI/FlatCAMGUI.py:3319 flatcamGUI/FlatCAMGUI.py:3478
+#: flatcamGUI/FlatCAMGUI.py:3523 flatcamGUI/FlatCAMGUI.py:3543
msgid "Warning"
msgstr "Warning"
-#: flatcamGUI/FlatCAMGUI.py:3249
+#: flatcamGUI/FlatCAMGUI.py:3473
msgid ""
"Please select geometry items \n"
"on which to perform Intersection Tool."
@@ -6867,7 +7226,7 @@ msgstr ""
"Please select geometry items \n"
"on which to perform Intersection Tool."
-#: flatcamGUI/FlatCAMGUI.py:3294
+#: flatcamGUI/FlatCAMGUI.py:3518
msgid ""
"Please select geometry items \n"
"on which to perform Substraction Tool."
@@ -6875,7 +7234,7 @@ msgstr ""
"Please select geometry items \n"
"on which to perform Substraction Tool."
-#: flatcamGUI/FlatCAMGUI.py:3314
+#: flatcamGUI/FlatCAMGUI.py:3538
msgid ""
"Please select geometry items \n"
"on which to perform union."
@@ -6883,61 +7242,62 @@ msgstr ""
"Please select geometry items \n"
"on which to perform union."
-#: flatcamGUI/FlatCAMGUI.py:3394 flatcamGUI/FlatCAMGUI.py:3608
+#: flatcamGUI/FlatCAMGUI.py:3617 flatcamGUI/FlatCAMGUI.py:3828
msgid "Cancelled. Nothing selected to delete."
msgstr "Cancelled. Nothing selected to delete."
-#: flatcamGUI/FlatCAMGUI.py:3479 flatcamGUI/FlatCAMGUI.py:3726
+#: flatcamGUI/FlatCAMGUI.py:3701 flatcamGUI/FlatCAMGUI.py:3944
msgid "Cancelled. Nothing selected to copy."
msgstr "Cancelled. Nothing selected to copy."
-#: flatcamGUI/FlatCAMGUI.py:3526 flatcamGUI/FlatCAMGUI.py:3756
+#: flatcamGUI/FlatCAMGUI.py:3747 flatcamGUI/FlatCAMGUI.py:3973
msgid "Cancelled. Nothing selected to move."
msgstr "Cancelled. Nothing selected to move."
-#: flatcamGUI/FlatCAMGUI.py:3782
+#: flatcamGUI/FlatCAMGUI.py:3999
msgid "New Tool ..."
msgstr "New Tool ..."
-#: flatcamGUI/FlatCAMGUI.py:3783 flatcamTools/ToolNonCopperClear.py:583
-#: flatcamTools/ToolPaint.py:494 flatcamTools/ToolSolderPaste.py:554
+#: flatcamGUI/FlatCAMGUI.py:4000 flatcamTools/ToolNCC.py:924
+#: flatcamTools/ToolPaint.py:850 flatcamTools/ToolSolderPaste.py:560
msgid "Enter a Tool Diameter"
msgstr "Enter a Tool Diameter"
-#: flatcamGUI/FlatCAMGUI.py:3795
+#: flatcamGUI/FlatCAMGUI.py:4012
msgid "Adding Tool cancelled ..."
msgstr "Adding Tool cancelled ..."
-#: flatcamGUI/FlatCAMGUI.py:3808
+#: flatcamGUI/FlatCAMGUI.py:4025
msgid "Distance Tool exit..."
msgstr "Distance Tool exit..."
-#: flatcamGUI/FlatCAMGUI.py:4018 flatcamGUI/FlatCAMGUI.py:4025
+#: flatcamGUI/FlatCAMGUI.py:4234 flatcamGUI/FlatCAMGUI.py:4241
msgid "Idle."
msgstr "Idle."
-#: flatcamGUI/FlatCAMGUI.py:4056
+#: flatcamGUI/FlatCAMGUI.py:4272
msgid "Application started ..."
msgstr "Application started ..."
-#: flatcamGUI/FlatCAMGUI.py:4057
+#: flatcamGUI/FlatCAMGUI.py:4273
msgid "Hello!"
msgstr "Hello!"
-#: flatcamGUI/FlatCAMGUI.py:4115
+#: flatcamGUI/FlatCAMGUI.py:4331
msgid "Open Project ..."
msgstr "Open Project ..."
-#: flatcamGUI/FlatCAMGUI.py:4141
+#: flatcamGUI/FlatCAMGUI.py:4357
msgid "Exit"
msgstr "Exit"
-#: flatcamGUI/GUIElements.py:2261 flatcamGUI/PreferencesUI.py:5265
-#: flatcamGUI/PreferencesUI.py:5825 flatcamTools/ToolFilm.py:219
+#: flatcamGUI/GUIElements.py:2513 flatcamGUI/PreferencesUI.py:6313
+#: flatcamTools/ToolDblSided.py:174 flatcamTools/ToolDblSided.py:389
+#: flatcamTools/ToolFilm.py:219
msgid "Reference"
msgstr "Reference"
-#: flatcamGUI/GUIElements.py:2263
+#: flatcamGUI/GUIElements.py:2515
msgid ""
"The reference can be:\n"
"- Absolute -> the reference point is point (0,0)\n"
@@ -6947,19 +7307,19 @@ msgstr ""
"- Absolute -> the reference point is point (0,0)\n"
"- Relative -> the reference point is the mouse position before Jump"
-#: flatcamGUI/GUIElements.py:2268
+#: flatcamGUI/GUIElements.py:2520
msgid "Abs"
msgstr "Abs"
-#: flatcamGUI/GUIElements.py:2269
+#: flatcamGUI/GUIElements.py:2521
msgid "Relative"
msgstr "Relative"
-#: flatcamGUI/GUIElements.py:2279
+#: flatcamGUI/GUIElements.py:2531
msgid "Location"
msgstr "Location"
-#: flatcamGUI/GUIElements.py:2281
+#: flatcamGUI/GUIElements.py:2533
msgid ""
"The Location value is a tuple (x,y).\n"
"If the reference is Absolute then the Jump will be at the position (x,y).\n"
@@ -6971,6 +7331,10 @@ msgstr ""
"If the reference is Relative then the Jump will be at the (x,y) distance\n"
"from the current mouse location point."
+#: flatcamGUI/GUIElements.py:2573
+msgid "Save Log"
+msgstr "Save Log"
+
#: flatcamGUI/ObjectUI.py:38
msgid "FlatCAM Object"
msgstr "FlatCAM Object"
@@ -6993,15 +7357,11 @@ msgstr ""
"Edit -> Preferences -> General and check:\n"
"'APP. LEVEL' radio button."
-#: flatcamGUI/ObjectUI.py:105
-msgid "Change the size of the object."
-msgstr "Change the size of the object."
+#: flatcamGUI/ObjectUI.py:110
+msgid "Geometrical transformations of the current object."
+msgstr "Geometrical transformations of the current object."
-#: flatcamGUI/ObjectUI.py:111
-msgid "Factor"
-msgstr "Factor"
-
-#: flatcamGUI/ObjectUI.py:113
+#: flatcamGUI/ObjectUI.py:119
msgid ""
"Factor by which to multiply\n"
"geometric features of this object.\n"
@@ -7011,19 +7371,11 @@ msgstr ""
"geometric features of this object.\n"
"Expressions are allowed. E.g: 1/25.4"
-#: flatcamGUI/ObjectUI.py:123
+#: flatcamGUI/ObjectUI.py:126
msgid "Perform scaling operation."
msgstr "Perform scaling operation."
-#: flatcamGUI/ObjectUI.py:134
-msgid "Change the position of this object."
-msgstr "Change the position of this object."
-
-#: flatcamGUI/ObjectUI.py:139
-msgid "Vector"
-msgstr "Vector"
-
-#: flatcamGUI/ObjectUI.py:141
+#: flatcamGUI/ObjectUI.py:137
msgid ""
"Amount by which to move the object\n"
"in the x and y axes in (x, y) format.\n"
@@ -7033,60 +7385,53 @@ msgstr ""
"in the x and y axes in (x, y) format.\n"
"Expressions are allowed. E.g: (1/3.2, 0.5*3)"
-#: flatcamGUI/ObjectUI.py:150
+#: flatcamGUI/ObjectUI.py:144
msgid "Perform the offset operation."
msgstr "Perform the offset operation."
-#: flatcamGUI/ObjectUI.py:167
+#: flatcamGUI/ObjectUI.py:177
msgid "Gerber Object"
msgstr "Gerber Object"
-#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:767
-#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1905
-#: flatcamGUI/PreferencesUI.py:1783 flatcamGUI/PreferencesUI.py:3849
-#: flatcamGUI/PreferencesUI.py:4406
-msgid "Plot (show) this object."
-msgstr "Plot (show) this object."
-
-#: flatcamGUI/ObjectUI.py:184 flatcamGUI/ObjectUI.py:765
-#: flatcamGUI/PreferencesUI.py:1781 flatcamGUI/PreferencesUI.py:2680
-#: flatcamGUI/PreferencesUI.py:3847
-msgid "Plot"
-msgstr "Plot"
-
-#: flatcamGUI/ObjectUI.py:189 flatcamGUI/ObjectUI.py:726
-#: flatcamGUI/ObjectUI.py:1159 flatcamGUI/ObjectUI.py:1795
-#: flatcamGUI/PreferencesUI.py:1760 flatcamGUI/PreferencesUI.py:2674
-#: flatcamGUI/PreferencesUI.py:3843 flatcamGUI/PreferencesUI.py:4395
+#: flatcamGUI/ObjectUI.py:186 flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/ObjectUI.py:2123
+#: flatcamGUI/PreferencesUI.py:1940 flatcamGUI/PreferencesUI.py:2856
+#: flatcamGUI/PreferencesUI.py:4121 flatcamGUI/PreferencesUI.py:4688
msgid "Plot Options"
msgstr "Plot Options"
-#: flatcamGUI/ObjectUI.py:195 flatcamGUI/ObjectUI.py:727
-#: flatcamGUI/PreferencesUI.py:1767 flatcamGUI/PreferencesUI.py:2686
-#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolCopperThieving.py:190
+#: flatcamGUI/ObjectUI.py:192 flatcamGUI/ObjectUI.py:730
+#: flatcamGUI/PreferencesUI.py:1947 flatcamGUI/PreferencesUI.py:2868
+#: flatcamGUI/PreferencesUI.py:7728 flatcamTools/ToolCopperThieving.py:192
msgid "Solid"
msgstr "Solid"
-#: flatcamGUI/ObjectUI.py:197 flatcamGUI/PreferencesUI.py:1769
+#: flatcamGUI/ObjectUI.py:194 flatcamGUI/PreferencesUI.py:1949
msgid "Solid color polygons."
msgstr "Solid color polygons."
-#: flatcamGUI/ObjectUI.py:203
+#: flatcamGUI/ObjectUI.py:200
msgid "Multi-Color"
msgstr "Multi-Color"
-#: flatcamGUI/ObjectUI.py:205 flatcamGUI/PreferencesUI.py:1776
+#: flatcamGUI/ObjectUI.py:202 flatcamGUI/PreferencesUI.py:1956
msgid "Draw polygons in different colors."
msgstr "Draw polygons in different colors."
-#: flatcamGUI/ObjectUI.py:213 flatcamGUI/ObjectUI.py:738
-#: flatcamGUI/ObjectUI.py:1165 flatcamGUI/ObjectUI.py:1825
-#: flatcamGUI/ObjectUI.py:2128 flatcamGUI/ObjectUI.py:2194
-#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolFiducials.py:73
-msgid "Name"
-msgstr "Name"
+#: flatcamGUI/ObjectUI.py:208 flatcamGUI/ObjectUI.py:768
+#: flatcamGUI/PreferencesUI.py:1961 flatcamGUI/PreferencesUI.py:2862
+#: flatcamGUI/PreferencesUI.py:4125
+msgid "Plot"
+msgstr "Plot"
-#: flatcamGUI/ObjectUI.py:234
+#: flatcamGUI/ObjectUI.py:210 flatcamGUI/ObjectUI.py:770
+#: flatcamGUI/ObjectUI.py:1484 flatcamGUI/ObjectUI.py:2233
+#: flatcamGUI/PreferencesUI.py:1963 flatcamGUI/PreferencesUI.py:4127
+#: flatcamGUI/PreferencesUI.py:4699
+msgid "Plot (show) this object."
+msgstr "Plot (show) this object."
+
+#: flatcamGUI/ObjectUI.py:238
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"When unchecked, it will delete all mark shapes\n"
@@ -7096,11 +7441,11 @@ msgstr ""
"When unchecked, it will delete all mark shapes\n"
"that are drawn on canvas."
-#: flatcamGUI/ObjectUI.py:244
+#: flatcamGUI/ObjectUI.py:248
msgid "Mark All"
msgstr "Mark All"
-#: flatcamGUI/ObjectUI.py:246
+#: flatcamGUI/ObjectUI.py:250
msgid ""
"When checked it will display all the apertures.\n"
"When unchecked, it will delete all mark shapes\n"
@@ -7110,15 +7455,15 @@ msgstr ""
"When unchecked, it will delete all mark shapes\n"
"that are drawn on canvas."
-#: flatcamGUI/ObjectUI.py:274
+#: flatcamGUI/ObjectUI.py:278
msgid "Mark the aperture instances on canvas."
msgstr "Mark the aperture instances on canvas."
-#: flatcamGUI/ObjectUI.py:286 flatcamGUI/PreferencesUI.py:2014
+#: flatcamGUI/ObjectUI.py:290 flatcamGUI/PreferencesUI.py:2194
msgid "Isolation Routing"
msgstr "Isolation Routing"
-#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:2016
+#: flatcamGUI/ObjectUI.py:292 flatcamGUI/PreferencesUI.py:2196
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut outside polygons."
@@ -7126,7 +7471,7 @@ msgstr ""
"Create a Geometry object with\n"
"toolpaths to cut outside polygons."
-#: flatcamGUI/ObjectUI.py:306 flatcamGUI/PreferencesUI.py:2219
+#: flatcamGUI/ObjectUI.py:310 flatcamGUI/PreferencesUI.py:2399
msgid ""
"Choose what tool to use for Gerber isolation:\n"
"'Circular' or 'V-shape'.\n"
@@ -7138,31 +7483,37 @@ msgstr ""
"When the 'V-shape' is selected then the tool\n"
"diameter will depend on the chosen cut depth."
-#: flatcamGUI/ObjectUI.py:312
+#: flatcamGUI/ObjectUI.py:316
msgid "V-Shape"
msgstr "V-Shape"
-#: flatcamGUI/ObjectUI.py:318 flatcamGUI/ObjectUI.py:1374
-#: flatcamGUI/PreferencesUI.py:2231 flatcamGUI/PreferencesUI.py:5055
-#: flatcamTools/ToolNonCopperClear.py:231
+#: flatcamGUI/ObjectUI.py:322 flatcamGUI/ObjectUI.py:1670
+#: flatcamGUI/PreferencesUI.py:2411 flatcamGUI/PreferencesUI.py:5351
+#: flatcamGUI/PreferencesUI.py:5917 flatcamGUI/PreferencesUI.py:5924
+#: flatcamTools/ToolNCC.py:233 flatcamTools/ToolNCC.py:240
+#: flatcamTools/ToolPaint.py:216
msgid "V-Tip Dia"
msgstr "V-Tip Dia"
-#: flatcamGUI/ObjectUI.py:320 flatcamGUI/ObjectUI.py:1377
-#: flatcamGUI/PreferencesUI.py:2233 flatcamGUI/PreferencesUI.py:5057
-#: flatcamTools/ToolNonCopperClear.py:233
+#: flatcamGUI/ObjectUI.py:324 flatcamGUI/ObjectUI.py:1673
+#: flatcamGUI/PreferencesUI.py:2413 flatcamGUI/PreferencesUI.py:5353
+#: flatcamGUI/PreferencesUI.py:5919 flatcamTools/ToolNCC.py:235
+#: flatcamTools/ToolPaint.py:218
msgid "The tip diameter for V-Shape Tool"
msgstr "The tip diameter for V-Shape Tool"
-#: flatcamGUI/ObjectUI.py:331 flatcamGUI/ObjectUI.py:1389
-#: flatcamGUI/PreferencesUI.py:2244 flatcamGUI/PreferencesUI.py:5067
-#: flatcamTools/ToolNonCopperClear.py:242
+#: flatcamGUI/ObjectUI.py:335 flatcamGUI/ObjectUI.py:1685
+#: flatcamGUI/PreferencesUI.py:2424 flatcamGUI/PreferencesUI.py:5363
+#: flatcamGUI/PreferencesUI.py:5930 flatcamGUI/PreferencesUI.py:5938
+#: flatcamTools/ToolNCC.py:246 flatcamTools/ToolNCC.py:254
+#: flatcamTools/ToolPaint.py:229
msgid "V-Tip Angle"
msgstr "V-Tip Angle"
-#: flatcamGUI/ObjectUI.py:333 flatcamGUI/ObjectUI.py:1392
-#: flatcamGUI/PreferencesUI.py:2246 flatcamGUI/PreferencesUI.py:5069
-#: flatcamTools/ToolNonCopperClear.py:244
+#: flatcamGUI/ObjectUI.py:337 flatcamGUI/ObjectUI.py:1688
+#: flatcamGUI/PreferencesUI.py:2426 flatcamGUI/PreferencesUI.py:5365
+#: flatcamGUI/PreferencesUI.py:5932 flatcamTools/ToolNCC.py:248
+#: flatcamTools/ToolPaint.py:231
msgid ""
"The tip angle for V-Shape Tool.\n"
"In degree."
@@ -7170,9 +7521,9 @@ msgstr ""
"The tip angle for V-Shape Tool.\n"
"In degree."
-#: flatcamGUI/ObjectUI.py:347 flatcamGUI/ObjectUI.py:1408
-#: flatcamGUI/PreferencesUI.py:2259 flatcamGUI/PreferencesUI.py:3963
-#: flatcamGUI/PreferencesUI.py:5330 flatcamTools/ToolCutOut.py:135
+#: flatcamGUI/ObjectUI.py:351 flatcamGUI/ObjectUI.py:1704
+#: flatcamGUI/PreferencesUI.py:2439 flatcamGUI/PreferencesUI.py:4243
+#: flatcamGUI/PreferencesUI.py:5669 flatcamTools/ToolCutOut.py:142
msgid ""
"Cutting depth (negative)\n"
"below the copper surface."
@@ -7180,7 +7531,7 @@ msgstr ""
"Cutting depth (negative)\n"
"below the copper surface."
-#: flatcamGUI/ObjectUI.py:361
+#: flatcamGUI/ObjectUI.py:365
msgid ""
"Diameter of the cutting tool.\n"
"If you want to have an isolation path\n"
@@ -7194,11 +7545,11 @@ msgstr ""
"feature, use a negative value for\n"
"this parameter."
-#: flatcamGUI/ObjectUI.py:377 flatcamGUI/PreferencesUI.py:2038
+#: flatcamGUI/ObjectUI.py:381 flatcamGUI/PreferencesUI.py:2218
msgid "# Passes"
msgstr "# Passes"
-#: flatcamGUI/ObjectUI.py:379 flatcamGUI/PreferencesUI.py:2040
+#: flatcamGUI/ObjectUI.py:383 flatcamGUI/PreferencesUI.py:2220
msgid ""
"Width of the isolation gap in\n"
"number (integer) of tool widths."
@@ -7206,22 +7557,16 @@ msgstr ""
"Width of the isolation gap in\n"
"number (integer) of tool widths."
-#: flatcamGUI/ObjectUI.py:389 flatcamGUI/PreferencesUI.py:2050
+#: flatcamGUI/ObjectUI.py:394 flatcamGUI/PreferencesUI.py:2230
msgid "Pass overlap"
msgstr "Pass overlap"
-#: flatcamGUI/ObjectUI.py:391 flatcamGUI/PreferencesUI.py:2052
-msgid "How much (fraction) of the tool width to overlap each tool pass."
-msgstr "How much (fraction) of the tool width to overlap each tool pass."
+#: flatcamGUI/ObjectUI.py:396 flatcamGUI/PreferencesUI.py:2232
+msgid "How much (percentage) of the tool width to overlap each tool pass."
+msgstr "How much (percentage) of the tool width to overlap each tool pass."
-#: flatcamGUI/ObjectUI.py:403 flatcamGUI/PreferencesUI.py:2077
-#: flatcamGUI/PreferencesUI.py:4372 flatcamGUI/PreferencesUI.py:5112
-#: flatcamTools/ToolNonCopperClear.py:162
-msgid "Milling Type"
-msgstr "Milling Type"
-
-#: flatcamGUI/ObjectUI.py:405 flatcamGUI/PreferencesUI.py:2079
-#: flatcamGUI/PreferencesUI.py:4374
+#: flatcamGUI/ObjectUI.py:410 flatcamGUI/PreferencesUI.py:2259
+#: flatcamGUI/PreferencesUI.py:4667
msgid ""
"Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
@@ -7231,29 +7576,19 @@ msgstr ""
"- climb / best for precision milling and to reduce tool usage\n"
"- conventional / useful when there is no backlash compensation"
-#: flatcamGUI/ObjectUI.py:409 flatcamGUI/PreferencesUI.py:2084
-#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:5119
-#: flatcamTools/ToolNonCopperClear.py:169
-msgid "Climb"
-msgstr "Climb"
-
-#: flatcamGUI/ObjectUI.py:410
-msgid "Conventional"
-msgstr "Conventional"
-
-#: flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/ObjectUI.py:420
msgid "Combine"
msgstr "Combine"
-#: flatcamGUI/ObjectUI.py:417 flatcamGUI/PreferencesUI.py:2091
+#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2271
msgid "Combine all passes into one object"
msgstr "Combine all passes into one object"
-#: flatcamGUI/ObjectUI.py:421 flatcamGUI/PreferencesUI.py:2193
+#: flatcamGUI/ObjectUI.py:426 flatcamGUI/PreferencesUI.py:2373
msgid "\"Follow\""
msgstr "\"Follow\""
-#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2195
+#: flatcamGUI/ObjectUI.py:427 flatcamGUI/PreferencesUI.py:2375
msgid ""
"Generate a 'Follow' geometry.\n"
"This means that it will cut through\n"
@@ -7263,11 +7598,11 @@ msgstr ""
"This means that it will cut through\n"
"the middle of the trace."
-#: flatcamGUI/ObjectUI.py:428
+#: flatcamGUI/ObjectUI.py:433
msgid "Except"
msgstr "Except"
-#: flatcamGUI/ObjectUI.py:431
+#: flatcamGUI/ObjectUI.py:436
msgid ""
"When the isolation geometry is generated,\n"
"by checking this, the area of the object bellow\n"
@@ -7277,12 +7612,12 @@ msgstr ""
"by checking this, the area of the object bellow\n"
"will be subtracted from the isolation geometry."
-#: flatcamGUI/ObjectUI.py:453 flatcamTools/ToolNonCopperClear.py:82
-#: flatcamTools/ToolPaint.py:85
+#: flatcamGUI/ObjectUI.py:456 flatcamTools/ToolNCC.py:86
+#: flatcamTools/ToolPaint.py:80
msgid "Obj Type"
msgstr "Obj Type"
-#: flatcamGUI/ObjectUI.py:455
+#: flatcamGUI/ObjectUI.py:458
msgid ""
"Specify the type of object to be excepted from isolation.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -7294,22 +7629,22 @@ msgstr ""
"What is selected here will dictate the kind\n"
"of objects that will populate the 'Object' combobox."
-#: flatcamGUI/ObjectUI.py:468 flatcamGUI/PreferencesUI.py:7522
-#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNonCopperClear.py:100
-#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:81
-#: flatcamTools/ToolPanelize.py:94
+#: flatcamGUI/ObjectUI.py:471 flatcamGUI/PreferencesUI.py:8028
+#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNCC.py:109
+#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:100
+#: flatcamTools/ToolQRCode.py:78
msgid "Object"
msgstr "Object"
-#: flatcamGUI/ObjectUI.py:469
+#: flatcamGUI/ObjectUI.py:472
msgid "Object whose area will be removed from isolation geometry."
msgstr "Object whose area will be removed from isolation geometry."
-#: flatcamGUI/ObjectUI.py:476 flatcamGUI/PreferencesUI.py:2064
+#: flatcamGUI/ObjectUI.py:479 flatcamGUI/PreferencesUI.py:2244
msgid "Scope"
msgstr "Scope"
-#: flatcamGUI/ObjectUI.py:478 flatcamGUI/PreferencesUI.py:2066
+#: flatcamGUI/ObjectUI.py:481 flatcamGUI/PreferencesUI.py:2246
msgid ""
"Isolation scope. Choose what to isolate:\n"
"- 'All' -> Isolate all the polygons in the object\n"
@@ -7319,17 +7654,18 @@ msgstr ""
"- 'All' -> Isolate all the polygons in the object\n"
"- 'Selection' -> Isolate a selection of polygons."
-#: flatcamGUI/ObjectUI.py:483 flatcamGUI/PreferencesUI.py:602
-#: flatcamGUI/PreferencesUI.py:2071 flatcamGUI/PreferencesUI.py:5634
-#: flatcamTools/ToolPaint.py:294
+#: flatcamGUI/ObjectUI.py:486 flatcamGUI/PreferencesUI.py:624
+#: flatcamGUI/PreferencesUI.py:2251 flatcamGUI/PreferencesUI.py:5590
+#: flatcamGUI/PreferencesUI.py:6097 flatcamTools/ToolNCC.py:539
+#: flatcamTools/ToolPaint.py:456
msgid "Selection"
msgstr "Selection"
-#: flatcamGUI/ObjectUI.py:491 flatcamGUI/PreferencesUI.py:2272
+#: flatcamGUI/ObjectUI.py:494 flatcamGUI/PreferencesUI.py:2452
msgid "Isolation Type"
msgstr "Isolation Type"
-#: flatcamGUI/ObjectUI.py:493 flatcamGUI/PreferencesUI.py:2274
+#: flatcamGUI/ObjectUI.py:496 flatcamGUI/PreferencesUI.py:2454
msgid ""
"Choose how the isolation will be executed:\n"
"- 'Full' -> complete isolation of polygons\n"
@@ -7349,24 +7685,24 @@ msgstr ""
"isolation can be done only when there is an opening\n"
"inside of the polygon (e.g polygon is a 'doughnut' shape)."
-#: flatcamGUI/ObjectUI.py:502 flatcamGUI/PreferencesUI.py:2283
-#: flatcamGUI/PreferencesUI.py:2304
+#: flatcamGUI/ObjectUI.py:505 flatcamGUI/PreferencesUI.py:2463
+#: flatcamGUI/PreferencesUI.py:2484
msgid "Full"
msgstr "Full"
-#: flatcamGUI/ObjectUI.py:503
+#: flatcamGUI/ObjectUI.py:506
msgid "Ext"
msgstr "Ext"
-#: flatcamGUI/ObjectUI.py:504
+#: flatcamGUI/ObjectUI.py:507
msgid "Int"
msgstr "Int"
-#: flatcamGUI/ObjectUI.py:509
+#: flatcamGUI/ObjectUI.py:512
msgid "Generate Isolation Geometry"
msgstr "Generate Isolation Geometry"
-#: flatcamGUI/ObjectUI.py:517
+#: flatcamGUI/ObjectUI.py:520
msgid ""
"Create a Geometry object with toolpaths to cut \n"
"isolation outside, inside or on both sides of the\n"
@@ -7388,11 +7724,11 @@ msgstr ""
"inside the actual Gerber feature, use a negative tool\n"
"diameter above."
-#: flatcamGUI/ObjectUI.py:529
+#: flatcamGUI/ObjectUI.py:532
msgid "Buffer Solid Geometry"
msgstr "Buffer Solid Geometry"
-#: flatcamGUI/ObjectUI.py:531
+#: flatcamGUI/ObjectUI.py:534
msgid ""
"This button is shown only when the Gerber file\n"
"is loaded without buffering.\n"
@@ -7404,11 +7740,11 @@ msgstr ""
"Clicking this will create the buffered geometry\n"
"required for isolation."
-#: flatcamGUI/ObjectUI.py:559
+#: flatcamGUI/ObjectUI.py:566
msgid "Clear N-copper"
msgstr "Clear N-copper"
-#: flatcamGUI/ObjectUI.py:561 flatcamGUI/PreferencesUI.py:5019
+#: flatcamGUI/ObjectUI.py:568 flatcamGUI/PreferencesUI.py:5312
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut all non-copper regions."
@@ -7416,8 +7752,8 @@ msgstr ""
"Create a Geometry object with\n"
"toolpaths to cut all non-copper regions."
-#: flatcamGUI/ObjectUI.py:568 flatcamGUI/ObjectUI.py:1751
-#: flatcamTools/ToolNonCopperClear.py:473
+#: flatcamGUI/ObjectUI.py:575 flatcamGUI/ObjectUI.py:2077
+#: flatcamTools/ToolNCC.py:599
msgid ""
"Create the Geometry Object\n"
"for non-copper routing."
@@ -7425,11 +7761,11 @@ msgstr ""
"Create the Geometry Object\n"
"for non-copper routing."
-#: flatcamGUI/ObjectUI.py:581
+#: flatcamGUI/ObjectUI.py:588
msgid "Board cutout"
msgstr "Board cutout"
-#: flatcamGUI/ObjectUI.py:583 flatcamGUI/PreferencesUI.py:5303
+#: flatcamGUI/ObjectUI.py:590 flatcamGUI/PreferencesUI.py:5642
msgid ""
"Create toolpaths to cut around\n"
"the PCB and separate it from\n"
@@ -7439,7 +7775,7 @@ msgstr ""
"the PCB and separate it from\n"
"the original board."
-#: flatcamGUI/ObjectUI.py:590
+#: flatcamGUI/ObjectUI.py:597
msgid ""
"Generate the geometry for\n"
"the board cutout."
@@ -7447,11 +7783,11 @@ msgstr ""
"Generate the geometry for\n"
"the board cutout."
-#: flatcamGUI/ObjectUI.py:608 flatcamGUI/PreferencesUI.py:2101
+#: flatcamGUI/ObjectUI.py:615 flatcamGUI/PreferencesUI.py:2281
msgid "Non-copper regions"
msgstr "Non-copper regions"
-#: flatcamGUI/ObjectUI.py:610 flatcamGUI/PreferencesUI.py:2103
+#: flatcamGUI/ObjectUI.py:617 flatcamGUI/PreferencesUI.py:2283
msgid ""
"Create polygons covering the\n"
"areas without copper on the PCB.\n"
@@ -7465,12 +7801,12 @@ msgstr ""
"object. Can be used to remove all\n"
"copper from a specified region."
-#: flatcamGUI/ObjectUI.py:620 flatcamGUI/ObjectUI.py:661
-#: flatcamGUI/PreferencesUI.py:2115 flatcamGUI/PreferencesUI.py:2148
+#: flatcamGUI/ObjectUI.py:627 flatcamGUI/ObjectUI.py:668
+#: flatcamGUI/PreferencesUI.py:2295 flatcamGUI/PreferencesUI.py:2328
msgid "Boundary Margin"
msgstr "Boundary Margin"
-#: flatcamGUI/ObjectUI.py:622 flatcamGUI/PreferencesUI.py:2117
+#: flatcamGUI/ObjectUI.py:629 flatcamGUI/PreferencesUI.py:2297
msgid ""
"Specify the edge of the PCB\n"
"by drawing a box around all\n"
@@ -7482,27 +7818,27 @@ msgstr ""
"objects with this minimum\n"
"distance."
-#: flatcamGUI/ObjectUI.py:637 flatcamGUI/ObjectUI.py:675
-#: flatcamGUI/PreferencesUI.py:2130 flatcamGUI/PreferencesUI.py:2161
+#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:682
+#: flatcamGUI/PreferencesUI.py:2310 flatcamGUI/PreferencesUI.py:2341
msgid "Rounded Geo"
msgstr "Rounded Geo"
-#: flatcamGUI/ObjectUI.py:639 flatcamGUI/PreferencesUI.py:2132
+#: flatcamGUI/ObjectUI.py:646 flatcamGUI/PreferencesUI.py:2312
msgid "Resulting geometry will have rounded corners."
msgstr "Resulting geometry will have rounded corners."
-#: flatcamGUI/ObjectUI.py:643 flatcamGUI/ObjectUI.py:684
-#: flatcamTools/ToolSolderPaste.py:133
+#: flatcamGUI/ObjectUI.py:650 flatcamGUI/ObjectUI.py:691
+#: flatcamTools/ToolSolderPaste.py:135
msgid "Generate Geo"
msgstr "Generate Geo"
-#: flatcamGUI/ObjectUI.py:653 flatcamGUI/PreferencesUI.py:2142
-#: flatcamGUI/PreferencesUI.py:7052 flatcamTools/ToolPanelize.py:95
+#: flatcamGUI/ObjectUI.py:660 flatcamGUI/PreferencesUI.py:2322
+#: flatcamGUI/PreferencesUI.py:7558 flatcamTools/ToolPanelize.py:101
#: flatcamTools/ToolQRCode.py:192
msgid "Bounding Box"
msgstr "Bounding Box"
-#: flatcamGUI/ObjectUI.py:655
+#: flatcamGUI/ObjectUI.py:662
msgid ""
"Create a geometry surrounding the Gerber object.\n"
"Square shape."
@@ -7510,7 +7846,7 @@ msgstr ""
"Create a geometry surrounding the Gerber object.\n"
"Square shape."
-#: flatcamGUI/ObjectUI.py:663 flatcamGUI/PreferencesUI.py:2150
+#: flatcamGUI/ObjectUI.py:670 flatcamGUI/PreferencesUI.py:2330
msgid ""
"Distance of the edges of the box\n"
"to the nearest polygon."
@@ -7518,7 +7854,7 @@ msgstr ""
"Distance of the edges of the box\n"
"to the nearest polygon."
-#: flatcamGUI/ObjectUI.py:677 flatcamGUI/PreferencesUI.py:2163
+#: flatcamGUI/ObjectUI.py:684 flatcamGUI/PreferencesUI.py:2343
msgid ""
"If the bounding box is \n"
"to have rounded corners\n"
@@ -7530,33 +7866,31 @@ msgstr ""
"their radius is equal to\n"
"the margin."
-#: flatcamGUI/ObjectUI.py:686
+#: flatcamGUI/ObjectUI.py:693
msgid "Generate the Geometry object."
msgstr "Generate the Geometry object."
-#: flatcamGUI/ObjectUI.py:715
+#: flatcamGUI/ObjectUI.py:720
msgid "Excellon Object"
msgstr "Excellon Object"
-#: flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:732
msgid "Solid circles."
msgstr "Solid circles."
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926
-#: flatcamTools/ToolProperties.py:161
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:875
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3289
+#: flatcamTools/ToolProperties.py:166
msgid "Drills"
msgstr "Drills"
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926
-#: flatcamGUI/PreferencesUI.py:3683 flatcamTools/ToolProperties.py:162
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:876
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3290
+#: flatcamGUI/PreferencesUI.py:3961 flatcamTools/ToolProperties.py:168
msgid "Slots"
msgstr "Slots"
-#: flatcamGUI/ObjectUI.py:778 flatcamGUI/PreferencesUI.py:3289
-msgid "Offset Z"
-msgstr "Offset Z"
-
-#: flatcamGUI/ObjectUI.py:782
+#: flatcamGUI/ObjectUI.py:785
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
@@ -7570,8 +7904,8 @@ msgstr ""
"\n"
"Here the tools are selected for G-code generation."
-#: flatcamGUI/ObjectUI.py:787 flatcamGUI/ObjectUI.py:1230
-#: flatcamTools/ToolPaint.py:137
+#: flatcamGUI/ObjectUI.py:790 flatcamGUI/ObjectUI.py:1508
+#: flatcamTools/ToolPaint.py:142
msgid ""
"Tool Diameter. It's value (in current FlatCAM units) \n"
"is the cut width into the material."
@@ -7579,33 +7913,23 @@ msgstr ""
"Tool Diameter. It's value (in current FlatCAM units) \n"
"is the cut width into the material."
-#: flatcamGUI/ObjectUI.py:790
-msgid ""
-"The number of Drill holes. Holes that are drilled with\n"
-"a drill bit."
-msgstr ""
-"The number of Drill holes. Holes that are drilled with\n"
-"a drill bit."
-
#: flatcamGUI/ObjectUI.py:793
msgid ""
-"The number of Slot holes. Holes that are created by\n"
-"milling them with an endmill bit."
+"The number of Drill holes. Holes that are drilled with\n"
+"a drill bit."
msgstr ""
-"The number of Slot holes. Holes that are created by\n"
-"milling them with an endmill bit."
+"The number of Drill holes. Holes that are drilled with\n"
+"a drill bit."
-#: flatcamGUI/ObjectUI.py:796 flatcamGUI/PreferencesUI.py:3291
+#: flatcamGUI/ObjectUI.py:796
msgid ""
-"Some drill bits (the larger ones) need to drill deeper\n"
-"to create the desired exit hole diameter due of the tip shape.\n"
-"The value here can compensate the Cut Z parameter."
+"The number of Slot holes. Holes that are created by\n"
+"milling them with an endmill bit."
msgstr ""
-"Some drill bits (the larger ones) need to drill deeper\n"
-"to create the desired exit hole diameter due of the tip shape.\n"
-"The value here can compensate the Cut Z parameter."
+"The number of Slot holes. Holes that are created by\n"
+"milling them with an endmill bit."
-#: flatcamGUI/ObjectUI.py:800
+#: flatcamGUI/ObjectUI.py:799
msgid ""
"Toggle display of the drills for the current tool.\n"
"This does not select the tools for G-code generation."
@@ -7613,453 +7937,8 @@ msgstr ""
"Toggle display of the drills for the current tool.\n"
"This does not select the tools for G-code generation."
-#: flatcamGUI/ObjectUI.py:807 flatcamGUI/PreferencesUI.py:3069
-#: flatcamGUI/PreferencesUI.py:3947
-msgid "Create CNC Job"
-msgstr "Create CNC Job"
-
-#: flatcamGUI/ObjectUI.py:809
-msgid ""
-"Create a CNC Job object\n"
-"for this drill object."
-msgstr ""
-"Create a CNC Job object\n"
-"for this drill object."
-
-#: flatcamGUI/ObjectUI.py:822 flatcamGUI/PreferencesUI.py:3084
-msgid ""
-"Drill depth (negative)\n"
-"below the copper surface."
-msgstr ""
-"Drill depth (negative)\n"
-"below the copper surface."
-
-#: flatcamGUI/ObjectUI.py:841 flatcamGUI/PreferencesUI.py:3102
-msgid ""
-"Tool height when travelling\n"
-"across the XY plane."
-msgstr ""
-"Tool height when travelling\n"
-"across the XY plane."
-
-#: flatcamGUI/ObjectUI.py:858 flatcamGUI/ObjectUI.py:1478
-#: flatcamGUI/PreferencesUI.py:3117 flatcamGUI/PreferencesUI.py:4034
-msgid "Tool change"
-msgstr "Tool change"
-
-#: flatcamGUI/ObjectUI.py:860 flatcamGUI/PreferencesUI.py:3119
-msgid ""
-"Include tool-change sequence\n"
-"in G-Code (Pause for tool change)."
-msgstr ""
-"Include tool-change sequence\n"
-"in G-Code (Pause for tool change)."
-
-#: flatcamGUI/ObjectUI.py:866 flatcamGUI/ObjectUI.py:1471
-msgid "Tool change Z"
-msgstr "Tool change Z"
-
-#: flatcamGUI/ObjectUI.py:868 flatcamGUI/ObjectUI.py:1474
-#: flatcamGUI/PreferencesUI.py:3126 flatcamGUI/PreferencesUI.py:4047
-msgid ""
-"Z-axis position (height) for\n"
-"tool change."
-msgstr ""
-"Z-axis position (height) for\n"
-"tool change."
-
-#: flatcamGUI/ObjectUI.py:888 flatcamGUI/PreferencesUI.py:3311
-msgid ""
-"Height of the tool just after start.\n"
-"Delete the value if you don't need this feature."
-msgstr ""
-"Height of the tool just after start.\n"
-"Delete the value if you don't need this feature."
-
-#: flatcamGUI/ObjectUI.py:896 flatcamGUI/ObjectUI.py:1512
-#: flatcamGUI/PreferencesUI.py:3141 flatcamGUI/PreferencesUI.py:4066
-msgid "End move Z"
-msgstr "End move Z"
-
-#: flatcamGUI/ObjectUI.py:898 flatcamGUI/ObjectUI.py:1514
-#: flatcamGUI/PreferencesUI.py:3143 flatcamGUI/PreferencesUI.py:4068
-msgid ""
-"Height of the tool after\n"
-"the last move at the end of the job."
-msgstr ""
-"Height of the tool after\n"
-"the last move at the end of the job."
-
-#: flatcamGUI/ObjectUI.py:915 flatcamGUI/ObjectUI.py:1545
-#: flatcamGUI/PreferencesUI.py:3158 flatcamGUI/PreferencesUI.py:4101
-#: flatcamGUI/PreferencesUI.py:6566 flatcamTools/ToolSolderPaste.py:264
-msgid "Feedrate Z"
-msgstr "Feedrate Z"
-
-#: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:3160
-msgid ""
-"Tool speed while drilling\n"
-"(in units per minute).\n"
-"So called 'Plunge' feedrate.\n"
-"This is for linear move G01."
-msgstr ""
-"Tool speed while drilling\n"
-"(in units per minute).\n"
-"So called 'Plunge' feedrate.\n"
-"This is for linear move G01."
-
-#: flatcamGUI/ObjectUI.py:931 flatcamGUI/ObjectUI.py:1560
-#: flatcamGUI/PreferencesUI.py:3319 flatcamGUI/PreferencesUI.py:4210
-msgid "Feedrate Rapids"
-msgstr "Feedrate Rapids"
-
-#: flatcamGUI/ObjectUI.py:933 flatcamGUI/PreferencesUI.py:3321
-msgid ""
-"Tool speed while drilling\n"
-"(in units per minute).\n"
-"This is for the rapid move G00.\n"
-"It is useful only for Marlin,\n"
-"ignore for any other cases."
-msgstr ""
-"Tool speed while drilling\n"
-"(in units per minute).\n"
-"This is for the rapid move G00.\n"
-"It is useful only for Marlin,\n"
-"ignore for any other cases."
-
-#: flatcamGUI/ObjectUI.py:951 flatcamGUI/ObjectUI.py:1603
-#: flatcamGUI/PreferencesUI.py:4117
-msgid "Spindle speed"
-msgstr "Spindle speed"
-
-#: flatcamGUI/ObjectUI.py:953 flatcamGUI/PreferencesUI.py:3175
-msgid ""
-"Speed of the spindle\n"
-"in RPM (optional)"
-msgstr ""
-"Speed of the spindle\n"
-"in RPM (optional)"
-
-#: flatcamGUI/ObjectUI.py:965 flatcamGUI/ObjectUI.py:1622
-#: flatcamGUI/PreferencesUI.py:3187 flatcamGUI/PreferencesUI.py:4135
-msgid ""
-"Pause to allow the spindle to reach its\n"
-"speed before cutting."
-msgstr ""
-"Pause to allow the spindle to reach its\n"
-"speed before cutting."
-
-#: flatcamGUI/ObjectUI.py:974 flatcamGUI/ObjectUI.py:1632
-#: flatcamGUI/PreferencesUI.py:3193 flatcamGUI/PreferencesUI.py:4140
-msgid "Number of time units for spindle to dwell."
-msgstr "Number of time units for spindle to dwell."
-
-#: flatcamGUI/ObjectUI.py:984 flatcamGUI/PreferencesUI.py:3206
-msgid ""
-"The preprocessor JSON file that dictates\n"
-"Gcode output."
-msgstr ""
-"The preprocessor JSON file that dictates\n"
-"Gcode output."
-
-#: flatcamGUI/ObjectUI.py:993 flatcamGUI/ObjectUI.py:1652
-#: flatcamGUI/PreferencesUI.py:3335 flatcamGUI/PreferencesUI.py:4251
-msgid "Probe Z depth"
-msgstr "Probe Z depth"
-
-#: flatcamGUI/ObjectUI.py:995 flatcamGUI/ObjectUI.py:1654
-#: flatcamGUI/PreferencesUI.py:3337 flatcamGUI/PreferencesUI.py:4253
-msgid ""
-"The maximum depth that the probe is allowed\n"
-"to probe. Negative value, in current units."
-msgstr ""
-"The maximum depth that the probe is allowed\n"
-"to probe. Negative value, in current units."
-
-#: flatcamGUI/ObjectUI.py:1009 flatcamGUI/ObjectUI.py:1669
-#: flatcamGUI/PreferencesUI.py:3348 flatcamGUI/PreferencesUI.py:4266
-msgid "Feedrate Probe"
-msgstr "Feedrate Probe"
-
-#: flatcamGUI/ObjectUI.py:1011 flatcamGUI/ObjectUI.py:1671
-#: flatcamGUI/PreferencesUI.py:3350 flatcamGUI/PreferencesUI.py:4268
-msgid "The feedrate used while the probe is probing."
-msgstr "The feedrate used while the probe is probing."
-
-#: flatcamGUI/ObjectUI.py:1037 flatcamGUI/PreferencesUI.py:3215
-msgid "Gcode"
-msgstr "Gcode"
-
-#: flatcamGUI/ObjectUI.py:1039
-msgid ""
-"Choose what to use for GCode generation:\n"
-"'Drills', 'Slots' or 'Both'.\n"
-"When choosing 'Slots' or 'Both', slots will be\n"
-"converted to a series of drills."
-msgstr ""
-"Choose what to use for GCode generation:\n"
-"'Drills', 'Slots' or 'Both'.\n"
-"When choosing 'Slots' or 'Both', slots will be\n"
-"converted to a series of drills."
-
-#: flatcamGUI/ObjectUI.py:1053
-msgid "Create Drills GCode"
-msgstr "Create Drills GCode"
-
-#: flatcamGUI/ObjectUI.py:1055
-msgid "Generate the CNC Job."
-msgstr "Generate the CNC Job."
-
-#: flatcamGUI/ObjectUI.py:1066 flatcamGUI/PreferencesUI.py:3233
-msgid "Mill Holes"
-msgstr "Mill Holes"
-
-#: flatcamGUI/ObjectUI.py:1068
-msgid ""
-"Create Geometry for milling holes.\n"
-"Select from the Tools Table above the hole dias to be\n"
-"milled. Use the # column to make the selection."
-msgstr ""
-"Create Geometry for milling holes.\n"
-"Select from the Tools Table above the hole dias to be\n"
-"milled. Use the # column to make the selection."
-
-#: flatcamGUI/ObjectUI.py:1074 flatcamGUI/PreferencesUI.py:3239
-msgid "Drill Tool dia"
-msgstr "Drill Tool dia"
-
-#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/PreferencesUI.py:2027
-#: flatcamGUI/PreferencesUI.py:3241
-msgid "Diameter of the cutting tool."
-msgstr "Diameter of the cutting tool."
-
-#: flatcamGUI/ObjectUI.py:1083
-msgid "Mill Drills Geo"
-msgstr "Mill Drills Geo"
-
-#: flatcamGUI/ObjectUI.py:1085
-msgid ""
-"Create the Geometry Object\n"
-"for milling DRILLS toolpaths."
-msgstr ""
-"Create the Geometry Object\n"
-"for milling DRILLS toolpaths."
-
-#: flatcamGUI/ObjectUI.py:1099 flatcamGUI/PreferencesUI.py:3250
-msgid "Slot Tool dia"
-msgstr "Slot Tool dia"
-
-#: flatcamGUI/ObjectUI.py:1101 flatcamGUI/PreferencesUI.py:3252
-msgid ""
-"Diameter of the cutting tool\n"
-"when milling slots."
-msgstr ""
-"Diameter of the cutting tool\n"
-"when milling slots."
-
-#: flatcamGUI/ObjectUI.py:1110
-msgid "Mill Slots Geo"
-msgstr "Mill Slots Geo"
-
-#: flatcamGUI/ObjectUI.py:1112
-msgid ""
-"Create the Geometry Object\n"
-"for milling SLOTS toolpaths."
-msgstr ""
-"Create the Geometry Object\n"
-"for milling SLOTS toolpaths."
-
-#: flatcamGUI/ObjectUI.py:1152 flatcamTools/ToolCutOut.py:317
-msgid "Geometry Object"
-msgstr "Geometry Object"
-
-#: flatcamGUI/ObjectUI.py:1186
-msgid ""
-"Tools in this Geometry object used for cutting.\n"
-"The 'Offset' entry will set an offset for the cut.\n"
-"'Offset' can be inside, outside, on path (none) and custom.\n"
-"'Type' entry is only informative and it allow to know the \n"
-"intent of using the current tool. \n"
-"It can be Rough(ing), Finish(ing) or Iso(lation).\n"
-"The 'Tool type'(TT) can be circular with 1 to 4 teeths(C1..C4),\n"
-"ball(B), or V-Shaped(V). \n"
-"When V-shaped is selected the 'Type' entry is automatically \n"
-"set to Isolation, the CutZ parameter in the UI form is\n"
-"grayed out and Cut Z is automatically calculated from the newly \n"
-"showed UI form entries named V-Tip Dia and V-Tip Angle."
-msgstr ""
-"Tools in this Geometry object used for cutting.\n"
-"The 'Offset' entry will set an offset for the cut.\n"
-"'Offset' can be inside, outside, on path (none) and custom.\n"
-"'Type' entry is only informative and it allow to know the \n"
-"intent of using the current tool. \n"
-"It can be Rough(ing), Finish(ing) or Iso(lation).\n"
-"The 'Tool type'(TT) can be circular with 1 to 4 teeths(C1..C4),\n"
-"ball(B), or V-Shaped(V). \n"
-"When V-shaped is selected the 'Type' entry is automatically \n"
-"set to Isolation, the CutZ parameter in the UI form is\n"
-"grayed out and Cut Z is automatically calculated from the newly \n"
-"showed UI form entries named V-Tip Dia and V-Tip Angle."
-
-#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1903
-#: flatcamGUI/PreferencesUI.py:4405
-msgid "Plot Object"
-msgstr "Plot Object"
-
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:7241
-#: flatcamTools/ToolCopperThieving.py:220
-msgid "Dia"
-msgstr "Dia"
-
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
-msgid "TT"
-msgstr "TT"
-
-#: flatcamGUI/ObjectUI.py:1224
-msgid ""
-"This is the Tool Number.\n"
-"When ToolChange is checked, on toolchange event this value\n"
-"will be showed as a T1, T2 ... Tn"
-msgstr ""
-"This is the Tool Number.\n"
-"When ToolChange is checked, on toolchange event this value\n"
-"will be showed as a T1, T2 ... Tn"
-
-#: flatcamGUI/ObjectUI.py:1235
-msgid ""
-"The value for the Offset can be:\n"
-"- Path -> There is no offset, the tool cut will be done through the geometry "
-"line.\n"
-"- In(side) -> The tool cut will follow the geometry inside. It will create a "
-"'pocket'.\n"
-"- Out(side) -> The tool cut will follow the geometry line on the outside."
-msgstr ""
-"The value for the Offset can be:\n"
-"- Path -> There is no offset, the tool cut will be done through the geometry "
-"line.\n"
-"- In(side) -> The tool cut will follow the geometry inside. It will create a "
-"'pocket'.\n"
-"- Out(side) -> The tool cut will follow the geometry line on the outside."
-
-#: flatcamGUI/ObjectUI.py:1242
-msgid ""
-"The (Operation) Type has only informative value. Usually the UI form "
-"values \n"
-"are choose based on the operation type and this will serve as a reminder.\n"
-"Can be 'Roughing', 'Finishing' or 'Isolation'.\n"
-"For Roughing we may choose a lower Feedrate and multiDepth cut.\n"
-"For Finishing we may choose a higher Feedrate, without multiDepth.\n"
-"For Isolation we need a lower Feedrate as it use a milling bit with a fine "
-"tip."
-msgstr ""
-"The (Operation) Type has only informative value. Usually the UI form "
-"values \n"
-"are choose based on the operation type and this will serve as a reminder.\n"
-"Can be 'Roughing', 'Finishing' or 'Isolation'.\n"
-"For Roughing we may choose a lower Feedrate and multiDepth cut.\n"
-"For Finishing we may choose a higher Feedrate, without multiDepth.\n"
-"For Isolation we need a lower Feedrate as it use a milling bit with a fine "
-"tip."
-
-#: flatcamGUI/ObjectUI.py:1251
-msgid ""
-"The Tool Type (TT) can be:\n"
-"- Circular with 1 ... 4 teeth -> it is informative only. Being circular the "
-"cut width in material\n"
-"is exactly the tool diameter.\n"
-"- Ball -> informative only and make reference to the Ball type endmill.\n"
-"- V-Shape -> it will disable de Z-Cut parameter in the UI form and enable "
-"two additional UI form\n"
-"fields: V-Tip Dia and V-Tip Angle. Adjusting those two values will adjust "
-"the Z-Cut parameter such\n"
-"as the cut width into material will be equal with the value in the Tool "
-"Diameter column of this table.\n"
-"Choosing the V-Shape Tool Type automatically will select the Operation Type "
-"as Isolation."
-msgstr ""
-"The Tool Type (TT) can be:\n"
-"- Circular with 1 ... 4 teeth -> it is informative only. Being circular the "
-"cut width in material\n"
-"is exactly the tool diameter.\n"
-"- Ball -> informative only and make reference to the Ball type endmill.\n"
-"- V-Shape -> it will disable de Z-Cut parameter in the UI form and enable "
-"two additional UI form\n"
-"fields: V-Tip Dia and V-Tip Angle. Adjusting those two values will adjust "
-"the Z-Cut parameter such\n"
-"as the cut width into material will be equal with the value in the Tool "
-"Diameter column of this table.\n"
-"Choosing the V-Shape Tool Type automatically will select the Operation Type "
-"as Isolation."
-
-#: flatcamGUI/ObjectUI.py:1263
-msgid ""
-"Plot column. It is visible only for MultiGeo geometries, meaning geometries "
-"that holds the geometry\n"
-"data into the tools. For those geometries, deleting the tool will delete the "
-"geometry data also,\n"
-"so be WARNED. From the checkboxes on each row it can be enabled/disabled the "
-"plot on canvas\n"
-"for the corresponding tool."
-msgstr ""
-"Plot column. It is visible only for MultiGeo geometries, meaning geometries "
-"that holds the geometry\n"
-"data into the tools. For those geometries, deleting the tool will delete the "
-"geometry data also,\n"
-"so be WARNED. From the checkboxes on each row it can be enabled/disabled the "
-"plot on canvas\n"
-"for the corresponding tool."
-
-#: flatcamGUI/ObjectUI.py:1281
-msgid ""
-"The value to offset the cut when \n"
-"the Offset type selected is 'Offset'.\n"
-"The value can be positive for 'outside'\n"
-"cut and negative for 'inside' cut."
-msgstr ""
-"The value to offset the cut when \n"
-"the Offset type selected is 'Offset'.\n"
-"The value can be positive for 'outside'\n"
-"cut and negative for 'inside' cut."
-
-#: flatcamGUI/ObjectUI.py:1306
-msgid ""
-"Add a new tool to the Tool Table\n"
-"with the specified diameter."
-msgstr ""
-"Add a new tool to the Tool Table\n"
-"with the specified diameter."
-
-#: flatcamGUI/ObjectUI.py:1314
-msgid "Add Tool from DataBase"
-msgstr "Add Tool from DataBase"
-
-#: flatcamGUI/ObjectUI.py:1316
-msgid ""
-"Add a new tool to the Tool Table\n"
-"from the Tool DataBase."
-msgstr ""
-"Add a new tool to the Tool Table\n"
-"from the Tool DataBase."
-
-#: flatcamGUI/ObjectUI.py:1326
-msgid ""
-"Copy a selection of tools in the Tool Table\n"
-"by first selecting a row in the Tool Table."
-msgstr ""
-"Copy a selection of tools in the Tool Table\n"
-"by first selecting a row in the Tool Table."
-
-#: flatcamGUI/ObjectUI.py:1332
-msgid ""
-"Delete a selection of tools in the Tool Table\n"
-"by first selecting a row in the Tool Table."
-msgstr ""
-"Delete a selection of tools in the Tool Table\n"
-"by first selecting a row in the Tool Table."
-
-#: flatcamGUI/ObjectUI.py:1356
+#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1663
+#: flatcamTools/ToolNCC.py:334 flatcamTools/ToolPaint.py:317
msgid ""
"The data used for creating GCode.\n"
"Each tool store it's own set of such data."
@@ -8067,13 +7946,66 @@ msgstr ""
"The data used for creating GCode.\n"
"Each tool store it's own set of such data."
-#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3981
-#: flatcamGUI/PreferencesUI.py:5348 flatcamTools/ToolCutOut.py:153
+#: flatcamGUI/ObjectUI.py:846 flatcamGUI/PreferencesUI.py:3266
+msgid ""
+"Operation type:\n"
+"- Drilling -> will drill the drills/slots associated with this tool\n"
+"- Milling -> will mill the drills/slots"
+msgstr ""
+"Operation type:\n"
+"- Drilling -> will drill the drills/slots associated with this tool\n"
+"- Milling -> will mill the drills/slots"
+
+#: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:3272
+msgid "Drilling"
+msgstr "Drilling"
+
+#: flatcamGUI/ObjectUI.py:853 flatcamGUI/PreferencesUI.py:3273
+msgid "Milling"
+msgstr "Milling"
+
+#: flatcamGUI/ObjectUI.py:868 flatcamGUI/PreferencesUI.py:3282
+msgid ""
+"Milling type:\n"
+"- Drills -> will mill the drills associated with this tool\n"
+"- Slots -> will mill the slots associated with this tool\n"
+"- Both -> will mill both drills and mills or whatever is available"
+msgstr ""
+"Milling type:\n"
+"- Drills -> will mill the drills associated with this tool\n"
+"- Slots -> will mill the slots associated with this tool\n"
+"- Both -> will mill both drills and mills or whatever is available"
+
+#: flatcamGUI/ObjectUI.py:877 flatcamGUI/PreferencesUI.py:3291
+#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolFilm.py:258
+msgid "Both"
+msgstr "Both"
+
+#: flatcamGUI/ObjectUI.py:885 flatcamGUI/PreferencesUI.py:3298
+msgid "Milling Diameter"
+msgstr "Milling Diameter"
+
+#: flatcamGUI/ObjectUI.py:887 flatcamGUI/PreferencesUI.py:3300
+msgid "The diameter of the tool who will do the milling"
+msgstr "The diameter of the tool who will do the milling"
+
+#: flatcamGUI/ObjectUI.py:901 flatcamGUI/PreferencesUI.py:3313
+msgid ""
+"Drill depth (negative)\n"
+"below the copper surface."
+msgstr ""
+"Drill depth (negative)\n"
+"below the copper surface."
+
+#: flatcamGUI/ObjectUI.py:920 flatcamGUI/ObjectUI.py:1722
+#: flatcamGUI/PreferencesUI.py:3331 flatcamGUI/PreferencesUI.py:4261
+#: flatcamGUI/PreferencesUI.py:5687 flatcamTools/ToolCutOut.py:160
msgid "Multi-Depth"
msgstr "Multi-Depth"
-#: flatcamGUI/ObjectUI.py:1429 flatcamGUI/PreferencesUI.py:3984
-#: flatcamGUI/PreferencesUI.py:5351 flatcamTools/ToolCutOut.py:156
+#: flatcamGUI/ObjectUI.py:923 flatcamGUI/ObjectUI.py:1725
+#: flatcamGUI/PreferencesUI.py:3334 flatcamGUI/PreferencesUI.py:4264
+#: flatcamGUI/PreferencesUI.py:5690 flatcamTools/ToolCutOut.py:163
msgid ""
"Use multiple passes to limit\n"
"the cut depth in each pass. Will\n"
@@ -8085,33 +8017,22 @@ msgstr ""
"cut multiple times until Cut Z is\n"
"reached."
-#: flatcamGUI/ObjectUI.py:1443 flatcamGUI/PreferencesUI.py:5363
-#: flatcamTools/ToolCutOut.py:170
+#: flatcamGUI/ObjectUI.py:936 flatcamGUI/ObjectUI.py:1739
+#: flatcamGUI/PreferencesUI.py:3346 flatcamGUI/PreferencesUI.py:5702
+#: flatcamTools/ToolCutOut.py:177
msgid "Depth of each pass (positive)."
msgstr "Depth of each pass (positive)."
-#: flatcamGUI/ObjectUI.py:1454 flatcamGUI/PreferencesUI.py:4016
+#: flatcamGUI/ObjectUI.py:947 flatcamGUI/PreferencesUI.py:3354
msgid ""
-"Height of the tool when\n"
-"moving without cutting."
+"Tool height when travelling\n"
+"across the XY plane."
msgstr ""
-"Height of the tool when\n"
-"moving without cutting."
+"Tool height when travelling\n"
+"across the XY plane."
-#: flatcamGUI/ObjectUI.py:1481 flatcamGUI/PreferencesUI.py:4037
-msgid ""
-"Include tool-change sequence\n"
-"in the Machine Code (Pause for tool change)."
-msgstr ""
-"Include tool-change sequence\n"
-"in the Machine Code (Pause for tool change)."
-
-#: flatcamGUI/ObjectUI.py:1531 flatcamGUI/PreferencesUI.py:4086
-#: flatcamGUI/PreferencesUI.py:6553 flatcamTools/ToolSolderPaste.py:252
-msgid "Feedrate X-Y"
-msgstr "Feedrate X-Y"
-
-#: flatcamGUI/ObjectUI.py:1533 flatcamGUI/PreferencesUI.py:4088
+#: flatcamGUI/ObjectUI.py:968 flatcamGUI/ObjectUI.py:1769
+#: flatcamGUI/PreferencesUI.py:4380
msgid ""
"Cutting speed in the XY\n"
"plane in units per minute"
@@ -8119,36 +8040,45 @@ msgstr ""
"Cutting speed in the XY\n"
"plane in units per minute"
-#: flatcamGUI/ObjectUI.py:1547 flatcamGUI/PreferencesUI.py:4103
+#: flatcamGUI/ObjectUI.py:983 flatcamGUI/PreferencesUI.py:3427
msgid ""
-"Cutting speed in the XY\n"
-"plane in units per minute.\n"
-"It is called also Plunge."
+"Tool speed while drilling\n"
+"(in units per minute).\n"
+"So called 'Plunge' feedrate.\n"
+"This is for linear move G01."
msgstr ""
-"Cutting speed in the XY\n"
-"plane in units per minute.\n"
-"It is called also Plunge."
+"Tool speed while drilling\n"
+"(in units per minute).\n"
+"So called 'Plunge' feedrate.\n"
+"This is for linear move G01."
-#: flatcamGUI/ObjectUI.py:1562 flatcamGUI/PreferencesUI.py:4212
+#: flatcamGUI/ObjectUI.py:998 flatcamGUI/ObjectUI.py:1796
+#: flatcamGUI/PreferencesUI.py:3597 flatcamGUI/PreferencesUI.py:4503
+msgid "Feedrate Rapids"
+msgstr "Feedrate Rapids"
+
+#: flatcamGUI/ObjectUI.py:1000 flatcamGUI/PreferencesUI.py:3599
msgid ""
-"Cutting speed in the XY plane\n"
+"Tool speed while drilling\n"
"(in units per minute).\n"
"This is for the rapid move G00.\n"
"It is useful only for Marlin,\n"
"ignore for any other cases."
msgstr ""
-"Cutting speed in the XY plane\n"
+"Tool speed while drilling\n"
"(in units per minute).\n"
"This is for the rapid move G00.\n"
"It is useful only for Marlin,\n"
"ignore for any other cases."
-#: flatcamGUI/ObjectUI.py:1580 flatcamGUI/PreferencesUI.py:4228
+#: flatcamGUI/ObjectUI.py:1020 flatcamGUI/ObjectUI.py:1816
+#: flatcamGUI/PreferencesUI.py:4521
msgid "Re-cut"
msgstr "Re-cut"
-#: flatcamGUI/ObjectUI.py:1582 flatcamGUI/ObjectUI.py:1594
-#: flatcamGUI/PreferencesUI.py:4230 flatcamGUI/PreferencesUI.py:4242
+#: flatcamGUI/ObjectUI.py:1022 flatcamGUI/ObjectUI.py:1035
+#: flatcamGUI/ObjectUI.py:1818 flatcamGUI/ObjectUI.py:1830
+#: flatcamGUI/PreferencesUI.py:4523 flatcamGUI/PreferencesUI.py:4535
msgid ""
"In order to remove possible\n"
"copper leftovers where first cut\n"
@@ -8160,29 +8090,49 @@ msgstr ""
"meet with last cut, we generate an\n"
"extended cut over the first cut section."
-#: flatcamGUI/ObjectUI.py:1606 flatcamGUI/PreferencesUI.py:4120
+#: flatcamGUI/ObjectUI.py:1050 flatcamGUI/PreferencesUI.py:3442
msgid ""
-"Speed of the spindle in RPM (optional).\n"
-"If LASER preprocessor is used,\n"
-"this value is the power of laser."
+"Speed of the spindle\n"
+"in RPM (optional)"
msgstr ""
-"Speed of the spindle in RPM (optional).\n"
-"If LASER preprocessor is used,\n"
-"this value is the power of laser."
+"Speed of the spindle\n"
+"in RPM (optional)"
-#: flatcamGUI/ObjectUI.py:1642 flatcamGUI/PreferencesUI.py:4157
+#: flatcamGUI/ObjectUI.py:1065 flatcamGUI/ObjectUI.py:1858
+#: flatcamGUI/PreferencesUI.py:3456 flatcamGUI/PreferencesUI.py:4427
msgid ""
-"The Preprocessor file that dictates\n"
-"the Machine Code (like GCode, RML, HPGL) output."
+"Pause to allow the spindle to reach its\n"
+"speed before cutting."
msgstr ""
-"The Preprocessor file that dictates\n"
-"the Machine Code (like GCode, RML, HPGL) output."
+"Pause to allow the spindle to reach its\n"
+"speed before cutting."
-#: flatcamGUI/ObjectUI.py:1689
+#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/ObjectUI.py:1868
+#: flatcamGUI/PreferencesUI.py:3464 flatcamGUI/PreferencesUI.py:4432
+msgid "Number of time units for spindle to dwell."
+msgstr "Number of time units for spindle to dwell."
+
+#: flatcamGUI/ObjectUI.py:1086 flatcamGUI/PreferencesUI.py:3563
+msgid "Offset Z"
+msgstr "Offset Z"
+
+#: flatcamGUI/ObjectUI.py:1088 flatcamGUI/PreferencesUI.py:3565
+msgid ""
+"Some drill bits (the larger ones) need to drill deeper\n"
+"to create the desired exit hole diameter due of the tip shape.\n"
+"The value here can compensate the Cut Z parameter."
+msgstr ""
+"Some drill bits (the larger ones) need to drill deeper\n"
+"to create the desired exit hole diameter due of the tip shape.\n"
+"The value here can compensate the Cut Z parameter."
+
+#: flatcamGUI/ObjectUI.py:1148 flatcamGUI/ObjectUI.py:1922
+#: flatcamTools/ToolNCC.py:492 flatcamTools/ToolPaint.py:423
msgid "Apply parameters to all tools"
msgstr "Apply parameters to all tools"
-#: flatcamGUI/ObjectUI.py:1691
+#: flatcamGUI/ObjectUI.py:1150 flatcamGUI/ObjectUI.py:1924
+#: flatcamTools/ToolNCC.py:494 flatcamTools/ToolPaint.py:425
msgid ""
"The parameters in the current form will be applied\n"
"on all the tools from the Tool Table."
@@ -8190,29 +8140,458 @@ msgstr ""
"The parameters in the current form will be applied\n"
"on all the tools from the Tool Table."
-#: flatcamGUI/ObjectUI.py:1700
+#: flatcamGUI/ObjectUI.py:1161 flatcamGUI/ObjectUI.py:1935
+#: flatcamTools/ToolNCC.py:505 flatcamTools/ToolPaint.py:436
+msgid "Common Parameters"
+msgstr "Common Parameters"
+
+#: flatcamGUI/ObjectUI.py:1163 flatcamGUI/ObjectUI.py:1937
+#: flatcamTools/ToolNCC.py:507 flatcamTools/ToolPaint.py:438
+msgid "Parameters that are common for all tools."
+msgstr "Parameters that are common for all tools."
+
+#: flatcamGUI/ObjectUI.py:1168 flatcamGUI/ObjectUI.py:1942
+msgid "Tool change Z"
+msgstr "Tool change Z"
+
+#: flatcamGUI/ObjectUI.py:1170 flatcamGUI/PreferencesUI.py:3372
msgid ""
-"Add at least one tool in the tool-table.\n"
-"Click the header to select all, or Ctrl + LMB\n"
+"Include tool-change sequence\n"
+"in G-Code (Pause for tool change)."
+msgstr ""
+"Include tool-change sequence\n"
+"in G-Code (Pause for tool change)."
+
+#: flatcamGUI/ObjectUI.py:1177 flatcamGUI/ObjectUI.py:1953
+#: flatcamGUI/PreferencesUI.py:3380 flatcamGUI/PreferencesUI.py:4327
+msgid ""
+"Z-axis position (height) for\n"
+"tool change."
+msgstr ""
+"Z-axis position (height) for\n"
+"tool change."
+
+#: flatcamGUI/ObjectUI.py:1194 flatcamGUI/PreferencesUI.py:3588
+msgid ""
+"Height of the tool just after start.\n"
+"Delete the value if you don't need this feature."
+msgstr ""
+"Height of the tool just after start.\n"
+"Delete the value if you don't need this feature."
+
+#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1981
+#: flatcamGUI/PreferencesUI.py:3396 flatcamGUI/PreferencesUI.py:4346
+msgid "End move Z"
+msgstr "End move Z"
+
+#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1983
+#: flatcamGUI/PreferencesUI.py:3398 flatcamGUI/PreferencesUI.py:4348
+msgid ""
+"Height of the tool after\n"
+"the last move at the end of the job."
+msgstr ""
+"Height of the tool after\n"
+"the last move at the end of the job."
+
+#: flatcamGUI/ObjectUI.py:1222 flatcamGUI/ObjectUI.py:2000
+#: flatcamGUI/PreferencesUI.py:3413 flatcamGUI/PreferencesUI.py:4366
+msgid "End move X,Y"
+msgstr "End move X,Y"
+
+#: flatcamGUI/ObjectUI.py:1224 flatcamGUI/ObjectUI.py:2002
+#: flatcamGUI/PreferencesUI.py:3415 flatcamGUI/PreferencesUI.py:4368
+msgid ""
+"End move X,Y position. In format (x,y).\n"
+"If no value is entered then there is no move\n"
+"on X,Y plane at the end of the job."
+msgstr ""
+"End move X,Y position. In format (x,y).\n"
+"If no value is entered then there is no move\n"
+"on X,Y plane at the end of the job."
+
+#: flatcamGUI/ObjectUI.py:1234 flatcamGUI/ObjectUI.py:1876
+#: flatcamGUI/PreferencesUI.py:3613 flatcamGUI/PreferencesUI.py:4544
+msgid "Probe Z depth"
+msgstr "Probe Z depth"
+
+#: flatcamGUI/ObjectUI.py:1236 flatcamGUI/ObjectUI.py:1878
+#: flatcamGUI/PreferencesUI.py:3615 flatcamGUI/PreferencesUI.py:4546
+msgid ""
+"The maximum depth that the probe is allowed\n"
+"to probe. Negative value, in current units."
+msgstr ""
+"The maximum depth that the probe is allowed\n"
+"to probe. Negative value, in current units."
+
+#: flatcamGUI/ObjectUI.py:1252 flatcamGUI/ObjectUI.py:1893
+#: flatcamGUI/PreferencesUI.py:3626 flatcamGUI/PreferencesUI.py:4559
+msgid "Feedrate Probe"
+msgstr "Feedrate Probe"
+
+#: flatcamGUI/ObjectUI.py:1254 flatcamGUI/ObjectUI.py:1895
+#: flatcamGUI/PreferencesUI.py:3628 flatcamGUI/PreferencesUI.py:4561
+msgid "The feedrate used while the probe is probing."
+msgstr "The feedrate used while the probe is probing."
+
+#: flatcamGUI/ObjectUI.py:1261
+msgid "e_fr_probe"
+msgstr "e_fr_probe"
+
+#: flatcamGUI/ObjectUI.py:1270
+msgid "Preprocessor E"
+msgstr "Preprocessor E"
+
+#: flatcamGUI/ObjectUI.py:1272
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Excellon Objects."
+msgstr ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Excellon Objects."
+
+#: flatcamGUI/ObjectUI.py:1282
+msgid "Preprocessor G"
+msgstr "Preprocessor G"
+
+#: flatcamGUI/ObjectUI.py:1284
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Geometry (Milling) Objects."
+msgstr ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Geometry (Milling) Objects."
+
+#: flatcamGUI/ObjectUI.py:1308 flatcamGUI/ObjectUI.py:2026
+msgid ""
+"Add / Select at least one tool in the tool-table.\n"
+"Click the # header to select all, or Ctrl + LMB\n"
"for custom selection of tools."
msgstr ""
-"Add at least one tool in the tool-table.\n"
-"Click the header to select all, or Ctrl + LMB\n"
+"Add / Select at least one tool in the tool-table.\n"
+"Click the # header to select all, or Ctrl + LMB\n"
"for custom selection of tools."
-#: flatcamGUI/ObjectUI.py:1707
+#: flatcamGUI/ObjectUI.py:1316 flatcamGUI/ObjectUI.py:2033
msgid "Generate CNCJob object"
msgstr "Generate CNCJob object"
-#: flatcamGUI/ObjectUI.py:1709
+#: flatcamGUI/ObjectUI.py:1318
+msgid ""
+"Generate the CNC Job.\n"
+"If milling then an additional Geometry object will be created"
+msgstr ""
+"Generate the CNC Job.\n"
+"If milling then an additional Geometry object will be created"
+
+#: flatcamGUI/ObjectUI.py:1335
+msgid "Milling Geometry"
+msgstr "Milling Geometry"
+
+#: flatcamGUI/ObjectUI.py:1337
+msgid ""
+"Create Geometry for milling holes.\n"
+"Select from the Tools Table above the hole dias to be\n"
+"milled. Use the # column to make the selection."
+msgstr ""
+"Create Geometry for milling holes.\n"
+"Select from the Tools Table above the hole dias to be\n"
+"milled. Use the # column to make the selection."
+
+#: flatcamGUI/ObjectUI.py:1345 flatcamGUI/PreferencesUI.py:2207
+#: flatcamGUI/PreferencesUI.py:3514
+msgid "Diameter of the cutting tool."
+msgstr "Diameter of the cutting tool."
+
+#: flatcamGUI/ObjectUI.py:1355
+msgid "Mill Drills"
+msgstr "Mill Drills"
+
+#: flatcamGUI/ObjectUI.py:1357
+msgid ""
+"Create the Geometry Object\n"
+"for milling DRILLS toolpaths."
+msgstr ""
+"Create the Geometry Object\n"
+"for milling DRILLS toolpaths."
+
+#: flatcamGUI/ObjectUI.py:1375
+msgid "Mill Slots"
+msgstr "Mill Slots"
+
+#: flatcamGUI/ObjectUI.py:1377
+msgid ""
+"Create the Geometry Object\n"
+"for milling SLOTS toolpaths."
+msgstr ""
+"Create the Geometry Object\n"
+"for milling SLOTS toolpaths."
+
+#: flatcamGUI/ObjectUI.py:1419 flatcamTools/ToolCutOut.py:327
+msgid "Geometry Object"
+msgstr "Geometry Object"
+
+#: flatcamGUI/ObjectUI.py:1465
+msgid ""
+"Tools in this Geometry object used for cutting.\n"
+"The 'Offset' entry will set an offset for the cut.\n"
+"'Offset' can be inside, outside, on path (none) and custom.\n"
+"'Type' entry is only informative and it allow to know the \n"
+"intent of using the current tool. \n"
+"It can be Rough(ing), Finish(ing) or Iso(lation).\n"
+"The 'Tool type'(TT) can be circular with 1 to 4 teeths(C1..C4),\n"
+"ball(B), or V-Shaped(V). \n"
+"When V-shaped is selected the 'Type' entry is automatically \n"
+"set to Isolation, the CutZ parameter in the UI form is\n"
+"grayed out and Cut Z is automatically calculated from the newly \n"
+"showed UI form entries named V-Tip Dia and V-Tip Angle."
+msgstr ""
+"Tools in this Geometry object used for cutting.\n"
+"The 'Offset' entry will set an offset for the cut.\n"
+"'Offset' can be inside, outside, on path (none) and custom.\n"
+"'Type' entry is only informative and it allow to know the \n"
+"intent of using the current tool. \n"
+"It can be Rough(ing), Finish(ing) or Iso(lation).\n"
+"The 'Tool type'(TT) can be circular with 1 to 4 teeths(C1..C4),\n"
+"ball(B), or V-Shaped(V). \n"
+"When V-shaped is selected the 'Type' entry is automatically \n"
+"set to Isolation, the CutZ parameter in the UI form is\n"
+"grayed out and Cut Z is automatically calculated from the newly \n"
+"showed UI form entries named V-Tip Dia and V-Tip Angle."
+
+#: flatcamGUI/ObjectUI.py:1482 flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/PreferencesUI.py:4698
+msgid "Plot Object"
+msgstr "Plot Object"
+
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:7747
+#: flatcamTools/ToolCopperThieving.py:222
+msgid "Dia"
+msgstr "Dia"
+
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
+msgid "TT"
+msgstr "TT"
+
+#: flatcamGUI/ObjectUI.py:1502
+msgid ""
+"This is the Tool Number.\n"
+"When ToolChange is checked, on toolchange event this value\n"
+"will be showed as a T1, T2 ... Tn"
+msgstr ""
+"This is the Tool Number.\n"
+"When ToolChange is checked, on toolchange event this value\n"
+"will be showed as a T1, T2 ... Tn"
+
+#: flatcamGUI/ObjectUI.py:1513
+msgid ""
+"The value for the Offset can be:\n"
+"- Path -> There is no offset, the tool cut will be done through the geometry "
+"line.\n"
+"- In(side) -> The tool cut will follow the geometry inside. It will create a "
+"'pocket'.\n"
+"- Out(side) -> The tool cut will follow the geometry line on the outside."
+msgstr ""
+"The value for the Offset can be:\n"
+"- Path -> There is no offset, the tool cut will be done through the geometry "
+"line.\n"
+"- In(side) -> The tool cut will follow the geometry inside. It will create a "
+"'pocket'.\n"
+"- Out(side) -> The tool cut will follow the geometry line on the outside."
+
+#: flatcamGUI/ObjectUI.py:1520
+msgid ""
+"The (Operation) Type has only informative value. Usually the UI form "
+"values \n"
+"are choose based on the operation type and this will serve as a reminder.\n"
+"Can be 'Roughing', 'Finishing' or 'Isolation'.\n"
+"For Roughing we may choose a lower Feedrate and multiDepth cut.\n"
+"For Finishing we may choose a higher Feedrate, without multiDepth.\n"
+"For Isolation we need a lower Feedrate as it use a milling bit with a fine "
+"tip."
+msgstr ""
+"The (Operation) Type has only informative value. Usually the UI form "
+"values \n"
+"are choose based on the operation type and this will serve as a reminder.\n"
+"Can be 'Roughing', 'Finishing' or 'Isolation'.\n"
+"For Roughing we may choose a lower Feedrate and multiDepth cut.\n"
+"For Finishing we may choose a higher Feedrate, without multiDepth.\n"
+"For Isolation we need a lower Feedrate as it use a milling bit with a fine "
+"tip."
+
+#: flatcamGUI/ObjectUI.py:1529
+msgid ""
+"The Tool Type (TT) can be:\n"
+"- Circular with 1 ... 4 teeth -> it is informative only. Being circular the "
+"cut width in material\n"
+"is exactly the tool diameter.\n"
+"- Ball -> informative only and make reference to the Ball type endmill.\n"
+"- V-Shape -> it will disable de Z-Cut parameter in the UI form and enable "
+"two additional UI form\n"
+"fields: V-Tip Dia and V-Tip Angle. Adjusting those two values will adjust "
+"the Z-Cut parameter such\n"
+"as the cut width into material will be equal with the value in the Tool "
+"Diameter column of this table.\n"
+"Choosing the V-Shape Tool Type automatically will select the Operation Type "
+"as Isolation."
+msgstr ""
+"The Tool Type (TT) can be:\n"
+"- Circular with 1 ... 4 teeth -> it is informative only. Being circular the "
+"cut width in material\n"
+"is exactly the tool diameter.\n"
+"- Ball -> informative only and make reference to the Ball type endmill.\n"
+"- V-Shape -> it will disable de Z-Cut parameter in the UI form and enable "
+"two additional UI form\n"
+"fields: V-Tip Dia and V-Tip Angle. Adjusting those two values will adjust "
+"the Z-Cut parameter such\n"
+"as the cut width into material will be equal with the value in the Tool "
+"Diameter column of this table.\n"
+"Choosing the V-Shape Tool Type automatically will select the Operation Type "
+"as Isolation."
+
+#: flatcamGUI/ObjectUI.py:1541
+msgid ""
+"Plot column. It is visible only for MultiGeo geometries, meaning geometries "
+"that holds the geometry\n"
+"data into the tools. For those geometries, deleting the tool will delete the "
+"geometry data also,\n"
+"so be WARNED. From the checkboxes on each row it can be enabled/disabled the "
+"plot on canvas\n"
+"for the corresponding tool."
+msgstr ""
+"Plot column. It is visible only for MultiGeo geometries, meaning geometries "
+"that holds the geometry\n"
+"data into the tools. For those geometries, deleting the tool will delete the "
+"geometry data also,\n"
+"so be WARNED. From the checkboxes on each row it can be enabled/disabled the "
+"plot on canvas\n"
+"for the corresponding tool."
+
+#: flatcamGUI/ObjectUI.py:1559
+msgid ""
+"The value to offset the cut when \n"
+"the Offset type selected is 'Offset'.\n"
+"The value can be positive for 'outside'\n"
+"cut and negative for 'inside' cut."
+msgstr ""
+"The value to offset the cut when \n"
+"the Offset type selected is 'Offset'.\n"
+"The value can be positive for 'outside'\n"
+"cut and negative for 'inside' cut."
+
+#: flatcamGUI/ObjectUI.py:1578 flatcamTools/ToolNCC.py:209
+#: flatcamTools/ToolNCC.py:923 flatcamTools/ToolPaint.py:192
+#: flatcamTools/ToolPaint.py:849 flatcamTools/ToolSolderPaste.py:559
+msgid "New Tool"
+msgstr "New Tool"
+
+#: flatcamGUI/ObjectUI.py:1595
+msgid ""
+"Add a new tool to the Tool Table\n"
+"with the specified diameter."
+msgstr ""
+"Add a new tool to the Tool Table\n"
+"with the specified diameter."
+
+#: flatcamGUI/ObjectUI.py:1600 flatcamTools/ToolNCC.py:300
+#: flatcamTools/ToolNCC.py:634 flatcamTools/ToolPaint.py:283
+#: flatcamTools/ToolPaint.py:679
+msgid "Add from DB"
+msgstr "Add from DB"
+
+#: flatcamGUI/ObjectUI.py:1602 flatcamTools/ToolNCC.py:302
+#: flatcamTools/ToolPaint.py:285
+msgid ""
+"Add a new tool to the Tool Table\n"
+"from the Tool DataBase."
+msgstr ""
+"Add a new tool to the Tool Table\n"
+"from the Tool DataBase."
+
+#: flatcamGUI/ObjectUI.py:1617
+msgid ""
+"Copy a selection of tools in the Tool Table\n"
+"by first selecting a row in the Tool Table."
+msgstr ""
+"Copy a selection of tools in the Tool Table\n"
+"by first selecting a row in the Tool Table."
+
+#: flatcamGUI/ObjectUI.py:1623
+msgid ""
+"Delete a selection of tools in the Tool Table\n"
+"by first selecting a row in the Tool Table."
+msgstr ""
+"Delete a selection of tools in the Tool Table\n"
+"by first selecting a row in the Tool Table."
+
+#: flatcamGUI/ObjectUI.py:1750 flatcamGUI/PreferencesUI.py:4296
+msgid ""
+"Height of the tool when\n"
+"moving without cutting."
+msgstr ""
+"Height of the tool when\n"
+"moving without cutting."
+
+#: flatcamGUI/ObjectUI.py:1783 flatcamGUI/PreferencesUI.py:4395
+msgid ""
+"Cutting speed in the XY\n"
+"plane in units per minute.\n"
+"It is called also Plunge."
+msgstr ""
+"Cutting speed in the XY\n"
+"plane in units per minute.\n"
+"It is called also Plunge."
+
+#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4505
+msgid ""
+"Cutting speed in the XY plane\n"
+"(in units per minute).\n"
+"This is for the rapid move G00.\n"
+"It is useful only for Marlin,\n"
+"ignore for any other cases."
+msgstr ""
+"Cutting speed in the XY plane\n"
+"(in units per minute).\n"
+"This is for the rapid move G00.\n"
+"It is useful only for Marlin,\n"
+"ignore for any other cases."
+
+#: flatcamGUI/ObjectUI.py:1842 flatcamGUI/PreferencesUI.py:4412
+msgid ""
+"Speed of the spindle in RPM (optional).\n"
+"If LASER preprocessor is used,\n"
+"this value is the power of laser."
+msgstr ""
+"Speed of the spindle in RPM (optional).\n"
+"If LASER preprocessor is used,\n"
+"this value is the power of laser."
+
+#: flatcamGUI/ObjectUI.py:1945 flatcamGUI/PreferencesUI.py:4317
+msgid ""
+"Include tool-change sequence\n"
+"in the Machine Code (Pause for tool change)."
+msgstr ""
+"Include tool-change sequence\n"
+"in the Machine Code (Pause for tool change)."
+
+#: flatcamGUI/ObjectUI.py:2014 flatcamGUI/PreferencesUI.py:4449
+msgid ""
+"The Preprocessor file that dictates\n"
+"the Machine Code (like GCode, RML, HPGL) output."
+msgstr ""
+"The Preprocessor file that dictates\n"
+"the Machine Code (like GCode, RML, HPGL) output."
+
+#: flatcamGUI/ObjectUI.py:2035
msgid "Generate the CNC Job object."
msgstr "Generate the CNC Job object."
-#: flatcamGUI/ObjectUI.py:1726
+#: flatcamGUI/ObjectUI.py:2052
msgid "Launch Paint Tool in Tools Tab."
msgstr "Launch Paint Tool in Tools Tab."
-#: flatcamGUI/ObjectUI.py:1734 flatcamGUI/PreferencesUI.py:5524
+#: flatcamGUI/ObjectUI.py:2060 flatcamGUI/PreferencesUI.py:5874
msgid ""
"Creates tool paths to cover the\n"
"whole area of a polygon (remove\n"
@@ -8224,15 +8603,15 @@ msgstr ""
"all copper). You will be asked\n"
"to click on the desired polygon."
-#: flatcamGUI/ObjectUI.py:1786
+#: flatcamGUI/ObjectUI.py:2115
msgid "CNC Job Object"
msgstr "CNC Job Object"
-#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4410
+#: flatcamGUI/ObjectUI.py:2126 flatcamGUI/PreferencesUI.py:4703
msgid "Plot kind"
msgstr "Plot kind"
-#: flatcamGUI/ObjectUI.py:1801 flatcamGUI/PreferencesUI.py:4412
+#: flatcamGUI/ObjectUI.py:2129 flatcamGUI/PreferencesUI.py:4705
msgid ""
"This selects the kind of geometries on the canvas to plot.\n"
"Those can be either of type 'Travel' which means the moves\n"
@@ -8244,15 +8623,15 @@ msgstr ""
"above the work piece or it can be of type 'Cut',\n"
"which means the moves that cut into the material."
-#: flatcamGUI/ObjectUI.py:1810 flatcamGUI/PreferencesUI.py:4420
+#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/PreferencesUI.py:4713
msgid "Travel"
msgstr "Travel"
-#: flatcamGUI/ObjectUI.py:1814 flatcamGUI/PreferencesUI.py:4429
+#: flatcamGUI/ObjectUI.py:2142 flatcamGUI/PreferencesUI.py:4722
msgid "Display Annotation"
msgstr "Display Annotation"
-#: flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:4431
+#: flatcamGUI/ObjectUI.py:2144 flatcamGUI/PreferencesUI.py:4724
msgid ""
"This selects if to display text annotation on the plot.\n"
"When checked it will display numbers in order for each end\n"
@@ -8262,11 +8641,11 @@ msgstr ""
"When checked it will display numbers in order for each end\n"
"of a travel line."
-#: flatcamGUI/ObjectUI.py:1831
+#: flatcamGUI/ObjectUI.py:2159
msgid "Travelled dist."
msgstr "Travelled dist."
-#: flatcamGUI/ObjectUI.py:1833 flatcamGUI/ObjectUI.py:1838
+#: flatcamGUI/ObjectUI.py:2161 flatcamGUI/ObjectUI.py:2166
msgid ""
"This is the total travelled distance on X-Y plane.\n"
"In current units."
@@ -8274,11 +8653,11 @@ msgstr ""
"This is the total travelled distance on X-Y plane.\n"
"In current units."
-#: flatcamGUI/ObjectUI.py:1843
+#: flatcamGUI/ObjectUI.py:2171
msgid "Estimated time"
msgstr "Estimated time"
-#: flatcamGUI/ObjectUI.py:1845 flatcamGUI/ObjectUI.py:1850
+#: flatcamGUI/ObjectUI.py:2173 flatcamGUI/ObjectUI.py:2178
msgid ""
"This is the estimated time to do the routing/drilling,\n"
"without the time spent in ToolChange events."
@@ -8286,11 +8665,11 @@ msgstr ""
"This is the estimated time to do the routing/drilling,\n"
"without the time spent in ToolChange events."
-#: flatcamGUI/ObjectUI.py:1885
+#: flatcamGUI/ObjectUI.py:2213
msgid "CNC Tools Table"
msgstr "CNC Tools Table"
-#: flatcamGUI/ObjectUI.py:1888
+#: flatcamGUI/ObjectUI.py:2216
msgid ""
"Tools in this CNCJob object used for cutting.\n"
"The tool diameter is used for plotting on canvas.\n"
@@ -8312,24 +8691,24 @@ msgstr ""
"The 'Tool type'(TT) can be circular with 1 to 4 teeths(C1..C4),\n"
"ball(B), or V-Shaped(V)."
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/ObjectUI.py:1927
+#: flatcamGUI/ObjectUI.py:2244 flatcamGUI/ObjectUI.py:2255
msgid "P"
msgstr "P"
-#: flatcamGUI/ObjectUI.py:1937
+#: flatcamGUI/ObjectUI.py:2265
msgid "Update Plot"
msgstr "Update Plot"
-#: flatcamGUI/ObjectUI.py:1939
+#: flatcamGUI/ObjectUI.py:2267
msgid "Update the plot."
msgstr "Update the plot."
-#: flatcamGUI/ObjectUI.py:1946 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/ObjectUI.py:2274 flatcamGUI/PreferencesUI.py:5120
msgid "Export CNC Code"
msgstr "Export CNC Code"
-#: flatcamGUI/ObjectUI.py:1948 flatcamGUI/PreferencesUI.py:4768
-#: flatcamGUI/PreferencesUI.py:4829
+#: flatcamGUI/ObjectUI.py:2276 flatcamGUI/PreferencesUI.py:5061
+#: flatcamGUI/PreferencesUI.py:5122
msgid ""
"Export and save G-Code to\n"
"make this object to a file."
@@ -8337,12 +8716,12 @@ msgstr ""
"Export and save G-Code to\n"
"make this object to a file."
-#: flatcamGUI/ObjectUI.py:1954
+#: flatcamGUI/ObjectUI.py:2282
msgid "Prepend to CNC Code"
msgstr "Prepend to CNC Code"
-#: flatcamGUI/ObjectUI.py:1956 flatcamGUI/ObjectUI.py:1963
-#: flatcamGUI/PreferencesUI.py:4784
+#: flatcamGUI/ObjectUI.py:2284 flatcamGUI/ObjectUI.py:2291
+#: flatcamGUI/PreferencesUI.py:5077
msgid ""
"Type here any G-Code commands you would\n"
"like to add at the beginning of the G-Code file."
@@ -8350,12 +8729,12 @@ msgstr ""
"Type here any G-Code commands you would\n"
"like to add at the beginning of the G-Code file."
-#: flatcamGUI/ObjectUI.py:1969
+#: flatcamGUI/ObjectUI.py:2297
msgid "Append to CNC Code"
msgstr "Append to CNC Code"
-#: flatcamGUI/ObjectUI.py:1971 flatcamGUI/ObjectUI.py:1979
-#: flatcamGUI/PreferencesUI.py:4800
+#: flatcamGUI/ObjectUI.py:2299 flatcamGUI/ObjectUI.py:2307
+#: flatcamGUI/PreferencesUI.py:5093
msgid ""
"Type here any G-Code commands you would\n"
"like to append to the generated file.\n"
@@ -8365,11 +8744,11 @@ msgstr ""
"like to append to the generated file.\n"
"I.e.: M2 (End of program)"
-#: flatcamGUI/ObjectUI.py:1993 flatcamGUI/PreferencesUI.py:4835
+#: flatcamGUI/ObjectUI.py:2321 flatcamGUI/PreferencesUI.py:5128
msgid "Toolchange G-Code"
msgstr "Toolchange G-Code"
-#: flatcamGUI/ObjectUI.py:1996 flatcamGUI/PreferencesUI.py:4838
+#: flatcamGUI/ObjectUI.py:2324 flatcamGUI/PreferencesUI.py:5131
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -8391,7 +8770,7 @@ msgstr ""
"that has 'toolchange_custom' in it's name and this is built\n"
"having as template the 'Toolchange Custom' posprocessor file."
-#: flatcamGUI/ObjectUI.py:2011
+#: flatcamGUI/ObjectUI.py:2339
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -8409,11 +8788,11 @@ msgstr ""
"WARNING: it can be used only with a preprocessor file\n"
"that has 'toolchange_custom' in it's name."
-#: flatcamGUI/ObjectUI.py:2026 flatcamGUI/PreferencesUI.py:4877
+#: flatcamGUI/ObjectUI.py:2354 flatcamGUI/PreferencesUI.py:5170
msgid "Use Toolchange Macro"
msgstr "Use Toolchange Macro"
-#: flatcamGUI/ObjectUI.py:2028 flatcamGUI/PreferencesUI.py:4879
+#: flatcamGUI/ObjectUI.py:2356 flatcamGUI/PreferencesUI.py:5172
msgid ""
"Check this box if you want to use\n"
"a Custom Toolchange GCode (macro)."
@@ -8421,7 +8800,7 @@ msgstr ""
"Check this box if you want to use\n"
"a Custom Toolchange GCode (macro)."
-#: flatcamGUI/ObjectUI.py:2036 flatcamGUI/PreferencesUI.py:4891
+#: flatcamGUI/ObjectUI.py:2364 flatcamGUI/PreferencesUI.py:5184
msgid ""
"A list of the FlatCAM variables that can be used\n"
"in the Toolchange event.\n"
@@ -8431,73 +8810,75 @@ msgstr ""
"in the Toolchange event.\n"
"They have to be surrounded by the '%' symbol"
-#: flatcamGUI/ObjectUI.py:2043 flatcamGUI/PreferencesUI.py:2447
-#: flatcamGUI/PreferencesUI.py:3555 flatcamGUI/PreferencesUI.py:4347
-#: flatcamGUI/PreferencesUI.py:4898 flatcamGUI/PreferencesUI.py:5017
-#: flatcamGUI/PreferencesUI.py:5301 flatcamGUI/PreferencesUI.py:5458
-#: flatcamGUI/PreferencesUI.py:5676 flatcamGUI/PreferencesUI.py:5973
-#: flatcamGUI/PreferencesUI.py:6224 flatcamGUI/PreferencesUI.py:6438
-#: flatcamGUI/PreferencesUI.py:6663 flatcamGUI/PreferencesUI.py:6685
-#: flatcamGUI/PreferencesUI.py:6909 flatcamGUI/PreferencesUI.py:6946
-#: flatcamGUI/PreferencesUI.py:7140 flatcamGUI/PreferencesUI.py:7394
-#: flatcamGUI/PreferencesUI.py:7510 flatcamTools/ToolCopperThieving.py:89
-#: flatcamTools/ToolFiducials.py:149 flatcamTools/ToolNonCopperClear.py:315
+#: flatcamGUI/ObjectUI.py:2371 flatcamGUI/PreferencesUI.py:2627
+#: flatcamGUI/PreferencesUI.py:3833 flatcamGUI/PreferencesUI.py:4640
+#: flatcamGUI/PreferencesUI.py:5191 flatcamGUI/PreferencesUI.py:5310
+#: flatcamGUI/PreferencesUI.py:5640 flatcamGUI/PreferencesUI.py:5797
+#: flatcamGUI/PreferencesUI.py:6164 flatcamGUI/PreferencesUI.py:6461
+#: flatcamGUI/PreferencesUI.py:6711 flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7169 flatcamGUI/PreferencesUI.py:7191
+#: flatcamGUI/PreferencesUI.py:7415 flatcamGUI/PreferencesUI.py:7452
+#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7900
+#: flatcamGUI/PreferencesUI.py:8016 flatcamGUI/PreferencesUI.py:8135
+#: flatcamGUI/PreferencesUI.py:8347 flatcamGUI/PreferencesUI.py:8556
+#: flatcamTools/ToolCopperThieving.py:90 flatcamTools/ToolFiducials.py:149
+#: flatcamTools/ToolInvertGerber.py:82
msgid "Parameters"
msgstr "Parameters"
-#: flatcamGUI/ObjectUI.py:2046 flatcamGUI/PreferencesUI.py:4903
+#: flatcamGUI/ObjectUI.py:2374 flatcamGUI/PreferencesUI.py:5196
msgid "FlatCAM CNC parameters"
msgstr "FlatCAM CNC parameters"
-#: flatcamGUI/ObjectUI.py:2047 flatcamGUI/PreferencesUI.py:4908
+#: flatcamGUI/ObjectUI.py:2375 flatcamGUI/PreferencesUI.py:5201
msgid "tool number"
msgstr "tool number"
-#: flatcamGUI/ObjectUI.py:2048 flatcamGUI/PreferencesUI.py:4909
+#: flatcamGUI/ObjectUI.py:2376 flatcamGUI/PreferencesUI.py:5202
msgid "tool diameter"
msgstr "tool diameter"
-#: flatcamGUI/ObjectUI.py:2049 flatcamGUI/PreferencesUI.py:4910
+#: flatcamGUI/ObjectUI.py:2377 flatcamGUI/PreferencesUI.py:5203
msgid "for Excellon, total number of drills"
msgstr "for Excellon, total number of drills"
-#: flatcamGUI/ObjectUI.py:2051 flatcamGUI/PreferencesUI.py:4912
+#: flatcamGUI/ObjectUI.py:2379 flatcamGUI/PreferencesUI.py:5205
msgid "X coord for Toolchange"
msgstr "X coord for Toolchange"
-#: flatcamGUI/ObjectUI.py:2052 flatcamGUI/PreferencesUI.py:4913
+#: flatcamGUI/ObjectUI.py:2380 flatcamGUI/PreferencesUI.py:5206
msgid "Y coord for Toolchange"
msgstr "Y coord for Toolchange"
-#: flatcamGUI/ObjectUI.py:2053 flatcamGUI/PreferencesUI.py:4915
+#: flatcamGUI/ObjectUI.py:2381 flatcamGUI/PreferencesUI.py:5208
msgid "Z coord for Toolchange"
msgstr "Z coord for Toolchange"
-#: flatcamGUI/ObjectUI.py:2054
+#: flatcamGUI/ObjectUI.py:2382
msgid "depth where to cut"
msgstr "depth where to cut"
-#: flatcamGUI/ObjectUI.py:2055
+#: flatcamGUI/ObjectUI.py:2383
msgid "height where to travel"
msgstr "height where to travel"
-#: flatcamGUI/ObjectUI.py:2056 flatcamGUI/PreferencesUI.py:4918
+#: flatcamGUI/ObjectUI.py:2384 flatcamGUI/PreferencesUI.py:5211
msgid "the step value for multidepth cut"
msgstr "the step value for multidepth cut"
-#: flatcamGUI/ObjectUI.py:2058 flatcamGUI/PreferencesUI.py:4920
+#: flatcamGUI/ObjectUI.py:2386 flatcamGUI/PreferencesUI.py:5213
msgid "the value for the spindle speed"
msgstr "the value for the spindle speed"
-#: flatcamGUI/ObjectUI.py:2060
+#: flatcamGUI/ObjectUI.py:2388
msgid "time to dwell to allow the spindle to reach it's set RPM"
msgstr "time to dwell to allow the spindle to reach it's set RPM"
-#: flatcamGUI/ObjectUI.py:2076
+#: flatcamGUI/ObjectUI.py:2404
msgid "View CNC Code"
msgstr "View CNC Code"
-#: flatcamGUI/ObjectUI.py:2078
+#: flatcamGUI/ObjectUI.py:2406
msgid ""
"Opens TAB to view/modify/print G-Code\n"
"file."
@@ -8505,11 +8886,11 @@ msgstr ""
"Opens TAB to view/modify/print G-Code\n"
"file."
-#: flatcamGUI/ObjectUI.py:2083
+#: flatcamGUI/ObjectUI.py:2411
msgid "Save CNC Code"
msgstr "Save CNC Code"
-#: flatcamGUI/ObjectUI.py:2085
+#: flatcamGUI/ObjectUI.py:2413
msgid ""
"Opens dialog to save G-Code\n"
"file."
@@ -8517,79 +8898,75 @@ msgstr ""
"Opens dialog to save G-Code\n"
"file."
-#: flatcamGUI/ObjectUI.py:2116
+#: flatcamGUI/ObjectUI.py:2447
msgid "Script Object"
msgstr "Script Object"
-#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/ObjectUI.py:2211
+#: flatcamGUI/ObjectUI.py:2467 flatcamGUI/ObjectUI.py:2541
msgid "Auto Completer"
msgstr "Auto Completer"
-#: flatcamGUI/ObjectUI.py:2140
+#: flatcamGUI/ObjectUI.py:2469
msgid "This selects if the auto completer is enabled in the Script Editor."
msgstr "This selects if the auto completer is enabled in the Script Editor."
-#: flatcamGUI/ObjectUI.py:2182
+#: flatcamGUI/ObjectUI.py:2514
msgid "Document Object"
msgstr "Document Object"
-#: flatcamGUI/ObjectUI.py:2213
+#: flatcamGUI/ObjectUI.py:2543
msgid "This selects if the auto completer is enabled in the Document Editor."
msgstr "This selects if the auto completer is enabled in the Document Editor."
-#: flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/ObjectUI.py:2561
msgid "Font Type"
msgstr "Font Type"
-#: flatcamGUI/ObjectUI.py:2248 flatcamGUI/PreferencesUI.py:1103
+#: flatcamGUI/ObjectUI.py:2578 flatcamGUI/PreferencesUI.py:1278
msgid "Font Size"
msgstr "Font Size"
-#: flatcamGUI/ObjectUI.py:2284
+#: flatcamGUI/ObjectUI.py:2614
msgid "Alignment"
msgstr "Alignment"
-#: flatcamGUI/ObjectUI.py:2289
+#: flatcamGUI/ObjectUI.py:2619
msgid "Align Left"
msgstr "Align Left"
-#: flatcamGUI/ObjectUI.py:2294
-msgid "Center"
-msgstr "Center"
-
-#: flatcamGUI/ObjectUI.py:2299
+#: flatcamGUI/ObjectUI.py:2629
msgid "Align Right"
msgstr "Align Right"
-#: flatcamGUI/ObjectUI.py:2304
+#: flatcamGUI/ObjectUI.py:2634
msgid "Justify"
msgstr "Justify"
-#: flatcamGUI/ObjectUI.py:2311
+#: flatcamGUI/ObjectUI.py:2641
msgid "Font Color"
msgstr "Font Color"
-#: flatcamGUI/ObjectUI.py:2313
+#: flatcamGUI/ObjectUI.py:2643
msgid "Set the font color for the selected text"
msgstr "Set the font color for the selected text"
-#: flatcamGUI/ObjectUI.py:2327
+#: flatcamGUI/ObjectUI.py:2657
msgid "Selection Color"
msgstr "Selection Color"
-#: flatcamGUI/ObjectUI.py:2329
+#: flatcamGUI/ObjectUI.py:2659
msgid "Set the selection color when doing text selection."
msgstr "Set the selection color when doing text selection."
-#: flatcamGUI/ObjectUI.py:2343
+#: flatcamGUI/ObjectUI.py:2673
msgid "Tab Size"
msgstr "Tab Size"
-#: flatcamGUI/ObjectUI.py:2345
+#: flatcamGUI/ObjectUI.py:2675
msgid "Set the tab size. In pixels. Default value is 80 pixels."
msgstr "Set the tab size. In pixels. Default value is 80 pixels."
-#: flatcamGUI/PlotCanvasLegacy.py:1254
+#: flatcamGUI/PlotCanvasLegacy.py:1301
msgid ""
"Could not annotate due of a difference between the number of text elements "
"and the number of text positions."
@@ -8597,31 +8974,35 @@ msgstr ""
"Could not annotate due of a difference between the number of text elements "
"and the number of text positions."
-#: flatcamGUI/PreferencesUI.py:324
+#: flatcamGUI/PreferencesUI.py:343
msgid "GUI Preferences"
msgstr "GUI Preferences"
-#: flatcamGUI/PreferencesUI.py:334
+#: flatcamGUI/PreferencesUI.py:353
msgid "Theme"
msgstr "Theme"
-#: flatcamGUI/PreferencesUI.py:336
-msgid "Select a theme for FlatCAM."
-msgstr "Select a theme for FlatCAM."
+#: flatcamGUI/PreferencesUI.py:355
+msgid ""
+"Select a theme for FlatCAM.\n"
+"It will theme the plot area."
+msgstr ""
+"Select a theme for FlatCAM.\n"
+"It will theme the plot area."
-#: flatcamGUI/PreferencesUI.py:340
+#: flatcamGUI/PreferencesUI.py:360
msgid "Light"
msgstr "Light"
-#: flatcamGUI/PreferencesUI.py:341
+#: flatcamGUI/PreferencesUI.py:361
msgid "Dark"
msgstr "Dark"
-#: flatcamGUI/PreferencesUI.py:348
+#: flatcamGUI/PreferencesUI.py:368
msgid "Use Gray Icons"
msgstr "Use Gray Icons"
-#: flatcamGUI/PreferencesUI.py:350
+#: flatcamGUI/PreferencesUI.py:370
msgid ""
"Check this box to use a set of icons with\n"
"a lighter (gray) color. To be used when a\n"
@@ -8631,23 +9012,25 @@ msgstr ""
"a lighter (gray) color. To be used when a\n"
"full dark theme is applied."
-#: flatcamGUI/PreferencesUI.py:356
+#: flatcamGUI/PreferencesUI.py:376
msgid "Apply Theme"
msgstr "Apply Theme"
-#: flatcamGUI/PreferencesUI.py:358
+#: flatcamGUI/PreferencesUI.py:378
msgid ""
"Select a theme for FlatCAM.\n"
+"It will theme the plot area.\n"
"The application will restart after change."
msgstr ""
"Select a theme for FlatCAM.\n"
+"It will theme the plot area.\n"
"The application will restart after change."
-#: flatcamGUI/PreferencesUI.py:369
+#: flatcamGUI/PreferencesUI.py:390
msgid "Layout"
msgstr "Layout"
-#: flatcamGUI/PreferencesUI.py:371
+#: flatcamGUI/PreferencesUI.py:392
msgid ""
"Select an layout for FlatCAM.\n"
"It is applied immediately."
@@ -8655,11 +9038,11 @@ msgstr ""
"Select an layout for FlatCAM.\n"
"It is applied immediately."
-#: flatcamGUI/PreferencesUI.py:390
+#: flatcamGUI/PreferencesUI.py:412
msgid "Style"
msgstr "Style"
-#: flatcamGUI/PreferencesUI.py:392
+#: flatcamGUI/PreferencesUI.py:414
msgid ""
"Select an style for FlatCAM.\n"
"It will be applied at the next app start."
@@ -8667,11 +9050,11 @@ msgstr ""
"Select an style for FlatCAM.\n"
"It will be applied at the next app start."
-#: flatcamGUI/PreferencesUI.py:406
+#: flatcamGUI/PreferencesUI.py:428
msgid "Activate HDPI Support"
msgstr "Activate HDPI Support"
-#: flatcamGUI/PreferencesUI.py:408
+#: flatcamGUI/PreferencesUI.py:430
msgid ""
"Enable High DPI support for FlatCAM.\n"
"It will be applied at the next app start."
@@ -8679,11 +9062,11 @@ msgstr ""
"Enable High DPI support for FlatCAM.\n"
"It will be applied at the next app start."
-#: flatcamGUI/PreferencesUI.py:422
+#: flatcamGUI/PreferencesUI.py:444
msgid "Display Hover Shape"
msgstr "Display Hover Shape"
-#: flatcamGUI/PreferencesUI.py:424
+#: flatcamGUI/PreferencesUI.py:446
msgid ""
"Enable display of a hover shape for FlatCAM objects.\n"
"It is displayed whenever the mouse cursor is hovering\n"
@@ -8693,11 +9076,11 @@ msgstr ""
"It is displayed whenever the mouse cursor is hovering\n"
"over any kind of not-selected object."
-#: flatcamGUI/PreferencesUI.py:431
+#: flatcamGUI/PreferencesUI.py:453
msgid "Display Selection Shape"
msgstr "Display Selection Shape"
-#: flatcamGUI/PreferencesUI.py:433
+#: flatcamGUI/PreferencesUI.py:455
msgid ""
"Enable the display of a selection shape for FlatCAM objects.\n"
"It is displayed whenever the mouse selects an object\n"
@@ -8709,28 +9092,28 @@ msgstr ""
"either by clicking or dragging mouse from left to right or\n"
"right to left."
-#: flatcamGUI/PreferencesUI.py:446
+#: flatcamGUI/PreferencesUI.py:468
msgid "Left-Right Selection Color"
msgstr "Left-Right Selection Color"
-#: flatcamGUI/PreferencesUI.py:449 flatcamGUI/PreferencesUI.py:515
-#: flatcamGUI/PreferencesUI.py:1882 flatcamGUI/PreferencesUI.py:2903
-#: flatcamGUI/PreferencesUI.py:3894 flatcamGUI/PreferencesUI.py:4534
-#: flatcamGUI/PreferencesUI.py:4600 flatcamTools/ToolRulesCheck.py:179
+#: flatcamGUI/PreferencesUI.py:471 flatcamGUI/PreferencesUI.py:537
+#: flatcamGUI/PreferencesUI.py:2062 flatcamGUI/PreferencesUI.py:3085
+#: flatcamGUI/PreferencesUI.py:4174 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/PreferencesUI.py:4893 flatcamTools/ToolRulesCheck.py:186
msgid "Outline"
msgstr "Outline"
-#: flatcamGUI/PreferencesUI.py:451
+#: flatcamGUI/PreferencesUI.py:473
msgid "Set the line color for the 'left to right' selection box."
msgstr "Set the line color for the 'left to right' selection box."
-#: flatcamGUI/PreferencesUI.py:465 flatcamGUI/PreferencesUI.py:532
-#: flatcamGUI/PreferencesUI.py:1899 flatcamGUI/PreferencesUI.py:2920
-#: flatcamGUI/PreferencesUI.py:4551 flatcamGUI/PreferencesUI.py:4617
+#: flatcamGUI/PreferencesUI.py:487 flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:2079 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/PreferencesUI.py:4844 flatcamGUI/PreferencesUI.py:4910
msgid "Fill"
msgstr "Fill"
-#: flatcamGUI/PreferencesUI.py:467
+#: flatcamGUI/PreferencesUI.py:489
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from left to right.\n"
@@ -8742,25 +9125,25 @@ msgstr ""
"First 6 digits are the color and the last 2\n"
"digits are for alpha (transparency) level."
-#: flatcamGUI/PreferencesUI.py:485 flatcamGUI/PreferencesUI.py:552
-#: flatcamGUI/PreferencesUI.py:1918 flatcamGUI/PreferencesUI.py:2939
-#: flatcamGUI/PreferencesUI.py:4570
+#: flatcamGUI/PreferencesUI.py:507 flatcamGUI/PreferencesUI.py:574
+#: flatcamGUI/PreferencesUI.py:2098 flatcamGUI/PreferencesUI.py:3121
+#: flatcamGUI/PreferencesUI.py:4863
msgid "Alpha"
msgstr "Alpha"
-#: flatcamGUI/PreferencesUI.py:487
+#: flatcamGUI/PreferencesUI.py:509
msgid "Set the fill transparency for the 'left to right' selection box."
msgstr "Set the fill transparency for the 'left to right' selection box."
-#: flatcamGUI/PreferencesUI.py:511
+#: flatcamGUI/PreferencesUI.py:533
msgid "Right-Left Selection Color"
msgstr "Right-Left Selection Color"
-#: flatcamGUI/PreferencesUI.py:517
+#: flatcamGUI/PreferencesUI.py:539
msgid "Set the line color for the 'right to left' selection box."
msgstr "Set the line color for the 'right to left' selection box."
-#: flatcamGUI/PreferencesUI.py:534
+#: flatcamGUI/PreferencesUI.py:556
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from right to left.\n"
@@ -8772,43 +9155,43 @@ msgstr ""
"First 6 digits are the color and the last 2\n"
"digits are for alpha (transparency) level."
-#: flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:576
msgid "Set the fill transparency for selection 'right to left' box."
msgstr "Set the fill transparency for selection 'right to left' box."
-#: flatcamGUI/PreferencesUI.py:581
+#: flatcamGUI/PreferencesUI.py:603
msgid "Editor Color"
msgstr "Editor Color"
-#: flatcamGUI/PreferencesUI.py:585
+#: flatcamGUI/PreferencesUI.py:607
msgid "Drawing"
msgstr "Drawing"
-#: flatcamGUI/PreferencesUI.py:587
+#: flatcamGUI/PreferencesUI.py:609
msgid "Set the color for the shape."
msgstr "Set the color for the shape."
-#: flatcamGUI/PreferencesUI.py:604
+#: flatcamGUI/PreferencesUI.py:626
msgid "Set the color of the shape when selected."
msgstr "Set the color of the shape when selected."
-#: flatcamGUI/PreferencesUI.py:627
+#: flatcamGUI/PreferencesUI.py:649
msgid "Project Items Color"
msgstr "Project Items Color"
-#: flatcamGUI/PreferencesUI.py:631
+#: flatcamGUI/PreferencesUI.py:653
msgid "Enabled"
msgstr "Enabled"
-#: flatcamGUI/PreferencesUI.py:633
+#: flatcamGUI/PreferencesUI.py:655
msgid "Set the color of the items in Project Tab Tree."
msgstr "Set the color of the items in Project Tab Tree."
-#: flatcamGUI/PreferencesUI.py:647
+#: flatcamGUI/PreferencesUI.py:669
msgid "Disabled"
msgstr "Disabled"
-#: flatcamGUI/PreferencesUI.py:649
+#: flatcamGUI/PreferencesUI.py:671
msgid ""
"Set the color of the items in Project Tab Tree,\n"
"for the case when the items are disabled."
@@ -8816,7 +9199,11 @@ msgstr ""
"Set the color of the items in Project Tab Tree,\n"
"for the case when the items are disabled."
-#: flatcamGUI/PreferencesUI.py:667
+#: flatcamGUI/PreferencesUI.py:687
+msgid "Project AutoHide"
+msgstr "Project AutoHide"
+
+#: flatcamGUI/PreferencesUI.py:689
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"hide automatically when there are no objects loaded and\n"
@@ -8826,43 +9213,43 @@ msgstr ""
"hide automatically when there are no objects loaded and\n"
"to show whenever a new object is created."
-#: flatcamGUI/PreferencesUI.py:934
+#: flatcamGUI/PreferencesUI.py:1109
msgid "App Settings"
msgstr "App Settings"
-#: flatcamGUI/PreferencesUI.py:955
+#: flatcamGUI/PreferencesUI.py:1130
msgid "Grid Settings"
msgstr "Grid Settings"
-#: flatcamGUI/PreferencesUI.py:959
+#: flatcamGUI/PreferencesUI.py:1134
msgid "X value"
msgstr "X value"
-#: flatcamGUI/PreferencesUI.py:961
+#: flatcamGUI/PreferencesUI.py:1136
msgid "This is the Grid snap value on X axis."
msgstr "This is the Grid snap value on X axis."
-#: flatcamGUI/PreferencesUI.py:971
+#: flatcamGUI/PreferencesUI.py:1146
msgid "Y value"
msgstr "Y value"
-#: flatcamGUI/PreferencesUI.py:973
+#: flatcamGUI/PreferencesUI.py:1148
msgid "This is the Grid snap value on Y axis."
msgstr "This is the Grid snap value on Y axis."
-#: flatcamGUI/PreferencesUI.py:983
+#: flatcamGUI/PreferencesUI.py:1158
msgid "Snap Max"
msgstr "Snap Max"
-#: flatcamGUI/PreferencesUI.py:998
+#: flatcamGUI/PreferencesUI.py:1173
msgid "Workspace Settings"
msgstr "Workspace Settings"
-#: flatcamGUI/PreferencesUI.py:1001
+#: flatcamGUI/PreferencesUI.py:1176
msgid "Active"
msgstr "Active"
-#: flatcamGUI/PreferencesUI.py:1003
+#: flatcamGUI/PreferencesUI.py:1178
msgid ""
"Draw a delimiting rectangle on canvas.\n"
"The purpose is to illustrate the limits for our work."
@@ -8870,7 +9257,7 @@ msgstr ""
"Draw a delimiting rectangle on canvas.\n"
"The purpose is to illustrate the limits for our work."
-#: flatcamGUI/PreferencesUI.py:1011
+#: flatcamGUI/PreferencesUI.py:1186
msgid ""
"Select the type of rectangle to be used on canvas,\n"
"as valid workspace."
@@ -8878,12 +9265,12 @@ msgstr ""
"Select the type of rectangle to be used on canvas,\n"
"as valid workspace."
-#: flatcamGUI/PreferencesUI.py:1077
+#: flatcamGUI/PreferencesUI.py:1252
msgid "Orientation"
msgstr "Orientation"
-#: flatcamGUI/PreferencesUI.py:1078 flatcamGUI/PreferencesUI.py:5884
-#: flatcamTools/ToolFilm.py:420
+#: flatcamGUI/PreferencesUI.py:1253 flatcamGUI/PreferencesUI.py:6372
+#: flatcamTools/ToolFilm.py:422
msgid ""
"Can be:\n"
"- Portrait\n"
@@ -8893,21 +9280,21 @@ msgstr ""
"- Portrait\n"
"- Landscape"
-#: flatcamGUI/PreferencesUI.py:1082 flatcamGUI/PreferencesUI.py:5888
-#: flatcamTools/ToolFilm.py:424
+#: flatcamGUI/PreferencesUI.py:1257 flatcamGUI/PreferencesUI.py:6376
+#: flatcamTools/ToolFilm.py:426
msgid "Portrait"
msgstr "Portrait"
-#: flatcamGUI/PreferencesUI.py:1083 flatcamGUI/PreferencesUI.py:5889
-#: flatcamTools/ToolFilm.py:425
+#: flatcamGUI/PreferencesUI.py:1258 flatcamGUI/PreferencesUI.py:6377
+#: flatcamTools/ToolFilm.py:427
msgid "Landscape"
msgstr "Landscape"
-#: flatcamGUI/PreferencesUI.py:1107
+#: flatcamGUI/PreferencesUI.py:1282
msgid "Notebook"
msgstr "Notebook"
-#: flatcamGUI/PreferencesUI.py:1109
+#: flatcamGUI/PreferencesUI.py:1284
msgid ""
"This sets the font size for the elements found in the Notebook.\n"
"The notebook is the collapsible area in the left side of the GUI,\n"
@@ -8917,19 +9304,19 @@ msgstr ""
"The notebook is the collapsible area in the left side of the GUI,\n"
"and include the Project, Selected and Tool tabs."
-#: flatcamGUI/PreferencesUI.py:1128
+#: flatcamGUI/PreferencesUI.py:1303
msgid "Axis"
msgstr "Axis"
-#: flatcamGUI/PreferencesUI.py:1130
+#: flatcamGUI/PreferencesUI.py:1305
msgid "This sets the font size for canvas axis."
msgstr "This sets the font size for canvas axis."
-#: flatcamGUI/PreferencesUI.py:1147
+#: flatcamGUI/PreferencesUI.py:1322
msgid "Textbox"
msgstr "Textbox"
-#: flatcamGUI/PreferencesUI.py:1149
+#: flatcamGUI/PreferencesUI.py:1324
msgid ""
"This sets the font size for the Textbox GUI\n"
"elements that are used in FlatCAM."
@@ -8937,15 +9324,15 @@ msgstr ""
"This sets the font size for the Textbox GUI\n"
"elements that are used in FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1175
+#: flatcamGUI/PreferencesUI.py:1350
msgid "Mouse Settings"
msgstr "Mouse Settings"
-#: flatcamGUI/PreferencesUI.py:1179
+#: flatcamGUI/PreferencesUI.py:1354
msgid "Cursor Shape"
msgstr "Cursor Shape"
-#: flatcamGUI/PreferencesUI.py:1181
+#: flatcamGUI/PreferencesUI.py:1356
msgid ""
"Choose a mouse cursor shape.\n"
"- Small -> with a customizable size.\n"
@@ -8955,47 +9342,47 @@ msgstr ""
"- Small -> with a customizable size.\n"
"- Big -> Infinite lines"
-#: flatcamGUI/PreferencesUI.py:1187
+#: flatcamGUI/PreferencesUI.py:1362
msgid "Small"
msgstr "Small"
-#: flatcamGUI/PreferencesUI.py:1188
+#: flatcamGUI/PreferencesUI.py:1363
msgid "Big"
msgstr "Big"
-#: flatcamGUI/PreferencesUI.py:1195
+#: flatcamGUI/PreferencesUI.py:1370
msgid "Cursor Size"
msgstr "Cursor Size"
-#: flatcamGUI/PreferencesUI.py:1197
+#: flatcamGUI/PreferencesUI.py:1372
msgid "Set the size of the mouse cursor, in pixels."
msgstr "Set the size of the mouse cursor, in pixels."
-#: flatcamGUI/PreferencesUI.py:1208
+#: flatcamGUI/PreferencesUI.py:1383
msgid "Cursor Width"
msgstr "Cursor Width"
-#: flatcamGUI/PreferencesUI.py:1210
+#: flatcamGUI/PreferencesUI.py:1385
msgid "Set the line width of the mouse cursor, in pixels."
msgstr "Set the line width of the mouse cursor, in pixels."
-#: flatcamGUI/PreferencesUI.py:1221 flatcamGUI/PreferencesUI.py:1228
+#: flatcamGUI/PreferencesUI.py:1396 flatcamGUI/PreferencesUI.py:1403
msgid "Cursor Color"
msgstr "Cursor Color"
-#: flatcamGUI/PreferencesUI.py:1223
+#: flatcamGUI/PreferencesUI.py:1398
msgid "Check this box to color mouse cursor."
msgstr "Check this box to color mouse cursor."
-#: flatcamGUI/PreferencesUI.py:1230
+#: flatcamGUI/PreferencesUI.py:1405
msgid "Set the color of the mouse cursor."
msgstr "Set the color of the mouse cursor."
-#: flatcamGUI/PreferencesUI.py:1253
+#: flatcamGUI/PreferencesUI.py:1428
msgid "Pan Button"
msgstr "Pan Button"
-#: flatcamGUI/PreferencesUI.py:1255
+#: flatcamGUI/PreferencesUI.py:1430
msgid ""
"Select the mouse button to use for panning:\n"
"- MMB --> Middle Mouse Button\n"
@@ -9005,35 +9392,35 @@ msgstr ""
"- MMB --> Middle Mouse Button\n"
"- RMB --> Right Mouse Button"
-#: flatcamGUI/PreferencesUI.py:1259
+#: flatcamGUI/PreferencesUI.py:1434
msgid "MMB"
msgstr "MMB"
-#: flatcamGUI/PreferencesUI.py:1260
+#: flatcamGUI/PreferencesUI.py:1435
msgid "RMB"
msgstr "RMB"
-#: flatcamGUI/PreferencesUI.py:1266
+#: flatcamGUI/PreferencesUI.py:1441
msgid "Multiple Selection"
msgstr "Multiple Selection"
-#: flatcamGUI/PreferencesUI.py:1268
+#: flatcamGUI/PreferencesUI.py:1443
msgid "Select the key used for multiple selection."
msgstr "Select the key used for multiple selection."
-#: flatcamGUI/PreferencesUI.py:1270
+#: flatcamGUI/PreferencesUI.py:1445
msgid "CTRL"
msgstr "CTRL"
-#: flatcamGUI/PreferencesUI.py:1271
+#: flatcamGUI/PreferencesUI.py:1446
msgid "SHIFT"
msgstr "SHIFT"
-#: flatcamGUI/PreferencesUI.py:1282
+#: flatcamGUI/PreferencesUI.py:1457
msgid "Delete object confirmation"
msgstr "Delete object confirmation"
-#: flatcamGUI/PreferencesUI.py:1284
+#: flatcamGUI/PreferencesUI.py:1459
msgid ""
"When checked the application will ask for user confirmation\n"
"whenever the Delete object(s) event is triggered, either by\n"
@@ -9043,11 +9430,11 @@ msgstr ""
"whenever the Delete object(s) event is triggered, either by\n"
"menu shortcut or key shortcut."
-#: flatcamGUI/PreferencesUI.py:1291
+#: flatcamGUI/PreferencesUI.py:1466
msgid "\"Open\" behavior"
msgstr "\"Open\" behavior"
-#: flatcamGUI/PreferencesUI.py:1293
+#: flatcamGUI/PreferencesUI.py:1468
msgid ""
"When checked the path for the last saved file is used when saving files,\n"
"and the path for the last opened file is used when opening files.\n"
@@ -9061,7 +9448,11 @@ msgstr ""
"When unchecked the path for opening files is the one used last: either the\n"
"path for saving files or the path for opening files."
-#: flatcamGUI/PreferencesUI.py:1304
+#: flatcamGUI/PreferencesUI.py:1477
+msgid "Enable ToolTips"
+msgstr "Enable ToolTips"
+
+#: flatcamGUI/PreferencesUI.py:1479
msgid ""
"Check this box if you want to have toolTips displayed\n"
"when hovering with mouse over items throughout the App."
@@ -9069,11 +9460,11 @@ msgstr ""
"Check this box if you want to have toolTips displayed\n"
"when hovering with mouse over items throughout the App."
-#: flatcamGUI/PreferencesUI.py:1311
+#: flatcamGUI/PreferencesUI.py:1486
msgid "Allow Machinist Unsafe Settings"
msgstr "Allow Machinist Unsafe Settings"
-#: flatcamGUI/PreferencesUI.py:1313
+#: flatcamGUI/PreferencesUI.py:1488
msgid ""
"If checked, some of the application settings will be allowed\n"
"to have values that are usually unsafe to use.\n"
@@ -9087,11 +9478,11 @@ msgstr ""
"It will applied at the next application start.\n"
"<>: Don't change this unless you know what you are doing !!!"
-#: flatcamGUI/PreferencesUI.py:1324
+#: flatcamGUI/PreferencesUI.py:1500
msgid "Bookmarks limit"
msgstr "Bookmarks limit"
-#: flatcamGUI/PreferencesUI.py:1326
+#: flatcamGUI/PreferencesUI.py:1502
msgid ""
"The maximum number of bookmarks that may be installed in the menu.\n"
"The number of bookmarks in the bookmark manager may be greater\n"
@@ -9101,27 +9492,27 @@ msgstr ""
"The number of bookmarks in the bookmark manager may be greater\n"
"but the menu will hold only so much."
-#: flatcamGUI/PreferencesUI.py:1335
+#: flatcamGUI/PreferencesUI.py:1511
msgid "Activity Icon"
msgstr "Activity Icon"
-#: flatcamGUI/PreferencesUI.py:1337
+#: flatcamGUI/PreferencesUI.py:1513
msgid "Select the GIF that show activity when FlatCAM is active."
msgstr "Select the GIF that show activity when FlatCAM is active."
-#: flatcamGUI/PreferencesUI.py:1395
+#: flatcamGUI/PreferencesUI.py:1571
msgid "App Preferences"
msgstr "App Preferences"
-#: flatcamGUI/PreferencesUI.py:1405 flatcamGUI/PreferencesUI.py:1811
-#: flatcamGUI/PreferencesUI.py:2359 flatcamGUI/PreferencesUI.py:2804
-#: flatcamGUI/PreferencesUI.py:3417 flatcamTools/ToolDistance.py:49
-#: flatcamTools/ToolDistanceMin.py:49 flatcamTools/ToolPcbWizard.py:127
-#: flatcamTools/ToolProperties.py:152
+#: flatcamGUI/PreferencesUI.py:1581 flatcamGUI/PreferencesUI.py:1991
+#: flatcamGUI/PreferencesUI.py:2539 flatcamGUI/PreferencesUI.py:2986
+#: flatcamGUI/PreferencesUI.py:3695 flatcamTools/ToolDistance.py:56
+#: flatcamTools/ToolDistanceMin.py:50 flatcamTools/ToolPcbWizard.py:127
+#: flatcamTools/ToolProperties.py:154
msgid "Units"
msgstr "Units"
-#: flatcamGUI/PreferencesUI.py:1406
+#: flatcamGUI/PreferencesUI.py:1582
msgid ""
"The default value for FlatCAM units.\n"
"Whatever is selected here is set every time\n"
@@ -9131,22 +9522,22 @@ msgstr ""
"Whatever is selected here is set every time\n"
"FLatCAM is started."
-#: flatcamGUI/PreferencesUI.py:1409 flatcamGUI/PreferencesUI.py:1817
-#: flatcamGUI/PreferencesUI.py:2365 flatcamGUI/PreferencesUI.py:2815
-#: flatcamGUI/PreferencesUI.py:3423 flatcamTools/ToolCalculators.py:62
+#: flatcamGUI/PreferencesUI.py:1585 flatcamGUI/PreferencesUI.py:1997
+#: flatcamGUI/PreferencesUI.py:2545 flatcamGUI/PreferencesUI.py:2997
+#: flatcamGUI/PreferencesUI.py:3701 flatcamTools/ToolCalculators.py:62
#: flatcamTools/ToolPcbWizard.py:126
msgid "MM"
msgstr "MM"
-#: flatcamGUI/PreferencesUI.py:1410
+#: flatcamGUI/PreferencesUI.py:1586
msgid "IN"
msgstr "IN"
-#: flatcamGUI/PreferencesUI.py:1416
+#: flatcamGUI/PreferencesUI.py:1592
msgid "Precision MM"
msgstr "Precision MM"
-#: flatcamGUI/PreferencesUI.py:1418
+#: flatcamGUI/PreferencesUI.py:1594
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in METRIC system.\n"
@@ -9156,11 +9547,11 @@ msgstr ""
"when the set units are in METRIC system.\n"
"Any change here require an application restart."
-#: flatcamGUI/PreferencesUI.py:1430
+#: flatcamGUI/PreferencesUI.py:1606
msgid "Precision INCH"
msgstr "Precision INCH"
-#: flatcamGUI/PreferencesUI.py:1432
+#: flatcamGUI/PreferencesUI.py:1608
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in INCH system.\n"
@@ -9170,11 +9561,11 @@ msgstr ""
"when the set units are in INCH system.\n"
"Any change here require an application restart."
-#: flatcamGUI/PreferencesUI.py:1444
+#: flatcamGUI/PreferencesUI.py:1620
msgid "Graphic Engine"
msgstr "Graphic Engine"
-#: flatcamGUI/PreferencesUI.py:1445
+#: flatcamGUI/PreferencesUI.py:1621
msgid ""
"Choose what graphic engine to use in FlatCAM.\n"
"Legacy(2D) -> reduced functionality, slow performance but enhanced "
@@ -9192,19 +9583,19 @@ msgstr ""
"Intel HD3000 or older. In this case the plot area will be black therefore\n"
"use the Legacy(2D) mode."
-#: flatcamGUI/PreferencesUI.py:1451
+#: flatcamGUI/PreferencesUI.py:1627
msgid "Legacy(2D)"
msgstr "Legacy(2D)"
-#: flatcamGUI/PreferencesUI.py:1452
+#: flatcamGUI/PreferencesUI.py:1628
msgid "OpenGL(3D)"
msgstr "OpenGL(3D)"
-#: flatcamGUI/PreferencesUI.py:1464
+#: flatcamGUI/PreferencesUI.py:1640
msgid "APP. LEVEL"
msgstr "APP. LEVEL"
-#: flatcamGUI/PreferencesUI.py:1465
+#: flatcamGUI/PreferencesUI.py:1641
msgid ""
"Choose the default level of usage for FlatCAM.\n"
"BASIC level -> reduced functionality, best for beginner's.\n"
@@ -9220,11 +9611,11 @@ msgstr ""
"The choice here will influence the parameters in\n"
"the Selected Tab for all kinds of FlatCAM objects."
-#: flatcamGUI/PreferencesUI.py:1477
+#: flatcamGUI/PreferencesUI.py:1653
msgid "Portable app"
msgstr "Portable app"
-#: flatcamGUI/PreferencesUI.py:1478
+#: flatcamGUI/PreferencesUI.py:1654
msgid ""
"Choose if the application should run as portable.\n"
"\n"
@@ -9238,19 +9629,19 @@ msgstr ""
"which means that the preferences files will be saved\n"
"in the application folder, in the lib\\config subfolder."
-#: flatcamGUI/PreferencesUI.py:1491
+#: flatcamGUI/PreferencesUI.py:1667
msgid "Languages"
msgstr "Languages"
-#: flatcamGUI/PreferencesUI.py:1492
+#: flatcamGUI/PreferencesUI.py:1668
msgid "Set the language used throughout FlatCAM."
msgstr "Set the language used throughout FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1498
+#: flatcamGUI/PreferencesUI.py:1674
msgid "Apply Language"
msgstr "Apply Language"
-#: flatcamGUI/PreferencesUI.py:1499
+#: flatcamGUI/PreferencesUI.py:1675
msgid ""
"Set the language used throughout FlatCAM.\n"
"The app will restart after click."
@@ -9258,31 +9649,31 @@ msgstr ""
"Set the language used throughout FlatCAM.\n"
"The app will restart after click."
-#: flatcamGUI/PreferencesUI.py:1513
+#: flatcamGUI/PreferencesUI.py:1689
msgid "Startup Settings"
msgstr "Startup Settings"
-#: flatcamGUI/PreferencesUI.py:1517
+#: flatcamGUI/PreferencesUI.py:1693
msgid "Splash Screen"
msgstr "Splash Screen"
-#: flatcamGUI/PreferencesUI.py:1519
+#: flatcamGUI/PreferencesUI.py:1695
msgid "Enable display of the splash screen at application startup."
msgstr "Enable display of the splash screen at application startup."
-#: flatcamGUI/PreferencesUI.py:1531
+#: flatcamGUI/PreferencesUI.py:1707
msgid "Sys Tray Icon"
msgstr "Sys Tray Icon"
-#: flatcamGUI/PreferencesUI.py:1533
+#: flatcamGUI/PreferencesUI.py:1709
msgid "Enable display of FlatCAM icon in Sys Tray."
msgstr "Enable display of FlatCAM icon in Sys Tray."
-#: flatcamGUI/PreferencesUI.py:1538
+#: flatcamGUI/PreferencesUI.py:1714
msgid "Show Shell"
msgstr "Show Shell"
-#: flatcamGUI/PreferencesUI.py:1540
+#: flatcamGUI/PreferencesUI.py:1716
msgid ""
"Check this box if you want the shell to\n"
"start automatically at startup."
@@ -9290,11 +9681,11 @@ msgstr ""
"Check this box if you want the shell to\n"
"start automatically at startup."
-#: flatcamGUI/PreferencesUI.py:1547
+#: flatcamGUI/PreferencesUI.py:1723
msgid "Show Project"
msgstr "Show Project"
-#: flatcamGUI/PreferencesUI.py:1549
+#: flatcamGUI/PreferencesUI.py:1725
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"to be shown automatically at startup."
@@ -9302,11 +9693,11 @@ msgstr ""
"Check this box if you want the project/selected/tool tab area to\n"
"to be shown automatically at startup."
-#: flatcamGUI/PreferencesUI.py:1555
+#: flatcamGUI/PreferencesUI.py:1731
msgid "Version Check"
msgstr "Version Check"
-#: flatcamGUI/PreferencesUI.py:1557
+#: flatcamGUI/PreferencesUI.py:1733
msgid ""
"Check this box if you want to check\n"
"for a new version automatically at startup."
@@ -9314,11 +9705,11 @@ msgstr ""
"Check this box if you want to check\n"
"for a new version automatically at startup."
-#: flatcamGUI/PreferencesUI.py:1564
+#: flatcamGUI/PreferencesUI.py:1740
msgid "Send Statistics"
msgstr "Send Statistics"
-#: flatcamGUI/PreferencesUI.py:1566
+#: flatcamGUI/PreferencesUI.py:1742
msgid ""
"Check this box if you agree to send anonymous\n"
"stats automatically at startup, to help improve FlatCAM."
@@ -9326,11 +9717,11 @@ msgstr ""
"Check this box if you agree to send anonymous\n"
"stats automatically at startup, to help improve FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1580
+#: flatcamGUI/PreferencesUI.py:1756
msgid "Workers number"
msgstr "Workers number"
-#: flatcamGUI/PreferencesUI.py:1582 flatcamGUI/PreferencesUI.py:1591
+#: flatcamGUI/PreferencesUI.py:1758
msgid ""
"The number of Qthreads made available to the App.\n"
"A bigger number may finish the jobs more quickly but\n"
@@ -9346,35 +9737,35 @@ msgstr ""
"Default value is 2.\n"
"After change, it will be applied at next App start."
-#: flatcamGUI/PreferencesUI.py:1604
+#: flatcamGUI/PreferencesUI.py:1772
msgid "Geo Tolerance"
msgstr "Geo Tolerance"
-#: flatcamGUI/PreferencesUI.py:1606 flatcamGUI/PreferencesUI.py:1615
+#: flatcamGUI/PreferencesUI.py:1774
msgid ""
"This value can counter the effect of the Circle Steps\n"
-"parameter. Default value is 0.01.\n"
+"parameter. Default value is 0.005.\n"
"A lower value will increase the detail both in image\n"
"and in Gcode for the circles, with a higher cost in\n"
"performance. Higher value will provide more\n"
"performance at the expense of level of detail."
msgstr ""
"This value can counter the effect of the Circle Steps\n"
-"parameter. Default value is 0.01.\n"
+"parameter. Default value is 0.005.\n"
"A lower value will increase the detail both in image\n"
"and in Gcode for the circles, with a higher cost in\n"
"performance. Higher value will provide more\n"
"performance at the expense of level of detail."
-#: flatcamGUI/PreferencesUI.py:1634
+#: flatcamGUI/PreferencesUI.py:1794
msgid "Save Settings"
msgstr "Save Settings"
-#: flatcamGUI/PreferencesUI.py:1638
+#: flatcamGUI/PreferencesUI.py:1798
msgid "Save Compressed Project"
msgstr "Save Compressed Project"
-#: flatcamGUI/PreferencesUI.py:1640
+#: flatcamGUI/PreferencesUI.py:1800
msgid ""
"Whether to save a compressed or uncompressed project.\n"
"When checked it will save a compressed FlatCAM project."
@@ -9382,11 +9773,11 @@ msgstr ""
"Whether to save a compressed or uncompressed project.\n"
"When checked it will save a compressed FlatCAM project."
-#: flatcamGUI/PreferencesUI.py:1649
+#: flatcamGUI/PreferencesUI.py:1809
msgid "Compression"
msgstr "Compression"
-#: flatcamGUI/PreferencesUI.py:1651
+#: flatcamGUI/PreferencesUI.py:1811
msgid ""
"The level of compression used when saving\n"
"a FlatCAM project. Higher value means better compression\n"
@@ -9396,60 +9787,90 @@ msgstr ""
"a FlatCAM project. Higher value means better compression\n"
"but require more RAM usage and more processing time."
-#: flatcamGUI/PreferencesUI.py:1671
+#: flatcamGUI/PreferencesUI.py:1822
+msgid "Enable Auto Save"
+msgstr "Enable Auto Save"
+
+#: flatcamGUI/PreferencesUI.py:1824
+msgid ""
+"Check to enable the autosave feature.\n"
+"When enabled, the application will try to save a project\n"
+"at the set interval."
+msgstr ""
+"Check to enable the autosave feature.\n"
+"When enabled, the application will try to save a project\n"
+"at the set interval."
+
+#: flatcamGUI/PreferencesUI.py:1834
+msgid "Interval"
+msgstr "Interval"
+
+#: flatcamGUI/PreferencesUI.py:1836
+msgid ""
+"Time interval for autosaving. In milliseconds.\n"
+"The application will try to save periodically but only\n"
+"if the project was saved manually at least once.\n"
+"While active, some operations may block this feature."
+msgstr ""
+"Time interval for autosaving. In milliseconds.\n"
+"The application will try to save periodically but only\n"
+"if the project was saved manually at least once.\n"
+"While active, some operations may block this feature."
+
+#: flatcamGUI/PreferencesUI.py:1852
msgid "Text to PDF parameters"
msgstr "Text to PDF parameters"
-#: flatcamGUI/PreferencesUI.py:1673
+#: flatcamGUI/PreferencesUI.py:1854
msgid "Used when saving text in Code Editor or in FlatCAM Document objects."
msgstr "Used when saving text in Code Editor or in FlatCAM Document objects."
-#: flatcamGUI/PreferencesUI.py:1682
+#: flatcamGUI/PreferencesUI.py:1863
msgid "Top Margin"
msgstr "Top Margin"
-#: flatcamGUI/PreferencesUI.py:1684
+#: flatcamGUI/PreferencesUI.py:1865
msgid "Distance between text body and the top of the PDF file."
msgstr "Distance between text body and the top of the PDF file."
-#: flatcamGUI/PreferencesUI.py:1695
+#: flatcamGUI/PreferencesUI.py:1876
msgid "Bottom Margin"
msgstr "Bottom Margin"
-#: flatcamGUI/PreferencesUI.py:1697
+#: flatcamGUI/PreferencesUI.py:1878
msgid "Distance between text body and the bottom of the PDF file."
msgstr "Distance between text body and the bottom of the PDF file."
-#: flatcamGUI/PreferencesUI.py:1708
+#: flatcamGUI/PreferencesUI.py:1889
msgid "Left Margin"
msgstr "Left Margin"
-#: flatcamGUI/PreferencesUI.py:1710
+#: flatcamGUI/PreferencesUI.py:1891
msgid "Distance between text body and the left of the PDF file."
msgstr "Distance between text body and the left of the PDF file."
-#: flatcamGUI/PreferencesUI.py:1721
+#: flatcamGUI/PreferencesUI.py:1902
msgid "Right Margin"
msgstr "Right Margin"
-#: flatcamGUI/PreferencesUI.py:1723
+#: flatcamGUI/PreferencesUI.py:1904
msgid "Distance between text body and the right of the PDF file."
msgstr "Distance between text body and the right of the PDF file."
-#: flatcamGUI/PreferencesUI.py:1756
+#: flatcamGUI/PreferencesUI.py:1936
msgid "Gerber General"
msgstr "Gerber General"
-#: flatcamGUI/PreferencesUI.py:1774
+#: flatcamGUI/PreferencesUI.py:1954
msgid "M-Color"
msgstr "M-Color"
-#: flatcamGUI/PreferencesUI.py:1788 flatcamGUI/PreferencesUI.py:3859
-#: flatcamGUI/PreferencesUI.py:4442 flatcamGUI/PreferencesUI.py:7148
+#: flatcamGUI/PreferencesUI.py:1968 flatcamGUI/PreferencesUI.py:4137
+#: flatcamGUI/PreferencesUI.py:4735 flatcamGUI/PreferencesUI.py:7654
msgid "Circle Steps"
msgstr "Circle Steps"
-#: flatcamGUI/PreferencesUI.py:1790
+#: flatcamGUI/PreferencesUI.py:1970
msgid ""
"The number of circle steps for Gerber \n"
"circular aperture linear approximation."
@@ -9457,11 +9878,11 @@ msgstr ""
"The number of circle steps for Gerber \n"
"circular aperture linear approximation."
-#: flatcamGUI/PreferencesUI.py:1802
+#: flatcamGUI/PreferencesUI.py:1982
msgid "Default Values"
msgstr "Default Values"
-#: flatcamGUI/PreferencesUI.py:1804
+#: flatcamGUI/PreferencesUI.py:1984
msgid ""
"Those values will be used as fallback values\n"
"in case that they are not found in the Gerber file."
@@ -9469,25 +9890,25 @@ msgstr ""
"Those values will be used as fallback values\n"
"in case that they are not found in the Gerber file."
-#: flatcamGUI/PreferencesUI.py:1813 flatcamGUI/PreferencesUI.py:1819
-#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:2367
+#: flatcamGUI/PreferencesUI.py:1993 flatcamGUI/PreferencesUI.py:1999
+#: flatcamGUI/PreferencesUI.py:2541 flatcamGUI/PreferencesUI.py:2547
msgid "The units used in the Gerber file."
msgstr "The units used in the Gerber file."
-#: flatcamGUI/PreferencesUI.py:1816 flatcamGUI/PreferencesUI.py:2364
-#: flatcamGUI/PreferencesUI.py:2728 flatcamGUI/PreferencesUI.py:2814
-#: flatcamGUI/PreferencesUI.py:3422 flatcamTools/ToolCalculators.py:61
+#: flatcamGUI/PreferencesUI.py:1996 flatcamGUI/PreferencesUI.py:2544
+#: flatcamGUI/PreferencesUI.py:2910 flatcamGUI/PreferencesUI.py:2996
+#: flatcamGUI/PreferencesUI.py:3700 flatcamTools/ToolCalculators.py:61
#: flatcamTools/ToolPcbWizard.py:125
msgid "INCH"
msgstr "INCH"
-#: flatcamGUI/PreferencesUI.py:1826 flatcamGUI/PreferencesUI.py:2413
-#: flatcamGUI/PreferencesUI.py:2786 flatcamGUI/PreferencesUI.py:3490
+#: flatcamGUI/PreferencesUI.py:2006 flatcamGUI/PreferencesUI.py:2593
+#: flatcamGUI/PreferencesUI.py:2968 flatcamGUI/PreferencesUI.py:3768
msgid "Zeros"
msgstr "Zeros"
-#: flatcamGUI/PreferencesUI.py:1829 flatcamGUI/PreferencesUI.py:1839
-#: flatcamGUI/PreferencesUI.py:2416 flatcamGUI/PreferencesUI.py:2426
+#: flatcamGUI/PreferencesUI.py:2009 flatcamGUI/PreferencesUI.py:2019
+#: flatcamGUI/PreferencesUI.py:2596 flatcamGUI/PreferencesUI.py:2606
msgid ""
"This sets the type of Gerber zeros.\n"
"If LZ then Leading Zeros are removed and\n"
@@ -9501,23 +9922,23 @@ msgstr ""
"If TZ is checked then Trailing Zeros are removed\n"
"and Leading Zeros are kept."
-#: flatcamGUI/PreferencesUI.py:1836 flatcamGUI/PreferencesUI.py:2423
-#: flatcamGUI/PreferencesUI.py:2799 flatcamGUI/PreferencesUI.py:3500
+#: flatcamGUI/PreferencesUI.py:2016 flatcamGUI/PreferencesUI.py:2603
+#: flatcamGUI/PreferencesUI.py:2981 flatcamGUI/PreferencesUI.py:3778
#: flatcamTools/ToolPcbWizard.py:111
msgid "LZ"
msgstr "LZ"
-#: flatcamGUI/PreferencesUI.py:1837 flatcamGUI/PreferencesUI.py:2424
-#: flatcamGUI/PreferencesUI.py:2800 flatcamGUI/PreferencesUI.py:3501
+#: flatcamGUI/PreferencesUI.py:2017 flatcamGUI/PreferencesUI.py:2604
+#: flatcamGUI/PreferencesUI.py:2982 flatcamGUI/PreferencesUI.py:3779
#: flatcamTools/ToolPcbWizard.py:112
msgid "TZ"
msgstr "TZ"
-#: flatcamGUI/PreferencesUI.py:1855
+#: flatcamGUI/PreferencesUI.py:2035
msgid "Clean Apertures"
msgstr "Clean Apertures"
-#: flatcamGUI/PreferencesUI.py:1857
+#: flatcamGUI/PreferencesUI.py:2037
msgid ""
"Will remove apertures that do not have geometry\n"
"thus lowering the number of apertures in the Gerber object."
@@ -9525,11 +9946,11 @@ msgstr ""
"Will remove apertures that do not have geometry\n"
"thus lowering the number of apertures in the Gerber object."
-#: flatcamGUI/PreferencesUI.py:1863
+#: flatcamGUI/PreferencesUI.py:2043
msgid "Polarity change buffer"
msgstr "Polarity change buffer"
-#: flatcamGUI/PreferencesUI.py:1865
+#: flatcamGUI/PreferencesUI.py:2045
msgid ""
"Will apply extra buffering for the\n"
"solid geometry when we have polarity changes.\n"
@@ -9541,17 +9962,17 @@ msgstr ""
"May help loading Gerber files that otherwise\n"
"do not load correctly."
-#: flatcamGUI/PreferencesUI.py:1878
+#: flatcamGUI/PreferencesUI.py:2058
msgid "Gerber Object Color"
msgstr "Gerber Object Color"
-#: flatcamGUI/PreferencesUI.py:1884 flatcamGUI/PreferencesUI.py:2905
-#: flatcamGUI/PreferencesUI.py:3896
+#: flatcamGUI/PreferencesUI.py:2064 flatcamGUI/PreferencesUI.py:3087
+#: flatcamGUI/PreferencesUI.py:4176
msgid "Set the line color for plotted objects."
msgstr "Set the line color for plotted objects."
-#: flatcamGUI/PreferencesUI.py:1901 flatcamGUI/PreferencesUI.py:2922
-#: flatcamGUI/PreferencesUI.py:4553 flatcamGUI/PreferencesUI.py:4619
+#: flatcamGUI/PreferencesUI.py:2081 flatcamGUI/PreferencesUI.py:3104
+#: flatcamGUI/PreferencesUI.py:4846 flatcamGUI/PreferencesUI.py:4912
msgid ""
"Set the fill color for plotted objects.\n"
"First 6 digits are the color and the last 2\n"
@@ -9561,34 +9982,29 @@ msgstr ""
"First 6 digits are the color and the last 2\n"
"digits are for alpha (transparency) level."
-#: flatcamGUI/PreferencesUI.py:1920 flatcamGUI/PreferencesUI.py:2941
-#: flatcamGUI/PreferencesUI.py:4572
+#: flatcamGUI/PreferencesUI.py:2100 flatcamGUI/PreferencesUI.py:3123
+#: flatcamGUI/PreferencesUI.py:4865
msgid "Set the fill transparency for plotted objects."
msgstr "Set the fill transparency for plotted objects."
-#: flatcamGUI/PreferencesUI.py:2011
+#: flatcamGUI/PreferencesUI.py:2191
msgid "Gerber Options"
msgstr "Gerber Options"
-#: flatcamGUI/PreferencesUI.py:2085 flatcamGUI/PreferencesUI.py:4379
-#: flatcamGUI/PreferencesUI.py:5120 flatcamTools/ToolNonCopperClear.py:170
-msgid "Conv."
-msgstr "Conv."
-
-#: flatcamGUI/PreferencesUI.py:2089
+#: flatcamGUI/PreferencesUI.py:2269
msgid "Combine Passes"
msgstr "Combine Passes"
-#: flatcamGUI/PreferencesUI.py:2177
+#: flatcamGUI/PreferencesUI.py:2357
msgid "Gerber Adv. Options"
msgstr "Gerber Adv. Options"
-#: flatcamGUI/PreferencesUI.py:2181 flatcamGUI/PreferencesUI.py:3278
-#: flatcamGUI/PreferencesUI.py:4179
+#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:3551
+#: flatcamGUI/PreferencesUI.py:4472
msgid "Advanced Options"
msgstr "Advanced Options"
-#: flatcamGUI/PreferencesUI.py:2183
+#: flatcamGUI/PreferencesUI.py:2363
msgid ""
"A list of Gerber advanced parameters.\n"
"Those parameters are available only for\n"
@@ -9598,11 +10014,11 @@ msgstr ""
"Those parameters are available only for\n"
"Advanced App. Level."
-#: flatcamGUI/PreferencesUI.py:2202
+#: flatcamGUI/PreferencesUI.py:2382
msgid "Table Show/Hide"
msgstr "Table Show/Hide"
-#: flatcamGUI/PreferencesUI.py:2204
+#: flatcamGUI/PreferencesUI.py:2384
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"Also, on hide, it will delete all mark shapes\n"
@@ -9612,15 +10028,15 @@ msgstr ""
"Also, on hide, it will delete all mark shapes\n"
"that are drawn on canvas."
-#: flatcamGUI/PreferencesUI.py:2284
+#: flatcamGUI/PreferencesUI.py:2464
msgid "Exterior"
msgstr "Exterior"
-#: flatcamGUI/PreferencesUI.py:2285
+#: flatcamGUI/PreferencesUI.py:2465
msgid "Interior"
msgstr "Interior"
-#: flatcamGUI/PreferencesUI.py:2298
+#: flatcamGUI/PreferencesUI.py:2478
msgid ""
"Buffering type:\n"
"- None --> best performance, fast file loading but no so good display\n"
@@ -9632,19 +10048,19 @@ msgstr ""
"- Full --> slow file loading but good visuals. This is the default.\n"
"<>: Don't change this unless you know what you are doing !!!"
-#: flatcamGUI/PreferencesUI.py:2303 flatcamGUI/PreferencesUI.py:5852
-#: flatcamGUI/PreferencesUI.py:7446 flatcamTools/ToolFiducials.py:201
-#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:411
-#: flatcamTools/ToolProperties.py:426 flatcamTools/ToolProperties.py:429
-#: flatcamTools/ToolProperties.py:432 flatcamTools/ToolProperties.py:456
+#: flatcamGUI/PreferencesUI.py:2483 flatcamGUI/PreferencesUI.py:6340
+#: flatcamGUI/PreferencesUI.py:7952 flatcamTools/ToolFiducials.py:201
+#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:452
+#: flatcamTools/ToolProperties.py:455 flatcamTools/ToolProperties.py:458
+#: flatcamTools/ToolProperties.py:483
msgid "None"
msgstr "None"
-#: flatcamGUI/PreferencesUI.py:2309
+#: flatcamGUI/PreferencesUI.py:2489
msgid "Simplify"
msgstr "Simplify"
-#: flatcamGUI/PreferencesUI.py:2311
+#: flatcamGUI/PreferencesUI.py:2491
msgid ""
"When checked all the Gerber polygons will be\n"
"loaded with simplification having a set tolerance.\n"
@@ -9654,23 +10070,23 @@ msgstr ""
"loaded with simplification having a set tolerance.\n"
"<>: Don't change this unless you know what you are doing !!!"
-#: flatcamGUI/PreferencesUI.py:2318
+#: flatcamGUI/PreferencesUI.py:2498
msgid "Tolerance"
msgstr "Tolerance"
-#: flatcamGUI/PreferencesUI.py:2319
+#: flatcamGUI/PreferencesUI.py:2499
msgid "Tolerance for polygon simplification."
msgstr "Tolerance for polygon simplification."
-#: flatcamGUI/PreferencesUI.py:2344
+#: flatcamGUI/PreferencesUI.py:2524
msgid "Gerber Export"
msgstr "Gerber Export"
-#: flatcamGUI/PreferencesUI.py:2348 flatcamGUI/PreferencesUI.py:3406
+#: flatcamGUI/PreferencesUI.py:2528 flatcamGUI/PreferencesUI.py:3684
msgid "Export Options"
msgstr "Export Options"
-#: flatcamGUI/PreferencesUI.py:2350
+#: flatcamGUI/PreferencesUI.py:2530
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Gerber menu entry."
@@ -9678,11 +10094,11 @@ msgstr ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Gerber menu entry."
-#: flatcamGUI/PreferencesUI.py:2373 flatcamGUI/PreferencesUI.py:3431
+#: flatcamGUI/PreferencesUI.py:2553 flatcamGUI/PreferencesUI.py:3709
msgid "Int/Decimals"
msgstr "Int/Decimals"
-#: flatcamGUI/PreferencesUI.py:2375
+#: flatcamGUI/PreferencesUI.py:2555
msgid ""
"The number of digits in the whole part of the number\n"
"and in the fractional part of the number."
@@ -9690,7 +10106,7 @@ msgstr ""
"The number of digits in the whole part of the number\n"
"and in the fractional part of the number."
-#: flatcamGUI/PreferencesUI.py:2388
+#: flatcamGUI/PreferencesUI.py:2568
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Gerber coordinates."
@@ -9698,7 +10114,7 @@ msgstr ""
"This numbers signify the number of digits in\n"
"the whole part of Gerber coordinates."
-#: flatcamGUI/PreferencesUI.py:2404
+#: flatcamGUI/PreferencesUI.py:2584
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Gerber coordinates."
@@ -9706,16 +10122,16 @@ msgstr ""
"This numbers signify the number of digits in\n"
"the decimal part of Gerber coordinates."
-#: flatcamGUI/PreferencesUI.py:2449
+#: flatcamGUI/PreferencesUI.py:2629
msgid "A list of Gerber Editor parameters."
msgstr "A list of Gerber Editor parameters."
-#: flatcamGUI/PreferencesUI.py:2457 flatcamGUI/PreferencesUI.py:3565
-#: flatcamGUI/PreferencesUI.py:4357 flatcamGUI/PreferencesUI.py:7109
+#: flatcamGUI/PreferencesUI.py:2637 flatcamGUI/PreferencesUI.py:3843
+#: flatcamGUI/PreferencesUI.py:4650 flatcamGUI/PreferencesUI.py:7615
msgid "Selection limit"
msgstr "Selection limit"
-#: flatcamGUI/PreferencesUI.py:2459
+#: flatcamGUI/PreferencesUI.py:2639
msgid ""
"Set the number of selected Gerber geometry\n"
"items above which the utility geometry\n"
@@ -9729,23 +10145,23 @@ msgstr ""
"Increases the performance when moving a\n"
"large number of geometric elements."
-#: flatcamGUI/PreferencesUI.py:2472
+#: flatcamGUI/PreferencesUI.py:2652
msgid "New Aperture code"
msgstr "New Aperture code"
-#: flatcamGUI/PreferencesUI.py:2485
+#: flatcamGUI/PreferencesUI.py:2665
msgid "New Aperture size"
msgstr "New Aperture size"
-#: flatcamGUI/PreferencesUI.py:2487
+#: flatcamGUI/PreferencesUI.py:2667
msgid "Size for the new aperture"
msgstr "Size for the new aperture"
-#: flatcamGUI/PreferencesUI.py:2498
+#: flatcamGUI/PreferencesUI.py:2678
msgid "New Aperture type"
msgstr "New Aperture type"
-#: flatcamGUI/PreferencesUI.py:2500
+#: flatcamGUI/PreferencesUI.py:2680
msgid ""
"Type for the new aperture.\n"
"Can be 'C', 'R' or 'O'."
@@ -9753,35 +10169,42 @@ msgstr ""
"Type for the new aperture.\n"
"Can be 'C', 'R' or 'O'."
-#: flatcamGUI/PreferencesUI.py:2522
+#: flatcamGUI/PreferencesUI.py:2702
msgid "Aperture Dimensions"
msgstr "Aperture Dimensions"
-#: flatcamGUI/PreferencesUI.py:2524 flatcamGUI/PreferencesUI.py:3877
-#: flatcamGUI/PreferencesUI.py:5029
-msgid "Diameters of the cutting tools, separated by ','"
-msgstr "Diameters of the cutting tools, separated by ','"
+#: flatcamGUI/PreferencesUI.py:2704 flatcamGUI/PreferencesUI.py:4155
+#: flatcamGUI/PreferencesUI.py:5322 flatcamGUI/PreferencesUI.py:5889
+#: flatcamGUI/PreferencesUI.py:6955
+msgid ""
+"Diameters of the tools, separated by comma.\n"
+"The value of the diameter has to use the dot decimals separator.\n"
+"Valid values: 0.3, 1.0"
+msgstr ""
+"Diameters of the tools, separated by comma.\n"
+"The value of the diameter has to use the dot decimals separator.\n"
+"Valid values: 0.3, 1.0"
-#: flatcamGUI/PreferencesUI.py:2530
+#: flatcamGUI/PreferencesUI.py:2712
msgid "Linear Pad Array"
msgstr "Linear Pad Array"
-#: flatcamGUI/PreferencesUI.py:2534 flatcamGUI/PreferencesUI.py:3609
-#: flatcamGUI/PreferencesUI.py:3757
+#: flatcamGUI/PreferencesUI.py:2716 flatcamGUI/PreferencesUI.py:3887
+#: flatcamGUI/PreferencesUI.py:4035
msgid "Linear Direction"
msgstr "Linear Direction"
-#: flatcamGUI/PreferencesUI.py:2574
+#: flatcamGUI/PreferencesUI.py:2756
msgid "Circular Pad Array"
msgstr "Circular Pad Array"
-#: flatcamGUI/PreferencesUI.py:2578 flatcamGUI/PreferencesUI.py:3655
-#: flatcamGUI/PreferencesUI.py:3805
+#: flatcamGUI/PreferencesUI.py:2760 flatcamGUI/PreferencesUI.py:3933
+#: flatcamGUI/PreferencesUI.py:4083
msgid "Circular Direction"
msgstr "Circular Direction"
-#: flatcamGUI/PreferencesUI.py:2580 flatcamGUI/PreferencesUI.py:3657
-#: flatcamGUI/PreferencesUI.py:3807
+#: flatcamGUI/PreferencesUI.py:2762 flatcamGUI/PreferencesUI.py:3935
+#: flatcamGUI/PreferencesUI.py:4085
msgid ""
"Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise."
@@ -9789,48 +10212,48 @@ msgstr ""
"Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise."
-#: flatcamGUI/PreferencesUI.py:2591 flatcamGUI/PreferencesUI.py:3668
-#: flatcamGUI/PreferencesUI.py:3818
+#: flatcamGUI/PreferencesUI.py:2773 flatcamGUI/PreferencesUI.py:3946
+#: flatcamGUI/PreferencesUI.py:4096
msgid "Circular Angle"
msgstr "Circular Angle"
-#: flatcamGUI/PreferencesUI.py:2610
+#: flatcamGUI/PreferencesUI.py:2792
msgid "Distance at which to buffer the Gerber element."
msgstr "Distance at which to buffer the Gerber element."
-#: flatcamGUI/PreferencesUI.py:2619
+#: flatcamGUI/PreferencesUI.py:2801
msgid "Scale Tool"
msgstr "Scale Tool"
-#: flatcamGUI/PreferencesUI.py:2625
+#: flatcamGUI/PreferencesUI.py:2807
msgid "Factor to scale the Gerber element."
msgstr "Factor to scale the Gerber element."
-#: flatcamGUI/PreferencesUI.py:2638
+#: flatcamGUI/PreferencesUI.py:2820
msgid "Threshold low"
msgstr "Threshold low"
-#: flatcamGUI/PreferencesUI.py:2640
+#: flatcamGUI/PreferencesUI.py:2822
msgid "Threshold value under which the apertures are not marked."
msgstr "Threshold value under which the apertures are not marked."
-#: flatcamGUI/PreferencesUI.py:2650
+#: flatcamGUI/PreferencesUI.py:2832
msgid "Threshold high"
msgstr "Threshold high"
-#: flatcamGUI/PreferencesUI.py:2652
+#: flatcamGUI/PreferencesUI.py:2834
msgid "Threshold value over which the apertures are not marked."
msgstr "Threshold value over which the apertures are not marked."
-#: flatcamGUI/PreferencesUI.py:2670
+#: flatcamGUI/PreferencesUI.py:2852
msgid "Excellon General"
msgstr "Excellon General"
-#: flatcamGUI/PreferencesUI.py:2703
+#: flatcamGUI/PreferencesUI.py:2885
msgid "Excellon Format"
msgstr "Excellon Format"
-#: flatcamGUI/PreferencesUI.py:2705
+#: flatcamGUI/PreferencesUI.py:2887
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -9872,12 +10295,12 @@ msgstr ""
"Sprint Layout 2:4 INCH LZ\n"
"KiCAD 3:5 INCH TZ"
-#: flatcamGUI/PreferencesUI.py:2729
+#: flatcamGUI/PreferencesUI.py:2911
msgid "Default values for INCH are 2:4"
msgstr "Default values for INCH are 2:4"
-#: flatcamGUI/PreferencesUI.py:2736 flatcamGUI/PreferencesUI.py:2765
-#: flatcamGUI/PreferencesUI.py:3445
+#: flatcamGUI/PreferencesUI.py:2918 flatcamGUI/PreferencesUI.py:2947
+#: flatcamGUI/PreferencesUI.py:3723
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Excellon coordinates."
@@ -9885,8 +10308,8 @@ msgstr ""
"This numbers signify the number of digits in\n"
"the whole part of Excellon coordinates."
-#: flatcamGUI/PreferencesUI.py:2749 flatcamGUI/PreferencesUI.py:2778
-#: flatcamGUI/PreferencesUI.py:3458
+#: flatcamGUI/PreferencesUI.py:2931 flatcamGUI/PreferencesUI.py:2960
+#: flatcamGUI/PreferencesUI.py:3736
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Excellon coordinates."
@@ -9894,21 +10317,15 @@ msgstr ""
"This numbers signify the number of digits in\n"
"the decimal part of Excellon coordinates."
-#: flatcamGUI/PreferencesUI.py:2757
+#: flatcamGUI/PreferencesUI.py:2939
msgid "METRIC"
msgstr "METRIC"
-#: flatcamGUI/PreferencesUI.py:2758
+#: flatcamGUI/PreferencesUI.py:2940
msgid "Default values for METRIC are 3:3"
msgstr "Default values for METRIC are 3:3"
-#: flatcamGUI/PreferencesUI.py:2789
-#| msgid ""
-#| "This sets the type of Excellon zeros.\n"
-#| "If LZ then Leading Zeros are kept and\n"
-#| "Trailing Zeros are removed.\n"
-#| "If TZ is checked then Trailing Zeros are kept\n"
-#| "and Leading Zeros are removed."
+#: flatcamGUI/PreferencesUI.py:2971
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -9928,7 +10345,7 @@ msgstr ""
"This is used when there is no information\n"
"stored in the Excellon file."
-#: flatcamGUI/PreferencesUI.py:2807
+#: flatcamGUI/PreferencesUI.py:2989
msgid ""
"This sets the default units of Excellon files.\n"
"If it is not detected in the parsed file the value here\n"
@@ -9940,7 +10357,7 @@ msgstr ""
"will be used.Some Excellon files don't have an header\n"
"therefore this parameter will be used."
-#: flatcamGUI/PreferencesUI.py:2817
+#: flatcamGUI/PreferencesUI.py:2999
msgid ""
"This sets the units of Excellon files.\n"
"Some Excellon files don't have an header\n"
@@ -9950,19 +10367,19 @@ msgstr ""
"Some Excellon files don't have an header\n"
"therefore this parameter will be used."
-#: flatcamGUI/PreferencesUI.py:2825
+#: flatcamGUI/PreferencesUI.py:3007
msgid "Update Export settings"
msgstr "Update Export settings"
-#: flatcamGUI/PreferencesUI.py:2842
+#: flatcamGUI/PreferencesUI.py:3024
msgid "Excellon Optimization"
msgstr "Excellon Optimization"
-#: flatcamGUI/PreferencesUI.py:2845
+#: flatcamGUI/PreferencesUI.py:3027
msgid "Algorithm:"
msgstr "Algorithm:"
-#: flatcamGUI/PreferencesUI.py:2847 flatcamGUI/PreferencesUI.py:2863
+#: flatcamGUI/PreferencesUI.py:3029 flatcamGUI/PreferencesUI.py:3045
msgid ""
"This sets the optimization type for the Excellon drill path.\n"
"If <> is checked then Google OR-Tools algorithm with\n"
@@ -9984,20 +10401,20 @@ msgstr ""
"If this control is disabled, then FlatCAM works in 32bit mode and it uses\n"
"Travelling Salesman algorithm for path optimization."
-#: flatcamGUI/PreferencesUI.py:2858
+#: flatcamGUI/PreferencesUI.py:3040
msgid "MetaHeuristic"
msgstr "MetaHeuristic"
-#: flatcamGUI/PreferencesUI.py:2860
+#: flatcamGUI/PreferencesUI.py:3042
msgid "TSA"
msgstr "TSA"
-#: flatcamGUI/PreferencesUI.py:2877 flatcamGUI/PreferencesUI.py:3192
-#: flatcamGUI/PreferencesUI.py:4138
+#: flatcamGUI/PreferencesUI.py:3059 flatcamGUI/PreferencesUI.py:3463
+#: flatcamGUI/PreferencesUI.py:4430
msgid "Duration"
msgstr "Duration"
-#: flatcamGUI/PreferencesUI.py:2880
+#: flatcamGUI/PreferencesUI.py:3062
msgid ""
"When OR-Tools Metaheuristic (MH) is enabled there is a\n"
"maximum threshold for how much time is spent doing the\n"
@@ -10009,15 +10426,19 @@ msgstr ""
"path optimization. This max duration is set here.\n"
"In seconds."
-#: flatcamGUI/PreferencesUI.py:2899
+#: flatcamGUI/PreferencesUI.py:3081
msgid "Excellon Object Color"
msgstr "Excellon Object Color"
-#: flatcamGUI/PreferencesUI.py:3065
+#: flatcamGUI/PreferencesUI.py:3247
msgid "Excellon Options"
msgstr "Excellon Options"
-#: flatcamGUI/PreferencesUI.py:3071
+#: flatcamGUI/PreferencesUI.py:3251 flatcamGUI/PreferencesUI.py:4227
+msgid "Create CNC Job"
+msgstr "Create CNC Job"
+
+#: flatcamGUI/PreferencesUI.py:3253
msgid ""
"Parameters used to create a CNC Job object\n"
"for this drill object."
@@ -10025,12 +10446,27 @@ msgstr ""
"Parameters used to create a CNC Job object\n"
"for this drill object."
-#: flatcamGUI/PreferencesUI.py:3185 flatcamGUI/PreferencesUI.py:4133
-#| msgid "Enable Plot"
+#: flatcamGUI/PreferencesUI.py:3370 flatcamGUI/PreferencesUI.py:4314
+msgid "Tool change"
+msgstr "Tool change"
+
+#: flatcamGUI/PreferencesUI.py:3454 flatcamGUI/PreferencesUI.py:4425
msgid "Enable Dwell"
msgstr "Enable Dwell"
-#: flatcamGUI/PreferencesUI.py:3217
+#: flatcamGUI/PreferencesUI.py:3477
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output."
+msgstr ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output."
+
+#: flatcamGUI/PreferencesUI.py:3488
+msgid "Gcode"
+msgstr "Gcode"
+
+#: flatcamGUI/PreferencesUI.py:3490
msgid ""
"Choose what to use for GCode generation:\n"
"'Drills', 'Slots' or 'Both'.\n"
@@ -10042,15 +10478,35 @@ msgstr ""
"When choosing 'Slots' or 'Both', slots will be\n"
"converted to drills."
-#: flatcamGUI/PreferencesUI.py:3235
+#: flatcamGUI/PreferencesUI.py:3506
+msgid "Mill Holes"
+msgstr "Mill Holes"
+
+#: flatcamGUI/PreferencesUI.py:3508
msgid "Create Geometry for milling holes."
msgstr "Create Geometry for milling holes."
-#: flatcamGUI/PreferencesUI.py:3271
+#: flatcamGUI/PreferencesUI.py:3512
+msgid "Drill Tool dia"
+msgstr "Drill Tool dia"
+
+#: flatcamGUI/PreferencesUI.py:3523
+msgid "Slot Tool dia"
+msgstr "Slot Tool dia"
+
+#: flatcamGUI/PreferencesUI.py:3525
+msgid ""
+"Diameter of the cutting tool\n"
+"when milling slots."
+msgstr ""
+"Diameter of the cutting tool\n"
+"when milling slots."
+
+#: flatcamGUI/PreferencesUI.py:3544
msgid "Excellon Adv. Options"
msgstr "Excellon Adv. Options"
-#: flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:3553
msgid ""
"A list of Excellon advanced parameters.\n"
"Those parameters are available only for\n"
@@ -10060,19 +10516,19 @@ msgstr ""
"Those parameters are available only for\n"
"Advanced App. Level."
-#: flatcamGUI/PreferencesUI.py:3301
+#: flatcamGUI/PreferencesUI.py:3576
msgid "Toolchange X,Y"
msgstr "Toolchange X,Y"
-#: flatcamGUI/PreferencesUI.py:3303 flatcamGUI/PreferencesUI.py:4193
+#: flatcamGUI/PreferencesUI.py:3578 flatcamGUI/PreferencesUI.py:4486
msgid "Toolchange X,Y position."
msgstr "Toolchange X,Y position."
-#: flatcamGUI/PreferencesUI.py:3360 flatcamGUI/PreferencesUI.py:4280
+#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:4573
msgid "Spindle direction"
msgstr "Spindle direction"
-#: flatcamGUI/PreferencesUI.py:3362 flatcamGUI/PreferencesUI.py:4282
+#: flatcamGUI/PreferencesUI.py:3640 flatcamGUI/PreferencesUI.py:4575
msgid ""
"This sets the direction that the spindle is rotating.\n"
"It can be either:\n"
@@ -10084,11 +10540,11 @@ msgstr ""
"- CW = clockwise or\n"
"- CCW = counter clockwise"
-#: flatcamGUI/PreferencesUI.py:3373 flatcamGUI/PreferencesUI.py:4294
+#: flatcamGUI/PreferencesUI.py:3651 flatcamGUI/PreferencesUI.py:4587
msgid "Fast Plunge"
msgstr "Fast Plunge"
-#: flatcamGUI/PreferencesUI.py:3375 flatcamGUI/PreferencesUI.py:4296
+#: flatcamGUI/PreferencesUI.py:3653 flatcamGUI/PreferencesUI.py:4589
msgid ""
"By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n"
@@ -10100,11 +10556,11 @@ msgstr ""
"meaning the fastest speed available.\n"
"WARNING: the move is done at Toolchange X,Y coords."
-#: flatcamGUI/PreferencesUI.py:3382
+#: flatcamGUI/PreferencesUI.py:3660
msgid "Fast Retract"
msgstr "Fast Retract"
-#: flatcamGUI/PreferencesUI.py:3384
+#: flatcamGUI/PreferencesUI.py:3662
msgid ""
"Exit hole strategy.\n"
" - When uncheked, while exiting the drilled hole the drill bit\n"
@@ -10120,11 +10576,11 @@ msgstr ""
" - When checked the travel from Z cut (cut depth) to Z_move\n"
"(travel height) is done as fast as possible (G0) in one move."
-#: flatcamGUI/PreferencesUI.py:3402
+#: flatcamGUI/PreferencesUI.py:3680
msgid "Excellon Export"
msgstr "Excellon Export"
-#: flatcamGUI/PreferencesUI.py:3408
+#: flatcamGUI/PreferencesUI.py:3686
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Excellon menu entry."
@@ -10132,11 +10588,11 @@ msgstr ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Excellon menu entry."
-#: flatcamGUI/PreferencesUI.py:3419 flatcamGUI/PreferencesUI.py:3425
+#: flatcamGUI/PreferencesUI.py:3697 flatcamGUI/PreferencesUI.py:3703
msgid "The units used in the Excellon file."
msgstr "The units used in the Excellon file."
-#: flatcamGUI/PreferencesUI.py:3433
+#: flatcamGUI/PreferencesUI.py:3711
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -10148,11 +10604,11 @@ msgstr ""
"Here we set the format used when the provided\n"
"coordinates are not using period."
-#: flatcamGUI/PreferencesUI.py:3467
+#: flatcamGUI/PreferencesUI.py:3745
msgid "Format"
msgstr "Format"
-#: flatcamGUI/PreferencesUI.py:3469 flatcamGUI/PreferencesUI.py:3479
+#: flatcamGUI/PreferencesUI.py:3747 flatcamGUI/PreferencesUI.py:3757
msgid ""
"Select the kind of coordinates format used.\n"
"Coordinates can be saved with decimal point or without.\n"
@@ -10168,15 +10624,15 @@ msgstr ""
"Also it will have to be specified if LZ = leading zeros are kept\n"
"or TZ = trailing zeros are kept."
-#: flatcamGUI/PreferencesUI.py:3476
+#: flatcamGUI/PreferencesUI.py:3754
msgid "Decimal"
msgstr "Decimal"
-#: flatcamGUI/PreferencesUI.py:3477
+#: flatcamGUI/PreferencesUI.py:3755
msgid "No-Decimal"
msgstr "No-Decimal"
-#: flatcamGUI/PreferencesUI.py:3493
+#: flatcamGUI/PreferencesUI.py:3771
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10190,7 +10646,7 @@ msgstr ""
"If TZ is checked then Trailing Zeros are kept\n"
"and Leading Zeros are removed."
-#: flatcamGUI/PreferencesUI.py:3503
+#: flatcamGUI/PreferencesUI.py:3781
msgid ""
"This sets the default type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10204,11 +10660,11 @@ msgstr ""
"If TZ is checked then Trailing Zeros are kept\n"
"and Leading Zeros are removed."
-#: flatcamGUI/PreferencesUI.py:3513
+#: flatcamGUI/PreferencesUI.py:3791
msgid "Slot type"
msgstr "Slot type"
-#: flatcamGUI/PreferencesUI.py:3516 flatcamGUI/PreferencesUI.py:3526
+#: flatcamGUI/PreferencesUI.py:3794 flatcamGUI/PreferencesUI.py:3804
msgid ""
"This sets how the slots will be exported.\n"
"If ROUTED then the slots will be routed\n"
@@ -10222,19 +10678,19 @@ msgstr ""
"If DRILLED(G85) the slots will be exported\n"
"using the Drilled slot command (G85)."
-#: flatcamGUI/PreferencesUI.py:3523
+#: flatcamGUI/PreferencesUI.py:3801
msgid "Routed"
msgstr "Routed"
-#: flatcamGUI/PreferencesUI.py:3524
+#: flatcamGUI/PreferencesUI.py:3802
msgid "Drilled(G85)"
msgstr "Drilled(G85)"
-#: flatcamGUI/PreferencesUI.py:3557
+#: flatcamGUI/PreferencesUI.py:3835
msgid "A list of Excellon Editor parameters."
msgstr "A list of Excellon Editor parameters."
-#: flatcamGUI/PreferencesUI.py:3567
+#: flatcamGUI/PreferencesUI.py:3845
msgid ""
"Set the number of selected Excellon geometry\n"
"items above which the utility geometry\n"
@@ -10248,19 +10704,20 @@ msgstr ""
"Increases the performance when moving a\n"
"large number of geometric elements."
-#: flatcamGUI/PreferencesUI.py:3580 flatcamGUI/PreferencesUI.py:5100
-msgid "New Tool Dia"
-msgstr "New Tool Dia"
+#: flatcamGUI/PreferencesUI.py:3858 flatcamGUI/PreferencesUI.py:5396
+#: flatcamGUI/PreferencesUI.py:5962
+msgid "New Dia"
+msgstr "New Dia"
-#: flatcamGUI/PreferencesUI.py:3605
+#: flatcamGUI/PreferencesUI.py:3883
msgid "Linear Drill Array"
msgstr "Linear Drill Array"
-#: flatcamGUI/PreferencesUI.py:3651
+#: flatcamGUI/PreferencesUI.py:3929
msgid "Circular Drill Array"
msgstr "Circular Drill Array"
-#: flatcamGUI/PreferencesUI.py:3721
+#: flatcamGUI/PreferencesUI.py:3999
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -10272,19 +10729,19 @@ msgstr ""
"Min value is: -359.99 degrees.\n"
"Max value is: 360.00 degrees."
-#: flatcamGUI/PreferencesUI.py:3740
+#: flatcamGUI/PreferencesUI.py:4018
msgid "Linear Slot Array"
msgstr "Linear Slot Array"
-#: flatcamGUI/PreferencesUI.py:3801
+#: flatcamGUI/PreferencesUI.py:4079
msgid "Circular Slot Array"
msgstr "Circular Slot Array"
-#: flatcamGUI/PreferencesUI.py:3839
+#: flatcamGUI/PreferencesUI.py:4117
msgid "Geometry General"
msgstr "Geometry General"
-#: flatcamGUI/PreferencesUI.py:3861
+#: flatcamGUI/PreferencesUI.py:4139
msgid ""
"The number of circle steps for Geometry \n"
"circle and arc shapes linear approximation."
@@ -10292,15 +10749,20 @@ msgstr ""
"The number of circle steps for Geometry \n"
"circle and arc shapes linear approximation."
-#: flatcamGUI/PreferencesUI.py:3890
+#: flatcamGUI/PreferencesUI.py:4153 flatcamGUI/PreferencesUI.py:5320
+#: flatcamGUI/PreferencesUI.py:5887 flatcamGUI/PreferencesUI.py:6953
+msgid "Tools Dia"
+msgstr "Tools Dia"
+
+#: flatcamGUI/PreferencesUI.py:4170
msgid "Geometry Object Color"
msgstr "Geometry Object Color"
-#: flatcamGUI/PreferencesUI.py:3941
+#: flatcamGUI/PreferencesUI.py:4221
msgid "Geometry Options"
msgstr "Geometry Options"
-#: flatcamGUI/PreferencesUI.py:3949
+#: flatcamGUI/PreferencesUI.py:4229
msgid ""
"Create a CNC Job object\n"
"tracing the contours of this\n"
@@ -10310,11 +10772,11 @@ msgstr ""
"tracing the contours of this\n"
"Geometry object."
-#: flatcamGUI/PreferencesUI.py:3993
+#: flatcamGUI/PreferencesUI.py:4273
msgid "Depth/Pass"
msgstr "Depth/Pass"
-#: flatcamGUI/PreferencesUI.py:3995
+#: flatcamGUI/PreferencesUI.py:4275
msgid ""
"The depth to cut on each pass,\n"
"when multidepth is enabled.\n"
@@ -10328,11 +10790,11 @@ msgstr ""
"it is a fraction from the depth\n"
"which has negative value."
-#: flatcamGUI/PreferencesUI.py:4173
+#: flatcamGUI/PreferencesUI.py:4466
msgid "Geometry Adv. Options"
msgstr "Geometry Adv. Options"
-#: flatcamGUI/PreferencesUI.py:4181
+#: flatcamGUI/PreferencesUI.py:4474
msgid ""
"A list of Geometry advanced parameters.\n"
"Those parameters are available only for\n"
@@ -10342,13 +10804,13 @@ msgstr ""
"Those parameters are available only for\n"
"Advanced App. Level."
-#: flatcamGUI/PreferencesUI.py:4191 flatcamGUI/PreferencesUI.py:6539
-#: flatcamGUI/PreferencesUI.py:7586 flatcamTools/ToolCalibration.py:125
-#: flatcamTools/ToolSolderPaste.py:239
+#: flatcamGUI/PreferencesUI.py:4484 flatcamGUI/PreferencesUI.py:7045
+#: flatcamGUI/PreferencesUI.py:8092 flatcamTools/ToolCalibration.py:125
+#: flatcamTools/ToolSolderPaste.py:241
msgid "Toolchange X-Y"
msgstr "Toolchange X-Y"
-#: flatcamGUI/PreferencesUI.py:4202
+#: flatcamGUI/PreferencesUI.py:4495
msgid ""
"Height of the tool just after starting the work.\n"
"Delete the value if you don't need this feature."
@@ -10356,11 +10818,11 @@ msgstr ""
"Height of the tool just after starting the work.\n"
"Delete the value if you don't need this feature."
-#: flatcamGUI/PreferencesUI.py:4304
+#: flatcamGUI/PreferencesUI.py:4597
msgid "Segment X size"
msgstr "Segment X size"
-#: flatcamGUI/PreferencesUI.py:4306
+#: flatcamGUI/PreferencesUI.py:4599
msgid ""
"The size of the trace segment on the X axis.\n"
"Useful for auto-leveling.\n"
@@ -10370,11 +10832,11 @@ msgstr ""
"Useful for auto-leveling.\n"
"A value of 0 means no segmentation on the X axis."
-#: flatcamGUI/PreferencesUI.py:4320
+#: flatcamGUI/PreferencesUI.py:4613
msgid "Segment Y size"
msgstr "Segment Y size"
-#: flatcamGUI/PreferencesUI.py:4322
+#: flatcamGUI/PreferencesUI.py:4615
msgid ""
"The size of the trace segment on the Y axis.\n"
"Useful for auto-leveling.\n"
@@ -10384,15 +10846,11 @@ msgstr ""
"Useful for auto-leveling.\n"
"A value of 0 means no segmentation on the Y axis."
-#: flatcamGUI/PreferencesUI.py:4343
-msgid "Geometry Editor"
-msgstr "Geometry Editor"
-
-#: flatcamGUI/PreferencesUI.py:4349
+#: flatcamGUI/PreferencesUI.py:4642
msgid "A list of Geometry Editor parameters."
msgstr "A list of Geometry Editor parameters."
-#: flatcamGUI/PreferencesUI.py:4359 flatcamGUI/PreferencesUI.py:7111
+#: flatcamGUI/PreferencesUI.py:4652 flatcamGUI/PreferencesUI.py:7617
msgid ""
"Set the number of selected geometry\n"
"items above which the utility geometry\n"
@@ -10406,11 +10864,11 @@ msgstr ""
"Increases the performance when moving a\n"
"large number of geometric elements."
-#: flatcamGUI/PreferencesUI.py:4391
+#: flatcamGUI/PreferencesUI.py:4684
msgid "CNC Job General"
msgstr "CNC Job General"
-#: flatcamGUI/PreferencesUI.py:4444
+#: flatcamGUI/PreferencesUI.py:4737
msgid ""
"The number of circle steps for GCode \n"
"circle and arc shapes linear approximation."
@@ -10418,11 +10876,11 @@ msgstr ""
"The number of circle steps for GCode \n"
"circle and arc shapes linear approximation."
-#: flatcamGUI/PreferencesUI.py:4453
+#: flatcamGUI/PreferencesUI.py:4746
msgid "Travel dia"
msgstr "Travel dia"
-#: flatcamGUI/PreferencesUI.py:4455
+#: flatcamGUI/PreferencesUI.py:4748
msgid ""
"The width of the travel lines to be\n"
"rendered in the plot."
@@ -10430,16 +10888,15 @@ msgstr ""
"The width of the travel lines to be\n"
"rendered in the plot."
-#: flatcamGUI/PreferencesUI.py:4468
-#| msgid "No-Decimal"
+#: flatcamGUI/PreferencesUI.py:4761
msgid "G-code Decimals"
msgstr "G-code Decimals"
-#: flatcamGUI/PreferencesUI.py:4471 flatcamTools/ToolFiducials.py:74
+#: flatcamGUI/PreferencesUI.py:4764 flatcamTools/ToolFiducials.py:74
msgid "Coordinates"
msgstr "Coordinates"
-#: flatcamGUI/PreferencesUI.py:4473
+#: flatcamGUI/PreferencesUI.py:4766
msgid ""
"The number of decimals to be used for \n"
"the X, Y, Z coordinates in CNC code (GCODE, etc.)"
@@ -10447,11 +10904,11 @@ msgstr ""
"The number of decimals to be used for \n"
"the X, Y, Z coordinates in CNC code (GCODE, etc.)"
-#: flatcamGUI/PreferencesUI.py:4484 flatcamTools/ToolProperties.py:492
+#: flatcamGUI/PreferencesUI.py:4777 flatcamTools/ToolProperties.py:519
msgid "Feedrate"
msgstr "Feedrate"
-#: flatcamGUI/PreferencesUI.py:4486
+#: flatcamGUI/PreferencesUI.py:4779
msgid ""
"The number of decimals to be used for \n"
"the Feedrate parameter in CNC code (GCODE, etc.)"
@@ -10459,11 +10916,11 @@ msgstr ""
"The number of decimals to be used for \n"
"the Feedrate parameter in CNC code (GCODE, etc.)"
-#: flatcamGUI/PreferencesUI.py:4497
+#: flatcamGUI/PreferencesUI.py:4790
msgid "Coordinates type"
msgstr "Coordinates type"
-#: flatcamGUI/PreferencesUI.py:4499
+#: flatcamGUI/PreferencesUI.py:4792
msgid ""
"The type of coordinates to be used in Gcode.\n"
"Can be:\n"
@@ -10475,19 +10932,19 @@ msgstr ""
"- Absolute G90 -> the reference is the origin x=0, y=0\n"
"- Incremental G91 -> the reference is the previous position"
-#: flatcamGUI/PreferencesUI.py:4505
+#: flatcamGUI/PreferencesUI.py:4798
msgid "Absolute G90"
msgstr "Absolute G90"
-#: flatcamGUI/PreferencesUI.py:4506
+#: flatcamGUI/PreferencesUI.py:4799
msgid "Incremental G91"
msgstr "Incremental G91"
-#: flatcamGUI/PreferencesUI.py:4516
+#: flatcamGUI/PreferencesUI.py:4809
msgid "Force Windows style line-ending"
msgstr "Force Windows style line-ending"
-#: flatcamGUI/PreferencesUI.py:4518
+#: flatcamGUI/PreferencesUI.py:4811
msgid ""
"When checked will force a Windows style line-ending\n"
"(\\r\\n) on non-Windows OS's."
@@ -10495,35 +10952,35 @@ msgstr ""
"When checked will force a Windows style line-ending\n"
"(\\r\\n) on non-Windows OS's."
-#: flatcamGUI/PreferencesUI.py:4530
+#: flatcamGUI/PreferencesUI.py:4823
msgid "Travel Line Color"
msgstr "Travel Line Color"
-#: flatcamGUI/PreferencesUI.py:4536
+#: flatcamGUI/PreferencesUI.py:4829
msgid "Set the travel line color for plotted objects."
msgstr "Set the travel line color for plotted objects."
-#: flatcamGUI/PreferencesUI.py:4596
+#: flatcamGUI/PreferencesUI.py:4889
msgid "CNCJob Object Color"
msgstr "CNCJob Object Color"
-#: flatcamGUI/PreferencesUI.py:4602
+#: flatcamGUI/PreferencesUI.py:4895
msgid "Set the color for plotted objects."
msgstr "Set the color for plotted objects."
-#: flatcamGUI/PreferencesUI.py:4762
+#: flatcamGUI/PreferencesUI.py:5055
msgid "CNC Job Options"
msgstr "CNC Job Options"
-#: flatcamGUI/PreferencesUI.py:4766
+#: flatcamGUI/PreferencesUI.py:5059
msgid "Export G-Code"
msgstr "Export G-Code"
-#: flatcamGUI/PreferencesUI.py:4782
+#: flatcamGUI/PreferencesUI.py:5075
msgid "Prepend to G-Code"
msgstr "Prepend to G-Code"
-#: flatcamGUI/PreferencesUI.py:4791
+#: flatcamGUI/PreferencesUI.py:5084
msgid ""
"Type here any G-Code commands you would like to add at the beginning of the "
"G-Code file."
@@ -10531,15 +10988,11 @@ msgstr ""
"Type here any G-Code commands you would like to add at the beginning of the "
"G-Code file."
-#: flatcamGUI/PreferencesUI.py:4798
+#: flatcamGUI/PreferencesUI.py:5091
msgid "Append to G-Code"
msgstr "Append to G-Code"
-#: flatcamGUI/PreferencesUI.py:4808
-#| msgid ""
-#| "Type here any G-Code commands you would\n"
-#| "like to append to the generated file.\n"
-#| "I.e.: M2 (End of program)"
+#: flatcamGUI/PreferencesUI.py:5101
msgid ""
"Type here any G-Code commands you would like to append to the generated "
"file.\n"
@@ -10549,19 +11002,11 @@ msgstr ""
"file.\n"
"I.e.: M2 (End of program)"
-#: flatcamGUI/PreferencesUI.py:4824
+#: flatcamGUI/PreferencesUI.py:5117
msgid "CNC Job Adv. Options"
msgstr "CNC Job Adv. Options"
-#: flatcamGUI/PreferencesUI.py:4861
-#| msgid ""
-#| "Type here any G-Code commands you would\n"
-#| "like to be executed when Toolchange event is encountered.\n"
-#| "This will constitute a Custom Toolchange GCode,\n"
-#| "or a Toolchange Macro.\n"
-#| "The FlatCAM variables are surrounded by '%' symbol.\n"
-#| "WARNING: it can be used only with a preprocessor file\n"
-#| "that has 'toolchange_custom' in it's name."
+#: flatcamGUI/PreferencesUI.py:5154
msgid ""
"Type here any G-Code commands you would like to be executed when Toolchange "
"event is encountered.\n"
@@ -10577,45 +11022,46 @@ msgstr ""
"WARNING: it can be used only with a preprocessor file that has "
"'toolchange_custom' in it's name."
-#: flatcamGUI/PreferencesUI.py:4916
+#: flatcamGUI/PreferencesUI.py:5209
msgid "Z depth for the cut"
msgstr "Z depth for the cut"
-#: flatcamGUI/PreferencesUI.py:4917
+#: flatcamGUI/PreferencesUI.py:5210
msgid "Z height for travel"
msgstr "Z height for travel"
-#: flatcamGUI/PreferencesUI.py:4923
+#: flatcamGUI/PreferencesUI.py:5216
msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM"
msgstr "dwelltime = time to dwell to allow the spindle to reach it's set RPM"
-#: flatcamGUI/PreferencesUI.py:4942
+#: flatcamGUI/PreferencesUI.py:5235
msgid "Annotation Size"
msgstr "Annotation Size"
-#: flatcamGUI/PreferencesUI.py:4944
+#: flatcamGUI/PreferencesUI.py:5237
msgid "The font size of the annotation text. In pixels."
msgstr "The font size of the annotation text. In pixels."
-#: flatcamGUI/PreferencesUI.py:4954
+#: flatcamGUI/PreferencesUI.py:5247
msgid "Annotation Color"
msgstr "Annotation Color"
-#: flatcamGUI/PreferencesUI.py:4956
+#: flatcamGUI/PreferencesUI.py:5249
msgid "Set the font color for the annotation texts."
msgstr "Set the font color for the annotation texts."
-#: flatcamGUI/PreferencesUI.py:5013
+#: flatcamGUI/PreferencesUI.py:5306
msgid "NCC Tool Options"
msgstr "NCC Tool Options"
-#: flatcamGUI/PreferencesUI.py:5027 flatcamGUI/PreferencesUI.py:6449
-msgid "Tools dia"
-msgstr "Tools dia"
+#: flatcamGUI/PreferencesUI.py:5328 flatcamGUI/PreferencesUI.py:5896
+msgid "Comma separated values"
+msgstr "Comma separated values"
-#: flatcamGUI/PreferencesUI.py:5038 flatcamGUI/PreferencesUI.py:5046
-#: flatcamTools/ToolNonCopperClear.py:215
-#: flatcamTools/ToolNonCopperClear.py:223
+#: flatcamGUI/PreferencesUI.py:5334 flatcamGUI/PreferencesUI.py:5342
+#: flatcamGUI/PreferencesUI.py:5903 flatcamTools/ToolNCC.py:215
+#: flatcamTools/ToolNCC.py:223 flatcamTools/ToolPaint.py:198
+#: flatcamTools/ToolPaint.py:206
msgid ""
"Default tool type:\n"
"- 'V-shape'\n"
@@ -10625,13 +11071,15 @@ msgstr ""
"- 'V-shape'\n"
"- Circular"
-#: flatcamGUI/PreferencesUI.py:5043 flatcamTools/ToolNonCopperClear.py:220
+#: flatcamGUI/PreferencesUI.py:5339 flatcamGUI/PreferencesUI.py:5908
+#: flatcamTools/ToolNCC.py:220 flatcamTools/ToolPaint.py:203
msgid "V-shape"
msgstr "V-shape"
-#: flatcamGUI/PreferencesUI.py:5083 flatcamGUI/PreferencesUI.py:5092
-#: flatcamTools/ToolNonCopperClear.py:256
-#: flatcamTools/ToolNonCopperClear.py:264
+#: flatcamGUI/PreferencesUI.py:5379 flatcamGUI/PreferencesUI.py:5388
+#: flatcamGUI/PreferencesUI.py:5946 flatcamGUI/PreferencesUI.py:5955
+#: flatcamTools/ToolNCC.py:262 flatcamTools/ToolNCC.py:271
+#: flatcamTools/ToolPaint.py:245 flatcamTools/ToolPaint.py:254
msgid ""
"Depth of cut into material. Negative value.\n"
"In FlatCAM units."
@@ -10639,32 +11087,26 @@ msgstr ""
"Depth of cut into material. Negative value.\n"
"In FlatCAM units."
-#: flatcamGUI/PreferencesUI.py:5102
-msgid "The new tool diameter (cut width) to add in the tool table."
-msgstr "The new tool diameter (cut width) to add in the tool table."
-
-#: flatcamGUI/PreferencesUI.py:5114 flatcamGUI/PreferencesUI.py:5122
-#: flatcamTools/ToolNonCopperClear.py:164
-#: flatcamTools/ToolNonCopperClear.py:172
+#: flatcamGUI/PreferencesUI.py:5398 flatcamGUI/PreferencesUI.py:5964
+#: flatcamTools/ToolNCC.py:280 flatcamTools/ToolPaint.py:263
msgid ""
-"Milling type when the selected tool is of type: 'iso_op':\n"
-"- climb / best for precision milling and to reduce tool usage\n"
-"- conventional / useful when there is no backlash compensation"
+"Diameter for the new tool to add in the Tool Table.\n"
+"If the tool is V-shape type then this value is automatically\n"
+"calculated from the other parameters."
msgstr ""
-"Milling type when the selected tool is of type: 'iso_op':\n"
-"- climb / best for precision milling and to reduce tool usage\n"
-"- conventional / useful when there is no backlash compensation"
+"Diameter for the new tool to add in the Tool Table.\n"
+"If the tool is V-shape type then this value is automatically\n"
+"calculated from the other parameters."
-#: flatcamGUI/PreferencesUI.py:5131 flatcamGUI/PreferencesUI.py:5546
-#: flatcamTools/ToolNonCopperClear.py:181 flatcamTools/ToolPaint.py:153
+#: flatcamGUI/PreferencesUI.py:5435 flatcamGUI/PreferencesUI.py:5981
+#: flatcamTools/ToolNCC.py:174 flatcamTools/ToolPaint.py:158
msgid "Tool order"
msgstr "Tool order"
-#: flatcamGUI/PreferencesUI.py:5132 flatcamGUI/PreferencesUI.py:5142
-#: flatcamGUI/PreferencesUI.py:5547 flatcamGUI/PreferencesUI.py:5557
-#: flatcamTools/ToolNonCopperClear.py:182
-#: flatcamTools/ToolNonCopperClear.py:192 flatcamTools/ToolPaint.py:154
-#: flatcamTools/ToolPaint.py:164
+#: flatcamGUI/PreferencesUI.py:5436 flatcamGUI/PreferencesUI.py:5446
+#: flatcamGUI/PreferencesUI.py:5982 flatcamTools/ToolNCC.py:175
+#: flatcamTools/ToolNCC.py:185 flatcamTools/ToolPaint.py:159
+#: flatcamTools/ToolPaint.py:169
msgid ""
"This set the way that the tools in the tools table are used.\n"
"'No' --> means that the used order is the one in the tool table\n"
@@ -10682,103 +11124,21 @@ msgstr ""
"WARNING: using rest machining will automatically set the order\n"
"in reverse and disable this control."
-#: flatcamGUI/PreferencesUI.py:5140 flatcamGUI/PreferencesUI.py:5555
-#: flatcamTools/ToolNonCopperClear.py:190 flatcamTools/ToolPaint.py:162
+#: flatcamGUI/PreferencesUI.py:5444 flatcamGUI/PreferencesUI.py:5990
+#: flatcamTools/ToolNCC.py:183 flatcamTools/ToolPaint.py:167
msgid "Forward"
msgstr "Forward"
-#: flatcamGUI/PreferencesUI.py:5141 flatcamGUI/PreferencesUI.py:5556
-#: flatcamTools/ToolNonCopperClear.py:191 flatcamTools/ToolPaint.py:163
+#: flatcamGUI/PreferencesUI.py:5445 flatcamGUI/PreferencesUI.py:5991
+#: flatcamTools/ToolNCC.py:184 flatcamTools/ToolPaint.py:168
msgid "Reverse"
msgstr "Reverse"
-#: flatcamGUI/PreferencesUI.py:5154 flatcamTools/ToolNonCopperClear.py:321
-msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be cleared are still \n"
-"not cleared.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
-msgstr ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be cleared are still \n"
-"not cleared.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
-
-#: flatcamGUI/PreferencesUI.py:5173 flatcamGUI/PreferencesUI.py:7177
-#: flatcamGUI/PreferencesUI.py:7419 flatcamGUI/PreferencesUI.py:7483
-#: flatcamTools/ToolCopperThieving.py:113 flatcamTools/ToolFiducials.py:174
-#: flatcamTools/ToolFiducials.py:237 flatcamTools/ToolNonCopperClear.py:339
-msgid "Bounding box margin."
-msgstr "Bounding box margin."
-
-#: flatcamGUI/PreferencesUI.py:5186 flatcamGUI/PreferencesUI.py:5604
-#: flatcamTools/ToolNonCopperClear.py:350
-msgid ""
-"Algorithm for non-copper clearing:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed.
Line-based: Parallel "
-"lines."
-msgstr ""
-"Algorithm for non-copper clearing:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed.
Line-based: Parallel "
-"lines."
-
-#: flatcamGUI/PreferencesUI.py:5202 flatcamGUI/PreferencesUI.py:5618
-#: flatcamTools/ToolNonCopperClear.py:364 flatcamTools/ToolPaint.py:267
-msgid "Connect"
-msgstr "Connect"
-
-#: flatcamGUI/PreferencesUI.py:5211 flatcamGUI/PreferencesUI.py:5626
-#: flatcamTools/ToolNonCopperClear.py:371 flatcamTools/ToolPaint.py:274
-msgid "Contour"
-msgstr "Contour"
-
-#: flatcamGUI/PreferencesUI.py:5220 flatcamTools/ToolNonCopperClear.py:379
-#: flatcamTools/ToolPaint.py:281
-msgid "Rest Machining"
-msgstr "Rest Machining"
-
-#: flatcamGUI/PreferencesUI.py:5222 flatcamTools/ToolNonCopperClear.py:381
-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."
-msgstr ""
-"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."
-
-#: flatcamGUI/PreferencesUI.py:5236 flatcamTools/ToolNonCopperClear.py:395
-#: flatcamTools/ToolNonCopperClear.py:405
-msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0 and 10 FlatCAM units."
-msgstr ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0 and 10 FlatCAM units."
-
-#: flatcamGUI/PreferencesUI.py:5245 flatcamTools/ToolNonCopperClear.py:403
+#: flatcamGUI/PreferencesUI.py:5545
msgid "Offset value"
msgstr "Offset value"
-#: flatcamGUI/PreferencesUI.py:5247
+#: flatcamGUI/PreferencesUI.py:5547
msgid ""
"If used, it will add an offset to the copper features.\n"
"The copper clearing will finish to a distance\n"
@@ -10790,53 +11150,90 @@ msgstr ""
"from the copper features.\n"
"The value can be between 0.0 and 9999.9 FlatCAM units."
-#: flatcamGUI/PreferencesUI.py:5262 flatcamGUI/PreferencesUI.py:7189
-#: flatcamTools/ToolCopperThieving.py:125
-#: flatcamTools/ToolNonCopperClear.py:429
-msgid "Itself"
-msgstr "Itself"
+#: flatcamGUI/PreferencesUI.py:5567 flatcamGUI/PreferencesUI.py:6083
+#: flatcamGUI/PreferencesUI.py:6084 flatcamTools/ToolNCC.py:512
+#: flatcamTools/ToolPaint.py:442
+msgid "Rest Machining"
+msgstr "Rest Machining"
-#: flatcamGUI/PreferencesUI.py:5263 flatcamGUI/PreferencesUI.py:5646
-msgid "Area"
-msgstr "Area"
-
-#: flatcamGUI/PreferencesUI.py:5264 flatcamGUI/PreferencesUI.py:5648
-msgid "Ref"
-msgstr "Ref"
-
-#: flatcamGUI/PreferencesUI.py:5267
+#: flatcamGUI/PreferencesUI.py:5569 flatcamTools/ToolNCC.py:516
msgid ""
-"- 'Itself' - the non copper clearing extent\n"
-"is based on the object that is copper cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
-"areas.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"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."
msgstr ""
-"- 'Itself' - the non copper clearing extent\n"
-"is based on the object that is copper cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
-"areas.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"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."
-#: flatcamGUI/PreferencesUI.py:5279 flatcamGUI/PreferencesUI.py:5654
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7696 flatcamTools/ToolCopperThieving.py:127
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1311
+#: flatcamTools/ToolNCC.py:1642 flatcamTools/ToolNCC.py:1930
+#: flatcamTools/ToolNCC.py:1985 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:946 flatcamTools/ToolPaint.py:1447
+msgid "Area Selection"
+msgstr "Area Selection"
+
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7697 flatcamTools/ToolCopperThieving.py:128
+#: flatcamTools/ToolDblSided.py:217 flatcamTools/ToolNCC.py:535
+#: flatcamTools/ToolNCC.py:1658 flatcamTools/ToolNCC.py:1936
+#: flatcamTools/ToolNCC.py:1993 flatcamTools/ToolNCC.py:2301
+#: flatcamTools/ToolNCC.py:2581 flatcamTools/ToolNCC.py:3007
+#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:931
+#: flatcamTools/ToolPaint.py:1463 tclCommands/TclCommandCopperClear.py:192
+#: tclCommands/TclCommandPaint.py:166
+msgid "Reference Object"
+msgstr "Reference Object"
+
+#: flatcamGUI/PreferencesUI.py:5592 flatcamTools/ToolNCC.py:541
+msgid ""
+"Selection of area to be processed.\n"
+"- 'Itself' - the processing extent is based on the object that is "
+"processed.\n"
+" - 'Area Selection' - left mouse click to start selection of the area to be "
+"processed.\n"
+"- 'Reference Object' - will process the area specified by another object."
+msgstr ""
+"Selection of area to be processed.\n"
+"- 'Itself' - the processing extent is based on the object that is "
+"processed.\n"
+" - 'Area Selection' - left mouse click to start selection of the area to be "
+"processed.\n"
+"- 'Reference Object' - will process the area specified by another object."
+
+#: flatcamGUI/PreferencesUI.py:5601 flatcamGUI/PreferencesUI.py:6125
+#: flatcamTools/ToolNCC.py:578 flatcamTools/ToolPaint.py:522
+msgid "Shape"
+msgstr "Shape"
+
+#: flatcamGUI/PreferencesUI.py:5603 flatcamGUI/PreferencesUI.py:6127
+#: flatcamTools/ToolNCC.py:580 flatcamTools/ToolPaint.py:524
+msgid "The kind of selection shape used for area selection."
+msgstr "The kind of selection shape used for area selection."
+
+#: flatcamGUI/PreferencesUI.py:5618 flatcamGUI/PreferencesUI.py:6142
msgid "Normal"
msgstr "Normal"
-#: flatcamGUI/PreferencesUI.py:5280 flatcamGUI/PreferencesUI.py:5655
+#: flatcamGUI/PreferencesUI.py:5619 flatcamGUI/PreferencesUI.py:6143
msgid "Progressive"
msgstr "Progressive"
-#: flatcamGUI/PreferencesUI.py:5281
+#: flatcamGUI/PreferencesUI.py:5620
msgid "NCC Plotting"
msgstr "NCC Plotting"
-#: flatcamGUI/PreferencesUI.py:5283
+#: flatcamGUI/PreferencesUI.py:5622
msgid ""
"- 'Normal' - normal plotting, done at the end of the NCC job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
@@ -10844,16 +11241,16 @@ msgstr ""
"- 'Normal' - normal plotting, done at the end of the NCC job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
-#: flatcamGUI/PreferencesUI.py:5297
+#: flatcamGUI/PreferencesUI.py:5636
msgid "Cutout Tool Options"
msgstr "Cutout Tool Options"
-#: flatcamGUI/PreferencesUI.py:5312 flatcamTools/ToolCalculators.py:123
-#: flatcamTools/ToolCutOut.py:123
+#: flatcamGUI/PreferencesUI.py:5651 flatcamTools/ToolCalculators.py:123
+#: flatcamTools/ToolCutOut.py:130
msgid "Tool Diameter"
msgstr "Tool Diameter"
-#: flatcamGUI/PreferencesUI.py:5314 flatcamTools/ToolCutOut.py:125
+#: flatcamGUI/PreferencesUI.py:5653 flatcamTools/ToolCutOut.py:132
msgid ""
"Diameter of the tool used to cutout\n"
"the PCB shape out of the surrounding material."
@@ -10861,11 +11258,11 @@ msgstr ""
"Diameter of the tool used to cutout\n"
"the PCB shape out of the surrounding material."
-#: flatcamGUI/PreferencesUI.py:5369 flatcamTools/ToolCutOut.py:104
+#: flatcamGUI/PreferencesUI.py:5708
msgid "Object kind"
msgstr "Object kind"
-#: flatcamGUI/PreferencesUI.py:5371 flatcamTools/ToolCutOut.py:106
+#: flatcamGUI/PreferencesUI.py:5710 flatcamTools/ToolCutOut.py:78
msgid ""
"Choice of what kind the object we want to cutout is.
- Single: "
"contain a single PCB Gerber outline object.
- Panel: a panel PCB "
@@ -10877,15 +11274,15 @@ msgstr ""
"Gerber object, which is made\n"
"out of many individual PCB outlines."
-#: flatcamGUI/PreferencesUI.py:5378 flatcamTools/ToolCutOut.py:112
+#: flatcamGUI/PreferencesUI.py:5717 flatcamTools/ToolCutOut.py:84
msgid "Single"
msgstr "Single"
-#: flatcamGUI/PreferencesUI.py:5379 flatcamTools/ToolCutOut.py:113
+#: flatcamGUI/PreferencesUI.py:5718 flatcamTools/ToolCutOut.py:85
msgid "Panel"
msgstr "Panel"
-#: flatcamGUI/PreferencesUI.py:5386 flatcamTools/ToolCutOut.py:186
+#: flatcamGUI/PreferencesUI.py:5725 flatcamTools/ToolCutOut.py:193
msgid ""
"Margin over bounds. A positive value here\n"
"will make the cutout of the PCB further from\n"
@@ -10895,11 +11292,11 @@ msgstr ""
"will make the cutout of the PCB further from\n"
"the actual PCB border"
-#: flatcamGUI/PreferencesUI.py:5399 flatcamTools/ToolCutOut.py:197
+#: flatcamGUI/PreferencesUI.py:5738 flatcamTools/ToolCutOut.py:204
msgid "Gap size"
msgstr "Gap size"
-#: flatcamGUI/PreferencesUI.py:5401 flatcamTools/ToolCutOut.py:199
+#: flatcamGUI/PreferencesUI.py:5740 flatcamTools/ToolCutOut.py:206
msgid ""
"The size of the bridge gaps in the cutout\n"
"used to keep the board connected to\n"
@@ -10911,11 +11308,11 @@ msgstr ""
"the surrounding material (the one \n"
"from which the PCB is cutout)."
-#: flatcamGUI/PreferencesUI.py:5415 flatcamTools/ToolCutOut.py:241
+#: flatcamGUI/PreferencesUI.py:5754 flatcamTools/ToolCutOut.py:250
msgid "Gaps"
msgstr "Gaps"
-#: flatcamGUI/PreferencesUI.py:5417
+#: flatcamGUI/PreferencesUI.py:5756
msgid ""
"Number of gaps used for the cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -10939,11 +11336,11 @@ msgstr ""
"- 2tb - 2*top + 2*bottom\n"
"- 8 - 2*left + 2*right +2*top + 2*bottom"
-#: flatcamGUI/PreferencesUI.py:5439 flatcamTools/ToolCutOut.py:216
+#: flatcamGUI/PreferencesUI.py:5778 flatcamTools/ToolCutOut.py:223
msgid "Convex Shape"
msgstr "Convex Shape"
-#: flatcamGUI/PreferencesUI.py:5441 flatcamTools/ToolCutOut.py:219
+#: flatcamGUI/PreferencesUI.py:5780 flatcamTools/ToolCutOut.py:226
msgid ""
"Create a convex shape surrounding the entire PCB.\n"
"Used only if the source object type is Gerber."
@@ -10951,11 +11348,11 @@ msgstr ""
"Create a convex shape surrounding the entire PCB.\n"
"Used only if the source object type is Gerber."
-#: flatcamGUI/PreferencesUI.py:5454
+#: flatcamGUI/PreferencesUI.py:5793
msgid "2Sided Tool Options"
msgstr "2Sided Tool Options"
-#: flatcamGUI/PreferencesUI.py:5460
+#: flatcamGUI/PreferencesUI.py:5799
msgid ""
"A tool to help in creating a double sided\n"
"PCB using alignment holes."
@@ -10963,36 +11360,41 @@ msgstr ""
"A tool to help in creating a double sided\n"
"PCB using alignment holes."
-#: flatcamGUI/PreferencesUI.py:5474
+#: flatcamGUI/PreferencesUI.py:5813
msgid "Drill dia"
msgstr "Drill dia"
-#: flatcamGUI/PreferencesUI.py:5476 flatcamTools/ToolDblSided.py:274
-#: flatcamTools/ToolDblSided.py:285
+#: flatcamGUI/PreferencesUI.py:5815 flatcamTools/ToolDblSided.py:364
+#: flatcamTools/ToolDblSided.py:369
msgid "Diameter of the drill for the alignment holes."
msgstr "Diameter of the drill for the alignment holes."
-#: flatcamGUI/PreferencesUI.py:5485 flatcamTools/ToolDblSided.py:146
-msgid "Mirror Axis:"
-msgstr "Mirror Axis:"
+#: flatcamGUI/PreferencesUI.py:5822 flatcamTools/ToolDblSided.py:378
+msgid "Align Axis"
+msgstr "Align Axis"
-#: flatcamGUI/PreferencesUI.py:5487 flatcamTools/ToolDblSided.py:147
+#: flatcamGUI/PreferencesUI.py:5824 flatcamGUI/PreferencesUI.py:5837
+#: flatcamTools/ToolDblSided.py:166 flatcamTools/ToolDblSided.py:380
msgid "Mirror vertically (X) or horizontally (Y)."
msgstr "Mirror vertically (X) or horizontally (Y)."
-#: flatcamGUI/PreferencesUI.py:5496 flatcamTools/ToolDblSided.py:156
+#: flatcamGUI/PreferencesUI.py:5835
+msgid "Mirror Axis:"
+msgstr "Mirror Axis:"
+
+#: flatcamGUI/PreferencesUI.py:5846 flatcamTools/ToolDblSided.py:182
msgid "Point"
msgstr "Point"
-#: flatcamGUI/PreferencesUI.py:5497 flatcamTools/ToolDblSided.py:157
+#: flatcamGUI/PreferencesUI.py:5847 flatcamTools/ToolDblSided.py:183
msgid "Box"
msgstr "Box"
-#: flatcamGUI/PreferencesUI.py:5498 flatcamTools/ToolDblSided.py:158
+#: flatcamGUI/PreferencesUI.py:5848
msgid "Axis Ref"
msgstr "Axis Ref"
-#: flatcamGUI/PreferencesUI.py:5500 flatcamTools/ToolDblSided.py:160
+#: flatcamGUI/PreferencesUI.py:5850
msgid ""
"The axis should pass through a point or cut\n"
" a specified box (in a FlatCAM object) through \n"
@@ -11002,48 +11404,67 @@ msgstr ""
" a specified box (in a FlatCAM object) through \n"
"the center."
-#: flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:5866
msgid "Paint Tool Options"
msgstr "Paint Tool Options"
-#: flatcamGUI/PreferencesUI.py:5522
+#: flatcamGUI/PreferencesUI.py:5872
msgid "Parameters:"
msgstr "Parameters:"
-#: flatcamGUI/PreferencesUI.py:5636 flatcamTools/ToolPaint.py:296
-#: flatcamTools/ToolPaint.py:313
+#: flatcamGUI/PreferencesUI.py:6086 flatcamTools/ToolPaint.py:445
msgid ""
-"How to select Polygons to be painted.\n"
-"- 'Polygon Selection' - left mouse click to add/remove polygons to be "
-"painted.\n"
-"- 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
-"areas.\n"
-"- 'All Polygons' - the Paint will start after click.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"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"
+"\n"
+"If not checked, use the standard algorithm."
msgstr ""
-"How to select Polygons to be painted.\n"
+"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"
+"\n"
+"If not checked, use the standard algorithm."
+
+#: flatcamGUI/PreferencesUI.py:6099 flatcamTools/ToolPaint.py:458
+msgid ""
+"Selection of area to be processed.\n"
"- 'Polygon Selection' - left mouse click to add/remove polygons to be "
-"painted.\n"
+"processed.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
+"processed.\n"
"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
"areas.\n"
-"- 'All Polygons' - the Paint will start after click.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"- 'All Polygons' - the process will start after click.\n"
+"- 'Reference Object' - will process the area specified by another object."
+msgstr ""
+"Selection of area to be processed.\n"
+"- 'Polygon Selection' - left mouse click to add/remove polygons to be "
+"processed.\n"
+"- 'Area Selection' - left mouse click to start selection of the area to be "
+"processed.\n"
+"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
+"areas.\n"
+"- 'All Polygons' - the process will start after click.\n"
+"- 'Reference Object' - will process the area specified by another object."
-#: flatcamGUI/PreferencesUI.py:5645
-msgid "Sel"
-msgstr "Sel"
+#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:942 flatcamTools/ToolPaint.py:1427
+#: tclCommands/TclCommandPaint.py:164
+msgid "Polygon Selection"
+msgstr "Polygon Selection"
-#: flatcamGUI/PreferencesUI.py:5656
+#: flatcamGUI/PreferencesUI.py:6144
msgid "Paint Plotting"
msgstr "Paint Plotting"
-#: flatcamGUI/PreferencesUI.py:5658
+#: flatcamGUI/PreferencesUI.py:6146
msgid ""
"- 'Normal' - normal plotting, done at the end of the Paint job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
@@ -11051,11 +11472,11 @@ msgstr ""
"- 'Normal' - normal plotting, done at the end of the Paint job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
-#: flatcamGUI/PreferencesUI.py:5672
+#: flatcamGUI/PreferencesUI.py:6160
msgid "Film Tool Options"
msgstr "Film Tool Options"
-#: flatcamGUI/PreferencesUI.py:5678
+#: flatcamGUI/PreferencesUI.py:6166
msgid ""
"Create a PCB film from a Gerber or Geometry\n"
"FlatCAM object.\n"
@@ -11065,11 +11486,11 @@ msgstr ""
"FlatCAM object.\n"
"The file is saved in SVG format."
-#: flatcamGUI/PreferencesUI.py:5689
+#: flatcamGUI/PreferencesUI.py:6177
msgid "Film Type"
msgstr "Film Type"
-#: flatcamGUI/PreferencesUI.py:5691 flatcamTools/ToolFilm.py:300
+#: flatcamGUI/PreferencesUI.py:6179 flatcamTools/ToolFilm.py:300
msgid ""
"Generate a Positive black film or a Negative film.\n"
"Positive means that it will print the features\n"
@@ -11085,19 +11506,19 @@ msgstr ""
"with white on a black canvas.\n"
"The Film format is SVG."
-#: flatcamGUI/PreferencesUI.py:5702
+#: flatcamGUI/PreferencesUI.py:6190
msgid "Film Color"
msgstr "Film Color"
-#: flatcamGUI/PreferencesUI.py:5704
+#: flatcamGUI/PreferencesUI.py:6192
msgid "Set the film color when positive film is selected."
msgstr "Set the film color when positive film is selected."
-#: flatcamGUI/PreferencesUI.py:5727 flatcamTools/ToolFilm.py:316
+#: flatcamGUI/PreferencesUI.py:6215 flatcamTools/ToolFilm.py:316
msgid "Border"
msgstr "Border"
-#: flatcamGUI/PreferencesUI.py:5729 flatcamTools/ToolFilm.py:318
+#: flatcamGUI/PreferencesUI.py:6217 flatcamTools/ToolFilm.py:318
msgid ""
"Specify a border around the object.\n"
"Only for negative film.\n"
@@ -11117,11 +11538,11 @@ msgstr ""
"white color like the rest and which may confound with the\n"
"surroundings if not for this border."
-#: flatcamGUI/PreferencesUI.py:5746 flatcamTools/ToolFilm.py:283
+#: flatcamGUI/PreferencesUI.py:6234 flatcamTools/ToolFilm.py:283
msgid "Scale Stroke"
msgstr "Scale Stroke"
-#: flatcamGUI/PreferencesUI.py:5748 flatcamTools/ToolFilm.py:285
+#: flatcamGUI/PreferencesUI.py:6236 flatcamTools/ToolFilm.py:285
msgid ""
"Scale the line stroke thickness of each feature in the SVG file.\n"
"It means that the line that envelope each SVG feature will be thicker or "
@@ -11133,11 +11554,11 @@ msgstr ""
"thinner,\n"
"therefore the fine features may be more affected by this parameter."
-#: flatcamGUI/PreferencesUI.py:5755 flatcamTools/ToolFilm.py:141
+#: flatcamGUI/PreferencesUI.py:6243 flatcamTools/ToolFilm.py:141
msgid "Film Adjustments"
msgstr "Film Adjustments"
-#: flatcamGUI/PreferencesUI.py:5757 flatcamTools/ToolFilm.py:143
+#: flatcamGUI/PreferencesUI.py:6245 flatcamTools/ToolFilm.py:143
msgid ""
"Sometime the printers will distort the print shape, especially the Laser "
"types.\n"
@@ -11147,11 +11568,11 @@ msgstr ""
"types.\n"
"This section provide the tools to compensate for the print distortions."
-#: flatcamGUI/PreferencesUI.py:5764 flatcamTools/ToolFilm.py:150
+#: flatcamGUI/PreferencesUI.py:6252 flatcamTools/ToolFilm.py:150
msgid "Scale Film geometry"
msgstr "Scale Film geometry"
-#: flatcamGUI/PreferencesUI.py:5766 flatcamTools/ToolFilm.py:152
+#: flatcamGUI/PreferencesUI.py:6254 flatcamTools/ToolFilm.py:152
msgid ""
"A value greater than 1 will stretch the film\n"
"while a value less than 1 will jolt it."
@@ -11159,21 +11580,21 @@ msgstr ""
"A value greater than 1 will stretch the film\n"
"while a value less than 1 will jolt it."
-#: flatcamGUI/PreferencesUI.py:5776 flatcamGUI/PreferencesUI.py:6296
-#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:148
+#: flatcamGUI/PreferencesUI.py:6264 flatcamGUI/PreferencesUI.py:6783
+#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:149
msgid "X factor"
msgstr "X factor"
-#: flatcamGUI/PreferencesUI.py:5785 flatcamGUI/PreferencesUI.py:6309
+#: flatcamGUI/PreferencesUI.py:6273 flatcamGUI/PreferencesUI.py:6796
#: flatcamTools/ToolFilm.py:171 flatcamTools/ToolTransform.py:169
msgid "Y factor"
msgstr "Y factor"
-#: flatcamGUI/PreferencesUI.py:5795 flatcamTools/ToolFilm.py:189
+#: flatcamGUI/PreferencesUI.py:6283 flatcamTools/ToolFilm.py:189
msgid "Skew Film geometry"
msgstr "Skew Film geometry"
-#: flatcamGUI/PreferencesUI.py:5797 flatcamTools/ToolFilm.py:191
+#: flatcamGUI/PreferencesUI.py:6285 flatcamTools/ToolFilm.py:191
msgid ""
"Positive values will skew to the right\n"
"while negative values will skew to the left."
@@ -11181,17 +11602,17 @@ msgstr ""
"Positive values will skew to the right\n"
"while negative values will skew to the left."
-#: flatcamGUI/PreferencesUI.py:5807 flatcamGUI/PreferencesUI.py:6265
+#: flatcamGUI/PreferencesUI.py:6295 flatcamGUI/PreferencesUI.py:6752
#: flatcamTools/ToolFilm.py:201 flatcamTools/ToolTransform.py:98
msgid "X angle"
msgstr "X angle"
-#: flatcamGUI/PreferencesUI.py:5816 flatcamGUI/PreferencesUI.py:6279
-#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:120
+#: flatcamGUI/PreferencesUI.py:6304 flatcamGUI/PreferencesUI.py:6766
+#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:119
msgid "Y angle"
msgstr "Y angle"
-#: flatcamGUI/PreferencesUI.py:5827 flatcamTools/ToolFilm.py:221
+#: flatcamGUI/PreferencesUI.py:6315 flatcamTools/ToolFilm.py:221
msgid ""
"The reference point to be used as origin for the skew.\n"
"It can be one of the four points of the geometry bounding box."
@@ -11199,57 +11620,53 @@ msgstr ""
"The reference point to be used as origin for the skew.\n"
"It can be one of the four points of the geometry bounding box."
-#: flatcamGUI/PreferencesUI.py:5830 flatcamTools/ToolFiducials.py:87
+#: flatcamGUI/PreferencesUI.py:6318 flatcamTools/ToolFiducials.py:87
#: flatcamTools/ToolFilm.py:224
msgid "Bottom Left"
msgstr "Bottom Left"
-#: flatcamGUI/PreferencesUI.py:5831 flatcamTools/ToolFilm.py:225
+#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolFilm.py:225
msgid "Top Left"
msgstr "Top Left"
-#: flatcamGUI/PreferencesUI.py:5832 flatcamTools/ToolFilm.py:226
+#: flatcamGUI/PreferencesUI.py:6320 flatcamTools/ToolFilm.py:226
msgid "Bottom Right"
msgstr "Bottom Right"
-#: flatcamGUI/PreferencesUI.py:5833 flatcamTools/ToolFilm.py:227
+#: flatcamGUI/PreferencesUI.py:6321 flatcamTools/ToolFilm.py:227
msgid "Top right"
msgstr "Top right"
-#: flatcamGUI/PreferencesUI.py:5841 flatcamTools/ToolFilm.py:244
+#: flatcamGUI/PreferencesUI.py:6329 flatcamTools/ToolFilm.py:244
msgid "Mirror Film geometry"
msgstr "Mirror Film geometry"
-#: flatcamGUI/PreferencesUI.py:5843 flatcamTools/ToolFilm.py:246
+#: flatcamGUI/PreferencesUI.py:6331 flatcamTools/ToolFilm.py:246
msgid "Mirror the film geometry on the selected axis or on both."
msgstr "Mirror the film geometry on the selected axis or on both."
-#: flatcamGUI/PreferencesUI.py:5855 flatcamTools/ToolFilm.py:258
-msgid "Both"
-msgstr "Both"
-
-#: flatcamGUI/PreferencesUI.py:5857 flatcamTools/ToolFilm.py:260
+#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolFilm.py:260
msgid "Mirror axis"
msgstr "Mirror axis"
-#: flatcamGUI/PreferencesUI.py:5867 flatcamTools/ToolFilm.py:403
+#: flatcamGUI/PreferencesUI.py:6355 flatcamTools/ToolFilm.py:405
msgid "SVG"
msgstr "SVG"
-#: flatcamGUI/PreferencesUI.py:5868 flatcamTools/ToolFilm.py:404
+#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolFilm.py:406
msgid "PNG"
msgstr "PNG"
-#: flatcamGUI/PreferencesUI.py:5869 flatcamTools/ToolFilm.py:405
+#: flatcamGUI/PreferencesUI.py:6357 flatcamTools/ToolFilm.py:407
msgid "PDF"
msgstr "PDF"
-#: flatcamGUI/PreferencesUI.py:5872 flatcamTools/ToolFilm.py:298
-#: flatcamTools/ToolFilm.py:408
+#: flatcamGUI/PreferencesUI.py:6360 flatcamTools/ToolFilm.py:298
+#: flatcamTools/ToolFilm.py:410
msgid "Film Type:"
msgstr "Film Type:"
-#: flatcamGUI/PreferencesUI.py:5874 flatcamTools/ToolFilm.py:410
+#: flatcamGUI/PreferencesUI.py:6362 flatcamTools/ToolFilm.py:412
msgid ""
"The file type of the saved film. Can be:\n"
"- 'SVG' -> open-source vectorial format\n"
@@ -11261,23 +11678,23 @@ msgstr ""
"- 'PNG' -> raster image\n"
"- 'PDF' -> portable document format"
-#: flatcamGUI/PreferencesUI.py:5883 flatcamTools/ToolFilm.py:419
+#: flatcamGUI/PreferencesUI.py:6371 flatcamTools/ToolFilm.py:421
msgid "Page Orientation"
msgstr "Page Orientation"
-#: flatcamGUI/PreferencesUI.py:5896 flatcamTools/ToolFilm.py:432
+#: flatcamGUI/PreferencesUI.py:6384 flatcamTools/ToolFilm.py:434
msgid "Page Size"
msgstr "Page Size"
-#: flatcamGUI/PreferencesUI.py:5897 flatcamTools/ToolFilm.py:433
+#: flatcamGUI/PreferencesUI.py:6385 flatcamTools/ToolFilm.py:435
msgid "A selection of standard ISO 216 page sizes."
msgstr "A selection of standard ISO 216 page sizes."
-#: flatcamGUI/PreferencesUI.py:5969
+#: flatcamGUI/PreferencesUI.py:6457
msgid "Panelize Tool Options"
msgstr "Panelize Tool Options"
-#: flatcamGUI/PreferencesUI.py:5975
+#: flatcamGUI/PreferencesUI.py:6463
msgid ""
"Create an object that contains an array of (x, y) elements,\n"
"each element is a copy of the source object spaced\n"
@@ -11287,11 +11704,11 @@ msgstr ""
"each element is a copy of the source object spaced\n"
"at a X distance, Y distance of each other."
-#: flatcamGUI/PreferencesUI.py:5992 flatcamTools/ToolPanelize.py:160
+#: flatcamGUI/PreferencesUI.py:6480 flatcamTools/ToolPanelize.py:163
msgid "Spacing cols"
msgstr "Spacing cols"
-#: flatcamGUI/PreferencesUI.py:5994 flatcamTools/ToolPanelize.py:162
+#: flatcamGUI/PreferencesUI.py:6482 flatcamTools/ToolPanelize.py:165
msgid ""
"Spacing between columns of the desired panel.\n"
"In current units."
@@ -11299,11 +11716,11 @@ msgstr ""
"Spacing between columns of the desired panel.\n"
"In current units."
-#: flatcamGUI/PreferencesUI.py:6006 flatcamTools/ToolPanelize.py:172
+#: flatcamGUI/PreferencesUI.py:6494 flatcamTools/ToolPanelize.py:175
msgid "Spacing rows"
msgstr "Spacing rows"
-#: flatcamGUI/PreferencesUI.py:6008 flatcamTools/ToolPanelize.py:174
+#: flatcamGUI/PreferencesUI.py:6496 flatcamTools/ToolPanelize.py:177
msgid ""
"Spacing between rows of the desired panel.\n"
"In current units."
@@ -11311,36 +11728,31 @@ msgstr ""
"Spacing between rows of the desired panel.\n"
"In current units."
-#: flatcamGUI/PreferencesUI.py:6019 flatcamTools/ToolPanelize.py:183
+#: flatcamGUI/PreferencesUI.py:6507 flatcamTools/ToolPanelize.py:186
msgid "Columns"
msgstr "Columns"
-#: flatcamGUI/PreferencesUI.py:6021 flatcamTools/ToolPanelize.py:185
+#: flatcamGUI/PreferencesUI.py:6509 flatcamTools/ToolPanelize.py:188
msgid "Number of columns of the desired panel"
msgstr "Number of columns of the desired panel"
-#: flatcamGUI/PreferencesUI.py:6031 flatcamTools/ToolPanelize.py:193
+#: flatcamGUI/PreferencesUI.py:6519 flatcamTools/ToolPanelize.py:196
msgid "Rows"
msgstr "Rows"
-#: flatcamGUI/PreferencesUI.py:6033 flatcamTools/ToolPanelize.py:195
+#: flatcamGUI/PreferencesUI.py:6521 flatcamTools/ToolPanelize.py:198
msgid "Number of rows of the desired panel"
msgstr "Number of rows of the desired panel"
-#: flatcamGUI/PreferencesUI.py:6039 flatcamTools/ToolCalibration.py:196
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolPanelize.py:201
-msgid "Gerber"
-msgstr "Gerber"
-
-#: flatcamGUI/PreferencesUI.py:6040 flatcamTools/ToolPanelize.py:202
+#: flatcamGUI/PreferencesUI.py:6528 flatcamTools/ToolPanelize.py:205
msgid "Geo"
msgstr "Geo"
-#: flatcamGUI/PreferencesUI.py:6041 flatcamTools/ToolPanelize.py:203
+#: flatcamGUI/PreferencesUI.py:6529 flatcamTools/ToolPanelize.py:206
msgid "Panel Type"
msgstr "Panel Type"
-#: flatcamGUI/PreferencesUI.py:6043
+#: flatcamGUI/PreferencesUI.py:6531
msgid ""
"Choose the type of object for the panel object:\n"
"- Gerber\n"
@@ -11350,11 +11762,11 @@ msgstr ""
"- Gerber\n"
"- Geometry"
-#: flatcamGUI/PreferencesUI.py:6052
+#: flatcamGUI/PreferencesUI.py:6540
msgid "Constrain within"
msgstr "Constrain within"
-#: flatcamGUI/PreferencesUI.py:6054 flatcamTools/ToolPanelize.py:215
+#: flatcamGUI/PreferencesUI.py:6542 flatcamTools/ToolPanelize.py:218
msgid ""
"Area define by DX and DY within to constrain the panel.\n"
"DX and DY values are in current units.\n"
@@ -11368,11 +11780,11 @@ msgstr ""
"the final panel will have as many columns and rows as\n"
"they fit completely within selected area."
-#: flatcamGUI/PreferencesUI.py:6067 flatcamTools/ToolPanelize.py:227
+#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolPanelize.py:230
msgid "Width (DX)"
msgstr "Width (DX)"
-#: flatcamGUI/PreferencesUI.py:6069 flatcamTools/ToolPanelize.py:229
+#: flatcamGUI/PreferencesUI.py:6557 flatcamTools/ToolPanelize.py:232
msgid ""
"The width (DX) within which the panel must fit.\n"
"In current units."
@@ -11380,11 +11792,11 @@ msgstr ""
"The width (DX) within which the panel must fit.\n"
"In current units."
-#: flatcamGUI/PreferencesUI.py:6080 flatcamTools/ToolPanelize.py:238
+#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolPanelize.py:241
msgid "Height (DY)"
msgstr "Height (DY)"
-#: flatcamGUI/PreferencesUI.py:6082 flatcamTools/ToolPanelize.py:240
+#: flatcamGUI/PreferencesUI.py:6570 flatcamTools/ToolPanelize.py:243
msgid ""
"The height (DY)within which the panel must fit.\n"
"In current units."
@@ -11392,15 +11804,15 @@ msgstr ""
"The height (DY)within which the panel must fit.\n"
"In current units."
-#: flatcamGUI/PreferencesUI.py:6096
+#: flatcamGUI/PreferencesUI.py:6584
msgid "Calculators Tool Options"
msgstr "Calculators Tool Options"
-#: flatcamGUI/PreferencesUI.py:6100 flatcamTools/ToolCalculators.py:25
+#: flatcamGUI/PreferencesUI.py:6588 flatcamTools/ToolCalculators.py:25
msgid "V-Shape Tool Calculator"
msgstr "V-Shape Tool Calculator"
-#: flatcamGUI/PreferencesUI.py:6102
+#: flatcamGUI/PreferencesUI.py:6590
msgid ""
"Calculate the tool diameter for a given V-shape tool,\n"
"having the tip diameter, tip angle and\n"
@@ -11410,11 +11822,11 @@ msgstr ""
"having the tip diameter, tip angle and\n"
"depth-of-cut as parameters."
-#: flatcamGUI/PreferencesUI.py:6117 flatcamTools/ToolCalculators.py:94
+#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolCalculators.py:94
msgid "Tip Diameter"
msgstr "Tip Diameter"
-#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolCalculators.py:102
+#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolCalculators.py:102
msgid ""
"This is the tool tip diameter.\n"
"It is specified by manufacturer."
@@ -11422,11 +11834,11 @@ msgstr ""
"This is the tool tip diameter.\n"
"It is specified by manufacturer."
-#: flatcamGUI/PreferencesUI.py:6131 flatcamTools/ToolCalculators.py:105
+#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolCalculators.py:105
msgid "Tip Angle"
msgstr "Tip Angle"
-#: flatcamGUI/PreferencesUI.py:6133
+#: flatcamGUI/PreferencesUI.py:6623
msgid ""
"This is the angle on the tip of the tool.\n"
"It is specified by manufacturer."
@@ -11434,7 +11846,7 @@ msgstr ""
"This is the angle on the tip of the tool.\n"
"It is specified by manufacturer."
-#: flatcamGUI/PreferencesUI.py:6147
+#: flatcamGUI/PreferencesUI.py:6637
msgid ""
"This is depth to cut into material.\n"
"In the CNCJob object it is the CutZ parameter."
@@ -11442,11 +11854,11 @@ msgstr ""
"This is depth to cut into material.\n"
"In the CNCJob object it is the CutZ parameter."
-#: flatcamGUI/PreferencesUI.py:6154 flatcamTools/ToolCalculators.py:27
+#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolCalculators.py:27
msgid "ElectroPlating Calculator"
msgstr "ElectroPlating Calculator"
-#: flatcamGUI/PreferencesUI.py:6156 flatcamTools/ToolCalculators.py:158
+#: flatcamGUI/PreferencesUI.py:6646 flatcamTools/ToolCalculators.py:158
msgid ""
"This calculator is useful for those who plate the via/pad/drill holes,\n"
"using a method like grahite ink or calcium hypophosphite ink or palladium "
@@ -11456,27 +11868,27 @@ msgstr ""
"using a method like grahite ink or calcium hypophosphite ink or palladium "
"chloride."
-#: flatcamGUI/PreferencesUI.py:6170 flatcamTools/ToolCalculators.py:167
+#: flatcamGUI/PreferencesUI.py:6657 flatcamTools/ToolCalculators.py:167
msgid "Board Length"
msgstr "Board Length"
-#: flatcamGUI/PreferencesUI.py:6172 flatcamTools/ToolCalculators.py:173
+#: flatcamGUI/PreferencesUI.py:6659 flatcamTools/ToolCalculators.py:173
msgid "This is the board length. In centimeters."
msgstr "This is the board length. In centimeters."
-#: flatcamGUI/PreferencesUI.py:6182 flatcamTools/ToolCalculators.py:175
+#: flatcamGUI/PreferencesUI.py:6669 flatcamTools/ToolCalculators.py:175
msgid "Board Width"
msgstr "Board Width"
-#: flatcamGUI/PreferencesUI.py:6184 flatcamTools/ToolCalculators.py:181
+#: flatcamGUI/PreferencesUI.py:6671 flatcamTools/ToolCalculators.py:181
msgid "This is the board width.In centimeters."
msgstr "This is the board width.In centimeters."
-#: flatcamGUI/PreferencesUI.py:6189 flatcamTools/ToolCalculators.py:183
+#: flatcamGUI/PreferencesUI.py:6676 flatcamTools/ToolCalculators.py:183
msgid "Current Density"
msgstr "Current Density"
-#: flatcamGUI/PreferencesUI.py:6195 flatcamTools/ToolCalculators.py:190
+#: flatcamGUI/PreferencesUI.py:6682 flatcamTools/ToolCalculators.py:190
msgid ""
"Current density to pass through the board. \n"
"In Amps per Square Feet ASF."
@@ -11484,11 +11896,11 @@ msgstr ""
"Current density to pass through the board. \n"
"In Amps per Square Feet ASF."
-#: flatcamGUI/PreferencesUI.py:6201 flatcamTools/ToolCalculators.py:193
+#: flatcamGUI/PreferencesUI.py:6688 flatcamTools/ToolCalculators.py:193
msgid "Copper Growth"
msgstr "Copper Growth"
-#: flatcamGUI/PreferencesUI.py:6207 flatcamTools/ToolCalculators.py:200
+#: flatcamGUI/PreferencesUI.py:6694 flatcamTools/ToolCalculators.py:200
msgid ""
"How thick the copper growth is intended to be.\n"
"In microns."
@@ -11496,11 +11908,11 @@ msgstr ""
"How thick the copper growth is intended to be.\n"
"In microns."
-#: flatcamGUI/PreferencesUI.py:6220
+#: flatcamGUI/PreferencesUI.py:6707
msgid "Transform Tool Options"
msgstr "Transform Tool Options"
-#: flatcamGUI/PreferencesUI.py:6226
+#: flatcamGUI/PreferencesUI.py:6713
msgid ""
"Various transformations that can be applied\n"
"on a FlatCAM object."
@@ -11508,19 +11920,19 @@ msgstr ""
"Various transformations that can be applied\n"
"on a FlatCAM object."
-#: flatcamGUI/PreferencesUI.py:6257
+#: flatcamGUI/PreferencesUI.py:6744
msgid "Skew"
msgstr "Skew"
-#: flatcamGUI/PreferencesUI.py:6298 flatcamTools/ToolTransform.py:150
+#: flatcamGUI/PreferencesUI.py:6785 flatcamTools/ToolTransform.py:151
msgid "Factor for scaling on X axis."
msgstr "Factor for scaling on X axis."
-#: flatcamGUI/PreferencesUI.py:6311 flatcamTools/ToolTransform.py:171
+#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolTransform.py:171
msgid "Factor for scaling on Y axis."
msgstr "Factor for scaling on Y axis."
-#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolTransform.py:194
+#: flatcamGUI/PreferencesUI.py:6806 flatcamTools/ToolTransform.py:192
msgid ""
"Scale the selected object(s)\n"
"using the Scale_X factor for both axis."
@@ -11528,7 +11940,7 @@ msgstr ""
"Scale the selected object(s)\n"
"using the Scale_X factor for both axis."
-#: flatcamGUI/PreferencesUI.py:6327 flatcamTools/ToolTransform.py:202
+#: flatcamGUI/PreferencesUI.py:6814 flatcamTools/ToolTransform.py:199
msgid ""
"Scale the selected object(s)\n"
"using the origin reference when checked,\n"
@@ -11540,32 +11952,32 @@ msgstr ""
"and the center of the biggest bounding box\n"
"of the selected objects when unchecked."
-#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolTransform.py:217
+#: flatcamGUI/PreferencesUI.py:6830 flatcamTools/ToolTransform.py:218
msgid "X val"
msgstr "X val"
-#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolTransform.py:219
+#: flatcamGUI/PreferencesUI.py:6832 flatcamTools/ToolTransform.py:220
msgid "Distance to offset on X axis. In current units."
msgstr "Distance to offset on X axis. In current units."
-#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolTransform.py:238
+#: flatcamGUI/PreferencesUI.py:6843 flatcamTools/ToolTransform.py:238
msgid "Y val"
msgstr "Y val"
-#: flatcamGUI/PreferencesUI.py:6358 flatcamTools/ToolTransform.py:240
+#: flatcamGUI/PreferencesUI.py:6845 flatcamTools/ToolTransform.py:240
msgid "Distance to offset on Y axis. In current units."
msgstr "Distance to offset on Y axis. In current units."
-#: flatcamGUI/PreferencesUI.py:6364 flatcamTools/ToolDblSided.py:62
-#: flatcamTools/ToolDblSided.py:90 flatcamTools/ToolDblSided.py:120
+#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolDblSided.py:68
+#: flatcamTools/ToolDblSided.py:96 flatcamTools/ToolDblSided.py:126
msgid "Mirror"
msgstr "Mirror"
-#: flatcamGUI/PreferencesUI.py:6368 flatcamTools/ToolTransform.py:285
+#: flatcamGUI/PreferencesUI.py:6855 flatcamTools/ToolTransform.py:284
msgid "Mirror Reference"
msgstr "Mirror Reference"
-#: flatcamGUI/PreferencesUI.py:6370 flatcamTools/ToolTransform.py:287
+#: flatcamGUI/PreferencesUI.py:6857 flatcamTools/ToolTransform.py:286
msgid ""
"Flip the selected object(s)\n"
"around the point in Point Entry Field.\n"
@@ -11587,11 +11999,11 @@ msgstr ""
"Or enter the coords in format (x, y) in the\n"
"Point Entry field and click Flip on X(Y)"
-#: flatcamGUI/PreferencesUI.py:6381
+#: flatcamGUI/PreferencesUI.py:6868
msgid "Mirror Reference point"
msgstr "Mirror Reference point"
-#: flatcamGUI/PreferencesUI.py:6383
+#: flatcamGUI/PreferencesUI.py:6870
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
@@ -11601,12 +12013,12 @@ msgstr ""
"The 'x' in (x, y) will be used when using Flip on X and\n"
"the 'y' in (x, y) will be used when using Flip on Y and"
-#: flatcamGUI/PreferencesUI.py:6396 flatcamTools/ToolDistance.py:355
-#: flatcamTools/ToolDistanceMin.py:284 flatcamTools/ToolTransform.py:332
+#: flatcamGUI/PreferencesUI.py:6883 flatcamTools/ToolDistance.py:496
+#: flatcamTools/ToolDistanceMin.py:287 flatcamTools/ToolTransform.py:333
msgid "Distance"
msgstr "Distance"
-#: flatcamGUI/PreferencesUI.py:6398 flatcamTools/ToolTransform.py:334
+#: flatcamGUI/PreferencesUI.py:6885 flatcamTools/ToolTransform.py:335
msgid ""
"A positive value will create the effect of dilation,\n"
"while a negative value will create the effect of erosion.\n"
@@ -11618,12 +12030,26 @@ msgstr ""
"Each geometry element of the object will be increased\n"
"or decreased with the 'distance'."
-#: flatcamGUI/PreferencesUI.py:6414 flatcamGUI/PreferencesUI.py:7057
-#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:361
+#: flatcamGUI/PreferencesUI.py:6902 flatcamTools/ToolTransform.py:360
+msgid ""
+"A positive value will create the effect of dilation,\n"
+"while a negative value will create the effect of erosion.\n"
+"Each geometry element of the object will be increased\n"
+"or decreased to fit the 'Value'. Value is a percentage\n"
+"of the initial dimension."
+msgstr ""
+"A positive value will create the effect of dilation,\n"
+"while a negative value will create the effect of erosion.\n"
+"Each geometry element of the object will be increased\n"
+"or decreased to fit the 'Value'. Value is a percentage\n"
+"of the initial dimension."
+
+#: flatcamGUI/PreferencesUI.py:6919 flatcamGUI/PreferencesUI.py:7563
+#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:384
msgid "Rounded"
msgstr "Rounded"
-#: flatcamGUI/PreferencesUI.py:6416 flatcamTools/ToolTransform.py:363
+#: flatcamGUI/PreferencesUI.py:6921 flatcamTools/ToolTransform.py:386
msgid ""
"If checked then the buffer will surround the buffered shape,\n"
"every corner will be rounded.\n"
@@ -11635,11 +12061,11 @@ msgstr ""
"If not checked then the buffer will follow the exact geometry\n"
"of the buffered shape."
-#: flatcamGUI/PreferencesUI.py:6434
+#: flatcamGUI/PreferencesUI.py:6938
msgid "SolderPaste Tool Options"
msgstr "SolderPaste Tool Options"
-#: flatcamGUI/PreferencesUI.py:6440
+#: flatcamGUI/PreferencesUI.py:6944
msgid ""
"A tool to create GCode for dispensing\n"
"solder paste onto a PCB."
@@ -11647,47 +12073,43 @@ msgstr ""
"A tool to create GCode for dispensing\n"
"solder paste onto a PCB."
-#: flatcamGUI/PreferencesUI.py:6451
-msgid "Diameters of nozzle tools, separated by ','"
-msgstr "Diameters of nozzle tools, separated by ','"
-
-#: flatcamGUI/PreferencesUI.py:6459
+#: flatcamGUI/PreferencesUI.py:6965
msgid "New Nozzle Dia"
msgstr "New Nozzle Dia"
-#: flatcamGUI/PreferencesUI.py:6461 flatcamTools/ToolSolderPaste.py:106
+#: flatcamGUI/PreferencesUI.py:6967 flatcamTools/ToolSolderPaste.py:108
msgid "Diameter for the new Nozzle tool to add in the Tool Table"
msgstr "Diameter for the new Nozzle tool to add in the Tool Table"
-#: flatcamGUI/PreferencesUI.py:6477 flatcamTools/ToolSolderPaste.py:182
+#: flatcamGUI/PreferencesUI.py:6983 flatcamTools/ToolSolderPaste.py:184
msgid "Z Dispense Start"
msgstr "Z Dispense Start"
-#: flatcamGUI/PreferencesUI.py:6479 flatcamTools/ToolSolderPaste.py:184
+#: flatcamGUI/PreferencesUI.py:6985 flatcamTools/ToolSolderPaste.py:186
msgid "The height (Z) when solder paste dispensing starts."
msgstr "The height (Z) when solder paste dispensing starts."
-#: flatcamGUI/PreferencesUI.py:6490 flatcamTools/ToolSolderPaste.py:194
+#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolSolderPaste.py:196
msgid "Z Dispense"
msgstr "Z Dispense"
-#: flatcamGUI/PreferencesUI.py:6492 flatcamTools/ToolSolderPaste.py:196
+#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolSolderPaste.py:198
msgid "The height (Z) when doing solder paste dispensing."
msgstr "The height (Z) when doing solder paste dispensing."
-#: flatcamGUI/PreferencesUI.py:6503 flatcamTools/ToolSolderPaste.py:206
+#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolSolderPaste.py:208
msgid "Z Dispense Stop"
msgstr "Z Dispense Stop"
-#: flatcamGUI/PreferencesUI.py:6505 flatcamTools/ToolSolderPaste.py:208
+#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolSolderPaste.py:210
msgid "The height (Z) when solder paste dispensing stops."
msgstr "The height (Z) when solder paste dispensing stops."
-#: flatcamGUI/PreferencesUI.py:6516 flatcamTools/ToolSolderPaste.py:218
+#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolSolderPaste.py:220
msgid "Z Travel"
msgstr "Z Travel"
-#: flatcamGUI/PreferencesUI.py:6518 flatcamTools/ToolSolderPaste.py:220
+#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolSolderPaste.py:222
msgid ""
"The height (Z) for travel between pads\n"
"(without dispensing solder paste)."
@@ -11695,15 +12117,15 @@ msgstr ""
"The height (Z) for travel between pads\n"
"(without dispensing solder paste)."
-#: flatcamGUI/PreferencesUI.py:6530 flatcamTools/ToolSolderPaste.py:231
+#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolSolderPaste.py:233
msgid "Z Toolchange"
msgstr "Z Toolchange"
-#: flatcamGUI/PreferencesUI.py:6532 flatcamTools/ToolSolderPaste.py:233
+#: flatcamGUI/PreferencesUI.py:7038 flatcamTools/ToolSolderPaste.py:235
msgid "The height (Z) for tool (nozzle) change."
msgstr "The height (Z) for tool (nozzle) change."
-#: flatcamGUI/PreferencesUI.py:6541 flatcamTools/ToolSolderPaste.py:241
+#: flatcamGUI/PreferencesUI.py:7047 flatcamTools/ToolSolderPaste.py:243
msgid ""
"The X,Y location for tool (nozzle) change.\n"
"The format is (x, y) where x and y are real numbers."
@@ -11711,11 +12133,11 @@ msgstr ""
"The X,Y location for tool (nozzle) change.\n"
"The format is (x, y) where x and y are real numbers."
-#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolSolderPaste.py:254
+#: flatcamGUI/PreferencesUI.py:7061 flatcamTools/ToolSolderPaste.py:256
msgid "Feedrate (speed) while moving on the X-Y plane."
msgstr "Feedrate (speed) while moving on the X-Y plane."
-#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolSolderPaste.py:266
+#: flatcamGUI/PreferencesUI.py:7074 flatcamTools/ToolSolderPaste.py:268
msgid ""
"Feedrate (speed) while moving vertically\n"
"(on Z plane)."
@@ -11723,11 +12145,11 @@ msgstr ""
"Feedrate (speed) while moving vertically\n"
"(on Z plane)."
-#: flatcamGUI/PreferencesUI.py:6580 flatcamTools/ToolSolderPaste.py:277
+#: flatcamGUI/PreferencesUI.py:7086 flatcamTools/ToolSolderPaste.py:279
msgid "Feedrate Z Dispense"
msgstr "Feedrate Z Dispense"
-#: flatcamGUI/PreferencesUI.py:6582
+#: flatcamGUI/PreferencesUI.py:7088
msgid ""
"Feedrate (speed) while moving up vertically\n"
"to Dispense position (on Z plane)."
@@ -11735,11 +12157,11 @@ msgstr ""
"Feedrate (speed) while moving up vertically\n"
"to Dispense position (on Z plane)."
-#: flatcamGUI/PreferencesUI.py:6593 flatcamTools/ToolSolderPaste.py:289
+#: flatcamGUI/PreferencesUI.py:7099 flatcamTools/ToolSolderPaste.py:291
msgid "Spindle Speed FWD"
msgstr "Spindle Speed FWD"
-#: flatcamGUI/PreferencesUI.py:6595 flatcamTools/ToolSolderPaste.py:291
+#: flatcamGUI/PreferencesUI.py:7101 flatcamTools/ToolSolderPaste.py:293
msgid ""
"The dispenser speed while pushing solder paste\n"
"through the dispenser nozzle."
@@ -11747,19 +12169,19 @@ msgstr ""
"The dispenser speed while pushing solder paste\n"
"through the dispenser nozzle."
-#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolSolderPaste.py:302
+#: flatcamGUI/PreferencesUI.py:7113 flatcamTools/ToolSolderPaste.py:304
msgid "Dwell FWD"
msgstr "Dwell FWD"
-#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolSolderPaste.py:304
+#: flatcamGUI/PreferencesUI.py:7115 flatcamTools/ToolSolderPaste.py:306
msgid "Pause after solder dispensing."
msgstr "Pause after solder dispensing."
-#: flatcamGUI/PreferencesUI.py:6619 flatcamTools/ToolSolderPaste.py:313
+#: flatcamGUI/PreferencesUI.py:7125 flatcamTools/ToolSolderPaste.py:315
msgid "Spindle Speed REV"
msgstr "Spindle Speed REV"
-#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolSolderPaste.py:315
+#: flatcamGUI/PreferencesUI.py:7127 flatcamTools/ToolSolderPaste.py:317
msgid ""
"The dispenser speed while retracting solder paste\n"
"through the dispenser nozzle."
@@ -11767,11 +12189,11 @@ msgstr ""
"The dispenser speed while retracting solder paste\n"
"through the dispenser nozzle."
-#: flatcamGUI/PreferencesUI.py:6633 flatcamTools/ToolSolderPaste.py:326
+#: flatcamGUI/PreferencesUI.py:7139 flatcamTools/ToolSolderPaste.py:328
msgid "Dwell REV"
msgstr "Dwell REV"
-#: flatcamGUI/PreferencesUI.py:6635 flatcamTools/ToolSolderPaste.py:328
+#: flatcamGUI/PreferencesUI.py:7141 flatcamTools/ToolSolderPaste.py:330
msgid ""
"Pause after solder paste dispenser retracted,\n"
"to allow pressure equilibrium."
@@ -11779,15 +12201,15 @@ msgstr ""
"Pause after solder paste dispenser retracted,\n"
"to allow pressure equilibrium."
-#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolSolderPaste.py:336
+#: flatcamGUI/PreferencesUI.py:7150 flatcamTools/ToolSolderPaste.py:338
msgid "Files that control the GCode generation."
msgstr "Files that control the GCode generation."
-#: flatcamGUI/PreferencesUI.py:6659
+#: flatcamGUI/PreferencesUI.py:7165
msgid "Substractor Tool Options"
msgstr "Substractor Tool Options"
-#: flatcamGUI/PreferencesUI.py:6665
+#: flatcamGUI/PreferencesUI.py:7171
msgid ""
"A tool to substract one Gerber or Geometry object\n"
"from another of the same type."
@@ -11795,21 +12217,21 @@ msgstr ""
"A tool to substract one Gerber or Geometry object\n"
"from another of the same type."
-#: flatcamGUI/PreferencesUI.py:6670 flatcamTools/ToolSub.py:149
+#: flatcamGUI/PreferencesUI.py:7176 flatcamTools/ToolSub.py:155
msgid "Close paths"
msgstr "Close paths"
-#: flatcamGUI/PreferencesUI.py:6671
+#: flatcamGUI/PreferencesUI.py:7177
msgid ""
"Checking this will close the paths cut by the Geometry substractor object."
msgstr ""
"Checking this will close the paths cut by the Geometry substractor object."
-#: flatcamGUI/PreferencesUI.py:6682
+#: flatcamGUI/PreferencesUI.py:7188
msgid "Check Rules Tool Options"
msgstr "Check Rules Tool Options"
-#: flatcamGUI/PreferencesUI.py:6687
+#: flatcamGUI/PreferencesUI.py:7193
msgid ""
"A tool to check if Gerber files are within a set\n"
"of Manufacturing Rules."
@@ -11817,38 +12239,38 @@ msgstr ""
"A tool to check if Gerber files are within a set\n"
"of Manufacturing Rules."
-#: flatcamGUI/PreferencesUI.py:6697 flatcamTools/ToolRulesCheck.py:256
-#: flatcamTools/ToolRulesCheck.py:920
+#: flatcamGUI/PreferencesUI.py:7203 flatcamTools/ToolRulesCheck.py:265
+#: flatcamTools/ToolRulesCheck.py:929
msgid "Trace Size"
msgstr "Trace Size"
-#: flatcamGUI/PreferencesUI.py:6699 flatcamTools/ToolRulesCheck.py:258
+#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolRulesCheck.py:267
msgid "This checks if the minimum size for traces is met."
msgstr "This checks if the minimum size for traces is met."
-#: flatcamGUI/PreferencesUI.py:6709 flatcamGUI/PreferencesUI.py:6729
-#: flatcamGUI/PreferencesUI.py:6749 flatcamGUI/PreferencesUI.py:6769
-#: flatcamGUI/PreferencesUI.py:6789 flatcamGUI/PreferencesUI.py:6809
-#: flatcamGUI/PreferencesUI.py:6829 flatcamGUI/PreferencesUI.py:6849
-#: flatcamGUI/PreferencesUI.py:6871 flatcamGUI/PreferencesUI.py:6891
-#: flatcamTools/ToolRulesCheck.py:268 flatcamTools/ToolRulesCheck.py:290
-#: flatcamTools/ToolRulesCheck.py:313 flatcamTools/ToolRulesCheck.py:336
-#: flatcamTools/ToolRulesCheck.py:359 flatcamTools/ToolRulesCheck.py:382
-#: flatcamTools/ToolRulesCheck.py:405 flatcamTools/ToolRulesCheck.py:428
-#: flatcamTools/ToolRulesCheck.py:453 flatcamTools/ToolRulesCheck.py:476
+#: flatcamGUI/PreferencesUI.py:7215 flatcamGUI/PreferencesUI.py:7235
+#: flatcamGUI/PreferencesUI.py:7255 flatcamGUI/PreferencesUI.py:7275
+#: flatcamGUI/PreferencesUI.py:7295 flatcamGUI/PreferencesUI.py:7315
+#: flatcamGUI/PreferencesUI.py:7335 flatcamGUI/PreferencesUI.py:7355
+#: flatcamGUI/PreferencesUI.py:7377 flatcamGUI/PreferencesUI.py:7397
+#: flatcamTools/ToolRulesCheck.py:277 flatcamTools/ToolRulesCheck.py:299
+#: flatcamTools/ToolRulesCheck.py:322 flatcamTools/ToolRulesCheck.py:345
+#: flatcamTools/ToolRulesCheck.py:368 flatcamTools/ToolRulesCheck.py:391
+#: flatcamTools/ToolRulesCheck.py:414 flatcamTools/ToolRulesCheck.py:437
+#: flatcamTools/ToolRulesCheck.py:462 flatcamTools/ToolRulesCheck.py:485
msgid "Min value"
msgstr "Min value"
-#: flatcamGUI/PreferencesUI.py:6711 flatcamTools/ToolRulesCheck.py:270
+#: flatcamGUI/PreferencesUI.py:7217 flatcamTools/ToolRulesCheck.py:279
msgid "Minimum acceptable trace size."
msgstr "Minimum acceptable trace size."
-#: flatcamGUI/PreferencesUI.py:6716 flatcamTools/ToolRulesCheck.py:277
-#: flatcamTools/ToolRulesCheck.py:1148 flatcamTools/ToolRulesCheck.py:1178
+#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolRulesCheck.py:286
+#: flatcamTools/ToolRulesCheck.py:1157 flatcamTools/ToolRulesCheck.py:1187
msgid "Copper to Copper clearance"
msgstr "Copper to Copper clearance"
-#: flatcamGUI/PreferencesUI.py:6718 flatcamTools/ToolRulesCheck.py:279
+#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolRulesCheck.py:288
msgid ""
"This checks if the minimum clearance between copper\n"
"features is met."
@@ -11856,23 +12278,23 @@ msgstr ""
"This checks if the minimum clearance between copper\n"
"features is met."
-#: flatcamGUI/PreferencesUI.py:6731 flatcamGUI/PreferencesUI.py:6751
-#: flatcamGUI/PreferencesUI.py:6771 flatcamGUI/PreferencesUI.py:6791
-#: flatcamGUI/PreferencesUI.py:6811 flatcamGUI/PreferencesUI.py:6831
-#: flatcamGUI/PreferencesUI.py:6893 flatcamTools/ToolRulesCheck.py:292
-#: flatcamTools/ToolRulesCheck.py:315 flatcamTools/ToolRulesCheck.py:338
-#: flatcamTools/ToolRulesCheck.py:361 flatcamTools/ToolRulesCheck.py:384
-#: flatcamTools/ToolRulesCheck.py:407 flatcamTools/ToolRulesCheck.py:455
+#: flatcamGUI/PreferencesUI.py:7237 flatcamGUI/PreferencesUI.py:7257
+#: flatcamGUI/PreferencesUI.py:7277 flatcamGUI/PreferencesUI.py:7297
+#: flatcamGUI/PreferencesUI.py:7317 flatcamGUI/PreferencesUI.py:7337
+#: flatcamGUI/PreferencesUI.py:7399 flatcamTools/ToolRulesCheck.py:301
+#: flatcamTools/ToolRulesCheck.py:324 flatcamTools/ToolRulesCheck.py:347
+#: flatcamTools/ToolRulesCheck.py:370 flatcamTools/ToolRulesCheck.py:393
+#: flatcamTools/ToolRulesCheck.py:416 flatcamTools/ToolRulesCheck.py:464
msgid "Minimum acceptable clearance value."
msgstr "Minimum acceptable clearance value."
-#: flatcamGUI/PreferencesUI.py:6736 flatcamTools/ToolRulesCheck.py:300
-#: flatcamTools/ToolRulesCheck.py:1208 flatcamTools/ToolRulesCheck.py:1214
-#: flatcamTools/ToolRulesCheck.py:1227 flatcamTools/ToolRulesCheck.py:1234
+#: flatcamGUI/PreferencesUI.py:7242 flatcamTools/ToolRulesCheck.py:309
+#: flatcamTools/ToolRulesCheck.py:1217 flatcamTools/ToolRulesCheck.py:1223
+#: flatcamTools/ToolRulesCheck.py:1236 flatcamTools/ToolRulesCheck.py:1243
msgid "Copper to Outline clearance"
msgstr "Copper to Outline clearance"
-#: flatcamGUI/PreferencesUI.py:6738 flatcamTools/ToolRulesCheck.py:302
+#: flatcamGUI/PreferencesUI.py:7244 flatcamTools/ToolRulesCheck.py:311
msgid ""
"This checks if the minimum clearance between copper\n"
"features and the outline is met."
@@ -11880,11 +12302,11 @@ msgstr ""
"This checks if the minimum clearance between copper\n"
"features and the outline is met."
-#: flatcamGUI/PreferencesUI.py:6756 flatcamTools/ToolRulesCheck.py:323
+#: flatcamGUI/PreferencesUI.py:7262 flatcamTools/ToolRulesCheck.py:332
msgid "Silk to Silk Clearance"
msgstr "Silk to Silk Clearance"
-#: flatcamGUI/PreferencesUI.py:6758 flatcamTools/ToolRulesCheck.py:325
+#: flatcamGUI/PreferencesUI.py:7264 flatcamTools/ToolRulesCheck.py:334
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and silkscreen features is met."
@@ -11892,13 +12314,13 @@ msgstr ""
"This checks if the minimum clearance between silkscreen\n"
"features and silkscreen features is met."
-#: flatcamGUI/PreferencesUI.py:6776 flatcamTools/ToolRulesCheck.py:346
-#: flatcamTools/ToolRulesCheck.py:1317 flatcamTools/ToolRulesCheck.py:1323
-#: flatcamTools/ToolRulesCheck.py:1341
+#: flatcamGUI/PreferencesUI.py:7282 flatcamTools/ToolRulesCheck.py:355
+#: flatcamTools/ToolRulesCheck.py:1326 flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1350
msgid "Silk to Solder Mask Clearance"
msgstr "Silk to Solder Mask Clearance"
-#: flatcamGUI/PreferencesUI.py:6778 flatcamTools/ToolRulesCheck.py:348
+#: flatcamGUI/PreferencesUI.py:7284 flatcamTools/ToolRulesCheck.py:357
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and soldermask features is met."
@@ -11906,13 +12328,13 @@ msgstr ""
"This checks if the minimum clearance between silkscreen\n"
"features and soldermask features is met."
-#: flatcamGUI/PreferencesUI.py:6796 flatcamTools/ToolRulesCheck.py:369
-#: flatcamTools/ToolRulesCheck.py:1371 flatcamTools/ToolRulesCheck.py:1377
-#: flatcamTools/ToolRulesCheck.py:1391 flatcamTools/ToolRulesCheck.py:1398
+#: flatcamGUI/PreferencesUI.py:7302 flatcamTools/ToolRulesCheck.py:378
+#: flatcamTools/ToolRulesCheck.py:1380 flatcamTools/ToolRulesCheck.py:1386
+#: flatcamTools/ToolRulesCheck.py:1400 flatcamTools/ToolRulesCheck.py:1407
msgid "Silk to Outline Clearance"
msgstr "Silk to Outline Clearance"
-#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolRulesCheck.py:371
+#: flatcamGUI/PreferencesUI.py:7304 flatcamTools/ToolRulesCheck.py:380
msgid ""
"This checks if the minimum clearance between silk\n"
"features and the outline is met."
@@ -11920,12 +12342,12 @@ msgstr ""
"This checks if the minimum clearance between silk\n"
"features and the outline is met."
-#: flatcamGUI/PreferencesUI.py:6816 flatcamTools/ToolRulesCheck.py:392
-#: flatcamTools/ToolRulesCheck.py:1409 flatcamTools/ToolRulesCheck.py:1436
+#: flatcamGUI/PreferencesUI.py:7322 flatcamTools/ToolRulesCheck.py:401
+#: flatcamTools/ToolRulesCheck.py:1418 flatcamTools/ToolRulesCheck.py:1445
msgid "Minimum Solder Mask Sliver"
msgstr "Minimum Solder Mask Sliver"
-#: flatcamGUI/PreferencesUI.py:6818 flatcamTools/ToolRulesCheck.py:394
+#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolRulesCheck.py:403
msgid ""
"This checks if the minimum clearance between soldermask\n"
"features and soldermask features is met."
@@ -11933,13 +12355,13 @@ msgstr ""
"This checks if the minimum clearance between soldermask\n"
"features and soldermask features is met."
-#: flatcamGUI/PreferencesUI.py:6836 flatcamTools/ToolRulesCheck.py:415
-#: flatcamTools/ToolRulesCheck.py:1474 flatcamTools/ToolRulesCheck.py:1480
-#: flatcamTools/ToolRulesCheck.py:1496 flatcamTools/ToolRulesCheck.py:1503
+#: flatcamGUI/PreferencesUI.py:7342 flatcamTools/ToolRulesCheck.py:424
+#: flatcamTools/ToolRulesCheck.py:1483 flatcamTools/ToolRulesCheck.py:1489
+#: flatcamTools/ToolRulesCheck.py:1505 flatcamTools/ToolRulesCheck.py:1512
msgid "Minimum Annular Ring"
msgstr "Minimum Annular Ring"
-#: flatcamGUI/PreferencesUI.py:6838 flatcamTools/ToolRulesCheck.py:417
+#: flatcamGUI/PreferencesUI.py:7344 flatcamTools/ToolRulesCheck.py:426
msgid ""
"This checks if the minimum copper ring left by drilling\n"
"a hole into a pad is met."
@@ -11947,16 +12369,16 @@ msgstr ""
"This checks if the minimum copper ring left by drilling\n"
"a hole into a pad is met."
-#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolRulesCheck.py:430
+#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolRulesCheck.py:439
msgid "Minimum acceptable ring value."
msgstr "Minimum acceptable ring value."
-#: flatcamGUI/PreferencesUI.py:6858 flatcamTools/ToolRulesCheck.py:440
-#: flatcamTools/ToolRulesCheck.py:864
+#: flatcamGUI/PreferencesUI.py:7364 flatcamTools/ToolRulesCheck.py:449
+#: flatcamTools/ToolRulesCheck.py:873
msgid "Hole to Hole Clearance"
msgstr "Hole to Hole Clearance"
-#: flatcamGUI/PreferencesUI.py:6860 flatcamTools/ToolRulesCheck.py:442
+#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolRulesCheck.py:451
msgid ""
"This checks if the minimum clearance between a drill hole\n"
"and another drill hole is met."
@@ -11964,16 +12386,16 @@ msgstr ""
"This checks if the minimum clearance between a drill hole\n"
"and another drill hole is met."
-#: flatcamGUI/PreferencesUI.py:6873 flatcamTools/ToolRulesCheck.py:478
+#: flatcamGUI/PreferencesUI.py:7379 flatcamTools/ToolRulesCheck.py:487
msgid "Minimum acceptable drill size."
msgstr "Minimum acceptable drill size."
-#: flatcamGUI/PreferencesUI.py:6878 flatcamTools/ToolRulesCheck.py:463
-#: flatcamTools/ToolRulesCheck.py:838
+#: flatcamGUI/PreferencesUI.py:7384 flatcamTools/ToolRulesCheck.py:472
+#: flatcamTools/ToolRulesCheck.py:847
msgid "Hole Size"
msgstr "Hole Size"
-#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolRulesCheck.py:465
+#: flatcamGUI/PreferencesUI.py:7386 flatcamTools/ToolRulesCheck.py:474
msgid ""
"This checks if the drill holes\n"
"sizes are above the threshold."
@@ -11981,11 +12403,11 @@ msgstr ""
"This checks if the drill holes\n"
"sizes are above the threshold."
-#: flatcamGUI/PreferencesUI.py:6905
+#: flatcamGUI/PreferencesUI.py:7411
msgid "Optimal Tool Options"
msgstr "Optimal Tool Options"
-#: flatcamGUI/PreferencesUI.py:6911
+#: flatcamGUI/PreferencesUI.py:7417
msgid ""
"A tool to find the minimum distance between\n"
"every two Gerber geometric elements"
@@ -11993,19 +12415,19 @@ msgstr ""
"A tool to find the minimum distance between\n"
"every two Gerber geometric elements"
-#: flatcamGUI/PreferencesUI.py:6926 flatcamTools/ToolOptimal.py:78
+#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolOptimal.py:79
msgid "Precision"
msgstr "Precision"
-#: flatcamGUI/PreferencesUI.py:6928
+#: flatcamGUI/PreferencesUI.py:7434
msgid "Number of decimals for the distances and coordinates in this tool."
msgstr "Number of decimals for the distances and coordinates in this tool."
-#: flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7448
msgid "QRCode Tool Options"
msgstr "QRCode Tool Options"
-#: flatcamGUI/PreferencesUI.py:6948
+#: flatcamGUI/PreferencesUI.py:7454
msgid ""
"A tool to create a QRCode that can be inserted\n"
"into a selected Gerber file, or it can be exported as a file."
@@ -12013,11 +12435,11 @@ msgstr ""
"A tool to create a QRCode that can be inserted\n"
"into a selected Gerber file, or it can be exported as a file."
-#: flatcamGUI/PreferencesUI.py:6960 flatcamTools/ToolQRCode.py:99
+#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolQRCode.py:100
msgid "Version"
msgstr "Version"
-#: flatcamGUI/PreferencesUI.py:6962 flatcamTools/ToolQRCode.py:101
+#: flatcamGUI/PreferencesUI.py:7468 flatcamTools/ToolQRCode.py:102
msgid ""
"QRCode version can have values from 1 (21x21 boxes)\n"
"to 40 (177x177 boxes)."
@@ -12025,12 +12447,12 @@ msgstr ""
"QRCode version can have values from 1 (21x21 boxes)\n"
"to 40 (177x177 boxes)."
-#: flatcamGUI/PreferencesUI.py:6973 flatcamTools/ToolQRCode.py:112
+#: flatcamGUI/PreferencesUI.py:7479 flatcamTools/ToolQRCode.py:113
msgid "Error correction"
msgstr "Error correction"
-#: flatcamGUI/PreferencesUI.py:6975 flatcamGUI/PreferencesUI.py:6986
-#: flatcamTools/ToolQRCode.py:114 flatcamTools/ToolQRCode.py:125
+#: flatcamGUI/PreferencesUI.py:7481 flatcamGUI/PreferencesUI.py:7492
+#: flatcamTools/ToolQRCode.py:115 flatcamTools/ToolQRCode.py:126
#, python-format
msgid ""
"Parameter that controls the error correction used for the QR Code.\n"
@@ -12045,11 +12467,11 @@ msgstr ""
"Q = maximum 25%% errors can be corrected\n"
"H = maximum 30%% errors can be corrected."
-#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolQRCode.py:135
+#: flatcamGUI/PreferencesUI.py:7502 flatcamTools/ToolQRCode.py:136
msgid "Box Size"
msgstr "Box Size"
-#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolQRCode.py:137
+#: flatcamGUI/PreferencesUI.py:7504 flatcamTools/ToolQRCode.py:138
msgid ""
"Box size control the overall size of the QRcode\n"
"by adjusting the size of each box in the code."
@@ -12057,11 +12479,11 @@ msgstr ""
"Box size control the overall size of the QRcode\n"
"by adjusting the size of each box in the code."
-#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolQRCode.py:148
+#: flatcamGUI/PreferencesUI.py:7515 flatcamTools/ToolQRCode.py:149
msgid "Border Size"
msgstr "Border Size"
-#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolQRCode.py:150
+#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolQRCode.py:151
msgid ""
"Size of the QRCode border. How many boxes thick is the border.\n"
"Default value is 4. The width of the clearance around the QRCode."
@@ -12069,23 +12491,23 @@ msgstr ""
"Size of the QRCode border. How many boxes thick is the border.\n"
"Default value is 4. The width of the clearance around the QRCode."
-#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolQRCode.py:162
+#: flatcamGUI/PreferencesUI.py:7528 flatcamTools/ToolQRCode.py:162
msgid "QRCode Data"
msgstr "QRCode Data"
-#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolQRCode.py:164
+#: flatcamGUI/PreferencesUI.py:7530 flatcamTools/ToolQRCode.py:164
msgid "QRCode Data. Alphanumeric text to be encoded in the QRCode."
msgstr "QRCode Data. Alphanumeric text to be encoded in the QRCode."
-#: flatcamGUI/PreferencesUI.py:7028 flatcamTools/ToolQRCode.py:168
+#: flatcamGUI/PreferencesUI.py:7534 flatcamTools/ToolQRCode.py:168
msgid "Add here the text to be included in the QRCode..."
msgstr "Add here the text to be included in the QRCode..."
-#: flatcamGUI/PreferencesUI.py:7034 flatcamTools/ToolQRCode.py:174
+#: flatcamGUI/PreferencesUI.py:7540 flatcamTools/ToolQRCode.py:174
msgid "Polarity"
msgstr "Polarity"
-#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolQRCode.py:176
+#: flatcamGUI/PreferencesUI.py:7542 flatcamTools/ToolQRCode.py:176
msgid ""
"Choose the polarity of the QRCode.\n"
"It can be drawn in a negative way (squares are clear)\n"
@@ -12095,17 +12517,17 @@ msgstr ""
"It can be drawn in a negative way (squares are clear)\n"
"or in a positive way (squares are opaque)."
-#: flatcamGUI/PreferencesUI.py:7040 flatcamTools/ToolFilm.py:296
+#: flatcamGUI/PreferencesUI.py:7546 flatcamTools/ToolFilm.py:296
#: flatcamTools/ToolQRCode.py:180
msgid "Negative"
msgstr "Negative"
-#: flatcamGUI/PreferencesUI.py:7041 flatcamTools/ToolFilm.py:295
+#: flatcamGUI/PreferencesUI.py:7547 flatcamTools/ToolFilm.py:295
#: flatcamTools/ToolQRCode.py:181
msgid "Positive"
msgstr "Positive"
-#: flatcamGUI/PreferencesUI.py:7043 flatcamTools/ToolQRCode.py:183
+#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolQRCode.py:183
msgid ""
"Choose the type of QRCode to be created.\n"
"If added on a Silkscreen Gerber file the QRCode may\n"
@@ -12117,7 +12539,7 @@ msgstr ""
"be added as positive. If it is added to a Copper Gerber\n"
"file then perhaps the QRCode can be added as negative."
-#: flatcamGUI/PreferencesUI.py:7054 flatcamGUI/PreferencesUI.py:7060
+#: flatcamGUI/PreferencesUI.py:7560 flatcamGUI/PreferencesUI.py:7566
#: flatcamTools/ToolQRCode.py:194 flatcamTools/ToolQRCode.py:200
msgid ""
"The bounding box, meaning the empty space that surrounds\n"
@@ -12126,27 +12548,27 @@ msgstr ""
"The bounding box, meaning the empty space that surrounds\n"
"the QRCode geometry, can have a rounded or a square shape."
-#: flatcamGUI/PreferencesUI.py:7067 flatcamTools/ToolQRCode.py:228
+#: flatcamGUI/PreferencesUI.py:7573 flatcamTools/ToolQRCode.py:228
msgid "Fill Color"
msgstr "Fill Color"
-#: flatcamGUI/PreferencesUI.py:7069 flatcamTools/ToolQRCode.py:230
+#: flatcamGUI/PreferencesUI.py:7575 flatcamTools/ToolQRCode.py:230
msgid "Set the QRCode fill color (squares color)."
msgstr "Set the QRCode fill color (squares color)."
-#: flatcamGUI/PreferencesUI.py:7088 flatcamTools/ToolQRCode.py:252
+#: flatcamGUI/PreferencesUI.py:7594 flatcamTools/ToolQRCode.py:252
msgid "Back Color"
msgstr "Back Color"
-#: flatcamGUI/PreferencesUI.py:7090 flatcamTools/ToolQRCode.py:254
+#: flatcamGUI/PreferencesUI.py:7596 flatcamTools/ToolQRCode.py:254
msgid "Set the QRCode background color."
msgstr "Set the QRCode background color."
-#: flatcamGUI/PreferencesUI.py:7130
+#: flatcamGUI/PreferencesUI.py:7636
msgid "Copper Thieving Tool Options"
msgstr "Copper Thieving Tool Options"
-#: flatcamGUI/PreferencesUI.py:7142
+#: flatcamGUI/PreferencesUI.py:7648
msgid ""
"A tool to generate a Copper Thieving that can be added\n"
"to a selected Gerber file."
@@ -12154,16 +12576,16 @@ msgstr ""
"A tool to generate a Copper Thieving that can be added\n"
"to a selected Gerber file."
-#: flatcamGUI/PreferencesUI.py:7150
+#: flatcamGUI/PreferencesUI.py:7656
msgid "Number of steps (lines) used to interpolate circles."
msgstr "Number of steps (lines) used to interpolate circles."
-#: flatcamGUI/PreferencesUI.py:7160 flatcamGUI/PreferencesUI.py:7364
-#: flatcamTools/ToolCopperThieving.py:96 flatcamTools/ToolCopperThieving.py:429
+#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7870
+#: flatcamTools/ToolCopperThieving.py:97 flatcamTools/ToolCopperThieving.py:432
msgid "Clearance"
msgstr "Clearance"
-#: flatcamGUI/PreferencesUI.py:7162
+#: flatcamGUI/PreferencesUI.py:7668
msgid ""
"This set the distance between the copper Thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
@@ -12173,22 +12595,11 @@ msgstr ""
"(the polygon fill may be split in multiple polygons)\n"
"and the copper traces in the Gerber file."
-#: flatcamGUI/PreferencesUI.py:7190 flatcamTools/ToolCopperThieving.py:126
-#: flatcamTools/ToolNonCopperClear.py:430 flatcamTools/ToolPaint.py:308
-msgid "Area Selection"
-msgstr "Area Selection"
-
-#: flatcamGUI/PreferencesUI.py:7191 flatcamTools/ToolCopperThieving.py:127
-#: flatcamTools/ToolNonCopperClear.py:431 flatcamTools/ToolPaint.py:310
-msgid "Reference Object"
-msgstr "Reference Object"
-
-#: flatcamGUI/PreferencesUI.py:7193 flatcamTools/ToolCopperThieving.py:129
-#: flatcamTools/ToolNonCopperClear.py:433
+#: flatcamGUI/PreferencesUI.py:7699 flatcamTools/ToolCopperThieving.py:130
msgid "Reference:"
msgstr "Reference:"
-#: flatcamGUI/PreferencesUI.py:7195
+#: flatcamGUI/PreferencesUI.py:7701
msgid ""
"- 'Itself' - the copper Thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
@@ -12202,20 +12613,24 @@ msgstr ""
"- 'Reference Object' - will do copper thieving within the area specified by "
"another object."
-#: flatcamGUI/PreferencesUI.py:7204 flatcamTools/ToolCopperThieving.py:170
+#: flatcamGUI/PreferencesUI.py:7710 flatcamGUI/PreferencesUI.py:8175
+#: flatcamGUI/PreferencesUI.py:8287 flatcamGUI/PreferencesUI.py:8387
+#: flatcamGUI/PreferencesUI.py:8501 flatcamTools/ToolCopperThieving.py:172
+#: flatcamTools/ToolExtractDrills.py:102 flatcamTools/ToolExtractDrills.py:240
+#: flatcamTools/ToolPunchGerber.py:113 flatcamTools/ToolPunchGerber.py:268
msgid "Rectangular"
msgstr "Rectangular"
-#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolCopperThieving.py:171
+#: flatcamGUI/PreferencesUI.py:7711 flatcamTools/ToolCopperThieving.py:173
msgid "Minimal"
msgstr "Minimal"
-#: flatcamGUI/PreferencesUI.py:7207 flatcamTools/ToolCopperThieving.py:173
+#: flatcamGUI/PreferencesUI.py:7713 flatcamTools/ToolCopperThieving.py:175
#: flatcamTools/ToolFilm.py:113
msgid "Box Type:"
msgstr "Box Type:"
-#: flatcamGUI/PreferencesUI.py:7209 flatcamTools/ToolCopperThieving.py:175
+#: flatcamGUI/PreferencesUI.py:7715 flatcamTools/ToolCopperThieving.py:177
msgid ""
"- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape."
@@ -12223,23 +12638,23 @@ msgstr ""
"- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape."
-#: flatcamGUI/PreferencesUI.py:7223 flatcamTools/ToolCopperThieving.py:191
+#: flatcamGUI/PreferencesUI.py:7729 flatcamTools/ToolCopperThieving.py:193
msgid "Dots Grid"
msgstr "Dots Grid"
-#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolCopperThieving.py:192
+#: flatcamGUI/PreferencesUI.py:7730 flatcamTools/ToolCopperThieving.py:194
msgid "Squares Grid"
msgstr "Squares Grid"
-#: flatcamGUI/PreferencesUI.py:7225 flatcamTools/ToolCopperThieving.py:193
+#: flatcamGUI/PreferencesUI.py:7731 flatcamTools/ToolCopperThieving.py:195
msgid "Lines Grid"
msgstr "Lines Grid"
-#: flatcamGUI/PreferencesUI.py:7227 flatcamTools/ToolCopperThieving.py:195
+#: flatcamGUI/PreferencesUI.py:7733 flatcamTools/ToolCopperThieving.py:197
msgid "Fill Type:"
msgstr "Fill Type:"
-#: flatcamGUI/PreferencesUI.py:7229 flatcamTools/ToolCopperThieving.py:197
+#: flatcamGUI/PreferencesUI.py:7735 flatcamTools/ToolCopperThieving.py:199
msgid ""
"- 'Solid' - copper thieving will be a solid polygon.\n"
"- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n"
@@ -12251,54 +12666,54 @@ msgstr ""
"- 'Squares Grid' - the empty area will be filled with a pattern of squares.\n"
"- 'Lines Grid' - the empty area will be filled with a pattern of lines."
-#: flatcamGUI/PreferencesUI.py:7237 flatcamTools/ToolCopperThieving.py:216
+#: flatcamGUI/PreferencesUI.py:7743 flatcamTools/ToolCopperThieving.py:218
msgid "Dots Grid Parameters"
msgstr "Dots Grid Parameters"
-#: flatcamGUI/PreferencesUI.py:7243 flatcamTools/ToolCopperThieving.py:222
+#: flatcamGUI/PreferencesUI.py:7749 flatcamTools/ToolCopperThieving.py:224
msgid "Dot diameter in Dots Grid."
msgstr "Dot diameter in Dots Grid."
-#: flatcamGUI/PreferencesUI.py:7254 flatcamGUI/PreferencesUI.py:7283
-#: flatcamGUI/PreferencesUI.py:7312 flatcamTools/ToolCopperThieving.py:233
-#: flatcamTools/ToolCopperThieving.py:273
-#: flatcamTools/ToolCopperThieving.py:313
+#: flatcamGUI/PreferencesUI.py:7760 flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:7818 flatcamTools/ToolCopperThieving.py:235
+#: flatcamTools/ToolCopperThieving.py:275
+#: flatcamTools/ToolCopperThieving.py:315
msgid "Spacing"
msgstr "Spacing"
-#: flatcamGUI/PreferencesUI.py:7256 flatcamTools/ToolCopperThieving.py:235
+#: flatcamGUI/PreferencesUI.py:7762 flatcamTools/ToolCopperThieving.py:237
msgid "Distance between each two dots in Dots Grid."
msgstr "Distance between each two dots in Dots Grid."
-#: flatcamGUI/PreferencesUI.py:7266 flatcamTools/ToolCopperThieving.py:256
+#: flatcamGUI/PreferencesUI.py:7772 flatcamTools/ToolCopperThieving.py:258
msgid "Squares Grid Parameters"
msgstr "Squares Grid Parameters"
-#: flatcamGUI/PreferencesUI.py:7272 flatcamTools/ToolCopperThieving.py:262
+#: flatcamGUI/PreferencesUI.py:7778 flatcamTools/ToolCopperThieving.py:264
msgid "Square side size in Squares Grid."
msgstr "Square side size in Squares Grid."
-#: flatcamGUI/PreferencesUI.py:7285 flatcamTools/ToolCopperThieving.py:275
+#: flatcamGUI/PreferencesUI.py:7791 flatcamTools/ToolCopperThieving.py:277
msgid "Distance between each two squares in Squares Grid."
msgstr "Distance between each two squares in Squares Grid."
-#: flatcamGUI/PreferencesUI.py:7295 flatcamTools/ToolCopperThieving.py:296
+#: flatcamGUI/PreferencesUI.py:7801 flatcamTools/ToolCopperThieving.py:298
msgid "Lines Grid Parameters"
msgstr "Lines Grid Parameters"
-#: flatcamGUI/PreferencesUI.py:7301 flatcamTools/ToolCopperThieving.py:302
+#: flatcamGUI/PreferencesUI.py:7807 flatcamTools/ToolCopperThieving.py:304
msgid "Line thickness size in Lines Grid."
msgstr "Line thickness size in Lines Grid."
-#: flatcamGUI/PreferencesUI.py:7314 flatcamTools/ToolCopperThieving.py:315
+#: flatcamGUI/PreferencesUI.py:7820 flatcamTools/ToolCopperThieving.py:317
msgid "Distance between each two lines in Lines Grid."
msgstr "Distance between each two lines in Lines Grid."
-#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolCopperThieving.py:353
+#: flatcamGUI/PreferencesUI.py:7830 flatcamTools/ToolCopperThieving.py:355
msgid "Robber Bar Parameters"
msgstr "Robber Bar Parameters"
-#: flatcamGUI/PreferencesUI.py:7326 flatcamTools/ToolCopperThieving.py:355
+#: flatcamGUI/PreferencesUI.py:7832 flatcamTools/ToolCopperThieving.py:357
msgid ""
"Parameters used for the robber bar.\n"
"Robber bar = copper border to help in pattern hole plating."
@@ -12306,27 +12721,27 @@ msgstr ""
"Parameters used for the robber bar.\n"
"Robber bar = copper border to help in pattern hole plating."
-#: flatcamGUI/PreferencesUI.py:7334 flatcamTools/ToolCopperThieving.py:363
+#: flatcamGUI/PreferencesUI.py:7840 flatcamTools/ToolCopperThieving.py:365
msgid "Bounding box margin for robber bar."
msgstr "Bounding box margin for robber bar."
-#: flatcamGUI/PreferencesUI.py:7345 flatcamTools/ToolCopperThieving.py:374
+#: flatcamGUI/PreferencesUI.py:7851 flatcamTools/ToolCopperThieving.py:376
msgid "Thickness"
msgstr "Thickness"
-#: flatcamGUI/PreferencesUI.py:7347 flatcamTools/ToolCopperThieving.py:376
+#: flatcamGUI/PreferencesUI.py:7853 flatcamTools/ToolCopperThieving.py:378
msgid "The robber bar thickness."
msgstr "The robber bar thickness."
-#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolCopperThieving.py:407
+#: flatcamGUI/PreferencesUI.py:7863 flatcamTools/ToolCopperThieving.py:409
msgid "Pattern Plating Mask"
msgstr "Pattern Plating Mask"
-#: flatcamGUI/PreferencesUI.py:7359 flatcamTools/ToolCopperThieving.py:409
+#: flatcamGUI/PreferencesUI.py:7865 flatcamTools/ToolCopperThieving.py:411
msgid "Generate a mask for pattern plating."
msgstr "Generate a mask for pattern plating."
-#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolCopperThieving.py:431
+#: flatcamGUI/PreferencesUI.py:7872 flatcamTools/ToolCopperThieving.py:434
msgid ""
"The distance between the possible copper thieving elements\n"
"and/or robber bar and the actual openings in the mask."
@@ -12334,16 +12749,17 @@ msgstr ""
"The distance between the possible copper thieving elements\n"
"and/or robber bar and the actual openings in the mask."
-#: flatcamGUI/PreferencesUI.py:7385
+#: flatcamGUI/PreferencesUI.py:7891
msgid "Fiducials Tool Options"
msgstr "Fiducials Tool Options"
-#: flatcamGUI/PreferencesUI.py:7396 flatcamGUI/PreferencesUI.py:7512
-#: flatcamTools/ToolCopperThieving.py:91 flatcamTools/ToolFiducials.py:151
+#: flatcamGUI/PreferencesUI.py:7902 flatcamGUI/PreferencesUI.py:8018
+#: flatcamGUI/PreferencesUI.py:8137 flatcamGUI/PreferencesUI.py:8349
+#: flatcamTools/ToolCopperThieving.py:92 flatcamTools/ToolFiducials.py:151
msgid "Parameters used for this tool."
msgstr "Parameters used for this tool."
-#: flatcamGUI/PreferencesUI.py:7403 flatcamTools/ToolFiducials.py:158
+#: flatcamGUI/PreferencesUI.py:7909 flatcamTools/ToolFiducials.py:158
msgid ""
"This set the fiducial diameter if fiducial type is circular,\n"
"otherwise is the size of the fiducial.\n"
@@ -12353,19 +12769,19 @@ msgstr ""
"otherwise is the size of the fiducial.\n"
"The soldermask opening is double than that."
-#: flatcamGUI/PreferencesUI.py:7431 flatcamTools/ToolFiducials.py:186
+#: flatcamGUI/PreferencesUI.py:7937 flatcamTools/ToolFiducials.py:186
msgid "Auto"
msgstr "Auto"
-#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolFiducials.py:187
+#: flatcamGUI/PreferencesUI.py:7938 flatcamTools/ToolFiducials.py:187
msgid "Manual"
msgstr "Manual"
-#: flatcamGUI/PreferencesUI.py:7434 flatcamTools/ToolFiducials.py:189
+#: flatcamGUI/PreferencesUI.py:7940 flatcamTools/ToolFiducials.py:189
msgid "Mode:"
msgstr "Mode:"
-#: flatcamGUI/PreferencesUI.py:7436
+#: flatcamGUI/PreferencesUI.py:7942
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding "
"box.\n"
@@ -12375,19 +12791,19 @@ msgstr ""
"box.\n"
"- 'Manual' - manual placement of fiducials."
-#: flatcamGUI/PreferencesUI.py:7444 flatcamTools/ToolFiducials.py:199
+#: flatcamGUI/PreferencesUI.py:7950 flatcamTools/ToolFiducials.py:199
msgid "Up"
msgstr "Up"
-#: flatcamGUI/PreferencesUI.py:7445 flatcamTools/ToolFiducials.py:200
+#: flatcamGUI/PreferencesUI.py:7951 flatcamTools/ToolFiducials.py:200
msgid "Down"
msgstr "Down"
-#: flatcamGUI/PreferencesUI.py:7448 flatcamTools/ToolFiducials.py:203
+#: flatcamGUI/PreferencesUI.py:7954 flatcamTools/ToolFiducials.py:203
msgid "Second fiducial"
msgstr "Second fiducial"
-#: flatcamGUI/PreferencesUI.py:7450 flatcamTools/ToolFiducials.py:205
+#: flatcamGUI/PreferencesUI.py:7956 flatcamTools/ToolFiducials.py:205
msgid ""
"The position for the second fiducial.\n"
"- 'Up' - the order is: bottom-left, top-left, top-right.\n"
@@ -12399,19 +12815,19 @@ msgstr ""
"- 'Down' - the order is: bottom-left, bottom-right, top-right.\n"
"- 'None' - there is no second fiducial. The order is: bottom-left, top-right."
-#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolFiducials.py:221
+#: flatcamGUI/PreferencesUI.py:7972 flatcamTools/ToolFiducials.py:221
msgid "Cross"
msgstr "Cross"
-#: flatcamGUI/PreferencesUI.py:7467 flatcamTools/ToolFiducials.py:222
+#: flatcamGUI/PreferencesUI.py:7973 flatcamTools/ToolFiducials.py:222
msgid "Chess"
msgstr "Chess"
-#: flatcamGUI/PreferencesUI.py:7470 flatcamTools/ToolFiducials.py:224
+#: flatcamGUI/PreferencesUI.py:7976 flatcamTools/ToolFiducials.py:224
msgid "Fiducial Type"
msgstr "Fiducial Type"
-#: flatcamGUI/PreferencesUI.py:7472 flatcamTools/ToolFiducials.py:226
+#: flatcamGUI/PreferencesUI.py:7978 flatcamTools/ToolFiducials.py:226
msgid ""
"The type of fiducial.\n"
"- 'Circular' - this is the regular fiducial.\n"
@@ -12423,19 +12839,19 @@ msgstr ""
"- 'Cross' - cross lines fiducial.\n"
"- 'Chess' - chess pattern fiducial."
-#: flatcamGUI/PreferencesUI.py:7481 flatcamTools/ToolFiducials.py:235
+#: flatcamGUI/PreferencesUI.py:7987 flatcamTools/ToolFiducials.py:235
msgid "Line thickness"
msgstr "Line thickness"
-#: flatcamGUI/PreferencesUI.py:7501
+#: flatcamGUI/PreferencesUI.py:8007
msgid "Calibration Tool Options"
msgstr "Calibration Tool Options"
-#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolCalibration.py:181
+#: flatcamGUI/PreferencesUI.py:8023 flatcamTools/ToolCalibration.py:181
msgid "Source Type"
msgstr "Source Type"
-#: flatcamGUI/PreferencesUI.py:7518 flatcamTools/ToolCalibration.py:182
+#: flatcamGUI/PreferencesUI.py:8024 flatcamTools/ToolCalibration.py:182
msgid ""
"The source of calibration points.\n"
"It can be:\n"
@@ -12447,27 +12863,27 @@ msgstr ""
"- Object -> click a hole geo for Excellon or a pad for Gerber\n"
"- Free -> click freely on canvas to acquire the calibration points"
-#: flatcamGUI/PreferencesUI.py:7523 flatcamTools/ToolCalibration.py:187
+#: flatcamGUI/PreferencesUI.py:8029 flatcamTools/ToolCalibration.py:187
msgid "Free"
msgstr "Free"
-#: flatcamGUI/PreferencesUI.py:7537 flatcamTools/ToolCalibration.py:76
+#: flatcamGUI/PreferencesUI.py:8043 flatcamTools/ToolCalibration.py:76
msgid "Height (Z) for travelling between the points."
msgstr "Height (Z) for travelling between the points."
-#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolCalibration.py:88
+#: flatcamGUI/PreferencesUI.py:8055 flatcamTools/ToolCalibration.py:88
msgid "Verification Z"
msgstr "Verification Z"
-#: flatcamGUI/PreferencesUI.py:7551 flatcamTools/ToolCalibration.py:90
+#: flatcamGUI/PreferencesUI.py:8057 flatcamTools/ToolCalibration.py:90
msgid "Height (Z) for checking the point."
msgstr "Height (Z) for checking the point."
-#: flatcamGUI/PreferencesUI.py:7563 flatcamTools/ToolCalibration.py:102
+#: flatcamGUI/PreferencesUI.py:8069 flatcamTools/ToolCalibration.py:102
msgid "Zero Z tool"
msgstr "Zero Z tool"
-#: flatcamGUI/PreferencesUI.py:7565 flatcamTools/ToolCalibration.py:104
+#: flatcamGUI/PreferencesUI.py:8071 flatcamTools/ToolCalibration.py:104
msgid ""
"Include a sequence to zero the height (Z)\n"
"of the verification tool."
@@ -12475,11 +12891,11 @@ msgstr ""
"Include a sequence to zero the height (Z)\n"
"of the verification tool."
-#: flatcamGUI/PreferencesUI.py:7574 flatcamTools/ToolCalibration.py:113
+#: flatcamGUI/PreferencesUI.py:8080 flatcamTools/ToolCalibration.py:113
msgid "Height (Z) for mounting the verification probe."
msgstr "Height (Z) for mounting the verification probe."
-#: flatcamGUI/PreferencesUI.py:7588 flatcamTools/ToolCalibration.py:127
+#: flatcamGUI/PreferencesUI.py:8094 flatcamTools/ToolCalibration.py:127
msgid ""
"Toolchange X,Y position.\n"
"If no value is entered then the current\n"
@@ -12489,11 +12905,11 @@ msgstr ""
"If no value is entered then the current\n"
"(x, y) point will be used,"
-#: flatcamGUI/PreferencesUI.py:7599 flatcamTools/ToolCalibration.py:153
+#: flatcamGUI/PreferencesUI.py:8105 flatcamTools/ToolCalibration.py:153
msgid "Second point"
msgstr "Second point"
-#: flatcamGUI/PreferencesUI.py:7601 flatcamTools/ToolCalibration.py:155
+#: flatcamGUI/PreferencesUI.py:8107 flatcamTools/ToolCalibration.py:155
msgid ""
"Second point in the Gcode verification can be:\n"
"- top-left -> the user will align the PCB vertically\n"
@@ -12503,45 +12919,249 @@ msgstr ""
"- top-left -> the user will align the PCB vertically\n"
"- bottom-right -> the user will align the PCB horizontally"
-#: flatcamGUI/PreferencesUI.py:7605 flatcamTools/ToolCalibration.py:159
-msgid "Top-Left"
-msgstr "Top-Left"
+#: flatcamGUI/PreferencesUI.py:8126
+msgid "Extract Drills Options"
+msgstr "Extract Drills Options"
-#: flatcamGUI/PreferencesUI.py:7606 flatcamTools/ToolCalibration.py:160
-msgid "Bottom-Right"
-msgstr "Bottom-Right"
+#: flatcamGUI/PreferencesUI.py:8141 flatcamGUI/PreferencesUI.py:8353
+#: flatcamTools/ToolExtractDrills.py:68 flatcamTools/ToolPunchGerber.py:75
+msgid "Processed Pads Type"
+msgstr "Processed Pads Type"
-#: flatcamGUI/PreferencesUI.py:7620
+#: flatcamGUI/PreferencesUI.py:8143 flatcamGUI/PreferencesUI.py:8355
+#: flatcamTools/ToolExtractDrills.py:70 flatcamTools/ToolPunchGerber.py:77
+msgid ""
+"The type of pads shape to be processed.\n"
+"If the PCB has many SMD pads with rectangular pads,\n"
+"disable the Rectangular aperture."
+msgstr ""
+"The type of pads shape to be processed.\n"
+"If the PCB has many SMD pads with rectangular pads,\n"
+"disable the Rectangular aperture."
+
+#: flatcamGUI/PreferencesUI.py:8153 flatcamGUI/PreferencesUI.py:8365
+#: flatcamTools/ToolExtractDrills.py:80 flatcamTools/ToolPunchGerber.py:91
+msgid "Process Circular Pads."
+msgstr "Process Circular Pads."
+
+#: flatcamGUI/PreferencesUI.py:8159 flatcamGUI/PreferencesUI.py:8261
+#: flatcamGUI/PreferencesUI.py:8371 flatcamGUI/PreferencesUI.py:8475
+#: flatcamTools/ToolExtractDrills.py:86 flatcamTools/ToolExtractDrills.py:214
+#: flatcamTools/ToolPunchGerber.py:97 flatcamTools/ToolPunchGerber.py:242
+msgid "Oblong"
+msgstr "Oblong"
+
+#: flatcamGUI/PreferencesUI.py:8161 flatcamGUI/PreferencesUI.py:8373
+#: flatcamTools/ToolExtractDrills.py:88 flatcamTools/ToolPunchGerber.py:99
+msgid "Process Oblong Pads."
+msgstr "Process Oblong Pads."
+
+#: flatcamGUI/PreferencesUI.py:8169 flatcamGUI/PreferencesUI.py:8381
+#: flatcamTools/ToolExtractDrills.py:96 flatcamTools/ToolPunchGerber.py:107
+msgid "Process Square Pads."
+msgstr "Process Square Pads."
+
+#: flatcamGUI/PreferencesUI.py:8177 flatcamGUI/PreferencesUI.py:8389
+#: flatcamTools/ToolExtractDrills.py:104 flatcamTools/ToolPunchGerber.py:115
+msgid "Process Rectangular Pads."
+msgstr "Process Rectangular Pads."
+
+#: flatcamGUI/PreferencesUI.py:8183 flatcamGUI/PreferencesUI.py:8300
+#: flatcamGUI/PreferencesUI.py:8395 flatcamGUI/PreferencesUI.py:8514
+#: flatcamTools/ToolExtractDrills.py:110 flatcamTools/ToolExtractDrills.py:253
+#: flatcamTools/ToolProperties.py:172 flatcamTools/ToolPunchGerber.py:121
+#: flatcamTools/ToolPunchGerber.py:281
+msgid "Others"
+msgstr "Others"
+
+#: flatcamGUI/PreferencesUI.py:8185 flatcamGUI/PreferencesUI.py:8397
+#: flatcamTools/ToolExtractDrills.py:112 flatcamTools/ToolPunchGerber.py:123
+msgid "Process pads not in the categories above."
+msgstr "Process pads not in the categories above."
+
+#: flatcamGUI/PreferencesUI.py:8198 flatcamGUI/PreferencesUI.py:8222
+#: flatcamGUI/PreferencesUI.py:8411 flatcamGUI/PreferencesUI.py:8436
+#: flatcamTools/ToolExtractDrills.py:139 flatcamTools/ToolExtractDrills.py:156
+#: flatcamTools/ToolPunchGerber.py:150 flatcamTools/ToolPunchGerber.py:184
+msgid "Fixed Diameter"
+msgstr "Fixed Diameter"
+
+#: flatcamGUI/PreferencesUI.py:8199 flatcamGUI/PreferencesUI.py:8239
+#: flatcamGUI/PreferencesUI.py:8412 flatcamGUI/PreferencesUI.py:8453
+#: flatcamTools/ToolExtractDrills.py:140 flatcamTools/ToolExtractDrills.py:192
+#: flatcamTools/ToolPunchGerber.py:151 flatcamTools/ToolPunchGerber.py:214
+msgid "Fixed Annular Ring"
+msgstr "Fixed Annular Ring"
+
+#: flatcamGUI/PreferencesUI.py:8200 flatcamGUI/PreferencesUI.py:8413
+#: flatcamTools/ToolExtractDrills.py:141 flatcamTools/ToolPunchGerber.py:152
+msgid "Proportional"
+msgstr "Proportional"
+
+#: flatcamGUI/PreferencesUI.py:8206 flatcamTools/ToolExtractDrills.py:130
+msgid ""
+"The method for processing pads. Can be:\n"
+"- Fixed Diameter -> all holes will have a set size\n"
+"- Fixed Annular Ring -> all holes will have a set annular ring\n"
+"- Proportional -> each hole size will be a fraction of the pad size"
+msgstr ""
+"The method for processing pads. Can be:\n"
+"- Fixed Diameter -> all holes will have a set size\n"
+"- Fixed Annular Ring -> all holes will have a set annular ring\n"
+"- Proportional -> each hole size will be a fraction of the pad size"
+
+#: flatcamGUI/PreferencesUI.py:8232 flatcamGUI/PreferencesUI.py:8446
+#: flatcamTools/ToolExtractDrills.py:166 flatcamTools/ToolPunchGerber.py:194
+msgid "Fixed hole diameter."
+msgstr "Fixed hole diameter."
+
+#: flatcamGUI/PreferencesUI.py:8241 flatcamGUI/PreferencesUI.py:8455
+#: flatcamTools/ToolExtractDrills.py:194 flatcamTools/ToolPunchGerber.py:216
+msgid ""
+"The size of annular ring.\n"
+"The copper sliver between the hole exterior\n"
+"and the margin of the copper pad."
+msgstr ""
+"The size of annular ring.\n"
+"The copper sliver between the hole exterior\n"
+"and the margin of the copper pad."
+
+#: flatcamGUI/PreferencesUI.py:8250 flatcamGUI/PreferencesUI.py:8464
+#: flatcamTools/ToolExtractDrills.py:203 flatcamTools/ToolPunchGerber.py:231
+msgid "The size of annular ring for circular pads."
+msgstr "The size of annular ring for circular pads."
+
+#: flatcamGUI/PreferencesUI.py:8263 flatcamGUI/PreferencesUI.py:8477
+#: flatcamTools/ToolExtractDrills.py:216 flatcamTools/ToolPunchGerber.py:244
+msgid "The size of annular ring for oblong pads."
+msgstr "The size of annular ring for oblong pads."
+
+#: flatcamGUI/PreferencesUI.py:8276 flatcamGUI/PreferencesUI.py:8490
+#: flatcamTools/ToolExtractDrills.py:229 flatcamTools/ToolPunchGerber.py:257
+msgid "The size of annular ring for square pads."
+msgstr "The size of annular ring for square pads."
+
+#: flatcamGUI/PreferencesUI.py:8289 flatcamGUI/PreferencesUI.py:8503
+#: flatcamTools/ToolExtractDrills.py:242 flatcamTools/ToolPunchGerber.py:270
+msgid "The size of annular ring for rectangular pads."
+msgstr "The size of annular ring for rectangular pads."
+
+#: flatcamGUI/PreferencesUI.py:8302 flatcamGUI/PreferencesUI.py:8516
+#: flatcamTools/ToolExtractDrills.py:255 flatcamTools/ToolPunchGerber.py:283
+msgid "The size of annular ring for other pads."
+msgstr "The size of annular ring for other pads."
+
+#: flatcamGUI/PreferencesUI.py:8312 flatcamGUI/PreferencesUI.py:8526
+#: flatcamTools/ToolExtractDrills.py:276 flatcamTools/ToolPunchGerber.py:299
+msgid "Proportional Diameter"
+msgstr "Proportional Diameter"
+
+#: flatcamGUI/PreferencesUI.py:8321 flatcamGUI/PreferencesUI.py:8535
+msgid "Factor"
+msgstr "Factor"
+
+#: flatcamGUI/PreferencesUI.py:8323 flatcamGUI/PreferencesUI.py:8537
+#: flatcamTools/ToolExtractDrills.py:287 flatcamTools/ToolPunchGerber.py:310
+msgid ""
+"Proportional Diameter.\n"
+"The hole diameter will be a fraction of the pad size."
+msgstr ""
+"Proportional Diameter.\n"
+"The hole diameter will be a fraction of the pad size."
+
+#: flatcamGUI/PreferencesUI.py:8338
+msgid "Punch Gerber Options"
+msgstr "Punch Gerber Options"
+
+#: flatcamGUI/PreferencesUI.py:8419 flatcamTools/ToolPunchGerber.py:141
+msgid ""
+"The punch hole source can be:\n"
+"- Excellon Object-> the Excellon object drills center will serve as "
+"reference.\n"
+"- Fixed Diameter -> will try to use the pads center as reference adding "
+"fixed diameter holes.\n"
+"- Fixed Annular Ring -> will try to keep a set annular ring.\n"
+"- Proportional -> will make a Gerber punch hole having the diameter a "
+"percentage of the pad diameter.\n"
+msgstr ""
+"The punch hole source can be:\n"
+"- Excellon Object-> the Excellon object drills center will serve as "
+"reference.\n"
+"- Fixed Diameter -> will try to use the pads center as reference adding "
+"fixed diameter holes.\n"
+"- Fixed Annular Ring -> will try to keep a set annular ring.\n"
+"- Proportional -> will make a Gerber punch hole having the diameter a "
+"percentage of the pad diameter.\n"
+
+#: flatcamGUI/PreferencesUI.py:8552
+msgid "Invert Gerber Tool Options"
+msgstr "Invert Gerber Tool Options"
+
+#: flatcamGUI/PreferencesUI.py:8558
+msgid ""
+"A tool to invert Gerber geometry from positive to negative\n"
+"and in revers."
+msgstr ""
+"A tool to invert Gerber geometry from positive to negative\n"
+"and in revers."
+
+#: flatcamGUI/PreferencesUI.py:8572 flatcamTools/ToolInvertGerber.py:90
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the Gerber object."
+msgstr ""
+"Distance by which to avoid\n"
+"the edges of the Gerber object."
+
+#: flatcamGUI/PreferencesUI.py:8583 flatcamTools/ToolInvertGerber.py:101
+msgid "Lines Join Style"
+msgstr "Lines Join Style"
+
+#: flatcamGUI/PreferencesUI.py:8585 flatcamTools/ToolInvertGerber.py:103
+msgid ""
+"The way that the lines in the object outline will be joined.\n"
+"Can be:\n"
+"- rounded -> an arc is added between two joining lines\n"
+"- square -> the lines meet in 90 degrees angle\n"
+"- bevel -> the lines are joined by a third line"
+msgstr ""
+"The way that the lines in the object outline will be joined.\n"
+"Can be:\n"
+"- rounded -> an arc is added between two joining lines\n"
+"- square -> the lines meet in 90 degrees angle\n"
+"- bevel -> the lines are joined by a third line"
+
+#: flatcamGUI/PreferencesUI.py:8608
msgid "Excellon File associations"
msgstr "Excellon File associations"
-#: flatcamGUI/PreferencesUI.py:7633 flatcamGUI/PreferencesUI.py:7706
-#: flatcamGUI/PreferencesUI.py:7776 flatcamGUI/PreferencesUI.py:7846
+#: flatcamGUI/PreferencesUI.py:8621 flatcamGUI/PreferencesUI.py:8694
+#: flatcamGUI/PreferencesUI.py:8764 flatcamGUI/PreferencesUI.py:8834
msgid "Restore"
msgstr "Restore"
-#: flatcamGUI/PreferencesUI.py:7634 flatcamGUI/PreferencesUI.py:7707
-#: flatcamGUI/PreferencesUI.py:7777
+#: flatcamGUI/PreferencesUI.py:8622 flatcamGUI/PreferencesUI.py:8695
+#: flatcamGUI/PreferencesUI.py:8765
msgid "Restore the extension list to the default state."
msgstr "Restore the extension list to the default state."
-#: flatcamGUI/PreferencesUI.py:7635 flatcamGUI/PreferencesUI.py:7708
-#: flatcamGUI/PreferencesUI.py:7778 flatcamGUI/PreferencesUI.py:7848
+#: flatcamGUI/PreferencesUI.py:8623 flatcamGUI/PreferencesUI.py:8696
+#: flatcamGUI/PreferencesUI.py:8766 flatcamGUI/PreferencesUI.py:8836
msgid "Delete All"
msgstr "Delete All"
-#: flatcamGUI/PreferencesUI.py:7636 flatcamGUI/PreferencesUI.py:7709
-#: flatcamGUI/PreferencesUI.py:7779
+#: flatcamGUI/PreferencesUI.py:8624 flatcamGUI/PreferencesUI.py:8697
+#: flatcamGUI/PreferencesUI.py:8767
msgid "Delete all extensions from the list."
msgstr "Delete all extensions from the list."
-#: flatcamGUI/PreferencesUI.py:7644 flatcamGUI/PreferencesUI.py:7717
-#: flatcamGUI/PreferencesUI.py:7787
+#: flatcamGUI/PreferencesUI.py:8632 flatcamGUI/PreferencesUI.py:8705
+#: flatcamGUI/PreferencesUI.py:8775
msgid "Extensions list"
msgstr "Extensions list"
-#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7719
-#: flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:8634 flatcamGUI/PreferencesUI.py:8707
+#: flatcamGUI/PreferencesUI.py:8777
msgid ""
"List of file extensions to be\n"
"associated with FlatCAM."
@@ -12549,43 +13169,43 @@ msgstr ""
"List of file extensions to be\n"
"associated with FlatCAM."
-#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7739
-#: flatcamGUI/PreferencesUI.py:7808 flatcamGUI/PreferencesUI.py:7880
+#: flatcamGUI/PreferencesUI.py:8654 flatcamGUI/PreferencesUI.py:8727
+#: flatcamGUI/PreferencesUI.py:8796 flatcamGUI/PreferencesUI.py:8868
msgid "Extension"
msgstr "Extension"
-#: flatcamGUI/PreferencesUI.py:7667 flatcamGUI/PreferencesUI.py:7740
-#: flatcamGUI/PreferencesUI.py:7809
+#: flatcamGUI/PreferencesUI.py:8655 flatcamGUI/PreferencesUI.py:8728
+#: flatcamGUI/PreferencesUI.py:8797
msgid "A file extension to be added or deleted to the list."
msgstr "A file extension to be added or deleted to the list."
-#: flatcamGUI/PreferencesUI.py:7675 flatcamGUI/PreferencesUI.py:7748
-#: flatcamGUI/PreferencesUI.py:7817
+#: flatcamGUI/PreferencesUI.py:8663 flatcamGUI/PreferencesUI.py:8736
+#: flatcamGUI/PreferencesUI.py:8805
msgid "Add Extension"
msgstr "Add Extension"
-#: flatcamGUI/PreferencesUI.py:7676 flatcamGUI/PreferencesUI.py:7749
-#: flatcamGUI/PreferencesUI.py:7818
+#: flatcamGUI/PreferencesUI.py:8664 flatcamGUI/PreferencesUI.py:8737
+#: flatcamGUI/PreferencesUI.py:8806
msgid "Add a file extension to the list"
msgstr "Add a file extension to the list"
-#: flatcamGUI/PreferencesUI.py:7677 flatcamGUI/PreferencesUI.py:7750
-#: flatcamGUI/PreferencesUI.py:7819
+#: flatcamGUI/PreferencesUI.py:8665 flatcamGUI/PreferencesUI.py:8738
+#: flatcamGUI/PreferencesUI.py:8807
msgid "Delete Extension"
msgstr "Delete Extension"
-#: flatcamGUI/PreferencesUI.py:7678 flatcamGUI/PreferencesUI.py:7751
-#: flatcamGUI/PreferencesUI.py:7820
+#: flatcamGUI/PreferencesUI.py:8666 flatcamGUI/PreferencesUI.py:8739
+#: flatcamGUI/PreferencesUI.py:8808
msgid "Delete a file extension from the list"
msgstr "Delete a file extension from the list"
-#: flatcamGUI/PreferencesUI.py:7685 flatcamGUI/PreferencesUI.py:7758
-#: flatcamGUI/PreferencesUI.py:7827
+#: flatcamGUI/PreferencesUI.py:8673 flatcamGUI/PreferencesUI.py:8746
+#: flatcamGUI/PreferencesUI.py:8815
msgid "Apply Association"
msgstr "Apply Association"
-#: flatcamGUI/PreferencesUI.py:7686 flatcamGUI/PreferencesUI.py:7759
-#: flatcamGUI/PreferencesUI.py:7828
+#: flatcamGUI/PreferencesUI.py:8674 flatcamGUI/PreferencesUI.py:8747
+#: flatcamGUI/PreferencesUI.py:8816
msgid ""
"Apply the file associations between\n"
"FlatCAM and the files with above extensions.\n"
@@ -12597,31 +13217,31 @@ msgstr ""
"They will be active after next logon.\n"
"This work only in Windows."
-#: flatcamGUI/PreferencesUI.py:7703
+#: flatcamGUI/PreferencesUI.py:8691
msgid "GCode File associations"
msgstr "GCode File associations"
-#: flatcamGUI/PreferencesUI.py:7773
+#: flatcamGUI/PreferencesUI.py:8761
msgid "Gerber File associations"
msgstr "Gerber File associations"
-#: flatcamGUI/PreferencesUI.py:7843
+#: flatcamGUI/PreferencesUI.py:8831
msgid "Autocompleter Keywords"
msgstr "Autocompleter Keywords"
-#: flatcamGUI/PreferencesUI.py:7847
+#: flatcamGUI/PreferencesUI.py:8835
msgid "Restore the autocompleter keywords list to the default state."
msgstr "Restore the autocompleter keywords list to the default state."
-#: flatcamGUI/PreferencesUI.py:7849
+#: flatcamGUI/PreferencesUI.py:8837
msgid "Delete all autocompleter keywords from the list."
msgstr "Delete all autocompleter keywords from the list."
-#: flatcamGUI/PreferencesUI.py:7857
+#: flatcamGUI/PreferencesUI.py:8845
msgid "Keywords list"
msgstr "Keywords list"
-#: flatcamGUI/PreferencesUI.py:7859
+#: flatcamGUI/PreferencesUI.py:8847
msgid ""
"List of keywords used by\n"
"the autocompleter in FlatCAM.\n"
@@ -12633,31 +13253,31 @@ msgstr ""
"The autocompleter is installed\n"
"in the Code Editor and for the Tcl Shell."
-#: flatcamGUI/PreferencesUI.py:7881
+#: flatcamGUI/PreferencesUI.py:8869
msgid "A keyword to be added or deleted to the list."
msgstr "A keyword to be added or deleted to the list."
-#: flatcamGUI/PreferencesUI.py:7889
+#: flatcamGUI/PreferencesUI.py:8877
msgid "Add keyword"
msgstr "Add keyword"
-#: flatcamGUI/PreferencesUI.py:7890
+#: flatcamGUI/PreferencesUI.py:8878
msgid "Add a keyword to the list"
msgstr "Add a keyword to the list"
-#: flatcamGUI/PreferencesUI.py:7891
+#: flatcamGUI/PreferencesUI.py:8879
msgid "Delete keyword"
msgstr "Delete keyword"
-#: flatcamGUI/PreferencesUI.py:7892
+#: flatcamGUI/PreferencesUI.py:8880
msgid "Delete a keyword from the list"
msgstr "Delete a keyword from the list"
-#: flatcamParsers/ParseExcellon.py:314
+#: flatcamParsers/ParseExcellon.py:315
msgid "This is GCODE mark"
msgstr "This is GCODE mark"
-#: flatcamParsers/ParseExcellon.py:431
+#: flatcamParsers/ParseExcellon.py:432
msgid ""
"No tool diameter info's. See shell.\n"
"A tool change event: T"
@@ -12665,7 +13285,7 @@ msgstr ""
"No tool diameter info's. See shell.\n"
"A tool change event: T"
-#: flatcamParsers/ParseExcellon.py:434
+#: flatcamParsers/ParseExcellon.py:435
msgid ""
"was found but the Excellon file have no informations regarding the tool "
"diameters therefore the application will try to load it by using some 'fake' "
@@ -12679,11 +13299,11 @@ msgstr ""
"The user needs to edit the resulting Excellon object and change the "
"diameters to reflect the real diameters."
-#: flatcamParsers/ParseExcellon.py:886 flatcamTools/ToolSolderPaste.py:1330
+#: flatcamParsers/ParseExcellon.py:897 flatcamTools/ToolSolderPaste.py:1327
msgid "An internal error has ocurred. See shell.\n"
msgstr "An internal error has ocurred. See shell.\n"
-#: flatcamParsers/ParseExcellon.py:889
+#: flatcamParsers/ParseExcellon.py:900
msgid ""
"Excellon Parser error.\n"
"Parsing Failed. Line"
@@ -12691,7 +13311,7 @@ msgstr ""
"Excellon Parser error.\n"
"Parsing Failed. Line"
-#: flatcamParsers/ParseExcellon.py:973
+#: flatcamParsers/ParseExcellon.py:982
msgid ""
"Excellon.create_geometry() -> a drill location was skipped due of not having "
"a tool associated.\n"
@@ -12709,22 +13329,22 @@ msgstr "Font not supported, try another one."
msgid "Gerber processing. Parsing"
msgstr "Gerber processing. Parsing"
-#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:178
msgid "lines"
msgstr "lines"
-#: flatcamParsers/ParseGerber.py:970 flatcamParsers/ParseGerber.py:1065
-#: flatcamParsers/ParseHPGL2.py:269 flatcamParsers/ParseHPGL2.py:283
-#: flatcamParsers/ParseHPGL2.py:302 flatcamParsers/ParseHPGL2.py:326
-#: flatcamParsers/ParseHPGL2.py:361
+#: flatcamParsers/ParseGerber.py:1002 flatcamParsers/ParseGerber.py:1102
+#: flatcamParsers/ParseHPGL2.py:271 flatcamParsers/ParseHPGL2.py:285
+#: flatcamParsers/ParseHPGL2.py:304 flatcamParsers/ParseHPGL2.py:328
+#: flatcamParsers/ParseHPGL2.py:363
msgid "Coordinates missing, line ignored"
msgstr "Coordinates missing, line ignored"
-#: flatcamParsers/ParseGerber.py:972 flatcamParsers/ParseGerber.py:1067
+#: flatcamParsers/ParseGerber.py:1004 flatcamParsers/ParseGerber.py:1104
msgid "GERBER file might be CORRUPT. Check the file !!!"
msgstr "GERBER file might be CORRUPT. Check the file !!!"
-#: flatcamParsers/ParseGerber.py:1021
+#: flatcamParsers/ParseGerber.py:1058
msgid ""
"Region does not have enough points. File will be processed but there are "
"parser errors. Line number"
@@ -12732,66 +13352,214 @@ msgstr ""
"Region does not have enough points. File will be processed but there are "
"parser errors. Line number"
-#: flatcamParsers/ParseGerber.py:1421 flatcamParsers/ParseHPGL2.py:396
+#: flatcamParsers/ParseGerber.py:1488 flatcamParsers/ParseHPGL2.py:398
msgid "Gerber processing. Joining polygons"
msgstr "Gerber processing. Joining polygons"
-#: flatcamParsers/ParseGerber.py:1438
+#: flatcamParsers/ParseGerber.py:1505
msgid "Gerber processing. Applying Gerber polarity."
msgstr "Gerber processing. Applying Gerber polarity."
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line"
msgstr "Gerber Line"
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line Content"
msgstr "Gerber Line Content"
-#: flatcamParsers/ParseGerber.py:1500
+#: flatcamParsers/ParseGerber.py:1567
msgid "Gerber Parser ERROR"
msgstr "Gerber Parser ERROR"
-#: flatcamParsers/ParseGerber.py:1884
+#: flatcamParsers/ParseGerber.py:1956
msgid "Gerber Scale done."
msgstr "Gerber Scale done."
-#: flatcamParsers/ParseGerber.py:1977
+#: flatcamParsers/ParseGerber.py:2049
msgid "Gerber Offset done."
msgstr "Gerber Offset done."
-#: flatcamParsers/ParseGerber.py:2054
+#: flatcamParsers/ParseGerber.py:2126
msgid "Gerber Mirror done."
msgstr "Gerber Mirror done."
-#: flatcamParsers/ParseGerber.py:2128
+#: flatcamParsers/ParseGerber.py:2200
msgid "Gerber Skew done."
msgstr "Gerber Skew done."
-#: flatcamParsers/ParseGerber.py:2192
+#: flatcamParsers/ParseGerber.py:2263
msgid "Gerber Rotate done."
msgstr "Gerber Rotate done."
-#: flatcamParsers/ParseGerber.py:2273
+#: flatcamParsers/ParseGerber.py:2419
msgid "Gerber Buffer done."
msgstr "Gerber Buffer done."
-#: flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseHPGL2.py:178
msgid "HPGL2 processing. Parsing"
msgstr "HPGL2 processing. Parsing"
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line"
msgstr "HPGL2 Line"
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line Content"
msgstr "HPGL2 Line Content"
-#: flatcamParsers/ParseHPGL2.py:409
+#: flatcamParsers/ParseHPGL2.py:411
msgid "HPGL2 Parser ERROR"
msgstr "HPGL2 Parser ERROR"
+#: flatcamTools/ToolAlignObjects.py:32
+msgid "Align Objects"
+msgstr "Align Objects"
+
+#: flatcamTools/ToolAlignObjects.py:61
+msgid "MOVING object"
+msgstr "MOVING object"
+
+#: flatcamTools/ToolAlignObjects.py:65
+msgid ""
+"Specify the type of object to be aligned.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+"Specify the type of object to be aligned.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+
+#: flatcamTools/ToolAlignObjects.py:86
+msgid "Object to be aligned."
+msgstr "Object to be aligned."
+
+#: flatcamTools/ToolAlignObjects.py:98
+msgid "TARGET object"
+msgstr "TARGET object"
+
+#: flatcamTools/ToolAlignObjects.py:100
+msgid ""
+"Specify the type of object to be aligned to.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+"Specify the type of object to be aligned to.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+
+#: flatcamTools/ToolAlignObjects.py:122
+msgid "Object to be aligned to. Aligner."
+msgstr "Object to be aligned to. Aligner."
+
+#: flatcamTools/ToolAlignObjects.py:135
+msgid "Alignment Type"
+msgstr "Alignment Type"
+
+#: flatcamTools/ToolAlignObjects.py:137
+msgid ""
+"The type of alignment can be:\n"
+"- Single Point -> it require a single point of sync, the action will be a "
+"translation\n"
+"- Dual Point -> it require two points of sync, the action will be "
+"translation followed by rotation"
+msgstr ""
+"The type of alignment can be:\n"
+"- Single Point -> it require a single point of sync, the action will be a "
+"translation\n"
+"- Dual Point -> it require two points of sync, the action will be "
+"translation followed by rotation"
+
+#: flatcamTools/ToolAlignObjects.py:143
+msgid "Single Point"
+msgstr "Single Point"
+
+#: flatcamTools/ToolAlignObjects.py:144
+msgid "Dual Point"
+msgstr "Dual Point"
+
+#: flatcamTools/ToolAlignObjects.py:159
+msgid "Align Object"
+msgstr "Align Object"
+
+#: flatcamTools/ToolAlignObjects.py:161
+msgid ""
+"Align the specified object to the aligner object.\n"
+"If only one point is used then it assumes translation.\n"
+"If tho points are used it assume translation and rotation."
+msgstr ""
+"Align the specified object to the aligner object.\n"
+"If only one point is used then it assumes translation.\n"
+"If tho points are used it assume translation and rotation."
+
+#: flatcamTools/ToolAlignObjects.py:176 flatcamTools/ToolCalculators.py:246
+#: flatcamTools/ToolCalibration.py:683 flatcamTools/ToolCopperThieving.py:485
+#: flatcamTools/ToolCutOut.py:372 flatcamTools/ToolDblSided.py:472
+#: flatcamTools/ToolExtractDrills.py:310 flatcamTools/ToolFiducials.py:318
+#: flatcamTools/ToolFilm.py:520 flatcamTools/ToolInvertGerber.py:140
+#: flatcamTools/ToolNCC.py:612 flatcamTools/ToolOptimal.py:238
+#: flatcamTools/ToolPaint.py:556 flatcamTools/ToolPanelize.py:269
+#: flatcamTools/ToolPunchGerber.py:339 flatcamTools/ToolQRCode.py:314
+#: flatcamTools/ToolRulesCheck.py:516 flatcamTools/ToolSolderPaste.py:474
+#: flatcamTools/ToolSub.py:176 flatcamTools/ToolTransform.py:399
+msgid "Reset Tool"
+msgstr "Reset Tool"
+
+#: flatcamTools/ToolAlignObjects.py:178 flatcamTools/ToolCalculators.py:248
+#: flatcamTools/ToolCalibration.py:685 flatcamTools/ToolCopperThieving.py:487
+#: flatcamTools/ToolCutOut.py:374 flatcamTools/ToolDblSided.py:474
+#: flatcamTools/ToolExtractDrills.py:312 flatcamTools/ToolFiducials.py:320
+#: flatcamTools/ToolFilm.py:522 flatcamTools/ToolInvertGerber.py:142
+#: flatcamTools/ToolNCC.py:614 flatcamTools/ToolOptimal.py:240
+#: flatcamTools/ToolPaint.py:558 flatcamTools/ToolPanelize.py:271
+#: flatcamTools/ToolPunchGerber.py:341 flatcamTools/ToolQRCode.py:316
+#: flatcamTools/ToolRulesCheck.py:518 flatcamTools/ToolSolderPaste.py:476
+#: flatcamTools/ToolSub.py:178 flatcamTools/ToolTransform.py:401
+msgid "Will reset the tool parameters."
+msgstr "Will reset the tool parameters."
+
+#: flatcamTools/ToolAlignObjects.py:244
+msgid "Align Tool"
+msgstr "Align Tool"
+
+#: flatcamTools/ToolAlignObjects.py:289
+msgid "There is no aligned FlatCAM object selected..."
+msgstr "There is no aligned FlatCAM object selected..."
+
+#: flatcamTools/ToolAlignObjects.py:299
+msgid "There is no aligner FlatCAM object selected..."
+msgstr "There is no aligner FlatCAM object selected..."
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:385
+msgid "First Point"
+msgstr "First Point"
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:400
+msgid "Click on the START point."
+msgstr "Click on the START point."
+
+#: flatcamTools/ToolAlignObjects.py:380 flatcamTools/ToolCalibration.py:920
+msgid "Cancelled by user request."
+msgstr "Cancelled by user request."
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:407
+msgid "Click on the DESTINATION point."
+msgstr "Click on the DESTINATION point."
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:400
+#: flatcamTools/ToolAlignObjects.py:407
+msgid " Or right click to cancel."
+msgstr " Or right click to cancel."
+
+#: flatcamTools/ToolAlignObjects.py:400 flatcamTools/ToolAlignObjects.py:407
+#: flatcamTools/ToolFiducials.py:111
+msgid "Second Point"
+msgstr "Second Point"
+
#: flatcamTools/ToolCalculators.py:24
msgid "Calculators"
msgstr "Calculators"
@@ -12878,7 +13646,7 @@ msgstr ""
"Calculate the current intensity value and the procedure time,\n"
"depending on the parameters above"
-#: flatcamTools/ToolCalculators.py:285
+#: flatcamTools/ToolCalculators.py:299
msgid "Calc. Tool"
msgstr "Calc. Tool"
@@ -12904,25 +13672,25 @@ msgstr ""
"Those four points should be in the four\n"
"(as much as possible) corners of the object."
-#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolCutOut.py:80
-#: flatcamTools/ToolFilm.py:78 flatcamTools/ToolImage.py:55
-#: flatcamTools/ToolPanelize.py:66 flatcamTools/ToolProperties.py:169
+#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolFilm.py:76
+#: flatcamTools/ToolImage.py:54 flatcamTools/ToolPanelize.py:78
+#: flatcamTools/ToolProperties.py:177
msgid "Object Type"
msgstr "Object Type"
-#: flatcamTools/ToolCalibration.py:211
+#: flatcamTools/ToolCalibration.py:210
msgid "Source object selection"
msgstr "Source object selection"
-#: flatcamTools/ToolCalibration.py:213
+#: flatcamTools/ToolCalibration.py:212
msgid "FlatCAM Object to be used as a source for reference points."
msgstr "FlatCAM Object to be used as a source for reference points."
-#: flatcamTools/ToolCalibration.py:219
+#: flatcamTools/ToolCalibration.py:218
msgid "Calibration Points"
msgstr "Calibration Points"
-#: flatcamTools/ToolCalibration.py:221
+#: flatcamTools/ToolCalibration.py:220
msgid ""
"Contain the expected calibration points and the\n"
"ones measured."
@@ -12930,56 +13698,52 @@ msgstr ""
"Contain the expected calibration points and the\n"
"ones measured."
-#: flatcamTools/ToolCalibration.py:236 flatcamTools/ToolSub.py:74
-#: flatcamTools/ToolSub.py:126
+#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:131
msgid "Target"
msgstr "Target"
-#: flatcamTools/ToolCalibration.py:237
+#: flatcamTools/ToolCalibration.py:236
msgid "Found Delta"
msgstr "Found Delta"
-#: flatcamTools/ToolCalibration.py:249
+#: flatcamTools/ToolCalibration.py:248
msgid "Bot Left X"
msgstr "Bot Left X"
-#: flatcamTools/ToolCalibration.py:258
+#: flatcamTools/ToolCalibration.py:257
msgid "Bot Left Y"
msgstr "Bot Left Y"
-#: flatcamTools/ToolCalibration.py:266 flatcamTools/ToolCalibration.py:267
-msgid "Origin"
-msgstr "Origin"
-
-#: flatcamTools/ToolCalibration.py:278
+#: flatcamTools/ToolCalibration.py:275
msgid "Bot Right X"
msgstr "Bot Right X"
-#: flatcamTools/ToolCalibration.py:288
+#: flatcamTools/ToolCalibration.py:285
msgid "Bot Right Y"
msgstr "Bot Right Y"
-#: flatcamTools/ToolCalibration.py:303
+#: flatcamTools/ToolCalibration.py:300
msgid "Top Left X"
msgstr "Top Left X"
-#: flatcamTools/ToolCalibration.py:312
+#: flatcamTools/ToolCalibration.py:309
msgid "Top Left Y"
msgstr "Top Left Y"
-#: flatcamTools/ToolCalibration.py:327
+#: flatcamTools/ToolCalibration.py:324
msgid "Top Right X"
msgstr "Top Right X"
-#: flatcamTools/ToolCalibration.py:337
+#: flatcamTools/ToolCalibration.py:334
msgid "Top Right Y"
msgstr "Top Right Y"
-#: flatcamTools/ToolCalibration.py:370
+#: flatcamTools/ToolCalibration.py:367
msgid "Get Points"
msgstr "Get Points"
-#: flatcamTools/ToolCalibration.py:372
+#: flatcamTools/ToolCalibration.py:369
msgid ""
"Pick four points by clicking on canvas if the source choice\n"
"is 'free' or inside the object geometry if the source is 'object'.\n"
@@ -12991,11 +13755,11 @@ msgstr ""
"Those four points should be in the four squares of\n"
"the object."
-#: flatcamTools/ToolCalibration.py:393
+#: flatcamTools/ToolCalibration.py:390
msgid "STEP 2: Verification GCode"
msgstr "STEP 2: Verification GCode"
-#: flatcamTools/ToolCalibration.py:395 flatcamTools/ToolCalibration.py:408
+#: flatcamTools/ToolCalibration.py:392 flatcamTools/ToolCalibration.py:405
msgid ""
"Generate GCode file to locate and align the PCB by using\n"
"the four points acquired above.\n"
@@ -13013,15 +13777,15 @@ msgstr ""
"- third point -> check point. Can be: top-left or bottom-right.\n"
"- forth point -> final verification point. Just for evaluation."
-#: flatcamTools/ToolCalibration.py:406 flatcamTools/ToolSolderPaste.py:347
+#: flatcamTools/ToolCalibration.py:403 flatcamTools/ToolSolderPaste.py:349
msgid "Generate GCode"
msgstr "Generate GCode"
-#: flatcamTools/ToolCalibration.py:432
+#: flatcamTools/ToolCalibration.py:429
msgid "STEP 3: Adjustments"
msgstr "STEP 3: Adjustments"
-#: flatcamTools/ToolCalibration.py:434 flatcamTools/ToolCalibration.py:443
+#: flatcamTools/ToolCalibration.py:431 flatcamTools/ToolCalibration.py:440
msgid ""
"Calculate Scale and Skew factors based on the differences (delta)\n"
"found when checking the PCB pattern. The differences must be filled\n"
@@ -13031,15 +13795,15 @@ msgstr ""
"found when checking the PCB pattern. The differences must be filled\n"
"in the fields Found (Delta)."
-#: flatcamTools/ToolCalibration.py:441
+#: flatcamTools/ToolCalibration.py:438
msgid "Calculate Factors"
msgstr "Calculate Factors"
-#: flatcamTools/ToolCalibration.py:463
+#: flatcamTools/ToolCalibration.py:460
msgid "STEP 4: Adjusted GCode"
msgstr "STEP 4: Adjusted GCode"
-#: flatcamTools/ToolCalibration.py:465
+#: flatcamTools/ToolCalibration.py:462
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors above."
@@ -13047,43 +13811,43 @@ msgstr ""
"Generate verification GCode file adjusted with\n"
"the factors above."
-#: flatcamTools/ToolCalibration.py:470
+#: flatcamTools/ToolCalibration.py:467
msgid "Scale Factor X:"
msgstr "Scale Factor X:"
-#: flatcamTools/ToolCalibration.py:482
+#: flatcamTools/ToolCalibration.py:479
msgid "Scale Factor Y:"
msgstr "Scale Factor Y:"
-#: flatcamTools/ToolCalibration.py:494
+#: flatcamTools/ToolCalibration.py:491
msgid "Apply Scale Factors"
msgstr "Apply Scale Factors"
-#: flatcamTools/ToolCalibration.py:496
+#: flatcamTools/ToolCalibration.py:493
msgid "Apply Scale factors on the calibration points."
msgstr "Apply Scale factors on the calibration points."
-#: flatcamTools/ToolCalibration.py:506
+#: flatcamTools/ToolCalibration.py:503
msgid "Skew Angle X:"
msgstr "Skew Angle X:"
-#: flatcamTools/ToolCalibration.py:519
+#: flatcamTools/ToolCalibration.py:516
msgid "Skew Angle Y:"
msgstr "Skew Angle Y:"
-#: flatcamTools/ToolCalibration.py:532
+#: flatcamTools/ToolCalibration.py:529
msgid "Apply Skew Factors"
msgstr "Apply Skew Factors"
-#: flatcamTools/ToolCalibration.py:534
+#: flatcamTools/ToolCalibration.py:531
msgid "Apply Skew factors on the calibration points."
msgstr "Apply Skew factors on the calibration points."
-#: flatcamTools/ToolCalibration.py:603
+#: flatcamTools/ToolCalibration.py:600
msgid "Generate Adjusted GCode"
msgstr "Generate Adjusted GCode"
-#: flatcamTools/ToolCalibration.py:605
+#: flatcamTools/ToolCalibration.py:602
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors set above.\n"
@@ -13095,11 +13859,11 @@ msgstr ""
"The GCode parameters can be readjusted\n"
"before clicking this button."
-#: flatcamTools/ToolCalibration.py:626
+#: flatcamTools/ToolCalibration.py:623
msgid "STEP 5: Calibrate FlatCAM Objects"
msgstr "STEP 5: Calibrate FlatCAM Objects"
-#: flatcamTools/ToolCalibration.py:628
+#: flatcamTools/ToolCalibration.py:625
msgid ""
"Adjust the FlatCAM objects\n"
"with the factors determined and verified above."
@@ -13107,27 +13871,27 @@ msgstr ""
"Adjust the FlatCAM objects\n"
"with the factors determined and verified above."
-#: flatcamTools/ToolCalibration.py:641
+#: flatcamTools/ToolCalibration.py:637
msgid "Adjusted object type"
msgstr "Adjusted object type"
-#: flatcamTools/ToolCalibration.py:643
+#: flatcamTools/ToolCalibration.py:638
msgid "Type of the FlatCAM Object to be adjusted."
msgstr "Type of the FlatCAM Object to be adjusted."
-#: flatcamTools/ToolCalibration.py:654
+#: flatcamTools/ToolCalibration.py:651
msgid "Adjusted object selection"
msgstr "Adjusted object selection"
-#: flatcamTools/ToolCalibration.py:656
+#: flatcamTools/ToolCalibration.py:653
msgid "The FlatCAM Object to be adjusted."
msgstr "The FlatCAM Object to be adjusted."
-#: flatcamTools/ToolCalibration.py:663
+#: flatcamTools/ToolCalibration.py:660
msgid "Calibrate"
msgstr "Calibrate"
-#: flatcamTools/ToolCalibration.py:665
+#: flatcamTools/ToolCalibration.py:662
msgid ""
"Adjust (scale and/or skew) the objects\n"
"with the factors determined above."
@@ -13135,79 +13899,59 @@ msgstr ""
"Adjust (scale and/or skew) the objects\n"
"with the factors determined above."
-#: flatcamTools/ToolCalibration.py:686 flatcamTools/ToolCopperThieving.py:482
-#: flatcamTools/ToolCutOut.py:362 flatcamTools/ToolDblSided.py:405
-#: flatcamTools/ToolFiducials.py:316 flatcamTools/ToolFilm.py:518
-#: flatcamTools/ToolNonCopperClear.py:486 flatcamTools/ToolOptimal.py:237
-#: flatcamTools/ToolPaint.py:372 flatcamTools/ToolPanelize.py:266
-#: flatcamTools/ToolQRCode.py:314 flatcamTools/ToolRulesCheck.py:507
-#: flatcamTools/ToolSolderPaste.py:470 flatcamTools/ToolSub.py:170
-msgid "Reset Tool"
-msgstr "Reset Tool"
+#: flatcamTools/ToolCalibration.py:770 flatcamTools/ToolCalibration.py:771
+msgid "Origin"
+msgstr "Origin"
-#: flatcamTools/ToolCalibration.py:688 flatcamTools/ToolCopperThieving.py:484
-#: flatcamTools/ToolCutOut.py:364 flatcamTools/ToolDblSided.py:407
-#: flatcamTools/ToolFiducials.py:318 flatcamTools/ToolFilm.py:520
-#: flatcamTools/ToolNonCopperClear.py:488 flatcamTools/ToolOptimal.py:239
-#: flatcamTools/ToolPaint.py:374 flatcamTools/ToolPanelize.py:268
-#: flatcamTools/ToolQRCode.py:316 flatcamTools/ToolRulesCheck.py:509
-#: flatcamTools/ToolSolderPaste.py:472 flatcamTools/ToolSub.py:172
-msgid "Will reset the tool parameters."
-msgstr "Will reset the tool parameters."
-
-#: flatcamTools/ToolCalibration.py:792
+#: flatcamTools/ToolCalibration.py:800
msgid "Tool initialized"
msgstr "Tool initialized"
-#: flatcamTools/ToolCalibration.py:824
+#: flatcamTools/ToolCalibration.py:838
msgid "There is no source FlatCAM object selected..."
msgstr "There is no source FlatCAM object selected..."
-#: flatcamTools/ToolCalibration.py:845
+#: flatcamTools/ToolCalibration.py:859
msgid "Get First calibration point. Bottom Left..."
msgstr "Get First calibration point. Bottom Left..."
-#: flatcamTools/ToolCalibration.py:906
-msgid "Cancelled by user request."
-msgstr "Cancelled by user request."
-
-#: flatcamTools/ToolCalibration.py:912
+#: flatcamTools/ToolCalibration.py:926
msgid "Get Second calibration point. Bottom Right (Top Left)..."
msgstr "Get Second calibration point. Bottom Right (Top Left)..."
-#: flatcamTools/ToolCalibration.py:916
+#: flatcamTools/ToolCalibration.py:930
msgid "Get Third calibration point. Top Left (Bottom Right)..."
msgstr "Get Third calibration point. Top Left (Bottom Right)..."
-#: flatcamTools/ToolCalibration.py:920
+#: flatcamTools/ToolCalibration.py:934
msgid "Get Forth calibration point. Top Right..."
msgstr "Get Forth calibration point. Top Right..."
-#: flatcamTools/ToolCalibration.py:924
+#: flatcamTools/ToolCalibration.py:938
msgid "Done. All four points have been acquired."
msgstr "Done. All four points have been acquired."
-#: flatcamTools/ToolCalibration.py:955
+#: flatcamTools/ToolCalibration.py:969
msgid "Verification GCode for FlatCAM Calibration Tool"
msgstr "Verification GCode for FlatCAM Calibration Tool"
-#: flatcamTools/ToolCalibration.py:967 flatcamTools/ToolCalibration.py:1053
+#: flatcamTools/ToolCalibration.py:981 flatcamTools/ToolCalibration.py:1067
msgid "Gcode Viewer"
msgstr "Gcode Viewer"
-#: flatcamTools/ToolCalibration.py:983
+#: flatcamTools/ToolCalibration.py:997
msgid "Cancelled. Four points are needed for GCode generation."
msgstr "Cancelled. Four points are needed for GCode generation."
-#: flatcamTools/ToolCalibration.py:1239 flatcamTools/ToolCalibration.py:1335
+#: flatcamTools/ToolCalibration.py:1253 flatcamTools/ToolCalibration.py:1349
msgid "There is no FlatCAM object selected..."
msgstr "There is no FlatCAM object selected..."
-#: flatcamTools/ToolCopperThieving.py:76 flatcamTools/ToolFiducials.py:260
+#: flatcamTools/ToolCopperThieving.py:77 flatcamTools/ToolFiducials.py:261
msgid "Gerber Object to which will be added a copper thieving."
msgstr "Gerber Object to which will be added a copper thieving."
-#: flatcamTools/ToolCopperThieving.py:98
+#: flatcamTools/ToolCopperThieving.py:99
msgid ""
"This set the distance between the copper thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
@@ -13217,7 +13961,7 @@ msgstr ""
"(the polygon fill may be split in multiple polygons)\n"
"and the copper traces in the Gerber file."
-#: flatcamTools/ToolCopperThieving.py:131
+#: flatcamTools/ToolCopperThieving.py:132
msgid ""
"- 'Itself' - the copper thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
@@ -13231,12 +13975,12 @@ msgstr ""
"- 'Reference Object' - will do copper thieving within the area specified by "
"another object."
-#: flatcamTools/ToolCopperThieving.py:138
-#: flatcamTools/ToolNonCopperClear.py:445 flatcamTools/ToolPaint.py:326
+#: flatcamTools/ToolCopperThieving.py:139 flatcamTools/ToolNCC.py:552
+#: flatcamTools/ToolPaint.py:496
msgid "Ref. Type"
msgstr "Ref. Type"
-#: flatcamTools/ToolCopperThieving.py:140
+#: flatcamTools/ToolCopperThieving.py:141
msgid ""
"The type of FlatCAM object to be used as copper thieving reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -13244,36 +13988,21 @@ msgstr ""
"The type of FlatCAM object to be used as copper thieving reference.\n"
"It can be Gerber, Excellon or Geometry."
-#: flatcamTools/ToolCopperThieving.py:144 flatcamTools/ToolDblSided.py:215
-#: flatcamTools/ToolNonCopperClear.py:451 flatcamTools/ToolPaint.py:332
-msgid "Reference Gerber"
-msgstr "Reference Gerber"
-
-#: flatcamTools/ToolCopperThieving.py:145 flatcamTools/ToolDblSided.py:216
-#: flatcamTools/ToolNonCopperClear.py:452 flatcamTools/ToolPaint.py:333
-msgid "Reference Excellon"
-msgstr "Reference Excellon"
-
-#: flatcamTools/ToolCopperThieving.py:146 flatcamTools/ToolDblSided.py:217
-#: flatcamTools/ToolNonCopperClear.py:453 flatcamTools/ToolPaint.py:334
-msgid "Reference Geometry"
-msgstr "Reference Geometry"
-
-#: flatcamTools/ToolCopperThieving.py:151
-#: flatcamTools/ToolNonCopperClear.py:456 flatcamTools/ToolPaint.py:337
+#: flatcamTools/ToolCopperThieving.py:150 flatcamTools/ToolNCC.py:562
+#: flatcamTools/ToolPaint.py:506
msgid "Ref. Object"
msgstr "Ref. Object"
-#: flatcamTools/ToolCopperThieving.py:153
-#: flatcamTools/ToolNonCopperClear.py:458 flatcamTools/ToolPaint.py:339
+#: flatcamTools/ToolCopperThieving.py:152 flatcamTools/ToolNCC.py:564
+#: flatcamTools/ToolPaint.py:508
msgid "The FlatCAM object to be used as non copper clearing reference."
msgstr "The FlatCAM object to be used as non copper clearing reference."
-#: flatcamTools/ToolCopperThieving.py:326
+#: flatcamTools/ToolCopperThieving.py:328
msgid "Insert Copper thieving"
msgstr "Insert Copper thieving"
-#: flatcamTools/ToolCopperThieving.py:328
+#: flatcamTools/ToolCopperThieving.py:330
msgid ""
"Will add a polygon (may be split in multiple parts)\n"
"that will surround the actual Gerber traces at a certain distance."
@@ -13281,11 +14010,11 @@ msgstr ""
"Will add a polygon (may be split in multiple parts)\n"
"that will surround the actual Gerber traces at a certain distance."
-#: flatcamTools/ToolCopperThieving.py:387
+#: flatcamTools/ToolCopperThieving.py:389
msgid "Insert Robber Bar"
msgstr "Insert Robber Bar"
-#: flatcamTools/ToolCopperThieving.py:389
+#: flatcamTools/ToolCopperThieving.py:391
msgid ""
"Will add a polygon with a defined thickness\n"
"that will surround the actual Gerber object\n"
@@ -13297,11 +14026,11 @@ msgstr ""
"at a certain distance.\n"
"Required when doing holes pattern plating."
-#: flatcamTools/ToolCopperThieving.py:413
+#: flatcamTools/ToolCopperThieving.py:415
msgid "Select Soldermask object"
msgstr "Select Soldermask object"
-#: flatcamTools/ToolCopperThieving.py:415
+#: flatcamTools/ToolCopperThieving.py:417
msgid ""
"Gerber Object with the soldermask.\n"
"It will be used as a base for\n"
@@ -13311,11 +14040,11 @@ msgstr ""
"It will be used as a base for\n"
"the pattern plating mask."
-#: flatcamTools/ToolCopperThieving.py:443
+#: flatcamTools/ToolCopperThieving.py:446
msgid "Plated area"
msgstr "Plated area"
-#: flatcamTools/ToolCopperThieving.py:445
+#: flatcamTools/ToolCopperThieving.py:448
msgid ""
"The area to be plated by pattern plating.\n"
"Basically is made from the openings in the plating mask.\n"
@@ -13333,19 +14062,19 @@ msgstr ""
"a bit larger than the copper pads, and this area is\n"
"calculated from the soldermask openings."
-#: flatcamTools/ToolCopperThieving.py:456
+#: flatcamTools/ToolCopperThieving.py:459
msgid "mm"
msgstr "mm"
-#: flatcamTools/ToolCopperThieving.py:458
+#: flatcamTools/ToolCopperThieving.py:461
msgid "in"
msgstr "in"
-#: flatcamTools/ToolCopperThieving.py:465
+#: flatcamTools/ToolCopperThieving.py:468
msgid "Generate pattern plating mask"
msgstr "Generate pattern plating mask"
-#: flatcamTools/ToolCopperThieving.py:467
+#: flatcamTools/ToolCopperThieving.py:470
msgid ""
"Will add to the soldermask gerber geometry\n"
"the geometries of the copper thieving and/or\n"
@@ -13355,133 +14084,134 @@ msgstr ""
"the geometries of the copper thieving and/or\n"
"the robber bar if those were generated."
-#: flatcamTools/ToolCopperThieving.py:620
-#: flatcamTools/ToolCopperThieving.py:645
+#: flatcamTools/ToolCopperThieving.py:626
+#: flatcamTools/ToolCopperThieving.py:651
msgid "Lines Grid works only for 'itself' reference ..."
msgstr "Lines Grid works only for 'itself' reference ..."
-#: flatcamTools/ToolCopperThieving.py:631
+#: flatcamTools/ToolCopperThieving.py:637
msgid "Solid fill selected."
msgstr "Solid fill selected."
-#: flatcamTools/ToolCopperThieving.py:636
+#: flatcamTools/ToolCopperThieving.py:642
msgid "Dots grid fill selected."
msgstr "Dots grid fill selected."
-#: flatcamTools/ToolCopperThieving.py:641
+#: flatcamTools/ToolCopperThieving.py:647
msgid "Squares grid fill selected."
msgstr "Squares grid fill selected."
-#: flatcamTools/ToolCopperThieving.py:662
-#: flatcamTools/ToolCopperThieving.py:744
-#: flatcamTools/ToolCopperThieving.py:1340 flatcamTools/ToolDblSided.py:564
-#: flatcamTools/ToolFiducials.py:464 flatcamTools/ToolFiducials.py:741
-#: flatcamTools/ToolOptimal.py:342 flatcamTools/ToolQRCode.py:424
+#: flatcamTools/ToolCopperThieving.py:668
+#: flatcamTools/ToolCopperThieving.py:750
+#: flatcamTools/ToolCopperThieving.py:1346 flatcamTools/ToolDblSided.py:658
+#: flatcamTools/ToolExtractDrills.py:436 flatcamTools/ToolFiducials.py:466
+#: flatcamTools/ToolFiducials.py:743 flatcamTools/ToolOptimal.py:343
+#: flatcamTools/ToolPunchGerber.py:512 flatcamTools/ToolQRCode.py:426
msgid "There is no Gerber object loaded ..."
msgstr "There is no Gerber object loaded ..."
-#: flatcamTools/ToolCopperThieving.py:675
-#: flatcamTools/ToolCopperThieving.py:1268
+#: flatcamTools/ToolCopperThieving.py:681
+#: flatcamTools/ToolCopperThieving.py:1274
msgid "Append geometry"
msgstr "Append geometry"
-#: flatcamTools/ToolCopperThieving.py:719
-#: flatcamTools/ToolCopperThieving.py:1301
-#: flatcamTools/ToolCopperThieving.py:1454
+#: flatcamTools/ToolCopperThieving.py:725
+#: flatcamTools/ToolCopperThieving.py:1307
+#: flatcamTools/ToolCopperThieving.py:1460
msgid "Append source file"
msgstr "Append source file"
-#: flatcamTools/ToolCopperThieving.py:727
-#: flatcamTools/ToolCopperThieving.py:1309
+#: flatcamTools/ToolCopperThieving.py:733
+#: flatcamTools/ToolCopperThieving.py:1315
msgid "Copper Thieving Tool done."
msgstr "Copper Thieving Tool done."
-#: flatcamTools/ToolCopperThieving.py:754
-#: flatcamTools/ToolCopperThieving.py:787 flatcamTools/ToolCutOut.py:468
-#: flatcamTools/ToolCutOut.py:642 flatcamTools/ToolNonCopperClear.py:1151
-#: flatcamTools/ToolNonCopperClear.py:1192
-#: flatcamTools/ToolNonCopperClear.py:1224 flatcamTools/ToolPaint.py:1074
-#: flatcamTools/ToolPanelize.py:401 flatcamTools/ToolPanelize.py:416
-#: flatcamTools/ToolSub.py:288 flatcamTools/ToolSub.py:301
-#: flatcamTools/ToolSub.py:492 flatcamTools/ToolSub.py:507
-#: tclCommands/TclCommandCopperClear.py:97
-#: tclCommands/TclCommandCopperClear.py:146 tclCommands/TclCommandPaint.py:97
+#: flatcamTools/ToolCopperThieving.py:760
+#: flatcamTools/ToolCopperThieving.py:793 flatcamTools/ToolCutOut.py:480
+#: flatcamTools/ToolCutOut.py:667 flatcamTools/ToolInvertGerber.py:208
+#: flatcamTools/ToolNCC.py:1594 flatcamTools/ToolNCC.py:1635
+#: flatcamTools/ToolNCC.py:1664 flatcamTools/ToolPaint.py:1469
+#: flatcamTools/ToolPanelize.py:413 flatcamTools/ToolPanelize.py:428
+#: flatcamTools/ToolSub.py:294 flatcamTools/ToolSub.py:307
+#: flatcamTools/ToolSub.py:498 flatcamTools/ToolSub.py:513
+#: tclCommands/TclCommandCopperClear.py:97 tclCommands/TclCommandPaint.py:99
msgid "Could not retrieve object"
msgstr "Could not retrieve object"
-#: flatcamTools/ToolCopperThieving.py:764
-#: flatcamTools/ToolNonCopperClear.py:1205
+#: flatcamTools/ToolCopperThieving.py:770 flatcamTools/ToolNCC.py:1643
msgid "Click the start point of the area."
msgstr "Click the start point of the area."
-#: flatcamTools/ToolCopperThieving.py:815
+#: flatcamTools/ToolCopperThieving.py:821
msgid "Click the end point of the filling area."
msgstr "Click the end point of the filling area."
-#: flatcamTools/ToolCopperThieving.py:821
-#: flatcamTools/ToolNonCopperClear.py:1261 flatcamTools/ToolPaint.py:1201
+#: flatcamTools/ToolCopperThieving.py:827 flatcamTools/ToolNCC.py:1705
+#: flatcamTools/ToolNCC.py:1757 flatcamTools/ToolPaint.py:1601
+#: flatcamTools/ToolPaint.py:1652
msgid "Zone added. Click to start adding next zone or right click to finish."
msgstr "Zone added. Click to start adding next zone or right click to finish."
-#: flatcamTools/ToolCopperThieving.py:937
-#: flatcamTools/ToolCopperThieving.py:941
-#: flatcamTools/ToolCopperThieving.py:1002
+#: flatcamTools/ToolCopperThieving.py:943
+#: flatcamTools/ToolCopperThieving.py:947
+#: flatcamTools/ToolCopperThieving.py:1008
msgid "Thieving"
msgstr "Thieving"
-#: flatcamTools/ToolCopperThieving.py:948
+#: flatcamTools/ToolCopperThieving.py:954
msgid "Copper Thieving Tool started. Reading parameters."
msgstr "Copper Thieving Tool started. Reading parameters."
-#: flatcamTools/ToolCopperThieving.py:973
+#: flatcamTools/ToolCopperThieving.py:979
msgid "Copper Thieving Tool. Preparing isolation polygons."
msgstr "Copper Thieving Tool. Preparing isolation polygons."
-#: flatcamTools/ToolCopperThieving.py:1018
+#: flatcamTools/ToolCopperThieving.py:1024
msgid "Copper Thieving Tool. Preparing areas to fill with copper."
msgstr "Copper Thieving Tool. Preparing areas to fill with copper."
-#: flatcamTools/ToolCopperThieving.py:1029 flatcamTools/ToolOptimal.py:349
-#: flatcamTools/ToolPanelize.py:793 flatcamTools/ToolRulesCheck.py:1118
+#: flatcamTools/ToolCopperThieving.py:1035 flatcamTools/ToolOptimal.py:350
+#: flatcamTools/ToolPanelize.py:802 flatcamTools/ToolRulesCheck.py:1127
msgid "Working..."
msgstr "Working..."
-#: flatcamTools/ToolCopperThieving.py:1056
+#: flatcamTools/ToolCopperThieving.py:1062
msgid "Geometry not supported for bounding box"
msgstr "Geometry not supported for bounding box"
-#: flatcamTools/ToolCopperThieving.py:1062
-#: flatcamTools/ToolNonCopperClear.py:1513 flatcamTools/ToolPaint.py:2673
+#: flatcamTools/ToolCopperThieving.py:1068 flatcamTools/ToolNCC.py:1928
+#: flatcamTools/ToolNCC.py:1983 flatcamTools/ToolNCC.py:2987
+#: flatcamTools/ToolPaint.py:3375
msgid "No object available."
msgstr "No object available."
-#: flatcamTools/ToolCopperThieving.py:1099
-#: flatcamTools/ToolNonCopperClear.py:1555
+#: flatcamTools/ToolCopperThieving.py:1105 flatcamTools/ToolNCC.py:1953
+#: flatcamTools/ToolNCC.py:2006 flatcamTools/ToolNCC.py:3029
msgid "The reference object type is not supported."
msgstr "The reference object type is not supported."
-#: flatcamTools/ToolCopperThieving.py:1104
+#: flatcamTools/ToolCopperThieving.py:1110
msgid "Copper Thieving Tool. Appending new geometry and buffering."
msgstr "Copper Thieving Tool. Appending new geometry and buffering."
-#: flatcamTools/ToolCopperThieving.py:1120
+#: flatcamTools/ToolCopperThieving.py:1126
msgid "Create geometry"
msgstr "Create geometry"
-#: flatcamTools/ToolCopperThieving.py:1320
-#: flatcamTools/ToolCopperThieving.py:1324
+#: flatcamTools/ToolCopperThieving.py:1326
+#: flatcamTools/ToolCopperThieving.py:1330
msgid "P-Plating Mask"
msgstr "P-Plating Mask"
-#: flatcamTools/ToolCopperThieving.py:1346
+#: flatcamTools/ToolCopperThieving.py:1352
msgid "Append PP-M geometry"
msgstr "Append PP-M geometry"
-#: flatcamTools/ToolCopperThieving.py:1472
+#: flatcamTools/ToolCopperThieving.py:1478
msgid "Generating Pattern Plating Mask done."
msgstr "Generating Pattern Plating Mask done."
-#: flatcamTools/ToolCopperThieving.py:1544
+#: flatcamTools/ToolCopperThieving.py:1550
msgid "Copper Thieving Tool exit."
msgstr "Copper Thieving Tool exit."
@@ -13489,31 +14219,43 @@ msgstr "Copper Thieving Tool exit."
msgid "Cutout PCB"
msgstr "Cutout PCB"
-#: flatcamTools/ToolCutOut.py:82
-msgid ""
-"Specify the type of object to be cutout.\n"
-"It can be of type: Gerber or Geometry.\n"
-"What is selected here will dictate the kind\n"
-"of objects that will populate the 'Object' combobox."
-msgstr ""
-"Specify the type of object to be cutout.\n"
-"It can be of type: Gerber or Geometry.\n"
-"What is selected here will dictate the kind\n"
-"of objects that will populate the 'Object' combobox."
+#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:54
+msgid "Source Object"
+msgstr "Source Object"
-#: flatcamTools/ToolCutOut.py:91 flatcamTools/ToolCutOut.py:92
+#: flatcamTools/ToolCutOut.py:71
msgid "Object to be cutout"
msgstr "Object to be cutout"
-#: flatcamTools/ToolCutOut.py:230
+#: flatcamTools/ToolCutOut.py:76
+msgid "Kind"
+msgstr "Kind"
+
+#: flatcamTools/ToolCutOut.py:98
+msgid ""
+"Specify the type of object to be cutout.\n"
+"It can be of type: Gerber or Geometry.\n"
+"What is selected here will dictate the kind\n"
+"of objects that will populate the 'Object' combobox."
+msgstr ""
+"Specify the type of object to be cutout.\n"
+"It can be of type: Gerber or Geometry.\n"
+"What is selected here will dictate the kind\n"
+"of objects that will populate the 'Object' combobox."
+
+#: flatcamTools/ToolCutOut.py:122
+msgid "Tool Parameters"
+msgstr "Tool Parameters"
+
+#: flatcamTools/ToolCutOut.py:239
msgid "A. Automatic Bridge Gaps"
msgstr "A. Automatic Bridge Gaps"
-#: flatcamTools/ToolCutOut.py:232
+#: flatcamTools/ToolCutOut.py:241
msgid "This section handle creation of automatic bridge gaps."
msgstr "This section handle creation of automatic bridge gaps."
-#: flatcamTools/ToolCutOut.py:243
+#: flatcamTools/ToolCutOut.py:252
msgid ""
"Number of gaps used for the Automatic cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -13537,11 +14279,11 @@ msgstr ""
"- 2tb - 2*top + 2*bottom\n"
"- 8 - 2*left + 2*right +2*top + 2*bottom"
-#: flatcamTools/ToolCutOut.py:264
+#: flatcamTools/ToolCutOut.py:273
msgid "Generate Freeform Geometry"
msgstr "Generate Freeform Geometry"
-#: flatcamTools/ToolCutOut.py:266
+#: flatcamTools/ToolCutOut.py:275
msgid ""
"Cutout the selected object.\n"
"The cutout shape can be of any shape.\n"
@@ -13551,11 +14293,11 @@ msgstr ""
"The cutout shape can be of any shape.\n"
"Useful when the PCB has a non-rectangular shape."
-#: flatcamTools/ToolCutOut.py:278
+#: flatcamTools/ToolCutOut.py:287
msgid "Generate Rectangular Geometry"
msgstr "Generate Rectangular Geometry"
-#: flatcamTools/ToolCutOut.py:280
+#: flatcamTools/ToolCutOut.py:289
msgid ""
"Cutout the selected object.\n"
"The resulting cutout shape is\n"
@@ -13567,11 +14309,11 @@ msgstr ""
"always a rectangle shape and it will be\n"
"the bounding box of the Object."
-#: flatcamTools/ToolCutOut.py:299
+#: flatcamTools/ToolCutOut.py:308
msgid "B. Manual Bridge Gaps"
msgstr "B. Manual Bridge Gaps"
-#: flatcamTools/ToolCutOut.py:301
+#: flatcamTools/ToolCutOut.py:310
msgid ""
"This section handle creation of manual bridge gaps.\n"
"This is done by mouse clicking on the perimeter of the\n"
@@ -13581,15 +14323,15 @@ msgstr ""
"This is done by mouse clicking on the perimeter of the\n"
"Geometry object that is used as a cutout object. "
-#: flatcamTools/ToolCutOut.py:319
+#: flatcamTools/ToolCutOut.py:329
msgid "Geometry object used to create the manual cutout."
msgstr "Geometry object used to create the manual cutout."
-#: flatcamTools/ToolCutOut.py:328
+#: flatcamTools/ToolCutOut.py:338
msgid "Generate Manual Geometry"
msgstr "Generate Manual Geometry"
-#: flatcamTools/ToolCutOut.py:330
+#: flatcamTools/ToolCutOut.py:340
msgid ""
"If the object to be cutout is a Gerber\n"
"first create a Geometry that surrounds it,\n"
@@ -13601,11 +14343,11 @@ msgstr ""
"to be used as the cutout, if one doesn't exist yet.\n"
"Select the source Gerber file in the top object combobox."
-#: flatcamTools/ToolCutOut.py:343
+#: flatcamTools/ToolCutOut.py:353
msgid "Manual Add Bridge Gaps"
msgstr "Manual Add Bridge Gaps"
-#: flatcamTools/ToolCutOut.py:345
+#: flatcamTools/ToolCutOut.py:355
msgid ""
"Use the left mouse button (LMB) click\n"
"to create a bridge gap to separate the PCB from\n"
@@ -13619,7 +14361,7 @@ msgstr ""
"The LMB click has to be done on the perimeter of\n"
"the Geometry object used as a cutout geometry."
-#: flatcamTools/ToolCutOut.py:473
+#: flatcamTools/ToolCutOut.py:485
msgid ""
"There is no object selected for Cutout.\n"
"Select one and try again."
@@ -13627,16 +14369,17 @@ msgstr ""
"There is no object selected for Cutout.\n"
"Select one and try again."
-#: flatcamTools/ToolCutOut.py:479 flatcamTools/ToolCutOut.py:651
-#: flatcamTools/ToolCutOut.py:795 flatcamTools/ToolCutOut.py:877
+#: flatcamTools/ToolCutOut.py:491 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:839 flatcamTools/ToolCutOut.py:921
+#: tclCommands/TclCommandGeoCutout.py:185
msgid "Tool Diameter is zero value. Change it to a positive real number."
msgstr "Tool Diameter is zero value. Change it to a positive real number."
-#: flatcamTools/ToolCutOut.py:493 flatcamTools/ToolCutOut.py:666
+#: flatcamTools/ToolCutOut.py:505 flatcamTools/ToolCutOut.py:691
msgid "Number of gaps value is missing. Add it and retry."
msgstr "Number of gaps value is missing. Add it and retry."
-#: flatcamTools/ToolCutOut.py:498 flatcamTools/ToolCutOut.py:670
+#: flatcamTools/ToolCutOut.py:510 flatcamTools/ToolCutOut.py:695
msgid ""
"Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. "
"Fill in a correct value and retry. "
@@ -13644,7 +14387,7 @@ msgstr ""
"Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. "
"Fill in a correct value and retry. "
-#: flatcamTools/ToolCutOut.py:503 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:515 flatcamTools/ToolCutOut.py:701
msgid ""
"Cutout operation cannot be done on a multi-geo Geometry.\n"
"Optionally, this Multi-geo Geometry can be converted to Single-geo "
@@ -13656,39 +14399,44 @@ msgstr ""
"Geometry,\n"
"and after that perform Cutout."
-#: flatcamTools/ToolCutOut.py:625 flatcamTools/ToolCutOut.py:784
+#: flatcamTools/ToolCutOut.py:650 flatcamTools/ToolCutOut.py:828
msgid "Any form CutOut operation finished."
msgstr "Any form CutOut operation finished."
-#: flatcamTools/ToolCutOut.py:646 flatcamTools/ToolNonCopperClear.py:1155
-#: flatcamTools/ToolPaint.py:994 flatcamTools/ToolPanelize.py:406
-#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:70
+#: flatcamTools/ToolCutOut.py:671 flatcamTools/ToolInvertGerber.py:214
+#: flatcamTools/ToolNCC.py:1598 flatcamTools/ToolPaint.py:1392
+#: flatcamTools/ToolPanelize.py:418 tclCommands/TclCommandBbox.py:72
+#: tclCommands/TclCommandNregions.py:72
msgid "Object not found"
msgstr "Object not found"
-#: flatcamTools/ToolCutOut.py:789
+#: flatcamTools/ToolCutOut.py:814
+msgid "Rectangular cutout with negative margin is not possible."
+msgstr "Rectangular cutout with negative margin is not possible."
+
+#: flatcamTools/ToolCutOut.py:833
msgid ""
"Click on the selected geometry object perimeter to create a bridge gap ..."
msgstr ""
"Click on the selected geometry object perimeter to create a bridge gap ..."
-#: flatcamTools/ToolCutOut.py:806 flatcamTools/ToolCutOut.py:832
+#: flatcamTools/ToolCutOut.py:850 flatcamTools/ToolCutOut.py:876
msgid "Could not retrieve Geometry object"
msgstr "Could not retrieve Geometry object"
-#: flatcamTools/ToolCutOut.py:837
+#: flatcamTools/ToolCutOut.py:881
msgid "Geometry object for manual cutout not found"
msgstr "Geometry object for manual cutout not found"
-#: flatcamTools/ToolCutOut.py:847
+#: flatcamTools/ToolCutOut.py:891
msgid "Added manual Bridge Gap."
msgstr "Added manual Bridge Gap."
-#: flatcamTools/ToolCutOut.py:859
+#: flatcamTools/ToolCutOut.py:903
msgid "Could not retrieve Gerber object"
msgstr "Could not retrieve Gerber object"
-#: flatcamTools/ToolCutOut.py:864
+#: flatcamTools/ToolCutOut.py:908
msgid ""
"There is no Gerber object selected for Cutout.\n"
"Select one and try again."
@@ -13696,7 +14444,7 @@ msgstr ""
"There is no Gerber object selected for Cutout.\n"
"Select one and try again."
-#: flatcamTools/ToolCutOut.py:870
+#: flatcamTools/ToolCutOut.py:914
msgid ""
"The selected object has to be of Gerber type.\n"
"Select a Gerber file and try again."
@@ -13704,11 +14452,11 @@ msgstr ""
"The selected object has to be of Gerber type.\n"
"Select a Gerber file and try again."
-#: flatcamTools/ToolCutOut.py:905
+#: flatcamTools/ToolCutOut.py:949
msgid "Geometry not supported for cutout"
msgstr "Geometry not supported for cutout"
-#: flatcamTools/ToolCutOut.py:960
+#: flatcamTools/ToolCutOut.py:1007
msgid "Making manual bridge gap..."
msgstr "Making manual bridge gap..."
@@ -13716,12 +14464,20 @@ msgstr "Making manual bridge gap..."
msgid "2-Sided PCB"
msgstr "2-Sided PCB"
-#: flatcamTools/ToolDblSided.py:60
+#: flatcamTools/ToolDblSided.py:53
+msgid "Mirror Operation"
+msgstr "Mirror Operation"
+
+#: flatcamTools/ToolDblSided.py:54
+msgid "Objects to be mirrored"
+msgstr "Objects to be mirrored"
+
+#: flatcamTools/ToolDblSided.py:66
msgid "Gerber to be mirrored"
msgstr "Gerber to be mirrored"
-#: flatcamTools/ToolDblSided.py:64 flatcamTools/ToolDblSided.py:92
-#: flatcamTools/ToolDblSided.py:122
+#: flatcamTools/ToolDblSided.py:70 flatcamTools/ToolDblSided.py:98
+#: flatcamTools/ToolDblSided.py:128
msgid ""
"Mirrors (flips) the specified object around \n"
"the specified axis. Does not create a new \n"
@@ -13731,139 +14487,115 @@ msgstr ""
"the specified axis. Does not create a new \n"
"object, but modifies it."
-#: flatcamTools/ToolDblSided.py:88
+#: flatcamTools/ToolDblSided.py:94
msgid "Excellon Object to be mirrored."
msgstr "Excellon Object to be mirrored."
-#: flatcamTools/ToolDblSided.py:117
+#: flatcamTools/ToolDblSided.py:123
msgid "Geometry Obj to be mirrored."
msgstr "Geometry Obj to be mirrored."
-#: flatcamTools/ToolDblSided.py:179
-msgid "Point/Box Reference"
-msgstr "Point/Box Reference"
+#: flatcamTools/ToolDblSided.py:159
+msgid "Mirror Parameters"
+msgstr "Mirror Parameters"
-#: flatcamTools/ToolDblSided.py:181
+#: flatcamTools/ToolDblSided.py:160
+msgid "Parameters for the mirror operation"
+msgstr "Parameters for the mirror operation"
+
+#: flatcamTools/ToolDblSided.py:165
+msgid "Mirror Axis"
+msgstr "Mirror Axis"
+
+#: flatcamTools/ToolDblSided.py:176
msgid ""
-"If 'Point' is selected above it store the coordinates (x, y) through which\n"
-"the mirroring axis passes.\n"
-"If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
-"Geo).\n"
-"Through the center of this object pass the mirroring axis selected above."
+"The coordinates used as reference for the mirror operation.\n"
+"Can be:\n"
+"- Point -> a set of coordinates (x,y) around which the object is mirrored\n"
+"- Box -> a set of coordinates (x, y) obtained from the center of the\n"
+"bounding box of another object selected below"
msgstr ""
-"If 'Point' is selected above it store the coordinates (x, y) through which\n"
-"the mirroring axis passes.\n"
-"If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
-"Geo).\n"
-"Through the center of this object pass the mirroring axis selected above."
+"The coordinates used as reference for the mirror operation.\n"
+"Can be:\n"
+"- Point -> a set of coordinates (x,y) around which the object is mirrored\n"
+"- Box -> a set of coordinates (x, y) obtained from the center of the\n"
+"bounding box of another object selected below"
-#: flatcamTools/ToolDblSided.py:189
+#: flatcamTools/ToolDblSided.py:190
+msgid "Point coordinates"
+msgstr "Point coordinates"
+
+#: flatcamTools/ToolDblSided.py:195
msgid ""
"Add the coordinates in format (x, y) through which the mirroring "
"axis \n"
" selected in 'MIRROR AXIS' pass.\n"
"The (x, y) coordinates are captured by pressing SHIFT key\n"
-"and left mouse button click on canvas or you can enter the coords manually."
+"and left mouse button click on canvas or you can enter the coordinates "
+"manually."
msgstr ""
"Add the coordinates in format (x, y) through which the mirroring "
"axis \n"
" selected in 'MIRROR AXIS' pass.\n"
"The (x, y) coordinates are captured by pressing SHIFT key\n"
-"and left mouse button click on canvas or you can enter the coords manually."
+"and left mouse button click on canvas or you can enter the coordinates "
+"manually."
-#: flatcamTools/ToolDblSided.py:230
-msgid "Alignment Drill Coordinates"
-msgstr "Alignment Drill Coordinates"
-
-#: flatcamTools/ToolDblSided.py:232
+#: flatcamTools/ToolDblSided.py:219
msgid ""
-"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
-"each set of (x, y) coordinates\n"
-"entered here, a pair of drills will be created:\n"
-"\n"
-"- one drill at the coordinates from the field\n"
-"- one drill in mirror position over the axis selected above in the 'Mirror "
-"Axis'."
+"It can be of type: Gerber or Excellon or Geometry.\n"
+"The coordinates of the center of the bounding box are used\n"
+"as reference for mirror operation."
msgstr ""
-"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
-"each set of (x, y) coordinates\n"
-"entered here, a pair of drills will be created:\n"
-"\n"
-"- one drill at the coordinates from the field\n"
-"- one drill in mirror position over the axis selected above in the 'Mirror "
-"Axis'."
+"It can be of type: Gerber or Excellon or Geometry.\n"
+"The coordinates of the center of the bounding box are used\n"
+"as reference for mirror operation."
-#: flatcamTools/ToolDblSided.py:247
+#: flatcamTools/ToolDblSided.py:253
+msgid "Bounds Values"
+msgstr "Bounds Values"
+
+#: flatcamTools/ToolDblSided.py:255
msgid ""
-"Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n"
-"on one side of the mirror axis.\n"
-"\n"
-"The coordinates set can be obtained:\n"
-"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the "
-"field.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
-"field and click Paste.\n"
-"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+"Select on canvas the object(s)\n"
+"for which to calculate bounds values."
msgstr ""
-"Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n"
-"on one side of the mirror axis.\n"
-"\n"
-"The coordinates set can be obtained:\n"
-"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the "
-"field.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
-"field and click Paste.\n"
-"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+"Select on canvas the object(s)\n"
+"for which to calculate bounds values."
-#: flatcamTools/ToolDblSided.py:272
-msgid "Alignment Drill Diameter"
-msgstr "Alignment Drill Diameter"
-
-#: flatcamTools/ToolDblSided.py:292
-msgid "Create Excellon Object"
-msgstr "Create Excellon Object"
-
-#: flatcamTools/ToolDblSided.py:294
-msgid ""
-"Creates an Excellon Object containing the\n"
-"specified alignment holes and their mirror\n"
-"images."
-msgstr ""
-"Creates an Excellon Object containing the\n"
-"specified alignment holes and their mirror\n"
-"images."
-
-#: flatcamTools/ToolDblSided.py:323
+#: flatcamTools/ToolDblSided.py:265
msgid "X min"
msgstr "X min"
-#: flatcamTools/ToolDblSided.py:325 flatcamTools/ToolDblSided.py:339
+#: flatcamTools/ToolDblSided.py:267 flatcamTools/ToolDblSided.py:281
msgid "Minimum location."
msgstr "Minimum location."
-#: flatcamTools/ToolDblSided.py:337
+#: flatcamTools/ToolDblSided.py:279
msgid "Y min"
msgstr "Y min"
-#: flatcamTools/ToolDblSided.py:351
+#: flatcamTools/ToolDblSided.py:293
msgid "X max"
msgstr "X max"
-#: flatcamTools/ToolDblSided.py:353 flatcamTools/ToolDblSided.py:367
+#: flatcamTools/ToolDblSided.py:295 flatcamTools/ToolDblSided.py:309
msgid "Maximum location."
msgstr "Maximum location."
-#: flatcamTools/ToolDblSided.py:365
+#: flatcamTools/ToolDblSided.py:307
msgid "Y max"
msgstr "Y max"
-#: flatcamTools/ToolDblSided.py:377
+#: flatcamTools/ToolDblSided.py:318
+msgid "Center point coordinates"
+msgstr "Center point coordinates"
+
+#: flatcamTools/ToolDblSided.py:320
msgid "Centroid"
msgstr "Centroid"
-#: flatcamTools/ToolDblSided.py:379
+#: flatcamTools/ToolDblSided.py:322
msgid ""
"The center point location for the rectangular\n"
"bounding shape. Centroid. Format is (x, y)."
@@ -13871,11 +14603,11 @@ msgstr ""
"The center point location for the rectangular\n"
"bounding shape. Centroid. Format is (x, y)."
-#: flatcamTools/ToolDblSided.py:388
+#: flatcamTools/ToolDblSided.py:331
msgid "Calculate Bounds Values"
msgstr "Calculate Bounds Values"
-#: flatcamTools/ToolDblSided.py:390
+#: flatcamTools/ToolDblSided.py:333
msgid ""
"Calculate the enveloping rectangular shape coordinates,\n"
"for the selection of objects.\n"
@@ -13885,11 +14617,103 @@ msgstr ""
"for the selection of objects.\n"
"The envelope shape is parallel with the X, Y axis."
-#: flatcamTools/ToolDblSided.py:462
+#: flatcamTools/ToolDblSided.py:353
+msgid "PCB Alignment"
+msgstr "PCB Alignment"
+
+#: flatcamTools/ToolDblSided.py:355 flatcamTools/ToolDblSided.py:457
+msgid ""
+"Creates an Excellon Object containing the\n"
+"specified alignment holes and their mirror\n"
+"images."
+msgstr ""
+"Creates an Excellon Object containing the\n"
+"specified alignment holes and their mirror\n"
+"images."
+
+#: flatcamTools/ToolDblSided.py:362
+msgid "Drill Diameter"
+msgstr "Drill Diameter"
+
+#: flatcamTools/ToolDblSided.py:391 flatcamTools/ToolDblSided.py:398
+msgid ""
+"The reference point used to create the second alignment drill\n"
+"from the first alignment drill, by doing mirror.\n"
+"It can be modified in the Mirror Parameters -> Reference section"
+msgstr ""
+"The reference point used to create the second alignment drill\n"
+"from the first alignment drill, by doing mirror.\n"
+"It can be modified in the Mirror Parameters -> Reference section"
+
+#: flatcamTools/ToolDblSided.py:411
+msgid "Alignment Drill Coordinates"
+msgstr "Alignment Drill Coordinates"
+
+#: flatcamTools/ToolDblSided.py:413
+msgid ""
+"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
+"each set of (x, y) coordinates\n"
+"entered here, a pair of drills will be created:\n"
+"\n"
+"- one drill at the coordinates from the field\n"
+"- one drill in mirror position over the axis selected above in the 'Align "
+"Axis'."
+msgstr ""
+"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
+"each set of (x, y) coordinates\n"
+"entered here, a pair of drills will be created:\n"
+"\n"
+"- one drill at the coordinates from the field\n"
+"- one drill in mirror position over the axis selected above in the 'Align "
+"Axis'."
+
+#: flatcamTools/ToolDblSided.py:421
+msgid "Drill coordinates"
+msgstr "Drill coordinates"
+
+#: flatcamTools/ToolDblSided.py:428
+msgid ""
+"Add alignment drill holes coordinates in the format: (x1, y1), (x2, "
+"y2), ... \n"
+"on one side of the alignment axis.\n"
+"\n"
+"The coordinates set can be obtained:\n"
+"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the "
+"field.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
+"field and click Paste.\n"
+"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+msgstr ""
+"Add alignment drill holes coordinates in the format: (x1, y1), (x2, "
+"y2), ... \n"
+"on one side of the alignment axis.\n"
+"\n"
+"The coordinates set can be obtained:\n"
+"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the "
+"field.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
+"field and click Paste.\n"
+"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+
+#: flatcamTools/ToolDblSided.py:443
+msgid "Delete Last"
+msgstr "Delete Last"
+
+#: flatcamTools/ToolDblSided.py:445
+msgid "Delete the last coordinates tuple in the list."
+msgstr "Delete the last coordinates tuple in the list."
+
+#: flatcamTools/ToolDblSided.py:455
+msgid "Create Excellon Object"
+msgstr "Create Excellon Object"
+
+#: flatcamTools/ToolDblSided.py:542
msgid "2-Sided Tool"
msgstr "2-Sided Tool"
-#: flatcamTools/ToolDblSided.py:493
+#: flatcamTools/ToolDblSided.py:582
msgid ""
"'Point' reference is selected and 'Point' coordinates are missing. Add them "
"and retry."
@@ -13897,147 +14721,166 @@ msgstr ""
"'Point' reference is selected and 'Point' coordinates are missing. Add them "
"and retry."
-#: flatcamTools/ToolDblSided.py:512
+#: flatcamTools/ToolDblSided.py:601
msgid "There is no Box reference object loaded. Load one and retry."
msgstr "There is no Box reference object loaded. Load one and retry."
-#: flatcamTools/ToolDblSided.py:524
+#: flatcamTools/ToolDblSided.py:613
msgid "No value or wrong format in Drill Dia entry. Add it and retry."
msgstr "No value or wrong format in Drill Dia entry. Add it and retry."
-#: flatcamTools/ToolDblSided.py:532
+#: flatcamTools/ToolDblSided.py:624
msgid "There are no Alignment Drill Coordinates to use. Add them and retry."
msgstr "There are no Alignment Drill Coordinates to use. Add them and retry."
-#: flatcamTools/ToolDblSided.py:555
+#: flatcamTools/ToolDblSided.py:649
msgid "Excellon object with alignment drills created..."
msgstr "Excellon object with alignment drills created..."
-#: flatcamTools/ToolDblSided.py:568 flatcamTools/ToolDblSided.py:611
-#: flatcamTools/ToolDblSided.py:655
+#: flatcamTools/ToolDblSided.py:662 flatcamTools/ToolDblSided.py:705
+#: flatcamTools/ToolDblSided.py:749
msgid "Only Gerber, Excellon and Geometry objects can be mirrored."
msgstr "Only Gerber, Excellon and Geometry objects can be mirrored."
-#: flatcamTools/ToolDblSided.py:578
+#: flatcamTools/ToolDblSided.py:672 flatcamTools/ToolDblSided.py:716
msgid ""
-"'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
+"There are no Point coordinates in the Point field. Add coords and try "
+"again ..."
msgstr ""
-"'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
+"There are no Point coordinates in the Point field. Add coords and try "
+"again ..."
-#: flatcamTools/ToolDblSided.py:588 flatcamTools/ToolDblSided.py:632
-#: flatcamTools/ToolDblSided.py:669
+#: flatcamTools/ToolDblSided.py:682 flatcamTools/ToolDblSided.py:726
+#: flatcamTools/ToolDblSided.py:763
msgid "There is no Box object loaded ..."
msgstr "There is no Box object loaded ..."
-#: flatcamTools/ToolDblSided.py:598 flatcamTools/ToolDblSided.py:642
-#: flatcamTools/ToolDblSided.py:679
+#: flatcamTools/ToolDblSided.py:692 flatcamTools/ToolDblSided.py:736
+#: flatcamTools/ToolDblSided.py:773
msgid "was mirrored"
msgstr "was mirrored"
-#: flatcamTools/ToolDblSided.py:607
+#: flatcamTools/ToolDblSided.py:701 flatcamTools/ToolPunchGerber.py:533
msgid "There is no Excellon object loaded ..."
msgstr "There is no Excellon object loaded ..."
-#: flatcamTools/ToolDblSided.py:622
-msgid ""
-"There are no Point coordinates in the Point field. Add coords and try "
-"again ..."
-msgstr ""
-"There are no Point coordinates in the Point field. Add coords and try "
-"again ..."
-
-#: flatcamTools/ToolDblSided.py:651
+#: flatcamTools/ToolDblSided.py:745
msgid "There is no Geometry object loaded ..."
msgstr "There is no Geometry object loaded ..."
-#: flatcamTools/ToolDistance.py:50 flatcamTools/ToolDistanceMin.py:50
+#: flatcamTools/ToolDistance.py:57 flatcamTools/ToolDistanceMin.py:51
msgid "Those are the units in which the distance is measured."
msgstr "Those are the units in which the distance is measured."
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "METRIC (mm)"
msgstr "METRIC (mm)"
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "INCH (in)"
msgstr "INCH (in)"
-#: flatcamTools/ToolDistance.py:54
+#: flatcamTools/ToolDistance.py:64
+msgid "Snap to center"
+msgstr "Snap to center"
+
+#: flatcamTools/ToolDistance.py:66
+msgid ""
+"Mouse cursor will snap to the center of the pad/drill\n"
+"when it is hovering over the geometry of the pad/drill."
+msgstr ""
+"Mouse cursor will snap to the center of the pad/drill\n"
+"when it is hovering over the geometry of the pad/drill."
+
+#: flatcamTools/ToolDistance.py:76
msgid "Start Coords"
msgstr "Start Coords"
-#: flatcamTools/ToolDistance.py:55 flatcamTools/ToolDistance.py:75
+#: flatcamTools/ToolDistance.py:77 flatcamTools/ToolDistance.py:82
msgid "This is measuring Start point coordinates."
msgstr "This is measuring Start point coordinates."
-#: flatcamTools/ToolDistance.py:57
+#: flatcamTools/ToolDistance.py:87
msgid "Stop Coords"
msgstr "Stop Coords"
-#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistance.py:80
+#: flatcamTools/ToolDistance.py:88 flatcamTools/ToolDistance.py:93
msgid "This is the measuring Stop point coordinates."
msgstr "This is the measuring Stop point coordinates."
-#: flatcamTools/ToolDistance.py:60 flatcamTools/ToolDistanceMin.py:62
+#: flatcamTools/ToolDistance.py:98 flatcamTools/ToolDistanceMin.py:63
msgid "Dx"
msgstr "Dx"
-#: flatcamTools/ToolDistance.py:61 flatcamTools/ToolDistance.py:85
-#: flatcamTools/ToolDistanceMin.py:63 flatcamTools/ToolDistanceMin.py:92
+#: flatcamTools/ToolDistance.py:99 flatcamTools/ToolDistance.py:104
+#: flatcamTools/ToolDistanceMin.py:64 flatcamTools/ToolDistanceMin.py:93
msgid "This is the distance measured over the X axis."
msgstr "This is the distance measured over the X axis."
-#: flatcamTools/ToolDistance.py:63 flatcamTools/ToolDistanceMin.py:65
+#: flatcamTools/ToolDistance.py:109 flatcamTools/ToolDistanceMin.py:66
msgid "Dy"
msgstr "Dy"
-#: flatcamTools/ToolDistance.py:64 flatcamTools/ToolDistance.py:90
-#: flatcamTools/ToolDistanceMin.py:66 flatcamTools/ToolDistanceMin.py:97
+#: flatcamTools/ToolDistance.py:110 flatcamTools/ToolDistance.py:115
+#: flatcamTools/ToolDistanceMin.py:67 flatcamTools/ToolDistanceMin.py:98
msgid "This is the distance measured over the Y axis."
msgstr "This is the distance measured over the Y axis."
-#: flatcamTools/ToolDistance.py:67 flatcamTools/ToolDistance.py:95
-#: flatcamTools/ToolDistanceMin.py:69 flatcamTools/ToolDistanceMin.py:102
+#: flatcamTools/ToolDistance.py:121 flatcamTools/ToolDistance.py:126
+#: flatcamTools/ToolDistanceMin.py:70 flatcamTools/ToolDistanceMin.py:103
msgid "This is orientation angle of the measuring line."
msgstr "This is orientation angle of the measuring line."
-#: flatcamTools/ToolDistance.py:69 flatcamTools/ToolDistanceMin.py:71
+#: flatcamTools/ToolDistance.py:131 flatcamTools/ToolDistanceMin.py:72
msgid "DISTANCE"
msgstr "DISTANCE"
-#: flatcamTools/ToolDistance.py:70 flatcamTools/ToolDistance.py:100
+#: flatcamTools/ToolDistance.py:132 flatcamTools/ToolDistance.py:137
msgid "This is the point to point Euclidian distance."
msgstr "This is the point to point Euclidian distance."
-#: flatcamTools/ToolDistance.py:102 flatcamTools/ToolDistanceMin.py:114
+#: flatcamTools/ToolDistance.py:142 flatcamTools/ToolDistance.py:337
+#: flatcamTools/ToolDistanceMin.py:115
msgid "Measure"
msgstr "Measure"
-#: flatcamTools/ToolDistance.py:212
+#: flatcamTools/ToolDistance.py:272
+msgid "Working"
+msgstr "Working"
+
+#: flatcamTools/ToolDistance.py:277
msgid "MEASURING: Click on the Start point ..."
msgstr "MEASURING: Click on the Start point ..."
-#: flatcamTools/ToolDistance.py:345
+#: flatcamTools/ToolDistance.py:387
+msgid "Distance Tool finished."
+msgstr "Distance Tool finished."
+
+#: flatcamTools/ToolDistance.py:455
+msgid "Pads overlapped. Aborting."
+msgstr "Pads overlapped. Aborting."
+
+#: flatcamTools/ToolDistance.py:485
msgid "MEASURING: Click on the Destination point ..."
msgstr "MEASURING: Click on the Destination point ..."
-#: flatcamTools/ToolDistance.py:353 flatcamTools/ToolDistanceMin.py:282
+#: flatcamTools/ToolDistance.py:494 flatcamTools/ToolDistanceMin.py:285
msgid "MEASURING"
msgstr "MEASURING"
-#: flatcamTools/ToolDistance.py:354 flatcamTools/ToolDistanceMin.py:283
+#: flatcamTools/ToolDistance.py:495 flatcamTools/ToolDistanceMin.py:286
msgid "Result"
msgstr "Result"
-#: flatcamTools/ToolDistanceMin.py:31 flatcamTools/ToolDistanceMin.py:152
+#: flatcamTools/ToolDistanceMin.py:32 flatcamTools/ToolDistanceMin.py:144
msgid "Minimum Distance Tool"
msgstr "Minimum Distance Tool"
-#: flatcamTools/ToolDistanceMin.py:54
+#: flatcamTools/ToolDistanceMin.py:55
msgid "First object point"
msgstr "First object point"
-#: flatcamTools/ToolDistanceMin.py:55 flatcamTools/ToolDistanceMin.py:80
+#: flatcamTools/ToolDistanceMin.py:56 flatcamTools/ToolDistanceMin.py:81
msgid ""
"This is first object point coordinates.\n"
"This is the start point for measuring distance."
@@ -14045,11 +14888,11 @@ msgstr ""
"This is first object point coordinates.\n"
"This is the start point for measuring distance."
-#: flatcamTools/ToolDistanceMin.py:58
+#: flatcamTools/ToolDistanceMin.py:59
msgid "Second object point"
msgstr "Second object point"
-#: flatcamTools/ToolDistanceMin.py:59 flatcamTools/ToolDistanceMin.py:86
+#: flatcamTools/ToolDistanceMin.py:60 flatcamTools/ToolDistanceMin.py:87
msgid ""
"This is second object point coordinates.\n"
"This is the end point for measuring distance."
@@ -14057,41 +14900,58 @@ msgstr ""
"This is second object point coordinates.\n"
"This is the end point for measuring distance."
-#: flatcamTools/ToolDistanceMin.py:72 flatcamTools/ToolDistanceMin.py:107
+#: flatcamTools/ToolDistanceMin.py:73 flatcamTools/ToolDistanceMin.py:108
msgid "This is the point to point Euclidean distance."
msgstr "This is the point to point Euclidean distance."
-#: flatcamTools/ToolDistanceMin.py:74
+#: flatcamTools/ToolDistanceMin.py:75
msgid "Half Point"
msgstr "Half Point"
-#: flatcamTools/ToolDistanceMin.py:75 flatcamTools/ToolDistanceMin.py:112
+#: flatcamTools/ToolDistanceMin.py:76 flatcamTools/ToolDistanceMin.py:113
msgid "This is the middle point of the point to point Euclidean distance."
msgstr "This is the middle point of the point to point Euclidean distance."
-#: flatcamTools/ToolDistanceMin.py:117
+#: flatcamTools/ToolDistanceMin.py:118
msgid "Jump to Half Point"
msgstr "Jump to Half Point"
-#: flatcamTools/ToolDistanceMin.py:163
+#: flatcamTools/ToolDistanceMin.py:155
msgid ""
"Select two objects and no more, to measure the distance between them ..."
msgstr ""
"Select two objects and no more, to measure the distance between them ..."
-#: flatcamTools/ToolDistanceMin.py:204 flatcamTools/ToolDistanceMin.py:214
-#: flatcamTools/ToolDistanceMin.py:223 flatcamTools/ToolDistanceMin.py:244
+#: flatcamTools/ToolDistanceMin.py:196 flatcamTools/ToolDistanceMin.py:217
+#: flatcamTools/ToolDistanceMin.py:226 flatcamTools/ToolDistanceMin.py:247
msgid "Select two objects and no more. Currently the selection has objects: "
msgstr "Select two objects and no more. Currently the selection has objects: "
-#: flatcamTools/ToolDistanceMin.py:291
+#: flatcamTools/ToolDistanceMin.py:294
msgid "Objects intersects or touch at"
msgstr "Objects intersects or touch at"
-#: flatcamTools/ToolDistanceMin.py:297
+#: flatcamTools/ToolDistanceMin.py:300
msgid "Jumped to the half point between the two selected objects"
msgstr "Jumped to the half point between the two selected objects"
+#: flatcamTools/ToolExtractDrills.py:29 flatcamTools/ToolExtractDrills.py:295
+msgid "Extract Drills"
+msgstr "Extract Drills"
+
+#: flatcamTools/ToolExtractDrills.py:62
+msgid "Gerber from which to extract drill holes"
+msgstr "Gerber from which to extract drill holes"
+
+#: flatcamTools/ToolExtractDrills.py:297
+msgid "Extract drills from a given Gerber file."
+msgstr "Extract drills from a given Gerber file."
+
+#: flatcamTools/ToolExtractDrills.py:478 flatcamTools/ToolExtractDrills.py:563
+#: flatcamTools/ToolExtractDrills.py:648
+msgid "No drills extracted. Try different parameters."
+msgstr "No drills extracted. Try different parameters."
+
#: flatcamTools/ToolFiducials.py:56
msgid "Fiducials Coordinates"
msgstr "Fiducials Coordinates"
@@ -14108,10 +14968,6 @@ msgstr ""
msgid "Top Right"
msgstr "Top Right"
-#: flatcamTools/ToolFiducials.py:111
-msgid "Second Point"
-msgstr "Second Point"
-
#: flatcamTools/ToolFiducials.py:191
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding "
@@ -14122,31 +14978,31 @@ msgstr ""
"box.\n"
" - 'Manual' - manual placement of fiducials."
-#: flatcamTools/ToolFiducials.py:258
+#: flatcamTools/ToolFiducials.py:259
msgid "Copper Gerber"
msgstr "Copper Gerber"
-#: flatcamTools/ToolFiducials.py:267
+#: flatcamTools/ToolFiducials.py:268
msgid "Add Fiducial"
msgstr "Add Fiducial"
-#: flatcamTools/ToolFiducials.py:269
+#: flatcamTools/ToolFiducials.py:270
msgid "Will add a polygon on the copper layer to serve as fiducial."
msgstr "Will add a polygon on the copper layer to serve as fiducial."
-#: flatcamTools/ToolFiducials.py:285
+#: flatcamTools/ToolFiducials.py:286
msgid "Soldermask Gerber"
msgstr "Soldermask Gerber"
-#: flatcamTools/ToolFiducials.py:287
+#: flatcamTools/ToolFiducials.py:288
msgid "The Soldermask Gerber object."
msgstr "The Soldermask Gerber object."
-#: flatcamTools/ToolFiducials.py:298
+#: flatcamTools/ToolFiducials.py:300
msgid "Add Soldermask Opening"
msgstr "Add Soldermask Opening"
-#: flatcamTools/ToolFiducials.py:300
+#: flatcamTools/ToolFiducials.py:302
msgid ""
"Will add a polygon on the soldermask layer\n"
"to serve as fiducial opening.\n"
@@ -14158,23 +15014,23 @@ msgstr ""
"The diameter is always double of the diameter\n"
"for the copper fiducial."
-#: flatcamTools/ToolFiducials.py:514
+#: flatcamTools/ToolFiducials.py:516
msgid "Click to add first Fiducial. Bottom Left..."
msgstr "Click to add first Fiducial. Bottom Left..."
-#: flatcamTools/ToolFiducials.py:778
+#: flatcamTools/ToolFiducials.py:780
msgid "Click to add the last fiducial. Top Right..."
msgstr "Click to add the last fiducial. Top Right..."
-#: flatcamTools/ToolFiducials.py:783
+#: flatcamTools/ToolFiducials.py:785
msgid "Click to add the second fiducial. Top Left or Bottom Right..."
msgstr "Click to add the second fiducial. Top Left or Bottom Right..."
-#: flatcamTools/ToolFiducials.py:786 flatcamTools/ToolFiducials.py:795
+#: flatcamTools/ToolFiducials.py:788 flatcamTools/ToolFiducials.py:797
msgid "Done. All fiducials have been added."
msgstr "Done. All fiducials have been added."
-#: flatcamTools/ToolFiducials.py:872
+#: flatcamTools/ToolFiducials.py:874
msgid "Fiducials Tool exit."
msgstr "Fiducials Tool exit."
@@ -14182,7 +15038,7 @@ msgstr "Fiducials Tool exit."
msgid "Film PCB"
msgstr "Film PCB"
-#: flatcamTools/ToolFilm.py:80
+#: flatcamTools/ToolFilm.py:78
msgid ""
"Specify the type of object for which to create the film.\n"
"The object can be of type: Gerber or Geometry.\n"
@@ -14194,11 +15050,11 @@ msgstr ""
"The selection here decide the type of objects that will be\n"
"in the Film Object combobox."
-#: flatcamTools/ToolFilm.py:94
+#: flatcamTools/ToolFilm.py:92
msgid "Film Object"
msgstr "Film Object"
-#: flatcamTools/ToolFilm.py:96
+#: flatcamTools/ToolFilm.py:94
msgid "Object for which to create the film."
msgstr "Object for which to create the film."
@@ -14214,7 +15070,7 @@ msgstr ""
"the type of objects that will be\n"
"in the Box Object combobox."
-#: flatcamTools/ToolFilm.py:129 flatcamTools/ToolPanelize.py:136
+#: flatcamTools/ToolFilm.py:129
msgid "Box Object"
msgstr "Box Object"
@@ -14276,19 +15132,19 @@ msgid ""
msgstr ""
"Remove the geometry of Excellon from the Film to create the holes in pads."
-#: flatcamTools/ToolFilm.py:379
+#: flatcamTools/ToolFilm.py:381
msgid "Punch Size"
msgstr "Punch Size"
-#: flatcamTools/ToolFilm.py:380
+#: flatcamTools/ToolFilm.py:382
msgid "The value here will control how big is the punch hole in the pads."
msgstr "The value here will control how big is the punch hole in the pads."
-#: flatcamTools/ToolFilm.py:500
+#: flatcamTools/ToolFilm.py:502
msgid "Save Film"
msgstr "Save Film"
-#: flatcamTools/ToolFilm.py:502
+#: flatcamTools/ToolFilm.py:504
msgid ""
"Create a Film for the selected object, within\n"
"the specified box. Does not create a new \n"
@@ -14300,7 +15156,7 @@ msgstr ""
" FlatCAM object, but directly save it in the\n"
"selected format."
-#: flatcamTools/ToolFilm.py:652
+#: flatcamTools/ToolFilm.py:664
msgid ""
"Using the Pad center does not work on Geometry objects. Only a Gerber object "
"has pads."
@@ -14308,53 +15164,49 @@ msgstr ""
"Using the Pad center does not work on Geometry objects. Only a Gerber object "
"has pads."
-#: flatcamTools/ToolFilm.py:662
+#: flatcamTools/ToolFilm.py:674
msgid "No FlatCAM object selected. Load an object for Film and retry."
msgstr "No FlatCAM object selected. Load an object for Film and retry."
-#: flatcamTools/ToolFilm.py:669
+#: flatcamTools/ToolFilm.py:681
msgid "No FlatCAM object selected. Load an object for Box and retry."
msgstr "No FlatCAM object selected. Load an object for Box and retry."
-#: flatcamTools/ToolFilm.py:673
+#: flatcamTools/ToolFilm.py:685
msgid "No FlatCAM object selected."
msgstr "No FlatCAM object selected."
-#: flatcamTools/ToolFilm.py:684
+#: flatcamTools/ToolFilm.py:696
msgid "Generating Film ..."
msgstr "Generating Film ..."
-#: flatcamTools/ToolFilm.py:733 flatcamTools/ToolFilm.py:737
+#: flatcamTools/ToolFilm.py:745 flatcamTools/ToolFilm.py:749
msgid "Export positive film"
msgstr "Export positive film"
-#: flatcamTools/ToolFilm.py:742
-msgid "Export positive film cancelled."
-msgstr "Export positive film cancelled."
-
-#: flatcamTools/ToolFilm.py:770
+#: flatcamTools/ToolFilm.py:782
msgid ""
"No Excellon object selected. Load an object for punching reference and retry."
msgstr ""
"No Excellon object selected. Load an object for punching reference and retry."
-#: flatcamTools/ToolFilm.py:794
-msgid ""
-" Could not generate punched hole film because the punch hole sizeis bigger "
-"than some of the apertures in the Gerber object."
-msgstr ""
-" Could not generate punched hole film because the punch hole sizeis bigger "
-"than some of the apertures in the Gerber object."
-
#: flatcamTools/ToolFilm.py:806
msgid ""
+" Could not generate punched hole film because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+" Could not generate punched hole film because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+
+#: flatcamTools/ToolFilm.py:818
+msgid ""
"Could not generate punched hole film because the punch hole sizeis bigger "
"than some of the apertures in the Gerber object."
msgstr ""
"Could not generate punched hole film because the punch hole sizeis bigger "
"than some of the apertures in the Gerber object."
-#: flatcamTools/ToolFilm.py:824
+#: flatcamTools/ToolFilm.py:836
msgid ""
"Could not generate punched hole film because the newly created object "
"geometry is the same as the one in the source object geometry..."
@@ -14362,24 +15214,20 @@ msgstr ""
"Could not generate punched hole film because the newly created object "
"geometry is the same as the one in the source object geometry..."
-#: flatcamTools/ToolFilm.py:879 flatcamTools/ToolFilm.py:883
+#: flatcamTools/ToolFilm.py:891 flatcamTools/ToolFilm.py:895
msgid "Export negative film"
msgstr "Export negative film"
-#: flatcamTools/ToolFilm.py:888
-msgid "Export negative film cancelled."
-msgstr "Export negative film cancelled."
-
-#: flatcamTools/ToolFilm.py:944 flatcamTools/ToolFilm.py:1122
-#: flatcamTools/ToolPanelize.py:421
+#: flatcamTools/ToolFilm.py:956 flatcamTools/ToolFilm.py:1139
+#: flatcamTools/ToolPanelize.py:433
msgid "No object Box. Using instead"
msgstr "No object Box. Using instead"
-#: flatcamTools/ToolFilm.py:1060 flatcamTools/ToolFilm.py:1235
+#: flatcamTools/ToolFilm.py:1072 flatcamTools/ToolFilm.py:1252
msgid "Film file exported to"
msgstr "Film file exported to"
-#: flatcamTools/ToolFilm.py:1063 flatcamTools/ToolFilm.py:1238
+#: flatcamTools/ToolFilm.py:1075 flatcamTools/ToolFilm.py:1255
msgid "Generating Film ... Please wait."
msgstr "Generating Film ... Please wait."
@@ -14391,7 +15239,7 @@ msgstr "Image as Object"
msgid "Image to PCB"
msgstr "Image to PCB"
-#: flatcamTools/ToolImage.py:57
+#: flatcamTools/ToolImage.py:56
msgid ""
"Specify the type of object to create from the image.\n"
"It can be of type: Gerber or Geometry."
@@ -14399,23 +15247,23 @@ msgstr ""
"Specify the type of object to create from the image.\n"
"It can be of type: Gerber or Geometry."
-#: flatcamTools/ToolImage.py:66
+#: flatcamTools/ToolImage.py:65
msgid "DPI value"
msgstr "DPI value"
-#: flatcamTools/ToolImage.py:67
+#: flatcamTools/ToolImage.py:66
msgid "Specify a DPI value for the image."
msgstr "Specify a DPI value for the image."
-#: flatcamTools/ToolImage.py:73
+#: flatcamTools/ToolImage.py:72
msgid "Level of detail"
msgstr "Level of detail"
-#: flatcamTools/ToolImage.py:82
+#: flatcamTools/ToolImage.py:81
msgid "Image type"
msgstr "Image type"
-#: flatcamTools/ToolImage.py:84
+#: flatcamTools/ToolImage.py:83
msgid ""
"Choose a method for the image interpretation.\n"
"B/W means a black & white image. Color means a colored image."
@@ -14423,12 +15271,12 @@ msgstr ""
"Choose a method for the image interpretation.\n"
"B/W means a black & white image. Color means a colored image."
-#: flatcamTools/ToolImage.py:93 flatcamTools/ToolImage.py:108
-#: flatcamTools/ToolImage.py:121 flatcamTools/ToolImage.py:134
+#: flatcamTools/ToolImage.py:92 flatcamTools/ToolImage.py:107
+#: flatcamTools/ToolImage.py:120 flatcamTools/ToolImage.py:133
msgid "Mask value"
msgstr "Mask value"
-#: flatcamTools/ToolImage.py:95
+#: flatcamTools/ToolImage.py:94
msgid ""
"Mask for monochrome image.\n"
"Takes values between [0 ... 255].\n"
@@ -14444,7 +15292,7 @@ msgstr ""
"0 means no detail and 255 means everything \n"
"(which is totally black)."
-#: flatcamTools/ToolImage.py:110
+#: flatcamTools/ToolImage.py:109
msgid ""
"Mask for RED color.\n"
"Takes values between [0 ... 255].\n"
@@ -14456,7 +15304,7 @@ msgstr ""
"Decides the level of details to include\n"
"in the resulting geometry."
-#: flatcamTools/ToolImage.py:123
+#: flatcamTools/ToolImage.py:122
msgid ""
"Mask for GREEN color.\n"
"Takes values between [0 ... 255].\n"
@@ -14468,7 +15316,7 @@ msgstr ""
"Decides the level of details to include\n"
"in the resulting geometry."
-#: flatcamTools/ToolImage.py:136
+#: flatcamTools/ToolImage.py:135
msgid ""
"Mask for BLUE color.\n"
"Takes values between [0 ... 255].\n"
@@ -14480,33 +15328,59 @@ msgstr ""
"Decides the level of details to include\n"
"in the resulting geometry."
-#: flatcamTools/ToolImage.py:144
+#: flatcamTools/ToolImage.py:143
msgid "Import image"
msgstr "Import image"
-#: flatcamTools/ToolImage.py:146
+#: flatcamTools/ToolImage.py:145
msgid "Open a image of raster type and then import it in FlatCAM."
msgstr "Open a image of raster type and then import it in FlatCAM."
-#: flatcamTools/ToolImage.py:183
+#: flatcamTools/ToolImage.py:182
msgid "Image Tool"
msgstr "Image Tool"
-#: flatcamTools/ToolImage.py:235 flatcamTools/ToolImage.py:238
+#: flatcamTools/ToolImage.py:234 flatcamTools/ToolImage.py:237
msgid "Import IMAGE"
msgstr "Import IMAGE"
-#: flatcamTools/ToolImage.py:286
+#: flatcamTools/ToolImage.py:285
msgid "Importing Image"
msgstr "Importing Image"
+#: flatcamTools/ToolInvertGerber.py:74
+msgid "Gerber object that will be inverted."
+msgstr "Gerber object that will be inverted."
+
+#: flatcamTools/ToolInvertGerber.py:83
+msgid "Parameters for this tool"
+msgstr "Parameters for this tool"
+
+#: flatcamTools/ToolInvertGerber.py:123
+msgid "Invert Gerber"
+msgstr "Invert Gerber"
+
+#: flatcamTools/ToolInvertGerber.py:125
+msgid ""
+"Will invert the Gerber object: areas that have copper\n"
+"will be empty of copper and previous empty area will be\n"
+"filled with copper."
+msgstr ""
+"Will invert the Gerber object: areas that have copper\n"
+"will be empty of copper and previous empty area will be\n"
+"filled with copper."
+
+#: flatcamTools/ToolInvertGerber.py:184
+msgid "Invert Tool"
+msgstr "Invert Tool"
+
#: flatcamTools/ToolMove.py:103
msgid "MOVE: Click on the Start point ..."
msgstr "MOVE: Click on the Start point ..."
#: flatcamTools/ToolMove.py:114
-msgid "MOVE action cancelled. No object(s) to move."
-msgstr "MOVE action cancelled. No object(s) to move."
+msgid "Cancelled. No object(s) to move."
+msgstr "Cancelled. No object(s) to move."
#: flatcamTools/ToolMove.py:141
msgid "MOVE: Click on the Destination point ..."
@@ -14520,19 +15394,15 @@ msgstr "Moving..."
msgid "No object(s) selected."
msgstr "No object(s) selected."
-#: flatcamTools/ToolMove.py:212
+#: flatcamTools/ToolMove.py:222
msgid "Error when mouse left click."
msgstr "Error when mouse left click."
-#: flatcamTools/ToolMove.py:260
-msgid "Move action cancelled."
-msgstr "Move action cancelled."
-
-#: flatcamTools/ToolNonCopperClear.py:38
+#: flatcamTools/ToolNCC.py:42
msgid "Non-Copper Clearing"
msgstr "Non-Copper Clearing"
-#: flatcamTools/ToolNonCopperClear.py:84
+#: flatcamTools/ToolNCC.py:88
msgid ""
"Specify the type of object to be cleared of excess copper.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -14544,11 +15414,11 @@ msgstr ""
"What is selected here will dictate the kind\n"
"of objects that will populate the 'Object' combobox."
-#: flatcamTools/ToolNonCopperClear.py:101
+#: flatcamTools/ToolNCC.py:110
msgid "Object to be cleared of excess copper."
msgstr "Object to be cleared of excess copper."
-#: flatcamTools/ToolNonCopperClear.py:111
+#: flatcamTools/ToolNCC.py:122
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for copper clearing."
@@ -14556,11 +15426,7 @@ msgstr ""
"Tools pool from which the algorithm\n"
"will pick the ones used for copper clearing."
-#: flatcamTools/ToolNonCopperClear.py:120
-msgid "Operation"
-msgstr "Operation"
-
-#: flatcamTools/ToolNonCopperClear.py:126
+#: flatcamTools/ToolNCC.py:138
msgid ""
"This is the Tool Number.\n"
"Non copper clearing will start with the tool with the biggest \n"
@@ -14576,7 +15442,7 @@ msgstr ""
"in the resulting geometry. This is because with some tools\n"
"this function will not be able to create painting geometry."
-#: flatcamTools/ToolNonCopperClear.py:134
+#: flatcamTools/ToolNCC.py:146
msgid ""
"Tool Diameter. It's value (in current FlatCAM units)\n"
"is the cut width into the material."
@@ -14584,7 +15450,7 @@ msgstr ""
"Tool Diameter. It's value (in current FlatCAM units)\n"
"is the cut width into the material."
-#: flatcamTools/ToolNonCopperClear.py:138
+#: flatcamTools/ToolNCC.py:150
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n"
@@ -14620,33 +15486,7 @@ msgstr ""
"Type\n"
"in the resulting geometry as Isolation."
-#: flatcamTools/ToolNonCopperClear.py:151
-msgid ""
-"The 'Operation' can be:\n"
-"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
-"If it's not successful then the non-copper clearing will fail, too.\n"
-"- Clear -> the regular non-copper clearing."
-msgstr ""
-"The 'Operation' can be:\n"
-"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
-"If it's not successful then the non-copper clearing will fail, too.\n"
-"- Clear -> the regular non-copper clearing."
-
-#: flatcamTools/ToolNonCopperClear.py:209
-msgid "Tool Selection"
-msgstr "Tool Selection"
-
-#: flatcamTools/ToolNonCopperClear.py:273
-msgid ""
-"Diameter for the new tool to add in the Tool Table.\n"
-"If the tool is V-shape type then this value is automatically\n"
-"calculated from the other parameters."
-msgstr ""
-"Diameter for the new tool to add in the Tool Table.\n"
-"If the tool is V-shape type then this value is automatically\n"
-"calculated from the other parameters."
-
-#: flatcamTools/ToolNonCopperClear.py:288 flatcamTools/ToolPaint.py:190
+#: flatcamTools/ToolNCC.py:296 flatcamTools/ToolPaint.py:279
msgid ""
"Add a new tool to the Tool Table\n"
"with the diameter specified above."
@@ -14654,8 +15494,8 @@ msgstr ""
"Add a new tool to the Tool Table\n"
"with the diameter specified above."
-#: flatcamTools/ToolNonCopperClear.py:300 flatcamTools/ToolPaint.py:202
-#: flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolNCC.py:318 flatcamTools/ToolPaint.py:301
+#: flatcamTools/ToolSolderPaste.py:131
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table."
@@ -14663,23 +15503,7 @@ msgstr ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table."
-#: flatcamTools/ToolNonCopperClear.py:435
-msgid ""
-"- 'Itself' - the non copper clearing extent is based on the object that is "
-"copper cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"- 'Reference Object' - will do non copper clearing within the area specified "
-"by another object."
-msgstr ""
-"- 'Itself' - the non copper clearing extent is based on the object that is "
-"copper cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"- 'Reference Object' - will do non copper clearing within the area specified "
-"by another object."
-
-#: flatcamTools/ToolNonCopperClear.py:447
+#: flatcamTools/ToolNCC.py:554
msgid ""
"The type of FlatCAM object to be used as non copper clearing reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -14687,114 +15511,120 @@ msgstr ""
"The type of FlatCAM object to be used as non copper clearing reference.\n"
"It can be Gerber, Excellon or Geometry."
-#: flatcamTools/ToolNonCopperClear.py:471
+#: flatcamTools/ToolNCC.py:597 flatcamTools/ToolPaint.py:537
msgid "Generate Geometry"
msgstr "Generate Geometry"
-#: flatcamTools/ToolNonCopperClear.py:582 flatcamTools/ToolPaint.py:493
-#: flatcamTools/ToolSolderPaste.py:553
-msgid "New Tool"
-msgstr "New Tool"
-
-#: flatcamTools/ToolNonCopperClear.py:981 flatcamTools/ToolPaint.py:766
-#: flatcamTools/ToolSolderPaste.py:887
+#: flatcamTools/ToolNCC.py:1420 flatcamTools/ToolPaint.py:1179
+#: flatcamTools/ToolSolderPaste.py:888
msgid "Please enter a tool diameter to add, in Float format."
msgstr "Please enter a tool diameter to add, in Float format."
-#: flatcamTools/ToolNonCopperClear.py:1012 flatcamTools/ToolPaint.py:791
-msgid "Adding tool cancelled. Tool already in Tool Table."
-msgstr "Adding tool cancelled. Tool already in Tool Table."
+#: flatcamTools/ToolNCC.py:1451 flatcamTools/ToolNCC.py:4008
+#: flatcamTools/ToolPaint.py:1203 flatcamTools/ToolPaint.py:3598
+#: flatcamTools/ToolSolderPaste.py:917
+msgid "Cancelled. Tool already in Tool Table."
+msgstr "Cancelled. Tool already in Tool Table."
-#: flatcamTools/ToolNonCopperClear.py:1017 flatcamTools/ToolPaint.py:797
+#: flatcamTools/ToolNCC.py:1458 flatcamTools/ToolNCC.py:4025
+#: flatcamTools/ToolPaint.py:1208 flatcamTools/ToolPaint.py:3615
msgid "New tool added to Tool Table."
msgstr "New tool added to Tool Table."
-#: flatcamTools/ToolNonCopperClear.py:1061 flatcamTools/ToolPaint.py:843
+#: flatcamTools/ToolNCC.py:1502 flatcamTools/ToolPaint.py:1252
msgid "Tool from Tool Table was edited."
msgstr "Tool from Tool Table was edited."
-#: flatcamTools/ToolNonCopperClear.py:1072 flatcamTools/ToolPaint.py:855
-#: flatcamTools/ToolSolderPaste.py:978
-msgid "Edit cancelled. New diameter value is already in the Tool Table."
-msgstr "Edit cancelled. New diameter value is already in the Tool Table."
+#: flatcamTools/ToolNCC.py:1514 flatcamTools/ToolPaint.py:1264
+#: flatcamTools/ToolSolderPaste.py:977
+msgid "Cancelled. New diameter value is already in the Tool Table."
+msgstr "Cancelled. New diameter value is already in the Tool Table."
-#: flatcamTools/ToolNonCopperClear.py:1119 flatcamTools/ToolPaint.py:953
+#: flatcamTools/ToolNCC.py:1566 flatcamTools/ToolPaint.py:1362
msgid "Delete failed. Select a tool to delete."
msgstr "Delete failed. Select a tool to delete."
-#: flatcamTools/ToolNonCopperClear.py:1124 flatcamTools/ToolPaint.py:959
+#: flatcamTools/ToolNCC.py:1572 flatcamTools/ToolPaint.py:1368
msgid "Tool(s) deleted from Tool Table."
msgstr "Tool(s) deleted from Tool Table."
-#: flatcamTools/ToolNonCopperClear.py:1171
+#: flatcamTools/ToolNCC.py:1614
msgid "Wrong Tool Dia value format entered, use a number."
msgstr "Wrong Tool Dia value format entered, use a number."
-#: flatcamTools/ToolNonCopperClear.py:1180 flatcamTools/ToolPaint.py:1023
+#: flatcamTools/ToolNCC.py:1623 flatcamTools/ToolPaint.py:1419
msgid "No selected tools in Tool Table."
msgstr "No selected tools in Tool Table."
-#: flatcamTools/ToolNonCopperClear.py:1255 flatcamTools/ToolPaint.py:1195
+#: flatcamTools/ToolNCC.py:1699 flatcamTools/ToolPaint.py:1595
msgid "Click the end point of the paint area."
msgstr "Click the end point of the paint area."
-#: flatcamTools/ToolNonCopperClear.py:1410
-#: flatcamTools/ToolNonCopperClear.py:1412
-msgid "Non-Copper clearing ..."
-msgstr "Non-Copper clearing ..."
-
-#: flatcamTools/ToolNonCopperClear.py:1422
-msgid "NCC Tool started. Reading parameters."
-msgstr "NCC Tool started. Reading parameters."
-
-#: flatcamTools/ToolNonCopperClear.py:1485
+#: flatcamTools/ToolNCC.py:1971 flatcamTools/ToolNCC.py:2959
msgid "NCC Tool. Preparing non-copper polygons."
msgstr "NCC Tool. Preparing non-copper polygons."
-#: flatcamTools/ToolNonCopperClear.py:1581
-msgid ""
-"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
-msgstr ""
-"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
-
-#: flatcamTools/ToolNonCopperClear.py:1613
+#: flatcamTools/ToolNCC.py:2030 flatcamTools/ToolNCC.py:3087
msgid "NCC Tool. Calculate 'empty' area."
msgstr "NCC Tool. Calculate 'empty' area."
-#: flatcamTools/ToolNonCopperClear.py:1626
-#: flatcamTools/ToolNonCopperClear.py:1723
-#: flatcamTools/ToolNonCopperClear.py:1735
-#: flatcamTools/ToolNonCopperClear.py:2018
-#: flatcamTools/ToolNonCopperClear.py:2114
-#: flatcamTools/ToolNonCopperClear.py:2126
+#: flatcamTools/ToolNCC.py:2049 flatcamTools/ToolNCC.py:2155
+#: flatcamTools/ToolNCC.py:2169 flatcamTools/ToolNCC.py:3100
+#: flatcamTools/ToolNCC.py:3205 flatcamTools/ToolNCC.py:3220
+#: flatcamTools/ToolNCC.py:3486 flatcamTools/ToolNCC.py:3587
+#: flatcamTools/ToolNCC.py:3602
msgid "Buffering finished"
msgstr "Buffering finished"
-#: flatcamTools/ToolNonCopperClear.py:1742
-#: flatcamTools/ToolNonCopperClear.py:2132
-msgid "The selected object is not suitable for copper clearing."
-msgstr "The selected object is not suitable for copper clearing."
-
-#: flatcamTools/ToolNonCopperClear.py:1747
-#: flatcamTools/ToolNonCopperClear.py:2137
+#: flatcamTools/ToolNCC.py:2057 flatcamTools/ToolNCC.py:2176
+#: flatcamTools/ToolNCC.py:3108 flatcamTools/ToolNCC.py:3227
+#: flatcamTools/ToolNCC.py:3493 flatcamTools/ToolNCC.py:3609
msgid "Could not get the extent of the area to be non copper cleared."
msgstr "Could not get the extent of the area to be non copper cleared."
-#: flatcamTools/ToolNonCopperClear.py:1754
+#: flatcamTools/ToolNCC.py:2084 flatcamTools/ToolNCC.py:2162
+#: flatcamTools/ToolNCC.py:3135 flatcamTools/ToolNCC.py:3212
+#: flatcamTools/ToolNCC.py:3513 flatcamTools/ToolNCC.py:3594
+msgid ""
+"Isolation geometry is broken. Margin is less than isolation tool diameter."
+msgstr ""
+"Isolation geometry is broken. Margin is less than isolation tool diameter."
+
+#: flatcamTools/ToolNCC.py:2179 flatcamTools/ToolNCC.py:3231
+#: flatcamTools/ToolNCC.py:3612
+msgid "The selected object is not suitable for copper clearing."
+msgstr "The selected object is not suitable for copper clearing."
+
+#: flatcamTools/ToolNCC.py:2186 flatcamTools/ToolNCC.py:3238
msgid "NCC Tool. Finished calculation of 'empty' area."
msgstr "NCC Tool. Finished calculation of 'empty' area."
-#: flatcamTools/ToolNonCopperClear.py:1768
-#: flatcamTools/ToolNonCopperClear.py:2162
-msgid "NCC Tool clearing with tool diameter = "
-msgstr "NCC Tool clearing with tool diameter = "
+#: flatcamTools/ToolNCC.py:2217 flatcamTools/ToolNCC.py:2219
+#: flatcamTools/ToolNCC.py:2911 flatcamTools/ToolNCC.py:2913
+msgid "Non-Copper clearing ..."
+msgstr "Non-Copper clearing ..."
-#: flatcamTools/ToolNonCopperClear.py:1771
-#: flatcamTools/ToolNonCopperClear.py:2165
+#: flatcamTools/ToolNCC.py:2273 flatcamTools/ToolNCC.py:3055
+msgid ""
+"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
+msgstr ""
+"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
+
+#: flatcamTools/ToolNCC.py:2307 flatcamTools/ToolNCC.py:2587
+msgid "NCC Tool failed creating bounding box."
+msgstr "NCC Tool failed creating bounding box."
+
+#: flatcamTools/ToolNCC.py:2321 flatcamTools/ToolNCC.py:2604
+#: flatcamTools/ToolNCC.py:3251 flatcamTools/ToolNCC.py:3637
+msgid "NCC Tool clearing with tool diameter"
+msgstr "NCC Tool clearing with tool diameter"
+
+#: flatcamTools/ToolNCC.py:2321 flatcamTools/ToolNCC.py:2604
+#: flatcamTools/ToolNCC.py:3251 flatcamTools/ToolNCC.py:3637
msgid "started."
msgstr "started."
-#: flatcamTools/ToolNonCopperClear.py:1947
+#: flatcamTools/ToolNCC.py:2513 flatcamTools/ToolNCC.py:3412
msgid ""
"There is no NCC Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted "
@@ -14806,25 +15636,25 @@ msgstr ""
"geometry.\n"
"Change the painting parameters and try again."
-#: flatcamTools/ToolNonCopperClear.py:1967
+#: flatcamTools/ToolNCC.py:2522 flatcamTools/ToolNCC.py:3421
msgid "NCC Tool clear all done."
msgstr "NCC Tool clear all done."
-#: flatcamTools/ToolNonCopperClear.py:1969
+#: flatcamTools/ToolNCC.py:2525 flatcamTools/ToolNCC.py:3424
msgid "NCC Tool clear all done but the copper features isolation is broken for"
msgstr ""
"NCC Tool clear all done but the copper features isolation is broken for"
-#: flatcamTools/ToolNonCopperClear.py:1972
-#: flatcamTools/ToolNonCopperClear.py:2341
+#: flatcamTools/ToolNCC.py:2527 flatcamTools/ToolNCC.py:2812
+#: flatcamTools/ToolNCC.py:3426 flatcamTools/ToolNCC.py:3809
msgid "tools"
msgstr "tools"
-#: flatcamTools/ToolNonCopperClear.py:2337
+#: flatcamTools/ToolNCC.py:2808 flatcamTools/ToolNCC.py:3805
msgid "NCC Tool Rest Machining clear all done."
msgstr "NCC Tool Rest Machining clear all done."
-#: flatcamTools/ToolNonCopperClear.py:2340
+#: flatcamTools/ToolNCC.py:2811 flatcamTools/ToolNCC.py:3808
msgid ""
"NCC Tool Rest Machining clear all done but the copper features isolation is "
"broken for"
@@ -14832,7 +15662,11 @@ msgstr ""
"NCC Tool Rest Machining clear all done but the copper features isolation is "
"broken for"
-#: flatcamTools/ToolNonCopperClear.py:2787
+#: flatcamTools/ToolNCC.py:2923
+msgid "NCC Tool started. Reading parameters."
+msgstr "NCC Tool started. Reading parameters."
+
+#: flatcamTools/ToolNCC.py:3901
msgid ""
"Try to use the Buffering Type = Full in Preferences -> Gerber General. "
"Reload the Gerber file after this change."
@@ -14840,43 +15674,43 @@ msgstr ""
"Try to use the Buffering Type = Full in Preferences -> Gerber General. "
"Reload the Gerber file after this change."
-#: flatcamTools/ToolOptimal.py:79
+#: flatcamTools/ToolOptimal.py:80
msgid "Number of decimals kept for found distances."
msgstr "Number of decimals kept for found distances."
-#: flatcamTools/ToolOptimal.py:87
+#: flatcamTools/ToolOptimal.py:88
msgid "Minimum distance"
msgstr "Minimum distance"
-#: flatcamTools/ToolOptimal.py:88
+#: flatcamTools/ToolOptimal.py:89
msgid "Display minimum distance between copper features."
msgstr "Display minimum distance between copper features."
-#: flatcamTools/ToolOptimal.py:92
+#: flatcamTools/ToolOptimal.py:93
msgid "Determined"
msgstr "Determined"
-#: flatcamTools/ToolOptimal.py:106
+#: flatcamTools/ToolOptimal.py:107
msgid "Occurring"
msgstr "Occurring"
-#: flatcamTools/ToolOptimal.py:107
+#: flatcamTools/ToolOptimal.py:108
msgid "How many times this minimum is found."
msgstr "How many times this minimum is found."
-#: flatcamTools/ToolOptimal.py:113
+#: flatcamTools/ToolOptimal.py:114
msgid "Minimum points coordinates"
msgstr "Minimum points coordinates"
-#: flatcamTools/ToolOptimal.py:114 flatcamTools/ToolOptimal.py:120
+#: flatcamTools/ToolOptimal.py:115 flatcamTools/ToolOptimal.py:121
msgid "Coordinates for points where minimum distance was found."
msgstr "Coordinates for points where minimum distance was found."
-#: flatcamTools/ToolOptimal.py:133 flatcamTools/ToolOptimal.py:209
+#: flatcamTools/ToolOptimal.py:134 flatcamTools/ToolOptimal.py:210
msgid "Jump to selected position"
msgstr "Jump to selected position"
-#: flatcamTools/ToolOptimal.py:135 flatcamTools/ToolOptimal.py:211
+#: flatcamTools/ToolOptimal.py:136 flatcamTools/ToolOptimal.py:212
msgid ""
"Select a position in the Locations text box and then\n"
"click this button."
@@ -14884,11 +15718,11 @@ msgstr ""
"Select a position in the Locations text box and then\n"
"click this button."
-#: flatcamTools/ToolOptimal.py:143
+#: flatcamTools/ToolOptimal.py:144
msgid "Other distances"
msgstr "Other distances"
-#: flatcamTools/ToolOptimal.py:144
+#: flatcamTools/ToolOptimal.py:145
msgid ""
"Will display other distances in the Gerber file ordered from\n"
"the minimum to the maximum, not including the absolute minimum."
@@ -14896,13 +15730,13 @@ msgstr ""
"Will display other distances in the Gerber file ordered from\n"
"the minimum to the maximum, not including the absolute minimum."
-#: flatcamTools/ToolOptimal.py:149
+#: flatcamTools/ToolOptimal.py:150
msgid "Other distances points coordinates"
msgstr "Other distances points coordinates"
-#: flatcamTools/ToolOptimal.py:150 flatcamTools/ToolOptimal.py:164
-#: flatcamTools/ToolOptimal.py:171 flatcamTools/ToolOptimal.py:188
-#: flatcamTools/ToolOptimal.py:195
+#: flatcamTools/ToolOptimal.py:151 flatcamTools/ToolOptimal.py:165
+#: flatcamTools/ToolOptimal.py:172 flatcamTools/ToolOptimal.py:189
+#: flatcamTools/ToolOptimal.py:196
msgid ""
"Other distances and the coordinates for points\n"
"where the distance was found."
@@ -14910,19 +15744,19 @@ msgstr ""
"Other distances and the coordinates for points\n"
"where the distance was found."
-#: flatcamTools/ToolOptimal.py:163
+#: flatcamTools/ToolOptimal.py:164
msgid "Gerber distances"
msgstr "Gerber distances"
-#: flatcamTools/ToolOptimal.py:187
+#: flatcamTools/ToolOptimal.py:188
msgid "Points coordinates"
msgstr "Points coordinates"
-#: flatcamTools/ToolOptimal.py:219
+#: flatcamTools/ToolOptimal.py:220
msgid "Find Minimum"
msgstr "Find Minimum"
-#: flatcamTools/ToolOptimal.py:221
+#: flatcamTools/ToolOptimal.py:222
msgid ""
"Calculate the minimum distance between copper features,\n"
"this will allow the determination of the right tool to\n"
@@ -14932,11 +15766,11 @@ msgstr ""
"this will allow the determination of the right tool to\n"
"use for isolation or copper clearing."
-#: flatcamTools/ToolOptimal.py:346
+#: flatcamTools/ToolOptimal.py:347
msgid "Only Gerber objects can be evaluated."
msgstr "Only Gerber objects can be evaluated."
-#: flatcamTools/ToolOptimal.py:352
+#: flatcamTools/ToolOptimal.py:353
msgid ""
"Optimal Tool. Started to search for the minimum distance between copper "
"features."
@@ -14944,15 +15778,15 @@ msgstr ""
"Optimal Tool. Started to search for the minimum distance between copper "
"features."
-#: flatcamTools/ToolOptimal.py:362
+#: flatcamTools/ToolOptimal.py:363
msgid "Optimal Tool. Parsing geometry for aperture"
msgstr "Optimal Tool. Parsing geometry for aperture"
-#: flatcamTools/ToolOptimal.py:373
+#: flatcamTools/ToolOptimal.py:374
msgid "Optimal Tool. Creating a buffer for the object geometry."
msgstr "Optimal Tool. Creating a buffer for the object geometry."
-#: flatcamTools/ToolOptimal.py:383
+#: flatcamTools/ToolOptimal.py:384
msgid ""
"The Gerber object has one Polygon as geometry.\n"
"There are no distances between geometry elements to be found."
@@ -14960,17 +15794,17 @@ msgstr ""
"The Gerber object has one Polygon as geometry.\n"
"There are no distances between geometry elements to be found."
-#: flatcamTools/ToolOptimal.py:388
+#: flatcamTools/ToolOptimal.py:389
msgid ""
"Optimal Tool. Finding the distances between each two elements. Iterations"
msgstr ""
"Optimal Tool. Finding the distances between each two elements. Iterations"
-#: flatcamTools/ToolOptimal.py:423
+#: flatcamTools/ToolOptimal.py:424
msgid "Optimal Tool. Finding the minimum distance."
msgstr "Optimal Tool. Finding the minimum distance."
-#: flatcamTools/ToolOptimal.py:439
+#: flatcamTools/ToolOptimal.py:440
msgid "Optimal Tool. Finished successfully."
msgstr "Optimal Tool. Finished successfully."
@@ -14999,7 +15833,7 @@ msgstr "Open PDF file failed."
msgid "Rendered"
msgstr "Rendered"
-#: flatcamTools/ToolPaint.py:87
+#: flatcamTools/ToolPaint.py:82
msgid ""
"Specify the type of object to be painted.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -15015,7 +15849,7 @@ msgstr ""
msgid "Object to be painted."
msgstr "Object to be painted."
-#: flatcamTools/ToolPaint.py:114
+#: flatcamTools/ToolPaint.py:117
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for painting."
@@ -15023,7 +15857,7 @@ msgstr ""
"Tools pool from which the algorithm\n"
"will pick the ones used for painting."
-#: flatcamTools/ToolPaint.py:129
+#: flatcamTools/ToolPaint.py:134
msgid ""
"This is the Tool Number.\n"
"Painting will start with the tool with the biggest diameter,\n"
@@ -15039,7 +15873,7 @@ msgstr ""
"in the resulting geometry. This is because with some tools\n"
"this function will not be able to create painting geometry."
-#: flatcamTools/ToolPaint.py:141
+#: flatcamTools/ToolPaint.py:146
msgid ""
"The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is "
"informative only. Being circular,
the cut width in material is exactly "
@@ -15063,51 +15897,7 @@ msgstr ""
"table.
Choosing the V-Shape Tool Type automatically will select "
"the Operation Type in the resulting geometry as Isolation."
-#: flatcamTools/ToolPaint.py:178
-msgid "Diameter for the new tool."
-msgstr "Diameter for the new tool."
-
-#: flatcamTools/ToolPaint.py:253
-msgid ""
-"Algorithm for painting:\n"
-"- Standard: Fixed step inwards.\n"
-"- Seed-based: Outwards from seed.\n"
-"- Line-based: Parallel lines."
-msgstr ""
-"Algorithm for painting:\n"
-"- Standard: Fixed step inwards.\n"
-"- Seed-based: Outwards from seed.\n"
-"- Line-based: Parallel lines."
-
-#: flatcamTools/ToolPaint.py:283
-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"
-"\n"
-"If not checked, use the standard algorithm."
-msgstr ""
-"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"
-"\n"
-"If not checked, use the standard algorithm."
-
-#: flatcamTools/ToolPaint.py:307
-msgid "Polygon Selection"
-msgstr "Polygon Selection"
-
-#: flatcamTools/ToolPaint.py:309
-msgid "All Polygons"
-msgstr "All Polygons"
-
-#: flatcamTools/ToolPaint.py:328
+#: flatcamTools/ToolPaint.py:498
msgid ""
"The type of FlatCAM object to be used as paint reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -15115,11 +15905,7 @@ msgstr ""
"The type of FlatCAM object to be used as paint reference.\n"
"It can be Gerber, Excellon or Geometry."
-#: flatcamTools/ToolPaint.py:353
-msgid "Create Paint Geometry"
-msgstr "Create Paint Geometry"
-
-#: flatcamTools/ToolPaint.py:355
+#: flatcamTools/ToolPaint.py:539
msgid ""
"- 'Area Selection' - left mouse click to start selection of the area to be "
"painted.\n"
@@ -15137,161 +15923,176 @@ msgstr ""
"- 'Reference Object' - will do non copper clearing within the area\n"
"specified by another object."
-#: flatcamTools/ToolPaint.py:973
-msgid "Paint Tool. Reading parameters."
-msgstr "Paint Tool. Reading parameters."
-
-#: flatcamTools/ToolPaint.py:988
+#: flatcamTools/ToolPaint.py:1388
#, python-format
msgid "Could not retrieve object: %s"
msgstr "Could not retrieve object: %s"
-#: flatcamTools/ToolPaint.py:1002
+#: flatcamTools/ToolPaint.py:1398
msgid "Can't do Paint on MultiGeo geometries"
msgstr "Can't do Paint on MultiGeo geometries"
-#: flatcamTools/ToolPaint.py:1035
+#: flatcamTools/ToolPaint.py:1428
msgid "Click on a polygon to paint it."
msgstr "Click on a polygon to paint it."
-#: flatcamTools/ToolPaint.py:1054
+#: flatcamTools/ToolPaint.py:1448
msgid "Click the start point of the paint area."
msgstr "Click the start point of the paint area."
-#: flatcamTools/ToolPaint.py:1122
+#: flatcamTools/ToolPaint.py:1513
msgid "Click to add next polygon or right click to start painting."
msgstr "Click to add next polygon or right click to start painting."
-#: flatcamTools/ToolPaint.py:1135
+#: flatcamTools/ToolPaint.py:1526
msgid "Click to add/remove next polygon or right click to start painting."
msgstr "Click to add/remove next polygon or right click to start painting."
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349 flatcamTools/ToolPaint.py:1987
-#: flatcamTools/ToolPaint.py:1991 flatcamTools/ToolPaint.py:1994
-#: flatcamTools/ToolPaint.py:2276 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284 flatcamTools/ToolPaint.py:2458
-#: flatcamTools/ToolPaint.py:2465
-msgid "Paint Tool."
-msgstr "Paint Tool."
+#: flatcamTools/ToolPaint.py:2024
+msgid "Painting polygon with method: lines."
+msgstr "Painting polygon with method: lines."
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349
-msgid "Normal painting polygon task started."
-msgstr "Normal painting polygon task started."
+#: flatcamTools/ToolPaint.py:2036
+msgid "Failed. Painting polygon with method: seed."
+msgstr "Failed. Painting polygon with method: seed."
-#: flatcamTools/ToolPaint.py:1345 flatcamTools/ToolPaint.py:1706
-#: flatcamTools/ToolPaint.py:1988 flatcamTools/ToolPaint.py:2278
-#: flatcamTools/ToolPaint.py:2460
-msgid "Buffering geometry..."
-msgstr "Buffering geometry..."
+#: flatcamTools/ToolPaint.py:2047
+msgid "Failed. Painting polygon with method: standard."
+msgstr "Failed. Painting polygon with method: standard."
-#: flatcamTools/ToolPaint.py:1367
-msgid "No polygon found."
-msgstr "No polygon found."
-
-#: flatcamTools/ToolPaint.py:1401
-msgid "Painting polygon..."
-msgstr "Painting polygon..."
-
-#: flatcamTools/ToolPaint.py:1448
+#: flatcamTools/ToolPaint.py:2063
msgid "Geometry could not be painted completely"
msgstr "Geometry could not be painted completely"
-#: flatcamTools/ToolPaint.py:1481
-msgid ""
-"Could not do Paint. Try a different combination of parameters. Or a "
-"different strategy of paint"
-msgstr ""
-"Could not do Paint. Try a different combination of parameters. Or a "
-"different strategy of paint"
+#: flatcamTools/ToolPaint.py:2092 flatcamTools/ToolPaint.py:2095
+#: flatcamTools/ToolPaint.py:2103 flatcamTools/ToolPaint.py:2406
+#: flatcamTools/ToolPaint.py:2409 flatcamTools/ToolPaint.py:2417
+#: flatcamTools/ToolPaint.py:2905 flatcamTools/ToolPaint.py:2908
+#: flatcamTools/ToolPaint.py:2914
+msgid "Paint Tool."
+msgstr "Paint Tool."
-#: flatcamTools/ToolPaint.py:1533 flatcamTools/ToolPaint.py:1967
-#: flatcamTools/ToolPaint.py:2117 flatcamTools/ToolPaint.py:2438
-#: flatcamTools/ToolPaint.py:2592
-msgid ""
-"There is no Painting Geometry in the file.\n"
-"Usually it means that the tool diameter is too big for the painted "
-"geometry.\n"
-"Change the painting parameters and try again."
-msgstr ""
-"There is no Painting Geometry in the file.\n"
-"Usually it means that the tool diameter is too big for the painted "
-"geometry.\n"
-"Change the painting parameters and try again."
+#: flatcamTools/ToolPaint.py:2092 flatcamTools/ToolPaint.py:2095
+#: flatcamTools/ToolPaint.py:2103
+msgid "Normal painting polygon task started."
+msgstr "Normal painting polygon task started."
-#: flatcamTools/ToolPaint.py:1539
-msgid "Paint Single Done."
-msgstr "Paint Single Done."
+#: flatcamTools/ToolPaint.py:2093 flatcamTools/ToolPaint.py:2407
+#: flatcamTools/ToolPaint.py:2906
+msgid "Buffering geometry..."
+msgstr "Buffering geometry..."
-#: flatcamTools/ToolPaint.py:1571 flatcamTools/ToolPaint.py:2145
-#: flatcamTools/ToolPaint.py:2620
-msgid "Polygon Paint started ..."
-msgstr "Polygon Paint started ..."
+#: flatcamTools/ToolPaint.py:2115 flatcamTools/ToolPaint.py:2424
+#: flatcamTools/ToolPaint.py:2922
+msgid "No polygon found."
+msgstr "No polygon found."
-#: flatcamTools/ToolPaint.py:1623 flatcamTools/ToolPaint.py:2207
-msgid "Painting polygons..."
-msgstr "Painting polygons..."
+#: flatcamTools/ToolPaint.py:2145
+msgid "Painting polygon..."
+msgstr "Painting polygon..."
-#: flatcamTools/ToolPaint.py:1705 flatcamTools/ToolPaint.py:1708
-#: flatcamTools/ToolPaint.py:1710
-msgid "Paint Tool. Normal painting all task started."
-msgstr "Paint Tool. Normal painting all task started."
-
-#: flatcamTools/ToolPaint.py:1744 flatcamTools/ToolPaint.py:2023
-#: flatcamTools/ToolPaint.py:2325 flatcamTools/ToolPaint.py:2501
+#: flatcamTools/ToolPaint.py:2155 flatcamTools/ToolPaint.py:2470
+#: flatcamTools/ToolPaint.py:2660 flatcamTools/ToolPaint.py:2968
+#: flatcamTools/ToolPaint.py:3147
msgid "Painting with tool diameter = "
msgstr "Painting with tool diameter = "
-#: flatcamTools/ToolPaint.py:1747 flatcamTools/ToolPaint.py:2026
-#: flatcamTools/ToolPaint.py:2328 flatcamTools/ToolPaint.py:2504
+#: flatcamTools/ToolPaint.py:2156 flatcamTools/ToolPaint.py:2471
+#: flatcamTools/ToolPaint.py:2661 flatcamTools/ToolPaint.py:2969
+#: flatcamTools/ToolPaint.py:3148
msgid "started"
msgstr "started"
-#: flatcamTools/ToolPaint.py:1976
+#: flatcamTools/ToolPaint.py:2181 flatcamTools/ToolPaint.py:2497
+#: flatcamTools/ToolPaint.py:2687 flatcamTools/ToolPaint.py:2995
+#: flatcamTools/ToolPaint.py:3174
+msgid "Margin parameter too big. Tool is not used"
+msgstr "Margin parameter too big. Tool is not used"
+
+#: flatcamTools/ToolPaint.py:2239 flatcamTools/ToolPaint.py:2566
+#: flatcamTools/ToolPaint.py:2744 flatcamTools/ToolPaint.py:3058
+#: flatcamTools/ToolPaint.py:3236
+msgid ""
+"Could not do Paint. Try a different combination of parameters. Or a "
+"different strategy of paint"
+msgstr ""
+"Could not do Paint. Try a different combination of parameters. Or a "
+"different strategy of paint"
+
+#: flatcamTools/ToolPaint.py:2296 flatcamTools/ToolPaint.py:2632
+#: flatcamTools/ToolPaint.py:2801 flatcamTools/ToolPaint.py:3119
+#: flatcamTools/ToolPaint.py:3298
+msgid ""
+"There is no Painting Geometry in the file.\n"
+"Usually it means that the tool diameter is too big for the painted "
+"geometry.\n"
+"Change the painting parameters and try again."
+msgstr ""
+"There is no Painting Geometry in the file.\n"
+"Usually it means that the tool diameter is too big for the painted "
+"geometry.\n"
+"Change the painting parameters and try again."
+
+#: flatcamTools/ToolPaint.py:2319
+msgid "Paint Single failed."
+msgstr "Paint Single failed."
+
+#: flatcamTools/ToolPaint.py:2325
+msgid "Paint Single Done."
+msgstr "Paint Single Done."
+
+#: flatcamTools/ToolPaint.py:2327 flatcamTools/ToolPaint.py:2837
+#: flatcamTools/ToolPaint.py:3334
+msgid "Polygon Paint started ..."
+msgstr "Polygon Paint started ..."
+
+#: flatcamTools/ToolPaint.py:2406 flatcamTools/ToolPaint.py:2409
+#: flatcamTools/ToolPaint.py:2417
+msgid "Paint all polygons task started."
+msgstr "Paint all polygons task started."
+
+#: flatcamTools/ToolPaint.py:2448 flatcamTools/ToolPaint.py:2946
+msgid "Painting polygons..."
+msgstr "Painting polygons..."
+
+#: flatcamTools/ToolPaint.py:2641
msgid "Paint All Done."
msgstr "Paint All Done."
-#: flatcamTools/ToolPaint.py:1987 flatcamTools/ToolPaint.py:1991
-#: flatcamTools/ToolPaint.py:1994
-msgid "Rest machining painting all task started."
-msgstr "Rest machining painting all task started."
-
-#: flatcamTools/ToolPaint.py:2072 flatcamTools/ToolPaint.py:2388
-#: flatcamTools/ToolPaint.py:2548
-msgid ""
-"Could not do Paint All. Try a different combination of parameters. Or a "
-"different Method of paint"
-msgstr ""
-"Could not do Paint All. Try a different combination of parameters. Or a "
-"different Method of paint"
-
-#: flatcamTools/ToolPaint.py:2126 flatcamTools/ToolPaint.py:2601
+#: flatcamTools/ToolPaint.py:2810 flatcamTools/ToolPaint.py:3307
msgid "Paint All with Rest-Machining done."
msgstr "Paint All with Rest-Machining done."
-#: flatcamTools/ToolPaint.py:2277 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284
-msgid "Normal painting area task started."
-msgstr "Normal painting area task started."
+#: flatcamTools/ToolPaint.py:2829
+msgid "Paint All failed."
+msgstr "Paint All failed."
-#: flatcamTools/ToolPaint.py:2447
+#: flatcamTools/ToolPaint.py:2835
+msgid "Paint Poly All Done."
+msgstr "Paint Poly All Done."
+
+#: flatcamTools/ToolPaint.py:2905 flatcamTools/ToolPaint.py:2908
+#: flatcamTools/ToolPaint.py:2914
+msgid "Painting area task started."
+msgstr "Painting area task started."
+
+#: flatcamTools/ToolPaint.py:3128
msgid "Paint Area Done."
msgstr "Paint Area Done."
-#: flatcamTools/ToolPaint.py:2459 flatcamTools/ToolPaint.py:2465
-msgid "Rest machining painting area task started."
-msgstr "Rest machining painting area task started."
+#: flatcamTools/ToolPaint.py:3326
+msgid "Paint Area failed."
+msgstr "Paint Area failed."
-#: flatcamTools/ToolPaint.py:2462
-msgid "Paint Tool. Rest machining painting area task started."
-msgstr "Paint Tool. Rest machining painting area task started."
+#: flatcamTools/ToolPaint.py:3332
+msgid "Paint Poly Area Done."
+msgstr "Paint Poly Area Done."
#: flatcamTools/ToolPanelize.py:34
msgid "Panelize PCB"
msgstr "Panelize PCB"
-#: flatcamTools/ToolPanelize.py:68
+#: flatcamTools/ToolPanelize.py:56
msgid ""
"Specify the type of object to be panelized\n"
"It can be of type: Gerber, Excellon or Geometry.\n"
@@ -15303,7 +16104,7 @@ msgstr ""
"The selection here decide the type of objects that will be\n"
"in the Object combobox."
-#: flatcamTools/ToolPanelize.py:83
+#: flatcamTools/ToolPanelize.py:89
msgid ""
"Object to be panelized. This means that it will\n"
"be duplicated in an array of rows and columns."
@@ -15311,11 +16112,11 @@ msgstr ""
"Object to be panelized. This means that it will\n"
"be duplicated in an array of rows and columns."
-#: flatcamTools/ToolPanelize.py:96
+#: flatcamTools/ToolPanelize.py:102
msgid "Penelization Reference"
msgstr "Penelization Reference"
-#: flatcamTools/ToolPanelize.py:98
+#: flatcamTools/ToolPanelize.py:104
msgid ""
"Choose the reference for panelization:\n"
"- Object = the bounding box of a different object\n"
@@ -15335,11 +16136,11 @@ msgstr ""
"to this reference object therefore maintaining the panelized\n"
"objects in sync."
-#: flatcamTools/ToolPanelize.py:121
+#: flatcamTools/ToolPanelize.py:125
msgid "Box Type"
msgstr "Box Type"
-#: flatcamTools/ToolPanelize.py:123
+#: flatcamTools/ToolPanelize.py:127
msgid ""
"Specify the type of object to be used as an container for\n"
"panelization. It can be: Gerber or Geometry type.\n"
@@ -15351,7 +16152,7 @@ msgstr ""
"The selection here decide the type of objects that will be\n"
"in the Box Object combobox."
-#: flatcamTools/ToolPanelize.py:138
+#: flatcamTools/ToolPanelize.py:141
msgid ""
"The actual object that is used a container for the\n"
" selected object that is to be panelized."
@@ -15359,11 +16160,11 @@ msgstr ""
"The actual object that is used a container for the\n"
" selected object that is to be panelized."
-#: flatcamTools/ToolPanelize.py:144
+#: flatcamTools/ToolPanelize.py:147
msgid "Panel Data"
msgstr "Panel Data"
-#: flatcamTools/ToolPanelize.py:146
+#: flatcamTools/ToolPanelize.py:149
msgid ""
"This informations will shape the resulting panel.\n"
"The number of rows and columns will set how many\n"
@@ -15379,7 +16180,7 @@ msgstr ""
"The spacings will set the distance between any two\n"
"elements of the panel array."
-#: flatcamTools/ToolPanelize.py:205
+#: flatcamTools/ToolPanelize.py:208
msgid ""
"Choose the type of object for the panel object:\n"
"- Geometry\n"
@@ -15389,15 +16190,15 @@ msgstr ""
"- Geometry\n"
"- Gerber"
-#: flatcamTools/ToolPanelize.py:213
+#: flatcamTools/ToolPanelize.py:216
msgid "Constrain panel within"
msgstr "Constrain panel within"
-#: flatcamTools/ToolPanelize.py:249
+#: flatcamTools/ToolPanelize.py:252
msgid "Panelize Object"
msgstr "Panelize Object"
-#: flatcamTools/ToolPanelize.py:251 flatcamTools/ToolRulesCheck.py:492
+#: flatcamTools/ToolPanelize.py:254 flatcamTools/ToolRulesCheck.py:501
msgid ""
"Panelize the specified object around the specified box.\n"
"In other words it creates multiple copies of the source object,\n"
@@ -15407,31 +16208,31 @@ msgstr ""
"In other words it creates multiple copies of the source object,\n"
"arranged in a 2D array of rows and columns."
-#: flatcamTools/ToolPanelize.py:319
+#: flatcamTools/ToolPanelize.py:322
msgid "Panel. Tool"
msgstr "Panel. Tool"
-#: flatcamTools/ToolPanelize.py:448
+#: flatcamTools/ToolPanelize.py:460
msgid "Columns or Rows are zero value. Change them to a positive integer."
msgstr "Columns or Rows are zero value. Change them to a positive integer."
-#: flatcamTools/ToolPanelize.py:485
+#: flatcamTools/ToolPanelize.py:497
msgid "Generating panel ... "
msgstr "Generating panel ... "
-#: flatcamTools/ToolPanelize.py:768
+#: flatcamTools/ToolPanelize.py:777
msgid "Generating panel ... Adding the Gerber code."
msgstr "Generating panel ... Adding the Gerber code."
-#: flatcamTools/ToolPanelize.py:779
+#: flatcamTools/ToolPanelize.py:788
msgid "Generating panel... Spawning copies"
msgstr "Generating panel... Spawning copies"
-#: flatcamTools/ToolPanelize.py:786
+#: flatcamTools/ToolPanelize.py:795
msgid "Panel done..."
msgstr "Panel done..."
-#: flatcamTools/ToolPanelize.py:789
+#: flatcamTools/ToolPanelize.py:798
#, python-brace-format
msgid ""
"{text} Too big for the constrain area. Final panel has {col} columns and "
@@ -15440,7 +16241,7 @@ msgstr ""
"{text} Too big for the constrain area. Final panel has {col} columns and "
"{row} rows"
-#: flatcamTools/ToolPanelize.py:798
+#: flatcamTools/ToolPanelize.py:807
msgid "Panel created successfully."
msgstr "Panel created successfully."
@@ -15580,163 +16381,212 @@ msgstr "PcbWizard .INF file loaded."
msgid "Main PcbWizard Excellon file loaded."
msgstr "Main PcbWizard Excellon file loaded."
-#: flatcamTools/ToolPcbWizard.py:431
+#: flatcamTools/ToolPcbWizard.py:428
msgid "Cannot parse file"
msgstr "Cannot parse file"
-#: flatcamTools/ToolPcbWizard.py:456
+#: flatcamTools/ToolPcbWizard.py:452
msgid "Importing Excellon."
msgstr "Importing Excellon."
-#: flatcamTools/ToolPcbWizard.py:463
+#: flatcamTools/ToolPcbWizard.py:459
msgid "Import Excellon file failed."
msgstr "Import Excellon file failed."
-#: flatcamTools/ToolPcbWizard.py:471
+#: flatcamTools/ToolPcbWizard.py:467
msgid "Imported"
msgstr "Imported"
-#: flatcamTools/ToolPcbWizard.py:475
+#: flatcamTools/ToolPcbWizard.py:471
msgid "Excellon merging is in progress. Please wait..."
msgstr "Excellon merging is in progress. Please wait..."
-#: flatcamTools/ToolPcbWizard.py:478
+#: flatcamTools/ToolPcbWizard.py:474
msgid "The imported Excellon file is None."
msgstr "The imported Excellon file is None."
-#: flatcamTools/ToolProperties.py:119
-msgid "Properties Tool was not displayed. No object selected."
-msgstr "Properties Tool was not displayed. No object selected."
-
-#: flatcamTools/ToolProperties.py:134
+#: flatcamTools/ToolProperties.py:131
msgid "Object Properties are displayed."
msgstr "Object Properties are displayed."
-#: flatcamTools/ToolProperties.py:135
+#: flatcamTools/ToolProperties.py:136
msgid "Properties Tool"
msgstr "Properties Tool"
-#: flatcamTools/ToolProperties.py:149
+#: flatcamTools/ToolProperties.py:150
msgid "TYPE"
msgstr "TYPE"
-#: flatcamTools/ToolProperties.py:150
+#: flatcamTools/ToolProperties.py:151
msgid "NAME"
msgstr "NAME"
-#: flatcamTools/ToolProperties.py:151
+#: flatcamTools/ToolProperties.py:153
msgid "Dimensions"
msgstr "Dimensions"
-#: flatcamTools/ToolProperties.py:165
-msgid "Others"
-msgstr "Others"
-
-#: flatcamTools/ToolProperties.py:172
+#: flatcamTools/ToolProperties.py:181
msgid "Geo Type"
msgstr "Geo Type"
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:184
msgid "Single-Geo"
msgstr "Single-Geo"
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:185
msgid "Multi-Geo"
msgstr "Multi-Geo"
-#: flatcamTools/ToolProperties.py:181
+#: flatcamTools/ToolProperties.py:196
msgid "Calculating dimensions ... Please wait."
msgstr "Calculating dimensions ... Please wait."
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:325
-#: flatcamTools/ToolProperties.py:327
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:343
+#: flatcamTools/ToolProperties.py:345
msgid "Inch"
msgstr "Inch"
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:326
-#: flatcamTools/ToolProperties.py:328
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:344
+#: flatcamTools/ToolProperties.py:346
msgid "Metric"
msgstr "Metric"
-#: flatcamTools/ToolProperties.py:401 flatcamTools/ToolProperties.py:459
+#: flatcamTools/ToolProperties.py:421 flatcamTools/ToolProperties.py:486
msgid "Drills number"
msgstr "Drills number"
-#: flatcamTools/ToolProperties.py:402 flatcamTools/ToolProperties.py:461
+#: flatcamTools/ToolProperties.py:422 flatcamTools/ToolProperties.py:488
msgid "Slots number"
msgstr "Slots number"
-#: flatcamTools/ToolProperties.py:404
+#: flatcamTools/ToolProperties.py:424
msgid "Drills total number:"
msgstr "Drills total number:"
-#: flatcamTools/ToolProperties.py:405
+#: flatcamTools/ToolProperties.py:425
msgid "Slots total number:"
msgstr "Slots total number:"
-#: flatcamTools/ToolProperties.py:411 flatcamTools/ToolProperties.py:426
-#: flatcamTools/ToolProperties.py:429 flatcamTools/ToolProperties.py:432
-#: flatcamTools/ToolProperties.py:456
+#: flatcamTools/ToolProperties.py:452 flatcamTools/ToolProperties.py:455
+#: flatcamTools/ToolProperties.py:458 flatcamTools/ToolProperties.py:483
msgid "Present"
msgstr "Present"
-#: flatcamTools/ToolProperties.py:427 flatcamTools/ToolProperties.py:457
+#: flatcamTools/ToolProperties.py:453 flatcamTools/ToolProperties.py:484
msgid "Solid Geometry"
msgstr "Solid Geometry"
-#: flatcamTools/ToolProperties.py:430
+#: flatcamTools/ToolProperties.py:456
msgid "GCode Text"
msgstr "GCode Text"
-#: flatcamTools/ToolProperties.py:433
+#: flatcamTools/ToolProperties.py:459
msgid "GCode Geometry"
msgstr "GCode Geometry"
-#: flatcamTools/ToolProperties.py:435
+#: flatcamTools/ToolProperties.py:462
msgid "Data"
msgstr "Data"
-#: flatcamTools/ToolProperties.py:468
+#: flatcamTools/ToolProperties.py:495
msgid "Depth of Cut"
msgstr "Depth of Cut"
-#: flatcamTools/ToolProperties.py:480
+#: flatcamTools/ToolProperties.py:507
msgid "Clearance Height"
msgstr "Clearance Height"
-#: flatcamTools/ToolProperties.py:512
+#: flatcamTools/ToolProperties.py:539
msgid "Routing time"
msgstr "Routing time"
-#: flatcamTools/ToolProperties.py:519
+#: flatcamTools/ToolProperties.py:546
msgid "Travelled distance"
msgstr "Travelled distance"
-#: flatcamTools/ToolProperties.py:560
+#: flatcamTools/ToolProperties.py:564
msgid "Width"
msgstr "Width"
-#: flatcamTools/ToolProperties.py:566 flatcamTools/ToolProperties.py:574
+#: flatcamTools/ToolProperties.py:570 flatcamTools/ToolProperties.py:578
msgid "Box Area"
msgstr "Box Area"
-#: flatcamTools/ToolProperties.py:569 flatcamTools/ToolProperties.py:577
+#: flatcamTools/ToolProperties.py:573 flatcamTools/ToolProperties.py:581
msgid "Convex_Hull Area"
msgstr "Convex_Hull Area"
-#: flatcamTools/ToolProperties.py:583 flatcamTools/ToolProperties.py:585
+#: flatcamTools/ToolProperties.py:588 flatcamTools/ToolProperties.py:591
msgid "Copper Area"
msgstr "Copper Area"
-#: flatcamTools/ToolQRCode.py:79
+#: flatcamTools/ToolPunchGerber.py:30 flatcamTools/ToolPunchGerber.py:323
+msgid "Punch Gerber"
+msgstr "Punch Gerber"
+
+#: flatcamTools/ToolPunchGerber.py:65
+msgid "Gerber into which to punch holes"
+msgstr "Gerber into which to punch holes"
+
+#: flatcamTools/ToolPunchGerber.py:85
+msgid "ALL"
+msgstr "ALL"
+
+#: flatcamTools/ToolPunchGerber.py:166
+msgid ""
+"Remove the geometry of Excellon from the Gerber to create the holes in pads."
+msgstr ""
+"Remove the geometry of Excellon from the Gerber to create the holes in pads."
+
+#: flatcamTools/ToolPunchGerber.py:325
+msgid ""
+"Create a Gerber object from the selected object, within\n"
+"the specified box."
+msgstr ""
+"Create a Gerber object from the selected object, within\n"
+"the specified box."
+
+#: flatcamTools/ToolPunchGerber.py:425
+msgid "Punch Tool"
+msgstr "Punch Tool"
+
+#: flatcamTools/ToolPunchGerber.py:599
+msgid "The value of the fixed diameter is 0.0. Aborting."
+msgstr "The value of the fixed diameter is 0.0. Aborting."
+
+#: flatcamTools/ToolPunchGerber.py:607
+msgid ""
+" Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+" Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+
+#: flatcamTools/ToolPunchGerber.py:619
+msgid ""
+"Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+"Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+
+#: flatcamTools/ToolPunchGerber.py:656
+msgid ""
+"Could not generate punched hole Gerber because the newly created object "
+"geometry is the same as the one in the source object geometry..."
+msgstr ""
+"Could not generate punched hole Gerber because the newly created object "
+"geometry is the same as the one in the source object geometry..."
+
+#: flatcamTools/ToolQRCode.py:80
msgid "Gerber Object to which the QRCode will be added."
msgstr "Gerber Object to which the QRCode will be added."
-#: flatcamTools/ToolQRCode.py:92
+#: flatcamTools/ToolQRCode.py:93
msgid "QRCode Parameters"
msgstr "QRCode Parameters"
-#: flatcamTools/ToolQRCode.py:94
+#: flatcamTools/ToolQRCode.py:95
msgid "The parameters used to shape the QRCode."
msgstr "The parameters used to shape the QRCode."
@@ -15780,31 +16630,27 @@ msgstr "Insert QRCode"
msgid "Create the QRCode object."
msgstr "Create the QRCode object."
-#: flatcamTools/ToolQRCode.py:413 flatcamTools/ToolQRCode.py:748
-#: flatcamTools/ToolQRCode.py:797
+#: flatcamTools/ToolQRCode.py:415 flatcamTools/ToolQRCode.py:750
+#: flatcamTools/ToolQRCode.py:799
msgid "Cancelled. There is no QRCode Data in the text box."
msgstr "Cancelled. There is no QRCode Data in the text box."
-#: flatcamTools/ToolQRCode.py:432
+#: flatcamTools/ToolQRCode.py:434
msgid "Generating QRCode geometry"
msgstr "Generating QRCode geometry"
-#: flatcamTools/ToolQRCode.py:472
+#: flatcamTools/ToolQRCode.py:474
msgid "Click on the Destination point ..."
msgstr "Click on the Destination point ..."
-#: flatcamTools/ToolQRCode.py:587
+#: flatcamTools/ToolQRCode.py:589
msgid "QRCode Tool done."
msgstr "QRCode Tool done."
-#: flatcamTools/ToolQRCode.py:780 flatcamTools/ToolQRCode.py:784
+#: flatcamTools/ToolQRCode.py:782 flatcamTools/ToolQRCode.py:786
msgid "Export PNG"
msgstr "Export PNG"
-#: flatcamTools/ToolQRCode.py:789
-msgid " Export PNG cancelled."
-msgstr " Export PNG cancelled."
-
#: flatcamTools/ToolRulesCheck.py:33
msgid "Check Rules"
msgstr "Check Rules"
@@ -15817,71 +16663,71 @@ msgstr "Gerber Files"
msgid "Gerber objects for which to check rules."
msgstr "Gerber objects for which to check rules."
-#: flatcamTools/ToolRulesCheck.py:77
+#: flatcamTools/ToolRulesCheck.py:78
msgid "Top"
msgstr "Top"
-#: flatcamTools/ToolRulesCheck.py:79
+#: flatcamTools/ToolRulesCheck.py:80
msgid "The Top Gerber Copper object for which rules are checked."
msgstr "The Top Gerber Copper object for which rules are checked."
-#: flatcamTools/ToolRulesCheck.py:94
+#: flatcamTools/ToolRulesCheck.py:96
msgid "Bottom"
msgstr "Bottom"
-#: flatcamTools/ToolRulesCheck.py:96
+#: flatcamTools/ToolRulesCheck.py:98
msgid "The Bottom Gerber Copper object for which rules are checked."
msgstr "The Bottom Gerber Copper object for which rules are checked."
-#: flatcamTools/ToolRulesCheck.py:111
+#: flatcamTools/ToolRulesCheck.py:114
msgid "SM Top"
msgstr "SM Top"
-#: flatcamTools/ToolRulesCheck.py:113
+#: flatcamTools/ToolRulesCheck.py:116
msgid "The Top Gerber Solder Mask object for which rules are checked."
msgstr "The Top Gerber Solder Mask object for which rules are checked."
-#: flatcamTools/ToolRulesCheck.py:128
+#: flatcamTools/ToolRulesCheck.py:132
msgid "SM Bottom"
msgstr "SM Bottom"
-#: flatcamTools/ToolRulesCheck.py:130
+#: flatcamTools/ToolRulesCheck.py:134
msgid "The Bottom Gerber Solder Mask object for which rules are checked."
msgstr "The Bottom Gerber Solder Mask object for which rules are checked."
-#: flatcamTools/ToolRulesCheck.py:145
+#: flatcamTools/ToolRulesCheck.py:150
msgid "Silk Top"
msgstr "Silk Top"
-#: flatcamTools/ToolRulesCheck.py:147
+#: flatcamTools/ToolRulesCheck.py:152
msgid "The Top Gerber Silkscreen object for which rules are checked."
msgstr "The Top Gerber Silkscreen object for which rules are checked."
-#: flatcamTools/ToolRulesCheck.py:162
+#: flatcamTools/ToolRulesCheck.py:168
msgid "Silk Bottom"
msgstr "Silk Bottom"
-#: flatcamTools/ToolRulesCheck.py:164
+#: flatcamTools/ToolRulesCheck.py:170
msgid "The Bottom Gerber Silkscreen object for which rules are checked."
msgstr "The Bottom Gerber Silkscreen object for which rules are checked."
-#: flatcamTools/ToolRulesCheck.py:181
+#: flatcamTools/ToolRulesCheck.py:188
msgid "The Gerber Outline (Cutout) object for which rules are checked."
msgstr "The Gerber Outline (Cutout) object for which rules are checked."
-#: flatcamTools/ToolRulesCheck.py:192
+#: flatcamTools/ToolRulesCheck.py:199
msgid "Excellon Objects"
msgstr "Excellon Objects"
-#: flatcamTools/ToolRulesCheck.py:194
+#: flatcamTools/ToolRulesCheck.py:201
msgid "Excellon objects for which to check rules."
msgstr "Excellon objects for which to check rules."
-#: flatcamTools/ToolRulesCheck.py:205
+#: flatcamTools/ToolRulesCheck.py:213
msgid "Excellon 1"
msgstr "Excellon 1"
-#: flatcamTools/ToolRulesCheck.py:207
+#: flatcamTools/ToolRulesCheck.py:215
msgid ""
"Excellon object for which to check rules.\n"
"Holds the plated holes or a general Excellon file content."
@@ -15889,11 +16735,11 @@ msgstr ""
"Excellon object for which to check rules.\n"
"Holds the plated holes or a general Excellon file content."
-#: flatcamTools/ToolRulesCheck.py:223
+#: flatcamTools/ToolRulesCheck.py:232
msgid "Excellon 2"
msgstr "Excellon 2"
-#: flatcamTools/ToolRulesCheck.py:225
+#: flatcamTools/ToolRulesCheck.py:234
msgid ""
"Excellon object for which to check rules.\n"
"Holds the non-plated holes."
@@ -15901,35 +16747,35 @@ msgstr ""
"Excellon object for which to check rules.\n"
"Holds the non-plated holes."
-#: flatcamTools/ToolRulesCheck.py:238
+#: flatcamTools/ToolRulesCheck.py:247
msgid "All Rules"
msgstr "All Rules"
-#: flatcamTools/ToolRulesCheck.py:240
+#: flatcamTools/ToolRulesCheck.py:249
msgid "This check/uncheck all the rules below."
msgstr "This check/uncheck all the rules below."
-#: flatcamTools/ToolRulesCheck.py:490
+#: flatcamTools/ToolRulesCheck.py:499
msgid "Run Rules Check"
msgstr "Run Rules Check"
-#: flatcamTools/ToolRulesCheck.py:1149 flatcamTools/ToolRulesCheck.py:1209
-#: flatcamTools/ToolRulesCheck.py:1246 flatcamTools/ToolRulesCheck.py:1318
-#: flatcamTools/ToolRulesCheck.py:1372 flatcamTools/ToolRulesCheck.py:1410
-#: flatcamTools/ToolRulesCheck.py:1475
+#: flatcamTools/ToolRulesCheck.py:1158 flatcamTools/ToolRulesCheck.py:1218
+#: flatcamTools/ToolRulesCheck.py:1255 flatcamTools/ToolRulesCheck.py:1327
+#: flatcamTools/ToolRulesCheck.py:1381 flatcamTools/ToolRulesCheck.py:1419
+#: flatcamTools/ToolRulesCheck.py:1484
msgid "Value is not valid."
msgstr "Value is not valid."
-#: flatcamTools/ToolRulesCheck.py:1163
+#: flatcamTools/ToolRulesCheck.py:1172
msgid "TOP -> Copper to Copper clearance"
msgstr "TOP -> Copper to Copper clearance"
-#: flatcamTools/ToolRulesCheck.py:1174
+#: flatcamTools/ToolRulesCheck.py:1183
msgid "BOTTOM -> Copper to Copper clearance"
msgstr "BOTTOM -> Copper to Copper clearance"
-#: flatcamTools/ToolRulesCheck.py:1179 flatcamTools/ToolRulesCheck.py:1273
-#: flatcamTools/ToolRulesCheck.py:1437
+#: flatcamTools/ToolRulesCheck.py:1188 flatcamTools/ToolRulesCheck.py:1282
+#: flatcamTools/ToolRulesCheck.py:1446
msgid ""
"At least one Gerber object has to be selected for this rule but none is "
"selected."
@@ -15937,13 +16783,13 @@ msgstr ""
"At least one Gerber object has to be selected for this rule but none is "
"selected."
-#: flatcamTools/ToolRulesCheck.py:1215
+#: flatcamTools/ToolRulesCheck.py:1224
msgid ""
"One of the copper Gerber objects or the Outline Gerber object is not valid."
msgstr ""
"One of the copper Gerber objects or the Outline Gerber object is not valid."
-#: flatcamTools/ToolRulesCheck.py:1228 flatcamTools/ToolRulesCheck.py:1392
+#: flatcamTools/ToolRulesCheck.py:1237 flatcamTools/ToolRulesCheck.py:1401
msgid ""
"Outline Gerber object presence is mandatory for this rule but it is not "
"selected."
@@ -15951,31 +16797,31 @@ msgstr ""
"Outline Gerber object presence is mandatory for this rule but it is not "
"selected."
-#: flatcamTools/ToolRulesCheck.py:1245 flatcamTools/ToolRulesCheck.py:1272
+#: flatcamTools/ToolRulesCheck.py:1254 flatcamTools/ToolRulesCheck.py:1281
msgid "Silk to Silk clearance"
msgstr "Silk to Silk clearance"
-#: flatcamTools/ToolRulesCheck.py:1258
+#: flatcamTools/ToolRulesCheck.py:1267
msgid "TOP -> Silk to Silk clearance"
msgstr "TOP -> Silk to Silk clearance"
-#: flatcamTools/ToolRulesCheck.py:1268
+#: flatcamTools/ToolRulesCheck.py:1277
msgid "BOTTOM -> Silk to Silk clearance"
msgstr "BOTTOM -> Silk to Silk clearance"
-#: flatcamTools/ToolRulesCheck.py:1324
+#: flatcamTools/ToolRulesCheck.py:1333
msgid "One or more of the Gerber objects is not valid."
msgstr "One or more of the Gerber objects is not valid."
-#: flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1341
msgid "TOP -> Silk to Solder Mask Clearance"
msgstr "TOP -> Silk to Solder Mask Clearance"
-#: flatcamTools/ToolRulesCheck.py:1338
+#: flatcamTools/ToolRulesCheck.py:1347
msgid "BOTTOM -> Silk to Solder Mask Clearance"
msgstr "BOTTOM -> Silk to Solder Mask Clearance"
-#: flatcamTools/ToolRulesCheck.py:1342
+#: flatcamTools/ToolRulesCheck.py:1351
msgid ""
"Both Silk and Solder Mask Gerber objects has to be either both Top or both "
"Bottom."
@@ -15983,60 +16829,60 @@ msgstr ""
"Both Silk and Solder Mask Gerber objects has to be either both Top or both "
"Bottom."
-#: flatcamTools/ToolRulesCheck.py:1378
+#: flatcamTools/ToolRulesCheck.py:1387
msgid ""
"One of the Silk Gerber objects or the Outline Gerber object is not valid."
msgstr ""
"One of the Silk Gerber objects or the Outline Gerber object is not valid."
-#: flatcamTools/ToolRulesCheck.py:1422
+#: flatcamTools/ToolRulesCheck.py:1431
msgid "TOP -> Minimum Solder Mask Sliver"
msgstr "TOP -> Minimum Solder Mask Sliver"
-#: flatcamTools/ToolRulesCheck.py:1432
+#: flatcamTools/ToolRulesCheck.py:1441
msgid "BOTTOM -> Minimum Solder Mask Sliver"
msgstr "BOTTOM -> Minimum Solder Mask Sliver"
-#: flatcamTools/ToolRulesCheck.py:1481
+#: flatcamTools/ToolRulesCheck.py:1490
msgid "One of the Copper Gerber objects or the Excellon objects is not valid."
msgstr "One of the Copper Gerber objects or the Excellon objects is not valid."
-#: flatcamTools/ToolRulesCheck.py:1497
+#: flatcamTools/ToolRulesCheck.py:1506
msgid ""
"Excellon object presence is mandatory for this rule but none is selected."
msgstr ""
"Excellon object presence is mandatory for this rule but none is selected."
-#: flatcamTools/ToolRulesCheck.py:1570 flatcamTools/ToolRulesCheck.py:1583
-#: flatcamTools/ToolRulesCheck.py:1594 flatcamTools/ToolRulesCheck.py:1607
+#: flatcamTools/ToolRulesCheck.py:1579 flatcamTools/ToolRulesCheck.py:1592
+#: flatcamTools/ToolRulesCheck.py:1603 flatcamTools/ToolRulesCheck.py:1616
msgid "STATUS"
msgstr "STATUS"
-#: flatcamTools/ToolRulesCheck.py:1573 flatcamTools/ToolRulesCheck.py:1597
+#: flatcamTools/ToolRulesCheck.py:1582 flatcamTools/ToolRulesCheck.py:1606
msgid "FAILED"
msgstr "FAILED"
-#: flatcamTools/ToolRulesCheck.py:1586 flatcamTools/ToolRulesCheck.py:1610
+#: flatcamTools/ToolRulesCheck.py:1595 flatcamTools/ToolRulesCheck.py:1619
msgid "PASSED"
msgstr "PASSED"
-#: flatcamTools/ToolRulesCheck.py:1587 flatcamTools/ToolRulesCheck.py:1611
+#: flatcamTools/ToolRulesCheck.py:1596 flatcamTools/ToolRulesCheck.py:1620
msgid "Violations: There are no violations for the current rule."
msgstr "Violations: There are no violations for the current rule."
-#: flatcamTools/ToolShell.py:70 flatcamTools/ToolShell.py:72
-msgid "...proccessing..."
-msgstr "...proccessing..."
+#: flatcamTools/ToolShell.py:72 flatcamTools/ToolShell.py:74
+msgid "...processing..."
+msgstr "...processing..."
-#: flatcamTools/ToolSolderPaste.py:37
+#: flatcamTools/ToolSolderPaste.py:38
msgid "Solder Paste Tool"
msgstr "Solder Paste Tool"
-#: flatcamTools/ToolSolderPaste.py:68
+#: flatcamTools/ToolSolderPaste.py:70
msgid "Gerber Solder paste object. "
msgstr "Gerber Solder paste object. "
-#: flatcamTools/ToolSolderPaste.py:75
+#: flatcamTools/ToolSolderPaste.py:77
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for dispensing solder paste."
@@ -16044,7 +16890,7 @@ msgstr ""
"Tools pool from which the algorithm\n"
"will pick the ones used for dispensing solder paste."
-#: flatcamTools/ToolSolderPaste.py:90
+#: flatcamTools/ToolSolderPaste.py:92
msgid ""
"This is the Tool Number.\n"
"The solder dispensing will start with the tool with the biggest \n"
@@ -16058,7 +16904,7 @@ msgstr ""
"If there are no longer tools but there are still pads not covered\n"
" with solder paste, the app will issue a warning message box."
-#: flatcamTools/ToolSolderPaste.py:97
+#: flatcamTools/ToolSolderPaste.py:99
msgid ""
"Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
"is the width of the solder paste dispensed."
@@ -16066,11 +16912,11 @@ msgstr ""
"Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
"is the width of the solder paste dispensed."
-#: flatcamTools/ToolSolderPaste.py:104
+#: flatcamTools/ToolSolderPaste.py:106
msgid "New Nozzle Tool"
msgstr "New Nozzle Tool"
-#: flatcamTools/ToolSolderPaste.py:123
+#: flatcamTools/ToolSolderPaste.py:125
msgid ""
"Add a new nozzle tool to the Tool Table\n"
"with the diameter specified above."
@@ -16078,15 +16924,15 @@ msgstr ""
"Add a new nozzle tool to the Tool Table\n"
"with the diameter specified above."
-#: flatcamTools/ToolSolderPaste.py:135
+#: flatcamTools/ToolSolderPaste.py:137
msgid "Generate solder paste dispensing geometry."
msgstr "Generate solder paste dispensing geometry."
-#: flatcamTools/ToolSolderPaste.py:154
+#: flatcamTools/ToolSolderPaste.py:156
msgid "STEP 1"
msgstr "STEP 1"
-#: flatcamTools/ToolSolderPaste.py:156
+#: flatcamTools/ToolSolderPaste.py:158
msgid ""
"First step is to select a number of nozzle tools for usage\n"
"and then optionally modify the GCode parameters bellow."
@@ -16094,7 +16940,7 @@ msgstr ""
"First step is to select a number of nozzle tools for usage\n"
"and then optionally modify the GCode parameters bellow."
-#: flatcamTools/ToolSolderPaste.py:159
+#: flatcamTools/ToolSolderPaste.py:161
msgid ""
"Select tools.\n"
"Modify parameters."
@@ -16102,7 +16948,7 @@ msgstr ""
"Select tools.\n"
"Modify parameters."
-#: flatcamTools/ToolSolderPaste.py:279
+#: flatcamTools/ToolSolderPaste.py:281
msgid ""
"Feedrate (speed) while moving up vertically\n"
" to Dispense position (on Z plane)."
@@ -16110,7 +16956,7 @@ msgstr ""
"Feedrate (speed) while moving up vertically\n"
" to Dispense position (on Z plane)."
-#: flatcamTools/ToolSolderPaste.py:349
+#: flatcamTools/ToolSolderPaste.py:351
msgid ""
"Generate GCode for Solder Paste dispensing\n"
"on PCB pads."
@@ -16118,11 +16964,11 @@ msgstr ""
"Generate GCode for Solder Paste dispensing\n"
"on PCB pads."
-#: flatcamTools/ToolSolderPaste.py:370
+#: flatcamTools/ToolSolderPaste.py:372
msgid "STEP 2"
msgstr "STEP 2"
-#: flatcamTools/ToolSolderPaste.py:372
+#: flatcamTools/ToolSolderPaste.py:374
msgid ""
"Second step is to create a solder paste dispensing\n"
"geometry out of an Solder Paste Mask Gerber file."
@@ -16130,11 +16976,11 @@ msgstr ""
"Second step is to create a solder paste dispensing\n"
"geometry out of an Solder Paste Mask Gerber file."
-#: flatcamTools/ToolSolderPaste.py:388
+#: flatcamTools/ToolSolderPaste.py:391
msgid "Geo Result"
msgstr "Geo Result"
-#: flatcamTools/ToolSolderPaste.py:390
+#: flatcamTools/ToolSolderPaste.py:393
msgid ""
"Geometry Solder Paste object.\n"
"The name of the object has to end in:\n"
@@ -16144,11 +16990,11 @@ msgstr ""
"The name of the object has to end in:\n"
"'_solderpaste' as a protection."
-#: flatcamTools/ToolSolderPaste.py:399
+#: flatcamTools/ToolSolderPaste.py:402
msgid "STEP 3"
msgstr "STEP 3"
-#: flatcamTools/ToolSolderPaste.py:401
+#: flatcamTools/ToolSolderPaste.py:404
msgid ""
"Third step is to select a solder paste dispensing geometry,\n"
"and then generate a CNCJob object.\n"
@@ -16164,11 +17010,11 @@ msgstr ""
"first you need to generate a geometry with those new params,\n"
"and only after that you can generate an updated CNCJob."
-#: flatcamTools/ToolSolderPaste.py:421
+#: flatcamTools/ToolSolderPaste.py:425
msgid "CNC Result"
msgstr "CNC Result"
-#: flatcamTools/ToolSolderPaste.py:423
+#: flatcamTools/ToolSolderPaste.py:427
msgid ""
"CNCJob Solder paste object.\n"
"In order to enable the GCode save section,\n"
@@ -16180,11 +17026,11 @@ msgstr ""
"the name of the object has to end in:\n"
"'_solderpaste' as a protection."
-#: flatcamTools/ToolSolderPaste.py:433
+#: flatcamTools/ToolSolderPaste.py:437
msgid "View GCode"
msgstr "View GCode"
-#: flatcamTools/ToolSolderPaste.py:435
+#: flatcamTools/ToolSolderPaste.py:439
msgid ""
"View the generated GCode for Solder Paste dispensing\n"
"on PCB pads."
@@ -16192,11 +17038,11 @@ msgstr ""
"View the generated GCode for Solder Paste dispensing\n"
"on PCB pads."
-#: flatcamTools/ToolSolderPaste.py:445
+#: flatcamTools/ToolSolderPaste.py:449
msgid "Save GCode"
msgstr "Save GCode"
-#: flatcamTools/ToolSolderPaste.py:447
+#: flatcamTools/ToolSolderPaste.py:451
msgid ""
"Save the generated GCode for Solder Paste dispensing\n"
"on PCB pads, to a file."
@@ -16204,11 +17050,11 @@ msgstr ""
"Save the generated GCode for Solder Paste dispensing\n"
"on PCB pads, to a file."
-#: flatcamTools/ToolSolderPaste.py:457
+#: flatcamTools/ToolSolderPaste.py:461
msgid "STEP 4"
msgstr "STEP 4"
-#: flatcamTools/ToolSolderPaste.py:459
+#: flatcamTools/ToolSolderPaste.py:463
msgid ""
"Fourth step (and last) is to select a CNCJob made from \n"
"a solder paste dispensing geometry, and then view/save it's GCode."
@@ -16216,86 +17062,82 @@ msgstr ""
"Fourth step (and last) is to select a CNCJob made from \n"
"a solder paste dispensing geometry, and then view/save it's GCode."
-#: flatcamTools/ToolSolderPaste.py:917
-msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
-msgstr "Adding Nozzle tool cancelled. Tool already in Tool Table."
-
-#: flatcamTools/ToolSolderPaste.py:923
+#: flatcamTools/ToolSolderPaste.py:922
msgid "New Nozzle tool added to Tool Table."
msgstr "New Nozzle tool added to Tool Table."
-#: flatcamTools/ToolSolderPaste.py:966
+#: flatcamTools/ToolSolderPaste.py:965
msgid "Nozzle tool from Tool Table was edited."
msgstr "Nozzle tool from Tool Table was edited."
-#: flatcamTools/ToolSolderPaste.py:1024
+#: flatcamTools/ToolSolderPaste.py:1023
msgid "Delete failed. Select a Nozzle tool to delete."
msgstr "Delete failed. Select a Nozzle tool to delete."
-#: flatcamTools/ToolSolderPaste.py:1030
+#: flatcamTools/ToolSolderPaste.py:1029
msgid "Nozzle tool(s) deleted from Tool Table."
msgstr "Nozzle tool(s) deleted from Tool Table."
-#: flatcamTools/ToolSolderPaste.py:1086
+#: flatcamTools/ToolSolderPaste.py:1085
msgid "No SolderPaste mask Gerber object loaded."
msgstr "No SolderPaste mask Gerber object loaded."
-#: flatcamTools/ToolSolderPaste.py:1104
+#: flatcamTools/ToolSolderPaste.py:1103
msgid "Creating Solder Paste dispensing geometry."
msgstr "Creating Solder Paste dispensing geometry."
-#: flatcamTools/ToolSolderPaste.py:1117
+#: flatcamTools/ToolSolderPaste.py:1116
msgid "No Nozzle tools in the tool table."
msgstr "No Nozzle tools in the tool table."
-#: flatcamTools/ToolSolderPaste.py:1244
+#: flatcamTools/ToolSolderPaste.py:1242
msgid "Cancelled. Empty file, it has no geometry..."
msgstr "Cancelled. Empty file, it has no geometry..."
-#: flatcamTools/ToolSolderPaste.py:1248
+#: flatcamTools/ToolSolderPaste.py:1245
msgid "Solder Paste geometry generated successfully"
msgstr "Solder Paste geometry generated successfully"
-#: flatcamTools/ToolSolderPaste.py:1255
+#: flatcamTools/ToolSolderPaste.py:1252
msgid "Some or all pads have no solder due of inadequate nozzle diameters..."
msgstr "Some or all pads have no solder due of inadequate nozzle diameters..."
-#: flatcamTools/ToolSolderPaste.py:1269
+#: flatcamTools/ToolSolderPaste.py:1266
msgid "Generating Solder Paste dispensing geometry..."
msgstr "Generating Solder Paste dispensing geometry..."
-#: flatcamTools/ToolSolderPaste.py:1289
+#: flatcamTools/ToolSolderPaste.py:1286
msgid "There is no Geometry object available."
msgstr "There is no Geometry object available."
-#: flatcamTools/ToolSolderPaste.py:1294
+#: flatcamTools/ToolSolderPaste.py:1291
msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry."
msgstr "This Geometry can't be processed. NOT a solder_paste_tool geometry."
-#: flatcamTools/ToolSolderPaste.py:1401
+#: flatcamTools/ToolSolderPaste.py:1392
msgid "ToolSolderPaste CNCjob created"
msgstr "ToolSolderPaste CNCjob created"
-#: flatcamTools/ToolSolderPaste.py:1422
+#: flatcamTools/ToolSolderPaste.py:1411
msgid "SP GCode Editor"
msgstr "SP GCode Editor"
-#: flatcamTools/ToolSolderPaste.py:1434 flatcamTools/ToolSolderPaste.py:1439
-#: flatcamTools/ToolSolderPaste.py:1494
+#: flatcamTools/ToolSolderPaste.py:1423 flatcamTools/ToolSolderPaste.py:1428
+#: flatcamTools/ToolSolderPaste.py:1483
msgid ""
"This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object."
msgstr ""
"This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object."
-#: flatcamTools/ToolSolderPaste.py:1464
+#: flatcamTools/ToolSolderPaste.py:1453
msgid "No Gcode in the object"
msgstr "No Gcode in the object"
-#: flatcamTools/ToolSolderPaste.py:1504
+#: flatcamTools/ToolSolderPaste.py:1493
msgid "Export GCode ..."
msgstr "Export GCode ..."
-#: flatcamTools/ToolSolderPaste.py:1552
+#: flatcamTools/ToolSolderPaste.py:1541
msgid "Solder paste dispenser GCode file saved to"
msgstr "Solder paste dispenser GCode file saved to"
@@ -16303,7 +17145,7 @@ msgstr "Solder paste dispenser GCode file saved to"
msgid "Gerber Objects"
msgstr "Gerber Objects"
-#: flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:78
msgid ""
"Gerber object from which to subtract\n"
"the subtractor Gerber object."
@@ -16311,11 +17153,11 @@ msgstr ""
"Gerber object from which to subtract\n"
"the subtractor Gerber object."
-#: flatcamTools/ToolSub.py:88 flatcamTools/ToolSub.py:140
+#: flatcamTools/ToolSub.py:91 flatcamTools/ToolSub.py:146
msgid "Subtractor"
msgstr "Subtractor"
-#: flatcamTools/ToolSub.py:90
+#: flatcamTools/ToolSub.py:93
msgid ""
"Gerber object that will be subtracted\n"
"from the target Gerber object."
@@ -16323,11 +17165,11 @@ msgstr ""
"Gerber object that will be subtracted\n"
"from the target Gerber object."
-#: flatcamTools/ToolSub.py:97
+#: flatcamTools/ToolSub.py:100
msgid "Substract Gerber"
msgstr "Substract Gerber"
-#: flatcamTools/ToolSub.py:99
+#: flatcamTools/ToolSub.py:102
msgid ""
"Will remove the area occupied by the subtractor\n"
"Gerber from the Target Gerber.\n"
@@ -16339,11 +17181,11 @@ msgstr ""
"Can be used to remove the overlapping silkscreen\n"
"over the soldermask."
-#: flatcamTools/ToolSub.py:117
+#: flatcamTools/ToolSub.py:120
msgid "Geometry Objects"
msgstr "Geometry Objects"
-#: flatcamTools/ToolSub.py:128
+#: flatcamTools/ToolSub.py:133
msgid ""
"Geometry object from which to subtract\n"
"the subtractor Geometry object."
@@ -16351,7 +17193,7 @@ msgstr ""
"Geometry object from which to subtract\n"
"the subtractor Geometry object."
-#: flatcamTools/ToolSub.py:142
+#: flatcamTools/ToolSub.py:148
msgid ""
"Geometry object that will be subtracted\n"
"from the target Geometry object."
@@ -16359,17 +17201,17 @@ msgstr ""
"Geometry object that will be subtracted\n"
"from the target Geometry object."
-#: flatcamTools/ToolSub.py:150
+#: flatcamTools/ToolSub.py:156
msgid ""
"Checking this will close the paths cut by the Geometry subtractor object."
msgstr ""
"Checking this will close the paths cut by the Geometry subtractor object."
-#: flatcamTools/ToolSub.py:153
+#: flatcamTools/ToolSub.py:159
msgid "Subtract Geometry"
msgstr "Subtract Geometry"
-#: flatcamTools/ToolSub.py:155
+#: flatcamTools/ToolSub.py:161
msgid ""
"Will remove the area occupied by the subtractor\n"
"Geometry from the Target Geometry."
@@ -16377,56 +17219,56 @@ msgstr ""
"Will remove the area occupied by the subtractor\n"
"Geometry from the Target Geometry."
-#: flatcamTools/ToolSub.py:262
+#: flatcamTools/ToolSub.py:263
msgid "Sub Tool"
msgstr "Sub Tool"
-#: flatcamTools/ToolSub.py:278 flatcamTools/ToolSub.py:483
+#: flatcamTools/ToolSub.py:284 flatcamTools/ToolSub.py:489
msgid "No Target object loaded."
msgstr "No Target object loaded."
-#: flatcamTools/ToolSub.py:281
+#: flatcamTools/ToolSub.py:287
msgid "Loading geometry from Gerber objects."
msgstr "Loading geometry from Gerber objects."
-#: flatcamTools/ToolSub.py:293 flatcamTools/ToolSub.py:498
+#: flatcamTools/ToolSub.py:299 flatcamTools/ToolSub.py:504
msgid "No Subtractor object loaded."
msgstr "No Subtractor object loaded."
-#: flatcamTools/ToolSub.py:325
+#: flatcamTools/ToolSub.py:331
msgid "Processing geometry from Subtractor Gerber object."
msgstr "Processing geometry from Subtractor Gerber object."
-#: flatcamTools/ToolSub.py:346
+#: flatcamTools/ToolSub.py:352
msgid "Parsing geometry for aperture"
msgstr "Parsing geometry for aperture"
-#: flatcamTools/ToolSub.py:407
+#: flatcamTools/ToolSub.py:413
msgid "Finished parsing geometry for aperture"
msgstr "Finished parsing geometry for aperture"
-#: flatcamTools/ToolSub.py:452 flatcamTools/ToolSub.py:655
+#: flatcamTools/ToolSub.py:458 flatcamTools/ToolSub.py:661
msgid "Generating new object ..."
msgstr "Generating new object ..."
-#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:659
-#: flatcamTools/ToolSub.py:740
+#: flatcamTools/ToolSub.py:462 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:746
msgid "Generating new object failed."
msgstr "Generating new object failed."
-#: flatcamTools/ToolSub.py:461 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:467 flatcamTools/ToolSub.py:671
msgid "Created"
msgstr "Created"
-#: flatcamTools/ToolSub.py:512
+#: flatcamTools/ToolSub.py:518
msgid "Currently, the Subtractor geometry cannot be of type Multigeo."
msgstr "Currently, the Subtractor geometry cannot be of type Multigeo."
-#: flatcamTools/ToolSub.py:557
+#: flatcamTools/ToolSub.py:563
msgid "Parsing solid_geometry ..."
msgstr "Parsing solid_geometry ..."
-#: flatcamTools/ToolSub.py:559
+#: flatcamTools/ToolSub.py:565
msgid "Parsing solid_geometry for tool"
msgstr "Parsing solid_geometry for tool"
@@ -16434,7 +17276,7 @@ msgstr "Parsing solid_geometry for tool"
msgid "Object Transform"
msgstr "Object Transform"
-#: flatcamTools/ToolTransform.py:82
+#: flatcamTools/ToolTransform.py:79
msgid ""
"Rotate the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16444,7 +17286,7 @@ msgstr ""
"The point of reference is the middle of\n"
"the bounding box for all selected objects."
-#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:122
+#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:121
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 360."
@@ -16452,7 +17294,7 @@ msgstr ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 360."
-#: flatcamTools/ToolTransform.py:111 flatcamTools/ToolTransform.py:133
+#: flatcamTools/ToolTransform.py:110 flatcamTools/ToolTransform.py:131
msgid ""
"Skew/shear the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16462,7 +17304,7 @@ msgstr ""
"The point of reference is the middle of\n"
"the bounding box for all selected objects."
-#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:181
+#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:180
msgid ""
"Scale the selected object(s).\n"
"The point of reference depends on \n"
@@ -16472,7 +17314,7 @@ msgstr ""
"The point of reference depends on \n"
"the Scale reference checkbox state."
-#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:250
+#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:249
msgid ""
"Offset the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16482,188 +17324,594 @@ msgstr ""
"The point of reference is the middle of\n"
"the bounding box for all selected objects.\n"
-#: flatcamTools/ToolTransform.py:268 flatcamTools/ToolTransform.py:274
+#: flatcamTools/ToolTransform.py:269 flatcamTools/ToolTransform.py:274
msgid "Flip the selected object(s) over the X axis."
msgstr "Flip the selected object(s) over the X axis."
-#: flatcamTools/ToolTransform.py:299
+#: flatcamTools/ToolTransform.py:298
msgid "Ref. Point"
msgstr "Ref. Point"
-#: flatcamTools/ToolTransform.py:351
+#: flatcamTools/ToolTransform.py:349
msgid ""
"Create the buffer effect on each geometry,\n"
-"element from the selected object."
+"element from the selected object, using the distance."
msgstr ""
"Create the buffer effect on each geometry,\n"
-"element from the selected object."
+"element from the selected object, using the distance."
-#: flatcamTools/ToolTransform.py:498
+#: flatcamTools/ToolTransform.py:375
+msgid ""
+"Create the buffer effect on each geometry,\n"
+"element from the selected object, using the factor."
+msgstr ""
+"Create the buffer effect on each geometry,\n"
+"element from the selected object, using the factor."
+
+#: flatcamTools/ToolTransform.py:480
+msgid "Buffer D"
+msgstr "Buffer D"
+
+#: flatcamTools/ToolTransform.py:481
+msgid "Buffer F"
+msgstr "Buffer F"
+
+#: flatcamTools/ToolTransform.py:558
msgid "Rotate transformation can not be done for a value of 0."
msgstr "Rotate transformation can not be done for a value of 0."
-#: flatcamTools/ToolTransform.py:537 flatcamTools/ToolTransform.py:560
+#: flatcamTools/ToolTransform.py:597 flatcamTools/ToolTransform.py:620
msgid "Scale transformation can not be done for a factor of 0 or 1."
msgstr "Scale transformation can not be done for a factor of 0 or 1."
-#: flatcamTools/ToolTransform.py:575 flatcamTools/ToolTransform.py:585
+#: flatcamTools/ToolTransform.py:635 flatcamTools/ToolTransform.py:645
msgid "Offset transformation can not be done for a value of 0."
msgstr "Offset transformation can not be done for a value of 0."
-#: flatcamTools/ToolTransform.py:608
+#: flatcamTools/ToolTransform.py:677
msgid "No object selected. Please Select an object to rotate!"
msgstr "No object selected. Please Select an object to rotate!"
-#: flatcamTools/ToolTransform.py:636
+#: flatcamTools/ToolTransform.py:703
msgid "CNCJob objects can't be rotated."
msgstr "CNCJob objects can't be rotated."
-#: flatcamTools/ToolTransform.py:644
+#: flatcamTools/ToolTransform.py:711
msgid "Rotate done"
msgstr "Rotate done"
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "Due of"
msgstr "Due of"
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "action was not executed."
msgstr "action was not executed."
-#: flatcamTools/ToolTransform.py:661
+#: flatcamTools/ToolTransform.py:726
msgid "No object selected. Please Select an object to flip"
msgstr "No object selected. Please Select an object to flip"
-#: flatcamTools/ToolTransform.py:696
+#: flatcamTools/ToolTransform.py:759
msgid "CNCJob objects can't be mirrored/flipped."
msgstr "CNCJob objects can't be mirrored/flipped."
-#: flatcamTools/ToolTransform.py:734
+#: flatcamTools/ToolTransform.py:794
msgid "Skew transformation can not be done for 0, 90 and 180 degrees."
msgstr "Skew transformation can not be done for 0, 90 and 180 degrees."
-#: flatcamTools/ToolTransform.py:739
+#: flatcamTools/ToolTransform.py:799
msgid "No object selected. Please Select an object to shear/skew!"
msgstr "No object selected. Please Select an object to shear/skew!"
-#: flatcamTools/ToolTransform.py:761
+#: flatcamTools/ToolTransform.py:819
msgid "CNCJob objects can't be skewed."
msgstr "CNCJob objects can't be skewed."
-#: flatcamTools/ToolTransform.py:774
+#: flatcamTools/ToolTransform.py:831
msgid "Skew on the"
msgstr "Skew on the"
-#: flatcamTools/ToolTransform.py:774 flatcamTools/ToolTransform.py:834
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:831 flatcamTools/ToolTransform.py:887
+#: flatcamTools/ToolTransform.py:919
msgid "axis done"
msgstr "axis done"
-#: flatcamTools/ToolTransform.py:791
+#: flatcamTools/ToolTransform.py:846
msgid "No object selected. Please Select an object to scale!"
msgstr "No object selected. Please Select an object to scale!"
-#: flatcamTools/ToolTransform.py:824
+#: flatcamTools/ToolTransform.py:877
msgid "CNCJob objects can't be scaled."
msgstr "CNCJob objects can't be scaled."
-#: flatcamTools/ToolTransform.py:834
+#: flatcamTools/ToolTransform.py:887
msgid "Scale on the"
msgstr "Scale on the"
-#: flatcamTools/ToolTransform.py:846
+#: flatcamTools/ToolTransform.py:898
msgid "No object selected. Please Select an object to offset!"
msgstr "No object selected. Please Select an object to offset!"
-#: flatcamTools/ToolTransform.py:855
+#: flatcamTools/ToolTransform.py:905
msgid "CNCJob objects can't be offset."
msgstr "CNCJob objects can't be offset."
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:919
msgid "Offset on the"
msgstr "Offset on the"
-#: flatcamTools/ToolTransform.py:881
+#: flatcamTools/ToolTransform.py:929
msgid "No object selected. Please Select an object to buffer!"
msgstr "No object selected. Please Select an object to buffer!"
-#: flatcamTools/ToolTransform.py:884
+#: flatcamTools/ToolTransform.py:932
msgid "Applying Buffer"
msgstr "Applying Buffer"
-#: flatcamTools/ToolTransform.py:888
+#: flatcamTools/ToolTransform.py:936
msgid "CNCJob objects can't be buffered."
msgstr "CNCJob objects can't be buffered."
-#: flatcamTools/ToolTransform.py:905
+#: flatcamTools/ToolTransform.py:953
msgid "Buffer done"
msgstr "Buffer done"
-#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73
+#: tclCommands/TclCommandBbox.py:76 tclCommands/TclCommandNregions.py:75
msgid "Expected FlatCAMGerber or FlatCAMGeometry, got"
msgstr "Expected FlatCAMGerber or FlatCAMGeometry, got"
-#: tclCommands/TclCommandBounds.py:64 tclCommands/TclCommandBounds.py:68
+#: tclCommands/TclCommandBounds.py:67 tclCommands/TclCommandBounds.py:71
msgid "Expected a list of objects names separated by comma. Got"
msgstr "Expected a list of objects names separated by comma. Got"
-#: tclCommands/TclCommandBounds.py:79
+#: tclCommands/TclCommandBounds.py:82
msgid "TclCommand Bounds done."
msgstr "TclCommand Bounds done."
-#: tclCommands/TclCommandCopperClear.py:242 tclCommands/TclCommandPaint.py:240
-msgid "Expected -box ."
-msgstr "Expected -box ."
-
-#: tclCommands/TclCommandCopperClear.py:251 tclCommands/TclCommandPaint.py:249
-#: tclCommands/TclCommandScale.py:75
+#: tclCommands/TclCommandCopperClear.py:276 tclCommands/TclCommandPaint.py:272
+#: tclCommands/TclCommandScale.py:81
msgid "Could not retrieve box object"
msgstr "Could not retrieve box object"
-#: tclCommands/TclCommandCopperClear.py:273
-msgid ""
-"None of the following args: 'ref', 'all' were found or none was set to 1.\n"
-"Copper clearing failed."
-msgstr ""
-"None of the following args: 'ref', 'all' were found or none was set to 1.\n"
-"Copper clearing failed."
+#: tclCommands/TclCommandCopperClear.py:299
+msgid "Expected either -box or -all."
+msgstr "Expected either -box or -all."
-#: tclCommands/TclCommandPaint.py:217
+#: tclCommands/TclCommandGeoCutout.py:148
+msgid ""
+"The name of the object for which cutout is done is missing. Add it and retry."
+msgstr ""
+"The name of the object for which cutout is done is missing. Add it and retry."
+
+#: tclCommands/TclCommandGeoCutout.py:190
+msgid "Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8."
+msgstr "Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8."
+
+#: tclCommands/TclCommandGeoCutout.py:302
+#: tclCommands/TclCommandGeoCutout.py:360
+msgid "Any-form Cutout operation finished."
+msgstr "Any-form Cutout operation finished."
+
+#: tclCommands/TclCommandGeoCutout.py:366
+msgid "Cancelled. Object type is not supported."
+msgstr "Cancelled. Object type is not supported."
+
+#: tclCommands/TclCommandHelp.py:74
+msgid "Available commands:"
+msgstr "Available commands:"
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Type help for usage."
+msgstr "Type help for usage."
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Example: help open_gerber"
+msgstr "Example: help open_gerber"
+
+#: tclCommands/TclCommandPaint.py:244
msgid "Expected -x and -y ."
msgstr "Expected -x and -y ."
-#: tclCommands/TclCommandPaint.py:268
+#: tclCommands/TclCommandPaint.py:265
+msgid "Expected -box ."
+msgstr "Expected -box ."
+
+#: tclCommands/TclCommandPaint.py:286
msgid ""
-"There was none of the following args: 'ref', 'single', 'all'.\n"
+"None of the following args: 'box', 'single', 'all' were used.\n"
"Paint failed."
msgstr ""
-"There was none of the following args: 'ref', 'single', 'all'.\n"
+"None of the following args: 'box', 'single', 'all' were used.\n"
"Paint failed."
-#: tclCommands/TclCommandScale.py:95
-msgid "Expected -origin or -origin or -origin ."
-msgstr "Expected -origin or -origin or -origin ."
+#: tclCommands/TclCommandScale.py:106
+msgid ""
+"Expected -origin or -origin or -origin or - "
+"origin 3.0,4.2."
+msgstr ""
+"Expected -origin or -origin or -origin or - "
+"origin 3.0,4.2."
-#: tclCommands/TclCommandScale.py:104
+#: tclCommands/TclCommandScale.py:119
msgid "Expected -x -y ."
msgstr "Expected -x -y ."
-#: tclCommands/TclCommandSetOrigin.py:91
+#: tclCommands/TclCommandSetOrigin.py:95
msgid "Expected a pair of (x, y) coordinates. Got"
msgstr "Expected a pair of (x, y) coordinates. Got"
-#: tclCommands/TclCommandSetOrigin.py:98
+#: tclCommands/TclCommandSetOrigin.py:102
msgid "Origin set by offsetting all loaded objects with "
msgstr "Origin set by offsetting all loaded objects with "
-#: tclCommands/TclCommandSubtractRectangle.py:58
+#: tclCommands/TclCommandSubtractRectangle.py:62
msgid "No Geometry name in args. Provide a name and try again."
msgstr "No Geometry name in args. Provide a name and try again."
+#~ msgid "Paint Tool. Normal painting all task started."
+#~ msgstr "Paint Tool. Normal painting all task started."
+
+#~ msgid "Rest machining painting all task started."
+#~ msgstr "Rest machining painting all task started."
+
+#~| msgid "Painting polygon at location"
+#~ msgid "Painting polygons with method: lines."
+#~ msgstr "Painting polygons with method: lines."
+
+#~| msgid "Normal painting polygon task started."
+#~ msgid "Failed. Painting polygons with method: seed."
+#~ msgstr "Failed. Painting polygons with method: seed."
+
+#~| msgid "Normal painting polygon task started."
+#~ msgid "Failed. Painting polygons with method: standard."
+#~ msgstr "Failed. Painting polygons with method: standard."
+
+#~ msgid ""
+#~ "Could not do Paint All. Try a different combination of parameters. Or a "
+#~ "different Method of paint"
+#~ msgstr ""
+#~ "Could not do Paint All. Try a different combination of parameters. Or a "
+#~ "different Method of paint"
+
+#~| msgid "Paint Tool. Normal painting all task started."
+#~ msgid "Paint Tool. Normal painting area task started."
+#~ msgstr "Paint Tool. Normal painting area task started."
+
+#~ msgid "Rest machining painting area task started."
+#~ msgstr "Rest machining painting area task started."
+
+#~ msgid "Executing Tcl Script ..."
+#~ msgstr "Executing Tcl Script ..."
+
+#~ msgid "Open cancelled."
+#~ msgstr "Open cancelled."
+
+#~ msgid "Preferences default restore was cancelled."
+#~ msgstr "Preferences default restore was cancelled."
+
+#~ msgid "FlatCAM preferences import cancelled."
+#~ msgstr "FlatCAM preferences import cancelled."
+
+#~ msgid "FlatCAM preferences export cancelled."
+#~ msgstr "FlatCAM preferences export cancelled."
+
+#~ msgid "Multigeo. Geometry merging finished"
+#~ msgstr "Multigeo. Geometry merging finished"
+
+#~ msgid "Units conversion cancelled."
+#~ msgstr "Units conversion cancelled."
+
+#~ msgid "Open Gerber cancelled."
+#~ msgstr "Open Gerber cancelled."
+
+#~ msgid " Open Excellon cancelled."
+#~ msgstr " Open Excellon cancelled."
+
+#~ msgid "Open G-Code cancelled."
+#~ msgstr "Open G-Code cancelled."
+
+#~ msgid "Open Project cancelled."
+#~ msgstr "Open Project cancelled."
+
+#~ msgid "Open HPGL2 file cancelled."
+#~ msgstr "Open HPGL2 file cancelled."
+
+#~ msgid "Open Config cancelled."
+#~ msgstr "Open Config cancelled."
+
+#~ msgid " Export SVG cancelled."
+#~ msgstr " Export SVG cancelled."
+
+#~ msgid "Export PNG cancelled."
+#~ msgstr "Export PNG cancelled."
+
+#~ msgid "No object selected. Please select an Gerber object to export."
+#~ msgstr "No object selected. Please select an Gerber object to export."
+
+#~ msgid "Save Gerber source file cancelled."
+#~ msgstr "Save Gerber source file cancelled."
+
+#~ msgid "No object selected. Please select an Script object to export."
+#~ msgstr "No object selected. Please select an Script object to export."
+
+#~ msgid "Save Script source file cancelled."
+#~ msgstr "Save Script source file cancelled."
+
+#~ msgid "No object selected. Please select an Document object to export."
+#~ msgstr "No object selected. Please select an Document object to export."
+
+#~ msgid "Save Document source file cancelled."
+#~ msgstr "Save Document source file cancelled."
+
+#~ msgid "No object selected. Please select an Excellon object to export."
+#~ msgstr "No object selected. Please select an Excellon object to export."
+
+#~ msgid "Saving Excellon source file cancelled."
+#~ msgstr "Saving Excellon source file cancelled."
+
+#~ msgid "No object selected. Please Select an Excellon object to export."
+#~ msgstr "No object selected. Please Select an Excellon object to export."
+
+#~ msgid "Export Excellon cancelled."
+#~ msgstr "Export Excellon cancelled."
+
+#~ msgid "No object selected. Please Select an Gerber object to export."
+#~ msgstr "No object selected. Please Select an Gerber object to export."
+
+#~ msgid "Export Gerber cancelled."
+#~ msgstr "Export Gerber cancelled."
+
+#~ msgid "Export DXF cancelled."
+#~ msgstr "Export DXF cancelled."
+
+#~ msgid "Open SVG cancelled."
+#~ msgstr "Open SVG cancelled."
+
+#~ msgid "Open DXF cancelled."
+#~ msgstr "Open DXF cancelled."
+
+#~ msgid "Open TCL script cancelled."
+#~ msgstr "Open TCL script cancelled."
+
+#~ msgid "Run TCL script cancelled."
+#~ msgstr "Run TCL script cancelled."
+
+#~ msgid "Save Project cancelled."
+#~ msgstr "Save Project cancelled."
+
+#~ msgid "Save Object PDF cancelled."
+#~ msgstr "Save Object PDF cancelled."
+
+#~ msgid "Shows list of commands."
+#~ msgstr "Shows list of commands."
+
+#~ msgid "FlatCAM bookmarks export cancelled."
+#~ msgstr "FlatCAM bookmarks export cancelled."
+
+#~ msgid "FlatCAM bookmarks import cancelled."
+#~ msgstr "FlatCAM bookmarks import cancelled."
+
+#~ msgid "FlatCAM Tools DB export cancelled."
+#~ msgstr "FlatCAM Tools DB export cancelled."
+
+#~ msgid "FlatCAM Tools DB import cancelled."
+#~ msgstr "FlatCAM Tools DB import cancelled."
+
+#~ msgid ""
+#~ "Wrong value format for self.defaults[\"z_pdepth\"] or self."
+#~ "options[\"z_pdepth\"]"
+#~ msgstr ""
+#~ "Wrong value format for self.defaults[\"z_pdepth\"] or self."
+#~ "options[\"z_pdepth\"]"
+
+#~ msgid ""
+#~ "Wrong value format for self.defaults[\"feedrate_probe\"] or self."
+#~ "options[\"feedrate_probe\"]"
+#~ msgstr ""
+#~ "Wrong value format for self.defaults[\"feedrate_probe\"] or self."
+#~ "options[\"feedrate_probe\"]"
+
+#~ msgid "Starting G-Code..."
+#~ msgstr "Starting G-Code..."
+
+#~ msgid ""
+#~ "Algorithm to paint the polygon:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed."
+#~ msgstr ""
+#~ "Algorithm to paint the polygon:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed."
+
+#~ msgid "Seed-based"
+#~ msgstr "Seed-based"
+
+#~ msgid "Straight lines"
+#~ msgstr "Straight lines"
+
+#~ msgid "Paint cancelled. No shape selected."
+#~ msgstr "Paint cancelled. No shape selected."
+
+#~ msgid "Transformation cancelled. No shape selected."
+#~ msgstr "Transformation cancelled. No shape selected."
+
+#~ msgid "Buffer cancelled. No shape selected."
+#~ msgstr "Buffer cancelled. No shape selected."
+
+#~ msgid "Export Code cancelled."
+#~ msgstr "Export Code cancelled."
+
+#~ msgid "&Save Project ..."
+#~ msgstr "&Save Project ..."
+
+#~ msgid "Save Project C&opy ..."
+#~ msgstr "Save Project C&opy ..."
+
+#~ msgid "Change the size of the object."
+#~ msgstr "Change the size of the object."
+
+#~ msgid "Change the position of this object."
+#~ msgstr "Change the position of this object."
+
+#~ msgid "Vector"
+#~ msgstr "Vector"
+
+#~ msgid ""
+#~ "Create a CNC Job object\n"
+#~ "for this drill object."
+#~ msgstr ""
+#~ "Create a CNC Job object\n"
+#~ "for this drill object."
+
+#~ msgid ""
+#~ "Choose what to use for GCode generation:\n"
+#~ "'Drills', 'Slots' or 'Both'.\n"
+#~ "When choosing 'Slots' or 'Both', slots will be\n"
+#~ "converted to a series of drills."
+#~ msgstr ""
+#~ "Choose what to use for GCode generation:\n"
+#~ "'Drills', 'Slots' or 'Both'.\n"
+#~ "When choosing 'Slots' or 'Both', slots will be\n"
+#~ "converted to a series of drills."
+
+#~ msgid "Generate the CNC Job."
+#~ msgstr "Generate the CNC Job."
+
+#~ msgid "Add Tool from DataBase"
+#~ msgstr "Add Tool from DataBase"
+
+#~ msgid "Select a theme for FlatCAM."
+#~ msgstr "Select a theme for FlatCAM."
+
+#~ msgid "Conv."
+#~ msgstr "Conv."
+
+#~ msgid "Diameters of the cutting tools, separated by ','"
+#~ msgstr "Diameters of the cutting tools, separated by ','"
+
+#~ msgid "Tools dia"
+#~ msgstr "Tools dia"
+
+#~ msgid "The new tool diameter (cut width) to add in the tool table."
+#~ msgstr "The new tool diameter (cut width) to add in the tool table."
+
+#~ msgid ""
+#~ "Algorithm for non-copper clearing:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed.
Line-based: Parallel "
+#~ "lines."
+#~ msgstr ""
+#~ "Algorithm for non-copper clearing:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed.
Line-based: Parallel "
+#~ "lines."
+
+#~ msgid "Area"
+#~ msgstr "Area"
+
+#~ msgid "Ref"
+#~ msgstr "Ref"
+
+#~ msgid ""
+#~ "- 'Itself' - the non copper clearing extent\n"
+#~ "is based on the object that is copper cleared.\n"
+#~ " - 'Area Selection' - left mouse click to start selection of the area to "
+#~ "be painted.\n"
+#~ "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
+#~ "areas.\n"
+#~ "- 'Reference Object' - will do non copper clearing within the area\n"
+#~ "specified by another object."
+#~ msgstr ""
+#~ "- 'Itself' - the non copper clearing extent\n"
+#~ "is based on the object that is copper cleared.\n"
+#~ " - 'Area Selection' - left mouse click to start selection of the area to "
+#~ "be painted.\n"
+#~ "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
+#~ "areas.\n"
+#~ "- 'Reference Object' - will do non copper clearing within the area\n"
+#~ "specified by another object."
+
+#~ msgid "Sel"
+#~ msgstr "Sel"
+
+#~ msgid "Diameters of nozzle tools, separated by ','"
+#~ msgstr "Diameters of nozzle tools, separated by ','"
+
+#~ msgid "Reference Gerber"
+#~ msgstr "Reference Gerber"
+
+#~ msgid "Reference Excellon"
+#~ msgstr "Reference Excellon"
+
+#~ msgid "Reference Geometry"
+#~ msgstr "Reference Geometry"
+
+#~ msgid "Point/Box Reference"
+#~ msgstr "Point/Box Reference"
+
+#~ msgid ""
+#~ "If 'Point' is selected above it store the coordinates (x, y) through "
+#~ "which\n"
+#~ "the mirroring axis passes.\n"
+#~ "If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
+#~ "Geo).\n"
+#~ "Through the center of this object pass the mirroring axis selected above."
+#~ msgstr ""
+#~ "If 'Point' is selected above it store the coordinates (x, y) through "
+#~ "which\n"
+#~ "the mirroring axis passes.\n"
+#~ "If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
+#~ "Geo).\n"
+#~ "Through the center of this object pass the mirroring axis selected above."
+
+#~ msgid "Alignment Drill Diameter"
+#~ msgstr "Alignment Drill Diameter"
+
+#~ msgid ""
+#~ "'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
+#~ msgstr ""
+#~ "'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
+
+#~ msgid "Export positive film cancelled."
+#~ msgstr "Export positive film cancelled."
+
+#~ msgid "Export negative film cancelled."
+#~ msgstr "Export negative film cancelled."
+
+#~ msgid "Move action cancelled."
+#~ msgstr "Move action cancelled."
+
+#~ msgid "Diameter for the new tool."
+#~ msgstr "Diameter for the new tool."
+
+#~ msgid "Create Paint Geometry"
+#~ msgstr "Create Paint Geometry"
+
+#~ msgid "Paint Tool. Reading parameters."
+#~ msgstr "Paint Tool. Reading parameters."
+
+#~ msgid "Paint Tool. Rest machining painting area task started."
+#~ msgstr "Paint Tool. Rest machining painting area task started."
+
+#~ msgid "Properties Tool was not displayed. No object selected."
+#~ msgstr "Properties Tool was not displayed. No object selected."
+
+#~ msgid " Export PNG cancelled."
+#~ msgstr " Export PNG cancelled."
+
+#~ msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
+#~ msgstr "Adding Nozzle tool cancelled. Tool already in Tool Table."
+
+#~ msgid ""
+#~ "None of the following args: 'ref', 'all' were found or none was set to "
+#~ "1.\n"
+#~ "Copper clearing failed."
+#~ msgstr ""
+#~ "None of the following args: 'ref', 'all' were found or none was set to "
+#~ "1.\n"
+#~ "Copper clearing failed."
+
#~ msgid "PostProcessor"
#~ msgstr "PostProcessor"
@@ -16691,9 +17939,6 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ msgid "Optimization Time"
#~ msgstr "Optimization Time"
-#~ msgid "Defaults"
-#~ msgstr "Defaults"
-
#~ msgid "Coordinates decimals"
#~ msgstr "Coordinates decimals"
@@ -16762,9 +18007,6 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ msgid "Wk. size"
#~ msgstr "Wk. size"
-#~ msgid "Plot Line"
-#~ msgstr "Plot Line"
-
#~ msgid "Sel. Fill"
#~ msgstr "Sel. Fill"
@@ -16801,12 +18043,6 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ msgid "Project at StartUp"
#~ msgstr "Project at StartUp"
-#~ msgid "Project AutoHide"
-#~ msgstr "Project AutoHide"
-
-#~ msgid "Enable ToolTips"
-#~ msgstr "Enable ToolTips"
-
#~ msgid "Mouse Cursor"
#~ msgstr "Mouse Cursor"
@@ -16830,9 +18066,6 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ msgid "G-code does not have a units code: either G20 or G21"
#~ msgstr "G-code does not have a units code: either G20 or G21"
-#~ msgid "No shape selected. Select a shape to explode"
-#~ msgstr "No shape selected. Select a shape to explode"
-
#, python-brace-format
#~ msgid ""
#~ "[selected] {kind} created/selected: {name}"
@@ -17160,12 +18393,6 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ msgid "Geometry Reference Box Object"
#~ msgstr "Geometry Reference Box Object"
-#~ msgid "Single Polygon"
-#~ msgstr "Single Polygon"
-
-#~ msgid "Painting polygon at location"
-#~ msgstr "Painting polygon at location"
-
#~ msgid "{l_save}/FlatCAM_Bookmarks_{date}"
#~ msgstr "{l_save}/FlatCAM_Bookmarks_{date}"
@@ -17199,9 +18426,6 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ msgid "spindlesspeed = the value for the spindle speed"
#~ msgstr "spindlesspeed = the value for the spindle speed"
-#~ msgid "White"
-#~ msgstr "White"
-
#~ msgid "Rotate Angle"
#~ msgstr "Rotate Angle"
@@ -17390,9 +18614,6 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ msgid "FILE ASSOCIATIONS"
#~ msgstr "FILE ASSOCIATIONS"
-#~ msgid "Advanced Param."
-#~ msgstr "Advanced Param."
-
#~ msgid "MH"
#~ msgstr "MH"
@@ -17529,8 +18750,8 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ "\n"
#~ " "
-#~ msgid "Run Script ...\tSHIFT+S"
-#~ msgstr "Run Script ...\tSHIFT+S"
+#~ msgid "Run Script ...\tShift+S"
+#~ msgstr "Run Script ...\tShift+S"
#~| msgid ""
#~| "FlatCAM
Version {version} {beta} ({date}) "
@@ -17714,39 +18935,39 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~| " | \n"
#~| " \n"
#~| " \n"
-#~| " | CTRL+A | \n"
+#~| " Ctrl+A | \n"
#~| " Select All | \n"
#~| "
\n"
#~| " \n"
-#~| " | CTRL+C | \n"
+#~| " Ctrl+C | \n"
#~| " Copy Obj | \n"
#~| "
\n"
#~| " \n"
-#~| " | CTRL+E | \n"
+#~| " Ctrl+E | \n"
#~| " Open Excellon File | \n"
#~| "
\n"
#~| " \n"
-#~| " | CTRL+G | \n"
+#~| " Ctrl+G | \n"
#~| " Open Gerber File | \n"
#~| "
\n"
#~| " \n"
-#~| " | CTRL+N | \n"
+#~| " Ctrl+N | \n"
#~| " New Project | \n"
#~| "
\n"
#~| " \n"
-#~| " | CTRL+M | \n"
+#~| " Ctrl+M | \n"
#~| " Measurement Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | CTRL+O | \n"
+#~| " Ctrl+O | \n"
#~| " Open Project | \n"
#~| "
\n"
#~| " \n"
-#~| " | CTRL+S | \n"
+#~| " Ctrl+S | \n"
#~| " Save Project As | \n"
#~| "
\n"
#~| " \n"
-#~| " | CTRL+F10"
+#~| " | Ctrl+F10"
#~| "td>\n"
#~| " | Toggle Plot Area | \n"
#~| "
\n"
@@ -17755,39 +18976,39 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~| " | \n"
#~| " \n"
#~| " \n"
-#~| " | SHIFT+C | \n"
+#~| " Shift+C | \n"
#~| " Copy Obj_Name | \n"
#~| "
\n"
#~| " \n"
-#~| " | SHIFT+E | \n"
+#~| " Shift+E | \n"
#~| " Toggle Code Editor | \n"
#~| "
\n"
#~| " \n"
-#~| " | SHIFT+G | \n"
+#~| " Shift+G | \n"
#~| " Toggle the axis | \n"
#~| "
\n"
#~| " \n"
-#~| " | SHIFT+P | \n"
+#~| " Shift+P | \n"
#~| " Open Preferences Window | \n"
#~| "
\n"
#~| " \n"
-#~| " | SHIFT+R | \n"
+#~| " Shift+R | \n"
#~| " Rotate by 90 degree CCW | \n"
#~| "
\n"
#~| " \n"
-#~| " | SHIFT+S | \n"
+#~| " Shift+S | \n"
#~| " Run a Script | \n"
#~| "
\n"
#~| " \n"
-#~| " | SHIFT+W | \n"
+#~| " Shift+W | \n"
#~| " Toggle the workspace | \n"
#~| "
\n"
#~| " \n"
-#~| " | SHIFT+X | \n"
+#~| " Shift+X | \n"
#~| " Skew on X axis | \n"
#~| "
\n"
#~| " \n"
-#~| " | SHIFT+Y | \n"
+#~| " Shift+Y | \n"
#~| " Skew on Y axis | \n"
#~| "
\n"
#~| " \n"
@@ -17795,59 +19016,59 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~| " | | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+C | \n"
+#~| " Alt+C | \n"
#~| " Calculators Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+D | \n"
+#~| " Alt+D | \n"
#~| " 2-Sided PCB Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+K | \n"
+#~| " Alt+K | \n"
#~| " Solder Paste Dispensing Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+L | \n"
+#~| " Alt+L | \n"
#~| " Film PCB Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+N | \n"
+#~| " Alt+N | \n"
#~| " Non-Copper Clearing Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+P | \n"
+#~| " Alt+P | \n"
#~| " Paint Area Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+Q | \n"
+#~| " Alt+Q | \n"
#~| " PDF Import Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+R | \n"
+#~| " Alt+R | \n"
#~| " Transformations Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+S | \n"
+#~| " Alt+S | \n"
#~| " View File Source | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+U | \n"
+#~| " Alt+U | \n"
#~| " Cutout PCB Tool | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+1 | \n"
+#~| " Alt+1 | \n"
#~| " Enable all Plots | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+2 | \n"
+#~| " Alt+2 | \n"
#~| " Disable all Plots | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+3 | \n"
+#~| " Alt+3 | \n"
#~| " Disable Non-selected Plots | \n"
#~| "
\n"
#~| " \n"
-#~| " | ALT+F10 | \n"
+#~| " Alt+F10 | \n"
#~| " Toggle Full Screen | \n"
#~| "
\n"
#~| " \n"
@@ -17998,39 +19219,39 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Select All | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Copy Obj | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Open Excellon File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Open Gerber File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " New Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Open Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Project As | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Toggle Plot Area | \n"
#~ "
\n"
#~ " \n"
@@ -18038,39 +19259,39 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Copy Obj_Name | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Toggle Code Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Toggle the axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Open Preferences Window | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Rotate by 90 degree CCW | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Run a Script | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Toggle the workspace | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18078,59 +19299,59 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Calculators Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " 2-Sided PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Solder Paste Dispensing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Film PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Non-Copper Clearing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Paint Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " PDF Import Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformations Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " View File Source | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Cutout PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Enable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Disable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Disable Non-selected Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Toggle Full Screen | \n"
#~ "
\n"
#~ " \n"
@@ -18138,7 +19359,7 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+ALT+X"
+#~ " | Ctrl+Alt+X"
#~ "td>\n"
#~ " | Abort current task (gracefully) | \n"
#~ "
\n"
@@ -18290,39 +19511,39 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Select All | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Copy Obj | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Open Excellon File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Open Gerber File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " New Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Open Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Project As | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Toggle Plot Area | \n"
#~ "
\n"
#~ " \n"
@@ -18330,39 +19551,39 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Copy Obj_Name | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Toggle Code Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Toggle the axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Open Preferences Window | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Rotate by 90 degree CCW | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Run a Script | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Toggle the workspace | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18370,59 +19591,59 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Calculators Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " 2-Sided PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Solder Paste Dispensing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Film PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Non-Copper Clearing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Paint Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " PDF Import Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformations Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " View File Source | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Cutout PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Enable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Disable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Disable Non-selected Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Toggle Full Screen | \n"
#~ "
\n"
#~ " \n"
@@ -18430,7 +19651,7 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+ALT+X"
+#~ " | Ctrl+Alt+X"
#~ "td>\n"
#~ " | Abort current task (gracefully) | \n"
#~ "
\n"
@@ -18565,11 +19786,11 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18577,15 +19798,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18593,15 +19814,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18693,7 +19914,7 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18781,11 +20002,11 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " Abort and return to Select | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Eraser Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18793,15 +20014,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Mark Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Poligonize Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformation Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18900,11 +20121,11 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18912,15 +20133,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18928,15 +20149,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -19028,7 +20249,7 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -19116,11 +20337,11 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " Abort and return to Select | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Eraser Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -19128,15 +20349,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Mark Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Poligonize Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformation Tool | \n"
#~ "
\n"
#~ " \n"
@@ -19878,9 +21099,6 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ msgid "Save &Defaults"
#~ msgstr "Save &Defaults"
-#~ msgid "Line"
-#~ msgstr "Line"
-
#~ msgid "Tool dia: "
#~ msgstr "Tool dia: "
@@ -20035,11 +21253,11 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20047,15 +21265,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20063,15 +21281,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -20153,7 +21371,7 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -20242,11 +21460,11 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20254,15 +21472,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20270,15 +21488,15 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -20360,7 +21578,7 @@ msgstr "No Geometry name in args. Provide a name and try again."
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
diff --git a/locale/es/LC_MESSAGES/strings.mo b/locale/es/LC_MESSAGES/strings.mo
index 5c8ff101..8750d6f2 100644
Binary files a/locale/es/LC_MESSAGES/strings.mo and b/locale/es/LC_MESSAGES/strings.mo differ
diff --git a/locale/es/LC_MESSAGES/strings.po b/locale/es/LC_MESSAGES/strings.po
index 40d3783a..859328da 100644
--- a/locale/es/LC_MESSAGES/strings.po
+++ b/locale/es/LC_MESSAGES/strings.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2019-12-28 20:25+0200\n"
-"PO-Revision-Date: 2019-12-28 20:27+0200\n"
+"POT-Creation-Date: 2020-04-25 15:46+0300\n"
+"PO-Revision-Date: 2020-04-25 17:44+0300\n"
"Last-Translator: Marius Stanciu - Google Translate\n"
"Language-Team: \n"
"Language: es\n"
@@ -22,17 +22,45 @@ msgstr ""
"X-Poedit-SearchPathExcluded-1: doc\n"
"X-Poedit-SearchPathExcluded-2: tests\n"
-#: FlatCAMApp.py:1040
+#: FlatCAMApp.py:789 FlatCAMApp.py:821 FlatCAMCommon.py:1925
+#: FlatCAMCommon.py:2040 flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:570
+#: flatcamEditors/FlatCAMGeoEditor.py:5152 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolNCC.py:2396 flatcamTools/ToolNCC.py:2424
+#: flatcamTools/ToolNCC.py:2694 flatcamTools/ToolNCC.py:2726
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1843
+#: tclCommands/TclCommandCopperClear.py:128
+#: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127
+msgid "Seed"
+msgstr "Semilla"
+
+#: FlatCAMApp.py:795 flatcamGUI/PreferencesUI.py:5588
+#: flatcamGUI/PreferencesUI.py:7695 flatcamTools/ToolCopperThieving.py:126
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1301
+#: flatcamTools/ToolNCC.py:1629 flatcamTools/ToolNCC.py:1914
+#: flatcamTools/ToolNCC.py:1978 flatcamTools/ToolNCC.py:2962
+#: flatcamTools/ToolNCC.py:2971 tclCommands/TclCommandCopperClear.py:190
+msgid "Itself"
+msgstr "Sí mismo"
+
+#: FlatCAMApp.py:822 flatcamGUI/PreferencesUI.py:6119
+#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:1422
+#: tclCommands/TclCommandPaint.py:162
+msgid "All Polygons"
+msgstr "Todos los polígonos"
+
+#: FlatCAMApp.py:1129
msgid "FlatCAM is initializing ..."
msgstr "FlatCAM se está inicializando ..."
-#: FlatCAMApp.py:1669
+#: FlatCAMApp.py:1814
msgid "Could not find the Language files. The App strings are missing."
msgstr ""
"No se pudieron encontrar los archivos de idioma. Las cadenas de aplicación "
"faltan."
-#: FlatCAMApp.py:1763
+#: FlatCAMApp.py:1908
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started."
@@ -40,7 +68,7 @@ msgstr ""
"FlatCAM se está inicializando ...\n"
"Se inició la inicialización del lienzo."
-#: FlatCAMApp.py:1781
+#: FlatCAMApp.py:1928
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started.\n"
@@ -50,69 +78,67 @@ msgstr ""
"Se inició la inicialización del lienzo.\n"
"La inicialización del lienzo terminó en"
-#: FlatCAMApp.py:2401
-msgid ""
-"Type >help< to get started\n"
-"\n"
-msgstr ""
-"Escriba >ayuda< para comenzar\n"
-"\n"
+#: FlatCAMApp.py:2570 flatcamGUI/GUIElements.py:2592
+msgid "Type >help< to get started"
+msgstr "Escriba >help< para comenzar"
-#: FlatCAMApp.py:2627 FlatCAMApp.py:9020
+#: FlatCAMApp.py:2822 FlatCAMApp.py:9400
msgid "New Project - Not saved"
msgstr "Proyecto nuevo: no guardado"
-#: FlatCAMApp.py:2702 FlatCAMApp.py:9088 FlatCAMApp.py:9125 FlatCAMApp.py:9166
-#: FlatCAMApp.py:9237 FlatCAMApp.py:9991 FlatCAMApp.py:11174
-#: FlatCAMApp.py:11233
-msgid ""
-"Canvas initialization started.\n"
-"Canvas initialization finished in"
-msgstr ""
-"Se inició la inicialización del lienzo.\n"
-"La inicialización del lienzo terminó en"
-
-#: FlatCAMApp.py:2704
-msgid "Executing Tcl Script ..."
-msgstr "Ejecutando Tcl Script ..."
-
-#: FlatCAMApp.py:2719
+#: FlatCAMApp.py:2918
msgid ""
"Found old default preferences files. Please reboot the application to update."
msgstr ""
"Se encontraron archivos de preferencias predeterminados antiguos. Reinicie "
"la aplicación para actualizar."
-#: FlatCAMApp.py:2763 ObjectCollection.py:90 flatcamTools/ToolImage.py:248
+#: FlatCAMApp.py:2969 FlatCAMApp.py:3889 FlatCAMApp.py:3938 FlatCAMApp.py:3993
+#: FlatCAMApp.py:4068 FlatCAMApp.py:6117 FlatCAMApp.py:9484 FlatCAMApp.py:9521
+#: FlatCAMApp.py:9563 FlatCAMApp.py:9592 FlatCAMApp.py:9632 FlatCAMApp.py:9657
+#: FlatCAMApp.py:9709 FlatCAMApp.py:9745 FlatCAMApp.py:9791 FlatCAMApp.py:9832
+#: FlatCAMApp.py:9873 FlatCAMApp.py:9914 FlatCAMApp.py:9955 FlatCAMApp.py:9999
+#: FlatCAMApp.py:10055 FlatCAMApp.py:10087 FlatCAMApp.py:10119
+#: FlatCAMApp.py:10356 FlatCAMApp.py:10400 FlatCAMApp.py:10477
+#: FlatCAMApp.py:10532 FlatCAMCommon.py:371 FlatCAMCommon.py:413
+#: FlatCAMCommon.py:1107 FlatCAMCommon.py:1153 FlatCAMCommon.py:2537
+#: FlatCAMCommon.py:2583 ObjectCollection.py:122
+#: flatcamEditors/FlatCAMExcEditor.py:1024
+#: flatcamEditors/FlatCAMExcEditor.py:1092
+#: flatcamEditors/FlatCAMTextEditor.py:223 flatcamGUI/FlatCAMGUI.py:3389
+#: flatcamGUI/FlatCAMGUI.py:3601 flatcamGUI/FlatCAMGUI.py:3812
+#: flatcamTools/ToolFilm.py:754 flatcamTools/ToolFilm.py:900
+#: flatcamTools/ToolImage.py:247 flatcamTools/ToolMove.py:270
#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324
-msgid "Open cancelled."
-msgstr "Abierto cancelado."
+#: flatcamTools/ToolQRCode.py:791 flatcamTools/ToolQRCode.py:838
+msgid "Cancelled."
+msgstr "Cancelado."
-#: FlatCAMApp.py:2779
+#: FlatCAMApp.py:2985
msgid "Open Config file failed."
msgstr "El archivo de configuración abierto falló."
-#: FlatCAMApp.py:2794
+#: FlatCAMApp.py:3000
msgid "Open Script file failed."
msgstr "Error al abrir el archivo de script."
-#: FlatCAMApp.py:2820
+#: FlatCAMApp.py:3026
msgid "Open Excellon file failed."
msgstr "Abrir archivo Excellon falló."
-#: FlatCAMApp.py:2833
+#: FlatCAMApp.py:3039
msgid "Open GCode file failed."
msgstr "Error al abrir el archivo GCode."
-#: FlatCAMApp.py:2846
+#: FlatCAMApp.py:3052
msgid "Open Gerber file failed."
msgstr "Error al abrir el archivo Gerber."
-#: FlatCAMApp.py:3201
+#: FlatCAMApp.py:3429
msgid "Select a Geometry, Gerber or Excellon Object to edit."
msgstr "Seleccione un objeto Geometry, Gerber o Excellon para editar."
-#: FlatCAMApp.py:3216
+#: FlatCAMApp.py:3444
msgid ""
"Simultaneous editing of tools geometry in a MultiGeo Geometry is not "
"possible.\n"
@@ -122,98 +148,96 @@ msgstr ""
"MultiGeo no es posible.\n"
"Edite solo una geometría a la vez."
-#: FlatCAMApp.py:3271
+#: FlatCAMApp.py:3502
msgid "Editor is activated ..."
msgstr "Editor está activado ..."
-#: FlatCAMApp.py:3292
+#: FlatCAMApp.py:3523
msgid "Do you want to save the edited object?"
msgstr "Quieres guardar el objeto editado?"
-#: FlatCAMApp.py:3293 flatcamGUI/FlatCAMGUI.py:2165
+#: FlatCAMApp.py:3524 flatcamGUI/FlatCAMGUI.py:2273
msgid "Close Editor"
msgstr "Cerrar Editor"
-#: FlatCAMApp.py:3296 FlatCAMApp.py:4014 FlatCAMApp.py:5067 FlatCAMApp.py:7724
-#: FlatCAMApp.py:7750 FlatCAMApp.py:8927 FlatCAMTranslation.py:108
-#: FlatCAMTranslation.py:193
+#: FlatCAMApp.py:3527 FlatCAMApp.py:5169 FlatCAMApp.py:8030 FlatCAMApp.py:8056
+#: FlatCAMApp.py:9305 FlatCAMTranslation.py:108 FlatCAMTranslation.py:199
+#: flatcamGUI/FlatCAMGUI.py:2479
msgid "Yes"
msgstr "Sí"
-#: FlatCAMApp.py:3297 FlatCAMApp.py:4015 FlatCAMApp.py:5068 FlatCAMApp.py:7725
-#: FlatCAMApp.py:7751 FlatCAMApp.py:8928 FlatCAMTranslation.py:109
-#: FlatCAMTranslation.py:194 flatcamGUI/PreferencesUI.py:5139
-#: flatcamGUI/PreferencesUI.py:5554 flatcamTools/ToolNonCopperClear.py:189
-#: flatcamTools/ToolPaint.py:161
+#: FlatCAMApp.py:3528 FlatCAMApp.py:5170 FlatCAMApp.py:8031 FlatCAMApp.py:8057
+#: FlatCAMApp.py:9306 FlatCAMTranslation.py:109 FlatCAMTranslation.py:200
+#: flatcamGUI/FlatCAMGUI.py:2480 flatcamGUI/PreferencesUI.py:5443
+#: flatcamGUI/PreferencesUI.py:5989 flatcamTools/ToolNCC.py:182
+#: flatcamTools/ToolPaint.py:166
msgid "No"
msgstr "No"
-#: FlatCAMApp.py:3298 FlatCAMApp.py:5069 FlatCAMApp.py:5925 FlatCAMApp.py:7006
-#: FlatCAMApp.py:8929 FlatCAMCommon.py:571 flatcamGUI/FlatCAMGUI.py:1260
+#: FlatCAMApp.py:3529 FlatCAMApp.py:5171 FlatCAMApp.py:6055 FlatCAMApp.py:7006
+#: FlatCAMApp.py:9307 FlatCAMCommon.py:572 FlatCAMCommon.py:2127
+#: flatcamGUI/FlatCAMGUI.py:1332
msgid "Cancel"
msgstr "Cancelar"
-#: FlatCAMApp.py:3326
+#: FlatCAMApp.py:3561
msgid "Object empty after edit."
msgstr "Objeto vacío después de editar."
-#: FlatCAMApp.py:3375 FlatCAMApp.py:3395 FlatCAMApp.py:3410
+#: FlatCAMApp.py:3565 FlatCAMApp.py:3586 FlatCAMApp.py:3608
+msgid "Editor exited. Editor content saved."
+msgstr "Editor salido. Contenido del editor guardado."
+
+#: FlatCAMApp.py:3612 FlatCAMApp.py:3635 FlatCAMApp.py:3653
msgid "Select a Gerber, Geometry or Excellon Object to update."
msgstr "Seleccione un objeto Gerber, Geometry o Excellon para actualizar."
-#: FlatCAMApp.py:3379
+#: FlatCAMApp.py:3615
msgid "is updated, returning to App..."
msgstr "se actualiza, volviendo a la aplicación ..."
-#: FlatCAMApp.py:3774 FlatCAMApp.py:3888 FlatCAMApp.py:4929
+#: FlatCAMApp.py:3622
+msgid "Editor exited. Editor content was not saved."
+msgstr "Editor salido. El contenido del editor no se guardó."
+
+#: FlatCAMApp.py:3815 FlatCAMApp.py:3946 FlatCAMApp.py:5018
msgid "Could not load defaults file."
msgstr "No se pudo cargar el archivo predeterminado."
-#: FlatCAMApp.py:3786 FlatCAMApp.py:3896 FlatCAMApp.py:4938
+#: FlatCAMApp.py:3827 FlatCAMApp.py:3954 FlatCAMApp.py:5027
msgid "Failed to parse defaults file."
msgstr "Error al analizar el archivo predeterminado."
-#: FlatCAMApp.py:3831
-msgid "Preferences default restore was cancelled."
-msgstr "La restauración predeterminada de preferencias fue cancelada."
-
-#: FlatCAMApp.py:3839 FlatCAMApp.py:5017
+#: FlatCAMApp.py:3897 FlatCAMApp.py:5119
msgid "Could not load factory defaults file."
msgstr "No se pudo cargar el archivo de valores predeterminados de fábrica."
-#: FlatCAMApp.py:3847 FlatCAMApp.py:5027
+#: FlatCAMApp.py:3905 FlatCAMApp.py:5129
msgid "Failed to parse factory defaults file."
msgstr "Error al analizar el archivo de valores predeterminados de fábrica."
-#: FlatCAMApp.py:3855
+#: FlatCAMApp.py:3913
msgid "Preferences default values are restored."
msgstr "Se restauran los valores predeterminados de las preferencias."
-#: FlatCAMApp.py:3870 FlatCAMApp.py:3874
+#: FlatCAMApp.py:3928 FlatCAMApp.py:3932
msgid "Import FlatCAM Preferences"
msgstr "Importar preferencias de FlatCAM"
-#: FlatCAMApp.py:3880
-msgid "FlatCAM preferences import cancelled."
-msgstr "Importación de preferencias de FlatCAM cancelada."
-
-#: FlatCAMApp.py:3904
+#: FlatCAMApp.py:3962
msgid "Imported Defaults from"
msgstr "Valores predeterminados importados de"
-#: FlatCAMApp.py:3924 FlatCAMApp.py:3929
+#: FlatCAMApp.py:3982 FlatCAMApp.py:3987
msgid "Export FlatCAM Preferences"
msgstr "Exportar preferencias de FlatCAM"
-#: FlatCAMApp.py:3936
-msgid "FlatCAM preferences export cancelled."
-msgstr "Exportación de preferencias de FlatCAM cancelada."
-
-#: FlatCAMApp.py:3945 FlatCAMApp.py:10389 FlatCAMApp.py:10437
-#: FlatCAMApp.py:10560 FlatCAMApp.py:10699 FlatCAMCommon.py:378
-#: FlatCAMCommon.py:1114 FlatCAMObj.py:6903
-#: flatcamEditors/FlatCAMTextEditor.py:274 flatcamTools/ToolFilm.py:1019
-#: flatcamTools/ToolFilm.py:1195 flatcamTools/ToolSolderPaste.py:1544
+#: FlatCAMApp.py:4002 FlatCAMApp.py:4076 FlatCAMApp.py:10776
+#: FlatCAMApp.py:10824 FlatCAMApp.py:10950 FlatCAMApp.py:11087
+#: FlatCAMCommon.py:379 FlatCAMCommon.py:1115 FlatCAMCommon.py:2545
+#: FlatCAMObj.py:7484 flatcamEditors/FlatCAMTextEditor.py:276
+#: flatcamTools/ToolFilm.py:1031 flatcamTools/ToolFilm.py:1212
+#: flatcamTools/ToolSolderPaste.py:1533
msgid ""
"Permission denied, saving not possible.\n"
"Most likely another app is holding the file open and not accessible."
@@ -222,108 +246,108 @@ msgstr ""
"Lo más probable es que otra aplicación mantenga el archivo abierto y no "
"accesible."
-#: FlatCAMApp.py:3957
+#: FlatCAMApp.py:4014
msgid "Could not load preferences file."
msgstr "No se pudo cargar el archivo de preferencias."
-#: FlatCAMApp.py:3976 FlatCAMApp.py:4985
+#: FlatCAMApp.py:4033 FlatCAMApp.py:4100 FlatCAMApp.py:5046
msgid "Failed to write defaults to file."
msgstr "Error al escribir los valores predeterminados en el archivo."
-#: FlatCAMApp.py:3981
+#: FlatCAMApp.py:4038
msgid "Exported preferences to"
msgstr "Preferencias exportadas a"
-#: FlatCAMApp.py:3998
-msgid "FlatCAM Preferences Folder opened."
-msgstr "Carpeta de preferencias de FlatCAM abierta."
+#: FlatCAMApp.py:4058 FlatCAMApp.py:4063
+msgid "Save to file"
+msgstr "Guardar en archivo"
-#: FlatCAMApp.py:4009
-msgid "Are you sure you want to delete the GUI Settings? \n"
-msgstr "¿Está seguro de que desea eliminar la configuración de la GUI?\n"
+#: FlatCAMApp.py:4087
+msgid "Could not load the file."
+msgstr "No se pudo cargar el archivo."
-#: FlatCAMApp.py:4012 flatcamGUI/FlatCAMGUI.py:1230
-msgid "Clear GUI Settings"
-msgstr "Borrar la configuración de la GUI"
+#: FlatCAMApp.py:4103
+msgid "Exported file to"
+msgstr "Exported file to"
-#: FlatCAMApp.py:4109
+#: FlatCAMApp.py:4186
msgid "Failed to open recent files file for writing."
msgstr "Error al abrir archivos recientes para escritura."
-#: FlatCAMApp.py:4120
+#: FlatCAMApp.py:4197
msgid "Failed to open recent projects file for writing."
msgstr "Error al abrir el archivo de proyectos recientes para escribir."
-#: FlatCAMApp.py:4205 FlatCAMApp.py:10900 FlatCAMApp.py:10961
-#: FlatCAMApp.py:11090 FlatCAMObj.py:5050
-#: flatcamEditors/FlatCAMGrbEditor.py:4187 flatcamTools/ToolPcbWizard.py:437
+#: FlatCAMApp.py:4282 FlatCAMApp.py:11283 FlatCAMApp.py:11342
+#: FlatCAMApp.py:11470 FlatCAMApp.py:12196 FlatCAMObj.py:5605
+#: flatcamEditors/FlatCAMGrbEditor.py:4231 flatcamTools/ToolPcbWizard.py:433
msgid "An internal error has occurred. See shell.\n"
msgstr "Ha ocurrido un error interno. Ver concha\n"
-#: FlatCAMApp.py:4206
+#: FlatCAMApp.py:4283
#, python-brace-format
msgid ""
"Object ({kind}) failed because: {error} \n"
"\n"
msgstr "El objeto ({kind}) falló porque: {error}\n"
-#: FlatCAMApp.py:4221
+#: FlatCAMApp.py:4298
msgid "Converting units to "
msgstr "Convertir unidades a "
-#: FlatCAMApp.py:4324
+#: FlatCAMApp.py:4411
msgid "CREATE A NEW FLATCAM TCL SCRIPT"
msgstr "CREA UN NUEVO SCRIPT FLATCAM TCL"
-#: FlatCAMApp.py:4325
+#: FlatCAMApp.py:4412
msgid "TCL Tutorial is here"
msgstr "TCL Tutorial está aquí"
-#: FlatCAMApp.py:4327
+#: FlatCAMApp.py:4414
msgid "FlatCAM commands list"
msgstr "Lista de comandos de FlatCAM"
-#: FlatCAMApp.py:4378 FlatCAMApp.py:4384 FlatCAMApp.py:4390 FlatCAMApp.py:4396
-#: FlatCAMApp.py:4402 FlatCAMApp.py:4408
+#: FlatCAMApp.py:4465 FlatCAMApp.py:4471 FlatCAMApp.py:4477 FlatCAMApp.py:4483
+#: FlatCAMApp.py:4489 FlatCAMApp.py:4495
msgid "created/selected"
msgstr "creado / seleccionado"
-#: FlatCAMApp.py:4423 FlatCAMApp.py:7086 FlatCAMObj.py:271 FlatCAMObj.py:302
-#: FlatCAMObj.py:318 FlatCAMObj.py:398 flatcamTools/ToolCopperThieving.py:1476
-#: flatcamTools/ToolFiducials.py:807 flatcamTools/ToolMove.py:220
-#: flatcamTools/ToolQRCode.py:726
+#: FlatCAMApp.py:4510 FlatCAMApp.py:7092 FlatCAMObj.py:278 FlatCAMObj.py:309
+#: FlatCAMObj.py:325 FlatCAMObj.py:405 flatcamTools/ToolCopperThieving.py:1482
+#: flatcamTools/ToolFiducials.py:809 flatcamTools/ToolMove.py:230
+#: flatcamTools/ToolQRCode.py:728
msgid "Plotting"
msgstr "Trazado"
-#: FlatCAMApp.py:4486 flatcamGUI/FlatCAMGUI.py:491
+#: FlatCAMApp.py:4573 flatcamGUI/FlatCAMGUI.py:530
msgid "About FlatCAM"
msgstr "Sobre FlatCAM"
-#: FlatCAMApp.py:4512
+#: FlatCAMApp.py:4599
msgid "2D Computer-Aided Printed Circuit Board Manufacturing"
msgstr "Fabricación de placa de circuito impreso asistida por computadora 2D"
-#: FlatCAMApp.py:4513
+#: FlatCAMApp.py:4600
msgid "Development"
msgstr "Desarrollo"
-#: FlatCAMApp.py:4514
+#: FlatCAMApp.py:4601
msgid "DOWNLOAD"
msgstr "DESCARGAR"
-#: FlatCAMApp.py:4515
+#: FlatCAMApp.py:4602
msgid "Issue tracker"
msgstr "Rastreador de problemas"
-#: FlatCAMApp.py:4519 FlatCAMApp.py:4860
+#: FlatCAMApp.py:4606 FlatCAMApp.py:4948 flatcamGUI/GUIElements.py:2583
msgid "Close"
msgstr "Cerca"
-#: FlatCAMApp.py:4534
+#: FlatCAMApp.py:4621
msgid "Licensed under the MIT license"
msgstr "Licenciado bajo la licencia MIT"
-#: FlatCAMApp.py:4543
+#: FlatCAMApp.py:4630
msgid ""
"Permission is hereby granted, free of charge, to any person obtaining a "
"copy\n"
@@ -373,7 +397,7 @@ msgstr ""
"FUERA DE O EN CONEXIÓN CON EL SOFTWARE O EL USO U OTRAS OFERTAS EN\n"
"EL SOFTWARE."
-#: FlatCAMApp.py:4565
+#: FlatCAMApp.py:4652
msgid ""
"Some of the icons used are from the following sources:
Iconos de oNline Web Fonts"
-#: FlatCAMApp.py:4597
+#: FlatCAMApp.py:4685
msgid "Splash"
msgstr "Pantalla de bienvenida"
-#: FlatCAMApp.py:4603
+#: FlatCAMApp.py:4691
msgid "Programmers"
msgstr "Programadores"
-#: FlatCAMApp.py:4609
+#: FlatCAMApp.py:4697
msgid "Translators"
msgstr "Traductores"
-#: FlatCAMApp.py:4615
+#: FlatCAMApp.py:4703
msgid "License"
msgstr "Licencia"
-#: FlatCAMApp.py:4621
+#: FlatCAMApp.py:4709
msgid "Attributions"
msgstr "Atribuciones"
-#: FlatCAMApp.py:4644
+#: FlatCAMApp.py:4732
msgid "Programmer"
msgstr "Programador"
-#: FlatCAMApp.py:4645
+#: FlatCAMApp.py:4733
msgid "Status"
msgstr "Estado"
-#: FlatCAMApp.py:4646 FlatCAMApp.py:4724
+#: FlatCAMApp.py:4734 FlatCAMApp.py:4812
msgid "E-mail"
msgstr "Email"
-#: FlatCAMApp.py:4654
+#: FlatCAMApp.py:4742
msgid "BETA Maintainer >= 2019"
msgstr "BETA Mantenedor >= 2019"
-#: FlatCAMApp.py:4721
+#: FlatCAMApp.py:4809
msgid "Language"
msgstr "Idioma"
-#: FlatCAMApp.py:4722
+#: FlatCAMApp.py:4810
msgid "Translator"
msgstr "Traductor"
-#: FlatCAMApp.py:4723
+#: FlatCAMApp.py:4811
msgid "Corrections"
msgstr "Correcciones"
-#: FlatCAMApp.py:4832 FlatCAMApp.py:4840 FlatCAMApp.py:7769
-#: flatcamGUI/FlatCAMGUI.py:473
+#: FlatCAMApp.py:4920 FlatCAMApp.py:4928 FlatCAMApp.py:8075
+#: flatcamGUI/FlatCAMGUI.py:512
msgid "Bookmarks Manager"
msgstr "Administrador de Marcadores"
-#: FlatCAMApp.py:4851
+#: FlatCAMApp.py:4939
msgid ""
"This entry will resolve to another website if:\n"
"\n"
@@ -462,28 +486,28 @@ msgstr ""
"Si no puede obtener información sobre FlatCAM beta\n"
"use el enlace del canal de YouTube desde el menú Ayuda."
-#: FlatCAMApp.py:4858
+#: FlatCAMApp.py:4946
msgid "Alternative website"
msgstr "Sitio web alternativo"
-#: FlatCAMApp.py:4989 FlatCAMApp.py:7733
+#: FlatCAMApp.py:5050 FlatCAMApp.py:8039
msgid "Preferences saved."
msgstr "Preferencias guardadas."
-#: FlatCAMApp.py:5043
+#: FlatCAMApp.py:5145
msgid "Failed to write factory defaults to file."
msgstr ""
"Error al escribir los valores predeterminados de fábrica en el archivo."
-#: FlatCAMApp.py:5047
+#: FlatCAMApp.py:5149
msgid "Factory defaults saved."
msgstr "Valores predeterminados de fábrica guardados."
-#: FlatCAMApp.py:5057 flatcamGUI/FlatCAMGUI.py:3962
+#: FlatCAMApp.py:5159 flatcamGUI/FlatCAMGUI.py:4178
msgid "Application is saving the project. Please wait ..."
msgstr "La aplicación es guardar el proyecto. Por favor espera ..."
-#: FlatCAMApp.py:5062 FlatCAMTranslation.py:188
+#: FlatCAMApp.py:5164 FlatCAMTranslation.py:194
msgid ""
"There are files/objects modified in FlatCAM. \n"
"Do you want to Save the project?"
@@ -491,29 +515,29 @@ msgstr ""
"Hay archivos / objetos modificados en FlatCAM.\n"
"¿Quieres guardar el proyecto?"
-#: FlatCAMApp.py:5065 FlatCAMApp.py:8925 FlatCAMTranslation.py:191
+#: FlatCAMApp.py:5167 FlatCAMApp.py:9303 FlatCAMTranslation.py:197
msgid "Save changes"
msgstr "Guardar cambios"
-#: FlatCAMApp.py:5306
+#: FlatCAMApp.py:5423
msgid "Selected Excellon file extensions registered with FlatCAM."
msgstr "Extensiones de archivo Excellon seleccionadas registradas con FlatCAM."
-#: FlatCAMApp.py:5328
+#: FlatCAMApp.py:5445
msgid "Selected GCode file extensions registered with FlatCAM."
msgstr "Extensiones de archivo GCode seleccionadas registradas con FlatCAM."
-#: FlatCAMApp.py:5350
+#: FlatCAMApp.py:5467
msgid "Selected Gerber file extensions registered with FlatCAM."
msgstr "Extensiones de archivo Gerber seleccionadas registradas con FlatCAM."
-#: FlatCAMApp.py:5538 FlatCAMApp.py:5595 FlatCAMApp.py:5623
+#: FlatCAMApp.py:5655 FlatCAMApp.py:5714 FlatCAMApp.py:5742
msgid "At least two objects are required for join. Objects currently selected"
msgstr ""
"Se requieren al menos dos objetos para unirse. Objetos actualmente "
"seleccionados"
-#: FlatCAMApp.py:5547
+#: FlatCAMApp.py:5664
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 "
@@ -529,51 +553,47 @@ msgstr ""
"pueden perderse y el resultado puede no ser el esperado.\n"
"Compruebe el GCODE generado."
-#: FlatCAMApp.py:5559
-msgid "Multigeo. Geometry merging finished"
-msgstr "Multi Geo. Geometría fusionada terminada"
-
-#: FlatCAMApp.py:5568
+#: FlatCAMApp.py:5676 FlatCAMApp.py:5686
msgid "Geometry merging finished"
msgstr "Geometría fusionada terminada"
-#: FlatCAMApp.py:5590
+#: FlatCAMApp.py:5709
msgid "Failed. Excellon joining works only on Excellon objects."
msgstr "Ha fallado. La unión de Excellon funciona solo en objetos de Excellon."
-#: FlatCAMApp.py:5600
+#: FlatCAMApp.py:5719
msgid "Excellon merging finished"
msgstr "Excellon fusión finalizada"
-#: FlatCAMApp.py:5618
+#: FlatCAMApp.py:5737
msgid "Failed. Gerber joining works only on Gerber objects."
msgstr "Ha fallado. La unión de Gerber funciona solo en objetos de Gerber."
-#: FlatCAMApp.py:5628
+#: FlatCAMApp.py:5747
msgid "Gerber merging finished"
msgstr "Gerber fusión finalizada"
-#: FlatCAMApp.py:5648 FlatCAMApp.py:5683
+#: FlatCAMApp.py:5767 FlatCAMApp.py:5802
msgid "Failed. Select a Geometry Object and try again."
msgstr "Ha fallado. Seleccione un objeto de Geometría y vuelva a intentarlo."
-#: FlatCAMApp.py:5652 FlatCAMApp.py:5688
+#: FlatCAMApp.py:5771 FlatCAMApp.py:5807
msgid "Expected a FlatCAMGeometry, got"
msgstr "Se esperaba un FlatCAMGeometry, se obtuvo"
-#: FlatCAMApp.py:5665
+#: FlatCAMApp.py:5784
msgid "A Geometry object was converted to MultiGeo type."
msgstr "Un objeto Geometry fue convertido al tipo MultiGeo."
-#: FlatCAMApp.py:5703
+#: FlatCAMApp.py:5822
msgid "A Geometry object was converted to SingleGeo type."
msgstr "Un objeto Geometry fue convertido al tipo SingleGeo."
-#: FlatCAMApp.py:5919
+#: FlatCAMApp.py:6049
msgid "Toggle Units"
msgstr "(Escriba ayuda para empezar)"
-#: FlatCAMApp.py:5921
+#: FlatCAMApp.py:6051
msgid ""
"Changing the units of the project\n"
"will scale all objects.\n"
@@ -585,29 +605,25 @@ msgstr ""
"\n"
"¿Quieres continuar?"
-#: FlatCAMApp.py:5924 FlatCAMApp.py:6929 FlatCAMApp.py:7005 FlatCAMApp.py:9290
-#: FlatCAMApp.py:9304 FlatCAMApp.py:9658 FlatCAMApp.py:9669
+#: FlatCAMApp.py:6054 FlatCAMApp.py:6928 FlatCAMApp.py:7005 FlatCAMApp.py:9676
+#: FlatCAMApp.py:9690 FlatCAMApp.py:10025 FlatCAMApp.py:10035
msgid "Ok"
msgstr "De acuerdo"
-#: FlatCAMApp.py:5973
+#: FlatCAMApp.py:6103
msgid "Converted units to"
msgstr "Convertir unidades a"
-#: FlatCAMApp.py:5987
-msgid "Units conversion cancelled."
-msgstr "Conversión de unidades cancelada."
-
-#: FlatCAMApp.py:6613
+#: FlatCAMApp.py:6743
msgid "Detachable Tabs"
msgstr "Tabulacion desmontables"
-#: FlatCAMApp.py:6828 FlatCAMApp.py:6889 FlatCAMApp.py:7560 FlatCAMApp.py:7622
-#: FlatCAMApp.py:7688
+#: FlatCAMApp.py:6817 FlatCAMApp.py:6861 FlatCAMApp.py:6889 FlatCAMApp.py:7822
+#: FlatCAMApp.py:7890 FlatCAMApp.py:7994
msgid "Preferences"
msgstr "Preferencias"
-#: FlatCAMApp.py:6831
+#: FlatCAMApp.py:6823
msgid "Preferences applied."
msgstr "Preferencias aplicadas."
@@ -615,20 +631,20 @@ msgstr "Preferencias aplicadas."
msgid "Preferences closed without saving."
msgstr "Preferencias cerradas sin guardar."
-#: FlatCAMApp.py:6917 flatcamTools/ToolNonCopperClear.py:591
-#: flatcamTools/ToolNonCopperClear.py:987 flatcamTools/ToolPaint.py:502
-#: flatcamTools/ToolSolderPaste.py:562 flatcamTools/ToolSolderPaste.py:892
+#: FlatCAMApp.py:6917 flatcamTools/ToolNCC.py:932 flatcamTools/ToolNCC.py:1426
+#: flatcamTools/ToolPaint.py:858 flatcamTools/ToolSolderPaste.py:568
+#: flatcamTools/ToolSolderPaste.py:893
msgid "Please enter a tool diameter with non-zero value, in Float format."
msgstr ""
"Introduzca un diámetro de herramienta con valor distinto de cero, en formato "
"Float."
-#: FlatCAMApp.py:6922 flatcamTools/ToolNonCopperClear.py:595
-#: flatcamTools/ToolPaint.py:506 flatcamTools/ToolSolderPaste.py:566
+#: FlatCAMApp.py:6921 flatcamTools/ToolNCC.py:936 flatcamTools/ToolPaint.py:862
+#: flatcamTools/ToolSolderPaste.py:572
msgid "Adding Tool cancelled"
msgstr "Añadiendo herramienta cancelada"
-#: FlatCAMApp.py:6925
+#: FlatCAMApp.py:6924
msgid ""
"Adding Tool works only when Advanced is checked.\n"
"Go to Preferences -> General - Show Advanced Options."
@@ -648,102 +664,144 @@ msgstr ""
"¿Estás seguro de que deseas eliminarlo permanentemente?\n"
"los objetos seleccionados?"
-#: FlatCAMApp.py:7034
+#: FlatCAMApp.py:7041
msgid "Object(s) deleted"
msgstr "Objeto (s) eliminado"
-#: FlatCAMApp.py:7038 flatcamTools/ToolDblSided.py:713
+#: FlatCAMApp.py:7045 FlatCAMApp.py:7200 flatcamTools/ToolDblSided.py:819
msgid "Failed. No object(s) selected..."
msgstr "Ha fallado. Ningún objeto (s) seleccionado ..."
-#: FlatCAMApp.py:7040
+#: FlatCAMApp.py:7047
msgid "Save the work in Editor and try again ..."
msgstr "Guarda el trabajo en el Editor y vuelve a intentarlo ..."
-#: FlatCAMApp.py:7070
+#: FlatCAMApp.py:7076
msgid "Object deleted"
msgstr "Objeto eliminado"
-#: FlatCAMApp.py:7097
+#: FlatCAMApp.py:7103
msgid "Click to set the origin ..."
msgstr "Haga clic para establecer el origen ..."
-#: FlatCAMApp.py:7119
+#: FlatCAMApp.py:7125
msgid "Setting Origin..."
msgstr "Establecer Origen ..."
-#: FlatCAMApp.py:7131
+#: FlatCAMApp.py:7138 FlatCAMApp.py:7240
msgid "Origin set"
msgstr "Conjunto de origen"
-#: FlatCAMApp.py:7138
+#: FlatCAMApp.py:7155
msgid "Origin coordinates specified but incomplete."
msgstr "Origin coordinates specified but incomplete."
-#: FlatCAMApp.py:7197
+#: FlatCAMApp.py:7196
+msgid "Moving to Origin..."
+msgstr "Mudarse al origen ..."
+
+#: FlatCAMApp.py:7277
msgid "Jump to ..."
msgstr "Salta a ..."
-#: FlatCAMApp.py:7198
+#: FlatCAMApp.py:7278
msgid "Enter the coordinates in format X,Y:"
msgstr "Introduzca las coordenadas en formato X, Y:"
-#: FlatCAMApp.py:7208
+#: FlatCAMApp.py:7288
msgid "Wrong coordinates. Enter coordinates in format: X,Y"
msgstr "Coordenadas erróneas. Introduzca las coordenadas en formato: X, Y"
-#: FlatCAMApp.py:7288 flatcamEditors/FlatCAMExcEditor.py:3599
-#: flatcamEditors/FlatCAMExcEditor.py:3607
-#: flatcamEditors/FlatCAMGeoEditor.py:4036
-#: flatcamEditors/FlatCAMGeoEditor.py:4051
-#: flatcamEditors/FlatCAMGrbEditor.py:1086
-#: flatcamEditors/FlatCAMGrbEditor.py:1203
-#: flatcamEditors/FlatCAMGrbEditor.py:1489
-#: flatcamEditors/FlatCAMGrbEditor.py:1758
-#: flatcamEditors/FlatCAMGrbEditor.py:4445
-#: flatcamEditors/FlatCAMGrbEditor.py:4460 flatcamGUI/FlatCAMGUI.py:3145
-#: flatcamGUI/FlatCAMGUI.py:3157
+#: FlatCAMApp.py:7366 FlatCAMApp.py:7515
+#: flatcamEditors/FlatCAMExcEditor.py:3622
+#: flatcamEditors/FlatCAMExcEditor.py:3630
+#: flatcamEditors/FlatCAMGeoEditor.py:4349
+#: flatcamEditors/FlatCAMGeoEditor.py:4363
+#: flatcamEditors/FlatCAMGrbEditor.py:1085
+#: flatcamEditors/FlatCAMGrbEditor.py:1202
+#: flatcamEditors/FlatCAMGrbEditor.py:1488
+#: flatcamEditors/FlatCAMGrbEditor.py:1757
+#: flatcamEditors/FlatCAMGrbEditor.py:4489
+#: flatcamEditors/FlatCAMGrbEditor.py:4504 flatcamGUI/FlatCAMGUI.py:3370
+#: flatcamGUI/FlatCAMGUI.py:3382 flatcamTools/ToolAlignObjects.py:393
+#: flatcamTools/ToolAlignObjects.py:415
msgid "Done."
msgstr "Hecho."
-#: FlatCAMApp.py:7440 FlatCAMApp.py:7511
+#: FlatCAMApp.py:7381 FlatCAMApp.py:9672 FlatCAMApp.py:9768 FlatCAMApp.py:9810
+#: FlatCAMApp.py:9851 FlatCAMApp.py:9892 FlatCAMApp.py:9933 FlatCAMApp.py:9977
+#: FlatCAMApp.py:10021 FlatCAMApp.py:10510 FlatCAMApp.py:10514
+#: flatcamTools/ToolProperties.py:116
+msgid "No object selected."
+msgstr "Ningún objeto seleccionado."
+
+#: FlatCAMApp.py:7400
+msgid "Bottom-Left"
+msgstr "Abajo-izquierda"
+
+#: FlatCAMApp.py:7401 flatcamGUI/PreferencesUI.py:8111
+#: flatcamTools/ToolCalibration.py:159
+msgid "Top-Left"
+msgstr "Arriba a la izquierda"
+
+#: FlatCAMApp.py:7402 flatcamGUI/PreferencesUI.py:8112
+#: flatcamTools/ToolCalibration.py:160
+msgid "Bottom-Right"
+msgstr "Abajo a la derecha"
+
+#: FlatCAMApp.py:7403
+msgid "Top-Right"
+msgstr "Top-Derecha"
+
+#: FlatCAMApp.py:7404 flatcamGUI/ObjectUI.py:2624
+msgid "Center"
+msgstr "Centrar"
+
+#: FlatCAMApp.py:7424
+msgid "Locate ..."
+msgstr "Localizar ..."
+
+#: FlatCAMApp.py:7685 FlatCAMApp.py:7762
msgid "No object is selected. Select an object and try again."
msgstr ""
"Ningún objeto está seleccionado. Seleccione un objeto y vuelva a intentarlo."
-#: FlatCAMApp.py:7531
+#: FlatCAMApp.py:7788
msgid ""
"Aborting. The current task will be gracefully closed as soon as possible..."
msgstr "Abortar La tarea actual se cerrará con gracia lo antes posible ..."
-#: FlatCAMApp.py:7537
+#: FlatCAMApp.py:7794
msgid "The current task was gracefully closed on user request..."
msgstr "La tarea actual se cerró correctamente a petición del usuario ..."
-#: FlatCAMApp.py:7619
+#: FlatCAMApp.py:7887
msgid "Preferences edited but not saved."
msgstr "Preferencias editadas pero no guardadas."
-#: FlatCAMApp.py:7633 FlatCAMApp.py:7645 FlatCAMApp.py:7662 FlatCAMApp.py:7679
-#: FlatCAMApp.py:7739 FlatCAMCommon.py:1181 FlatCAMCommon.py:1356
-#: FlatCAMObj.py:4256
+#: FlatCAMApp.py:7904 FlatCAMApp.py:7932 FlatCAMApp.py:7959 FlatCAMApp.py:7978
+#: FlatCAMApp.py:8045 FlatCAMCommon.py:1182 FlatCAMCommon.py:1357
+#: FlatCAMCommon.py:2612 FlatCAMCommon.py:2820 FlatCAMObj.py:4798
+#: flatcamTools/ToolNCC.py:3958 flatcamTools/ToolNCC.py:4042
+#: flatcamTools/ToolPaint.py:3548 flatcamTools/ToolPaint.py:3633
msgid "Tools Database"
msgstr "Base de Datos de Herramientas"
-#: FlatCAMApp.py:7659
+#: FlatCAMApp.py:7956
msgid "Tools in Tools Database edited but not saved."
msgstr ""
"Herramientas en la base de datos de herramientas editadas pero no guardadas."
-#: FlatCAMApp.py:7683
+#: FlatCAMApp.py:7982 flatcamTools/ToolNCC.py:3965
+#: flatcamTools/ToolPaint.py:3555
msgid "Tool from DB added in Tool Table."
msgstr "Herramienta de DB agregada en la Tabla de herramientas."
-#: FlatCAMApp.py:7685
+#: FlatCAMApp.py:7984
msgid "Adding tool from DB is not allowed for this object."
msgstr "No se permite agregar herramientas desde DB para este objeto."
-#: FlatCAMApp.py:7719
+#: FlatCAMApp.py:8025
msgid ""
"One or more values are changed.\n"
"Do you want to save the Preferences?"
@@ -751,11 +809,11 @@ msgstr ""
"Uno o más valores son cambiados.\n"
"¿Quieres guardar las preferencias?"
-#: FlatCAMApp.py:7721 flatcamGUI/FlatCAMGUI.py:222
+#: FlatCAMApp.py:8027 flatcamGUI/FlatCAMGUI.py:291
msgid "Save Preferences"
msgstr "Guardar Preferencias"
-#: FlatCAMApp.py:7745
+#: FlatCAMApp.py:8051
msgid ""
"One or more Tools are edited.\n"
"Do you want to update the Tools Database?"
@@ -763,174 +821,176 @@ msgstr ""
"Se editan una o más herramientas.\n"
"¿Desea actualizar la base de datos de herramientas?"
-#: FlatCAMApp.py:7747
+#: FlatCAMApp.py:8053
msgid "Save Tools Database"
msgstr "Guardar base de datos de herramientas"
-#: FlatCAMApp.py:7766 FlatCAMApp.py:9897 FlatCAMObj.py:6509
+#: FlatCAMApp.py:8072 FlatCAMApp.py:10259 FlatCAMObj.py:7089
msgid "Code Editor"
msgstr "Editor de código"
-#: FlatCAMApp.py:7784
+#: FlatCAMApp.py:8094
msgid "No object selected to Flip on Y axis."
msgstr "Ningún objeto seleccionado para Voltear en el eje Y."
-#: FlatCAMApp.py:7810
+#: FlatCAMApp.py:8120
msgid "Flip on Y axis done."
msgstr "Voltear sobre el eje Y hecho."
-#: FlatCAMApp.py:7812 FlatCAMApp.py:7854
-#: flatcamEditors/FlatCAMGrbEditor.py:5858
+#: FlatCAMApp.py:8122 FlatCAMApp.py:8170
+#: flatcamEditors/FlatCAMGrbEditor.py:5893
msgid "Flip action was not executed."
msgstr "La acción de voltear no se ejecutó."
-#: FlatCAMApp.py:7826
+#: FlatCAMApp.py:8142
msgid "No object selected to Flip on X axis."
msgstr "Ningún objeto seleccionado para Voltear en el eje X."
-#: FlatCAMApp.py:7852
+#: FlatCAMApp.py:8168
msgid "Flip on X axis done."
msgstr "Voltear sobre el eje X hecho."
-#: FlatCAMApp.py:7868
+#: FlatCAMApp.py:8190
msgid "No object selected to Rotate."
msgstr "Ningún objeto seleccionado para rotar."
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
+#: FlatCAMApp.py:8193 FlatCAMApp.py:8246 FlatCAMApp.py:8285
msgid "Transform"
msgstr "Transformar"
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
+#: FlatCAMApp.py:8193 FlatCAMApp.py:8246 FlatCAMApp.py:8285
msgid "Enter the Angle value:"
msgstr "Ingrese el valor del ángulo:"
-#: FlatCAMApp.py:7902
+#: FlatCAMApp.py:8224
msgid "Rotation done."
msgstr "Rotación hecha."
-#: FlatCAMApp.py:7904
+#: FlatCAMApp.py:8226
msgid "Rotation movement was not executed."
msgstr "El movimiento de rotación no se ejecutó."
-#: FlatCAMApp.py:7916
+#: FlatCAMApp.py:8244
msgid "No object selected to Skew/Shear on X axis."
msgstr "Ningún objeto seleccionado para sesgar / cortar en el eje X."
-#: FlatCAMApp.py:7938
+#: FlatCAMApp.py:8266
msgid "Skew on X axis done."
msgstr "Sesgar en el eje X hecho."
-#: FlatCAMApp.py:7949
+#: FlatCAMApp.py:8283
msgid "No object selected to Skew/Shear on Y axis."
msgstr "Ningún objeto seleccionado para sesgar / cortar en el eje Y."
-#: FlatCAMApp.py:7971
+#: FlatCAMApp.py:8305
msgid "Skew on Y axis done."
msgstr "Sesgar en el eje Y hecho."
-#: FlatCAMApp.py:8119 FlatCAMApp.py:8166 flatcamGUI/FlatCAMGUI.py:449
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: FlatCAMApp.py:8458 FlatCAMApp.py:8505 flatcamGUI/FlatCAMGUI.py:488
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Select All"
msgstr "Seleccionar todo"
-#: FlatCAMApp.py:8123 FlatCAMApp.py:8170 flatcamGUI/FlatCAMGUI.py:451
+#: FlatCAMApp.py:8462 FlatCAMApp.py:8509 flatcamGUI/FlatCAMGUI.py:490
msgid "Deselect All"
msgstr "Deseleccionar todo"
-#: FlatCAMApp.py:8186
+#: FlatCAMApp.py:8525
msgid "All objects are selected."
msgstr "Todos los objetos están seleccionados."
-#: FlatCAMApp.py:8196
+#: FlatCAMApp.py:8535
msgid "Objects selection is cleared."
msgstr "La selección de objetos se borra."
-#: FlatCAMApp.py:8216 flatcamGUI/FlatCAMGUI.py:1605
+#: FlatCAMApp.py:8555 flatcamGUI/FlatCAMGUI.py:1706
msgid "Grid On/Off"
msgstr "Grid On/Off"
-#: FlatCAMApp.py:8228 flatcamEditors/FlatCAMGeoEditor.py:940
-#: flatcamEditors/FlatCAMGrbEditor.py:2574
-#: flatcamEditors/FlatCAMGrbEditor.py:5431 flatcamGUI/ObjectUI.py:1304
-#: flatcamTools/ToolDblSided.py:187 flatcamTools/ToolDblSided.py:245
-#: flatcamTools/ToolNonCopperClear.py:286 flatcamTools/ToolPaint.py:188
-#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:591
-#: flatcamTools/ToolTransform.py:310
+#: FlatCAMApp.py:8567 flatcamEditors/FlatCAMGeoEditor.py:940
+#: flatcamEditors/FlatCAMGrbEditor.py:2580
+#: flatcamEditors/FlatCAMGrbEditor.py:5475 flatcamGUI/ObjectUI.py:1593
+#: flatcamTools/ToolDblSided.py:193 flatcamTools/ToolDblSided.py:426
+#: flatcamTools/ToolNCC.py:294 flatcamTools/ToolNCC.py:631
+#: flatcamTools/ToolPaint.py:277 flatcamTools/ToolPaint.py:676
+#: flatcamTools/ToolSolderPaste.py:123 flatcamTools/ToolSolderPaste.py:597
+#: flatcamTools/ToolTransform.py:479
msgid "Add"
msgstr "Añadir"
-#: FlatCAMApp.py:8230 FlatCAMObj.py:3963
-#: flatcamEditors/FlatCAMGrbEditor.py:2579
-#: flatcamEditors/FlatCAMGrbEditor.py:2727 flatcamGUI/FlatCAMGUI.py:680
-#: flatcamGUI/FlatCAMGUI.py:991 flatcamGUI/FlatCAMGUI.py:2018
-#: flatcamGUI/FlatCAMGUI.py:2161 flatcamGUI/FlatCAMGUI.py:2559
-#: flatcamGUI/ObjectUI.py:1330 flatcamTools/ToolNonCopperClear.py:298
-#: flatcamTools/ToolPaint.py:200 flatcamTools/ToolSolderPaste.py:127
-#: flatcamTools/ToolSolderPaste.py:594
+#: FlatCAMApp.py:8569 FlatCAMObj.py:4416
+#: flatcamEditors/FlatCAMGrbEditor.py:2585
+#: flatcamEditors/FlatCAMGrbEditor.py:2733 flatcamGUI/FlatCAMGUI.py:736
+#: flatcamGUI/FlatCAMGUI.py:1059 flatcamGUI/FlatCAMGUI.py:2126
+#: flatcamGUI/FlatCAMGUI.py:2269 flatcamGUI/FlatCAMGUI.py:2733
+#: flatcamGUI/ObjectUI.py:1621 flatcamTools/ToolNCC.py:316
+#: flatcamTools/ToolNCC.py:637 flatcamTools/ToolPaint.py:299
+#: flatcamTools/ToolPaint.py:682 flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolSolderPaste.py:600
msgid "Delete"
msgstr "Borrar"
-#: FlatCAMApp.py:8243
+#: FlatCAMApp.py:8582
msgid "New Grid ..."
msgstr "Nueva rejilla ..."
-#: FlatCAMApp.py:8244
+#: FlatCAMApp.py:8583
msgid "Enter a Grid Value:"
msgstr "Introduzca un valor de cuadrícula:"
-#: FlatCAMApp.py:8252 FlatCAMApp.py:8279
+#: FlatCAMApp.py:8591 FlatCAMApp.py:8618
msgid "Please enter a grid value with non-zero value, in Float format."
msgstr ""
"Introduzca un valor de cuadrícula con un valor distinto de cero, en formato "
"Float."
-#: FlatCAMApp.py:8258
+#: FlatCAMApp.py:8597
msgid "New Grid added"
msgstr "Nueva rejilla"
-#: FlatCAMApp.py:8261
+#: FlatCAMApp.py:8600
msgid "Grid already exists"
msgstr "La rejilla ya existe"
-#: FlatCAMApp.py:8264
+#: FlatCAMApp.py:8603
msgid "Adding New Grid cancelled"
msgstr "Agregar nueva cuadrícula cancelado"
-#: FlatCAMApp.py:8286
+#: FlatCAMApp.py:8625
msgid " Grid Value does not exist"
msgstr " El valor de cuadrícula no existe"
-#: FlatCAMApp.py:8289
+#: FlatCAMApp.py:8628
msgid "Grid Value deleted"
msgstr "Valor de cuadrícula eliminado"
-#: FlatCAMApp.py:8292
+#: FlatCAMApp.py:8631
msgid "Delete Grid value cancelled"
msgstr "Eliminar el valor de cuadrícula cancelado"
-#: FlatCAMApp.py:8298
+#: FlatCAMApp.py:8637
msgid "Key Shortcut List"
msgstr "Lista de atajos de teclas"
-#: FlatCAMApp.py:8332
+#: FlatCAMApp.py:8671
msgid " No object selected to copy it's name"
msgstr " Ningún objeto seleccionado para copiar su nombre"
-#: FlatCAMApp.py:8336
+#: FlatCAMApp.py:8675
msgid "Name copied on clipboard ..."
msgstr "Nombre copiado en el portapapeles ..."
-#: FlatCAMApp.py:8534 flatcamEditors/FlatCAMGrbEditor.py:4377
+#: FlatCAMApp.py:8888 flatcamEditors/FlatCAMGrbEditor.py:4421
msgid "Coordinates copied to clipboard."
msgstr "Coordenadas copiadas al portapapeles."
-#: FlatCAMApp.py:8762 FlatCAMApp.py:8768 FlatCAMApp.py:8774 FlatCAMApp.py:8780
-#: ObjectCollection.py:797 ObjectCollection.py:803 ObjectCollection.py:809
-#: ObjectCollection.py:815 ObjectCollection.py:821 ObjectCollection.py:827
+#: FlatCAMApp.py:9127 FlatCAMApp.py:9133 FlatCAMApp.py:9139 FlatCAMApp.py:9145
+#: ObjectCollection.py:911 ObjectCollection.py:917 ObjectCollection.py:923
+#: ObjectCollection.py:929 ObjectCollection.py:935 ObjectCollection.py:941
msgid "selected"
msgstr "seleccionado"
-#: FlatCAMApp.py:8922
+#: FlatCAMApp.py:9300
msgid ""
"There are files/objects opened in FlatCAM.\n"
"Creating a New project will delete them.\n"
@@ -940,377 +1000,275 @@ msgstr ""
"Crear un nuevo proyecto los borrará.\n"
"¿Quieres guardar el proyecto?"
-#: FlatCAMApp.py:8944
+#: FlatCAMApp.py:9321
msgid "New Project created"
msgstr "Nuevo proyecto creado"
-#: FlatCAMApp.py:9079 FlatCAMApp.py:9083 flatcamGUI/FlatCAMGUI.py:767
-#: flatcamGUI/FlatCAMGUI.py:2352
+#: FlatCAMApp.py:9468 FlatCAMApp.py:9472 flatcamGUI/FlatCAMGUI.py:821
+#: flatcamGUI/FlatCAMGUI.py:2504
msgid "Open Gerber"
msgstr "Abrir gerber"
-#: FlatCAMApp.py:9090
+#: FlatCAMApp.py:9477 FlatCAMApp.py:9514 FlatCAMApp.py:9556 FlatCAMApp.py:9625
+#: FlatCAMApp.py:10378 FlatCAMApp.py:11553 FlatCAMApp.py:11614
+msgid ""
+"Canvas initialization started.\n"
+"Canvas initialization finished in"
+msgstr ""
+"Se inició la inicialización del lienzo.\n"
+"La inicialización del lienzo terminó en"
+
+#: FlatCAMApp.py:9479
msgid "Opening Gerber file."
msgstr "Abriendo el archivo Gerber."
-#: FlatCAMApp.py:9096
-msgid "Open Gerber cancelled."
-msgstr "Abierto Gerber cancelado."
-
-#: FlatCAMApp.py:9117 FlatCAMApp.py:9121 flatcamGUI/FlatCAMGUI.py:769
-#: flatcamGUI/FlatCAMGUI.py:2354
+#: FlatCAMApp.py:9506 FlatCAMApp.py:9510 flatcamGUI/FlatCAMGUI.py:823
+#: flatcamGUI/FlatCAMGUI.py:2506
msgid "Open Excellon"
msgstr "Abierto Excellon"
-#: FlatCAMApp.py:9127
+#: FlatCAMApp.py:9516
msgid "Opening Excellon file."
msgstr "Abriendo el archivo Excellon."
-#: FlatCAMApp.py:9133
-msgid " Open Excellon cancelled."
-msgstr " Abierto Excellon cancelado."
-
-#: FlatCAMApp.py:9157 FlatCAMApp.py:9161
+#: FlatCAMApp.py:9547 FlatCAMApp.py:9551
msgid "Open G-Code"
msgstr "Código G abierto"
-#: FlatCAMApp.py:9168
+#: FlatCAMApp.py:9558
msgid "Opening G-Code file."
msgstr "Abriendo el archivo G-code."
-#: FlatCAMApp.py:9174
-msgid "Open G-Code cancelled."
-msgstr "Abierto G-Code cancelado."
-
-#: FlatCAMApp.py:9192 FlatCAMApp.py:9195 flatcamGUI/FlatCAMGUI.py:1614
+#: FlatCAMApp.py:9581 FlatCAMApp.py:9584 flatcamGUI/FlatCAMGUI.py:1715
msgid "Open Project"
msgstr "Proyecto abierto"
-#: FlatCAMApp.py:9204
-msgid "Open Project cancelled."
-msgstr "Proyecto abierto cancelado."
-
-#: FlatCAMApp.py:9228 FlatCAMApp.py:9232
+#: FlatCAMApp.py:9616 FlatCAMApp.py:9620
msgid "Open HPGL2"
msgstr "Abra HPGL2"
-#: FlatCAMApp.py:9239
+#: FlatCAMApp.py:9627
msgid "Opening HPGL2 file."
msgstr "Abrir el archivo HPGL2."
-#: FlatCAMApp.py:9244
-msgid "Open HPGL2 file cancelled."
-msgstr "Abrir el archivo HPGL2 cancelado."
-
-#: FlatCAMApp.py:9262 FlatCAMApp.py:9265
+#: FlatCAMApp.py:9650 FlatCAMApp.py:9653
msgid "Open Configuration File"
msgstr "Abrir archivo de configuración"
-#: FlatCAMApp.py:9270
-msgid "Open Config cancelled."
-msgstr "Configuración abierta cancelada."
-
-#: FlatCAMApp.py:9286 FlatCAMApp.py:9654 FlatCAMApp.py:10124
-#: FlatCAMApp.py:10128
-msgid "No object selected."
-msgstr "Ningún objeto seleccionado."
-
-#: FlatCAMApp.py:9287 FlatCAMApp.py:9655
+#: FlatCAMApp.py:9673 FlatCAMApp.py:10022
msgid "Please Select a Geometry object to export"
msgstr "Seleccione un objeto de geometría para exportar"
-#: FlatCAMApp.py:9301
+#: FlatCAMApp.py:9687
msgid "Only Geometry, Gerber and CNCJob objects can be used."
msgstr "Solo se pueden utilizar objetos Geometry, Gerber y CNCJob."
-#: FlatCAMApp.py:9314 FlatCAMApp.py:9318 flatcamTools/ToolQRCode.py:827
-#: flatcamTools/ToolQRCode.py:831
+#: FlatCAMApp.py:9700 FlatCAMApp.py:9704 flatcamTools/ToolQRCode.py:829
+#: flatcamTools/ToolQRCode.py:833
msgid "Export SVG"
msgstr "Exportar SVG"
-#: FlatCAMApp.py:9324 flatcamTools/ToolQRCode.py:836
-msgid " Export SVG cancelled."
-msgstr " Exportar SVG cancelado."
-
-#: FlatCAMApp.py:9345
+#: FlatCAMApp.py:9730
msgid "Data must be a 3D array with last dimension 3 or 4"
msgstr "Los datos deben ser una matriz 3D con la última dimensión 3 o 4"
-#: FlatCAMApp.py:9351 FlatCAMApp.py:9355
+#: FlatCAMApp.py:9736 FlatCAMApp.py:9740
msgid "Export PNG Image"
msgstr "Exportar imagen PNG"
-#: FlatCAMApp.py:9360
-msgid "Export PNG cancelled."
-msgstr "Exportación PNG cancelada."
-
-#: FlatCAMApp.py:9384
-msgid "No object selected. Please select an Gerber object to export."
-msgstr ""
-"Ningún objeto seleccionado. Por favor, seleccione un objeto Gerber para "
-"exportar."
-
-#: FlatCAMApp.py:9390 FlatCAMApp.py:9613
+#: FlatCAMApp.py:9774 FlatCAMApp.py:9982
msgid "Failed. Only Gerber objects can be saved as Gerber files..."
msgstr ""
"Ha fallado. Solo los objetos Gerber se pueden guardar como archivos "
"Gerber ..."
-#: FlatCAMApp.py:9402
+#: FlatCAMApp.py:9786
msgid "Save Gerber source file"
msgstr "Guardar el archivo fuente de Gerber"
-#: FlatCAMApp.py:9408
-msgid "Save Gerber source file cancelled."
-msgstr "Guardar el archivo fuente de Gerber cancelado."
-
-#: FlatCAMApp.py:9428
-msgid "No object selected. Please select an Script object to export."
-msgstr "Ningún objeto seleccionado. Seleccione un objeto Script para exportar."
-
-#: FlatCAMApp.py:9434
+#: FlatCAMApp.py:9815
msgid "Failed. Only Script objects can be saved as TCL Script files..."
msgstr ""
"Ha fallado. Solo los objetos Script se pueden guardar como archivos TCL "
"Script ..."
-#: FlatCAMApp.py:9446
+#: FlatCAMApp.py:9827
msgid "Save Script source file"
msgstr "Guardar archivo fuente de script"
-#: FlatCAMApp.py:9452
-msgid "Save Script source file cancelled."
-msgstr "Guardar archivo fuente de script cancelado."
-
-#: FlatCAMApp.py:9472
-msgid "No object selected. Please select an Document object to export."
-msgstr ""
-"Ningún objeto seleccionado. Seleccione un objeto de documento para exportar."
-
-#: FlatCAMApp.py:9478
+#: FlatCAMApp.py:9856
msgid "Failed. Only Document objects can be saved as Document files..."
msgstr ""
"Ha fallado. Solo los objetos de documento se pueden guardar como archivos de "
"documento ..."
-#: FlatCAMApp.py:9490
+#: FlatCAMApp.py:9868
msgid "Save Document source file"
msgstr "Guardar archivo fuente del Documento"
-#: FlatCAMApp.py:9496
-msgid "Save Document source file cancelled."
-msgstr "Guardar Documento fuente archivo cancelado."
-
-#: FlatCAMApp.py:9516
-msgid "No object selected. Please select an Excellon object to export."
-msgstr ""
-"Ningún objeto seleccionado. Por favor, seleccione un objeto Excellon para "
-"exportar."
-
-#: FlatCAMApp.py:9522 FlatCAMApp.py:9566 FlatCAMApp.py:10473
+#: FlatCAMApp.py:9897 FlatCAMApp.py:9938 FlatCAMApp.py:10863
msgid "Failed. Only Excellon objects can be saved as Excellon files..."
msgstr ""
"Ha fallado. Solo los objetos Excellon se pueden guardar como archivos "
"Excellon ..."
-#: FlatCAMApp.py:9530 FlatCAMApp.py:9534
+#: FlatCAMApp.py:9905 FlatCAMApp.py:9909
msgid "Save Excellon source file"
msgstr "Guardar el archivo fuente de Excellon"
-#: FlatCAMApp.py:9540
-msgid "Saving Excellon source file cancelled."
-msgstr "Guardando el archivo fuente Excellon cancelado."
-
-#: FlatCAMApp.py:9560
-msgid "No object selected. Please Select an Excellon object to export."
-msgstr ""
-"Ningún objeto seleccionado. Seleccione un objeto Excellon para exportar."
-
-#: FlatCAMApp.py:9574 FlatCAMApp.py:9578
+#: FlatCAMApp.py:9946 FlatCAMApp.py:9950
msgid "Export Excellon"
msgstr "Exportar Excellon"
-#: FlatCAMApp.py:9584
-msgid "Export Excellon cancelled."
-msgstr "Exportación Excellon cancelada."
-
-#: FlatCAMApp.py:9607
-msgid "No object selected. Please Select an Gerber object to export."
-msgstr "Ningún objeto seleccionado. Seleccione un objeto Gerber para exportar."
-
-#: FlatCAMApp.py:9621 FlatCAMApp.py:9625
+#: FlatCAMApp.py:9990 FlatCAMApp.py:9994
msgid "Export Gerber"
msgstr "Gerber Exportación"
-#: FlatCAMApp.py:9631
-msgid "Export Gerber cancelled."
-msgstr "Exportación Gerber cancelada."
-
-#: FlatCAMApp.py:9666
+#: FlatCAMApp.py:10032
msgid "Only Geometry objects can be used."
msgstr "Solo se pueden utilizar objetos de Geometría."
-#: FlatCAMApp.py:9680 FlatCAMApp.py:9684
+#: FlatCAMApp.py:10046 FlatCAMApp.py:10050
msgid "Export DXF"
msgstr "Exportar DXF"
-#: FlatCAMApp.py:9691
-msgid "Export DXF cancelled."
-msgstr "Exportación DXF cancelada."
-
-#: FlatCAMApp.py:9711 FlatCAMApp.py:9714
+#: FlatCAMApp.py:10075 FlatCAMApp.py:10078
msgid "Import SVG"
msgstr "Importar SVG"
-#: FlatCAMApp.py:9724
-msgid "Open SVG cancelled."
-msgstr "Abrir SVG cancelado."
-
-#: FlatCAMApp.py:9743 FlatCAMApp.py:9747
+#: FlatCAMApp.py:10106 FlatCAMApp.py:10110
msgid "Import DXF"
msgstr "Importar DXF"
-#: FlatCAMApp.py:9757
-msgid "Open DXF cancelled."
-msgstr "Abrir DXF cancelado."
-
-#: FlatCAMApp.py:9799
+#: FlatCAMApp.py:10161
msgid "Viewing the source code of the selected object."
msgstr "Ver el código fuente del objeto seleccionado."
-#: FlatCAMApp.py:9800 FlatCAMObj.py:6495 FlatCAMObj.py:7225
+#: FlatCAMApp.py:10162 FlatCAMObj.py:7075 FlatCAMObj.py:7852
msgid "Loading..."
msgstr "Cargando..."
-#: FlatCAMApp.py:9806 FlatCAMApp.py:9810
+#: FlatCAMApp.py:10168 FlatCAMApp.py:10172
msgid "Select an Gerber or Excellon file to view it's source file."
msgstr "Seleccione un archivo Gerber o Excellon para ver su archivo fuente."
-#: FlatCAMApp.py:9824
+#: FlatCAMApp.py:10186
msgid "Source Editor"
msgstr "Editor de fuente"
-#: FlatCAMApp.py:9864 FlatCAMApp.py:9871
+#: FlatCAMApp.py:10226 FlatCAMApp.py:10233
msgid "There is no selected object for which to see it's source file code."
msgstr "No hay ningún objeto seleccionado para el cual ver su código fuente."
-#: FlatCAMApp.py:9883
+#: FlatCAMApp.py:10245
msgid "Failed to load the source code for the selected object"
msgstr "Error al cargar el código fuente para el objeto seleccionado"
-#: FlatCAMApp.py:9925
+#: FlatCAMApp.py:10281
+msgid "Go to Line ..."
+msgstr "Ir a la línea ..."
+
+#: FlatCAMApp.py:10282
+msgid "Line:"
+msgstr "Línea:"
+
+#: FlatCAMApp.py:10311
msgid "New TCL script file created in Code Editor."
msgstr "Nuevo archivo de script TCL creado en Code Editor."
-#: FlatCAMApp.py:9963 FlatCAMApp.py:9965
+#: FlatCAMApp.py:10350 FlatCAMApp.py:10352
msgid "Open TCL script"
msgstr "Abrir script TCL"
-#: FlatCAMApp.py:9969
-msgid "Open TCL script cancelled."
-msgstr "Abrir el script TCL cancelado."
-
-#: FlatCAMApp.py:9993
+#: FlatCAMApp.py:10380
msgid "Executing FlatCAMScript file."
msgstr "Ejecutando archivo FlatCAMScript."
-#: FlatCAMApp.py:10000 FlatCAMApp.py:10003
+#: FlatCAMApp.py:10388 FlatCAMApp.py:10391
msgid "Run TCL script"
msgstr "Ejecutar script TCL"
-#: FlatCAMApp.py:10013
-msgid "Run TCL script cancelled."
-msgstr "Ejecutar script TCL cancelado."
-
-#: FlatCAMApp.py:10029
+#: FlatCAMApp.py:10415
msgid "TCL script file opened in Code Editor and executed."
msgstr "El archivo de script TCL se abrió en el Editor de código y se ejecutó."
-#: FlatCAMApp.py:10080 FlatCAMApp.py:10086
+#: FlatCAMApp.py:10466 FlatCAMApp.py:10472
msgid "Save Project As ..."
msgstr "Guardar proyecto como ..."
-#: FlatCAMApp.py:10082 flatcamGUI/FlatCAMGUI.py:1051
-#: flatcamGUI/FlatCAMGUI.py:2053
+#: FlatCAMApp.py:10468 flatcamGUI/FlatCAMGUI.py:1119
+#: flatcamGUI/FlatCAMGUI.py:2161
msgid "Project"
msgstr "Proyecto"
-#: FlatCAMApp.py:10091
-msgid "Save Project cancelled."
-msgstr "Guardar Proyecto cancelado."
-
-#: FlatCAMApp.py:10121
+#: FlatCAMApp.py:10507
msgid "FlatCAM objects print"
msgstr "Impresión de objetos FlatCAM"
-#: FlatCAMApp.py:10134 FlatCAMApp.py:10141
+#: FlatCAMApp.py:10520 FlatCAMApp.py:10527
msgid "Save Object as PDF ..."
msgstr "Guardar objeto como PDF ..."
-#: FlatCAMApp.py:10146
-msgid "Save Object PDF cancelled."
-msgstr "Guardar objeto PDF cancelado."
-
-#: FlatCAMApp.py:10150
+#: FlatCAMApp.py:10536
msgid "Printing PDF ... Please wait."
msgstr "Imprimiendo PDF ... Por favor espere."
-#: FlatCAMApp.py:10329
+#: FlatCAMApp.py:10715
msgid "PDF file saved to"
msgstr "Archivo PDF guardado en"
-#: FlatCAMApp.py:10353
+#: FlatCAMApp.py:10740
msgid "Exporting SVG"
msgstr "Exportando SVG"
-#: FlatCAMApp.py:10397
+#: FlatCAMApp.py:10783
msgid "SVG file exported to"
msgstr "Archivo SVG exportado a"
-#: FlatCAMApp.py:10422
+#: FlatCAMApp.py:10809
msgid ""
"Save cancelled because source file is empty. Try to export the Gerber file."
msgstr ""
"Guardar cancelado porque el archivo fuente está vacío. Intenta exportar el "
"archivo Gerber."
-#: FlatCAMApp.py:10568
+#: FlatCAMApp.py:10957
msgid "Excellon file exported to"
msgstr "Archivo Excellon exportado a"
-#: FlatCAMApp.py:10577
+#: FlatCAMApp.py:10966
msgid "Exporting Excellon"
msgstr "Exportando excellon"
-#: FlatCAMApp.py:10583 FlatCAMApp.py:10591
+#: FlatCAMApp.py:10971 FlatCAMApp.py:10978
msgid "Could not export Excellon file."
msgstr "No se pudo exportar el archivo Excellon."
-#: FlatCAMApp.py:10707
+#: FlatCAMApp.py:11094
msgid "Gerber file exported to"
msgstr "Archivo Gerber exportado a"
-#: FlatCAMApp.py:10715
+#: FlatCAMApp.py:11102
msgid "Exporting Gerber"
msgstr "Gerber exportador"
-#: FlatCAMApp.py:10721 FlatCAMApp.py:10729
+#: FlatCAMApp.py:11107 FlatCAMApp.py:11114
msgid "Could not export Gerber file."
msgstr "No se pudo exportar el archivo Gerber."
-#: FlatCAMApp.py:10763
+#: FlatCAMApp.py:11149
msgid "DXF file exported to"
msgstr "Archivo DXF exportado a"
-#: FlatCAMApp.py:10769
+#: FlatCAMApp.py:11155
msgid "Exporting DXF"
msgstr "Exportando DXF"
-#: FlatCAMApp.py:10774 FlatCAMApp.py:10781
+#: FlatCAMApp.py:11160 FlatCAMApp.py:11167
msgid "Could not export DXF file."
msgstr "No se pudo exportar el archivo DXF."
-#: FlatCAMApp.py:10804 FlatCAMApp.py:10847 flatcamTools/ToolImage.py:278
+#: FlatCAMApp.py:11190 FlatCAMApp.py:11232 flatcamTools/ToolImage.py:277
msgid ""
"Not supported type is picked as parameter. Only Geometry and Gerber are "
"supported"
@@ -1318,83 +1276,83 @@ msgstr ""
"El tipo no soportado se elige como parámetro. Solo Geometría y Gerber son "
"compatibles"
-#: FlatCAMApp.py:10814
+#: FlatCAMApp.py:11200
msgid "Importing SVG"
msgstr "Importando SVG"
-#: FlatCAMApp.py:10825 FlatCAMApp.py:10867 FlatCAMApp.py:10926
-#: FlatCAMApp.py:10993 FlatCAMApp.py:11056 FlatCAMApp.py:11123
-#: FlatCAMApp.py:11161 flatcamTools/ToolImage.py:298
+#: FlatCAMApp.py:11211 FlatCAMApp.py:11251 FlatCAMApp.py:11309
+#: FlatCAMApp.py:11374 FlatCAMApp.py:11438 FlatCAMApp.py:11503
+#: FlatCAMApp.py:11540 flatcamTools/ToolImage.py:297
#: flatcamTools/ToolPDF.py:225
msgid "Opened"
msgstr "Abierto"
-#: FlatCAMApp.py:10856
+#: FlatCAMApp.py:11241
msgid "Importing DXF"
msgstr "Importando DXF"
-#: FlatCAMApp.py:10892 FlatCAMApp.py:11082
+#: FlatCAMApp.py:11275 FlatCAMApp.py:11462
msgid "Failed to open file"
msgstr "Fallo al abrir el archivo"
-#: FlatCAMApp.py:10895 FlatCAMApp.py:11085
+#: FlatCAMApp.py:11278 FlatCAMApp.py:11465
msgid "Failed to parse file"
msgstr "Error al analizar el archivo"
-#: FlatCAMApp.py:10907
+#: FlatCAMApp.py:11290
msgid "Object is not Gerber file or empty. Aborting object creation."
msgstr ""
"El objeto no es un archivo Gerber o está vacío. Anulando la creación de "
"objetos."
-#: FlatCAMApp.py:10912
+#: FlatCAMApp.py:11295
msgid "Opening Gerber"
msgstr "Apertura de gerber"
-#: FlatCAMApp.py:10919
+#: FlatCAMApp.py:11302
msgid " Open Gerber failed. Probable not a Gerber file."
msgstr " Gerber abierto fracasó. Probablemente no sea un archivo de Gerber."
-#: FlatCAMApp.py:10951 flatcamTools/ToolPcbWizard.py:427
+#: FlatCAMApp.py:11333 flatcamTools/ToolPcbWizard.py:425
msgid "This is not Excellon file."
msgstr "Este no es un archivo de Excellon."
-#: FlatCAMApp.py:10955
+#: FlatCAMApp.py:11337
msgid "Cannot open file"
msgstr "No se puede abrir el archivo"
-#: FlatCAMApp.py:10975 flatcamTools/ToolPDF.py:275
-#: flatcamTools/ToolPcbWizard.py:451
+#: FlatCAMApp.py:11356 flatcamTools/ToolPDF.py:275
+#: flatcamTools/ToolPcbWizard.py:447
msgid "No geometry found in file"
msgstr "No se encontró geometría en el archivo"
-#: FlatCAMApp.py:10978
+#: FlatCAMApp.py:11359
msgid "Opening Excellon."
msgstr "Apertura Excellon."
-#: FlatCAMApp.py:10985
+#: FlatCAMApp.py:11366
msgid "Open Excellon file failed. Probable not an Excellon file."
msgstr ""
"Error al abrir el archivo Excellon. Probablemente no sea un archivo de "
"Excellon."
-#: FlatCAMApp.py:11016
+#: FlatCAMApp.py:11398
msgid "Reading GCode file"
msgstr "Lectura de archivo GCode"
-#: FlatCAMApp.py:11023
+#: FlatCAMApp.py:11405
msgid "Failed to open"
msgstr "Falló al abrir"
-#: FlatCAMApp.py:11031
+#: FlatCAMApp.py:11413
msgid "This is not GCODE"
msgstr "Esto no es GCODE"
-#: FlatCAMApp.py:11036
+#: FlatCAMApp.py:11418
msgid "Opening G-Code."
msgstr "Apertura del código G."
-#: FlatCAMApp.py:11045
+#: FlatCAMApp.py:11427
msgid ""
"Failed to create CNCJob Object. Probable not a GCode file. Try to load it "
"from File menu.\n"
@@ -1406,125 +1364,105 @@ msgstr ""
"Intento de crear un objeto FlatCAM CNCJob desde el archivo G-Code falló "
"durante el procesamiento"
-#: FlatCAMApp.py:11104
+#: FlatCAMApp.py:11484
msgid "Object is not HPGL2 file or empty. Aborting object creation."
msgstr ""
"El objeto no es un archivo HPGL2 o está vacío. Anulando la creación de "
"objetos."
-#: FlatCAMApp.py:11109
+#: FlatCAMApp.py:11489
msgid "Opening HPGL2"
msgstr "Apertura de HPGL2"
-#: FlatCAMApp.py:11116
+#: FlatCAMApp.py:11496
msgid " Open HPGL2 failed. Probable not a HPGL2 file."
msgstr " Abrir HPGL2 falló. Probablemente no sea un archivo HPGL2."
-#: FlatCAMApp.py:11137
+#: FlatCAMApp.py:11516
msgid "Opening TCL Script..."
msgstr "Abriendo TCL Script ..."
-#: FlatCAMApp.py:11145
+#: FlatCAMApp.py:11524
msgid "TCL script file opened in Code Editor."
msgstr "Archivo de script TCL abierto en Code Editor."
-#: FlatCAMApp.py:11148
+#: FlatCAMApp.py:11527
msgid "Failed to open TCL Script."
msgstr "Error al abrir la secuencia de comandos TCL."
-#: FlatCAMApp.py:11176
+#: FlatCAMApp.py:11555
msgid "Opening FlatCAM Config file."
msgstr "Abrir el archivo de configuración de FlatCAM."
-#: FlatCAMApp.py:11204
+#: FlatCAMApp.py:11583
msgid "Failed to open config file"
msgstr "Error al abrir el archivo de configuración"
-#: FlatCAMApp.py:11230
+#: FlatCAMApp.py:11611
msgid "Loading Project ... Please Wait ..."
msgstr "Cargando proyecto ... Espere ..."
-#: FlatCAMApp.py:11235
+#: FlatCAMApp.py:11616
msgid "Opening FlatCAM Project file."
msgstr "Apertura del archivo del proyecto FlatCAM."
-#: FlatCAMApp.py:11245 FlatCAMApp.py:11263
+#: FlatCAMApp.py:11626 FlatCAMApp.py:11644
msgid "Failed to open project file"
msgstr "Error al abrir el archivo del proyecto"
-#: FlatCAMApp.py:11300
+#: FlatCAMApp.py:11681
msgid "Loading Project ... restoring"
msgstr "Cargando Proyecto ... restaurando"
-#: FlatCAMApp.py:11310
+#: FlatCAMApp.py:11691
msgid "Project loaded from"
msgstr "Proyecto cargado desde"
-#: FlatCAMApp.py:11373
+#: FlatCAMApp.py:11760
msgid "Redrawing all objects"
msgstr "Redibujando todos los objetos"
-#: FlatCAMApp.py:11405
-msgid "Available commands:\n"
-msgstr "Comandos disponibles:\n"
-
-#: FlatCAMApp.py:11407
-msgid ""
-"\n"
-"\n"
-"Type help for usage.\n"
-" Example: help open_gerber"
-msgstr ""
-"\n"
-"\n"
-"Escriba help para su uso.\n"
-"Ejemplo: help open_gerber"
-
-#: FlatCAMApp.py:11557
-msgid "Shows list of commands."
-msgstr "Muestra la lista de comandos."
-
-#: FlatCAMApp.py:11619
+#: FlatCAMApp.py:11849
msgid "Failed to load recent item list."
msgstr "Error al cargar la lista de elementos recientes."
-#: FlatCAMApp.py:11627
+#: FlatCAMApp.py:11856
msgid "Failed to parse recent item list."
msgstr "Error al analizar la lista de elementos recientes."
-#: FlatCAMApp.py:11638
+#: FlatCAMApp.py:11866
msgid "Failed to load recent projects item list."
msgstr "Error al cargar la lista de elementos de proyectos recientes."
-#: FlatCAMApp.py:11646
+#: FlatCAMApp.py:11873
msgid "Failed to parse recent project item list."
msgstr "Error al analizar la lista de elementos del proyecto reciente."
-#: FlatCAMApp.py:11706
+#: FlatCAMApp.py:11934
msgid "Clear Recent projects"
msgstr "Borrar proyectos recientes"
-#: FlatCAMApp.py:11730
+#: FlatCAMApp.py:11958
msgid "Clear Recent files"
msgstr "Borrar archivos recientes"
-#: FlatCAMApp.py:11747 flatcamGUI/FlatCAMGUI.py:1276
+#: FlatCAMApp.py:11980 flatcamGUI/FlatCAMGUI.py:1348
msgid "Shortcut Key List"
msgstr " Lista de teclas de acceso directo "
-#: FlatCAMApp.py:11821
+#: FlatCAMApp.py:12054
msgid "Selected Tab - Choose an Item from Project Tab"
msgstr "Pestaña Seleccionada: elija un elemento de la pestaña Proyecto"
-#: FlatCAMApp.py:11822
+#: FlatCAMApp.py:12055
msgid "Details"
msgstr "Detalles"
-#: FlatCAMApp.py:11824
+#: FlatCAMApp.py:12057
msgid "The normal flow when working in FlatCAM is the following:"
msgstr "El flujo normal cuando se trabaja en FlatCAM es el siguiente:"
-#: FlatCAMApp.py:11825
+#: FlatCAMApp.py:12058
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 "
@@ -1534,7 +1472,7 @@ msgstr ""
"en FlatCAM usando las barras de herramientas, atajos de teclado o incluso "
"arrastrando y soltando los archivos en la GUI."
-#: FlatCAMApp.py:11828
+#: FlatCAMApp.py:12061
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 "
@@ -1545,7 +1483,7 @@ msgstr ""
"mediante las acciones del menú (o barra de herramientas) que se ofrecen "
"dentro de la aplicación."
-#: FlatCAMApp.py:11831
+#: FlatCAMApp.py:12064
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 "
@@ -1558,7 +1496,7 @@ msgstr ""
"SELECCIONADA se actualizará con las propiedades del objeto según su tipo: "
"Gerber, Objeto Excellon, Geometry o CNCJob."
-#: FlatCAMApp.py:11835
+#: FlatCAMApp.py:12068
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 "
@@ -1572,7 +1510,7 @@ msgstr ""
"el objeto en el lienzo traerá la PESTAÑA SELECCIONADA y la completará "
"incluso si estaba fuera de foco."
-#: FlatCAMApp.py:11839
+#: FlatCAMApp.py:12072
msgid ""
"You can change the parameters in this screen and the flow direction is like "
"this:"
@@ -1580,7 +1518,7 @@ msgstr ""
"Puede cambiar los parámetros en esta pantalla y la dirección del flujo es "
"así:"
-#: FlatCAMApp.py:11840
+#: FlatCAMApp.py:12073
msgid ""
"Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> "
"Geometry Object --> Add tools (change param in Selected Tab) --> Generate "
@@ -1593,7 +1531,7 @@ msgstr ""
"(mediante Edit CNC Código) y / o anexar / anteponer a GCode (nuevamente, "
"hecho en la PESTAÑA SELECCIONADA) -> Guardar GCode."
-#: FlatCAMApp.py:11844
+#: FlatCAMApp.py:12077
msgid ""
"A list of key shortcuts is available through an menu entry in Help --> "
"Shortcuts List or through its own key shortcut: F3."
@@ -1602,103 +1540,167 @@ msgstr ""
"menú en Ayuda -> Lista de atajos o mediante su propio atajo de teclado: "
"F3 ."
-#: FlatCAMApp.py:11906
+#: FlatCAMApp.py:12141
msgid "Failed checking for latest version. Could not connect."
msgstr "Falló la comprobación de la última versión. No pudo conectar."
-#: FlatCAMApp.py:11914
+#: FlatCAMApp.py:12148
msgid "Could not parse information about latest version."
msgstr "No se pudo analizar la información sobre la última versión."
-#: FlatCAMApp.py:11925
+#: FlatCAMApp.py:12158
msgid "FlatCAM is up to date!"
msgstr "FlatCAM está al día!"
-#: FlatCAMApp.py:11930
+#: FlatCAMApp.py:12163
msgid "Newer Version Available"
msgstr "Nueva versión disponible"
-#: FlatCAMApp.py:11931
-msgid ""
-"There is a newer version of FlatCAM available for download:\n"
-"\n"
-msgstr ""
-"Hay una versión más nueva de FlatCAM disponible para descargar:\n"
-"\n"
+#: FlatCAMApp.py:12165
+msgid "There is a newer version of FlatCAM available for download:"
+msgstr "Hay una versión más nueva de FlatCAM disponible para descargar:"
-#: FlatCAMApp.py:11933
+#: FlatCAMApp.py:12169
msgid "info"
msgstr "info"
-#: FlatCAMApp.py:12012
+#: FlatCAMApp.py:12197
+msgid ""
+"OpenGL canvas initialization failed. HW or HW configuration not supported."
+"Change the graphic engine to Legacy(2D) in Edit -> Preferences -> General "
+"tab.\n"
+"\n"
+msgstr ""
+"La inicialización del lienzo de OpenGL falló. No se admite la configuración "
+"HW o HW. Cambie el motor gráfico a Legacy (2D) en Edición -> Preferencias -> "
+"pestaña General.\n"
+"\n"
+
+#: FlatCAMApp.py:12276
msgid "All plots disabled."
msgstr "Todas las parcelas con discapacidad."
-#: FlatCAMApp.py:12019
+#: FlatCAMApp.py:12283
msgid "All non selected plots disabled."
msgstr "Todas las parcelas no seleccionadas deshabilitadas."
-#: FlatCAMApp.py:12026
+#: FlatCAMApp.py:12290
msgid "All plots enabled."
msgstr "Todas las parcelas habilitadas."
-#: FlatCAMApp.py:12033
+#: FlatCAMApp.py:12296
msgid "Selected plots enabled..."
msgstr "Parcelas seleccionadas habilitadas ..."
-#: FlatCAMApp.py:12042
+#: FlatCAMApp.py:12304
msgid "Selected plots disabled..."
msgstr "Parcelas seleccionadas deshabilitadas ..."
-#: FlatCAMApp.py:12061
+#: FlatCAMApp.py:12337
msgid "Enabling plots ..."
msgstr "Habilitación de parcelas ..."
-#: FlatCAMApp.py:12101
+#: FlatCAMApp.py:12389
msgid "Disabling plots ..."
msgstr "Inhabilitando parcelas ..."
-#: FlatCAMApp.py:12123
+#: FlatCAMApp.py:12412
msgid "Working ..."
msgstr "Trabajando ..."
-#: FlatCAMApp.py:12224
+#: FlatCAMApp.py:12467 flatcamGUI/FlatCAMGUI.py:688
+msgid "Red"
+msgstr "Rojo"
+
+#: FlatCAMApp.py:12469 flatcamGUI/FlatCAMGUI.py:691
+msgid "Blue"
+msgstr "Azul"
+
+#: FlatCAMApp.py:12472 flatcamGUI/FlatCAMGUI.py:694
+msgid "Yellow"
+msgstr "Amarillo"
+
+#: FlatCAMApp.py:12474 flatcamGUI/FlatCAMGUI.py:697
+msgid "Green"
+msgstr "Verde"
+
+#: FlatCAMApp.py:12476 flatcamGUI/FlatCAMGUI.py:700
+msgid "Purple"
+msgstr "Púrpura"
+
+#: FlatCAMApp.py:12478 flatcamGUI/FlatCAMGUI.py:703
+msgid "Brown"
+msgstr "Marrón"
+
+#: FlatCAMApp.py:12480 FlatCAMApp.py:12536 flatcamGUI/FlatCAMGUI.py:706
+msgid "White"
+msgstr "Blanca"
+
+#: FlatCAMApp.py:12482 flatcamGUI/FlatCAMGUI.py:709
+msgid "Black"
+msgstr "Negra"
+
+#: FlatCAMApp.py:12485 flatcamGUI/FlatCAMGUI.py:714
+msgid "Custom"
+msgstr "Personalizado"
+
+#: FlatCAMApp.py:12495 flatcamGUI/FlatCAMGUI.py:722
+msgid "Default"
+msgstr "Predeterminado"
+
+#: FlatCAMApp.py:12519 flatcamGUI/FlatCAMGUI.py:719
+msgid "Opacity"
+msgstr "Opacidad"
+
+#: FlatCAMApp.py:12521
+msgid "Set alpha level ..."
+msgstr "Establecer nivel alfa ..."
+
+#: FlatCAMApp.py:12521 flatcamGUI/PreferencesUI.py:6900
+#: flatcamGUI/PreferencesUI.py:8230 flatcamGUI/PreferencesUI.py:8444
+#: flatcamTools/ToolExtractDrills.py:164 flatcamTools/ToolExtractDrills.py:285
+#: flatcamTools/ToolPunchGerber.py:192 flatcamTools/ToolPunchGerber.py:308
+#: flatcamTools/ToolTransform.py:358
+msgid "Value"
+msgstr "Valor"
+
+#: FlatCAMApp.py:12597
msgid "Saving FlatCAM Project"
msgstr "Proyecto FlatCAM de ahorro"
-#: FlatCAMApp.py:12243 FlatCAMApp.py:12280
+#: FlatCAMApp.py:12618 FlatCAMApp.py:12654
msgid "Project saved to"
msgstr "Proyecto guardado en"
-#: FlatCAMApp.py:12250
+#: FlatCAMApp.py:12625
msgid "The object is used by another application."
msgstr "El objeto es utilizado por otra aplicación."
-#: FlatCAMApp.py:12264
+#: FlatCAMApp.py:12639
msgid "Failed to verify project file"
msgstr "Error al abrir el archivo de proyecto"
-#: FlatCAMApp.py:12264 FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12639 FlatCAMApp.py:12647 FlatCAMApp.py:12657
msgid "Retry to save it."
msgstr "Vuelva a intentar guardarlo."
-#: FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12647 FlatCAMApp.py:12657
msgid "Failed to parse saved project file"
msgstr "Error al analizar el archivo por defecto"
-#: FlatCAMApp.py:12398
+#: FlatCAMApp.py:13139
msgid "The user requested a graceful exit of the current task."
msgstr "El usuario solicitó una salida elegante de la tarea actual."
-#: FlatCAMCommon.py:136 FlatCAMCommon.py:163
+#: FlatCAMCommon.py:137 FlatCAMCommon.py:164
msgid "Title"
msgstr "Título"
-#: FlatCAMCommon.py:137 FlatCAMCommon.py:167
+#: FlatCAMCommon.py:138 FlatCAMCommon.py:168
msgid "Web Link"
msgstr "Enlace Web"
-#: FlatCAMCommon.py:141
+#: FlatCAMCommon.py:142
msgid ""
"Index.\n"
"The rows in gray color will populate the Bookmarks menu.\n"
@@ -1708,7 +1710,7 @@ msgstr ""
"Las filas en color gris llenarán el menú Marcadores.\n"
"El número de filas de color gris se establece en Preferencias."
-#: FlatCAMCommon.py:145
+#: FlatCAMCommon.py:146
msgid ""
"Description of the link that is set as an menu action.\n"
"Try to keep it short because it is installed as a menu item."
@@ -1716,95 +1718,87 @@ msgstr ""
"Descripción del enlace que se establece como una acción de menú.\n"
"Intenta mantenerlo corto porque está instalado como un elemento del menú."
-#: FlatCAMCommon.py:148
+#: FlatCAMCommon.py:149
msgid "Web Link. E.g: https://your_website.org "
msgstr "Enlace web. P.ej: https://your_website.org "
-#: FlatCAMCommon.py:157
+#: FlatCAMCommon.py:158
msgid "New Bookmark"
msgstr "Nuevo Marcador"
-#: FlatCAMCommon.py:176
+#: FlatCAMCommon.py:177
msgid "Add Entry"
msgstr "Añadir entrada"
-#: FlatCAMCommon.py:177
+#: FlatCAMCommon.py:178
msgid "Remove Entry"
msgstr "Remueva la entrada"
-#: FlatCAMCommon.py:178
+#: FlatCAMCommon.py:179
msgid "Export List"
msgstr "Exportar la lista"
-#: FlatCAMCommon.py:179
+#: FlatCAMCommon.py:180
msgid "Import List"
msgstr "Importar la lista"
-#: FlatCAMCommon.py:260
+#: FlatCAMCommon.py:261
msgid "Title entry is empty."
msgstr "La entrada del título está vacía."
-#: FlatCAMCommon.py:269
+#: FlatCAMCommon.py:270
msgid "Web link entry is empty."
msgstr "La entrada del enlace web está vacía."
-#: FlatCAMCommon.py:277
+#: FlatCAMCommon.py:278
msgid "Either the Title or the Weblink already in the table."
msgstr "Ya sea el Título o el Enlace web ya en la tabla."
-#: FlatCAMCommon.py:297
+#: FlatCAMCommon.py:298
msgid "Bookmark added."
msgstr "Marcador agregado."
-#: FlatCAMCommon.py:314
+#: FlatCAMCommon.py:315
msgid "This bookmark can not be removed"
msgstr "Este marcador no se puede eliminar"
-#: FlatCAMCommon.py:345
+#: FlatCAMCommon.py:346
msgid "Bookmark removed."
msgstr "Marcador eliminado."
-#: FlatCAMCommon.py:360
+#: FlatCAMCommon.py:361
msgid "Export FlatCAM Bookmarks"
msgstr "Exportar marcadores de FlatCAM"
-#: FlatCAMCommon.py:363 flatcamGUI/FlatCAMGUI.py:470
+#: FlatCAMCommon.py:364 flatcamGUI/FlatCAMGUI.py:509
msgid "Bookmarks"
msgstr "Marcadores"
-#: FlatCAMCommon.py:370
-msgid "FlatCAM bookmarks export cancelled."
-msgstr "Exportación de marcadores de FlatCAM cancelada."
-
-#: FlatCAMCommon.py:389 FlatCAMCommon.py:419
+#: FlatCAMCommon.py:390 FlatCAMCommon.py:420
msgid "Could not load bookmarks file."
msgstr "No se pudo cargar el archivo de marcadores."
-#: FlatCAMCommon.py:399
+#: FlatCAMCommon.py:400
msgid "Failed to write bookmarks to file."
msgstr "Error al escribir marcadores en el archivo."
-#: FlatCAMCommon.py:401
+#: FlatCAMCommon.py:402
msgid "Exported bookmarks to"
msgstr "Marcadores exportados a"
-#: FlatCAMCommon.py:407
+#: FlatCAMCommon.py:408
msgid "Import FlatCAM Bookmarks"
msgstr "Importar marcadores de FlatCAM"
-#: FlatCAMCommon.py:412
-msgid "FlatCAM bookmarks import cancelled."
-msgstr "Se canceló la importación de marcadores de FlatCAM."
-
-#: FlatCAMCommon.py:426
+#: FlatCAMCommon.py:427
msgid "Imported Bookmarks from"
msgstr "Marcadores importados de"
-#: FlatCAMCommon.py:529
+#: FlatCAMCommon.py:530
msgid "Add Geometry Tool in DB"
msgstr "Agregar herramienta de geo. en DB"
-#: FlatCAMCommon.py:531
+#: FlatCAMCommon.py:532 FlatCAMCommon.py:2087
msgid ""
"Add a new tool in the Tools Database.\n"
"It will be used in the Geometry UI.\n"
@@ -1814,38 +1808,38 @@ msgstr ""
"Se utilizará en la interfaz de usuario de geometría.\n"
"Puede editarlo después de agregarlo."
-#: FlatCAMCommon.py:545
+#: FlatCAMCommon.py:546 FlatCAMCommon.py:2101
msgid "Delete Tool from DB"
msgstr "Eliminar herram. de la BD"
-#: FlatCAMCommon.py:547
+#: FlatCAMCommon.py:548 FlatCAMCommon.py:2103
msgid "Remove a selection of tools in the Tools Database."
msgstr "Eliminar una selección de herramientas en la DB de herramientas."
-#: FlatCAMCommon.py:551
+#: FlatCAMCommon.py:552 FlatCAMCommon.py:2107
msgid "Export DB"
msgstr "Exportar DB"
-#: FlatCAMCommon.py:553
+#: FlatCAMCommon.py:554 FlatCAMCommon.py:2109
msgid "Save the Tools Database to a custom text file."
msgstr ""
"Guarde la base de datos de herramientas en un archivo de texto personalizado."
-#: FlatCAMCommon.py:557
+#: FlatCAMCommon.py:558 FlatCAMCommon.py:2113
msgid "Import DB"
msgstr "Importar DB"
-#: FlatCAMCommon.py:559
+#: FlatCAMCommon.py:560 FlatCAMCommon.py:2115
msgid "Load the Tools Database information's from a custom text file."
msgstr ""
"Cargue la información de la DB de herramientas desde un archivo de texto "
"personalizado."
-#: FlatCAMCommon.py:563
+#: FlatCAMCommon.py:564 FlatCAMCommon.py:2119
msgid "Add Tool from Tools DB"
msgstr "Agregar herramienta desde DB de herramientas"
-#: FlatCAMCommon.py:565
+#: FlatCAMCommon.py:566 FlatCAMCommon.py:2121
msgid ""
"Add a new tool in the Tools Table of the\n"
"active Geometry object after selecting a tool\n"
@@ -1855,135 +1849,144 @@ msgstr ""
"objeto de geometría activo después de seleccionar una herramienta\n"
"en la base de datos de herramientas."
-#: FlatCAMCommon.py:601 FlatCAMCommon.py:1276
+#: FlatCAMCommon.py:602 FlatCAMCommon.py:1277 FlatCAMCommon.py:1531
msgid "Tool Name"
msgstr "Nombre de Herram"
-#: FlatCAMCommon.py:602 FlatCAMCommon.py:1278
-#: flatcamEditors/FlatCAMExcEditor.py:1602 flatcamGUI/ObjectUI.py:1295
-#: flatcamTools/ToolNonCopperClear.py:271 flatcamTools/ToolPaint.py:176
+#: FlatCAMCommon.py:603 FlatCAMCommon.py:1279 FlatCAMCommon.py:1544
+#: flatcamEditors/FlatCAMExcEditor.py:1605 flatcamGUI/ObjectUI.py:1343
+#: flatcamGUI/ObjectUI.py:1581 flatcamGUI/PreferencesUI.py:5971
+#: flatcamTools/ToolNCC.py:278 flatcamTools/ToolNCC.py:287
+#: flatcamTools/ToolPaint.py:261
msgid "Tool Dia"
msgstr "Diá. de Herram"
-#: FlatCAMCommon.py:603 FlatCAMCommon.py:1280 flatcamGUI/ObjectUI.py:1278
+#: FlatCAMCommon.py:604 FlatCAMCommon.py:1281 FlatCAMCommon.py:1725
+#: flatcamGUI/ObjectUI.py:1556
msgid "Tool Offset"
msgstr "Offset de Herram"
-#: FlatCAMCommon.py:604 FlatCAMCommon.py:1282
+#: FlatCAMCommon.py:605 FlatCAMCommon.py:1283 FlatCAMCommon.py:1742
msgid "Custom Offset"
-msgstr "Desplazamiento person."
+msgstr "Desplazamiento personalizado"
-#: FlatCAMCommon.py:605 FlatCAMCommon.py:1284 flatcamGUI/ObjectUI.py:304
-#: flatcamGUI/PreferencesUI.py:2217 flatcamGUI/PreferencesUI.py:5036
-#: flatcamTools/ToolNonCopperClear.py:213
+#: FlatCAMCommon.py:606 FlatCAMCommon.py:1285 FlatCAMCommon.py:1709
+#: flatcamGUI/ObjectUI.py:308 flatcamGUI/PreferencesUI.py:2397
+#: flatcamGUI/PreferencesUI.py:5332 flatcamGUI/PreferencesUI.py:5901
+#: flatcamGUI/PreferencesUI.py:5911 flatcamTools/ToolNCC.py:213
+#: flatcamTools/ToolNCC.py:227 flatcamTools/ToolPaint.py:196
msgid "Tool Type"
msgstr "Tipo de herram"
-#: FlatCAMCommon.py:606 FlatCAMCommon.py:1286
+#: FlatCAMCommon.py:607 FlatCAMCommon.py:1287 FlatCAMCommon.py:1557
msgid "Tool Shape"
msgstr "Forma de la herram"
-#: FlatCAMCommon.py:607 FlatCAMCommon.py:1289 flatcamGUI/ObjectUI.py:345
-#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1405
-#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:2257
-#: flatcamGUI/PreferencesUI.py:3082 flatcamGUI/PreferencesUI.py:3961
-#: flatcamGUI/PreferencesUI.py:5081 flatcamGUI/PreferencesUI.py:5327
-#: flatcamGUI/PreferencesUI.py:6145 flatcamTools/ToolCalculators.py:114
-#: flatcamTools/ToolCutOut.py:132 flatcamTools/ToolNonCopperClear.py:254
+#: FlatCAMCommon.py:608 FlatCAMCommon.py:1290 FlatCAMCommon.py:1573
+#: flatcamGUI/ObjectUI.py:349 flatcamGUI/ObjectUI.py:899
+#: flatcamGUI/ObjectUI.py:1701 flatcamGUI/ObjectUI.py:2254
+#: flatcamGUI/PreferencesUI.py:2437 flatcamGUI/PreferencesUI.py:3311
+#: flatcamGUI/PreferencesUI.py:4241 flatcamGUI/PreferencesUI.py:5377
+#: flatcamGUI/PreferencesUI.py:5666 flatcamGUI/PreferencesUI.py:5944
+#: flatcamGUI/PreferencesUI.py:5952 flatcamGUI/PreferencesUI.py:6635
+#: flatcamTools/ToolCalculators.py:114 flatcamTools/ToolCutOut.py:139
+#: flatcamTools/ToolNCC.py:260 flatcamTools/ToolNCC.py:268
+#: flatcamTools/ToolPaint.py:243
msgid "Cut Z"
msgstr "Corte Z"
-#: FlatCAMCommon.py:608 FlatCAMCommon.py:1291
+#: FlatCAMCommon.py:609 FlatCAMCommon.py:1292 FlatCAMCommon.py:1587
msgid "MultiDepth"
msgstr "Profund. Múlti"
-#: FlatCAMCommon.py:609 FlatCAMCommon.py:1293
+#: FlatCAMCommon.py:610 FlatCAMCommon.py:1294 FlatCAMCommon.py:1600
msgid "DPP"
msgstr "PPP"
-#: FlatCAMCommon.py:610 FlatCAMCommon.py:1295
+#: FlatCAMCommon.py:611 FlatCAMCommon.py:1296 FlatCAMCommon.py:1756
msgid "V-Dia"
msgstr "V-Dia"
-#: FlatCAMCommon.py:611 FlatCAMCommon.py:1297
+#: FlatCAMCommon.py:612 FlatCAMCommon.py:1298 FlatCAMCommon.py:1770
msgid "V-Angle"
msgstr "V-Ángulo"
-#: FlatCAMCommon.py:612 FlatCAMCommon.py:1299 flatcamGUI/ObjectUI.py:839
-#: flatcamGUI/ObjectUI.py:1452 flatcamGUI/PreferencesUI.py:3100
-#: flatcamGUI/PreferencesUI.py:4014 flatcamGUI/PreferencesUI.py:7535
+#: FlatCAMCommon.py:613 FlatCAMCommon.py:1300 FlatCAMCommon.py:1614
+#: FlatCAMObj.py:3661 FlatCAMObj.py:5486 flatcamGUI/ObjectUI.py:945
+#: flatcamGUI/ObjectUI.py:1748 flatcamGUI/PreferencesUI.py:3352
+#: flatcamGUI/PreferencesUI.py:4294 flatcamGUI/PreferencesUI.py:8041
#: flatcamTools/ToolCalibration.py:74
msgid "Travel Z"
msgstr "Viaje Z"
-#: FlatCAMCommon.py:613 FlatCAMCommon.py:1301
+#: FlatCAMCommon.py:614 FlatCAMCommon.py:1302
msgid "FR"
msgstr "FR"
-#: FlatCAMCommon.py:614 FlatCAMCommon.py:1303
+#: FlatCAMCommon.py:615 FlatCAMCommon.py:1304
msgid "FR Z"
msgstr "FR Z"
-#: FlatCAMCommon.py:615 FlatCAMCommon.py:1305
+#: FlatCAMCommon.py:616 FlatCAMCommon.py:1306 FlatCAMCommon.py:1784
msgid "FR Rapids"
msgstr "Avance rápido"
-#: FlatCAMCommon.py:616 FlatCAMCommon.py:1307 flatcamGUI/PreferencesUI.py:3173
+#: FlatCAMCommon.py:617 FlatCAMCommon.py:1308 FlatCAMCommon.py:1657
+#: flatcamGUI/PreferencesUI.py:3440
msgid "Spindle Speed"
msgstr "Eje de velocidad"
-#: FlatCAMCommon.py:617 FlatCAMCommon.py:1309 flatcamGUI/ObjectUI.py:963
-#: flatcamGUI/ObjectUI.py:1619
+#: FlatCAMCommon.py:618 FlatCAMCommon.py:1310 FlatCAMCommon.py:1672
+#: flatcamGUI/ObjectUI.py:1063 flatcamGUI/ObjectUI.py:1855
msgid "Dwell"
msgstr "Habitar"
-#: FlatCAMCommon.py:618 FlatCAMCommon.py:1311
+#: FlatCAMCommon.py:619 FlatCAMCommon.py:1312 FlatCAMCommon.py:1685
msgid "Dwelltime"
-msgstr "Tiempo de perman."
+msgstr "Tiempo de permanencia"
-#: FlatCAMCommon.py:619 FlatCAMCommon.py:1313 flatcamGUI/ObjectUI.py:982
-#: flatcamGUI/ObjectUI.py:1640 flatcamGUI/PreferencesUI.py:3204
-#: flatcamGUI/PreferencesUI.py:4155 flatcamGUI/PreferencesUI.py:6642
-#: flatcamTools/ToolSolderPaste.py:334
+#: FlatCAMCommon.py:620 FlatCAMCommon.py:1314 flatcamGUI/ObjectUI.py:2012
+#: flatcamGUI/PreferencesUI.py:3475 flatcamGUI/PreferencesUI.py:4447
+#: flatcamGUI/PreferencesUI.py:7148 flatcamTools/ToolSolderPaste.py:336
msgid "Preprocessor"
msgstr "Postprocesador"
-#: FlatCAMCommon.py:620 FlatCAMCommon.py:1315
+#: FlatCAMCommon.py:621 FlatCAMCommon.py:1316 FlatCAMCommon.py:1800
msgid "ExtraCut"
msgstr "Corte extra"
-#: FlatCAMCommon.py:621 FlatCAMCommon.py:1317
+#: FlatCAMCommon.py:622 FlatCAMCommon.py:1318 FlatCAMCommon.py:1815
msgid "E-Cut Length"
msgstr "Longitud de Corte extra"
-#: FlatCAMCommon.py:622 FlatCAMCommon.py:1319
+#: FlatCAMCommon.py:623 FlatCAMCommon.py:1320
msgid "Toolchange"
msgstr "Cambio de herram"
-#: FlatCAMCommon.py:623 FlatCAMCommon.py:1321
+#: FlatCAMCommon.py:624 FlatCAMCommon.py:1322
msgid "Toolchange XY"
msgstr "Cambio de herra X, Y"
-#: FlatCAMCommon.py:624 FlatCAMCommon.py:1323 flatcamGUI/PreferencesUI.py:3124
-#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:7572
+#: FlatCAMCommon.py:625 FlatCAMCommon.py:1324 flatcamGUI/PreferencesUI.py:3378
+#: flatcamGUI/PreferencesUI.py:4324 flatcamGUI/PreferencesUI.py:8078
#: flatcamTools/ToolCalibration.py:111
msgid "Toolchange Z"
msgstr "Cambio de herramienta Z"
-#: FlatCAMCommon.py:625 FlatCAMCommon.py:1325 flatcamGUI/ObjectUI.py:886
-#: flatcamGUI/PreferencesUI.py:3309 flatcamGUI/PreferencesUI.py:4200
+#: FlatCAMCommon.py:626 FlatCAMCommon.py:1326 flatcamGUI/ObjectUI.py:1192
+#: flatcamGUI/PreferencesUI.py:3586 flatcamGUI/PreferencesUI.py:4493
msgid "Start Z"
msgstr "Comience Z"
-#: FlatCAMCommon.py:626 FlatCAMCommon.py:1328
+#: FlatCAMCommon.py:627 FlatCAMCommon.py:1329
msgid "End Z"
msgstr "Fin Z"
-#: FlatCAMCommon.py:630
+#: FlatCAMCommon.py:631
msgid "Tool Index."
msgstr "Índice de herramientas."
-#: FlatCAMCommon.py:632
+#: FlatCAMCommon.py:633 FlatCAMCommon.py:1533
msgid ""
"Tool name.\n"
"This is not used in the app, it's function\n"
@@ -1993,11 +1996,11 @@ msgstr ""
"Esto no se usa en la aplicación, es función\n"
"es servir como una nota para el usuario."
-#: FlatCAMCommon.py:636
+#: FlatCAMCommon.py:637 FlatCAMCommon.py:1546
msgid "Tool Diameter."
msgstr "Diá. de Herram."
-#: FlatCAMCommon.py:638
+#: FlatCAMCommon.py:639 FlatCAMCommon.py:1727
msgid ""
"Tool Offset.\n"
"Can be of a few types:\n"
@@ -2014,7 +2017,7 @@ msgstr ""
"Personalizado = desplazamiento personalizado utilizando el valor de "
"desplazamiento personalizado"
-#: FlatCAMCommon.py:645
+#: FlatCAMCommon.py:646 FlatCAMCommon.py:1744
msgid ""
"Custom Offset.\n"
"A value to be used as offset from the current path."
@@ -2022,7 +2025,7 @@ msgstr ""
"Desplazamiento personalizado.\n"
"Un valor que se utilizará como desplazamiento de la ruta actual."
-#: FlatCAMCommon.py:648
+#: FlatCAMCommon.py:649 FlatCAMCommon.py:1711
msgid ""
"Tool Type.\n"
"Can be:\n"
@@ -2036,7 +2039,7 @@ msgstr ""
"Áspero = corte rugoso, baja velocidad de avance, múltiples pasadas\n"
"Acabado = corte de acabado, alto avance"
-#: FlatCAMCommon.py:654
+#: FlatCAMCommon.py:655 FlatCAMCommon.py:1559
msgid ""
"Tool Shape. \n"
"Can be:\n"
@@ -2050,7 +2053,7 @@ msgstr ""
"B = herramienta de fresado de punta esférica\n"
"V = herramienta de fresado en forma de V"
-#: FlatCAMCommon.py:660
+#: FlatCAMCommon.py:661 FlatCAMCommon.py:1575
msgid ""
"Cutting Depth.\n"
"The depth at which to cut into material."
@@ -2058,7 +2061,7 @@ msgstr ""
"Profundidad de corte.\n"
"La profundidad a la cual cortar en material."
-#: FlatCAMCommon.py:663
+#: FlatCAMCommon.py:664 FlatCAMCommon.py:1589
msgid ""
"Multi Depth.\n"
"Selecting this will allow cutting in multiple passes,\n"
@@ -2068,7 +2071,7 @@ msgstr ""
"Seleccionar esto permitirá cortar en múltiples pasadas,\n"
"cada pasada agrega una profundidad de parámetro PPP."
-#: FlatCAMCommon.py:667
+#: FlatCAMCommon.py:668 FlatCAMCommon.py:1602
msgid ""
"DPP. Depth per Pass.\n"
"The value used to cut into material on each pass."
@@ -2076,7 +2079,7 @@ msgstr ""
"PPP. Profundidad por pase.\n"
"El valor utilizado para cortar en material en cada pasada."
-#: FlatCAMCommon.py:670
+#: FlatCAMCommon.py:671 FlatCAMCommon.py:1758
msgid ""
"V-Dia.\n"
"Diameter of the tip for V-Shape Tools."
@@ -2084,7 +2087,7 @@ msgstr ""
"V-Dia.\n"
"Diámetro de la punta para herramientas en forma de V."
-#: FlatCAMCommon.py:673
+#: FlatCAMCommon.py:674 FlatCAMCommon.py:1772
msgid ""
"V-Agle.\n"
"Angle at the tip for the V-Shape Tools."
@@ -2092,7 +2095,7 @@ msgstr ""
"Ángulo en V.\n"
"Ángulo en la punta para las herramientas en forma de V."
-#: FlatCAMCommon.py:676
+#: FlatCAMCommon.py:677 FlatCAMCommon.py:1616
msgid ""
"Clearance Height.\n"
"Height at which the milling bit will travel between cuts,\n"
@@ -2102,7 +2105,7 @@ msgstr ""
"Altura a la que viajará la broca entre cortes,\n"
"sobre la superficie del material, evitando todos los accesorios."
-#: FlatCAMCommon.py:680
+#: FlatCAMCommon.py:681
msgid ""
"FR. Feedrate\n"
"The speed on XY plane used while cutting into material."
@@ -2110,15 +2113,15 @@ msgstr ""
"FR. Avance\n"
"La velocidad en el plano XY utilizada al cortar material."
-#: FlatCAMCommon.py:683
+#: FlatCAMCommon.py:684
msgid ""
"FR Z. Feedrate Z\n"
"The speed on Z plane."
msgstr ""
"FR Z. Avance Z\n"
-"La velocidad en el plano Z"
+"La velocidad en el plano Z."
-#: FlatCAMCommon.py:686
+#: FlatCAMCommon.py:687 FlatCAMCommon.py:1786
msgid ""
"FR Rapids. Feedrate Rapids\n"
"Speed used while moving as fast as possible.\n"
@@ -2130,7 +2133,7 @@ msgstr ""
"Esto solo lo usan algunos dispositivos que no pueden usar\n"
"el comando G0 g-code. Mayormente impresoras 3D."
-#: FlatCAMCommon.py:691
+#: FlatCAMCommon.py:692 FlatCAMCommon.py:1659
msgid ""
"Spindle Speed.\n"
"If it's left empty it will not be used.\n"
@@ -2140,7 +2143,7 @@ msgstr ""
"Si se deja vacío, no se usará.\n"
"La velocidad del husillo en RPM."
-#: FlatCAMCommon.py:695
+#: FlatCAMCommon.py:696 FlatCAMCommon.py:1674
msgid ""
"Dwell.\n"
"Check this if a delay is needed to allow\n"
@@ -2150,7 +2153,7 @@ msgstr ""
"Marque esto si se necesita un retraso para permitir\n"
"el motor del husillo para alcanzar su velocidad establecida."
-#: FlatCAMCommon.py:699
+#: FlatCAMCommon.py:700 FlatCAMCommon.py:1687
msgid ""
"Dwell Time.\n"
"A delay used to allow the motor spindle reach it's set speed."
@@ -2159,7 +2162,7 @@ msgstr ""
"Un retraso utilizado para permitir que el eje del motor alcance su velocidad "
"establecida."
-#: FlatCAMCommon.py:702
+#: FlatCAMCommon.py:703
msgid ""
"Preprocessor.\n"
"A selection of files that will alter the generated G-code\n"
@@ -2169,7 +2172,7 @@ msgstr ""
"Una selección de archivos que alterarán el código G generado\n"
"para adaptarse a una serie de casos de uso."
-#: FlatCAMCommon.py:706
+#: FlatCAMCommon.py:707 FlatCAMCommon.py:1802
msgid ""
"Extra Cut.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -2183,7 +2186,7 @@ msgstr ""
"como que este punto está cubierto por este corte adicional para\n"
"Garantizar un aislamiento completo."
-#: FlatCAMCommon.py:712
+#: FlatCAMCommon.py:713 FlatCAMCommon.py:1817
msgid ""
"Extra Cut length.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -2199,7 +2202,7 @@ msgstr ""
"Garantizar un aislamiento completo. Esta es la longitud de\n"
"El corte extra."
-#: FlatCAMCommon.py:719
+#: FlatCAMCommon.py:720
msgid ""
"Toolchange.\n"
"It will create a toolchange event.\n"
@@ -2211,7 +2214,7 @@ msgstr ""
"El tipo de cambio de herramienta está determinado por\n"
"El archivo del preprocesador."
-#: FlatCAMCommon.py:724
+#: FlatCAMCommon.py:725
msgid ""
"Toolchange XY.\n"
"A set of coordinates in the format (x, y).\n"
@@ -2223,7 +2226,7 @@ msgstr ""
"Determinará la posición cartesiana del punto.\n"
"donde tiene lugar el evento de cambio de herramienta."
-#: FlatCAMCommon.py:729
+#: FlatCAMCommon.py:730
msgid ""
"Toolchange Z.\n"
"The position on Z plane where the tool change event take place."
@@ -2232,7 +2235,7 @@ msgstr ""
"La posición en el plano Z donde tiene lugar el evento de cambio de "
"herramienta."
-#: FlatCAMCommon.py:732
+#: FlatCAMCommon.py:733
msgid ""
"Start Z.\n"
"If it's left empty it will not be used.\n"
@@ -2243,7 +2246,7 @@ msgstr ""
"Una posición en el plano Z para moverse inmediatamente después del inicio "
"del trabajo."
-#: FlatCAMCommon.py:736
+#: FlatCAMCommon.py:737
msgid ""
"End Z.\n"
"A position on Z plane to move immediately after job stop."
@@ -2252,357 +2255,734 @@ msgstr ""
"Una posición en el plano Z para moverse inmediatamente después de la "
"detención del trabajo."
-#: FlatCAMCommon.py:748 FlatCAMCommon.py:1125 FlatCAMCommon.py:1159
+#: FlatCAMCommon.py:749 FlatCAMCommon.py:1126 FlatCAMCommon.py:1160
+#: FlatCAMCommon.py:2335 FlatCAMCommon.py:2556 FlatCAMCommon.py:2590
msgid "Could not load Tools DB file."
msgstr "No se pudo cargar el archivo de herramientas DB."
-#: FlatCAMCommon.py:756 FlatCAMCommon.py:1167
+#: FlatCAMCommon.py:757 FlatCAMCommon.py:1168 FlatCAMCommon.py:2343
+#: FlatCAMCommon.py:2598
msgid "Failed to parse Tools DB file."
msgstr "Error al analizar el archivo DB de Herramientas."
-#: FlatCAMCommon.py:759 FlatCAMCommon.py:1170
+#: FlatCAMCommon.py:760 FlatCAMCommon.py:1171 FlatCAMCommon.py:2346
+#: FlatCAMCommon.py:2601
msgid "Loaded FlatCAM Tools DB from"
msgstr "Base de datos de herramientas FlatCAM cargada de"
-#: FlatCAMCommon.py:765
+#: FlatCAMCommon.py:766 FlatCAMCommon.py:2260
msgid "Add to DB"
msgstr "Añadir a DB"
-#: FlatCAMCommon.py:767
+#: FlatCAMCommon.py:768 FlatCAMCommon.py:2263
msgid "Copy from DB"
msgstr "Copiar de DB"
-#: FlatCAMCommon.py:769
+#: FlatCAMCommon.py:770 FlatCAMCommon.py:2266
msgid "Delete from DB"
msgstr "Eliminar de la DB"
-#: FlatCAMCommon.py:1046
+#: FlatCAMCommon.py:1047 FlatCAMCommon.py:2473
msgid "Tool added to DB."
msgstr "Herramienta agregada a la base de datos."
-#: FlatCAMCommon.py:1067
+#: FlatCAMCommon.py:1068 FlatCAMCommon.py:2497
msgid "Tool copied from Tools DB."
msgstr "Herramienta copiada de Herramientas DB."
-#: FlatCAMCommon.py:1085
+#: FlatCAMCommon.py:1086 FlatCAMCommon.py:2516
msgid "Tool removed from Tools DB."
msgstr "Herramienta eliminada de Herramientas DB."
-#: FlatCAMCommon.py:1096
+#: FlatCAMCommon.py:1097 FlatCAMCommon.py:2527
msgid "Export Tools Database"
msgstr "Exportar la DB de herramientas"
-#: FlatCAMCommon.py:1099
+#: FlatCAMCommon.py:1100 FlatCAMCommon.py:2530
msgid "Tools_Database"
msgstr "DB de herramientasram"
-#: FlatCAMCommon.py:1106
-msgid "FlatCAM Tools DB export cancelled."
-msgstr "Exportación de DB de herramientas FlatCAM cancelada."
-
-#: FlatCAMCommon.py:1136 FlatCAMCommon.py:1139 FlatCAMCommon.py:1191
+#: FlatCAMCommon.py:1137 FlatCAMCommon.py:1140 FlatCAMCommon.py:1192
+#: FlatCAMCommon.py:2567 FlatCAMCommon.py:2570 FlatCAMCommon.py:2622
msgid "Failed to write Tools DB to file."
msgstr "Error al escribir Herramientas DB en el archivo."
-#: FlatCAMCommon.py:1142
+#: FlatCAMCommon.py:1143 FlatCAMCommon.py:2573
msgid "Exported Tools DB to"
msgstr "Exportó la base de datos de herramientas a"
-#: FlatCAMCommon.py:1149
+#: FlatCAMCommon.py:1150 FlatCAMCommon.py:2580
msgid "Import FlatCAM Tools DB"
msgstr "Importe la base de datos de herramientas FlatCAM"
-#: FlatCAMCommon.py:1152
-msgid "FlatCAM Tools DB import cancelled."
-msgstr "Se ha cancelado la importación de DB de herramientas FlatCAM."
-
-#: FlatCAMCommon.py:1195
+#: FlatCAMCommon.py:1196 FlatCAMCommon.py:2626
msgid "Saved Tools DB."
msgstr "Guardado el DB de herramientas."
-#: FlatCAMCommon.py:1342
+#: FlatCAMCommon.py:1343 FlatCAMCommon.py:2807
msgid "No Tool/row selected in the Tools Database table"
msgstr ""
"No se seleccionó ninguna herramienta / fila en la tabla Base de datos de "
"herramientas"
-#: FlatCAMCommon.py:1360
+#: FlatCAMCommon.py:1361 FlatCAMCommon.py:2824
msgid "Cancelled adding tool from DB."
msgstr "Se canceló la herramienta de agregar de la DB."
-#: FlatCAMObj.py:257
+#: FlatCAMCommon.py:1462
+msgid "Basic Geo Parameters"
+msgstr "Parámetros básicos de Geo"
+
+#: FlatCAMCommon.py:1474
+msgid "Advanced Geo Parameters"
+msgstr "Parámetros avanzados de Geo"
+
+#: FlatCAMCommon.py:1486
+msgid "NCC Parameters"
+msgstr "NCC Parameters"
+
+#: FlatCAMCommon.py:1498
+msgid "Paint Parameters"
+msgstr "Parámetros de Pintura"
+
+#: FlatCAMCommon.py:1629 flatcamGUI/ObjectUI.py:966 flatcamGUI/ObjectUI.py:1767
+#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:7059
+#: flatcamTools/ToolSolderPaste.py:254
+msgid "Feedrate X-Y"
+msgstr "Avance X-Y"
+
+#: FlatCAMCommon.py:1631
+msgid ""
+"Feedrate X-Y. Feedrate\n"
+"The speed on XY plane used while cutting into material."
+msgstr ""
+"Avance X-Y. Avance\n"
+"La velocidad en el plano XY utilizada mientras se corta en material."
+
+#: FlatCAMCommon.py:1643 flatcamGUI/ObjectUI.py:981 flatcamGUI/ObjectUI.py:1781
+#: flatcamGUI/PreferencesUI.py:3425 flatcamGUI/PreferencesUI.py:4393
+#: flatcamGUI/PreferencesUI.py:7072 flatcamTools/ToolSolderPaste.py:266
+msgid "Feedrate Z"
+msgstr "Avance Z"
+
+#: FlatCAMCommon.py:1645
+msgid ""
+"Feedrate Z\n"
+"The speed on Z plane."
+msgstr ""
+"Avance Z\n"
+"La velocidad en el plano Z."
+
+#: FlatCAMCommon.py:1843 flatcamGUI/ObjectUI.py:844
+#: flatcamGUI/PreferencesUI.py:3264 flatcamTools/ToolNCC.py:341
+msgid "Operation"
+msgstr "Operación"
+
+#: FlatCAMCommon.py:1845 flatcamTools/ToolNCC.py:343
+msgid ""
+"The 'Operation' can be:\n"
+"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
+"If it's not successful then the non-copper clearing will fail, too.\n"
+"- Clear -> the regular non-copper clearing."
+msgstr ""
+"La 'Operación' puede ser:\n"
+"- Aislamiento -> asegurará que la limpieza sin cobre esté siempre completa.\n"
+"Si no tiene éxito, la limpieza sin cobre también fallará.\n"
+"- Borrar -> la limpieza regular sin cobre."
+
+#: FlatCAMCommon.py:1852 flatcamEditors/FlatCAMGrbEditor.py:2739
+#: flatcamGUI/GUIElements.py:2577 flatcamTools/ToolNCC.py:350
+msgid "Clear"
+msgstr "Limpiar"
+
+#: FlatCAMCommon.py:1853 flatcamTools/ToolNCC.py:351
+#: flatcamTools/ToolNCC.py:1618
+msgid "Isolation"
+msgstr "Aislamiento"
+
+#: FlatCAMCommon.py:1861 flatcamGUI/ObjectUI.py:408 flatcamGUI/ObjectUI.py:866
+#: flatcamGUI/PreferencesUI.py:2257 flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:4665 flatcamGUI/PreferencesUI.py:5416
+#: flatcamTools/ToolNCC.py:359
+msgid "Milling Type"
+msgstr "Tipo de fresado"
+
+#: FlatCAMCommon.py:1863 FlatCAMCommon.py:1871 flatcamGUI/PreferencesUI.py:5418
+#: flatcamGUI/PreferencesUI.py:5426 flatcamTools/ToolNCC.py:361
+#: flatcamTools/ToolNCC.py:369
+msgid ""
+"Milling type when the selected tool is of type: 'iso_op':\n"
+"- climb / best for precision milling and to reduce tool usage\n"
+"- conventional / useful when there is no backlash compensation"
+msgstr ""
+"Tipo de fresado cuando la herramienta seleccionada es de tipo: 'iso_op':\n"
+"- ascenso / mejor para fresado de precisión y para reducir el uso de "
+"herramientas\n"
+"- convencional / útil cuando no hay compensación de reacción"
+
+#: FlatCAMCommon.py:1868 flatcamGUI/ObjectUI.py:414
+#: flatcamGUI/PreferencesUI.py:2264 flatcamGUI/PreferencesUI.py:4671
+#: flatcamGUI/PreferencesUI.py:5423 flatcamTools/ToolNCC.py:366
+msgid "Climb"
+msgstr "Subida"
+
+#: FlatCAMCommon.py:1869 flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/PreferencesUI.py:2265 flatcamGUI/PreferencesUI.py:4672
+#: flatcamGUI/PreferencesUI.py:5424 flatcamTools/ToolNCC.py:367
+msgid "Conventional"
+msgstr "Convencional"
+
+#: FlatCAMCommon.py:1881 FlatCAMCommon.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:452 flatcamGUI/PreferencesUI.py:5461
+#: flatcamGUI/PreferencesUI.py:6002 flatcamTools/ToolNCC.py:382
+#: flatcamTools/ToolPaint.py:329
+msgid "Overlap"
+msgstr "Superposición"
+
+#: FlatCAMCommon.py:1883 flatcamGUI/PreferencesUI.py:5463
+#: flatcamTools/ToolNCC.py:384
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be cleared are still \n"
+"not cleared.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+"Cuánto (porcentaje) del ancho de la herramienta para superponer cada pasada "
+"de herramienta.\n"
+"Ajuste el valor comenzando con valores más bajos\n"
+"y aumentarlo si las áreas que deberían limpiarse aún están\n"
+"no borrado.\n"
+"Valores más bajos = procesamiento más rápido, ejecución más rápida en CNC.\n"
+"Valores más altos = procesamiento lento y ejecución lenta en CNC\n"
+"debido a demasiados caminos."
+
+#: FlatCAMCommon.py:1902 FlatCAMCommon.py:2011
+#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/PreferencesUI.py:5481
+#: flatcamGUI/PreferencesUI.py:5723 flatcamGUI/PreferencesUI.py:6022
+#: flatcamGUI/PreferencesUI.py:7681 flatcamGUI/PreferencesUI.py:7838
+#: flatcamGUI/PreferencesUI.py:7923 flatcamGUI/PreferencesUI.py:8570
+#: flatcamGUI/PreferencesUI.py:8578 flatcamTools/ToolCopperThieving.py:112
+#: flatcamTools/ToolCopperThieving.py:363 flatcamTools/ToolCutOut.py:191
+#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolInvertGerber.py:88
+#: flatcamTools/ToolInvertGerber.py:96 flatcamTools/ToolNCC.py:403
+#: flatcamTools/ToolPaint.py:350
+msgid "Margin"
+msgstr "Margen"
+
+#: FlatCAMCommon.py:1904 flatcamGUI/PreferencesUI.py:5483
+#: flatcamGUI/PreferencesUI.py:7683 flatcamGUI/PreferencesUI.py:7925
+#: flatcamGUI/PreferencesUI.py:7989 flatcamTools/ToolCopperThieving.py:114
+#: flatcamTools/ToolFiducials.py:174 flatcamTools/ToolFiducials.py:237
+#: flatcamTools/ToolNCC.py:405
+msgid "Bounding box margin."
+msgstr "Margen de cuadro delimitador."
+
+#: FlatCAMCommon.py:1915 FlatCAMCommon.py:2026
+#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:5494
+#: flatcamGUI/PreferencesUI.py:6037 flatcamGUI/PreferencesUI.py:8204
+#: flatcamGUI/PreferencesUI.py:8417 flatcamTools/ToolExtractDrills.py:128
+#: flatcamTools/ToolNCC.py:416 flatcamTools/ToolPaint.py:365
+#: flatcamTools/ToolPunchGerber.py:139
+msgid "Method"
+msgstr "Método"
+
+#: FlatCAMCommon.py:1917 flatcamGUI/PreferencesUI.py:5496
+#: flatcamTools/ToolNCC.py:418
+msgid ""
+"Algorithm for copper clearing:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
+msgstr ""
+"Algoritmo para la limpieza de cobre:\n"
+"- Estándar: paso fijo hacia adentro.\n"
+"- Basado en semillas: hacia afuera de la semilla.\n"
+"- Basado en líneas: líneas paralelas."
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolNCC.py:2390 flatcamTools/ToolNCC.py:2419
+#: flatcamTools/ToolNCC.py:2688 flatcamTools/ToolNCC.py:2720
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1829
+#: tclCommands/TclCommandCopperClear.py:126
+#: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125
+msgid "Standard"
+msgstr "Estándar"
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:5156 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:699
+#: flatcamTools/ToolPaint.py:1857 tclCommands/TclCommandCopperClear.py:130
+#: tclCommands/TclCommandPaint.py:129
+msgid "Lines"
+msgstr "Líneas"
+
+#: FlatCAMCommon.py:1933 FlatCAMCommon.py:2051 flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:6063 flatcamTools/ToolNCC.py:439
+#: flatcamTools/ToolPaint.py:401
+msgid "Connect"
+msgstr "Conectar"
+
+#: FlatCAMCommon.py:1937 FlatCAMCommon.py:2054
+#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/PreferencesUI.py:5518
+#: flatcamGUI/PreferencesUI.py:6065 flatcamTools/ToolNCC.py:443
+#: flatcamTools/ToolPaint.py:404
+msgid ""
+"Draw lines between resulting\n"
+"segments to minimize tool lifts."
+msgstr ""
+"Dibuja líneas entre el resultado\n"
+"Segmentos para minimizar elevaciones de herramientas."
+
+#: FlatCAMCommon.py:1943 FlatCAMCommon.py:2058 flatcamGUI/PreferencesUI.py:5525
+#: flatcamGUI/PreferencesUI.py:6071 flatcamTools/ToolNCC.py:449
+#: flatcamTools/ToolPaint.py:408
+msgid "Contour"
+msgstr "Contorno"
+
+#: FlatCAMCommon.py:1947 FlatCAMCommon.py:2061
+#: flatcamEditors/FlatCAMGeoEditor.py:519 flatcamGUI/PreferencesUI.py:5527
+#: flatcamGUI/PreferencesUI.py:6073 flatcamTools/ToolNCC.py:453
+#: flatcamTools/ToolPaint.py:411
+msgid ""
+"Cut around the perimeter of the polygon\n"
+"to trim rough edges."
+msgstr ""
+"Corta todo el perímetro del polígono.\n"
+"Para recortar los bordes ásperos."
+
+#: FlatCAMCommon.py:1953 flatcamEditors/FlatCAMGeoEditor.py:613
+#: flatcamEditors/FlatCAMGrbEditor.py:5145 flatcamGUI/ObjectUI.py:142
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamGUI/PreferencesUI.py:5534 flatcamGUI/PreferencesUI.py:6822
+#: flatcamTools/ToolNCC.py:459 flatcamTools/ToolTransform.py:29
+msgid "Offset"
+msgstr "Compensar"
+
+#: FlatCAMCommon.py:1957 flatcamGUI/PreferencesUI.py:5536
+#: flatcamTools/ToolNCC.py:463
+msgid ""
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0 and 10 FlatCAM units."
+msgstr ""
+"Si se usa, agregará un desplazamiento a las características de cobre.\n"
+"El claro de cobre terminará a cierta distancia.\n"
+"de las características de cobre.\n"
+"El valor puede estar entre 0 y 10 unidades FlatCAM."
+
+#: FlatCAMCommon.py:1992 flatcamEditors/FlatCAMGeoEditor.py:454
+#: flatcamGUI/PreferencesUI.py:6004 flatcamTools/ToolPaint.py:331
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be painted are still \n"
+"not painted.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+"Cuánto (porcentaje) del ancho de la herramienta para superponer cada pasada "
+"de herramienta.\n"
+"Ajuste el valor comenzando con valores más bajos\n"
+"y aumentarlo si las áreas que deben pintarse aún están\n"
+"No pintado.\n"
+"Valores más bajos = procesamiento más rápido, ejecución más rápida en CNC.\n"
+"Valores más altos = procesamiento lento y ejecución lenta en CNC\n"
+"debido a demasiados caminos."
+
+#: FlatCAMCommon.py:2013 flatcamEditors/FlatCAMGeoEditor.py:474
+#: flatcamGUI/PreferencesUI.py:6024 flatcamTools/ToolPaint.py:352
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the polygon to\n"
+"be painted."
+msgstr ""
+"Distancia por la cual evitar\n"
+"los bordes del polígono a\n"
+"ser pintado."
+
+#: FlatCAMCommon.py:2028 flatcamGUI/PreferencesUI.py:6039
+#: flatcamTools/ToolPaint.py:367
+msgid ""
+"Algorithm for painting:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines.\n"
+"- Laser-lines: Active only for Gerber objects.\n"
+"Will create lines that follow the traces.\n"
+"- Combo: In case of failure a new method will be picked from the above\n"
+"in the order specified."
+msgstr ""
+"Algoritmo para pintar:\n"
+"- Estándar: paso fijo hacia adentro.\n"
+"- Basado en semillas: hacia afuera de la semilla.\n"
+"- Basado en líneas: líneas paralelas.\n"
+"- Líneas láser: activas solo para objetos Gerber.\n"
+"Creará líneas que siguen los rastros.\n"
+"- Combo: en caso de falla, se elegirá un nuevo método de los anteriores\n"
+"en el orden especificado."
+
+#: FlatCAMCommon.py:2040 FlatCAMCommon.py:2042 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:392
+#: flatcamTools/ToolPaint.py:693 flatcamTools/ToolPaint.py:698
+#: flatcamTools/ToolPaint.py:1871 tclCommands/TclCommandPaint.py:131
+msgid "Laser_lines"
+msgstr "Lineas laser"
+
+#: FlatCAMCommon.py:2040 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:2022
+#: tclCommands/TclCommandPaint.py:133
+msgid "Combo"
+msgstr "Combo"
+
+#: FlatCAMCommon.py:2085
+msgid "Add Tool in DB"
+msgstr "Agregar herramienta en DB"
+
+#: FlatCAMObj.py:264
msgid "Name changed from"
msgstr "Nombre cambiado de"
-#: FlatCAMObj.py:257
+#: FlatCAMObj.py:264
msgid "to"
msgstr "a"
-#: FlatCAMObj.py:268
+#: FlatCAMObj.py:275
msgid "Offsetting..."
msgstr "Compensación ..."
-#: FlatCAMObj.py:282 FlatCAMObj.py:287
+#: FlatCAMObj.py:289 FlatCAMObj.py:294
msgid "Scaling could not be executed."
msgstr "No se pudo ejecutar el escalado."
-#: FlatCAMObj.py:291 FlatCAMObj.py:299
+#: FlatCAMObj.py:298 FlatCAMObj.py:306
msgid "Scale done."
msgstr "Escala hecha."
-#: FlatCAMObj.py:297
+#: FlatCAMObj.py:304
msgid "Scaling..."
msgstr "Escalando..."
-#: FlatCAMObj.py:315
+#: FlatCAMObj.py:322
msgid "Skewing..."
msgstr "Sesgar..."
-#: FlatCAMObj.py:736 FlatCAMObj.py:2746 FlatCAMObj.py:3968
-#: flatcamGUI/PreferencesUI.py:1470 flatcamGUI/PreferencesUI.py:2859
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/ObjectUI.py:449
+#: flatcamGUI/PreferencesUI.py:6527 flatcamTools/ToolAlignObjects.py:73
+#: flatcamTools/ToolAlignObjects.py:109 flatcamTools/ToolCalibration.py:196
+#: flatcamTools/ToolCalibration.py:631 flatcamTools/ToolCalibration.py:648
+#: flatcamTools/ToolCalibration.py:807 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:92
+#: flatcamTools/ToolDblSided.py:225 flatcamTools/ToolFilm.py:69
+#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549
+#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:252 flatcamTools/ToolImage.py:273
+#: flatcamTools/ToolNCC.py:96 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1295 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:706 flatcamTools/ToolPanelize.py:118
+#: flatcamTools/ToolPanelize.py:204 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Gerber"
+msgstr "Gerber"
+
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/FlatCAMGUI.py:2154
+#: flatcamGUI/ObjectUI.py:449 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:93
+#: flatcamTools/ToolDblSided.py:227 flatcamTools/ToolFilm.py:69
+#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549
+#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:271 flatcamTools/ToolNCC.py:95
+#: flatcamTools/ToolNCC.py:558 flatcamTools/ToolNCC.py:1295
+#: flatcamTools/ToolPaint.py:502 flatcamTools/ToolPaint.py:706
+#: flatcamTools/ToolPanelize.py:118 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Geometry"
+msgstr "Geometría"
+
+#: FlatCAMObj.py:755 FlatCAMObj.py:2957 FlatCAMObj.py:4421
+#: flatcamGUI/PreferencesUI.py:1646 flatcamGUI/PreferencesUI.py:3041
msgid "Basic"
msgstr "BASIC"
-#: FlatCAMObj.py:763 FlatCAMObj.py:2758 FlatCAMObj.py:3989
-#: flatcamGUI/PreferencesUI.py:1471
+#: FlatCAMObj.py:782 FlatCAMObj.py:2970 FlatCAMObj.py:4442
+#: flatcamGUI/PreferencesUI.py:1647
msgid "Advanced"
msgstr "Avanzado"
-#: FlatCAMObj.py:980
+#: FlatCAMObj.py:998
msgid "Buffering solid geometry"
msgstr "Amortiguación de geometría sólida"
-#: FlatCAMObj.py:983 camlib.py:965 flatcamGUI/PreferencesUI.py:2296
-#: flatcamTools/ToolCopperThieving.py:1011
-#: flatcamTools/ToolCopperThieving.py:1200
-#: flatcamTools/ToolCopperThieving.py:1212
-#: flatcamTools/ToolNonCopperClear.py:1624
-#: flatcamTools/ToolNonCopperClear.py:1721
-#: flatcamTools/ToolNonCopperClear.py:1732
-#: flatcamTools/ToolNonCopperClear.py:2015
-#: flatcamTools/ToolNonCopperClear.py:2111
-#: flatcamTools/ToolNonCopperClear.py:2123
+#: FlatCAMObj.py:1001 camlib.py:979 flatcamGUI/PreferencesUI.py:2476
+#: flatcamTools/ToolCopperThieving.py:1017
+#: flatcamTools/ToolCopperThieving.py:1206
+#: flatcamTools/ToolCopperThieving.py:1218 flatcamTools/ToolNCC.py:2045
+#: flatcamTools/ToolNCC.py:2153 flatcamTools/ToolNCC.py:2167
+#: flatcamTools/ToolNCC.py:3098 flatcamTools/ToolNCC.py:3203
+#: flatcamTools/ToolNCC.py:3218 flatcamTools/ToolNCC.py:3484
+#: flatcamTools/ToolNCC.py:3585 flatcamTools/ToolNCC.py:3600
msgid "Buffering"
msgstr "Tamponamiento"
-#: FlatCAMObj.py:989
+#: FlatCAMObj.py:1007
msgid "Done"
msgstr "Hecho"
-#: FlatCAMObj.py:1040
+#: FlatCAMObj.py:1032 FlatCAMObj.py:1058
+msgid "Operation could not be done."
+msgstr "La operación no se pudo hacer."
+
+#: FlatCAMObj.py:1075
msgid "Isolating..."
msgstr "Aislando ..."
-#: FlatCAMObj.py:1099
+#: FlatCAMObj.py:1134
msgid "Click on a polygon to isolate it."
msgstr "Haga clic en un polígono para aislarlo."
-#: FlatCAMObj.py:1138 FlatCAMObj.py:1243 flatcamTools/ToolPaint.py:1120
+#: FlatCAMObj.py:1173 FlatCAMObj.py:1277 flatcamTools/ToolPaint.py:1511
msgid "Added polygon"
msgstr "Polígono agregado"
-#: FlatCAMObj.py:1140 FlatCAMObj.py:1245
+#: FlatCAMObj.py:1174 FlatCAMObj.py:1279
msgid "Click to add next polygon or right click to start isolation."
msgstr ""
"Haga clic para agregar el siguiente polígono o haga clic con el botón "
"derecho para iniciar el aislamiento."
-#: FlatCAMObj.py:1152 flatcamTools/ToolPaint.py:1134
+#: FlatCAMObj.py:1186 flatcamTools/ToolPaint.py:1525
msgid "Removed polygon"
msgstr "Polígono eliminado"
-#: FlatCAMObj.py:1153
+#: FlatCAMObj.py:1187
msgid "Click to add/remove next polygon or right click to start isolation."
msgstr ""
"Haga clic para agregar / eliminar el siguiente polígono o haga clic con el "
"botón derecho para iniciar el aislamiento."
-#: FlatCAMObj.py:1158 flatcamTools/ToolPaint.py:1140
+#: FlatCAMObj.py:1192 flatcamTools/ToolPaint.py:1531
msgid "No polygon detected under click position."
msgstr "No se detectó ningún polígono bajo la posición de clic."
-#: FlatCAMObj.py:1179 flatcamTools/ToolPaint.py:1169
+#: FlatCAMObj.py:1213 flatcamTools/ToolPaint.py:1560
msgid "List of single polygons is empty. Aborting."
-msgstr "La lista de polígonos individuales está vacía. Abortar"
+msgstr "La lista de polígonos individuales está vacía. Abortar."
-#: FlatCAMObj.py:1248
+#: FlatCAMObj.py:1282
msgid "No polygon in selection."
msgstr "No hay polígono en la selección."
-#: FlatCAMObj.py:1324 FlatCAMObj.py:1457
-#: flatcamTools/ToolNonCopperClear.py:1653
-#: flatcamTools/ToolNonCopperClear.py:2039
-msgid "Isolation geometry could not be generated."
-msgstr "La geometría de aislamiento no se pudo generar."
-
-#: FlatCAMObj.py:1374 FlatCAMObj.py:3637 FlatCAMObj.py:3922 FlatCAMObj.py:4221
+#: FlatCAMObj.py:1394 FlatCAMObj.py:1542 FlatCAMObj.py:4055 FlatCAMObj.py:4375
+#: FlatCAMObj.py:4762
msgid "Rough"
msgstr "Áspero"
-#: FlatCAMObj.py:1400 FlatCAMObj.py:1480
+#: FlatCAMObj.py:1410 FlatCAMObj.py:1489 flatcamTools/ToolNCC.py:2081
+#: flatcamTools/ToolNCC.py:3132 flatcamTools/ToolNCC.py:3511
+msgid "Isolation geometry could not be generated."
+msgstr "La geometría de aislamiento no se pudo generar."
+
+#: FlatCAMObj.py:1435 FlatCAMObj.py:1567
msgid "Isolation geometry created"
msgstr "Geometría de aislamiento creada"
-#: FlatCAMObj.py:1409 FlatCAMObj.py:1487
+#: FlatCAMObj.py:1444 FlatCAMObj.py:1574
msgid "Subtracting Geo"
msgstr "Restando Geo"
-#: FlatCAMObj.py:1807
+#: FlatCAMObj.py:1899
msgid "Plotting Apertures"
msgstr "Aperturas de trazado"
-#: FlatCAMObj.py:2573 flatcamEditors/FlatCAMExcEditor.py:2427
+#: FlatCAMObj.py:2753 flatcamEditors/FlatCAMExcEditor.py:2453
msgid "Total Drills"
msgstr "Taladros totales"
-#: FlatCAMObj.py:2605 flatcamEditors/FlatCAMExcEditor.py:2459
+#: FlatCAMObj.py:2784 flatcamEditors/FlatCAMExcEditor.py:2485
msgid "Total Slots"
msgstr "Ranuras totales"
-#: FlatCAMObj.py:3060 FlatCAMObj.py:3155 FlatCAMObj.py:3276
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3069 FlatCAMObj.py:3085 FlatCAMObj.py:3089
+#: FlatCAMObj.py:4242 FlatCAMObj.py:4667 FlatCAMObj.py:4703
+#: flatcamGUI/ObjectUI.py:817 flatcamGUI/ObjectUI.py:1660
+#: flatcamTools/ToolNCC.py:331 flatcamTools/ToolNCC.py:797
+#: flatcamTools/ToolNCC.py:811 flatcamTools/ToolNCC.py:1191
+#: flatcamTools/ToolPaint.py:314 flatcamTools/ToolPaint.py:767
+#: flatcamTools/ToolPaint.py:779 flatcamTools/ToolPaint.py:1166
+msgid "Parameters for"
+msgstr "Parámetros para"
+
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3089 FlatCAMObj.py:4242 FlatCAMObj.py:4703
+#: flatcamTools/ToolNCC.py:811 flatcamTools/ToolNCC.py:1191
+#: flatcamTools/ToolPaint.py:779 flatcamTools/ToolPaint.py:1166
+msgid "Multiple Tools"
+msgstr "Herramientas múltiples"
+
+#: FlatCAMObj.py:3069
+msgid "No Tool Selected"
+msgstr "Ninguna herramienta seleccionada"
+
+#: FlatCAMObj.py:3085 FlatCAMObj.py:3427 FlatCAMObj.py:4667
+#: flatcamEditors/FlatCAMGeoEditor.py:406 flatcamGUI/FlatCAMGUI.py:496
+#: flatcamGUI/FlatCAMGUI.py:1143 flatcamGUI/ObjectUI.py:817
+#: flatcamGUI/ObjectUI.py:1660 flatcamTools/ToolNCC.py:331
+#: flatcamTools/ToolNCC.py:797 flatcamTools/ToolPaint.py:314
+#: flatcamTools/ToolPaint.py:767
+msgid "Tool"
+msgstr "Herramienta"
+
+#: FlatCAMObj.py:3419 FlatCAMObj.py:3512 FlatCAMObj.py:3700
msgid "Please select one or more tools from the list and try again."
msgstr ""
"Por favor seleccione una o más herramientas de la lista e intente nuevamente."
-#: FlatCAMObj.py:3067
+#: FlatCAMObj.py:3426
msgid "Milling tool for DRILLS is larger than hole size. Cancelled."
msgstr ""
"La herramienta de fresado para TALADRO es más grande que el tamaño del "
"orificio. Cancelado."
-#: FlatCAMObj.py:3068 FlatCAMObj.py:4533 flatcamEditors/FlatCAMGeoEditor.py:408
-#: flatcamGUI/FlatCAMGUI.py:457 flatcamGUI/FlatCAMGUI.py:1072
-#: flatcamGUI/ObjectUI.py:1353
-msgid "Tool"
-msgstr "Herramienta"
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Tool_nr"
msgstr "Herramienta_nu"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-#: flatcamEditors/FlatCAMExcEditor.py:1582
-#: flatcamEditors/FlatCAMExcEditor.py:3048 flatcamGUI/ObjectUI.py:777
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
-#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:396
-#: flatcamTools/ToolProperties.py:449 flatcamTools/ToolSolderPaste.py:84
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: flatcamEditors/FlatCAMExcEditor.py:1585
+#: flatcamEditors/FlatCAMExcEditor.py:3069 flatcamGUI/ObjectUI.py:780
+#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
+#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:416
+#: flatcamTools/ToolProperties.py:476 flatcamTools/ToolSolderPaste.py:86
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Diameter"
msgstr "Diámetro"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Drills_Nr"
msgstr "Taladros_nu"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Slots_Nr"
msgstr "Ranuras_nu"
-#: FlatCAMObj.py:3164
+#: FlatCAMObj.py:3521
msgid "Milling tool for SLOTS is larger than hole size. Cancelled."
msgstr ""
"La herramienta de fresado para SLOTS es más grande que el tamaño del "
"orificio. Cancelado."
-#: FlatCAMObj.py:3336
-msgid ""
-"Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth"
-"\"]"
-msgstr ""
-"Formato de valor incorrecto para self.defaults [\"z_pdepth\"] o self.options "
-"[\"z_pdepth\"]"
+#: FlatCAMObj.py:3626 FlatCAMObj.py:5451
+msgid "Focus Z"
+msgstr "Enfoque Z"
-#: FlatCAMObj.py:3347
-msgid ""
-"Wrong value format for self.defaults[\"feedrate_probe\"] or self."
-"options[\"feedrate_probe\"]"
-msgstr ""
-"Formato de valor incorrecto para self.defaults [\"feedrate_probe\"] o self."
-"options [\"feedrate_probe\"]"
+#: FlatCAMObj.py:3645 FlatCAMObj.py:5470
+msgid "Laser Power"
+msgstr "Poder del laser"
-#: FlatCAMObj.py:3377 FlatCAMObj.py:5354 FlatCAMObj.py:5358 FlatCAMObj.py:5493
+#: FlatCAMObj.py:3677 FlatCAMObj.py:5502 flatcamGUI/ObjectUI.py:1048
+#: flatcamGUI/ObjectUI.py:1839 flatcamGUI/PreferencesUI.py:4409
+msgid "Spindle speed"
+msgstr "Eje de velocidad"
+
+#: FlatCAMObj.py:3776 FlatCAMObj.py:5911 FlatCAMObj.py:5915 FlatCAMObj.py:6060
msgid "Generating CNC Code"
msgstr "Generando Código CNC"
-#: FlatCAMObj.py:3637 FlatCAMObj.py:4632 FlatCAMObj.py:4633 FlatCAMObj.py:4642
+#: FlatCAMObj.py:3966 flatcamTools/ToolNCC.py:918 flatcamTools/ToolPaint.py:844
+msgid "Current Tool parameters were applied to all tools."
+msgstr ""
+"Los parámetros actuales de la herramienta se aplicaron a todas las "
+"herramientas."
+
+#: FlatCAMObj.py:4055 FlatCAMObj.py:5115 FlatCAMObj.py:5116 FlatCAMObj.py:5125
msgid "Iso"
msgstr "Aisl"
-#: FlatCAMObj.py:3637
+#: FlatCAMObj.py:4055
msgid "Finish"
msgstr "Terminar"
-#: FlatCAMObj.py:3957
+#: FlatCAMObj.py:4410
msgid "Add from Tool DB"
msgstr "Agregar desde la DB de herramientas"
-#: FlatCAMObj.py:3960 flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:794
-#: flatcamGUI/FlatCAMGUI.py:989 flatcamGUI/FlatCAMGUI.py:2015
-#: flatcamGUI/FlatCAMGUI.py:2159 flatcamGUI/FlatCAMGUI.py:2378
-#: flatcamGUI/FlatCAMGUI.py:2557 flatcamGUI/ObjectUI.py:1324
-#: flatcamTools/ToolPanelize.py:534 flatcamTools/ToolPanelize.py:561
-#: flatcamTools/ToolPanelize.py:660 flatcamTools/ToolPanelize.py:694
-#: flatcamTools/ToolPanelize.py:759
+#: FlatCAMObj.py:4413 flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:848
+#: flatcamGUI/FlatCAMGUI.py:1057 flatcamGUI/FlatCAMGUI.py:2123
+#: flatcamGUI/FlatCAMGUI.py:2267 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamGUI/FlatCAMGUI.py:2731 flatcamGUI/ObjectUI.py:1615
+#: flatcamTools/ToolPanelize.py:543 flatcamTools/ToolPanelize.py:570
+#: flatcamTools/ToolPanelize.py:669 flatcamTools/ToolPanelize.py:703
+#: flatcamTools/ToolPanelize.py:768
msgid "Copy"
msgstr "Dupdo"
-#: FlatCAMObj.py:4054 FlatCAMObj.py:4397 FlatCAMObj.py:5107 FlatCAMObj.py:5744
-#: flatcamEditors/FlatCAMExcEditor.py:2534
-#: flatcamEditors/FlatCAMGeoEditor.py:1078
-#: flatcamEditors/FlatCAMGeoEditor.py:1112
-#: flatcamEditors/FlatCAMGeoEditor.py:1133
-#: flatcamEditors/FlatCAMGeoEditor.py:1154
-#: flatcamEditors/FlatCAMGeoEditor.py:1191
-#: flatcamEditors/FlatCAMGeoEditor.py:1219
-#: flatcamEditors/FlatCAMGeoEditor.py:1240
-#: flatcamTools/ToolNonCopperClear.py:1052
-#: flatcamTools/ToolNonCopperClear.py:1461 flatcamTools/ToolPaint.py:835
-#: flatcamTools/ToolPaint.py:1019 flatcamTools/ToolPaint.py:2198
-#: flatcamTools/ToolSolderPaste.py:882 flatcamTools/ToolSolderPaste.py:957
+#: FlatCAMObj.py:4507 FlatCAMObj.py:4941 FlatCAMObj.py:5661 FlatCAMObj.py:6307
+#: flatcamEditors/FlatCAMExcEditor.py:2560
+#: flatcamEditors/FlatCAMGeoEditor.py:1077
+#: flatcamEditors/FlatCAMGeoEditor.py:1118
+#: flatcamEditors/FlatCAMGeoEditor.py:1146
+#: flatcamEditors/FlatCAMGeoEditor.py:1174
+#: flatcamEditors/FlatCAMGeoEditor.py:1218
+#: flatcamEditors/FlatCAMGeoEditor.py:1253
+#: flatcamEditors/FlatCAMGeoEditor.py:1281 flatcamTools/ToolNCC.py:1493
+#: flatcamTools/ToolPaint.py:1244 flatcamTools/ToolPaint.py:1415
+#: flatcamTools/ToolSolderPaste.py:883 flatcamTools/ToolSolderPaste.py:956
msgid "Wrong value format entered, use a number."
msgstr "Formato de valor incorrecto introducido, use un número."
-#: FlatCAMObj.py:4240
+#: FlatCAMObj.py:4781
msgid "Tool added in Tool Table."
msgstr "Herramienta añadida en la tabla de herramientas."
-#: FlatCAMObj.py:4347 FlatCAMObj.py:4356
+#: FlatCAMObj.py:4890 FlatCAMObj.py:4899
msgid "Failed. Select a tool to copy."
msgstr "Ha fallado. Seleccione una herramienta para copiar."
-#: FlatCAMObj.py:4383
+#: FlatCAMObj.py:4928
msgid "Tool was copied in Tool Table."
msgstr "La herramienta se copió en la tabla de herramientas."
-#: FlatCAMObj.py:4411
+#: FlatCAMObj.py:4955
msgid "Tool was edited in Tool Table."
msgstr "La herramienta fue editada en la tabla de herramientas."
-#: FlatCAMObj.py:4440 FlatCAMObj.py:4449
+#: FlatCAMObj.py:4984 FlatCAMObj.py:4993
msgid "Failed. Select a tool to delete."
msgstr "Ha fallado. Seleccione una herramienta para eliminar."
-#: FlatCAMObj.py:4472
+#: FlatCAMObj.py:5017
msgid "Tool was deleted in Tool Table."
msgstr "La herramienta se eliminó en la tabla de herramientas."
-#: FlatCAMObj.py:4533 flatcamGUI/ObjectUI.py:1353
-msgid "Parameters for"
-msgstr "Parámetros para"
-
-#: FlatCAMObj.py:4967
+#: FlatCAMObj.py:5523
msgid "This Geometry can't be processed because it is"
msgstr "Esta geometría no se puede procesar porque es"
-#: FlatCAMObj.py:4969
+#: FlatCAMObj.py:5523
msgid "geometry"
msgstr "geometría"
-#: FlatCAMObj.py:5012
+#: FlatCAMObj.py:5564
msgid "Failed. No tool selected in the tool table ..."
msgstr ""
"Ha fallado. Ninguna herramienta seleccionada en la tabla de herramientas ..."
-#: FlatCAMObj.py:5112 FlatCAMObj.py:5264
+#: FlatCAMObj.py:5667 FlatCAMObj.py:5820
msgid ""
"Tool Offset is selected in Tool Table but no value is provided.\n"
"Add a Tool Offset or change the Offset Type."
@@ -2611,44 +2991,44 @@ msgstr ""
"pero no se proporciona ningún valor.\n"
"Agregue una Herramienta de compensación o cambie el Tipo de compensación."
-#: FlatCAMObj.py:5177 FlatCAMObj.py:5325
+#: FlatCAMObj.py:5733 FlatCAMObj.py:5882
msgid "G-Code parsing in progress..."
msgstr "Análisis de código G en progreso ..."
-#: FlatCAMObj.py:5179 FlatCAMObj.py:5327
+#: FlatCAMObj.py:5735 FlatCAMObj.py:5884
msgid "G-Code parsing finished..."
msgstr "Análisis de código G terminado ..."
-#: FlatCAMObj.py:5187
+#: FlatCAMObj.py:5743
msgid "Finished G-Code processing"
msgstr "Procesamiento de código G terminado"
-#: FlatCAMObj.py:5189 FlatCAMObj.py:5339
+#: FlatCAMObj.py:5745 FlatCAMObj.py:5896
msgid "G-Code processing failed with error"
msgstr "El procesamiento del código G falló con error"
-#: FlatCAMObj.py:5234 flatcamTools/ToolSolderPaste.py:1303
+#: FlatCAMObj.py:5790 flatcamTools/ToolSolderPaste.py:1300
msgid "Cancelled. Empty file, it has no geometry"
msgstr "Cancelado. Archivo vacío, no tiene geometría"
-#: FlatCAMObj.py:5337 FlatCAMObj.py:5486
+#: FlatCAMObj.py:5894 FlatCAMObj.py:6055
msgid "Finished G-Code processing..."
msgstr "Procesamiento de código G terminado ..."
-#: FlatCAMObj.py:5356 FlatCAMObj.py:5360 FlatCAMObj.py:5496
+#: FlatCAMObj.py:5913 FlatCAMObj.py:5917 FlatCAMObj.py:6062
msgid "CNCjob created"
msgstr "CNCjob creado"
-#: FlatCAMObj.py:5527 FlatCAMObj.py:5536 flatcamParsers/ParseGerber.py:1794
-#: flatcamParsers/ParseGerber.py:1804
+#: FlatCAMObj.py:6092 FlatCAMObj.py:6101 flatcamParsers/ParseGerber.py:1866
+#: flatcamParsers/ParseGerber.py:1876
msgid "Scale factor has to be a number: integer or float."
msgstr "El factor de escala debe ser un número: entero o Real."
-#: FlatCAMObj.py:5600
+#: FlatCAMObj.py:6164
msgid "Geometry Scale done."
msgstr "Escala de geometría realizada."
-#: FlatCAMObj.py:5617 flatcamParsers/ParseGerber.py:1920
+#: FlatCAMObj.py:6181 flatcamParsers/ParseGerber.py:1992
msgid ""
"An (x,y) pair of values are needed. Probable you entered only one value in "
"the Offset field."
@@ -2656,11 +3036,11 @@ msgstr ""
"Se necesita un par de valores (x, y). Probablemente haya ingresado un solo "
"valor en el campo Desplazamiento."
-#: FlatCAMObj.py:5674
+#: FlatCAMObj.py:6237
msgid "Geometry Offset done."
msgstr "Desplazamiento de geometría realizado."
-#: FlatCAMObj.py:5703
+#: FlatCAMObj.py:6266
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y)\n"
@@ -2670,43 +3050,43 @@ msgstr ""
"formato (x, y)\n"
"pero ahora solo hay un valor, no dos."
-#: FlatCAMObj.py:6388 FlatCAMObj.py:7175 FlatCAMObj.py:7371
+#: FlatCAMObj.py:6956 FlatCAMObj.py:7802 FlatCAMObj.py:7999
msgid "Basic"
msgstr "Basic"
-#: FlatCAMObj.py:6394 FlatCAMObj.py:7179 FlatCAMObj.py:7375
+#: FlatCAMObj.py:6962 FlatCAMObj.py:7806 FlatCAMObj.py:8003
msgid "Advanced"
msgstr "Avanzado"
-#: FlatCAMObj.py:6437
+#: FlatCAMObj.py:7005
msgid "Plotting..."
msgstr "Trazando ..."
-#: FlatCAMObj.py:6460 FlatCAMObj.py:6465 flatcamTools/ToolSolderPaste.py:1509
+#: FlatCAMObj.py:7034 FlatCAMObj.py:7039 flatcamTools/ToolSolderPaste.py:1498
msgid "Export Machine Code ..."
msgstr "Exportar código de máquina ..."
-#: FlatCAMObj.py:6470 flatcamTools/ToolSolderPaste.py:1513
+#: FlatCAMObj.py:7044 flatcamTools/ToolSolderPaste.py:1502
msgid "Export Machine Code cancelled ..."
msgstr "Exportar código de máquina cancelado ..."
-#: FlatCAMObj.py:6492
+#: FlatCAMObj.py:7065
msgid "Machine Code file saved to"
msgstr "Archivo de código de máquina guardado en"
-#: FlatCAMObj.py:6546 flatcamTools/ToolCalibration.py:1083
+#: FlatCAMObj.py:7126 flatcamTools/ToolCalibration.py:1097
msgid "Loaded Machine Code into Code Editor"
msgstr "Código de máquina cargado en el editor de código"
-#: FlatCAMObj.py:6684
+#: FlatCAMObj.py:7265
msgid "This CNCJob object can't be processed because it is a"
msgstr "Este objeto CNCJob no se puede procesar porque es un"
-#: FlatCAMObj.py:6686
+#: FlatCAMObj.py:7267
msgid "CNCJob object"
msgstr "Objeto CNCJob"
-#: FlatCAMObj.py:6866
+#: FlatCAMObj.py:7447
msgid ""
"G-code does not have a G94 code and we will not include the code in the "
"'Prepend to GCode' text box"
@@ -2714,40 +3094,40 @@ msgstr ""
"El código G no tiene un código G94 y no incluiremos el código en el cuadro "
"de texto 'Anteponer al código GC'"
-#: FlatCAMObj.py:6877
+#: FlatCAMObj.py:7458
msgid "Cancelled. The Toolchange Custom code is enabled but it's empty."
msgstr ""
"Cancelado. El código personalizado de Toolchange está habilitado pero está "
"vacío."
-#: FlatCAMObj.py:6882
+#: FlatCAMObj.py:7463
msgid "Toolchange G-code was replaced by a custom code."
msgstr "El código G de Toolchange fue reemplazado por un código personalizado."
-#: FlatCAMObj.py:6899 flatcamEditors/FlatCAMTextEditor.py:270
-#: flatcamTools/ToolSolderPaste.py:1540
+#: FlatCAMObj.py:7480 flatcamEditors/FlatCAMTextEditor.py:272
+#: flatcamTools/ToolSolderPaste.py:1529
msgid "No such file or directory"
msgstr "El fichero o directorio no existe"
-#: FlatCAMObj.py:6913 flatcamEditors/FlatCAMTextEditor.py:282
+#: FlatCAMObj.py:7494 flatcamEditors/FlatCAMTextEditor.py:284
msgid "Saved to"
msgstr "Guardado en"
-#: FlatCAMObj.py:6923 FlatCAMObj.py:6933
+#: FlatCAMObj.py:7511 FlatCAMObj.py:7521
msgid ""
"The used preprocessor file has to have in it's name: 'toolchange_custom'"
msgstr ""
"El archivo de postprocesador usado debe tener su nombre: 'toolchange_custom'"
-#: FlatCAMObj.py:6937
+#: FlatCAMObj.py:7524
msgid "There is no preprocessor file."
msgstr "No hay archivo de postprocesador."
-#: FlatCAMObj.py:7194
+#: FlatCAMObj.py:7821
msgid "Script Editor"
msgstr "Editor de guiones"
-#: FlatCAMObj.py:7475
+#: FlatCAMObj.py:8103
msgid "Document Editor"
msgstr "Editor de Documentos"
@@ -2755,6 +3135,16 @@ msgstr "Editor de Documentos"
msgid "processes running."
msgstr "procesos en ejecución."
+#: FlatCAMTool.py:245 FlatCAMTool.py:252 flatcamGUI/ObjectUI.py:156
+#: flatcamGUI/ObjectUI.py:163
+msgid "Edited value is out of range"
+msgstr "El valor editado está fuera de rango"
+
+#: FlatCAMTool.py:247 FlatCAMTool.py:254 flatcamGUI/ObjectUI.py:158
+#: flatcamGUI/ObjectUI.py:165
+msgid "Edited value is within limits."
+msgstr "El valor editado está dentro de los límites."
+
#: FlatCAMTranslation.py:103
msgid "The application will restart."
msgstr "La aplicación se reiniciará."
@@ -2767,68 +3157,68 @@ msgstr "¿Está seguro de que desea cambiar el idioma actual a"
msgid "Apply Language ..."
msgstr "Aplicar Idioma ..."
-#: ObjectCollection.py:459
+#: ObjectCollection.py:506
#, python-brace-format
msgid "Object renamed from {old} to {new}"
msgstr "Objeto renombrado de {old} a {new}"
-#: ObjectCollection.py:858
+#: ObjectCollection.py:972
msgid "Cause of error"
msgstr "Causa del error"
-#: camlib.py:590
+#: camlib.py:593
msgid "self.solid_geometry is neither BaseGeometry or list."
msgstr "self.solid_geometry no es ni BaseGeometry ni lista."
-#: camlib.py:953
+#: camlib.py:968
msgid "Pass"
msgstr "Pases"
-#: camlib.py:974
+#: camlib.py:988
msgid "Get Exteriors"
msgstr "Obtener exteriores"
-#: camlib.py:977
+#: camlib.py:991
msgid "Get Interiors"
msgstr "Obtener interiores"
-#: camlib.py:1964
+#: camlib.py:2172
msgid "Object was mirrored"
msgstr "El objeto fue reflejado"
-#: camlib.py:1967
+#: camlib.py:2175
msgid "Failed to mirror. No object selected"
msgstr "No se pudo reflejar. Ningún objeto seleccionado"
-#: camlib.py:2036
+#: camlib.py:2244
msgid "Object was rotated"
msgstr "El objeto fue girado"
-#: camlib.py:2039
+#: camlib.py:2247
msgid "Failed to rotate. No object selected"
msgstr "No se pudo rotar. Ningún objeto seleccionado"
-#: camlib.py:2107
+#: camlib.py:2314
msgid "Object was skewed"
msgstr "El objeto fue sesgado"
-#: camlib.py:2110
+#: camlib.py:2317
msgid "Failed to skew. No object selected"
msgstr "Error al sesgar. Ningún objeto seleccionado"
-#: camlib.py:2179
+#: camlib.py:2392
msgid "Object was buffered"
msgstr "El objeto fue almacenado"
-#: camlib.py:2181
+#: camlib.py:2394
msgid "Failed to buffer. No object selected"
msgstr "Error al almacenar en búfer. Ningún objeto seleccionado"
-#: camlib.py:2378
+#: camlib.py:2599
msgid "There is no such parameter"
msgstr "No hay tal parámetro"
-#: camlib.py:2454
+#: camlib.py:2659 camlib.py:2892 camlib.py:3121 camlib.py:3343
msgid ""
"The Cut Z parameter has positive value. It is the depth value to drill into "
"material.\n"
@@ -2842,11 +3232,12 @@ msgstr ""
"tipográfico, por lo tanto, la aplicación convertirá el valor a negativo. "
"Compruebe el código CNC resultante (Gcode, etc.)."
-#: camlib.py:2462 camlib.py:3181 camlib.py:3539
+#: camlib.py:2667 camlib.py:2902 camlib.py:3131 camlib.py:3353 camlib.py:3639
+#: camlib.py:4008
msgid "The Cut Z parameter is zero. There will be no cut, skipping file"
msgstr "El parámetro Cut Z es cero. No habrá corte, saltando archivo"
-#: camlib.py:2475 camlib.py:3512
+#: camlib.py:2678 camlib.py:3976
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y) \n"
@@ -2856,31 +3247,39 @@ msgstr ""
"formato (x, y)\n"
"pero ahora solo hay un valor, no dos. "
-#: camlib.py:2550
+#: camlib.py:2687 camlib.py:3590 camlib.py:3958
+msgid ""
+"The End Move X,Y field in Edit -> Preferences has to be in the format (x, y) "
+"but now there is only one value, not two."
+msgstr ""
+"El campo de movimiento final X, Y en Editar -> Preferencias debe estar en el "
+"formato (x, y) pero ahora solo hay un valor, no dos."
+
+#: camlib.py:2775
msgid "Creating a list of points to drill..."
msgstr "Crear una lista de puntos para explorar ..."
-#: camlib.py:2632
+#: camlib.py:2865 camlib.py:3737 camlib.py:4112
msgid "Starting G-Code"
msgstr "Iniciando el código G"
-#: camlib.py:2727 camlib.py:2870 camlib.py:2972 camlib.py:3292 camlib.py:3653
+#: camlib.py:3006 camlib.py:3225 camlib.py:3389 camlib.py:3750 camlib.py:4123
msgid "Starting G-Code for tool with diameter"
msgstr "Código G inicial para herramienta con diámetro"
-#: camlib.py:2783 camlib.py:2926 camlib.py:3029
+#: camlib.py:3089 camlib.py:3307 camlib.py:3475
msgid "G91 coordinates not implemented"
msgstr "Coordenadas G91 no implementadas"
-#: camlib.py:2789 camlib.py:2933 camlib.py:3035
+#: camlib.py:3095 camlib.py:3314 camlib.py:3481
msgid "The loaded Excellon file has no drills"
msgstr "El archivo Excellon cargado no tiene perforaciones"
-#: camlib.py:3058
+#: camlib.py:3504
msgid "Finished G-Code generation..."
msgstr "Generación de código G finalizada ..."
-#: camlib.py:3153
+#: camlib.py:3608
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y) \n"
@@ -2890,7 +3289,7 @@ msgstr ""
"formato (x, y)\n"
"pero ahora solo hay un valor, no dos."
-#: camlib.py:3166 camlib.py:3525
+#: camlib.py:3622 camlib.py:3991
msgid ""
"Cut_Z parameter is None or zero. Most likely a bad combinations of other "
"parameters."
@@ -2898,7 +3297,7 @@ msgstr ""
"El parámetro Cut_Z es Ninguno o cero. Lo más probable es una mala "
"combinación de otros parámetros."
-#: camlib.py:3173 camlib.py:3531
+#: camlib.py:3631 camlib.py:4000
msgid ""
"The Cut Z parameter has positive value. It is the depth value to cut into "
"material.\n"
@@ -2912,11 +3311,11 @@ msgstr ""
"tipográfico, por lo tanto, la aplicación convertirá el valor a negativo. "
"Verifique el código CNC resultante (Gcode, etc.)."
-#: camlib.py:3186 camlib.py:3545
+#: camlib.py:3644 camlib.py:4014
msgid "Travel Z parameter is None or zero."
msgstr "El parámetro Travel Z des Ninguno o cero."
-#: camlib.py:3191 camlib.py:3550
+#: camlib.py:3649 camlib.py:4019
msgid ""
"The Travel Z parameter has negative value. It is the height value to travel "
"between cuts.\n"
@@ -2930,39 +3329,35 @@ msgstr ""
"error tipográfico, por lo tanto, la aplicación convertirá el valor a "
"positivo. Verifique el código CNC resultante (Gcode, etc.)."
-#: camlib.py:3199 camlib.py:3558
+#: camlib.py:3657 camlib.py:4027
msgid "The Z Travel parameter is zero. This is dangerous, skipping file"
msgstr ""
"El parámetro Z Travel es cero. Esto es peligroso, saltando el archive %s"
-#: camlib.py:3218 camlib.py:3580
+#: camlib.py:3676 camlib.py:4050
msgid "Indexing geometry before generating G-Code..."
msgstr "Indexación de la geometría antes de generar código G ..."
-#: camlib.py:3279 camlib.py:3642
-msgid "Starting G-Code..."
-msgstr "Iniciando el código G ..."
-
-#: camlib.py:3362 camlib.py:3724
+#: camlib.py:3820 camlib.py:4192
msgid "Finished G-Code generation"
msgstr "Generación de código G terminada"
-#: camlib.py:3364
+#: camlib.py:3820
msgid "paths traced"
msgstr "caminos trazados"
-#: camlib.py:3399
+#: camlib.py:3853
msgid "Expected a Geometry, got"
msgstr "Se esperaba una Geometría, se obtuvo"
-#: camlib.py:3406
+#: camlib.py:3860
msgid ""
"Trying to generate a CNC Job from a Geometry object without solid_geometry."
msgstr ""
"Intentando generar un trabajo de CNC desde un objeto de geometría sin "
"solid_geometry."
-#: camlib.py:3446
+#: camlib.py:3901
msgid ""
"The Tool Offset value is too negative to use for the current_geometry.\n"
"Raise the value (in module) and try again."
@@ -2971,35 +3366,35 @@ msgstr ""
"en current_geometry.\n"
"Aumente el valor (en el módulo) e intente nuevamente."
-#: camlib.py:3724
+#: camlib.py:4192
msgid " paths traced."
msgstr " caminos trazados."
-#: camlib.py:3752
+#: camlib.py:4220
msgid "There is no tool data in the SolderPaste geometry."
msgstr "No hay datos de herramientas en la geometría SolderPaste."
-#: camlib.py:3839
+#: camlib.py:4306
msgid "Finished SolderPste G-Code generation"
msgstr "Generación de código G de soldadura soldada terminada"
-#: camlib.py:3841
+#: camlib.py:4306
msgid "paths traced."
msgstr "caminos trazados."
-#: camlib.py:4097
+#: camlib.py:4566
msgid "Parsing GCode file. Number of lines"
msgstr "Analizando el archivo GCode. Número de líneas"
-#: camlib.py:4204
+#: camlib.py:4673
msgid "Creating Geometry from the parsed GCode file. "
msgstr "Crear geometría a partir del archivo GCode analizado. "
-#: camlib.py:4345 camlib.py:4629 camlib.py:4732 camlib.py:4801
+#: camlib.py:4816 camlib.py:5101 camlib.py:5204 camlib.py:5360
msgid "G91 coordinates not implemented ..."
msgstr "Coordenadas G91 no implementadas ..."
-#: camlib.py:4476
+#: camlib.py:4948
msgid "Unifying Geometry from parsed Geometry segments"
msgstr "Geometría unificadora de segmentos de geometría analizados"
@@ -3029,11 +3424,11 @@ msgstr ""
#: flatcamEditors/FlatCAMExcEditor.py:193
#: flatcamEditors/FlatCAMExcEditor.py:416
#: flatcamEditors/FlatCAMExcEditor.py:637
-#: flatcamEditors/FlatCAMExcEditor.py:1155
-#: flatcamEditors/FlatCAMExcEditor.py:1182
+#: flatcamEditors/FlatCAMExcEditor.py:1152
+#: flatcamEditors/FlatCAMExcEditor.py:1179
#: flatcamEditors/FlatCAMGrbEditor.py:471
-#: flatcamEditors/FlatCAMGrbEditor.py:1936
-#: flatcamEditors/FlatCAMGrbEditor.py:1966
+#: flatcamEditors/FlatCAMGrbEditor.py:1935
+#: flatcamEditors/FlatCAMGrbEditor.py:1965
msgid "Click on target location ..."
msgstr "Haga clic en la ubicación de destino ..."
@@ -3067,8 +3462,8 @@ msgstr "Para agregar un espacio primero seleccione una herramienta"
#: flatcamEditors/FlatCAMExcEditor.py:455
#: flatcamEditors/FlatCAMExcEditor.py:462
-#: flatcamEditors/FlatCAMExcEditor.py:744
-#: flatcamEditors/FlatCAMExcEditor.py:751
+#: flatcamEditors/FlatCAMExcEditor.py:743
+#: flatcamEditors/FlatCAMExcEditor.py:750
msgid "Value is missing or wrong format. Add it and retry."
msgstr ""
"Falta el formato del formato o es incorrecto Añádelo y vuelve a intentarlo."
@@ -3087,73 +3482,67 @@ msgstr ""
msgid "Click on the Slot Circular Array Start position"
msgstr "Haga clic en la posición de inicio de la matriz circular de ranura"
-#: flatcamEditors/FlatCAMExcEditor.py:682
-#: flatcamEditors/FlatCAMGrbEditor.py:520
+#: flatcamEditors/FlatCAMExcEditor.py:681
+#: flatcamEditors/FlatCAMGrbEditor.py:519
msgid "The value is mistyped. Check the value."
msgstr "El valor está mal escrito. Compruebe el valor."
-#: flatcamEditors/FlatCAMExcEditor.py:861
+#: flatcamEditors/FlatCAMExcEditor.py:860
msgid "Too many Slots for the selected spacing angle."
msgstr "Demasiadas ranuras para el ángulo de separación seleccionado."
-#: flatcamEditors/FlatCAMExcEditor.py:884
+#: flatcamEditors/FlatCAMExcEditor.py:883
msgid "Done. Slot Array added."
msgstr "Hecho. Matriz de ranuras agregada."
-#: flatcamEditors/FlatCAMExcEditor.py:906
+#: flatcamEditors/FlatCAMExcEditor.py:905
msgid "Click on the Drill(s) to resize ..."
msgstr "Haga clic en el taladro(s) para cambiar el tamaño ..."
-#: flatcamEditors/FlatCAMExcEditor.py:936
+#: flatcamEditors/FlatCAMExcEditor.py:935
msgid "Resize drill(s) failed. Please enter a diameter for resize."
msgstr ""
"Falló el tamaño de los taladros. Por favor, introduzca un diámetro para "
"cambiar el tamaño."
-#: flatcamEditors/FlatCAMExcEditor.py:1026
-#: flatcamEditors/FlatCAMExcEditor.py:1095 flatcamGUI/FlatCAMGUI.py:3165
-#: flatcamGUI/FlatCAMGUI.py:3377 flatcamGUI/FlatCAMGUI.py:3591
-msgid "Cancelled."
-msgstr "Cancelado."
-
-#: flatcamEditors/FlatCAMExcEditor.py:1116
+#: flatcamEditors/FlatCAMExcEditor.py:1113
msgid "Done. Drill/Slot Resize completed."
msgstr "Hecho. Tamaño de taladro / ranura completado."
-#: flatcamEditors/FlatCAMExcEditor.py:1119
+#: flatcamEditors/FlatCAMExcEditor.py:1116
msgid "Cancelled. No drills/slots selected for resize ..."
msgstr ""
"Cancelado. No hay taladros / ranuras seleccionados para cambiar el tamaño ..."
-#: flatcamEditors/FlatCAMExcEditor.py:1157
-#: flatcamEditors/FlatCAMGrbEditor.py:1938
+#: flatcamEditors/FlatCAMExcEditor.py:1154
+#: flatcamEditors/FlatCAMGrbEditor.py:1937
msgid "Click on reference location ..."
msgstr "Haga clic en la ubicación de referencia ..."
-#: flatcamEditors/FlatCAMExcEditor.py:1214
+#: flatcamEditors/FlatCAMExcEditor.py:1211
msgid "Done. Drill(s) Move completed."
msgstr "Hecho. Taladro (s) Movimiento completado."
-#: flatcamEditors/FlatCAMExcEditor.py:1322
+#: flatcamEditors/FlatCAMExcEditor.py:1319
msgid "Done. Drill(s) copied."
msgstr "Hecho. Taladro (s) copiado."
-#: flatcamEditors/FlatCAMExcEditor.py:1555 flatcamGUI/PreferencesUI.py:3551
+#: flatcamEditors/FlatCAMExcEditor.py:1558 flatcamGUI/PreferencesUI.py:3829
msgid "Excellon Editor"
msgstr "Excellon Editor"
-#: flatcamEditors/FlatCAMExcEditor.py:1562
-#: flatcamEditors/FlatCAMGrbEditor.py:2454
+#: flatcamEditors/FlatCAMExcEditor.py:1565
+#: flatcamEditors/FlatCAMGrbEditor.py:2460
msgid "Name:"
msgstr "Nombre:"
-#: flatcamEditors/FlatCAMExcEditor.py:1568 flatcamGUI/ObjectUI.py:757
-#: flatcamGUI/ObjectUI.py:1184 flatcamTools/ToolNonCopperClear.py:109
-#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:73
+#: flatcamEditors/FlatCAMExcEditor.py:1571 flatcamGUI/ObjectUI.py:760
+#: flatcamGUI/ObjectUI.py:1463 flatcamTools/ToolNCC.py:120
+#: flatcamTools/ToolPaint.py:115 flatcamTools/ToolSolderPaste.py:75
msgid "Tools Table"
msgstr "Tabla de herramientas"
-#: flatcamEditors/FlatCAMExcEditor.py:1570 flatcamGUI/ObjectUI.py:759
+#: flatcamEditors/FlatCAMExcEditor.py:1573 flatcamGUI/ObjectUI.py:762
msgid ""
"Tools in this Excellon object\n"
"when are used for drilling."
@@ -3161,11 +3550,11 @@ msgstr ""
"Herramientas en este objeto Excellon.\n"
"Cuando se utilizan para la perforación."
-#: flatcamEditors/FlatCAMExcEditor.py:1590
+#: flatcamEditors/FlatCAMExcEditor.py:1593
msgid "Add/Delete Tool"
msgstr "Añadir / Eliminar herramienta"
-#: flatcamEditors/FlatCAMExcEditor.py:1592
+#: flatcamEditors/FlatCAMExcEditor.py:1595
msgid ""
"Add/Delete a tool to the tool list\n"
"for this Excellon object."
@@ -3173,16 +3562,16 @@ msgstr ""
"Agregar / Eliminar una herramienta a la lista de herramientas\n"
"para este objeto Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:1604 flatcamGUI/ObjectUI.py:1297
-#: flatcamGUI/PreferencesUI.py:3582
+#: flatcamEditors/FlatCAMExcEditor.py:1607 flatcamGUI/ObjectUI.py:1583
+#: flatcamGUI/PreferencesUI.py:3860
msgid "Diameter for the new tool"
msgstr "Diámetro para la nueva herramienta"
-#: flatcamEditors/FlatCAMExcEditor.py:1614
+#: flatcamEditors/FlatCAMExcEditor.py:1617
msgid "Add Tool"
msgstr "Añadir herramienta"
-#: flatcamEditors/FlatCAMExcEditor.py:1616
+#: flatcamEditors/FlatCAMExcEditor.py:1619
msgid ""
"Add a new tool to the tool list\n"
"with the diameter specified above."
@@ -3190,11 +3579,11 @@ msgstr ""
"Agregar una nueva herramienta a la lista de herramientas\n"
"con el diámetro especificado anteriormente."
-#: flatcamEditors/FlatCAMExcEditor.py:1628
+#: flatcamEditors/FlatCAMExcEditor.py:1631
msgid "Delete Tool"
msgstr "Eliminar herramienta"
-#: flatcamEditors/FlatCAMExcEditor.py:1630
+#: flatcamEditors/FlatCAMExcEditor.py:1633
msgid ""
"Delete a tool in the tool list\n"
"by selecting a row in the tool table."
@@ -3202,40 +3591,40 @@ msgstr ""
"Eliminar una herramienta en la lista de herramientas\n"
"seleccionando una fila en la tabla de herramientas."
-#: flatcamEditors/FlatCAMExcEditor.py:1648 flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamEditors/FlatCAMExcEditor.py:1651 flatcamGUI/FlatCAMGUI.py:2004
msgid "Resize Drill(s)"
msgstr "Cambiar el tamaño de taladro (s)"
-#: flatcamEditors/FlatCAMExcEditor.py:1650
+#: flatcamEditors/FlatCAMExcEditor.py:1653
msgid "Resize a drill or a selection of drills."
msgstr "Cambiar el tamaño de un ejercicio o una selección de ejercicios."
-#: flatcamEditors/FlatCAMExcEditor.py:1657
+#: flatcamEditors/FlatCAMExcEditor.py:1660
msgid "Resize Dia"
msgstr "Cambiar el diá"
-#: flatcamEditors/FlatCAMExcEditor.py:1659
+#: flatcamEditors/FlatCAMExcEditor.py:1662
msgid "Diameter to resize to."
msgstr "Diámetro para redimensionar a."
-#: flatcamEditors/FlatCAMExcEditor.py:1670
+#: flatcamEditors/FlatCAMExcEditor.py:1673
msgid "Resize"
msgstr "Redimensionar"
-#: flatcamEditors/FlatCAMExcEditor.py:1672
+#: flatcamEditors/FlatCAMExcEditor.py:1675
msgid "Resize drill(s)"
msgstr "Cambiar el tamaño de taladro"
-#: flatcamEditors/FlatCAMExcEditor.py:1697 flatcamGUI/FlatCAMGUI.py:1895
-#: flatcamGUI/FlatCAMGUI.py:2147
+#: flatcamEditors/FlatCAMExcEditor.py:1700 flatcamGUI/FlatCAMGUI.py:2003
+#: flatcamGUI/FlatCAMGUI.py:2255
msgid "Add Drill Array"
msgstr "Añadir Drill Array"
-#: flatcamEditors/FlatCAMExcEditor.py:1699
+#: flatcamEditors/FlatCAMExcEditor.py:1702
msgid "Add an array of drills (linear or circular array)"
msgstr "Agregar una matriz de taladros (lineal o circular)"
-#: flatcamEditors/FlatCAMExcEditor.py:1705
+#: flatcamEditors/FlatCAMExcEditor.py:1708
msgid ""
"Select the type of drills array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -3243,43 +3632,48 @@ msgstr ""
"Seleccione el tipo de matriz de ejercicios para crear.\n"
"Puede ser lineal X (Y) o circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1708
-#: flatcamEditors/FlatCAMExcEditor.py:1922
-#: flatcamEditors/FlatCAMGrbEditor.py:2766
+#: flatcamEditors/FlatCAMExcEditor.py:1711
+#: flatcamEditors/FlatCAMExcEditor.py:1925
+#: flatcamEditors/FlatCAMGrbEditor.py:2772
msgid "Linear"
msgstr "Lineal"
-#: flatcamEditors/FlatCAMExcEditor.py:1709
-#: flatcamEditors/FlatCAMExcEditor.py:1923
-#: flatcamEditors/FlatCAMGrbEditor.py:2767 flatcamGUI/ObjectUI.py:311
-#: flatcamGUI/PreferencesUI.py:5044 flatcamGUI/PreferencesUI.py:7465
-#: flatcamTools/ToolFiducials.py:220 flatcamTools/ToolNonCopperClear.py:221
+#: flatcamEditors/FlatCAMExcEditor.py:1712
+#: flatcamEditors/FlatCAMExcEditor.py:1926
+#: flatcamEditors/FlatCAMGrbEditor.py:2773 flatcamGUI/ObjectUI.py:315
+#: flatcamGUI/PreferencesUI.py:5340 flatcamGUI/PreferencesUI.py:5909
+#: flatcamGUI/PreferencesUI.py:7971 flatcamGUI/PreferencesUI.py:8151
+#: flatcamGUI/PreferencesUI.py:8248 flatcamGUI/PreferencesUI.py:8363
+#: flatcamGUI/PreferencesUI.py:8462 flatcamTools/ToolExtractDrills.py:78
+#: flatcamTools/ToolExtractDrills.py:201 flatcamTools/ToolFiducials.py:220
+#: flatcamTools/ToolNCC.py:221 flatcamTools/ToolPaint.py:204
+#: flatcamTools/ToolPunchGerber.py:89 flatcamTools/ToolPunchGerber.py:229
msgid "Circular"
msgstr "Circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1717 flatcamGUI/PreferencesUI.py:3593
+#: flatcamEditors/FlatCAMExcEditor.py:1720 flatcamGUI/PreferencesUI.py:3871
msgid "Nr of drills"
msgstr "Nu. de ejercicios"
-#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/PreferencesUI.py:3595
+#: flatcamEditors/FlatCAMExcEditor.py:1721 flatcamGUI/PreferencesUI.py:3873
msgid "Specify how many drills to be in the array."
msgstr "Especifique cuántos ejercicios debe estar en la matriz."
-#: flatcamEditors/FlatCAMExcEditor.py:1736
-#: flatcamEditors/FlatCAMExcEditor.py:1786
-#: flatcamEditors/FlatCAMExcEditor.py:1858
-#: flatcamEditors/FlatCAMExcEditor.py:1951
-#: flatcamEditors/FlatCAMExcEditor.py:2002
-#: flatcamEditors/FlatCAMGrbEditor.py:1572
-#: flatcamEditors/FlatCAMGrbEditor.py:2795
-#: flatcamEditors/FlatCAMGrbEditor.py:2844 flatcamGUI/PreferencesUI.py:3703
+#: flatcamEditors/FlatCAMExcEditor.py:1739
+#: flatcamEditors/FlatCAMExcEditor.py:1789
+#: flatcamEditors/FlatCAMExcEditor.py:1861
+#: flatcamEditors/FlatCAMExcEditor.py:1954
+#: flatcamEditors/FlatCAMExcEditor.py:2005
+#: flatcamEditors/FlatCAMGrbEditor.py:1571
+#: flatcamEditors/FlatCAMGrbEditor.py:2801
+#: flatcamEditors/FlatCAMGrbEditor.py:2850 flatcamGUI/PreferencesUI.py:3981
msgid "Direction"
msgstr "Dirección"
-#: flatcamEditors/FlatCAMExcEditor.py:1738
-#: flatcamEditors/FlatCAMExcEditor.py:1953
-#: flatcamEditors/FlatCAMGrbEditor.py:2797 flatcamGUI/PreferencesUI.py:2536
-#: flatcamGUI/PreferencesUI.py:3611 flatcamGUI/PreferencesUI.py:3759
+#: flatcamEditors/FlatCAMExcEditor.py:1741
+#: flatcamEditors/FlatCAMExcEditor.py:1956
+#: flatcamEditors/FlatCAMGrbEditor.py:2803 flatcamGUI/PreferencesUI.py:2718
+#: flatcamGUI/PreferencesUI.py:3889 flatcamGUI/PreferencesUI.py:4037
msgid ""
"Direction on which the linear array is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -3291,62 +3685,62 @@ msgstr ""
"- 'Y' - eje vertical o\n"
"- 'Ángulo': un ángulo personalizado para la inclinación de la matriz"
-#: flatcamEditors/FlatCAMExcEditor.py:1745
-#: flatcamEditors/FlatCAMExcEditor.py:1867
-#: flatcamEditors/FlatCAMExcEditor.py:1960
-#: flatcamEditors/FlatCAMGrbEditor.py:2804 flatcamGUI/PreferencesUI.py:2542
-#: flatcamGUI/PreferencesUI.py:3617 flatcamGUI/PreferencesUI.py:3712
-#: flatcamGUI/PreferencesUI.py:3765 flatcamGUI/PreferencesUI.py:5853
+#: flatcamEditors/FlatCAMExcEditor.py:1748
+#: flatcamEditors/FlatCAMExcEditor.py:1870
+#: flatcamEditors/FlatCAMExcEditor.py:1963
+#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2724
+#: flatcamGUI/PreferencesUI.py:3895 flatcamGUI/PreferencesUI.py:3990
+#: flatcamGUI/PreferencesUI.py:4043 flatcamGUI/PreferencesUI.py:6341
#: flatcamTools/ToolFilm.py:256
msgid "X"
msgstr "X"
-#: flatcamEditors/FlatCAMExcEditor.py:1746
-#: flatcamEditors/FlatCAMExcEditor.py:1868
-#: flatcamEditors/FlatCAMExcEditor.py:1961
-#: flatcamEditors/FlatCAMGrbEditor.py:2805 flatcamGUI/PreferencesUI.py:2543
-#: flatcamGUI/PreferencesUI.py:3618 flatcamGUI/PreferencesUI.py:3713
-#: flatcamGUI/PreferencesUI.py:3766 flatcamGUI/PreferencesUI.py:5854
+#: flatcamEditors/FlatCAMExcEditor.py:1749
+#: flatcamEditors/FlatCAMExcEditor.py:1871
+#: flatcamEditors/FlatCAMExcEditor.py:1964
+#: flatcamEditors/FlatCAMGrbEditor.py:2811 flatcamGUI/PreferencesUI.py:2725
+#: flatcamGUI/PreferencesUI.py:3896 flatcamGUI/PreferencesUI.py:3991
+#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:6342
#: flatcamTools/ToolFilm.py:257
msgid "Y"
msgstr "Y"
-#: flatcamEditors/FlatCAMExcEditor.py:1747
-#: flatcamEditors/FlatCAMExcEditor.py:1764
-#: flatcamEditors/FlatCAMExcEditor.py:1798
-#: flatcamEditors/FlatCAMExcEditor.py:1869
-#: flatcamEditors/FlatCAMExcEditor.py:1873
-#: flatcamEditors/FlatCAMExcEditor.py:1962
-#: flatcamEditors/FlatCAMExcEditor.py:1980
-#: flatcamEditors/FlatCAMExcEditor.py:2014
-#: flatcamEditors/FlatCAMGrbEditor.py:2806
-#: flatcamEditors/FlatCAMGrbEditor.py:2823
-#: flatcamEditors/FlatCAMGrbEditor.py:2859 flatcamGUI/PreferencesUI.py:2544
-#: flatcamGUI/PreferencesUI.py:2562 flatcamGUI/PreferencesUI.py:3619
-#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:3714
-#: flatcamGUI/PreferencesUI.py:3719 flatcamGUI/PreferencesUI.py:3767
-#: flatcamGUI/PreferencesUI.py:3788 flatcamGUI/PreferencesUI.py:6246
-#: flatcamTools/ToolDistance.py:66 flatcamTools/ToolDistanceMin.py:68
-#: flatcamTools/ToolTransform.py:63
+#: flatcamEditors/FlatCAMExcEditor.py:1750
+#: flatcamEditors/FlatCAMExcEditor.py:1767
+#: flatcamEditors/FlatCAMExcEditor.py:1801
+#: flatcamEditors/FlatCAMExcEditor.py:1872
+#: flatcamEditors/FlatCAMExcEditor.py:1876
+#: flatcamEditors/FlatCAMExcEditor.py:1965
+#: flatcamEditors/FlatCAMExcEditor.py:1983
+#: flatcamEditors/FlatCAMExcEditor.py:2017
+#: flatcamEditors/FlatCAMGrbEditor.py:2812
+#: flatcamEditors/FlatCAMGrbEditor.py:2829
+#: flatcamEditors/FlatCAMGrbEditor.py:2865 flatcamGUI/PreferencesUI.py:2726
+#: flatcamGUI/PreferencesUI.py:2744 flatcamGUI/PreferencesUI.py:3897
+#: flatcamGUI/PreferencesUI.py:3916 flatcamGUI/PreferencesUI.py:3992
+#: flatcamGUI/PreferencesUI.py:3997 flatcamGUI/PreferencesUI.py:4045
+#: flatcamGUI/PreferencesUI.py:4066 flatcamGUI/PreferencesUI.py:6733
+#: flatcamTools/ToolDistance.py:120 flatcamTools/ToolDistanceMin.py:69
+#: flatcamTools/ToolTransform.py:61
msgid "Angle"
msgstr "Ángulo"
-#: flatcamEditors/FlatCAMExcEditor.py:1751
-#: flatcamEditors/FlatCAMExcEditor.py:1966
-#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2550
-#: flatcamGUI/PreferencesUI.py:3625 flatcamGUI/PreferencesUI.py:3773
+#: flatcamEditors/FlatCAMExcEditor.py:1754
+#: flatcamEditors/FlatCAMExcEditor.py:1969
+#: flatcamEditors/FlatCAMGrbEditor.py:2816 flatcamGUI/PreferencesUI.py:2732
+#: flatcamGUI/PreferencesUI.py:3903 flatcamGUI/PreferencesUI.py:4051
msgid "Pitch"
msgstr "Paso"
-#: flatcamEditors/FlatCAMExcEditor.py:1753
-#: flatcamEditors/FlatCAMExcEditor.py:1968
-#: flatcamEditors/FlatCAMGrbEditor.py:2812 flatcamGUI/PreferencesUI.py:2552
-#: flatcamGUI/PreferencesUI.py:3627 flatcamGUI/PreferencesUI.py:3775
+#: flatcamEditors/FlatCAMExcEditor.py:1756
+#: flatcamEditors/FlatCAMExcEditor.py:1971
+#: flatcamEditors/FlatCAMGrbEditor.py:2818 flatcamGUI/PreferencesUI.py:2734
+#: flatcamGUI/PreferencesUI.py:3905 flatcamGUI/PreferencesUI.py:4053
msgid "Pitch = Distance between elements of the array."
msgstr "Paso = Distancia entre elementos de la matriz."
-#: flatcamEditors/FlatCAMExcEditor.py:1766
-#: flatcamEditors/FlatCAMExcEditor.py:1982
+#: flatcamEditors/FlatCAMExcEditor.py:1769
+#: flatcamEditors/FlatCAMExcEditor.py:1985
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -3358,9 +3752,9 @@ msgstr ""
"El valor mínimo es: -360 grados.\n"
"El valor máximo es: 360.00 grados."
-#: flatcamEditors/FlatCAMExcEditor.py:1787
-#: flatcamEditors/FlatCAMExcEditor.py:2003
-#: flatcamEditors/FlatCAMGrbEditor.py:2846
+#: flatcamEditors/FlatCAMExcEditor.py:1790
+#: flatcamEditors/FlatCAMExcEditor.py:2006
+#: flatcamEditors/FlatCAMGrbEditor.py:2852
msgid ""
"Direction for circular array.Can be CW = clockwise or CCW = counter "
"clockwise."
@@ -3368,36 +3762,36 @@ msgstr ""
"Dirección de la matriz circular. Puede ser CW = en sentido horario o CCW = "
"en sentido antihorario."
-#: flatcamEditors/FlatCAMExcEditor.py:1794
-#: flatcamEditors/FlatCAMExcEditor.py:2010
-#: flatcamEditors/FlatCAMGrbEditor.py:2854 flatcamGUI/PreferencesUI.py:2584
-#: flatcamGUI/PreferencesUI.py:3368 flatcamGUI/PreferencesUI.py:3661
-#: flatcamGUI/PreferencesUI.py:3811 flatcamGUI/PreferencesUI.py:4288
+#: flatcamEditors/FlatCAMExcEditor.py:1797
+#: flatcamEditors/FlatCAMExcEditor.py:2013
+#: flatcamEditors/FlatCAMGrbEditor.py:2860 flatcamGUI/PreferencesUI.py:2766
+#: flatcamGUI/PreferencesUI.py:3646 flatcamGUI/PreferencesUI.py:3939
+#: flatcamGUI/PreferencesUI.py:4089 flatcamGUI/PreferencesUI.py:4581
msgid "CW"
msgstr "CW"
-#: flatcamEditors/FlatCAMExcEditor.py:1795
-#: flatcamEditors/FlatCAMExcEditor.py:2011
-#: flatcamEditors/FlatCAMGrbEditor.py:2855 flatcamGUI/PreferencesUI.py:2585
-#: flatcamGUI/PreferencesUI.py:3369 flatcamGUI/PreferencesUI.py:3662
-#: flatcamGUI/PreferencesUI.py:3812 flatcamGUI/PreferencesUI.py:4289
+#: flatcamEditors/FlatCAMExcEditor.py:1798
+#: flatcamEditors/FlatCAMExcEditor.py:2014
+#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2767
+#: flatcamGUI/PreferencesUI.py:3647 flatcamGUI/PreferencesUI.py:3940
+#: flatcamGUI/PreferencesUI.py:4090 flatcamGUI/PreferencesUI.py:4582
msgid "CCW"
msgstr "CCW"
-#: flatcamEditors/FlatCAMExcEditor.py:1799
-#: flatcamEditors/FlatCAMExcEditor.py:2015
-#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2564
-#: flatcamGUI/PreferencesUI.py:2593 flatcamGUI/PreferencesUI.py:3640
-#: flatcamGUI/PreferencesUI.py:3670 flatcamGUI/PreferencesUI.py:3790
-#: flatcamGUI/PreferencesUI.py:3820
+#: flatcamEditors/FlatCAMExcEditor.py:1802
+#: flatcamEditors/FlatCAMExcEditor.py:2018
+#: flatcamEditors/FlatCAMGrbEditor.py:2867 flatcamGUI/PreferencesUI.py:2746
+#: flatcamGUI/PreferencesUI.py:2775 flatcamGUI/PreferencesUI.py:3918
+#: flatcamGUI/PreferencesUI.py:3948 flatcamGUI/PreferencesUI.py:4068
+#: flatcamGUI/PreferencesUI.py:4098
msgid "Angle at which each element in circular array is placed."
msgstr "Ángulo en el que se coloca cada elemento de la matriz circular."
-#: flatcamEditors/FlatCAMExcEditor.py:1833
+#: flatcamEditors/FlatCAMExcEditor.py:1836
msgid "Slot Parameters"
msgstr "Parámetros de ranura"
-#: flatcamEditors/FlatCAMExcEditor.py:1835
+#: flatcamEditors/FlatCAMExcEditor.py:1838
msgid ""
"Parameters for adding a slot (hole with oval shape)\n"
"either single or as an part of an array."
@@ -3405,16 +3799,16 @@ msgstr ""
"Parámetros para agregar una ranura (agujero con forma ovalada)\n"
"ya sea solo o como parte de una matriz."
-#: flatcamEditors/FlatCAMExcEditor.py:1844 flatcamGUI/PreferencesUI.py:3687
-#: flatcamTools/ToolProperties.py:555
+#: flatcamEditors/FlatCAMExcEditor.py:1847 flatcamGUI/PreferencesUI.py:3965
+#: flatcamTools/ToolProperties.py:559
msgid "Length"
msgstr "Longitud"
-#: flatcamEditors/FlatCAMExcEditor.py:1846 flatcamGUI/PreferencesUI.py:3689
+#: flatcamEditors/FlatCAMExcEditor.py:1849 flatcamGUI/PreferencesUI.py:3967
msgid "Length = The length of the slot."
msgstr "Longitud = La longitud de la ranura."
-#: flatcamEditors/FlatCAMExcEditor.py:1860 flatcamGUI/PreferencesUI.py:3705
+#: flatcamEditors/FlatCAMExcEditor.py:1863 flatcamGUI/PreferencesUI.py:3983
msgid ""
"Direction on which the slot is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -3426,7 +3820,7 @@ msgstr ""
"- 'Y' - eje vertical o\n"
"- 'Ángulo': un ángulo personalizado para la inclinación de la ranura"
-#: flatcamEditors/FlatCAMExcEditor.py:1875
+#: flatcamEditors/FlatCAMExcEditor.py:1878
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -3438,15 +3832,15 @@ msgstr ""
"El valor mínimo es: -360 grados.\n"
"El valor máximo es: 360.00 grados."
-#: flatcamEditors/FlatCAMExcEditor.py:1908
+#: flatcamEditors/FlatCAMExcEditor.py:1911
msgid "Slot Array Parameters"
msgstr "Parámetros de matriz de ranuras"
-#: flatcamEditors/FlatCAMExcEditor.py:1910
+#: flatcamEditors/FlatCAMExcEditor.py:1913
msgid "Parameters for the array of slots (linear or circular array)"
msgstr "Parámetros para la matriz de ranuras (matriz lineal o circular)"
-#: flatcamEditors/FlatCAMExcEditor.py:1919
+#: flatcamEditors/FlatCAMExcEditor.py:1922
msgid ""
"Select the type of slot array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -3454,15 +3848,15 @@ msgstr ""
"Seleccione el tipo de matriz de ranuras para crear.\n"
"Puede ser lineal X (Y) o circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1931 flatcamGUI/PreferencesUI.py:3744
+#: flatcamEditors/FlatCAMExcEditor.py:1934 flatcamGUI/PreferencesUI.py:4022
msgid "Nr of slots"
msgstr "Nro. De ranuras"
-#: flatcamEditors/FlatCAMExcEditor.py:1932 flatcamGUI/PreferencesUI.py:3746
+#: flatcamEditors/FlatCAMExcEditor.py:1935 flatcamGUI/PreferencesUI.py:4024
msgid "Specify how many slots to be in the array."
msgstr "Especifique cuántas ranuras debe haber en la matriz."
-#: flatcamEditors/FlatCAMExcEditor.py:2546
+#: flatcamEditors/FlatCAMExcEditor.py:2571
msgid ""
"Tool already in the original or actual tool list.\n"
"Save and reedit Excellon if you need to add this tool. "
@@ -3470,51 +3864,51 @@ msgstr ""
"Herramienta ya en la lista de herramientas original o real.\n"
"Guarde y reedite Excellon si necesita agregar esta herramienta. "
-#: flatcamEditors/FlatCAMExcEditor.py:2555 flatcamGUI/FlatCAMGUI.py:3792
+#: flatcamEditors/FlatCAMExcEditor.py:2580 flatcamGUI/FlatCAMGUI.py:4009
msgid "Added new tool with dia"
msgstr "Nueva herramienta agregada con dia"
-#: flatcamEditors/FlatCAMExcEditor.py:2589
+#: flatcamEditors/FlatCAMExcEditor.py:2613
msgid "Select a tool in Tool Table"
msgstr "Seleccione una herramienta en la tabla de herramientas"
-#: flatcamEditors/FlatCAMExcEditor.py:2622
+#: flatcamEditors/FlatCAMExcEditor.py:2643
msgid "Deleted tool with diameter"
msgstr "Herramienta eliminada con diámetro"
-#: flatcamEditors/FlatCAMExcEditor.py:2772
+#: flatcamEditors/FlatCAMExcEditor.py:2793
msgid "Done. Tool edit completed."
msgstr "Hecho. Edición de herramienta completada."
-#: flatcamEditors/FlatCAMExcEditor.py:3324
+#: flatcamEditors/FlatCAMExcEditor.py:3350
msgid "There are no Tools definitions in the file. Aborting Excellon creation."
msgstr ""
"No hay definiciones de herramientas en el archivo. Anulando la creación de "
"Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:3328
+#: flatcamEditors/FlatCAMExcEditor.py:3354
msgid "An internal error has ocurred. See Shell.\n"
msgstr "Ha ocurrido un error interno. Ver concha.\n"
-#: flatcamEditors/FlatCAMExcEditor.py:3333
+#: flatcamEditors/FlatCAMExcEditor.py:3359
msgid "Creating Excellon."
msgstr "Creación de Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:3347
+#: flatcamEditors/FlatCAMExcEditor.py:3371
msgid "Excellon editing finished."
msgstr "Excelente edición terminada."
-#: flatcamEditors/FlatCAMExcEditor.py:3365
+#: flatcamEditors/FlatCAMExcEditor.py:3388
msgid "Cancelled. There is no Tool/Drill selected"
msgstr "Cancelado. No hay herramienta / taladro seleccionado"
-#: flatcamEditors/FlatCAMExcEditor.py:3978
+#: flatcamEditors/FlatCAMExcEditor.py:4001
msgid "Done. Drill(s) deleted."
msgstr "Hecho. Taladro (s) eliminado (s)."
-#: flatcamEditors/FlatCAMExcEditor.py:4051
-#: flatcamEditors/FlatCAMExcEditor.py:4061
-#: flatcamEditors/FlatCAMGrbEditor.py:4853
+#: flatcamEditors/FlatCAMExcEditor.py:4074
+#: flatcamEditors/FlatCAMExcEditor.py:4084
+#: flatcamEditors/FlatCAMGrbEditor.py:4897
msgid "Click on the circular array Center position"
msgstr "Haga clic en la posición del centro matriz circular"
@@ -3542,18 +3936,24 @@ msgstr ""
"funciones que se encuentran en la esquina"
#: flatcamEditors/FlatCAMGeoEditor.py:95
-#: flatcamEditors/FlatCAMGrbEditor.py:2622
+#: flatcamEditors/FlatCAMGrbEditor.py:2628
msgid "Round"
msgstr "Redondo"
#: flatcamEditors/FlatCAMGeoEditor.py:96
-#: flatcamEditors/FlatCAMGrbEditor.py:2623 flatcamGUI/PreferencesUI.py:7058
+#: flatcamEditors/FlatCAMGrbEditor.py:2629 flatcamGUI/PreferencesUI.py:5606
+#: flatcamGUI/PreferencesUI.py:6130 flatcamGUI/PreferencesUI.py:7564
+#: flatcamGUI/PreferencesUI.py:8167 flatcamGUI/PreferencesUI.py:8274
+#: flatcamGUI/PreferencesUI.py:8379 flatcamGUI/PreferencesUI.py:8488
+#: flatcamTools/ToolExtractDrills.py:94 flatcamTools/ToolExtractDrills.py:227
+#: flatcamTools/ToolNCC.py:583 flatcamTools/ToolPaint.py:527
+#: flatcamTools/ToolPunchGerber.py:105 flatcamTools/ToolPunchGerber.py:255
#: flatcamTools/ToolQRCode.py:198
msgid "Square"
msgstr "Cuadrado"
#: flatcamEditors/FlatCAMGeoEditor.py:97
-#: flatcamEditors/FlatCAMGrbEditor.py:2624
+#: flatcamEditors/FlatCAMGrbEditor.py:2630
msgid "Beveled"
msgstr "Biselado"
@@ -3570,18 +3970,18 @@ msgid "Full Buffer"
msgstr "Buffer lleno"
#: flatcamEditors/FlatCAMGeoEditor.py:133
-#: flatcamEditors/FlatCAMGeoEditor.py:2885 flatcamGUI/FlatCAMGUI.py:1805
-#: flatcamGUI/PreferencesUI.py:2604
+#: flatcamEditors/FlatCAMGeoEditor.py:3018 flatcamGUI/FlatCAMGUI.py:1913
+#: flatcamGUI/PreferencesUI.py:2786
msgid "Buffer Tool"
msgstr "Herramienta Buffer"
#: flatcamEditors/FlatCAMGeoEditor.py:145
#: flatcamEditors/FlatCAMGeoEditor.py:162
#: flatcamEditors/FlatCAMGeoEditor.py:179
-#: flatcamEditors/FlatCAMGeoEditor.py:2904
-#: flatcamEditors/FlatCAMGeoEditor.py:2934
-#: flatcamEditors/FlatCAMGeoEditor.py:2964
-#: flatcamEditors/FlatCAMGrbEditor.py:4906
+#: flatcamEditors/FlatCAMGeoEditor.py:3037
+#: flatcamEditors/FlatCAMGeoEditor.py:3065
+#: flatcamEditors/FlatCAMGeoEditor.py:3093
+#: flatcamEditors/FlatCAMGrbEditor.py:4950
msgid "Buffer distance value is missing or wrong format. Add it and retry."
msgstr ""
"Falta el valor de la distancia del búfer o el formato es incorrecto. "
@@ -3591,7 +3991,7 @@ msgstr ""
msgid "Font"
msgstr "Font"
-#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2085
+#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2193
msgid "Text"
msgstr "Texto"
@@ -3599,208 +3999,112 @@ msgstr "Texto"
msgid "Text Tool"
msgstr "Herramienta de texto"
-#: flatcamEditors/FlatCAMGeoEditor.py:442 flatcamGUI/ObjectUI.py:359
-#: flatcamGUI/PreferencesUI.py:2025 flatcamGUI/PreferencesUI.py:3875
-#: flatcamGUI/PreferencesUI.py:5535
+#: flatcamEditors/FlatCAMGeoEditor.py:440 flatcamGUI/ObjectUI.py:363
+#: flatcamGUI/PreferencesUI.py:2205
msgid "Tool dia"
msgstr "Diá. de la herramienta"
-#: flatcamEditors/FlatCAMGeoEditor.py:444 flatcamGUI/PreferencesUI.py:5537
+#: flatcamEditors/FlatCAMGeoEditor.py:442
+msgid "Diameter of the tool to be used in the operation."
+msgstr "Diámetro de la herramienta a utilizar en la operación."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:488
msgid ""
-"Diameter of the tool to\n"
-"be used in the operation."
+"Algorithm to paint the polygons:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
msgstr ""
-"Diámetro de la herramienta para\n"
-"ser utilizado en la operación."
+"Algoritmo para pintar los polígonos:\n"
+"- Estándar: paso fijo hacia adentro.\n"
+"- Basado en semillas: hacia afuera de la semilla.\n"
+"- Basado en líneas: líneas paralelas."
-#: flatcamEditors/FlatCAMGeoEditor.py:455 flatcamGUI/PreferencesUI.py:5152
-#: flatcamGUI/PreferencesUI.py:5567 flatcamTools/ToolNonCopperClear.py:319
-#: flatcamTools/ToolPaint.py:219
-msgid "Overlap Rate"
-msgstr "Tasa de superpos"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:457 flatcamGUI/PreferencesUI.py:5569
-#: flatcamTools/ToolPaint.py:221
-msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be painted are still \n"
-"not painted.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
-msgstr ""
-"Cuánta (fracción) del ancho de la herramienta se superponen con cada pasada "
-"de la herramienta.\n"
-"Ajuste el valor comenzando con valores más bajos\n"
-"y aumentándola si las áreas que deben ser pintadas son todavía\n"
-"no pintado\n"
-"Valores más bajos = procesamiento más rápido, ejecución más rápida en PCB.\n"
-"Valores más altos = procesamiento lento y ejecución lenta en CNC\n"
-"Debido a demasiados caminos."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:475 flatcamGUI/PreferencesUI.py:5171
-#: flatcamGUI/PreferencesUI.py:5384 flatcamGUI/PreferencesUI.py:5587
-#: flatcamGUI/PreferencesUI.py:7175 flatcamGUI/PreferencesUI.py:7332
-#: flatcamGUI/PreferencesUI.py:7417 flatcamTools/ToolCopperThieving.py:111
-#: flatcamTools/ToolCopperThieving.py:361 flatcamTools/ToolCutOut.py:184
-#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolNonCopperClear.py:337
-#: flatcamTools/ToolPaint.py:238
-msgid "Margin"
-msgstr "Margen"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:5589
-#: flatcamTools/ToolPaint.py:240
-msgid ""
-"Distance by which to avoid\n"
-"the edges of the polygon to\n"
-"be painted."
-msgstr ""
-"Distancia por la cual evitar\n"
-"los bordes del polígono a\n"
-"ser pintado."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/PreferencesUI.py:5184
-#: flatcamGUI/PreferencesUI.py:5602 flatcamTools/ToolNonCopperClear.py:348
-#: flatcamTools/ToolPaint.py:251
-msgid "Method"
-msgstr "Método"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:491
-msgid ""
-"Algorithm to paint the polygon:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed."
-msgstr ""
-"Algoritmo para pintar el polígono:
Estándar : Paso fijo hacia "
-"adentro.
Basado en semillas : Hacia afuera desde las semillas."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/PreferencesUI.py:5193
-#: flatcamGUI/PreferencesUI.py:5611 flatcamTools/ToolNonCopperClear.py:357
-#: flatcamTools/ToolPaint.py:260
-msgid "Standard"
-msgstr "Estándar"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:497 flatcamGUI/PreferencesUI.py:5194
-#: flatcamGUI/PreferencesUI.py:5612 flatcamTools/ToolNonCopperClear.py:358
-#: flatcamTools/ToolPaint.py:261
-msgid "Seed-based"
-msgstr "Semillas"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/PreferencesUI.py:5195
-#: flatcamGUI/PreferencesUI.py:5613 flatcamTools/ToolNonCopperClear.py:359
-#: flatcamTools/ToolPaint.py:262
-msgid "Straight lines"
-msgstr "Lineas rectas"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:505
+#: flatcamEditors/FlatCAMGeoEditor.py:507
msgid "Connect:"
msgstr "Conectar:"
-#: flatcamEditors/FlatCAMGeoEditor.py:507 flatcamGUI/PreferencesUI.py:5204
-#: flatcamGUI/PreferencesUI.py:5620 flatcamTools/ToolNonCopperClear.py:366
-#: flatcamTools/ToolPaint.py:269
-msgid ""
-"Draw lines between resulting\n"
-"segments to minimize tool lifts."
-msgstr ""
-"Dibuja líneas entre el resultado\n"
-"Segmentos para minimizar elevaciones de herramientas."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:515
+#: flatcamEditors/FlatCAMGeoEditor.py:517
msgid "Contour:"
msgstr "Contorno:"
-#: flatcamEditors/FlatCAMGeoEditor.py:517 flatcamGUI/PreferencesUI.py:5213
-#: flatcamGUI/PreferencesUI.py:5628 flatcamTools/ToolNonCopperClear.py:373
-#: flatcamTools/ToolPaint.py:276
-msgid ""
-"Cut around the perimeter of the polygon\n"
-"to trim rough edges."
-msgstr ""
-"Corta todo el perímetro del polígono.\n"
-"Para recortar los bordes ásperos."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:2089
+#: flatcamEditors/FlatCAMGeoEditor.py:530 flatcamGUI/FlatCAMGUI.py:2197
msgid "Paint"
msgstr "Pintar"
-#: flatcamEditors/FlatCAMGeoEditor.py:547 flatcamGUI/FlatCAMGUI.py:845
-#: flatcamGUI/FlatCAMGUI.py:2423 flatcamGUI/ObjectUI.py:1731
-#: flatcamTools/ToolPaint.py:41 flatcamTools/ToolPaint.py:533
+#: flatcamEditors/FlatCAMGeoEditor.py:548 flatcamGUI/FlatCAMGUI.py:909
+#: flatcamGUI/FlatCAMGUI.py:2588 flatcamGUI/ObjectUI.py:2057
+#: flatcamTools/ToolPaint.py:43 flatcamTools/ToolPaint.py:738
msgid "Paint Tool"
msgstr "Herramienta de pintura"
#: flatcamEditors/FlatCAMGeoEditor.py:584
-msgid "Paint cancelled. No shape selected."
-msgstr "Pintura cancelada. Ninguna forma seleccionada."
+#: flatcamEditors/FlatCAMGeoEditor.py:1056
+#: flatcamEditors/FlatCAMGeoEditor.py:3025
+#: flatcamEditors/FlatCAMGeoEditor.py:3053
+#: flatcamEditors/FlatCAMGeoEditor.py:3081
+#: flatcamEditors/FlatCAMGeoEditor.py:4502
+#: flatcamEditors/FlatCAMGrbEditor.py:5601
+msgid "Cancelled. No shape selected."
+msgstr "Cancelado. Ninguna forma seleccionada."
#: flatcamEditors/FlatCAMGeoEditor.py:597
-#: flatcamEditors/FlatCAMGeoEditor.py:2910
-#: flatcamEditors/FlatCAMGeoEditor.py:2940
-#: flatcamEditors/FlatCAMGeoEditor.py:2970 flatcamGUI/PreferencesUI.py:3871
-#: flatcamTools/ToolProperties.py:120 flatcamTools/ToolProperties.py:158
+#: flatcamEditors/FlatCAMGeoEditor.py:3043
+#: flatcamEditors/FlatCAMGeoEditor.py:3071
+#: flatcamEditors/FlatCAMGeoEditor.py:3099 flatcamGUI/PreferencesUI.py:4149
+#: flatcamTools/ToolProperties.py:117 flatcamTools/ToolProperties.py:162
msgid "Tools"
msgstr "Herramientas"
#: flatcamEditors/FlatCAMGeoEditor.py:608
#: flatcamEditors/FlatCAMGeoEditor.py:992
-#: flatcamEditors/FlatCAMGrbEditor.py:5096
-#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamGUI/FlatCAMGUI.py:866
-#: flatcamGUI/FlatCAMGUI.py:2441 flatcamTools/ToolTransform.py:422
+#: flatcamEditors/FlatCAMGrbEditor.py:5140
+#: flatcamEditors/FlatCAMGrbEditor.py:5537 flatcamGUI/FlatCAMGUI.py:930
+#: flatcamGUI/FlatCAMGUI.py:2609 flatcamTools/ToolTransform.py:461
msgid "Transform Tool"
msgstr "Herramienta de transformación"
#: flatcamEditors/FlatCAMGeoEditor.py:609
#: flatcamEditors/FlatCAMGeoEditor.py:674
-#: flatcamEditors/FlatCAMGrbEditor.py:5097
-#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/PreferencesUI.py:6238
-#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:80
+#: flatcamEditors/FlatCAMGrbEditor.py:5141
+#: flatcamEditors/FlatCAMGrbEditor.py:5206 flatcamGUI/PreferencesUI.py:6725
+#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:467
msgid "Rotate"
msgstr "Girar"
#: flatcamEditors/FlatCAMGeoEditor.py:610
-#: flatcamEditors/FlatCAMGrbEditor.py:5098 flatcamTools/ToolTransform.py:26
+#: flatcamEditors/FlatCAMGrbEditor.py:5142 flatcamTools/ToolTransform.py:26
msgid "Skew/Shear"
msgstr "Sesgo / cizalla"
#: flatcamEditors/FlatCAMGeoEditor.py:611
-#: flatcamEditors/FlatCAMGrbEditor.py:2671
-#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/FlatCAMGUI.py:980
-#: flatcamGUI/FlatCAMGUI.py:2017 flatcamGUI/FlatCAMGUI.py:2132
-#: flatcamGUI/FlatCAMGUI.py:2549 flatcamGUI/ObjectUI.py:103
-#: flatcamGUI/ObjectUI.py:121 flatcamGUI/PreferencesUI.py:6288
-#: flatcamTools/ToolTransform.py:27
+#: flatcamEditors/FlatCAMGrbEditor.py:2677
+#: flatcamEditors/FlatCAMGrbEditor.py:5143 flatcamGUI/FlatCAMGUI.py:1048
+#: flatcamGUI/FlatCAMGUI.py:2125 flatcamGUI/FlatCAMGUI.py:2240
+#: flatcamGUI/FlatCAMGUI.py:2723 flatcamGUI/ObjectUI.py:124
+#: flatcamGUI/PreferencesUI.py:6775 flatcamTools/ToolTransform.py:27
msgid "Scale"
msgstr "Escala"
#: flatcamEditors/FlatCAMGeoEditor.py:612
-#: flatcamEditors/FlatCAMGrbEditor.py:5100 flatcamTools/ToolTransform.py:28
+#: flatcamEditors/FlatCAMGrbEditor.py:5144 flatcamTools/ToolTransform.py:28
msgid "Mirror (Flip)"
msgstr "Espejo (Flip)"
-#: flatcamEditors/FlatCAMGeoEditor.py:613
-#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamGUI/ObjectUI.py:132
-#: flatcamGUI/ObjectUI.py:148 flatcamGUI/ObjectUI.py:1217
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/PreferencesUI.py:5234
-#: flatcamGUI/PreferencesUI.py:6335 flatcamTools/ToolNonCopperClear.py:393
-#: flatcamTools/ToolTransform.py:29
-msgid "Offset"
-msgstr "Compensar"
-
#: flatcamEditors/FlatCAMGeoEditor.py:626
-#: flatcamEditors/FlatCAMGrbEditor.py:5114 flatcamGUI/FlatCAMGUI.py:787
-#: flatcamGUI/FlatCAMGUI.py:2370
+#: flatcamEditors/FlatCAMGrbEditor.py:5158 flatcamGUI/FlatCAMGUI.py:841
+#: flatcamGUI/FlatCAMGUI.py:2524
msgid "Editor"
msgstr "Editor"
#: flatcamEditors/FlatCAMGeoEditor.py:658
-#: flatcamEditors/FlatCAMGrbEditor.py:5146
+#: flatcamEditors/FlatCAMGrbEditor.py:5190
msgid "Angle:"
msgstr "Ángulo:"
#: flatcamEditors/FlatCAMGeoEditor.py:660
-#: flatcamEditors/FlatCAMGrbEditor.py:5148 flatcamGUI/PreferencesUI.py:6248
-#: flatcamTools/ToolTransform.py:65
+#: flatcamEditors/FlatCAMGrbEditor.py:5192 flatcamGUI/PreferencesUI.py:6735
+#: flatcamTools/ToolTransform.py:63
msgid ""
"Angle for Rotation action, in degrees.\n"
"Float number between -360 and 359.\n"
@@ -3813,7 +4117,7 @@ msgstr ""
"Números negativos para movimiento CCW."
#: flatcamEditors/FlatCAMGeoEditor.py:676
-#: flatcamEditors/FlatCAMGrbEditor.py:5164
+#: flatcamEditors/FlatCAMGrbEditor.py:5208
msgid ""
"Rotate the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3824,16 +4128,16 @@ msgstr ""
"El cuadro delimitador para todas las formas seleccionadas."
#: flatcamEditors/FlatCAMGeoEditor.py:699
-#: flatcamEditors/FlatCAMGrbEditor.py:5187
+#: flatcamEditors/FlatCAMGrbEditor.py:5231
msgid "Angle X:"
msgstr "Ángulo X:"
#: flatcamEditors/FlatCAMGeoEditor.py:701
#: flatcamEditors/FlatCAMGeoEditor.py:721
-#: flatcamEditors/FlatCAMGrbEditor.py:5189
-#: flatcamEditors/FlatCAMGrbEditor.py:5209 flatcamGUI/PreferencesUI.py:6267
-#: flatcamGUI/PreferencesUI.py:6281 flatcamTools/ToolCalibration.py:508
-#: flatcamTools/ToolCalibration.py:521
+#: flatcamEditors/FlatCAMGrbEditor.py:5233
+#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamGUI/PreferencesUI.py:6754
+#: flatcamGUI/PreferencesUI.py:6768 flatcamTools/ToolCalibration.py:505
+#: flatcamTools/ToolCalibration.py:518
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 359."
@@ -3842,14 +4146,14 @@ msgstr ""
"Número de flotación entre -360 y 359."
#: flatcamEditors/FlatCAMGeoEditor.py:712
-#: flatcamEditors/FlatCAMGrbEditor.py:5200 flatcamTools/ToolTransform.py:109
+#: flatcamEditors/FlatCAMGrbEditor.py:5244 flatcamTools/ToolTransform.py:468
msgid "Skew X"
msgstr "Sesgo x"
#: flatcamEditors/FlatCAMGeoEditor.py:714
#: flatcamEditors/FlatCAMGeoEditor.py:734
-#: flatcamEditors/FlatCAMGrbEditor.py:5202
-#: flatcamEditors/FlatCAMGrbEditor.py:5222
+#: flatcamEditors/FlatCAMGrbEditor.py:5246
+#: flatcamEditors/FlatCAMGrbEditor.py:5266
msgid ""
"Skew/shear the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3860,34 +4164,34 @@ msgstr ""
"El cuadro delimitador para todas las formas seleccionadas."
#: flatcamEditors/FlatCAMGeoEditor.py:719
-#: flatcamEditors/FlatCAMGrbEditor.py:5207
+#: flatcamEditors/FlatCAMGrbEditor.py:5251
msgid "Angle Y:"
msgstr "Ángulo Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:732
-#: flatcamEditors/FlatCAMGrbEditor.py:5220 flatcamTools/ToolTransform.py:131
+#: flatcamEditors/FlatCAMGrbEditor.py:5264 flatcamTools/ToolTransform.py:469
msgid "Skew Y"
msgstr "Sesgo y"
#: flatcamEditors/FlatCAMGeoEditor.py:760
-#: flatcamEditors/FlatCAMGrbEditor.py:5248
+#: flatcamEditors/FlatCAMGrbEditor.py:5292
msgid "Factor X:"
msgstr "Factor X:"
#: flatcamEditors/FlatCAMGeoEditor.py:762
-#: flatcamEditors/FlatCAMGrbEditor.py:5250 flatcamTools/ToolCalibration.py:472
+#: flatcamEditors/FlatCAMGrbEditor.py:5294 flatcamTools/ToolCalibration.py:469
msgid "Factor for Scale action over X axis."
msgstr "Factor para la acción de escala sobre el eje X."
#: flatcamEditors/FlatCAMGeoEditor.py:772
-#: flatcamEditors/FlatCAMGrbEditor.py:5260 flatcamTools/ToolTransform.py:158
+#: flatcamEditors/FlatCAMGrbEditor.py:5304 flatcamTools/ToolTransform.py:470
msgid "Scale X"
msgstr "Escala x"
#: flatcamEditors/FlatCAMGeoEditor.py:774
#: flatcamEditors/FlatCAMGeoEditor.py:793
-#: flatcamEditors/FlatCAMGrbEditor.py:5262
-#: flatcamEditors/FlatCAMGrbEditor.py:5281
+#: flatcamEditors/FlatCAMGrbEditor.py:5306
+#: flatcamEditors/FlatCAMGrbEditor.py:5325
msgid ""
"Scale the selected shape(s).\n"
"The point of reference depends on \n"
@@ -3898,28 +4202,28 @@ msgstr ""
"El estado de la casilla de verificación Escala de referencia."
#: flatcamEditors/FlatCAMGeoEditor.py:779
-#: flatcamEditors/FlatCAMGrbEditor.py:5267
+#: flatcamEditors/FlatCAMGrbEditor.py:5311
msgid "Factor Y:"
msgstr "Factor Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:781
-#: flatcamEditors/FlatCAMGrbEditor.py:5269 flatcamTools/ToolCalibration.py:484
+#: flatcamEditors/FlatCAMGrbEditor.py:5313 flatcamTools/ToolCalibration.py:481
msgid "Factor for Scale action over Y axis."
msgstr "Factor de acción de escala sobre eje Y."
#: flatcamEditors/FlatCAMGeoEditor.py:791
-#: flatcamEditors/FlatCAMGrbEditor.py:5279 flatcamTools/ToolTransform.py:179
+#: flatcamEditors/FlatCAMGrbEditor.py:5323 flatcamTools/ToolTransform.py:471
msgid "Scale Y"
msgstr "Escala Y"
#: flatcamEditors/FlatCAMGeoEditor.py:800
-#: flatcamEditors/FlatCAMGrbEditor.py:5288 flatcamGUI/PreferencesUI.py:6317
-#: flatcamTools/ToolTransform.py:192
+#: flatcamEditors/FlatCAMGrbEditor.py:5332 flatcamGUI/PreferencesUI.py:6804
+#: flatcamTools/ToolTransform.py:190
msgid "Link"
msgstr "Enlazar"
#: flatcamEditors/FlatCAMGeoEditor.py:802
-#: flatcamEditors/FlatCAMGrbEditor.py:5290
+#: flatcamEditors/FlatCAMGrbEditor.py:5334
msgid ""
"Scale the selected shape(s)\n"
"using the Scale Factor X for both axis."
@@ -3928,13 +4232,13 @@ msgstr ""
"Utilizando el Scale Factor X para ambos ejes."
#: flatcamEditors/FlatCAMGeoEditor.py:808
-#: flatcamEditors/FlatCAMGrbEditor.py:5296 flatcamGUI/PreferencesUI.py:6325
-#: flatcamTools/ToolTransform.py:200
+#: flatcamEditors/FlatCAMGrbEditor.py:5340 flatcamGUI/PreferencesUI.py:6812
+#: flatcamTools/ToolTransform.py:197
msgid "Scale Reference"
msgstr "Referencia de escala"
#: flatcamEditors/FlatCAMGeoEditor.py:810
-#: flatcamEditors/FlatCAMGrbEditor.py:5298
+#: flatcamEditors/FlatCAMGrbEditor.py:5342
msgid ""
"Scale the selected shape(s)\n"
"using the origin reference when checked,\n"
@@ -3947,24 +4251,24 @@ msgstr ""
"de las formas seleccionadas cuando no está marcada."
#: flatcamEditors/FlatCAMGeoEditor.py:838
-#: flatcamEditors/FlatCAMGrbEditor.py:5327
+#: flatcamEditors/FlatCAMGrbEditor.py:5371
msgid "Value X:"
msgstr "Valor X:"
#: flatcamEditors/FlatCAMGeoEditor.py:840
-#: flatcamEditors/FlatCAMGrbEditor.py:5329
+#: flatcamEditors/FlatCAMGrbEditor.py:5373
msgid "Value for Offset action on X axis."
msgstr "Valor para la acción Offset en el eje X."
#: flatcamEditors/FlatCAMGeoEditor.py:850
-#: flatcamEditors/FlatCAMGrbEditor.py:5339 flatcamTools/ToolTransform.py:227
+#: flatcamEditors/FlatCAMGrbEditor.py:5383 flatcamTools/ToolTransform.py:474
msgid "Offset X"
msgstr "Offset X"
#: flatcamEditors/FlatCAMGeoEditor.py:852
#: flatcamEditors/FlatCAMGeoEditor.py:872
-#: flatcamEditors/FlatCAMGrbEditor.py:5341
-#: flatcamEditors/FlatCAMGrbEditor.py:5361
+#: flatcamEditors/FlatCAMGrbEditor.py:5385
+#: flatcamEditors/FlatCAMGrbEditor.py:5405
msgid ""
"Offset the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3975,29 +4279,29 @@ msgstr ""
"El cuadro delimitador para todas las formas seleccionadas.\n"
#: flatcamEditors/FlatCAMGeoEditor.py:858
-#: flatcamEditors/FlatCAMGrbEditor.py:5347
+#: flatcamEditors/FlatCAMGrbEditor.py:5391
msgid "Value Y:"
msgstr "Valor Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:860
-#: flatcamEditors/FlatCAMGrbEditor.py:5349
+#: flatcamEditors/FlatCAMGrbEditor.py:5393
msgid "Value for Offset action on Y axis."
msgstr "Valor para la acción Offset en el eje Y."
#: flatcamEditors/FlatCAMGeoEditor.py:870
-#: flatcamEditors/FlatCAMGrbEditor.py:5359 flatcamTools/ToolTransform.py:248
+#: flatcamEditors/FlatCAMGrbEditor.py:5403 flatcamTools/ToolTransform.py:475
msgid "Offset Y"
msgstr "Offset Y"
#: flatcamEditors/FlatCAMGeoEditor.py:901
-#: flatcamEditors/FlatCAMGrbEditor.py:5390 flatcamTools/ToolTransform.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:5434 flatcamTools/ToolTransform.py:476
msgid "Flip on X"
msgstr "Voltear en X"
#: flatcamEditors/FlatCAMGeoEditor.py:903
#: flatcamEditors/FlatCAMGeoEditor.py:910
-#: flatcamEditors/FlatCAMGrbEditor.py:5392
-#: flatcamEditors/FlatCAMGrbEditor.py:5399
+#: flatcamEditors/FlatCAMGrbEditor.py:5436
+#: flatcamEditors/FlatCAMGrbEditor.py:5443
msgid ""
"Flip the selected shape(s) over the X axis.\n"
"Does not create a new shape."
@@ -4006,17 +4310,17 @@ msgstr ""
"No crea una nueva forma."
#: flatcamEditors/FlatCAMGeoEditor.py:908
-#: flatcamEditors/FlatCAMGrbEditor.py:5397 flatcamTools/ToolTransform.py:272
+#: flatcamEditors/FlatCAMGrbEditor.py:5441 flatcamTools/ToolTransform.py:477
msgid "Flip on Y"
msgstr "Voltear en Y"
#: flatcamEditors/FlatCAMGeoEditor.py:916
-#: flatcamEditors/FlatCAMGrbEditor.py:5405
+#: flatcamEditors/FlatCAMGrbEditor.py:5449
msgid "Ref Pt"
msgstr "Punto de Ref"
#: flatcamEditors/FlatCAMGeoEditor.py:918
-#: flatcamEditors/FlatCAMGrbEditor.py:5407
+#: flatcamEditors/FlatCAMGrbEditor.py:5451
msgid ""
"Flip the selected shape(s)\n"
"around the point in Point Entry Field.\n"
@@ -4039,12 +4343,12 @@ msgstr ""
"Campo de entrada de puntos y haga clic en Girar en X (Y)"
#: flatcamEditors/FlatCAMGeoEditor.py:930
-#: flatcamEditors/FlatCAMGrbEditor.py:5419
+#: flatcamEditors/FlatCAMGrbEditor.py:5463
msgid "Point:"
msgstr "Punto:"
#: flatcamEditors/FlatCAMGeoEditor.py:932
-#: flatcamEditors/FlatCAMGrbEditor.py:5421 flatcamTools/ToolTransform.py:301
+#: flatcamEditors/FlatCAMGrbEditor.py:5465 flatcamTools/ToolTransform.py:300
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
@@ -4056,7 +4360,7 @@ msgstr ""
"la 'y' en (x, y) se usará cuando se use Flip en Y."
#: flatcamEditors/FlatCAMGeoEditor.py:942
-#: flatcamEditors/FlatCAMGrbEditor.py:5433 flatcamTools/ToolTransform.py:312
+#: flatcamEditors/FlatCAMGrbEditor.py:5477 flatcamTools/ToolTransform.py:310
msgid ""
"The point coordinates can be captured by\n"
"left click on canvas together with pressing\n"
@@ -4066,354 +4370,354 @@ msgstr ""
"Haga clic izquierdo en el lienzo junto con la presión\n"
"Tecla Shift. Luego haga clic en el botón Agregar para insertar."
-#: flatcamEditors/FlatCAMGeoEditor.py:1057
-#: flatcamEditors/FlatCAMGrbEditor.py:5558
-msgid "Transformation cancelled. No shape selected."
-msgstr "Transformación cancelada. Ninguna forma seleccionada."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:1258
-#: flatcamEditors/FlatCAMGrbEditor.py:5742
+#: flatcamEditors/FlatCAMGeoEditor.py:1305
+#: flatcamEditors/FlatCAMGrbEditor.py:5785
msgid "No shape selected. Please Select a shape to rotate!"
msgstr ""
"Ninguna forma seleccionada. Por favor, seleccione una forma para rotar!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1261
-#: flatcamEditors/FlatCAMGrbEditor.py:5745 flatcamTools/ToolTransform.py:611
+#: flatcamEditors/FlatCAMGeoEditor.py:1308
+#: flatcamEditors/FlatCAMGrbEditor.py:5788 flatcamTools/ToolTransform.py:680
msgid "Appying Rotate"
msgstr "Aplicando rotar"
-#: flatcamEditors/FlatCAMGeoEditor.py:1290
-#: flatcamEditors/FlatCAMGrbEditor.py:5779
+#: flatcamEditors/FlatCAMGeoEditor.py:1334
+#: flatcamEditors/FlatCAMGrbEditor.py:5820
msgid "Done. Rotate completed."
msgstr "Hecho. Rotación completada."
-#: flatcamEditors/FlatCAMGeoEditor.py:1295
+#: flatcamEditors/FlatCAMGeoEditor.py:1336
msgid "Rotation action was not executed"
msgstr "La acción de rotación no se ejecutó"
-#: flatcamEditors/FlatCAMGeoEditor.py:1307
-#: flatcamEditors/FlatCAMGrbEditor.py:5800
+#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGrbEditor.py:5839
msgid "No shape selected. Please Select a shape to flip!"
msgstr ""
"Ninguna forma seleccionada. Por favor, seleccione una forma para voltear!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1310
-#: flatcamEditors/FlatCAMGrbEditor.py:5803 flatcamTools/ToolTransform.py:664
+#: flatcamEditors/FlatCAMGeoEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:5842 flatcamTools/ToolTransform.py:729
msgid "Applying Flip"
msgstr "Aplicando Voltear"
-#: flatcamEditors/FlatCAMGeoEditor.py:1341
-#: flatcamEditors/FlatCAMGrbEditor.py:5843 flatcamTools/ToolTransform.py:707
+#: flatcamEditors/FlatCAMGeoEditor.py:1387
+#: flatcamEditors/FlatCAMGrbEditor.py:5880 flatcamTools/ToolTransform.py:770
msgid "Flip on the Y axis done"
msgstr "Voltear sobre el eje Y hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1345
-#: flatcamEditors/FlatCAMGrbEditor.py:5852 flatcamTools/ToolTransform.py:717
+#: flatcamEditors/FlatCAMGeoEditor.py:1391
+#: flatcamEditors/FlatCAMGrbEditor.py:5889 flatcamTools/ToolTransform.py:779
msgid "Flip on the X axis done"
msgstr "Voltear en el eje X hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGeoEditor.py:1399
msgid "Flip action was not executed"
msgstr "La acción de voltear no se ejecutó"
-#: flatcamEditors/FlatCAMGeoEditor.py:1365
-#: flatcamEditors/FlatCAMGrbEditor.py:5874
+#: flatcamEditors/FlatCAMGeoEditor.py:1417
+#: flatcamEditors/FlatCAMGrbEditor.py:5909
msgid "No shape selected. Please Select a shape to shear/skew!"
msgstr ""
"Ninguna forma seleccionada. Por favor, seleccione una forma para esquilar / "
"sesgar!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1368
-#: flatcamEditors/FlatCAMGrbEditor.py:5877 flatcamTools/ToolTransform.py:742
+#: flatcamEditors/FlatCAMGeoEditor.py:1420
+#: flatcamEditors/FlatCAMGrbEditor.py:5912 flatcamTools/ToolTransform.py:802
msgid "Applying Skew"
msgstr "Aplicando Sesgo"
-#: flatcamEditors/FlatCAMGeoEditor.py:1394
-#: flatcamEditors/FlatCAMGrbEditor.py:5913
+#: flatcamEditors/FlatCAMGeoEditor.py:1443
+#: flatcamEditors/FlatCAMGrbEditor.py:5946
msgid "Skew on the X axis done"
msgstr "Sesgar sobre el eje X hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1397
-#: flatcamEditors/FlatCAMGrbEditor.py:5915
+#: flatcamEditors/FlatCAMGeoEditor.py:1445
+#: flatcamEditors/FlatCAMGrbEditor.py:5948
msgid "Skew on the Y axis done"
msgstr "Sesgar sobre el eje Y hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1401
+#: flatcamEditors/FlatCAMGeoEditor.py:1448
msgid "Skew action was not executed"
msgstr "La acción sesgada no se ejecutó"
-#: flatcamEditors/FlatCAMGeoEditor.py:1413
-#: flatcamEditors/FlatCAMGrbEditor.py:5939
+#: flatcamEditors/FlatCAMGeoEditor.py:1470
+#: flatcamEditors/FlatCAMGrbEditor.py:5970
msgid "No shape selected. Please Select a shape to scale!"
msgstr "Ninguna forma seleccionada. Por favor, seleccione una forma a escala!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1416
-#: flatcamEditors/FlatCAMGrbEditor.py:5942 flatcamTools/ToolTransform.py:794
+#: flatcamEditors/FlatCAMGeoEditor.py:1473
+#: flatcamEditors/FlatCAMGrbEditor.py:5973 flatcamTools/ToolTransform.py:849
msgid "Applying Scale"
msgstr "Aplicando la escala"
-#: flatcamEditors/FlatCAMGeoEditor.py:1451
-#: flatcamEditors/FlatCAMGrbEditor.py:5981
+#: flatcamEditors/FlatCAMGeoEditor.py:1505
+#: flatcamEditors/FlatCAMGrbEditor.py:6010
msgid "Scale on the X axis done"
msgstr "Escala en el eje X hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1454
-#: flatcamEditors/FlatCAMGrbEditor.py:5983
+#: flatcamEditors/FlatCAMGeoEditor.py:1507
+#: flatcamEditors/FlatCAMGrbEditor.py:6012
msgid "Scale on the Y axis done"
msgstr "Escala en el eje Y hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1457
+#: flatcamEditors/FlatCAMGeoEditor.py:1509
msgid "Scale action was not executed"
msgstr "La acción de escala no se ejecutó"
-#: flatcamEditors/FlatCAMGeoEditor.py:1467
-#: flatcamEditors/FlatCAMGrbEditor.py:6000
+#: flatcamEditors/FlatCAMGeoEditor.py:1524
+#: flatcamEditors/FlatCAMGrbEditor.py:6029
msgid "No shape selected. Please Select a shape to offset!"
msgstr ""
"Ninguna forma seleccionada. Por favor, seleccione una forma para compensar!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1470
-#: flatcamEditors/FlatCAMGrbEditor.py:6003 flatcamTools/ToolTransform.py:849
+#: flatcamEditors/FlatCAMGeoEditor.py:1527
+#: flatcamEditors/FlatCAMGrbEditor.py:6032 flatcamTools/ToolTransform.py:901
msgid "Applying Offset"
msgstr "Aplicando Offset"
-#: flatcamEditors/FlatCAMGeoEditor.py:1483
-#: flatcamEditors/FlatCAMGrbEditor.py:6024
+#: flatcamEditors/FlatCAMGeoEditor.py:1537
+#: flatcamEditors/FlatCAMGrbEditor.py:6053
msgid "Offset on the X axis done"
msgstr "Offset en el eje X hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1486
-#: flatcamEditors/FlatCAMGrbEditor.py:6026
+#: flatcamEditors/FlatCAMGeoEditor.py:1539
+#: flatcamEditors/FlatCAMGrbEditor.py:6055
msgid "Offset on the Y axis done"
msgstr "Offset en el eje Y hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1490
+#: flatcamEditors/FlatCAMGeoEditor.py:1542
msgid "Offset action was not executed"
msgstr "La acción de desplazamiento no se ejecutó"
-#: flatcamEditors/FlatCAMGeoEditor.py:1494
-#: flatcamEditors/FlatCAMGrbEditor.py:6033
+#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGrbEditor.py:6062
msgid "Rotate ..."
msgstr "Girar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1495
-#: flatcamEditors/FlatCAMGeoEditor.py:1550
-#: flatcamEditors/FlatCAMGeoEditor.py:1567
-#: flatcamEditors/FlatCAMGrbEditor.py:6034
-#: flatcamEditors/FlatCAMGrbEditor.py:6083
-#: flatcamEditors/FlatCAMGrbEditor.py:6098
+#: flatcamEditors/FlatCAMGeoEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:1602
+#: flatcamEditors/FlatCAMGeoEditor.py:1619
+#: flatcamEditors/FlatCAMGrbEditor.py:6063
+#: flatcamEditors/FlatCAMGrbEditor.py:6112
+#: flatcamEditors/FlatCAMGrbEditor.py:6127
msgid "Enter an Angle Value (degrees)"
msgstr "Ingrese un valor de ángulo (grados)"
-#: flatcamEditors/FlatCAMGeoEditor.py:1504
-#: flatcamEditors/FlatCAMGrbEditor.py:6042
+#: flatcamEditors/FlatCAMGeoEditor.py:1556
+#: flatcamEditors/FlatCAMGrbEditor.py:6071
msgid "Geometry shape rotate done"
msgstr "Forma de geometría rotar hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1508
-#: flatcamEditors/FlatCAMGrbEditor.py:6045
+#: flatcamEditors/FlatCAMGeoEditor.py:1560
+#: flatcamEditors/FlatCAMGrbEditor.py:6074
msgid "Geometry shape rotate cancelled"
msgstr "Rotación de forma de geometría cancelada"
-#: flatcamEditors/FlatCAMGeoEditor.py:1513
-#: flatcamEditors/FlatCAMGrbEditor.py:6050
+#: flatcamEditors/FlatCAMGeoEditor.py:1565
+#: flatcamEditors/FlatCAMGrbEditor.py:6079
msgid "Offset on X axis ..."
msgstr "Offset en el eje X ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1514
-#: flatcamEditors/FlatCAMGeoEditor.py:1533
-#: flatcamEditors/FlatCAMGrbEditor.py:6051
-#: flatcamEditors/FlatCAMGrbEditor.py:6068
+#: flatcamEditors/FlatCAMGeoEditor.py:1566
+#: flatcamEditors/FlatCAMGeoEditor.py:1585
+#: flatcamEditors/FlatCAMGrbEditor.py:6080
+#: flatcamEditors/FlatCAMGrbEditor.py:6097
msgid "Enter a distance Value"
msgstr "Ingrese un valor de distancia"
-#: flatcamEditors/FlatCAMGeoEditor.py:1523
-#: flatcamEditors/FlatCAMGrbEditor.py:6059
+#: flatcamEditors/FlatCAMGeoEditor.py:1575
+#: flatcamEditors/FlatCAMGrbEditor.py:6088
msgid "Geometry shape offset on X axis done"
msgstr "Forma de geometría compensada en el eje X hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1527
-#: flatcamEditors/FlatCAMGrbEditor.py:6062
+#: flatcamEditors/FlatCAMGeoEditor.py:1579
+#: flatcamEditors/FlatCAMGrbEditor.py:6091
msgid "Geometry shape offset X cancelled"
msgstr "Desplazamiento de forma de geometría X cancelado"
-#: flatcamEditors/FlatCAMGeoEditor.py:1532
-#: flatcamEditors/FlatCAMGrbEditor.py:6067
+#: flatcamEditors/FlatCAMGeoEditor.py:1584
+#: flatcamEditors/FlatCAMGrbEditor.py:6096
msgid "Offset on Y axis ..."
msgstr "Offset en eje Y ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1542
-#: flatcamEditors/FlatCAMGrbEditor.py:6076
+#: flatcamEditors/FlatCAMGeoEditor.py:1594
+#: flatcamEditors/FlatCAMGrbEditor.py:6105
msgid "Geometry shape offset on Y axis done"
msgstr "Desplazamiento de forma de geometría en el eje Y hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGeoEditor.py:1598
msgid "Geometry shape offset on Y axis canceled"
msgstr "Desplazamiento de forma de geometría en eje Y cancelado"
-#: flatcamEditors/FlatCAMGeoEditor.py:1549
-#: flatcamEditors/FlatCAMGrbEditor.py:6082
+#: flatcamEditors/FlatCAMGeoEditor.py:1601
+#: flatcamEditors/FlatCAMGrbEditor.py:6111
msgid "Skew on X axis ..."
msgstr "Sesgar en el eje X ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1559
-#: flatcamEditors/FlatCAMGrbEditor.py:6091
+#: flatcamEditors/FlatCAMGeoEditor.py:1611
+#: flatcamEditors/FlatCAMGrbEditor.py:6120
msgid "Geometry shape skew on X axis done"
msgstr "Forma de geometría sesgada en el eje X hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1563
+#: flatcamEditors/FlatCAMGeoEditor.py:1615
msgid "Geometry shape skew on X axis canceled"
msgstr "Forma geométrica sesgada en el eje X cancelada"
-#: flatcamEditors/FlatCAMGeoEditor.py:1566
-#: flatcamEditors/FlatCAMGrbEditor.py:6097
+#: flatcamEditors/FlatCAMGeoEditor.py:1618
+#: flatcamEditors/FlatCAMGrbEditor.py:6126
msgid "Skew on Y axis ..."
msgstr "Sesgar en el eje Y ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1576
-#: flatcamEditors/FlatCAMGrbEditor.py:6106
+#: flatcamEditors/FlatCAMGeoEditor.py:1628
+#: flatcamEditors/FlatCAMGrbEditor.py:6135
msgid "Geometry shape skew on Y axis done"
msgstr "Forma de geometría sesgada en el eje Y hecho"
-#: flatcamEditors/FlatCAMGeoEditor.py:1580
+#: flatcamEditors/FlatCAMGeoEditor.py:1632
msgid "Geometry shape skew on Y axis canceled"
msgstr "Forma geométrica sesgada en el eje Y cancelada"
-#: flatcamEditors/FlatCAMGeoEditor.py:1951
-#: flatcamEditors/FlatCAMGeoEditor.py:2016
-#: flatcamEditors/FlatCAMGrbEditor.py:1436
-#: flatcamEditors/FlatCAMGrbEditor.py:1514
+#: flatcamEditors/FlatCAMGeoEditor.py:2009
+#: flatcamEditors/FlatCAMGeoEditor.py:2080
+#: flatcamEditors/FlatCAMGrbEditor.py:1435
+#: flatcamEditors/FlatCAMGrbEditor.py:1513
msgid "Click on Center point ..."
msgstr "Haga clic en el punto central ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1958
-#: flatcamEditors/FlatCAMGrbEditor.py:1446
+#: flatcamEditors/FlatCAMGeoEditor.py:2022
+#: flatcamEditors/FlatCAMGrbEditor.py:1445
msgid "Click on Perimeter point to complete ..."
msgstr "Haga clic en el punto del perímetro para completar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:2054
msgid "Done. Adding Circle completed."
msgstr "Hecho. Añadiendo círculo completado."
-#: flatcamEditors/FlatCAMGeoEditor.py:2038
-#: flatcamEditors/FlatCAMGrbEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:2108
+#: flatcamEditors/FlatCAMGrbEditor.py:1546
msgid "Click on Start point ..."
msgstr "Haga clic en el punto de inicio ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2040
-#: flatcamEditors/FlatCAMGrbEditor.py:1549
+#: flatcamEditors/FlatCAMGeoEditor.py:2110
+#: flatcamEditors/FlatCAMGrbEditor.py:1548
msgid "Click on Point3 ..."
msgstr "Haga clic en el punto 3 ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2042
-#: flatcamEditors/FlatCAMGrbEditor.py:1551
+#: flatcamEditors/FlatCAMGeoEditor.py:2112
+#: flatcamEditors/FlatCAMGrbEditor.py:1550
msgid "Click on Stop point ..."
msgstr "Haga clic en el punto de parada ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2047
-#: flatcamEditors/FlatCAMGrbEditor.py:1556
+#: flatcamEditors/FlatCAMGeoEditor.py:2117
+#: flatcamEditors/FlatCAMGrbEditor.py:1555
msgid "Click on Stop point to complete ..."
msgstr "Haga clic en el punto de parada para completar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2049
-#: flatcamEditors/FlatCAMGrbEditor.py:1558
+#: flatcamEditors/FlatCAMGeoEditor.py:2119
+#: flatcamEditors/FlatCAMGrbEditor.py:1557
msgid "Click on Point2 to complete ..."
msgstr "Haga clic en el punto 2 para completar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2051
-#: flatcamEditors/FlatCAMGrbEditor.py:1560
+#: flatcamEditors/FlatCAMGeoEditor.py:2121
+#: flatcamEditors/FlatCAMGrbEditor.py:1559
msgid "Click on Center point to complete ..."
msgstr "Haga clic en el punto central para completar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2063
+#: flatcamEditors/FlatCAMGeoEditor.py:2133
#, python-format
msgid "Direction: %s"
msgstr "Direccion: %s"
-#: flatcamEditors/FlatCAMGeoEditor.py:2077
-#: flatcamEditors/FlatCAMGrbEditor.py:1586
+#: flatcamEditors/FlatCAMGeoEditor.py:2147
+#: flatcamEditors/FlatCAMGrbEditor.py:1585
msgid "Mode: Start -> Stop -> Center. Click on Start point ..."
msgstr "Modo: Inicio -> Detener -> Centro. Haga clic en el punto de inicio ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2080
-#: flatcamEditors/FlatCAMGrbEditor.py:1589
+#: flatcamEditors/FlatCAMGeoEditor.py:2150
+#: flatcamEditors/FlatCAMGrbEditor.py:1588
msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..."
msgstr "Modo: Punto1 -> Punto3 -> Punto2. Haga clic en el punto 1 ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2083
-#: flatcamEditors/FlatCAMGrbEditor.py:1592
+#: flatcamEditors/FlatCAMGeoEditor.py:2153
+#: flatcamEditors/FlatCAMGrbEditor.py:1591
msgid "Mode: Center -> Start -> Stop. Click on Center point ..."
msgstr "Modo: Centro -> Iniciar -> Detener. Haga clic en el punto central ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2224
+#: flatcamEditors/FlatCAMGeoEditor.py:2294
msgid "Done. Arc completed."
msgstr "Hecho. Arco completado."
-#: flatcamEditors/FlatCAMGeoEditor.py:2255
-#: flatcamEditors/FlatCAMGeoEditor.py:2322
+#: flatcamEditors/FlatCAMGeoEditor.py:2325
+#: flatcamEditors/FlatCAMGeoEditor.py:2398
msgid "Click on 1st corner ..."
msgstr "Haga clic en la primera esquina ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2261
+#: flatcamEditors/FlatCAMGeoEditor.py:2337
msgid "Click on opposite corner to complete ..."
msgstr "Haga clic en la esquina opuesta para completar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2291
+#: flatcamEditors/FlatCAMGeoEditor.py:2367
msgid "Done. Rectangle completed."
msgstr "Hecho. Rectángulo completado."
-#: flatcamEditors/FlatCAMGeoEditor.py:2329
+#: flatcamEditors/FlatCAMGeoEditor.py:2411 flatcamTools/ToolNCC.py:1728
+#: flatcamTools/ToolPaint.py:1623
msgid "Click on next Point or click right mouse button to complete ..."
msgstr ""
"Haga clic en el siguiente punto o haga clic con el botón derecho del ratón "
"para completar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2360
+#: flatcamEditors/FlatCAMGeoEditor.py:2442
msgid "Done. Polygon completed."
msgstr "Hecho. Polígono completado."
-#: flatcamEditors/FlatCAMGeoEditor.py:2374
-#: flatcamEditors/FlatCAMGeoEditor.py:2439
-#: flatcamEditors/FlatCAMGrbEditor.py:1112
-#: flatcamEditors/FlatCAMGrbEditor.py:1323
+#: flatcamEditors/FlatCAMGeoEditor.py:2456
+#: flatcamEditors/FlatCAMGeoEditor.py:2521
+#: flatcamEditors/FlatCAMGrbEditor.py:1111
+#: flatcamEditors/FlatCAMGrbEditor.py:1322
msgid "Backtracked one point ..."
msgstr "Retrocedido un punto ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2417
+#: flatcamEditors/FlatCAMGeoEditor.py:2499
msgid "Done. Path completed."
msgstr "Hecho. Camino completado."
-#: flatcamEditors/FlatCAMGeoEditor.py:2580
+#: flatcamEditors/FlatCAMGeoEditor.py:2658
+msgid "No shape selected. Select a shape to explode"
+msgstr "Ninguna forma seleccionada. Selecciona una forma para explotar"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2691
msgid "Done. Polygons exploded into lines."
msgstr "Hecho. Los polígonos explotaron en líneas."
-#: flatcamEditors/FlatCAMGeoEditor.py:2612
+#: flatcamEditors/FlatCAMGeoEditor.py:2723
msgid "MOVE: No shape selected. Select a shape to move"
msgstr "MOVER: No se seleccionó la forma. Selecciona una forma para mover"
-#: flatcamEditors/FlatCAMGeoEditor.py:2615
-#: flatcamEditors/FlatCAMGeoEditor.py:2628
+#: flatcamEditors/FlatCAMGeoEditor.py:2726
+#: flatcamEditors/FlatCAMGeoEditor.py:2746
msgid " MOVE: Click on reference point ..."
msgstr " MOVER: haga clic en el punto de referencia ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2619
+#: flatcamEditors/FlatCAMGeoEditor.py:2731
msgid " Click on destination point ..."
msgstr " Haga clic en el punto de destino ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2653
+#: flatcamEditors/FlatCAMGeoEditor.py:2771
msgid "Done. Geometry(s) Move completed."
msgstr "Hecho. Geometría (s) Movimiento completado."
-#: flatcamEditors/FlatCAMGeoEditor.py:2783
+#: flatcamEditors/FlatCAMGeoEditor.py:2904
msgid "Done. Geometry(s) Copy completed."
msgstr "Hecho. Geometría (s) Copia completada."
-#: flatcamEditors/FlatCAMGeoEditor.py:2811
-#: flatcamEditors/FlatCAMGrbEditor.py:898
+#: flatcamEditors/FlatCAMGeoEditor.py:2935
+#: flatcamEditors/FlatCAMGrbEditor.py:897
msgid "Click on 1st point ..."
msgstr "Haga clic en el primer punto ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2829
+#: flatcamEditors/FlatCAMGeoEditor.py:2959
msgid ""
"Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. "
"Error"
@@ -4421,96 +4725,132 @@ msgstr ""
"Fuente no soportada. Solo se admiten las versiones Regular, Bold, Italic y "
"BoldItalic. Error"
-#: flatcamEditors/FlatCAMGeoEditor.py:2837
+#: flatcamEditors/FlatCAMGeoEditor.py:2967
msgid "No text to add."
msgstr "No hay texto para agregar."
-#: flatcamEditors/FlatCAMGeoEditor.py:2844
+#: flatcamEditors/FlatCAMGeoEditor.py:2977
msgid " Done. Adding Text completed."
msgstr " Hecho. Agregando texto completado."
-#: flatcamEditors/FlatCAMGeoEditor.py:2881
+#: flatcamEditors/FlatCAMGeoEditor.py:3014
msgid "Create buffer geometry ..."
msgstr "Crear geometría de búfer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2892
-#: flatcamEditors/FlatCAMGeoEditor.py:2922
-#: flatcamEditors/FlatCAMGeoEditor.py:2952
-msgid "Buffer cancelled. No shape selected."
-msgstr "Buffer cancelado. Ninguna forma seleccionada."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:2917
-#: flatcamEditors/FlatCAMGrbEditor.py:4950
+#: flatcamEditors/FlatCAMGeoEditor.py:3049
+#: flatcamEditors/FlatCAMGrbEditor.py:4994
msgid "Done. Buffer Tool completed."
msgstr "Hecho. Herramienta de amortiguación completada."
-#: flatcamEditors/FlatCAMGeoEditor.py:2947
+#: flatcamEditors/FlatCAMGeoEditor.py:3077
msgid "Done. Buffer Int Tool completed."
msgstr "Hecho. Herramienta interna de búfer completada."
-#: flatcamEditors/FlatCAMGeoEditor.py:2977
+#: flatcamEditors/FlatCAMGeoEditor.py:3105
msgid "Done. Buffer Ext Tool completed."
msgstr "Hecho. Herramienta externa de búfer completada."
-#: flatcamEditors/FlatCAMGeoEditor.py:3023
-#: flatcamEditors/FlatCAMGrbEditor.py:2152
+#: flatcamEditors/FlatCAMGeoEditor.py:3154
+#: flatcamEditors/FlatCAMGrbEditor.py:2151
msgid "Select a shape to act as deletion area ..."
msgstr "Seleccione una forma para que actúe como área de eliminación ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3025
-#: flatcamEditors/FlatCAMGeoEditor.py:3045
-#: flatcamEditors/FlatCAMGeoEditor.py:3051
-#: flatcamEditors/FlatCAMGrbEditor.py:2154
+#: flatcamEditors/FlatCAMGeoEditor.py:3156
+#: flatcamEditors/FlatCAMGeoEditor.py:3182
+#: flatcamEditors/FlatCAMGeoEditor.py:3188
+#: flatcamEditors/FlatCAMGrbEditor.py:2153
msgid "Click to pick-up the erase shape..."
msgstr "Haga clic para recoger la forma de borrar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3055
-#: flatcamEditors/FlatCAMGrbEditor.py:2213
+#: flatcamEditors/FlatCAMGeoEditor.py:3192
+#: flatcamEditors/FlatCAMGrbEditor.py:2212
msgid "Click to erase ..."
msgstr "Haga clic para borrar ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3084
-#: flatcamEditors/FlatCAMGrbEditor.py:2246
+#: flatcamEditors/FlatCAMGeoEditor.py:3221
+#: flatcamEditors/FlatCAMGrbEditor.py:2245
msgid "Done. Eraser tool action completed."
msgstr "Hecho. Se ha completado la acción de la herramienta de borrador."
-#: flatcamEditors/FlatCAMGeoEditor.py:3131
+#: flatcamEditors/FlatCAMGeoEditor.py:3271
msgid "Create Paint geometry ..."
msgstr "Crear geometría de pintura ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3144
-#: flatcamEditors/FlatCAMGrbEditor.py:2402
+#: flatcamEditors/FlatCAMGeoEditor.py:3284
+#: flatcamEditors/FlatCAMGrbEditor.py:2408
msgid "Shape transformations ..."
msgstr "Transformaciones de formas ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3763
+#: flatcamEditors/FlatCAMGeoEditor.py:3340 flatcamGUI/PreferencesUI.py:4636
+msgid "Geometry Editor"
+msgstr "Editor de geometría"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamTools/ToolCutOut.py:96
+msgid "Type"
+msgstr "Tipo"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346 flatcamGUI/ObjectUI.py:217
+#: flatcamGUI/ObjectUI.py:741 flatcamGUI/ObjectUI.py:1431
+#: flatcamGUI/ObjectUI.py:2153 flatcamGUI/ObjectUI.py:2457
+#: flatcamGUI/ObjectUI.py:2524 flatcamTools/ToolCalibration.py:234
+#: flatcamTools/ToolFiducials.py:73
+msgid "Name"
+msgstr "Nombre"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3588
+msgid "Ring"
+msgstr "Anillo"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3590
+msgid "Line"
+msgstr "Línea"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3592 flatcamGUI/FlatCAMGUI.py:2187
+#: flatcamGUI/PreferencesUI.py:5607 flatcamGUI/PreferencesUI.py:6131
+#: flatcamTools/ToolNCC.py:584 flatcamTools/ToolPaint.py:528
+msgid "Polygon"
+msgstr "Polígono"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3594
+msgid "Multi-Line"
+msgstr "Multilínea"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3596
+msgid "Multi-Polygon"
+msgstr "Multi-polígono"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3603
+msgid "Geo Elem"
+msgstr "Elemento de Geo"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4076
msgid "Editing MultiGeo Geometry, tool"
msgstr "Edición de Geometría MultiGeo, herramienta"
-#: flatcamEditors/FlatCAMGeoEditor.py:3765
+#: flatcamEditors/FlatCAMGeoEditor.py:4078
msgid "with diameter"
msgstr "con diámetro"
-#: flatcamEditors/FlatCAMGeoEditor.py:4169
-msgid "Copy cancelled. No shape selected."
-msgstr "Copia cancelada. Ninguna forma seleccionada."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:4176 flatcamGUI/FlatCAMGUI.py:3472
-#: flatcamGUI/FlatCAMGUI.py:3519 flatcamGUI/FlatCAMGUI.py:3538
-#: flatcamGUI/FlatCAMGUI.py:3679 flatcamGUI/FlatCAMGUI.py:3719
-#: flatcamGUI/FlatCAMGUI.py:3732 flatcamGUI/FlatCAMGUI.py:3749
+#: flatcamEditors/FlatCAMGeoEditor.py:4509 flatcamGUI/FlatCAMGUI.py:3695
+#: flatcamGUI/FlatCAMGUI.py:3741 flatcamGUI/FlatCAMGUI.py:3759
+#: flatcamGUI/FlatCAMGUI.py:3899 flatcamGUI/FlatCAMGUI.py:3938
+#: flatcamGUI/FlatCAMGUI.py:3950 flatcamGUI/FlatCAMGUI.py:3967
msgid "Click on target point."
msgstr "Haga clic en el punto de destino."
-#: flatcamEditors/FlatCAMGeoEditor.py:4479
-#: flatcamEditors/FlatCAMGeoEditor.py:4514
+#: flatcamEditors/FlatCAMGeoEditor.py:4823
+#: flatcamEditors/FlatCAMGeoEditor.py:4858
msgid "A selection of at least 2 geo items is required to do Intersection."
msgstr ""
"Se requiere una selección de al menos 2 elementos geo para hacer "
"Intersección."
-#: flatcamEditors/FlatCAMGeoEditor.py:4600
-#: flatcamEditors/FlatCAMGeoEditor.py:4704
+#: flatcamEditors/FlatCAMGeoEditor.py:4944
+#: flatcamEditors/FlatCAMGeoEditor.py:5048
msgid ""
"Negative buffer value is not accepted. Use Buffer interior to generate an "
"'inside' shape"
@@ -4518,59 +4858,58 @@ msgstr ""
"No se acepta el valor de búfer negativo. Usa el interior del amortiguador "
"para generar una forma 'interior'"
-#: flatcamEditors/FlatCAMGeoEditor.py:4610
-#: flatcamEditors/FlatCAMGeoEditor.py:4663
-#: flatcamEditors/FlatCAMGeoEditor.py:4713
+#: flatcamEditors/FlatCAMGeoEditor.py:4954
+#: flatcamEditors/FlatCAMGeoEditor.py:5007
+#: flatcamEditors/FlatCAMGeoEditor.py:5057
msgid "Nothing selected for buffering."
msgstr "Nada seleccionado para el almacenamiento en búfer."
-#: flatcamEditors/FlatCAMGeoEditor.py:4615
-#: flatcamEditors/FlatCAMGeoEditor.py:4667
-#: flatcamEditors/FlatCAMGeoEditor.py:4718
+#: flatcamEditors/FlatCAMGeoEditor.py:4959
+#: flatcamEditors/FlatCAMGeoEditor.py:5011
+#: flatcamEditors/FlatCAMGeoEditor.py:5062
msgid "Invalid distance for buffering."
msgstr "Distancia no válida para el almacenamiento en búfer."
-#: flatcamEditors/FlatCAMGeoEditor.py:4639
-#: flatcamEditors/FlatCAMGeoEditor.py:4738
+#: flatcamEditors/FlatCAMGeoEditor.py:4983
+#: flatcamEditors/FlatCAMGeoEditor.py:5082
msgid "Failed, the result is empty. Choose a different buffer value."
msgstr "Falló, el resultado está vacío. Elija un valor de búfer diferente."
-#: flatcamEditors/FlatCAMGeoEditor.py:4650
+#: flatcamEditors/FlatCAMGeoEditor.py:4994
msgid "Full buffer geometry created."
msgstr "Geometría de búfer completa creada."
-#: flatcamEditors/FlatCAMGeoEditor.py:4656
+#: flatcamEditors/FlatCAMGeoEditor.py:5000
msgid "Negative buffer value is not accepted."
msgstr "No se acepta el valor negativo del búfer."
-#: flatcamEditors/FlatCAMGeoEditor.py:4687
+#: flatcamEditors/FlatCAMGeoEditor.py:5031
msgid "Failed, the result is empty. Choose a smaller buffer value."
msgstr "Falló, el resultado está vacío. Elija un valor de búfer más pequeño."
-#: flatcamEditors/FlatCAMGeoEditor.py:4697
+#: flatcamEditors/FlatCAMGeoEditor.py:5041
msgid "Interior buffer geometry created."
msgstr "Geometría de búfer interior creada."
-#: flatcamEditors/FlatCAMGeoEditor.py:4748
+#: flatcamEditors/FlatCAMGeoEditor.py:5092
msgid "Exterior buffer geometry created."
msgstr "Geometría de búfer exterior creada."
-#: flatcamEditors/FlatCAMGeoEditor.py:4754
+#: flatcamEditors/FlatCAMGeoEditor.py:5098
#, python-format
-msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)."
+msgid "Could not do Paint. Overlap value has to be less than 100%%."
msgstr ""
-"No se pudo hacer pintura. El valor de superposición debe ser inferior a 1.00 "
-"(100%%)."
+"No se pudo pintar. El valor de superposición debe ser inferior al 100 %%."
-#: flatcamEditors/FlatCAMGeoEditor.py:4761
+#: flatcamEditors/FlatCAMGeoEditor.py:5105
msgid "Nothing selected for painting."
msgstr "Nada seleccionado para pintar."
-#: flatcamEditors/FlatCAMGeoEditor.py:4767
+#: flatcamEditors/FlatCAMGeoEditor.py:5111
msgid "Invalid value for"
msgstr "Valor no válido para"
-#: flatcamEditors/FlatCAMGeoEditor.py:4826
+#: flatcamEditors/FlatCAMGeoEditor.py:5170
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different method of Paint"
@@ -4578,7 +4917,7 @@ msgstr ""
"No se pudo pintar. Pruebe con una combinación diferente de parámetros. O un "
"método diferente de pintura"
-#: flatcamEditors/FlatCAMGeoEditor.py:4840
+#: flatcamEditors/FlatCAMGeoEditor.py:5181
msgid "Paint done."
msgstr "Pintura hecha."
@@ -4593,7 +4932,7 @@ msgid "Aperture size is zero. It needs to be greater than zero."
msgstr "El tamaño de la abertura es cero. Tiene que ser mayor que cero."
#: flatcamEditors/FlatCAMGrbEditor.py:371
-#: flatcamEditors/FlatCAMGrbEditor.py:685
+#: flatcamEditors/FlatCAMGrbEditor.py:684
msgid ""
"Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'."
msgstr ""
@@ -4614,173 +4953,167 @@ msgstr ""
msgid "Click on the Pad Circular Array Start position"
msgstr "Haga clic en la posición de inicio Pad Array Circular"
-#: flatcamEditors/FlatCAMGrbEditor.py:711
+#: flatcamEditors/FlatCAMGrbEditor.py:710
msgid "Too many Pads for the selected spacing angle."
msgstr "Demasiados pads para el ángulo de espaciado seleccionado."
-#: flatcamEditors/FlatCAMGrbEditor.py:734
+#: flatcamEditors/FlatCAMGrbEditor.py:733
msgid "Done. Pad Array added."
msgstr "Hecho. Pad Array añadido."
-#: flatcamEditors/FlatCAMGrbEditor.py:759
+#: flatcamEditors/FlatCAMGrbEditor.py:758
msgid "Select shape(s) and then click ..."
msgstr "Seleccione forma (s) y luego haga clic en ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:771
+#: flatcamEditors/FlatCAMGrbEditor.py:770
msgid "Failed. Nothing selected."
msgstr "Ha fallado. Nada seleccionado."
-#: flatcamEditors/FlatCAMGrbEditor.py:787
+#: flatcamEditors/FlatCAMGrbEditor.py:786
msgid ""
"Failed. Poligonize works only on geometries belonging to the same aperture."
msgstr ""
"Ha fallado. Poligonize funciona solo en geometrías pertenecientes a la misma "
"abertura."
-#: flatcamEditors/FlatCAMGrbEditor.py:841
+#: flatcamEditors/FlatCAMGrbEditor.py:840
msgid "Done. Poligonize completed."
msgstr "Hecho. Poligonize completado."
-#: flatcamEditors/FlatCAMGrbEditor.py:896
-#: flatcamEditors/FlatCAMGrbEditor.py:1129
-#: flatcamEditors/FlatCAMGrbEditor.py:1153
+#: flatcamEditors/FlatCAMGrbEditor.py:895
+#: flatcamEditors/FlatCAMGrbEditor.py:1128
+#: flatcamEditors/FlatCAMGrbEditor.py:1152
msgid "Corner Mode 1: 45 degrees ..."
msgstr "Modo esquina 1: 45 grados ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:908
-#: flatcamEditors/FlatCAMGrbEditor.py:1238
+#: flatcamEditors/FlatCAMGrbEditor.py:907
+#: flatcamEditors/FlatCAMGrbEditor.py:1237
msgid "Click on next Point or click Right mouse button to complete ..."
msgstr ""
"Haga clic en el siguiente punto o haga clic con el botón derecho del mouse "
"para completar ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1117
-#: flatcamEditors/FlatCAMGrbEditor.py:1150
+#: flatcamEditors/FlatCAMGrbEditor.py:1116
+#: flatcamEditors/FlatCAMGrbEditor.py:1149
msgid "Corner Mode 2: Reverse 45 degrees ..."
msgstr "Modo esquina 2: Invertir 45 grados ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1120
-#: flatcamEditors/FlatCAMGrbEditor.py:1147
+#: flatcamEditors/FlatCAMGrbEditor.py:1119
+#: flatcamEditors/FlatCAMGrbEditor.py:1146
msgid "Corner Mode 3: 90 degrees ..."
msgstr "Modo esquina 3: 90 grados ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1123
-#: flatcamEditors/FlatCAMGrbEditor.py:1144
+#: flatcamEditors/FlatCAMGrbEditor.py:1122
+#: flatcamEditors/FlatCAMGrbEditor.py:1143
msgid "Corner Mode 4: Reverse 90 degrees ..."
msgstr "Modo esquina 4: Invertir 90 grados ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1126
-#: flatcamEditors/FlatCAMGrbEditor.py:1141
+#: flatcamEditors/FlatCAMGrbEditor.py:1125
+#: flatcamEditors/FlatCAMGrbEditor.py:1140
msgid "Corner Mode 5: Free angle ..."
msgstr "Modo esquina 5: ángulo libre ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1183
-#: flatcamEditors/FlatCAMGrbEditor.py:1359
-#: flatcamEditors/FlatCAMGrbEditor.py:1398
+#: flatcamEditors/FlatCAMGrbEditor.py:1182
+#: flatcamEditors/FlatCAMGrbEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:1397
msgid "Track Mode 1: 45 degrees ..."
msgstr "Modo de pista 1: 45 grados ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1339
-#: flatcamEditors/FlatCAMGrbEditor.py:1393
+#: flatcamEditors/FlatCAMGrbEditor.py:1338
+#: flatcamEditors/FlatCAMGrbEditor.py:1392
msgid "Track Mode 2: Reverse 45 degrees ..."
msgstr "Modo de pista 2: Invertir 45 grados ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1344
-#: flatcamEditors/FlatCAMGrbEditor.py:1388
+#: flatcamEditors/FlatCAMGrbEditor.py:1343
+#: flatcamEditors/FlatCAMGrbEditor.py:1387
msgid "Track Mode 3: 90 degrees ..."
msgstr "Modo de pista 3: 90 grados ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1349
-#: flatcamEditors/FlatCAMGrbEditor.py:1383
+#: flatcamEditors/FlatCAMGrbEditor.py:1348
+#: flatcamEditors/FlatCAMGrbEditor.py:1382
msgid "Track Mode 4: Reverse 90 degrees ..."
msgstr "Modo de pista 4: Invertir 90 grados ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1354
-#: flatcamEditors/FlatCAMGrbEditor.py:1378
+#: flatcamEditors/FlatCAMGrbEditor.py:1353
+#: flatcamEditors/FlatCAMGrbEditor.py:1377
msgid "Track Mode 5: Free angle ..."
msgstr "Modo de pista 5: ángulo libre ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1779
+#: flatcamEditors/FlatCAMGrbEditor.py:1778
msgid "Scale the selected Gerber apertures ..."
msgstr "Escala las aperturas seleccionadas de Gerber ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1821
+#: flatcamEditors/FlatCAMGrbEditor.py:1820
msgid "Buffer the selected apertures ..."
msgstr "Buffer de las aberturas seleccionadas ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1863
+#: flatcamEditors/FlatCAMGrbEditor.py:1862
msgid "Mark polygon areas in the edited Gerber ..."
msgstr "Marcar áreas de polígono en el Gerber editado ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1929
+#: flatcamEditors/FlatCAMGrbEditor.py:1928
msgid "Nothing selected to move"
msgstr "Nada seleccionado para mover"
-#: flatcamEditors/FlatCAMGrbEditor.py:2054
+#: flatcamEditors/FlatCAMGrbEditor.py:2053
msgid "Done. Apertures Move completed."
msgstr "Hecho. Movimiento de aperturas completado."
-#: flatcamEditors/FlatCAMGrbEditor.py:2136
+#: flatcamEditors/FlatCAMGrbEditor.py:2135
msgid "Done. Apertures copied."
msgstr "Hecho. Aberturas copiadas."
-#: flatcamEditors/FlatCAMGrbEditor.py:2447 flatcamGUI/FlatCAMGUI.py:2110
-#: flatcamGUI/PreferencesUI.py:2443
+#: flatcamEditors/FlatCAMGrbEditor.py:2453 flatcamGUI/FlatCAMGUI.py:2218
+#: flatcamGUI/PreferencesUI.py:2623
msgid "Gerber Editor"
msgstr "Gerber Editor"
-#: flatcamEditors/FlatCAMGrbEditor.py:2467 flatcamGUI/ObjectUI.py:223
-#: flatcamTools/ToolProperties.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2473 flatcamGUI/ObjectUI.py:227
+#: flatcamTools/ToolProperties.py:159
msgid "Apertures"
msgstr "Aberturas"
-#: flatcamEditors/FlatCAMGrbEditor.py:2469 flatcamGUI/ObjectUI.py:225
+#: flatcamEditors/FlatCAMGrbEditor.py:2475 flatcamGUI/ObjectUI.py:229
msgid "Apertures Table for the Gerber Object."
msgstr "Tabla de Aperturas para el Objeto Gerber."
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
msgid "Code"
msgstr "Código"
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-msgid "Type"
-msgstr "Tipo"
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
-#: flatcamGUI/PreferencesUI.py:1009 flatcamGUI/PreferencesUI.py:7270
-#: flatcamGUI/PreferencesUI.py:7299 flatcamGUI/PreferencesUI.py:7401
-#: flatcamTools/ToolCopperThieving.py:260
-#: flatcamTools/ToolCopperThieving.py:300 flatcamTools/ToolFiducials.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/PreferencesUI.py:1184 flatcamGUI/PreferencesUI.py:7776
+#: flatcamGUI/PreferencesUI.py:7805 flatcamGUI/PreferencesUI.py:7907
+#: flatcamTools/ToolCopperThieving.py:262
+#: flatcamTools/ToolCopperThieving.py:302 flatcamTools/ToolFiducials.py:156
msgid "Size"
msgstr "Tamaño"
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
msgid "Dim"
msgstr "Dim"
-#: flatcamEditors/FlatCAMGrbEditor.py:2484 flatcamGUI/ObjectUI.py:262
+#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:266
msgid "Index"
msgstr "Índice"
-#: flatcamEditors/FlatCAMGrbEditor.py:2486
-#: flatcamEditors/FlatCAMGrbEditor.py:2515 flatcamGUI/ObjectUI.py:264
+#: flatcamEditors/FlatCAMGrbEditor.py:2492
+#: flatcamEditors/FlatCAMGrbEditor.py:2521 flatcamGUI/ObjectUI.py:268
msgid "Aperture Code"
msgstr "Código de apertura"
-#: flatcamEditors/FlatCAMGrbEditor.py:2488 flatcamGUI/ObjectUI.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:2494 flatcamGUI/ObjectUI.py:270
msgid "Type of aperture: circular, rectangle, macros etc"
msgstr "Tipo de apertura: circular, rectangular, macros, etc"
-#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:268
+#: flatcamEditors/FlatCAMGrbEditor.py:2496 flatcamGUI/ObjectUI.py:272
msgid "Aperture Size:"
msgstr "Tamaño de apertura:"
-#: flatcamEditors/FlatCAMGrbEditor.py:2492 flatcamGUI/ObjectUI.py:270
+#: flatcamEditors/FlatCAMGrbEditor.py:2498 flatcamGUI/ObjectUI.py:274
msgid ""
"Aperture Dimensions:\n"
" - (width, height) for R, O type.\n"
@@ -4790,15 +5123,15 @@ msgstr ""
" - (ancho, alto) para R, O tipo.\n"
" - (dia, nVertices) para tipo P"
-#: flatcamEditors/FlatCAMGrbEditor.py:2516 flatcamGUI/PreferencesUI.py:2474
+#: flatcamEditors/FlatCAMGrbEditor.py:2522 flatcamGUI/PreferencesUI.py:2654
msgid "Code for the new aperture"
msgstr "Código para la nueva apertura"
-#: flatcamEditors/FlatCAMGrbEditor.py:2525
+#: flatcamEditors/FlatCAMGrbEditor.py:2531
msgid "Aperture Size"
msgstr "Tamaño de apertura"
-#: flatcamEditors/FlatCAMGrbEditor.py:2527
+#: flatcamEditors/FlatCAMGrbEditor.py:2533
msgid ""
"Size for the new aperture.\n"
"If aperture type is 'R' or 'O' then\n"
@@ -4812,11 +5145,11 @@ msgstr ""
"calculado como:\n"
"sqrt (ancho ** 2 + altura ** 2)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2541
+#: flatcamEditors/FlatCAMGrbEditor.py:2547
msgid "Aperture Type"
msgstr "Tipo de apertura"
-#: flatcamEditors/FlatCAMGrbEditor.py:2543
+#: flatcamEditors/FlatCAMGrbEditor.py:2549
msgid ""
"Select the type of new aperture. Can be:\n"
"C = circular\n"
@@ -4828,11 +5161,11 @@ msgstr ""
"R = rectangular\n"
"O = oblongo"
-#: flatcamEditors/FlatCAMGrbEditor.py:2554
+#: flatcamEditors/FlatCAMGrbEditor.py:2560
msgid "Aperture Dim"
msgstr "Apertura Dim"
-#: flatcamEditors/FlatCAMGrbEditor.py:2556
+#: flatcamEditors/FlatCAMGrbEditor.py:2562
msgid ""
"Dimensions for the new aperture.\n"
"Active only for rectangular apertures (type R).\n"
@@ -4842,39 +5175,39 @@ msgstr ""
"Activo solo para aberturas rectangulares (tipo R).\n"
"El formato es (ancho, alto)."
-#: flatcamEditors/FlatCAMGrbEditor.py:2565
+#: flatcamEditors/FlatCAMGrbEditor.py:2571
msgid "Add/Delete Aperture"
msgstr "Añadir / Eliminar Apertura"
-#: flatcamEditors/FlatCAMGrbEditor.py:2567
+#: flatcamEditors/FlatCAMGrbEditor.py:2573
msgid "Add/Delete an aperture in the aperture table"
msgstr "Añadir / Eliminar una apertura en la tabla de aperturas"
-#: flatcamEditors/FlatCAMGrbEditor.py:2576
+#: flatcamEditors/FlatCAMGrbEditor.py:2582
msgid "Add a new aperture to the aperture list."
msgstr "Agregar una nueva apertura a la lista de apertura."
-#: flatcamEditors/FlatCAMGrbEditor.py:2581
+#: flatcamEditors/FlatCAMGrbEditor.py:2587
msgid "Delete a aperture in the aperture list"
msgstr "Eliminar una abertura en la lista de aperturas"
-#: flatcamEditors/FlatCAMGrbEditor.py:2598
+#: flatcamEditors/FlatCAMGrbEditor.py:2604
msgid "Buffer Aperture"
msgstr "Apertura del tampón"
-#: flatcamEditors/FlatCAMGrbEditor.py:2600
+#: flatcamEditors/FlatCAMGrbEditor.py:2606
msgid "Buffer a aperture in the aperture list"
msgstr "Buffer de apertura en la lista de apertura"
-#: flatcamEditors/FlatCAMGrbEditor.py:2613 flatcamGUI/PreferencesUI.py:2608
+#: flatcamEditors/FlatCAMGrbEditor.py:2619 flatcamGUI/PreferencesUI.py:2790
msgid "Buffer distance"
msgstr "Dist. de buffer"
-#: flatcamEditors/FlatCAMGrbEditor.py:2614
+#: flatcamEditors/FlatCAMGrbEditor.py:2620
msgid "Buffer corner"
msgstr "Rincón del búfer"
-#: flatcamEditors/FlatCAMGrbEditor.py:2616
+#: flatcamEditors/FlatCAMGrbEditor.py:2622
msgid ""
"There are 3 types of corners:\n"
" - 'Round': the corner is rounded.\n"
@@ -4888,27 +5221,26 @@ msgstr ""
" - 'Biselado:' la esquina es una línea que conecta directamente las "
"funciones que se encuentran en la esquina"
-#: flatcamEditors/FlatCAMGrbEditor.py:2631 flatcamGUI/FlatCAMGUI.py:978
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2087
-#: flatcamGUI/FlatCAMGUI.py:2130 flatcamGUI/FlatCAMGUI.py:2547
-#: flatcamGUI/PreferencesUI.py:6393 flatcamTools/ToolTransform.py:30
-#: flatcamTools/ToolTransform.py:349
+#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:1046
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2195
+#: flatcamGUI/FlatCAMGUI.py:2238 flatcamGUI/FlatCAMGUI.py:2721
+#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolTransform.py:30
msgid "Buffer"
msgstr "Buffer"
-#: flatcamEditors/FlatCAMGrbEditor.py:2646
+#: flatcamEditors/FlatCAMGrbEditor.py:2652
msgid "Scale Aperture"
msgstr "Apertura de la escala"
-#: flatcamEditors/FlatCAMGrbEditor.py:2648
+#: flatcamEditors/FlatCAMGrbEditor.py:2654
msgid "Scale a aperture in the aperture list"
msgstr "Escala una abertura en la lista de aperturas"
-#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/PreferencesUI.py:2623
+#: flatcamEditors/FlatCAMGrbEditor.py:2662 flatcamGUI/PreferencesUI.py:2805
msgid "Scale factor"
msgstr "Factor de escala"
-#: flatcamEditors/FlatCAMGrbEditor.py:2658
+#: flatcamEditors/FlatCAMGrbEditor.py:2664
msgid ""
"The factor by which to scale the selected aperture.\n"
"Values can be between 0.0000 and 999.9999"
@@ -4916,19 +5248,19 @@ msgstr ""
"El factor por el cual escalar la apertura seleccionada.\n"
"Los valores pueden estar entre 0.0000 y 999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2686
+#: flatcamEditors/FlatCAMGrbEditor.py:2692
msgid "Mark polygons"
msgstr "Marcar polígonos"
-#: flatcamEditors/FlatCAMGrbEditor.py:2688
+#: flatcamEditors/FlatCAMGrbEditor.py:2694
msgid "Mark the polygon areas."
msgstr "Marca las áreas del polígono."
-#: flatcamEditors/FlatCAMGrbEditor.py:2696
+#: flatcamEditors/FlatCAMGrbEditor.py:2702
msgid "Area UPPER threshold"
msgstr "Umbral SUPERIOR área"
-#: flatcamEditors/FlatCAMGrbEditor.py:2698
+#: flatcamEditors/FlatCAMGrbEditor.py:2704
msgid ""
"The threshold value, all areas less than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
@@ -4936,11 +5268,11 @@ msgstr ""
"El valor de umbral, todas las áreas menos que esto están marcadas.\n"
"Puede tener un valor entre 0.0000 y 9999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2705
+#: flatcamEditors/FlatCAMGrbEditor.py:2711
msgid "Area LOWER threshold"
msgstr "Umbral inferior de la zona"
-#: flatcamEditors/FlatCAMGrbEditor.py:2707
+#: flatcamEditors/FlatCAMGrbEditor.py:2713
msgid ""
"The threshold value, all areas more than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
@@ -4948,36 +5280,32 @@ msgstr ""
"El valor de umbral, todas las áreas más que esto están marcadas.\n"
"Puede tener un valor entre 0.0000 y 9999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2721
+#: flatcamEditors/FlatCAMGrbEditor.py:2727
msgid "Mark"
msgstr "Marque"
-#: flatcamEditors/FlatCAMGrbEditor.py:2723
+#: flatcamEditors/FlatCAMGrbEditor.py:2729
msgid "Mark the polygons that fit within limits."
msgstr "Marque los polígonos que se ajustan dentro de los límites."
-#: flatcamEditors/FlatCAMGrbEditor.py:2729
+#: flatcamEditors/FlatCAMGrbEditor.py:2735
msgid "Delete all the marked polygons."
msgstr "Eliminar todos los polígonos marcados."
-#: flatcamEditors/FlatCAMGrbEditor.py:2733
-msgid "Clear"
-msgstr "Limpiar"
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2735
+#: flatcamEditors/FlatCAMGrbEditor.py:2741
msgid "Clear all the markings."
msgstr "Borra todas las marcas."
-#: flatcamEditors/FlatCAMGrbEditor.py:2755 flatcamGUI/FlatCAMGUI.py:963
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamEditors/FlatCAMGrbEditor.py:2761 flatcamGUI/FlatCAMGUI.py:1031
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2706
msgid "Add Pad Array"
msgstr "Agregar matriz de pad"
-#: flatcamEditors/FlatCAMGrbEditor.py:2757
+#: flatcamEditors/FlatCAMGrbEditor.py:2763
msgid "Add an array of pads (linear or circular array)"
msgstr "Añadir una matriz de pads (lineal o circular)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2763
+#: flatcamEditors/FlatCAMGrbEditor.py:2769
msgid ""
"Select the type of pads array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -4985,15 +5313,15 @@ msgstr ""
"Seleccione el tipo de matriz de pads para crear.\n"
"Puede ser Lineal X (Y) o Circular"
-#: flatcamEditors/FlatCAMGrbEditor.py:2774 flatcamGUI/PreferencesUI.py:2511
+#: flatcamEditors/FlatCAMGrbEditor.py:2780 flatcamGUI/PreferencesUI.py:2691
msgid "Nr of pads"
msgstr "Nº de almohadillas"
-#: flatcamEditors/FlatCAMGrbEditor.py:2776 flatcamGUI/PreferencesUI.py:2513
+#: flatcamEditors/FlatCAMGrbEditor.py:2782 flatcamGUI/PreferencesUI.py:2693
msgid "Specify how many pads to be in the array."
msgstr "Especifique cuántos pads estarán en la matriz."
-#: flatcamEditors/FlatCAMGrbEditor.py:2825
+#: flatcamEditors/FlatCAMGrbEditor.py:2831
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -5005,14 +5333,14 @@ msgstr ""
"El valor mínimo es: -359.99 grados.\n"
"El valor máximo es: 360.00 grados."
-#: flatcamEditors/FlatCAMGrbEditor.py:3307
-#: flatcamEditors/FlatCAMGrbEditor.py:3311
+#: flatcamEditors/FlatCAMGrbEditor.py:3321
+#: flatcamEditors/FlatCAMGrbEditor.py:3325
msgid "Aperture code value is missing or wrong format. Add it and retry."
msgstr ""
"Falta el valor del código de apertura o el formato es incorrecto. Agrégalo y "
"vuelve a intentarlo."
-#: flatcamEditors/FlatCAMGrbEditor.py:3347
+#: flatcamEditors/FlatCAMGrbEditor.py:3361
msgid ""
"Aperture dimensions value is missing or wrong format. Add it in format "
"(width, height) and retry."
@@ -5020,186 +5348,186 @@ msgstr ""
"Falta el valor de las dimensiones de la abertura o el formato es incorrecto. "
"Agréguelo en formato (ancho, alto) y vuelva a intentarlo."
-#: flatcamEditors/FlatCAMGrbEditor.py:3360
+#: flatcamEditors/FlatCAMGrbEditor.py:3374
msgid "Aperture size value is missing or wrong format. Add it and retry."
msgstr ""
"Falta el valor del tamaño de la apertura o el formato es incorrecto. "
"Agrégalo y vuelve a intentarlo."
-#: flatcamEditors/FlatCAMGrbEditor.py:3371
+#: flatcamEditors/FlatCAMGrbEditor.py:3385
msgid "Aperture already in the aperture table."
msgstr "Apertura ya en la mesa de apertura."
-#: flatcamEditors/FlatCAMGrbEditor.py:3379
+#: flatcamEditors/FlatCAMGrbEditor.py:3393
msgid "Added new aperture with code"
msgstr "Agregada nueva apertura con código"
-#: flatcamEditors/FlatCAMGrbEditor.py:3408
+#: flatcamEditors/FlatCAMGrbEditor.py:3422
msgid " Select an aperture in Aperture Table"
msgstr " Seleccione una abertura en la Mesa de Apertura"
-#: flatcamEditors/FlatCAMGrbEditor.py:3416
+#: flatcamEditors/FlatCAMGrbEditor.py:3430
msgid "Select an aperture in Aperture Table -->"
msgstr "Seleccione una abertura en la Tabla de Apertura ->"
-#: flatcamEditors/FlatCAMGrbEditor.py:3439
+#: flatcamEditors/FlatCAMGrbEditor.py:3453
msgid "Deleted aperture with code"
msgstr "Apertura eliminada con código"
-#: flatcamEditors/FlatCAMGrbEditor.py:3924
+#: flatcamEditors/FlatCAMGrbEditor.py:3950
msgid "Loading Gerber into Editor"
msgstr "Cargando Gerber en el Editor"
-#: flatcamEditors/FlatCAMGrbEditor.py:4034
+#: flatcamEditors/FlatCAMGrbEditor.py:4078
msgid "Setting up the UI"
msgstr "Configurar la IU"
-#: flatcamEditors/FlatCAMGrbEditor.py:4035
+#: flatcamEditors/FlatCAMGrbEditor.py:4079
msgid "Adding geometry finished. Preparing the GUI"
msgstr "Adición de geometría terminada. Preparando la GUI"
-#: flatcamEditors/FlatCAMGrbEditor.py:4044
+#: flatcamEditors/FlatCAMGrbEditor.py:4088
msgid "Finished loading the Gerber object into the editor."
msgstr "Terminó de cargar el objeto Gerber en el editor."
-#: flatcamEditors/FlatCAMGrbEditor.py:4184
+#: flatcamEditors/FlatCAMGrbEditor.py:4228
msgid ""
"There are no Aperture definitions in the file. Aborting Gerber creation."
msgstr ""
"No hay definiciones de Aperture en el archivo. Abortando la creación de "
"Gerber."
-#: flatcamEditors/FlatCAMGrbEditor.py:4194
+#: flatcamEditors/FlatCAMGrbEditor.py:4238
msgid "Creating Gerber."
msgstr "Creación de Gerber."
-#: flatcamEditors/FlatCAMGrbEditor.py:4203
+#: flatcamEditors/FlatCAMGrbEditor.py:4247
msgid "Done. Gerber editing finished."
msgstr "La edición de gerber terminó."
-#: flatcamEditors/FlatCAMGrbEditor.py:4222
+#: flatcamEditors/FlatCAMGrbEditor.py:4265
msgid "Cancelled. No aperture is selected"
msgstr "Cancelado. No se selecciona ninguna apertura"
-#: flatcamEditors/FlatCAMGrbEditor.py:4782
+#: flatcamEditors/FlatCAMGrbEditor.py:4826
msgid "Failed. No aperture geometry is selected."
msgstr "Ha fallado. No se selecciona ninguna geometría de apertura."
-#: flatcamEditors/FlatCAMGrbEditor.py:4791
-#: flatcamEditors/FlatCAMGrbEditor.py:5062
+#: flatcamEditors/FlatCAMGrbEditor.py:4835
+#: flatcamEditors/FlatCAMGrbEditor.py:5106
msgid "Done. Apertures geometry deleted."
msgstr "Hecho. Geometría de las aberturas eliminadas."
-#: flatcamEditors/FlatCAMGrbEditor.py:4934
+#: flatcamEditors/FlatCAMGrbEditor.py:4978
msgid "No aperture to buffer. Select at least one aperture and try again."
msgstr ""
"No hay apertura para amortiguar. Seleccione al menos una abertura e intente "
"de nuevo."
-#: flatcamEditors/FlatCAMGrbEditor.py:4946
+#: flatcamEditors/FlatCAMGrbEditor.py:4990
msgid "Failed."
msgstr "Ha fallado."
-#: flatcamEditors/FlatCAMGrbEditor.py:4965
+#: flatcamEditors/FlatCAMGrbEditor.py:5009
msgid "Scale factor value is missing or wrong format. Add it and retry."
msgstr ""
"Falta el valor del factor de escala o el formato es incorrecto. Agrégalo y "
"vuelve a intentarlo."
-#: flatcamEditors/FlatCAMGrbEditor.py:4997
+#: flatcamEditors/FlatCAMGrbEditor.py:5041
msgid "No aperture to scale. Select at least one aperture and try again."
msgstr ""
"Sin apertura a escala. Seleccione al menos una abertura e intente de nuevo."
-#: flatcamEditors/FlatCAMGrbEditor.py:5013
+#: flatcamEditors/FlatCAMGrbEditor.py:5057
msgid "Done. Scale Tool completed."
msgstr "Hecho. Herramienta de escala completada."
-#: flatcamEditors/FlatCAMGrbEditor.py:5051
+#: flatcamEditors/FlatCAMGrbEditor.py:5095
msgid "Polygons marked."
msgstr "Polígonos marcados."
-#: flatcamEditors/FlatCAMGrbEditor.py:5054
+#: flatcamEditors/FlatCAMGrbEditor.py:5098
msgid "No polygons were marked. None fit within the limits."
msgstr "No se marcaron polígonos. Ninguno encaja dentro de los límites."
-#: flatcamEditors/FlatCAMGrbEditor.py:5783
+#: flatcamEditors/FlatCAMGrbEditor.py:5822
msgid "Rotation action was not executed."
msgstr "La acción de Rotación no se ejecutó."
-#: flatcamEditors/FlatCAMGrbEditor.py:5919
+#: flatcamEditors/FlatCAMGrbEditor.py:5950
msgid "Skew action was not executed."
msgstr "La acción Sesgada no se ejecutó."
-#: flatcamEditors/FlatCAMGrbEditor.py:5986
+#: flatcamEditors/FlatCAMGrbEditor.py:6015
msgid "Scale action was not executed."
msgstr "La acción de Escala no se ejecutó."
-#: flatcamEditors/FlatCAMGrbEditor.py:6029
+#: flatcamEditors/FlatCAMGrbEditor.py:6058
msgid "Offset action was not executed."
msgstr "La acción de Desplazamiento no se ejecutó."
-#: flatcamEditors/FlatCAMGrbEditor.py:6079
+#: flatcamEditors/FlatCAMGrbEditor.py:6108
msgid "Geometry shape offset Y cancelled"
msgstr "Forma de geometría offset Y cancelada"
-#: flatcamEditors/FlatCAMGrbEditor.py:6094
+#: flatcamEditors/FlatCAMGrbEditor.py:6123
msgid "Geometry shape skew X cancelled"
msgstr "Forma geométrica sesgada X cancelada"
-#: flatcamEditors/FlatCAMGrbEditor.py:6109
+#: flatcamEditors/FlatCAMGrbEditor.py:6138
msgid "Geometry shape skew Y cancelled"
msgstr "Forma geométrica sesgada Y cancelada"
-#: flatcamEditors/FlatCAMTextEditor.py:72
+#: flatcamEditors/FlatCAMTextEditor.py:74
msgid "Print Preview"
msgstr "Vista previa de impres"
-#: flatcamEditors/FlatCAMTextEditor.py:73
+#: flatcamEditors/FlatCAMTextEditor.py:75
msgid "Open a OS standard Preview Print window."
msgstr ""
"Abra una ventana de Vista previa de impresión estándar del sistema operativo."
-#: flatcamEditors/FlatCAMTextEditor.py:76
+#: flatcamEditors/FlatCAMTextEditor.py:78
msgid "Print Code"
msgstr "Imprimir código"
-#: flatcamEditors/FlatCAMTextEditor.py:77
+#: flatcamEditors/FlatCAMTextEditor.py:79
msgid "Open a OS standard Print window."
msgstr "Abra una ventana de impresión estándar del sistema operativo."
-#: flatcamEditors/FlatCAMTextEditor.py:79
+#: flatcamEditors/FlatCAMTextEditor.py:81
msgid "Find in Code"
msgstr "Encontr. en codigo"
-#: flatcamEditors/FlatCAMTextEditor.py:80
+#: flatcamEditors/FlatCAMTextEditor.py:82
msgid "Will search and highlight in yellow the string in the Find box."
msgstr "Buscará y resaltará en amarillo la cadena en el Encuentra caja."
-#: flatcamEditors/FlatCAMTextEditor.py:84
+#: flatcamEditors/FlatCAMTextEditor.py:86
msgid "Find box. Enter here the strings to be searched in the text."
msgstr "Encuentra caja. Ingrese aquí las cadenas a buscar en el texto."
-#: flatcamEditors/FlatCAMTextEditor.py:86
+#: flatcamEditors/FlatCAMTextEditor.py:88
msgid "Replace With"
msgstr "Reemplazar con"
-#: flatcamEditors/FlatCAMTextEditor.py:87
+#: flatcamEditors/FlatCAMTextEditor.py:89
msgid ""
"Will replace the string from the Find box with the one in the Replace box."
msgstr "Reemplazará la cadena del cuadro Buscar con la del cuadro Reemplazar."
-#: flatcamEditors/FlatCAMTextEditor.py:91
+#: flatcamEditors/FlatCAMTextEditor.py:93
msgid "String to replace the one in the Find box throughout the text."
msgstr "Cadena para reemplazar la del cuadro Buscar en todo el texto."
-#: flatcamEditors/FlatCAMTextEditor.py:93 flatcamGUI/ObjectUI.py:482
-#: flatcamGUI/ObjectUI.py:1809 flatcamGUI/PreferencesUI.py:2070
-#: flatcamGUI/PreferencesUI.py:4419 flatcamGUI/PreferencesUI.py:5647
+#: flatcamEditors/FlatCAMTextEditor.py:95 flatcamGUI/ObjectUI.py:485
+#: flatcamGUI/ObjectUI.py:2137 flatcamGUI/PreferencesUI.py:2250
+#: flatcamGUI/PreferencesUI.py:4712
msgid "All"
msgstr "Todos"
-#: flatcamEditors/FlatCAMTextEditor.py:94
+#: flatcamEditors/FlatCAMTextEditor.py:96
msgid ""
"When checked it will replace all instances in the 'Find' box\n"
"with the text in the 'Replace' box.."
@@ -5207,162 +5535,171 @@ msgstr ""
"Cuando está marcado, reemplazará todas las instancias en el cuadro 'Buscar'\n"
"con el texto en el cuadro 'Reemplazar' .."
-#: flatcamEditors/FlatCAMTextEditor.py:97
+#: flatcamEditors/FlatCAMTextEditor.py:99
msgid "Copy All"
msgstr "Cópialo todo"
-#: flatcamEditors/FlatCAMTextEditor.py:98
+#: flatcamEditors/FlatCAMTextEditor.py:100
msgid "Will copy all the text in the Code Editor to the clipboard."
msgstr "Copiará todo el texto en el Editor de Código al portapapeles."
-#: flatcamEditors/FlatCAMTextEditor.py:101
+#: flatcamEditors/FlatCAMTextEditor.py:103
msgid "Open Code"
msgstr "Código abierto"
-#: flatcamEditors/FlatCAMTextEditor.py:102
+#: flatcamEditors/FlatCAMTextEditor.py:104
msgid "Will open a text file in the editor."
msgstr "Se abrirá un archivo de texto en el editor."
-#: flatcamEditors/FlatCAMTextEditor.py:104
+#: flatcamEditors/FlatCAMTextEditor.py:106
msgid "Save Code"
msgstr "Guardar código"
-#: flatcamEditors/FlatCAMTextEditor.py:105
+#: flatcamEditors/FlatCAMTextEditor.py:107
msgid "Will save the text in the editor into a file."
msgstr "Guardará el texto en el editor en un archivo."
-#: flatcamEditors/FlatCAMTextEditor.py:107
+#: flatcamEditors/FlatCAMTextEditor.py:109
msgid "Run Code"
msgstr "Ejecutar código"
-#: flatcamEditors/FlatCAMTextEditor.py:108
+#: flatcamEditors/FlatCAMTextEditor.py:110
msgid "Will run the TCL commands found in the text file, one by one."
msgstr ""
"Ejecutará los comandos TCL encontrados en el archivo de texto, uno por uno."
-#: flatcamEditors/FlatCAMTextEditor.py:182
+#: flatcamEditors/FlatCAMTextEditor.py:184
msgid "Open file"
msgstr "Abrir documento"
-#: flatcamEditors/FlatCAMTextEditor.py:213
-#: flatcamEditors/FlatCAMTextEditor.py:218
+#: flatcamEditors/FlatCAMTextEditor.py:215
+#: flatcamEditors/FlatCAMTextEditor.py:220
msgid "Export Code ..."
msgstr "Exportar el código ..."
-#: flatcamEditors/FlatCAMTextEditor.py:221
-msgid "Export Code cancelled."
-msgstr "Exportación de Código cancelada."
-
-#: flatcamEditors/FlatCAMTextEditor.py:332
+#: flatcamEditors/FlatCAMTextEditor.py:334
msgid "Code Editor content copied to clipboard ..."
msgstr "Contenido del editor de código copiado al portapapeles ..."
-#: flatcamGUI/FlatCAMGUI.py:52 flatcamGUI/FlatCAMGUI.py:54
-#: flatcamGUI/FlatCAMGUI.py:2040
+#: flatcamGUI/FlatCAMGUI.py:66 flatcamGUI/FlatCAMGUI.py:68
+#: flatcamGUI/FlatCAMGUI.py:2148
msgid "Toggle Panel"
msgstr "Panel de palanca"
-#: flatcamGUI/FlatCAMGUI.py:64
+#: flatcamGUI/FlatCAMGUI.py:78
msgid "File"
msgstr "Archivo"
-#: flatcamGUI/FlatCAMGUI.py:69
-msgid "&New Project ...\tCTRL+N"
-msgstr "&Nuevo proyecto ...\tCTRL+N"
+#: flatcamGUI/FlatCAMGUI.py:83
+msgid "&New Project ...\tCtrl+N"
+msgstr "&Nuevo proyecto ...\tCtrl+N"
-#: flatcamGUI/FlatCAMGUI.py:71
+#: flatcamGUI/FlatCAMGUI.py:85
msgid "Will create a new, blank project"
msgstr "Creará un nuevo proyecto en blanco"
-#: flatcamGUI/FlatCAMGUI.py:76
+#: flatcamGUI/FlatCAMGUI.py:90
msgid "&New"
msgstr "&Nuevo"
-#: flatcamGUI/FlatCAMGUI.py:80
+#: flatcamGUI/FlatCAMGUI.py:94
msgid "Geometry\tN"
msgstr "Geometría\tN"
-#: flatcamGUI/FlatCAMGUI.py:82
+#: flatcamGUI/FlatCAMGUI.py:96
msgid "Will create a new, empty Geometry Object."
msgstr "Creará un nuevo objeto vacío de geometría."
-#: flatcamGUI/FlatCAMGUI.py:84
+#: flatcamGUI/FlatCAMGUI.py:99
msgid "Gerber\tB"
msgstr "Gerber\tB"
-#: flatcamGUI/FlatCAMGUI.py:86
+#: flatcamGUI/FlatCAMGUI.py:101
msgid "Will create a new, empty Gerber Object."
msgstr "Creará un nuevo objeto vacío de Gerber."
-#: flatcamGUI/FlatCAMGUI.py:88
+#: flatcamGUI/FlatCAMGUI.py:104
msgid "Excellon\tL"
msgstr "Excellon\tL"
-#: flatcamGUI/FlatCAMGUI.py:90
+#: flatcamGUI/FlatCAMGUI.py:106
msgid "Will create a new, empty Excellon Object."
msgstr "Creará un objeto Excellon nuevo y vacío."
-#: flatcamGUI/FlatCAMGUI.py:94
+#: flatcamGUI/FlatCAMGUI.py:111
msgid "Document\tD"
msgstr "Documento\tD"
-#: flatcamGUI/FlatCAMGUI.py:96
+#: flatcamGUI/FlatCAMGUI.py:113
msgid "Will create a new, empty Document Object."
msgstr "Creará un nuevo objeto de Documento vacío."
-#: flatcamGUI/FlatCAMGUI.py:99 flatcamGUI/FlatCAMGUI.py:4111
+#: flatcamGUI/FlatCAMGUI.py:117 flatcamGUI/FlatCAMGUI.py:4327
#: flatcamTools/ToolPcbWizard.py:62 flatcamTools/ToolPcbWizard.py:69
msgid "Open"
msgstr "Abierto"
-#: flatcamGUI/FlatCAMGUI.py:103
+#: flatcamGUI/FlatCAMGUI.py:122
msgid "Open &Project ..."
msgstr "Abierto &Project ..."
-#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121
-msgid "Open &Gerber ...\tCTRL+G"
-msgstr "Abierto &Gerber ...\tCTRL+G"
+#: flatcamGUI/FlatCAMGUI.py:128 flatcamGUI/FlatCAMGUI.py:4337
+msgid "Open &Gerber ...\tCtrl+G"
+msgstr "Abierto &Gerber ...\tCtrl+G"
-#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126
-msgid "Open &Excellon ...\tCTRL+E"
-msgstr "Abierto &Excellon ...\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:133 flatcamGUI/FlatCAMGUI.py:4342
+msgid "Open &Excellon ...\tCtrl+E"
+msgstr "Abierto &Excellon ...\tCtrl+E"
-#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131
+#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:4347
msgid "Open G-&Code ..."
msgstr "Abierto G-&Code ..."
-#: flatcamGUI/FlatCAMGUI.py:124
+#: flatcamGUI/FlatCAMGUI.py:145
msgid "Open Config ..."
msgstr "Abierto Config ..."
-#: flatcamGUI/FlatCAMGUI.py:128
+#: flatcamGUI/FlatCAMGUI.py:150
msgid "Recent projects"
msgstr "Proyectos recientes"
-#: flatcamGUI/FlatCAMGUI.py:129
+#: flatcamGUI/FlatCAMGUI.py:152
msgid "Recent files"
msgstr "Archivos recientes"
-#: flatcamGUI/FlatCAMGUI.py:135
+#: flatcamGUI/FlatCAMGUI.py:155 flatcamGUI/FlatCAMGUI.py:738
+#: flatcamGUI/FlatCAMGUI.py:1324
+msgid "Save"
+msgstr "Salvar"
+
+#: flatcamGUI/FlatCAMGUI.py:159
+msgid "&Save Project ...\tCtrl+S"
+msgstr "Guardar proyecto...\tCtrl+S"
+
+#: flatcamGUI/FlatCAMGUI.py:164
+msgid "Save Project &As ...\tCtrl+Shift+S"
+msgstr "Guardar proyecto como...\tCtrl+Shift+S"
+
+#: flatcamGUI/FlatCAMGUI.py:179
msgid "Scripting"
msgstr "Scripting"
-#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:829
-#: flatcamGUI/FlatCAMGUI.py:2409
+#: flatcamGUI/FlatCAMGUI.py:183 flatcamGUI/FlatCAMGUI.py:888
+#: flatcamGUI/FlatCAMGUI.py:2567
msgid "New Script ..."
msgstr "Nuevo Script ..."
-#: flatcamGUI/FlatCAMGUI.py:139 flatcamGUI/FlatCAMGUI.py:831
-#: flatcamGUI/FlatCAMGUI.py:2411
+#: flatcamGUI/FlatCAMGUI.py:185 flatcamGUI/FlatCAMGUI.py:890
+#: flatcamGUI/FlatCAMGUI.py:2569
msgid "Open Script ..."
msgstr "Abrir Script ..."
-#: flatcamGUI/FlatCAMGUI.py:141 flatcamGUI/FlatCAMGUI.py:833
-#: flatcamGUI/FlatCAMGUI.py:2413 flatcamGUI/FlatCAMGUI.py:4100
+#: flatcamGUI/FlatCAMGUI.py:187 flatcamGUI/FlatCAMGUI.py:892
+#: flatcamGUI/FlatCAMGUI.py:2571 flatcamGUI/FlatCAMGUI.py:4316
msgid "Run Script ..."
msgstr "Ejecutar Script ..."
-#: flatcamGUI/FlatCAMGUI.py:143 flatcamGUI/FlatCAMGUI.py:4102
+#: flatcamGUI/FlatCAMGUI.py:189 flatcamGUI/FlatCAMGUI.py:4318
msgid ""
"Will run the opened Tcl Script thus\n"
"enabling the automation of certain\n"
@@ -5372,47 +5709,47 @@ msgstr ""
"permitiendo la automatización de ciertos\n"
"Funciones de FlatCAM."
-#: flatcamGUI/FlatCAMGUI.py:156
+#: flatcamGUI/FlatCAMGUI.py:203
msgid "Import"
msgstr "Importar"
-#: flatcamGUI/FlatCAMGUI.py:158
+#: flatcamGUI/FlatCAMGUI.py:205
msgid "&SVG as Geometry Object ..."
msgstr "&SVG como objeto de geometría ..."
-#: flatcamGUI/FlatCAMGUI.py:161
+#: flatcamGUI/FlatCAMGUI.py:208
msgid "&SVG as Gerber Object ..."
msgstr "&SVG como objeto de Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:166
+#: flatcamGUI/FlatCAMGUI.py:213
msgid "&DXF as Geometry Object ..."
msgstr "&DXF como objeto de geometría ..."
-#: flatcamGUI/FlatCAMGUI.py:169
+#: flatcamGUI/FlatCAMGUI.py:216
msgid "&DXF as Gerber Object ..."
msgstr "&DXF como objeto de Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:173
+#: flatcamGUI/FlatCAMGUI.py:220
msgid "HPGL2 as Geometry Object ..."
msgstr "HPGL2 como objeto de geometría ..."
-#: flatcamGUI/FlatCAMGUI.py:178
+#: flatcamGUI/FlatCAMGUI.py:226
msgid "Export"
msgstr "Exportar"
-#: flatcamGUI/FlatCAMGUI.py:181
+#: flatcamGUI/FlatCAMGUI.py:230
msgid "Export &SVG ..."
msgstr "Exportar &SVG ..."
-#: flatcamGUI/FlatCAMGUI.py:184
+#: flatcamGUI/FlatCAMGUI.py:234
msgid "Export DXF ..."
msgstr "Exportar DXF ..."
-#: flatcamGUI/FlatCAMGUI.py:189
+#: flatcamGUI/FlatCAMGUI.py:240
msgid "Export &PNG ..."
msgstr "Exportar &PNG ..."
-#: flatcamGUI/FlatCAMGUI.py:191
+#: flatcamGUI/FlatCAMGUI.py:242
msgid ""
"Will export an image in PNG format,\n"
"the saved image will contain the visual \n"
@@ -5422,11 +5759,11 @@ msgstr ""
"La imagen guardada contendrá lo visual.\n"
"Información actualmente en FlatCAM Plot Area."
-#: flatcamGUI/FlatCAMGUI.py:200
+#: flatcamGUI/FlatCAMGUI.py:251
msgid "Export &Excellon ..."
msgstr "Exportación y Excellon ..."
-#: flatcamGUI/FlatCAMGUI.py:202
+#: flatcamGUI/FlatCAMGUI.py:253
msgid ""
"Will export an Excellon Object as Excellon file,\n"
"the coordinates format, the file units and zeros\n"
@@ -5436,11 +5773,11 @@ msgstr ""
"El formato de las coordenadas, las unidades de archivo y los ceros.\n"
"se configuran en Preferencias -> Exportación de Excellon."
-#: flatcamGUI/FlatCAMGUI.py:209
+#: flatcamGUI/FlatCAMGUI.py:260
msgid "Export &Gerber ..."
msgstr "Exportar &Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:211
+#: flatcamGUI/FlatCAMGUI.py:262
msgid ""
"Will export an Gerber Object as Gerber file,\n"
"the coordinates format, the file units and zeros\n"
@@ -5450,65 +5787,48 @@ msgstr ""
"El formato de las coordenadas, las unidades de archivo y los ceros.\n"
"se establecen en Preferencias -> Exportar Gerber."
-#: flatcamGUI/FlatCAMGUI.py:229
+#: flatcamGUI/FlatCAMGUI.py:272
msgid "Backup"
msgstr "Apoyo"
-#: flatcamGUI/FlatCAMGUI.py:233
+#: flatcamGUI/FlatCAMGUI.py:277
msgid "Import Preferences from file ..."
msgstr "Importar preferencias del archivo ..."
-#: flatcamGUI/FlatCAMGUI.py:238
+#: flatcamGUI/FlatCAMGUI.py:283
msgid "Export Preferences to file ..."
msgstr "Exportar preferencias a un archivo ..."
-#: flatcamGUI/FlatCAMGUI.py:244 flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:297 flatcamGUI/FlatCAMGUI.py:1715
msgid "Print (PDF)"
msgstr "Imprimir (PDF)"
-#: flatcamGUI/FlatCAMGUI.py:247 flatcamGUI/FlatCAMGUI.py:682
-#: flatcamGUI/FlatCAMGUI.py:1252
-msgid "Save"
-msgstr "Salvar"
-
-#: flatcamGUI/FlatCAMGUI.py:251
-msgid "&Save Project ..."
-msgstr "Salvar proyecto ..."
-
-#: flatcamGUI/FlatCAMGUI.py:256
-msgid "Save Project &As ...\tCTRL+S"
-msgstr "Guardar proyecto como...\tCTRL+S"
-
-#: flatcamGUI/FlatCAMGUI.py:261
-msgid "Save Project C&opy ..."
-msgstr "Guardar copia del proyecto ..."
-
-#: flatcamGUI/FlatCAMGUI.py:271
+#: flatcamGUI/FlatCAMGUI.py:305
msgid "E&xit"
msgstr "Salida"
-#: flatcamGUI/FlatCAMGUI.py:279 flatcamGUI/FlatCAMGUI.py:676
-#: flatcamGUI/FlatCAMGUI.py:2163
+#: flatcamGUI/FlatCAMGUI.py:313 flatcamGUI/FlatCAMGUI.py:732
+#: flatcamGUI/FlatCAMGUI.py:2271
msgid "Edit"
msgstr "Editar"
-#: flatcamGUI/FlatCAMGUI.py:283
+#: flatcamGUI/FlatCAMGUI.py:317
msgid "Edit Object\tE"
msgstr "Editar objeto\tE"
-#: flatcamGUI/FlatCAMGUI.py:285
-msgid "Close Editor\tCTRL+S"
-msgstr "Cerrar Editor\tCTRL+S"
+#: flatcamGUI/FlatCAMGUI.py:319
+msgid "Close Editor\tCtrl+S"
+msgstr "Cerrar Editor\tCtrl+S"
-#: flatcamGUI/FlatCAMGUI.py:294
+#: flatcamGUI/FlatCAMGUI.py:328
msgid "Conversion"
msgstr "Conversión"
-#: flatcamGUI/FlatCAMGUI.py:296
+#: flatcamGUI/FlatCAMGUI.py:330
msgid "&Join Geo/Gerber/Exc -> Geo"
msgstr "Unirse Geo/Gerber/Exc -> Geo"
-#: flatcamGUI/FlatCAMGUI.py:298
+#: flatcamGUI/FlatCAMGUI.py:332
msgid ""
"Merge a selection of objects, which can be of type:\n"
"- Gerber\n"
@@ -5522,30 +5842,30 @@ msgstr ""
"- Geometría\n"
"en un nuevo objeto de geometría combo."
-#: flatcamGUI/FlatCAMGUI.py:305
+#: flatcamGUI/FlatCAMGUI.py:339
msgid "Join Excellon(s) -> Excellon"
msgstr "Únete a Excellon (s) -> Excellon"
-#: flatcamGUI/FlatCAMGUI.py:307
+#: flatcamGUI/FlatCAMGUI.py:341
msgid "Merge a selection of Excellon objects into a new combo Excellon object."
msgstr ""
"Combine una selección de objetos de Excellon en un nuevo objeto de Excellon "
"combinado."
-#: flatcamGUI/FlatCAMGUI.py:310
+#: flatcamGUI/FlatCAMGUI.py:344
msgid "Join Gerber(s) -> Gerber"
msgstr "Únete a Gerber (s) -> Gerber"
-#: flatcamGUI/FlatCAMGUI.py:312
+#: flatcamGUI/FlatCAMGUI.py:346
msgid "Merge a selection of Gerber objects into a new combo Gerber object."
msgstr ""
"Combine una selección de objetos Gerber en un nuevo objeto combo Gerber."
-#: flatcamGUI/FlatCAMGUI.py:317
+#: flatcamGUI/FlatCAMGUI.py:351
msgid "Convert Single to MultiGeo"
msgstr "Convertir solo geo a multi geo"
-#: flatcamGUI/FlatCAMGUI.py:319
+#: flatcamGUI/FlatCAMGUI.py:353
msgid ""
"Will convert a Geometry object from single_geometry type\n"
"to a multi_geometry type."
@@ -5553,11 +5873,11 @@ msgstr ""
"Convertirá un objeto de geometría de un tipo de geometría única\n"
"a un tipo de geometría múltiple."
-#: flatcamGUI/FlatCAMGUI.py:323
+#: flatcamGUI/FlatCAMGUI.py:357
msgid "Convert Multi to SingleGeo"
msgstr "Convertir multi a solo Geo"
-#: flatcamGUI/FlatCAMGUI.py:325
+#: flatcamGUI/FlatCAMGUI.py:359
msgid ""
"Will convert a Geometry object from multi_geometry type\n"
"to a single_geometry type."
@@ -5565,734 +5885,744 @@ msgstr ""
"Convertirá un objeto de geometría de tipo de geometría múltiple\n"
"a un solo tipo de geometría."
-#: flatcamGUI/FlatCAMGUI.py:332
+#: flatcamGUI/FlatCAMGUI.py:366
msgid "Convert Any to Geo"
msgstr "Convertir cualquiera a Geo"
-#: flatcamGUI/FlatCAMGUI.py:335
+#: flatcamGUI/FlatCAMGUI.py:369
msgid "Convert Any to Gerber"
msgstr "Convertir cualquiera a Gerber"
-#: flatcamGUI/FlatCAMGUI.py:341
-msgid "&Copy\tCTRL+C"
-msgstr "Dupdo\tCTRL+C"
+#: flatcamGUI/FlatCAMGUI.py:375
+msgid "&Copy\tCtrl+C"
+msgstr "Dupdo\tCtrl+C"
-#: flatcamGUI/FlatCAMGUI.py:346
+#: flatcamGUI/FlatCAMGUI.py:380
msgid "&Delete\tDEL"
msgstr "Borrar\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:351
+#: flatcamGUI/FlatCAMGUI.py:385
msgid "Se&t Origin\tO"
msgstr "Establecer origen\tO"
-#: flatcamGUI/FlatCAMGUI.py:353
+#: flatcamGUI/FlatCAMGUI.py:387
+msgid "Move to Origin\tShift+O"
+msgstr "Mover al origen\tShift+O"
+
+#: flatcamGUI/FlatCAMGUI.py:390
msgid "Jump to Location\tJ"
msgstr "Ir a la ubicación\tJ"
-#: flatcamGUI/FlatCAMGUI.py:358
+#: flatcamGUI/FlatCAMGUI.py:392
+msgid "Locate in Object\tShift+J"
+msgstr "Localizar en Objeto\tShift+J"
+
+#: flatcamGUI/FlatCAMGUI.py:397
msgid "Toggle Units\tQ"
msgstr "Unidades de palanca\tQ"
-#: flatcamGUI/FlatCAMGUI.py:360
-msgid "&Select All\tCTRL+A"
-msgstr "Seleccionar todo\tCTRL+A"
+#: flatcamGUI/FlatCAMGUI.py:399
+msgid "&Select All\tCtrl+A"
+msgstr "Seleccionar todo\tCtrl+A"
-#: flatcamGUI/FlatCAMGUI.py:365
-msgid "&Preferences\tSHIFT+P"
-msgstr "Preferencias\tSHIFT+P"
+#: flatcamGUI/FlatCAMGUI.py:404
+msgid "&Preferences\tShift+P"
+msgstr "Preferencias\tShift+P"
-#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153
+#: flatcamGUI/FlatCAMGUI.py:410 flatcamTools/ToolProperties.py:155
msgid "Options"
msgstr "Opciones"
-#: flatcamGUI/FlatCAMGUI.py:373
-msgid "&Rotate Selection\tSHIFT+(R)"
-msgstr "Rotar selección\tSHIFT+(R)"
+#: flatcamGUI/FlatCAMGUI.py:412
+msgid "&Rotate Selection\tShift+(R)"
+msgstr "Rotar selección\tShift+(R)"
-#: flatcamGUI/FlatCAMGUI.py:378
-msgid "&Skew on X axis\tSHIFT+X"
-msgstr "Sesgo en el eje X\tSHIFT+X"
+#: flatcamGUI/FlatCAMGUI.py:417
+msgid "&Skew on X axis\tShift+X"
+msgstr "Sesgo en el eje X\tShift+X"
-#: flatcamGUI/FlatCAMGUI.py:380
-msgid "S&kew on Y axis\tSHIFT+Y"
-msgstr "Sesgo en el eje Y\tSHIFT+Y"
+#: flatcamGUI/FlatCAMGUI.py:419
+msgid "S&kew on Y axis\tShift+Y"
+msgstr "Sesgo en el eje Y\tShift+Y"
-#: flatcamGUI/FlatCAMGUI.py:385
+#: flatcamGUI/FlatCAMGUI.py:424
msgid "Flip on &X axis\tX"
msgstr "Voltear en el eje X\tX"
-#: flatcamGUI/FlatCAMGUI.py:387
+#: flatcamGUI/FlatCAMGUI.py:426
msgid "Flip on &Y axis\tY"
msgstr "Voltear en el ejeY\tY"
-#: flatcamGUI/FlatCAMGUI.py:392
-msgid "View source\tALT+S"
-msgstr "Ver fuente\tALT+S"
+#: flatcamGUI/FlatCAMGUI.py:431
+msgid "View source\tAlt+S"
+msgstr "Ver fuente\tAlt+S"
-#: flatcamGUI/FlatCAMGUI.py:394
-msgid "Tools DataBase\tCTRL+D"
-msgstr "DB de Herramientas\tCTRL+D"
+#: flatcamGUI/FlatCAMGUI.py:433
+msgid "Tools DataBase\tCtrl+D"
+msgstr "DB de Herramientas\tCtrl+D"
-#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060
+#: flatcamGUI/FlatCAMGUI.py:440 flatcamGUI/FlatCAMGUI.py:2168
msgid "View"
msgstr "Ver"
-#: flatcamGUI/FlatCAMGUI.py:403
-msgid "Enable all plots\tALT+1"
-msgstr "Habilitar todas las parcelas\tALT+1"
+#: flatcamGUI/FlatCAMGUI.py:442
+msgid "Enable all plots\tAlt+1"
+msgstr "Habilitar todas las parcelas\tAlt+1"
-#: flatcamGUI/FlatCAMGUI.py:405
-msgid "Disable all plots\tALT+2"
-msgstr "Deshabilitar todas las parcelas\tALT+2"
+#: flatcamGUI/FlatCAMGUI.py:444
+msgid "Disable all plots\tAlt+2"
+msgstr "Deshabilitar todas las parcelas\tAlt+2"
-#: flatcamGUI/FlatCAMGUI.py:407
-msgid "Disable non-selected\tALT+3"
-msgstr "Deshabilitar no seleccionado\tALT+3"
+#: flatcamGUI/FlatCAMGUI.py:446
+msgid "Disable non-selected\tAlt+3"
+msgstr "Deshabilitar no seleccionado\tAlt+3"
-#: flatcamGUI/FlatCAMGUI.py:411
+#: flatcamGUI/FlatCAMGUI.py:450
msgid "&Zoom Fit\tV"
msgstr "Ajuste de zoom\tV"
-#: flatcamGUI/FlatCAMGUI.py:413
+#: flatcamGUI/FlatCAMGUI.py:452
msgid "&Zoom In\t="
msgstr "Acercarse\t="
-#: flatcamGUI/FlatCAMGUI.py:415
+#: flatcamGUI/FlatCAMGUI.py:454
msgid "&Zoom Out\t-"
msgstr "Disminuir el zoom\t-"
-#: flatcamGUI/FlatCAMGUI.py:420
+#: flatcamGUI/FlatCAMGUI.py:459
msgid "Redraw All\tF5"
msgstr "Redibujar todo\tF5"
-#: flatcamGUI/FlatCAMGUI.py:424
-msgid "Toggle Code Editor\tSHIFT+E"
-msgstr "Alternar Editor de Código\tSHIFT+E"
+#: flatcamGUI/FlatCAMGUI.py:463
+msgid "Toggle Code Editor\tShift+E"
+msgstr "Alternar Editor de Código\tShift+E"
-#: flatcamGUI/FlatCAMGUI.py:427
-msgid "&Toggle FullScreen\tALT+F10"
-msgstr "Alternar pantalla completa\tALT+F10"
+#: flatcamGUI/FlatCAMGUI.py:466
+msgid "&Toggle FullScreen\tAlt+F10"
+msgstr "Alternar pantalla completa\tAlt+F10"
-#: flatcamGUI/FlatCAMGUI.py:429
-msgid "&Toggle Plot Area\tCTRL+F10"
-msgstr "Alternar área de la parcela\tCTRL+F10"
+#: flatcamGUI/FlatCAMGUI.py:468
+msgid "&Toggle Plot Area\tCtrl+F10"
+msgstr "Alternar área de la parcela\tCtrl+F10"
-#: flatcamGUI/FlatCAMGUI.py:431
+#: flatcamGUI/FlatCAMGUI.py:470
msgid "&Toggle Project/Sel/Tool\t`"
msgstr "Palanca Proyecto / Sel / Tool\t`"
-#: flatcamGUI/FlatCAMGUI.py:435
+#: flatcamGUI/FlatCAMGUI.py:474
msgid "&Toggle Grid Snap\tG"
msgstr "Activar cuadrícula\tG"
-#: flatcamGUI/FlatCAMGUI.py:437
-msgid "&Toggle Grid Lines\tALT+G"
-msgstr "Alternar Líneas de Cuadrícula\tALT+G"
+#: flatcamGUI/FlatCAMGUI.py:476
+msgid "&Toggle Grid Lines\tAlt+G"
+msgstr "Alternar Líneas de Cuadrícula\tAlt+G"
-#: flatcamGUI/FlatCAMGUI.py:439
-msgid "&Toggle Axis\tSHIFT+G"
-msgstr "Eje de palanca\tSHIFT+G"
+#: flatcamGUI/FlatCAMGUI.py:478
+msgid "&Toggle Axis\tShift+G"
+msgstr "Eje de palanca\tShift+G"
-#: flatcamGUI/FlatCAMGUI.py:441
-msgid "Toggle Workspace\tSHIFT+W"
-msgstr "Alternar espacio de trabajo\tSHIFT+W"
+#: flatcamGUI/FlatCAMGUI.py:480
+msgid "Toggle Workspace\tShift+W"
+msgstr "Alternar espacio de trabajo\tShift+W"
-#: flatcamGUI/FlatCAMGUI.py:446
+#: flatcamGUI/FlatCAMGUI.py:485
msgid "Objects"
msgstr "Objetos"
-#: flatcamGUI/FlatCAMGUI.py:460
+#: flatcamGUI/FlatCAMGUI.py:499
msgid "&Command Line\tS"
msgstr "Línea de comando\tS"
-#: flatcamGUI/FlatCAMGUI.py:465
+#: flatcamGUI/FlatCAMGUI.py:504
msgid "Help"
msgstr "Ayuda"
-#: flatcamGUI/FlatCAMGUI.py:467
+#: flatcamGUI/FlatCAMGUI.py:506
msgid "Online Help\tF1"
msgstr "Ayuda en Online\tF1"
-#: flatcamGUI/FlatCAMGUI.py:477
+#: flatcamGUI/FlatCAMGUI.py:516
msgid "Report a bug"
msgstr "Reportar un error"
-#: flatcamGUI/FlatCAMGUI.py:480
+#: flatcamGUI/FlatCAMGUI.py:519
msgid "Excellon Specification"
msgstr "Especificación de Excellon"
-#: flatcamGUI/FlatCAMGUI.py:482
+#: flatcamGUI/FlatCAMGUI.py:521
msgid "Gerber Specification"
msgstr "Especificación de Gerber"
-#: flatcamGUI/FlatCAMGUI.py:487
+#: flatcamGUI/FlatCAMGUI.py:526
msgid "Shortcuts List\tF3"
msgstr "Lista de accesos directos\tF3"
-#: flatcamGUI/FlatCAMGUI.py:489
+#: flatcamGUI/FlatCAMGUI.py:528
msgid "YouTube Channel\tF4"
msgstr "Canal de Youtube\tF4"
-#: flatcamGUI/FlatCAMGUI.py:500
+#: flatcamGUI/FlatCAMGUI.py:539
msgid "Add Circle\tO"
msgstr "Añadir círculo\tO"
-#: flatcamGUI/FlatCAMGUI.py:503
+#: flatcamGUI/FlatCAMGUI.py:542
msgid "Add Arc\tA"
msgstr "Añadir arco\tA"
-#: flatcamGUI/FlatCAMGUI.py:506
+#: flatcamGUI/FlatCAMGUI.py:545
msgid "Add Rectangle\tR"
msgstr "Añadir rectángulo\tR"
-#: flatcamGUI/FlatCAMGUI.py:509
+#: flatcamGUI/FlatCAMGUI.py:548
msgid "Add Polygon\tN"
msgstr "Añadir polígono\tN"
-#: flatcamGUI/FlatCAMGUI.py:512
+#: flatcamGUI/FlatCAMGUI.py:551
msgid "Add Path\tP"
msgstr "Añadir ruta\tP"
-#: flatcamGUI/FlatCAMGUI.py:515
+#: flatcamGUI/FlatCAMGUI.py:554
msgid "Add Text\tT"
msgstr "Añadir texto\tT"
-#: flatcamGUI/FlatCAMGUI.py:518
+#: flatcamGUI/FlatCAMGUI.py:557
msgid "Polygon Union\tU"
msgstr "Unión de polígonos\tU"
-#: flatcamGUI/FlatCAMGUI.py:520
+#: flatcamGUI/FlatCAMGUI.py:559
msgid "Polygon Intersection\tE"
msgstr "Intersección de polígonos\tE"
-#: flatcamGUI/FlatCAMGUI.py:522
+#: flatcamGUI/FlatCAMGUI.py:561
msgid "Polygon Subtraction\tS"
msgstr "Sustracción de polígonos\tS"
-#: flatcamGUI/FlatCAMGUI.py:526
+#: flatcamGUI/FlatCAMGUI.py:565
msgid "Cut Path\tX"
msgstr "Camino de corte\tX"
-#: flatcamGUI/FlatCAMGUI.py:529
+#: flatcamGUI/FlatCAMGUI.py:569
msgid "Copy Geom\tC"
msgstr "Copia Geo\tC"
-#: flatcamGUI/FlatCAMGUI.py:531
+#: flatcamGUI/FlatCAMGUI.py:571
msgid "Delete Shape\tDEL"
msgstr "Eliminar forma\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:535 flatcamGUI/FlatCAMGUI.py:622
+#: flatcamGUI/FlatCAMGUI.py:575 flatcamGUI/FlatCAMGUI.py:662
msgid "Move\tM"
msgstr "Movimiento\tM"
-#: flatcamGUI/FlatCAMGUI.py:537
+#: flatcamGUI/FlatCAMGUI.py:577
msgid "Buffer Tool\tB"
msgstr "Herramienta amortiguadora\tB"
-#: flatcamGUI/FlatCAMGUI.py:540
+#: flatcamGUI/FlatCAMGUI.py:580
msgid "Paint Tool\tI"
msgstr "Herramienta de pintura\tI"
-#: flatcamGUI/FlatCAMGUI.py:543
-msgid "Transform Tool\tALT+R"
-msgstr "Herramienta de transformación\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:583
+msgid "Transform Tool\tAlt+R"
+msgstr "Herramienta de transformación\tAlt+R"
-#: flatcamGUI/FlatCAMGUI.py:547
+#: flatcamGUI/FlatCAMGUI.py:587
msgid "Toggle Corner Snap\tK"
msgstr "Alternar esquina esquina\tK"
-#: flatcamGUI/FlatCAMGUI.py:553
+#: flatcamGUI/FlatCAMGUI.py:593
msgid ">Excellon Editor<"
msgstr ">Excellon Editor<"
-#: flatcamGUI/FlatCAMGUI.py:557
+#: flatcamGUI/FlatCAMGUI.py:597
msgid "Add Drill Array\tA"
msgstr "Añadir matriz de perfor.\tA"
-#: flatcamGUI/FlatCAMGUI.py:559
+#: flatcamGUI/FlatCAMGUI.py:599
msgid "Add Drill\tD"
msgstr "Añadir taladro\tD"
-#: flatcamGUI/FlatCAMGUI.py:563
+#: flatcamGUI/FlatCAMGUI.py:603
msgid "Add Slot Array\tQ"
msgstr "Agregar matriz de ranuras\tQ"
-#: flatcamGUI/FlatCAMGUI.py:565
+#: flatcamGUI/FlatCAMGUI.py:605
msgid "Add Slot\tW"
msgstr "Agregar ranura\tW"
-#: flatcamGUI/FlatCAMGUI.py:569
+#: flatcamGUI/FlatCAMGUI.py:609
msgid "Resize Drill(S)\tR"
msgstr "Cambiar el tamaño de taladro (s)\tR"
-#: flatcamGUI/FlatCAMGUI.py:572 flatcamGUI/FlatCAMGUI.py:616
+#: flatcamGUI/FlatCAMGUI.py:612 flatcamGUI/FlatCAMGUI.py:656
msgid "Copy\tC"
msgstr "Dupdo\tC"
-#: flatcamGUI/FlatCAMGUI.py:574 flatcamGUI/FlatCAMGUI.py:618
+#: flatcamGUI/FlatCAMGUI.py:614 flatcamGUI/FlatCAMGUI.py:658
msgid "Delete\tDEL"
msgstr "Borrar\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:579
+#: flatcamGUI/FlatCAMGUI.py:619
msgid "Move Drill(s)\tM"
msgstr "Mover taladro(s)\tM"
-#: flatcamGUI/FlatCAMGUI.py:584
+#: flatcamGUI/FlatCAMGUI.py:624
msgid ">Gerber Editor<"
msgstr ">Gerber Editor<"
-#: flatcamGUI/FlatCAMGUI.py:588
+#: flatcamGUI/FlatCAMGUI.py:628
msgid "Add Pad\tP"
msgstr "Añadir Pad\tP"
-#: flatcamGUI/FlatCAMGUI.py:590
+#: flatcamGUI/FlatCAMGUI.py:630
msgid "Add Pad Array\tA"
msgstr "Agregar una matriz de pad\tA"
-#: flatcamGUI/FlatCAMGUI.py:592
+#: flatcamGUI/FlatCAMGUI.py:632
msgid "Add Track\tT"
msgstr "Añadir pista\tT"
-#: flatcamGUI/FlatCAMGUI.py:594
+#: flatcamGUI/FlatCAMGUI.py:634
msgid "Add Region\tN"
msgstr "Añadir región\tN"
-#: flatcamGUI/FlatCAMGUI.py:598
-msgid "Poligonize\tALT+N"
-msgstr "Poligonize\tALT+N"
+#: flatcamGUI/FlatCAMGUI.py:638
+msgid "Poligonize\tAlt+N"
+msgstr "Poligonize\tAlt+N"
-#: flatcamGUI/FlatCAMGUI.py:600
+#: flatcamGUI/FlatCAMGUI.py:640
msgid "Add SemiDisc\tE"
msgstr "Añadir medio disco\tE"
-#: flatcamGUI/FlatCAMGUI.py:602
+#: flatcamGUI/FlatCAMGUI.py:642
msgid "Add Disc\tD"
msgstr "Añadir disco\tD"
-#: flatcamGUI/FlatCAMGUI.py:604
+#: flatcamGUI/FlatCAMGUI.py:644
msgid "Buffer\tB"
msgstr "Buffer\tB"
-#: flatcamGUI/FlatCAMGUI.py:606
+#: flatcamGUI/FlatCAMGUI.py:646
msgid "Scale\tS"
msgstr "Escalar\tS"
-#: flatcamGUI/FlatCAMGUI.py:608
-msgid "Mark Area\tALT+A"
-msgstr "Marcar area\tALT+A"
+#: flatcamGUI/FlatCAMGUI.py:648
+msgid "Mark Area\tAlt+A"
+msgstr "Marcar area\tAlt+A"
-#: flatcamGUI/FlatCAMGUI.py:610
-msgid "Eraser\tCTRL+E"
-msgstr "Borrador\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:650
+msgid "Eraser\tCtrl+E"
+msgstr "Borrador\tCtrl+E"
-#: flatcamGUI/FlatCAMGUI.py:612
-msgid "Transform\tALT+R"
-msgstr "Transformar\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:652
+msgid "Transform\tAlt+R"
+msgstr "Transformar\tAlt+R"
-#: flatcamGUI/FlatCAMGUI.py:639
+#: flatcamGUI/FlatCAMGUI.py:679
msgid "Enable Plot"
msgstr "Habilitar Parcela"
-#: flatcamGUI/FlatCAMGUI.py:641
+#: flatcamGUI/FlatCAMGUI.py:681
msgid "Disable Plot"
msgstr "Desactivar parcela"
-#: flatcamGUI/FlatCAMGUI.py:645
+#: flatcamGUI/FlatCAMGUI.py:685
msgid "Set Color"
msgstr "Establecer color"
-#: flatcamGUI/FlatCAMGUI.py:648
-msgid "Red"
-msgstr "Rojo"
-
-#: flatcamGUI/FlatCAMGUI.py:651
-msgid "Blue"
-msgstr "Azul"
-
-#: flatcamGUI/FlatCAMGUI.py:654
-msgid "Yellow"
-msgstr "Amarillo"
-
-#: flatcamGUI/FlatCAMGUI.py:657
-msgid "Green"
-msgstr "Verde"
-
-#: flatcamGUI/FlatCAMGUI.py:660
-msgid "Purple"
-msgstr "Púrpura"
-
-#: flatcamGUI/FlatCAMGUI.py:663
-msgid "Brown"
-msgstr "Marrón"
-
-#: flatcamGUI/FlatCAMGUI.py:666
-msgid "Custom"
-msgstr "Personalizado"
-
-#: flatcamGUI/FlatCAMGUI.py:671
+#: flatcamGUI/FlatCAMGUI.py:727
msgid "Generate CNC"
msgstr "Generar CNC"
-#: flatcamGUI/FlatCAMGUI.py:673
+#: flatcamGUI/FlatCAMGUI.py:729
msgid "View Source"
msgstr "Ver fuente"
-#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2172
-#: flatcamTools/ToolProperties.py:30
+#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:2280
+#: flatcamTools/ToolProperties.py:31
msgid "Properties"
msgstr "Propiedades"
-#: flatcamGUI/FlatCAMGUI.py:715
+#: flatcamGUI/FlatCAMGUI.py:771
msgid "File Toolbar"
msgstr "Barra de herramientas de archivo"
-#: flatcamGUI/FlatCAMGUI.py:719
+#: flatcamGUI/FlatCAMGUI.py:775
msgid "Edit Toolbar"
msgstr "Barra de herramientas de edición"
-#: flatcamGUI/FlatCAMGUI.py:723
+#: flatcamGUI/FlatCAMGUI.py:779
msgid "View Toolbar"
msgstr "Barra de herramientas de ver"
-#: flatcamGUI/FlatCAMGUI.py:727
+#: flatcamGUI/FlatCAMGUI.py:783
msgid "Shell Toolbar"
msgstr "Barra de herramientas de Shell"
-#: flatcamGUI/FlatCAMGUI.py:731
+#: flatcamGUI/FlatCAMGUI.py:787
msgid "Tools Toolbar"
msgstr "Barra de herramientas de Herramientas"
-#: flatcamGUI/FlatCAMGUI.py:735
+#: flatcamGUI/FlatCAMGUI.py:791
msgid "Excellon Editor Toolbar"
msgstr "Barra de herramientas del editor de Excel"
-#: flatcamGUI/FlatCAMGUI.py:741
+#: flatcamGUI/FlatCAMGUI.py:797
msgid "Geometry Editor Toolbar"
msgstr "Barra de herramientas del editor de geometría"
-#: flatcamGUI/FlatCAMGUI.py:745
+#: flatcamGUI/FlatCAMGUI.py:801
msgid "Gerber Editor Toolbar"
msgstr "Barra de herramientas del editor Gerber"
-#: flatcamGUI/FlatCAMGUI.py:749
+#: flatcamGUI/FlatCAMGUI.py:805
msgid "Grid Toolbar"
msgstr "Barra de herramientas de cuadrícula"
-#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2357
+#: flatcamGUI/FlatCAMGUI.py:826 flatcamGUI/FlatCAMGUI.py:2509
msgid "Open project"
msgstr "Proyecto abierto"
-#: flatcamGUI/FlatCAMGUI.py:774 flatcamGUI/FlatCAMGUI.py:2359
+#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:2511
msgid "Save project"
msgstr "Guardar proyecto"
-#: flatcamGUI/FlatCAMGUI.py:780 flatcamGUI/FlatCAMGUI.py:2363
+#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:2517
msgid "New Blank Geometry"
msgstr "Nueva geometría en blanco"
-#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2365
+#: flatcamGUI/FlatCAMGUI.py:836 flatcamGUI/FlatCAMGUI.py:2519
msgid "New Blank Gerber"
msgstr "Nuevo Gerber en blanco"
-#: flatcamGUI/FlatCAMGUI.py:784 flatcamGUI/FlatCAMGUI.py:2367
+#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:2521
msgid "New Blank Excellon"
msgstr "Nueva Excellon en blanco"
-#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:2373
+#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2527
msgid "Save Object and close the Editor"
msgstr "Guardar Objeto y cerrar el Editor"
-#: flatcamGUI/FlatCAMGUI.py:796 flatcamGUI/FlatCAMGUI.py:2380
+#: flatcamGUI/FlatCAMGUI.py:850 flatcamGUI/FlatCAMGUI.py:2534
msgid "&Delete"
msgstr "Borrar"
-#: flatcamGUI/FlatCAMGUI.py:799 flatcamGUI/FlatCAMGUI.py:1613
-#: flatcamGUI/FlatCAMGUI.py:1812 flatcamGUI/FlatCAMGUI.py:2383
-#: flatcamTools/ToolDistance.py:30 flatcamTools/ToolDistance.py:160
+#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:1714
+#: flatcamGUI/FlatCAMGUI.py:1920 flatcamGUI/FlatCAMGUI.py:2537
+#: flatcamTools/ToolDistance.py:35 flatcamTools/ToolDistance.py:195
msgid "Distance Tool"
msgstr "Herramienta de Dist"
-#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2385
+#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2539
msgid "Distance Min Tool"
msgstr "Herramienta Distancia Mínima"
-#: flatcamGUI/FlatCAMGUI.py:803 flatcamGUI/FlatCAMGUI.py:1606
-#: flatcamGUI/FlatCAMGUI.py:2387
+#: flatcamGUI/FlatCAMGUI.py:857 flatcamGUI/FlatCAMGUI.py:1707
+#: flatcamGUI/FlatCAMGUI.py:2541
msgid "Set Origin"
msgstr "Establecer origen"
-#: flatcamGUI/FlatCAMGUI.py:805 flatcamGUI/FlatCAMGUI.py:2389
+#: flatcamGUI/FlatCAMGUI.py:859
+msgid "Move to Origin"
+msgstr "Mover al origen"
+
+#: flatcamGUI/FlatCAMGUI.py:862 flatcamGUI/FlatCAMGUI.py:2543
msgid "Jump to Location"
msgstr "Saltar a la ubicación"
-#: flatcamGUI/FlatCAMGUI.py:811 flatcamGUI/FlatCAMGUI.py:2393
+#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1719
+#: flatcamGUI/FlatCAMGUI.py:2545
+msgid "Locate in Object"
+msgstr "Localizar en objeto"
+
+#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2551
msgid "&Replot"
msgstr "Replantear"
-#: flatcamGUI/FlatCAMGUI.py:813 flatcamGUI/FlatCAMGUI.py:2395
+#: flatcamGUI/FlatCAMGUI.py:872 flatcamGUI/FlatCAMGUI.py:2553
msgid "&Clear plot"
msgstr "Gráfico clara"
-#: flatcamGUI/FlatCAMGUI.py:815 flatcamGUI/FlatCAMGUI.py:1609
-#: flatcamGUI/FlatCAMGUI.py:2397
+#: flatcamGUI/FlatCAMGUI.py:874 flatcamGUI/FlatCAMGUI.py:1710
+#: flatcamGUI/FlatCAMGUI.py:2555
msgid "Zoom In"
msgstr "Acercarse"
-#: flatcamGUI/FlatCAMGUI.py:817 flatcamGUI/FlatCAMGUI.py:1609
-#: flatcamGUI/FlatCAMGUI.py:2399
+#: flatcamGUI/FlatCAMGUI.py:876 flatcamGUI/FlatCAMGUI.py:1710
+#: flatcamGUI/FlatCAMGUI.py:2557
msgid "Zoom Out"
msgstr "Disminuir el zoom"
-#: flatcamGUI/FlatCAMGUI.py:819 flatcamGUI/FlatCAMGUI.py:1608
-#: flatcamGUI/FlatCAMGUI.py:2062 flatcamGUI/FlatCAMGUI.py:2401
+#: flatcamGUI/FlatCAMGUI.py:878 flatcamGUI/FlatCAMGUI.py:1709
+#: flatcamGUI/FlatCAMGUI.py:2170 flatcamGUI/FlatCAMGUI.py:2559
msgid "Zoom Fit"
msgstr "Ajuste de zoom"
-#: flatcamGUI/FlatCAMGUI.py:827 flatcamGUI/FlatCAMGUI.py:2407
+#: flatcamGUI/FlatCAMGUI.py:886 flatcamGUI/FlatCAMGUI.py:2565
msgid "&Command Line"
msgstr "Línea de comando"
-#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:2417
+#: flatcamGUI/FlatCAMGUI.py:898 flatcamGUI/FlatCAMGUI.py:2577
msgid "2Sided Tool"
msgstr "Herramienta de 2 Caras"
-#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/ObjectUI.py:588
-#: flatcamTools/ToolCutOut.py:436
+#: flatcamGUI/FlatCAMGUI.py:900 flatcamGUI/FlatCAMGUI.py:1725
+#: flatcamGUI/FlatCAMGUI.py:2579
+msgid "Align Objects Tool"
+msgstr "Herram. de Alinear Objetos"
+
+#: flatcamGUI/FlatCAMGUI.py:902 flatcamGUI/FlatCAMGUI.py:1726
+#: flatcamGUI/FlatCAMGUI.py:2581 flatcamTools/ToolExtractDrills.py:393
+msgid "Extract Drills Tool"
+msgstr "Herram. de Extracción de Taladros"
+
+#: flatcamGUI/FlatCAMGUI.py:905 flatcamGUI/ObjectUI.py:595
+#: flatcamTools/ToolCutOut.py:447
msgid "Cutout Tool"
msgstr "Herramienta de Corte"
-#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2421
-#: flatcamGUI/ObjectUI.py:566 flatcamGUI/ObjectUI.py:1749
-#: flatcamTools/ToolNonCopperClear.py:632
+#: flatcamGUI/FlatCAMGUI.py:907 flatcamGUI/FlatCAMGUI.py:2586
+#: flatcamGUI/ObjectUI.py:573 flatcamGUI/ObjectUI.py:2075
+#: flatcamTools/ToolNCC.py:974
msgid "NCC Tool"
msgstr "Herramienta NCC"
-#: flatcamGUI/FlatCAMGUI.py:849 flatcamGUI/FlatCAMGUI.py:2427
+#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2592
msgid "Panel Tool"
msgstr "Herramienta de Panel"
-#: flatcamGUI/FlatCAMGUI.py:851 flatcamGUI/FlatCAMGUI.py:2429
-#: flatcamTools/ToolFilm.py:578
+#: flatcamGUI/FlatCAMGUI.py:915 flatcamGUI/FlatCAMGUI.py:2594
+#: flatcamTools/ToolFilm.py:586
msgid "Film Tool"
msgstr "Herramienta de Película"
-#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:2432
-#: flatcamTools/ToolSolderPaste.py:547
+#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2596
+#: flatcamTools/ToolSolderPaste.py:553
msgid "SolderPaste Tool"
msgstr "Herramienta de Pasta"
-#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2434
+#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2598
#: flatcamTools/ToolSub.py:35
msgid "Subtract Tool"
msgstr "Herramienta de Sustracción"
-#: flatcamGUI/FlatCAMGUI.py:857 flatcamTools/ToolRulesCheck.py:607
+#: flatcamGUI/FlatCAMGUI.py:921 flatcamGUI/FlatCAMGUI.py:2600
+#: flatcamTools/ToolRulesCheck.py:616
msgid "Rules Tool"
msgstr "Herramienta de Reglas"
-#: flatcamGUI/FlatCAMGUI.py:859 flatcamGUI/FlatCAMGUI.py:1624
-#: flatcamTools/ToolOptimal.py:34 flatcamTools/ToolOptimal.py:310
+#: flatcamGUI/FlatCAMGUI.py:923 flatcamGUI/FlatCAMGUI.py:1728
+#: flatcamGUI/FlatCAMGUI.py:2602 flatcamTools/ToolOptimal.py:34
+#: flatcamTools/ToolOptimal.py:308
msgid "Optimal Tool"
msgstr "Herramienta de Óptima"
-#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1622
-#: flatcamGUI/FlatCAMGUI.py:2439
+#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:1725
+#: flatcamGUI/FlatCAMGUI.py:2607
msgid "Calculators Tool"
msgstr "Herramienta de Calculadoras"
-#: flatcamGUI/FlatCAMGUI.py:868 flatcamGUI/FlatCAMGUI.py:1625
-#: flatcamGUI/FlatCAMGUI.py:2443 flatcamTools/ToolQRCode.py:43
+#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:1729
+#: flatcamGUI/FlatCAMGUI.py:2611 flatcamTools/ToolQRCode.py:43
#: flatcamTools/ToolQRCode.py:382
msgid "QRCode Tool"
msgstr "Herramienta QRCode"
-#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2445
-#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:566
+#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2613
+#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:569
msgid "Copper Thieving Tool"
msgstr "Herramienta Thieving Tool"
-#: flatcamGUI/FlatCAMGUI.py:873 flatcamGUI/FlatCAMGUI.py:1622
-#: flatcamGUI/FlatCAMGUI.py:2448 flatcamTools/ToolFiducials.py:33
-#: flatcamTools/ToolFiducials.py:393
+#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:1726
+#: flatcamGUI/FlatCAMGUI.py:2616 flatcamTools/ToolFiducials.py:33
+#: flatcamTools/ToolFiducials.py:395
msgid "Fiducials Tool"
msgstr "Herramienta de Fiduciales"
-#: flatcamGUI/FlatCAMGUI.py:875 flatcamGUI/FlatCAMGUI.py:2450
-#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:762
+#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2618
+#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:759
msgid "Calibration Tool"
msgstr "Herramienta de Calibración"
-#: flatcamGUI/FlatCAMGUI.py:881 flatcamGUI/FlatCAMGUI.py:907
-#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2454
-#: flatcamGUI/FlatCAMGUI.py:2528
+#: flatcamGUI/FlatCAMGUI.py:941 flatcamGUI/FlatCAMGUI.py:1726
+msgid "Punch Gerber Tool"
+msgstr "Herram. de Perforadora Gerber"
+
+#: flatcamGUI/FlatCAMGUI.py:943 flatcamTools/ToolInvertGerber.py:31
+msgid "Invert Gerber Tool"
+msgstr "Herram. Invertir Gerber"
+
+#: flatcamGUI/FlatCAMGUI.py:949 flatcamGUI/FlatCAMGUI.py:975
+#: flatcamGUI/FlatCAMGUI.py:1027 flatcamGUI/FlatCAMGUI.py:2624
+#: flatcamGUI/FlatCAMGUI.py:2702
msgid "Select"
msgstr "Seleccionar"
-#: flatcamGUI/FlatCAMGUI.py:883 flatcamGUI/FlatCAMGUI.py:2456
+#: flatcamGUI/FlatCAMGUI.py:951 flatcamGUI/FlatCAMGUI.py:2626
msgid "Add Drill Hole"
msgstr "Añadir taladro"
-#: flatcamGUI/FlatCAMGUI.py:885 flatcamGUI/FlatCAMGUI.py:2458
+#: flatcamGUI/FlatCAMGUI.py:953 flatcamGUI/FlatCAMGUI.py:2628
msgid "Add Drill Hole Array"
msgstr "Añadir matriz de taladro"
-#: flatcamGUI/FlatCAMGUI.py:887 flatcamGUI/FlatCAMGUI.py:1897
-#: flatcamGUI/FlatCAMGUI.py:2150 flatcamGUI/FlatCAMGUI.py:2462
+#: flatcamGUI/FlatCAMGUI.py:955 flatcamGUI/FlatCAMGUI.py:2005
+#: flatcamGUI/FlatCAMGUI.py:2258 flatcamGUI/FlatCAMGUI.py:2632
msgid "Add Slot"
msgstr "Agregar ranura"
-#: flatcamGUI/FlatCAMGUI.py:889 flatcamGUI/FlatCAMGUI.py:1896
-#: flatcamGUI/FlatCAMGUI.py:2152 flatcamGUI/FlatCAMGUI.py:2464
+#: flatcamGUI/FlatCAMGUI.py:957 flatcamGUI/FlatCAMGUI.py:2004
+#: flatcamGUI/FlatCAMGUI.py:2260 flatcamGUI/FlatCAMGUI.py:2634
msgid "Add Slot Array"
msgstr "Agregar matriz de ranuras"
-#: flatcamGUI/FlatCAMGUI.py:891 flatcamGUI/FlatCAMGUI.py:2155
-#: flatcamGUI/FlatCAMGUI.py:2460
+#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2263
+#: flatcamGUI/FlatCAMGUI.py:2630
msgid "Resize Drill"
msgstr "Redimensionar taladro"
-#: flatcamGUI/FlatCAMGUI.py:895 flatcamGUI/FlatCAMGUI.py:2468
+#: flatcamGUI/FlatCAMGUI.py:963 flatcamGUI/FlatCAMGUI.py:2638
msgid "Copy Drill"
msgstr "Copia de taladro"
-#: flatcamGUI/FlatCAMGUI.py:897 flatcamGUI/FlatCAMGUI.py:2470
+#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2640
msgid "Delete Drill"
msgstr "Eliminar taladro"
-#: flatcamGUI/FlatCAMGUI.py:901 flatcamGUI/FlatCAMGUI.py:2474
+#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2644
msgid "Move Drill"
msgstr "Mover taladro"
-#: flatcamGUI/FlatCAMGUI.py:909 flatcamGUI/FlatCAMGUI.py:2480
+#: flatcamGUI/FlatCAMGUI.py:977 flatcamGUI/FlatCAMGUI.py:2652
msgid "Add Circle"
msgstr "Añadir Círculo"
-#: flatcamGUI/FlatCAMGUI.py:911 flatcamGUI/FlatCAMGUI.py:2482
+#: flatcamGUI/FlatCAMGUI.py:979 flatcamGUI/FlatCAMGUI.py:2654
msgid "Add Arc"
msgstr "Añadir Arco"
-#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2484
+#: flatcamGUI/FlatCAMGUI.py:981 flatcamGUI/FlatCAMGUI.py:2656
msgid "Add Rectangle"
msgstr "Añadir Rectángulo"
-#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2488
+#: flatcamGUI/FlatCAMGUI.py:985 flatcamGUI/FlatCAMGUI.py:2660
msgid "Add Path"
msgstr "Añadir Ruta"
-#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2490
+#: flatcamGUI/FlatCAMGUI.py:987 flatcamGUI/FlatCAMGUI.py:2662
msgid "Add Polygon"
msgstr "Añadir Polígono"
-#: flatcamGUI/FlatCAMGUI.py:922 flatcamGUI/FlatCAMGUI.py:2493
+#: flatcamGUI/FlatCAMGUI.py:990 flatcamGUI/FlatCAMGUI.py:2665
msgid "Add Text"
msgstr "Añadir Texto"
-#: flatcamGUI/FlatCAMGUI.py:924 flatcamGUI/FlatCAMGUI.py:2495
+#: flatcamGUI/FlatCAMGUI.py:992 flatcamGUI/FlatCAMGUI.py:2667
msgid "Add Buffer"
msgstr "Añadir Buffer"
-#: flatcamGUI/FlatCAMGUI.py:926 flatcamGUI/FlatCAMGUI.py:2497
+#: flatcamGUI/FlatCAMGUI.py:994 flatcamGUI/FlatCAMGUI.py:2669
msgid "Paint Shape"
msgstr "Forma de pintura"
-#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:985
-#: flatcamGUI/FlatCAMGUI.py:2091 flatcamGUI/FlatCAMGUI.py:2136
-#: flatcamGUI/FlatCAMGUI.py:2499 flatcamGUI/FlatCAMGUI.py:2553
+#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:1053
+#: flatcamGUI/FlatCAMGUI.py:2199 flatcamGUI/FlatCAMGUI.py:2244
+#: flatcamGUI/FlatCAMGUI.py:2671 flatcamGUI/FlatCAMGUI.py:2727
msgid "Eraser"
msgstr "Borrador"
-#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:2503
+#: flatcamGUI/FlatCAMGUI.py:1000 flatcamGUI/FlatCAMGUI.py:2675
msgid "Polygon Union"
msgstr "Unión de polígonos"
-#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2505
+#: flatcamGUI/FlatCAMGUI.py:1002 flatcamGUI/FlatCAMGUI.py:2677
msgid "Polygon Explode"
msgstr "Polígono explotar"
-#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:2508
+#: flatcamGUI/FlatCAMGUI.py:1005 flatcamGUI/FlatCAMGUI.py:2680
msgid "Polygon Intersection"
msgstr "Intersección de polígonos"
-#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2510
+#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2682
msgid "Polygon Subtraction"
msgstr "Sustracción de polígonos"
-#: flatcamGUI/FlatCAMGUI.py:943 flatcamGUI/FlatCAMGUI.py:2514
+#: flatcamGUI/FlatCAMGUI.py:1011 flatcamGUI/FlatCAMGUI.py:2686
msgid "Cut Path"
msgstr "Camino de Corte"
-#: flatcamGUI/FlatCAMGUI.py:945
+#: flatcamGUI/FlatCAMGUI.py:1013
msgid "Copy Shape(s)"
msgstr "Copiar Forma (s)"
-#: flatcamGUI/FlatCAMGUI.py:948
+#: flatcamGUI/FlatCAMGUI.py:1016
msgid "Delete Shape '-'"
msgstr "Eliminar Forma '-'"
-#: flatcamGUI/FlatCAMGUI.py:950 flatcamGUI/FlatCAMGUI.py:993
-#: flatcamGUI/FlatCAMGUI.py:2103 flatcamGUI/FlatCAMGUI.py:2140
-#: flatcamGUI/FlatCAMGUI.py:2520 flatcamGUI/FlatCAMGUI.py:2561
+#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:1061
+#: flatcamGUI/FlatCAMGUI.py:2211 flatcamGUI/FlatCAMGUI.py:2248
+#: flatcamGUI/FlatCAMGUI.py:2692 flatcamGUI/FlatCAMGUI.py:2735
+#: flatcamGUI/ObjectUI.py:108
msgid "Transformations"
msgstr "Transformaciones"
-#: flatcamGUI/FlatCAMGUI.py:953
+#: flatcamGUI/FlatCAMGUI.py:1021
msgid "Move Objects "
msgstr "Mover objetos "
-#: flatcamGUI/FlatCAMGUI.py:961 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2530
+#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2704
msgid "Add Pad"
msgstr "Añadir Pad"
-#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2017
-#: flatcamGUI/FlatCAMGUI.py:2534
+#: flatcamGUI/FlatCAMGUI.py:1033 flatcamGUI/FlatCAMGUI.py:2125
+#: flatcamGUI/FlatCAMGUI.py:2708
msgid "Add Track"
msgstr "Añadir Pista"
-#: flatcamGUI/FlatCAMGUI.py:967 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2536
+#: flatcamGUI/FlatCAMGUI.py:1035 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2710
msgid "Add Region"
msgstr "Añadir Región"
-#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2122
-#: flatcamGUI/FlatCAMGUI.py:2538
+#: flatcamGUI/FlatCAMGUI.py:1037 flatcamGUI/FlatCAMGUI.py:2230
+#: flatcamGUI/FlatCAMGUI.py:2712
msgid "Poligonize"
msgstr "Poligonizar"
-#: flatcamGUI/FlatCAMGUI.py:972 flatcamGUI/FlatCAMGUI.py:2124
-#: flatcamGUI/FlatCAMGUI.py:2541
+#: flatcamGUI/FlatCAMGUI.py:1040 flatcamGUI/FlatCAMGUI.py:2232
+#: flatcamGUI/FlatCAMGUI.py:2715
msgid "SemiDisc"
msgstr "Medio disco"
-#: flatcamGUI/FlatCAMGUI.py:974 flatcamGUI/FlatCAMGUI.py:2126
-#: flatcamGUI/FlatCAMGUI.py:2543
+#: flatcamGUI/FlatCAMGUI.py:1042 flatcamGUI/FlatCAMGUI.py:2234
+#: flatcamGUI/FlatCAMGUI.py:2717
msgid "Disc"
msgstr "Disco"
-#: flatcamGUI/FlatCAMGUI.py:982 flatcamGUI/FlatCAMGUI.py:2134
-#: flatcamGUI/FlatCAMGUI.py:2551
+#: flatcamGUI/FlatCAMGUI.py:1050 flatcamGUI/FlatCAMGUI.py:2242
+#: flatcamGUI/FlatCAMGUI.py:2725
msgid "Mark Area"
msgstr "Marcar area"
-#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2107 flatcamGUI/FlatCAMGUI.py:2170
-#: flatcamGUI/FlatCAMGUI.py:2564 flatcamTools/ToolMove.py:28
+#: flatcamGUI/FlatCAMGUI.py:1064 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2215 flatcamGUI/FlatCAMGUI.py:2278
+#: flatcamGUI/FlatCAMGUI.py:2738 flatcamTools/ToolMove.py:28
msgid "Move"
msgstr "Movimiento"
-#: flatcamGUI/FlatCAMGUI.py:1004 flatcamGUI/FlatCAMGUI.py:2571
+#: flatcamGUI/FlatCAMGUI.py:1072 flatcamGUI/FlatCAMGUI.py:2747
msgid "Snap to grid"
msgstr "Encajar a la cuadricula"
-#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2574
+#: flatcamGUI/FlatCAMGUI.py:1075 flatcamGUI/FlatCAMGUI.py:2750
msgid "Grid X snapping distance"
msgstr "Distancia de ajuste de la rejilla X"
-#: flatcamGUI/FlatCAMGUI.py:1012 flatcamGUI/FlatCAMGUI.py:2579
+#: flatcamGUI/FlatCAMGUI.py:1080 flatcamGUI/FlatCAMGUI.py:2755
msgid "Grid Y snapping distance"
msgstr "Distancia de ajuste de cuadrícula Y"
-#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:2585
+#: flatcamGUI/FlatCAMGUI.py:1086 flatcamGUI/FlatCAMGUI.py:2761
msgid ""
"When active, value on Grid_X\n"
"is copied to the Grid_Y value."
@@ -6300,63 +6630,64 @@ msgstr ""
"Cuando está activo, el valor en Grid_X\n"
"Se copia al valor Grid_Y."
-#: flatcamGUI/FlatCAMGUI.py:1025 flatcamGUI/FlatCAMGUI.py:2592
+#: flatcamGUI/FlatCAMGUI.py:1093 flatcamGUI/FlatCAMGUI.py:2768
msgid "Snap to corner"
msgstr "Ajustar a la esquina"
-#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2596
-#: flatcamGUI/PreferencesUI.py:984
+#: flatcamGUI/FlatCAMGUI.py:1097 flatcamGUI/FlatCAMGUI.py:2772
+#: flatcamGUI/PreferencesUI.py:1159
msgid "Max. magnet distance"
msgstr "Distancia máxima del imán"
-#: flatcamGUI/FlatCAMGUI.py:1063
+#: flatcamGUI/FlatCAMGUI.py:1134
msgid "Selected"
msgstr "Seleccionado"
-#: flatcamGUI/FlatCAMGUI.py:1090 flatcamGUI/FlatCAMGUI.py:1098
+#: flatcamGUI/FlatCAMGUI.py:1162 flatcamGUI/FlatCAMGUI.py:1170
msgid "Plot Area"
msgstr "Área de la parcela"
-#: flatcamGUI/FlatCAMGUI.py:1125
+#: flatcamGUI/FlatCAMGUI.py:1197
msgid "General"
msgstr "General"
-#: flatcamGUI/FlatCAMGUI.py:1140 flatcamTools/ToolCopperThieving.py:74
-#: flatcamTools/ToolDblSided.py:59 flatcamTools/ToolOptimal.py:71
-#: flatcamTools/ToolQRCode.py:77
+#: flatcamGUI/FlatCAMGUI.py:1212 flatcamTools/ToolCopperThieving.py:75
+#: flatcamTools/ToolDblSided.py:65 flatcamTools/ToolExtractDrills.py:61
+#: flatcamTools/ToolInvertGerber.py:72 flatcamTools/ToolOptimal.py:72
+#: flatcamTools/ToolPunchGerber.py:64
msgid "GERBER"
msgstr "GERBER"
-#: flatcamGUI/FlatCAMGUI.py:1150 flatcamTools/ToolDblSided.py:87
+#: flatcamGUI/FlatCAMGUI.py:1222 flatcamTools/ToolDblSided.py:93
msgid "EXCELLON"
msgstr "EXCELLON"
-#: flatcamGUI/FlatCAMGUI.py:1160 flatcamTools/ToolDblSided.py:115
+#: flatcamGUI/FlatCAMGUI.py:1232 flatcamTools/ToolDblSided.py:121
msgid "GEOMETRY"
msgstr "GEOMETRÍA"
-#: flatcamGUI/FlatCAMGUI.py:1170
+#: flatcamGUI/FlatCAMGUI.py:1242
msgid "CNC-JOB"
msgstr "CNC-JOB"
-#: flatcamGUI/FlatCAMGUI.py:1179 flatcamGUI/ObjectUI.py:555
-#: flatcamGUI/ObjectUI.py:1724
+#: flatcamGUI/FlatCAMGUI.py:1251 flatcamGUI/ObjectUI.py:562
+#: flatcamGUI/ObjectUI.py:2050
msgid "TOOLS"
msgstr "HERRAMIENTAS"
-#: flatcamGUI/FlatCAMGUI.py:1188
+#: flatcamGUI/FlatCAMGUI.py:1260
msgid "TOOLS 2"
msgstr "HERRAMIENTAS 2"
-#: flatcamGUI/FlatCAMGUI.py:1198
+#: flatcamGUI/FlatCAMGUI.py:1270
msgid "UTILITIES"
msgstr "UTILIDADES"
-#: flatcamGUI/FlatCAMGUI.py:1215 flatcamGUI/PreferencesUI.py:2833
+#: flatcamGUI/FlatCAMGUI.py:1287 flatcamGUI/PreferencesUI.py:3015
msgid "Restore Defaults"
msgstr "Restaurar los valores predeterminados"
-#: flatcamGUI/FlatCAMGUI.py:1218
+#: flatcamGUI/FlatCAMGUI.py:1290
msgid ""
"Restore the entire set of default values\n"
"to the initial values loaded after first launch."
@@ -6364,15 +6695,19 @@ msgstr ""
"Restaurar todo el conjunto de valores predeterminados\n"
"a los valores iniciales cargados después del primer lanzamiento."
-#: flatcamGUI/FlatCAMGUI.py:1223
+#: flatcamGUI/FlatCAMGUI.py:1295
msgid "Open Pref Folder"
msgstr "Abrir Carpeta de Pref"
-#: flatcamGUI/FlatCAMGUI.py:1226
+#: flatcamGUI/FlatCAMGUI.py:1298
msgid "Open the folder where FlatCAM save the preferences files."
msgstr "Abra la carpeta donde FlatCAM guarda los archivos de preferencias."
-#: flatcamGUI/FlatCAMGUI.py:1234
+#: flatcamGUI/FlatCAMGUI.py:1302 flatcamGUI/FlatCAMGUI.py:2477
+msgid "Clear GUI Settings"
+msgstr "Borrar la configuración de la GUI"
+
+#: flatcamGUI/FlatCAMGUI.py:1306
msgid ""
"Clear the GUI settings for FlatCAM,\n"
"such as: layout, gui state, style, hdpi support etc."
@@ -6380,15 +6715,15 @@ msgstr ""
"Borrar la configuración de la GUI para FlatCAM,\n"
"tales como: diseño, estado gui, estilo, soporte hdpi etc."
-#: flatcamGUI/FlatCAMGUI.py:1245
+#: flatcamGUI/FlatCAMGUI.py:1317
msgid "Apply"
msgstr "Aplicar"
-#: flatcamGUI/FlatCAMGUI.py:1248
+#: flatcamGUI/FlatCAMGUI.py:1320
msgid "Apply the current preferences without saving to a file."
msgstr "Aplique las preferencias actuales sin guardar en un archivo."
-#: flatcamGUI/FlatCAMGUI.py:1255
+#: flatcamGUI/FlatCAMGUI.py:1327
msgid ""
"Save the current settings in the 'current_defaults' file\n"
"which is the file storing the working default preferences."
@@ -6396,532 +6731,545 @@ msgstr ""
"Guarde la configuración actual en el archivo 'current_defaults'\n"
"que es el archivo que almacena las preferencias predeterminadas de trabajo."
-#: flatcamGUI/FlatCAMGUI.py:1263
+#: flatcamGUI/FlatCAMGUI.py:1335
msgid "Will not save the changes and will close the preferences window."
msgstr "No guardará los cambios y cerrará la ventana de preferencias."
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "SHOW SHORTCUT LIST"
msgstr "MOSTRAR LISTA DE ACCESO CORTO"
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Project Tab"
msgstr "Cambiar a la Pestaña Proyecto"
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Selected Tab"
msgstr "Cambiar a la Pestaña Seleccionada"
-#: flatcamGUI/FlatCAMGUI.py:1604
+#: flatcamGUI/FlatCAMGUI.py:1705
msgid "Switch to Tool Tab"
msgstr "Cambiar a la Pestaña de Herramientas"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "New Gerber"
msgstr "Nuevo Gerber"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Edit Object (if selected)"
msgstr "Editar objeto (si está seleccionado)"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Jump to Coordinates"
msgstr "Saltar a coordenadas"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Excellon"
msgstr "Nueva Excellon"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Move Obj"
msgstr "Mover objetos"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Geometry"
msgstr "Nueva geometría"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Change Units"
msgstr "Cambiar unidades"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Open Properties Tool"
msgstr "Abrir herramienta de propiedades"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Rotate by 90 degree CW"
msgstr "Rotar 90 grados CW"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Shell Toggle"
msgstr "Palanca de 'Shell'"
-#: flatcamGUI/FlatCAMGUI.py:1608
+#: flatcamGUI/FlatCAMGUI.py:1709
msgid ""
"Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)"
msgstr ""
"Agregue una herramienta (cuando esté en la pestaña Geometría seleccionada o "
"en Herramientas NCC o Herramientas de pintura)"
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on X_axis"
msgstr "Voltear sobre el eje X"
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on Y_axis"
msgstr "Voltear sobre el eje Y"
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Copy Obj"
msgstr "Copiar objetos"
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Open Tools Database"
msgstr "Abrir la DB de herramientas"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Excellon File"
msgstr "Abierto Excellon"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Gerber File"
msgstr "Abrir Gerber"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "New Project"
msgstr "Nuevo Proyecto"
-#: flatcamGUI/FlatCAMGUI.py:1614 flatcamTools/ToolPDF.py:42
+#: flatcamGUI/FlatCAMGUI.py:1715 flatcamTools/ToolPDF.py:42
msgid "PDF Import Tool"
msgstr "Herramienta de Importación de PDF"
-#: flatcamGUI/FlatCAMGUI.py:1614
-msgid "Save Project As"
-msgstr "Guardar proyecto como"
+#: flatcamGUI/FlatCAMGUI.py:1715
+msgid "Save Project"
+msgstr "Guardar proyecto"
-#: flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:1715
msgid "Toggle Plot Area"
msgstr "Alternar área de la parcela"
-#: flatcamGUI/FlatCAMGUI.py:1617
+#: flatcamGUI/FlatCAMGUI.py:1718
msgid "Copy Obj_Name"
msgstr "Copiar Nombre Obj"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle Code Editor"
msgstr "Alternar editor de código"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle the axis"
msgstr "Alternar el eje"
-#: flatcamGUI/FlatCAMGUI.py:1618 flatcamGUI/FlatCAMGUI.py:1810
-#: flatcamGUI/FlatCAMGUI.py:1897 flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1719 flatcamGUI/FlatCAMGUI.py:1918
+#: flatcamGUI/FlatCAMGUI.py:2005 flatcamGUI/FlatCAMGUI.py:2127
msgid "Distance Minimum Tool"
msgstr "Herramienta de Distancia Mínima"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1720
msgid "Open Preferences Window"
msgstr "Abrir ventana de Preferencias"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Rotate by 90 degree CCW"
msgstr "Rotar en 90 grados CCW"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Run a Script"
msgstr "Ejecutar script TCL"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Toggle the workspace"
msgstr "Alternar espacio de trabajo"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Skew on X axis"
msgstr "Sesgar en el eje X"
-#: flatcamGUI/FlatCAMGUI.py:1620
+#: flatcamGUI/FlatCAMGUI.py:1722
msgid "Skew on Y axis"
msgstr "Sesgar en el eje Y"
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "2-Sided PCB Tool"
msgstr "Herra. de 2 lados"
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "Transformations Tool"
msgstr "Herramienta de Transformaciones"
-#: flatcamGUI/FlatCAMGUI.py:1623
+#: flatcamGUI/FlatCAMGUI.py:1727
msgid "Solder Paste Dispensing Tool"
msgstr "Herramienta de Dispensación de Pasta"
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Film PCB Tool"
msgstr "Herramienta de Película"
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Non-Copper Clearing Tool"
msgstr "Herramienta de Limpieza Sin Cobre"
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Paint Area Tool"
msgstr "Herramienta de Area de Pintura"
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Rules Check Tool"
msgstr "Herramienta de Verificación de Reglas"
-#: flatcamGUI/FlatCAMGUI.py:1626
+#: flatcamGUI/FlatCAMGUI.py:1730
msgid "View File Source"
msgstr "Ver fuente del archivo"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Cutout PCB Tool"
msgstr "Herra. de Corte"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Enable all Plots"
msgstr "Habilitar todas las parcelas"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable all Plots"
msgstr "Deshabilitar todas las parcelas"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable Non-selected Plots"
msgstr "Deshabilitar no seleccionado"
-#: flatcamGUI/FlatCAMGUI.py:1628
+#: flatcamGUI/FlatCAMGUI.py:1732
msgid "Toggle Full Screen"
msgstr "Alternar pantalla completa"
-#: flatcamGUI/FlatCAMGUI.py:1631
+#: flatcamGUI/FlatCAMGUI.py:1735
msgid "Abort current task (gracefully)"
msgstr "Abortar la tarea actual (con gracia)"
-#: flatcamGUI/FlatCAMGUI.py:1634
+#: flatcamGUI/FlatCAMGUI.py:1738
+msgid "Save Project As"
+msgstr "Guardar proyecto como"
+
+#: flatcamGUI/FlatCAMGUI.py:1739
+msgid ""
+"Paste Special. Will convert a Windows path style to the one required in Tcl "
+"Shell"
+msgstr ""
+"Pegado especial. Convertirá un estilo de ruta de Windows al requerido en Tcl "
+"Shell"
+
+#: flatcamGUI/FlatCAMGUI.py:1742
msgid "Open Online Manual"
msgstr "Abrir el manual en línea"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Open Online Tutorials"
msgstr "Abrir tutoriales en online"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Refresh Plots"
msgstr "Actualizar parcelas"
-#: flatcamGUI/FlatCAMGUI.py:1635 flatcamTools/ToolSolderPaste.py:503
+#: flatcamGUI/FlatCAMGUI.py:1743 flatcamTools/ToolSolderPaste.py:509
msgid "Delete Object"
msgstr "Eliminar objeto"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Alternate: Delete Tool"
msgstr "Alt.: Eliminar herramienta"
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "(left to Key_1)Toogle Notebook Area (Left Side)"
msgstr "(izquierda a Key_1) Área de Toogle Notebook (lado izquierdo)"
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "En(Dis)able Obj Plot"
msgstr "(Des)habilitar trazado Obj"
-#: flatcamGUI/FlatCAMGUI.py:1637
+#: flatcamGUI/FlatCAMGUI.py:1745
msgid "Deselects all objects"
msgstr "Desel. todos los objetos"
-#: flatcamGUI/FlatCAMGUI.py:1651
+#: flatcamGUI/FlatCAMGUI.py:1759
msgid "Editor Shortcut list"
msgstr "Lista de accesos directos del editor"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "GEOMETRY EDITOR"
msgstr "EDITOR DE GEOMETRÍA"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Draw an Arc"
msgstr "Dibujar un arco"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Copy Geo Item"
msgstr "Copia Geo"
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Within Add Arc will toogle the ARC direction: CW or CCW"
msgstr "Dentro de agregar arco alternará la dirección del ARCO: CW o CCW"
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Polygon Intersection Tool"
msgstr "Herram. de Intersección Poli"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Geo Paint Tool"
msgstr "Herram. de pintura geo"
-#: flatcamGUI/FlatCAMGUI.py:1807 flatcamGUI/FlatCAMGUI.py:1896
-#: flatcamGUI/FlatCAMGUI.py:2016
+#: flatcamGUI/FlatCAMGUI.py:1915 flatcamGUI/FlatCAMGUI.py:2004
+#: flatcamGUI/FlatCAMGUI.py:2124
msgid "Jump to Location (x, y)"
msgstr "Saltar a la ubicación (x, y)"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Toggle Corner Snap"
msgstr "Alternar ajuste de esquina"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Move Geo Item"
msgstr "Mover elemento geo"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Within Add Arc will cycle through the ARC modes"
msgstr "Dentro de agregar arco, pasará por los modos de arco"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Polygon"
msgstr "Dibujar un polígono"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Circle"
msgstr "Dibuja un circulo"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw a Path"
msgstr "Dibujar un camino"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw Rectangle"
msgstr "Dibujar rectángulo"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Polygon Subtraction Tool"
msgstr "Herram. de Sustrac. de Polí"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Add Text Tool"
msgstr "Herramienta de Texto"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Polygon Union Tool"
msgstr "Herram. de Unión Poli"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on X axis"
msgstr "Voltear en el eje X"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on Y axis"
msgstr "Voltear en el eje Y"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on X axis"
msgstr "Sesgar en el eje X"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on Y axis"
msgstr "Sesgar en el eje Y"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Editor Transformation Tool"
msgstr "Herram. de transform. del editor"
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on X axis"
msgstr "Offset en el eje X"
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on Y axis"
msgstr "Offset en eje Y"
-#: flatcamGUI/FlatCAMGUI.py:1813 flatcamGUI/FlatCAMGUI.py:1899
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:1921 flatcamGUI/FlatCAMGUI.py:2007
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Save Object and Exit Editor"
msgstr "Guardar objeto y salir del editor"
-#: flatcamGUI/FlatCAMGUI.py:1813
+#: flatcamGUI/FlatCAMGUI.py:1921
msgid "Polygon Cut Tool"
msgstr "Herram. de Corte Poli"
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Rotate Geometry"
msgstr "Rotar Geometría"
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Finish drawing for certain tools"
msgstr "Terminar el dibujo de ciertas herramientas"
-#: flatcamGUI/FlatCAMGUI.py:1814 flatcamGUI/FlatCAMGUI.py:1899
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1922 flatcamGUI/FlatCAMGUI.py:2007
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Abort and return to Select"
msgstr "Anular y volver a Seleccionar"
-#: flatcamGUI/FlatCAMGUI.py:1815 flatcamGUI/FlatCAMGUI.py:2518
+#: flatcamGUI/FlatCAMGUI.py:1923 flatcamGUI/FlatCAMGUI.py:2690
msgid "Delete Shape"
msgstr "Eliminar forma"
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "EXCELLON EDITOR"
msgstr "EDITOR DE EXCELLON"
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "Copy Drill(s)"
msgstr "Copia de taladro"
-#: flatcamGUI/FlatCAMGUI.py:1895 flatcamGUI/FlatCAMGUI.py:2145
+#: flatcamGUI/FlatCAMGUI.py:2003 flatcamGUI/FlatCAMGUI.py:2253
msgid "Add Drill"
msgstr "Añadir taladro"
-#: flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamGUI/FlatCAMGUI.py:2004
msgid "Move Drill(s)"
msgstr "Mover taladro(s)"
-#: flatcamGUI/FlatCAMGUI.py:1897
+#: flatcamGUI/FlatCAMGUI.py:2005
msgid "Add a new Tool"
msgstr "Agregar una nueva herram"
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Delete Drill(s)"
msgstr "Eliminar Taladro"
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Alternate: Delete Tool(s)"
msgstr "Alt.: Eliminar herramienta (s)"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "GERBER EDITOR"
msgstr "EDITOR GERBER"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add Disc"
msgstr "Agregar disco"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add SemiDisc"
msgstr "Añadir medio disco"
-#: flatcamGUI/FlatCAMGUI.py:2017
+#: flatcamGUI/FlatCAMGUI.py:2125
msgid "Within Track & Region Tools will cycle in REVERSE the bend modes"
msgstr ""
"Dentro de la Pista y la Región, las herram.s alternarán en REVERSA los modos "
"de plegado"
-#: flatcamGUI/FlatCAMGUI.py:2018
+#: flatcamGUI/FlatCAMGUI.py:2126
msgid "Within Track & Region Tools will cycle FORWARD the bend modes"
msgstr ""
"Dentro de la Pista y la Región, las herram. avanzarán hacia adelante los "
"modos de plegado"
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Alternate: Delete Apertures"
msgstr "Alt.: Eliminar Aperturas"
-#: flatcamGUI/FlatCAMGUI.py:2020
+#: flatcamGUI/FlatCAMGUI.py:2128
msgid "Eraser Tool"
msgstr "Herramienta borrador"
-#: flatcamGUI/FlatCAMGUI.py:2021 flatcamGUI/PreferencesUI.py:2634
+#: flatcamGUI/FlatCAMGUI.py:2129 flatcamGUI/PreferencesUI.py:2816
msgid "Mark Area Tool"
msgstr "Herram. de Zona de Marca"
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Poligonize Tool"
msgstr "Herram. de poligonización"
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Transformation Tool"
msgstr "Herramienta de Transformación"
-#: flatcamGUI/FlatCAMGUI.py:2038
+#: flatcamGUI/FlatCAMGUI.py:2146
msgid "Toggle Visibility"
msgstr "Alternar visibilidad"
-#: flatcamGUI/FlatCAMGUI.py:2044
+#: flatcamGUI/FlatCAMGUI.py:2152
msgid "New"
msgstr "Nueva"
-#: flatcamGUI/FlatCAMGUI.py:2046 flatcamTools/ToolCalibration.py:634
-msgid "Geometry"
-msgstr "Geometría"
-
-#: flatcamGUI/FlatCAMGUI.py:2050 flatcamTools/ToolCalibration.py:197
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolFilm.py:359
+#: flatcamGUI/FlatCAMGUI.py:2158 flatcamGUI/PreferencesUI.py:8410
+#: flatcamTools/ToolAlignObjects.py:74 flatcamTools/ToolAlignObjects.py:110
+#: flatcamTools/ToolCalibration.py:197 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:807
+#: flatcamTools/ToolCalibration.py:815 flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolDblSided.py:226
+#: flatcamTools/ToolFilm.py:359 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1295 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:706 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPunchGerber.py:149 flatcamTools/ToolPunchGerber.py:164
msgid "Excellon"
msgstr "Excellon"
-#: flatcamGUI/FlatCAMGUI.py:2057
+#: flatcamGUI/FlatCAMGUI.py:2165
msgid "Grids"
msgstr "Rejillas"
-#: flatcamGUI/FlatCAMGUI.py:2064
+#: flatcamGUI/FlatCAMGUI.py:2172
msgid "Clear Plot"
msgstr "Parcela clara"
-#: flatcamGUI/FlatCAMGUI.py:2066
+#: flatcamGUI/FlatCAMGUI.py:2174
msgid "Replot"
msgstr "Replantear"
-#: flatcamGUI/FlatCAMGUI.py:2070
+#: flatcamGUI/FlatCAMGUI.py:2178
msgid "Geo Editor"
msgstr "Geo Editor"
-#: flatcamGUI/FlatCAMGUI.py:2072
+#: flatcamGUI/FlatCAMGUI.py:2180
msgid "Path"
msgstr "Ruta"
-#: flatcamGUI/FlatCAMGUI.py:2074
+#: flatcamGUI/FlatCAMGUI.py:2182
msgid "Rectangle"
msgstr "Rectángulo"
-#: flatcamGUI/FlatCAMGUI.py:2077
+#: flatcamGUI/FlatCAMGUI.py:2185
msgid "Circle"
msgstr "Círculo"
-#: flatcamGUI/FlatCAMGUI.py:2079
-msgid "Polygon"
-msgstr "Polígono"
-
-#: flatcamGUI/FlatCAMGUI.py:2081
+#: flatcamGUI/FlatCAMGUI.py:2189
msgid "Arc"
msgstr "Arco"
-#: flatcamGUI/FlatCAMGUI.py:2095
+#: flatcamGUI/FlatCAMGUI.py:2203
msgid "Union"
msgstr "Unión"
-#: flatcamGUI/FlatCAMGUI.py:2097
+#: flatcamGUI/FlatCAMGUI.py:2205
msgid "Intersection"
msgstr "Intersección"
-#: flatcamGUI/FlatCAMGUI.py:2099
+#: flatcamGUI/FlatCAMGUI.py:2207
msgid "Subtraction"
msgstr "Sustracción"
-#: flatcamGUI/FlatCAMGUI.py:2101 flatcamGUI/ObjectUI.py:1811
-#: flatcamGUI/PreferencesUI.py:4421
+#: flatcamGUI/FlatCAMGUI.py:2209 flatcamGUI/ObjectUI.py:2139
+#: flatcamGUI/PreferencesUI.py:4714
msgid "Cut"
msgstr "Cortar"
-#: flatcamGUI/FlatCAMGUI.py:2112
+#: flatcamGUI/FlatCAMGUI.py:2220
msgid "Pad"
msgstr "Pad"
-#: flatcamGUI/FlatCAMGUI.py:2114
+#: flatcamGUI/FlatCAMGUI.py:2222
msgid "Pad Array"
msgstr "Matriz de Pad"
-#: flatcamGUI/FlatCAMGUI.py:2118
+#: flatcamGUI/FlatCAMGUI.py:2226
msgid "Track"
msgstr "Pista"
-#: flatcamGUI/FlatCAMGUI.py:2120
+#: flatcamGUI/FlatCAMGUI.py:2228
msgid "Region"
msgstr "Región"
-#: flatcamGUI/FlatCAMGUI.py:2143
+#: flatcamGUI/FlatCAMGUI.py:2251
msgid "Exc Editor"
msgstr "Exc Editor"
-#: flatcamGUI/FlatCAMGUI.py:2188
+#: flatcamGUI/FlatCAMGUI.py:2296
msgid ""
"Relative neasurement.\n"
"Reference is last click position"
@@ -6929,7 +7277,7 @@ msgstr ""
"Medida relativa.\n"
"La referencia es la posición del último clic"
-#: flatcamGUI/FlatCAMGUI.py:2194
+#: flatcamGUI/FlatCAMGUI.py:2302
msgid ""
"Absolute neasurement.\n"
"Reference is (X=0, Y= 0) position"
@@ -6937,27 +7285,35 @@ msgstr ""
"Medida absoluta.\n"
"La referencia es (X = 0, Y = 0) posición"
-#: flatcamGUI/FlatCAMGUI.py:2301
+#: flatcamGUI/FlatCAMGUI.py:2406
msgid "Lock Toolbars"
msgstr "Bloquear barras de herram"
-#: flatcamGUI/FlatCAMGUI.py:2419
+#: flatcamGUI/FlatCAMGUI.py:2465
+msgid "FlatCAM Preferences Folder opened."
+msgstr "Carpeta de preferencias de FlatCAM abierta."
+
+#: flatcamGUI/FlatCAMGUI.py:2476
+msgid "Are you sure you want to delete the GUI Settings? \n"
+msgstr "¿Está seguro de que desea eliminar la configuración de la GUI?\n"
+
+#: flatcamGUI/FlatCAMGUI.py:2584
msgid "&Cutout Tool"
msgstr "Herramienta de recorte"
-#: flatcamGUI/FlatCAMGUI.py:2478
+#: flatcamGUI/FlatCAMGUI.py:2650
msgid "Select 'Esc'"
msgstr "Selecciona 'Esc'"
-#: flatcamGUI/FlatCAMGUI.py:2516
+#: flatcamGUI/FlatCAMGUI.py:2688
msgid "Copy Objects"
msgstr "Copiar objetos"
-#: flatcamGUI/FlatCAMGUI.py:2524
+#: flatcamGUI/FlatCAMGUI.py:2696
msgid "Move Objects"
msgstr "Mover objetos"
-#: flatcamGUI/FlatCAMGUI.py:3087
+#: flatcamGUI/FlatCAMGUI.py:3312
msgid ""
"Please first select a geometry item to be cutted\n"
"then select the geometry item that will be cutted\n"
@@ -6969,12 +7325,12 @@ msgstr ""
"fuera del primer artículo. Al final presione la tecla ~ X ~ o\n"
"el botón de la barra de herramientas."
-#: flatcamGUI/FlatCAMGUI.py:3094 flatcamGUI/FlatCAMGUI.py:3254
-#: flatcamGUI/FlatCAMGUI.py:3299 flatcamGUI/FlatCAMGUI.py:3319
+#: flatcamGUI/FlatCAMGUI.py:3319 flatcamGUI/FlatCAMGUI.py:3478
+#: flatcamGUI/FlatCAMGUI.py:3523 flatcamGUI/FlatCAMGUI.py:3543
msgid "Warning"
msgstr "Advertencia"
-#: flatcamGUI/FlatCAMGUI.py:3249
+#: flatcamGUI/FlatCAMGUI.py:3473
msgid ""
"Please select geometry items \n"
"on which to perform Intersection Tool."
@@ -6982,7 +7338,7 @@ msgstr ""
"Por favor seleccione elementos de geometría\n"
"en el que realizar Herramienta de Intersección."
-#: flatcamGUI/FlatCAMGUI.py:3294
+#: flatcamGUI/FlatCAMGUI.py:3518
msgid ""
"Please select geometry items \n"
"on which to perform Substraction Tool."
@@ -6990,7 +7346,7 @@ msgstr ""
"Por favor seleccione elementos de geometría\n"
"en el que realizar la Herramienta de Substracción."
-#: flatcamGUI/FlatCAMGUI.py:3314
+#: flatcamGUI/FlatCAMGUI.py:3538
msgid ""
"Please select geometry items \n"
"on which to perform union."
@@ -6998,61 +7354,62 @@ msgstr ""
"Por favor seleccione elementos de geometría\n"
"en el que realizar la Unión."
-#: flatcamGUI/FlatCAMGUI.py:3394 flatcamGUI/FlatCAMGUI.py:3608
+#: flatcamGUI/FlatCAMGUI.py:3617 flatcamGUI/FlatCAMGUI.py:3828
msgid "Cancelled. Nothing selected to delete."
msgstr "Cancelado. Nada seleccionado para eliminar."
-#: flatcamGUI/FlatCAMGUI.py:3479 flatcamGUI/FlatCAMGUI.py:3726
+#: flatcamGUI/FlatCAMGUI.py:3701 flatcamGUI/FlatCAMGUI.py:3944
msgid "Cancelled. Nothing selected to copy."
msgstr "Cancelado. Nada seleccionado para copiar."
-#: flatcamGUI/FlatCAMGUI.py:3526 flatcamGUI/FlatCAMGUI.py:3756
+#: flatcamGUI/FlatCAMGUI.py:3747 flatcamGUI/FlatCAMGUI.py:3973
msgid "Cancelled. Nothing selected to move."
msgstr "Cancelado. Nada seleccionado para moverse."
-#: flatcamGUI/FlatCAMGUI.py:3782
+#: flatcamGUI/FlatCAMGUI.py:3999
msgid "New Tool ..."
msgstr "Nueva herramienta ..."
-#: flatcamGUI/FlatCAMGUI.py:3783 flatcamTools/ToolNonCopperClear.py:583
-#: flatcamTools/ToolPaint.py:494 flatcamTools/ToolSolderPaste.py:554
+#: flatcamGUI/FlatCAMGUI.py:4000 flatcamTools/ToolNCC.py:924
+#: flatcamTools/ToolPaint.py:850 flatcamTools/ToolSolderPaste.py:560
msgid "Enter a Tool Diameter"
msgstr "Introduzca un diá. de herram"
-#: flatcamGUI/FlatCAMGUI.py:3795
+#: flatcamGUI/FlatCAMGUI.py:4012
msgid "Adding Tool cancelled ..."
msgstr "Añadiendo herramienta cancelada ..."
-#: flatcamGUI/FlatCAMGUI.py:3808
+#: flatcamGUI/FlatCAMGUI.py:4025
msgid "Distance Tool exit..."
msgstr "Salida de Herramienta de Distancia ..."
-#: flatcamGUI/FlatCAMGUI.py:4018 flatcamGUI/FlatCAMGUI.py:4025
+#: flatcamGUI/FlatCAMGUI.py:4234 flatcamGUI/FlatCAMGUI.py:4241
msgid "Idle."
msgstr "Ocioso."
-#: flatcamGUI/FlatCAMGUI.py:4056
+#: flatcamGUI/FlatCAMGUI.py:4272
msgid "Application started ..."
msgstr "Aplicacion iniciada ..."
-#: flatcamGUI/FlatCAMGUI.py:4057
+#: flatcamGUI/FlatCAMGUI.py:4273
msgid "Hello!"
msgstr "¡Hola!"
-#: flatcamGUI/FlatCAMGUI.py:4115
+#: flatcamGUI/FlatCAMGUI.py:4331
msgid "Open Project ..."
msgstr "Proyecto abierto ...Abierto &Project ..."
-#: flatcamGUI/FlatCAMGUI.py:4141
+#: flatcamGUI/FlatCAMGUI.py:4357
msgid "Exit"
msgstr "Salida"
-#: flatcamGUI/GUIElements.py:2261 flatcamGUI/PreferencesUI.py:5265
-#: flatcamGUI/PreferencesUI.py:5825 flatcamTools/ToolFilm.py:219
+#: flatcamGUI/GUIElements.py:2513 flatcamGUI/PreferencesUI.py:6313
+#: flatcamTools/ToolDblSided.py:174 flatcamTools/ToolDblSided.py:389
+#: flatcamTools/ToolFilm.py:219
msgid "Reference"
msgstr "Referencia"
-#: flatcamGUI/GUIElements.py:2263
+#: flatcamGUI/GUIElements.py:2515
msgid ""
"The reference can be:\n"
"- Absolute -> the reference point is point (0,0)\n"
@@ -7062,19 +7419,19 @@ msgstr ""
"- Absoluto -> el punto de referencia es el punto (0,0)\n"
"- Relativo -> el punto de referencia es la posición del mouse antes de Jump"
-#: flatcamGUI/GUIElements.py:2268
+#: flatcamGUI/GUIElements.py:2520
msgid "Abs"
msgstr "Abs"
-#: flatcamGUI/GUIElements.py:2269
+#: flatcamGUI/GUIElements.py:2521
msgid "Relative"
msgstr "Relativo"
-#: flatcamGUI/GUIElements.py:2279
+#: flatcamGUI/GUIElements.py:2531
msgid "Location"
msgstr "Ubicación"
-#: flatcamGUI/GUIElements.py:2281
+#: flatcamGUI/GUIElements.py:2533
msgid ""
"The Location value is a tuple (x,y).\n"
"If the reference is Absolute then the Jump will be at the position (x,y).\n"
@@ -7088,6 +7445,10 @@ msgstr ""
"y)\n"
"desde el punto de ubicación actual del mouse."
+#: flatcamGUI/GUIElements.py:2573
+msgid "Save Log"
+msgstr "Guardar Registro"
+
#: flatcamGUI/ObjectUI.py:38
msgid "FlatCAM Object"
msgstr "Objeto FlatCAM"
@@ -7110,15 +7471,11 @@ msgstr ""
"Editar -> Preferencias -> General y verificar:\n"
"'APP. NIVEL 'botón de radio."
-#: flatcamGUI/ObjectUI.py:105
-msgid "Change the size of the object."
-msgstr "Cambiar el tamaño del objeto."
+#: flatcamGUI/ObjectUI.py:110
+msgid "Geometrical transformations of the current object."
+msgstr "Transformaciones geométricas del objeto actual."
-#: flatcamGUI/ObjectUI.py:111
-msgid "Factor"
-msgstr "Factor"
-
-#: flatcamGUI/ObjectUI.py:113
+#: flatcamGUI/ObjectUI.py:119
msgid ""
"Factor by which to multiply\n"
"geometric features of this object.\n"
@@ -7128,19 +7485,11 @@ msgstr ""
"características geométricas de este objeto.\n"
"Se permiten expresiones. Por ejemplo: 1 / 25.4"
-#: flatcamGUI/ObjectUI.py:123
+#: flatcamGUI/ObjectUI.py:126
msgid "Perform scaling operation."
msgstr "Realizar la operación de escalado."
-#: flatcamGUI/ObjectUI.py:134
-msgid "Change the position of this object."
-msgstr "Cambia la posición de este objeto."
-
-#: flatcamGUI/ObjectUI.py:139
-msgid "Vector"
-msgstr "Vector"
-
-#: flatcamGUI/ObjectUI.py:141
+#: flatcamGUI/ObjectUI.py:137
msgid ""
"Amount by which to move the object\n"
"in the x and y axes in (x, y) format.\n"
@@ -7150,60 +7499,53 @@ msgstr ""
"en los ejes x e y en formato (x, y).\n"
"Se permiten expresiones. Por ejemplo: (1/3.2, 0.5*3)"
-#: flatcamGUI/ObjectUI.py:150
+#: flatcamGUI/ObjectUI.py:144
msgid "Perform the offset operation."
msgstr "Realice la operación de desplazamiento."
-#: flatcamGUI/ObjectUI.py:167
+#: flatcamGUI/ObjectUI.py:177
msgid "Gerber Object"
msgstr "Objeto Gerber"
-#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:767
-#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1905
-#: flatcamGUI/PreferencesUI.py:1783 flatcamGUI/PreferencesUI.py:3849
-#: flatcamGUI/PreferencesUI.py:4406
-msgid "Plot (show) this object."
-msgstr "Trazar (mostrar) este objeto."
-
-#: flatcamGUI/ObjectUI.py:184 flatcamGUI/ObjectUI.py:765
-#: flatcamGUI/PreferencesUI.py:1781 flatcamGUI/PreferencesUI.py:2680
-#: flatcamGUI/PreferencesUI.py:3847
-msgid "Plot"
-msgstr "Gráfico"
-
-#: flatcamGUI/ObjectUI.py:189 flatcamGUI/ObjectUI.py:726
-#: flatcamGUI/ObjectUI.py:1159 flatcamGUI/ObjectUI.py:1795
-#: flatcamGUI/PreferencesUI.py:1760 flatcamGUI/PreferencesUI.py:2674
-#: flatcamGUI/PreferencesUI.py:3843 flatcamGUI/PreferencesUI.py:4395
+#: flatcamGUI/ObjectUI.py:186 flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/ObjectUI.py:2123
+#: flatcamGUI/PreferencesUI.py:1940 flatcamGUI/PreferencesUI.py:2856
+#: flatcamGUI/PreferencesUI.py:4121 flatcamGUI/PreferencesUI.py:4688
msgid "Plot Options"
msgstr "Opciones de parcela"
-#: flatcamGUI/ObjectUI.py:195 flatcamGUI/ObjectUI.py:727
-#: flatcamGUI/PreferencesUI.py:1767 flatcamGUI/PreferencesUI.py:2686
-#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolCopperThieving.py:190
+#: flatcamGUI/ObjectUI.py:192 flatcamGUI/ObjectUI.py:730
+#: flatcamGUI/PreferencesUI.py:1947 flatcamGUI/PreferencesUI.py:2868
+#: flatcamGUI/PreferencesUI.py:7728 flatcamTools/ToolCopperThieving.py:192
msgid "Solid"
msgstr "Sólido"
-#: flatcamGUI/ObjectUI.py:197 flatcamGUI/PreferencesUI.py:1769
+#: flatcamGUI/ObjectUI.py:194 flatcamGUI/PreferencesUI.py:1949
msgid "Solid color polygons."
msgstr "Polígonos de color liso."
-#: flatcamGUI/ObjectUI.py:203
+#: flatcamGUI/ObjectUI.py:200
msgid "Multi-Color"
msgstr "Multicolor"
-#: flatcamGUI/ObjectUI.py:205 flatcamGUI/PreferencesUI.py:1776
+#: flatcamGUI/ObjectUI.py:202 flatcamGUI/PreferencesUI.py:1956
msgid "Draw polygons in different colors."
msgstr "Dibuja polígonos en diferentes colores."
-#: flatcamGUI/ObjectUI.py:213 flatcamGUI/ObjectUI.py:738
-#: flatcamGUI/ObjectUI.py:1165 flatcamGUI/ObjectUI.py:1825
-#: flatcamGUI/ObjectUI.py:2128 flatcamGUI/ObjectUI.py:2194
-#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolFiducials.py:73
-msgid "Name"
-msgstr "Nombre"
+#: flatcamGUI/ObjectUI.py:208 flatcamGUI/ObjectUI.py:768
+#: flatcamGUI/PreferencesUI.py:1961 flatcamGUI/PreferencesUI.py:2862
+#: flatcamGUI/PreferencesUI.py:4125
+msgid "Plot"
+msgstr "Gráfico"
-#: flatcamGUI/ObjectUI.py:234
+#: flatcamGUI/ObjectUI.py:210 flatcamGUI/ObjectUI.py:770
+#: flatcamGUI/ObjectUI.py:1484 flatcamGUI/ObjectUI.py:2233
+#: flatcamGUI/PreferencesUI.py:1963 flatcamGUI/PreferencesUI.py:4127
+#: flatcamGUI/PreferencesUI.py:4699
+msgid "Plot (show) this object."
+msgstr "Trazar (mostrar) este objeto."
+
+#: flatcamGUI/ObjectUI.py:238
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"When unchecked, it will delete all mark shapes\n"
@@ -7213,11 +7555,11 @@ msgstr ""
"Cuando no está marcada, eliminará todas las formas de las marcas.\n"
"que se dibujan en lienzo."
-#: flatcamGUI/ObjectUI.py:244
+#: flatcamGUI/ObjectUI.py:248
msgid "Mark All"
msgstr "Márc. todo"
-#: flatcamGUI/ObjectUI.py:246
+#: flatcamGUI/ObjectUI.py:250
msgid ""
"When checked it will display all the apertures.\n"
"When unchecked, it will delete all mark shapes\n"
@@ -7227,15 +7569,15 @@ msgstr ""
"Cuando no está marcada, eliminará todas las formas de las marcas.\n"
"que se dibujan en lienzo."
-#: flatcamGUI/ObjectUI.py:274
+#: flatcamGUI/ObjectUI.py:278
msgid "Mark the aperture instances on canvas."
msgstr "Marque las instancias de apertura en el lienzo."
-#: flatcamGUI/ObjectUI.py:286 flatcamGUI/PreferencesUI.py:2014
+#: flatcamGUI/ObjectUI.py:290 flatcamGUI/PreferencesUI.py:2194
msgid "Isolation Routing"
msgstr "Enrutamiento de aislamiento"
-#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:2016
+#: flatcamGUI/ObjectUI.py:292 flatcamGUI/PreferencesUI.py:2196
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut outside polygons."
@@ -7243,7 +7585,7 @@ msgstr ""
"Crear un objeto de geometría con\n"
"Trayectorias para cortar polígonos exteriores."
-#: flatcamGUI/ObjectUI.py:306 flatcamGUI/PreferencesUI.py:2219
+#: flatcamGUI/ObjectUI.py:310 flatcamGUI/PreferencesUI.py:2399
msgid ""
"Choose what tool to use for Gerber isolation:\n"
"'Circular' or 'V-shape'.\n"
@@ -7255,31 +7597,37 @@ msgstr ""
"Cuando se selecciona la 'forma de V', entonces la herramienta\n"
"El diámetro dependerá de la profundidad de corte elegida."
-#: flatcamGUI/ObjectUI.py:312
+#: flatcamGUI/ObjectUI.py:316
msgid "V-Shape"
msgstr "Forma V"
-#: flatcamGUI/ObjectUI.py:318 flatcamGUI/ObjectUI.py:1374
-#: flatcamGUI/PreferencesUI.py:2231 flatcamGUI/PreferencesUI.py:5055
-#: flatcamTools/ToolNonCopperClear.py:231
+#: flatcamGUI/ObjectUI.py:322 flatcamGUI/ObjectUI.py:1670
+#: flatcamGUI/PreferencesUI.py:2411 flatcamGUI/PreferencesUI.py:5351
+#: flatcamGUI/PreferencesUI.py:5917 flatcamGUI/PreferencesUI.py:5924
+#: flatcamTools/ToolNCC.py:233 flatcamTools/ToolNCC.py:240
+#: flatcamTools/ToolPaint.py:216
msgid "V-Tip Dia"
msgstr "V-Tipo Dia"
-#: flatcamGUI/ObjectUI.py:320 flatcamGUI/ObjectUI.py:1377
-#: flatcamGUI/PreferencesUI.py:2233 flatcamGUI/PreferencesUI.py:5057
-#: flatcamTools/ToolNonCopperClear.py:233
+#: flatcamGUI/ObjectUI.py:324 flatcamGUI/ObjectUI.py:1673
+#: flatcamGUI/PreferencesUI.py:2413 flatcamGUI/PreferencesUI.py:5353
+#: flatcamGUI/PreferencesUI.py:5919 flatcamTools/ToolNCC.py:235
+#: flatcamTools/ToolPaint.py:218
msgid "The tip diameter for V-Shape Tool"
msgstr "El diámetro de la punta para la herramienta en forma de V"
-#: flatcamGUI/ObjectUI.py:331 flatcamGUI/ObjectUI.py:1389
-#: flatcamGUI/PreferencesUI.py:2244 flatcamGUI/PreferencesUI.py:5067
-#: flatcamTools/ToolNonCopperClear.py:242
+#: flatcamGUI/ObjectUI.py:335 flatcamGUI/ObjectUI.py:1685
+#: flatcamGUI/PreferencesUI.py:2424 flatcamGUI/PreferencesUI.py:5363
+#: flatcamGUI/PreferencesUI.py:5930 flatcamGUI/PreferencesUI.py:5938
+#: flatcamTools/ToolNCC.py:246 flatcamTools/ToolNCC.py:254
+#: flatcamTools/ToolPaint.py:229
msgid "V-Tip Angle"
msgstr "V-Tipo Ángulo"
-#: flatcamGUI/ObjectUI.py:333 flatcamGUI/ObjectUI.py:1392
-#: flatcamGUI/PreferencesUI.py:2246 flatcamGUI/PreferencesUI.py:5069
-#: flatcamTools/ToolNonCopperClear.py:244
+#: flatcamGUI/ObjectUI.py:337 flatcamGUI/ObjectUI.py:1688
+#: flatcamGUI/PreferencesUI.py:2426 flatcamGUI/PreferencesUI.py:5365
+#: flatcamGUI/PreferencesUI.py:5932 flatcamTools/ToolNCC.py:248
+#: flatcamTools/ToolPaint.py:231
msgid ""
"The tip angle for V-Shape Tool.\n"
"In degree."
@@ -7287,9 +7635,9 @@ msgstr ""
"El ángulo de punta para la herramienta en forma de V.\n"
"En grado."
-#: flatcamGUI/ObjectUI.py:347 flatcamGUI/ObjectUI.py:1408
-#: flatcamGUI/PreferencesUI.py:2259 flatcamGUI/PreferencesUI.py:3963
-#: flatcamGUI/PreferencesUI.py:5330 flatcamTools/ToolCutOut.py:135
+#: flatcamGUI/ObjectUI.py:351 flatcamGUI/ObjectUI.py:1704
+#: flatcamGUI/PreferencesUI.py:2439 flatcamGUI/PreferencesUI.py:4243
+#: flatcamGUI/PreferencesUI.py:5669 flatcamTools/ToolCutOut.py:142
msgid ""
"Cutting depth (negative)\n"
"below the copper surface."
@@ -7297,7 +7645,7 @@ msgstr ""
"Profundidad de corte (negativo)\n"
"debajo de la superficie de cobre."
-#: flatcamGUI/ObjectUI.py:361
+#: flatcamGUI/ObjectUI.py:365
msgid ""
"Diameter of the cutting tool.\n"
"If you want to have an isolation path\n"
@@ -7311,11 +7659,11 @@ msgstr ""
"característica, use un valor negativo para\n"
"este parámetro."
-#: flatcamGUI/ObjectUI.py:377 flatcamGUI/PreferencesUI.py:2038
+#: flatcamGUI/ObjectUI.py:381 flatcamGUI/PreferencesUI.py:2218
msgid "# Passes"
msgstr "# Pases"
-#: flatcamGUI/ObjectUI.py:379 flatcamGUI/PreferencesUI.py:2040
+#: flatcamGUI/ObjectUI.py:383 flatcamGUI/PreferencesUI.py:2220
msgid ""
"Width of the isolation gap in\n"
"number (integer) of tool widths."
@@ -7323,24 +7671,18 @@ msgstr ""
"Ancho de la brecha de aislamiento en\n"
"Número (entero) de anchos de herramienta."
-#: flatcamGUI/ObjectUI.py:389 flatcamGUI/PreferencesUI.py:2050
+#: flatcamGUI/ObjectUI.py:394 flatcamGUI/PreferencesUI.py:2230
msgid "Pass overlap"
msgstr "Superposición de pases"
-#: flatcamGUI/ObjectUI.py:391 flatcamGUI/PreferencesUI.py:2052
-msgid "How much (fraction) of the tool width to overlap each tool pass."
+#: flatcamGUI/ObjectUI.py:396 flatcamGUI/PreferencesUI.py:2232
+msgid "How much (percentage) of the tool width to overlap each tool pass."
msgstr ""
-"La cantidad (fracción) del ancho de la herramienta para superponer cada "
-"pasada de herramienta."
+"Cuánto (porcentaje) del ancho de la herramienta para superponer cada pasada "
+"de herramienta."
-#: flatcamGUI/ObjectUI.py:403 flatcamGUI/PreferencesUI.py:2077
-#: flatcamGUI/PreferencesUI.py:4372 flatcamGUI/PreferencesUI.py:5112
-#: flatcamTools/ToolNonCopperClear.py:162
-msgid "Milling Type"
-msgstr "Tipo de fresado"
-
-#: flatcamGUI/ObjectUI.py:405 flatcamGUI/PreferencesUI.py:2079
-#: flatcamGUI/PreferencesUI.py:4374
+#: flatcamGUI/ObjectUI.py:410 flatcamGUI/PreferencesUI.py:2259
+#: flatcamGUI/PreferencesUI.py:4667
msgid ""
"Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
@@ -7351,29 +7693,19 @@ msgstr ""
"herramienta\n"
"- convencional / útil cuando no hay compensación de contragolpe"
-#: flatcamGUI/ObjectUI.py:409 flatcamGUI/PreferencesUI.py:2084
-#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:5119
-#: flatcamTools/ToolNonCopperClear.py:169
-msgid "Climb"
-msgstr "Subida"
-
-#: flatcamGUI/ObjectUI.py:410
-msgid "Conventional"
-msgstr "Convencional"
-
-#: flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/ObjectUI.py:420
msgid "Combine"
msgstr "Combinar"
-#: flatcamGUI/ObjectUI.py:417 flatcamGUI/PreferencesUI.py:2091
+#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2271
msgid "Combine all passes into one object"
msgstr "Combina todos los pases en un objeto"
-#: flatcamGUI/ObjectUI.py:421 flatcamGUI/PreferencesUI.py:2193
+#: flatcamGUI/ObjectUI.py:426 flatcamGUI/PreferencesUI.py:2373
msgid "\"Follow\""
msgstr "\"Seguir\""
-#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2195
+#: flatcamGUI/ObjectUI.py:427 flatcamGUI/PreferencesUI.py:2375
msgid ""
"Generate a 'Follow' geometry.\n"
"This means that it will cut through\n"
@@ -7383,11 +7715,11 @@ msgstr ""
"Esto significa que cortará a través\n"
"El medio de la traza."
-#: flatcamGUI/ObjectUI.py:428
+#: flatcamGUI/ObjectUI.py:433
msgid "Except"
msgstr "Excepto"
-#: flatcamGUI/ObjectUI.py:431
+#: flatcamGUI/ObjectUI.py:436
msgid ""
"When the isolation geometry is generated,\n"
"by checking this, the area of the object bellow\n"
@@ -7397,12 +7729,12 @@ msgstr ""
"marcando esto, el área del objeto a continuación\n"
"será restado de la geometría de aislamiento."
-#: flatcamGUI/ObjectUI.py:453 flatcamTools/ToolNonCopperClear.py:82
-#: flatcamTools/ToolPaint.py:85
+#: flatcamGUI/ObjectUI.py:456 flatcamTools/ToolNCC.py:86
+#: flatcamTools/ToolPaint.py:80
msgid "Obj Type"
msgstr "Tipo de obj"
-#: flatcamGUI/ObjectUI.py:455
+#: flatcamGUI/ObjectUI.py:458
msgid ""
"Specify the type of object to be excepted from isolation.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -7414,22 +7746,22 @@ msgstr ""
"Lo que se seleccione aquí dictará el tipo\n"
"de objetos que llenarán el cuadro combinado 'Objeto'."
-#: flatcamGUI/ObjectUI.py:468 flatcamGUI/PreferencesUI.py:7522
-#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNonCopperClear.py:100
-#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:81
-#: flatcamTools/ToolPanelize.py:94
+#: flatcamGUI/ObjectUI.py:471 flatcamGUI/PreferencesUI.py:8028
+#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNCC.py:109
+#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:100
+#: flatcamTools/ToolQRCode.py:78
msgid "Object"
msgstr "Objeto"
-#: flatcamGUI/ObjectUI.py:469
+#: flatcamGUI/ObjectUI.py:472
msgid "Object whose area will be removed from isolation geometry."
msgstr "Objeto cuya área se eliminará de la geometría de aislamiento."
-#: flatcamGUI/ObjectUI.py:476 flatcamGUI/PreferencesUI.py:2064
+#: flatcamGUI/ObjectUI.py:479 flatcamGUI/PreferencesUI.py:2244
msgid "Scope"
msgstr "Alcance"
-#: flatcamGUI/ObjectUI.py:478 flatcamGUI/PreferencesUI.py:2066
+#: flatcamGUI/ObjectUI.py:481 flatcamGUI/PreferencesUI.py:2246
msgid ""
"Isolation scope. Choose what to isolate:\n"
"- 'All' -> Isolate all the polygons in the object\n"
@@ -7439,17 +7771,18 @@ msgstr ""
"- 'Todos' -> Aislar todos los polígonos en el objeto\n"
"- 'Selección' -> Aislar una selección de polígonos."
-#: flatcamGUI/ObjectUI.py:483 flatcamGUI/PreferencesUI.py:602
-#: flatcamGUI/PreferencesUI.py:2071 flatcamGUI/PreferencesUI.py:5634
-#: flatcamTools/ToolPaint.py:294
+#: flatcamGUI/ObjectUI.py:486 flatcamGUI/PreferencesUI.py:624
+#: flatcamGUI/PreferencesUI.py:2251 flatcamGUI/PreferencesUI.py:5590
+#: flatcamGUI/PreferencesUI.py:6097 flatcamTools/ToolNCC.py:539
+#: flatcamTools/ToolPaint.py:456
msgid "Selection"
msgstr "Selección"
-#: flatcamGUI/ObjectUI.py:491 flatcamGUI/PreferencesUI.py:2272
+#: flatcamGUI/ObjectUI.py:494 flatcamGUI/PreferencesUI.py:2452
msgid "Isolation Type"
msgstr "Tipo de aislamiento"
-#: flatcamGUI/ObjectUI.py:493 flatcamGUI/PreferencesUI.py:2274
+#: flatcamGUI/ObjectUI.py:496 flatcamGUI/PreferencesUI.py:2454
msgid ""
"Choose how the isolation will be executed:\n"
"- 'Full' -> complete isolation of polygons\n"
@@ -7469,24 +7802,24 @@ msgstr ""
"el aislamiento solo se puede hacer cuando hay una abertura\n"
"dentro del polígono (por ejemplo, el polígono tiene forma de 'rosquilla')."
-#: flatcamGUI/ObjectUI.py:502 flatcamGUI/PreferencesUI.py:2283
-#: flatcamGUI/PreferencesUI.py:2304
+#: flatcamGUI/ObjectUI.py:505 flatcamGUI/PreferencesUI.py:2463
+#: flatcamGUI/PreferencesUI.py:2484
msgid "Full"
msgstr "Completo"
-#: flatcamGUI/ObjectUI.py:503
+#: flatcamGUI/ObjectUI.py:506
msgid "Ext"
msgstr "Exterior"
-#: flatcamGUI/ObjectUI.py:504
+#: flatcamGUI/ObjectUI.py:507
msgid "Int"
msgstr "Interior"
-#: flatcamGUI/ObjectUI.py:509
+#: flatcamGUI/ObjectUI.py:512
msgid "Generate Isolation Geometry"
msgstr "Generar geo. de aislamiento"
-#: flatcamGUI/ObjectUI.py:517
+#: flatcamGUI/ObjectUI.py:520
msgid ""
"Create a Geometry object with toolpaths to cut \n"
"isolation outside, inside or on both sides of the\n"
@@ -7508,11 +7841,11 @@ msgstr ""
"dentro de la función real de Gerber, use una herramienta negativa\n"
"diámetro arriba."
-#: flatcamGUI/ObjectUI.py:529
+#: flatcamGUI/ObjectUI.py:532
msgid "Buffer Solid Geometry"
msgstr "Buffer la Geometria solida"
-#: flatcamGUI/ObjectUI.py:531
+#: flatcamGUI/ObjectUI.py:534
msgid ""
"This button is shown only when the Gerber file\n"
"is loaded without buffering.\n"
@@ -7524,11 +7857,11 @@ msgstr ""
"Al hacer clic en esto, se creará la geometría almacenada\n"
"requerido para el aislamiento."
-#: flatcamGUI/ObjectUI.py:559
+#: flatcamGUI/ObjectUI.py:566
msgid "Clear N-copper"
msgstr "N-cobre claro"
-#: flatcamGUI/ObjectUI.py:561 flatcamGUI/PreferencesUI.py:5019
+#: flatcamGUI/ObjectUI.py:568 flatcamGUI/PreferencesUI.py:5312
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut all non-copper regions."
@@ -7536,8 +7869,8 @@ msgstr ""
"Crear un objeto de geometría con\n"
"Trayectorias para cortar todas las regiones sin cobre."
-#: flatcamGUI/ObjectUI.py:568 flatcamGUI/ObjectUI.py:1751
-#: flatcamTools/ToolNonCopperClear.py:473
+#: flatcamGUI/ObjectUI.py:575 flatcamGUI/ObjectUI.py:2077
+#: flatcamTools/ToolNCC.py:599
msgid ""
"Create the Geometry Object\n"
"for non-copper routing."
@@ -7545,11 +7878,11 @@ msgstr ""
"Crear el objeto de geometría\n"
"para enrutamiento sin cobre."
-#: flatcamGUI/ObjectUI.py:581
+#: flatcamGUI/ObjectUI.py:588
msgid "Board cutout"
msgstr "Corte del tablero"
-#: flatcamGUI/ObjectUI.py:583 flatcamGUI/PreferencesUI.py:5303
+#: flatcamGUI/ObjectUI.py:590 flatcamGUI/PreferencesUI.py:5642
msgid ""
"Create toolpaths to cut around\n"
"the PCB and separate it from\n"
@@ -7559,7 +7892,7 @@ msgstr ""
"El PCB y lo separa de\n"
"El tablero original."
-#: flatcamGUI/ObjectUI.py:590
+#: flatcamGUI/ObjectUI.py:597
msgid ""
"Generate the geometry for\n"
"the board cutout."
@@ -7567,11 +7900,11 @@ msgstr ""
"Generar la geometría para\n"
"El recorte del tablero."
-#: flatcamGUI/ObjectUI.py:608 flatcamGUI/PreferencesUI.py:2101
+#: flatcamGUI/ObjectUI.py:615 flatcamGUI/PreferencesUI.py:2281
msgid "Non-copper regions"
msgstr "Regiones no cobre"
-#: flatcamGUI/ObjectUI.py:610 flatcamGUI/PreferencesUI.py:2103
+#: flatcamGUI/ObjectUI.py:617 flatcamGUI/PreferencesUI.py:2283
msgid ""
"Create polygons covering the\n"
"areas without copper on the PCB.\n"
@@ -7585,12 +7918,12 @@ msgstr ""
"objeto. Se puede usar para eliminar todo\n"
"cobre de una región específica."
-#: flatcamGUI/ObjectUI.py:620 flatcamGUI/ObjectUI.py:661
-#: flatcamGUI/PreferencesUI.py:2115 flatcamGUI/PreferencesUI.py:2148
+#: flatcamGUI/ObjectUI.py:627 flatcamGUI/ObjectUI.py:668
+#: flatcamGUI/PreferencesUI.py:2295 flatcamGUI/PreferencesUI.py:2328
msgid "Boundary Margin"
msgstr "Margen límite"
-#: flatcamGUI/ObjectUI.py:622 flatcamGUI/PreferencesUI.py:2117
+#: flatcamGUI/ObjectUI.py:629 flatcamGUI/PreferencesUI.py:2297
msgid ""
"Specify the edge of the PCB\n"
"by drawing a box around all\n"
@@ -7602,27 +7935,27 @@ msgstr ""
"objetos con este mínimo\n"
"distancia."
-#: flatcamGUI/ObjectUI.py:637 flatcamGUI/ObjectUI.py:675
-#: flatcamGUI/PreferencesUI.py:2130 flatcamGUI/PreferencesUI.py:2161
+#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:682
+#: flatcamGUI/PreferencesUI.py:2310 flatcamGUI/PreferencesUI.py:2341
msgid "Rounded Geo"
msgstr "Geo redondeado"
-#: flatcamGUI/ObjectUI.py:639 flatcamGUI/PreferencesUI.py:2132
+#: flatcamGUI/ObjectUI.py:646 flatcamGUI/PreferencesUI.py:2312
msgid "Resulting geometry will have rounded corners."
msgstr "La geometría resultante tendrá esquinas redondeadas."
-#: flatcamGUI/ObjectUI.py:643 flatcamGUI/ObjectUI.py:684
-#: flatcamTools/ToolSolderPaste.py:133
+#: flatcamGUI/ObjectUI.py:650 flatcamGUI/ObjectUI.py:691
+#: flatcamTools/ToolSolderPaste.py:135
msgid "Generate Geo"
msgstr "Generar Geo"
-#: flatcamGUI/ObjectUI.py:653 flatcamGUI/PreferencesUI.py:2142
-#: flatcamGUI/PreferencesUI.py:7052 flatcamTools/ToolPanelize.py:95
+#: flatcamGUI/ObjectUI.py:660 flatcamGUI/PreferencesUI.py:2322
+#: flatcamGUI/PreferencesUI.py:7558 flatcamTools/ToolPanelize.py:101
#: flatcamTools/ToolQRCode.py:192
msgid "Bounding Box"
msgstr "Cuadro delimitador"
-#: flatcamGUI/ObjectUI.py:655
+#: flatcamGUI/ObjectUI.py:662
msgid ""
"Create a geometry surrounding the Gerber object.\n"
"Square shape."
@@ -7630,7 +7963,7 @@ msgstr ""
"Crea una geometría que rodea el objeto Gerber.\n"
"Forma cuadrada."
-#: flatcamGUI/ObjectUI.py:663 flatcamGUI/PreferencesUI.py:2150
+#: flatcamGUI/ObjectUI.py:670 flatcamGUI/PreferencesUI.py:2330
msgid ""
"Distance of the edges of the box\n"
"to the nearest polygon."
@@ -7638,7 +7971,7 @@ msgstr ""
"Distancia de los bordes de la caja.\n"
"al polígono más cercano."
-#: flatcamGUI/ObjectUI.py:677 flatcamGUI/PreferencesUI.py:2163
+#: flatcamGUI/ObjectUI.py:684 flatcamGUI/PreferencesUI.py:2343
msgid ""
"If the bounding box is \n"
"to have rounded corners\n"
@@ -7650,33 +7983,31 @@ msgstr ""
"su radio es igual a\n"
"el margen."
-#: flatcamGUI/ObjectUI.py:686
+#: flatcamGUI/ObjectUI.py:693
msgid "Generate the Geometry object."
msgstr "Genera el objeto Geometry."
-#: flatcamGUI/ObjectUI.py:715
+#: flatcamGUI/ObjectUI.py:720
msgid "Excellon Object"
msgstr "Objeto Excellon"
-#: flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:732
msgid "Solid circles."
msgstr "Círculos sólidos."
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926
-#: flatcamTools/ToolProperties.py:161
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:875
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3289
+#: flatcamTools/ToolProperties.py:166
msgid "Drills"
msgstr "Taladros"
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926
-#: flatcamGUI/PreferencesUI.py:3683 flatcamTools/ToolProperties.py:162
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:876
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3290
+#: flatcamGUI/PreferencesUI.py:3961 flatcamTools/ToolProperties.py:168
msgid "Slots"
msgstr "Muesca"
-#: flatcamGUI/ObjectUI.py:778 flatcamGUI/PreferencesUI.py:3289
-msgid "Offset Z"
-msgstr "Offset Z"
-
-#: flatcamGUI/ObjectUI.py:782
+#: flatcamGUI/ObjectUI.py:785
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
@@ -7691,8 +8022,8 @@ msgstr ""
"\n"
"Aquí se seleccionan las herramientas para la generación de código G."
-#: flatcamGUI/ObjectUI.py:787 flatcamGUI/ObjectUI.py:1230
-#: flatcamTools/ToolPaint.py:137
+#: flatcamGUI/ObjectUI.py:790 flatcamGUI/ObjectUI.py:1508
+#: flatcamTools/ToolPaint.py:142
msgid ""
"Tool Diameter. It's value (in current FlatCAM units) \n"
"is the cut width into the material."
@@ -7700,7 +8031,7 @@ msgstr ""
"Diámetro de herramienta. Su valor (en unidades actuales de FlatCAM)\n"
"es el ancho de corte en el material."
-#: flatcamGUI/ObjectUI.py:790
+#: flatcamGUI/ObjectUI.py:793
msgid ""
"The number of Drill holes. Holes that are drilled with\n"
"a drill bit."
@@ -7708,7 +8039,7 @@ msgstr ""
"El número de agujeros de taladros. Agujeros que se taladran con\n"
"una broca."
-#: flatcamGUI/ObjectUI.py:793
+#: flatcamGUI/ObjectUI.py:796
msgid ""
"The number of Slot holes. Holes that are created by\n"
"milling them with an endmill bit."
@@ -7716,18 +8047,7 @@ msgstr ""
"El número de agujeros de muesca. Agujeros creados por\n"
"fresándolas con una broca de fresa."
-#: flatcamGUI/ObjectUI.py:796 flatcamGUI/PreferencesUI.py:3291
-msgid ""
-"Some drill bits (the larger ones) need to drill deeper\n"
-"to create the desired exit hole diameter due of the tip shape.\n"
-"The value here can compensate the Cut Z parameter."
-msgstr ""
-"Algunas brocas (las más grandes) necesitan profundizar más\n"
-"para crear el diámetro del orificio de salida deseado debido a la forma de "
-"la punta.\n"
-"El valor aquí puede compensar el parámetro Z de corte."
-
-#: flatcamGUI/ObjectUI.py:800
+#: flatcamGUI/ObjectUI.py:799
msgid ""
"Toggle display of the drills for the current tool.\n"
"This does not select the tools for G-code generation."
@@ -7735,20 +8055,60 @@ msgstr ""
"Alternar la visualización de los ejercicios para la herramienta actual.\n"
"Esto no selecciona las herramientas para la generación de código G."
-#: flatcamGUI/ObjectUI.py:807 flatcamGUI/PreferencesUI.py:3069
-#: flatcamGUI/PreferencesUI.py:3947
-msgid "Create CNC Job"
-msgstr "Crear trabajo CNC"
-
-#: flatcamGUI/ObjectUI.py:809
+#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1663
+#: flatcamTools/ToolNCC.py:334 flatcamTools/ToolPaint.py:317
msgid ""
-"Create a CNC Job object\n"
-"for this drill object."
+"The data used for creating GCode.\n"
+"Each tool store it's own set of such data."
msgstr ""
-"Crear un objeto de trabajo CNC\n"
-"para este objeto de perforación."
+"Los datos utilizados para crear GCode.\n"
+"Cada herramienta almacena su propio conjunto de datos."
-#: flatcamGUI/ObjectUI.py:822 flatcamGUI/PreferencesUI.py:3084
+#: flatcamGUI/ObjectUI.py:846 flatcamGUI/PreferencesUI.py:3266
+msgid ""
+"Operation type:\n"
+"- Drilling -> will drill the drills/slots associated with this tool\n"
+"- Milling -> will mill the drills/slots"
+msgstr ""
+"Tipo de operación:\n"
+"- Perforación -> perforará las perforaciones / ranuras asociadas con esta "
+"herramienta\n"
+"- Fresado -> fresará los taladros / ranuras"
+
+#: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:3272
+msgid "Drilling"
+msgstr "Perforación"
+
+#: flatcamGUI/ObjectUI.py:853 flatcamGUI/PreferencesUI.py:3273
+msgid "Milling"
+msgstr "Fresado"
+
+#: flatcamGUI/ObjectUI.py:868 flatcamGUI/PreferencesUI.py:3282
+msgid ""
+"Milling type:\n"
+"- Drills -> will mill the drills associated with this tool\n"
+"- Slots -> will mill the slots associated with this tool\n"
+"- Both -> will mill both drills and mills or whatever is available"
+msgstr ""
+"Tipo de fresado:\n"
+"- Taladros -> fresará los taladros asociados con esta herramienta\n"
+"- Ranuras -> fresará las ranuras asociadas con esta herramienta\n"
+"- Ambos -> fresarán taladros y molinos o lo que esté disponible"
+
+#: flatcamGUI/ObjectUI.py:877 flatcamGUI/PreferencesUI.py:3291
+#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolFilm.py:258
+msgid "Both"
+msgstr "Ambas"
+
+#: flatcamGUI/ObjectUI.py:885 flatcamGUI/PreferencesUI.py:3298
+msgid "Milling Diameter"
+msgstr "Diá. de fresado"
+
+#: flatcamGUI/ObjectUI.py:887 flatcamGUI/PreferencesUI.py:3300
+msgid "The diameter of the tool who will do the milling"
+msgstr "El diámetro de la herramienta que hará el fresado"
+
+#: flatcamGUI/ObjectUI.py:901 flatcamGUI/PreferencesUI.py:3313
msgid ""
"Drill depth (negative)\n"
"below the copper surface."
@@ -7756,7 +8116,33 @@ msgstr ""
"Profundidad de perforación (negativo)\n"
"debajo de la superficie de cobre."
-#: flatcamGUI/ObjectUI.py:841 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/ObjectUI.py:920 flatcamGUI/ObjectUI.py:1722
+#: flatcamGUI/PreferencesUI.py:3331 flatcamGUI/PreferencesUI.py:4261
+#: flatcamGUI/PreferencesUI.py:5687 flatcamTools/ToolCutOut.py:160
+msgid "Multi-Depth"
+msgstr "Profund. Múlti"
+
+#: flatcamGUI/ObjectUI.py:923 flatcamGUI/ObjectUI.py:1725
+#: flatcamGUI/PreferencesUI.py:3334 flatcamGUI/PreferencesUI.py:4264
+#: flatcamGUI/PreferencesUI.py:5690 flatcamTools/ToolCutOut.py:163
+msgid ""
+"Use multiple passes to limit\n"
+"the cut depth in each pass. Will\n"
+"cut multiple times until Cut Z is\n"
+"reached."
+msgstr ""
+"Usa múltiples pases para limitar\n"
+"La profundidad de corte en cada pasada. Será\n"
+"cortar varias veces hasta que el Corte Z sea\n"
+"alcanzado."
+
+#: flatcamGUI/ObjectUI.py:936 flatcamGUI/ObjectUI.py:1739
+#: flatcamGUI/PreferencesUI.py:3346 flatcamGUI/PreferencesUI.py:5702
+#: flatcamTools/ToolCutOut.py:177
+msgid "Depth of each pass (positive)."
+msgstr "Profundidad de cada pase (positivo)."
+
+#: flatcamGUI/ObjectUI.py:947 flatcamGUI/PreferencesUI.py:3354
msgid ""
"Tool height when travelling\n"
"across the XY plane."
@@ -7764,61 +8150,16 @@ msgstr ""
"Altura de herramienta al viajar\n"
"A través del plano XY."
-#: flatcamGUI/ObjectUI.py:858 flatcamGUI/ObjectUI.py:1478
-#: flatcamGUI/PreferencesUI.py:3117 flatcamGUI/PreferencesUI.py:4034
-msgid "Tool change"
-msgstr "Cambio de herram"
-
-#: flatcamGUI/ObjectUI.py:860 flatcamGUI/PreferencesUI.py:3119
+#: flatcamGUI/ObjectUI.py:968 flatcamGUI/ObjectUI.py:1769
+#: flatcamGUI/PreferencesUI.py:4380
msgid ""
-"Include tool-change sequence\n"
-"in G-Code (Pause for tool change)."
+"Cutting speed in the XY\n"
+"plane in units per minute"
msgstr ""
-"Incluir secuencia de cambio de herramienta\n"
-"en G-Code (Pausa para cambio de herramienta)."
+"Velocidad de corte en el XY.\n"
+"Avion en unidades por minuto"
-#: flatcamGUI/ObjectUI.py:866 flatcamGUI/ObjectUI.py:1471
-msgid "Tool change Z"
-msgstr "Cambio de herra. Z"
-
-#: flatcamGUI/ObjectUI.py:868 flatcamGUI/ObjectUI.py:1474
-#: flatcamGUI/PreferencesUI.py:3126 flatcamGUI/PreferencesUI.py:4047
-msgid ""
-"Z-axis position (height) for\n"
-"tool change."
-msgstr ""
-"Posición del eje Z (altura) para\n"
-"cambio de herramienta."
-
-#: flatcamGUI/ObjectUI.py:888 flatcamGUI/PreferencesUI.py:3311
-msgid ""
-"Height of the tool just after start.\n"
-"Delete the value if you don't need this feature."
-msgstr ""
-"Altura de la herramienta justo después del arranque.\n"
-"Elimine el valor si no necesita esta característica."
-
-#: flatcamGUI/ObjectUI.py:896 flatcamGUI/ObjectUI.py:1512
-#: flatcamGUI/PreferencesUI.py:3141 flatcamGUI/PreferencesUI.py:4066
-msgid "End move Z"
-msgstr "Fin del movi. Z"
-
-#: flatcamGUI/ObjectUI.py:898 flatcamGUI/ObjectUI.py:1514
-#: flatcamGUI/PreferencesUI.py:3143 flatcamGUI/PreferencesUI.py:4068
-msgid ""
-"Height of the tool after\n"
-"the last move at the end of the job."
-msgstr ""
-"Altura de la herramienta después de\n"
-"El último movimiento al final del trabajo."
-
-#: flatcamGUI/ObjectUI.py:915 flatcamGUI/ObjectUI.py:1545
-#: flatcamGUI/PreferencesUI.py:3158 flatcamGUI/PreferencesUI.py:4101
-#: flatcamGUI/PreferencesUI.py:6566 flatcamTools/ToolSolderPaste.py:264
-msgid "Feedrate Z"
-msgstr "Avance Z"
-
-#: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:3160
+#: flatcamGUI/ObjectUI.py:983 flatcamGUI/PreferencesUI.py:3427
msgid ""
"Tool speed while drilling\n"
"(in units per minute).\n"
@@ -7830,12 +8171,12 @@ msgstr ""
"La llamada velocidad de avance 'Plunge'.\n"
"Esto es para el movimiento lineal G01."
-#: flatcamGUI/ObjectUI.py:931 flatcamGUI/ObjectUI.py:1560
-#: flatcamGUI/PreferencesUI.py:3319 flatcamGUI/PreferencesUI.py:4210
+#: flatcamGUI/ObjectUI.py:998 flatcamGUI/ObjectUI.py:1796
+#: flatcamGUI/PreferencesUI.py:3597 flatcamGUI/PreferencesUI.py:4503
msgid "Feedrate Rapids"
msgstr "Rápidos de avance"
-#: flatcamGUI/ObjectUI.py:933 flatcamGUI/PreferencesUI.py:3321
+#: flatcamGUI/ObjectUI.py:1000 flatcamGUI/PreferencesUI.py:3599
msgid ""
"Tool speed while drilling\n"
"(in units per minute).\n"
@@ -7849,12 +8190,26 @@ msgstr ""
"Es útil solo para Marlin,\n"
"Ignorar para cualquier otro caso."
-#: flatcamGUI/ObjectUI.py:951 flatcamGUI/ObjectUI.py:1603
-#: flatcamGUI/PreferencesUI.py:4117
-msgid "Spindle speed"
-msgstr "Eje de velocidad"
+#: flatcamGUI/ObjectUI.py:1020 flatcamGUI/ObjectUI.py:1816
+#: flatcamGUI/PreferencesUI.py:4521
+msgid "Re-cut"
+msgstr "Recortar"
-#: flatcamGUI/ObjectUI.py:953 flatcamGUI/PreferencesUI.py:3175
+#: flatcamGUI/ObjectUI.py:1022 flatcamGUI/ObjectUI.py:1035
+#: flatcamGUI/ObjectUI.py:1818 flatcamGUI/ObjectUI.py:1830
+#: flatcamGUI/PreferencesUI.py:4523 flatcamGUI/PreferencesUI.py:4535
+msgid ""
+"In order to remove possible\n"
+"copper leftovers where first cut\n"
+"meet with last cut, we generate an\n"
+"extended cut over the first cut section."
+msgstr ""
+"Para eliminar posibles\n"
+"sobras de cobre donde el primer corte\n"
+"Nos reunimos con el último corte, generamos un\n"
+"Corte extendido sobre la primera sección de corte."
+
+#: flatcamGUI/ObjectUI.py:1050 flatcamGUI/PreferencesUI.py:3442
msgid ""
"Speed of the spindle\n"
"in RPM (optional)"
@@ -7862,8 +8217,8 @@ msgstr ""
"Velocidad del husillo\n"
"en RPM (opcional)"
-#: flatcamGUI/ObjectUI.py:965 flatcamGUI/ObjectUI.py:1622
-#: flatcamGUI/PreferencesUI.py:3187 flatcamGUI/PreferencesUI.py:4135
+#: flatcamGUI/ObjectUI.py:1065 flatcamGUI/ObjectUI.py:1858
+#: flatcamGUI/PreferencesUI.py:3456 flatcamGUI/PreferencesUI.py:4427
msgid ""
"Pause to allow the spindle to reach its\n"
"speed before cutting."
@@ -7871,26 +8226,116 @@ msgstr ""
"Pausa para permitir que el husillo alcance su\n"
"Velocidad antes del corte."
-#: flatcamGUI/ObjectUI.py:974 flatcamGUI/ObjectUI.py:1632
-#: flatcamGUI/PreferencesUI.py:3193 flatcamGUI/PreferencesUI.py:4140
+#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/ObjectUI.py:1868
+#: flatcamGUI/PreferencesUI.py:3464 flatcamGUI/PreferencesUI.py:4432
msgid "Number of time units for spindle to dwell."
msgstr "Número de unidades de tiempo para que el husillo permanezca."
-#: flatcamGUI/ObjectUI.py:984 flatcamGUI/PreferencesUI.py:3206
-msgid ""
-"The preprocessor JSON file that dictates\n"
-"Gcode output."
-msgstr ""
-"El archivo JSON del postprocesador que dicta\n"
-"Salida de Gcode."
+#: flatcamGUI/ObjectUI.py:1086 flatcamGUI/PreferencesUI.py:3563
+msgid "Offset Z"
+msgstr "Offset Z"
-#: flatcamGUI/ObjectUI.py:993 flatcamGUI/ObjectUI.py:1652
-#: flatcamGUI/PreferencesUI.py:3335 flatcamGUI/PreferencesUI.py:4251
+#: flatcamGUI/ObjectUI.py:1088 flatcamGUI/PreferencesUI.py:3565
+msgid ""
+"Some drill bits (the larger ones) need to drill deeper\n"
+"to create the desired exit hole diameter due of the tip shape.\n"
+"The value here can compensate the Cut Z parameter."
+msgstr ""
+"Algunas brocas (las más grandes) necesitan profundizar más\n"
+"para crear el diámetro del orificio de salida deseado debido a la forma de "
+"la punta.\n"
+"El valor aquí puede compensar el parámetro Z de corte."
+
+#: flatcamGUI/ObjectUI.py:1148 flatcamGUI/ObjectUI.py:1922
+#: flatcamTools/ToolNCC.py:492 flatcamTools/ToolPaint.py:423
+msgid "Apply parameters to all tools"
+msgstr "Aplicar Parám. a todas las herramientas"
+
+#: flatcamGUI/ObjectUI.py:1150 flatcamGUI/ObjectUI.py:1924
+#: flatcamTools/ToolNCC.py:494 flatcamTools/ToolPaint.py:425
+msgid ""
+"The parameters in the current form will be applied\n"
+"on all the tools from the Tool Table."
+msgstr ""
+"Se aplicarán los parámetros en el formulario actual\n"
+"en todas las herramientas de la tabla de herramientas."
+
+#: flatcamGUI/ObjectUI.py:1161 flatcamGUI/ObjectUI.py:1935
+#: flatcamTools/ToolNCC.py:505 flatcamTools/ToolPaint.py:436
+msgid "Common Parameters"
+msgstr "Parámetros comunes"
+
+#: flatcamGUI/ObjectUI.py:1163 flatcamGUI/ObjectUI.py:1937
+#: flatcamTools/ToolNCC.py:507 flatcamTools/ToolPaint.py:438
+msgid "Parameters that are common for all tools."
+msgstr "Parámetros que son comunes para todas las herramientas."
+
+#: flatcamGUI/ObjectUI.py:1168 flatcamGUI/ObjectUI.py:1942
+msgid "Tool change Z"
+msgstr "Cambio de herra. Z"
+
+#: flatcamGUI/ObjectUI.py:1170 flatcamGUI/PreferencesUI.py:3372
+msgid ""
+"Include tool-change sequence\n"
+"in G-Code (Pause for tool change)."
+msgstr ""
+"Incluir secuencia de cambio de herramienta\n"
+"en G-Code (Pausa para cambio de herramienta)."
+
+#: flatcamGUI/ObjectUI.py:1177 flatcamGUI/ObjectUI.py:1953
+#: flatcamGUI/PreferencesUI.py:3380 flatcamGUI/PreferencesUI.py:4327
+msgid ""
+"Z-axis position (height) for\n"
+"tool change."
+msgstr ""
+"Posición del eje Z (altura) para\n"
+"cambio de herramienta."
+
+#: flatcamGUI/ObjectUI.py:1194 flatcamGUI/PreferencesUI.py:3588
+msgid ""
+"Height of the tool just after start.\n"
+"Delete the value if you don't need this feature."
+msgstr ""
+"Altura de la herramienta justo después del arranque.\n"
+"Elimine el valor si no necesita esta característica."
+
+#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1981
+#: flatcamGUI/PreferencesUI.py:3396 flatcamGUI/PreferencesUI.py:4346
+msgid "End move Z"
+msgstr "Fin del movi. Z"
+
+#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1983
+#: flatcamGUI/PreferencesUI.py:3398 flatcamGUI/PreferencesUI.py:4348
+msgid ""
+"Height of the tool after\n"
+"the last move at the end of the job."
+msgstr ""
+"Altura de la herramienta después de\n"
+"El último movimiento al final del trabajo."
+
+#: flatcamGUI/ObjectUI.py:1222 flatcamGUI/ObjectUI.py:2000
+#: flatcamGUI/PreferencesUI.py:3413 flatcamGUI/PreferencesUI.py:4366
+msgid "End move X,Y"
+msgstr "X, Y Fin del movimiento"
+
+#: flatcamGUI/ObjectUI.py:1224 flatcamGUI/ObjectUI.py:2002
+#: flatcamGUI/PreferencesUI.py:3415 flatcamGUI/PreferencesUI.py:4368
+msgid ""
+"End move X,Y position. In format (x,y).\n"
+"If no value is entered then there is no move\n"
+"on X,Y plane at the end of the job."
+msgstr ""
+"Fin movimiento X, Y posición. En formato (x, y).\n"
+"Si no se ingresa ningún valor, entonces no hay movimiento\n"
+"en el plano X, Y al final del trabajo."
+
+#: flatcamGUI/ObjectUI.py:1234 flatcamGUI/ObjectUI.py:1876
+#: flatcamGUI/PreferencesUI.py:3613 flatcamGUI/PreferencesUI.py:4544
msgid "Probe Z depth"
msgstr "Profundidad de la sonda Z"
-#: flatcamGUI/ObjectUI.py:995 flatcamGUI/ObjectUI.py:1654
-#: flatcamGUI/PreferencesUI.py:3337 flatcamGUI/PreferencesUI.py:4253
+#: flatcamGUI/ObjectUI.py:1236 flatcamGUI/ObjectUI.py:1878
+#: flatcamGUI/PreferencesUI.py:3615 flatcamGUI/PreferencesUI.py:4546
msgid ""
"The maximum depth that the probe is allowed\n"
"to probe. Negative value, in current units."
@@ -7898,45 +8343,71 @@ msgstr ""
"The maximum depth that the probe is allowed\n"
"to probe. Negative value, in current units."
-#: flatcamGUI/ObjectUI.py:1009 flatcamGUI/ObjectUI.py:1669
-#: flatcamGUI/PreferencesUI.py:3348 flatcamGUI/PreferencesUI.py:4266
+#: flatcamGUI/ObjectUI.py:1252 flatcamGUI/ObjectUI.py:1893
+#: flatcamGUI/PreferencesUI.py:3626 flatcamGUI/PreferencesUI.py:4559
msgid "Feedrate Probe"
msgstr "Sonda de avance"
-#: flatcamGUI/ObjectUI.py:1011 flatcamGUI/ObjectUI.py:1671
-#: flatcamGUI/PreferencesUI.py:3350 flatcamGUI/PreferencesUI.py:4268
+#: flatcamGUI/ObjectUI.py:1254 flatcamGUI/ObjectUI.py:1895
+#: flatcamGUI/PreferencesUI.py:3628 flatcamGUI/PreferencesUI.py:4561
msgid "The feedrate used while the probe is probing."
msgstr "La velocidad de avance utilizada mientras la sonda está sondeando."
-#: flatcamGUI/ObjectUI.py:1037 flatcamGUI/PreferencesUI.py:3215
-msgid "Gcode"
-msgstr "Gcode"
+#: flatcamGUI/ObjectUI.py:1261
+msgid "e_fr_probe"
+msgstr "e_fr_probe"
-#: flatcamGUI/ObjectUI.py:1039
+#: flatcamGUI/ObjectUI.py:1270
+msgid "Preprocessor E"
+msgstr "Postprocesador E"
+
+#: flatcamGUI/ObjectUI.py:1272
msgid ""
-"Choose what to use for GCode generation:\n"
-"'Drills', 'Slots' or 'Both'.\n"
-"When choosing 'Slots' or 'Both', slots will be\n"
-"converted to a series of drills."
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Excellon Objects."
msgstr ""
-"Elija qué usar para la generación de GCode:\n"
-"'Taladros', 'Muesca' o 'Ambos'.\n"
-"Al elegir 'Muesca' o 'Ambos', los slots serán\n"
-"convertido en una serie de simulacros."
+"El archivo JSON del preprocesador que dicta\n"
+"Salida de Gcode para objetos Excellon."
-#: flatcamGUI/ObjectUI.py:1053
-msgid "Create Drills GCode"
-msgstr "Crear taladros GCode"
+#: flatcamGUI/ObjectUI.py:1282
+msgid "Preprocessor G"
+msgstr "Postprocesador G"
-#: flatcamGUI/ObjectUI.py:1055
-msgid "Generate the CNC Job."
-msgstr "Generar el trabajo del CNC."
+#: flatcamGUI/ObjectUI.py:1284
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Geometry (Milling) Objects."
+msgstr ""
+"El archivo JSON del preprocesador que dicta\n"
+"Salida de Gcode para objetos de geometría (fresado)."
-#: flatcamGUI/ObjectUI.py:1066 flatcamGUI/PreferencesUI.py:3233
-msgid "Mill Holes"
-msgstr "Agujeros de molino"
+#: flatcamGUI/ObjectUI.py:1308 flatcamGUI/ObjectUI.py:2026
+msgid ""
+"Add / Select at least one tool in the tool-table.\n"
+"Click the # header to select all, or Ctrl + LMB\n"
+"for custom selection of tools."
+msgstr ""
+"Agregar / Seleccionar al menos una herramienta en la tabla de herramientas.\n"
+"Haga clic en el encabezado # para seleccionar todo, o Ctrl + LMB\n"
+"para la selección personalizada de herramientas."
-#: flatcamGUI/ObjectUI.py:1068
+#: flatcamGUI/ObjectUI.py:1316 flatcamGUI/ObjectUI.py:2033
+msgid "Generate CNCJob object"
+msgstr "Generar objeto CNCJob"
+
+#: flatcamGUI/ObjectUI.py:1318
+msgid ""
+"Generate the CNC Job.\n"
+"If milling then an additional Geometry object will be created"
+msgstr ""
+"Generar el trabajo del CNC.\n"
+"Si se fresa, se creará un objeto Geometry adicional"
+
+#: flatcamGUI/ObjectUI.py:1335
+msgid "Milling Geometry"
+msgstr "Geometría de fresado"
+
+#: flatcamGUI/ObjectUI.py:1337
msgid ""
"Create Geometry for milling holes.\n"
"Select from the Tools Table above the hole dias to be\n"
@@ -7947,20 +8418,16 @@ msgstr ""
"para\n"
"molido. Use la columna # para hacer la selección."
-#: flatcamGUI/ObjectUI.py:1074 flatcamGUI/PreferencesUI.py:3239
-msgid "Drill Tool dia"
-msgstr "Diá de la herra. de Perfor"
-
-#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/PreferencesUI.py:2027
-#: flatcamGUI/PreferencesUI.py:3241
+#: flatcamGUI/ObjectUI.py:1345 flatcamGUI/PreferencesUI.py:2207
+#: flatcamGUI/PreferencesUI.py:3514
msgid "Diameter of the cutting tool."
msgstr "Diá. de la herramienta de corte."
-#: flatcamGUI/ObjectUI.py:1083
-msgid "Mill Drills Geo"
-msgstr "Fresas Geo"
+#: flatcamGUI/ObjectUI.py:1355
+msgid "Mill Drills"
+msgstr "Fresar los Taladros"
-#: flatcamGUI/ObjectUI.py:1085
+#: flatcamGUI/ObjectUI.py:1357
msgid ""
"Create the Geometry Object\n"
"for milling DRILLS toolpaths."
@@ -7968,23 +8435,11 @@ msgstr ""
"Crear el objeto de geometría\n"
"para fresar trayectorias de taladros."
-#: flatcamGUI/ObjectUI.py:1099 flatcamGUI/PreferencesUI.py:3250
-msgid "Slot Tool dia"
-msgstr "Diá. de la herra. de ranura"
+#: flatcamGUI/ObjectUI.py:1375
+msgid "Mill Slots"
+msgstr "Fresar las Ranuras"
-#: flatcamGUI/ObjectUI.py:1101 flatcamGUI/PreferencesUI.py:3252
-msgid ""
-"Diameter of the cutting tool\n"
-"when milling slots."
-msgstr ""
-"Diámetro de la herramienta de corte\n"
-"Al fresar ranuras."
-
-#: flatcamGUI/ObjectUI.py:1110
-msgid "Mill Slots Geo"
-msgstr "Fresado de muesca Geo"
-
-#: flatcamGUI/ObjectUI.py:1112
+#: flatcamGUI/ObjectUI.py:1377
msgid ""
"Create the Geometry Object\n"
"for milling SLOTS toolpaths."
@@ -7992,11 +8447,11 @@ msgstr ""
"Crear el objeto de geometría\n"
"para fresar recorridos de herramientas muesca."
-#: flatcamGUI/ObjectUI.py:1152 flatcamTools/ToolCutOut.py:317
+#: flatcamGUI/ObjectUI.py:1419 flatcamTools/ToolCutOut.py:327
msgid "Geometry Object"
msgstr "Objeto de geometría"
-#: flatcamGUI/ObjectUI.py:1186
+#: flatcamGUI/ObjectUI.py:1465
msgid ""
"Tools in this Geometry object used for cutting.\n"
"The 'Offset' entry will set an offset for the cut.\n"
@@ -8025,23 +8480,23 @@ msgstr ""
"atenuado y Cut Z se calcula automáticamente a partir de la nueva\n"
"mostró entradas de formulario de IU denominadas V-Tipo Dia y V-Tipo ángulo."
-#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1903
-#: flatcamGUI/PreferencesUI.py:4405
+#: flatcamGUI/ObjectUI.py:1482 flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/PreferencesUI.py:4698
msgid "Plot Object"
msgstr "Trazar objeto"
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:7241
-#: flatcamTools/ToolCopperThieving.py:220
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:7747
+#: flatcamTools/ToolCopperThieving.py:222
msgid "Dia"
msgstr "Dia"
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
msgid "TT"
msgstr "TT"
-#: flatcamGUI/ObjectUI.py:1224
+#: flatcamGUI/ObjectUI.py:1502
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
@@ -8052,7 +8507,7 @@ msgstr ""
"este valor\n"
"se mostrará como un T1, T2 ... Tn"
-#: flatcamGUI/ObjectUI.py:1235
+#: flatcamGUI/ObjectUI.py:1513
msgid ""
"The value for the Offset can be:\n"
"- Path -> There is no offset, the tool cut will be done through the geometry "
@@ -8069,7 +8524,7 @@ msgstr ""
"- Fuera (lado) -> El corte de la herramienta seguirá la línea de geometría "
"en el exterior."
-#: flatcamGUI/ObjectUI.py:1242
+#: flatcamGUI/ObjectUI.py:1520
msgid ""
"The (Operation) Type has only informative value. Usually the UI form "
"values \n"
@@ -8092,7 +8547,7 @@ msgstr ""
"Para el aislamiento, necesitamos un avance más bajo, ya que utiliza una "
"broca de fresado con una punta fina."
-#: flatcamGUI/ObjectUI.py:1251
+#: flatcamGUI/ObjectUI.py:1529
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular the "
@@ -8123,7 +8578,7 @@ msgstr ""
"Elegir el tipo de herramienta en forma de V automáticamente seleccionará el "
"tipo de operación como aislamiento."
-#: flatcamGUI/ObjectUI.py:1263
+#: flatcamGUI/ObjectUI.py:1541
msgid ""
"Plot column. It is visible only for MultiGeo geometries, meaning geometries "
"that holds the geometry\n"
@@ -8141,7 +8596,7 @@ msgstr ""
"puede habilitar / deshabilitar la trama en el lienzo\n"
"para la herramienta correspondiente."
-#: flatcamGUI/ObjectUI.py:1281
+#: flatcamGUI/ObjectUI.py:1559
msgid ""
"The value to offset the cut when \n"
"the Offset type selected is 'Offset'.\n"
@@ -8153,7 +8608,13 @@ msgstr ""
"El valor puede ser positivo para 'afuera'\n"
"corte y negativo para corte 'interior'."
-#: flatcamGUI/ObjectUI.py:1306
+#: flatcamGUI/ObjectUI.py:1578 flatcamTools/ToolNCC.py:209
+#: flatcamTools/ToolNCC.py:923 flatcamTools/ToolPaint.py:192
+#: flatcamTools/ToolPaint.py:849 flatcamTools/ToolSolderPaste.py:559
+msgid "New Tool"
+msgstr "Nueva Herram"
+
+#: flatcamGUI/ObjectUI.py:1595
msgid ""
"Add a new tool to the Tool Table\n"
"with the specified diameter."
@@ -8161,11 +8622,14 @@ msgstr ""
"Agregar una nueva herramienta a la tabla de herramientas\n"
"con el diámetro especificado."
-#: flatcamGUI/ObjectUI.py:1314
-msgid "Add Tool from DataBase"
-msgstr "Agregar herramienta desde DB"
+#: flatcamGUI/ObjectUI.py:1600 flatcamTools/ToolNCC.py:300
+#: flatcamTools/ToolNCC.py:634 flatcamTools/ToolPaint.py:283
+#: flatcamTools/ToolPaint.py:679
+msgid "Add from DB"
+msgstr "Agregar desde DB"
-#: flatcamGUI/ObjectUI.py:1316
+#: flatcamGUI/ObjectUI.py:1602 flatcamTools/ToolNCC.py:302
+#: flatcamTools/ToolPaint.py:285
msgid ""
"Add a new tool to the Tool Table\n"
"from the Tool DataBase."
@@ -8173,7 +8637,7 @@ msgstr ""
"Agregar una nueva herramienta a la tabla de herramientas\n"
"de la base de datos de herramientas."
-#: flatcamGUI/ObjectUI.py:1326
+#: flatcamGUI/ObjectUI.py:1617
msgid ""
"Copy a selection of tools in the Tool Table\n"
"by first selecting a row in the Tool Table."
@@ -8181,7 +8645,7 @@ msgstr ""
"Copie una selección de herramientas en la tabla de herramientas\n"
"seleccionando primero una fila en la Tabla de herramientas."
-#: flatcamGUI/ObjectUI.py:1332
+#: flatcamGUI/ObjectUI.py:1623
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row in the Tool Table."
@@ -8189,38 +8653,7 @@ msgstr ""
"Eliminar una selección de herramientas en la tabla de herramientas\n"
"seleccionando primero una fila en la Tabla de herramientas."
-#: flatcamGUI/ObjectUI.py:1356
-msgid ""
-"The data used for creating GCode.\n"
-"Each tool store it's own set of such data."
-msgstr ""
-"Los datos utilizados para crear GCode.\n"
-"Cada herramienta almacena su propio conjunto de datos."
-
-#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3981
-#: flatcamGUI/PreferencesUI.py:5348 flatcamTools/ToolCutOut.py:153
-msgid "Multi-Depth"
-msgstr "Profund. Múlti"
-
-#: flatcamGUI/ObjectUI.py:1429 flatcamGUI/PreferencesUI.py:3984
-#: flatcamGUI/PreferencesUI.py:5351 flatcamTools/ToolCutOut.py:156
-msgid ""
-"Use multiple passes to limit\n"
-"the cut depth in each pass. Will\n"
-"cut multiple times until Cut Z is\n"
-"reached."
-msgstr ""
-"Usa múltiples pases para limitar\n"
-"La profundidad de corte en cada pasada. Será\n"
-"cortar varias veces hasta que el Corte Z sea\n"
-"alcanzado."
-
-#: flatcamGUI/ObjectUI.py:1443 flatcamGUI/PreferencesUI.py:5363
-#: flatcamTools/ToolCutOut.py:170
-msgid "Depth of each pass (positive)."
-msgstr "Profundidad de cada pase (positivo)."
-
-#: flatcamGUI/ObjectUI.py:1454 flatcamGUI/PreferencesUI.py:4016
+#: flatcamGUI/ObjectUI.py:1750 flatcamGUI/PreferencesUI.py:4296
msgid ""
"Height of the tool when\n"
"moving without cutting."
@@ -8228,28 +8661,7 @@ msgstr ""
"Altura de la herramienta cuando\n"
"Moviéndose sin cortar."
-#: flatcamGUI/ObjectUI.py:1481 flatcamGUI/PreferencesUI.py:4037
-msgid ""
-"Include tool-change sequence\n"
-"in the Machine Code (Pause for tool change)."
-msgstr ""
-"Incluir secuencia de cambio de herramienta\n"
-"en el código de máquina (pausa para cambio de herramienta)."
-
-#: flatcamGUI/ObjectUI.py:1531 flatcamGUI/PreferencesUI.py:4086
-#: flatcamGUI/PreferencesUI.py:6553 flatcamTools/ToolSolderPaste.py:252
-msgid "Feedrate X-Y"
-msgstr "Avance X-Y"
-
-#: flatcamGUI/ObjectUI.py:1533 flatcamGUI/PreferencesUI.py:4088
-msgid ""
-"Cutting speed in the XY\n"
-"plane in units per minute"
-msgstr ""
-"Velocidad de corte en el XY.\n"
-"Avion en unidades por minuto"
-
-#: flatcamGUI/ObjectUI.py:1547 flatcamGUI/PreferencesUI.py:4103
+#: flatcamGUI/ObjectUI.py:1783 flatcamGUI/PreferencesUI.py:4395
msgid ""
"Cutting speed in the XY\n"
"plane in units per minute.\n"
@@ -8259,7 +8671,7 @@ msgstr ""
"Plano en unidades por minuto.\n"
"Se llama también Plunge."
-#: flatcamGUI/ObjectUI.py:1562 flatcamGUI/PreferencesUI.py:4212
+#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4505
msgid ""
"Cutting speed in the XY plane\n"
"(in units per minute).\n"
@@ -8273,24 +8685,7 @@ msgstr ""
"Es útil solo para Marlin,\n"
"Ignorar para cualquier otro caso."
-#: flatcamGUI/ObjectUI.py:1580 flatcamGUI/PreferencesUI.py:4228
-msgid "Re-cut"
-msgstr "Recortar"
-
-#: flatcamGUI/ObjectUI.py:1582 flatcamGUI/ObjectUI.py:1594
-#: flatcamGUI/PreferencesUI.py:4230 flatcamGUI/PreferencesUI.py:4242
-msgid ""
-"In order to remove possible\n"
-"copper leftovers where first cut\n"
-"meet with last cut, we generate an\n"
-"extended cut over the first cut section."
-msgstr ""
-"Para eliminar posibles\n"
-"sobras de cobre donde el primer corte\n"
-"Nos reunimos con el último corte, generamos un\n"
-"Corte extendido sobre la primera sección de corte."
-
-#: flatcamGUI/ObjectUI.py:1606 flatcamGUI/PreferencesUI.py:4120
+#: flatcamGUI/ObjectUI.py:1842 flatcamGUI/PreferencesUI.py:4412
msgid ""
"Speed of the spindle in RPM (optional).\n"
"If LASER preprocessor is used,\n"
@@ -8300,7 +8695,15 @@ msgstr ""
"Si se utiliza el postprocesador LÁSER,\n"
"Este valor es el poder del láser."
-#: flatcamGUI/ObjectUI.py:1642 flatcamGUI/PreferencesUI.py:4157
+#: flatcamGUI/ObjectUI.py:1945 flatcamGUI/PreferencesUI.py:4317
+msgid ""
+"Include tool-change sequence\n"
+"in the Machine Code (Pause for tool change)."
+msgstr ""
+"Incluir secuencia de cambio de herramienta\n"
+"en el código de máquina (pausa para cambio de herramienta)."
+
+#: flatcamGUI/ObjectUI.py:2014 flatcamGUI/PreferencesUI.py:4449
msgid ""
"The Preprocessor file that dictates\n"
"the Machine Code (like GCode, RML, HPGL) output."
@@ -8308,41 +8711,15 @@ msgstr ""
"El archivo de postprocesador que dicta\n"
"la salida del código de máquina (como GCode, RML, HPGL)."
-#: flatcamGUI/ObjectUI.py:1689
-msgid "Apply parameters to all tools"
-msgstr "Aplicar parámetros a todas las herramientas."
-
-#: flatcamGUI/ObjectUI.py:1691
-msgid ""
-"The parameters in the current form will be applied\n"
-"on all the tools from the Tool Table."
-msgstr ""
-"Se aplicarán los parámetros en el formulario actual\n"
-"en todas las herramientas de la tabla de herramientas."
-
-#: flatcamGUI/ObjectUI.py:1700
-msgid ""
-"Add at least one tool in the tool-table.\n"
-"Click the header to select all, or Ctrl + LMB\n"
-"for custom selection of tools."
-msgstr ""
-"Agregue al menos una herramienta en la tabla de herramientas.\n"
-"Haga clic en el encabezado para seleccionar todo, o Ctrl + LMB\n"
-"para la selección personalizada de herramientas."
-
-#: flatcamGUI/ObjectUI.py:1707
-msgid "Generate CNCJob object"
-msgstr "Generar objeto CNCJob"
-
-#: flatcamGUI/ObjectUI.py:1709
+#: flatcamGUI/ObjectUI.py:2035
msgid "Generate the CNC Job object."
msgstr "Genere el objeto de trabajo CNC."
-#: flatcamGUI/ObjectUI.py:1726
+#: flatcamGUI/ObjectUI.py:2052
msgid "Launch Paint Tool in Tools Tab."
msgstr "Inicie la herramienta Pintura en la pestaña Herramientas."
-#: flatcamGUI/ObjectUI.py:1734 flatcamGUI/PreferencesUI.py:5524
+#: flatcamGUI/ObjectUI.py:2060 flatcamGUI/PreferencesUI.py:5874
msgid ""
"Creates tool paths to cover the\n"
"whole area of a polygon (remove\n"
@@ -8354,15 +8731,15 @@ msgstr ""
"todo el cobre). Te harán preguntas\n"
"Para hacer clic en el polígono deseado."
-#: flatcamGUI/ObjectUI.py:1786
+#: flatcamGUI/ObjectUI.py:2115
msgid "CNC Job Object"
msgstr "Objeto de trabajo CNC"
-#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4410
+#: flatcamGUI/ObjectUI.py:2126 flatcamGUI/PreferencesUI.py:4703
msgid "Plot kind"
msgstr "Tipo de trazado"
-#: flatcamGUI/ObjectUI.py:1801 flatcamGUI/PreferencesUI.py:4412
+#: flatcamGUI/ObjectUI.py:2129 flatcamGUI/PreferencesUI.py:4705
msgid ""
"This selects the kind of geometries on the canvas to plot.\n"
"Those can be either of type 'Travel' which means the moves\n"
@@ -8374,15 +8751,15 @@ msgstr ""
"Por encima de la pieza de trabajo o puede ser de tipo 'Corte',\n"
"Lo que significa los movimientos que cortan en el material."
-#: flatcamGUI/ObjectUI.py:1810 flatcamGUI/PreferencesUI.py:4420
+#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/PreferencesUI.py:4713
msgid "Travel"
msgstr "Viajar"
-#: flatcamGUI/ObjectUI.py:1814 flatcamGUI/PreferencesUI.py:4429
+#: flatcamGUI/ObjectUI.py:2142 flatcamGUI/PreferencesUI.py:4722
msgid "Display Annotation"
msgstr "Mostrar anotación"
-#: flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:4431
+#: flatcamGUI/ObjectUI.py:2144 flatcamGUI/PreferencesUI.py:4724
msgid ""
"This selects if to display text annotation on the plot.\n"
"When checked it will display numbers in order for each end\n"
@@ -8392,11 +8769,11 @@ msgstr ""
"Cuando está marcado, mostrará números en orden para cada final.\n"
"de una linea de viaje."
-#: flatcamGUI/ObjectUI.py:1831
+#: flatcamGUI/ObjectUI.py:2159
msgid "Travelled dist."
msgstr "Dist. recorrida"
-#: flatcamGUI/ObjectUI.py:1833 flatcamGUI/ObjectUI.py:1838
+#: flatcamGUI/ObjectUI.py:2161 flatcamGUI/ObjectUI.py:2166
msgid ""
"This is the total travelled distance on X-Y plane.\n"
"In current units."
@@ -8404,11 +8781,11 @@ msgstr ""
"Esta es la distancia total recorrida en el plano X-Y.\n"
"En unidades actuales."
-#: flatcamGUI/ObjectUI.py:1843
+#: flatcamGUI/ObjectUI.py:2171
msgid "Estimated time"
msgstr "Duración estimada"
-#: flatcamGUI/ObjectUI.py:1845 flatcamGUI/ObjectUI.py:1850
+#: flatcamGUI/ObjectUI.py:2173 flatcamGUI/ObjectUI.py:2178
msgid ""
"This is the estimated time to do the routing/drilling,\n"
"without the time spent in ToolChange events."
@@ -8416,11 +8793,11 @@ msgstr ""
"Este es el tiempo estimado para hacer el enrutamiento / perforación,\n"
"sin el tiempo dedicado a los eventos de cambio de herramienta."
-#: flatcamGUI/ObjectUI.py:1885
+#: flatcamGUI/ObjectUI.py:2213
msgid "CNC Tools Table"
msgstr "Tabla de herramientas CNC"
-#: flatcamGUI/ObjectUI.py:1888
+#: flatcamGUI/ObjectUI.py:2216
msgid ""
"Tools in this CNCJob object used for cutting.\n"
"The tool diameter is used for plotting on canvas.\n"
@@ -8443,24 +8820,24 @@ msgstr ""
"C4),\n"
"bola (B) o en forma de V (V)."
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/ObjectUI.py:1927
+#: flatcamGUI/ObjectUI.py:2244 flatcamGUI/ObjectUI.py:2255
msgid "P"
msgstr "P"
-#: flatcamGUI/ObjectUI.py:1937
+#: flatcamGUI/ObjectUI.py:2265
msgid "Update Plot"
msgstr "Actualizar Trama"
-#: flatcamGUI/ObjectUI.py:1939
+#: flatcamGUI/ObjectUI.py:2267
msgid "Update the plot."
msgstr "Actualiza la trama."
-#: flatcamGUI/ObjectUI.py:1946 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/ObjectUI.py:2274 flatcamGUI/PreferencesUI.py:5120
msgid "Export CNC Code"
msgstr "Exportar código CNC"
-#: flatcamGUI/ObjectUI.py:1948 flatcamGUI/PreferencesUI.py:4768
-#: flatcamGUI/PreferencesUI.py:4829
+#: flatcamGUI/ObjectUI.py:2276 flatcamGUI/PreferencesUI.py:5061
+#: flatcamGUI/PreferencesUI.py:5122
msgid ""
"Export and save G-Code to\n"
"make this object to a file."
@@ -8468,12 +8845,12 @@ msgstr ""
"Exportar y guardar código G a\n"
"Hacer este objeto a un archivo."
-#: flatcamGUI/ObjectUI.py:1954
+#: flatcamGUI/ObjectUI.py:2282
msgid "Prepend to CNC Code"
msgstr "Anteponer al código del CNC"
-#: flatcamGUI/ObjectUI.py:1956 flatcamGUI/ObjectUI.py:1963
-#: flatcamGUI/PreferencesUI.py:4784
+#: flatcamGUI/ObjectUI.py:2284 flatcamGUI/ObjectUI.py:2291
+#: flatcamGUI/PreferencesUI.py:5077
msgid ""
"Type here any G-Code commands you would\n"
"like to add at the beginning of the G-Code file."
@@ -8481,12 +8858,12 @@ msgstr ""
"Escribe aquí cualquier comando de G-Code que quieras\n"
"Me gusta agregar al principio del archivo G-Code."
-#: flatcamGUI/ObjectUI.py:1969
+#: flatcamGUI/ObjectUI.py:2297
msgid "Append to CNC Code"
msgstr "Añadir al código CNC"
-#: flatcamGUI/ObjectUI.py:1971 flatcamGUI/ObjectUI.py:1979
-#: flatcamGUI/PreferencesUI.py:4800
+#: flatcamGUI/ObjectUI.py:2299 flatcamGUI/ObjectUI.py:2307
+#: flatcamGUI/PreferencesUI.py:5093
msgid ""
"Type here any G-Code commands you would\n"
"like to append to the generated file.\n"
@@ -8496,11 +8873,11 @@ msgstr ""
"Me gusta adjuntar al archivo generado.\n"
"Es decir: M2 (Fin del programa)"
-#: flatcamGUI/ObjectUI.py:1993 flatcamGUI/PreferencesUI.py:4835
+#: flatcamGUI/ObjectUI.py:2321 flatcamGUI/PreferencesUI.py:5128
msgid "Toolchange G-Code"
msgstr "Cambio de herra. G-Code"
-#: flatcamGUI/ObjectUI.py:1996 flatcamGUI/PreferencesUI.py:4838
+#: flatcamGUI/ObjectUI.py:2324 flatcamGUI/PreferencesUI.py:5131
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -8522,7 +8899,7 @@ msgstr ""
"que tiene 'toolchange_custom' en su nombre y esto está construido\n"
"teniendo como plantilla el archivo posprocesador 'Toolchange Custom'."
-#: flatcamGUI/ObjectUI.py:2011
+#: flatcamGUI/ObjectUI.py:2339
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -8540,11 +8917,11 @@ msgstr ""
"ADVERTENCIA: solo se puede usar con un archivo de preprocesador\n"
"que tiene 'toolchange_custom' en su nombre."
-#: flatcamGUI/ObjectUI.py:2026 flatcamGUI/PreferencesUI.py:4877
+#: flatcamGUI/ObjectUI.py:2354 flatcamGUI/PreferencesUI.py:5170
msgid "Use Toolchange Macro"
msgstr "Util. la herra. de cambio de macro"
-#: flatcamGUI/ObjectUI.py:2028 flatcamGUI/PreferencesUI.py:4879
+#: flatcamGUI/ObjectUI.py:2356 flatcamGUI/PreferencesUI.py:5172
msgid ""
"Check this box if you want to use\n"
"a Custom Toolchange GCode (macro)."
@@ -8552,7 +8929,7 @@ msgstr ""
"Marque esta casilla si desea utilizar\n"
"una herramienta personalizada para cambiar GCode (macro)."
-#: flatcamGUI/ObjectUI.py:2036 flatcamGUI/PreferencesUI.py:4891
+#: flatcamGUI/ObjectUI.py:2364 flatcamGUI/PreferencesUI.py:5184
msgid ""
"A list of the FlatCAM variables that can be used\n"
"in the Toolchange event.\n"
@@ -8562,74 +8939,76 @@ msgstr ""
"en el evento Cambio de herramienta.\n"
"Deben estar rodeados por el símbolo '%'"
-#: flatcamGUI/ObjectUI.py:2043 flatcamGUI/PreferencesUI.py:2447
-#: flatcamGUI/PreferencesUI.py:3555 flatcamGUI/PreferencesUI.py:4347
-#: flatcamGUI/PreferencesUI.py:4898 flatcamGUI/PreferencesUI.py:5017
-#: flatcamGUI/PreferencesUI.py:5301 flatcamGUI/PreferencesUI.py:5458
-#: flatcamGUI/PreferencesUI.py:5676 flatcamGUI/PreferencesUI.py:5973
-#: flatcamGUI/PreferencesUI.py:6224 flatcamGUI/PreferencesUI.py:6438
-#: flatcamGUI/PreferencesUI.py:6663 flatcamGUI/PreferencesUI.py:6685
-#: flatcamGUI/PreferencesUI.py:6909 flatcamGUI/PreferencesUI.py:6946
-#: flatcamGUI/PreferencesUI.py:7140 flatcamGUI/PreferencesUI.py:7394
-#: flatcamGUI/PreferencesUI.py:7510 flatcamTools/ToolCopperThieving.py:89
-#: flatcamTools/ToolFiducials.py:149 flatcamTools/ToolNonCopperClear.py:315
+#: flatcamGUI/ObjectUI.py:2371 flatcamGUI/PreferencesUI.py:2627
+#: flatcamGUI/PreferencesUI.py:3833 flatcamGUI/PreferencesUI.py:4640
+#: flatcamGUI/PreferencesUI.py:5191 flatcamGUI/PreferencesUI.py:5310
+#: flatcamGUI/PreferencesUI.py:5640 flatcamGUI/PreferencesUI.py:5797
+#: flatcamGUI/PreferencesUI.py:6164 flatcamGUI/PreferencesUI.py:6461
+#: flatcamGUI/PreferencesUI.py:6711 flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7169 flatcamGUI/PreferencesUI.py:7191
+#: flatcamGUI/PreferencesUI.py:7415 flatcamGUI/PreferencesUI.py:7452
+#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7900
+#: flatcamGUI/PreferencesUI.py:8016 flatcamGUI/PreferencesUI.py:8135
+#: flatcamGUI/PreferencesUI.py:8347 flatcamGUI/PreferencesUI.py:8556
+#: flatcamTools/ToolCopperThieving.py:90 flatcamTools/ToolFiducials.py:149
+#: flatcamTools/ToolInvertGerber.py:82
msgid "Parameters"
msgstr "Parámetros"
-#: flatcamGUI/ObjectUI.py:2046 flatcamGUI/PreferencesUI.py:4903
+#: flatcamGUI/ObjectUI.py:2374 flatcamGUI/PreferencesUI.py:5196
msgid "FlatCAM CNC parameters"
msgstr "Parámetros de FlatCAM CNC"
-#: flatcamGUI/ObjectUI.py:2047 flatcamGUI/PreferencesUI.py:4908
+#: flatcamGUI/ObjectUI.py:2375 flatcamGUI/PreferencesUI.py:5201
msgid "tool number"
msgstr "número de herramienta"
-#: flatcamGUI/ObjectUI.py:2048 flatcamGUI/PreferencesUI.py:4909
+#: flatcamGUI/ObjectUI.py:2376 flatcamGUI/PreferencesUI.py:5202
msgid "tool diameter"
msgstr "diámetro de herramienta"
-#: flatcamGUI/ObjectUI.py:2049 flatcamGUI/PreferencesUI.py:4910
+#: flatcamGUI/ObjectUI.py:2377 flatcamGUI/PreferencesUI.py:5203
msgid "for Excellon, total number of drills"
msgstr "para Excellon, núm. total de taladros"
-#: flatcamGUI/ObjectUI.py:2051 flatcamGUI/PreferencesUI.py:4912
+#: flatcamGUI/ObjectUI.py:2379 flatcamGUI/PreferencesUI.py:5205
msgid "X coord for Toolchange"
msgstr "Coord. X para Cambio de Herramienta"
-#: flatcamGUI/ObjectUI.py:2052 flatcamGUI/PreferencesUI.py:4913
+#: flatcamGUI/ObjectUI.py:2380 flatcamGUI/PreferencesUI.py:5206
msgid "Y coord for Toolchange"
msgstr "Coord. Y para Cambio de Herramienta"
-#: flatcamGUI/ObjectUI.py:2053 flatcamGUI/PreferencesUI.py:4915
+#: flatcamGUI/ObjectUI.py:2381 flatcamGUI/PreferencesUI.py:5208
msgid "Z coord for Toolchange"
msgstr "Coord Z para cambio de herramientas"
-#: flatcamGUI/ObjectUI.py:2054
+#: flatcamGUI/ObjectUI.py:2382
msgid "depth where to cut"
msgstr "profundidad donde cortar"
-#: flatcamGUI/ObjectUI.py:2055
+#: flatcamGUI/ObjectUI.py:2383
msgid "height where to travel"
msgstr "altura donde viajar"
-#: flatcamGUI/ObjectUI.py:2056 flatcamGUI/PreferencesUI.py:4918
+#: flatcamGUI/ObjectUI.py:2384 flatcamGUI/PreferencesUI.py:5211
msgid "the step value for multidepth cut"
msgstr "el valor del paso para corte de profundidad múltiple"
-#: flatcamGUI/ObjectUI.py:2058 flatcamGUI/PreferencesUI.py:4920
+#: flatcamGUI/ObjectUI.py:2386 flatcamGUI/PreferencesUI.py:5213
msgid "the value for the spindle speed"
msgstr "el valor de la velocidad del husillo"
-#: flatcamGUI/ObjectUI.py:2060
+#: flatcamGUI/ObjectUI.py:2388
msgid "time to dwell to allow the spindle to reach it's set RPM"
msgstr ""
"tiempo de espera para permitir que el husillo alcance su RPM establecido"
-#: flatcamGUI/ObjectUI.py:2076
+#: flatcamGUI/ObjectUI.py:2404
msgid "View CNC Code"
msgstr "Ver código CNC"
-#: flatcamGUI/ObjectUI.py:2078
+#: flatcamGUI/ObjectUI.py:2406
msgid ""
"Opens TAB to view/modify/print G-Code\n"
"file."
@@ -8637,11 +9016,11 @@ msgstr ""
"Abre la pestaña para ver / modificar / imprimir el código G\n"
"expediente."
-#: flatcamGUI/ObjectUI.py:2083
+#: flatcamGUI/ObjectUI.py:2411
msgid "Save CNC Code"
msgstr "Guardar código CNC"
-#: flatcamGUI/ObjectUI.py:2085
+#: flatcamGUI/ObjectUI.py:2413
msgid ""
"Opens dialog to save G-Code\n"
"file."
@@ -8649,85 +9028,81 @@ msgstr ""
"Abre el diálogo para guardar el código G\n"
"expediente."
-#: flatcamGUI/ObjectUI.py:2116
+#: flatcamGUI/ObjectUI.py:2447
msgid "Script Object"
msgstr "Objeto de script"
-#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/ObjectUI.py:2211
+#: flatcamGUI/ObjectUI.py:2467 flatcamGUI/ObjectUI.py:2541
msgid "Auto Completer"
msgstr "Autocompletador"
-#: flatcamGUI/ObjectUI.py:2140
+#: flatcamGUI/ObjectUI.py:2469
msgid "This selects if the auto completer is enabled in the Script Editor."
msgstr ""
"Esto selecciona si el autocompletador está habilitado en el Editor de "
"secuencias de comandos."
-#: flatcamGUI/ObjectUI.py:2182
+#: flatcamGUI/ObjectUI.py:2514
msgid "Document Object"
msgstr "Objeto de Documento"
-#: flatcamGUI/ObjectUI.py:2213
+#: flatcamGUI/ObjectUI.py:2543
msgid "This selects if the auto completer is enabled in the Document Editor."
msgstr ""
"Esto selecciona si el autocompletador está habilitado en el Editor de "
"Documentos."
-#: flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/ObjectUI.py:2561
msgid "Font Type"
msgstr "Tipo de Fuente"
-#: flatcamGUI/ObjectUI.py:2248 flatcamGUI/PreferencesUI.py:1103
+#: flatcamGUI/ObjectUI.py:2578 flatcamGUI/PreferencesUI.py:1278
msgid "Font Size"
msgstr "Tamaño de Fuente"
-#: flatcamGUI/ObjectUI.py:2284
+#: flatcamGUI/ObjectUI.py:2614
msgid "Alignment"
msgstr "Alineación"
-#: flatcamGUI/ObjectUI.py:2289
+#: flatcamGUI/ObjectUI.py:2619
msgid "Align Left"
msgstr "Alinear a la izquierda"
-#: flatcamGUI/ObjectUI.py:2294
-msgid "Center"
-msgstr "Centrar"
-
-#: flatcamGUI/ObjectUI.py:2299
+#: flatcamGUI/ObjectUI.py:2629
msgid "Align Right"
msgstr "Alinear a la derecha"
-#: flatcamGUI/ObjectUI.py:2304
+#: flatcamGUI/ObjectUI.py:2634
msgid "Justify"
msgstr "Alinear Justificar"
-#: flatcamGUI/ObjectUI.py:2311
+#: flatcamGUI/ObjectUI.py:2641
msgid "Font Color"
msgstr "Color de Fuente"
-#: flatcamGUI/ObjectUI.py:2313
+#: flatcamGUI/ObjectUI.py:2643
msgid "Set the font color for the selected text"
msgstr "Establecer el color de fuente para el texto seleccionado"
-#: flatcamGUI/ObjectUI.py:2327
+#: flatcamGUI/ObjectUI.py:2657
msgid "Selection Color"
msgstr "Color de seleccion"
-#: flatcamGUI/ObjectUI.py:2329
+#: flatcamGUI/ObjectUI.py:2659
msgid "Set the selection color when doing text selection."
msgstr "Establezca el color de selección al hacer la selección de texto."
-#: flatcamGUI/ObjectUI.py:2343
+#: flatcamGUI/ObjectUI.py:2673
msgid "Tab Size"
msgstr "Tamaño de Pestaña"
-#: flatcamGUI/ObjectUI.py:2345
+#: flatcamGUI/ObjectUI.py:2675
msgid "Set the tab size. In pixels. Default value is 80 pixels."
msgstr ""
"Establece el tamaño de la pestaña. En píxeles El valor predeterminado es 80 "
"píxeles."
-#: flatcamGUI/PlotCanvasLegacy.py:1254
+#: flatcamGUI/PlotCanvasLegacy.py:1301
msgid ""
"Could not annotate due of a difference between the number of text elements "
"and the number of text positions."
@@ -8735,31 +9110,35 @@ msgstr ""
"No se pudo anotar debido a una diferencia entre el número de elementos de "
"texto y el número de posiciones de texto."
-#: flatcamGUI/PreferencesUI.py:324
+#: flatcamGUI/PreferencesUI.py:343
msgid "GUI Preferences"
msgstr "Preferencias de GUI"
-#: flatcamGUI/PreferencesUI.py:334
+#: flatcamGUI/PreferencesUI.py:353
msgid "Theme"
msgstr "Tema"
-#: flatcamGUI/PreferencesUI.py:336
-msgid "Select a theme for FlatCAM."
-msgstr "Seleccione un tema para FlatCAM."
+#: flatcamGUI/PreferencesUI.py:355
+msgid ""
+"Select a theme for FlatCAM.\n"
+"It will theme the plot area."
+msgstr ""
+"Seleccione un tema para FlatCAM.\n"
+"Será el tema del área de la trama."
-#: flatcamGUI/PreferencesUI.py:340
+#: flatcamGUI/PreferencesUI.py:360
msgid "Light"
msgstr "Ligera"
-#: flatcamGUI/PreferencesUI.py:341
+#: flatcamGUI/PreferencesUI.py:361
msgid "Dark"
msgstr "Oscuro"
-#: flatcamGUI/PreferencesUI.py:348
+#: flatcamGUI/PreferencesUI.py:368
msgid "Use Gray Icons"
msgstr "Use iconos grises"
-#: flatcamGUI/PreferencesUI.py:350
+#: flatcamGUI/PreferencesUI.py:370
msgid ""
"Check this box to use a set of icons with\n"
"a lighter (gray) color. To be used when a\n"
@@ -8769,23 +9148,25 @@ msgstr ""
"un color más claro (gris). Para ser utilizado cuando un\n"
"Se aplica el tema oscuro completo."
-#: flatcamGUI/PreferencesUI.py:356
+#: flatcamGUI/PreferencesUI.py:376
msgid "Apply Theme"
msgstr "Aplicar tema"
-#: flatcamGUI/PreferencesUI.py:358
+#: flatcamGUI/PreferencesUI.py:378
msgid ""
"Select a theme for FlatCAM.\n"
+"It will theme the plot area.\n"
"The application will restart after change."
msgstr ""
"Seleccione un tema para FlatCAM.\n"
+"Tematizará el área de trazado.\n"
"La aplicación se reiniciará después del cambio."
-#: flatcamGUI/PreferencesUI.py:369
+#: flatcamGUI/PreferencesUI.py:390
msgid "Layout"
msgstr "Diseño"
-#: flatcamGUI/PreferencesUI.py:371
+#: flatcamGUI/PreferencesUI.py:392
msgid ""
"Select an layout for FlatCAM.\n"
"It is applied immediately."
@@ -8793,11 +9174,11 @@ msgstr ""
"Seleccione un diseño para FlatCAM.\n"
"Se aplica de inmediato."
-#: flatcamGUI/PreferencesUI.py:390
+#: flatcamGUI/PreferencesUI.py:412
msgid "Style"
msgstr "Estilo"
-#: flatcamGUI/PreferencesUI.py:392
+#: flatcamGUI/PreferencesUI.py:414
msgid ""
"Select an style for FlatCAM.\n"
"It will be applied at the next app start."
@@ -8805,11 +9186,11 @@ msgstr ""
"Seleccione un estilo para FlatCAM.\n"
"Se aplicará en el próximo inicio de la aplicación."
-#: flatcamGUI/PreferencesUI.py:406
+#: flatcamGUI/PreferencesUI.py:428
msgid "Activate HDPI Support"
msgstr "Activar soporte HDPI"
-#: flatcamGUI/PreferencesUI.py:408
+#: flatcamGUI/PreferencesUI.py:430
msgid ""
"Enable High DPI support for FlatCAM.\n"
"It will be applied at the next app start."
@@ -8817,11 +9198,11 @@ msgstr ""
"Habilitar el soporte de alta DPI para FlatCAM.\n"
"Se aplicará en el próximo inicio de la aplicación."
-#: flatcamGUI/PreferencesUI.py:422
+#: flatcamGUI/PreferencesUI.py:444
msgid "Display Hover Shape"
msgstr "Mostrar forma de desplazamiento"
-#: flatcamGUI/PreferencesUI.py:424
+#: flatcamGUI/PreferencesUI.py:446
msgid ""
"Enable display of a hover shape for FlatCAM objects.\n"
"It is displayed whenever the mouse cursor is hovering\n"
@@ -8831,11 +9212,11 @@ msgstr ""
"Se muestra cada vez que el cursor del mouse se desplaza\n"
"sobre cualquier tipo de objeto no seleccionado."
-#: flatcamGUI/PreferencesUI.py:431
+#: flatcamGUI/PreferencesUI.py:453
msgid "Display Selection Shape"
msgstr "Mostrar forma de selección"
-#: flatcamGUI/PreferencesUI.py:433
+#: flatcamGUI/PreferencesUI.py:455
msgid ""
"Enable the display of a selection shape for FlatCAM objects.\n"
"It is displayed whenever the mouse selects an object\n"
@@ -8847,30 +9228,30 @@ msgstr ""
"ya sea haciendo clic o arrastrando el mouse de izquierda a derecha o\n"
"De derecha a izquierda."
-#: flatcamGUI/PreferencesUI.py:446
+#: flatcamGUI/PreferencesUI.py:468
msgid "Left-Right Selection Color"
msgstr "Color de selección izquierda-derecha"
-#: flatcamGUI/PreferencesUI.py:449 flatcamGUI/PreferencesUI.py:515
-#: flatcamGUI/PreferencesUI.py:1882 flatcamGUI/PreferencesUI.py:2903
-#: flatcamGUI/PreferencesUI.py:3894 flatcamGUI/PreferencesUI.py:4534
-#: flatcamGUI/PreferencesUI.py:4600 flatcamTools/ToolRulesCheck.py:179
+#: flatcamGUI/PreferencesUI.py:471 flatcamGUI/PreferencesUI.py:537
+#: flatcamGUI/PreferencesUI.py:2062 flatcamGUI/PreferencesUI.py:3085
+#: flatcamGUI/PreferencesUI.py:4174 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/PreferencesUI.py:4893 flatcamTools/ToolRulesCheck.py:186
msgid "Outline"
msgstr "Contorno"
-#: flatcamGUI/PreferencesUI.py:451
+#: flatcamGUI/PreferencesUI.py:473
msgid "Set the line color for the 'left to right' selection box."
msgstr ""
"Establezca el color de línea para el cuadro de selección 'de izquierda a "
"derecha'."
-#: flatcamGUI/PreferencesUI.py:465 flatcamGUI/PreferencesUI.py:532
-#: flatcamGUI/PreferencesUI.py:1899 flatcamGUI/PreferencesUI.py:2920
-#: flatcamGUI/PreferencesUI.py:4551 flatcamGUI/PreferencesUI.py:4617
+#: flatcamGUI/PreferencesUI.py:487 flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:2079 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/PreferencesUI.py:4844 flatcamGUI/PreferencesUI.py:4910
msgid "Fill"
msgstr "Llenado"
-#: flatcamGUI/PreferencesUI.py:467
+#: flatcamGUI/PreferencesUI.py:489
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from left to right.\n"
@@ -8882,29 +9263,29 @@ msgstr ""
"Los primeros 6 dígitos son el color y los 2 últimos.\n"
"Los dígitos son para el nivel alfa (transparencia)."
-#: flatcamGUI/PreferencesUI.py:485 flatcamGUI/PreferencesUI.py:552
-#: flatcamGUI/PreferencesUI.py:1918 flatcamGUI/PreferencesUI.py:2939
-#: flatcamGUI/PreferencesUI.py:4570
+#: flatcamGUI/PreferencesUI.py:507 flatcamGUI/PreferencesUI.py:574
+#: flatcamGUI/PreferencesUI.py:2098 flatcamGUI/PreferencesUI.py:3121
+#: flatcamGUI/PreferencesUI.py:4863
msgid "Alpha"
msgstr "Alfa"
-#: flatcamGUI/PreferencesUI.py:487
+#: flatcamGUI/PreferencesUI.py:509
msgid "Set the fill transparency for the 'left to right' selection box."
msgstr ""
"Establezca la transparencia de relleno para el cuadro de selección 'de "
"izquierda a derecha'."
-#: flatcamGUI/PreferencesUI.py:511
+#: flatcamGUI/PreferencesUI.py:533
msgid "Right-Left Selection Color"
msgstr "Color de selección derecha-izquierda"
-#: flatcamGUI/PreferencesUI.py:517
+#: flatcamGUI/PreferencesUI.py:539
msgid "Set the line color for the 'right to left' selection box."
msgstr ""
"Establezca el color de línea para el cuadro de selección 'de derecha a "
"izquierda'."
-#: flatcamGUI/PreferencesUI.py:534
+#: flatcamGUI/PreferencesUI.py:556
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from right to left.\n"
@@ -8916,46 +9297,46 @@ msgstr ""
"Los primeros 6 dígitos son el color y los 2 últimos.\n"
"Los dígitos son para el nivel alfa (transparencia)."
-#: flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:576
msgid "Set the fill transparency for selection 'right to left' box."
msgstr ""
"Establezca la transparencia de relleno para el cuadro de selección \"de "
"derecha a izquierda\"."
-#: flatcamGUI/PreferencesUI.py:581
+#: flatcamGUI/PreferencesUI.py:603
msgid "Editor Color"
msgstr "Color del editor"
-#: flatcamGUI/PreferencesUI.py:585
+#: flatcamGUI/PreferencesUI.py:607
msgid "Drawing"
msgstr "Dibujo"
-#: flatcamGUI/PreferencesUI.py:587
+#: flatcamGUI/PreferencesUI.py:609
msgid "Set the color for the shape."
msgstr "Establecer el color de la forma."
-#: flatcamGUI/PreferencesUI.py:604
+#: flatcamGUI/PreferencesUI.py:626
msgid "Set the color of the shape when selected."
msgstr "Establecer el color de la forma cuando se selecciona."
-#: flatcamGUI/PreferencesUI.py:627
+#: flatcamGUI/PreferencesUI.py:649
msgid "Project Items Color"
msgstr "Color de los elementos del proyecto"
-#: flatcamGUI/PreferencesUI.py:631
+#: flatcamGUI/PreferencesUI.py:653
msgid "Enabled"
msgstr "Habilitado"
-#: flatcamGUI/PreferencesUI.py:633
+#: flatcamGUI/PreferencesUI.py:655
msgid "Set the color of the items in Project Tab Tree."
msgstr ""
"Establecer el color de los elementos en el árbol de pestañas del proyecto."
-#: flatcamGUI/PreferencesUI.py:647
+#: flatcamGUI/PreferencesUI.py:669
msgid "Disabled"
msgstr "Discapacitado"
-#: flatcamGUI/PreferencesUI.py:649
+#: flatcamGUI/PreferencesUI.py:671
msgid ""
"Set the color of the items in Project Tab Tree,\n"
"for the case when the items are disabled."
@@ -8963,7 +9344,11 @@ msgstr ""
"Establecer el color de los elementos en el árbol de pestañas del proyecto,\n"
"para el caso cuando los elementos están deshabilitados."
-#: flatcamGUI/PreferencesUI.py:667
+#: flatcamGUI/PreferencesUI.py:687
+msgid "Project AutoHide"
+msgstr "Proyecto auto ocultar"
+
+#: flatcamGUI/PreferencesUI.py:689
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"hide automatically when there are no objects loaded and\n"
@@ -8974,43 +9359,43 @@ msgstr ""
"Se oculta automáticamente cuando no hay objetos cargados y\n"
"para mostrar cada vez que se crea un nuevo objeto."
-#: flatcamGUI/PreferencesUI.py:934
+#: flatcamGUI/PreferencesUI.py:1109
msgid "App Settings"
msgstr "Configuración de Aplicación"
-#: flatcamGUI/PreferencesUI.py:955
+#: flatcamGUI/PreferencesUI.py:1130
msgid "Grid Settings"
msgstr "Configuración de cuadrícula"
-#: flatcamGUI/PreferencesUI.py:959
+#: flatcamGUI/PreferencesUI.py:1134
msgid "X value"
msgstr "Valor X"
-#: flatcamGUI/PreferencesUI.py:961
+#: flatcamGUI/PreferencesUI.py:1136
msgid "This is the Grid snap value on X axis."
msgstr "Este es el valor de ajuste de cuadrícula en el eje X."
-#: flatcamGUI/PreferencesUI.py:971
+#: flatcamGUI/PreferencesUI.py:1146
msgid "Y value"
msgstr "Valor Y"
-#: flatcamGUI/PreferencesUI.py:973
+#: flatcamGUI/PreferencesUI.py:1148
msgid "This is the Grid snap value on Y axis."
msgstr "Este es el valor de ajuste de cuadrícula en el eje Y."
-#: flatcamGUI/PreferencesUI.py:983
+#: flatcamGUI/PreferencesUI.py:1158
msgid "Snap Max"
msgstr "Máx. de ajuste"
-#: flatcamGUI/PreferencesUI.py:998
+#: flatcamGUI/PreferencesUI.py:1173
msgid "Workspace Settings"
msgstr "Configuración del espacio de trabajo"
-#: flatcamGUI/PreferencesUI.py:1001
+#: flatcamGUI/PreferencesUI.py:1176
msgid "Active"
msgstr "Activo"
-#: flatcamGUI/PreferencesUI.py:1003
+#: flatcamGUI/PreferencesUI.py:1178
msgid ""
"Draw a delimiting rectangle on canvas.\n"
"The purpose is to illustrate the limits for our work."
@@ -9018,7 +9403,7 @@ msgstr ""
"Dibuja un rectángulo delimitador en el lienzo.\n"
"El propósito es ilustrar los límites de nuestro trabajo."
-#: flatcamGUI/PreferencesUI.py:1011
+#: flatcamGUI/PreferencesUI.py:1186
msgid ""
"Select the type of rectangle to be used on canvas,\n"
"as valid workspace."
@@ -9026,12 +9411,12 @@ msgstr ""
"Seleccione el tipo de rectángulo a utilizar en el lienzo,\n"
"como espacio de trabajo válido."
-#: flatcamGUI/PreferencesUI.py:1077
+#: flatcamGUI/PreferencesUI.py:1252
msgid "Orientation"
msgstr "Orientación"
-#: flatcamGUI/PreferencesUI.py:1078 flatcamGUI/PreferencesUI.py:5884
-#: flatcamTools/ToolFilm.py:420
+#: flatcamGUI/PreferencesUI.py:1253 flatcamGUI/PreferencesUI.py:6372
+#: flatcamTools/ToolFilm.py:422
msgid ""
"Can be:\n"
"- Portrait\n"
@@ -9041,21 +9426,21 @@ msgstr ""
"- retrato\n"
"- paisaje"
-#: flatcamGUI/PreferencesUI.py:1082 flatcamGUI/PreferencesUI.py:5888
-#: flatcamTools/ToolFilm.py:424
+#: flatcamGUI/PreferencesUI.py:1257 flatcamGUI/PreferencesUI.py:6376
+#: flatcamTools/ToolFilm.py:426
msgid "Portrait"
msgstr "Retrato"
-#: flatcamGUI/PreferencesUI.py:1083 flatcamGUI/PreferencesUI.py:5889
-#: flatcamTools/ToolFilm.py:425
+#: flatcamGUI/PreferencesUI.py:1258 flatcamGUI/PreferencesUI.py:6377
+#: flatcamTools/ToolFilm.py:427
msgid "Landscape"
msgstr "Paisaje"
-#: flatcamGUI/PreferencesUI.py:1107
+#: flatcamGUI/PreferencesUI.py:1282
msgid "Notebook"
msgstr "Cuaderno"
-#: flatcamGUI/PreferencesUI.py:1109
+#: flatcamGUI/PreferencesUI.py:1284
msgid ""
"This sets the font size for the elements found in the Notebook.\n"
"The notebook is the collapsible area in the left side of the GUI,\n"
@@ -9066,19 +9451,19 @@ msgstr ""
"El cuaderno es el área plegable en el lado izquierdo de la GUI,\n"
"e incluye las pestañas Proyecto, Seleccionado y Herramienta."
-#: flatcamGUI/PreferencesUI.py:1128
+#: flatcamGUI/PreferencesUI.py:1303
msgid "Axis"
msgstr "Eje"
-#: flatcamGUI/PreferencesUI.py:1130
+#: flatcamGUI/PreferencesUI.py:1305
msgid "This sets the font size for canvas axis."
msgstr "Esto establece el tamaño de fuente para el eje del lienzo."
-#: flatcamGUI/PreferencesUI.py:1147
+#: flatcamGUI/PreferencesUI.py:1322
msgid "Textbox"
msgstr "Caja de texto"
-#: flatcamGUI/PreferencesUI.py:1149
+#: flatcamGUI/PreferencesUI.py:1324
msgid ""
"This sets the font size for the Textbox GUI\n"
"elements that are used in FlatCAM."
@@ -9086,15 +9471,15 @@ msgstr ""
"Esto establece el tamaño de fuente para la GUI del cuadro de texto\n"
"elementos que se usan en FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1175
+#: flatcamGUI/PreferencesUI.py:1350
msgid "Mouse Settings"
msgstr "Configuraciones del mouse"
-#: flatcamGUI/PreferencesUI.py:1179
+#: flatcamGUI/PreferencesUI.py:1354
msgid "Cursor Shape"
msgstr "Forma del cursor"
-#: flatcamGUI/PreferencesUI.py:1181
+#: flatcamGUI/PreferencesUI.py:1356
msgid ""
"Choose a mouse cursor shape.\n"
"- Small -> with a customizable size.\n"
@@ -9104,47 +9489,47 @@ msgstr ""
"- Pequeño -> con un tamaño personalizable.\n"
"- Grande -> Líneas infinitas"
-#: flatcamGUI/PreferencesUI.py:1187
+#: flatcamGUI/PreferencesUI.py:1362
msgid "Small"
msgstr "Pequeño"
-#: flatcamGUI/PreferencesUI.py:1188
+#: flatcamGUI/PreferencesUI.py:1363
msgid "Big"
msgstr "Grande"
-#: flatcamGUI/PreferencesUI.py:1195
+#: flatcamGUI/PreferencesUI.py:1370
msgid "Cursor Size"
msgstr "Tamaño del cursor"
-#: flatcamGUI/PreferencesUI.py:1197
+#: flatcamGUI/PreferencesUI.py:1372
msgid "Set the size of the mouse cursor, in pixels."
msgstr "Establezca el tamaño del cursor del mouse, en píxeles."
-#: flatcamGUI/PreferencesUI.py:1208
+#: flatcamGUI/PreferencesUI.py:1383
msgid "Cursor Width"
msgstr "Ancho del cursor"
-#: flatcamGUI/PreferencesUI.py:1210
+#: flatcamGUI/PreferencesUI.py:1385
msgid "Set the line width of the mouse cursor, in pixels."
msgstr "Establezca el ancho de línea del cursor del mouse, en píxeles."
-#: flatcamGUI/PreferencesUI.py:1221 flatcamGUI/PreferencesUI.py:1228
+#: flatcamGUI/PreferencesUI.py:1396 flatcamGUI/PreferencesUI.py:1403
msgid "Cursor Color"
msgstr "Color del cursor"
-#: flatcamGUI/PreferencesUI.py:1223
+#: flatcamGUI/PreferencesUI.py:1398
msgid "Check this box to color mouse cursor."
msgstr "Marque esta casilla para colorear el cursor del mouse."
-#: flatcamGUI/PreferencesUI.py:1230
+#: flatcamGUI/PreferencesUI.py:1405
msgid "Set the color of the mouse cursor."
msgstr "Establece el color del cursor del mouse."
-#: flatcamGUI/PreferencesUI.py:1253
+#: flatcamGUI/PreferencesUI.py:1428
msgid "Pan Button"
msgstr "Botón de pan"
-#: flatcamGUI/PreferencesUI.py:1255
+#: flatcamGUI/PreferencesUI.py:1430
msgid ""
"Select the mouse button to use for panning:\n"
"- MMB --> Middle Mouse Button\n"
@@ -9154,35 +9539,35 @@ msgstr ""
"- MMB -> Botón Central Del Ratón\n"
"- RMB -> Botón derecho del ratón"
-#: flatcamGUI/PreferencesUI.py:1259
+#: flatcamGUI/PreferencesUI.py:1434
msgid "MMB"
msgstr "MMB"
-#: flatcamGUI/PreferencesUI.py:1260
+#: flatcamGUI/PreferencesUI.py:1435
msgid "RMB"
msgstr "RMB"
-#: flatcamGUI/PreferencesUI.py:1266
+#: flatcamGUI/PreferencesUI.py:1441
msgid "Multiple Selection"
msgstr "Selección múltiple"
-#: flatcamGUI/PreferencesUI.py:1268
+#: flatcamGUI/PreferencesUI.py:1443
msgid "Select the key used for multiple selection."
msgstr "Seleccione la clave utilizada para la selección múltiple."
-#: flatcamGUI/PreferencesUI.py:1270
+#: flatcamGUI/PreferencesUI.py:1445
msgid "CTRL"
msgstr "CTRL"
-#: flatcamGUI/PreferencesUI.py:1271
+#: flatcamGUI/PreferencesUI.py:1446
msgid "SHIFT"
msgstr "SHIFT"
-#: flatcamGUI/PreferencesUI.py:1282
+#: flatcamGUI/PreferencesUI.py:1457
msgid "Delete object confirmation"
msgstr "Eliminar confirmación de objeto"
-#: flatcamGUI/PreferencesUI.py:1284
+#: flatcamGUI/PreferencesUI.py:1459
msgid ""
"When checked the application will ask for user confirmation\n"
"whenever the Delete object(s) event is triggered, either by\n"
@@ -9192,11 +9577,11 @@ msgstr ""
"cada vez que se desencadena el evento Eliminar objeto (s), ya sea por\n"
"acceso directo al menú o acceso directo a teclas."
-#: flatcamGUI/PreferencesUI.py:1291
+#: flatcamGUI/PreferencesUI.py:1466
msgid "\"Open\" behavior"
msgstr "Comportamiento \"abierto\""
-#: flatcamGUI/PreferencesUI.py:1293
+#: flatcamGUI/PreferencesUI.py:1468
msgid ""
"When checked the path for the last saved file is used when saving files,\n"
"and the path for the last opened file is used when opening files.\n"
@@ -9211,7 +9596,11 @@ msgstr ""
"Cuando no está marcada, la ruta para abrir archivos es la última utilizada:\n"
"ruta para guardar archivos o la ruta para abrir archivos."
-#: flatcamGUI/PreferencesUI.py:1304
+#: flatcamGUI/PreferencesUI.py:1477
+msgid "Enable ToolTips"
+msgstr "Hab. info sobre Herram"
+
+#: flatcamGUI/PreferencesUI.py:1479
msgid ""
"Check this box if you want to have toolTips displayed\n"
"when hovering with mouse over items throughout the App."
@@ -9219,11 +9608,11 @@ msgstr ""
"Marque esta casilla si desea que se muestre información sobre herramientas\n"
"al pasar el mouse sobre los elementos de la aplicación."
-#: flatcamGUI/PreferencesUI.py:1311
+#: flatcamGUI/PreferencesUI.py:1486
msgid "Allow Machinist Unsafe Settings"
msgstr "Permitir configuraciones inseguras de Maquinista"
-#: flatcamGUI/PreferencesUI.py:1313
+#: flatcamGUI/PreferencesUI.py:1488
msgid ""
"If checked, some of the application settings will be allowed\n"
"to have values that are usually unsafe to use.\n"
@@ -9239,11 +9628,11 @@ msgstr ""
"Se aplicará en el próximo inicio de la aplicación.\n"
"<>: ¡No cambie esto a menos que sepa lo que está haciendo!"
-#: flatcamGUI/PreferencesUI.py:1324
+#: flatcamGUI/PreferencesUI.py:1500
msgid "Bookmarks limit"
msgstr "Límite de Marcadores"
-#: flatcamGUI/PreferencesUI.py:1326
+#: flatcamGUI/PreferencesUI.py:1502
msgid ""
"The maximum number of bookmarks that may be installed in the menu.\n"
"The number of bookmarks in the bookmark manager may be greater\n"
@@ -9253,27 +9642,27 @@ msgstr ""
"El número de marcadores en el administrador de marcadores puede ser mayor\n"
"pero el menú solo tendrá una cantidad considerable."
-#: flatcamGUI/PreferencesUI.py:1335
+#: flatcamGUI/PreferencesUI.py:1511
msgid "Activity Icon"
msgstr "Ícono de actividad"
-#: flatcamGUI/PreferencesUI.py:1337
+#: flatcamGUI/PreferencesUI.py:1513
msgid "Select the GIF that show activity when FlatCAM is active."
msgstr "Seleccione el GIF que muestra actividad cuando FlatCAM está activo."
-#: flatcamGUI/PreferencesUI.py:1395
+#: flatcamGUI/PreferencesUI.py:1571
msgid "App Preferences"
msgstr "Preferencias de la aplicación"
-#: flatcamGUI/PreferencesUI.py:1405 flatcamGUI/PreferencesUI.py:1811
-#: flatcamGUI/PreferencesUI.py:2359 flatcamGUI/PreferencesUI.py:2804
-#: flatcamGUI/PreferencesUI.py:3417 flatcamTools/ToolDistance.py:49
-#: flatcamTools/ToolDistanceMin.py:49 flatcamTools/ToolPcbWizard.py:127
-#: flatcamTools/ToolProperties.py:152
+#: flatcamGUI/PreferencesUI.py:1581 flatcamGUI/PreferencesUI.py:1991
+#: flatcamGUI/PreferencesUI.py:2539 flatcamGUI/PreferencesUI.py:2986
+#: flatcamGUI/PreferencesUI.py:3695 flatcamTools/ToolDistance.py:56
+#: flatcamTools/ToolDistanceMin.py:50 flatcamTools/ToolPcbWizard.py:127
+#: flatcamTools/ToolProperties.py:154
msgid "Units"
msgstr "Unidades"
-#: flatcamGUI/PreferencesUI.py:1406
+#: flatcamGUI/PreferencesUI.py:1582
msgid ""
"The default value for FlatCAM units.\n"
"Whatever is selected here is set every time\n"
@@ -9283,22 +9672,22 @@ msgstr ""
"Lo que se selecciona aquí se establece cada vez\n"
"Se inicia FLatCAM."
-#: flatcamGUI/PreferencesUI.py:1409 flatcamGUI/PreferencesUI.py:1817
-#: flatcamGUI/PreferencesUI.py:2365 flatcamGUI/PreferencesUI.py:2815
-#: flatcamGUI/PreferencesUI.py:3423 flatcamTools/ToolCalculators.py:62
+#: flatcamGUI/PreferencesUI.py:1585 flatcamGUI/PreferencesUI.py:1997
+#: flatcamGUI/PreferencesUI.py:2545 flatcamGUI/PreferencesUI.py:2997
+#: flatcamGUI/PreferencesUI.py:3701 flatcamTools/ToolCalculators.py:62
#: flatcamTools/ToolPcbWizard.py:126
msgid "MM"
msgstr "MM"
-#: flatcamGUI/PreferencesUI.py:1410
+#: flatcamGUI/PreferencesUI.py:1586
msgid "IN"
msgstr "IN"
-#: flatcamGUI/PreferencesUI.py:1416
+#: flatcamGUI/PreferencesUI.py:1592
msgid "Precision MM"
msgstr "Precisión MM"
-#: flatcamGUI/PreferencesUI.py:1418
+#: flatcamGUI/PreferencesUI.py:1594
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in METRIC system.\n"
@@ -9308,11 +9697,11 @@ msgstr ""
"cuando las unidades configuradas están en el sistema METRIC.\n"
"Cualquier cambio aquí requiere un reinicio de la aplicación."
-#: flatcamGUI/PreferencesUI.py:1430
+#: flatcamGUI/PreferencesUI.py:1606
msgid "Precision INCH"
msgstr "Precisión PULGADA"
-#: flatcamGUI/PreferencesUI.py:1432
+#: flatcamGUI/PreferencesUI.py:1608
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in INCH system.\n"
@@ -9322,11 +9711,11 @@ msgstr ""
"cuando las unidades configuradas están en el sistema PULGADA.\n"
"Cualquier cambio aquí requiere un reinicio de la aplicación."
-#: flatcamGUI/PreferencesUI.py:1444
+#: flatcamGUI/PreferencesUI.py:1620
msgid "Graphic Engine"
msgstr "Motor gráfico"
-#: flatcamGUI/PreferencesUI.py:1445
+#: flatcamGUI/PreferencesUI.py:1621
msgid ""
"Choose what graphic engine to use in FlatCAM.\n"
"Legacy(2D) -> reduced functionality, slow performance but enhanced "
@@ -9346,19 +9735,19 @@ msgstr ""
"tanto\n"
"use el modo Legacy (2D)."
-#: flatcamGUI/PreferencesUI.py:1451
+#: flatcamGUI/PreferencesUI.py:1627
msgid "Legacy(2D)"
msgstr "Legado (2D)"
-#: flatcamGUI/PreferencesUI.py:1452
+#: flatcamGUI/PreferencesUI.py:1628
msgid "OpenGL(3D)"
msgstr "OpenGL(3D)"
-#: flatcamGUI/PreferencesUI.py:1464
+#: flatcamGUI/PreferencesUI.py:1640
msgid "APP. LEVEL"
msgstr "Nivel de aplicación"
-#: flatcamGUI/PreferencesUI.py:1465
+#: flatcamGUI/PreferencesUI.py:1641
msgid ""
"Choose the default level of usage for FlatCAM.\n"
"BASIC level -> reduced functionality, best for beginner's.\n"
@@ -9374,11 +9763,11 @@ msgstr ""
"La elección aquí influirá en los parámetros en\n"
"La pestaña seleccionada para todo tipo de objetos FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1477
+#: flatcamGUI/PreferencesUI.py:1653
msgid "Portable app"
msgstr "Aplicación portátil"
-#: flatcamGUI/PreferencesUI.py:1478
+#: flatcamGUI/PreferencesUI.py:1654
msgid ""
"Choose if the application should run as portable.\n"
"\n"
@@ -9392,19 +9781,19 @@ msgstr ""
"lo que significa que los archivos de preferencias se guardarán\n"
"en la carpeta de la aplicación, en la subcarpeta lib \\ config."
-#: flatcamGUI/PreferencesUI.py:1491
+#: flatcamGUI/PreferencesUI.py:1667
msgid "Languages"
msgstr "Idiomas"
-#: flatcamGUI/PreferencesUI.py:1492
+#: flatcamGUI/PreferencesUI.py:1668
msgid "Set the language used throughout FlatCAM."
msgstr "Establezca el idioma utilizado en FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1498
+#: flatcamGUI/PreferencesUI.py:1674
msgid "Apply Language"
msgstr "Aplicar idioma"
-#: flatcamGUI/PreferencesUI.py:1499
+#: flatcamGUI/PreferencesUI.py:1675
msgid ""
"Set the language used throughout FlatCAM.\n"
"The app will restart after click."
@@ -9412,33 +9801,33 @@ msgstr ""
"Establezca el idioma utilizado en FlatCAM.\n"
"La aplicación se reiniciará después de hacer clic."
-#: flatcamGUI/PreferencesUI.py:1513
+#: flatcamGUI/PreferencesUI.py:1689
msgid "Startup Settings"
msgstr "Configuraciones de inicio"
-#: flatcamGUI/PreferencesUI.py:1517
+#: flatcamGUI/PreferencesUI.py:1693
msgid "Splash Screen"
msgstr "Pantalla de bienvenida"
-#: flatcamGUI/PreferencesUI.py:1519
+#: flatcamGUI/PreferencesUI.py:1695
msgid "Enable display of the splash screen at application startup."
msgstr ""
"Habilite la visualización de la pantalla de inicio al iniciar la aplicación."
-#: flatcamGUI/PreferencesUI.py:1531
+#: flatcamGUI/PreferencesUI.py:1707
msgid "Sys Tray Icon"
msgstr "Icono de la Sys Tray"
-#: flatcamGUI/PreferencesUI.py:1533
+#: flatcamGUI/PreferencesUI.py:1709
msgid "Enable display of FlatCAM icon in Sys Tray."
msgstr ""
"Habilite la visualización del icono de FlatCAM en la bandeja del sistema."
-#: flatcamGUI/PreferencesUI.py:1538
+#: flatcamGUI/PreferencesUI.py:1714
msgid "Show Shell"
msgstr "Mostrar la línea de comando"
-#: flatcamGUI/PreferencesUI.py:1540
+#: flatcamGUI/PreferencesUI.py:1716
msgid ""
"Check this box if you want the shell to\n"
"start automatically at startup."
@@ -9446,11 +9835,11 @@ msgstr ""
"Marque esta casilla si desea que el shell\n"
"iniciar automáticamente en el inicio."
-#: flatcamGUI/PreferencesUI.py:1547
+#: flatcamGUI/PreferencesUI.py:1723
msgid "Show Project"
msgstr "Mostrar proyecto"
-#: flatcamGUI/PreferencesUI.py:1549
+#: flatcamGUI/PreferencesUI.py:1725
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"to be shown automatically at startup."
@@ -9459,11 +9848,11 @@ msgstr ""
"seleccionado / herramienta\n"
"para ser mostrado automáticamente en el inicio."
-#: flatcamGUI/PreferencesUI.py:1555
+#: flatcamGUI/PreferencesUI.py:1731
msgid "Version Check"
msgstr "Verificación de versión"
-#: flatcamGUI/PreferencesUI.py:1557
+#: flatcamGUI/PreferencesUI.py:1733
msgid ""
"Check this box if you want to check\n"
"for a new version automatically at startup."
@@ -9471,11 +9860,11 @@ msgstr ""
"Marque esta casilla si desea marcar\n"
"para una nueva versión automáticamente en el inicio."
-#: flatcamGUI/PreferencesUI.py:1564
+#: flatcamGUI/PreferencesUI.py:1740
msgid "Send Statistics"
msgstr "Enviar estadísticas"
-#: flatcamGUI/PreferencesUI.py:1566
+#: flatcamGUI/PreferencesUI.py:1742
msgid ""
"Check this box if you agree to send anonymous\n"
"stats automatically at startup, to help improve FlatCAM."
@@ -9483,11 +9872,11 @@ msgstr ""
"Marque esta casilla si acepta enviar anónimo\n"
"Estadísticas automáticamente en el inicio, para ayudar a mejorar FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1580
+#: flatcamGUI/PreferencesUI.py:1756
msgid "Workers number"
msgstr "Número de trabajadores"
-#: flatcamGUI/PreferencesUI.py:1582 flatcamGUI/PreferencesUI.py:1591
+#: flatcamGUI/PreferencesUI.py:1758
msgid ""
"The number of Qthreads made available to the App.\n"
"A bigger number may finish the jobs more quickly but\n"
@@ -9504,35 +9893,35 @@ msgstr ""
"El valor predeterminado es 2.\n"
"Después del cambio, se aplicará en el próximo inicio de la aplicación."
-#: flatcamGUI/PreferencesUI.py:1604
+#: flatcamGUI/PreferencesUI.py:1772
msgid "Geo Tolerance"
msgstr "Geo Tolerancia"
-#: flatcamGUI/PreferencesUI.py:1606 flatcamGUI/PreferencesUI.py:1615
+#: flatcamGUI/PreferencesUI.py:1774
msgid ""
"This value can counter the effect of the Circle Steps\n"
-"parameter. Default value is 0.01.\n"
+"parameter. Default value is 0.005.\n"
"A lower value will increase the detail both in image\n"
"and in Gcode for the circles, with a higher cost in\n"
"performance. Higher value will provide more\n"
"performance at the expense of level of detail."
msgstr ""
-"Este valor puede contrarrestar el efecto de los pasos del círculo.\n"
-"parámetro. El valor predeterminado es 0.01.\n"
-"Un valor más bajo aumentará el detalle tanto en la imagen.\n"
+"Este valor puede contrarrestar el efecto de los Pasos circulares\n"
+"parámetro. El valor predeterminado es 0.005.\n"
+"Un valor más bajo aumentará el detalle tanto en la imagen\n"
"y en Gcode para los círculos, con un mayor costo en\n"
"actuación. Un valor más alto proporcionará más\n"
-"Rendimiento a expensas del nivel de detalle."
+"rendimiento a expensas del nivel de detalle."
-#: flatcamGUI/PreferencesUI.py:1634
+#: flatcamGUI/PreferencesUI.py:1794
msgid "Save Settings"
msgstr "Configuraciones para guardar"
-#: flatcamGUI/PreferencesUI.py:1638
+#: flatcamGUI/PreferencesUI.py:1798
msgid "Save Compressed Project"
msgstr "Guardar proyecto comprimido"
-#: flatcamGUI/PreferencesUI.py:1640
+#: flatcamGUI/PreferencesUI.py:1800
msgid ""
"Whether to save a compressed or uncompressed project.\n"
"When checked it will save a compressed FlatCAM project."
@@ -9540,11 +9929,11 @@ msgstr ""
"Ya sea para guardar un proyecto comprimido o sin comprimir.\n"
"Cuando esté marcado, guardará un proyecto comprimido de FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1649
+#: flatcamGUI/PreferencesUI.py:1809
msgid "Compression"
msgstr "Compresión"
-#: flatcamGUI/PreferencesUI.py:1651
+#: flatcamGUI/PreferencesUI.py:1811
msgid ""
"The level of compression used when saving\n"
"a FlatCAM project. Higher value means better compression\n"
@@ -9554,64 +9943,94 @@ msgstr ""
"Un proyecto FlatCAM. Un valor más alto significa una mejor compresión\n"
"pero requieren más uso de RAM y más tiempo de procesamiento."
-#: flatcamGUI/PreferencesUI.py:1671
+#: flatcamGUI/PreferencesUI.py:1822
+msgid "Enable Auto Save"
+msgstr "Habilitar guardado auto"
+
+#: flatcamGUI/PreferencesUI.py:1824
+msgid ""
+"Check to enable the autosave feature.\n"
+"When enabled, the application will try to save a project\n"
+"at the set interval."
+msgstr ""
+"Marque para habilitar la función de autoguardado.\n"
+"Cuando está habilitada, la aplicación intentará guardar un proyecto.\n"
+"en el intervalo establecido."
+
+#: flatcamGUI/PreferencesUI.py:1834
+msgid "Interval"
+msgstr "Intervalo"
+
+#: flatcamGUI/PreferencesUI.py:1836
+msgid ""
+"Time interval for autosaving. In milliseconds.\n"
+"The application will try to save periodically but only\n"
+"if the project was saved manually at least once.\n"
+"While active, some operations may block this feature."
+msgstr ""
+"Intervalo de tiempo para guardar automáticamente. En milisegundos\n"
+"La aplicación intentará guardar periódicamente pero solo\n"
+"si el proyecto se guardó manualmente al menos una vez.\n"
+"Mientras está activo, algunas operaciones pueden bloquear esta función."
+
+#: flatcamGUI/PreferencesUI.py:1852
msgid "Text to PDF parameters"
msgstr "Parámetros de texto a PDF"
-#: flatcamGUI/PreferencesUI.py:1673
+#: flatcamGUI/PreferencesUI.py:1854
msgid "Used when saving text in Code Editor or in FlatCAM Document objects."
msgstr ""
"Se utiliza al guardar texto en el Editor de código o en objetos de documento "
"FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1682
+#: flatcamGUI/PreferencesUI.py:1863
msgid "Top Margin"
msgstr "Margen superior"
-#: flatcamGUI/PreferencesUI.py:1684
+#: flatcamGUI/PreferencesUI.py:1865
msgid "Distance between text body and the top of the PDF file."
msgstr ""
"Distancia entre el cuerpo del texto y la parte superior del archivo PDF."
-#: flatcamGUI/PreferencesUI.py:1695
+#: flatcamGUI/PreferencesUI.py:1876
msgid "Bottom Margin"
msgstr "Margen inferior"
-#: flatcamGUI/PreferencesUI.py:1697
+#: flatcamGUI/PreferencesUI.py:1878
msgid "Distance between text body and the bottom of the PDF file."
msgstr ""
"Distancia entre el cuerpo del texto y la parte inferior del archivo PDF."
-#: flatcamGUI/PreferencesUI.py:1708
+#: flatcamGUI/PreferencesUI.py:1889
msgid "Left Margin"
msgstr "Margen izquierdo"
-#: flatcamGUI/PreferencesUI.py:1710
+#: flatcamGUI/PreferencesUI.py:1891
msgid "Distance between text body and the left of the PDF file."
msgstr "Distancia entre el cuerpo del texto y la izquierda del archivo PDF."
-#: flatcamGUI/PreferencesUI.py:1721
+#: flatcamGUI/PreferencesUI.py:1902
msgid "Right Margin"
msgstr "Margen derecho"
-#: flatcamGUI/PreferencesUI.py:1723
+#: flatcamGUI/PreferencesUI.py:1904
msgid "Distance between text body and the right of the PDF file."
msgstr "Distancia entre el cuerpo del texto y la derecha del archivo PDF."
-#: flatcamGUI/PreferencesUI.py:1756
+#: flatcamGUI/PreferencesUI.py:1936
msgid "Gerber General"
msgstr "Gerber General"
-#: flatcamGUI/PreferencesUI.py:1774
+#: flatcamGUI/PreferencesUI.py:1954
msgid "M-Color"
msgstr "M-Color"
-#: flatcamGUI/PreferencesUI.py:1788 flatcamGUI/PreferencesUI.py:3859
-#: flatcamGUI/PreferencesUI.py:4442 flatcamGUI/PreferencesUI.py:7148
+#: flatcamGUI/PreferencesUI.py:1968 flatcamGUI/PreferencesUI.py:4137
+#: flatcamGUI/PreferencesUI.py:4735 flatcamGUI/PreferencesUI.py:7654
msgid "Circle Steps"
msgstr "Pasos del círculo"
-#: flatcamGUI/PreferencesUI.py:1790
+#: flatcamGUI/PreferencesUI.py:1970
msgid ""
"The number of circle steps for Gerber \n"
"circular aperture linear approximation."
@@ -9619,11 +10038,11 @@ msgstr ""
"El número de pasos de círculo para Gerber\n"
"Apertura circular de aproximación lineal."
-#: flatcamGUI/PreferencesUI.py:1802
+#: flatcamGUI/PreferencesUI.py:1982
msgid "Default Values"
msgstr "Valores predeterminados"
-#: flatcamGUI/PreferencesUI.py:1804
+#: flatcamGUI/PreferencesUI.py:1984
msgid ""
"Those values will be used as fallback values\n"
"in case that they are not found in the Gerber file."
@@ -9631,25 +10050,25 @@ msgstr ""
"Esos valores se usarán como valores de reserva\n"
"en caso de que no se encuentren en el archivo Gerber."
-#: flatcamGUI/PreferencesUI.py:1813 flatcamGUI/PreferencesUI.py:1819
-#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:2367
+#: flatcamGUI/PreferencesUI.py:1993 flatcamGUI/PreferencesUI.py:1999
+#: flatcamGUI/PreferencesUI.py:2541 flatcamGUI/PreferencesUI.py:2547
msgid "The units used in the Gerber file."
msgstr "Las unidades utilizadas en el archivo Gerber."
-#: flatcamGUI/PreferencesUI.py:1816 flatcamGUI/PreferencesUI.py:2364
-#: flatcamGUI/PreferencesUI.py:2728 flatcamGUI/PreferencesUI.py:2814
-#: flatcamGUI/PreferencesUI.py:3422 flatcamTools/ToolCalculators.py:61
+#: flatcamGUI/PreferencesUI.py:1996 flatcamGUI/PreferencesUI.py:2544
+#: flatcamGUI/PreferencesUI.py:2910 flatcamGUI/PreferencesUI.py:2996
+#: flatcamGUI/PreferencesUI.py:3700 flatcamTools/ToolCalculators.py:61
#: flatcamTools/ToolPcbWizard.py:125
msgid "INCH"
msgstr "PULGADA"
-#: flatcamGUI/PreferencesUI.py:1826 flatcamGUI/PreferencesUI.py:2413
-#: flatcamGUI/PreferencesUI.py:2786 flatcamGUI/PreferencesUI.py:3490
+#: flatcamGUI/PreferencesUI.py:2006 flatcamGUI/PreferencesUI.py:2593
+#: flatcamGUI/PreferencesUI.py:2968 flatcamGUI/PreferencesUI.py:3768
msgid "Zeros"
msgstr "Ceros"
-#: flatcamGUI/PreferencesUI.py:1829 flatcamGUI/PreferencesUI.py:1839
-#: flatcamGUI/PreferencesUI.py:2416 flatcamGUI/PreferencesUI.py:2426
+#: flatcamGUI/PreferencesUI.py:2009 flatcamGUI/PreferencesUI.py:2019
+#: flatcamGUI/PreferencesUI.py:2596 flatcamGUI/PreferencesUI.py:2606
msgid ""
"This sets the type of Gerber zeros.\n"
"If LZ then Leading Zeros are removed and\n"
@@ -9663,23 +10082,23 @@ msgstr ""
"Si se comprueba TZ, se eliminan los ceros finales\n"
"y Leading Zeros se mantienen."
-#: flatcamGUI/PreferencesUI.py:1836 flatcamGUI/PreferencesUI.py:2423
-#: flatcamGUI/PreferencesUI.py:2799 flatcamGUI/PreferencesUI.py:3500
+#: flatcamGUI/PreferencesUI.py:2016 flatcamGUI/PreferencesUI.py:2603
+#: flatcamGUI/PreferencesUI.py:2981 flatcamGUI/PreferencesUI.py:3778
#: flatcamTools/ToolPcbWizard.py:111
msgid "LZ"
msgstr "LZ"
-#: flatcamGUI/PreferencesUI.py:1837 flatcamGUI/PreferencesUI.py:2424
-#: flatcamGUI/PreferencesUI.py:2800 flatcamGUI/PreferencesUI.py:3501
+#: flatcamGUI/PreferencesUI.py:2017 flatcamGUI/PreferencesUI.py:2604
+#: flatcamGUI/PreferencesUI.py:2982 flatcamGUI/PreferencesUI.py:3779
#: flatcamTools/ToolPcbWizard.py:112
msgid "TZ"
msgstr "TZ"
-#: flatcamGUI/PreferencesUI.py:1855
+#: flatcamGUI/PreferencesUI.py:2035
msgid "Clean Apertures"
msgstr "Aberturas limpias"
-#: flatcamGUI/PreferencesUI.py:1857
+#: flatcamGUI/PreferencesUI.py:2037
msgid ""
"Will remove apertures that do not have geometry\n"
"thus lowering the number of apertures in the Gerber object."
@@ -9687,11 +10106,11 @@ msgstr ""
"Eliminará las aberturas que no tengan geometría\n"
"bajando así el número de aberturas en el objeto Gerber."
-#: flatcamGUI/PreferencesUI.py:1863
+#: flatcamGUI/PreferencesUI.py:2043
msgid "Polarity change buffer"
msgstr "Cambio de polaridad buffer"
-#: flatcamGUI/PreferencesUI.py:1865
+#: flatcamGUI/PreferencesUI.py:2045
msgid ""
"Will apply extra buffering for the\n"
"solid geometry when we have polarity changes.\n"
@@ -9703,17 +10122,17 @@ msgstr ""
"Puede ayudar a cargar archivos Gerber que de otra manera\n"
"No cargar correctamente."
-#: flatcamGUI/PreferencesUI.py:1878
+#: flatcamGUI/PreferencesUI.py:2058
msgid "Gerber Object Color"
msgstr "Color de objeto Gerber"
-#: flatcamGUI/PreferencesUI.py:1884 flatcamGUI/PreferencesUI.py:2905
-#: flatcamGUI/PreferencesUI.py:3896
+#: flatcamGUI/PreferencesUI.py:2064 flatcamGUI/PreferencesUI.py:3087
+#: flatcamGUI/PreferencesUI.py:4176
msgid "Set the line color for plotted objects."
msgstr "Establecer el color de la línea para los objetos trazados."
-#: flatcamGUI/PreferencesUI.py:1901 flatcamGUI/PreferencesUI.py:2922
-#: flatcamGUI/PreferencesUI.py:4553 flatcamGUI/PreferencesUI.py:4619
+#: flatcamGUI/PreferencesUI.py:2081 flatcamGUI/PreferencesUI.py:3104
+#: flatcamGUI/PreferencesUI.py:4846 flatcamGUI/PreferencesUI.py:4912
msgid ""
"Set the fill color for plotted objects.\n"
"First 6 digits are the color and the last 2\n"
@@ -9723,34 +10142,29 @@ msgstr ""
"Los primeros 6 dígitos son el color y los 2 últimos.\n"
"Los dígitos son para el nivel alfa (transparencia)."
-#: flatcamGUI/PreferencesUI.py:1920 flatcamGUI/PreferencesUI.py:2941
-#: flatcamGUI/PreferencesUI.py:4572
+#: flatcamGUI/PreferencesUI.py:2100 flatcamGUI/PreferencesUI.py:3123
+#: flatcamGUI/PreferencesUI.py:4865
msgid "Set the fill transparency for plotted objects."
msgstr "Establecer la transparencia de relleno para los objetos trazados."
-#: flatcamGUI/PreferencesUI.py:2011
+#: flatcamGUI/PreferencesUI.py:2191
msgid "Gerber Options"
msgstr "Opciones de gerber"
-#: flatcamGUI/PreferencesUI.py:2085 flatcamGUI/PreferencesUI.py:4379
-#: flatcamGUI/PreferencesUI.py:5120 flatcamTools/ToolNonCopperClear.py:170
-msgid "Conv."
-msgstr "Conv."
-
-#: flatcamGUI/PreferencesUI.py:2089
+#: flatcamGUI/PreferencesUI.py:2269
msgid "Combine Passes"
msgstr "Combinar pases"
-#: flatcamGUI/PreferencesUI.py:2177
+#: flatcamGUI/PreferencesUI.py:2357
msgid "Gerber Adv. Options"
msgstr "Opciones avan. de Gerber"
-#: flatcamGUI/PreferencesUI.py:2181 flatcamGUI/PreferencesUI.py:3278
-#: flatcamGUI/PreferencesUI.py:4179
+#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:3551
+#: flatcamGUI/PreferencesUI.py:4472
msgid "Advanced Options"
msgstr "Opciones avanzadas"
-#: flatcamGUI/PreferencesUI.py:2183
+#: flatcamGUI/PreferencesUI.py:2363
msgid ""
"A list of Gerber advanced parameters.\n"
"Those parameters are available only for\n"
@@ -9760,11 +10174,11 @@ msgstr ""
"Esos parámetros están disponibles sólo para\n"
"Aplicación avanzada Nivel."
-#: flatcamGUI/PreferencesUI.py:2202
+#: flatcamGUI/PreferencesUI.py:2382
msgid "Table Show/Hide"
msgstr "Mostrar / ocultar tabla"
-#: flatcamGUI/PreferencesUI.py:2204
+#: flatcamGUI/PreferencesUI.py:2384
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"Also, on hide, it will delete all mark shapes\n"
@@ -9774,15 +10188,15 @@ msgstr ""
"Además, en hide, borrará todas las formas de marca.\n"
"que se dibujan sobre lienzo."
-#: flatcamGUI/PreferencesUI.py:2284
+#: flatcamGUI/PreferencesUI.py:2464
msgid "Exterior"
msgstr "Exterior"
-#: flatcamGUI/PreferencesUI.py:2285
+#: flatcamGUI/PreferencesUI.py:2465
msgid "Interior"
msgstr "Interior"
-#: flatcamGUI/PreferencesUI.py:2298
+#: flatcamGUI/PreferencesUI.py:2478
msgid ""
"Buffering type:\n"
"- None --> best performance, fast file loading but no so good display\n"
@@ -9796,19 +10210,19 @@ msgstr ""
"predeterminado.\n"
"<>: ¡No cambie esto a menos que sepa lo que está haciendo!"
-#: flatcamGUI/PreferencesUI.py:2303 flatcamGUI/PreferencesUI.py:5852
-#: flatcamGUI/PreferencesUI.py:7446 flatcamTools/ToolFiducials.py:201
-#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:411
-#: flatcamTools/ToolProperties.py:426 flatcamTools/ToolProperties.py:429
-#: flatcamTools/ToolProperties.py:432 flatcamTools/ToolProperties.py:456
+#: flatcamGUI/PreferencesUI.py:2483 flatcamGUI/PreferencesUI.py:6340
+#: flatcamGUI/PreferencesUI.py:7952 flatcamTools/ToolFiducials.py:201
+#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:452
+#: flatcamTools/ToolProperties.py:455 flatcamTools/ToolProperties.py:458
+#: flatcamTools/ToolProperties.py:483
msgid "None"
msgstr "Ninguno"
-#: flatcamGUI/PreferencesUI.py:2309
+#: flatcamGUI/PreferencesUI.py:2489
msgid "Simplify"
msgstr "Simplificar"
-#: flatcamGUI/PreferencesUI.py:2311
+#: flatcamGUI/PreferencesUI.py:2491
msgid ""
"When checked all the Gerber polygons will be\n"
"loaded with simplification having a set tolerance.\n"
@@ -9818,23 +10232,23 @@ msgstr ""
"cargado de simplificación con una tolerancia establecida.\n"
"<>: ¡No cambie esto a menos que sepa lo que está haciendo!"
-#: flatcamGUI/PreferencesUI.py:2318
+#: flatcamGUI/PreferencesUI.py:2498
msgid "Tolerance"
msgstr "Tolerancia"
-#: flatcamGUI/PreferencesUI.py:2319
+#: flatcamGUI/PreferencesUI.py:2499
msgid "Tolerance for polygon simplification."
msgstr "Tolerancia para la simplificación de polígonos."
-#: flatcamGUI/PreferencesUI.py:2344
+#: flatcamGUI/PreferencesUI.py:2524
msgid "Gerber Export"
msgstr "Gerber Export"
-#: flatcamGUI/PreferencesUI.py:2348 flatcamGUI/PreferencesUI.py:3406
+#: flatcamGUI/PreferencesUI.py:2528 flatcamGUI/PreferencesUI.py:3684
msgid "Export Options"
msgstr "Opciones de export"
-#: flatcamGUI/PreferencesUI.py:2350
+#: flatcamGUI/PreferencesUI.py:2530
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Gerber menu entry."
@@ -9842,11 +10256,11 @@ msgstr ""
"Los parámetros establecidos aquí se utilizan en el archivo exportado.\n"
"cuando se usa la entrada de menú Archivo -> Exportar -> Exportar Gerber."
-#: flatcamGUI/PreferencesUI.py:2373 flatcamGUI/PreferencesUI.py:3431
+#: flatcamGUI/PreferencesUI.py:2553 flatcamGUI/PreferencesUI.py:3709
msgid "Int/Decimals"
msgstr "Entero/Decimales"
-#: flatcamGUI/PreferencesUI.py:2375
+#: flatcamGUI/PreferencesUI.py:2555
msgid ""
"The number of digits in the whole part of the number\n"
"and in the fractional part of the number."
@@ -9854,7 +10268,7 @@ msgstr ""
"El número de dígitos en la parte entera del número.\n"
"y en la parte fraccionaria del número."
-#: flatcamGUI/PreferencesUI.py:2388
+#: flatcamGUI/PreferencesUI.py:2568
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Gerber coordinates."
@@ -9862,7 +10276,7 @@ msgstr ""
"Estos números significan el número de dígitos en\n"
"Toda la parte de Gerber coordina."
-#: flatcamGUI/PreferencesUI.py:2404
+#: flatcamGUI/PreferencesUI.py:2584
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Gerber coordinates."
@@ -9870,16 +10284,16 @@ msgstr ""
"Estos números significan el número de dígitos en\n"
"La parte decimal de las coordenadas de gerber."
-#: flatcamGUI/PreferencesUI.py:2449
+#: flatcamGUI/PreferencesUI.py:2629
msgid "A list of Gerber Editor parameters."
msgstr "Una lista de los parámetros del editor Gerber."
-#: flatcamGUI/PreferencesUI.py:2457 flatcamGUI/PreferencesUI.py:3565
-#: flatcamGUI/PreferencesUI.py:4357 flatcamGUI/PreferencesUI.py:7109
+#: flatcamGUI/PreferencesUI.py:2637 flatcamGUI/PreferencesUI.py:3843
+#: flatcamGUI/PreferencesUI.py:4650 flatcamGUI/PreferencesUI.py:7615
msgid "Selection limit"
msgstr "Límite de selección"
-#: flatcamGUI/PreferencesUI.py:2459
+#: flatcamGUI/PreferencesUI.py:2639
msgid ""
"Set the number of selected Gerber geometry\n"
"items above which the utility geometry\n"
@@ -9893,23 +10307,23 @@ msgstr ""
"Aumenta el rendimiento al mover un\n"
"Gran cantidad de elementos geométricos."
-#: flatcamGUI/PreferencesUI.py:2472
+#: flatcamGUI/PreferencesUI.py:2652
msgid "New Aperture code"
msgstr "Nuevo Código de Aper"
-#: flatcamGUI/PreferencesUI.py:2485
+#: flatcamGUI/PreferencesUI.py:2665
msgid "New Aperture size"
msgstr "Nuevo Tamaño de Aper"
-#: flatcamGUI/PreferencesUI.py:2487
+#: flatcamGUI/PreferencesUI.py:2667
msgid "Size for the new aperture"
msgstr "Tamaño para la Nueva Aper"
-#: flatcamGUI/PreferencesUI.py:2498
+#: flatcamGUI/PreferencesUI.py:2678
msgid "New Aperture type"
msgstr "Nuevo Tipo de Aper"
-#: flatcamGUI/PreferencesUI.py:2500
+#: flatcamGUI/PreferencesUI.py:2680
msgid ""
"Type for the new aperture.\n"
"Can be 'C', 'R' or 'O'."
@@ -9917,35 +10331,42 @@ msgstr ""
"Escriba para la nueva apertura.\n"
"Puede ser 'C', 'R' u 'O'."
-#: flatcamGUI/PreferencesUI.py:2522
+#: flatcamGUI/PreferencesUI.py:2702
msgid "Aperture Dimensions"
msgstr "Dim. de apertura"
-#: flatcamGUI/PreferencesUI.py:2524 flatcamGUI/PreferencesUI.py:3877
-#: flatcamGUI/PreferencesUI.py:5029
-msgid "Diameters of the cutting tools, separated by ','"
-msgstr "Diámetros de las herramientas de corte, separados por ','"
+#: flatcamGUI/PreferencesUI.py:2704 flatcamGUI/PreferencesUI.py:4155
+#: flatcamGUI/PreferencesUI.py:5322 flatcamGUI/PreferencesUI.py:5889
+#: flatcamGUI/PreferencesUI.py:6955
+msgid ""
+"Diameters of the tools, separated by comma.\n"
+"The value of the diameter has to use the dot decimals separator.\n"
+"Valid values: 0.3, 1.0"
+msgstr ""
+"Diámetros de las herramientas, separados por comas.\n"
+"El valor del diámetro tiene que usar el separador de decimales de punto.\n"
+"Valores válidos: 0.3, 1.0"
-#: flatcamGUI/PreferencesUI.py:2530
+#: flatcamGUI/PreferencesUI.py:2712
msgid "Linear Pad Array"
msgstr "Matriz lineal de Almohadilla"
-#: flatcamGUI/PreferencesUI.py:2534 flatcamGUI/PreferencesUI.py:3609
-#: flatcamGUI/PreferencesUI.py:3757
+#: flatcamGUI/PreferencesUI.py:2716 flatcamGUI/PreferencesUI.py:3887
+#: flatcamGUI/PreferencesUI.py:4035
msgid "Linear Direction"
msgstr "Direccion lineal"
-#: flatcamGUI/PreferencesUI.py:2574
+#: flatcamGUI/PreferencesUI.py:2756
msgid "Circular Pad Array"
msgstr "Matriz de Almohadilla Circ"
-#: flatcamGUI/PreferencesUI.py:2578 flatcamGUI/PreferencesUI.py:3655
-#: flatcamGUI/PreferencesUI.py:3805
+#: flatcamGUI/PreferencesUI.py:2760 flatcamGUI/PreferencesUI.py:3933
+#: flatcamGUI/PreferencesUI.py:4083
msgid "Circular Direction"
msgstr "Dirección circular"
-#: flatcamGUI/PreferencesUI.py:2580 flatcamGUI/PreferencesUI.py:3657
-#: flatcamGUI/PreferencesUI.py:3807
+#: flatcamGUI/PreferencesUI.py:2762 flatcamGUI/PreferencesUI.py:3935
+#: flatcamGUI/PreferencesUI.py:4085
msgid ""
"Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise."
@@ -9953,48 +10374,48 @@ msgstr ""
"Dirección para matriz circular.\n"
"Puede ser CW = en sentido horario o CCW = en sentido antihorario."
-#: flatcamGUI/PreferencesUI.py:2591 flatcamGUI/PreferencesUI.py:3668
-#: flatcamGUI/PreferencesUI.py:3818
+#: flatcamGUI/PreferencesUI.py:2773 flatcamGUI/PreferencesUI.py:3946
+#: flatcamGUI/PreferencesUI.py:4096
msgid "Circular Angle"
msgstr "Ángulo circular"
-#: flatcamGUI/PreferencesUI.py:2610
+#: flatcamGUI/PreferencesUI.py:2792
msgid "Distance at which to buffer the Gerber element."
msgstr "Distancia a la que buffer el elemento Gerber."
-#: flatcamGUI/PreferencesUI.py:2619
+#: flatcamGUI/PreferencesUI.py:2801
msgid "Scale Tool"
msgstr "Herramienta de escala"
-#: flatcamGUI/PreferencesUI.py:2625
+#: flatcamGUI/PreferencesUI.py:2807
msgid "Factor to scale the Gerber element."
msgstr "Factoriza para escalar el elemento Gerber."
-#: flatcamGUI/PreferencesUI.py:2638
+#: flatcamGUI/PreferencesUI.py:2820
msgid "Threshold low"
msgstr "Umbral bajo"
-#: flatcamGUI/PreferencesUI.py:2640
+#: flatcamGUI/PreferencesUI.py:2822
msgid "Threshold value under which the apertures are not marked."
msgstr "Valor de umbral por debajo del cual las aberturas no están marcadas."
-#: flatcamGUI/PreferencesUI.py:2650
+#: flatcamGUI/PreferencesUI.py:2832
msgid "Threshold high"
msgstr "Umbral alto"
-#: flatcamGUI/PreferencesUI.py:2652
+#: flatcamGUI/PreferencesUI.py:2834
msgid "Threshold value over which the apertures are not marked."
msgstr "Valor umbral sobre el cual las aberturas no están marcadas."
-#: flatcamGUI/PreferencesUI.py:2670
+#: flatcamGUI/PreferencesUI.py:2852
msgid "Excellon General"
msgstr "Excellon General"
-#: flatcamGUI/PreferencesUI.py:2703
+#: flatcamGUI/PreferencesUI.py:2885
msgid "Excellon Format"
msgstr "Formato Excellon"
-#: flatcamGUI/PreferencesUI.py:2705
+#: flatcamGUI/PreferencesUI.py:2887
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -10036,12 +10457,12 @@ msgstr ""
"Sprint Layout 2: 4 PULGADAS LZ\n"
"KiCAD 3: 5 PULGADAS TZ"
-#: flatcamGUI/PreferencesUI.py:2729
+#: flatcamGUI/PreferencesUI.py:2911
msgid "Default values for INCH are 2:4"
msgstr "Los valores predeterminados para INCH son 2:4"
-#: flatcamGUI/PreferencesUI.py:2736 flatcamGUI/PreferencesUI.py:2765
-#: flatcamGUI/PreferencesUI.py:3445
+#: flatcamGUI/PreferencesUI.py:2918 flatcamGUI/PreferencesUI.py:2947
+#: flatcamGUI/PreferencesUI.py:3723
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Excellon coordinates."
@@ -10049,8 +10470,8 @@ msgstr ""
"Estos números significan el número de dígitos en\n"
"Coordina toda la parte de Excellon."
-#: flatcamGUI/PreferencesUI.py:2749 flatcamGUI/PreferencesUI.py:2778
-#: flatcamGUI/PreferencesUI.py:3458
+#: flatcamGUI/PreferencesUI.py:2931 flatcamGUI/PreferencesUI.py:2960
+#: flatcamGUI/PreferencesUI.py:3736
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Excellon coordinates."
@@ -10058,15 +10479,15 @@ msgstr ""
"Estos números significan el número de dígitos en\n"
"La parte decimal de las coordenadas de Excellon."
-#: flatcamGUI/PreferencesUI.py:2757
+#: flatcamGUI/PreferencesUI.py:2939
msgid "METRIC"
msgstr "MÉTRICO"
-#: flatcamGUI/PreferencesUI.py:2758
+#: flatcamGUI/PreferencesUI.py:2940
msgid "Default values for METRIC are 3:3"
msgstr "Los valores predeterminados para Métrica son 3: 3"
-#: flatcamGUI/PreferencesUI.py:2789
+#: flatcamGUI/PreferencesUI.py:2971
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10086,7 +10507,7 @@ msgstr ""
"Esto se usa cuando no hay información\n"
"almacenado en el archivo Excellon."
-#: flatcamGUI/PreferencesUI.py:2807
+#: flatcamGUI/PreferencesUI.py:2989
msgid ""
"This sets the default units of Excellon files.\n"
"If it is not detected in the parsed file the value here\n"
@@ -10098,7 +10519,7 @@ msgstr ""
"serán utilizados. Algunos archivos de Excellon no tienen un encabezado\n"
"por lo tanto este parámetro será utilizado."
-#: flatcamGUI/PreferencesUI.py:2817
+#: flatcamGUI/PreferencesUI.py:2999
msgid ""
"This sets the units of Excellon files.\n"
"Some Excellon files don't have an header\n"
@@ -10108,19 +10529,19 @@ msgstr ""
"Algunos archivos de Excellon no tienen un encabezado\n"
"por lo tanto este parámetro será utilizado."
-#: flatcamGUI/PreferencesUI.py:2825
+#: flatcamGUI/PreferencesUI.py:3007
msgid "Update Export settings"
msgstr "Actualizar configuración de exportación"
-#: flatcamGUI/PreferencesUI.py:2842
+#: flatcamGUI/PreferencesUI.py:3024
msgid "Excellon Optimization"
msgstr "Optimización Excellon"
-#: flatcamGUI/PreferencesUI.py:2845
+#: flatcamGUI/PreferencesUI.py:3027
msgid "Algorithm:"
msgstr "Algoritmo:"
-#: flatcamGUI/PreferencesUI.py:2847 flatcamGUI/PreferencesUI.py:2863
+#: flatcamGUI/PreferencesUI.py:3029 flatcamGUI/PreferencesUI.py:3045
msgid ""
"This sets the optimization type for the Excellon drill path.\n"
"If <> is checked then Google OR-Tools algorithm with\n"
@@ -10146,20 +10567,20 @@ msgstr ""
"utiliza\n"
"Algoritmo de vendedor ambulante para la optimización de rutas."
-#: flatcamGUI/PreferencesUI.py:2858
+#: flatcamGUI/PreferencesUI.py:3040
msgid "MetaHeuristic"
msgstr "MetaHeuristic"
-#: flatcamGUI/PreferencesUI.py:2860
+#: flatcamGUI/PreferencesUI.py:3042
msgid "TSA"
msgstr "TSA"
-#: flatcamGUI/PreferencesUI.py:2877 flatcamGUI/PreferencesUI.py:3192
-#: flatcamGUI/PreferencesUI.py:4138
+#: flatcamGUI/PreferencesUI.py:3059 flatcamGUI/PreferencesUI.py:3463
+#: flatcamGUI/PreferencesUI.py:4430
msgid "Duration"
msgstr "Duración"
-#: flatcamGUI/PreferencesUI.py:2880
+#: flatcamGUI/PreferencesUI.py:3062
msgid ""
"When OR-Tools Metaheuristic (MH) is enabled there is a\n"
"maximum threshold for how much time is spent doing the\n"
@@ -10171,15 +10592,19 @@ msgstr ""
"Optimización del camino. Esta duración máxima se establece aquí.\n"
"En segundos."
-#: flatcamGUI/PreferencesUI.py:2899
+#: flatcamGUI/PreferencesUI.py:3081
msgid "Excellon Object Color"
msgstr "Color del objeto Excellon"
-#: flatcamGUI/PreferencesUI.py:3065
+#: flatcamGUI/PreferencesUI.py:3247
msgid "Excellon Options"
msgstr "Excellon Opciones"
-#: flatcamGUI/PreferencesUI.py:3071
+#: flatcamGUI/PreferencesUI.py:3251 flatcamGUI/PreferencesUI.py:4227
+msgid "Create CNC Job"
+msgstr "Crear trabajo CNC"
+
+#: flatcamGUI/PreferencesUI.py:3253
msgid ""
"Parameters used to create a CNC Job object\n"
"for this drill object."
@@ -10187,11 +10612,27 @@ msgstr ""
"Parámetros utilizados para crear un objeto de trabajo CNC\n"
"para este objeto taladro."
-#: flatcamGUI/PreferencesUI.py:3185 flatcamGUI/PreferencesUI.py:4133
+#: flatcamGUI/PreferencesUI.py:3370 flatcamGUI/PreferencesUI.py:4314
+msgid "Tool change"
+msgstr "Cambio de herram"
+
+#: flatcamGUI/PreferencesUI.py:3454 flatcamGUI/PreferencesUI.py:4425
msgid "Enable Dwell"
msgstr "Habilitar Permanencia"
-#: flatcamGUI/PreferencesUI.py:3217
+#: flatcamGUI/PreferencesUI.py:3477
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output."
+msgstr ""
+"El archivo JSON del postprocesador que dicta\n"
+"Salida de Gcode."
+
+#: flatcamGUI/PreferencesUI.py:3488
+msgid "Gcode"
+msgstr "Gcode"
+
+#: flatcamGUI/PreferencesUI.py:3490
msgid ""
"Choose what to use for GCode generation:\n"
"'Drills', 'Slots' or 'Both'.\n"
@@ -10203,15 +10644,35 @@ msgstr ""
"Al elegir 'Ranuras' o 'Ambos', las ranuras serán\n"
"convertido en taladros."
-#: flatcamGUI/PreferencesUI.py:3235
+#: flatcamGUI/PreferencesUI.py:3506
+msgid "Mill Holes"
+msgstr "Agujeros de molino"
+
+#: flatcamGUI/PreferencesUI.py:3508
msgid "Create Geometry for milling holes."
msgstr "Crear geometría para fresar agujeros."
-#: flatcamGUI/PreferencesUI.py:3271
+#: flatcamGUI/PreferencesUI.py:3512
+msgid "Drill Tool dia"
+msgstr "Diá de la herra. de Perfor"
+
+#: flatcamGUI/PreferencesUI.py:3523
+msgid "Slot Tool dia"
+msgstr "Diá. de la herra. de ranura"
+
+#: flatcamGUI/PreferencesUI.py:3525
+msgid ""
+"Diameter of the cutting tool\n"
+"when milling slots."
+msgstr ""
+"Diámetro de la herramienta de corte\n"
+"Al fresar ranuras."
+
+#: flatcamGUI/PreferencesUI.py:3544
msgid "Excellon Adv. Options"
msgstr "Excellon Adv. Opciones"
-#: flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:3553
msgid ""
"A list of Excellon advanced parameters.\n"
"Those parameters are available only for\n"
@@ -10221,19 +10682,19 @@ msgstr ""
"Esos parámetros están disponibles sólo para\n"
"Aplicación avanzada Nivel."
-#: flatcamGUI/PreferencesUI.py:3301
+#: flatcamGUI/PreferencesUI.py:3576
msgid "Toolchange X,Y"
msgstr "Cambio de herra X, Y"
-#: flatcamGUI/PreferencesUI.py:3303 flatcamGUI/PreferencesUI.py:4193
+#: flatcamGUI/PreferencesUI.py:3578 flatcamGUI/PreferencesUI.py:4486
msgid "Toolchange X,Y position."
msgstr "Cambio de herra X, posición Y."
-#: flatcamGUI/PreferencesUI.py:3360 flatcamGUI/PreferencesUI.py:4280
+#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:4573
msgid "Spindle direction"
msgstr "Dirección del motor"
-#: flatcamGUI/PreferencesUI.py:3362 flatcamGUI/PreferencesUI.py:4282
+#: flatcamGUI/PreferencesUI.py:3640 flatcamGUI/PreferencesUI.py:4575
msgid ""
"This sets the direction that the spindle is rotating.\n"
"It can be either:\n"
@@ -10245,11 +10706,11 @@ msgstr ""
"- CW = en el sentido de las agujas del reloj o\n"
"- CCW = a la izquierda"
-#: flatcamGUI/PreferencesUI.py:3373 flatcamGUI/PreferencesUI.py:4294
+#: flatcamGUI/PreferencesUI.py:3651 flatcamGUI/PreferencesUI.py:4587
msgid "Fast Plunge"
msgstr "Salto rápido"
-#: flatcamGUI/PreferencesUI.py:3375 flatcamGUI/PreferencesUI.py:4296
+#: flatcamGUI/PreferencesUI.py:3653 flatcamGUI/PreferencesUI.py:4589
msgid ""
"By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n"
@@ -10261,11 +10722,11 @@ msgstr ""
"es decir, la velocidad más rápida disponible.\n"
"ADVERTENCIA: el movimiento se realiza en Toolchange X, Y coords."
-#: flatcamGUI/PreferencesUI.py:3382
+#: flatcamGUI/PreferencesUI.py:3660
msgid "Fast Retract"
msgstr "Retracción rápida"
-#: flatcamGUI/PreferencesUI.py:3384
+#: flatcamGUI/PreferencesUI.py:3662
msgid ""
"Exit hole strategy.\n"
" - When uncheked, while exiting the drilled hole the drill bit\n"
@@ -10283,11 +10744,11 @@ msgstr ""
"Z_move\n"
"(altura de recorrido) se realiza lo más rápido posible (G0) en un movimiento."
-#: flatcamGUI/PreferencesUI.py:3402
+#: flatcamGUI/PreferencesUI.py:3680
msgid "Excellon Export"
msgstr "Excellon Exportar"
-#: flatcamGUI/PreferencesUI.py:3408
+#: flatcamGUI/PreferencesUI.py:3686
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Excellon menu entry."
@@ -10296,11 +10757,11 @@ msgstr ""
"cuando se utiliza la entrada de menú Archivo -> Exportar -> Exportar "
"Excellon."
-#: flatcamGUI/PreferencesUI.py:3419 flatcamGUI/PreferencesUI.py:3425
+#: flatcamGUI/PreferencesUI.py:3697 flatcamGUI/PreferencesUI.py:3703
msgid "The units used in the Excellon file."
msgstr "Las unidades utilizadas en el archivo Excellon."
-#: flatcamGUI/PreferencesUI.py:3433
+#: flatcamGUI/PreferencesUI.py:3711
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -10312,11 +10773,11 @@ msgstr ""
"Aquí configuramos el formato utilizado cuando el proporcionado\n"
"Las coordenadas no están usando el punto."
-#: flatcamGUI/PreferencesUI.py:3467
+#: flatcamGUI/PreferencesUI.py:3745
msgid "Format"
msgstr "Formato"
-#: flatcamGUI/PreferencesUI.py:3469 flatcamGUI/PreferencesUI.py:3479
+#: flatcamGUI/PreferencesUI.py:3747 flatcamGUI/PreferencesUI.py:3757
msgid ""
"Select the kind of coordinates format used.\n"
"Coordinates can be saved with decimal point or without.\n"
@@ -10332,15 +10793,15 @@ msgstr ""
"También deberá especificarse si LZ = ceros iniciales se mantienen\n"
"o TZ = ceros finales se mantienen."
-#: flatcamGUI/PreferencesUI.py:3476
+#: flatcamGUI/PreferencesUI.py:3754
msgid "Decimal"
msgstr "Decimal"
-#: flatcamGUI/PreferencesUI.py:3477
+#: flatcamGUI/PreferencesUI.py:3755
msgid "No-Decimal"
msgstr "Sin-Decimal"
-#: flatcamGUI/PreferencesUI.py:3493
+#: flatcamGUI/PreferencesUI.py:3771
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10354,7 +10815,7 @@ msgstr ""
"Si se comprueba TZ, se mantienen los ceros finales.\n"
"y Leading Zeros se eliminan."
-#: flatcamGUI/PreferencesUI.py:3503
+#: flatcamGUI/PreferencesUI.py:3781
msgid ""
"This sets the default type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10368,11 +10829,11 @@ msgstr ""
"Si se comprueba TZ, se mantienen los ceros finales.\n"
"y se eliminan los ceros iniciales."
-#: flatcamGUI/PreferencesUI.py:3513
+#: flatcamGUI/PreferencesUI.py:3791
msgid "Slot type"
msgstr "Tipo de ranura"
-#: flatcamGUI/PreferencesUI.py:3516 flatcamGUI/PreferencesUI.py:3526
+#: flatcamGUI/PreferencesUI.py:3794 flatcamGUI/PreferencesUI.py:3804
msgid ""
"This sets how the slots will be exported.\n"
"If ROUTED then the slots will be routed\n"
@@ -10386,19 +10847,19 @@ msgstr ""
"Si PERFORADO (G85), las ranuras se exportarán\n"
"utilizando el comando Ranura perforada (G85)."
-#: flatcamGUI/PreferencesUI.py:3523
+#: flatcamGUI/PreferencesUI.py:3801
msgid "Routed"
msgstr "Enrutado"
-#: flatcamGUI/PreferencesUI.py:3524
+#: flatcamGUI/PreferencesUI.py:3802
msgid "Drilled(G85)"
msgstr "Perforado (G85)"
-#: flatcamGUI/PreferencesUI.py:3557
+#: flatcamGUI/PreferencesUI.py:3835
msgid "A list of Excellon Editor parameters."
msgstr "Una lista de los parámetros de Excellon Editor."
-#: flatcamGUI/PreferencesUI.py:3567
+#: flatcamGUI/PreferencesUI.py:3845
msgid ""
"Set the number of selected Excellon geometry\n"
"items above which the utility geometry\n"
@@ -10412,19 +10873,20 @@ msgstr ""
"Aumenta el rendimiento al mover un\n"
"Gran cantidad de elementos geométricos."
-#: flatcamGUI/PreferencesUI.py:3580 flatcamGUI/PreferencesUI.py:5100
-msgid "New Tool Dia"
-msgstr "Nueva Herra. Dia"
+#: flatcamGUI/PreferencesUI.py:3858 flatcamGUI/PreferencesUI.py:5396
+#: flatcamGUI/PreferencesUI.py:5962
+msgid "New Dia"
+msgstr "Nuevo dia"
-#: flatcamGUI/PreferencesUI.py:3605
+#: flatcamGUI/PreferencesUI.py:3883
msgid "Linear Drill Array"
msgstr "Matriz de taladro lineal"
-#: flatcamGUI/PreferencesUI.py:3651
+#: flatcamGUI/PreferencesUI.py:3929
msgid "Circular Drill Array"
msgstr "Matriz de Taladro Circ"
-#: flatcamGUI/PreferencesUI.py:3721
+#: flatcamGUI/PreferencesUI.py:3999
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -10436,19 +10898,19 @@ msgstr ""
"El valor mínimo es: -359.99 grados.\n"
"El valor máximo es: 360.00 grados."
-#: flatcamGUI/PreferencesUI.py:3740
+#: flatcamGUI/PreferencesUI.py:4018
msgid "Linear Slot Array"
msgstr "Matriz Lin de Ranuras"
-#: flatcamGUI/PreferencesUI.py:3801
+#: flatcamGUI/PreferencesUI.py:4079
msgid "Circular Slot Array"
msgstr "Matriz Circ de Ranura"
-#: flatcamGUI/PreferencesUI.py:3839
+#: flatcamGUI/PreferencesUI.py:4117
msgid "Geometry General"
msgstr "Geometría General"
-#: flatcamGUI/PreferencesUI.py:3861
+#: flatcamGUI/PreferencesUI.py:4139
msgid ""
"The number of circle steps for Geometry \n"
"circle and arc shapes linear approximation."
@@ -10456,15 +10918,20 @@ msgstr ""
"El número de pasos de círculo para Geometría\n"
"Círculo y arcos de aproximación lineal."
-#: flatcamGUI/PreferencesUI.py:3890
+#: flatcamGUI/PreferencesUI.py:4153 flatcamGUI/PreferencesUI.py:5320
+#: flatcamGUI/PreferencesUI.py:5887 flatcamGUI/PreferencesUI.py:6953
+msgid "Tools Dia"
+msgstr "Diá. de Herram"
+
+#: flatcamGUI/PreferencesUI.py:4170
msgid "Geometry Object Color"
msgstr "Color del objeto de Geometría"
-#: flatcamGUI/PreferencesUI.py:3941
+#: flatcamGUI/PreferencesUI.py:4221
msgid "Geometry Options"
msgstr "Opc. de geometría"
-#: flatcamGUI/PreferencesUI.py:3949
+#: flatcamGUI/PreferencesUI.py:4229
msgid ""
"Create a CNC Job object\n"
"tracing the contours of this\n"
@@ -10474,11 +10941,11 @@ msgstr ""
"trazando los contornos de este\n"
"Objeto de geometría."
-#: flatcamGUI/PreferencesUI.py:3993
+#: flatcamGUI/PreferencesUI.py:4273
msgid "Depth/Pass"
msgstr "Profund. / Pase"
-#: flatcamGUI/PreferencesUI.py:3995
+#: flatcamGUI/PreferencesUI.py:4275
msgid ""
"The depth to cut on each pass,\n"
"when multidepth is enabled.\n"
@@ -10492,11 +10959,11 @@ msgstr ""
"Es una fracción de la profundidad.\n"
"que tiene valor negativo."
-#: flatcamGUI/PreferencesUI.py:4173
+#: flatcamGUI/PreferencesUI.py:4466
msgid "Geometry Adv. Options"
msgstr "Geometría Adv. Opciones"
-#: flatcamGUI/PreferencesUI.py:4181
+#: flatcamGUI/PreferencesUI.py:4474
msgid ""
"A list of Geometry advanced parameters.\n"
"Those parameters are available only for\n"
@@ -10506,13 +10973,13 @@ msgstr ""
"Esos parámetros están disponibles sólo para\n"
"Aplicación avanzada Nivel."
-#: flatcamGUI/PreferencesUI.py:4191 flatcamGUI/PreferencesUI.py:6539
-#: flatcamGUI/PreferencesUI.py:7586 flatcamTools/ToolCalibration.py:125
-#: flatcamTools/ToolSolderPaste.py:239
+#: flatcamGUI/PreferencesUI.py:4484 flatcamGUI/PreferencesUI.py:7045
+#: flatcamGUI/PreferencesUI.py:8092 flatcamTools/ToolCalibration.py:125
+#: flatcamTools/ToolSolderPaste.py:241
msgid "Toolchange X-Y"
msgstr "Cambio de herra X, Y"
-#: flatcamGUI/PreferencesUI.py:4202
+#: flatcamGUI/PreferencesUI.py:4495
msgid ""
"Height of the tool just after starting the work.\n"
"Delete the value if you don't need this feature."
@@ -10520,11 +10987,11 @@ msgstr ""
"Altura de la herramienta justo después de comenzar el trabajo.\n"
"Elimine el valor si no necesita esta característica."
-#: flatcamGUI/PreferencesUI.py:4304
+#: flatcamGUI/PreferencesUI.py:4597
msgid "Segment X size"
msgstr "Tamaño del Seg. X"
-#: flatcamGUI/PreferencesUI.py:4306
+#: flatcamGUI/PreferencesUI.py:4599
msgid ""
"The size of the trace segment on the X axis.\n"
"Useful for auto-leveling.\n"
@@ -10534,11 +11001,11 @@ msgstr ""
"Útil para la autonivelación.\n"
"Un valor de 0 significa que no hay segmentación en el eje X."
-#: flatcamGUI/PreferencesUI.py:4320
+#: flatcamGUI/PreferencesUI.py:4613
msgid "Segment Y size"
msgstr "Tamaño del Seg. Y"
-#: flatcamGUI/PreferencesUI.py:4322
+#: flatcamGUI/PreferencesUI.py:4615
msgid ""
"The size of the trace segment on the Y axis.\n"
"Useful for auto-leveling.\n"
@@ -10548,15 +11015,11 @@ msgstr ""
"Útil para la autonivelación.\n"
"Un valor de 0 significa que no hay segmentación en el eje Y."
-#: flatcamGUI/PreferencesUI.py:4343
-msgid "Geometry Editor"
-msgstr "Editor de geometría"
-
-#: flatcamGUI/PreferencesUI.py:4349
+#: flatcamGUI/PreferencesUI.py:4642
msgid "A list of Geometry Editor parameters."
msgstr "Una lista de parámetros del editor de geometría."
-#: flatcamGUI/PreferencesUI.py:4359 flatcamGUI/PreferencesUI.py:7111
+#: flatcamGUI/PreferencesUI.py:4652 flatcamGUI/PreferencesUI.py:7617
msgid ""
"Set the number of selected geometry\n"
"items above which the utility geometry\n"
@@ -10570,11 +11033,11 @@ msgstr ""
"Aumenta el rendimiento al mover un\n"
"Gran cantidad de elementos geométricos."
-#: flatcamGUI/PreferencesUI.py:4391
+#: flatcamGUI/PreferencesUI.py:4684
msgid "CNC Job General"
msgstr "CNC trabajo general"
-#: flatcamGUI/PreferencesUI.py:4444
+#: flatcamGUI/PreferencesUI.py:4737
msgid ""
"The number of circle steps for GCode \n"
"circle and arc shapes linear approximation."
@@ -10582,11 +11045,11 @@ msgstr ""
"El número de pasos de círculo para GCode \n"
"Círculo y arcos de aproximación lineal."
-#: flatcamGUI/PreferencesUI.py:4453
+#: flatcamGUI/PreferencesUI.py:4746
msgid "Travel dia"
msgstr "Dia de Viaje"
-#: flatcamGUI/PreferencesUI.py:4455
+#: flatcamGUI/PreferencesUI.py:4748
msgid ""
"The width of the travel lines to be\n"
"rendered in the plot."
@@ -10594,15 +11057,15 @@ msgstr ""
"El ancho de las líneas de viaje a ser\n"
"prestados en la trama."
-#: flatcamGUI/PreferencesUI.py:4468
+#: flatcamGUI/PreferencesUI.py:4761
msgid "G-code Decimals"
msgstr "Decimales del código G"
-#: flatcamGUI/PreferencesUI.py:4471 flatcamTools/ToolFiducials.py:74
+#: flatcamGUI/PreferencesUI.py:4764 flatcamTools/ToolFiducials.py:74
msgid "Coordinates"
msgstr "Coordenadas"
-#: flatcamGUI/PreferencesUI.py:4473
+#: flatcamGUI/PreferencesUI.py:4766
msgid ""
"The number of decimals to be used for \n"
"the X, Y, Z coordinates in CNC code (GCODE, etc.)"
@@ -10610,11 +11073,11 @@ msgstr ""
"El número de decimales a utilizar para\n"
"Las coordenadas X, Y, Z en código CNC (GCODE, etc.)"
-#: flatcamGUI/PreferencesUI.py:4484 flatcamTools/ToolProperties.py:492
+#: flatcamGUI/PreferencesUI.py:4777 flatcamTools/ToolProperties.py:519
msgid "Feedrate"
msgstr "Avance"
-#: flatcamGUI/PreferencesUI.py:4486
+#: flatcamGUI/PreferencesUI.py:4779
msgid ""
"The number of decimals to be used for \n"
"the Feedrate parameter in CNC code (GCODE, etc.)"
@@ -10622,11 +11085,11 @@ msgstr ""
"El número de decimales a utilizar para\n"
"El parámetro de avance en código CNC (GCODE, etc.)"
-#: flatcamGUI/PreferencesUI.py:4497
+#: flatcamGUI/PreferencesUI.py:4790
msgid "Coordinates type"
msgstr "Tipo de coordenadas"
-#: flatcamGUI/PreferencesUI.py:4499
+#: flatcamGUI/PreferencesUI.py:4792
msgid ""
"The type of coordinates to be used in Gcode.\n"
"Can be:\n"
@@ -10638,19 +11101,19 @@ msgstr ""
"- G90 absoluto -> la referencia es el origen x = 0, y = 0\n"
"- Incremental G91 -> la referencia es la posición anterior"
-#: flatcamGUI/PreferencesUI.py:4505
+#: flatcamGUI/PreferencesUI.py:4798
msgid "Absolute G90"
msgstr "Absoluto G90"
-#: flatcamGUI/PreferencesUI.py:4506
+#: flatcamGUI/PreferencesUI.py:4799
msgid "Incremental G91"
msgstr "G91 incremental"
-#: flatcamGUI/PreferencesUI.py:4516
+#: flatcamGUI/PreferencesUI.py:4809
msgid "Force Windows style line-ending"
msgstr "Forzar el final de línea al estilo de Windows"
-#: flatcamGUI/PreferencesUI.py:4518
+#: flatcamGUI/PreferencesUI.py:4811
msgid ""
"When checked will force a Windows style line-ending\n"
"(\\r\\n) on non-Windows OS's."
@@ -10658,35 +11121,35 @@ msgstr ""
"Cuando está marcado, forzará un final de línea de estilo Windows\n"
"(\\r \\n) en sistemas operativos que no sean de Windows."
-#: flatcamGUI/PreferencesUI.py:4530
+#: flatcamGUI/PreferencesUI.py:4823
msgid "Travel Line Color"
msgstr "Color de Línea de Viaje"
-#: flatcamGUI/PreferencesUI.py:4536
+#: flatcamGUI/PreferencesUI.py:4829
msgid "Set the travel line color for plotted objects."
msgstr "Establezca el color de la línea de viaje para los objetos trazados."
-#: flatcamGUI/PreferencesUI.py:4596
+#: flatcamGUI/PreferencesUI.py:4889
msgid "CNCJob Object Color"
msgstr "Color de objeto CNCJob"
-#: flatcamGUI/PreferencesUI.py:4602
+#: flatcamGUI/PreferencesUI.py:4895
msgid "Set the color for plotted objects."
msgstr "Establecer el color para los objetos trazados."
-#: flatcamGUI/PreferencesUI.py:4762
+#: flatcamGUI/PreferencesUI.py:5055
msgid "CNC Job Options"
msgstr "Opciones de trabajo CNC"
-#: flatcamGUI/PreferencesUI.py:4766
+#: flatcamGUI/PreferencesUI.py:5059
msgid "Export G-Code"
msgstr "Exportar G-Code"
-#: flatcamGUI/PreferencesUI.py:4782
+#: flatcamGUI/PreferencesUI.py:5075
msgid "Prepend to G-Code"
msgstr "Prefijo al código G"
-#: flatcamGUI/PreferencesUI.py:4791
+#: flatcamGUI/PreferencesUI.py:5084
msgid ""
"Type here any G-Code commands you would like to add at the beginning of the "
"G-Code file."
@@ -10694,11 +11157,11 @@ msgstr ""
"Escriba aquí los comandos de G-Code que le gustaría agregar al comienzo del "
"archivo de G-Code."
-#: flatcamGUI/PreferencesUI.py:4798
+#: flatcamGUI/PreferencesUI.py:5091
msgid "Append to G-Code"
msgstr "Adjuntar al código G"
-#: flatcamGUI/PreferencesUI.py:4808
+#: flatcamGUI/PreferencesUI.py:5101
msgid ""
"Type here any G-Code commands you would like to append to the generated "
"file.\n"
@@ -10708,11 +11171,11 @@ msgstr ""
"generado.\n"
"Por ejemplo: M2 (Fin del programa)"
-#: flatcamGUI/PreferencesUI.py:4824
+#: flatcamGUI/PreferencesUI.py:5117
msgid "CNC Job Adv. Options"
msgstr "CNCJob Adv. Opciones"
-#: flatcamGUI/PreferencesUI.py:4861
+#: flatcamGUI/PreferencesUI.py:5154
msgid ""
"Type here any G-Code commands you would like to be executed when Toolchange "
"event is encountered.\n"
@@ -10728,47 +11191,48 @@ msgstr ""
"ADVERTENCIA: solo se puede usar con un archivo de preprocesador que tenga "
"'toolchange_custom' en su nombre."
-#: flatcamGUI/PreferencesUI.py:4916
+#: flatcamGUI/PreferencesUI.py:5209
msgid "Z depth for the cut"
msgstr "Profundidad Z para el corte"
-#: flatcamGUI/PreferencesUI.py:4917
+#: flatcamGUI/PreferencesUI.py:5210
msgid "Z height for travel"
msgstr "Altura Z para viajar"
-#: flatcamGUI/PreferencesUI.py:4923
+#: flatcamGUI/PreferencesUI.py:5216
msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM"
msgstr ""
"dwelltime = tiempo de espera para permitir que el husillo alcance su RPM "
"establecido"
-#: flatcamGUI/PreferencesUI.py:4942
+#: flatcamGUI/PreferencesUI.py:5235
msgid "Annotation Size"
msgstr "Tamaño de la anotación"
-#: flatcamGUI/PreferencesUI.py:4944
+#: flatcamGUI/PreferencesUI.py:5237
msgid "The font size of the annotation text. In pixels."
msgstr "El tamaño de fuente del texto de anotación. En píxeles."
-#: flatcamGUI/PreferencesUI.py:4954
+#: flatcamGUI/PreferencesUI.py:5247
msgid "Annotation Color"
msgstr "Color de anotación"
-#: flatcamGUI/PreferencesUI.py:4956
+#: flatcamGUI/PreferencesUI.py:5249
msgid "Set the font color for the annotation texts."
msgstr "Establecer el color de fuente para los textos de anotación."
-#: flatcamGUI/PreferencesUI.py:5013
+#: flatcamGUI/PreferencesUI.py:5306
msgid "NCC Tool Options"
msgstr "Opc. de herra. NCC"
-#: flatcamGUI/PreferencesUI.py:5027 flatcamGUI/PreferencesUI.py:6449
-msgid "Tools dia"
-msgstr "Herra. dia"
+#: flatcamGUI/PreferencesUI.py:5328 flatcamGUI/PreferencesUI.py:5896
+msgid "Comma separated values"
+msgstr "Valores Separados por Comas"
-#: flatcamGUI/PreferencesUI.py:5038 flatcamGUI/PreferencesUI.py:5046
-#: flatcamTools/ToolNonCopperClear.py:215
-#: flatcamTools/ToolNonCopperClear.py:223
+#: flatcamGUI/PreferencesUI.py:5334 flatcamGUI/PreferencesUI.py:5342
+#: flatcamGUI/PreferencesUI.py:5903 flatcamTools/ToolNCC.py:215
+#: flatcamTools/ToolNCC.py:223 flatcamTools/ToolPaint.py:198
+#: flatcamTools/ToolPaint.py:206
msgid ""
"Default tool type:\n"
"- 'V-shape'\n"
@@ -10778,13 +11242,15 @@ msgstr ""
"- 'Forma V'\n"
"- circular"
-#: flatcamGUI/PreferencesUI.py:5043 flatcamTools/ToolNonCopperClear.py:220
+#: flatcamGUI/PreferencesUI.py:5339 flatcamGUI/PreferencesUI.py:5908
+#: flatcamTools/ToolNCC.py:220 flatcamTools/ToolPaint.py:203
msgid "V-shape"
msgstr "Forma V"
-#: flatcamGUI/PreferencesUI.py:5083 flatcamGUI/PreferencesUI.py:5092
-#: flatcamTools/ToolNonCopperClear.py:256
-#: flatcamTools/ToolNonCopperClear.py:264
+#: flatcamGUI/PreferencesUI.py:5379 flatcamGUI/PreferencesUI.py:5388
+#: flatcamGUI/PreferencesUI.py:5946 flatcamGUI/PreferencesUI.py:5955
+#: flatcamTools/ToolNCC.py:262 flatcamTools/ToolNCC.py:271
+#: flatcamTools/ToolPaint.py:245 flatcamTools/ToolPaint.py:254
msgid ""
"Depth of cut into material. Negative value.\n"
"In FlatCAM units."
@@ -10792,35 +11258,26 @@ msgstr ""
"Profundidad de corte en el material. Valor negativo.\n"
"En unidades FlatCAM."
-#: flatcamGUI/PreferencesUI.py:5102
-msgid "The new tool diameter (cut width) to add in the tool table."
-msgstr ""
-"El nuevo diámetro de herramienta (ancho de corte) para agregar en la tabla "
-"de herramientas."
-
-#: flatcamGUI/PreferencesUI.py:5114 flatcamGUI/PreferencesUI.py:5122
-#: flatcamTools/ToolNonCopperClear.py:164
-#: flatcamTools/ToolNonCopperClear.py:172
+#: flatcamGUI/PreferencesUI.py:5398 flatcamGUI/PreferencesUI.py:5964
+#: flatcamTools/ToolNCC.py:280 flatcamTools/ToolPaint.py:263
msgid ""
-"Milling type when the selected tool is of type: 'iso_op':\n"
-"- climb / best for precision milling and to reduce tool usage\n"
-"- conventional / useful when there is no backlash compensation"
+"Diameter for the new tool to add in the Tool Table.\n"
+"If the tool is V-shape type then this value is automatically\n"
+"calculated from the other parameters."
msgstr ""
-"Tipo de fresado cuando la herramienta seleccionada es de tipo: 'iso_op':\n"
-"- ascenso / mejor para fresado de precisión y para reducir el uso de "
-"herramientas\n"
-"- convencional / útil cuando no hay compensación de reacción"
+"Diámetro de la nueva herramienta para agregar en la Tabla de herramientas.\n"
+"Si la herramienta es de tipo V, este valor es automáticamente\n"
+"calculado a partir de los otros parámetros."
-#: flatcamGUI/PreferencesUI.py:5131 flatcamGUI/PreferencesUI.py:5546
-#: flatcamTools/ToolNonCopperClear.py:181 flatcamTools/ToolPaint.py:153
+#: flatcamGUI/PreferencesUI.py:5435 flatcamGUI/PreferencesUI.py:5981
+#: flatcamTools/ToolNCC.py:174 flatcamTools/ToolPaint.py:158
msgid "Tool order"
msgstr "Orden de la Herram"
-#: flatcamGUI/PreferencesUI.py:5132 flatcamGUI/PreferencesUI.py:5142
-#: flatcamGUI/PreferencesUI.py:5547 flatcamGUI/PreferencesUI.py:5557
-#: flatcamTools/ToolNonCopperClear.py:182
-#: flatcamTools/ToolNonCopperClear.py:192 flatcamTools/ToolPaint.py:154
-#: flatcamTools/ToolPaint.py:164
+#: flatcamGUI/PreferencesUI.py:5436 flatcamGUI/PreferencesUI.py:5446
+#: flatcamGUI/PreferencesUI.py:5982 flatcamTools/ToolNCC.py:175
+#: flatcamTools/ToolNCC.py:185 flatcamTools/ToolPaint.py:159
+#: flatcamTools/ToolPaint.py:169
msgid ""
"This set the way that the tools in the tools table are used.\n"
"'No' --> means that the used order is the one in the tool table\n"
@@ -10841,69 +11298,39 @@ msgstr ""
"orden\n"
"en reversa y deshabilitar este control."
-#: flatcamGUI/PreferencesUI.py:5140 flatcamGUI/PreferencesUI.py:5555
-#: flatcamTools/ToolNonCopperClear.py:190 flatcamTools/ToolPaint.py:162
+#: flatcamGUI/PreferencesUI.py:5444 flatcamGUI/PreferencesUI.py:5990
+#: flatcamTools/ToolNCC.py:183 flatcamTools/ToolPaint.py:167
msgid "Forward"
msgstr "Adelante"
-#: flatcamGUI/PreferencesUI.py:5141 flatcamGUI/PreferencesUI.py:5556
-#: flatcamTools/ToolNonCopperClear.py:191 flatcamTools/ToolPaint.py:163
+#: flatcamGUI/PreferencesUI.py:5445 flatcamGUI/PreferencesUI.py:5991
+#: flatcamTools/ToolNCC.py:184 flatcamTools/ToolPaint.py:168
msgid "Reverse"
msgstr "Atras"
-#: flatcamGUI/PreferencesUI.py:5154 flatcamTools/ToolNonCopperClear.py:321
+#: flatcamGUI/PreferencesUI.py:5545
+msgid "Offset value"
+msgstr "Valor de Comp"
+
+#: flatcamGUI/PreferencesUI.py:5547
msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be cleared are still \n"
-"not cleared.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0.0 and 9999.9 FlatCAM units."
msgstr ""
-"Cuánta (fracción) del ancho de la herramienta se superponen con cada pasada "
-"de herramienta\n"
-"Ajuste el valor comenzando con valores más bajos\n"
-"y aumentándolo si las áreas que deben ser despejadas son todavía\n"
-"no borrado.\n"
-"Valores más bajos = procesamiento más rápido, ejecución más rápida en PCB.\n"
-"Valores más altos = procesamiento lento y ejecución lenta en CNC\n"
-"debido a demasiados caminos."
+"Si se usa, agregará un desplazamiento a las características de cobre.\n"
+"El claro de cobre terminará a cierta distancia.\n"
+"de las características de cobre.\n"
+"El valor puede estar entre 0 y 9999.9 unidades FlatCAM."
-#: flatcamGUI/PreferencesUI.py:5173 flatcamGUI/PreferencesUI.py:7177
-#: flatcamGUI/PreferencesUI.py:7419 flatcamGUI/PreferencesUI.py:7483
-#: flatcamTools/ToolCopperThieving.py:113 flatcamTools/ToolFiducials.py:174
-#: flatcamTools/ToolFiducials.py:237 flatcamTools/ToolNonCopperClear.py:339
-msgid "Bounding box margin."
-msgstr "Margen de cuadro delimitador."
-
-#: flatcamGUI/PreferencesUI.py:5186 flatcamGUI/PreferencesUI.py:5604
-#: flatcamTools/ToolNonCopperClear.py:350
-msgid ""
-"Algorithm for non-copper clearing:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed.
Line-based: Parallel "
-"lines."
-msgstr ""
-"Algoritmo para limpieza sin cobre:
Estándar : paso fijo hacia "
-"el interior.
basado en semillas : hacia afuera desde el origen. "
-"
basado en líneas : Líneas paralelas."
-
-#: flatcamGUI/PreferencesUI.py:5202 flatcamGUI/PreferencesUI.py:5618
-#: flatcamTools/ToolNonCopperClear.py:364 flatcamTools/ToolPaint.py:267
-msgid "Connect"
-msgstr "Conectar"
-
-#: flatcamGUI/PreferencesUI.py:5211 flatcamGUI/PreferencesUI.py:5626
-#: flatcamTools/ToolNonCopperClear.py:371 flatcamTools/ToolPaint.py:274
-msgid "Contour"
-msgstr "Contorno"
-
-#: flatcamGUI/PreferencesUI.py:5220 flatcamTools/ToolNonCopperClear.py:379
-#: flatcamTools/ToolPaint.py:281
+#: flatcamGUI/PreferencesUI.py:5567 flatcamGUI/PreferencesUI.py:6083
+#: flatcamGUI/PreferencesUI.py:6084 flatcamTools/ToolNCC.py:512
+#: flatcamTools/ToolPaint.py:442
msgid "Rest Machining"
msgstr "Mecanizado de descanso"
-#: flatcamGUI/PreferencesUI.py:5222 flatcamTools/ToolNonCopperClear.py:381
+#: flatcamGUI/PreferencesUI.py:5569 flatcamTools/ToolNCC.py:516
msgid ""
"If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
@@ -10922,82 +11349,66 @@ msgstr ""
"no más cobre para limpiar o no hay más herramientas.\n"
"Si no está marcado, use el algoritmo estándar."
-#: flatcamGUI/PreferencesUI.py:5236 flatcamTools/ToolNonCopperClear.py:395
-#: flatcamTools/ToolNonCopperClear.py:405
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7696 flatcamTools/ToolCopperThieving.py:127
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1311
+#: flatcamTools/ToolNCC.py:1642 flatcamTools/ToolNCC.py:1930
+#: flatcamTools/ToolNCC.py:1985 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:946 flatcamTools/ToolPaint.py:1447
+msgid "Area Selection"
+msgstr "Selección de área"
+
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7697 flatcamTools/ToolCopperThieving.py:128
+#: flatcamTools/ToolDblSided.py:217 flatcamTools/ToolNCC.py:535
+#: flatcamTools/ToolNCC.py:1658 flatcamTools/ToolNCC.py:1936
+#: flatcamTools/ToolNCC.py:1993 flatcamTools/ToolNCC.py:2301
+#: flatcamTools/ToolNCC.py:2581 flatcamTools/ToolNCC.py:3007
+#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:931
+#: flatcamTools/ToolPaint.py:1463 tclCommands/TclCommandCopperClear.py:192
+#: tclCommands/TclCommandPaint.py:166
+msgid "Reference Object"
+msgstr "Objeto de referencia"
+
+#: flatcamGUI/PreferencesUI.py:5592 flatcamTools/ToolNCC.py:541
msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0 and 10 FlatCAM units."
-msgstr ""
-"Si se usa, agregará un desplazamiento a las características de cobre.\n"
-"El claro de cobre terminará a cierta distancia.\n"
-"de las características de cobre.\n"
-"El valor puede estar entre 0 y 10 unidades FlatCAM."
-
-#: flatcamGUI/PreferencesUI.py:5245 flatcamTools/ToolNonCopperClear.py:403
-msgid "Offset value"
-msgstr "Valor de Comp"
-
-#: flatcamGUI/PreferencesUI.py:5247
-msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0.0 and 9999.9 FlatCAM units."
-msgstr ""
-"Si se usa, agregará un desplazamiento a las características de cobre.\n"
-"El claro de cobre terminará a cierta distancia.\n"
-"de las características de cobre.\n"
-"El valor puede estar entre 0 y 9999.9 unidades FlatCAM."
-
-#: flatcamGUI/PreferencesUI.py:5262 flatcamGUI/PreferencesUI.py:7189
-#: flatcamTools/ToolCopperThieving.py:125
-#: flatcamTools/ToolNonCopperClear.py:429
-msgid "Itself"
-msgstr "Sí mismo"
-
-#: flatcamGUI/PreferencesUI.py:5263 flatcamGUI/PreferencesUI.py:5646
-msgid "Area"
-msgstr "Zona"
-
-#: flatcamGUI/PreferencesUI.py:5264 flatcamGUI/PreferencesUI.py:5648
-msgid "Ref"
-msgstr "Ref"
-
-#: flatcamGUI/PreferencesUI.py:5267
-msgid ""
-"- 'Itself' - the non copper clearing extent\n"
-"is based on the object that is copper cleared.\n"
+"Selection of area to be processed.\n"
+"- 'Itself' - the processing extent is based on the object that is "
+"processed.\n"
" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
-"areas.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"processed.\n"
+"- 'Reference Object' - will process the area specified by another object."
msgstr ""
-"- 'Sí mismo' - la extensión de limpieza sin cobre\n"
-"se basa en el objeto que es cobre despejado.\n"
-" - 'Selección de área': haga clic con el botón izquierdo del mouse para "
-"iniciar la selección del área a pintar.\n"
-"Mantener presionada una tecla modificadora (CTRL o SHIFT) permitirá agregar "
-"múltiples áreas.\n"
-"- 'Objeto de referencia' - hará una limpieza sin cobre dentro del área\n"
-"especificado por otro objeto."
+"Selección del área a procesar.\n"
+"- 'Sí mismo': la extensión del procesamiento se basa en el objeto que se "
+"procesa.\n"
+"- 'Selección de área': haga clic con el botón izquierdo del mouse para "
+"iniciar la selección del área a procesar.\n"
+"- 'Objeto de referencia': procesará el área especificada por otro objeto."
-#: flatcamGUI/PreferencesUI.py:5279 flatcamGUI/PreferencesUI.py:5654
+#: flatcamGUI/PreferencesUI.py:5601 flatcamGUI/PreferencesUI.py:6125
+#: flatcamTools/ToolNCC.py:578 flatcamTools/ToolPaint.py:522
+msgid "Shape"
+msgstr "Forma"
+
+#: flatcamGUI/PreferencesUI.py:5603 flatcamGUI/PreferencesUI.py:6127
+#: flatcamTools/ToolNCC.py:580 flatcamTools/ToolPaint.py:524
+msgid "The kind of selection shape used for area selection."
+msgstr "El tipo de forma de selección utilizada para la selección de área."
+
+#: flatcamGUI/PreferencesUI.py:5618 flatcamGUI/PreferencesUI.py:6142
msgid "Normal"
msgstr "Normal"
-#: flatcamGUI/PreferencesUI.py:5280 flatcamGUI/PreferencesUI.py:5655
+#: flatcamGUI/PreferencesUI.py:5619 flatcamGUI/PreferencesUI.py:6143
msgid "Progressive"
msgstr "Progresivo"
-#: flatcamGUI/PreferencesUI.py:5281
+#: flatcamGUI/PreferencesUI.py:5620
msgid "NCC Plotting"
msgstr "Trazado NCC"
-#: flatcamGUI/PreferencesUI.py:5283
+#: flatcamGUI/PreferencesUI.py:5622
msgid ""
"- 'Normal' - normal plotting, done at the end of the NCC job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
@@ -11005,16 +11416,16 @@ msgstr ""
"- 'Normal': trazado normal, realizado al final del trabajo de NCC\n"
"- 'Progresivo': después de generar cada forma, se trazará."
-#: flatcamGUI/PreferencesUI.py:5297
+#: flatcamGUI/PreferencesUI.py:5636
msgid "Cutout Tool Options"
msgstr "Opc. de herra. de recorte"
-#: flatcamGUI/PreferencesUI.py:5312 flatcamTools/ToolCalculators.py:123
-#: flatcamTools/ToolCutOut.py:123
+#: flatcamGUI/PreferencesUI.py:5651 flatcamTools/ToolCalculators.py:123
+#: flatcamTools/ToolCutOut.py:130
msgid "Tool Diameter"
msgstr "Diá. de Herram"
-#: flatcamGUI/PreferencesUI.py:5314 flatcamTools/ToolCutOut.py:125
+#: flatcamGUI/PreferencesUI.py:5653 flatcamTools/ToolCutOut.py:132
msgid ""
"Diameter of the tool used to cutout\n"
"the PCB shape out of the surrounding material."
@@ -11022,11 +11433,11 @@ msgstr ""
"Diámetro de la herramienta utilizada para cortar\n"
"La forma de PCB fuera del material circundante."
-#: flatcamGUI/PreferencesUI.py:5369 flatcamTools/ToolCutOut.py:104
+#: flatcamGUI/PreferencesUI.py:5708
msgid "Object kind"
msgstr "Tipo de objeto"
-#: flatcamGUI/PreferencesUI.py:5371 flatcamTools/ToolCutOut.py:106
+#: flatcamGUI/PreferencesUI.py:5710 flatcamTools/ToolCutOut.py:78
msgid ""
"Choice of what kind the object we want to cutout is.
- Single: "
"contain a single PCB Gerber outline object.
- Panel: a panel PCB "
@@ -11038,15 +11449,15 @@ msgstr ""
"un panel de PCB Gerber objeto, que se hace\n"
"de muchos esquemas de PCB individuales."
-#: flatcamGUI/PreferencesUI.py:5378 flatcamTools/ToolCutOut.py:112
+#: flatcamGUI/PreferencesUI.py:5717 flatcamTools/ToolCutOut.py:84
msgid "Single"
msgstr "Soltero"
-#: flatcamGUI/PreferencesUI.py:5379 flatcamTools/ToolCutOut.py:113
+#: flatcamGUI/PreferencesUI.py:5718 flatcamTools/ToolCutOut.py:85
msgid "Panel"
msgstr "Panel"
-#: flatcamGUI/PreferencesUI.py:5386 flatcamTools/ToolCutOut.py:186
+#: flatcamGUI/PreferencesUI.py:5725 flatcamTools/ToolCutOut.py:193
msgid ""
"Margin over bounds. A positive value here\n"
"will make the cutout of the PCB further from\n"
@@ -11056,11 +11467,11 @@ msgstr ""
"hará que el corte de la PCB esté más alejado de\n"
"el borde real de PCB"
-#: flatcamGUI/PreferencesUI.py:5399 flatcamTools/ToolCutOut.py:197
+#: flatcamGUI/PreferencesUI.py:5738 flatcamTools/ToolCutOut.py:204
msgid "Gap size"
msgstr "Tamaño de la brecha"
-#: flatcamGUI/PreferencesUI.py:5401 flatcamTools/ToolCutOut.py:199
+#: flatcamGUI/PreferencesUI.py:5740 flatcamTools/ToolCutOut.py:206
msgid ""
"The size of the bridge gaps in the cutout\n"
"used to keep the board connected to\n"
@@ -11072,11 +11483,11 @@ msgstr ""
"el material circundante (el\n"
"de la cual se corta el PCB)."
-#: flatcamGUI/PreferencesUI.py:5415 flatcamTools/ToolCutOut.py:241
+#: flatcamGUI/PreferencesUI.py:5754 flatcamTools/ToolCutOut.py:250
msgid "Gaps"
msgstr "Brechas"
-#: flatcamGUI/PreferencesUI.py:5417
+#: flatcamGUI/PreferencesUI.py:5756
msgid ""
"Number of gaps used for the cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -11100,11 +11511,11 @@ msgstr ""
"- 2tb - 2 * top + 2 * bottom\n"
"- 8 - 2 * izquierda + 2 * derecha + 2 * arriba + 2 * abajo"
-#: flatcamGUI/PreferencesUI.py:5439 flatcamTools/ToolCutOut.py:216
+#: flatcamGUI/PreferencesUI.py:5778 flatcamTools/ToolCutOut.py:223
msgid "Convex Shape"
msgstr "Forma convexa"
-#: flatcamGUI/PreferencesUI.py:5441 flatcamTools/ToolCutOut.py:219
+#: flatcamGUI/PreferencesUI.py:5780 flatcamTools/ToolCutOut.py:226
msgid ""
"Create a convex shape surrounding the entire PCB.\n"
"Used only if the source object type is Gerber."
@@ -11112,11 +11523,11 @@ msgstr ""
"Crea una forma convexa que rodea toda la PCB.\n"
"Se usa solo si el tipo de objeto de origen es Gerber."
-#: flatcamGUI/PreferencesUI.py:5454
+#: flatcamGUI/PreferencesUI.py:5793
msgid "2Sided Tool Options"
msgstr "Opc. de herra. de 2 caras"
-#: flatcamGUI/PreferencesUI.py:5460
+#: flatcamGUI/PreferencesUI.py:5799
msgid ""
"A tool to help in creating a double sided\n"
"PCB using alignment holes."
@@ -11124,36 +11535,41 @@ msgstr ""
"Una herramienta para ayudar en la creación de una doble cara.\n"
"PCB utilizando orificios de alineación."
-#: flatcamGUI/PreferencesUI.py:5474
+#: flatcamGUI/PreferencesUI.py:5813
msgid "Drill dia"
msgstr "Diá. del taladro"
-#: flatcamGUI/PreferencesUI.py:5476 flatcamTools/ToolDblSided.py:274
-#: flatcamTools/ToolDblSided.py:285
+#: flatcamGUI/PreferencesUI.py:5815 flatcamTools/ToolDblSided.py:364
+#: flatcamTools/ToolDblSided.py:369
msgid "Diameter of the drill for the alignment holes."
msgstr "Diámetro del taladro para los orificios de alineación."
-#: flatcamGUI/PreferencesUI.py:5485 flatcamTools/ToolDblSided.py:146
-msgid "Mirror Axis:"
-msgstr "Eje del espejo:"
+#: flatcamGUI/PreferencesUI.py:5822 flatcamTools/ToolDblSided.py:378
+msgid "Align Axis"
+msgstr "Alinear eje"
-#: flatcamGUI/PreferencesUI.py:5487 flatcamTools/ToolDblSided.py:147
+#: flatcamGUI/PreferencesUI.py:5824 flatcamGUI/PreferencesUI.py:5837
+#: flatcamTools/ToolDblSided.py:166 flatcamTools/ToolDblSided.py:380
msgid "Mirror vertically (X) or horizontally (Y)."
msgstr "Espejo verticalmente (X) u horizontal (Y)."
-#: flatcamGUI/PreferencesUI.py:5496 flatcamTools/ToolDblSided.py:156
+#: flatcamGUI/PreferencesUI.py:5835
+msgid "Mirror Axis:"
+msgstr "Eje del espejo:"
+
+#: flatcamGUI/PreferencesUI.py:5846 flatcamTools/ToolDblSided.py:182
msgid "Point"
msgstr "Punto"
-#: flatcamGUI/PreferencesUI.py:5497 flatcamTools/ToolDblSided.py:157
+#: flatcamGUI/PreferencesUI.py:5847 flatcamTools/ToolDblSided.py:183
msgid "Box"
msgstr "Caja"
-#: flatcamGUI/PreferencesUI.py:5498 flatcamTools/ToolDblSided.py:158
+#: flatcamGUI/PreferencesUI.py:5848
msgid "Axis Ref"
msgstr "Ref. del eje"
-#: flatcamGUI/PreferencesUI.py:5500 flatcamTools/ToolDblSided.py:160
+#: flatcamGUI/PreferencesUI.py:5850
msgid ""
"The axis should pass through a point or cut\n"
" a specified box (in a FlatCAM object) through \n"
@@ -11163,48 +11579,68 @@ msgstr ""
" un cuadro especificado (en un objeto FlatCAM) a través de\n"
"El centro."
-#: flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:5866
msgid "Paint Tool Options"
msgstr "Opc. de herra. de pintura"
-#: flatcamGUI/PreferencesUI.py:5522
+#: flatcamGUI/PreferencesUI.py:5872
msgid "Parameters:"
msgstr "Parámetros:"
-#: flatcamGUI/PreferencesUI.py:5636 flatcamTools/ToolPaint.py:296
-#: flatcamTools/ToolPaint.py:313
+#: flatcamGUI/PreferencesUI.py:6086 flatcamTools/ToolPaint.py:445
msgid ""
-"How to select Polygons to be painted.\n"
+"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"
+"\n"
+"If not checked, use the standard algorithm."
+msgstr ""
+"Si está marcado, use 'mecanizado en reposo'.\n"
+"Básicamente eliminará el cobre fuera de las características de la PCB,\n"
+"utilizando la herramienta más grande y continúe con las siguientes "
+"herramientas,\n"
+"de mayor a menor, para limpiar áreas de cobre que\n"
+"no se pudo borrar con la herramienta anterior, hasta que haya\n"
+"no más cobre para limpiar o no hay más herramientas.\n"
+"\n"
+"Si no está marcado, use el algoritmo estándar."
+
+#: flatcamGUI/PreferencesUI.py:6099 flatcamTools/ToolPaint.py:458
+msgid ""
+"Selection of area to be processed.\n"
"- 'Polygon Selection' - left mouse click to add/remove polygons to be "
-"painted.\n"
+"processed.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
+"processed.\n"
"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
"areas.\n"
-"- 'All Polygons' - the Paint will start after click.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"- 'All Polygons' - the process will start after click.\n"
+"- 'Reference Object' - will process the area specified by another object."
msgstr ""
-"Cómo seleccionar polígonos para pintar.\n"
+"Selección del área a procesar.\n"
"- 'Selección de polígonos': haga clic con el botón izquierdo del mouse para "
-"agregar / eliminar polígonos a pintar.\n"
+"agregar / eliminar polígonos que se procesarán.\n"
"- 'Selección de área': haga clic con el botón izquierdo del mouse para "
-"iniciar la selección del área a pintar.\n"
+"iniciar la selección del área a procesar.\n"
"Mantener presionada una tecla modificadora (CTRL o SHIFT) permitirá agregar "
"múltiples áreas.\n"
-"- 'Todos los polígonos': la pintura comenzará después de hacer clic.\n"
-"- 'Objeto de referencia' - hará una limpieza sin cobre dentro del área\n"
-"especificado por otro objeto."
+"- 'Todos los polígonos': el proceso comenzará después de hacer clic.\n"
+"- 'Objeto de referencia': procesará el área especificada por otro objeto."
-#: flatcamGUI/PreferencesUI.py:5645
-msgid "Sel"
-msgstr "Seleccionar"
+#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:942 flatcamTools/ToolPaint.py:1427
+#: tclCommands/TclCommandPaint.py:164
+msgid "Polygon Selection"
+msgstr "Selección de polígono"
-#: flatcamGUI/PreferencesUI.py:5656
+#: flatcamGUI/PreferencesUI.py:6144
msgid "Paint Plotting"
msgstr "Trazado de pintura"
-#: flatcamGUI/PreferencesUI.py:5658
+#: flatcamGUI/PreferencesUI.py:6146
msgid ""
"- 'Normal' - normal plotting, done at the end of the Paint job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
@@ -11212,11 +11648,11 @@ msgstr ""
"- 'Normal': trazado normal, realizado al final del trabajo de Pintura\n"
"- 'Progresivo': después de generar cada forma, se trazará."
-#: flatcamGUI/PreferencesUI.py:5672
+#: flatcamGUI/PreferencesUI.py:6160
msgid "Film Tool Options"
msgstr "Opc. de herra. de película"
-#: flatcamGUI/PreferencesUI.py:5678
+#: flatcamGUI/PreferencesUI.py:6166
msgid ""
"Create a PCB film from a Gerber or Geometry\n"
"FlatCAM object.\n"
@@ -11226,11 +11662,11 @@ msgstr ""
"Objeto FlatCAM.\n"
"El archivo se guarda en formato SVG."
-#: flatcamGUI/PreferencesUI.py:5689
+#: flatcamGUI/PreferencesUI.py:6177
msgid "Film Type"
msgstr "Tipo de Filme"
-#: flatcamGUI/PreferencesUI.py:5691 flatcamTools/ToolFilm.py:300
+#: flatcamGUI/PreferencesUI.py:6179 flatcamTools/ToolFilm.py:300
msgid ""
"Generate a Positive black film or a Negative film.\n"
"Positive means that it will print the features\n"
@@ -11246,20 +11682,20 @@ msgstr ""
"Con blanco sobre un lienzo negro.\n"
"El formato de la película es SVG."
-#: flatcamGUI/PreferencesUI.py:5702
+#: flatcamGUI/PreferencesUI.py:6190
msgid "Film Color"
msgstr "Color de la película"
-#: flatcamGUI/PreferencesUI.py:5704
+#: flatcamGUI/PreferencesUI.py:6192
msgid "Set the film color when positive film is selected."
msgstr ""
"Establezca el color de la película cuando se selecciona película positiva."
-#: flatcamGUI/PreferencesUI.py:5727 flatcamTools/ToolFilm.py:316
+#: flatcamGUI/PreferencesUI.py:6215 flatcamTools/ToolFilm.py:316
msgid "Border"
msgstr "Frontera"
-#: flatcamGUI/PreferencesUI.py:5729 flatcamTools/ToolFilm.py:318
+#: flatcamGUI/PreferencesUI.py:6217 flatcamTools/ToolFilm.py:318
msgid ""
"Specify a border around the object.\n"
"Only for negative film.\n"
@@ -11279,11 +11715,11 @@ msgstr ""
"Color blanco como el resto y que puede confundir con el\n"
"Entorno si no fuera por esta frontera."
-#: flatcamGUI/PreferencesUI.py:5746 flatcamTools/ToolFilm.py:283
+#: flatcamGUI/PreferencesUI.py:6234 flatcamTools/ToolFilm.py:283
msgid "Scale Stroke"
msgstr "Trazo de escala"
-#: flatcamGUI/PreferencesUI.py:5748 flatcamTools/ToolFilm.py:285
+#: flatcamGUI/PreferencesUI.py:6236 flatcamTools/ToolFilm.py:285
msgid ""
"Scale the line stroke thickness of each feature in the SVG file.\n"
"It means that the line that envelope each SVG feature will be thicker or "
@@ -11296,11 +11732,11 @@ msgstr ""
"por lo tanto, las características finas pueden verse más afectadas por este "
"parámetro."
-#: flatcamGUI/PreferencesUI.py:5755 flatcamTools/ToolFilm.py:141
+#: flatcamGUI/PreferencesUI.py:6243 flatcamTools/ToolFilm.py:141
msgid "Film Adjustments"
msgstr "Ajustes de la película"
-#: flatcamGUI/PreferencesUI.py:5757 flatcamTools/ToolFilm.py:143
+#: flatcamGUI/PreferencesUI.py:6245 flatcamTools/ToolFilm.py:143
msgid ""
"Sometime the printers will distort the print shape, especially the Laser "
"types.\n"
@@ -11311,11 +11747,11 @@ msgstr ""
"Esta sección proporciona las herramientas para compensar las distorsiones de "
"impresión."
-#: flatcamGUI/PreferencesUI.py:5764 flatcamTools/ToolFilm.py:150
+#: flatcamGUI/PreferencesUI.py:6252 flatcamTools/ToolFilm.py:150
msgid "Scale Film geometry"
msgstr "Escalar la Geo de la Película"
-#: flatcamGUI/PreferencesUI.py:5766 flatcamTools/ToolFilm.py:152
+#: flatcamGUI/PreferencesUI.py:6254 flatcamTools/ToolFilm.py:152
msgid ""
"A value greater than 1 will stretch the film\n"
"while a value less than 1 will jolt it."
@@ -11323,21 +11759,21 @@ msgstr ""
"Un valor mayor que 1 estirará la película\n"
"mientras que un valor menor que 1 lo sacudirá."
-#: flatcamGUI/PreferencesUI.py:5776 flatcamGUI/PreferencesUI.py:6296
-#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:148
+#: flatcamGUI/PreferencesUI.py:6264 flatcamGUI/PreferencesUI.py:6783
+#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:149
msgid "X factor"
msgstr "Factor X"
-#: flatcamGUI/PreferencesUI.py:5785 flatcamGUI/PreferencesUI.py:6309
+#: flatcamGUI/PreferencesUI.py:6273 flatcamGUI/PreferencesUI.py:6796
#: flatcamTools/ToolFilm.py:171 flatcamTools/ToolTransform.py:169
msgid "Y factor"
msgstr "Factor Y"
-#: flatcamGUI/PreferencesUI.py:5795 flatcamTools/ToolFilm.py:189
+#: flatcamGUI/PreferencesUI.py:6283 flatcamTools/ToolFilm.py:189
msgid "Skew Film geometry"
msgstr "Incline la Geo de la Película"
-#: flatcamGUI/PreferencesUI.py:5797 flatcamTools/ToolFilm.py:191
+#: flatcamGUI/PreferencesUI.py:6285 flatcamTools/ToolFilm.py:191
msgid ""
"Positive values will skew to the right\n"
"while negative values will skew to the left."
@@ -11345,17 +11781,17 @@ msgstr ""
"Los valores positivos se sesgarán a la derecha.\n"
"mientras que los valores negativos se desviarán a la izquierda."
-#: flatcamGUI/PreferencesUI.py:5807 flatcamGUI/PreferencesUI.py:6265
+#: flatcamGUI/PreferencesUI.py:6295 flatcamGUI/PreferencesUI.py:6752
#: flatcamTools/ToolFilm.py:201 flatcamTools/ToolTransform.py:98
msgid "X angle"
msgstr "Ángulo X"
-#: flatcamGUI/PreferencesUI.py:5816 flatcamGUI/PreferencesUI.py:6279
-#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:120
+#: flatcamGUI/PreferencesUI.py:6304 flatcamGUI/PreferencesUI.py:6766
+#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:119
msgid "Y angle"
msgstr "Ángulo Y"
-#: flatcamGUI/PreferencesUI.py:5827 flatcamTools/ToolFilm.py:221
+#: flatcamGUI/PreferencesUI.py:6315 flatcamTools/ToolFilm.py:221
msgid ""
"The reference point to be used as origin for the skew.\n"
"It can be one of the four points of the geometry bounding box."
@@ -11363,57 +11799,53 @@ msgstr ""
"El punto de referencia que se utilizará como origen para el sesgo.\n"
"Puede ser uno de los cuatro puntos del cuadro delimitador de geometría."
-#: flatcamGUI/PreferencesUI.py:5830 flatcamTools/ToolFiducials.py:87
+#: flatcamGUI/PreferencesUI.py:6318 flatcamTools/ToolFiducials.py:87
#: flatcamTools/ToolFilm.py:224
msgid "Bottom Left"
msgstr "Abajo a la izquierda"
-#: flatcamGUI/PreferencesUI.py:5831 flatcamTools/ToolFilm.py:225
+#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolFilm.py:225
msgid "Top Left"
msgstr "Arriba a la izquierda"
-#: flatcamGUI/PreferencesUI.py:5832 flatcamTools/ToolFilm.py:226
+#: flatcamGUI/PreferencesUI.py:6320 flatcamTools/ToolFilm.py:226
msgid "Bottom Right"
msgstr "Abajo a la derecha"
-#: flatcamGUI/PreferencesUI.py:5833 flatcamTools/ToolFilm.py:227
+#: flatcamGUI/PreferencesUI.py:6321 flatcamTools/ToolFilm.py:227
msgid "Top right"
msgstr "Arriba a la derecha"
-#: flatcamGUI/PreferencesUI.py:5841 flatcamTools/ToolFilm.py:244
+#: flatcamGUI/PreferencesUI.py:6329 flatcamTools/ToolFilm.py:244
msgid "Mirror Film geometry"
msgstr "Refleja la Geo de la Película"
-#: flatcamGUI/PreferencesUI.py:5843 flatcamTools/ToolFilm.py:246
+#: flatcamGUI/PreferencesUI.py:6331 flatcamTools/ToolFilm.py:246
msgid "Mirror the film geometry on the selected axis or on both."
msgstr "Refleje la geometría de la película en el eje seleccionado o en ambos."
-#: flatcamGUI/PreferencesUI.py:5855 flatcamTools/ToolFilm.py:258
-msgid "Both"
-msgstr "Ambas"
-
-#: flatcamGUI/PreferencesUI.py:5857 flatcamTools/ToolFilm.py:260
+#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolFilm.py:260
msgid "Mirror axis"
msgstr "Eje espejo"
-#: flatcamGUI/PreferencesUI.py:5867 flatcamTools/ToolFilm.py:403
+#: flatcamGUI/PreferencesUI.py:6355 flatcamTools/ToolFilm.py:405
msgid "SVG"
msgstr "SVG"
-#: flatcamGUI/PreferencesUI.py:5868 flatcamTools/ToolFilm.py:404
+#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolFilm.py:406
msgid "PNG"
msgstr "PNG"
-#: flatcamGUI/PreferencesUI.py:5869 flatcamTools/ToolFilm.py:405
+#: flatcamGUI/PreferencesUI.py:6357 flatcamTools/ToolFilm.py:407
msgid "PDF"
msgstr "PDF"
-#: flatcamGUI/PreferencesUI.py:5872 flatcamTools/ToolFilm.py:298
-#: flatcamTools/ToolFilm.py:408
+#: flatcamGUI/PreferencesUI.py:6360 flatcamTools/ToolFilm.py:298
+#: flatcamTools/ToolFilm.py:410
msgid "Film Type:"
msgstr "Tipo de filme:"
-#: flatcamGUI/PreferencesUI.py:5874 flatcamTools/ToolFilm.py:410
+#: flatcamGUI/PreferencesUI.py:6362 flatcamTools/ToolFilm.py:412
msgid ""
"The file type of the saved film. Can be:\n"
"- 'SVG' -> open-source vectorial format\n"
@@ -11425,23 +11857,23 @@ msgstr ""
"- 'PNG' -> imagen de trama\n"
"- 'PDF' -> formato de documento portátil"
-#: flatcamGUI/PreferencesUI.py:5883 flatcamTools/ToolFilm.py:419
+#: flatcamGUI/PreferencesUI.py:6371 flatcamTools/ToolFilm.py:421
msgid "Page Orientation"
msgstr "Orient. de la página"
-#: flatcamGUI/PreferencesUI.py:5896 flatcamTools/ToolFilm.py:432
+#: flatcamGUI/PreferencesUI.py:6384 flatcamTools/ToolFilm.py:434
msgid "Page Size"
msgstr "Tamaño de página"
-#: flatcamGUI/PreferencesUI.py:5897 flatcamTools/ToolFilm.py:433
+#: flatcamGUI/PreferencesUI.py:6385 flatcamTools/ToolFilm.py:435
msgid "A selection of standard ISO 216 page sizes."
msgstr "Una selección de tamaños de página estándar ISO 216."
-#: flatcamGUI/PreferencesUI.py:5969
+#: flatcamGUI/PreferencesUI.py:6457
msgid "Panelize Tool Options"
msgstr "Opc. de la herra. Panelizar"
-#: flatcamGUI/PreferencesUI.py:5975
+#: flatcamGUI/PreferencesUI.py:6463
msgid ""
"Create an object that contains an array of (x, y) elements,\n"
"each element is a copy of the source object spaced\n"
@@ -11451,11 +11883,11 @@ msgstr ""
"Cada elemento es una copia del objeto fuente espaciado.\n"
"a una distancia X, distancia Y entre sí."
-#: flatcamGUI/PreferencesUI.py:5992 flatcamTools/ToolPanelize.py:160
+#: flatcamGUI/PreferencesUI.py:6480 flatcamTools/ToolPanelize.py:163
msgid "Spacing cols"
msgstr "Col. de espaciado"
-#: flatcamGUI/PreferencesUI.py:5994 flatcamTools/ToolPanelize.py:162
+#: flatcamGUI/PreferencesUI.py:6482 flatcamTools/ToolPanelize.py:165
msgid ""
"Spacing between columns of the desired panel.\n"
"In current units."
@@ -11463,11 +11895,11 @@ msgstr ""
"Espaciado entre columnas del panel deseado.\n"
"En unidades actuales."
-#: flatcamGUI/PreferencesUI.py:6006 flatcamTools/ToolPanelize.py:172
+#: flatcamGUI/PreferencesUI.py:6494 flatcamTools/ToolPanelize.py:175
msgid "Spacing rows"
msgstr "Separación de filas"
-#: flatcamGUI/PreferencesUI.py:6008 flatcamTools/ToolPanelize.py:174
+#: flatcamGUI/PreferencesUI.py:6496 flatcamTools/ToolPanelize.py:177
msgid ""
"Spacing between rows of the desired panel.\n"
"In current units."
@@ -11475,36 +11907,31 @@ msgstr ""
"Espaciado entre filas del panel deseado.\n"
"En unidades actuales."
-#: flatcamGUI/PreferencesUI.py:6019 flatcamTools/ToolPanelize.py:183
+#: flatcamGUI/PreferencesUI.py:6507 flatcamTools/ToolPanelize.py:186
msgid "Columns"
msgstr "Columnas"
-#: flatcamGUI/PreferencesUI.py:6021 flatcamTools/ToolPanelize.py:185
+#: flatcamGUI/PreferencesUI.py:6509 flatcamTools/ToolPanelize.py:188
msgid "Number of columns of the desired panel"
msgstr "Número de columnas del panel deseado"
-#: flatcamGUI/PreferencesUI.py:6031 flatcamTools/ToolPanelize.py:193
+#: flatcamGUI/PreferencesUI.py:6519 flatcamTools/ToolPanelize.py:196
msgid "Rows"
msgstr "Filas"
-#: flatcamGUI/PreferencesUI.py:6033 flatcamTools/ToolPanelize.py:195
+#: flatcamGUI/PreferencesUI.py:6521 flatcamTools/ToolPanelize.py:198
msgid "Number of rows of the desired panel"
msgstr "Número de filas del panel deseado"
-#: flatcamGUI/PreferencesUI.py:6039 flatcamTools/ToolCalibration.py:196
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolPanelize.py:201
-msgid "Gerber"
-msgstr "Gerber"
-
-#: flatcamGUI/PreferencesUI.py:6040 flatcamTools/ToolPanelize.py:202
+#: flatcamGUI/PreferencesUI.py:6528 flatcamTools/ToolPanelize.py:205
msgid "Geo"
msgstr "Geo"
-#: flatcamGUI/PreferencesUI.py:6041 flatcamTools/ToolPanelize.py:203
+#: flatcamGUI/PreferencesUI.py:6529 flatcamTools/ToolPanelize.py:206
msgid "Panel Type"
msgstr "Tipo de panel"
-#: flatcamGUI/PreferencesUI.py:6043
+#: flatcamGUI/PreferencesUI.py:6531
msgid ""
"Choose the type of object for the panel object:\n"
"- Gerber\n"
@@ -11514,11 +11941,11 @@ msgstr ""
"- Gerber\n"
"- Geometría"
-#: flatcamGUI/PreferencesUI.py:6052
+#: flatcamGUI/PreferencesUI.py:6540
msgid "Constrain within"
msgstr "Restringir dentro de"
-#: flatcamGUI/PreferencesUI.py:6054 flatcamTools/ToolPanelize.py:215
+#: flatcamGUI/PreferencesUI.py:6542 flatcamTools/ToolPanelize.py:218
msgid ""
"Area define by DX and DY within to constrain the panel.\n"
"DX and DY values are in current units.\n"
@@ -11532,11 +11959,11 @@ msgstr ""
"El panel final tendrá tantas columnas y filas como\n"
"encajan completamente dentro del área seleccionada."
-#: flatcamGUI/PreferencesUI.py:6067 flatcamTools/ToolPanelize.py:227
+#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolPanelize.py:230
msgid "Width (DX)"
msgstr "Ancho (DX)"
-#: flatcamGUI/PreferencesUI.py:6069 flatcamTools/ToolPanelize.py:229
+#: flatcamGUI/PreferencesUI.py:6557 flatcamTools/ToolPanelize.py:232
msgid ""
"The width (DX) within which the panel must fit.\n"
"In current units."
@@ -11544,11 +11971,11 @@ msgstr ""
"El ancho (DX) dentro del cual debe caber el panel.\n"
"En unidades actuales."
-#: flatcamGUI/PreferencesUI.py:6080 flatcamTools/ToolPanelize.py:238
+#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolPanelize.py:241
msgid "Height (DY)"
msgstr "Altura (DY)"
-#: flatcamGUI/PreferencesUI.py:6082 flatcamTools/ToolPanelize.py:240
+#: flatcamGUI/PreferencesUI.py:6570 flatcamTools/ToolPanelize.py:243
msgid ""
"The height (DY)within which the panel must fit.\n"
"In current units."
@@ -11556,15 +11983,15 @@ msgstr ""
"La altura (DY) dentro de la cual debe caber el panel.\n"
"En unidades actuales."
-#: flatcamGUI/PreferencesUI.py:6096
+#: flatcamGUI/PreferencesUI.py:6584
msgid "Calculators Tool Options"
msgstr "Opc. de herra. de calculadoras"
-#: flatcamGUI/PreferencesUI.py:6100 flatcamTools/ToolCalculators.py:25
+#: flatcamGUI/PreferencesUI.py:6588 flatcamTools/ToolCalculators.py:25
msgid "V-Shape Tool Calculator"
msgstr "Calc. de herra. en forma de V"
-#: flatcamGUI/PreferencesUI.py:6102
+#: flatcamGUI/PreferencesUI.py:6590
msgid ""
"Calculate the tool diameter for a given V-shape tool,\n"
"having the tip diameter, tip angle and\n"
@@ -11575,11 +12002,11 @@ msgstr ""
"teniendo el diámetro de la punta, el ángulo de la punta y\n"
"Profundidad de corte como parámetros."
-#: flatcamGUI/PreferencesUI.py:6117 flatcamTools/ToolCalculators.py:94
+#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolCalculators.py:94
msgid "Tip Diameter"
msgstr "Diá. de la punta"
-#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolCalculators.py:102
+#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolCalculators.py:102
msgid ""
"This is the tool tip diameter.\n"
"It is specified by manufacturer."
@@ -11587,11 +12014,11 @@ msgstr ""
"Este es el diámetro de la punta de la herramienta.\n"
"Está especificado por el fabricante."
-#: flatcamGUI/PreferencesUI.py:6131 flatcamTools/ToolCalculators.py:105
+#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolCalculators.py:105
msgid "Tip Angle"
msgstr "Ángulo de la punta"
-#: flatcamGUI/PreferencesUI.py:6133
+#: flatcamGUI/PreferencesUI.py:6623
msgid ""
"This is the angle on the tip of the tool.\n"
"It is specified by manufacturer."
@@ -11599,7 +12026,7 @@ msgstr ""
"Este es el ángulo en la punta de la herramienta.\n"
"Está especificado por el fabricante."
-#: flatcamGUI/PreferencesUI.py:6147
+#: flatcamGUI/PreferencesUI.py:6637
msgid ""
"This is depth to cut into material.\n"
"In the CNCJob object it is the CutZ parameter."
@@ -11607,11 +12034,11 @@ msgstr ""
"Esta es la profundidad para cortar en material.\n"
"En el objeto de trabajo CNC es el parámetro CutZ."
-#: flatcamGUI/PreferencesUI.py:6154 flatcamTools/ToolCalculators.py:27
+#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolCalculators.py:27
msgid "ElectroPlating Calculator"
msgstr "Calculadora de electrochapado"
-#: flatcamGUI/PreferencesUI.py:6156 flatcamTools/ToolCalculators.py:158
+#: flatcamGUI/PreferencesUI.py:6646 flatcamTools/ToolCalculators.py:158
msgid ""
"This calculator is useful for those who plate the via/pad/drill holes,\n"
"using a method like grahite ink or calcium hypophosphite ink or palladium "
@@ -11622,27 +12049,27 @@ msgstr ""
"Utilizando un método como tinta de grahite o tinta de hipofosfito de calcio "
"o cloruro de paladio."
-#: flatcamGUI/PreferencesUI.py:6170 flatcamTools/ToolCalculators.py:167
+#: flatcamGUI/PreferencesUI.py:6657 flatcamTools/ToolCalculators.py:167
msgid "Board Length"
msgstr "Longitud del tablero"
-#: flatcamGUI/PreferencesUI.py:6172 flatcamTools/ToolCalculators.py:173
+#: flatcamGUI/PreferencesUI.py:6659 flatcamTools/ToolCalculators.py:173
msgid "This is the board length. In centimeters."
msgstr "Esta es la longitud del tablero. En centímetros."
-#: flatcamGUI/PreferencesUI.py:6182 flatcamTools/ToolCalculators.py:175
+#: flatcamGUI/PreferencesUI.py:6669 flatcamTools/ToolCalculators.py:175
msgid "Board Width"
msgstr "Ancho del tablero"
-#: flatcamGUI/PreferencesUI.py:6184 flatcamTools/ToolCalculators.py:181
+#: flatcamGUI/PreferencesUI.py:6671 flatcamTools/ToolCalculators.py:181
msgid "This is the board width.In centimeters."
msgstr "Este es el ancho de la tabla. En centímetros."
-#: flatcamGUI/PreferencesUI.py:6189 flatcamTools/ToolCalculators.py:183
+#: flatcamGUI/PreferencesUI.py:6676 flatcamTools/ToolCalculators.py:183
msgid "Current Density"
msgstr "Densidad actual"
-#: flatcamGUI/PreferencesUI.py:6195 flatcamTools/ToolCalculators.py:190
+#: flatcamGUI/PreferencesUI.py:6682 flatcamTools/ToolCalculators.py:190
msgid ""
"Current density to pass through the board. \n"
"In Amps per Square Feet ASF."
@@ -11650,11 +12077,11 @@ msgstr ""
"Densidad de corriente para pasar por el tablero.\n"
"En amperios por pies cuadrados ASF."
-#: flatcamGUI/PreferencesUI.py:6201 flatcamTools/ToolCalculators.py:193
+#: flatcamGUI/PreferencesUI.py:6688 flatcamTools/ToolCalculators.py:193
msgid "Copper Growth"
msgstr "Crecimiento de cobre"
-#: flatcamGUI/PreferencesUI.py:6207 flatcamTools/ToolCalculators.py:200
+#: flatcamGUI/PreferencesUI.py:6694 flatcamTools/ToolCalculators.py:200
msgid ""
"How thick the copper growth is intended to be.\n"
"In microns."
@@ -11662,11 +12089,11 @@ msgstr ""
"Qué tan grueso pretende ser el crecimiento del cobre.\n"
"En micras."
-#: flatcamGUI/PreferencesUI.py:6220
+#: flatcamGUI/PreferencesUI.py:6707
msgid "Transform Tool Options"
msgstr "Opc. de herra. de transformación"
-#: flatcamGUI/PreferencesUI.py:6226
+#: flatcamGUI/PreferencesUI.py:6713
msgid ""
"Various transformations that can be applied\n"
"on a FlatCAM object."
@@ -11674,19 +12101,19 @@ msgstr ""
"Diversas transformaciones que se pueden aplicar.\n"
"en un objeto FlatCAM."
-#: flatcamGUI/PreferencesUI.py:6257
+#: flatcamGUI/PreferencesUI.py:6744
msgid "Skew"
msgstr "Sesgar"
-#: flatcamGUI/PreferencesUI.py:6298 flatcamTools/ToolTransform.py:150
+#: flatcamGUI/PreferencesUI.py:6785 flatcamTools/ToolTransform.py:151
msgid "Factor for scaling on X axis."
msgstr "Factor de escalado en eje X."
-#: flatcamGUI/PreferencesUI.py:6311 flatcamTools/ToolTransform.py:171
+#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolTransform.py:171
msgid "Factor for scaling on Y axis."
msgstr "Factor de escalado en eje Y."
-#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolTransform.py:194
+#: flatcamGUI/PreferencesUI.py:6806 flatcamTools/ToolTransform.py:192
msgid ""
"Scale the selected object(s)\n"
"using the Scale_X factor for both axis."
@@ -11694,7 +12121,7 @@ msgstr ""
"Escala el (los) objeto (s) seleccionado (s)\n"
"utilizando el factor de escala X para ambos ejes."
-#: flatcamGUI/PreferencesUI.py:6327 flatcamTools/ToolTransform.py:202
+#: flatcamGUI/PreferencesUI.py:6814 flatcamTools/ToolTransform.py:199
msgid ""
"Scale the selected object(s)\n"
"using the origin reference when checked,\n"
@@ -11706,32 +12133,32 @@ msgstr ""
"y el centro del cuadro delimitador más grande.\n"
"de los objetos seleccionados cuando no está marcada."
-#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolTransform.py:217
+#: flatcamGUI/PreferencesUI.py:6830 flatcamTools/ToolTransform.py:218
msgid "X val"
msgstr "Valor X"
-#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolTransform.py:219
+#: flatcamGUI/PreferencesUI.py:6832 flatcamTools/ToolTransform.py:220
msgid "Distance to offset on X axis. In current units."
msgstr "Distancia a desplazamiento en el eje X. En unidades actuales."
-#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolTransform.py:238
+#: flatcamGUI/PreferencesUI.py:6843 flatcamTools/ToolTransform.py:238
msgid "Y val"
msgstr "Valor Y"
-#: flatcamGUI/PreferencesUI.py:6358 flatcamTools/ToolTransform.py:240
+#: flatcamGUI/PreferencesUI.py:6845 flatcamTools/ToolTransform.py:240
msgid "Distance to offset on Y axis. In current units."
msgstr "Distancia a desplazamiento en el eje Y. En unidades actuales."
-#: flatcamGUI/PreferencesUI.py:6364 flatcamTools/ToolDblSided.py:62
-#: flatcamTools/ToolDblSided.py:90 flatcamTools/ToolDblSided.py:120
+#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolDblSided.py:68
+#: flatcamTools/ToolDblSided.py:96 flatcamTools/ToolDblSided.py:126
msgid "Mirror"
msgstr "Espejo"
-#: flatcamGUI/PreferencesUI.py:6368 flatcamTools/ToolTransform.py:285
+#: flatcamGUI/PreferencesUI.py:6855 flatcamTools/ToolTransform.py:284
msgid "Mirror Reference"
msgstr "Espejo de referencia"
-#: flatcamGUI/PreferencesUI.py:6370 flatcamTools/ToolTransform.py:287
+#: flatcamGUI/PreferencesUI.py:6857 flatcamTools/ToolTransform.py:286
msgid ""
"Flip the selected object(s)\n"
"around the point in Point Entry Field.\n"
@@ -11753,11 +12180,11 @@ msgstr ""
"O ingrese las coords en formato (x, y) en el\n"
"Campo de entrada de puntos y haga clic en Girar en X (Y)"
-#: flatcamGUI/PreferencesUI.py:6381
+#: flatcamGUI/PreferencesUI.py:6868
msgid "Mirror Reference point"
msgstr "Punto de Ref del Espejo"
-#: flatcamGUI/PreferencesUI.py:6383
+#: flatcamGUI/PreferencesUI.py:6870
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
@@ -11768,12 +12195,12 @@ msgstr ""
"La 'x' en (x, y) se usará cuando se use voltear en X y\n"
"la 'y' en (x, y) se usará cuando se use voltear en Y y"
-#: flatcamGUI/PreferencesUI.py:6396 flatcamTools/ToolDistance.py:355
-#: flatcamTools/ToolDistanceMin.py:284 flatcamTools/ToolTransform.py:332
+#: flatcamGUI/PreferencesUI.py:6883 flatcamTools/ToolDistance.py:496
+#: flatcamTools/ToolDistanceMin.py:287 flatcamTools/ToolTransform.py:333
msgid "Distance"
msgstr "Distancia"
-#: flatcamGUI/PreferencesUI.py:6398 flatcamTools/ToolTransform.py:334
+#: flatcamGUI/PreferencesUI.py:6885 flatcamTools/ToolTransform.py:335
msgid ""
"A positive value will create the effect of dilation,\n"
"while a negative value will create the effect of erosion.\n"
@@ -11785,12 +12212,26 @@ msgstr ""
"Cada elemento de geometría del objeto se incrementará\n"
"o disminuido con la 'distancia'."
-#: flatcamGUI/PreferencesUI.py:6414 flatcamGUI/PreferencesUI.py:7057
-#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:361
+#: flatcamGUI/PreferencesUI.py:6902 flatcamTools/ToolTransform.py:360
+msgid ""
+"A positive value will create the effect of dilation,\n"
+"while a negative value will create the effect of erosion.\n"
+"Each geometry element of the object will be increased\n"
+"or decreased to fit the 'Value'. Value is a percentage\n"
+"of the initial dimension."
+msgstr ""
+"Un valor positivo creará el efecto de dilatación,\n"
+"mientras que un valor negativo creará el efecto de la erosión.\n"
+"Cada elemento de geometría del objeto se incrementará\n"
+"o disminuido para ajustarse al 'Valor'. El Valor es un porcentaje\n"
+"de la dimensión inicial."
+
+#: flatcamGUI/PreferencesUI.py:6919 flatcamGUI/PreferencesUI.py:7563
+#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:384
msgid "Rounded"
msgstr "Redondeado"
-#: flatcamGUI/PreferencesUI.py:6416 flatcamTools/ToolTransform.py:363
+#: flatcamGUI/PreferencesUI.py:6921 flatcamTools/ToolTransform.py:386
msgid ""
"If checked then the buffer will surround the buffered shape,\n"
"every corner will be rounded.\n"
@@ -11802,11 +12243,11 @@ msgstr ""
"Si no está marcado, el búfer seguirá la geometría exacta\n"
"de la forma amortiguada."
-#: flatcamGUI/PreferencesUI.py:6434
+#: flatcamGUI/PreferencesUI.py:6938
msgid "SolderPaste Tool Options"
msgstr "Opc de Herram. de Pasta"
-#: flatcamGUI/PreferencesUI.py:6440
+#: flatcamGUI/PreferencesUI.py:6944
msgid ""
"A tool to create GCode for dispensing\n"
"solder paste onto a PCB."
@@ -11814,49 +12255,45 @@ msgstr ""
"Una herramienta para crear GCode para dispensar\n"
"pasta de soldadura en una PCB."
-#: flatcamGUI/PreferencesUI.py:6451
-msgid "Diameters of nozzle tools, separated by ','"
-msgstr "Diámetros de las herramientas de boquilla, separadas por ','"
-
-#: flatcamGUI/PreferencesUI.py:6459
+#: flatcamGUI/PreferencesUI.py:6965
msgid "New Nozzle Dia"
msgstr "Nuevo diá de boquilla"
-#: flatcamGUI/PreferencesUI.py:6461 flatcamTools/ToolSolderPaste.py:106
+#: flatcamGUI/PreferencesUI.py:6967 flatcamTools/ToolSolderPaste.py:108
msgid "Diameter for the new Nozzle tool to add in the Tool Table"
msgstr ""
"Diámetro para la nueva herramienta de boquillas para agregar en la tabla de "
"herramientas"
-#: flatcamGUI/PreferencesUI.py:6477 flatcamTools/ToolSolderPaste.py:182
+#: flatcamGUI/PreferencesUI.py:6983 flatcamTools/ToolSolderPaste.py:184
msgid "Z Dispense Start"
msgstr "Inicio de dispen. Z"
-#: flatcamGUI/PreferencesUI.py:6479 flatcamTools/ToolSolderPaste.py:184
+#: flatcamGUI/PreferencesUI.py:6985 flatcamTools/ToolSolderPaste.py:186
msgid "The height (Z) when solder paste dispensing starts."
msgstr "La altura (Z) cuando comienza la dispensación de pasta de soldadura."
-#: flatcamGUI/PreferencesUI.py:6490 flatcamTools/ToolSolderPaste.py:194
+#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolSolderPaste.py:196
msgid "Z Dispense"
msgstr "Dispensación Z"
-#: flatcamGUI/PreferencesUI.py:6492 flatcamTools/ToolSolderPaste.py:196
+#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolSolderPaste.py:198
msgid "The height (Z) when doing solder paste dispensing."
msgstr "La altura (Z) al dispensar pasta de soldadura."
-#: flatcamGUI/PreferencesUI.py:6503 flatcamTools/ToolSolderPaste.py:206
+#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolSolderPaste.py:208
msgid "Z Dispense Stop"
msgstr "Parada de dispen. Z"
-#: flatcamGUI/PreferencesUI.py:6505 flatcamTools/ToolSolderPaste.py:208
+#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolSolderPaste.py:210
msgid "The height (Z) when solder paste dispensing stops."
msgstr "La altura (Z) cuando se detiene la dispensación de pasta de soldadura."
-#: flatcamGUI/PreferencesUI.py:6516 flatcamTools/ToolSolderPaste.py:218
+#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolSolderPaste.py:220
msgid "Z Travel"
msgstr "Viajar Z"
-#: flatcamGUI/PreferencesUI.py:6518 flatcamTools/ToolSolderPaste.py:220
+#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolSolderPaste.py:222
msgid ""
"The height (Z) for travel between pads\n"
"(without dispensing solder paste)."
@@ -11864,15 +12301,15 @@ msgstr ""
"La altura (Z) para viajar entre almohadillas\n"
"(sin dispensar pasta de soldadura)."
-#: flatcamGUI/PreferencesUI.py:6530 flatcamTools/ToolSolderPaste.py:231
+#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolSolderPaste.py:233
msgid "Z Toolchange"
msgstr "Cambio de herra. Z"
-#: flatcamGUI/PreferencesUI.py:6532 flatcamTools/ToolSolderPaste.py:233
+#: flatcamGUI/PreferencesUI.py:7038 flatcamTools/ToolSolderPaste.py:235
msgid "The height (Z) for tool (nozzle) change."
msgstr "La altura (Z) para el cambio de herramienta (boquilla)."
-#: flatcamGUI/PreferencesUI.py:6541 flatcamTools/ToolSolderPaste.py:241
+#: flatcamGUI/PreferencesUI.py:7047 flatcamTools/ToolSolderPaste.py:243
msgid ""
"The X,Y location for tool (nozzle) change.\n"
"The format is (x, y) where x and y are real numbers."
@@ -11880,11 +12317,11 @@ msgstr ""
"La ubicación X, Y para el cambio de herramienta (boquilla).\n"
"El formato es (x, y) donde x e y son números reales."
-#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolSolderPaste.py:254
+#: flatcamGUI/PreferencesUI.py:7061 flatcamTools/ToolSolderPaste.py:256
msgid "Feedrate (speed) while moving on the X-Y plane."
msgstr "Avance (velocidad) mientras se mueve en el plano X-Y."
-#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolSolderPaste.py:266
+#: flatcamGUI/PreferencesUI.py:7074 flatcamTools/ToolSolderPaste.py:268
msgid ""
"Feedrate (speed) while moving vertically\n"
"(on Z plane)."
@@ -11892,11 +12329,11 @@ msgstr ""
"Avance (velocidad) mientras se mueve verticalmente\n"
"(en el plano Z)."
-#: flatcamGUI/PreferencesUI.py:6580 flatcamTools/ToolSolderPaste.py:277
+#: flatcamGUI/PreferencesUI.py:7086 flatcamTools/ToolSolderPaste.py:279
msgid "Feedrate Z Dispense"
msgstr "Avance de Dispens. Z"
-#: flatcamGUI/PreferencesUI.py:6582
+#: flatcamGUI/PreferencesUI.py:7088
msgid ""
"Feedrate (speed) while moving up vertically\n"
"to Dispense position (on Z plane)."
@@ -11904,11 +12341,11 @@ msgstr ""
"Avance (velocidad) mientras se mueve verticalmente\n"
"para dispensar la posición (en el plano Z)."
-#: flatcamGUI/PreferencesUI.py:6593 flatcamTools/ToolSolderPaste.py:289
+#: flatcamGUI/PreferencesUI.py:7099 flatcamTools/ToolSolderPaste.py:291
msgid "Spindle Speed FWD"
msgstr "Veloc. del husillo FWD"
-#: flatcamGUI/PreferencesUI.py:6595 flatcamTools/ToolSolderPaste.py:291
+#: flatcamGUI/PreferencesUI.py:7101 flatcamTools/ToolSolderPaste.py:293
msgid ""
"The dispenser speed while pushing solder paste\n"
"through the dispenser nozzle."
@@ -11916,19 +12353,19 @@ msgstr ""
"La velocidad del dispensador mientras empuja la pasta de soldadura\n"
"a través de la boquilla dispensadora."
-#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolSolderPaste.py:302
+#: flatcamGUI/PreferencesUI.py:7113 flatcamTools/ToolSolderPaste.py:304
msgid "Dwell FWD"
msgstr "Morar FWD"
-#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolSolderPaste.py:304
+#: flatcamGUI/PreferencesUI.py:7115 flatcamTools/ToolSolderPaste.py:306
msgid "Pause after solder dispensing."
msgstr "Pausa después de la dispensación de soldadura."
-#: flatcamGUI/PreferencesUI.py:6619 flatcamTools/ToolSolderPaste.py:313
+#: flatcamGUI/PreferencesUI.py:7125 flatcamTools/ToolSolderPaste.py:315
msgid "Spindle Speed REV"
msgstr "Veloc. del husillo REV"
-#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolSolderPaste.py:315
+#: flatcamGUI/PreferencesUI.py:7127 flatcamTools/ToolSolderPaste.py:317
msgid ""
"The dispenser speed while retracting solder paste\n"
"through the dispenser nozzle."
@@ -11936,11 +12373,11 @@ msgstr ""
"La velocidad del dispensador mientras se retrae la pasta de soldadura\n"
"a través de la boquilla dispensadora."
-#: flatcamGUI/PreferencesUI.py:6633 flatcamTools/ToolSolderPaste.py:326
+#: flatcamGUI/PreferencesUI.py:7139 flatcamTools/ToolSolderPaste.py:328
msgid "Dwell REV"
msgstr "Morar REV"
-#: flatcamGUI/PreferencesUI.py:6635 flatcamTools/ToolSolderPaste.py:328
+#: flatcamGUI/PreferencesUI.py:7141 flatcamTools/ToolSolderPaste.py:330
msgid ""
"Pause after solder paste dispenser retracted,\n"
"to allow pressure equilibrium."
@@ -11948,15 +12385,15 @@ msgstr ""
"Pausa después de que el dispensador de pasta de soldadura se retraiga,\n"
"para permitir el equilibrio de presión."
-#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolSolderPaste.py:336
+#: flatcamGUI/PreferencesUI.py:7150 flatcamTools/ToolSolderPaste.py:338
msgid "Files that control the GCode generation."
msgstr "Archivos que controlan la generación de GCode."
-#: flatcamGUI/PreferencesUI.py:6659
+#: flatcamGUI/PreferencesUI.py:7165
msgid "Substractor Tool Options"
msgstr "Opc. de herra. de substractor"
-#: flatcamGUI/PreferencesUI.py:6665
+#: flatcamGUI/PreferencesUI.py:7171
msgid ""
"A tool to substract one Gerber or Geometry object\n"
"from another of the same type."
@@ -11964,21 +12401,21 @@ msgstr ""
"Una herramienta para restar un objeto Gerber o Geometry\n"
"de otro del mismo tipo."
-#: flatcamGUI/PreferencesUI.py:6670 flatcamTools/ToolSub.py:149
+#: flatcamGUI/PreferencesUI.py:7176 flatcamTools/ToolSub.py:155
msgid "Close paths"
msgstr "Caminos cercanos"
-#: flatcamGUI/PreferencesUI.py:6671
+#: flatcamGUI/PreferencesUI.py:7177
msgid ""
"Checking this will close the paths cut by the Geometry substractor object."
msgstr ""
"Marcar esto cerrará los caminos cortados por el objeto sustrato Geometry."
-#: flatcamGUI/PreferencesUI.py:6682
+#: flatcamGUI/PreferencesUI.py:7188
msgid "Check Rules Tool Options"
msgstr "Opciones de la Herram. Verifique Reglas"
-#: flatcamGUI/PreferencesUI.py:6687
+#: flatcamGUI/PreferencesUI.py:7193
msgid ""
"A tool to check if Gerber files are within a set\n"
"of Manufacturing Rules."
@@ -11987,38 +12424,38 @@ msgstr ""
"conjunto\n"
"de las normas de fabricación."
-#: flatcamGUI/PreferencesUI.py:6697 flatcamTools/ToolRulesCheck.py:256
-#: flatcamTools/ToolRulesCheck.py:920
+#: flatcamGUI/PreferencesUI.py:7203 flatcamTools/ToolRulesCheck.py:265
+#: flatcamTools/ToolRulesCheck.py:929
msgid "Trace Size"
msgstr "Tamaño de traza"
-#: flatcamGUI/PreferencesUI.py:6699 flatcamTools/ToolRulesCheck.py:258
+#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolRulesCheck.py:267
msgid "This checks if the minimum size for traces is met."
msgstr "Esto comprueba si se cumple el tamaño mínimo para las trazas."
-#: flatcamGUI/PreferencesUI.py:6709 flatcamGUI/PreferencesUI.py:6729
-#: flatcamGUI/PreferencesUI.py:6749 flatcamGUI/PreferencesUI.py:6769
-#: flatcamGUI/PreferencesUI.py:6789 flatcamGUI/PreferencesUI.py:6809
-#: flatcamGUI/PreferencesUI.py:6829 flatcamGUI/PreferencesUI.py:6849
-#: flatcamGUI/PreferencesUI.py:6871 flatcamGUI/PreferencesUI.py:6891
-#: flatcamTools/ToolRulesCheck.py:268 flatcamTools/ToolRulesCheck.py:290
-#: flatcamTools/ToolRulesCheck.py:313 flatcamTools/ToolRulesCheck.py:336
-#: flatcamTools/ToolRulesCheck.py:359 flatcamTools/ToolRulesCheck.py:382
-#: flatcamTools/ToolRulesCheck.py:405 flatcamTools/ToolRulesCheck.py:428
-#: flatcamTools/ToolRulesCheck.py:453 flatcamTools/ToolRulesCheck.py:476
+#: flatcamGUI/PreferencesUI.py:7215 flatcamGUI/PreferencesUI.py:7235
+#: flatcamGUI/PreferencesUI.py:7255 flatcamGUI/PreferencesUI.py:7275
+#: flatcamGUI/PreferencesUI.py:7295 flatcamGUI/PreferencesUI.py:7315
+#: flatcamGUI/PreferencesUI.py:7335 flatcamGUI/PreferencesUI.py:7355
+#: flatcamGUI/PreferencesUI.py:7377 flatcamGUI/PreferencesUI.py:7397
+#: flatcamTools/ToolRulesCheck.py:277 flatcamTools/ToolRulesCheck.py:299
+#: flatcamTools/ToolRulesCheck.py:322 flatcamTools/ToolRulesCheck.py:345
+#: flatcamTools/ToolRulesCheck.py:368 flatcamTools/ToolRulesCheck.py:391
+#: flatcamTools/ToolRulesCheck.py:414 flatcamTools/ToolRulesCheck.py:437
+#: flatcamTools/ToolRulesCheck.py:462 flatcamTools/ToolRulesCheck.py:485
msgid "Min value"
msgstr "Valor mínimo"
-#: flatcamGUI/PreferencesUI.py:6711 flatcamTools/ToolRulesCheck.py:270
+#: flatcamGUI/PreferencesUI.py:7217 flatcamTools/ToolRulesCheck.py:279
msgid "Minimum acceptable trace size."
msgstr "Tamaño de traza mínimo aceptable."
-#: flatcamGUI/PreferencesUI.py:6716 flatcamTools/ToolRulesCheck.py:277
-#: flatcamTools/ToolRulesCheck.py:1148 flatcamTools/ToolRulesCheck.py:1178
+#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolRulesCheck.py:286
+#: flatcamTools/ToolRulesCheck.py:1157 flatcamTools/ToolRulesCheck.py:1187
msgid "Copper to Copper clearance"
msgstr "Distancia de Cobre a Cobre"
-#: flatcamGUI/PreferencesUI.py:6718 flatcamTools/ToolRulesCheck.py:279
+#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolRulesCheck.py:288
msgid ""
"This checks if the minimum clearance between copper\n"
"features is met."
@@ -12026,23 +12463,23 @@ msgstr ""
"Esto comprueba si la distancia mínima entre cobre\n"
"huellas se cumplen."
-#: flatcamGUI/PreferencesUI.py:6731 flatcamGUI/PreferencesUI.py:6751
-#: flatcamGUI/PreferencesUI.py:6771 flatcamGUI/PreferencesUI.py:6791
-#: flatcamGUI/PreferencesUI.py:6811 flatcamGUI/PreferencesUI.py:6831
-#: flatcamGUI/PreferencesUI.py:6893 flatcamTools/ToolRulesCheck.py:292
-#: flatcamTools/ToolRulesCheck.py:315 flatcamTools/ToolRulesCheck.py:338
-#: flatcamTools/ToolRulesCheck.py:361 flatcamTools/ToolRulesCheck.py:384
-#: flatcamTools/ToolRulesCheck.py:407 flatcamTools/ToolRulesCheck.py:455
+#: flatcamGUI/PreferencesUI.py:7237 flatcamGUI/PreferencesUI.py:7257
+#: flatcamGUI/PreferencesUI.py:7277 flatcamGUI/PreferencesUI.py:7297
+#: flatcamGUI/PreferencesUI.py:7317 flatcamGUI/PreferencesUI.py:7337
+#: flatcamGUI/PreferencesUI.py:7399 flatcamTools/ToolRulesCheck.py:301
+#: flatcamTools/ToolRulesCheck.py:324 flatcamTools/ToolRulesCheck.py:347
+#: flatcamTools/ToolRulesCheck.py:370 flatcamTools/ToolRulesCheck.py:393
+#: flatcamTools/ToolRulesCheck.py:416 flatcamTools/ToolRulesCheck.py:464
msgid "Minimum acceptable clearance value."
msgstr "Valor mínimo de distancia aceptable."
-#: flatcamGUI/PreferencesUI.py:6736 flatcamTools/ToolRulesCheck.py:300
-#: flatcamTools/ToolRulesCheck.py:1208 flatcamTools/ToolRulesCheck.py:1214
-#: flatcamTools/ToolRulesCheck.py:1227 flatcamTools/ToolRulesCheck.py:1234
+#: flatcamGUI/PreferencesUI.py:7242 flatcamTools/ToolRulesCheck.py:309
+#: flatcamTools/ToolRulesCheck.py:1217 flatcamTools/ToolRulesCheck.py:1223
+#: flatcamTools/ToolRulesCheck.py:1236 flatcamTools/ToolRulesCheck.py:1243
msgid "Copper to Outline clearance"
msgstr "Distancia de Cobre a Contorno"
-#: flatcamGUI/PreferencesUI.py:6738 flatcamTools/ToolRulesCheck.py:302
+#: flatcamGUI/PreferencesUI.py:7244 flatcamTools/ToolRulesCheck.py:311
msgid ""
"This checks if the minimum clearance between copper\n"
"features and the outline is met."
@@ -12050,11 +12487,11 @@ msgstr ""
"Esto comprueba si la distancia mínima entre cobre\n"
"huellas y el esquema se cumple."
-#: flatcamGUI/PreferencesUI.py:6756 flatcamTools/ToolRulesCheck.py:323
+#: flatcamGUI/PreferencesUI.py:7262 flatcamTools/ToolRulesCheck.py:332
msgid "Silk to Silk Clearance"
msgstr "Distancia de Serigrafía a Serigrafía"
-#: flatcamGUI/PreferencesUI.py:6758 flatcamTools/ToolRulesCheck.py:325
+#: flatcamGUI/PreferencesUI.py:7264 flatcamTools/ToolRulesCheck.py:334
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and silkscreen features is met."
@@ -12062,13 +12499,13 @@ msgstr ""
"Esto comprueba si la distancia mínima entre serigrafía\n"
"huellas y huellas de serigrafía se cumplen."
-#: flatcamGUI/PreferencesUI.py:6776 flatcamTools/ToolRulesCheck.py:346
-#: flatcamTools/ToolRulesCheck.py:1317 flatcamTools/ToolRulesCheck.py:1323
-#: flatcamTools/ToolRulesCheck.py:1341
+#: flatcamGUI/PreferencesUI.py:7282 flatcamTools/ToolRulesCheck.py:355
+#: flatcamTools/ToolRulesCheck.py:1326 flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1350
msgid "Silk to Solder Mask Clearance"
msgstr "Serigrafía para Soldar Máscara Distancia"
-#: flatcamGUI/PreferencesUI.py:6778 flatcamTools/ToolRulesCheck.py:348
+#: flatcamGUI/PreferencesUI.py:7284 flatcamTools/ToolRulesCheck.py:357
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and soldermask features is met."
@@ -12076,13 +12513,13 @@ msgstr ""
"Esto comprueba si la distancia mínima entre serigrafía\n"
"Traces y soldermask traces se cumplen."
-#: flatcamGUI/PreferencesUI.py:6796 flatcamTools/ToolRulesCheck.py:369
-#: flatcamTools/ToolRulesCheck.py:1371 flatcamTools/ToolRulesCheck.py:1377
-#: flatcamTools/ToolRulesCheck.py:1391 flatcamTools/ToolRulesCheck.py:1398
+#: flatcamGUI/PreferencesUI.py:7302 flatcamTools/ToolRulesCheck.py:378
+#: flatcamTools/ToolRulesCheck.py:1380 flatcamTools/ToolRulesCheck.py:1386
+#: flatcamTools/ToolRulesCheck.py:1400 flatcamTools/ToolRulesCheck.py:1407
msgid "Silk to Outline Clearance"
msgstr "Serigrafía para Contorno Distancia"
-#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolRulesCheck.py:371
+#: flatcamGUI/PreferencesUI.py:7304 flatcamTools/ToolRulesCheck.py:380
msgid ""
"This checks if the minimum clearance between silk\n"
"features and the outline is met."
@@ -12090,12 +12527,12 @@ msgstr ""
"Esto verifica si el espacio libre mínimo entre la serigrafía\n"
"huellas y el contorno se cumple."
-#: flatcamGUI/PreferencesUI.py:6816 flatcamTools/ToolRulesCheck.py:392
-#: flatcamTools/ToolRulesCheck.py:1409 flatcamTools/ToolRulesCheck.py:1436
+#: flatcamGUI/PreferencesUI.py:7322 flatcamTools/ToolRulesCheck.py:401
+#: flatcamTools/ToolRulesCheck.py:1418 flatcamTools/ToolRulesCheck.py:1445
msgid "Minimum Solder Mask Sliver"
msgstr "Astilla de máscara de soldadura mínima"
-#: flatcamGUI/PreferencesUI.py:6818 flatcamTools/ToolRulesCheck.py:394
+#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolRulesCheck.py:403
msgid ""
"This checks if the minimum clearance between soldermask\n"
"features and soldermask features is met."
@@ -12103,13 +12540,13 @@ msgstr ""
"Esto verifica si la distancia mínima entre la máscara de soldadura\n"
"rastros y rastros de máscara de soldadura se cumplen."
-#: flatcamGUI/PreferencesUI.py:6836 flatcamTools/ToolRulesCheck.py:415
-#: flatcamTools/ToolRulesCheck.py:1474 flatcamTools/ToolRulesCheck.py:1480
-#: flatcamTools/ToolRulesCheck.py:1496 flatcamTools/ToolRulesCheck.py:1503
+#: flatcamGUI/PreferencesUI.py:7342 flatcamTools/ToolRulesCheck.py:424
+#: flatcamTools/ToolRulesCheck.py:1483 flatcamTools/ToolRulesCheck.py:1489
+#: flatcamTools/ToolRulesCheck.py:1505 flatcamTools/ToolRulesCheck.py:1512
msgid "Minimum Annular Ring"
msgstr "Anillo anular mínimo"
-#: flatcamGUI/PreferencesUI.py:6838 flatcamTools/ToolRulesCheck.py:417
+#: flatcamGUI/PreferencesUI.py:7344 flatcamTools/ToolRulesCheck.py:426
msgid ""
"This checks if the minimum copper ring left by drilling\n"
"a hole into a pad is met."
@@ -12117,16 +12554,16 @@ msgstr ""
"Esto verifica si queda el anillo de cobre mínimo al perforar\n"
"Se encuentra un agujero en una almohadilla."
-#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolRulesCheck.py:430
+#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolRulesCheck.py:439
msgid "Minimum acceptable ring value."
msgstr "Valor mínimo aceptable del anillo."
-#: flatcamGUI/PreferencesUI.py:6858 flatcamTools/ToolRulesCheck.py:440
-#: flatcamTools/ToolRulesCheck.py:864
+#: flatcamGUI/PreferencesUI.py:7364 flatcamTools/ToolRulesCheck.py:449
+#: flatcamTools/ToolRulesCheck.py:873
msgid "Hole to Hole Clearance"
msgstr "Distancia entre Agujeros"
-#: flatcamGUI/PreferencesUI.py:6860 flatcamTools/ToolRulesCheck.py:442
+#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolRulesCheck.py:451
msgid ""
"This checks if the minimum clearance between a drill hole\n"
"and another drill hole is met."
@@ -12134,16 +12571,16 @@ msgstr ""
"Esto verifica si la distancia mínima entre un taladro\n"
"y se encuentra otro taladro."
-#: flatcamGUI/PreferencesUI.py:6873 flatcamTools/ToolRulesCheck.py:478
+#: flatcamGUI/PreferencesUI.py:7379 flatcamTools/ToolRulesCheck.py:487
msgid "Minimum acceptable drill size."
msgstr "Tamaño mínimo aceptable de perforación."
-#: flatcamGUI/PreferencesUI.py:6878 flatcamTools/ToolRulesCheck.py:463
-#: flatcamTools/ToolRulesCheck.py:838
+#: flatcamGUI/PreferencesUI.py:7384 flatcamTools/ToolRulesCheck.py:472
+#: flatcamTools/ToolRulesCheck.py:847
msgid "Hole Size"
msgstr "Tamaño del Agujero"
-#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolRulesCheck.py:465
+#: flatcamGUI/PreferencesUI.py:7386 flatcamTools/ToolRulesCheck.py:474
msgid ""
"This checks if the drill holes\n"
"sizes are above the threshold."
@@ -12151,11 +12588,11 @@ msgstr ""
"Esto comprueba si los agujeros de perforación\n"
"Los tamaños están por encima del umbral."
-#: flatcamGUI/PreferencesUI.py:6905
+#: flatcamGUI/PreferencesUI.py:7411
msgid "Optimal Tool Options"
msgstr "Opciones de Herram. Óptimas"
-#: flatcamGUI/PreferencesUI.py:6911
+#: flatcamGUI/PreferencesUI.py:7417
msgid ""
"A tool to find the minimum distance between\n"
"every two Gerber geometric elements"
@@ -12163,20 +12600,20 @@ msgstr ""
"Una herramienta para encontrar la distancia mínima entre\n"
"cada dos elementos geométricos de Gerber"
-#: flatcamGUI/PreferencesUI.py:6926 flatcamTools/ToolOptimal.py:78
+#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolOptimal.py:79
msgid "Precision"
msgstr "Precisión"
-#: flatcamGUI/PreferencesUI.py:6928
+#: flatcamGUI/PreferencesUI.py:7434
msgid "Number of decimals for the distances and coordinates in this tool."
msgstr ""
"Número de decimales para las distancias y coordenadas en esta herramienta."
-#: flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7448
msgid "QRCode Tool Options"
msgstr "Opciones de la herram. QRCode"
-#: flatcamGUI/PreferencesUI.py:6948
+#: flatcamGUI/PreferencesUI.py:7454
msgid ""
"A tool to create a QRCode that can be inserted\n"
"into a selected Gerber file, or it can be exported as a file."
@@ -12184,11 +12621,11 @@ msgstr ""
"Una herramienta para crear un QRCode que se puede insertar\n"
"en un archivo Gerber seleccionado, o puede exportarse como un archivo."
-#: flatcamGUI/PreferencesUI.py:6960 flatcamTools/ToolQRCode.py:99
+#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolQRCode.py:100
msgid "Version"
msgstr "Versión"
-#: flatcamGUI/PreferencesUI.py:6962 flatcamTools/ToolQRCode.py:101
+#: flatcamGUI/PreferencesUI.py:7468 flatcamTools/ToolQRCode.py:102
msgid ""
"QRCode version can have values from 1 (21x21 boxes)\n"
"to 40 (177x177 boxes)."
@@ -12196,12 +12633,12 @@ msgstr ""
"La versión de QRCode puede tener valores de 1 (21x21 elementos)\n"
"a 40 (177x177 elementos)."
-#: flatcamGUI/PreferencesUI.py:6973 flatcamTools/ToolQRCode.py:112
+#: flatcamGUI/PreferencesUI.py:7479 flatcamTools/ToolQRCode.py:113
msgid "Error correction"
msgstr "Corrección de error"
-#: flatcamGUI/PreferencesUI.py:6975 flatcamGUI/PreferencesUI.py:6986
-#: flatcamTools/ToolQRCode.py:114 flatcamTools/ToolQRCode.py:125
+#: flatcamGUI/PreferencesUI.py:7481 flatcamGUI/PreferencesUI.py:7492
+#: flatcamTools/ToolQRCode.py:115 flatcamTools/ToolQRCode.py:126
#, python-format
msgid ""
"Parameter that controls the error correction used for the QR Code.\n"
@@ -12217,11 +12654,11 @@ msgstr ""
"Q = se puede corregir un máximo de 25%% de errores\n"
"H = máximo 30 %% de errores pueden ser corregidos."
-#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolQRCode.py:135
+#: flatcamGUI/PreferencesUI.py:7502 flatcamTools/ToolQRCode.py:136
msgid "Box Size"
msgstr "Tamaño de Elementos"
-#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolQRCode.py:137
+#: flatcamGUI/PreferencesUI.py:7504 flatcamTools/ToolQRCode.py:138
msgid ""
"Box size control the overall size of the QRcode\n"
"by adjusting the size of each box in the code."
@@ -12229,11 +12666,11 @@ msgstr ""
"El tamaño del elemento controla el tamaño general del código QR\n"
"ajustando el tamaño de cada cuadro en el código."
-#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolQRCode.py:148
+#: flatcamGUI/PreferencesUI.py:7515 flatcamTools/ToolQRCode.py:149
msgid "Border Size"
msgstr "Tamaño de borde"
-#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolQRCode.py:150
+#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolQRCode.py:151
msgid ""
"Size of the QRCode border. How many boxes thick is the border.\n"
"Default value is 4. The width of the clearance around the QRCode."
@@ -12242,23 +12679,23 @@ msgstr ""
"El valor predeterminado es 4. El ancho del espacio libre alrededor del "
"Código QR."
-#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolQRCode.py:162
+#: flatcamGUI/PreferencesUI.py:7528 flatcamTools/ToolQRCode.py:162
msgid "QRCode Data"
msgstr "Datos de QRCode"
-#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolQRCode.py:164
+#: flatcamGUI/PreferencesUI.py:7530 flatcamTools/ToolQRCode.py:164
msgid "QRCode Data. Alphanumeric text to be encoded in the QRCode."
msgstr "Datos de QRCode. Texto alfanumérico a codificar en el Código QR."
-#: flatcamGUI/PreferencesUI.py:7028 flatcamTools/ToolQRCode.py:168
+#: flatcamGUI/PreferencesUI.py:7534 flatcamTools/ToolQRCode.py:168
msgid "Add here the text to be included in the QRCode..."
msgstr "Agregue aquí el texto que se incluirá en el QRCode ..."
-#: flatcamGUI/PreferencesUI.py:7034 flatcamTools/ToolQRCode.py:174
+#: flatcamGUI/PreferencesUI.py:7540 flatcamTools/ToolQRCode.py:174
msgid "Polarity"
msgstr "Polaridad"
-#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolQRCode.py:176
+#: flatcamGUI/PreferencesUI.py:7542 flatcamTools/ToolQRCode.py:176
msgid ""
"Choose the polarity of the QRCode.\n"
"It can be drawn in a negative way (squares are clear)\n"
@@ -12268,17 +12705,17 @@ msgstr ""
"Se puede dibujar de forma negativa (los cuadrados son claros)\n"
"o de manera positiva (los cuadrados son opacos)."
-#: flatcamGUI/PreferencesUI.py:7040 flatcamTools/ToolFilm.py:296
+#: flatcamGUI/PreferencesUI.py:7546 flatcamTools/ToolFilm.py:296
#: flatcamTools/ToolQRCode.py:180
msgid "Negative"
msgstr "Negativa"
-#: flatcamGUI/PreferencesUI.py:7041 flatcamTools/ToolFilm.py:295
+#: flatcamGUI/PreferencesUI.py:7547 flatcamTools/ToolFilm.py:295
#: flatcamTools/ToolQRCode.py:181
msgid "Positive"
msgstr "Positivo"
-#: flatcamGUI/PreferencesUI.py:7043 flatcamTools/ToolQRCode.py:183
+#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolQRCode.py:183
msgid ""
"Choose the type of QRCode to be created.\n"
"If added on a Silkscreen Gerber file the QRCode may\n"
@@ -12290,7 +12727,7 @@ msgstr ""
"ser agregado como positivo Si se agrega a un cobre Gerber\n"
"entonces quizás el QRCode se pueda agregar como negativo."
-#: flatcamGUI/PreferencesUI.py:7054 flatcamGUI/PreferencesUI.py:7060
+#: flatcamGUI/PreferencesUI.py:7560 flatcamGUI/PreferencesUI.py:7566
#: flatcamTools/ToolQRCode.py:194 flatcamTools/ToolQRCode.py:200
msgid ""
"The bounding box, meaning the empty space that surrounds\n"
@@ -12299,29 +12736,29 @@ msgstr ""
"El cuadro delimitador, que significa el espacio vacío que rodea\n"
"La geometría QRCode, puede tener una forma redondeada o cuadrada."
-#: flatcamGUI/PreferencesUI.py:7067 flatcamTools/ToolQRCode.py:228
+#: flatcamGUI/PreferencesUI.py:7573 flatcamTools/ToolQRCode.py:228
msgid "Fill Color"
msgstr "Color de relleno"
-#: flatcamGUI/PreferencesUI.py:7069 flatcamTools/ToolQRCode.py:230
+#: flatcamGUI/PreferencesUI.py:7575 flatcamTools/ToolQRCode.py:230
msgid "Set the QRCode fill color (squares color)."
msgstr ""
"Establezca el color de relleno del código QR (color de cuadrados / "
"elementos)."
-#: flatcamGUI/PreferencesUI.py:7088 flatcamTools/ToolQRCode.py:252
+#: flatcamGUI/PreferencesUI.py:7594 flatcamTools/ToolQRCode.py:252
msgid "Back Color"
msgstr "Color de fondo"
-#: flatcamGUI/PreferencesUI.py:7090 flatcamTools/ToolQRCode.py:254
+#: flatcamGUI/PreferencesUI.py:7596 flatcamTools/ToolQRCode.py:254
msgid "Set the QRCode background color."
msgstr "Establece el color de fondo del QRCode."
-#: flatcamGUI/PreferencesUI.py:7130
+#: flatcamGUI/PreferencesUI.py:7636
msgid "Copper Thieving Tool Options"
msgstr "Opc. de Herram. de Copper Thieving"
-#: flatcamGUI/PreferencesUI.py:7142
+#: flatcamGUI/PreferencesUI.py:7648
msgid ""
"A tool to generate a Copper Thieving that can be added\n"
"to a selected Gerber file."
@@ -12329,16 +12766,16 @@ msgstr ""
"Una herramienta para generar un ladrón de cobre que se puede agregar\n"
"a un archivo Gerber seleccionado."
-#: flatcamGUI/PreferencesUI.py:7150
+#: flatcamGUI/PreferencesUI.py:7656
msgid "Number of steps (lines) used to interpolate circles."
msgstr "Número de pasos (líneas) utilizados para interpolar círculos."
-#: flatcamGUI/PreferencesUI.py:7160 flatcamGUI/PreferencesUI.py:7364
-#: flatcamTools/ToolCopperThieving.py:96 flatcamTools/ToolCopperThieving.py:429
+#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7870
+#: flatcamTools/ToolCopperThieving.py:97 flatcamTools/ToolCopperThieving.py:432
msgid "Clearance"
msgstr "Despeje"
-#: flatcamGUI/PreferencesUI.py:7162
+#: flatcamGUI/PreferencesUI.py:7668
msgid ""
"This set the distance between the copper Thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
@@ -12348,22 +12785,11 @@ msgstr ""
"(el relleno de polígono puede dividirse en múltiples polígonos)\n"
"y las huellas de cobre en el archivo Gerber."
-#: flatcamGUI/PreferencesUI.py:7190 flatcamTools/ToolCopperThieving.py:126
-#: flatcamTools/ToolNonCopperClear.py:430 flatcamTools/ToolPaint.py:308
-msgid "Area Selection"
-msgstr "Selección de área"
-
-#: flatcamGUI/PreferencesUI.py:7191 flatcamTools/ToolCopperThieving.py:127
-#: flatcamTools/ToolNonCopperClear.py:431 flatcamTools/ToolPaint.py:310
-msgid "Reference Object"
-msgstr "Objeto de referencia"
-
-#: flatcamGUI/PreferencesUI.py:7193 flatcamTools/ToolCopperThieving.py:129
-#: flatcamTools/ToolNonCopperClear.py:433
+#: flatcamGUI/PreferencesUI.py:7699 flatcamTools/ToolCopperThieving.py:130
msgid "Reference:"
msgstr "Referencia:"
-#: flatcamGUI/PreferencesUI.py:7195
+#: flatcamGUI/PreferencesUI.py:7701
msgid ""
"- 'Itself' - the copper Thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
@@ -12378,20 +12804,24 @@ msgstr ""
"- 'Objeto de referencia': robará cobre dentro del área especificada por otro "
"objeto."
-#: flatcamGUI/PreferencesUI.py:7204 flatcamTools/ToolCopperThieving.py:170
+#: flatcamGUI/PreferencesUI.py:7710 flatcamGUI/PreferencesUI.py:8175
+#: flatcamGUI/PreferencesUI.py:8287 flatcamGUI/PreferencesUI.py:8387
+#: flatcamGUI/PreferencesUI.py:8501 flatcamTools/ToolCopperThieving.py:172
+#: flatcamTools/ToolExtractDrills.py:102 flatcamTools/ToolExtractDrills.py:240
+#: flatcamTools/ToolPunchGerber.py:113 flatcamTools/ToolPunchGerber.py:268
msgid "Rectangular"
msgstr "Rectangular"
-#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolCopperThieving.py:171
+#: flatcamGUI/PreferencesUI.py:7711 flatcamTools/ToolCopperThieving.py:173
msgid "Minimal"
msgstr "Mínimo"
-#: flatcamGUI/PreferencesUI.py:7207 flatcamTools/ToolCopperThieving.py:173
+#: flatcamGUI/PreferencesUI.py:7713 flatcamTools/ToolCopperThieving.py:175
#: flatcamTools/ToolFilm.py:113
msgid "Box Type:"
msgstr "Tipo de cercado:"
-#: flatcamGUI/PreferencesUI.py:7209 flatcamTools/ToolCopperThieving.py:175
+#: flatcamGUI/PreferencesUI.py:7715 flatcamTools/ToolCopperThieving.py:177
msgid ""
"- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape."
@@ -12399,23 +12829,23 @@ msgstr ""
"- 'Rectangular': el cuadro delimitador tendrá forma rectangular.\n"
"- 'Mínimo': el cuadro delimitador tendrá forma de casco convexo."
-#: flatcamGUI/PreferencesUI.py:7223 flatcamTools/ToolCopperThieving.py:191
+#: flatcamGUI/PreferencesUI.py:7729 flatcamTools/ToolCopperThieving.py:193
msgid "Dots Grid"
msgstr "Cuadrícula de puntos"
-#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolCopperThieving.py:192
+#: flatcamGUI/PreferencesUI.py:7730 flatcamTools/ToolCopperThieving.py:194
msgid "Squares Grid"
msgstr "Cuadrícula de cuadrados"
-#: flatcamGUI/PreferencesUI.py:7225 flatcamTools/ToolCopperThieving.py:193
+#: flatcamGUI/PreferencesUI.py:7731 flatcamTools/ToolCopperThieving.py:195
msgid "Lines Grid"
msgstr "Cuadrícula de líneas"
-#: flatcamGUI/PreferencesUI.py:7227 flatcamTools/ToolCopperThieving.py:195
+#: flatcamGUI/PreferencesUI.py:7733 flatcamTools/ToolCopperThieving.py:197
msgid "Fill Type:"
msgstr "Tipo de relleno:"
-#: flatcamGUI/PreferencesUI.py:7229 flatcamTools/ToolCopperThieving.py:197
+#: flatcamGUI/PreferencesUI.py:7735 flatcamTools/ToolCopperThieving.py:199
msgid ""
"- 'Solid' - copper thieving will be a solid polygon.\n"
"- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n"
@@ -12429,54 +12859,54 @@ msgstr ""
"cuadrados.\n"
"- 'Cuadrícula de líneas': el área vacía se rellenará con un patrón de líneas."
-#: flatcamGUI/PreferencesUI.py:7237 flatcamTools/ToolCopperThieving.py:216
+#: flatcamGUI/PreferencesUI.py:7743 flatcamTools/ToolCopperThieving.py:218
msgid "Dots Grid Parameters"
msgstr "Parámetros de cuadrícula de puntos"
-#: flatcamGUI/PreferencesUI.py:7243 flatcamTools/ToolCopperThieving.py:222
+#: flatcamGUI/PreferencesUI.py:7749 flatcamTools/ToolCopperThieving.py:224
msgid "Dot diameter in Dots Grid."
msgstr "Diámetro de punto en cuadrícula de puntos."
-#: flatcamGUI/PreferencesUI.py:7254 flatcamGUI/PreferencesUI.py:7283
-#: flatcamGUI/PreferencesUI.py:7312 flatcamTools/ToolCopperThieving.py:233
-#: flatcamTools/ToolCopperThieving.py:273
-#: flatcamTools/ToolCopperThieving.py:313
+#: flatcamGUI/PreferencesUI.py:7760 flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:7818 flatcamTools/ToolCopperThieving.py:235
+#: flatcamTools/ToolCopperThieving.py:275
+#: flatcamTools/ToolCopperThieving.py:315
msgid "Spacing"
msgstr "Spacing"
-#: flatcamGUI/PreferencesUI.py:7256 flatcamTools/ToolCopperThieving.py:235
+#: flatcamGUI/PreferencesUI.py:7762 flatcamTools/ToolCopperThieving.py:237
msgid "Distance between each two dots in Dots Grid."
msgstr "Distancia entre cada dos puntos en la cuadrícula de puntos."
-#: flatcamGUI/PreferencesUI.py:7266 flatcamTools/ToolCopperThieving.py:256
+#: flatcamGUI/PreferencesUI.py:7772 flatcamTools/ToolCopperThieving.py:258
msgid "Squares Grid Parameters"
msgstr "Parámetros de la cuadrícula de cuadrados"
-#: flatcamGUI/PreferencesUI.py:7272 flatcamTools/ToolCopperThieving.py:262
+#: flatcamGUI/PreferencesUI.py:7778 flatcamTools/ToolCopperThieving.py:264
msgid "Square side size in Squares Grid."
msgstr "Tamaño del lado cuadrado en cuadrícula de cuadrados."
-#: flatcamGUI/PreferencesUI.py:7285 flatcamTools/ToolCopperThieving.py:275
+#: flatcamGUI/PreferencesUI.py:7791 flatcamTools/ToolCopperThieving.py:277
msgid "Distance between each two squares in Squares Grid."
msgstr "Distancia entre cada dos cuadrados en la cuadrícula de cuadrados."
-#: flatcamGUI/PreferencesUI.py:7295 flatcamTools/ToolCopperThieving.py:296
+#: flatcamGUI/PreferencesUI.py:7801 flatcamTools/ToolCopperThieving.py:298
msgid "Lines Grid Parameters"
msgstr "Parámetros de cuadrícula de líneas"
-#: flatcamGUI/PreferencesUI.py:7301 flatcamTools/ToolCopperThieving.py:302
+#: flatcamGUI/PreferencesUI.py:7807 flatcamTools/ToolCopperThieving.py:304
msgid "Line thickness size in Lines Grid."
msgstr "Tamaño del grosor de línea en la cuadrícula de líneas."
-#: flatcamGUI/PreferencesUI.py:7314 flatcamTools/ToolCopperThieving.py:315
+#: flatcamGUI/PreferencesUI.py:7820 flatcamTools/ToolCopperThieving.py:317
msgid "Distance between each two lines in Lines Grid."
msgstr "Distancia entre cada dos líneas en la cuadrícula de líneas."
-#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolCopperThieving.py:353
+#: flatcamGUI/PreferencesUI.py:7830 flatcamTools/ToolCopperThieving.py:355
msgid "Robber Bar Parameters"
msgstr "Parámetros de la Robber Bar"
-#: flatcamGUI/PreferencesUI.py:7326 flatcamTools/ToolCopperThieving.py:355
+#: flatcamGUI/PreferencesUI.py:7832 flatcamTools/ToolCopperThieving.py:357
msgid ""
"Parameters used for the robber bar.\n"
"Robber bar = copper border to help in pattern hole plating."
@@ -12484,27 +12914,27 @@ msgstr ""
"Parámetros utilizados para la Robber Bar.\n"
"Robber Bar = borde de cobre para ayudar en el enchapado de agujeros."
-#: flatcamGUI/PreferencesUI.py:7334 flatcamTools/ToolCopperThieving.py:363
+#: flatcamGUI/PreferencesUI.py:7840 flatcamTools/ToolCopperThieving.py:365
msgid "Bounding box margin for robber bar."
msgstr "Margen límite del recinto para Robber Bar."
-#: flatcamGUI/PreferencesUI.py:7345 flatcamTools/ToolCopperThieving.py:374
+#: flatcamGUI/PreferencesUI.py:7851 flatcamTools/ToolCopperThieving.py:376
msgid "Thickness"
msgstr "Espesor"
-#: flatcamGUI/PreferencesUI.py:7347 flatcamTools/ToolCopperThieving.py:376
+#: flatcamGUI/PreferencesUI.py:7853 flatcamTools/ToolCopperThieving.py:378
msgid "The robber bar thickness."
msgstr "El grosor de la Robber Bar."
-#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolCopperThieving.py:407
+#: flatcamGUI/PreferencesUI.py:7863 flatcamTools/ToolCopperThieving.py:409
msgid "Pattern Plating Mask"
msgstr "Máscara de baño de patrones"
-#: flatcamGUI/PreferencesUI.py:7359 flatcamTools/ToolCopperThieving.py:409
+#: flatcamGUI/PreferencesUI.py:7865 flatcamTools/ToolCopperThieving.py:411
msgid "Generate a mask for pattern plating."
msgstr "Genere una máscara para el enchapado de patrones."
-#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolCopperThieving.py:431
+#: flatcamGUI/PreferencesUI.py:7872 flatcamTools/ToolCopperThieving.py:434
msgid ""
"The distance between the possible copper thieving elements\n"
"and/or robber bar and the actual openings in the mask."
@@ -12512,16 +12942,17 @@ msgstr ""
"La distancia entre los posibles elementos de Copper Thieving.\n"
"y / o Robber Bar y las aberturas reales en la máscara."
-#: flatcamGUI/PreferencesUI.py:7385
+#: flatcamGUI/PreferencesUI.py:7891
msgid "Fiducials Tool Options"
msgstr "Opc. de Herram. Fiduciales"
-#: flatcamGUI/PreferencesUI.py:7396 flatcamGUI/PreferencesUI.py:7512
-#: flatcamTools/ToolCopperThieving.py:91 flatcamTools/ToolFiducials.py:151
+#: flatcamGUI/PreferencesUI.py:7902 flatcamGUI/PreferencesUI.py:8018
+#: flatcamGUI/PreferencesUI.py:8137 flatcamGUI/PreferencesUI.py:8349
+#: flatcamTools/ToolCopperThieving.py:92 flatcamTools/ToolFiducials.py:151
msgid "Parameters used for this tool."
msgstr "Parámetros utilizados para esta herramienta."
-#: flatcamGUI/PreferencesUI.py:7403 flatcamTools/ToolFiducials.py:158
+#: flatcamGUI/PreferencesUI.py:7909 flatcamTools/ToolFiducials.py:158
msgid ""
"This set the fiducial diameter if fiducial type is circular,\n"
"otherwise is the size of the fiducial.\n"
@@ -12531,19 +12962,19 @@ msgstr ""
"de lo contrario es el tamaño del fiducial.\n"
"La apertura de la máscara de soldadura es el doble que eso."
-#: flatcamGUI/PreferencesUI.py:7431 flatcamTools/ToolFiducials.py:186
+#: flatcamGUI/PreferencesUI.py:7937 flatcamTools/ToolFiducials.py:186
msgid "Auto"
msgstr "Auto"
-#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolFiducials.py:187
+#: flatcamGUI/PreferencesUI.py:7938 flatcamTools/ToolFiducials.py:187
msgid "Manual"
msgstr "Manual"
-#: flatcamGUI/PreferencesUI.py:7434 flatcamTools/ToolFiducials.py:189
+#: flatcamGUI/PreferencesUI.py:7940 flatcamTools/ToolFiducials.py:189
msgid "Mode:"
msgstr "Modo:"
-#: flatcamGUI/PreferencesUI.py:7436
+#: flatcamGUI/PreferencesUI.py:7942
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding "
"box.\n"
@@ -12553,19 +12984,19 @@ msgstr ""
"delimitador.\n"
"- 'Manual' - colocación manual de fiduciales."
-#: flatcamGUI/PreferencesUI.py:7444 flatcamTools/ToolFiducials.py:199
+#: flatcamGUI/PreferencesUI.py:7950 flatcamTools/ToolFiducials.py:199
msgid "Up"
msgstr "Arriba"
-#: flatcamGUI/PreferencesUI.py:7445 flatcamTools/ToolFiducials.py:200
+#: flatcamGUI/PreferencesUI.py:7951 flatcamTools/ToolFiducials.py:200
msgid "Down"
msgstr "Abajo"
-#: flatcamGUI/PreferencesUI.py:7448 flatcamTools/ToolFiducials.py:203
+#: flatcamGUI/PreferencesUI.py:7954 flatcamTools/ToolFiducials.py:203
msgid "Second fiducial"
msgstr "Segundo fiducial"
-#: flatcamGUI/PreferencesUI.py:7450 flatcamTools/ToolFiducials.py:205
+#: flatcamGUI/PreferencesUI.py:7956 flatcamTools/ToolFiducials.py:205
msgid ""
"The position for the second fiducial.\n"
"- 'Up' - the order is: bottom-left, top-left, top-right.\n"
@@ -12580,19 +13011,19 @@ msgstr ""
"- 'Ninguno' - no hay un segundo fiducial. El orden es: abajo a la izquierda, "
"arriba a la derecha."
-#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolFiducials.py:221
+#: flatcamGUI/PreferencesUI.py:7972 flatcamTools/ToolFiducials.py:221
msgid "Cross"
msgstr "Cruce"
-#: flatcamGUI/PreferencesUI.py:7467 flatcamTools/ToolFiducials.py:222
+#: flatcamGUI/PreferencesUI.py:7973 flatcamTools/ToolFiducials.py:222
msgid "Chess"
msgstr "Ajedrez"
-#: flatcamGUI/PreferencesUI.py:7470 flatcamTools/ToolFiducials.py:224
+#: flatcamGUI/PreferencesUI.py:7976 flatcamTools/ToolFiducials.py:224
msgid "Fiducial Type"
msgstr "Tipo fiducial"
-#: flatcamGUI/PreferencesUI.py:7472 flatcamTools/ToolFiducials.py:226
+#: flatcamGUI/PreferencesUI.py:7978 flatcamTools/ToolFiducials.py:226
msgid ""
"The type of fiducial.\n"
"- 'Circular' - this is the regular fiducial.\n"
@@ -12604,19 +13035,19 @@ msgstr ""
"- 'Cruce' - líneas cruzadas fiduciales.\n"
"- 'Ajedrez' - patrón de ajedrez fiducial."
-#: flatcamGUI/PreferencesUI.py:7481 flatcamTools/ToolFiducials.py:235
+#: flatcamGUI/PreferencesUI.py:7987 flatcamTools/ToolFiducials.py:235
msgid "Line thickness"
msgstr "Grosor de la línea"
-#: flatcamGUI/PreferencesUI.py:7501
+#: flatcamGUI/PreferencesUI.py:8007
msgid "Calibration Tool Options"
msgstr "Opc. de Herram. de Calibración"
-#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolCalibration.py:181
+#: flatcamGUI/PreferencesUI.py:8023 flatcamTools/ToolCalibration.py:181
msgid "Source Type"
msgstr "Tipo de Fuente"
-#: flatcamGUI/PreferencesUI.py:7518 flatcamTools/ToolCalibration.py:182
+#: flatcamGUI/PreferencesUI.py:8024 flatcamTools/ToolCalibration.py:182
msgid ""
"The source of calibration points.\n"
"It can be:\n"
@@ -12630,27 +13061,27 @@ msgstr ""
"- Libre -> haga clic libremente en el lienzo para adquirir los puntos de "
"calibración"
-#: flatcamGUI/PreferencesUI.py:7523 flatcamTools/ToolCalibration.py:187
+#: flatcamGUI/PreferencesUI.py:8029 flatcamTools/ToolCalibration.py:187
msgid "Free"
msgstr "Libre"
-#: flatcamGUI/PreferencesUI.py:7537 flatcamTools/ToolCalibration.py:76
+#: flatcamGUI/PreferencesUI.py:8043 flatcamTools/ToolCalibration.py:76
msgid "Height (Z) for travelling between the points."
msgstr "Altura (Z) para viajar entre los puntos."
-#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolCalibration.py:88
+#: flatcamGUI/PreferencesUI.py:8055 flatcamTools/ToolCalibration.py:88
msgid "Verification Z"
msgstr "Verificación Z"
-#: flatcamGUI/PreferencesUI.py:7551 flatcamTools/ToolCalibration.py:90
+#: flatcamGUI/PreferencesUI.py:8057 flatcamTools/ToolCalibration.py:90
msgid "Height (Z) for checking the point."
msgstr "Altura (Z) para verificar el punto."
-#: flatcamGUI/PreferencesUI.py:7563 flatcamTools/ToolCalibration.py:102
+#: flatcamGUI/PreferencesUI.py:8069 flatcamTools/ToolCalibration.py:102
msgid "Zero Z tool"
msgstr "Cero la Z para Herram."
-#: flatcamGUI/PreferencesUI.py:7565 flatcamTools/ToolCalibration.py:104
+#: flatcamGUI/PreferencesUI.py:8071 flatcamTools/ToolCalibration.py:104
msgid ""
"Include a sequence to zero the height (Z)\n"
"of the verification tool."
@@ -12658,11 +13089,11 @@ msgstr ""
"Incluya una secuencia para poner a cero la altura (Z)\n"
"de la herramienta de verificación."
-#: flatcamGUI/PreferencesUI.py:7574 flatcamTools/ToolCalibration.py:113
+#: flatcamGUI/PreferencesUI.py:8080 flatcamTools/ToolCalibration.py:113
msgid "Height (Z) for mounting the verification probe."
msgstr "Altura (Z) para montar la sonda de verificación."
-#: flatcamGUI/PreferencesUI.py:7588 flatcamTools/ToolCalibration.py:127
+#: flatcamGUI/PreferencesUI.py:8094 flatcamTools/ToolCalibration.py:127
msgid ""
"Toolchange X,Y position.\n"
"If no value is entered then the current\n"
@@ -12672,11 +13103,11 @@ msgstr ""
"Si no se ingresa ningún valor, entonces el actual\n"
"(x, y) se utilizará el punto,"
-#: flatcamGUI/PreferencesUI.py:7599 flatcamTools/ToolCalibration.py:153
+#: flatcamGUI/PreferencesUI.py:8105 flatcamTools/ToolCalibration.py:153
msgid "Second point"
msgstr "Segundo punto"
-#: flatcamGUI/PreferencesUI.py:7601 flatcamTools/ToolCalibration.py:155
+#: flatcamGUI/PreferencesUI.py:8107 flatcamTools/ToolCalibration.py:155
msgid ""
"Second point in the Gcode verification can be:\n"
"- top-left -> the user will align the PCB vertically\n"
@@ -12686,45 +13117,251 @@ msgstr ""
"- arriba a la izquierda -> el usuario alineará la PCB verticalmente\n"
"- abajo a la derecha -> el usuario alineará la PCB horizontalmente"
-#: flatcamGUI/PreferencesUI.py:7605 flatcamTools/ToolCalibration.py:159
-msgid "Top-Left"
-msgstr "Arriba a la izquierda"
+#: flatcamGUI/PreferencesUI.py:8126
+msgid "Extract Drills Options"
+msgstr "Opciones de Extracción de Taladros"
-#: flatcamGUI/PreferencesUI.py:7606 flatcamTools/ToolCalibration.py:160
-msgid "Bottom-Right"
-msgstr "Abajo a la derecha"
+#: flatcamGUI/PreferencesUI.py:8141 flatcamGUI/PreferencesUI.py:8353
+#: flatcamTools/ToolExtractDrills.py:68 flatcamTools/ToolPunchGerber.py:75
+msgid "Processed Pads Type"
+msgstr "Tipo de almohadillas procesadas"
-#: flatcamGUI/PreferencesUI.py:7620
+#: flatcamGUI/PreferencesUI.py:8143 flatcamGUI/PreferencesUI.py:8355
+#: flatcamTools/ToolExtractDrills.py:70 flatcamTools/ToolPunchGerber.py:77
+msgid ""
+"The type of pads shape to be processed.\n"
+"If the PCB has many SMD pads with rectangular pads,\n"
+"disable the Rectangular aperture."
+msgstr ""
+"El tipo de forma de almohadillas que se procesará.\n"
+"Si la PCB tiene muchas almohadillas SMD con almohadillas rectangulares,\n"
+"deshabilitar la apertura rectangular."
+
+#: flatcamGUI/PreferencesUI.py:8153 flatcamGUI/PreferencesUI.py:8365
+#: flatcamTools/ToolExtractDrills.py:80 flatcamTools/ToolPunchGerber.py:91
+msgid "Process Circular Pads."
+msgstr "Proceso de Almohadillas Circulares."
+
+#: flatcamGUI/PreferencesUI.py:8159 flatcamGUI/PreferencesUI.py:8261
+#: flatcamGUI/PreferencesUI.py:8371 flatcamGUI/PreferencesUI.py:8475
+#: flatcamTools/ToolExtractDrills.py:86 flatcamTools/ToolExtractDrills.py:214
+#: flatcamTools/ToolPunchGerber.py:97 flatcamTools/ToolPunchGerber.py:242
+msgid "Oblong"
+msgstr "Oblongo"
+
+#: flatcamGUI/PreferencesUI.py:8161 flatcamGUI/PreferencesUI.py:8373
+#: flatcamTools/ToolExtractDrills.py:88 flatcamTools/ToolPunchGerber.py:99
+msgid "Process Oblong Pads."
+msgstr "Procesar almohadillas oblongas."
+
+#: flatcamGUI/PreferencesUI.py:8169 flatcamGUI/PreferencesUI.py:8381
+#: flatcamTools/ToolExtractDrills.py:96 flatcamTools/ToolPunchGerber.py:107
+msgid "Process Square Pads."
+msgstr "Procesar almohadillas cuadradas."
+
+#: flatcamGUI/PreferencesUI.py:8177 flatcamGUI/PreferencesUI.py:8389
+#: flatcamTools/ToolExtractDrills.py:104 flatcamTools/ToolPunchGerber.py:115
+msgid "Process Rectangular Pads."
+msgstr "Proceso Almohadillas Rectangulares."
+
+#: flatcamGUI/PreferencesUI.py:8183 flatcamGUI/PreferencesUI.py:8300
+#: flatcamGUI/PreferencesUI.py:8395 flatcamGUI/PreferencesUI.py:8514
+#: flatcamTools/ToolExtractDrills.py:110 flatcamTools/ToolExtractDrills.py:253
+#: flatcamTools/ToolProperties.py:172 flatcamTools/ToolPunchGerber.py:121
+#: flatcamTools/ToolPunchGerber.py:281
+msgid "Others"
+msgstr "Otros"
+
+#: flatcamGUI/PreferencesUI.py:8185 flatcamGUI/PreferencesUI.py:8397
+#: flatcamTools/ToolExtractDrills.py:112 flatcamTools/ToolPunchGerber.py:123
+msgid "Process pads not in the categories above."
+msgstr "Procese los pads no en las categorías anteriores."
+
+#: flatcamGUI/PreferencesUI.py:8198 flatcamGUI/PreferencesUI.py:8222
+#: flatcamGUI/PreferencesUI.py:8411 flatcamGUI/PreferencesUI.py:8436
+#: flatcamTools/ToolExtractDrills.py:139 flatcamTools/ToolExtractDrills.py:156
+#: flatcamTools/ToolPunchGerber.py:150 flatcamTools/ToolPunchGerber.py:184
+msgid "Fixed Diameter"
+msgstr "Diámetro fijo"
+
+#: flatcamGUI/PreferencesUI.py:8199 flatcamGUI/PreferencesUI.py:8239
+#: flatcamGUI/PreferencesUI.py:8412 flatcamGUI/PreferencesUI.py:8453
+#: flatcamTools/ToolExtractDrills.py:140 flatcamTools/ToolExtractDrills.py:192
+#: flatcamTools/ToolPunchGerber.py:151 flatcamTools/ToolPunchGerber.py:214
+msgid "Fixed Annular Ring"
+msgstr "Anillo anular fijo"
+
+#: flatcamGUI/PreferencesUI.py:8200 flatcamGUI/PreferencesUI.py:8413
+#: flatcamTools/ToolExtractDrills.py:141 flatcamTools/ToolPunchGerber.py:152
+msgid "Proportional"
+msgstr "Proporcional"
+
+#: flatcamGUI/PreferencesUI.py:8206 flatcamTools/ToolExtractDrills.py:130
+msgid ""
+"The method for processing pads. Can be:\n"
+"- Fixed Diameter -> all holes will have a set size\n"
+"- Fixed Annular Ring -> all holes will have a set annular ring\n"
+"- Proportional -> each hole size will be a fraction of the pad size"
+msgstr ""
+"El método para procesar almohadillas. Puede ser:\n"
+"- Diámetro fijo -> todos los agujeros tendrán un tamaño establecido\n"
+"- Anillo anular fijo -> todos los agujeros tendrán un anillo anular "
+"establecido\n"
+"- Proporcional -> cada tamaño de agujero será una fracción del tamaño de la "
+"almohadilla"
+
+#: flatcamGUI/PreferencesUI.py:8232 flatcamGUI/PreferencesUI.py:8446
+#: flatcamTools/ToolExtractDrills.py:166 flatcamTools/ToolPunchGerber.py:194
+msgid "Fixed hole diameter."
+msgstr "Diámetro fijo del agujero."
+
+#: flatcamGUI/PreferencesUI.py:8241 flatcamGUI/PreferencesUI.py:8455
+#: flatcamTools/ToolExtractDrills.py:194 flatcamTools/ToolPunchGerber.py:216
+msgid ""
+"The size of annular ring.\n"
+"The copper sliver between the hole exterior\n"
+"and the margin of the copper pad."
+msgstr ""
+"El tamaño del anillo anular.\n"
+"La astilla de cobre entre el exterior del agujero\n"
+"y el margen de la almohadilla de cobre."
+
+#: flatcamGUI/PreferencesUI.py:8250 flatcamGUI/PreferencesUI.py:8464
+#: flatcamTools/ToolExtractDrills.py:203 flatcamTools/ToolPunchGerber.py:231
+msgid "The size of annular ring for circular pads."
+msgstr "El tamaño del anillo anular para almohadillas circulares."
+
+#: flatcamGUI/PreferencesUI.py:8263 flatcamGUI/PreferencesUI.py:8477
+#: flatcamTools/ToolExtractDrills.py:216 flatcamTools/ToolPunchGerber.py:244
+msgid "The size of annular ring for oblong pads."
+msgstr "El tamaño del anillo anular para almohadillas oblongas."
+
+#: flatcamGUI/PreferencesUI.py:8276 flatcamGUI/PreferencesUI.py:8490
+#: flatcamTools/ToolExtractDrills.py:229 flatcamTools/ToolPunchGerber.py:257
+msgid "The size of annular ring for square pads."
+msgstr "El tamaño del anillo anular para almohadillas cuadradas."
+
+#: flatcamGUI/PreferencesUI.py:8289 flatcamGUI/PreferencesUI.py:8503
+#: flatcamTools/ToolExtractDrills.py:242 flatcamTools/ToolPunchGerber.py:270
+msgid "The size of annular ring for rectangular pads."
+msgstr "El tamaño del anillo anular para almohadillas rectangulares."
+
+#: flatcamGUI/PreferencesUI.py:8302 flatcamGUI/PreferencesUI.py:8516
+#: flatcamTools/ToolExtractDrills.py:255 flatcamTools/ToolPunchGerber.py:283
+msgid "The size of annular ring for other pads."
+msgstr "El tamaño del anillo anular para otras almohadillas."
+
+#: flatcamGUI/PreferencesUI.py:8312 flatcamGUI/PreferencesUI.py:8526
+#: flatcamTools/ToolExtractDrills.py:276 flatcamTools/ToolPunchGerber.py:299
+msgid "Proportional Diameter"
+msgstr "Diá. proporcional"
+
+#: flatcamGUI/PreferencesUI.py:8321 flatcamGUI/PreferencesUI.py:8535
+msgid "Factor"
+msgstr "Factor"
+
+#: flatcamGUI/PreferencesUI.py:8323 flatcamGUI/PreferencesUI.py:8537
+#: flatcamTools/ToolExtractDrills.py:287 flatcamTools/ToolPunchGerber.py:310
+msgid ""
+"Proportional Diameter.\n"
+"The hole diameter will be a fraction of the pad size."
+msgstr ""
+"Diámetro proporcional.\n"
+"El diámetro del agujero será una fracción del tamaño de la almohadilla."
+
+#: flatcamGUI/PreferencesUI.py:8338
+msgid "Punch Gerber Options"
+msgstr "Opciones de Perforadora Gerber"
+
+#: flatcamGUI/PreferencesUI.py:8419 flatcamTools/ToolPunchGerber.py:141
+msgid ""
+"The punch hole source can be:\n"
+"- Excellon Object-> the Excellon object drills center will serve as "
+"reference.\n"
+"- Fixed Diameter -> will try to use the pads center as reference adding "
+"fixed diameter holes.\n"
+"- Fixed Annular Ring -> will try to keep a set annular ring.\n"
+"- Proportional -> will make a Gerber punch hole having the diameter a "
+"percentage of the pad diameter.\n"
+msgstr ""
+"La fuente del orificio de perforación puede ser:\n"
+"- Objeto Excellon-> el centro de perforación de objetos Excellon servirá "
+"como referencia.\n"
+"- Diámetro fijo -> intentará usar el centro de las almohadillas como "
+"referencia agregando agujeros de diámetro fijo.\n"
+"- Anillo anular fijo -> intentará mantener un anillo anular establecido.\n"
+"- Proporcional -> hará un orificio de perforación Gerber con un diámetro del "
+"porcentaje del diámetro de la almohadilla.\n"
+
+#: flatcamGUI/PreferencesUI.py:8552
+msgid "Invert Gerber Tool Options"
+msgstr "Opciones de la herram. Invertir Gerber"
+
+#: flatcamGUI/PreferencesUI.py:8558
+msgid ""
+"A tool to invert Gerber geometry from positive to negative\n"
+"and in revers."
+msgstr ""
+"Una herramienta para invertir la geometría de Gerber de positivo a negativo\n"
+"y a la inversa."
+
+#: flatcamGUI/PreferencesUI.py:8572 flatcamTools/ToolInvertGerber.py:90
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the Gerber object."
+msgstr ""
+"Distancia por la cual evitar\n"
+"Los bordes del objeto Gerber."
+
+#: flatcamGUI/PreferencesUI.py:8583 flatcamTools/ToolInvertGerber.py:101
+msgid "Lines Join Style"
+msgstr "Estilo de unión de líneas"
+
+#: flatcamGUI/PreferencesUI.py:8585 flatcamTools/ToolInvertGerber.py:103
+msgid ""
+"The way that the lines in the object outline will be joined.\n"
+"Can be:\n"
+"- rounded -> an arc is added between two joining lines\n"
+"- square -> the lines meet in 90 degrees angle\n"
+"- bevel -> the lines are joined by a third line"
+msgstr ""
+"La forma en que se unirán las líneas en el contorno del objeto.\n"
+"Puede ser:\n"
+"- redondeado -> se agrega un arco entre dos líneas de unión\n"
+"- cuadrado -> las líneas se encuentran en un ángulo de 90 grados\n"
+"- bisel -> las líneas están unidas por una tercera línea"
+
+#: flatcamGUI/PreferencesUI.py:8608
msgid "Excellon File associations"
msgstr "Excellon File asociaciones"
-#: flatcamGUI/PreferencesUI.py:7633 flatcamGUI/PreferencesUI.py:7706
-#: flatcamGUI/PreferencesUI.py:7776 flatcamGUI/PreferencesUI.py:7846
+#: flatcamGUI/PreferencesUI.py:8621 flatcamGUI/PreferencesUI.py:8694
+#: flatcamGUI/PreferencesUI.py:8764 flatcamGUI/PreferencesUI.py:8834
msgid "Restore"
msgstr "Restaurar"
-#: flatcamGUI/PreferencesUI.py:7634 flatcamGUI/PreferencesUI.py:7707
-#: flatcamGUI/PreferencesUI.py:7777
+#: flatcamGUI/PreferencesUI.py:8622 flatcamGUI/PreferencesUI.py:8695
+#: flatcamGUI/PreferencesUI.py:8765
msgid "Restore the extension list to the default state."
msgstr "Restaurar la lista de extensiones al estado predeterminado."
-#: flatcamGUI/PreferencesUI.py:7635 flatcamGUI/PreferencesUI.py:7708
-#: flatcamGUI/PreferencesUI.py:7778 flatcamGUI/PreferencesUI.py:7848
+#: flatcamGUI/PreferencesUI.py:8623 flatcamGUI/PreferencesUI.py:8696
+#: flatcamGUI/PreferencesUI.py:8766 flatcamGUI/PreferencesUI.py:8836
msgid "Delete All"
msgstr "Eliminar todosEliminar taladro"
-#: flatcamGUI/PreferencesUI.py:7636 flatcamGUI/PreferencesUI.py:7709
-#: flatcamGUI/PreferencesUI.py:7779
+#: flatcamGUI/PreferencesUI.py:8624 flatcamGUI/PreferencesUI.py:8697
+#: flatcamGUI/PreferencesUI.py:8767
msgid "Delete all extensions from the list."
msgstr "Eliminar todas las extensiones de la lista."
-#: flatcamGUI/PreferencesUI.py:7644 flatcamGUI/PreferencesUI.py:7717
-#: flatcamGUI/PreferencesUI.py:7787
+#: flatcamGUI/PreferencesUI.py:8632 flatcamGUI/PreferencesUI.py:8705
+#: flatcamGUI/PreferencesUI.py:8775
msgid "Extensions list"
msgstr "Lista de extensiones"
-#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7719
-#: flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:8634 flatcamGUI/PreferencesUI.py:8707
+#: flatcamGUI/PreferencesUI.py:8777
msgid ""
"List of file extensions to be\n"
"associated with FlatCAM."
@@ -12732,43 +13369,43 @@ msgstr ""
"Lista de extensiones de archivo para ser\n"
"asociado con FlatCAM."
-#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7739
-#: flatcamGUI/PreferencesUI.py:7808 flatcamGUI/PreferencesUI.py:7880
+#: flatcamGUI/PreferencesUI.py:8654 flatcamGUI/PreferencesUI.py:8727
+#: flatcamGUI/PreferencesUI.py:8796 flatcamGUI/PreferencesUI.py:8868
msgid "Extension"
msgstr "ExtensiónLista de extensiones"
-#: flatcamGUI/PreferencesUI.py:7667 flatcamGUI/PreferencesUI.py:7740
-#: flatcamGUI/PreferencesUI.py:7809
+#: flatcamGUI/PreferencesUI.py:8655 flatcamGUI/PreferencesUI.py:8728
+#: flatcamGUI/PreferencesUI.py:8797
msgid "A file extension to be added or deleted to the list."
msgstr "Una extensión de archivo para agregar o eliminar a la lista."
-#: flatcamGUI/PreferencesUI.py:7675 flatcamGUI/PreferencesUI.py:7748
-#: flatcamGUI/PreferencesUI.py:7817
+#: flatcamGUI/PreferencesUI.py:8663 flatcamGUI/PreferencesUI.py:8736
+#: flatcamGUI/PreferencesUI.py:8805
msgid "Add Extension"
msgstr "Agregar extensión"
-#: flatcamGUI/PreferencesUI.py:7676 flatcamGUI/PreferencesUI.py:7749
-#: flatcamGUI/PreferencesUI.py:7818
+#: flatcamGUI/PreferencesUI.py:8664 flatcamGUI/PreferencesUI.py:8737
+#: flatcamGUI/PreferencesUI.py:8806
msgid "Add a file extension to the list"
msgstr "Agregar una extensión de archivo a la lista"
-#: flatcamGUI/PreferencesUI.py:7677 flatcamGUI/PreferencesUI.py:7750
-#: flatcamGUI/PreferencesUI.py:7819
+#: flatcamGUI/PreferencesUI.py:8665 flatcamGUI/PreferencesUI.py:8738
+#: flatcamGUI/PreferencesUI.py:8807
msgid "Delete Extension"
msgstr "Eliminar extensión"
-#: flatcamGUI/PreferencesUI.py:7678 flatcamGUI/PreferencesUI.py:7751
-#: flatcamGUI/PreferencesUI.py:7820
+#: flatcamGUI/PreferencesUI.py:8666 flatcamGUI/PreferencesUI.py:8739
+#: flatcamGUI/PreferencesUI.py:8808
msgid "Delete a file extension from the list"
msgstr "Eliminar una extensión de archivo de la lista"
-#: flatcamGUI/PreferencesUI.py:7685 flatcamGUI/PreferencesUI.py:7758
-#: flatcamGUI/PreferencesUI.py:7827
+#: flatcamGUI/PreferencesUI.py:8673 flatcamGUI/PreferencesUI.py:8746
+#: flatcamGUI/PreferencesUI.py:8815
msgid "Apply Association"
msgstr "Aplicar asociación"
-#: flatcamGUI/PreferencesUI.py:7686 flatcamGUI/PreferencesUI.py:7759
-#: flatcamGUI/PreferencesUI.py:7828
+#: flatcamGUI/PreferencesUI.py:8674 flatcamGUI/PreferencesUI.py:8747
+#: flatcamGUI/PreferencesUI.py:8816
msgid ""
"Apply the file associations between\n"
"FlatCAM and the files with above extensions.\n"
@@ -12780,33 +13417,33 @@ msgstr ""
"Estarán activos después del próximo inicio de sesión.\n"
"Esto funciona solo en Windows."
-#: flatcamGUI/PreferencesUI.py:7703
+#: flatcamGUI/PreferencesUI.py:8691
msgid "GCode File associations"
msgstr "Asociaciones de archivos GCode"
-#: flatcamGUI/PreferencesUI.py:7773
+#: flatcamGUI/PreferencesUI.py:8761
msgid "Gerber File associations"
msgstr "Asociaciones de archivos Gerber"
-#: flatcamGUI/PreferencesUI.py:7843
+#: flatcamGUI/PreferencesUI.py:8831
msgid "Autocompleter Keywords"
msgstr "Palabras clave de autocompletador"
-#: flatcamGUI/PreferencesUI.py:7847
+#: flatcamGUI/PreferencesUI.py:8835
msgid "Restore the autocompleter keywords list to the default state."
msgstr ""
"Restaure la lista de palabras clave de autocompletador al estado "
"predeterminado."
-#: flatcamGUI/PreferencesUI.py:7849
+#: flatcamGUI/PreferencesUI.py:8837
msgid "Delete all autocompleter keywords from the list."
msgstr "Elimine todas las palabras clave de autocompletador de la lista."
-#: flatcamGUI/PreferencesUI.py:7857
+#: flatcamGUI/PreferencesUI.py:8845
msgid "Keywords list"
msgstr "Lista de palabras clave"
-#: flatcamGUI/PreferencesUI.py:7859
+#: flatcamGUI/PreferencesUI.py:8847
msgid ""
"List of keywords used by\n"
"the autocompleter in FlatCAM.\n"
@@ -12818,31 +13455,31 @@ msgstr ""
"El autocompletador está instalado\n"
"en el Editor de Código y para el Tcl Shell."
-#: flatcamGUI/PreferencesUI.py:7881
+#: flatcamGUI/PreferencesUI.py:8869
msgid "A keyword to be added or deleted to the list."
msgstr "Una palabra clave para agregar o eliminar a la lista."
-#: flatcamGUI/PreferencesUI.py:7889
+#: flatcamGUI/PreferencesUI.py:8877
msgid "Add keyword"
msgstr "Agregar palabra clave"
-#: flatcamGUI/PreferencesUI.py:7890
+#: flatcamGUI/PreferencesUI.py:8878
msgid "Add a keyword to the list"
msgstr "Agregar una palabra clave a la lista"
-#: flatcamGUI/PreferencesUI.py:7891
+#: flatcamGUI/PreferencesUI.py:8879
msgid "Delete keyword"
msgstr "Eliminar palabra clave"
-#: flatcamGUI/PreferencesUI.py:7892
+#: flatcamGUI/PreferencesUI.py:8880
msgid "Delete a keyword from the list"
msgstr "Eliminar una palabra clave de la lista"
-#: flatcamParsers/ParseExcellon.py:314
+#: flatcamParsers/ParseExcellon.py:315
msgid "This is GCODE mark"
msgstr "Esta es la marca GCODE"
-#: flatcamParsers/ParseExcellon.py:431
+#: flatcamParsers/ParseExcellon.py:432
msgid ""
"No tool diameter info's. See shell.\n"
"A tool change event: T"
@@ -12850,7 +13487,7 @@ msgstr ""
"No hay información de diámetro de herramienta. Ver caparazón.\n"
"Un evento de cambio de herramienta: T"
-#: flatcamParsers/ParseExcellon.py:434
+#: flatcamParsers/ParseExcellon.py:435
msgid ""
"was found but the Excellon file have no informations regarding the tool "
"diameters therefore the application will try to load it by using some 'fake' "
@@ -12864,13 +13501,13 @@ msgstr ""
"El usuario necesita editar el objeto Excellon resultante y cambiar los "
"diámetros para reflejar los diámetros reales."
-#: flatcamParsers/ParseExcellon.py:886 flatcamTools/ToolSolderPaste.py:1330
+#: flatcamParsers/ParseExcellon.py:897 flatcamTools/ToolSolderPaste.py:1327
msgid "An internal error has ocurred. See shell.\n"
msgstr ""
"Ha ocurrido un error interno. Ver caparazón.\n"
"\n"
-#: flatcamParsers/ParseExcellon.py:889
+#: flatcamParsers/ParseExcellon.py:900
msgid ""
"Excellon Parser error.\n"
"Parsing Failed. Line"
@@ -12878,7 +13515,7 @@ msgstr ""
"Error del analizador Excellon.\n"
"El análisis falló. Línea"
-#: flatcamParsers/ParseExcellon.py:973
+#: flatcamParsers/ParseExcellon.py:982
msgid ""
"Excellon.create_geometry() -> a drill location was skipped due of not having "
"a tool associated.\n"
@@ -12896,22 +13533,22 @@ msgstr "Fuente no compatible, prueba con otra."
msgid "Gerber processing. Parsing"
msgstr "Procesamiento de Gerber. Analizando"
-#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:178
msgid "lines"
msgstr "líneas"
-#: flatcamParsers/ParseGerber.py:970 flatcamParsers/ParseGerber.py:1065
-#: flatcamParsers/ParseHPGL2.py:269 flatcamParsers/ParseHPGL2.py:283
-#: flatcamParsers/ParseHPGL2.py:302 flatcamParsers/ParseHPGL2.py:326
-#: flatcamParsers/ParseHPGL2.py:361
+#: flatcamParsers/ParseGerber.py:1002 flatcamParsers/ParseGerber.py:1102
+#: flatcamParsers/ParseHPGL2.py:271 flatcamParsers/ParseHPGL2.py:285
+#: flatcamParsers/ParseHPGL2.py:304 flatcamParsers/ParseHPGL2.py:328
+#: flatcamParsers/ParseHPGL2.py:363
msgid "Coordinates missing, line ignored"
msgstr "Coordenadas faltantes, línea ignorada"
-#: flatcamParsers/ParseGerber.py:972 flatcamParsers/ParseGerber.py:1067
+#: flatcamParsers/ParseGerber.py:1004 flatcamParsers/ParseGerber.py:1104
msgid "GERBER file might be CORRUPT. Check the file !!!"
msgstr "GERBER archivo podría ser Dañado. Revisa el archivo !!!"
-#: flatcamParsers/ParseGerber.py:1021
+#: flatcamParsers/ParseGerber.py:1058
msgid ""
"Region does not have enough points. File will be processed but there are "
"parser errors. Line number"
@@ -12919,66 +13556,214 @@ msgstr ""
"Región no tiene suficientes puntos. El archivo será procesado pero hay "
"errores del analizador. Línea de números: %s"
-#: flatcamParsers/ParseGerber.py:1421 flatcamParsers/ParseHPGL2.py:396
+#: flatcamParsers/ParseGerber.py:1488 flatcamParsers/ParseHPGL2.py:398
msgid "Gerber processing. Joining polygons"
msgstr "Procesamiento de Gerber. Unir polígonos"
-#: flatcamParsers/ParseGerber.py:1438
+#: flatcamParsers/ParseGerber.py:1505
msgid "Gerber processing. Applying Gerber polarity."
msgstr "Procesamiento de Gerber. Aplicando la polaridad de Gerber."
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line"
msgstr "Linea Gerber"
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line Content"
msgstr "Contenido de la línea Gerber"
-#: flatcamParsers/ParseGerber.py:1500
+#: flatcamParsers/ParseGerber.py:1567
msgid "Gerber Parser ERROR"
msgstr "Analizador Gerber ERROR"
-#: flatcamParsers/ParseGerber.py:1884
+#: flatcamParsers/ParseGerber.py:1956
msgid "Gerber Scale done."
msgstr "Escala de Gerber hecha."
-#: flatcamParsers/ParseGerber.py:1977
+#: flatcamParsers/ParseGerber.py:2049
msgid "Gerber Offset done."
msgstr "Gerber Offset hecho."
-#: flatcamParsers/ParseGerber.py:2054
+#: flatcamParsers/ParseGerber.py:2126
msgid "Gerber Mirror done."
msgstr "Espejo Gerber hecho."
-#: flatcamParsers/ParseGerber.py:2128
+#: flatcamParsers/ParseGerber.py:2200
msgid "Gerber Skew done."
msgstr "Gerber Sesgo hecho."
-#: flatcamParsers/ParseGerber.py:2192
+#: flatcamParsers/ParseGerber.py:2263
msgid "Gerber Rotate done."
msgstr "Rotar Gerber hecho."
-#: flatcamParsers/ParseGerber.py:2273
+#: flatcamParsers/ParseGerber.py:2419
msgid "Gerber Buffer done."
msgstr "Gerber Buffer hecho."
-#: flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseHPGL2.py:178
msgid "HPGL2 processing. Parsing"
msgstr "Procesamiento de HPGL2 . Analizando"
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line"
msgstr "Línea HPGL2"
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line Content"
msgstr "Contenido de línea HPGL2"
-#: flatcamParsers/ParseHPGL2.py:409
+#: flatcamParsers/ParseHPGL2.py:411
msgid "HPGL2 Parser ERROR"
msgstr "Analizador HPGL2 ERROR"
+#: flatcamTools/ToolAlignObjects.py:32
+msgid "Align Objects"
+msgstr "Alinear objetos"
+
+#: flatcamTools/ToolAlignObjects.py:61
+msgid "MOVING object"
+msgstr "Objeto en movimiento"
+
+#: flatcamTools/ToolAlignObjects.py:65
+msgid ""
+"Specify the type of object to be aligned.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+"Especifique el tipo de objeto a alinear.\n"
+"Puede ser de tipo: Gerber o Excellon.\n"
+"La selección aquí decide el tipo de objetos que serán\n"
+"en el cuadro combinado Objeto."
+
+#: flatcamTools/ToolAlignObjects.py:86
+msgid "Object to be aligned."
+msgstr "Objeto a alinear."
+
+#: flatcamTools/ToolAlignObjects.py:98
+msgid "TARGET object"
+msgstr "Objeto OBJETIVO"
+
+#: flatcamTools/ToolAlignObjects.py:100
+msgid ""
+"Specify the type of object to be aligned to.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+"Especifique el tipo de objeto a alinear.\n"
+"Puede ser de tipo: Gerber o Excellon.\n"
+"La selección aquí decide el tipo de objetos que serán\n"
+"en el cuadro combinado Objeto."
+
+#: flatcamTools/ToolAlignObjects.py:122
+msgid "Object to be aligned to. Aligner."
+msgstr "Objeto a alinear. Alineador."
+
+#: flatcamTools/ToolAlignObjects.py:135
+msgid "Alignment Type"
+msgstr "Tipo de alineación"
+
+#: flatcamTools/ToolAlignObjects.py:137
+msgid ""
+"The type of alignment can be:\n"
+"- Single Point -> it require a single point of sync, the action will be a "
+"translation\n"
+"- Dual Point -> it require two points of sync, the action will be "
+"translation followed by rotation"
+msgstr ""
+"El tipo de alineación puede ser:\n"
+"- Punto único -> requiere un único punto de sincronización, la acción será "
+"una traducción\n"
+"- Punto doble -> requiere dos puntos de sincronización, la acción será "
+"traslación seguida de rotación"
+
+#: flatcamTools/ToolAlignObjects.py:143
+msgid "Single Point"
+msgstr "Punto único"
+
+#: flatcamTools/ToolAlignObjects.py:144
+msgid "Dual Point"
+msgstr "Punto doble"
+
+#: flatcamTools/ToolAlignObjects.py:159
+msgid "Align Object"
+msgstr "Alinear objeto"
+
+#: flatcamTools/ToolAlignObjects.py:161
+msgid ""
+"Align the specified object to the aligner object.\n"
+"If only one point is used then it assumes translation.\n"
+"If tho points are used it assume translation and rotation."
+msgstr ""
+"Alinee el objeto especificado con el objeto alineador.\n"
+"Si solo se utiliza un punto, se supone que se traduce.\n"
+"Si se utilizan estos puntos, se supone traslación y rotación."
+
+#: flatcamTools/ToolAlignObjects.py:176 flatcamTools/ToolCalculators.py:246
+#: flatcamTools/ToolCalibration.py:683 flatcamTools/ToolCopperThieving.py:485
+#: flatcamTools/ToolCutOut.py:372 flatcamTools/ToolDblSided.py:472
+#: flatcamTools/ToolExtractDrills.py:310 flatcamTools/ToolFiducials.py:318
+#: flatcamTools/ToolFilm.py:520 flatcamTools/ToolInvertGerber.py:140
+#: flatcamTools/ToolNCC.py:612 flatcamTools/ToolOptimal.py:238
+#: flatcamTools/ToolPaint.py:556 flatcamTools/ToolPanelize.py:269
+#: flatcamTools/ToolPunchGerber.py:339 flatcamTools/ToolQRCode.py:314
+#: flatcamTools/ToolRulesCheck.py:516 flatcamTools/ToolSolderPaste.py:474
+#: flatcamTools/ToolSub.py:176 flatcamTools/ToolTransform.py:399
+msgid "Reset Tool"
+msgstr "Restablecer la Herramienta"
+
+#: flatcamTools/ToolAlignObjects.py:178 flatcamTools/ToolCalculators.py:248
+#: flatcamTools/ToolCalibration.py:685 flatcamTools/ToolCopperThieving.py:487
+#: flatcamTools/ToolCutOut.py:374 flatcamTools/ToolDblSided.py:474
+#: flatcamTools/ToolExtractDrills.py:312 flatcamTools/ToolFiducials.py:320
+#: flatcamTools/ToolFilm.py:522 flatcamTools/ToolInvertGerber.py:142
+#: flatcamTools/ToolNCC.py:614 flatcamTools/ToolOptimal.py:240
+#: flatcamTools/ToolPaint.py:558 flatcamTools/ToolPanelize.py:271
+#: flatcamTools/ToolPunchGerber.py:341 flatcamTools/ToolQRCode.py:316
+#: flatcamTools/ToolRulesCheck.py:518 flatcamTools/ToolSolderPaste.py:476
+#: flatcamTools/ToolSub.py:178 flatcamTools/ToolTransform.py:401
+msgid "Will reset the tool parameters."
+msgstr "Restablecerá los parámetros de la herramienta."
+
+#: flatcamTools/ToolAlignObjects.py:244
+msgid "Align Tool"
+msgstr "Herram. de Alineación"
+
+#: flatcamTools/ToolAlignObjects.py:289
+msgid "There is no aligned FlatCAM object selected..."
+msgstr "No hay ningún objeto FlatCAM alineado seleccionado ..."
+
+#: flatcamTools/ToolAlignObjects.py:299
+msgid "There is no aligner FlatCAM object selected..."
+msgstr "No hay ningún objeto FlatCAM alineador seleccionado ..."
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:385
+msgid "First Point"
+msgstr "Primer Punto"
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:400
+msgid "Click on the START point."
+msgstr "Haga clic en el punto de INICIO."
+
+#: flatcamTools/ToolAlignObjects.py:380 flatcamTools/ToolCalibration.py:920
+msgid "Cancelled by user request."
+msgstr "Cancelado por solicitud del usuario."
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:407
+msgid "Click on the DESTINATION point."
+msgstr "Haga clic en el punto DESTINO."
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:400
+#: flatcamTools/ToolAlignObjects.py:407
+msgid " Or right click to cancel."
+msgstr " O haga clic derecho para cancelar."
+
+#: flatcamTools/ToolAlignObjects.py:400 flatcamTools/ToolAlignObjects.py:407
+#: flatcamTools/ToolFiducials.py:111
+msgid "Second Point"
+msgstr "Segundo punto"
+
#: flatcamTools/ToolCalculators.py:24
msgid "Calculators"
msgstr "Calculadoras"
@@ -13065,7 +13850,7 @@ msgstr ""
"Calcule el valor de intensidad actual y el tiempo del procedimiento,\n"
"dependiendo de los parámetros anteriores"
-#: flatcamTools/ToolCalculators.py:285
+#: flatcamTools/ToolCalculators.py:299
msgid "Calc. Tool"
msgstr "Calc. Herramienta"
@@ -13091,82 +13876,78 @@ msgstr ""
"Esos cuatro puntos deberían estar en los cuatro\n"
"(tanto como sea posible) esquinas del objeto."
-#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolCutOut.py:80
-#: flatcamTools/ToolFilm.py:78 flatcamTools/ToolImage.py:55
-#: flatcamTools/ToolPanelize.py:66 flatcamTools/ToolProperties.py:169
+#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolFilm.py:76
+#: flatcamTools/ToolImage.py:54 flatcamTools/ToolPanelize.py:78
+#: flatcamTools/ToolProperties.py:177
msgid "Object Type"
msgstr "Tipo de objeto"
-#: flatcamTools/ToolCalibration.py:211
+#: flatcamTools/ToolCalibration.py:210
msgid "Source object selection"
msgstr "Selección de objeto de origen"
-#: flatcamTools/ToolCalibration.py:213
+#: flatcamTools/ToolCalibration.py:212
msgid "FlatCAM Object to be used as a source for reference points."
msgstr "Objeto FlatCAM que se utilizará como fuente de puntos de referencia."
-#: flatcamTools/ToolCalibration.py:219
+#: flatcamTools/ToolCalibration.py:218
msgid "Calibration Points"
msgstr "Puntos de calibración"
-#: flatcamTools/ToolCalibration.py:221
+#: flatcamTools/ToolCalibration.py:220
msgid ""
"Contain the expected calibration points and the\n"
"ones measured."
msgstr ""
"Contiene los puntos de calibración esperados y el\n"
-"los medidos"
+"los medidos."
-#: flatcamTools/ToolCalibration.py:236 flatcamTools/ToolSub.py:74
-#: flatcamTools/ToolSub.py:126
+#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:131
msgid "Target"
msgstr "Objetivo"
-#: flatcamTools/ToolCalibration.py:237
+#: flatcamTools/ToolCalibration.py:236
msgid "Found Delta"
msgstr "Delta encontrado"
-#: flatcamTools/ToolCalibration.py:249
+#: flatcamTools/ToolCalibration.py:248
msgid "Bot Left X"
msgstr "Abajo a la izquierda X"
-#: flatcamTools/ToolCalibration.py:258
+#: flatcamTools/ToolCalibration.py:257
msgid "Bot Left Y"
msgstr "Abajo a la izquierda Y"
-#: flatcamTools/ToolCalibration.py:266 flatcamTools/ToolCalibration.py:267
-msgid "Origin"
-msgstr "Origen"
-
-#: flatcamTools/ToolCalibration.py:278
+#: flatcamTools/ToolCalibration.py:275
msgid "Bot Right X"
msgstr "Abajo a la derecho X"
-#: flatcamTools/ToolCalibration.py:288
+#: flatcamTools/ToolCalibration.py:285
msgid "Bot Right Y"
msgstr "Abajo a la derecho Y"
-#: flatcamTools/ToolCalibration.py:303
+#: flatcamTools/ToolCalibration.py:300
msgid "Top Left X"
msgstr "Arriba a la izquierda X"
-#: flatcamTools/ToolCalibration.py:312
+#: flatcamTools/ToolCalibration.py:309
msgid "Top Left Y"
msgstr "Arriba a la izquierda Y"
-#: flatcamTools/ToolCalibration.py:327
+#: flatcamTools/ToolCalibration.py:324
msgid "Top Right X"
msgstr "Arriba a la derecho X"
-#: flatcamTools/ToolCalibration.py:337
+#: flatcamTools/ToolCalibration.py:334
msgid "Top Right Y"
msgstr "Arriba a la derecho Y"
-#: flatcamTools/ToolCalibration.py:370
+#: flatcamTools/ToolCalibration.py:367
msgid "Get Points"
msgstr "Obtener puntos"
-#: flatcamTools/ToolCalibration.py:372
+#: flatcamTools/ToolCalibration.py:369
msgid ""
"Pick four points by clicking on canvas if the source choice\n"
"is 'free' or inside the object geometry if the source is 'object'.\n"
@@ -13179,11 +13960,11 @@ msgstr ""
"Esos cuatro puntos deben estar en los cuatro cuadrados de\n"
"el objeto."
-#: flatcamTools/ToolCalibration.py:393
+#: flatcamTools/ToolCalibration.py:390
msgid "STEP 2: Verification GCode"
msgstr "PASO 2: Verificación GCode"
-#: flatcamTools/ToolCalibration.py:395 flatcamTools/ToolCalibration.py:408
+#: flatcamTools/ToolCalibration.py:392 flatcamTools/ToolCalibration.py:405
msgid ""
"Generate GCode file to locate and align the PCB by using\n"
"the four points acquired above.\n"
@@ -13203,15 +13984,15 @@ msgstr ""
"a la derecha.\n"
"- cuarto punto -> punto de verificación final. Solo para evaluación."
-#: flatcamTools/ToolCalibration.py:406 flatcamTools/ToolSolderPaste.py:347
+#: flatcamTools/ToolCalibration.py:403 flatcamTools/ToolSolderPaste.py:349
msgid "Generate GCode"
msgstr "Generar GCode"
-#: flatcamTools/ToolCalibration.py:432
+#: flatcamTools/ToolCalibration.py:429
msgid "STEP 3: Adjustments"
msgstr "PASO 3: Ajustes"
-#: flatcamTools/ToolCalibration.py:434 flatcamTools/ToolCalibration.py:443
+#: flatcamTools/ToolCalibration.py:431 flatcamTools/ToolCalibration.py:440
msgid ""
"Calculate Scale and Skew factors based on the differences (delta)\n"
"found when checking the PCB pattern. The differences must be filled\n"
@@ -13221,15 +14002,15 @@ msgstr ""
"encontrado al verificar el patrón de PCB. Las diferencias deben llenarse\n"
"en los campos encontrados (Delta)."
-#: flatcamTools/ToolCalibration.py:441
+#: flatcamTools/ToolCalibration.py:438
msgid "Calculate Factors"
msgstr "Calcular factores"
-#: flatcamTools/ToolCalibration.py:463
+#: flatcamTools/ToolCalibration.py:460
msgid "STEP 4: Adjusted GCode"
msgstr "PASO 4: Código GC ajustado"
-#: flatcamTools/ToolCalibration.py:465
+#: flatcamTools/ToolCalibration.py:462
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors above."
@@ -13237,43 +14018,43 @@ msgstr ""
"Generar un archivo GCode de verificación ajustado con\n"
"Los factores anteriores."
-#: flatcamTools/ToolCalibration.py:470
+#: flatcamTools/ToolCalibration.py:467
msgid "Scale Factor X:"
msgstr "Factor de escala X:"
-#: flatcamTools/ToolCalibration.py:482
+#: flatcamTools/ToolCalibration.py:479
msgid "Scale Factor Y:"
msgstr "Factor de escala Y:"
-#: flatcamTools/ToolCalibration.py:494
+#: flatcamTools/ToolCalibration.py:491
msgid "Apply Scale Factors"
msgstr "Aplicar factores de escala"
-#: flatcamTools/ToolCalibration.py:496
+#: flatcamTools/ToolCalibration.py:493
msgid "Apply Scale factors on the calibration points."
msgstr "Aplicar factores de escala en los puntos de calibración."
-#: flatcamTools/ToolCalibration.py:506
+#: flatcamTools/ToolCalibration.py:503
msgid "Skew Angle X:"
msgstr "Ángulo de Sesgar X:"
-#: flatcamTools/ToolCalibration.py:519
+#: flatcamTools/ToolCalibration.py:516
msgid "Skew Angle Y:"
msgstr "Ángulo de Sesgar Y:"
-#: flatcamTools/ToolCalibration.py:532
+#: flatcamTools/ToolCalibration.py:529
msgid "Apply Skew Factors"
msgstr "Aplicar factores Sesgados"
-#: flatcamTools/ToolCalibration.py:534
+#: flatcamTools/ToolCalibration.py:531
msgid "Apply Skew factors on the calibration points."
msgstr "Aplicar factores de inclinación en los puntos de calibración."
-#: flatcamTools/ToolCalibration.py:603
+#: flatcamTools/ToolCalibration.py:600
msgid "Generate Adjusted GCode"
msgstr "Generar código GC ajustado"
-#: flatcamTools/ToolCalibration.py:605
+#: flatcamTools/ToolCalibration.py:602
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors set above.\n"
@@ -13285,11 +14066,11 @@ msgstr ""
"Los parámetros GCode se pueden reajustar\n"
"antes de hacer clic en este botón."
-#: flatcamTools/ToolCalibration.py:626
+#: flatcamTools/ToolCalibration.py:623
msgid "STEP 5: Calibrate FlatCAM Objects"
msgstr "PASO 5: Calibrar objetos FlatCAM"
-#: flatcamTools/ToolCalibration.py:628
+#: flatcamTools/ToolCalibration.py:625
msgid ""
"Adjust the FlatCAM objects\n"
"with the factors determined and verified above."
@@ -13297,27 +14078,27 @@ msgstr ""
"Ajuste los objetos FlatCAM\n"
"con los factores determinados y verificados anteriormente."
-#: flatcamTools/ToolCalibration.py:641
+#: flatcamTools/ToolCalibration.py:637
msgid "Adjusted object type"
msgstr "Tipo de objeto ajustado"
-#: flatcamTools/ToolCalibration.py:643
+#: flatcamTools/ToolCalibration.py:638
msgid "Type of the FlatCAM Object to be adjusted."
msgstr "Tipo del objeto FlatCAM que se ajustará."
-#: flatcamTools/ToolCalibration.py:654
+#: flatcamTools/ToolCalibration.py:651
msgid "Adjusted object selection"
msgstr "Selección de objeto ajustada"
-#: flatcamTools/ToolCalibration.py:656
+#: flatcamTools/ToolCalibration.py:653
msgid "The FlatCAM Object to be adjusted."
msgstr "El objeto FlatCAM a ajustar."
-#: flatcamTools/ToolCalibration.py:663
+#: flatcamTools/ToolCalibration.py:660
msgid "Calibrate"
msgstr "Calibrar"
-#: flatcamTools/ToolCalibration.py:665
+#: flatcamTools/ToolCalibration.py:662
msgid ""
"Adjust (scale and/or skew) the objects\n"
"with the factors determined above."
@@ -13325,83 +14106,63 @@ msgstr ""
"Ajustar (escalar y / o sesgar) los objetos\n"
"con los factores determinados anteriormente."
-#: flatcamTools/ToolCalibration.py:686 flatcamTools/ToolCopperThieving.py:482
-#: flatcamTools/ToolCutOut.py:362 flatcamTools/ToolDblSided.py:405
-#: flatcamTools/ToolFiducials.py:316 flatcamTools/ToolFilm.py:518
-#: flatcamTools/ToolNonCopperClear.py:486 flatcamTools/ToolOptimal.py:237
-#: flatcamTools/ToolPaint.py:372 flatcamTools/ToolPanelize.py:266
-#: flatcamTools/ToolQRCode.py:314 flatcamTools/ToolRulesCheck.py:507
-#: flatcamTools/ToolSolderPaste.py:470 flatcamTools/ToolSub.py:170
-msgid "Reset Tool"
-msgstr "Restablecer la Herramienta"
+#: flatcamTools/ToolCalibration.py:770 flatcamTools/ToolCalibration.py:771
+msgid "Origin"
+msgstr "Origen"
-#: flatcamTools/ToolCalibration.py:688 flatcamTools/ToolCopperThieving.py:484
-#: flatcamTools/ToolCutOut.py:364 flatcamTools/ToolDblSided.py:407
-#: flatcamTools/ToolFiducials.py:318 flatcamTools/ToolFilm.py:520
-#: flatcamTools/ToolNonCopperClear.py:488 flatcamTools/ToolOptimal.py:239
-#: flatcamTools/ToolPaint.py:374 flatcamTools/ToolPanelize.py:268
-#: flatcamTools/ToolQRCode.py:316 flatcamTools/ToolRulesCheck.py:509
-#: flatcamTools/ToolSolderPaste.py:472 flatcamTools/ToolSub.py:172
-msgid "Will reset the tool parameters."
-msgstr "Restablecerá los parámetros de la herramienta."
-
-#: flatcamTools/ToolCalibration.py:792
+#: flatcamTools/ToolCalibration.py:800
msgid "Tool initialized"
msgstr "Herramienta inicializada"
-#: flatcamTools/ToolCalibration.py:824
+#: flatcamTools/ToolCalibration.py:838
msgid "There is no source FlatCAM object selected..."
msgstr "No hay ningún objeto FlatCAM de origen seleccionado ..."
-#: flatcamTools/ToolCalibration.py:845
+#: flatcamTools/ToolCalibration.py:859
msgid "Get First calibration point. Bottom Left..."
msgstr "Obtenga el primer punto de calibración. Abajo a la izquierda ..."
-#: flatcamTools/ToolCalibration.py:906
-msgid "Cancelled by user request."
-msgstr "Cancelado por solicitud del usuario."
-
-#: flatcamTools/ToolCalibration.py:912
+#: flatcamTools/ToolCalibration.py:926
msgid "Get Second calibration point. Bottom Right (Top Left)..."
msgstr ""
"Obtenga el segundo punto de calibración. Abajo a la derecha (arriba a la "
"izquierda) ..."
-#: flatcamTools/ToolCalibration.py:916
+#: flatcamTools/ToolCalibration.py:930
msgid "Get Third calibration point. Top Left (Bottom Right)..."
msgstr ""
"Obtenga el tercer punto de calibración. Arriba a la izquierda, abajo a la "
"derecha)..."
-#: flatcamTools/ToolCalibration.py:920
+#: flatcamTools/ToolCalibration.py:934
msgid "Get Forth calibration point. Top Right..."
msgstr "Obtenga el punto de calibración Forth. Parte superior derecha..."
-#: flatcamTools/ToolCalibration.py:924
+#: flatcamTools/ToolCalibration.py:938
msgid "Done. All four points have been acquired."
msgstr "Hecho. Los cuatro puntos han sido adquiridos."
-#: flatcamTools/ToolCalibration.py:955
+#: flatcamTools/ToolCalibration.py:969
msgid "Verification GCode for FlatCAM Calibration Tool"
msgstr "Verificación GCode para la herramienta de calibración FlatCAM"
-#: flatcamTools/ToolCalibration.py:967 flatcamTools/ToolCalibration.py:1053
+#: flatcamTools/ToolCalibration.py:981 flatcamTools/ToolCalibration.py:1067
msgid "Gcode Viewer"
msgstr "Visor de Gcode"
-#: flatcamTools/ToolCalibration.py:983
+#: flatcamTools/ToolCalibration.py:997
msgid "Cancelled. Four points are needed for GCode generation."
msgstr "Cancelado. Se necesitan cuatro puntos para la generación de GCode."
-#: flatcamTools/ToolCalibration.py:1239 flatcamTools/ToolCalibration.py:1335
+#: flatcamTools/ToolCalibration.py:1253 flatcamTools/ToolCalibration.py:1349
msgid "There is no FlatCAM object selected..."
msgstr "No hay ningún objeto FlatCAM seleccionado ..."
-#: flatcamTools/ToolCopperThieving.py:76 flatcamTools/ToolFiducials.py:260
+#: flatcamTools/ToolCopperThieving.py:77 flatcamTools/ToolFiducials.py:261
msgid "Gerber Object to which will be added a copper thieving."
msgstr "Gerber Objeto al que se agregará un Copper Thieving."
-#: flatcamTools/ToolCopperThieving.py:98
+#: flatcamTools/ToolCopperThieving.py:99
msgid ""
"This set the distance between the copper thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
@@ -13411,7 +14172,7 @@ msgstr ""
"(el relleno de polígono puede dividirse en múltiples polígonos)\n"
"y las rastros de cobre en el archivo Gerber."
-#: flatcamTools/ToolCopperThieving.py:131
+#: flatcamTools/ToolCopperThieving.py:132
msgid ""
"- 'Itself' - the copper thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
@@ -13426,12 +14187,12 @@ msgstr ""
"- 'Objeto de referencia': 'Copper Thieving' dentro del área especificada por "
"otro objeto."
-#: flatcamTools/ToolCopperThieving.py:138
-#: flatcamTools/ToolNonCopperClear.py:445 flatcamTools/ToolPaint.py:326
+#: flatcamTools/ToolCopperThieving.py:139 flatcamTools/ToolNCC.py:552
+#: flatcamTools/ToolPaint.py:496
msgid "Ref. Type"
msgstr "Tipo de Ref"
-#: flatcamTools/ToolCopperThieving.py:140
+#: flatcamTools/ToolCopperThieving.py:141
msgid ""
"The type of FlatCAM object to be used as copper thieving reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -13440,37 +14201,22 @@ msgstr ""
"Thieving'.\n"
"Puede ser Gerber, Excellon o Geometry."
-#: flatcamTools/ToolCopperThieving.py:144 flatcamTools/ToolDblSided.py:215
-#: flatcamTools/ToolNonCopperClear.py:451 flatcamTools/ToolPaint.py:332
-msgid "Reference Gerber"
-msgstr "Gerber de referencia"
-
-#: flatcamTools/ToolCopperThieving.py:145 flatcamTools/ToolDblSided.py:216
-#: flatcamTools/ToolNonCopperClear.py:452 flatcamTools/ToolPaint.py:333
-msgid "Reference Excellon"
-msgstr "Excellon de referencia"
-
-#: flatcamTools/ToolCopperThieving.py:146 flatcamTools/ToolDblSided.py:217
-#: flatcamTools/ToolNonCopperClear.py:453 flatcamTools/ToolPaint.py:334
-msgid "Reference Geometry"
-msgstr "Geometría de referencia"
-
-#: flatcamTools/ToolCopperThieving.py:151
-#: flatcamTools/ToolNonCopperClear.py:456 flatcamTools/ToolPaint.py:337
+#: flatcamTools/ToolCopperThieving.py:150 flatcamTools/ToolNCC.py:562
+#: flatcamTools/ToolPaint.py:506
msgid "Ref. Object"
msgstr "Objeto de Ref"
-#: flatcamTools/ToolCopperThieving.py:153
-#: flatcamTools/ToolNonCopperClear.py:458 flatcamTools/ToolPaint.py:339
+#: flatcamTools/ToolCopperThieving.py:152 flatcamTools/ToolNCC.py:564
+#: flatcamTools/ToolPaint.py:508
msgid "The FlatCAM object to be used as non copper clearing reference."
msgstr ""
"El objeto FlatCAM que se utilizará como referencia de compensación sin cobre."
-#: flatcamTools/ToolCopperThieving.py:326
+#: flatcamTools/ToolCopperThieving.py:328
msgid "Insert Copper thieving"
msgstr "Insertar Copper thieving"
-#: flatcamTools/ToolCopperThieving.py:328
+#: flatcamTools/ToolCopperThieving.py:330
msgid ""
"Will add a polygon (may be split in multiple parts)\n"
"that will surround the actual Gerber traces at a certain distance."
@@ -13478,11 +14224,11 @@ msgstr ""
"Agregará un polígono (puede dividirse en varias partes)\n"
"eso rodeará las huellas reales de Gerber a cierta distancia."
-#: flatcamTools/ToolCopperThieving.py:387
+#: flatcamTools/ToolCopperThieving.py:389
msgid "Insert Robber Bar"
msgstr "Insertar Robber Bar"
-#: flatcamTools/ToolCopperThieving.py:389
+#: flatcamTools/ToolCopperThieving.py:391
msgid ""
"Will add a polygon with a defined thickness\n"
"that will surround the actual Gerber object\n"
@@ -13494,11 +14240,11 @@ msgstr ""
"a cierta distancia.\n"
"Se requiere cuando se hace un patrón de agujeros."
-#: flatcamTools/ToolCopperThieving.py:413
+#: flatcamTools/ToolCopperThieving.py:415
msgid "Select Soldermask object"
msgstr "Seleccionar objeto Soldermask"
-#: flatcamTools/ToolCopperThieving.py:415
+#: flatcamTools/ToolCopperThieving.py:417
msgid ""
"Gerber Object with the soldermask.\n"
"It will be used as a base for\n"
@@ -13508,11 +14254,11 @@ msgstr ""
"Se utilizará como base para\n"
"El patrón de la máscara de recubrimiento."
-#: flatcamTools/ToolCopperThieving.py:443
+#: flatcamTools/ToolCopperThieving.py:446
msgid "Plated area"
msgstr "Área chapada"
-#: flatcamTools/ToolCopperThieving.py:445
+#: flatcamTools/ToolCopperThieving.py:448
msgid ""
"The area to be plated by pattern plating.\n"
"Basically is made from the openings in the plating mask.\n"
@@ -13531,19 +14277,19 @@ msgstr ""
"un poco más grande que las almohadillas de cobre, y esta área es\n"
"calculado a partir de las aberturas de la máscara de soldadura."
-#: flatcamTools/ToolCopperThieving.py:456
+#: flatcamTools/ToolCopperThieving.py:459
msgid "mm"
msgstr "mm"
-#: flatcamTools/ToolCopperThieving.py:458
+#: flatcamTools/ToolCopperThieving.py:461
msgid "in"
msgstr "in"
-#: flatcamTools/ToolCopperThieving.py:465
+#: flatcamTools/ToolCopperThieving.py:468
msgid "Generate pattern plating mask"
msgstr "Generar máscara de recubrimiento de patrón"
-#: flatcamTools/ToolCopperThieving.py:467
+#: flatcamTools/ToolCopperThieving.py:470
msgid ""
"Will add to the soldermask gerber geometry\n"
"the geometries of the copper thieving and/or\n"
@@ -13553,137 +14299,138 @@ msgstr ""
"Las geometrías de Copper Thieving y / o\n"
"la Robber Bar si esos fueron generados."
-#: flatcamTools/ToolCopperThieving.py:620
-#: flatcamTools/ToolCopperThieving.py:645
+#: flatcamTools/ToolCopperThieving.py:626
+#: flatcamTools/ToolCopperThieving.py:651
msgid "Lines Grid works only for 'itself' reference ..."
msgstr "La cuadrícula de líneas funciona solo para referencia 'sí mismo' ..."
-#: flatcamTools/ToolCopperThieving.py:631
+#: flatcamTools/ToolCopperThieving.py:637
msgid "Solid fill selected."
msgstr "Relleno sólido seleccionado."
-#: flatcamTools/ToolCopperThieving.py:636
+#: flatcamTools/ToolCopperThieving.py:642
msgid "Dots grid fill selected."
msgstr "Relleno de cuadrícula de puntos seleccionado."
-#: flatcamTools/ToolCopperThieving.py:641
+#: flatcamTools/ToolCopperThieving.py:647
msgid "Squares grid fill selected."
msgstr "Rellenar cuadrícula de cuadrados seleccionados."
-#: flatcamTools/ToolCopperThieving.py:662
-#: flatcamTools/ToolCopperThieving.py:744
-#: flatcamTools/ToolCopperThieving.py:1340 flatcamTools/ToolDblSided.py:564
-#: flatcamTools/ToolFiducials.py:464 flatcamTools/ToolFiducials.py:741
-#: flatcamTools/ToolOptimal.py:342 flatcamTools/ToolQRCode.py:424
+#: flatcamTools/ToolCopperThieving.py:668
+#: flatcamTools/ToolCopperThieving.py:750
+#: flatcamTools/ToolCopperThieving.py:1346 flatcamTools/ToolDblSided.py:658
+#: flatcamTools/ToolExtractDrills.py:436 flatcamTools/ToolFiducials.py:466
+#: flatcamTools/ToolFiducials.py:743 flatcamTools/ToolOptimal.py:343
+#: flatcamTools/ToolPunchGerber.py:512 flatcamTools/ToolQRCode.py:426
msgid "There is no Gerber object loaded ..."
msgstr "No hay ningún objeto Gerber cargado ..."
-#: flatcamTools/ToolCopperThieving.py:675
-#: flatcamTools/ToolCopperThieving.py:1268
+#: flatcamTools/ToolCopperThieving.py:681
+#: flatcamTools/ToolCopperThieving.py:1274
msgid "Append geometry"
msgstr "Añadir geometría"
-#: flatcamTools/ToolCopperThieving.py:719
-#: flatcamTools/ToolCopperThieving.py:1301
-#: flatcamTools/ToolCopperThieving.py:1454
+#: flatcamTools/ToolCopperThieving.py:725
+#: flatcamTools/ToolCopperThieving.py:1307
+#: flatcamTools/ToolCopperThieving.py:1460
msgid "Append source file"
msgstr "Agregar archivo fuente"
-#: flatcamTools/ToolCopperThieving.py:727
-#: flatcamTools/ToolCopperThieving.py:1309
+#: flatcamTools/ToolCopperThieving.py:733
+#: flatcamTools/ToolCopperThieving.py:1315
msgid "Copper Thieving Tool done."
msgstr "Herramienta Copper Thieving hecha."
-#: flatcamTools/ToolCopperThieving.py:754
-#: flatcamTools/ToolCopperThieving.py:787 flatcamTools/ToolCutOut.py:468
-#: flatcamTools/ToolCutOut.py:642 flatcamTools/ToolNonCopperClear.py:1151
-#: flatcamTools/ToolNonCopperClear.py:1192
-#: flatcamTools/ToolNonCopperClear.py:1224 flatcamTools/ToolPaint.py:1074
-#: flatcamTools/ToolPanelize.py:401 flatcamTools/ToolPanelize.py:416
-#: flatcamTools/ToolSub.py:288 flatcamTools/ToolSub.py:301
-#: flatcamTools/ToolSub.py:492 flatcamTools/ToolSub.py:507
-#: tclCommands/TclCommandCopperClear.py:97
-#: tclCommands/TclCommandCopperClear.py:146 tclCommands/TclCommandPaint.py:97
+#: flatcamTools/ToolCopperThieving.py:760
+#: flatcamTools/ToolCopperThieving.py:793 flatcamTools/ToolCutOut.py:480
+#: flatcamTools/ToolCutOut.py:667 flatcamTools/ToolInvertGerber.py:208
+#: flatcamTools/ToolNCC.py:1594 flatcamTools/ToolNCC.py:1635
+#: flatcamTools/ToolNCC.py:1664 flatcamTools/ToolPaint.py:1469
+#: flatcamTools/ToolPanelize.py:413 flatcamTools/ToolPanelize.py:428
+#: flatcamTools/ToolSub.py:294 flatcamTools/ToolSub.py:307
+#: flatcamTools/ToolSub.py:498 flatcamTools/ToolSub.py:513
+#: tclCommands/TclCommandCopperClear.py:97 tclCommands/TclCommandPaint.py:99
msgid "Could not retrieve object"
msgstr "No se pudo recuperar el objeto"
-#: flatcamTools/ToolCopperThieving.py:764
-#: flatcamTools/ToolNonCopperClear.py:1205
+#: flatcamTools/ToolCopperThieving.py:770 flatcamTools/ToolNCC.py:1643
msgid "Click the start point of the area."
msgstr "Haga clic en el punto de inicio del área."
-#: flatcamTools/ToolCopperThieving.py:815
+#: flatcamTools/ToolCopperThieving.py:821
msgid "Click the end point of the filling area."
msgstr "Haga clic en el punto final del área de relleno."
-#: flatcamTools/ToolCopperThieving.py:821
-#: flatcamTools/ToolNonCopperClear.py:1261 flatcamTools/ToolPaint.py:1201
+#: flatcamTools/ToolCopperThieving.py:827 flatcamTools/ToolNCC.py:1705
+#: flatcamTools/ToolNCC.py:1757 flatcamTools/ToolPaint.py:1601
+#: flatcamTools/ToolPaint.py:1652
msgid "Zone added. Click to start adding next zone or right click to finish."
msgstr ""
"Zona agregada. Haga clic para comenzar a agregar la siguiente zona o haga "
"clic con el botón derecho para finalizar."
-#: flatcamTools/ToolCopperThieving.py:937
-#: flatcamTools/ToolCopperThieving.py:941
-#: flatcamTools/ToolCopperThieving.py:1002
+#: flatcamTools/ToolCopperThieving.py:943
+#: flatcamTools/ToolCopperThieving.py:947
+#: flatcamTools/ToolCopperThieving.py:1008
msgid "Thieving"
msgstr "Ladrón"
-#: flatcamTools/ToolCopperThieving.py:948
+#: flatcamTools/ToolCopperThieving.py:954
msgid "Copper Thieving Tool started. Reading parameters."
msgstr "Herramienta de Copper Thieving iniciada. Parámetros de lectura."
-#: flatcamTools/ToolCopperThieving.py:973
+#: flatcamTools/ToolCopperThieving.py:979
msgid "Copper Thieving Tool. Preparing isolation polygons."
msgstr "Herramienta Copper Thieving. Preparación de polígonos de aislamiento."
-#: flatcamTools/ToolCopperThieving.py:1018
+#: flatcamTools/ToolCopperThieving.py:1024
msgid "Copper Thieving Tool. Preparing areas to fill with copper."
msgstr ""
"Herramienta Copper Thieving. Preparación de áreas para rellenar con cobre."
-#: flatcamTools/ToolCopperThieving.py:1029 flatcamTools/ToolOptimal.py:349
-#: flatcamTools/ToolPanelize.py:793 flatcamTools/ToolRulesCheck.py:1118
+#: flatcamTools/ToolCopperThieving.py:1035 flatcamTools/ToolOptimal.py:350
+#: flatcamTools/ToolPanelize.py:802 flatcamTools/ToolRulesCheck.py:1127
msgid "Working..."
msgstr "Trabajando..."
-#: flatcamTools/ToolCopperThieving.py:1056
+#: flatcamTools/ToolCopperThieving.py:1062
msgid "Geometry not supported for bounding box"
msgstr "Geometría no admitida para cuadro delimitador"
-#: flatcamTools/ToolCopperThieving.py:1062
-#: flatcamTools/ToolNonCopperClear.py:1513 flatcamTools/ToolPaint.py:2673
+#: flatcamTools/ToolCopperThieving.py:1068 flatcamTools/ToolNCC.py:1928
+#: flatcamTools/ToolNCC.py:1983 flatcamTools/ToolNCC.py:2987
+#: flatcamTools/ToolPaint.py:3375
msgid "No object available."
msgstr "No hay objeto disponible."
-#: flatcamTools/ToolCopperThieving.py:1099
-#: flatcamTools/ToolNonCopperClear.py:1555
+#: flatcamTools/ToolCopperThieving.py:1105 flatcamTools/ToolNCC.py:1953
+#: flatcamTools/ToolNCC.py:2006 flatcamTools/ToolNCC.py:3029
msgid "The reference object type is not supported."
msgstr "El tipo de objeto de referencia no es compatible."
-#: flatcamTools/ToolCopperThieving.py:1104
+#: flatcamTools/ToolCopperThieving.py:1110
msgid "Copper Thieving Tool. Appending new geometry and buffering."
msgstr ""
"Herramienta Coppe Thieving. Anexar nueva geometría y almacenamiento en búfer."
-#: flatcamTools/ToolCopperThieving.py:1120
+#: flatcamTools/ToolCopperThieving.py:1126
msgid "Create geometry"
msgstr "Crear geometría"
-#: flatcamTools/ToolCopperThieving.py:1320
-#: flatcamTools/ToolCopperThieving.py:1324
+#: flatcamTools/ToolCopperThieving.py:1326
+#: flatcamTools/ToolCopperThieving.py:1330
msgid "P-Plating Mask"
msgstr "Mascarilla P"
-#: flatcamTools/ToolCopperThieving.py:1346
+#: flatcamTools/ToolCopperThieving.py:1352
msgid "Append PP-M geometry"
msgstr "Añadir geometría de máscara de recubrimiento P"
-#: flatcamTools/ToolCopperThieving.py:1472
+#: flatcamTools/ToolCopperThieving.py:1478
msgid "Generating Pattern Plating Mask done."
msgstr "Generando patrón de recubrimiento de máscara hecho."
-#: flatcamTools/ToolCopperThieving.py:1544
+#: flatcamTools/ToolCopperThieving.py:1550
msgid "Copper Thieving Tool exit."
msgstr "Salida de herramienta de Copper Thieving."
@@ -13691,7 +14438,19 @@ msgstr "Salida de herramienta de Copper Thieving."
msgid "Cutout PCB"
msgstr "PCB de corte"
-#: flatcamTools/ToolCutOut.py:82
+#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:54
+msgid "Source Object"
+msgstr "Objeto fuente"
+
+#: flatcamTools/ToolCutOut.py:71
+msgid "Object to be cutout"
+msgstr "Objeto a recortar"
+
+#: flatcamTools/ToolCutOut.py:76
+msgid "Kind"
+msgstr "Tipo"
+
+#: flatcamTools/ToolCutOut.py:98
msgid ""
"Specify the type of object to be cutout.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -13703,19 +14462,19 @@ msgstr ""
"Lo que se seleccione aquí dictará el tipo\n"
"de objetos que llenarán el cuadro combinado 'Objeto'."
-#: flatcamTools/ToolCutOut.py:91 flatcamTools/ToolCutOut.py:92
-msgid "Object to be cutout"
-msgstr "Objeto a recortar"
+#: flatcamTools/ToolCutOut.py:122
+msgid "Tool Parameters"
+msgstr "Parámetros de Herram."
-#: flatcamTools/ToolCutOut.py:230
+#: flatcamTools/ToolCutOut.py:239
msgid "A. Automatic Bridge Gaps"
msgstr "A. Brechas automáticas del puente"
-#: flatcamTools/ToolCutOut.py:232
+#: flatcamTools/ToolCutOut.py:241
msgid "This section handle creation of automatic bridge gaps."
msgstr "Esta sección maneja la creación de espacios de puente automáticos."
-#: flatcamTools/ToolCutOut.py:243
+#: flatcamTools/ToolCutOut.py:252
msgid ""
"Number of gaps used for the Automatic cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -13739,11 +14498,11 @@ msgstr ""
"- 2tb - 2 * arriba + 2 * abajo\n"
"- 8 - 2 * izquierda + 2 * derecha + 2 * arriba + 2 * abajo"
-#: flatcamTools/ToolCutOut.py:264
+#: flatcamTools/ToolCutOut.py:273
msgid "Generate Freeform Geometry"
msgstr "Generar geometría de forma libre"
-#: flatcamTools/ToolCutOut.py:266
+#: flatcamTools/ToolCutOut.py:275
msgid ""
"Cutout the selected object.\n"
"The cutout shape can be of any shape.\n"
@@ -13753,11 +14512,11 @@ msgstr ""
"La forma recortada puede ser de cualquier forma.\n"
"Útil cuando la PCB tiene una forma no rectangular."
-#: flatcamTools/ToolCutOut.py:278
+#: flatcamTools/ToolCutOut.py:287
msgid "Generate Rectangular Geometry"
msgstr "Generar geometría rectangular"
-#: flatcamTools/ToolCutOut.py:280
+#: flatcamTools/ToolCutOut.py:289
msgid ""
"Cutout the selected object.\n"
"The resulting cutout shape is\n"
@@ -13769,11 +14528,11 @@ msgstr ""
"siempre una forma rectangular y será\n"
"El cuadro delimitador del objeto."
-#: flatcamTools/ToolCutOut.py:299
+#: flatcamTools/ToolCutOut.py:308
msgid "B. Manual Bridge Gaps"
msgstr "B. Brechas manuales del puente"
-#: flatcamTools/ToolCutOut.py:301
+#: flatcamTools/ToolCutOut.py:310
msgid ""
"This section handle creation of manual bridge gaps.\n"
"This is done by mouse clicking on the perimeter of the\n"
@@ -13783,15 +14542,15 @@ msgstr ""
"Esto se hace haciendo clic con el mouse en el perímetro del\n"
"Objeto de geometría que se utiliza como objeto recortado. "
-#: flatcamTools/ToolCutOut.py:319
+#: flatcamTools/ToolCutOut.py:329
msgid "Geometry object used to create the manual cutout."
msgstr "Objeto de geometría utilizado para crear el recorte manual."
-#: flatcamTools/ToolCutOut.py:328
+#: flatcamTools/ToolCutOut.py:338
msgid "Generate Manual Geometry"
msgstr "Generar geometría manual"
-#: flatcamTools/ToolCutOut.py:330
+#: flatcamTools/ToolCutOut.py:340
msgid ""
"If the object to be cutout is a Gerber\n"
"first create a Geometry that surrounds it,\n"
@@ -13804,11 +14563,11 @@ msgstr ""
"Seleccione el archivo fuente de Gerber en el cuadro combinado de objeto "
"superior."
-#: flatcamTools/ToolCutOut.py:343
+#: flatcamTools/ToolCutOut.py:353
msgid "Manual Add Bridge Gaps"
msgstr "Agregar huecos de puente manuales"
-#: flatcamTools/ToolCutOut.py:345
+#: flatcamTools/ToolCutOut.py:355
msgid ""
"Use the left mouse button (LMB) click\n"
"to create a bridge gap to separate the PCB from\n"
@@ -13822,7 +14581,7 @@ msgstr ""
"El clic LMB debe hacerse en el perímetro de\n"
"El objeto Geometry utilizado como geometría de recorte."
-#: flatcamTools/ToolCutOut.py:473
+#: flatcamTools/ToolCutOut.py:485
msgid ""
"There is no object selected for Cutout.\n"
"Select one and try again."
@@ -13830,16 +14589,17 @@ msgstr ""
"No hay ningún objeto seleccionado para Recorte.\n"
"Seleccione uno e intente nuevamente."
-#: flatcamTools/ToolCutOut.py:479 flatcamTools/ToolCutOut.py:651
-#: flatcamTools/ToolCutOut.py:795 flatcamTools/ToolCutOut.py:877
+#: flatcamTools/ToolCutOut.py:491 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:839 flatcamTools/ToolCutOut.py:921
+#: tclCommands/TclCommandGeoCutout.py:185
msgid "Tool Diameter is zero value. Change it to a positive real number."
msgstr "Diá. de herramienta es valor cero. Cámbielo a un número real positivo."
-#: flatcamTools/ToolCutOut.py:493 flatcamTools/ToolCutOut.py:666
+#: flatcamTools/ToolCutOut.py:505 flatcamTools/ToolCutOut.py:691
msgid "Number of gaps value is missing. Add it and retry."
msgstr "Falta el valor del número de huecos. Añádelo y vuelve a intentarlo."
-#: flatcamTools/ToolCutOut.py:498 flatcamTools/ToolCutOut.py:670
+#: flatcamTools/ToolCutOut.py:510 flatcamTools/ToolCutOut.py:695
msgid ""
"Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. "
"Fill in a correct value and retry. "
@@ -13847,7 +14607,7 @@ msgstr ""
"El valor de las brechas solo puede ser uno de: 'Ninguno', 'lr', 'tb', '2lr', "
"'2tb', 4 u 8. Complete un valor correcto y vuelva a intentarlo. "
-#: flatcamTools/ToolCutOut.py:503 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:515 flatcamTools/ToolCutOut.py:701
msgid ""
"Cutout operation cannot be done on a multi-geo Geometry.\n"
"Optionally, this Multi-geo Geometry can be converted to Single-geo "
@@ -13859,40 +14619,45 @@ msgstr ""
"Single-Geo,\n"
"y después de eso realiza el recorte."
-#: flatcamTools/ToolCutOut.py:625 flatcamTools/ToolCutOut.py:784
+#: flatcamTools/ToolCutOut.py:650 flatcamTools/ToolCutOut.py:828
msgid "Any form CutOut operation finished."
msgstr "Cualquier forma de operación de corte finalizada."
-#: flatcamTools/ToolCutOut.py:646 flatcamTools/ToolNonCopperClear.py:1155
-#: flatcamTools/ToolPaint.py:994 flatcamTools/ToolPanelize.py:406
-#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:70
+#: flatcamTools/ToolCutOut.py:671 flatcamTools/ToolInvertGerber.py:214
+#: flatcamTools/ToolNCC.py:1598 flatcamTools/ToolPaint.py:1392
+#: flatcamTools/ToolPanelize.py:418 tclCommands/TclCommandBbox.py:72
+#: tclCommands/TclCommandNregions.py:72
msgid "Object not found"
msgstr "Objeto no encontrado"
-#: flatcamTools/ToolCutOut.py:789
+#: flatcamTools/ToolCutOut.py:814
+msgid "Rectangular cutout with negative margin is not possible."
+msgstr "El corte rectangular con margen negativo no es posible."
+
+#: flatcamTools/ToolCutOut.py:833
msgid ""
"Click on the selected geometry object perimeter to create a bridge gap ..."
msgstr ""
"Haga clic en el perímetro del objeto de geometría seleccionado para crear un "
"espacio de puente ..."
-#: flatcamTools/ToolCutOut.py:806 flatcamTools/ToolCutOut.py:832
+#: flatcamTools/ToolCutOut.py:850 flatcamTools/ToolCutOut.py:876
msgid "Could not retrieve Geometry object"
msgstr "No se pudo recuperar el objeto Geometry"
-#: flatcamTools/ToolCutOut.py:837
+#: flatcamTools/ToolCutOut.py:881
msgid "Geometry object for manual cutout not found"
msgstr "Objeto de geometría para corte manual no encontrado"
-#: flatcamTools/ToolCutOut.py:847
+#: flatcamTools/ToolCutOut.py:891
msgid "Added manual Bridge Gap."
msgstr "Se agregó brecha de puente manual."
-#: flatcamTools/ToolCutOut.py:859
+#: flatcamTools/ToolCutOut.py:903
msgid "Could not retrieve Gerber object"
msgstr "No se pudo recuperar el objeto Gerber"
-#: flatcamTools/ToolCutOut.py:864
+#: flatcamTools/ToolCutOut.py:908
msgid ""
"There is no Gerber object selected for Cutout.\n"
"Select one and try again."
@@ -13900,7 +14665,7 @@ msgstr ""
"No hay ningún objeto Gerber seleccionado para Recorte.\n"
"Seleccione uno e intente nuevamente."
-#: flatcamTools/ToolCutOut.py:870
+#: flatcamTools/ToolCutOut.py:914
msgid ""
"The selected object has to be of Gerber type.\n"
"Select a Gerber file and try again."
@@ -13908,11 +14673,11 @@ msgstr ""
"El objeto seleccionado debe ser del tipo Gerber.\n"
"Seleccione un archivo Gerber e intente nuevamente."
-#: flatcamTools/ToolCutOut.py:905
+#: flatcamTools/ToolCutOut.py:949
msgid "Geometry not supported for cutout"
msgstr "Geometría no admitida para recorte"
-#: flatcamTools/ToolCutOut.py:960
+#: flatcamTools/ToolCutOut.py:1007
msgid "Making manual bridge gap..."
msgstr "Hacer un puente manual ..."
@@ -13920,12 +14685,20 @@ msgstr "Hacer un puente manual ..."
msgid "2-Sided PCB"
msgstr "PCB a 2 caras"
-#: flatcamTools/ToolDblSided.py:60
+#: flatcamTools/ToolDblSided.py:53
+msgid "Mirror Operation"
+msgstr "Operación Espejo"
+
+#: flatcamTools/ToolDblSided.py:54
+msgid "Objects to be mirrored"
+msgstr "Objetos a ser reflejados"
+
+#: flatcamTools/ToolDblSided.py:66
msgid "Gerber to be mirrored"
msgstr "Gerber para ser reflejado"
-#: flatcamTools/ToolDblSided.py:64 flatcamTools/ToolDblSided.py:92
-#: flatcamTools/ToolDblSided.py:122
+#: flatcamTools/ToolDblSided.py:70 flatcamTools/ToolDblSided.py:98
+#: flatcamTools/ToolDblSided.py:128
msgid ""
"Mirrors (flips) the specified object around \n"
"the specified axis. Does not create a new \n"
@@ -13935,41 +14708,53 @@ msgstr ""
"El eje especificado. No crea un nuevo\n"
"objeto, pero lo modifica."
-#: flatcamTools/ToolDblSided.py:88
+#: flatcamTools/ToolDblSided.py:94
msgid "Excellon Object to be mirrored."
msgstr "Excellon Objeto a ser reflejado."
-#: flatcamTools/ToolDblSided.py:117
+#: flatcamTools/ToolDblSided.py:123
msgid "Geometry Obj to be mirrored."
msgstr "Obj de geometría para ser reflejado."
-#: flatcamTools/ToolDblSided.py:179
-msgid "Point/Box Reference"
-msgstr "Punto/caja de referencia"
+#: flatcamTools/ToolDblSided.py:159
+msgid "Mirror Parameters"
+msgstr "Parámetros de Espejo"
-#: flatcamTools/ToolDblSided.py:181
+#: flatcamTools/ToolDblSided.py:160
+msgid "Parameters for the mirror operation"
+msgstr "Parámetros para la operación Reflejar"
+
+#: flatcamTools/ToolDblSided.py:165
+msgid "Mirror Axis"
+msgstr "Eje espejo"
+
+#: flatcamTools/ToolDblSided.py:176
msgid ""
-"If 'Point' is selected above it store the coordinates (x, y) through which\n"
-"the mirroring axis passes.\n"
-"If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
-"Geo).\n"
-"Through the center of this object pass the mirroring axis selected above."
+"The coordinates used as reference for the mirror operation.\n"
+"Can be:\n"
+"- Point -> a set of coordinates (x,y) around which the object is mirrored\n"
+"- Box -> a set of coordinates (x, y) obtained from the center of the\n"
+"bounding box of another object selected below"
msgstr ""
-"Si se selecciona 'Punto' encima, almacena las coordenadas (x, y) a través de "
-"las cuales\n"
-"el eje reflejado pasa.\n"
-"Si se selecciona 'Box' arriba, seleccione aquí un objeto FlatCAM (Gerber, "
-"Exc o Geo).\n"
-"A través del centro de este objeto pasa el eje reflejado seleccionado "
-"anteriormente."
+"Las coordenadas utilizadas como referencia para la operación espejo.\n"
+"Puede ser:\n"
+"- Punto -> un conjunto de coordenadas (x, y) alrededor del cual se refleja "
+"el objeto\n"
+"- Cuadro -> un conjunto de coordenadas (x, y) obtenidas del centro de la\n"
+"cuadro delimitador de otro objeto seleccionado a continuación"
-#: flatcamTools/ToolDblSided.py:189
+#: flatcamTools/ToolDblSided.py:190
+msgid "Point coordinates"
+msgstr "Coordenadas de puntos"
+
+#: flatcamTools/ToolDblSided.py:195
msgid ""
"Add the coordinates in format (x, y) through which the mirroring "
"axis \n"
" selected in 'MIRROR AXIS' pass.\n"
"The (x, y) coordinates are captured by pressing SHIFT key\n"
-"and left mouse button click on canvas or you can enter the coords manually."
+"and left mouse button click on canvas or you can enter the coordinates "
+"manually."
msgstr ""
"Agregue las coordenadas en formato (x, y) a través del cual el eje "
"de reflejo\n"
@@ -13978,102 +14763,61 @@ msgstr ""
"y haga clic con el botón izquierdo del mouse en el lienzo o puede ingresar "
"las coordenadas manualmente."
-#: flatcamTools/ToolDblSided.py:230
-msgid "Alignment Drill Coordinates"
-msgstr "Taladro de alineación Coords"
-
-#: flatcamTools/ToolDblSided.py:232
+#: flatcamTools/ToolDblSided.py:219
msgid ""
-"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
-"each set of (x, y) coordinates\n"
-"entered here, a pair of drills will be created:\n"
-"\n"
-"- one drill at the coordinates from the field\n"
-"- one drill in mirror position over the axis selected above in the 'Mirror "
-"Axis'."
+"It can be of type: Gerber or Excellon or Geometry.\n"
+"The coordinates of the center of the bounding box are used\n"
+"as reference for mirror operation."
msgstr ""
-"Agujeros de alineación (x1, y1), (x2, y2), ... en un lado del eje del "
-"espejo. Para cada conjunto de coordenadas (x, y)\n"
-"ingresado aquí, se crearán un par de simulacros:\n"
-"\n"
-"- un ejercicio en las coordenadas del campo\n"
-"- un taladro en posición de espejo sobre el eje seleccionado anteriormente "
-"en el 'Eje de espejo'."
+"Puede ser de tipo: Gerber o Excellon o Geometry.\n"
+"Se utilizan las coordenadas del centro del cuadro delimitador.\n"
+"como referencia para la operación del espejo."
-#: flatcamTools/ToolDblSided.py:247
+#: flatcamTools/ToolDblSided.py:253
+msgid "Bounds Values"
+msgstr "Valores de límites"
+
+#: flatcamTools/ToolDblSided.py:255
msgid ""
-"Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n"
-"on one side of the mirror axis.\n"
-"\n"
-"The coordinates set can be obtained:\n"
-"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the "
-"field.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
-"field and click Paste.\n"
-"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+"Select on canvas the object(s)\n"
+"for which to calculate bounds values."
msgstr ""
-"Agregue alineaciones de taladros de alineación en el formato: (x1, y1), (x2, "
-"y2), ...\n"
-"en un lado del eje del espejo.\n"
-"\n"
-"El conjunto de coordenadas se puede obtener:\n"
-"- presione la tecla SHIFT y haga clic con el botón izquierdo del mouse en el "
-"lienzo. Luego haga clic en Agregar.\n"
-"- presione la tecla SHIFT y haga clic con el botón izquierdo del mouse en el "
-"lienzo. Luego CTRL + V en el campo.\n"
-"- presione la tecla SHIFT y haga clic con el botón izquierdo del mouse en el "
-"lienzo. Luego, haga clic en RMB en el campo y haga clic en Pegar.\n"
-"- ingresando las coordenadas manualmente en el formato: (x1, y1), (x2, "
-"y2), ..."
+"Seleccione en lienzo los objetos\n"
+"para el cual calcular valores de límites."
-#: flatcamTools/ToolDblSided.py:272
-msgid "Alignment Drill Diameter"
-msgstr "Diá. de taladro de alineación"
-
-#: flatcamTools/ToolDblSided.py:292
-msgid "Create Excellon Object"
-msgstr "Crear objeto Excellon"
-
-#: flatcamTools/ToolDblSided.py:294
-msgid ""
-"Creates an Excellon Object containing the\n"
-"specified alignment holes and their mirror\n"
-"images."
-msgstr ""
-"Crea un objeto Excellon que contiene el\n"
-"agujeros de alineación especificados y su espejo\n"
-"imágenes."
-
-#: flatcamTools/ToolDblSided.py:323
+#: flatcamTools/ToolDblSided.py:265
msgid "X min"
msgstr "X min"
-#: flatcamTools/ToolDblSided.py:325 flatcamTools/ToolDblSided.py:339
+#: flatcamTools/ToolDblSided.py:267 flatcamTools/ToolDblSided.py:281
msgid "Minimum location."
msgstr "Ubicacion minima."
-#: flatcamTools/ToolDblSided.py:337
+#: flatcamTools/ToolDblSided.py:279
msgid "Y min"
msgstr "Y min"
-#: flatcamTools/ToolDblSided.py:351
+#: flatcamTools/ToolDblSided.py:293
msgid "X max"
msgstr "X max"
-#: flatcamTools/ToolDblSided.py:353 flatcamTools/ToolDblSided.py:367
+#: flatcamTools/ToolDblSided.py:295 flatcamTools/ToolDblSided.py:309
msgid "Maximum location."
msgstr "Máxima ubicación."
-#: flatcamTools/ToolDblSided.py:365
+#: flatcamTools/ToolDblSided.py:307
msgid "Y max"
msgstr "Y max"
-#: flatcamTools/ToolDblSided.py:377
+#: flatcamTools/ToolDblSided.py:318
+msgid "Center point coordinates"
+msgstr "Coords del punto central"
+
+#: flatcamTools/ToolDblSided.py:320
msgid "Centroid"
msgstr "Centroide"
-#: flatcamTools/ToolDblSided.py:379
+#: flatcamTools/ToolDblSided.py:322
msgid ""
"The center point location for the rectangular\n"
"bounding shape. Centroid. Format is (x, y)."
@@ -14081,11 +14825,11 @@ msgstr ""
"La ubicación del punto central para el rectangular\n"
"forma delimitadora. Centroide. El formato es (x, y)."
-#: flatcamTools/ToolDblSided.py:388
+#: flatcamTools/ToolDblSided.py:331
msgid "Calculate Bounds Values"
msgstr "Calcular valores de límites"
-#: flatcamTools/ToolDblSided.py:390
+#: flatcamTools/ToolDblSided.py:333
msgid ""
"Calculate the enveloping rectangular shape coordinates,\n"
"for the selection of objects.\n"
@@ -14095,11 +14839,106 @@ msgstr ""
"para la selección de objetos.\n"
"La forma de la envoltura es paralela al eje X, Y."
-#: flatcamTools/ToolDblSided.py:462
+#: flatcamTools/ToolDblSided.py:353
+msgid "PCB Alignment"
+msgstr "Alineación de PCB"
+
+#: flatcamTools/ToolDblSided.py:355 flatcamTools/ToolDblSided.py:457
+msgid ""
+"Creates an Excellon Object containing the\n"
+"specified alignment holes and their mirror\n"
+"images."
+msgstr ""
+"Crea un objeto Excellon que contiene el\n"
+"agujeros de alineación especificados y su espejo\n"
+"imágenes."
+
+#: flatcamTools/ToolDblSided.py:362
+msgid "Drill Diameter"
+msgstr "Diá del Taladro"
+
+#: flatcamTools/ToolDblSided.py:391 flatcamTools/ToolDblSided.py:398
+msgid ""
+"The reference point used to create the second alignment drill\n"
+"from the first alignment drill, by doing mirror.\n"
+"It can be modified in the Mirror Parameters -> Reference section"
+msgstr ""
+"El punto de referencia utilizado para crear el segundo ejercicio de "
+"alineación.\n"
+"desde el primer ejercicio de alineación, haciendo espejo.\n"
+"Se puede modificar en la sección Parámetros Espejo -> Referencia"
+
+#: flatcamTools/ToolDblSided.py:411
+msgid "Alignment Drill Coordinates"
+msgstr "Taladro de alineación Coords"
+
+#: flatcamTools/ToolDblSided.py:413
+msgid ""
+"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
+"each set of (x, y) coordinates\n"
+"entered here, a pair of drills will be created:\n"
+"\n"
+"- one drill at the coordinates from the field\n"
+"- one drill in mirror position over the axis selected above in the 'Align "
+"Axis'."
+msgstr ""
+"Agujeros de alineación (x1, y1), (x2, y2), ... en un lado del eje del "
+"espejo. Para cada conjunto de coordenadas (x, y)\n"
+"ingresado aquí, se crearán un par de simulacros:\n"
+"\n"
+"- un ejercicio en las coordenadas del campo\n"
+"- un taladro en posición de espejo sobre el eje seleccionado arriba en "
+"'Alinear eje'."
+
+#: flatcamTools/ToolDblSided.py:421
+msgid "Drill coordinates"
+msgstr "Coords de Perforación"
+
+#: flatcamTools/ToolDblSided.py:428
+msgid ""
+"Add alignment drill holes coordinates in the format: (x1, y1), (x2, "
+"y2), ... \n"
+"on one side of the alignment axis.\n"
+"\n"
+"The coordinates set can be obtained:\n"
+"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the "
+"field.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
+"field and click Paste.\n"
+"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+msgstr ""
+"Agregue coordenadas de taladros de alineación en el formato: (x1, y1), (x2, "
+"y2), ...\n"
+"en un lado del eje de alineación.\n"
+"\n"
+"El conjunto de coordenadas se puede obtener:\n"
+"- presione la tecla SHIFT y haga clic con el botón izquierdo del mouse en el "
+"lienzo. Luego haga clic en Agregar.\n"
+"- presione la tecla SHIFT y haga clic con el botón izquierdo en el lienzo "
+"Luego Ctrl + V en el campo.\n"
+"- presione la tecla SHIFT y haga clic con el botón izquierdo del mouse en el "
+"lienzo. Luego, haga clic en RMB en el campo y haga clic en Pegar.\n"
+"- ingresando las coordenadas manualmente en el formato: (x1, y1), (x2, "
+"y2), ..."
+
+#: flatcamTools/ToolDblSided.py:443
+msgid "Delete Last"
+msgstr "Eliminar último"
+
+#: flatcamTools/ToolDblSided.py:445
+msgid "Delete the last coordinates tuple in the list."
+msgstr "Eliminar la última tupla de coordenadas en la lista."
+
+#: flatcamTools/ToolDblSided.py:455
+msgid "Create Excellon Object"
+msgstr "Crear objeto Excellon"
+
+#: flatcamTools/ToolDblSided.py:542
msgid "2-Sided Tool"
msgstr "Herra. de 2 lados"
-#: flatcamTools/ToolDblSided.py:493
+#: flatcamTools/ToolDblSided.py:582
msgid ""
"'Point' reference is selected and 'Point' coordinates are missing. Add them "
"and retry."
@@ -14107,55 +14946,34 @@ msgstr ""
"Se selecciona la referencia 'Punto' y faltan las coordenadas 'Punto'. "
"Añádelos y vuelve a intentarlo."
-#: flatcamTools/ToolDblSided.py:512
+#: flatcamTools/ToolDblSided.py:601
msgid "There is no Box reference object loaded. Load one and retry."
msgstr ""
"No hay ningún objeto de referencia de cuadro cargado. Cargue uno y vuelva a "
"intentarlo."
-#: flatcamTools/ToolDblSided.py:524
+#: flatcamTools/ToolDblSided.py:613
msgid "No value or wrong format in Drill Dia entry. Add it and retry."
msgstr ""
"Sin valor o formato incorrecto en la entrada de diá. de perforación. Añádelo "
"y vuelve a intentarlo."
-#: flatcamTools/ToolDblSided.py:532
+#: flatcamTools/ToolDblSided.py:624
msgid "There are no Alignment Drill Coordinates to use. Add them and retry."
msgstr ""
"No hay coordenadas de taladro de alineación para usar. Añádelos y vuelve a "
"intentarlo."
-#: flatcamTools/ToolDblSided.py:555
+#: flatcamTools/ToolDblSided.py:649
msgid "Excellon object with alignment drills created..."
msgstr "Objeto Excellon con taladros de alineación creados ..."
-#: flatcamTools/ToolDblSided.py:568 flatcamTools/ToolDblSided.py:611
-#: flatcamTools/ToolDblSided.py:655
+#: flatcamTools/ToolDblSided.py:662 flatcamTools/ToolDblSided.py:705
+#: flatcamTools/ToolDblSided.py:749
msgid "Only Gerber, Excellon and Geometry objects can be mirrored."
msgstr "Solo los objetos Gerber, Excellon y Geometry se pueden reflejar."
-#: flatcamTools/ToolDblSided.py:578
-msgid ""
-"'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
-msgstr ""
-"'Punto 'coordenadas faltantes. Usando origen (0, 0) como reflejo de "
-"referencia."
-
-#: flatcamTools/ToolDblSided.py:588 flatcamTools/ToolDblSided.py:632
-#: flatcamTools/ToolDblSided.py:669
-msgid "There is no Box object loaded ..."
-msgstr "No hay ningún objeto caja cargado ..."
-
-#: flatcamTools/ToolDblSided.py:598 flatcamTools/ToolDblSided.py:642
-#: flatcamTools/ToolDblSided.py:679
-msgid "was mirrored"
-msgstr "fue reflejado"
-
-#: flatcamTools/ToolDblSided.py:607
-msgid "There is no Excellon object loaded ..."
-msgstr "No hay ningún objeto Excellon cargado ..."
-
-#: flatcamTools/ToolDblSided.py:622
+#: flatcamTools/ToolDblSided.py:672 flatcamTools/ToolDblSided.py:716
msgid ""
"There are no Point coordinates in the Point field. Add coords and try "
"again ..."
@@ -14163,98 +14981,137 @@ msgstr ""
"No hay coordenadas de punto en el campo Punto. Agregue coords e intente "
"nuevamente ..."
-#: flatcamTools/ToolDblSided.py:651
+#: flatcamTools/ToolDblSided.py:682 flatcamTools/ToolDblSided.py:726
+#: flatcamTools/ToolDblSided.py:763
+msgid "There is no Box object loaded ..."
+msgstr "No hay ningún objeto caja cargado ..."
+
+#: flatcamTools/ToolDblSided.py:692 flatcamTools/ToolDblSided.py:736
+#: flatcamTools/ToolDblSided.py:773
+msgid "was mirrored"
+msgstr "fue reflejado"
+
+#: flatcamTools/ToolDblSided.py:701 flatcamTools/ToolPunchGerber.py:533
+msgid "There is no Excellon object loaded ..."
+msgstr "No hay ningún objeto Excellon cargado ..."
+
+#: flatcamTools/ToolDblSided.py:745
msgid "There is no Geometry object loaded ..."
msgstr "No hay ningún objeto de geometría cargado ..."
-#: flatcamTools/ToolDistance.py:50 flatcamTools/ToolDistanceMin.py:50
+#: flatcamTools/ToolDistance.py:57 flatcamTools/ToolDistanceMin.py:51
msgid "Those are the units in which the distance is measured."
msgstr "Esas son las unidades en las que se mide la distancia."
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "METRIC (mm)"
msgstr "MÉTRICO (mm)"
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "INCH (in)"
msgstr "PULGADA (en)"
-#: flatcamTools/ToolDistance.py:54
+#: flatcamTools/ToolDistance.py:64
+msgid "Snap to center"
+msgstr "Ajustar al centro"
+
+#: flatcamTools/ToolDistance.py:66
+msgid ""
+"Mouse cursor will snap to the center of the pad/drill\n"
+"when it is hovering over the geometry of the pad/drill."
+msgstr ""
+"El cursor del mouse se ajustará al centro de la almohadilla / taladro\n"
+"cuando se cierne sobre la geometría de la almohadilla / taladro."
+
+#: flatcamTools/ToolDistance.py:76
msgid "Start Coords"
msgstr "Iniciar coordenadas"
-#: flatcamTools/ToolDistance.py:55 flatcamTools/ToolDistance.py:75
+#: flatcamTools/ToolDistance.py:77 flatcamTools/ToolDistance.py:82
msgid "This is measuring Start point coordinates."
msgstr "Esto mide las coordenadas del punto de inicio."
-#: flatcamTools/ToolDistance.py:57
+#: flatcamTools/ToolDistance.py:87
msgid "Stop Coords"
msgstr "Detener coordenadas"
-#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistance.py:80
+#: flatcamTools/ToolDistance.py:88 flatcamTools/ToolDistance.py:93
msgid "This is the measuring Stop point coordinates."
msgstr "Estas son las coordenadas del punto de parada de medición."
-#: flatcamTools/ToolDistance.py:60 flatcamTools/ToolDistanceMin.py:62
+#: flatcamTools/ToolDistance.py:98 flatcamTools/ToolDistanceMin.py:63
msgid "Dx"
msgstr "Dx"
-#: flatcamTools/ToolDistance.py:61 flatcamTools/ToolDistance.py:85
-#: flatcamTools/ToolDistanceMin.py:63 flatcamTools/ToolDistanceMin.py:92
+#: flatcamTools/ToolDistance.py:99 flatcamTools/ToolDistance.py:104
+#: flatcamTools/ToolDistanceMin.py:64 flatcamTools/ToolDistanceMin.py:93
msgid "This is the distance measured over the X axis."
msgstr "Esta es la distancia medida sobre el eje X."
-#: flatcamTools/ToolDistance.py:63 flatcamTools/ToolDistanceMin.py:65
+#: flatcamTools/ToolDistance.py:109 flatcamTools/ToolDistanceMin.py:66
msgid "Dy"
msgstr "Dy"
-#: flatcamTools/ToolDistance.py:64 flatcamTools/ToolDistance.py:90
-#: flatcamTools/ToolDistanceMin.py:66 flatcamTools/ToolDistanceMin.py:97
+#: flatcamTools/ToolDistance.py:110 flatcamTools/ToolDistance.py:115
+#: flatcamTools/ToolDistanceMin.py:67 flatcamTools/ToolDistanceMin.py:98
msgid "This is the distance measured over the Y axis."
msgstr "Esta es la distancia medida sobre el eje Y."
-#: flatcamTools/ToolDistance.py:67 flatcamTools/ToolDistance.py:95
-#: flatcamTools/ToolDistanceMin.py:69 flatcamTools/ToolDistanceMin.py:102
+#: flatcamTools/ToolDistance.py:121 flatcamTools/ToolDistance.py:126
+#: flatcamTools/ToolDistanceMin.py:70 flatcamTools/ToolDistanceMin.py:103
msgid "This is orientation angle of the measuring line."
msgstr "Este es el ángulo de orientación de la línea de medición."
-#: flatcamTools/ToolDistance.py:69 flatcamTools/ToolDistanceMin.py:71
+#: flatcamTools/ToolDistance.py:131 flatcamTools/ToolDistanceMin.py:72
msgid "DISTANCE"
msgstr "DISTANCIA"
-#: flatcamTools/ToolDistance.py:70 flatcamTools/ToolDistance.py:100
+#: flatcamTools/ToolDistance.py:132 flatcamTools/ToolDistance.py:137
msgid "This is the point to point Euclidian distance."
msgstr "Este es el punto a punto de la distancia euclidiana."
-#: flatcamTools/ToolDistance.py:102 flatcamTools/ToolDistanceMin.py:114
+#: flatcamTools/ToolDistance.py:142 flatcamTools/ToolDistance.py:337
+#: flatcamTools/ToolDistanceMin.py:115
msgid "Measure"
msgstr "Medida"
-#: flatcamTools/ToolDistance.py:212
+#: flatcamTools/ToolDistance.py:272
+msgid "Working"
+msgstr "Trabajando"
+
+#: flatcamTools/ToolDistance.py:277
msgid "MEASURING: Click on the Start point ..."
msgstr "MEDICIÓN: haga clic en el punto de inicio ..."
-#: flatcamTools/ToolDistance.py:345
+#: flatcamTools/ToolDistance.py:387
+msgid "Distance Tool finished."
+msgstr "Herramienta de Distancia terminada."
+
+#: flatcamTools/ToolDistance.py:455
+msgid "Pads overlapped. Aborting."
+msgstr "Almohadillas superpuestas. Abortar."
+
+#: flatcamTools/ToolDistance.py:485
msgid "MEASURING: Click on the Destination point ..."
msgstr "MEDICIÓN: haga clic en el punto de destino ..."
-#: flatcamTools/ToolDistance.py:353 flatcamTools/ToolDistanceMin.py:282
+#: flatcamTools/ToolDistance.py:494 flatcamTools/ToolDistanceMin.py:285
msgid "MEASURING"
msgstr "MEDICIÓN"
-#: flatcamTools/ToolDistance.py:354 flatcamTools/ToolDistanceMin.py:283
+#: flatcamTools/ToolDistance.py:495 flatcamTools/ToolDistanceMin.py:286
msgid "Result"
msgstr "Resultado"
-#: flatcamTools/ToolDistanceMin.py:31 flatcamTools/ToolDistanceMin.py:152
+#: flatcamTools/ToolDistanceMin.py:32 flatcamTools/ToolDistanceMin.py:144
msgid "Minimum Distance Tool"
msgstr "Herramienta de Distancia Mínima"
-#: flatcamTools/ToolDistanceMin.py:54
+#: flatcamTools/ToolDistanceMin.py:55
msgid "First object point"
msgstr "Primer punto"
-#: flatcamTools/ToolDistanceMin.py:55 flatcamTools/ToolDistanceMin.py:80
+#: flatcamTools/ToolDistanceMin.py:56 flatcamTools/ToolDistanceMin.py:81
msgid ""
"This is first object point coordinates.\n"
"This is the start point for measuring distance."
@@ -14262,11 +15119,11 @@ msgstr ""
"Este es el primer objeto de coordenadas de puntos.\n"
"Este es el punto de partida para medir la distancia."
-#: flatcamTools/ToolDistanceMin.py:58
+#: flatcamTools/ToolDistanceMin.py:59
msgid "Second object point"
msgstr "Segundo punto"
-#: flatcamTools/ToolDistanceMin.py:59 flatcamTools/ToolDistanceMin.py:86
+#: flatcamTools/ToolDistanceMin.py:60 flatcamTools/ToolDistanceMin.py:87
msgid ""
"This is second object point coordinates.\n"
"This is the end point for measuring distance."
@@ -14274,42 +15131,59 @@ msgstr ""
"Este es el segundo objeto de coordenadas de puntos.\n"
"Este es el punto final para medir la distancia."
-#: flatcamTools/ToolDistanceMin.py:72 flatcamTools/ToolDistanceMin.py:107
+#: flatcamTools/ToolDistanceMin.py:73 flatcamTools/ToolDistanceMin.py:108
msgid "This is the point to point Euclidean distance."
msgstr "Este es el punto a punto de la distancia euclidiana."
-#: flatcamTools/ToolDistanceMin.py:74
+#: flatcamTools/ToolDistanceMin.py:75
msgid "Half Point"
msgstr "Punto Medio"
-#: flatcamTools/ToolDistanceMin.py:75 flatcamTools/ToolDistanceMin.py:112
+#: flatcamTools/ToolDistanceMin.py:76 flatcamTools/ToolDistanceMin.py:113
msgid "This is the middle point of the point to point Euclidean distance."
msgstr "Este es el punto medio de la distancia euclidiana punto a punto."
-#: flatcamTools/ToolDistanceMin.py:117
+#: flatcamTools/ToolDistanceMin.py:118
msgid "Jump to Half Point"
msgstr "Saltar a Medio Punto"
-#: flatcamTools/ToolDistanceMin.py:163
+#: flatcamTools/ToolDistanceMin.py:155
msgid ""
"Select two objects and no more, to measure the distance between them ..."
msgstr ""
"Seleccione dos objetos y no más, para medir la distancia entre ellos ..."
-#: flatcamTools/ToolDistanceMin.py:204 flatcamTools/ToolDistanceMin.py:214
-#: flatcamTools/ToolDistanceMin.py:223 flatcamTools/ToolDistanceMin.py:244
+#: flatcamTools/ToolDistanceMin.py:196 flatcamTools/ToolDistanceMin.py:217
+#: flatcamTools/ToolDistanceMin.py:226 flatcamTools/ToolDistanceMin.py:247
msgid "Select two objects and no more. Currently the selection has objects: "
msgstr ""
"Seleccione dos objetos y no más. Actualmente la selección tiene objetos: "
-#: flatcamTools/ToolDistanceMin.py:291
+#: flatcamTools/ToolDistanceMin.py:294
msgid "Objects intersects or touch at"
msgstr "Los objetos se cruzan o tocan"
-#: flatcamTools/ToolDistanceMin.py:297
+#: flatcamTools/ToolDistanceMin.py:300
msgid "Jumped to the half point between the two selected objects"
msgstr "Saltó al punto medio entre los dos objetos seleccionados"
+#: flatcamTools/ToolExtractDrills.py:29 flatcamTools/ToolExtractDrills.py:295
+msgid "Extract Drills"
+msgstr "Extraer Taladros"
+
+#: flatcamTools/ToolExtractDrills.py:62
+msgid "Gerber from which to extract drill holes"
+msgstr "Gerber de donde extraer agujeros de perforación"
+
+#: flatcamTools/ToolExtractDrills.py:297
+msgid "Extract drills from a given Gerber file."
+msgstr "Extraer simulacros de un archivo Gerber dado."
+
+#: flatcamTools/ToolExtractDrills.py:478 flatcamTools/ToolExtractDrills.py:563
+#: flatcamTools/ToolExtractDrills.py:648
+msgid "No drills extracted. Try different parameters."
+msgstr "No se extraen taladros. Prueba diferentes parámetros."
+
#: flatcamTools/ToolFiducials.py:56
msgid "Fiducials Coordinates"
msgstr "Coordenadas Fiduciales"
@@ -14326,10 +15200,6 @@ msgstr ""
msgid "Top Right"
msgstr "Arriba a la derecha"
-#: flatcamTools/ToolFiducials.py:111
-msgid "Second Point"
-msgstr "Segundo punto"
-
#: flatcamTools/ToolFiducials.py:191
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding "
@@ -14340,31 +15210,31 @@ msgstr ""
"delimitador.\n"
" - 'Manual' - colocación manual de fiduciales."
-#: flatcamTools/ToolFiducials.py:258
+#: flatcamTools/ToolFiducials.py:259
msgid "Copper Gerber"
msgstr "Cobre Gerber"
-#: flatcamTools/ToolFiducials.py:267
+#: flatcamTools/ToolFiducials.py:268
msgid "Add Fiducial"
msgstr "Añadir Fiducial"
-#: flatcamTools/ToolFiducials.py:269
+#: flatcamTools/ToolFiducials.py:270
msgid "Will add a polygon on the copper layer to serve as fiducial."
msgstr "Agregará un polígono en la capa de cobre para servir como fiducial."
-#: flatcamTools/ToolFiducials.py:285
+#: flatcamTools/ToolFiducials.py:286
msgid "Soldermask Gerber"
msgstr "Soldermask Gerber"
-#: flatcamTools/ToolFiducials.py:287
+#: flatcamTools/ToolFiducials.py:288
msgid "The Soldermask Gerber object."
msgstr "El objeto Soldermask Gerber."
-#: flatcamTools/ToolFiducials.py:298
+#: flatcamTools/ToolFiducials.py:300
msgid "Add Soldermask Opening"
msgstr "Agregar apertura de Soldermask"
-#: flatcamTools/ToolFiducials.py:300
+#: flatcamTools/ToolFiducials.py:302
msgid ""
"Will add a polygon on the soldermask layer\n"
"to serve as fiducial opening.\n"
@@ -14376,25 +15246,25 @@ msgstr ""
"El diámetro siempre es el doble del diámetro.\n"
"para el cobre fiducial."
-#: flatcamTools/ToolFiducials.py:514
+#: flatcamTools/ToolFiducials.py:516
msgid "Click to add first Fiducial. Bottom Left..."
msgstr "Haga clic para agregar primero Fiducial. Abajo a la izquierda ..."
-#: flatcamTools/ToolFiducials.py:778
+#: flatcamTools/ToolFiducials.py:780
msgid "Click to add the last fiducial. Top Right..."
msgstr "Haga clic para agregar el último fiducial. Parte superior derecha..."
-#: flatcamTools/ToolFiducials.py:783
+#: flatcamTools/ToolFiducials.py:785
msgid "Click to add the second fiducial. Top Left or Bottom Right..."
msgstr ""
"Haga clic para agregar el segundo fiducial. Arriba a la izquierda o abajo a "
"la derecha ..."
-#: flatcamTools/ToolFiducials.py:786 flatcamTools/ToolFiducials.py:795
+#: flatcamTools/ToolFiducials.py:788 flatcamTools/ToolFiducials.py:797
msgid "Done. All fiducials have been added."
msgstr "Hecho. Se han agregado todos los fiduciales."
-#: flatcamTools/ToolFiducials.py:872
+#: flatcamTools/ToolFiducials.py:874
msgid "Fiducials Tool exit."
msgstr "Herram. Fiduciales de salida."
@@ -14402,7 +15272,7 @@ msgstr "Herram. Fiduciales de salida."
msgid "Film PCB"
msgstr "Película de PCB"
-#: flatcamTools/ToolFilm.py:80
+#: flatcamTools/ToolFilm.py:78
msgid ""
"Specify the type of object for which to create the film.\n"
"The object can be of type: Gerber or Geometry.\n"
@@ -14414,11 +15284,11 @@ msgstr ""
"La selección aquí decide el tipo de objetos que serán\n"
"en el cuadro combinado de objeto de película."
-#: flatcamTools/ToolFilm.py:94
+#: flatcamTools/ToolFilm.py:92
msgid "Film Object"
msgstr "Objeto de la película"
-#: flatcamTools/ToolFilm.py:96
+#: flatcamTools/ToolFilm.py:94
msgid "Object for which to create the film."
msgstr "Objeto para el cual crear la película."
@@ -14434,7 +15304,7 @@ msgstr ""
"aquí decide el tipo de objetos que serán\n"
"en el cuadro combinado Objeto de caja."
-#: flatcamTools/ToolFilm.py:129 flatcamTools/ToolPanelize.py:136
+#: flatcamTools/ToolFilm.py:129
msgid "Box Object"
msgstr "Objeto de caja"
@@ -14499,33 +15369,33 @@ msgstr ""
"Retire la geometría de Excellon de la película para crear los agujeros en "
"las almohadillas."
-#: flatcamTools/ToolFilm.py:379
+#: flatcamTools/ToolFilm.py:381
msgid "Punch Size"
msgstr "Tamaño de perforación"
-#: flatcamTools/ToolFilm.py:380
+#: flatcamTools/ToolFilm.py:382
msgid "The value here will control how big is the punch hole in the pads."
msgstr ""
"El valor aquí controlará qué tan grande es el agujero de perforación en los "
"pads."
-#: flatcamTools/ToolFilm.py:500
+#: flatcamTools/ToolFilm.py:502
msgid "Save Film"
msgstr "Guardar película"
-#: flatcamTools/ToolFilm.py:502
+#: flatcamTools/ToolFilm.py:504
msgid ""
"Create a Film for the selected object, within\n"
"the specified box. Does not create a new \n"
" FlatCAM object, but directly save it in the\n"
"selected format."
msgstr ""
-"Crear una película para el objeto seleccionado, dentro de\n"
-"la casilla especificada No crea un nuevo\n"
+"Crear una Película para el objeto seleccionado, dentro de\n"
+"El cuadro especificado. No crea un nuevo\n"
"Objeto FlatCAM, pero guárdelo directamente en el\n"
-"formato seleccionado"
+"formato seleccionado."
-#: flatcamTools/ToolFilm.py:652
+#: flatcamTools/ToolFilm.py:664
msgid ""
"Using the Pad center does not work on Geometry objects. Only a Gerber object "
"has pads."
@@ -14533,42 +15403,38 @@ msgstr ""
"El uso del centro de almohadilla no funciona en objetos de geometría. Solo "
"un objeto Gerber tiene almohadillas."
-#: flatcamTools/ToolFilm.py:662
+#: flatcamTools/ToolFilm.py:674
msgid "No FlatCAM object selected. Load an object for Film and retry."
msgstr ""
"No se ha seleccionado ningún objeto FlatCAM. Cargue un objeto para Película "
"y vuelva a intentarlo."
-#: flatcamTools/ToolFilm.py:669
+#: flatcamTools/ToolFilm.py:681
msgid "No FlatCAM object selected. Load an object for Box and retry."
msgstr ""
"No se ha seleccionado ningún objeto FlatCAM. Cargue un objeto para Box y "
"vuelva a intentarlo."
-#: flatcamTools/ToolFilm.py:673
+#: flatcamTools/ToolFilm.py:685
msgid "No FlatCAM object selected."
msgstr "No se ha seleccionado ningún objeto FlatCAM."
-#: flatcamTools/ToolFilm.py:684
+#: flatcamTools/ToolFilm.py:696
msgid "Generating Film ..."
msgstr "Generando película ..."
-#: flatcamTools/ToolFilm.py:733 flatcamTools/ToolFilm.py:737
+#: flatcamTools/ToolFilm.py:745 flatcamTools/ToolFilm.py:749
msgid "Export positive film"
msgstr "Exportar película positiva"
-#: flatcamTools/ToolFilm.py:742
-msgid "Export positive film cancelled."
-msgstr "Exportación de película positiva cancelada."
-
-#: flatcamTools/ToolFilm.py:770
+#: flatcamTools/ToolFilm.py:782
msgid ""
"No Excellon object selected. Load an object for punching reference and retry."
msgstr ""
"No se seleccionó ningún objeto Excellon. Cargue un objeto para perforar la "
"referencia y vuelva a intentarlo."
-#: flatcamTools/ToolFilm.py:794
+#: flatcamTools/ToolFilm.py:806
msgid ""
" Could not generate punched hole film because the punch hole sizeis bigger "
"than some of the apertures in the Gerber object."
@@ -14577,7 +15443,7 @@ msgstr ""
"agujero perforado es más grande que algunas de las aberturas en el objeto "
"Gerber."
-#: flatcamTools/ToolFilm.py:806
+#: flatcamTools/ToolFilm.py:818
msgid ""
"Could not generate punched hole film because the punch hole sizeis bigger "
"than some of the apertures in the Gerber object."
@@ -14586,7 +15452,7 @@ msgstr ""
"agujero perforado es más grande que algunas de las aberturas en el objeto "
"Gerber."
-#: flatcamTools/ToolFilm.py:824
+#: flatcamTools/ToolFilm.py:836
msgid ""
"Could not generate punched hole film because the newly created object "
"geometry is the same as the one in the source object geometry..."
@@ -14595,24 +15461,20 @@ msgstr ""
"objeto recién creada es la misma que la de la geometría del objeto de "
"origen ..."
-#: flatcamTools/ToolFilm.py:879 flatcamTools/ToolFilm.py:883
+#: flatcamTools/ToolFilm.py:891 flatcamTools/ToolFilm.py:895
msgid "Export negative film"
msgstr "Exportar película negativa"
-#: flatcamTools/ToolFilm.py:888
-msgid "Export negative film cancelled."
-msgstr "Película negativa de exportación cancelada."
-
-#: flatcamTools/ToolFilm.py:944 flatcamTools/ToolFilm.py:1122
-#: flatcamTools/ToolPanelize.py:421
+#: flatcamTools/ToolFilm.py:956 flatcamTools/ToolFilm.py:1139
+#: flatcamTools/ToolPanelize.py:433
msgid "No object Box. Using instead"
msgstr "Sin objeto Caja. Usando en su lugar"
-#: flatcamTools/ToolFilm.py:1060 flatcamTools/ToolFilm.py:1235
+#: flatcamTools/ToolFilm.py:1072 flatcamTools/ToolFilm.py:1252
msgid "Film file exported to"
msgstr "Archivo de película exportado a"
-#: flatcamTools/ToolFilm.py:1063 flatcamTools/ToolFilm.py:1238
+#: flatcamTools/ToolFilm.py:1075 flatcamTools/ToolFilm.py:1255
msgid "Generating Film ... Please wait."
msgstr "Generando Película ... Por favor espere."
@@ -14624,7 +15486,7 @@ msgstr "Imagen como objeto"
msgid "Image to PCB"
msgstr "Imagen a PCB"
-#: flatcamTools/ToolImage.py:57
+#: flatcamTools/ToolImage.py:56
msgid ""
"Specify the type of object to create from the image.\n"
"It can be of type: Gerber or Geometry."
@@ -14632,23 +15494,23 @@ msgstr ""
"Especifique el tipo de objeto a crear a partir de la imagen.\n"
"Puede ser de tipo: Gerber o Geometría."
-#: flatcamTools/ToolImage.py:66
+#: flatcamTools/ToolImage.py:65
msgid "DPI value"
msgstr "Valor de DPI"
-#: flatcamTools/ToolImage.py:67
+#: flatcamTools/ToolImage.py:66
msgid "Specify a DPI value for the image."
msgstr "Especifique un valor de DPI para la imagen."
-#: flatcamTools/ToolImage.py:73
+#: flatcamTools/ToolImage.py:72
msgid "Level of detail"
msgstr "Nivel de detalle"
-#: flatcamTools/ToolImage.py:82
+#: flatcamTools/ToolImage.py:81
msgid "Image type"
msgstr "Tipo de imagen"
-#: flatcamTools/ToolImage.py:84
+#: flatcamTools/ToolImage.py:83
msgid ""
"Choose a method for the image interpretation.\n"
"B/W means a black & white image. Color means a colored image."
@@ -14657,12 +15519,12 @@ msgstr ""
"B / N significa una imagen en blanco y negro. Color significa una imagen en "
"color."
-#: flatcamTools/ToolImage.py:93 flatcamTools/ToolImage.py:108
-#: flatcamTools/ToolImage.py:121 flatcamTools/ToolImage.py:134
+#: flatcamTools/ToolImage.py:92 flatcamTools/ToolImage.py:107
+#: flatcamTools/ToolImage.py:120 flatcamTools/ToolImage.py:133
msgid "Mask value"
msgstr "Valor de la máscara"
-#: flatcamTools/ToolImage.py:95
+#: flatcamTools/ToolImage.py:94
msgid ""
"Mask for monochrome image.\n"
"Takes values between [0 ... 255].\n"
@@ -14678,7 +15540,7 @@ msgstr ""
"0 significa sin detalles y 255 significa todo\n"
"(que es totalmente negro)"
-#: flatcamTools/ToolImage.py:110
+#: flatcamTools/ToolImage.py:109
msgid ""
"Mask for RED color.\n"
"Takes values between [0 ... 255].\n"
@@ -14690,7 +15552,7 @@ msgstr ""
"Decide el nivel de detalles a incluir\n"
"en la geometría resultante."
-#: flatcamTools/ToolImage.py:123
+#: flatcamTools/ToolImage.py:122
msgid ""
"Mask for GREEN color.\n"
"Takes values between [0 ... 255].\n"
@@ -14702,7 +15564,7 @@ msgstr ""
"Decide el nivel de detalles a incluir\n"
"en la geometría resultante."
-#: flatcamTools/ToolImage.py:136
+#: flatcamTools/ToolImage.py:135
msgid ""
"Mask for BLUE color.\n"
"Takes values between [0 ... 255].\n"
@@ -14714,33 +15576,59 @@ msgstr ""
"Decide el nivel de detalles a incluir\n"
"en la geometría resultante."
-#: flatcamTools/ToolImage.py:144
+#: flatcamTools/ToolImage.py:143
msgid "Import image"
msgstr "Importar imagen"
-#: flatcamTools/ToolImage.py:146
+#: flatcamTools/ToolImage.py:145
msgid "Open a image of raster type and then import it in FlatCAM."
msgstr "Abra una imagen de tipo ráster y luego impórtela en FlatCAM."
-#: flatcamTools/ToolImage.py:183
+#: flatcamTools/ToolImage.py:182
msgid "Image Tool"
msgstr "Herra. de imagen"
-#: flatcamTools/ToolImage.py:235 flatcamTools/ToolImage.py:238
+#: flatcamTools/ToolImage.py:234 flatcamTools/ToolImage.py:237
msgid "Import IMAGE"
msgstr "Importar IMAGEN"
-#: flatcamTools/ToolImage.py:286
+#: flatcamTools/ToolImage.py:285
msgid "Importing Image"
msgstr "Importando imagen"
+#: flatcamTools/ToolInvertGerber.py:74
+msgid "Gerber object that will be inverted."
+msgstr "Objeto de Gerber que se invertirá."
+
+#: flatcamTools/ToolInvertGerber.py:83
+msgid "Parameters for this tool"
+msgstr "Parámetros para esta herram."
+
+#: flatcamTools/ToolInvertGerber.py:123
+msgid "Invert Gerber"
+msgstr "Invertir Gerber"
+
+#: flatcamTools/ToolInvertGerber.py:125
+msgid ""
+"Will invert the Gerber object: areas that have copper\n"
+"will be empty of copper and previous empty area will be\n"
+"filled with copper."
+msgstr ""
+"Invertirá el objeto Gerber: áreas que tienen cobre.\n"
+"estará vacío de cobre y el área vacía anterior será\n"
+"lleno de cobre."
+
+#: flatcamTools/ToolInvertGerber.py:184
+msgid "Invert Tool"
+msgstr "Herram. de Inversión"
+
#: flatcamTools/ToolMove.py:103
msgid "MOVE: Click on the Start point ..."
msgstr "MOVER: haga clic en el punto de inicio ..."
#: flatcamTools/ToolMove.py:114
-msgid "MOVE action cancelled. No object(s) to move."
-msgstr "MOVER acción cancelada. Ningún objeto (s) para mover."
+msgid "Cancelled. No object(s) to move."
+msgstr "Cancelado. Ningún objeto (s) para mover."
#: flatcamTools/ToolMove.py:141
msgid "MOVE: Click on the Destination point ..."
@@ -14754,19 +15642,15 @@ msgstr "Movedizo..."
msgid "No object(s) selected."
msgstr "No hay objetos seleccionados."
-#: flatcamTools/ToolMove.py:212
+#: flatcamTools/ToolMove.py:222
msgid "Error when mouse left click."
msgstr "Error al hacer clic con el botón izquierdo del mouse."
-#: flatcamTools/ToolMove.py:260
-msgid "Move action cancelled."
-msgstr "Mover acción cancelada."
-
-#: flatcamTools/ToolNonCopperClear.py:38
+#: flatcamTools/ToolNCC.py:42
msgid "Non-Copper Clearing"
msgstr "Compensación sin cobre"
-#: flatcamTools/ToolNonCopperClear.py:84
+#: flatcamTools/ToolNCC.py:88
msgid ""
"Specify the type of object to be cleared of excess copper.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -14778,11 +15662,11 @@ msgstr ""
"Lo que se seleccione aquí dictará el tipo\n"
"de objetos que llenarán el cuadro combinado 'Objeto'."
-#: flatcamTools/ToolNonCopperClear.py:101
+#: flatcamTools/ToolNCC.py:110
msgid "Object to be cleared of excess copper."
msgstr "Objeto a eliminar del exceso de cobre."
-#: flatcamTools/ToolNonCopperClear.py:111
+#: flatcamTools/ToolNCC.py:122
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for copper clearing."
@@ -14790,11 +15674,7 @@ msgstr ""
"Conjunto de herramientas desde el cual el algoritmo\n"
"elegirá los utilizados para la limpieza de cobre."
-#: flatcamTools/ToolNonCopperClear.py:120
-msgid "Operation"
-msgstr "Operación"
-
-#: flatcamTools/ToolNonCopperClear.py:126
+#: flatcamTools/ToolNCC.py:138
msgid ""
"This is the Tool Number.\n"
"Non copper clearing will start with the tool with the biggest \n"
@@ -14811,7 +15691,7 @@ msgstr ""
"en la geometría resultante. Esto es porque con algunas herramientas\n"
"Esta función no podrá crear geometría de pintura."
-#: flatcamTools/ToolNonCopperClear.py:134
+#: flatcamTools/ToolNCC.py:146
msgid ""
"Tool Diameter. It's value (in current FlatCAM units)\n"
"is the cut width into the material."
@@ -14819,7 +15699,7 @@ msgstr ""
"Diámetro de herramienta. Su valor (en unidades actuales de FlatCAM)\n"
"es el ancho de corte en el material."
-#: flatcamTools/ToolNonCopperClear.py:138
+#: flatcamTools/ToolNCC.py:150
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n"
@@ -14857,33 +15737,7 @@ msgstr ""
"seleccionará el Tipo de operación\n"
"en la geometría resultante como aislamiento."
-#: flatcamTools/ToolNonCopperClear.py:151
-msgid ""
-"The 'Operation' can be:\n"
-"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
-"If it's not successful then the non-copper clearing will fail, too.\n"
-"- Clear -> the regular non-copper clearing."
-msgstr ""
-"La 'Operación' puede ser:\n"
-"- Aislamiento -> asegurará que la limpieza sin cobre esté siempre completa.\n"
-"Si no tiene éxito, la limpieza sin cobre también fallará.\n"
-"- Borrar -> la limpieza regular sin cobre."
-
-#: flatcamTools/ToolNonCopperClear.py:209
-msgid "Tool Selection"
-msgstr "Sel. de Herram"
-
-#: flatcamTools/ToolNonCopperClear.py:273
-msgid ""
-"Diameter for the new tool to add in the Tool Table.\n"
-"If the tool is V-shape type then this value is automatically\n"
-"calculated from the other parameters."
-msgstr ""
-"Diámetro de la nueva herramienta para agregar en la Tabla de herramientas.\n"
-"Si la herramienta es de tipo V, este valor es automáticamente\n"
-"calculado a partir de los otros parámetros."
-
-#: flatcamTools/ToolNonCopperClear.py:288 flatcamTools/ToolPaint.py:190
+#: flatcamTools/ToolNCC.py:296 flatcamTools/ToolPaint.py:279
msgid ""
"Add a new tool to the Tool Table\n"
"with the diameter specified above."
@@ -14891,8 +15745,8 @@ msgstr ""
"Agregar una nueva herramienta a la tabla de herramientas\n"
"con el diámetro especificado anteriormente."
-#: flatcamTools/ToolNonCopperClear.py:300 flatcamTools/ToolPaint.py:202
-#: flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolNCC.py:318 flatcamTools/ToolPaint.py:301
+#: flatcamTools/ToolSolderPaste.py:131
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table."
@@ -14900,23 +15754,7 @@ msgstr ""
"Eliminar una selección de herramientas en la tabla de herramientas\n"
"seleccionando primero una (s) fila (s) en la Tabla de herramientas."
-#: flatcamTools/ToolNonCopperClear.py:435
-msgid ""
-"- 'Itself' - the non copper clearing extent is based on the object that is "
-"copper cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"- 'Reference Object' - will do non copper clearing within the area specified "
-"by another object."
-msgstr ""
-"- 'Sí mismo': la extensión de limpieza sin cobre se basa en el objeto que se "
-"limpia con cobre.\n"
-"- 'Selección de área': haga clic con el botón izquierdo del mouse para "
-"iniciar la selección del área a pintar.\n"
-"- 'Objeto de referencia': hará una limpieza sin cobre dentro del área "
-"especificada por otro objeto."
-
-#: flatcamTools/ToolNonCopperClear.py:447
+#: flatcamTools/ToolNCC.py:554
msgid ""
"The type of FlatCAM object to be used as non copper clearing reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -14925,121 +15763,126 @@ msgstr ""
"sin cobre.\n"
"Puede ser Gerber, Excellon o Geometry."
-#: flatcamTools/ToolNonCopperClear.py:471
+#: flatcamTools/ToolNCC.py:597 flatcamTools/ToolPaint.py:537
msgid "Generate Geometry"
msgstr "Generar Geometría"
-#: flatcamTools/ToolNonCopperClear.py:582 flatcamTools/ToolPaint.py:493
-#: flatcamTools/ToolSolderPaste.py:553
-msgid "New Tool"
-msgstr "Nueva Herram"
-
-#: flatcamTools/ToolNonCopperClear.py:981 flatcamTools/ToolPaint.py:766
-#: flatcamTools/ToolSolderPaste.py:887
+#: flatcamTools/ToolNCC.py:1420 flatcamTools/ToolPaint.py:1179
+#: flatcamTools/ToolSolderPaste.py:888
msgid "Please enter a tool diameter to add, in Float format."
msgstr "Ingrese un diámetro de herramienta para agregar, en formato decimal."
-#: flatcamTools/ToolNonCopperClear.py:1012 flatcamTools/ToolPaint.py:791
-msgid "Adding tool cancelled. Tool already in Tool Table."
-msgstr ""
-"Agregando herramienta cancelada. Herramienta ya en la tabla de herramientas."
+#: flatcamTools/ToolNCC.py:1451 flatcamTools/ToolNCC.py:4008
+#: flatcamTools/ToolPaint.py:1203 flatcamTools/ToolPaint.py:3598
+#: flatcamTools/ToolSolderPaste.py:917
+msgid "Cancelled. Tool already in Tool Table."
+msgstr "Cancelado. Herramienta ya en la tabla de herramientas."
-#: flatcamTools/ToolNonCopperClear.py:1017 flatcamTools/ToolPaint.py:797
+#: flatcamTools/ToolNCC.py:1458 flatcamTools/ToolNCC.py:4025
+#: flatcamTools/ToolPaint.py:1208 flatcamTools/ToolPaint.py:3615
msgid "New tool added to Tool Table."
msgstr "Nueva herramienta agregada a la Tabla de herramientas."
-#: flatcamTools/ToolNonCopperClear.py:1061 flatcamTools/ToolPaint.py:843
+#: flatcamTools/ToolNCC.py:1502 flatcamTools/ToolPaint.py:1252
msgid "Tool from Tool Table was edited."
msgstr "Se editó la herramienta de la tabla de herramientas."
-#: flatcamTools/ToolNonCopperClear.py:1072 flatcamTools/ToolPaint.py:855
-#: flatcamTools/ToolSolderPaste.py:978
-msgid "Edit cancelled. New diameter value is already in the Tool Table."
+#: flatcamTools/ToolNCC.py:1514 flatcamTools/ToolPaint.py:1264
+#: flatcamTools/ToolSolderPaste.py:977
+msgid "Cancelled. New diameter value is already in the Tool Table."
msgstr ""
-"Editar cancelado El nuevo valor del diámetro ya está en la Tabla de "
-"herramientas."
+"Cancelado. El nuevo valor del diámetro ya está en la Tabla de herramientas."
-#: flatcamTools/ToolNonCopperClear.py:1119 flatcamTools/ToolPaint.py:953
+#: flatcamTools/ToolNCC.py:1566 flatcamTools/ToolPaint.py:1362
msgid "Delete failed. Select a tool to delete."
msgstr "Eliminar falló. Seleccione una herramienta para eliminar."
-#: flatcamTools/ToolNonCopperClear.py:1124 flatcamTools/ToolPaint.py:959
+#: flatcamTools/ToolNCC.py:1572 flatcamTools/ToolPaint.py:1368
msgid "Tool(s) deleted from Tool Table."
msgstr "Herramienta (s) eliminada de la tabla de herramientas."
-#: flatcamTools/ToolNonCopperClear.py:1171
+#: flatcamTools/ToolNCC.py:1614
msgid "Wrong Tool Dia value format entered, use a number."
msgstr ""
"Se ingresó un formato de valor de Diámetro de herramienta incorrecta, use un "
"número."
-#: flatcamTools/ToolNonCopperClear.py:1180 flatcamTools/ToolPaint.py:1023
+#: flatcamTools/ToolNCC.py:1623 flatcamTools/ToolPaint.py:1419
msgid "No selected tools in Tool Table."
msgstr "Seleccione una herramienta en la tabla de herramientas."
-#: flatcamTools/ToolNonCopperClear.py:1255 flatcamTools/ToolPaint.py:1195
+#: flatcamTools/ToolNCC.py:1699 flatcamTools/ToolPaint.py:1595
msgid "Click the end point of the paint area."
msgstr "Haga clic en el punto final del área de pintura."
-#: flatcamTools/ToolNonCopperClear.py:1410
-#: flatcamTools/ToolNonCopperClear.py:1412
-msgid "Non-Copper clearing ..."
-msgstr "Limpieza sin cobre ..."
-
-#: flatcamTools/ToolNonCopperClear.py:1422
-msgid "NCC Tool started. Reading parameters."
-msgstr "Herramienta NCC iniciada. Parámetros de lectura."
-
-#: flatcamTools/ToolNonCopperClear.py:1485
+#: flatcamTools/ToolNCC.py:1971 flatcamTools/ToolNCC.py:2959
msgid "NCC Tool. Preparing non-copper polygons."
msgstr "Herramienta NCC. Preparación de polígonos sin cobre."
-#: flatcamTools/ToolNonCopperClear.py:1581
+#: flatcamTools/ToolNCC.py:2030 flatcamTools/ToolNCC.py:3087
+msgid "NCC Tool. Calculate 'empty' area."
+msgstr "Herramienta NCC. Calcule el área 'vacía'."
+
+#: flatcamTools/ToolNCC.py:2049 flatcamTools/ToolNCC.py:2155
+#: flatcamTools/ToolNCC.py:2169 flatcamTools/ToolNCC.py:3100
+#: flatcamTools/ToolNCC.py:3205 flatcamTools/ToolNCC.py:3220
+#: flatcamTools/ToolNCC.py:3486 flatcamTools/ToolNCC.py:3587
+#: flatcamTools/ToolNCC.py:3602
+msgid "Buffering finished"
+msgstr "Buffering terminado"
+
+#: flatcamTools/ToolNCC.py:2057 flatcamTools/ToolNCC.py:2176
+#: flatcamTools/ToolNCC.py:3108 flatcamTools/ToolNCC.py:3227
+#: flatcamTools/ToolNCC.py:3493 flatcamTools/ToolNCC.py:3609
+msgid "Could not get the extent of the area to be non copper cleared."
+msgstr ""
+"No se pudo obtener la extensión del área que no fue limpiada con cobre."
+
+#: flatcamTools/ToolNCC.py:2084 flatcamTools/ToolNCC.py:2162
+#: flatcamTools/ToolNCC.py:3135 flatcamTools/ToolNCC.py:3212
+#: flatcamTools/ToolNCC.py:3513 flatcamTools/ToolNCC.py:3594
+msgid ""
+"Isolation geometry is broken. Margin is less than isolation tool diameter."
+msgstr ""
+"La geometría de aislamiento está rota. El margen es menor que el diámetro de "
+"la herramienta de aislamiento."
+
+#: flatcamTools/ToolNCC.py:2179 flatcamTools/ToolNCC.py:3231
+#: flatcamTools/ToolNCC.py:3612
+msgid "The selected object is not suitable for copper clearing."
+msgstr "El objeto seleccionado no es adecuado para la limpieza de cobre."
+
+#: flatcamTools/ToolNCC.py:2186 flatcamTools/ToolNCC.py:3238
+msgid "NCC Tool. Finished calculation of 'empty' area."
+msgstr "Herramienta NCC. Cálculo finalizado del área 'vacía'."
+
+#: flatcamTools/ToolNCC.py:2217 flatcamTools/ToolNCC.py:2219
+#: flatcamTools/ToolNCC.py:2911 flatcamTools/ToolNCC.py:2913
+msgid "Non-Copper clearing ..."
+msgstr "Limpieza sin cobre ..."
+
+#: flatcamTools/ToolNCC.py:2273 flatcamTools/ToolNCC.py:3055
msgid ""
"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
msgstr ""
"Herramienta NCC. Polígonos terminados sin cobre. Se inició la tarea normal "
"de limpieza de cobre."
-#: flatcamTools/ToolNonCopperClear.py:1613
-msgid "NCC Tool. Calculate 'empty' area."
-msgstr "Herramienta NCC. Calcule el área 'vacía'."
+#: flatcamTools/ToolNCC.py:2307 flatcamTools/ToolNCC.py:2587
+msgid "NCC Tool failed creating bounding box."
+msgstr "La herramienta NCC no pudo crear el cuadro delimitador."
-#: flatcamTools/ToolNonCopperClear.py:1626
-#: flatcamTools/ToolNonCopperClear.py:1723
-#: flatcamTools/ToolNonCopperClear.py:1735
-#: flatcamTools/ToolNonCopperClear.py:2018
-#: flatcamTools/ToolNonCopperClear.py:2114
-#: flatcamTools/ToolNonCopperClear.py:2126
-msgid "Buffering finished"
-msgstr "Buffering terminado"
+#: flatcamTools/ToolNCC.py:2321 flatcamTools/ToolNCC.py:2604
+#: flatcamTools/ToolNCC.py:3251 flatcamTools/ToolNCC.py:3637
+msgid "NCC Tool clearing with tool diameter"
+msgstr "La Herram. NCC se está limpiando con el diá. de la herramienta"
-#: flatcamTools/ToolNonCopperClear.py:1742
-#: flatcamTools/ToolNonCopperClear.py:2132
-msgid "The selected object is not suitable for copper clearing."
-msgstr "El objeto seleccionado no es adecuado para la limpieza de cobre."
-
-#: flatcamTools/ToolNonCopperClear.py:1747
-#: flatcamTools/ToolNonCopperClear.py:2137
-msgid "Could not get the extent of the area to be non copper cleared."
-msgstr ""
-"No se pudo obtener la extensión del área que no fue limpiada con cobre."
-
-#: flatcamTools/ToolNonCopperClear.py:1754
-msgid "NCC Tool. Finished calculation of 'empty' area."
-msgstr "Herramienta NCC. Cálculo finalizado del área 'vacía'."
-
-#: flatcamTools/ToolNonCopperClear.py:1768
-#: flatcamTools/ToolNonCopperClear.py:2162
-msgid "NCC Tool clearing with tool diameter = "
-msgstr "Herram. NCC se está limpiando con el diá de la herram. = "
-
-#: flatcamTools/ToolNonCopperClear.py:1771
-#: flatcamTools/ToolNonCopperClear.py:2165
+#: flatcamTools/ToolNCC.py:2321 flatcamTools/ToolNCC.py:2604
+#: flatcamTools/ToolNCC.py:3251 flatcamTools/ToolNCC.py:3637
msgid "started."
msgstr "empezado."
-#: flatcamTools/ToolNonCopperClear.py:1947
+#: flatcamTools/ToolNCC.py:2513 flatcamTools/ToolNCC.py:3412
msgid ""
"There is no NCC Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted "
@@ -15051,26 +15894,26 @@ msgstr ""
"grande para la geometría pintada.\n"
"Cambie los parámetros de pintura e intente nuevamente."
-#: flatcamTools/ToolNonCopperClear.py:1967
+#: flatcamTools/ToolNCC.py:2522 flatcamTools/ToolNCC.py:3421
msgid "NCC Tool clear all done."
msgstr "Herramienta NCC borrar todo hecho."
-#: flatcamTools/ToolNonCopperClear.py:1969
+#: flatcamTools/ToolNCC.py:2525 flatcamTools/ToolNCC.py:3424
msgid "NCC Tool clear all done but the copper features isolation is broken for"
msgstr ""
"La herramienta NCC borra todo, pero el aislamiento de las características de "
"cobre está roto por"
-#: flatcamTools/ToolNonCopperClear.py:1972
-#: flatcamTools/ToolNonCopperClear.py:2341
+#: flatcamTools/ToolNCC.py:2527 flatcamTools/ToolNCC.py:2812
+#: flatcamTools/ToolNCC.py:3426 flatcamTools/ToolNCC.py:3809
msgid "tools"
msgstr "herramientas"
-#: flatcamTools/ToolNonCopperClear.py:2337
+#: flatcamTools/ToolNCC.py:2808 flatcamTools/ToolNCC.py:3805
msgid "NCC Tool Rest Machining clear all done."
msgstr "NCC herramienta de mecanizado de reposo claro todo hecho."
-#: flatcamTools/ToolNonCopperClear.py:2340
+#: flatcamTools/ToolNCC.py:2811 flatcamTools/ToolNCC.py:3808
msgid ""
"NCC Tool Rest Machining clear all done but the copper features isolation is "
"broken for"
@@ -15078,7 +15921,11 @@ msgstr ""
"El mecanizado de reposo de herramientas NCC está claro, pero el aislamiento "
"de características de cobre está roto por"
-#: flatcamTools/ToolNonCopperClear.py:2787
+#: flatcamTools/ToolNCC.py:2923
+msgid "NCC Tool started. Reading parameters."
+msgstr "Herramienta NCC iniciada. Parámetros de lectura."
+
+#: flatcamTools/ToolNCC.py:3901
msgid ""
"Try to use the Buffering Type = Full in Preferences -> Gerber General. "
"Reload the Gerber file after this change."
@@ -15087,43 +15934,43 @@ msgstr ""
"Preferencias -> Gerber General. Vuelva a cargar el archivo Gerber después de "
"este cambio."
-#: flatcamTools/ToolOptimal.py:79
+#: flatcamTools/ToolOptimal.py:80
msgid "Number of decimals kept for found distances."
msgstr "Número de decimales guardados para distancias encontradas."
-#: flatcamTools/ToolOptimal.py:87
+#: flatcamTools/ToolOptimal.py:88
msgid "Minimum distance"
msgstr "Distancia minima"
-#: flatcamTools/ToolOptimal.py:88
+#: flatcamTools/ToolOptimal.py:89
msgid "Display minimum distance between copper features."
msgstr "Mostrar la distancia mínima entre las características de cobre."
-#: flatcamTools/ToolOptimal.py:92
+#: flatcamTools/ToolOptimal.py:93
msgid "Determined"
msgstr "Determinado"
-#: flatcamTools/ToolOptimal.py:106
+#: flatcamTools/ToolOptimal.py:107
msgid "Occurring"
msgstr "Ocurriendo"
-#: flatcamTools/ToolOptimal.py:107
+#: flatcamTools/ToolOptimal.py:108
msgid "How many times this minimum is found."
msgstr "Cuántas veces se encuentra este mínimo."
-#: flatcamTools/ToolOptimal.py:113
+#: flatcamTools/ToolOptimal.py:114
msgid "Minimum points coordinates"
msgstr "Coordenadas de puntos mínimos"
-#: flatcamTools/ToolOptimal.py:114 flatcamTools/ToolOptimal.py:120
+#: flatcamTools/ToolOptimal.py:115 flatcamTools/ToolOptimal.py:121
msgid "Coordinates for points where minimum distance was found."
msgstr "Coordenadas para los puntos donde se encontró la distancia mínima."
-#: flatcamTools/ToolOptimal.py:133 flatcamTools/ToolOptimal.py:209
+#: flatcamTools/ToolOptimal.py:134 flatcamTools/ToolOptimal.py:210
msgid "Jump to selected position"
msgstr "Saltar a la posición seleccionada"
-#: flatcamTools/ToolOptimal.py:135 flatcamTools/ToolOptimal.py:211
+#: flatcamTools/ToolOptimal.py:136 flatcamTools/ToolOptimal.py:212
msgid ""
"Select a position in the Locations text box and then\n"
"click this button."
@@ -15131,11 +15978,11 @@ msgstr ""
"Seleccione una posición en el cuadro de texto Ubicaciones y luego\n"
"haga clic en este botón."
-#: flatcamTools/ToolOptimal.py:143
+#: flatcamTools/ToolOptimal.py:144
msgid "Other distances"
msgstr "Otras distancias"
-#: flatcamTools/ToolOptimal.py:144
+#: flatcamTools/ToolOptimal.py:145
msgid ""
"Will display other distances in the Gerber file ordered from\n"
"the minimum to the maximum, not including the absolute minimum."
@@ -15143,13 +15990,13 @@ msgstr ""
"Mostrará otras distancias en el archivo Gerber ordenado a\n"
"el mínimo al máximo, sin incluir el mínimo absoluto."
-#: flatcamTools/ToolOptimal.py:149
+#: flatcamTools/ToolOptimal.py:150
msgid "Other distances points coordinates"
msgstr "Otras distancias puntos coordenadas"
-#: flatcamTools/ToolOptimal.py:150 flatcamTools/ToolOptimal.py:164
-#: flatcamTools/ToolOptimal.py:171 flatcamTools/ToolOptimal.py:188
-#: flatcamTools/ToolOptimal.py:195
+#: flatcamTools/ToolOptimal.py:151 flatcamTools/ToolOptimal.py:165
+#: flatcamTools/ToolOptimal.py:172 flatcamTools/ToolOptimal.py:189
+#: flatcamTools/ToolOptimal.py:196
msgid ""
"Other distances and the coordinates for points\n"
"where the distance was found."
@@ -15157,19 +16004,19 @@ msgstr ""
"Otras distancias y las coordenadas de los puntos.\n"
"donde se encontró la distancia."
-#: flatcamTools/ToolOptimal.py:163
+#: flatcamTools/ToolOptimal.py:164
msgid "Gerber distances"
msgstr "Distancias de Gerber"
-#: flatcamTools/ToolOptimal.py:187
+#: flatcamTools/ToolOptimal.py:188
msgid "Points coordinates"
msgstr "Coordenadas de puntos"
-#: flatcamTools/ToolOptimal.py:219
+#: flatcamTools/ToolOptimal.py:220
msgid "Find Minimum"
msgstr "Encuentra mínimo"
-#: flatcamTools/ToolOptimal.py:221
+#: flatcamTools/ToolOptimal.py:222
msgid ""
"Calculate the minimum distance between copper features,\n"
"this will allow the determination of the right tool to\n"
@@ -15179,11 +16026,11 @@ msgstr ""
"esto permitirá determinar la herramienta adecuada para\n"
"utilizar para aislamiento o limpieza de cobre."
-#: flatcamTools/ToolOptimal.py:346
+#: flatcamTools/ToolOptimal.py:347
msgid "Only Gerber objects can be evaluated."
msgstr "Solo se pueden evaluar los objetos de Gerber."
-#: flatcamTools/ToolOptimal.py:352
+#: flatcamTools/ToolOptimal.py:353
msgid ""
"Optimal Tool. Started to search for the minimum distance between copper "
"features."
@@ -15191,15 +16038,15 @@ msgstr ""
"Herramienta óptima. Comenzó a buscar la distancia mínima entre las "
"características de cobre."
-#: flatcamTools/ToolOptimal.py:362
+#: flatcamTools/ToolOptimal.py:363
msgid "Optimal Tool. Parsing geometry for aperture"
msgstr "Herramienta óptima. Análisis de geometría para apertura"
-#: flatcamTools/ToolOptimal.py:373
+#: flatcamTools/ToolOptimal.py:374
msgid "Optimal Tool. Creating a buffer for the object geometry."
msgstr "Herramienta óptima. Crear un búfer para la geometría del objeto."
-#: flatcamTools/ToolOptimal.py:383
+#: flatcamTools/ToolOptimal.py:384
msgid ""
"The Gerber object has one Polygon as geometry.\n"
"There are no distances between geometry elements to be found."
@@ -15207,18 +16054,18 @@ msgstr ""
"El objeto Gerber tiene un Polígono como geometría.\n"
"No hay distancias entre los elementos de geometría que se encuentran."
-#: flatcamTools/ToolOptimal.py:388
+#: flatcamTools/ToolOptimal.py:389
msgid ""
"Optimal Tool. Finding the distances between each two elements. Iterations"
msgstr ""
"Herramienta óptima. Encontrar las distancias entre cada dos elementos. "
"Iteraciones"
-#: flatcamTools/ToolOptimal.py:423
+#: flatcamTools/ToolOptimal.py:424
msgid "Optimal Tool. Finding the minimum distance."
msgstr "Herramienta óptima. Encontrar la distancia mínima."
-#: flatcamTools/ToolOptimal.py:439
+#: flatcamTools/ToolOptimal.py:440
msgid "Optimal Tool. Finished successfully."
msgstr "Herramienta óptima. Terminado con éxito."
@@ -15247,7 +16094,7 @@ msgstr "El archivo PDF abierto ha fallado."
msgid "Rendered"
msgstr "Rendido"
-#: flatcamTools/ToolPaint.py:87
+#: flatcamTools/ToolPaint.py:82
msgid ""
"Specify the type of object to be painted.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -15263,7 +16110,7 @@ msgstr ""
msgid "Object to be painted."
msgstr "Objeto a pintar."
-#: flatcamTools/ToolPaint.py:114
+#: flatcamTools/ToolPaint.py:117
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for painting."
@@ -15271,7 +16118,7 @@ msgstr ""
"Conjunto de herramientas desde el cual el algoritmo\n"
"elegirá los que se usan para pintar."
-#: flatcamTools/ToolPaint.py:129
+#: flatcamTools/ToolPaint.py:134
msgid ""
"This is the Tool Number.\n"
"Painting will start with the tool with the biggest diameter,\n"
@@ -15287,7 +16134,7 @@ msgstr ""
"en la geometría resultante. Esto es porque con algunas herramientas\n"
"Esta función no podrá crear geometría de pintura."
-#: flatcamTools/ToolPaint.py:141
+#: flatcamTools/ToolPaint.py:146
msgid ""
"The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is "
"informative only. Being circular,
the cut width in material is exactly "
@@ -15313,52 +16160,7 @@ msgstr ""
"automáticamente el Tipo de operación en la geometría resultante como "
"Aislamiento."
-#: flatcamTools/ToolPaint.py:178
-msgid "Diameter for the new tool."
-msgstr "Diámetro para la nueva herramienta."
-
-#: flatcamTools/ToolPaint.py:253
-msgid ""
-"Algorithm for painting:\n"
-"- Standard: Fixed step inwards.\n"
-"- Seed-based: Outwards from seed.\n"
-"- Line-based: Parallel lines."
-msgstr ""
-"Algoritmo para pintar:\n"
-"- Estándar: paso fijo hacia adentro.\n"
-"- Basado en semillas: hacia afuera de la semilla.\n"
-"- Basado en líneas: líneas paralelas."
-
-#: flatcamTools/ToolPaint.py:283
-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"
-"\n"
-"If not checked, use the standard algorithm."
-msgstr ""
-"Si está marcado, use 'mecanizado en reposo'.\n"
-"Básicamente eliminará el cobre fuera de las características de la PCB,\n"
-"utilizando la herramienta más grande y continúe con las siguientes "
-"herramientas,\n"
-"de mayor a menor, para limpiar áreas de cobre que\n"
-"no se pudo borrar con la herramienta anterior, hasta que haya\n"
-"no más cobre para limpiar o no hay más herramientas.\n"
-"\n"
-"Si no está marcado, use el algoritmo estándar."
-
-#: flatcamTools/ToolPaint.py:307
-msgid "Polygon Selection"
-msgstr "Selección de polígono"
-
-#: flatcamTools/ToolPaint.py:309
-msgid "All Polygons"
-msgstr "Todos los polígonos"
-
-#: flatcamTools/ToolPaint.py:328
+#: flatcamTools/ToolPaint.py:498
msgid ""
"The type of FlatCAM object to be used as paint reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -15366,11 +16168,7 @@ msgstr ""
"El tipo de objeto FlatCAM que se utilizará como referencia de pintura.\n"
"Puede ser Gerber, Excellon o Geometry."
-#: flatcamTools/ToolPaint.py:353
-msgid "Create Paint Geometry"
-msgstr "Crear geometría de pintura"
-
-#: flatcamTools/ToolPaint.py:355
+#: flatcamTools/ToolPaint.py:539
msgid ""
"- 'Area Selection' - left mouse click to start selection of the area to be "
"painted.\n"
@@ -15388,72 +16186,99 @@ msgstr ""
"- 'Objeto de referencia' - hará una limpieza sin cobre dentro del área\n"
"especificado por otro objeto."
-#: flatcamTools/ToolPaint.py:973
-msgid "Paint Tool. Reading parameters."
-msgstr "Herramienta de pintura. Parámetros de lectura."
-
-#: flatcamTools/ToolPaint.py:988
+#: flatcamTools/ToolPaint.py:1388
#, python-format
msgid "Could not retrieve object: %s"
msgstr "No se pudo recuperar el objeto: %s"
-#: flatcamTools/ToolPaint.py:1002
+#: flatcamTools/ToolPaint.py:1398
msgid "Can't do Paint on MultiGeo geometries"
msgstr "No se puede Pintar en geometrías de geo-múltiple"
-#: flatcamTools/ToolPaint.py:1035
+#: flatcamTools/ToolPaint.py:1428
msgid "Click on a polygon to paint it."
msgstr "Haga clic en un polígono para pintarlo."
-#: flatcamTools/ToolPaint.py:1054
+#: flatcamTools/ToolPaint.py:1448
msgid "Click the start point of the paint area."
msgstr "Haga clic en el punto de inicio del área de pintura."
-#: flatcamTools/ToolPaint.py:1122
+#: flatcamTools/ToolPaint.py:1513
msgid "Click to add next polygon or right click to start painting."
msgstr ""
"Haga clic para agregar el siguiente polígono o haga clic con el botón "
"derecho para comenzar a pintar."
-#: flatcamTools/ToolPaint.py:1135
+#: flatcamTools/ToolPaint.py:1526
msgid "Click to add/remove next polygon or right click to start painting."
msgstr ""
"Haga clic para agregar / eliminar el siguiente polígono o haga clic con el "
"botón derecho para comenzar a pintar."
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349 flatcamTools/ToolPaint.py:1987
-#: flatcamTools/ToolPaint.py:1991 flatcamTools/ToolPaint.py:1994
-#: flatcamTools/ToolPaint.py:2276 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284 flatcamTools/ToolPaint.py:2458
-#: flatcamTools/ToolPaint.py:2465
-msgid "Paint Tool."
-msgstr "Herramienta de Pintura."
+#: flatcamTools/ToolPaint.py:2024
+msgid "Painting polygon with method: lines."
+msgstr "Pintura poligonal con método: líneas."
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349
-msgid "Normal painting polygon task started."
-msgstr "Se inició la tarea normal de polígono de pintura."
+#: flatcamTools/ToolPaint.py:2036
+msgid "Failed. Painting polygon with method: seed."
+msgstr "Ha fallado. Pintura poligonal con método: semilla."
-#: flatcamTools/ToolPaint.py:1345 flatcamTools/ToolPaint.py:1706
-#: flatcamTools/ToolPaint.py:1988 flatcamTools/ToolPaint.py:2278
-#: flatcamTools/ToolPaint.py:2460
-msgid "Buffering geometry..."
-msgstr "Almacenar la geometría ..."
+#: flatcamTools/ToolPaint.py:2047
+msgid "Failed. Painting polygon with method: standard."
+msgstr "Ha fallado. Pintura poligonal con método: estándar."
-#: flatcamTools/ToolPaint.py:1367
-msgid "No polygon found."
-msgstr "No se encontró polígono."
-
-#: flatcamTools/ToolPaint.py:1401
-msgid "Painting polygon..."
-msgstr "Pintar polígono ..."
-
-#: flatcamTools/ToolPaint.py:1448
+#: flatcamTools/ToolPaint.py:2063
msgid "Geometry could not be painted completely"
msgstr "La Geometría no se pudo pintar completamente"
-#: flatcamTools/ToolPaint.py:1481
+#: flatcamTools/ToolPaint.py:2092 flatcamTools/ToolPaint.py:2095
+#: flatcamTools/ToolPaint.py:2103 flatcamTools/ToolPaint.py:2406
+#: flatcamTools/ToolPaint.py:2409 flatcamTools/ToolPaint.py:2417
+#: flatcamTools/ToolPaint.py:2905 flatcamTools/ToolPaint.py:2908
+#: flatcamTools/ToolPaint.py:2914
+msgid "Paint Tool."
+msgstr "Herramienta de Pintura."
+
+#: flatcamTools/ToolPaint.py:2092 flatcamTools/ToolPaint.py:2095
+#: flatcamTools/ToolPaint.py:2103
+msgid "Normal painting polygon task started."
+msgstr "Se inició la tarea normal de polígono de pintura."
+
+#: flatcamTools/ToolPaint.py:2093 flatcamTools/ToolPaint.py:2407
+#: flatcamTools/ToolPaint.py:2906
+msgid "Buffering geometry..."
+msgstr "Almacenar la geometría ..."
+
+#: flatcamTools/ToolPaint.py:2115 flatcamTools/ToolPaint.py:2424
+#: flatcamTools/ToolPaint.py:2922
+msgid "No polygon found."
+msgstr "No se encontró polígono."
+
+#: flatcamTools/ToolPaint.py:2145
+msgid "Painting polygon..."
+msgstr "Pintar polígono ..."
+
+#: flatcamTools/ToolPaint.py:2155 flatcamTools/ToolPaint.py:2470
+#: flatcamTools/ToolPaint.py:2660 flatcamTools/ToolPaint.py:2968
+#: flatcamTools/ToolPaint.py:3147
+msgid "Painting with tool diameter = "
+msgstr "Pintar con diá de herram. = "
+
+#: flatcamTools/ToolPaint.py:2156 flatcamTools/ToolPaint.py:2471
+#: flatcamTools/ToolPaint.py:2661 flatcamTools/ToolPaint.py:2969
+#: flatcamTools/ToolPaint.py:3148
+msgid "started"
+msgstr "empezado"
+
+#: flatcamTools/ToolPaint.py:2181 flatcamTools/ToolPaint.py:2497
+#: flatcamTools/ToolPaint.py:2687 flatcamTools/ToolPaint.py:2995
+#: flatcamTools/ToolPaint.py:3174
+msgid "Margin parameter too big. Tool is not used"
+msgstr "El parámetro de margen es demasiado grande. La herramienta no se usa"
+
+#: flatcamTools/ToolPaint.py:2239 flatcamTools/ToolPaint.py:2566
+#: flatcamTools/ToolPaint.py:2744 flatcamTools/ToolPaint.py:3058
+#: flatcamTools/ToolPaint.py:3236
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different strategy of paint"
@@ -15461,9 +16286,9 @@ msgstr ""
"No se pudo Pintar. Pruebe con una combinación diferente de parámetros. O una "
"estrategia diferente de pintura"
-#: flatcamTools/ToolPaint.py:1533 flatcamTools/ToolPaint.py:1967
-#: flatcamTools/ToolPaint.py:2117 flatcamTools/ToolPaint.py:2438
-#: flatcamTools/ToolPaint.py:2592
+#: flatcamTools/ToolPaint.py:2296 flatcamTools/ToolPaint.py:2632
+#: flatcamTools/ToolPaint.py:2801 flatcamTools/ToolPaint.py:3119
+#: flatcamTools/ToolPaint.py:3298
msgid ""
"There is no Painting Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted "
@@ -15475,80 +16300,66 @@ msgstr ""
"grande para la geometría pintada.\n"
"Cambie los parámetros de pintura e intente nuevamente."
-#: flatcamTools/ToolPaint.py:1539
+#: flatcamTools/ToolPaint.py:2319
+msgid "Paint Single failed."
+msgstr "La pintura sola falló."
+
+#: flatcamTools/ToolPaint.py:2325
msgid "Paint Single Done."
msgstr "Pintar solo hecho."
-#: flatcamTools/ToolPaint.py:1571 flatcamTools/ToolPaint.py:2145
-#: flatcamTools/ToolPaint.py:2620
+#: flatcamTools/ToolPaint.py:2327 flatcamTools/ToolPaint.py:2837
+#: flatcamTools/ToolPaint.py:3334
msgid "Polygon Paint started ..."
msgstr "Polygon Pinta comenzó ..."
-#: flatcamTools/ToolPaint.py:1623 flatcamTools/ToolPaint.py:2207
+#: flatcamTools/ToolPaint.py:2406 flatcamTools/ToolPaint.py:2409
+#: flatcamTools/ToolPaint.py:2417
+msgid "Paint all polygons task started."
+msgstr "La tarea de pintar todos los polígonos comenzó."
+
+#: flatcamTools/ToolPaint.py:2448 flatcamTools/ToolPaint.py:2946
msgid "Painting polygons..."
msgstr "Pintar polígonos ..."
-#: flatcamTools/ToolPaint.py:1705 flatcamTools/ToolPaint.py:1708
-#: flatcamTools/ToolPaint.py:1710
-msgid "Paint Tool. Normal painting all task started."
-msgstr "Herramienta de pintura. La pintura normal comenzó toda tarea."
-
-#: flatcamTools/ToolPaint.py:1744 flatcamTools/ToolPaint.py:2023
-#: flatcamTools/ToolPaint.py:2325 flatcamTools/ToolPaint.py:2501
-msgid "Painting with tool diameter = "
-msgstr "Pintar con diá de herram. = "
-
-#: flatcamTools/ToolPaint.py:1747 flatcamTools/ToolPaint.py:2026
-#: flatcamTools/ToolPaint.py:2328 flatcamTools/ToolPaint.py:2504
-msgid "started"
-msgstr "empezado"
-
-#: flatcamTools/ToolPaint.py:1976
+#: flatcamTools/ToolPaint.py:2641
msgid "Paint All Done."
msgstr "Pintar todo listo."
-#: flatcamTools/ToolPaint.py:1987 flatcamTools/ToolPaint.py:1991
-#: flatcamTools/ToolPaint.py:1994
-msgid "Rest machining painting all task started."
-msgstr "Resto mecanizado pintando toda la tarea iniciada."
-
-#: flatcamTools/ToolPaint.py:2072 flatcamTools/ToolPaint.py:2388
-#: flatcamTools/ToolPaint.py:2548
-msgid ""
-"Could not do Paint All. Try a different combination of parameters. Or a "
-"different Method of paint"
-msgstr ""
-"No se pudo Pintar Todo. Pruebe con una combinación diferente de parámetros. "
-"O un método diferente de pintura"
-
-#: flatcamTools/ToolPaint.py:2126 flatcamTools/ToolPaint.py:2601
+#: flatcamTools/ToolPaint.py:2810 flatcamTools/ToolPaint.py:3307
msgid "Paint All with Rest-Machining done."
msgstr "Pinte Todo con el mecanizado de descanso hecho."
-#: flatcamTools/ToolPaint.py:2277 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284
-msgid "Normal painting area task started."
-msgstr "Se inició la tarea normal del área de pintura."
+#: flatcamTools/ToolPaint.py:2829
+msgid "Paint All failed."
+msgstr "Pintar todo falló."
-#: flatcamTools/ToolPaint.py:2447
+#: flatcamTools/ToolPaint.py:2835
+msgid "Paint Poly All Done."
+msgstr "Pintar todos los polígonos está hecho."
+
+#: flatcamTools/ToolPaint.py:2905 flatcamTools/ToolPaint.py:2908
+#: flatcamTools/ToolPaint.py:2914
+msgid "Painting area task started."
+msgstr "La tarea del área de pintura comenzó."
+
+#: flatcamTools/ToolPaint.py:3128
msgid "Paint Area Done."
msgstr "Área de pintura hecha."
-#: flatcamTools/ToolPaint.py:2459 flatcamTools/ToolPaint.py:2465
-msgid "Rest machining painting area task started."
-msgstr "Se inició la tarea de área de pintura de mecanizado en reposo."
+#: flatcamTools/ToolPaint.py:3326
+msgid "Paint Area failed."
+msgstr "Pintar el área falló."
-#: flatcamTools/ToolPaint.py:2462
-msgid "Paint Tool. Rest machining painting area task started."
-msgstr ""
-"Herramienta de pintura. Se inició la tarea de área de pintura de mecanizado "
-"de descanso."
+#: flatcamTools/ToolPaint.py:3332
+msgid "Paint Poly Area Done."
+msgstr "Pintar el área de polígonos está hecho."
#: flatcamTools/ToolPanelize.py:34
msgid "Panelize PCB"
msgstr "Panelizar PCB"
-#: flatcamTools/ToolPanelize.py:68
+#: flatcamTools/ToolPanelize.py:56
msgid ""
"Specify the type of object to be panelized\n"
"It can be of type: Gerber, Excellon or Geometry.\n"
@@ -15560,7 +16371,7 @@ msgstr ""
"La selección aquí decide el tipo de objetos que serán\n"
"en el cuadro combinado Objeto."
-#: flatcamTools/ToolPanelize.py:83
+#: flatcamTools/ToolPanelize.py:89
msgid ""
"Object to be panelized. This means that it will\n"
"be duplicated in an array of rows and columns."
@@ -15568,11 +16379,11 @@ msgstr ""
"Objeto a ser panelizado. Esto significa que lo hará\n"
"ser duplicado en una matriz de filas y columnas."
-#: flatcamTools/ToolPanelize.py:96
+#: flatcamTools/ToolPanelize.py:102
msgid "Penelization Reference"
msgstr "Ref. de penelización"
-#: flatcamTools/ToolPanelize.py:98
+#: flatcamTools/ToolPanelize.py:104
msgid ""
"Choose the reference for panelization:\n"
"- Object = the bounding box of a different object\n"
@@ -15592,11 +16403,11 @@ msgstr ""
"a este objeto de referencia, por lo tanto, manteniendo el panelizado\n"
"objetos sincronizados."
-#: flatcamTools/ToolPanelize.py:121
+#: flatcamTools/ToolPanelize.py:125
msgid "Box Type"
msgstr "Tipo de caja"
-#: flatcamTools/ToolPanelize.py:123
+#: flatcamTools/ToolPanelize.py:127
msgid ""
"Specify the type of object to be used as an container for\n"
"panelization. It can be: Gerber or Geometry type.\n"
@@ -15608,7 +16419,7 @@ msgstr ""
"La selección aquí decide el tipo de objetos que serán\n"
"en el cuadro combinado Objeto de caja."
-#: flatcamTools/ToolPanelize.py:138
+#: flatcamTools/ToolPanelize.py:141
msgid ""
"The actual object that is used a container for the\n"
" selected object that is to be panelized."
@@ -15616,11 +16427,11 @@ msgstr ""
"El objeto real que se utiliza como contenedor para\n"
" objeto seleccionado que se va a panelizar."
-#: flatcamTools/ToolPanelize.py:144
+#: flatcamTools/ToolPanelize.py:147
msgid "Panel Data"
msgstr "Datos del panel"
-#: flatcamTools/ToolPanelize.py:146
+#: flatcamTools/ToolPanelize.py:149
msgid ""
"This informations will shape the resulting panel.\n"
"The number of rows and columns will set how many\n"
@@ -15636,7 +16447,7 @@ msgstr ""
"Los espacios establecerán la distancia entre dos\n"
"elementos de la matriz de paneles."
-#: flatcamTools/ToolPanelize.py:205
+#: flatcamTools/ToolPanelize.py:208
msgid ""
"Choose the type of object for the panel object:\n"
"- Geometry\n"
@@ -15646,15 +16457,15 @@ msgstr ""
"- Geometría\n"
"- Gerber"
-#: flatcamTools/ToolPanelize.py:213
+#: flatcamTools/ToolPanelize.py:216
msgid "Constrain panel within"
msgstr "Restrinja el panel dentro de"
-#: flatcamTools/ToolPanelize.py:249
+#: flatcamTools/ToolPanelize.py:252
msgid "Panelize Object"
msgstr "Panelizar objeto"
-#: flatcamTools/ToolPanelize.py:251 flatcamTools/ToolRulesCheck.py:492
+#: flatcamTools/ToolPanelize.py:254 flatcamTools/ToolRulesCheck.py:501
msgid ""
"Panelize the specified object around the specified box.\n"
"In other words it creates multiple copies of the source object,\n"
@@ -15664,32 +16475,32 @@ msgstr ""
"En otras palabras, crea múltiples copias del objeto fuente,\n"
"dispuestos en una matriz 2D de filas y columnas."
-#: flatcamTools/ToolPanelize.py:319
+#: flatcamTools/ToolPanelize.py:322
msgid "Panel. Tool"
msgstr "Herra. de Panel"
-#: flatcamTools/ToolPanelize.py:448
+#: flatcamTools/ToolPanelize.py:460
msgid "Columns or Rows are zero value. Change them to a positive integer."
msgstr ""
"Las columnas o filas son de valor cero. Cámbialos a un entero positivo."
-#: flatcamTools/ToolPanelize.py:485
+#: flatcamTools/ToolPanelize.py:497
msgid "Generating panel ... "
msgstr "Panel generador … "
-#: flatcamTools/ToolPanelize.py:768
+#: flatcamTools/ToolPanelize.py:777
msgid "Generating panel ... Adding the Gerber code."
msgstr "Generando panel ... Agregando el código Gerber."
-#: flatcamTools/ToolPanelize.py:779
+#: flatcamTools/ToolPanelize.py:788
msgid "Generating panel... Spawning copies"
msgstr "Generando panel ... Generando copias"
-#: flatcamTools/ToolPanelize.py:786
+#: flatcamTools/ToolPanelize.py:795
msgid "Panel done..."
msgstr "Panel hecho ..."
-#: flatcamTools/ToolPanelize.py:789
+#: flatcamTools/ToolPanelize.py:798
#, python-brace-format
msgid ""
"{text} Too big for the constrain area. Final panel has {col} columns and "
@@ -15698,7 +16509,7 @@ msgstr ""
"{text} Demasiado grande para el área de restricción. El panel final tiene "
"{col} columnas y {row} filas"
-#: flatcamTools/ToolPanelize.py:798
+#: flatcamTools/ToolPanelize.py:807
msgid "Panel created successfully."
msgstr "Panel creado con éxito."
@@ -15838,163 +16649,214 @@ msgstr "PcbWizard .INF archivo cargado."
msgid "Main PcbWizard Excellon file loaded."
msgstr "Archivo PcbWizard Excellon principal cargado."
-#: flatcamTools/ToolPcbWizard.py:431
+#: flatcamTools/ToolPcbWizard.py:428
msgid "Cannot parse file"
msgstr "No se puede analizar el archivo"
-#: flatcamTools/ToolPcbWizard.py:456
+#: flatcamTools/ToolPcbWizard.py:452
msgid "Importing Excellon."
msgstr "Importando Excellon."
-#: flatcamTools/ToolPcbWizard.py:463
+#: flatcamTools/ToolPcbWizard.py:459
msgid "Import Excellon file failed."
msgstr "Error al importar el archivo Excellon."
-#: flatcamTools/ToolPcbWizard.py:471
+#: flatcamTools/ToolPcbWizard.py:467
msgid "Imported"
msgstr "Importado"
-#: flatcamTools/ToolPcbWizard.py:475
+#: flatcamTools/ToolPcbWizard.py:471
msgid "Excellon merging is in progress. Please wait..."
msgstr "La fusión de Excellon está en progreso. Por favor espera..."
-#: flatcamTools/ToolPcbWizard.py:478
+#: flatcamTools/ToolPcbWizard.py:474
msgid "The imported Excellon file is None."
msgstr "El archivo Excellon importado es Ninguno."
-#: flatcamTools/ToolProperties.py:119
-msgid "Properties Tool was not displayed. No object selected."
-msgstr "La herramienta Propiedades no se mostró. Ningún objeto seleccionado."
-
-#: flatcamTools/ToolProperties.py:134
+#: flatcamTools/ToolProperties.py:131
msgid "Object Properties are displayed."
msgstr "Se muestran las propiedades del objeto."
-#: flatcamTools/ToolProperties.py:135
+#: flatcamTools/ToolProperties.py:136
msgid "Properties Tool"
msgstr "Herra. de Propiedades"
-#: flatcamTools/ToolProperties.py:149
+#: flatcamTools/ToolProperties.py:150
msgid "TYPE"
msgstr "TIPO"
-#: flatcamTools/ToolProperties.py:150
+#: flatcamTools/ToolProperties.py:151
msgid "NAME"
msgstr "NOMBRE"
-#: flatcamTools/ToolProperties.py:151
+#: flatcamTools/ToolProperties.py:153
msgid "Dimensions"
msgstr "Dimensiones"
-#: flatcamTools/ToolProperties.py:165
-msgid "Others"
-msgstr "Otros"
-
-#: flatcamTools/ToolProperties.py:172
+#: flatcamTools/ToolProperties.py:181
msgid "Geo Type"
msgstr "Tipo de Geo"
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:184
msgid "Single-Geo"
msgstr "Geo. individual"
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:185
msgid "Multi-Geo"
msgstr "Geo. múltiple"
-#: flatcamTools/ToolProperties.py:181
+#: flatcamTools/ToolProperties.py:196
msgid "Calculating dimensions ... Please wait."
msgstr "Calculando dimensiones ... Por favor espere."
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:325
-#: flatcamTools/ToolProperties.py:327
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:343
+#: flatcamTools/ToolProperties.py:345
msgid "Inch"
msgstr "Pulgada"
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:326
-#: flatcamTools/ToolProperties.py:328
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:344
+#: flatcamTools/ToolProperties.py:346
msgid "Metric"
msgstr "Métrico"
-#: flatcamTools/ToolProperties.py:401 flatcamTools/ToolProperties.py:459
+#: flatcamTools/ToolProperties.py:421 flatcamTools/ToolProperties.py:486
msgid "Drills number"
msgstr "Número de taladros"
-#: flatcamTools/ToolProperties.py:402 flatcamTools/ToolProperties.py:461
+#: flatcamTools/ToolProperties.py:422 flatcamTools/ToolProperties.py:488
msgid "Slots number"
msgstr "Número de tragamonedas"
-#: flatcamTools/ToolProperties.py:404
+#: flatcamTools/ToolProperties.py:424
msgid "Drills total number:"
msgstr "Número total de taladros:"
-#: flatcamTools/ToolProperties.py:405
+#: flatcamTools/ToolProperties.py:425
msgid "Slots total number:"
msgstr "Número total de tragamonedas:"
-#: flatcamTools/ToolProperties.py:411 flatcamTools/ToolProperties.py:426
-#: flatcamTools/ToolProperties.py:429 flatcamTools/ToolProperties.py:432
-#: flatcamTools/ToolProperties.py:456
+#: flatcamTools/ToolProperties.py:452 flatcamTools/ToolProperties.py:455
+#: flatcamTools/ToolProperties.py:458 flatcamTools/ToolProperties.py:483
msgid "Present"
msgstr "Presente"
-#: flatcamTools/ToolProperties.py:427 flatcamTools/ToolProperties.py:457
+#: flatcamTools/ToolProperties.py:453 flatcamTools/ToolProperties.py:484
msgid "Solid Geometry"
msgstr "Geometria solida"
-#: flatcamTools/ToolProperties.py:430
+#: flatcamTools/ToolProperties.py:456
msgid "GCode Text"
msgstr "GCode texto"
-#: flatcamTools/ToolProperties.py:433
+#: flatcamTools/ToolProperties.py:459
msgid "GCode Geometry"
msgstr "Geometría GCode"
-#: flatcamTools/ToolProperties.py:435
+#: flatcamTools/ToolProperties.py:462
msgid "Data"
msgstr "Datos"
-#: flatcamTools/ToolProperties.py:468
+#: flatcamTools/ToolProperties.py:495
msgid "Depth of Cut"
msgstr "Profundidad del corte"
-#: flatcamTools/ToolProperties.py:480
+#: flatcamTools/ToolProperties.py:507
msgid "Clearance Height"
msgstr "Altura libre"
-#: flatcamTools/ToolProperties.py:512
+#: flatcamTools/ToolProperties.py:539
msgid "Routing time"
msgstr "Tiempo de enrutamiento"
-#: flatcamTools/ToolProperties.py:519
+#: flatcamTools/ToolProperties.py:546
msgid "Travelled distance"
msgstr "Distancia recorrida"
-#: flatcamTools/ToolProperties.py:560
+#: flatcamTools/ToolProperties.py:564
msgid "Width"
msgstr "Anchura"
-#: flatcamTools/ToolProperties.py:566 flatcamTools/ToolProperties.py:574
+#: flatcamTools/ToolProperties.py:570 flatcamTools/ToolProperties.py:578
msgid "Box Area"
msgstr "Área de caja"
-#: flatcamTools/ToolProperties.py:569 flatcamTools/ToolProperties.py:577
+#: flatcamTools/ToolProperties.py:573 flatcamTools/ToolProperties.py:581
msgid "Convex_Hull Area"
msgstr "Área de casco convexo"
-#: flatcamTools/ToolProperties.py:583 flatcamTools/ToolProperties.py:585
+#: flatcamTools/ToolProperties.py:588 flatcamTools/ToolProperties.py:591
msgid "Copper Area"
msgstr "Área de cobre"
-#: flatcamTools/ToolQRCode.py:79
+#: flatcamTools/ToolPunchGerber.py:30 flatcamTools/ToolPunchGerber.py:323
+msgid "Punch Gerber"
+msgstr "Gerber Perforadora"
+
+#: flatcamTools/ToolPunchGerber.py:65
+msgid "Gerber into which to punch holes"
+msgstr "Gerber en el que hacer agujeros"
+
+#: flatcamTools/ToolPunchGerber.py:85
+msgid "ALL"
+msgstr "TODAS"
+
+#: flatcamTools/ToolPunchGerber.py:166
+msgid ""
+"Remove the geometry of Excellon from the Gerber to create the holes in pads."
+msgstr ""
+"Retire la geometría de Excellon del Gerber para crear los agujeros en las "
+"almohadillas."
+
+#: flatcamTools/ToolPunchGerber.py:325
+msgid ""
+"Create a Gerber object from the selected object, within\n"
+"the specified box."
+msgstr ""
+"Cree un objeto Gerber a partir del objeto seleccionado, dentro de\n"
+"El cuadro especificado."
+
+#: flatcamTools/ToolPunchGerber.py:425
+msgid "Punch Tool"
+msgstr "Herram. de Perforación"
+
+#: flatcamTools/ToolPunchGerber.py:599
+msgid "The value of the fixed diameter is 0.0. Aborting."
+msgstr "El valor del diámetro fijo es 0.0. Abortar."
+
+#: flatcamTools/ToolPunchGerber.py:607
+msgid ""
+" Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+" No se pudo generar el agujero perforado Gerber porque el tamaño del agujero "
+"perforado es más grande que algunas de las aberturas en el objeto Gerber."
+
+#: flatcamTools/ToolPunchGerber.py:619
+msgid ""
+"Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+"No se pudo generar el agujero perforado Gerber porque el tamaño del agujero "
+"perforado es mayor que algunas de las aberturas en el objeto Gerber."
+
+#: flatcamTools/ToolPunchGerber.py:656
+msgid ""
+"Could not generate punched hole Gerber because the newly created object "
+"geometry is the same as the one in the source object geometry..."
+msgstr ""
+"No se pudo generar el agujero perforado Gerber porque la geometría del "
+"objeto recién creada es la misma que la de la geometría del objeto de "
+"origen ..."
+
+#: flatcamTools/ToolQRCode.py:80
msgid "Gerber Object to which the QRCode will be added."
msgstr "Objeto Gerber al que se agregará el QRCode."
-#: flatcamTools/ToolQRCode.py:92
+#: flatcamTools/ToolQRCode.py:93
msgid "QRCode Parameters"
msgstr "Parámetros QRCode"
-#: flatcamTools/ToolQRCode.py:94
+#: flatcamTools/ToolQRCode.py:95
msgid "The parameters used to shape the QRCode."
msgstr "Los parámetros utilizados para dar forma al QRCode."
@@ -16038,31 +16900,27 @@ msgstr "Insertar QRCode"
msgid "Create the QRCode object."
msgstr "Crea el objeto QRCode."
-#: flatcamTools/ToolQRCode.py:413 flatcamTools/ToolQRCode.py:748
-#: flatcamTools/ToolQRCode.py:797
+#: flatcamTools/ToolQRCode.py:415 flatcamTools/ToolQRCode.py:750
+#: flatcamTools/ToolQRCode.py:799
msgid "Cancelled. There is no QRCode Data in the text box."
msgstr "Cancelado. No hay datos de QRCode en el cuadro de texto."
-#: flatcamTools/ToolQRCode.py:432
+#: flatcamTools/ToolQRCode.py:434
msgid "Generating QRCode geometry"
msgstr "Generando geometría QRCode"
-#: flatcamTools/ToolQRCode.py:472
+#: flatcamTools/ToolQRCode.py:474
msgid "Click on the Destination point ..."
msgstr "Haga clic en el punto de destino ..."
-#: flatcamTools/ToolQRCode.py:587
+#: flatcamTools/ToolQRCode.py:589
msgid "QRCode Tool done."
msgstr "Herramienta QRCode hecha."
-#: flatcamTools/ToolQRCode.py:780 flatcamTools/ToolQRCode.py:784
+#: flatcamTools/ToolQRCode.py:782 flatcamTools/ToolQRCode.py:786
msgid "Export PNG"
msgstr "Exportar PNG"
-#: flatcamTools/ToolQRCode.py:789
-msgid " Export PNG cancelled."
-msgstr " Exportación PNG cancelada."
-
#: flatcamTools/ToolRulesCheck.py:33
msgid "Check Rules"
msgstr "Verificar Reglas"
@@ -16075,79 +16933,79 @@ msgstr "Archivos Gerber"
msgid "Gerber objects for which to check rules."
msgstr "Objetos de Gerber para los cuales verificar las reglas."
-#: flatcamTools/ToolRulesCheck.py:77
+#: flatcamTools/ToolRulesCheck.py:78
msgid "Top"
msgstr "Top"
-#: flatcamTools/ToolRulesCheck.py:79
+#: flatcamTools/ToolRulesCheck.py:80
msgid "The Top Gerber Copper object for which rules are checked."
msgstr "El objeto de cobre Top Gerber para el que se verifican las reglas."
-#: flatcamTools/ToolRulesCheck.py:94
+#: flatcamTools/ToolRulesCheck.py:96
msgid "Bottom"
msgstr "Inferior"
-#: flatcamTools/ToolRulesCheck.py:96
+#: flatcamTools/ToolRulesCheck.py:98
msgid "The Bottom Gerber Copper object for which rules are checked."
msgstr ""
"El objeto de cobre de Gerber inferior para el que se verifican las reglas."
-#: flatcamTools/ToolRulesCheck.py:111
+#: flatcamTools/ToolRulesCheck.py:114
msgid "SM Top"
msgstr "SM Top"
-#: flatcamTools/ToolRulesCheck.py:113
+#: flatcamTools/ToolRulesCheck.py:116
msgid "The Top Gerber Solder Mask object for which rules are checked."
msgstr ""
"El objeto Máscara de soldadura de Gerber superior para el que se verifican "
"las reglas."
-#: flatcamTools/ToolRulesCheck.py:128
+#: flatcamTools/ToolRulesCheck.py:132
msgid "SM Bottom"
msgstr "SM Inferior"
-#: flatcamTools/ToolRulesCheck.py:130
+#: flatcamTools/ToolRulesCheck.py:134
msgid "The Bottom Gerber Solder Mask object for which rules are checked."
msgstr ""
"El objeto de máscara de soldadura de Gerber inferior para el que se "
"verifican las reglas."
-#: flatcamTools/ToolRulesCheck.py:145
+#: flatcamTools/ToolRulesCheck.py:150
msgid "Silk Top"
msgstr "Top de serigrafía"
-#: flatcamTools/ToolRulesCheck.py:147
+#: flatcamTools/ToolRulesCheck.py:152
msgid "The Top Gerber Silkscreen object for which rules are checked."
msgstr ""
"El objeto de serigrafía Top Gerber para el que se verifican las reglas."
-#: flatcamTools/ToolRulesCheck.py:162
+#: flatcamTools/ToolRulesCheck.py:168
msgid "Silk Bottom"
msgstr "Serigrafía Inferior"
-#: flatcamTools/ToolRulesCheck.py:164
+#: flatcamTools/ToolRulesCheck.py:170
msgid "The Bottom Gerber Silkscreen object for which rules are checked."
msgstr ""
"El objeto Serigrafía inferior de Gerber para el que se verifican las reglas."
-#: flatcamTools/ToolRulesCheck.py:181
+#: flatcamTools/ToolRulesCheck.py:188
msgid "The Gerber Outline (Cutout) object for which rules are checked."
msgstr ""
"El objeto Esquema de Gerber (Recorte) para el que se verifican las reglas."
-#: flatcamTools/ToolRulesCheck.py:192
+#: flatcamTools/ToolRulesCheck.py:199
msgid "Excellon Objects"
msgstr "Objetos Excellon"
-#: flatcamTools/ToolRulesCheck.py:194
+#: flatcamTools/ToolRulesCheck.py:201
msgid "Excellon objects for which to check rules."
msgstr "Excellon objetos para los cuales verificar las reglas."
-#: flatcamTools/ToolRulesCheck.py:205
+#: flatcamTools/ToolRulesCheck.py:213
msgid "Excellon 1"
msgstr "Excellon 1"
-#: flatcamTools/ToolRulesCheck.py:207
+#: flatcamTools/ToolRulesCheck.py:215
msgid ""
"Excellon object for which to check rules.\n"
"Holds the plated holes or a general Excellon file content."
@@ -16155,11 +17013,11 @@ msgstr ""
"Objeto Excellon para el cual verificar las reglas.\n"
"Contiene los agujeros chapados o un contenido general del archivo Excellon."
-#: flatcamTools/ToolRulesCheck.py:223
+#: flatcamTools/ToolRulesCheck.py:232
msgid "Excellon 2"
msgstr "Excellon 2"
-#: flatcamTools/ToolRulesCheck.py:225
+#: flatcamTools/ToolRulesCheck.py:234
msgid ""
"Excellon object for which to check rules.\n"
"Holds the non-plated holes."
@@ -16167,35 +17025,35 @@ msgstr ""
"Objeto Excellon para el cual verificar las reglas.\n"
"Sostiene los agujeros no chapados."
-#: flatcamTools/ToolRulesCheck.py:238
+#: flatcamTools/ToolRulesCheck.py:247
msgid "All Rules"
msgstr "Todas las reglas"
-#: flatcamTools/ToolRulesCheck.py:240
+#: flatcamTools/ToolRulesCheck.py:249
msgid "This check/uncheck all the rules below."
msgstr "Esto marca / desmarca todas las reglas a continuación."
-#: flatcamTools/ToolRulesCheck.py:490
+#: flatcamTools/ToolRulesCheck.py:499
msgid "Run Rules Check"
msgstr "Ejecutar Reglas Verificar"
-#: flatcamTools/ToolRulesCheck.py:1149 flatcamTools/ToolRulesCheck.py:1209
-#: flatcamTools/ToolRulesCheck.py:1246 flatcamTools/ToolRulesCheck.py:1318
-#: flatcamTools/ToolRulesCheck.py:1372 flatcamTools/ToolRulesCheck.py:1410
-#: flatcamTools/ToolRulesCheck.py:1475
+#: flatcamTools/ToolRulesCheck.py:1158 flatcamTools/ToolRulesCheck.py:1218
+#: flatcamTools/ToolRulesCheck.py:1255 flatcamTools/ToolRulesCheck.py:1327
+#: flatcamTools/ToolRulesCheck.py:1381 flatcamTools/ToolRulesCheck.py:1419
+#: flatcamTools/ToolRulesCheck.py:1484
msgid "Value is not valid."
msgstr "El valor no es valido."
-#: flatcamTools/ToolRulesCheck.py:1163
+#: flatcamTools/ToolRulesCheck.py:1172
msgid "TOP -> Copper to Copper clearance"
msgstr "ARRIBA -> Separación de Cobre a Cobre"
-#: flatcamTools/ToolRulesCheck.py:1174
+#: flatcamTools/ToolRulesCheck.py:1183
msgid "BOTTOM -> Copper to Copper clearance"
msgstr "ABAJO -> Separación de Cobre a Cobre"
-#: flatcamTools/ToolRulesCheck.py:1179 flatcamTools/ToolRulesCheck.py:1273
-#: flatcamTools/ToolRulesCheck.py:1437
+#: flatcamTools/ToolRulesCheck.py:1188 flatcamTools/ToolRulesCheck.py:1282
+#: flatcamTools/ToolRulesCheck.py:1446
msgid ""
"At least one Gerber object has to be selected for this rule but none is "
"selected."
@@ -16203,14 +17061,14 @@ msgstr ""
"Se debe seleccionar al menos un objeto Gerber para esta regla, pero no se "
"selecciona ninguno."
-#: flatcamTools/ToolRulesCheck.py:1215
+#: flatcamTools/ToolRulesCheck.py:1224
msgid ""
"One of the copper Gerber objects or the Outline Gerber object is not valid."
msgstr ""
"Uno de los objetos de cobre de Gerber o el objeto de contorno de Gerber no "
"es válido."
-#: flatcamTools/ToolRulesCheck.py:1228 flatcamTools/ToolRulesCheck.py:1392
+#: flatcamTools/ToolRulesCheck.py:1237 flatcamTools/ToolRulesCheck.py:1401
msgid ""
"Outline Gerber object presence is mandatory for this rule but it is not "
"selected."
@@ -16218,31 +17076,31 @@ msgstr ""
"La presencia del objeto Contorno Gerber es obligatoria para esta regla, pero "
"no está seleccionada."
-#: flatcamTools/ToolRulesCheck.py:1245 flatcamTools/ToolRulesCheck.py:1272
+#: flatcamTools/ToolRulesCheck.py:1254 flatcamTools/ToolRulesCheck.py:1281
msgid "Silk to Silk clearance"
msgstr "Distancia de Serigrafía a Serigrafía"
-#: flatcamTools/ToolRulesCheck.py:1258
+#: flatcamTools/ToolRulesCheck.py:1267
msgid "TOP -> Silk to Silk clearance"
msgstr "ARRIBA -> Distancia de Serigrafía a Serigrafía"
-#: flatcamTools/ToolRulesCheck.py:1268
+#: flatcamTools/ToolRulesCheck.py:1277
msgid "BOTTOM -> Silk to Silk clearance"
msgstr "ABAJO -> Distancia de Serigrafía a Serigrafía"
-#: flatcamTools/ToolRulesCheck.py:1324
+#: flatcamTools/ToolRulesCheck.py:1333
msgid "One or more of the Gerber objects is not valid."
msgstr "Uno o más de los objetos de Gerber no son válidos."
-#: flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1341
msgid "TOP -> Silk to Solder Mask Clearance"
msgstr "ARRIBA -> Distancia entre la Máscara de Soldadura y la Serigrafía"
-#: flatcamTools/ToolRulesCheck.py:1338
+#: flatcamTools/ToolRulesCheck.py:1347
msgid "BOTTOM -> Silk to Solder Mask Clearance"
msgstr "ABAJO -> Distancia entre la Máscara de Soldadura y la Serigrafía"
-#: flatcamTools/ToolRulesCheck.py:1342
+#: flatcamTools/ToolRulesCheck.py:1351
msgid ""
"Both Silk and Solder Mask Gerber objects has to be either both Top or both "
"Bottom."
@@ -16250,62 +17108,62 @@ msgstr ""
"Tanto los objetos de Serigrafía como los de Máscara de soldadura Gerber "
"deben ser tanto Superior como Inferior."
-#: flatcamTools/ToolRulesCheck.py:1378
+#: flatcamTools/ToolRulesCheck.py:1387
msgid ""
"One of the Silk Gerber objects or the Outline Gerber object is not valid."
msgstr ""
"Uno de los objetos de Serigrafía Gerber o el objeto Contorno Gerber no es "
"válido."
-#: flatcamTools/ToolRulesCheck.py:1422
+#: flatcamTools/ToolRulesCheck.py:1431
msgid "TOP -> Minimum Solder Mask Sliver"
msgstr "ARRIBA -> Astilla de máscara de soldadura mínima"
-#: flatcamTools/ToolRulesCheck.py:1432
+#: flatcamTools/ToolRulesCheck.py:1441
msgid "BOTTOM -> Minimum Solder Mask Sliver"
msgstr "ABAJO -> Astilla de máscara de soldadura mínima"
-#: flatcamTools/ToolRulesCheck.py:1481
+#: flatcamTools/ToolRulesCheck.py:1490
msgid "One of the Copper Gerber objects or the Excellon objects is not valid."
msgstr "Uno de los objetos de Cobre Gerber u objetos de Excellon no es válido."
-#: flatcamTools/ToolRulesCheck.py:1497
+#: flatcamTools/ToolRulesCheck.py:1506
msgid ""
"Excellon object presence is mandatory for this rule but none is selected."
msgstr ""
"La presencia de objetos Excellon es obligatoria para esta regla, pero no se "
"selecciona ninguna."
-#: flatcamTools/ToolRulesCheck.py:1570 flatcamTools/ToolRulesCheck.py:1583
-#: flatcamTools/ToolRulesCheck.py:1594 flatcamTools/ToolRulesCheck.py:1607
+#: flatcamTools/ToolRulesCheck.py:1579 flatcamTools/ToolRulesCheck.py:1592
+#: flatcamTools/ToolRulesCheck.py:1603 flatcamTools/ToolRulesCheck.py:1616
msgid "STATUS"
msgstr "ESTADO"
-#: flatcamTools/ToolRulesCheck.py:1573 flatcamTools/ToolRulesCheck.py:1597
+#: flatcamTools/ToolRulesCheck.py:1582 flatcamTools/ToolRulesCheck.py:1606
msgid "FAILED"
msgstr "HA FALLADO"
-#: flatcamTools/ToolRulesCheck.py:1586 flatcamTools/ToolRulesCheck.py:1610
+#: flatcamTools/ToolRulesCheck.py:1595 flatcamTools/ToolRulesCheck.py:1619
msgid "PASSED"
msgstr "PASADO"
-#: flatcamTools/ToolRulesCheck.py:1587 flatcamTools/ToolRulesCheck.py:1611
+#: flatcamTools/ToolRulesCheck.py:1596 flatcamTools/ToolRulesCheck.py:1620
msgid "Violations: There are no violations for the current rule."
msgstr "Infracciones: no hay infracciones para la regla actual."
-#: flatcamTools/ToolShell.py:70 flatcamTools/ToolShell.py:72
-msgid "...proccessing..."
-msgstr "...procesando ..."
+#: flatcamTools/ToolShell.py:72 flatcamTools/ToolShell.py:74
+msgid "...processing..."
+msgstr "…procesando..."
-#: flatcamTools/ToolSolderPaste.py:37
+#: flatcamTools/ToolSolderPaste.py:38
msgid "Solder Paste Tool"
msgstr "Herra. de Pasta de Soldadura"
-#: flatcamTools/ToolSolderPaste.py:68
+#: flatcamTools/ToolSolderPaste.py:70
msgid "Gerber Solder paste object. "
msgstr "Gerber Soldadura pegar objeto. "
-#: flatcamTools/ToolSolderPaste.py:75
+#: flatcamTools/ToolSolderPaste.py:77
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for dispensing solder paste."
@@ -16313,7 +17171,7 @@ msgstr ""
"Conjunto de herramientas desde el cual el algoritmo\n"
"elegirá los que se usan para dispensar pasta de soldadura."
-#: flatcamTools/ToolSolderPaste.py:90
+#: flatcamTools/ToolSolderPaste.py:92
msgid ""
"This is the Tool Number.\n"
"The solder dispensing will start with the tool with the biggest \n"
@@ -16328,7 +17186,7 @@ msgstr ""
" con soldadura en pasta, la aplicación emitirá un cuadro de mensaje de "
"advertencia."
-#: flatcamTools/ToolSolderPaste.py:97
+#: flatcamTools/ToolSolderPaste.py:99
msgid ""
"Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
"is the width of the solder paste dispensed."
@@ -16337,11 +17195,11 @@ msgstr ""
"FlatCAM)\n"
"es el ancho de la pasta de soldadura dispensada."
-#: flatcamTools/ToolSolderPaste.py:104
+#: flatcamTools/ToolSolderPaste.py:106
msgid "New Nozzle Tool"
msgstr "Nueva herra. de boquilla"
-#: flatcamTools/ToolSolderPaste.py:123
+#: flatcamTools/ToolSolderPaste.py:125
msgid ""
"Add a new nozzle tool to the Tool Table\n"
"with the diameter specified above."
@@ -16349,15 +17207,15 @@ msgstr ""
"Agregue una nueva herramienta de boquilla a la tabla de herramientas\n"
"con el diámetro especificado anteriormente."
-#: flatcamTools/ToolSolderPaste.py:135
+#: flatcamTools/ToolSolderPaste.py:137
msgid "Generate solder paste dispensing geometry."
msgstr "Generar geometría de dispensación de pasta de soldadura."
-#: flatcamTools/ToolSolderPaste.py:154
+#: flatcamTools/ToolSolderPaste.py:156
msgid "STEP 1"
msgstr "PASO 1"
-#: flatcamTools/ToolSolderPaste.py:156
+#: flatcamTools/ToolSolderPaste.py:158
msgid ""
"First step is to select a number of nozzle tools for usage\n"
"and then optionally modify the GCode parameters bellow."
@@ -16366,7 +17224,7 @@ msgstr ""
"uso\n"
"y luego opcionalmente modificar los parámetros GCode a continuación."
-#: flatcamTools/ToolSolderPaste.py:159
+#: flatcamTools/ToolSolderPaste.py:161
msgid ""
"Select tools.\n"
"Modify parameters."
@@ -16374,7 +17232,7 @@ msgstr ""
"Seleccionar herramientas.\n"
"Modificar parámetros."
-#: flatcamTools/ToolSolderPaste.py:279
+#: flatcamTools/ToolSolderPaste.py:281
msgid ""
"Feedrate (speed) while moving up vertically\n"
" to Dispense position (on Z plane)."
@@ -16382,7 +17240,7 @@ msgstr ""
"Avance (velocidad) mientras se mueve verticalmente\n"
" para dispensar la posición (en el plano Z)."
-#: flatcamTools/ToolSolderPaste.py:349
+#: flatcamTools/ToolSolderPaste.py:351
msgid ""
"Generate GCode for Solder Paste dispensing\n"
"on PCB pads."
@@ -16390,11 +17248,11 @@ msgstr ""
"Generar GCodelo para dispensar pasta de soldadura\n"
"en almohadillas de PCB."
-#: flatcamTools/ToolSolderPaste.py:370
+#: flatcamTools/ToolSolderPaste.py:372
msgid "STEP 2"
msgstr "PASO 2"
-#: flatcamTools/ToolSolderPaste.py:372
+#: flatcamTools/ToolSolderPaste.py:374
msgid ""
"Second step is to create a solder paste dispensing\n"
"geometry out of an Solder Paste Mask Gerber file."
@@ -16402,11 +17260,11 @@ msgstr ""
"El segundo paso es crear una dispensación de pasta de soldadura\n"
"geometría de un archivo Gerber de máscara de pasta de soldadura."
-#: flatcamTools/ToolSolderPaste.py:388
+#: flatcamTools/ToolSolderPaste.py:391
msgid "Geo Result"
msgstr "Resultado Geo"
-#: flatcamTools/ToolSolderPaste.py:390
+#: flatcamTools/ToolSolderPaste.py:393
msgid ""
"Geometry Solder Paste object.\n"
"The name of the object has to end in:\n"
@@ -16416,11 +17274,11 @@ msgstr ""
"El nombre del objeto tiene que terminar en:\n"
"'_solderpaste' como protección."
-#: flatcamTools/ToolSolderPaste.py:399
+#: flatcamTools/ToolSolderPaste.py:402
msgid "STEP 3"
msgstr "PASO 3"
-#: flatcamTools/ToolSolderPaste.py:401
+#: flatcamTools/ToolSolderPaste.py:404
msgid ""
"Third step is to select a solder paste dispensing geometry,\n"
"and then generate a CNCJob object.\n"
@@ -16437,11 +17295,11 @@ msgstr ""
"primero necesitas generar una geometría con esos nuevos parámetros,\n"
"y solo después de eso puede generar un CNCJob actualizado."
-#: flatcamTools/ToolSolderPaste.py:421
+#: flatcamTools/ToolSolderPaste.py:425
msgid "CNC Result"
msgstr "Resultado del CNC"
-#: flatcamTools/ToolSolderPaste.py:423
+#: flatcamTools/ToolSolderPaste.py:427
msgid ""
"CNCJob Solder paste object.\n"
"In order to enable the GCode save section,\n"
@@ -16453,11 +17311,11 @@ msgstr ""
"el nombre del objeto debe terminar en:\n"
"'_solderpaste' como protección."
-#: flatcamTools/ToolSolderPaste.py:433
+#: flatcamTools/ToolSolderPaste.py:437
msgid "View GCode"
msgstr "Ver GCode"
-#: flatcamTools/ToolSolderPaste.py:435
+#: flatcamTools/ToolSolderPaste.py:439
msgid ""
"View the generated GCode for Solder Paste dispensing\n"
"on PCB pads."
@@ -16465,11 +17323,11 @@ msgstr ""
"Ver el GCode generado para la dispensación de pasta de soldadura\n"
"en almohadillas de PCB."
-#: flatcamTools/ToolSolderPaste.py:445
+#: flatcamTools/ToolSolderPaste.py:449
msgid "Save GCode"
msgstr "Guardar GCode"
-#: flatcamTools/ToolSolderPaste.py:447
+#: flatcamTools/ToolSolderPaste.py:451
msgid ""
"Save the generated GCode for Solder Paste dispensing\n"
"on PCB pads, to a file."
@@ -16477,11 +17335,11 @@ msgstr ""
"Guarde el GCode generado para la dispensación de pasta de soldadura\n"
"en almohadillas de PCB, a un archivo."
-#: flatcamTools/ToolSolderPaste.py:457
+#: flatcamTools/ToolSolderPaste.py:461
msgid "STEP 4"
msgstr "PASO 4"
-#: flatcamTools/ToolSolderPaste.py:459
+#: flatcamTools/ToolSolderPaste.py:463
msgid ""
"Fourth step (and last) is to select a CNCJob made from \n"
"a solder paste dispensing geometry, and then view/save it's GCode."
@@ -16490,93 +17348,87 @@ msgstr ""
"una geometría de dispensación de pasta de soldadura, y luego ver / guardar "
"su código GC."
-#: flatcamTools/ToolSolderPaste.py:917
-msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
-msgstr ""
-"Se ha cancelado la adición de la herramienta Boquilla. Herramienta ya en la "
-"tabla de herramientas."
-
-#: flatcamTools/ToolSolderPaste.py:923
+#: flatcamTools/ToolSolderPaste.py:922
msgid "New Nozzle tool added to Tool Table."
msgstr "Nueva herramienta de boquillas agregada a la tabla de herramientas."
-#: flatcamTools/ToolSolderPaste.py:966
+#: flatcamTools/ToolSolderPaste.py:965
msgid "Nozzle tool from Tool Table was edited."
msgstr "Nueva herramienta de boquillas agregada a la tabla de herramientas."
-#: flatcamTools/ToolSolderPaste.py:1024
+#: flatcamTools/ToolSolderPaste.py:1023
msgid "Delete failed. Select a Nozzle tool to delete."
msgstr ""
"Eliminar falló. Seleccione una herramienta de inyectores para eliminar."
-#: flatcamTools/ToolSolderPaste.py:1030
+#: flatcamTools/ToolSolderPaste.py:1029
msgid "Nozzle tool(s) deleted from Tool Table."
msgstr "Herramienta de boquilla (s) eliminada de la tabla de herramientas."
-#: flatcamTools/ToolSolderPaste.py:1086
+#: flatcamTools/ToolSolderPaste.py:1085
msgid "No SolderPaste mask Gerber object loaded."
msgstr "No se ha cargado el objeto Gerber de máscara de pasta de soldadura."
-#: flatcamTools/ToolSolderPaste.py:1104
+#: flatcamTools/ToolSolderPaste.py:1103
msgid "Creating Solder Paste dispensing geometry."
msgstr "Creación de geometría de dispensación de pasta de soldadura."
-#: flatcamTools/ToolSolderPaste.py:1117
+#: flatcamTools/ToolSolderPaste.py:1116
msgid "No Nozzle tools in the tool table."
msgstr "No hay herramientas de boquilla en la mesa de herramientas."
-#: flatcamTools/ToolSolderPaste.py:1244
+#: flatcamTools/ToolSolderPaste.py:1242
msgid "Cancelled. Empty file, it has no geometry..."
msgstr "Cancelado. Archivo vacío, no tiene geometría ..."
-#: flatcamTools/ToolSolderPaste.py:1248
+#: flatcamTools/ToolSolderPaste.py:1245
msgid "Solder Paste geometry generated successfully"
msgstr "Geometría de pasta de soldadura generada con éxito"
-#: flatcamTools/ToolSolderPaste.py:1255
+#: flatcamTools/ToolSolderPaste.py:1252
msgid "Some or all pads have no solder due of inadequate nozzle diameters..."
msgstr ""
"Algunas o todas las almohadillas no tienen soldadura debido a los diámetros "
"de boquilla inadecuados ..."
-#: flatcamTools/ToolSolderPaste.py:1269
+#: flatcamTools/ToolSolderPaste.py:1266
msgid "Generating Solder Paste dispensing geometry..."
msgstr "Generando geometría de dispensación de pasta de soldadura ..."
-#: flatcamTools/ToolSolderPaste.py:1289
+#: flatcamTools/ToolSolderPaste.py:1286
msgid "There is no Geometry object available."
msgstr "No hay ningún objeto de Geometría disponible."
-#: flatcamTools/ToolSolderPaste.py:1294
+#: flatcamTools/ToolSolderPaste.py:1291
msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry."
msgstr ""
"Esta Geometría no se puede procesar. NO es una geometría solder_paste_tool."
-#: flatcamTools/ToolSolderPaste.py:1401
+#: flatcamTools/ToolSolderPaste.py:1392
msgid "ToolSolderPaste CNCjob created"
msgstr "Herramienta soldar pegar CNCjob creado"
-#: flatcamTools/ToolSolderPaste.py:1422
+#: flatcamTools/ToolSolderPaste.py:1411
msgid "SP GCode Editor"
msgstr "SP GCode editor"
-#: flatcamTools/ToolSolderPaste.py:1434 flatcamTools/ToolSolderPaste.py:1439
-#: flatcamTools/ToolSolderPaste.py:1494
+#: flatcamTools/ToolSolderPaste.py:1423 flatcamTools/ToolSolderPaste.py:1428
+#: flatcamTools/ToolSolderPaste.py:1483
msgid ""
"This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object."
msgstr ""
"Este objeto CNCJob no se puede procesar. NO es un objeto CNCJob de "
"herramienta de pasta de soldadura."
-#: flatcamTools/ToolSolderPaste.py:1464
+#: flatcamTools/ToolSolderPaste.py:1453
msgid "No Gcode in the object"
msgstr "No Gcode en el objeto"
-#: flatcamTools/ToolSolderPaste.py:1504
+#: flatcamTools/ToolSolderPaste.py:1493
msgid "Export GCode ..."
msgstr "Exportar GCode ..."
-#: flatcamTools/ToolSolderPaste.py:1552
+#: flatcamTools/ToolSolderPaste.py:1541
msgid "Solder paste dispenser GCode file saved to"
msgstr "Dispensador de pasta de soldadura Archivo GCode guardado en: %s"
@@ -16584,7 +17436,7 @@ msgstr "Dispensador de pasta de soldadura Archivo GCode guardado en: %s"
msgid "Gerber Objects"
msgstr "Objetos Gerber"
-#: flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:78
msgid ""
"Gerber object from which to subtract\n"
"the subtractor Gerber object."
@@ -16592,11 +17444,11 @@ msgstr ""
"Objeto de Gerber para restar\n"
"El sustractor del objeto Gerber."
-#: flatcamTools/ToolSub.py:88 flatcamTools/ToolSub.py:140
+#: flatcamTools/ToolSub.py:91 flatcamTools/ToolSub.py:146
msgid "Subtractor"
msgstr "Sustractor"
-#: flatcamTools/ToolSub.py:90
+#: flatcamTools/ToolSub.py:93
msgid ""
"Gerber object that will be subtracted\n"
"from the target Gerber object."
@@ -16604,11 +17456,11 @@ msgstr ""
"Objeto de Gerber que se restará\n"
"del objeto objetivo de Gerber."
-#: flatcamTools/ToolSub.py:97
+#: flatcamTools/ToolSub.py:100
msgid "Substract Gerber"
msgstr "Restar Gerber"
-#: flatcamTools/ToolSub.py:99
+#: flatcamTools/ToolSub.py:102
msgid ""
"Will remove the area occupied by the subtractor\n"
"Gerber from the Target Gerber.\n"
@@ -16620,11 +17472,11 @@ msgstr ""
"Se puede utilizar para eliminar la serigrafía superpuesta\n"
"sobre la máscara de soldadura."
-#: flatcamTools/ToolSub.py:117
+#: flatcamTools/ToolSub.py:120
msgid "Geometry Objects"
msgstr "Objetos de Geometría"
-#: flatcamTools/ToolSub.py:128
+#: flatcamTools/ToolSub.py:133
msgid ""
"Geometry object from which to subtract\n"
"the subtractor Geometry object."
@@ -16632,7 +17484,7 @@ msgstr ""
"Objeto de Geometría del cual restar\n"
"El objeto de Geometría de sustractor."
-#: flatcamTools/ToolSub.py:142
+#: flatcamTools/ToolSub.py:148
msgid ""
"Geometry object that will be subtracted\n"
"from the target Geometry object."
@@ -16640,17 +17492,17 @@ msgstr ""
"Objeto de Geometría que se restará\n"
"del objeto de Geometría de destino."
-#: flatcamTools/ToolSub.py:150
+#: flatcamTools/ToolSub.py:156
msgid ""
"Checking this will close the paths cut by the Geometry subtractor object."
msgstr ""
"Marcar esto cerrará los caminos cortados por el objeto sustrato Geometry."
-#: flatcamTools/ToolSub.py:153
+#: flatcamTools/ToolSub.py:159
msgid "Subtract Geometry"
msgstr "Restar Geometría"
-#: flatcamTools/ToolSub.py:155
+#: flatcamTools/ToolSub.py:161
msgid ""
"Will remove the area occupied by the subtractor\n"
"Geometry from the Target Geometry."
@@ -16658,57 +17510,57 @@ msgstr ""
"Eliminará el área ocupada por el sustractor\n"
"Geometría de la Geometría Objetivo."
-#: flatcamTools/ToolSub.py:262
+#: flatcamTools/ToolSub.py:263
msgid "Sub Tool"
msgstr "Herra. de resta"
-#: flatcamTools/ToolSub.py:278 flatcamTools/ToolSub.py:483
+#: flatcamTools/ToolSub.py:284 flatcamTools/ToolSub.py:489
msgid "No Target object loaded."
msgstr "No se ha cargado ningún objeto de destino."
-#: flatcamTools/ToolSub.py:281
+#: flatcamTools/ToolSub.py:287
msgid "Loading geometry from Gerber objects."
msgstr "Cargando geometría de objetos Gerber."
-#: flatcamTools/ToolSub.py:293 flatcamTools/ToolSub.py:498
+#: flatcamTools/ToolSub.py:299 flatcamTools/ToolSub.py:504
msgid "No Subtractor object loaded."
msgstr "No se ha cargado ningún objeto Subtractor."
-#: flatcamTools/ToolSub.py:325
+#: flatcamTools/ToolSub.py:331
msgid "Processing geometry from Subtractor Gerber object."
msgstr "Procesamiento de geometría del objeto sustractor Gerber."
-#: flatcamTools/ToolSub.py:346
+#: flatcamTools/ToolSub.py:352
msgid "Parsing geometry for aperture"
msgstr "Análisis de geometría para apertura"
-#: flatcamTools/ToolSub.py:407
+#: flatcamTools/ToolSub.py:413
msgid "Finished parsing geometry for aperture"
msgstr "Geometría de análisis terminada para apertura"
-#: flatcamTools/ToolSub.py:452 flatcamTools/ToolSub.py:655
+#: flatcamTools/ToolSub.py:458 flatcamTools/ToolSub.py:661
msgid "Generating new object ..."
msgstr "Generando nuevo objeto ..."
-#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:659
-#: flatcamTools/ToolSub.py:740
+#: flatcamTools/ToolSub.py:462 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:746
msgid "Generating new object failed."
msgstr "Generando nuevo objeto falló."
-#: flatcamTools/ToolSub.py:461 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:467 flatcamTools/ToolSub.py:671
msgid "Created"
msgstr "Creado"
-#: flatcamTools/ToolSub.py:512
+#: flatcamTools/ToolSub.py:518
msgid "Currently, the Subtractor geometry cannot be of type Multigeo."
msgstr ""
"Actualmente, la geometría del sustractor no puede ser del tipo Multigeo."
-#: flatcamTools/ToolSub.py:557
+#: flatcamTools/ToolSub.py:563
msgid "Parsing solid_geometry ..."
msgstr "Analizando solid_geometry ..."
-#: flatcamTools/ToolSub.py:559
+#: flatcamTools/ToolSub.py:565
msgid "Parsing solid_geometry for tool"
msgstr "Análisis de geometría para herramienta"
@@ -16716,7 +17568,7 @@ msgstr "Análisis de geometría para herramienta"
msgid "Object Transform"
msgstr "Transform. de objetos"
-#: flatcamTools/ToolTransform.py:82
+#: flatcamTools/ToolTransform.py:79
msgid ""
"Rotate the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16726,7 +17578,7 @@ msgstr ""
"El punto de referencia es el medio de\n"
"el cuadro delimitador para todos los objetos seleccionados."
-#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:122
+#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:121
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 360."
@@ -16734,7 +17586,7 @@ msgstr ""
"Ángulo para sesgo de acción, en grados.\n"
"Número de flotación entre -360 y 360."
-#: flatcamTools/ToolTransform.py:111 flatcamTools/ToolTransform.py:133
+#: flatcamTools/ToolTransform.py:110 flatcamTools/ToolTransform.py:131
msgid ""
"Skew/shear the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16744,7 +17596,7 @@ msgstr ""
"El punto de referencia es el medio de\n"
"el cuadro delimitador para todos los objetos seleccionados."
-#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:181
+#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:180
msgid ""
"Scale the selected object(s).\n"
"The point of reference depends on \n"
@@ -16754,7 +17606,7 @@ msgstr ""
"El punto de referencia depende de\n"
"el estado de la casilla de verificación Escalar referencia."
-#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:250
+#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:249
msgid ""
"Offset the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16764,196 +17616,607 @@ msgstr ""
"El punto de referencia es el medio de\n"
"el cuadro delimitador para todos los objetos seleccionados.\n"
-#: flatcamTools/ToolTransform.py:268 flatcamTools/ToolTransform.py:274
+#: flatcamTools/ToolTransform.py:269 flatcamTools/ToolTransform.py:274
msgid "Flip the selected object(s) over the X axis."
msgstr "Voltee los objetos seleccionados sobre el eje X."
-#: flatcamTools/ToolTransform.py:299
+#: flatcamTools/ToolTransform.py:298
msgid "Ref. Point"
msgstr "Punto de Ref"
-#: flatcamTools/ToolTransform.py:351
+#: flatcamTools/ToolTransform.py:349
msgid ""
"Create the buffer effect on each geometry,\n"
-"element from the selected object."
+"element from the selected object, using the distance."
msgstr ""
"Crea el efecto de amortiguación en cada geometría,\n"
-"elemento del objeto seleccionado."
+"elemento del objeto seleccionado, utilizando la distancia."
-#: flatcamTools/ToolTransform.py:498
+#: flatcamTools/ToolTransform.py:375
+msgid ""
+"Create the buffer effect on each geometry,\n"
+"element from the selected object, using the factor."
+msgstr ""
+"Crea el efecto de amortiguación en cada geometría,\n"
+"elemento del objeto seleccionado, utilizando el factor."
+
+#: flatcamTools/ToolTransform.py:480
+msgid "Buffer D"
+msgstr "Buffer D"
+
+#: flatcamTools/ToolTransform.py:481
+msgid "Buffer F"
+msgstr "Buffer F"
+
+#: flatcamTools/ToolTransform.py:558
msgid "Rotate transformation can not be done for a value of 0."
msgstr "La transformación de rotación no se puede hacer para un valor de 0."
-#: flatcamTools/ToolTransform.py:537 flatcamTools/ToolTransform.py:560
+#: flatcamTools/ToolTransform.py:597 flatcamTools/ToolTransform.py:620
msgid "Scale transformation can not be done for a factor of 0 or 1."
msgstr "La transformación de escala no se puede hacer para un factor de 0 o 1."
-#: flatcamTools/ToolTransform.py:575 flatcamTools/ToolTransform.py:585
+#: flatcamTools/ToolTransform.py:635 flatcamTools/ToolTransform.py:645
msgid "Offset transformation can not be done for a value of 0."
msgstr ""
"La transformación de compensación no se puede hacer para un valor de 0."
-#: flatcamTools/ToolTransform.py:608
+#: flatcamTools/ToolTransform.py:677
msgid "No object selected. Please Select an object to rotate!"
msgstr ""
"Ningún objeto seleccionado. Por favor, seleccione un objeto para rotar!"
-#: flatcamTools/ToolTransform.py:636
+#: flatcamTools/ToolTransform.py:703
msgid "CNCJob objects can't be rotated."
msgstr "Los objetos de CNCJob no se pueden girar."
-#: flatcamTools/ToolTransform.py:644
+#: flatcamTools/ToolTransform.py:711
msgid "Rotate done"
msgstr "Rotar hecho"
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "Due of"
msgstr "Debido a"
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "action was not executed."
msgstr "la acción no se ejecutó."
-#: flatcamTools/ToolTransform.py:661
+#: flatcamTools/ToolTransform.py:726
msgid "No object selected. Please Select an object to flip"
msgstr "Ningún objeto seleccionado. Seleccione un objeto para voltear"
-#: flatcamTools/ToolTransform.py:696
+#: flatcamTools/ToolTransform.py:759
msgid "CNCJob objects can't be mirrored/flipped."
msgstr "Los objetos de CNCJob no se pueden reflejar / voltear."
-#: flatcamTools/ToolTransform.py:734
+#: flatcamTools/ToolTransform.py:794
msgid "Skew transformation can not be done for 0, 90 and 180 degrees."
msgstr "La transformación oblicua no se puede hacer para 0, 90 y 180 grados."
-#: flatcamTools/ToolTransform.py:739
+#: flatcamTools/ToolTransform.py:799
msgid "No object selected. Please Select an object to shear/skew!"
msgstr ""
"Ningún objeto seleccionado. ¡Seleccione un objeto para cortar / sesgar!"
-#: flatcamTools/ToolTransform.py:761
+#: flatcamTools/ToolTransform.py:819
msgid "CNCJob objects can't be skewed."
msgstr "Los objetos de CNCJob no se pueden sesgar."
-#: flatcamTools/ToolTransform.py:774
+#: flatcamTools/ToolTransform.py:831
msgid "Skew on the"
msgstr "Sesgar en el"
-#: flatcamTools/ToolTransform.py:774 flatcamTools/ToolTransform.py:834
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:831 flatcamTools/ToolTransform.py:887
+#: flatcamTools/ToolTransform.py:919
msgid "axis done"
msgstr "eje hecho"
-#: flatcamTools/ToolTransform.py:791
+#: flatcamTools/ToolTransform.py:846
msgid "No object selected. Please Select an object to scale!"
msgstr ""
"Ningún objeto seleccionado. Por favor, seleccione un objeto para escalar!"
-#: flatcamTools/ToolTransform.py:824
+#: flatcamTools/ToolTransform.py:877
msgid "CNCJob objects can't be scaled."
msgstr "Los objetos de CNCJob no se pueden escalar."
-#: flatcamTools/ToolTransform.py:834
+#: flatcamTools/ToolTransform.py:887
msgid "Scale on the"
msgstr "Escala en el"
-#: flatcamTools/ToolTransform.py:846
+#: flatcamTools/ToolTransform.py:898
msgid "No object selected. Please Select an object to offset!"
msgstr ""
"Ningún objeto seleccionado. Por favor, seleccione un objeto para compensar!"
-#: flatcamTools/ToolTransform.py:855
+#: flatcamTools/ToolTransform.py:905
msgid "CNCJob objects can't be offset."
msgstr "Los objetos CNCJob no se pueden compensar."
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:919
msgid "Offset on the"
msgstr "Offset en el"
-#: flatcamTools/ToolTransform.py:881
+#: flatcamTools/ToolTransform.py:929
msgid "No object selected. Please Select an object to buffer!"
msgstr ""
"Ningún objeto seleccionado. Por favor, seleccione un objeto para almacenar!"
-#: flatcamTools/ToolTransform.py:884
+#: flatcamTools/ToolTransform.py:932
msgid "Applying Buffer"
msgstr "Aplicando Tampón"
-#: flatcamTools/ToolTransform.py:888
+#: flatcamTools/ToolTransform.py:936
msgid "CNCJob objects can't be buffered."
msgstr "Los objetos CNCJob no se pueden almacenar en búfer."
-#: flatcamTools/ToolTransform.py:905
+#: flatcamTools/ToolTransform.py:953
msgid "Buffer done"
msgstr "Tampón hecho"
-#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73
+#: tclCommands/TclCommandBbox.py:76 tclCommands/TclCommandNregions.py:75
msgid "Expected FlatCAMGerber or FlatCAMGeometry, got"
msgstr "FlatCAMGerber o FlatCAMGeometry esperado, obtuve"
-#: tclCommands/TclCommandBounds.py:64 tclCommands/TclCommandBounds.py:68
+#: tclCommands/TclCommandBounds.py:67 tclCommands/TclCommandBounds.py:71
msgid "Expected a list of objects names separated by comma. Got"
msgstr "Se esperaba una lista de nombres de objetos separados por comas. Tiene"
-#: tclCommands/TclCommandBounds.py:79
+#: tclCommands/TclCommandBounds.py:82
msgid "TclCommand Bounds done."
msgstr "TclCommand Bounds hecho."
-#: tclCommands/TclCommandCopperClear.py:242 tclCommands/TclCommandPaint.py:240
-msgid "Expected -box ."
-msgstr "Se esperaba -box ."
-
-#: tclCommands/TclCommandCopperClear.py:251 tclCommands/TclCommandPaint.py:249
-#: tclCommands/TclCommandScale.py:75
+#: tclCommands/TclCommandCopperClear.py:276 tclCommands/TclCommandPaint.py:272
+#: tclCommands/TclCommandScale.py:81
msgid "Could not retrieve box object"
msgstr "No se pudo recuperar el objeto"
-#: tclCommands/TclCommandCopperClear.py:273
-msgid ""
-"None of the following args: 'ref', 'all' were found or none was set to 1.\n"
-"Copper clearing failed."
-msgstr ""
-"Ninguno de los siguientes argumentos: 'ref', 'all' se encontraron o ninguno "
-"se estableció en 1.\n"
-"La limpieza de cobre falló."
+#: tclCommands/TclCommandCopperClear.py:299
+msgid "Expected either -box or -all."
+msgstr "Se esperaba -box o -all."
-#: tclCommands/TclCommandPaint.py:217
+#: tclCommands/TclCommandGeoCutout.py:148
+msgid ""
+"The name of the object for which cutout is done is missing. Add it and retry."
+msgstr ""
+"Falta el nombre del objeto para el que se realiza el recorte. Añádelo y "
+"vuelve a intentarlo."
+
+#: tclCommands/TclCommandGeoCutout.py:190
+msgid "Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8."
+msgstr ""
+"El valor de las brechas solo puede ser uno de: 'Ninguno', 'lr', 'tb', '2lr', "
+"'2tb', 4 u 8."
+
+#: tclCommands/TclCommandGeoCutout.py:302
+#: tclCommands/TclCommandGeoCutout.py:360
+msgid "Any-form Cutout operation finished."
+msgstr "Operación de recorte de cualquier forma finalizada."
+
+#: tclCommands/TclCommandGeoCutout.py:366
+msgid "Cancelled. Object type is not supported."
+msgstr "Cancelado. El tipo de objeto no es compatible."
+
+#: tclCommands/TclCommandHelp.py:74
+msgid "Available commands:"
+msgstr "Comandos disponibles:"
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Type help for usage."
+msgstr "Escriba help para su uso."
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Example: help open_gerber"
+msgstr "Ejemplo: help open_gerber"
+
+#: tclCommands/TclCommandPaint.py:244
msgid "Expected -x and -y ."
msgstr "Esperado -x y -y ."
-#: tclCommands/TclCommandPaint.py:268
+#: tclCommands/TclCommandPaint.py:265
+msgid "Expected -box ."
+msgstr "Se esperaba -box ."
+
+#: tclCommands/TclCommandPaint.py:286
msgid ""
-"There was none of the following args: 'ref', 'single', 'all'.\n"
+"None of the following args: 'box', 'single', 'all' were used.\n"
"Paint failed."
msgstr ""
-"No hubo ninguno de los siguientes argumentos: 'ref', 'single', 'all'.\n"
+"Ninguno de los siguientes argumentos: 'box', 'single', 'all' fueron "
+"utilizados.\n"
"La pintura falló."
-#: tclCommands/TclCommandScale.py:95
-msgid "Expected -origin or -origin or -origin ."
-msgstr "Esperado -origin o -origin o -origin ."
+#: tclCommands/TclCommandScale.py:106
+msgid ""
+"Expected -origin or -origin or -origin or - "
+"origin 3.0,4.2."
+msgstr ""
+"Esperado -origin o -origin o -origin o - "
+"origin 3.0,4.2."
-#: tclCommands/TclCommandScale.py:104
+#: tclCommands/TclCommandScale.py:119
msgid "Expected -x -y ."
msgstr "Expected -x -y ."
-#: tclCommands/TclCommandSetOrigin.py:91
+#: tclCommands/TclCommandSetOrigin.py:95
msgid "Expected a pair of (x, y) coordinates. Got"
msgstr "Se esperaba un par de coordenadas (x, y). Tiene"
-#: tclCommands/TclCommandSetOrigin.py:98
+#: tclCommands/TclCommandSetOrigin.py:102
msgid "Origin set by offsetting all loaded objects with "
msgstr "Origen establecido al compensar todos los objetos cargados con "
-#: tclCommands/TclCommandSubtractRectangle.py:58
+#: tclCommands/TclCommandSubtractRectangle.py:62
msgid "No Geometry name in args. Provide a name and try again."
msgstr ""
"Sin nombre de geometría en args. Proporcione un nombre e intente nuevamente."
+#~ msgid "Executing Tcl Script ..."
+#~ msgstr "Ejecutando Tcl Script ..."
+
+#~ msgid "Open cancelled."
+#~ msgstr "Abierto cancelado."
+
+#~ msgid "Preferences default restore was cancelled."
+#~ msgstr "La restauración predeterminada de preferencias fue cancelada."
+
+#~ msgid "FlatCAM preferences import cancelled."
+#~ msgstr "Importación de preferencias de FlatCAM cancelada."
+
+#~ msgid "FlatCAM preferences export cancelled."
+#~ msgstr "Exportación de preferencias de FlatCAM cancelada."
+
+#~ msgid "Multigeo. Geometry merging finished"
+#~ msgstr "Multi Geo. Geometría fusionada terminada"
+
+#~ msgid "Units conversion cancelled."
+#~ msgstr "Conversión de unidades cancelada."
+
+#~ msgid "Open Gerber cancelled."
+#~ msgstr "Abierto Gerber cancelado."
+
+#~ msgid " Open Excellon cancelled."
+#~ msgstr " Abierto Excellon cancelado."
+
+#~ msgid "Open G-Code cancelled."
+#~ msgstr "Abierto G-Code cancelado."
+
+#~ msgid "Open Project cancelled."
+#~ msgstr "Proyecto abierto cancelado."
+
+#~ msgid "Open HPGL2 file cancelled."
+#~ msgstr "Abrir el archivo HPGL2 cancelado."
+
+#~ msgid "Open Config cancelled."
+#~ msgstr "Configuración abierta cancelada."
+
+#~ msgid " Export SVG cancelled."
+#~ msgstr " Exportar SVG cancelado."
+
+#~ msgid "Export PNG cancelled."
+#~ msgstr "Exportación PNG cancelada."
+
+#~ msgid "No object selected. Please select an Gerber object to export."
+#~ msgstr ""
+#~ "Ningún objeto seleccionado. Por favor, seleccione un objeto Gerber para "
+#~ "exportar."
+
+#~ msgid "Save Gerber source file cancelled."
+#~ msgstr "Guardar el archivo fuente de Gerber cancelado."
+
+#~ msgid "No object selected. Please select an Script object to export."
+#~ msgstr ""
+#~ "Ningún objeto seleccionado. Seleccione un objeto Script para exportar."
+
+#~ msgid "Save Script source file cancelled."
+#~ msgstr "Guardar archivo fuente de script cancelado."
+
+#~ msgid "No object selected. Please select an Document object to export."
+#~ msgstr ""
+#~ "Ningún objeto seleccionado. Seleccione un objeto de documento para "
+#~ "exportar."
+
+#~ msgid "Save Document source file cancelled."
+#~ msgstr "Guardar Documento fuente archivo cancelado."
+
+#~ msgid "No object selected. Please select an Excellon object to export."
+#~ msgstr ""
+#~ "Ningún objeto seleccionado. Por favor, seleccione un objeto Excellon para "
+#~ "exportar."
+
+#~ msgid "Saving Excellon source file cancelled."
+#~ msgstr "Guardando el archivo fuente Excellon cancelado."
+
+#~ msgid "No object selected. Please Select an Excellon object to export."
+#~ msgstr ""
+#~ "Ningún objeto seleccionado. Seleccione un objeto Excellon para exportar."
+
+#~ msgid "Export Excellon cancelled."
+#~ msgstr "Exportación Excellon cancelada."
+
+#~ msgid "No object selected. Please Select an Gerber object to export."
+#~ msgstr ""
+#~ "Ningún objeto seleccionado. Seleccione un objeto Gerber para exportar."
+
+#~ msgid "Export Gerber cancelled."
+#~ msgstr "Exportación Gerber cancelada."
+
+#~ msgid "Export DXF cancelled."
+#~ msgstr "Exportación DXF cancelada."
+
+#~ msgid "Open SVG cancelled."
+#~ msgstr "Abrir SVG cancelado."
+
+#~ msgid "Open DXF cancelled."
+#~ msgstr "Abrir DXF cancelado."
+
+#~ msgid "Open TCL script cancelled."
+#~ msgstr "Abrir el script TCL cancelado."
+
+#~ msgid "Run TCL script cancelled."
+#~ msgstr "Ejecutar script TCL cancelado."
+
+#~ msgid "Save Project cancelled."
+#~ msgstr "Guardar Proyecto cancelado."
+
+#~ msgid "Save Object PDF cancelled."
+#~ msgstr "Guardar objeto PDF cancelado."
+
+#~ msgid "Shows list of commands."
+#~ msgstr "Muestra la lista de comandos."
+
+#~ msgid "FlatCAM bookmarks export cancelled."
+#~ msgstr "Exportación de marcadores de FlatCAM cancelada."
+
+#~ msgid "FlatCAM bookmarks import cancelled."
+#~ msgstr "Se canceló la importación de marcadores de FlatCAM."
+
+#~ msgid "FlatCAM Tools DB export cancelled."
+#~ msgstr "Exportación de DB de herramientas FlatCAM cancelada."
+
+#~ msgid "FlatCAM Tools DB import cancelled."
+#~ msgstr "Se ha cancelado la importación de DB de herramientas FlatCAM."
+
+#~ msgid ""
+#~ "Wrong value format for self.defaults[\"z_pdepth\"] or self."
+#~ "options[\"z_pdepth\"]"
+#~ msgstr ""
+#~ "Formato de valor incorrecto para self.defaults [\"z_pdepth\"] o self."
+#~ "options [\"z_pdepth\"]"
+
+#~ msgid ""
+#~ "Wrong value format for self.defaults[\"feedrate_probe\"] or self."
+#~ "options[\"feedrate_probe\"]"
+#~ msgstr ""
+#~ "Formato de valor incorrecto para self.defaults [\"feedrate_probe\"] o "
+#~ "self.options [\"feedrate_probe\"]"
+
+#~ msgid "Starting G-Code..."
+#~ msgstr "Iniciando el código G ..."
+
+#~ msgid ""
+#~ "Algorithm to paint the polygon:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed."
+#~ msgstr ""
+#~ "Algoritmo para pintar el polígono:
Estándar : Paso fijo hacia "
+#~ "adentro.
Basado en semillas : Hacia afuera desde las semillas."
+
+#~ msgid "Seed-based"
+#~ msgstr "Semillas"
+
+#~ msgid "Straight lines"
+#~ msgstr "Lineas rectas"
+
+#~ msgid "Paint cancelled. No shape selected."
+#~ msgstr "Pintura cancelada. Ninguna forma seleccionada."
+
+#~ msgid "Transformation cancelled. No shape selected."
+#~ msgstr "Transformación cancelada. Ninguna forma seleccionada."
+
+#~ msgid "Buffer cancelled. No shape selected."
+#~ msgstr "Buffer cancelado. Ninguna forma seleccionada."
+
+#~ msgid "Export Code cancelled."
+#~ msgstr "Exportación de Código cancelada."
+
+#~ msgid "&Save Project ..."
+#~ msgstr "Salvar proyecto ..."
+
+#~ msgid "Save Project C&opy ..."
+#~ msgstr "Guardar copia del proyecto ..."
+
+#~ msgid "Change the size of the object."
+#~ msgstr "Cambiar el tamaño del objeto."
+
+#~ msgid "Change the position of this object."
+#~ msgstr "Cambia la posición de este objeto."
+
+#~ msgid "Vector"
+#~ msgstr "Vector"
+
+#~ msgid ""
+#~ "Create a CNC Job object\n"
+#~ "for this drill object."
+#~ msgstr ""
+#~ "Crear un objeto de trabajo CNC\n"
+#~ "para este objeto de perforación."
+
+#~ msgid ""
+#~ "Choose what to use for GCode generation:\n"
+#~ "'Drills', 'Slots' or 'Both'.\n"
+#~ "When choosing 'Slots' or 'Both', slots will be\n"
+#~ "converted to a series of drills."
+#~ msgstr ""
+#~ "Elija qué usar para la generación de GCode:\n"
+#~ "'Taladros', 'Muesca' o 'Ambos'.\n"
+#~ "Al elegir 'Muesca' o 'Ambos', los slots serán\n"
+#~ "convertido en una serie de simulacros."
+
+#~ msgid "Generate the CNC Job."
+#~ msgstr "Generar el trabajo del CNC."
+
+#~ msgid "Add Tool from DataBase"
+#~ msgstr "Agregar herramienta desde DB"
+
+#~ msgid "Select a theme for FlatCAM."
+#~ msgstr "Seleccione un tema para FlatCAM."
+
+#~ msgid "Conv."
+#~ msgstr "Conv."
+
+#~ msgid "Diameters of the cutting tools, separated by ','"
+#~ msgstr "Diámetros de las herramientas de corte, separados por ','"
+
+#~ msgid "Tools dia"
+#~ msgstr "Herra. dia"
+
+#~ msgid "The new tool diameter (cut width) to add in the tool table."
+#~ msgstr ""
+#~ "El nuevo diámetro de herramienta (ancho de corte) para agregar en la "
+#~ "tabla de herramientas."
+
+#~ msgid ""
+#~ "Algorithm for non-copper clearing:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed.
Line-based: Parallel "
+#~ "lines."
+#~ msgstr ""
+#~ "Algoritmo para limpieza sin cobre:
Estándar : paso fijo "
+#~ "hacia el interior.
basado en semillas : hacia afuera desde "
+#~ "el origen.
basado en líneas : Líneas paralelas."
+
+#~ msgid "Area"
+#~ msgstr "Zona"
+
+#~ msgid "Ref"
+#~ msgstr "Ref"
+
+#~ msgid ""
+#~ "- 'Itself' - the non copper clearing extent\n"
+#~ "is based on the object that is copper cleared.\n"
+#~ " - 'Area Selection' - left mouse click to start selection of the area to "
+#~ "be painted.\n"
+#~ "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
+#~ "areas.\n"
+#~ "- 'Reference Object' - will do non copper clearing within the area\n"
+#~ "specified by another object."
+#~ msgstr ""
+#~ "- 'Sí mismo' - la extensión de limpieza sin cobre\n"
+#~ "se basa en el objeto que es cobre despejado.\n"
+#~ " - 'Selección de área': haga clic con el botón izquierdo del mouse para "
+#~ "iniciar la selección del área a pintar.\n"
+#~ "Mantener presionada una tecla modificadora (CTRL o SHIFT) permitirá "
+#~ "agregar múltiples áreas.\n"
+#~ "- 'Objeto de referencia' - hará una limpieza sin cobre dentro del área\n"
+#~ "especificado por otro objeto."
+
+#~ msgid "Sel"
+#~ msgstr "Seleccionar"
+
+#~ msgid "Diameters of nozzle tools, separated by ','"
+#~ msgstr "Diámetros de las herramientas de boquilla, separadas por ','"
+
+#~ msgid "Reference Gerber"
+#~ msgstr "Gerber de referencia"
+
+#~ msgid "Reference Excellon"
+#~ msgstr "Excellon de referencia"
+
+#~ msgid "Reference Geometry"
+#~ msgstr "Geometría de referencia"
+
+#~ msgid "Point/Box Reference"
+#~ msgstr "Punto/caja de referencia"
+
+#~ msgid ""
+#~ "If 'Point' is selected above it store the coordinates (x, y) through "
+#~ "which\n"
+#~ "the mirroring axis passes.\n"
+#~ "If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
+#~ "Geo).\n"
+#~ "Through the center of this object pass the mirroring axis selected above."
+#~ msgstr ""
+#~ "Si se selecciona 'Punto' encima, almacena las coordenadas (x, y) a través "
+#~ "de las cuales\n"
+#~ "el eje reflejado pasa.\n"
+#~ "Si se selecciona 'Box' arriba, seleccione aquí un objeto FlatCAM (Gerber, "
+#~ "Exc o Geo).\n"
+#~ "A través del centro de este objeto pasa el eje reflejado seleccionado "
+#~ "anteriormente."
+
+#~ msgid "Alignment Drill Diameter"
+#~ msgstr "Diá. de taladro de alineación"
+
+#~ msgid ""
+#~ "'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
+#~ msgstr ""
+#~ "'Punto 'coordenadas faltantes. Usando origen (0, 0) como reflejo de "
+#~ "referencia."
+
+#~ msgid "Export positive film cancelled."
+#~ msgstr "Exportación de película positiva cancelada."
+
+#~ msgid "Export negative film cancelled."
+#~ msgstr "Película negativa de exportación cancelada."
+
+#~ msgid "Move action cancelled."
+#~ msgstr "Mover acción cancelada."
+
+#~ msgid "Diameter for the new tool."
+#~ msgstr "Diámetro para la nueva herramienta."
+
+#~ msgid "Create Paint Geometry"
+#~ msgstr "Crear geometría de pintura"
+
+#~ msgid "Paint Tool. Reading parameters."
+#~ msgstr "Herramienta de pintura. Parámetros de lectura."
+
+#~ msgid "Paint Tool. Normal painting all task started."
+#~ msgstr "Herramienta de pintura. La pintura normal comenzó toda tarea."
+
+#~ msgid "Rest machining painting all task started."
+#~ msgstr "Resto mecanizado pintando toda la tarea iniciada."
+
+#~ msgid ""
+#~ "Could not do Paint All. Try a different combination of parameters. Or a "
+#~ "different Method of paint"
+#~ msgstr ""
+#~ "No se pudo Pintar Todo. Pruebe con una combinación diferente de "
+#~ "parámetros. O un método diferente de pintura"
+
+#~ msgid "Rest machining painting area task started."
+#~ msgstr "Se inició la tarea de área de pintura de mecanizado en reposo."
+
+#~ msgid "Paint Tool. Rest machining painting area task started."
+#~ msgstr ""
+#~ "Herramienta de pintura. Se inició la tarea de área de pintura de "
+#~ "mecanizado de descanso."
+
+#~ msgid "Properties Tool was not displayed. No object selected."
+#~ msgstr ""
+#~ "La herramienta Propiedades no se mostró. Ningún objeto seleccionado."
+
+#~ msgid " Export PNG cancelled."
+#~ msgstr " Exportación PNG cancelada."
+
+#~ msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
+#~ msgstr ""
+#~ "Se ha cancelado la adición de la herramienta Boquilla. Herramienta ya en "
+#~ "la tabla de herramientas."
+
+#~ msgid ""
+#~ "None of the following args: 'ref', 'all' were found or none was set to "
+#~ "1.\n"
+#~ "Copper clearing failed."
+#~ msgstr ""
+#~ "Ninguno de los siguientes argumentos: 'ref', 'all' se encontraron o "
+#~ "ninguno se estableció en 1.\n"
+#~ "La limpieza de cobre falló."
+
#~ msgid "PostProcessor"
#~ msgstr "Postprocesador"
@@ -16981,9 +18244,6 @@ msgstr ""
#~ msgid "Optimization Time"
#~ msgstr "Tiempo de optimización"
-#~ msgid "Defaults"
-#~ msgstr "Valores predeterminados"
-
#~ msgid "Coordinates decimals"
#~ msgstr "Coordina decimales"
@@ -17055,9 +18315,6 @@ msgstr ""
#~ msgid "Wk. size"
#~ msgstr "Tamaño del ET"
-#~ msgid "Plot Line"
-#~ msgstr "Lin. Gráfico"
-
#~ msgid "Sel. Fill"
#~ msgstr "El relleno de Sel"
@@ -17094,12 +18351,6 @@ msgstr ""
#~ msgid "Project at StartUp"
#~ msgstr "Proyecto en el inicio"
-#~ msgid "Project AutoHide"
-#~ msgstr "Proyecto auto ocultar"
-
-#~ msgid "Enable ToolTips"
-#~ msgstr "Hab. info sobre Herram"
-
#~ msgid "Mouse Cursor"
#~ msgstr "Cursor del Mouse"
@@ -17123,9 +18374,6 @@ msgstr ""
#~ msgid "G-code does not have a units code: either G20 or G21"
#~ msgstr "El código G no tiene un código de unidades: G20 o G21"
-#~ msgid "No shape selected. Select a shape to explode"
-#~ msgstr "Ninguna forma seleccionada. Selecciona una forma para explotar"
-
#, python-brace-format
#~ msgid ""
#~ "[selected] {kind} created/selected: {name}"
@@ -17443,12 +18691,6 @@ msgstr ""
#~ msgid "Geometry Reference Box Object"
#~ msgstr "Obj. de cuadro de ref. de Geometría"
-#~ msgid "Single Polygon"
-#~ msgstr "Polígono único"
-
-#~ msgid "Painting polygon at location"
-#~ msgstr "Pintar polígono en la ubicación"
-
#, fuzzy
#~| msgid "{l_save}/Project_{date}"
#~ msgid "{l_save}/FlatCAM_Bookmarks_{date}"
@@ -17656,9 +18898,6 @@ msgstr ""
#~ msgid "FILE ASSOCIATIONS"
#~ msgstr "ASOCIACIONES DE ARCHIVOS"
-#~ msgid "Advanced Param."
-#~ msgstr "Parám. avanzados"
-
#~ msgid "MH"
#~ msgstr "MH"
@@ -17788,8 +19027,8 @@ msgstr ""
#~ "\n"
#~ " "
-#~ msgid "Run Script ...\tSHIFT+S"
-#~ msgstr "Ejecutar Script ...\tSHIFT+S"
+#~ msgid "Run Script ...\tShift+S"
+#~ msgstr "Ejecutar Script ...\tShift+S"
#~ msgid ""
#~ "FlatCAM
Version {version} {beta} ({date}) - "
@@ -18587,9 +19826,6 @@ msgstr ""
#~ msgid "Save &Defaults"
#~ msgstr "Guardar y valores predeterminados"
-#~ msgid "Line"
-#~ msgstr "Línea"
-
#~ msgid ""
#~ "How much (fraction) of the tool width to overlap each tool pass.\n"
#~ "Example:\n"
diff --git a/locale/fr/LC_MESSAGES/strings.mo b/locale/fr/LC_MESSAGES/strings.mo
index e69e52ef..6679be5f 100644
Binary files a/locale/fr/LC_MESSAGES/strings.mo and b/locale/fr/LC_MESSAGES/strings.mo differ
diff --git a/locale/fr/LC_MESSAGES/strings.po b/locale/fr/LC_MESSAGES/strings.po
index a58e7f3c..9af1318e 100644
--- a/locale/fr/LC_MESSAGES/strings.po
+++ b/locale/fr/LC_MESSAGES/strings.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2019-12-28 20:27+0200\n"
-"PO-Revision-Date: 2019-12-28 20:29+0200\n"
+"POT-Creation-Date: 2020-04-25 15:00+0300\n"
+"PO-Revision-Date: 2020-04-25 15:45+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
@@ -22,17 +22,45 @@ msgstr ""
"X-Poedit-SearchPathExcluded-1: doc\n"
"X-Poedit-SearchPathExcluded-2: tests\n"
-#: FlatCAMApp.py:1040
+#: FlatCAMApp.py:789 FlatCAMApp.py:821 FlatCAMCommon.py:1925
+#: FlatCAMCommon.py:2040 flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:570
+#: flatcamEditors/FlatCAMGeoEditor.py:5152 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolNCC.py:2396 flatcamTools/ToolNCC.py:2424
+#: flatcamTools/ToolNCC.py:2694 flatcamTools/ToolNCC.py:2726
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1843
+#: tclCommands/TclCommandCopperClear.py:128
+#: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127
+msgid "Seed"
+msgstr "La graine"
+
+#: FlatCAMApp.py:795 flatcamGUI/PreferencesUI.py:5588
+#: flatcamGUI/PreferencesUI.py:7695 flatcamTools/ToolCopperThieving.py:126
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1301
+#: flatcamTools/ToolNCC.py:1629 flatcamTools/ToolNCC.py:1914
+#: flatcamTools/ToolNCC.py:1978 flatcamTools/ToolNCC.py:2962
+#: flatcamTools/ToolNCC.py:2971 tclCommands/TclCommandCopperClear.py:190
+msgid "Itself"
+msgstr "Lui-même"
+
+#: FlatCAMApp.py:822 flatcamGUI/PreferencesUI.py:6119
+#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:1422
+#: tclCommands/TclCommandPaint.py:162
+msgid "All Polygons"
+msgstr "Tous les polygones"
+
+#: FlatCAMApp.py:1129
msgid "FlatCAM is initializing ..."
msgstr "FlatCAM est en cours d'initialisation ..."
-#: FlatCAMApp.py:1669
+#: FlatCAMApp.py:1814
msgid "Could not find the Language files. The App strings are missing."
msgstr ""
"Impossible de trouver les fichiers de langue. Les chaînes de l'application "
"sont manquantes."
-#: FlatCAMApp.py:1763
+#: FlatCAMApp.py:1908
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started."
@@ -40,7 +68,7 @@ msgstr ""
"FlatCAM est en cours d'initialisation ...\n"
"L'initialisation de la toile a commencé."
-#: FlatCAMApp.py:1781
+#: FlatCAMApp.py:1928
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started.\n"
@@ -50,69 +78,67 @@ msgstr ""
"L'initialisation de la toile a commencé.\n"
"Initialisation de la toile terminée en"
-#: FlatCAMApp.py:2401
-msgid ""
-"Type >help< to get started\n"
-"\n"
-msgstr ""
-"Tapez >help< pour commencer\n"
-"\n"
+#: FlatCAMApp.py:2570 flatcamGUI/GUIElements.py:2592
+msgid "Type >help< to get started"
+msgstr "Tapez >help< pour commencer"
-#: FlatCAMApp.py:2627 FlatCAMApp.py:9020
+#: FlatCAMApp.py:2822 FlatCAMApp.py:9400
msgid "New Project - Not saved"
msgstr "Nouveau projet - Non enregistré"
-#: FlatCAMApp.py:2702 FlatCAMApp.py:9088 FlatCAMApp.py:9125 FlatCAMApp.py:9166
-#: FlatCAMApp.py:9237 FlatCAMApp.py:9991 FlatCAMApp.py:11174
-#: FlatCAMApp.py:11233
-msgid ""
-"Canvas initialization started.\n"
-"Canvas initialization finished in"
-msgstr ""
-"L'initialisation de la toile a commencé.\n"
-"Initialisation de la toile terminée en"
-
-#: FlatCAMApp.py:2704
-msgid "Executing Tcl Script ..."
-msgstr "Exécution du script Tcl ..."
-
-#: FlatCAMApp.py:2719
+#: FlatCAMApp.py:2918
msgid ""
"Found old default preferences files. Please reboot the application to update."
msgstr ""
"Anciens fichiers de préférences par défaut trouvés. Veuillez redémarrer "
"l'application pour la mettre à jour."
-#: FlatCAMApp.py:2763 ObjectCollection.py:90 flatcamTools/ToolImage.py:248
+#: FlatCAMApp.py:2969 FlatCAMApp.py:3889 FlatCAMApp.py:3938 FlatCAMApp.py:3993
+#: FlatCAMApp.py:4068 FlatCAMApp.py:6117 FlatCAMApp.py:9484 FlatCAMApp.py:9521
+#: FlatCAMApp.py:9563 FlatCAMApp.py:9592 FlatCAMApp.py:9632 FlatCAMApp.py:9657
+#: FlatCAMApp.py:9709 FlatCAMApp.py:9745 FlatCAMApp.py:9791 FlatCAMApp.py:9832
+#: FlatCAMApp.py:9873 FlatCAMApp.py:9914 FlatCAMApp.py:9955 FlatCAMApp.py:9999
+#: FlatCAMApp.py:10055 FlatCAMApp.py:10087 FlatCAMApp.py:10119
+#: FlatCAMApp.py:10356 FlatCAMApp.py:10400 FlatCAMApp.py:10477
+#: FlatCAMApp.py:10532 FlatCAMCommon.py:371 FlatCAMCommon.py:413
+#: FlatCAMCommon.py:1107 FlatCAMCommon.py:1153 FlatCAMCommon.py:2537
+#: FlatCAMCommon.py:2583 ObjectCollection.py:122
+#: flatcamEditors/FlatCAMExcEditor.py:1024
+#: flatcamEditors/FlatCAMExcEditor.py:1092
+#: flatcamEditors/FlatCAMTextEditor.py:223 flatcamGUI/FlatCAMGUI.py:3389
+#: flatcamGUI/FlatCAMGUI.py:3601 flatcamGUI/FlatCAMGUI.py:3812
+#: flatcamTools/ToolFilm.py:754 flatcamTools/ToolFilm.py:900
+#: flatcamTools/ToolImage.py:247 flatcamTools/ToolMove.py:270
#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324
-msgid "Open cancelled."
-msgstr "Ouvert annulé."
+#: flatcamTools/ToolQRCode.py:791 flatcamTools/ToolQRCode.py:838
+msgid "Cancelled."
+msgstr "Annulé."
-#: FlatCAMApp.py:2779
+#: FlatCAMApp.py:2985
msgid "Open Config file failed."
msgstr "Le fichier de configuration ouvert a échoué."
-#: FlatCAMApp.py:2794
+#: FlatCAMApp.py:3000
msgid "Open Script file failed."
msgstr "Le fichier de script ouvert a échoué."
-#: FlatCAMApp.py:2820
+#: FlatCAMApp.py:3026
msgid "Open Excellon file failed."
msgstr "Le fichier de Excellon ouvert a échoué."
-#: FlatCAMApp.py:2833
+#: FlatCAMApp.py:3039
msgid "Open GCode file failed."
msgstr "Le fichier de G-code ouvert a échoué."
-#: FlatCAMApp.py:2846
+#: FlatCAMApp.py:3052
msgid "Open Gerber file failed."
msgstr "Le fichier de Gerber ouvert a échoué."
-#: FlatCAMApp.py:3201
+#: FlatCAMApp.py:3429
msgid "Select a Geometry, Gerber or Excellon Object to edit."
msgstr "Sélectionnez un objet Geometry, Gerber ou Excellon à modifier."
-#: FlatCAMApp.py:3216
+#: FlatCAMApp.py:3444
msgid ""
"Simultaneous editing of tools geometry in a MultiGeo Geometry is not "
"possible.\n"
@@ -122,98 +148,96 @@ msgstr ""
"n'est pas possible.\n"
"Modifiez une seule géométrie à la fois."
-#: FlatCAMApp.py:3271
+#: FlatCAMApp.py:3502
msgid "Editor is activated ..."
msgstr "L'éditeur est activé ..."
-#: FlatCAMApp.py:3292
+#: FlatCAMApp.py:3523
msgid "Do you want to save the edited object?"
msgstr "Voulez-vous enregistrer l'objet édité?"
-#: FlatCAMApp.py:3293 flatcamGUI/FlatCAMGUI.py:2165
+#: FlatCAMApp.py:3524 flatcamGUI/FlatCAMGUI.py:2273
msgid "Close Editor"
msgstr "Fermer l'éditeur"
-#: FlatCAMApp.py:3296 FlatCAMApp.py:4014 FlatCAMApp.py:5067 FlatCAMApp.py:7724
-#: FlatCAMApp.py:7750 FlatCAMApp.py:8927 FlatCAMTranslation.py:108
-#: FlatCAMTranslation.py:193
+#: FlatCAMApp.py:3527 FlatCAMApp.py:5169 FlatCAMApp.py:8030 FlatCAMApp.py:8056
+#: FlatCAMApp.py:9305 FlatCAMTranslation.py:108 FlatCAMTranslation.py:199
+#: flatcamGUI/FlatCAMGUI.py:2479
msgid "Yes"
msgstr "Oui"
-#: FlatCAMApp.py:3297 FlatCAMApp.py:4015 FlatCAMApp.py:5068 FlatCAMApp.py:7725
-#: FlatCAMApp.py:7751 FlatCAMApp.py:8928 FlatCAMTranslation.py:109
-#: FlatCAMTranslation.py:194 flatcamGUI/PreferencesUI.py:5139
-#: flatcamGUI/PreferencesUI.py:5554 flatcamTools/ToolNonCopperClear.py:189
-#: flatcamTools/ToolPaint.py:161
+#: FlatCAMApp.py:3528 FlatCAMApp.py:5170 FlatCAMApp.py:8031 FlatCAMApp.py:8057
+#: FlatCAMApp.py:9306 FlatCAMTranslation.py:109 FlatCAMTranslation.py:200
+#: flatcamGUI/FlatCAMGUI.py:2480 flatcamGUI/PreferencesUI.py:5443
+#: flatcamGUI/PreferencesUI.py:5989 flatcamTools/ToolNCC.py:182
+#: flatcamTools/ToolPaint.py:166
msgid "No"
msgstr "Non"
-#: FlatCAMApp.py:3298 FlatCAMApp.py:5069 FlatCAMApp.py:5925 FlatCAMApp.py:7006
-#: FlatCAMApp.py:8929 FlatCAMCommon.py:571 flatcamGUI/FlatCAMGUI.py:1260
+#: FlatCAMApp.py:3529 FlatCAMApp.py:5171 FlatCAMApp.py:6055 FlatCAMApp.py:7006
+#: FlatCAMApp.py:9307 FlatCAMCommon.py:572 FlatCAMCommon.py:2127
+#: flatcamGUI/FlatCAMGUI.py:1332
msgid "Cancel"
msgstr "Annuler"
-#: FlatCAMApp.py:3326
+#: FlatCAMApp.py:3561
msgid "Object empty after edit."
msgstr "Objet vide après édition."
-#: FlatCAMApp.py:3375 FlatCAMApp.py:3395 FlatCAMApp.py:3410
+#: FlatCAMApp.py:3565 FlatCAMApp.py:3586 FlatCAMApp.py:3608
+msgid "Editor exited. Editor content saved."
+msgstr "L'éditeur est sorti. Contenu de l'éditeur enregistré."
+
+#: FlatCAMApp.py:3612 FlatCAMApp.py:3635 FlatCAMApp.py:3653
msgid "Select a Gerber, Geometry or Excellon Object to update."
msgstr "Sélectionnez un objet Gerber, Geometry ou Excellon à mettre à jour."
-#: FlatCAMApp.py:3379
+#: FlatCAMApp.py:3615
msgid "is updated, returning to App..."
msgstr "est mis à jour, revenant à l'App ..."
-#: FlatCAMApp.py:3774 FlatCAMApp.py:3888 FlatCAMApp.py:4929
+#: FlatCAMApp.py:3622
+msgid "Editor exited. Editor content was not saved."
+msgstr "L'éditeur est sorti. Le contenu de l'éditeur n'a pas été enregistré."
+
+#: FlatCAMApp.py:3815 FlatCAMApp.py:3946 FlatCAMApp.py:5018
msgid "Could not load defaults file."
msgstr "Impossible de charger le fichier par défaut."
-#: FlatCAMApp.py:3786 FlatCAMApp.py:3896 FlatCAMApp.py:4938
+#: FlatCAMApp.py:3827 FlatCAMApp.py:3954 FlatCAMApp.py:5027
msgid "Failed to parse defaults file."
msgstr "Échec de l'analyse du fichier par défaut."
-#: FlatCAMApp.py:3831
-msgid "Preferences default restore was cancelled."
-msgstr "La restauration par défaut des préférences a été annulée."
-
-#: FlatCAMApp.py:3839 FlatCAMApp.py:5017
+#: FlatCAMApp.py:3897 FlatCAMApp.py:5119
msgid "Could not load factory defaults file."
msgstr "Impossible de charger le fichier de paramètres d'usine."
-#: FlatCAMApp.py:3847 FlatCAMApp.py:5027
+#: FlatCAMApp.py:3905 FlatCAMApp.py:5129
msgid "Failed to parse factory defaults file."
msgstr "Échec de l'analyse du fichier des paramètres d'usine."
-#: FlatCAMApp.py:3855
+#: FlatCAMApp.py:3913
msgid "Preferences default values are restored."
msgstr "Les valeurs par défaut des préférences sont restaurées."
-#: FlatCAMApp.py:3870 FlatCAMApp.py:3874
+#: FlatCAMApp.py:3928 FlatCAMApp.py:3932
msgid "Import FlatCAM Preferences"
msgstr "Importer les préférences FlatCAM"
-#: FlatCAMApp.py:3880
-msgid "FlatCAM preferences import cancelled."
-msgstr "Importation des préférences FlatCAM annulée."
-
-#: FlatCAMApp.py:3904
+#: FlatCAMApp.py:3962
msgid "Imported Defaults from"
msgstr "Valeurs par défaut importées de"
-#: FlatCAMApp.py:3924 FlatCAMApp.py:3929
+#: FlatCAMApp.py:3982 FlatCAMApp.py:3987
msgid "Export FlatCAM Preferences"
msgstr "Exporter les préférences FlatCAM"
-#: FlatCAMApp.py:3936
-msgid "FlatCAM preferences export cancelled."
-msgstr "Exportation des préférences FlatCAM annulée."
-
-#: FlatCAMApp.py:3945 FlatCAMApp.py:10389 FlatCAMApp.py:10437
-#: FlatCAMApp.py:10560 FlatCAMApp.py:10699 FlatCAMCommon.py:378
-#: FlatCAMCommon.py:1114 FlatCAMObj.py:6903
-#: flatcamEditors/FlatCAMTextEditor.py:274 flatcamTools/ToolFilm.py:1019
-#: flatcamTools/ToolFilm.py:1195 flatcamTools/ToolSolderPaste.py:1544
+#: FlatCAMApp.py:4002 FlatCAMApp.py:4076 FlatCAMApp.py:10776
+#: FlatCAMApp.py:10824 FlatCAMApp.py:10950 FlatCAMApp.py:11087
+#: FlatCAMCommon.py:379 FlatCAMCommon.py:1115 FlatCAMCommon.py:2545
+#: FlatCAMObj.py:7484 flatcamEditors/FlatCAMTextEditor.py:276
+#: flatcamTools/ToolFilm.py:1031 flatcamTools/ToolFilm.py:1212
+#: flatcamTools/ToolSolderPaste.py:1533
msgid ""
"Permission denied, saving not possible.\n"
"Most likely another app is holding the file open and not accessible."
@@ -222,108 +246,108 @@ msgstr ""
"Très probablement, une autre application tient le fichier ouvert et n'est "
"pas accessible."
-#: FlatCAMApp.py:3957
+#: FlatCAMApp.py:4014
msgid "Could not load preferences file."
msgstr "Impossible de charger le fichier de préférences."
-#: FlatCAMApp.py:3976 FlatCAMApp.py:4985
+#: FlatCAMApp.py:4033 FlatCAMApp.py:4100 FlatCAMApp.py:5046
msgid "Failed to write defaults to file."
msgstr "Échec d'écriture par défaut dans le fichier."
-#: FlatCAMApp.py:3981
+#: FlatCAMApp.py:4038
msgid "Exported preferences to"
msgstr "Préférences exportées vers"
-#: FlatCAMApp.py:3998
-msgid "FlatCAM Preferences Folder opened."
-msgstr "Dossier Préférences FlatCAM ouvert."
+#: FlatCAMApp.py:4058 FlatCAMApp.py:4063
+msgid "Save to file"
+msgstr "Enregistrer dans un fichier"
-#: FlatCAMApp.py:4009
-msgid "Are you sure you want to delete the GUI Settings? \n"
-msgstr "Êtes-vous sûr de vouloir supprimer les paramètres de GUI?\n"
+#: FlatCAMApp.py:4087
+msgid "Could not load the file."
+msgstr "Impossible de charger le fichier."
-#: FlatCAMApp.py:4012 flatcamGUI/FlatCAMGUI.py:1230
-msgid "Clear GUI Settings"
-msgstr "Effacer les param. de GUI"
+#: FlatCAMApp.py:4103
+msgid "Exported file to"
+msgstr "Fichier exporté vers"
-#: FlatCAMApp.py:4109
+#: FlatCAMApp.py:4186
msgid "Failed to open recent files file for writing."
msgstr "Échec d'ouverture du fichier récent en écriture."
-#: FlatCAMApp.py:4120
+#: FlatCAMApp.py:4197
msgid "Failed to open recent projects file for writing."
msgstr "Échec d'ouverture du fichier de projets récents en écriture."
-#: FlatCAMApp.py:4205 FlatCAMApp.py:10900 FlatCAMApp.py:10961
-#: FlatCAMApp.py:11090 FlatCAMObj.py:5050
-#: flatcamEditors/FlatCAMGrbEditor.py:4187 flatcamTools/ToolPcbWizard.py:437
+#: FlatCAMApp.py:4282 FlatCAMApp.py:11283 FlatCAMApp.py:11342
+#: FlatCAMApp.py:11470 FlatCAMApp.py:12196 FlatCAMObj.py:5605
+#: flatcamEditors/FlatCAMGrbEditor.py:4231 flatcamTools/ToolPcbWizard.py:433
msgid "An internal error has occurred. See shell.\n"
msgstr "Une erreur interne s'est produite. Voir shell.\n"
-#: FlatCAMApp.py:4206
+#: FlatCAMApp.py:4283
#, python-brace-format
msgid ""
"Object ({kind}) failed because: {error} \n"
"\n"
msgstr "L'objet ({kind}) a échoué car: {error}\n"
-#: FlatCAMApp.py:4221
+#: FlatCAMApp.py:4298
msgid "Converting units to "
msgstr "Conversion d'unités en "
-#: FlatCAMApp.py:4324
+#: FlatCAMApp.py:4411
msgid "CREATE A NEW FLATCAM TCL SCRIPT"
msgstr "CRÉER UN NOUVEAU SCRIPT FLATCAM TCL"
-#: FlatCAMApp.py:4325
+#: FlatCAMApp.py:4412
msgid "TCL Tutorial is here"
msgstr "Le didacticiel TCL est ici"
-#: FlatCAMApp.py:4327
+#: FlatCAMApp.py:4414
msgid "FlatCAM commands list"
msgstr "Liste des commandes FlatCAM"
-#: FlatCAMApp.py:4378 FlatCAMApp.py:4384 FlatCAMApp.py:4390 FlatCAMApp.py:4396
-#: FlatCAMApp.py:4402 FlatCAMApp.py:4408
+#: FlatCAMApp.py:4465 FlatCAMApp.py:4471 FlatCAMApp.py:4477 FlatCAMApp.py:4483
+#: FlatCAMApp.py:4489 FlatCAMApp.py:4495
msgid "created/selected"
msgstr "créé / sélectionné"
-#: FlatCAMApp.py:4423 FlatCAMApp.py:7086 FlatCAMObj.py:271 FlatCAMObj.py:302
-#: FlatCAMObj.py:318 FlatCAMObj.py:398 flatcamTools/ToolCopperThieving.py:1476
-#: flatcamTools/ToolFiducials.py:807 flatcamTools/ToolMove.py:220
-#: flatcamTools/ToolQRCode.py:726
+#: FlatCAMApp.py:4510 FlatCAMApp.py:7092 FlatCAMObj.py:278 FlatCAMObj.py:309
+#: FlatCAMObj.py:325 FlatCAMObj.py:405 flatcamTools/ToolCopperThieving.py:1482
+#: flatcamTools/ToolFiducials.py:809 flatcamTools/ToolMove.py:230
+#: flatcamTools/ToolQRCode.py:728
msgid "Plotting"
msgstr "Traçage"
-#: FlatCAMApp.py:4486 flatcamGUI/FlatCAMGUI.py:491
+#: FlatCAMApp.py:4573 flatcamGUI/FlatCAMGUI.py:530
msgid "About FlatCAM"
msgstr "À propos de FlatCAM"
-#: FlatCAMApp.py:4512
+#: FlatCAMApp.py:4599
msgid "2D Computer-Aided Printed Circuit Board Manufacturing"
msgstr "Fabrication de cartes de circuits imprimés 2D assistées par ordinateur"
-#: FlatCAMApp.py:4513
+#: FlatCAMApp.py:4600
msgid "Development"
msgstr "Développement"
-#: FlatCAMApp.py:4514
+#: FlatCAMApp.py:4601
msgid "DOWNLOAD"
msgstr "TÉLÉCHARGER"
-#: FlatCAMApp.py:4515
+#: FlatCAMApp.py:4602
msgid "Issue tracker"
msgstr "Traqueur d'incidents"
-#: FlatCAMApp.py:4519 FlatCAMApp.py:4860
+#: FlatCAMApp.py:4606 FlatCAMApp.py:4948 flatcamGUI/GUIElements.py:2583
msgid "Close"
msgstr "Proche"
-#: FlatCAMApp.py:4534
+#: FlatCAMApp.py:4621
msgid "Licensed under the MIT license"
msgstr "Sous licence MIT"
-#: FlatCAMApp.py:4543
+#: FlatCAMApp.py:4630
msgid ""
"Permission is hereby granted, free of charge, to any person obtaining a "
"copy\n"
@@ -375,7 +399,7 @@ msgstr ""
"DANS\n"
"LES LOGICIELS."
-#: FlatCAMApp.py:4565
+#: FlatCAMApp.py:4652
msgid ""
"Some of the icons used are from the following sources:
Icônes de "
"oNline Web Fonts"
-#: FlatCAMApp.py:4597
+#: FlatCAMApp.py:4685
msgid "Splash"
msgstr "Éclaboussure"
-#: FlatCAMApp.py:4603
+#: FlatCAMApp.py:4691
msgid "Programmers"
msgstr "Programmeurs"
-#: FlatCAMApp.py:4609
+#: FlatCAMApp.py:4697
msgid "Translators"
msgstr "Traducteurs"
-#: FlatCAMApp.py:4615
+#: FlatCAMApp.py:4703
msgid "License"
msgstr "Licence"
-#: FlatCAMApp.py:4621
+#: FlatCAMApp.py:4709
msgid "Attributions"
msgstr "Attributions"
-#: FlatCAMApp.py:4644
+#: FlatCAMApp.py:4732
msgid "Programmer"
msgstr "Programmeur"
-#: FlatCAMApp.py:4645
+#: FlatCAMApp.py:4733
msgid "Status"
msgstr "Statut"
-#: FlatCAMApp.py:4646 FlatCAMApp.py:4724
+#: FlatCAMApp.py:4734 FlatCAMApp.py:4812
msgid "E-mail"
msgstr "Email"
-#: FlatCAMApp.py:4654
+#: FlatCAMApp.py:4742
msgid "BETA Maintainer >= 2019"
msgstr "Mainteneur BETA> = 2019"
-#: FlatCAMApp.py:4721
+#: FlatCAMApp.py:4809
msgid "Language"
msgstr "La langue"
-#: FlatCAMApp.py:4722
+#: FlatCAMApp.py:4810
msgid "Translator"
msgstr "Traducteur"
-#: FlatCAMApp.py:4723
+#: FlatCAMApp.py:4811
msgid "Corrections"
msgstr "Les corrections"
-#: FlatCAMApp.py:4832 FlatCAMApp.py:4840 FlatCAMApp.py:7769
-#: flatcamGUI/FlatCAMGUI.py:473
+#: FlatCAMApp.py:4920 FlatCAMApp.py:4928 FlatCAMApp.py:8075
+#: flatcamGUI/FlatCAMGUI.py:512
msgid "Bookmarks Manager"
msgstr "Gestionnaire de favoris"
-#: FlatCAMApp.py:4851
+#: FlatCAMApp.py:4939
msgid ""
"This entry will resolve to another website if:\n"
"\n"
@@ -464,27 +488,27 @@ msgstr ""
"Si vous ne pouvez pas obtenir d'informations sur FlatCAM beta\n"
"utilisez le lien de chaîne YouTube dans le menu Aide."
-#: FlatCAMApp.py:4858
+#: FlatCAMApp.py:4946
msgid "Alternative website"
msgstr "Site alternatif"
-#: FlatCAMApp.py:4989 FlatCAMApp.py:7733
+#: FlatCAMApp.py:5050 FlatCAMApp.py:8039
msgid "Preferences saved."
msgstr "Préférences enregistrées."
-#: FlatCAMApp.py:5043
+#: FlatCAMApp.py:5145
msgid "Failed to write factory defaults to file."
msgstr "Échec de l'écriture des paramètres d'usine par défaut dans le fichier."
-#: FlatCAMApp.py:5047
+#: FlatCAMApp.py:5149
msgid "Factory defaults saved."
msgstr "Les paramètres d'usine par défaut ont été enregistrés."
-#: FlatCAMApp.py:5057 flatcamGUI/FlatCAMGUI.py:3962
+#: FlatCAMApp.py:5159 flatcamGUI/FlatCAMGUI.py:4178
msgid "Application is saving the project. Please wait ..."
msgstr "L'application enregistre le projet. S'il vous plaît, attendez ..."
-#: FlatCAMApp.py:5062 FlatCAMTranslation.py:188
+#: FlatCAMApp.py:5164 FlatCAMTranslation.py:194
msgid ""
"There are files/objects modified in FlatCAM. \n"
"Do you want to Save the project?"
@@ -492,30 +516,30 @@ msgstr ""
"Il y a des fichiers / objets modifiés dans FlatCAM.\n"
"Voulez-vous enregistrer le projet?"
-#: FlatCAMApp.py:5065 FlatCAMApp.py:8925 FlatCAMTranslation.py:191
+#: FlatCAMApp.py:5167 FlatCAMApp.py:9303 FlatCAMTranslation.py:197
msgid "Save changes"
msgstr "Sauvegarder les modifications"
-#: FlatCAMApp.py:5306
+#: FlatCAMApp.py:5423
msgid "Selected Excellon file extensions registered with FlatCAM."
msgstr ""
"Extensions de fichier Excellon sélectionnées enregistrées avec FlatCAM."
-#: FlatCAMApp.py:5328
+#: FlatCAMApp.py:5445
msgid "Selected GCode file extensions registered with FlatCAM."
msgstr "Extensions de fichier GCode sélectionnées enregistrées avec FlatCAM."
-#: FlatCAMApp.py:5350
+#: FlatCAMApp.py:5467
msgid "Selected Gerber file extensions registered with FlatCAM."
msgstr "Extensions de fichiers Gerber sélectionnées enregistrées avec FlatCAM."
-#: FlatCAMApp.py:5538 FlatCAMApp.py:5595 FlatCAMApp.py:5623
+#: FlatCAMApp.py:5655 FlatCAMApp.py:5714 FlatCAMApp.py:5742
msgid "At least two objects are required for join. Objects currently selected"
msgstr ""
"Au moins deux objets sont requis pour la jointure. Objets actuellement "
"sélectionnés"
-#: FlatCAMApp.py:5547
+#: FlatCAMApp.py:5664
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 "
@@ -532,51 +556,47 @@ msgstr ""
"attendu.\n"
"Vérifiez le GCODE généré."
-#: FlatCAMApp.py:5559
-msgid "Multigeo. Geometry merging finished"
-msgstr "Multigeo. Fusion de la géométrie terminée"
-
-#: FlatCAMApp.py:5568
+#: FlatCAMApp.py:5676 FlatCAMApp.py:5686
msgid "Geometry merging finished"
msgstr "Fusion de la géométrie terminée"
-#: FlatCAMApp.py:5590
+#: FlatCAMApp.py:5709
msgid "Failed. Excellon joining works only on Excellon objects."
msgstr "Échoué. Excellon rejoindre ne travaille que sur des objets Excellon."
-#: FlatCAMApp.py:5600
+#: FlatCAMApp.py:5719
msgid "Excellon merging finished"
msgstr "Fusion de la Excellon terminée"
-#: FlatCAMApp.py:5618
+#: FlatCAMApp.py:5737
msgid "Failed. Gerber joining works only on Gerber objects."
msgstr "Échoué. La jonction de Gerber ne fonctionne que sur des objets Gerber."
-#: FlatCAMApp.py:5628
+#: FlatCAMApp.py:5747
msgid "Gerber merging finished"
msgstr "Fusion de Gerber terminée"
-#: FlatCAMApp.py:5648 FlatCAMApp.py:5683
+#: FlatCAMApp.py:5767 FlatCAMApp.py:5802
msgid "Failed. Select a Geometry Object and try again."
msgstr "Échoué. Sélectionnez un objet de géométrie et réessayez."
-#: FlatCAMApp.py:5652 FlatCAMApp.py:5688
+#: FlatCAMApp.py:5771 FlatCAMApp.py:5807
msgid "Expected a FlatCAMGeometry, got"
msgstr "Échoué. Sélectionnez un objet de géométrie et réessayez"
-#: FlatCAMApp.py:5665
+#: FlatCAMApp.py:5784
msgid "A Geometry object was converted to MultiGeo type."
msgstr "Un objet Geometry a été converti en type MultiGeo."
-#: FlatCAMApp.py:5703
+#: FlatCAMApp.py:5822
msgid "A Geometry object was converted to SingleGeo type."
msgstr "Un objet Geometry a été converti en type SingleGeo."
-#: FlatCAMApp.py:5919
+#: FlatCAMApp.py:6049
msgid "Toggle Units"
msgstr "Basculer les Unités"
-#: FlatCAMApp.py:5921
+#: FlatCAMApp.py:6051
msgid ""
"Changing the units of the project\n"
"will scale all objects.\n"
@@ -588,29 +608,25 @@ msgstr ""
"\n"
"Voulez-vous continuer?"
-#: FlatCAMApp.py:5924 FlatCAMApp.py:6929 FlatCAMApp.py:7005 FlatCAMApp.py:9290
-#: FlatCAMApp.py:9304 FlatCAMApp.py:9658 FlatCAMApp.py:9669
+#: FlatCAMApp.py:6054 FlatCAMApp.py:6928 FlatCAMApp.py:7005 FlatCAMApp.py:9676
+#: FlatCAMApp.py:9690 FlatCAMApp.py:10025 FlatCAMApp.py:10035
msgid "Ok"
msgstr "D'accord"
-#: FlatCAMApp.py:5973
+#: FlatCAMApp.py:6103
msgid "Converted units to"
msgstr "Unités converties en"
-#: FlatCAMApp.py:5987
-msgid "Units conversion cancelled."
-msgstr "La conversion des unités a été annulée."
-
-#: FlatCAMApp.py:6613
+#: FlatCAMApp.py:6743
msgid "Detachable Tabs"
msgstr "Onglets détachables"
-#: FlatCAMApp.py:6828 FlatCAMApp.py:6889 FlatCAMApp.py:7560 FlatCAMApp.py:7622
-#: FlatCAMApp.py:7688
+#: FlatCAMApp.py:6817 FlatCAMApp.py:6861 FlatCAMApp.py:6889 FlatCAMApp.py:7822
+#: FlatCAMApp.py:7890 FlatCAMApp.py:7994
msgid "Preferences"
msgstr "Préférences"
-#: FlatCAMApp.py:6831
+#: FlatCAMApp.py:6823
msgid "Preferences applied."
msgstr "Préférences appliquées."
@@ -618,20 +634,20 @@ msgstr "Préférences appliquées."
msgid "Preferences closed without saving."
msgstr "Les préférences se sont fermées sans enregistrer."
-#: FlatCAMApp.py:6917 flatcamTools/ToolNonCopperClear.py:591
-#: flatcamTools/ToolNonCopperClear.py:987 flatcamTools/ToolPaint.py:502
-#: flatcamTools/ToolSolderPaste.py:562 flatcamTools/ToolSolderPaste.py:892
+#: FlatCAMApp.py:6917 flatcamTools/ToolNCC.py:932 flatcamTools/ToolNCC.py:1426
+#: flatcamTools/ToolPaint.py:858 flatcamTools/ToolSolderPaste.py:568
+#: flatcamTools/ToolSolderPaste.py:893
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."
-#: FlatCAMApp.py:6922 flatcamTools/ToolNonCopperClear.py:595
-#: flatcamTools/ToolPaint.py:506 flatcamTools/ToolSolderPaste.py:566
+#: FlatCAMApp.py:6921 flatcamTools/ToolNCC.py:936 flatcamTools/ToolPaint.py:862
+#: flatcamTools/ToolSolderPaste.py:572
msgid "Adding Tool cancelled"
msgstr "Outil d'ajout annulé"
-#: FlatCAMApp.py:6925
+#: FlatCAMApp.py:6924
msgid ""
"Adding Tool works only when Advanced is checked.\n"
"Go to Preferences -> General - Show Advanced Options."
@@ -651,107 +667,149 @@ msgstr ""
"Êtes-vous sûr de vouloir supprimer définitivement\n"
"les objets sélectionnés?"
-#: FlatCAMApp.py:7034
+#: FlatCAMApp.py:7041
msgid "Object(s) deleted"
msgstr "Objet (s) supprimé (s)"
-#: FlatCAMApp.py:7038 flatcamTools/ToolDblSided.py:713
+#: FlatCAMApp.py:7045 FlatCAMApp.py:7200 flatcamTools/ToolDblSided.py:819
msgid "Failed. No object(s) selected..."
msgstr "Échoué. Aucun objet sélectionné ..."
-#: FlatCAMApp.py:7040
+#: FlatCAMApp.py:7047
msgid "Save the work in Editor and try again ..."
msgstr "Enregistrez le travail dans l'éditeur et réessayez ..."
-#: FlatCAMApp.py:7070
+#: FlatCAMApp.py:7076
msgid "Object deleted"
msgstr "Objet supprimé"
-#: FlatCAMApp.py:7097
+#: FlatCAMApp.py:7103
msgid "Click to set the origin ..."
msgstr "Cliquez pour définir l'origine ..."
-#: FlatCAMApp.py:7119
+#: FlatCAMApp.py:7125
msgid "Setting Origin..."
msgstr "Réglage de l'Origine ..."
-#: FlatCAMApp.py:7131
+#: FlatCAMApp.py:7138 FlatCAMApp.py:7240
msgid "Origin set"
msgstr "Ensemble d'origine"
-#: FlatCAMApp.py:7138
+#: FlatCAMApp.py:7155
msgid "Origin coordinates specified but incomplete."
msgstr "Coordonnées d'origine spécifiées mais incomplètes."
-#: FlatCAMApp.py:7197
+#: FlatCAMApp.py:7196
+msgid "Moving to Origin..."
+msgstr "Déplacement vers l'origine ..."
+
+#: FlatCAMApp.py:7277
msgid "Jump to ..."
msgstr "Sauter à ..."
-#: FlatCAMApp.py:7198
+#: FlatCAMApp.py:7278
msgid "Enter the coordinates in format X,Y:"
msgstr "Entrez les coordonnées au format X, Y:"
-#: FlatCAMApp.py:7208
+#: FlatCAMApp.py:7288
msgid "Wrong coordinates. Enter coordinates in format: X,Y"
msgstr "Mauvaises coordonnées. Entrez les coordonnées au format: X, Y"
-#: FlatCAMApp.py:7288 flatcamEditors/FlatCAMExcEditor.py:3599
-#: flatcamEditors/FlatCAMExcEditor.py:3607
-#: flatcamEditors/FlatCAMGeoEditor.py:4036
-#: flatcamEditors/FlatCAMGeoEditor.py:4051
-#: flatcamEditors/FlatCAMGrbEditor.py:1086
-#: flatcamEditors/FlatCAMGrbEditor.py:1203
-#: flatcamEditors/FlatCAMGrbEditor.py:1489
-#: flatcamEditors/FlatCAMGrbEditor.py:1758
-#: flatcamEditors/FlatCAMGrbEditor.py:4445
-#: flatcamEditors/FlatCAMGrbEditor.py:4460 flatcamGUI/FlatCAMGUI.py:3145
-#: flatcamGUI/FlatCAMGUI.py:3157
+#: FlatCAMApp.py:7366 FlatCAMApp.py:7515
+#: flatcamEditors/FlatCAMExcEditor.py:3622
+#: flatcamEditors/FlatCAMExcEditor.py:3630
+#: flatcamEditors/FlatCAMGeoEditor.py:4349
+#: flatcamEditors/FlatCAMGeoEditor.py:4363
+#: flatcamEditors/FlatCAMGrbEditor.py:1085
+#: flatcamEditors/FlatCAMGrbEditor.py:1202
+#: flatcamEditors/FlatCAMGrbEditor.py:1488
+#: flatcamEditors/FlatCAMGrbEditor.py:1757
+#: flatcamEditors/FlatCAMGrbEditor.py:4489
+#: flatcamEditors/FlatCAMGrbEditor.py:4504 flatcamGUI/FlatCAMGUI.py:3370
+#: flatcamGUI/FlatCAMGUI.py:3382 flatcamTools/ToolAlignObjects.py:393
+#: flatcamTools/ToolAlignObjects.py:415
msgid "Done."
msgstr "Terminé."
-#: FlatCAMApp.py:7440 FlatCAMApp.py:7511
+#: FlatCAMApp.py:7381 FlatCAMApp.py:9672 FlatCAMApp.py:9768 FlatCAMApp.py:9810
+#: FlatCAMApp.py:9851 FlatCAMApp.py:9892 FlatCAMApp.py:9933 FlatCAMApp.py:9977
+#: FlatCAMApp.py:10021 FlatCAMApp.py:10510 FlatCAMApp.py:10514
+#: flatcamTools/ToolProperties.py:116
+msgid "No object selected."
+msgstr "Aucun objet sélectionné."
+
+#: FlatCAMApp.py:7400
+msgid "Bottom-Left"
+msgstr "En bas à gauche"
+
+#: FlatCAMApp.py:7401 flatcamGUI/PreferencesUI.py:8111
+#: flatcamTools/ToolCalibration.py:159
+msgid "Top-Left"
+msgstr "En haut à gauche"
+
+#: FlatCAMApp.py:7402 flatcamGUI/PreferencesUI.py:8112
+#: flatcamTools/ToolCalibration.py:160
+msgid "Bottom-Right"
+msgstr "En bas à droite"
+
+#: FlatCAMApp.py:7403
+msgid "Top-Right"
+msgstr "En haut à droite"
+
+#: FlatCAMApp.py:7404 flatcamGUI/ObjectUI.py:2624
+msgid "Center"
+msgstr "Centre"
+
+#: FlatCAMApp.py:7424
+msgid "Locate ..."
+msgstr "Localiser ..."
+
+#: FlatCAMApp.py:7685 FlatCAMApp.py:7762
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."
-#: FlatCAMApp.py:7531
+#: FlatCAMApp.py:7788
msgid ""
"Aborting. The current task will be gracefully closed as soon as possible..."
msgstr ""
"Abandonner La tâche en cours sera clôturée dans les meilleurs délais ..."
-#: FlatCAMApp.py:7537
+#: FlatCAMApp.py:7794
msgid "The current task was gracefully closed on user request..."
msgstr ""
"La tâche en cours a été fermée avec élégance à la demande de "
"l'utilisateur ..."
-#: FlatCAMApp.py:7619
+#: FlatCAMApp.py:7887
msgid "Preferences edited but not saved."
msgstr "Préférences modifiées mais non enregistrées."
-#: FlatCAMApp.py:7633 FlatCAMApp.py:7645 FlatCAMApp.py:7662 FlatCAMApp.py:7679
-#: FlatCAMApp.py:7739 FlatCAMCommon.py:1181 FlatCAMCommon.py:1356
-#: FlatCAMObj.py:4256
+#: FlatCAMApp.py:7904 FlatCAMApp.py:7932 FlatCAMApp.py:7959 FlatCAMApp.py:7978
+#: FlatCAMApp.py:8045 FlatCAMCommon.py:1182 FlatCAMCommon.py:1357
+#: FlatCAMCommon.py:2612 FlatCAMCommon.py:2820 FlatCAMObj.py:4798
+#: flatcamTools/ToolNCC.py:3958 flatcamTools/ToolNCC.py:4042
+#: flatcamTools/ToolPaint.py:3548 flatcamTools/ToolPaint.py:3633
msgid "Tools Database"
msgstr "Base de données d'outils"
-#: FlatCAMApp.py:7659
+#: FlatCAMApp.py:7956
msgid "Tools in Tools Database edited but not saved."
msgstr ""
"Les outils de la base de données d'outils ont été modifiés mais pas "
"enregistrés."
-#: FlatCAMApp.py:7683
+#: FlatCAMApp.py:7982 flatcamTools/ToolNCC.py:3965
+#: flatcamTools/ToolPaint.py:3555
msgid "Tool from DB added in Tool Table."
msgstr "Outil de la base de données ajouté dans la table d'outils."
-#: FlatCAMApp.py:7685
+#: FlatCAMApp.py:7984
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."
-#: FlatCAMApp.py:7719
+#: FlatCAMApp.py:8025
msgid ""
"One or more values are changed.\n"
"Do you want to save the Preferences?"
@@ -759,11 +817,11 @@ msgstr ""
"Une ou plusieurs valeurs sont modifiées.\n"
"Voulez-vous enregistrer les préférences?"
-#: FlatCAMApp.py:7721 flatcamGUI/FlatCAMGUI.py:222
+#: FlatCAMApp.py:8027 flatcamGUI/FlatCAMGUI.py:291
msgid "Save Preferences"
msgstr "Enregistrer les préf"
-#: FlatCAMApp.py:7745
+#: FlatCAMApp.py:8051
msgid ""
"One or more Tools are edited.\n"
"Do you want to update the Tools Database?"
@@ -771,175 +829,177 @@ msgstr ""
"Un ou plusieurs outils sont modifiés.\n"
"Voulez-vous mettre à jour la base de données d'outils?"
-#: FlatCAMApp.py:7747
+#: FlatCAMApp.py:8053
msgid "Save Tools Database"
msgstr "Enregistrer la base de données d'outils"
-#: FlatCAMApp.py:7766 FlatCAMApp.py:9897 FlatCAMObj.py:6509
+#: FlatCAMApp.py:8072 FlatCAMApp.py:10259 FlatCAMObj.py:7089
msgid "Code Editor"
msgstr "Éditeur de code"
-#: FlatCAMApp.py:7784
+#: FlatCAMApp.py:8094
msgid "No object selected to Flip on Y axis."
msgstr "Aucun objet sélectionné pour basculer sur l’axe Y."
-#: FlatCAMApp.py:7810
+#: FlatCAMApp.py:8120
msgid "Flip on Y axis done."
msgstr "Tournez sur l'axe des Y fait."
-#: FlatCAMApp.py:7812 FlatCAMApp.py:7854
-#: flatcamEditors/FlatCAMGrbEditor.py:5858
+#: FlatCAMApp.py:8122 FlatCAMApp.py:8170
+#: flatcamEditors/FlatCAMGrbEditor.py:5893
msgid "Flip action was not executed."
msgstr "L'Action de retournement n'a pas été exécutée."
-#: FlatCAMApp.py:7826
+#: FlatCAMApp.py:8142
msgid "No object selected to Flip on X axis."
msgstr "Aucun objet sélectionné pour basculer sur l’axe X."
-#: FlatCAMApp.py:7852
+#: FlatCAMApp.py:8168
msgid "Flip on X axis done."
msgstr "Tournez sur l'axe X fait."
-#: FlatCAMApp.py:7868
+#: FlatCAMApp.py:8190
msgid "No object selected to Rotate."
msgstr "Aucun objet sélectionné pour faire pivoter."
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
+#: FlatCAMApp.py:8193 FlatCAMApp.py:8246 FlatCAMApp.py:8285
msgid "Transform"
msgstr "Transformer"
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
+#: FlatCAMApp.py:8193 FlatCAMApp.py:8246 FlatCAMApp.py:8285
msgid "Enter the Angle value:"
msgstr "Entrez la valeur de l'angle:"
-#: FlatCAMApp.py:7902
+#: FlatCAMApp.py:8224
msgid "Rotation done."
msgstr "Rotation effectuée."
-#: FlatCAMApp.py:7904
+#: FlatCAMApp.py:8226
msgid "Rotation movement was not executed."
msgstr "Le mouvement de rotation n'a pas été exécuté."
-#: FlatCAMApp.py:7916
+#: FlatCAMApp.py:8244
msgid "No object selected to Skew/Shear on X axis."
msgstr "Aucun objet sélectionné pour incliner / cisailler sur l'axe X."
-#: FlatCAMApp.py:7938
+#: FlatCAMApp.py:8266
msgid "Skew on X axis done."
msgstr "Inclinaison sur l'axe X terminée."
-#: FlatCAMApp.py:7949
+#: FlatCAMApp.py:8283
msgid "No object selected to Skew/Shear on Y axis."
msgstr ""
"Aucun objet sélectionné pour incliner / cisailler sur l'axe des ordonnées."
-#: FlatCAMApp.py:7971
+#: FlatCAMApp.py:8305
msgid "Skew on Y axis done."
msgstr "Inclinaison sur l'axe des Y faite."
-#: FlatCAMApp.py:8119 FlatCAMApp.py:8166 flatcamGUI/FlatCAMGUI.py:449
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: FlatCAMApp.py:8458 FlatCAMApp.py:8505 flatcamGUI/FlatCAMGUI.py:488
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Select All"
msgstr "Tout sélectionner"
-#: FlatCAMApp.py:8123 FlatCAMApp.py:8170 flatcamGUI/FlatCAMGUI.py:451
+#: FlatCAMApp.py:8462 FlatCAMApp.py:8509 flatcamGUI/FlatCAMGUI.py:490
msgid "Deselect All"
msgstr "Tout déselectionner"
-#: FlatCAMApp.py:8186
+#: FlatCAMApp.py:8525
msgid "All objects are selected."
msgstr "Tous les objets sont sélectionnés."
-#: FlatCAMApp.py:8196
+#: FlatCAMApp.py:8535
msgid "Objects selection is cleared."
msgstr "La sélection des objets est effacée."
-#: FlatCAMApp.py:8216 flatcamGUI/FlatCAMGUI.py:1605
+#: FlatCAMApp.py:8555 flatcamGUI/FlatCAMGUI.py:1706
msgid "Grid On/Off"
msgstr "Grille On/Off"
-#: FlatCAMApp.py:8228 flatcamEditors/FlatCAMGeoEditor.py:940
-#: flatcamEditors/FlatCAMGrbEditor.py:2574
-#: flatcamEditors/FlatCAMGrbEditor.py:5431 flatcamGUI/ObjectUI.py:1304
-#: flatcamTools/ToolDblSided.py:187 flatcamTools/ToolDblSided.py:245
-#: flatcamTools/ToolNonCopperClear.py:286 flatcamTools/ToolPaint.py:188
-#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:591
-#: flatcamTools/ToolTransform.py:310
+#: FlatCAMApp.py:8567 flatcamEditors/FlatCAMGeoEditor.py:940
+#: flatcamEditors/FlatCAMGrbEditor.py:2580
+#: flatcamEditors/FlatCAMGrbEditor.py:5475 flatcamGUI/ObjectUI.py:1593
+#: flatcamTools/ToolDblSided.py:193 flatcamTools/ToolDblSided.py:426
+#: flatcamTools/ToolNCC.py:294 flatcamTools/ToolNCC.py:631
+#: flatcamTools/ToolPaint.py:277 flatcamTools/ToolPaint.py:676
+#: flatcamTools/ToolSolderPaste.py:123 flatcamTools/ToolSolderPaste.py:597
+#: flatcamTools/ToolTransform.py:479
msgid "Add"
msgstr "Ajouter"
-#: FlatCAMApp.py:8230 FlatCAMObj.py:3963
-#: flatcamEditors/FlatCAMGrbEditor.py:2579
-#: flatcamEditors/FlatCAMGrbEditor.py:2727 flatcamGUI/FlatCAMGUI.py:680
-#: flatcamGUI/FlatCAMGUI.py:991 flatcamGUI/FlatCAMGUI.py:2018
-#: flatcamGUI/FlatCAMGUI.py:2161 flatcamGUI/FlatCAMGUI.py:2559
-#: flatcamGUI/ObjectUI.py:1330 flatcamTools/ToolNonCopperClear.py:298
-#: flatcamTools/ToolPaint.py:200 flatcamTools/ToolSolderPaste.py:127
-#: flatcamTools/ToolSolderPaste.py:594
+#: FlatCAMApp.py:8569 FlatCAMObj.py:4416
+#: flatcamEditors/FlatCAMGrbEditor.py:2585
+#: flatcamEditors/FlatCAMGrbEditor.py:2733 flatcamGUI/FlatCAMGUI.py:736
+#: flatcamGUI/FlatCAMGUI.py:1059 flatcamGUI/FlatCAMGUI.py:2126
+#: flatcamGUI/FlatCAMGUI.py:2269 flatcamGUI/FlatCAMGUI.py:2733
+#: flatcamGUI/ObjectUI.py:1621 flatcamTools/ToolNCC.py:316
+#: flatcamTools/ToolNCC.py:637 flatcamTools/ToolPaint.py:299
+#: flatcamTools/ToolPaint.py:682 flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolSolderPaste.py:600
msgid "Delete"
msgstr "Effacer"
-#: FlatCAMApp.py:8243
+#: FlatCAMApp.py:8582
msgid "New Grid ..."
msgstr "Nouvelle grille ..."
-#: FlatCAMApp.py:8244
+#: FlatCAMApp.py:8583
msgid "Enter a Grid Value:"
msgstr "Entrez une valeur de grille:"
-#: FlatCAMApp.py:8252 FlatCAMApp.py:8279
+#: FlatCAMApp.py:8591 FlatCAMApp.py:8618
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."
-#: FlatCAMApp.py:8258
+#: FlatCAMApp.py:8597
msgid "New Grid added"
msgstr "Nouvelle grille ajoutée"
-#: FlatCAMApp.py:8261
+#: FlatCAMApp.py:8600
msgid "Grid already exists"
msgstr "La grille existe déjà"
-#: FlatCAMApp.py:8264
+#: FlatCAMApp.py:8603
msgid "Adding New Grid cancelled"
msgstr "Ajout d'une nouvelle grille annulée"
-#: FlatCAMApp.py:8286
+#: FlatCAMApp.py:8625
msgid " Grid Value does not exist"
msgstr " Grid Value does not exist"
-#: FlatCAMApp.py:8289
+#: FlatCAMApp.py:8628
msgid "Grid Value deleted"
msgstr "Valeur de grille supprimée"
-#: FlatCAMApp.py:8292
+#: FlatCAMApp.py:8631
msgid "Delete Grid value cancelled"
msgstr "Supprimer la valeur de grille annulée"
-#: FlatCAMApp.py:8298
+#: FlatCAMApp.py:8637
msgid "Key Shortcut List"
msgstr "Liste de raccourcis clavier"
-#: FlatCAMApp.py:8332
+#: FlatCAMApp.py:8671
msgid " No object selected to copy it's name"
msgstr " Aucun objet sélectionné pour copier son nom"
-#: FlatCAMApp.py:8336
+#: FlatCAMApp.py:8675
msgid "Name copied on clipboard ..."
msgstr "Nom copié dans le presse-papiers ..."
-#: FlatCAMApp.py:8534 flatcamEditors/FlatCAMGrbEditor.py:4377
+#: FlatCAMApp.py:8888 flatcamEditors/FlatCAMGrbEditor.py:4421
msgid "Coordinates copied to clipboard."
msgstr "Coordonnées copiées dans le presse-papier."
-#: FlatCAMApp.py:8762 FlatCAMApp.py:8768 FlatCAMApp.py:8774 FlatCAMApp.py:8780
-#: ObjectCollection.py:797 ObjectCollection.py:803 ObjectCollection.py:809
-#: ObjectCollection.py:815 ObjectCollection.py:821 ObjectCollection.py:827
+#: FlatCAMApp.py:9127 FlatCAMApp.py:9133 FlatCAMApp.py:9139 FlatCAMApp.py:9145
+#: ObjectCollection.py:911 ObjectCollection.py:917 ObjectCollection.py:923
+#: ObjectCollection.py:929 ObjectCollection.py:935 ObjectCollection.py:941
msgid "selected"
msgstr "choisi"
-#: FlatCAMApp.py:8922
+#: FlatCAMApp.py:9300
msgid ""
"There are files/objects opened in FlatCAM.\n"
"Creating a New project will delete them.\n"
@@ -949,380 +1009,278 @@ msgstr ""
"La création d'un nouveau projet les supprimera.\n"
"Voulez-vous enregistrer le projet?"
-#: FlatCAMApp.py:8944
+#: FlatCAMApp.py:9321
msgid "New Project created"
msgstr "Nouveau projet créé"
-#: FlatCAMApp.py:9079 FlatCAMApp.py:9083 flatcamGUI/FlatCAMGUI.py:767
-#: flatcamGUI/FlatCAMGUI.py:2352
+#: FlatCAMApp.py:9468 FlatCAMApp.py:9472 flatcamGUI/FlatCAMGUI.py:821
+#: flatcamGUI/FlatCAMGUI.py:2504
msgid "Open Gerber"
msgstr "Gerber ouvert"
-#: FlatCAMApp.py:9090
+#: FlatCAMApp.py:9477 FlatCAMApp.py:9514 FlatCAMApp.py:9556 FlatCAMApp.py:9625
+#: FlatCAMApp.py:10378 FlatCAMApp.py:11553 FlatCAMApp.py:11614
+msgid ""
+"Canvas initialization started.\n"
+"Canvas initialization finished in"
+msgstr ""
+"L'initialisation de la toile a commencé.\n"
+"Initialisation de la toile terminée en"
+
+#: FlatCAMApp.py:9479
msgid "Opening Gerber file."
msgstr "Ouvrir le fichier Gerber."
-#: FlatCAMApp.py:9096
-msgid "Open Gerber cancelled."
-msgstr "Ouvert Gerber annulé."
-
-#: FlatCAMApp.py:9117 FlatCAMApp.py:9121 flatcamGUI/FlatCAMGUI.py:769
-#: flatcamGUI/FlatCAMGUI.py:2354
+#: FlatCAMApp.py:9506 FlatCAMApp.py:9510 flatcamGUI/FlatCAMGUI.py:823
+#: flatcamGUI/FlatCAMGUI.py:2506
msgid "Open Excellon"
msgstr "Excellon ouvert"
-#: FlatCAMApp.py:9127
+#: FlatCAMApp.py:9516
msgid "Opening Excellon file."
msgstr "Ouverture du fichier Excellon."
-#: FlatCAMApp.py:9133
-msgid " Open Excellon cancelled."
-msgstr " Ouvert Excellon annulé."
-
-#: FlatCAMApp.py:9157 FlatCAMApp.py:9161
+#: FlatCAMApp.py:9547 FlatCAMApp.py:9551
msgid "Open G-Code"
msgstr "G-code ouvert"
-#: FlatCAMApp.py:9168
+#: FlatCAMApp.py:9558
msgid "Opening G-Code file."
msgstr "Ouverture du fichier G-Code."
-#: FlatCAMApp.py:9174
-msgid "Open G-Code cancelled."
-msgstr "Ouvert G-code annulé."
-
-#: FlatCAMApp.py:9192 FlatCAMApp.py:9195 flatcamGUI/FlatCAMGUI.py:1614
+#: FlatCAMApp.py:9581 FlatCAMApp.py:9584 flatcamGUI/FlatCAMGUI.py:1715
msgid "Open Project"
msgstr "Projet ouvert"
-#: FlatCAMApp.py:9204
-msgid "Open Project cancelled."
-msgstr "Projet ouvert annulé."
-
-#: FlatCAMApp.py:9228 FlatCAMApp.py:9232
+#: FlatCAMApp.py:9616 FlatCAMApp.py:9620
msgid "Open HPGL2"
msgstr "Ouvrir le HPGL2"
-#: FlatCAMApp.py:9239
+#: FlatCAMApp.py:9627
msgid "Opening HPGL2 file."
msgstr "Ouvrir le fichier HPGL2."
-#: FlatCAMApp.py:9244
-msgid "Open HPGL2 file cancelled."
-msgstr "Ouvrir HPGL2annulé."
-
-#: FlatCAMApp.py:9262 FlatCAMApp.py:9265
+#: FlatCAMApp.py:9650 FlatCAMApp.py:9653
msgid "Open Configuration File"
msgstr "Ouvrir le fichier de configuration"
-#: FlatCAMApp.py:9270
-msgid "Open Config cancelled."
-msgstr "Configuration ouverte annulée."
-
-#: FlatCAMApp.py:9286 FlatCAMApp.py:9654 FlatCAMApp.py:10124
-#: FlatCAMApp.py:10128
-msgid "No object selected."
-msgstr "Aucun objet sélectionné."
-
-#: FlatCAMApp.py:9287 FlatCAMApp.py:9655
+#: FlatCAMApp.py:9673 FlatCAMApp.py:10022
msgid "Please Select a Geometry object to export"
msgstr "Veuillez sélectionner un objet de géométrie à exporter"
-#: FlatCAMApp.py:9301
+#: FlatCAMApp.py:9687
msgid "Only Geometry, Gerber and CNCJob objects can be used."
msgstr "Seuls les objets Geometry, Gerber et CNCJob peuvent être utilisés."
-#: FlatCAMApp.py:9314 FlatCAMApp.py:9318 flatcamTools/ToolQRCode.py:827
-#: flatcamTools/ToolQRCode.py:831
+#: FlatCAMApp.py:9700 FlatCAMApp.py:9704 flatcamTools/ToolQRCode.py:829
+#: flatcamTools/ToolQRCode.py:833
msgid "Export SVG"
msgstr "Exporter en SVG"
-#: FlatCAMApp.py:9324 flatcamTools/ToolQRCode.py:836
-msgid " Export SVG cancelled."
-msgstr " Export SVG annulé."
-
-#: FlatCAMApp.py:9345
+#: FlatCAMApp.py:9730
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"
-#: FlatCAMApp.py:9351 FlatCAMApp.py:9355
+#: FlatCAMApp.py:9736 FlatCAMApp.py:9740
msgid "Export PNG Image"
msgstr "Exporter une image PNG"
-#: FlatCAMApp.py:9360
-msgid "Export PNG cancelled."
-msgstr "Exportation PNG annulée."
-
-#: FlatCAMApp.py:9384
-msgid "No object selected. Please select an Gerber object to export."
-msgstr ""
-"Aucun objet sélectionné. Veuillez sélectionner un objet Gerber à exporter."
-
-#: FlatCAMApp.py:9390 FlatCAMApp.py:9613
+#: FlatCAMApp.py:9774 FlatCAMApp.py:9982
msgid "Failed. Only Gerber objects can be saved as Gerber files..."
msgstr ""
"Échoué. Seuls les objets Gerber peuvent être enregistrés en tant que "
"fichiers Gerber ..."
-#: FlatCAMApp.py:9402
+#: FlatCAMApp.py:9786
msgid "Save Gerber source file"
msgstr "Enregistrer le fichier source Gerber"
-#: FlatCAMApp.py:9408
-msgid "Save Gerber source file cancelled."
-msgstr "Enregistrer le fichier source Gerber annulé."
-
-#: FlatCAMApp.py:9428
-msgid "No object selected. Please select an Script object to export."
-msgstr ""
-"Aucun objet sélectionné. Veuillez sélectionner un objet de script à exporter."
-
-#: FlatCAMApp.py:9434
+#: FlatCAMApp.py:9815
msgid "Failed. Only Script objects can be saved as TCL Script files..."
msgstr ""
"Échoué. Seuls les objets de script peuvent être enregistrés en tant que "
"fichiers de script TCL ..."
-#: FlatCAMApp.py:9446
+#: FlatCAMApp.py:9827
msgid "Save Script source file"
msgstr "Enregistrer le fichier source du script"
-#: FlatCAMApp.py:9452
-msgid "Save Script source file cancelled."
-msgstr "Enregistrer le fichier source du script annulé."
-
-#: FlatCAMApp.py:9472
-msgid "No object selected. Please select an Document object to export."
-msgstr ""
-"Aucun objet sélectionné. Veuillez sélectionner un objet Document à exporter."
-
-#: FlatCAMApp.py:9478
+#: FlatCAMApp.py:9856
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 ..."
-#: FlatCAMApp.py:9490
+#: FlatCAMApp.py:9868
msgid "Save Document source file"
msgstr "Enregistrer le fichier source du document"
-#: FlatCAMApp.py:9496
-msgid "Save Document source file cancelled."
-msgstr "Enregistrer le fichier source du document annulé."
-
-#: FlatCAMApp.py:9516
-msgid "No object selected. Please select an Excellon object to export."
-msgstr ""
-"Aucun objet sélectionné. Veuillez sélectionner un objet Excellon à exporter."
-
-#: FlatCAMApp.py:9522 FlatCAMApp.py:9566 FlatCAMApp.py:10473
+#: FlatCAMApp.py:9897 FlatCAMApp.py:9938 FlatCAMApp.py:10863
msgid "Failed. Only Excellon objects can be saved as Excellon files..."
msgstr ""
"Échoué. Seuls les objets Excellon peuvent être enregistrés en tant que "
"fichiers Excellon ..."
-#: FlatCAMApp.py:9530 FlatCAMApp.py:9534
+#: FlatCAMApp.py:9905 FlatCAMApp.py:9909
msgid "Save Excellon source file"
msgstr "Enregistrer le fichier source Excellon"
-#: FlatCAMApp.py:9540
-msgid "Saving Excellon source file cancelled."
-msgstr "Enregistrement du fichier source Excellon annulé."
-
-#: FlatCAMApp.py:9560
-msgid "No object selected. Please Select an Excellon object to export."
-msgstr ""
-"Aucun objet sélectionné. Veuillez sélectionner un objet Excellon à exporter."
-
-#: FlatCAMApp.py:9574 FlatCAMApp.py:9578
+#: FlatCAMApp.py:9946 FlatCAMApp.py:9950
msgid "Export Excellon"
msgstr "Exporter Excellon"
-#: FlatCAMApp.py:9584
-msgid "Export Excellon cancelled."
-msgstr "Exporter Excellon annulé."
-
-#: FlatCAMApp.py:9607
-msgid "No object selected. Please Select an Gerber object to export."
-msgstr ""
-"Aucun objet sélectionné. Veuillez sélectionner un objet Gerber à exporter."
-
-#: FlatCAMApp.py:9621 FlatCAMApp.py:9625
+#: FlatCAMApp.py:9990 FlatCAMApp.py:9994
msgid "Export Gerber"
msgstr "Export Gerber"
-#: FlatCAMApp.py:9631
-msgid "Export Gerber cancelled."
-msgstr "Export Gerber annulé."
-
-#: FlatCAMApp.py:9666
+#: FlatCAMApp.py:10032
msgid "Only Geometry objects can be used."
msgstr "Seuls les objets de géométrie peuvent être utilisés."
-#: FlatCAMApp.py:9680 FlatCAMApp.py:9684
+#: FlatCAMApp.py:10046 FlatCAMApp.py:10050
msgid "Export DXF"
msgstr "Exportation DXF"
-#: FlatCAMApp.py:9691
-msgid "Export DXF cancelled."
-msgstr "Exportation DXF annulée."
-
-#: FlatCAMApp.py:9711 FlatCAMApp.py:9714
+#: FlatCAMApp.py:10075 FlatCAMApp.py:10078
msgid "Import SVG"
msgstr "Importer SVG"
-#: FlatCAMApp.py:9724
-msgid "Open SVG cancelled."
-msgstr "Ouvrir SVG annulé."
-
-#: FlatCAMApp.py:9743 FlatCAMApp.py:9747
+#: FlatCAMApp.py:10106 FlatCAMApp.py:10110
msgid "Import DXF"
msgstr "Importation DXF"
-#: FlatCAMApp.py:9757
-msgid "Open DXF cancelled."
-msgstr "Ouvrir DXF annulé."
-
-#: FlatCAMApp.py:9799
+#: FlatCAMApp.py:10161
msgid "Viewing the source code of the selected object."
msgstr "Affichage du code source de l'objet sélectionné."
-#: FlatCAMApp.py:9800 FlatCAMObj.py:6495 FlatCAMObj.py:7225
+#: FlatCAMApp.py:10162 FlatCAMObj.py:7075 FlatCAMObj.py:7852
msgid "Loading..."
msgstr "Chargement..."
-#: FlatCAMApp.py:9806 FlatCAMApp.py:9810
+#: FlatCAMApp.py:10168 FlatCAMApp.py:10172
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."
-#: FlatCAMApp.py:9824
+#: FlatCAMApp.py:10186
msgid "Source Editor"
msgstr "Éditeur de source"
-#: FlatCAMApp.py:9864 FlatCAMApp.py:9871
+#: FlatCAMApp.py:10226 FlatCAMApp.py:10233
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é pour lequel voir son code de fichier source."
-#: FlatCAMApp.py:9883
+#: FlatCAMApp.py:10245
msgid "Failed to load the source code for the selected object"
msgstr "Échec du chargement du code source pour l'objet sélectionné"
-#: FlatCAMApp.py:9925
+#: FlatCAMApp.py:10281
+msgid "Go to Line ..."
+msgstr "Aller à la ligne ..."
+
+#: FlatCAMApp.py:10282
+msgid "Line:"
+msgstr "Ligne:"
+
+#: FlatCAMApp.py:10311
msgid "New TCL script file created in Code Editor."
msgstr "Nouveau fichier de script TCL créé dans l'éditeur de code."
-#: FlatCAMApp.py:9963 FlatCAMApp.py:9965
+#: FlatCAMApp.py:10350 FlatCAMApp.py:10352
msgid "Open TCL script"
msgstr "Ouvrir le script TCL"
-#: FlatCAMApp.py:9969
-msgid "Open TCL script cancelled."
-msgstr "Ouvrir le script TCL annulé."
-
-#: FlatCAMApp.py:9993
+#: FlatCAMApp.py:10380
msgid "Executing FlatCAMScript file."
msgstr "Exécution du fichier FlatCAMScript."
-#: FlatCAMApp.py:10000 FlatCAMApp.py:10003
+#: FlatCAMApp.py:10388 FlatCAMApp.py:10391
msgid "Run TCL script"
msgstr "Exécuter le script TCL"
-#: FlatCAMApp.py:10013
-msgid "Run TCL script cancelled."
-msgstr "Exécuter le script TCL annulé."
-
-#: FlatCAMApp.py:10029
+#: FlatCAMApp.py:10415
msgid "TCL script file opened in Code Editor and executed."
msgstr "Fichier de script TCL ouvert dans l'éditeur de code et exécuté."
-#: FlatCAMApp.py:10080 FlatCAMApp.py:10086
+#: FlatCAMApp.py:10466 FlatCAMApp.py:10472
msgid "Save Project As ..."
msgstr "Enregistrer le projet sous ..."
-#: FlatCAMApp.py:10082 flatcamGUI/FlatCAMGUI.py:1051
-#: flatcamGUI/FlatCAMGUI.py:2053
+#: FlatCAMApp.py:10468 flatcamGUI/FlatCAMGUI.py:1119
+#: flatcamGUI/FlatCAMGUI.py:2161
msgid "Project"
msgstr "Projet"
-#: FlatCAMApp.py:10091
-msgid "Save Project cancelled."
-msgstr "Enregistrer le projet annulé."
-
-#: FlatCAMApp.py:10121
+#: FlatCAMApp.py:10507
msgid "FlatCAM objects print"
msgstr "Impression d'objets FlatCAM"
-#: FlatCAMApp.py:10134 FlatCAMApp.py:10141
+#: FlatCAMApp.py:10520 FlatCAMApp.py:10527
msgid "Save Object as PDF ..."
msgstr "Enregistrer l'objet au format PDF ...Enregistrer le projet sous ..."
-#: FlatCAMApp.py:10146
-msgid "Save Object PDF cancelled."
-msgstr "Enregistrer l'objet PDF annulé."
-
-#: FlatCAMApp.py:10150
+#: FlatCAMApp.py:10536
msgid "Printing PDF ... Please wait."
msgstr "Impression du PDF ... Veuillez patienter."
-#: FlatCAMApp.py:10329
+#: FlatCAMApp.py:10715
msgid "PDF file saved to"
msgstr "Fichier PDF enregistré dans"
-#: FlatCAMApp.py:10353
+#: FlatCAMApp.py:10740
msgid "Exporting SVG"
msgstr "Exporter du SVG"
-#: FlatCAMApp.py:10397
+#: FlatCAMApp.py:10783
msgid "SVG file exported to"
msgstr "Fichier SVG exporté vers"
-#: FlatCAMApp.py:10422
+#: FlatCAMApp.py:10809
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."
-#: FlatCAMApp.py:10568
+#: FlatCAMApp.py:10957
msgid "Excellon file exported to"
msgstr "Fichier Excellon exporté vers"
-#: FlatCAMApp.py:10577
+#: FlatCAMApp.py:10966
msgid "Exporting Excellon"
msgstr "Exporter Excellon"
-#: FlatCAMApp.py:10583 FlatCAMApp.py:10591
+#: FlatCAMApp.py:10971 FlatCAMApp.py:10978
msgid "Could not export Excellon file."
msgstr "Impossible d'exporter le fichier Excellon."
-#: FlatCAMApp.py:10707
+#: FlatCAMApp.py:11094
msgid "Gerber file exported to"
msgstr "Fichier Gerber exporté vers"
-#: FlatCAMApp.py:10715
+#: FlatCAMApp.py:11102
msgid "Exporting Gerber"
msgstr "Exporter Gerber"
-#: FlatCAMApp.py:10721 FlatCAMApp.py:10729
+#: FlatCAMApp.py:11107 FlatCAMApp.py:11114
msgid "Could not export Gerber file."
msgstr "Impossible d'exporter le fichier Gerber."
-#: FlatCAMApp.py:10763
+#: FlatCAMApp.py:11149
msgid "DXF file exported to"
msgstr "Fichier DXF exporté vers"
-#: FlatCAMApp.py:10769
+#: FlatCAMApp.py:11155
msgid "Exporting DXF"
msgstr "Exportation DXF"
-#: FlatCAMApp.py:10774 FlatCAMApp.py:10781
+#: FlatCAMApp.py:11160 FlatCAMApp.py:11167
msgid "Could not export DXF file."
msgstr "Impossible d'exporter le fichier DXF."
-#: FlatCAMApp.py:10804 FlatCAMApp.py:10847 flatcamTools/ToolImage.py:278
+#: FlatCAMApp.py:11190 FlatCAMApp.py:11232 flatcamTools/ToolImage.py:277
msgid ""
"Not supported type is picked as parameter. Only Geometry and Gerber are "
"supported"
@@ -1330,81 +1288,81 @@ msgstr ""
"Le type non pris en charge est sélectionné en tant que paramètre. Seuls "
"Geometry et Gerber sont supportés"
-#: FlatCAMApp.py:10814
+#: FlatCAMApp.py:11200
msgid "Importing SVG"
msgstr "Importer du SVG"
-#: FlatCAMApp.py:10825 FlatCAMApp.py:10867 FlatCAMApp.py:10926
-#: FlatCAMApp.py:10993 FlatCAMApp.py:11056 FlatCAMApp.py:11123
-#: FlatCAMApp.py:11161 flatcamTools/ToolImage.py:298
+#: FlatCAMApp.py:11211 FlatCAMApp.py:11251 FlatCAMApp.py:11309
+#: FlatCAMApp.py:11374 FlatCAMApp.py:11438 FlatCAMApp.py:11503
+#: FlatCAMApp.py:11540 flatcamTools/ToolImage.py:297
#: flatcamTools/ToolPDF.py:225
msgid "Opened"
msgstr "Ouvert"
-#: FlatCAMApp.py:10856
+#: FlatCAMApp.py:11241
msgid "Importing DXF"
msgstr "Importation de DXF"
-#: FlatCAMApp.py:10892 FlatCAMApp.py:11082
+#: FlatCAMApp.py:11275 FlatCAMApp.py:11462
msgid "Failed to open file"
msgstr "Échec de l'ouverture du fichier"
-#: FlatCAMApp.py:10895 FlatCAMApp.py:11085
+#: FlatCAMApp.py:11278 FlatCAMApp.py:11465
msgid "Failed to parse file"
msgstr "Échec de l'analyse du fichier"
-#: FlatCAMApp.py:10907
+#: FlatCAMApp.py:11290
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."
-#: FlatCAMApp.py:10912
+#: FlatCAMApp.py:11295
msgid "Opening Gerber"
msgstr "Ouverture Gerber"
-#: FlatCAMApp.py:10919
+#: FlatCAMApp.py:11302
msgid " Open Gerber failed. Probable not a Gerber file."
msgstr " Open Gerber a échoué. Probablement pas un fichier Gerber."
-#: FlatCAMApp.py:10951 flatcamTools/ToolPcbWizard.py:427
+#: FlatCAMApp.py:11333 flatcamTools/ToolPcbWizard.py:425
msgid "This is not Excellon file."
msgstr "Ce n'est pas un fichier Excellon."
-#: FlatCAMApp.py:10955
+#: FlatCAMApp.py:11337
msgid "Cannot open file"
msgstr "Ne peut pas ouvrir le fichier"
-#: FlatCAMApp.py:10975 flatcamTools/ToolPDF.py:275
-#: flatcamTools/ToolPcbWizard.py:451
+#: FlatCAMApp.py:11356 flatcamTools/ToolPDF.py:275
+#: flatcamTools/ToolPcbWizard.py:447
msgid "No geometry found in file"
msgstr "Aucune géométrie trouvée dans le fichier"
-#: FlatCAMApp.py:10978
+#: FlatCAMApp.py:11359
msgid "Opening Excellon."
msgstr "Ouverture Excellon."
-#: FlatCAMApp.py:10985
+#: FlatCAMApp.py:11366
msgid "Open Excellon file failed. Probable not an Excellon file."
msgstr ""
"Le fichier Open Excellon a échoué. Probablement pas un fichier Excellon."
-#: FlatCAMApp.py:11016
+#: FlatCAMApp.py:11398
msgid "Reading GCode file"
msgstr "Lecture du fichier GCode"
-#: FlatCAMApp.py:11023
+#: FlatCAMApp.py:11405
msgid "Failed to open"
msgstr "Impossible d'ouvrir"
-#: FlatCAMApp.py:11031
+#: FlatCAMApp.py:11413
msgid "This is not GCODE"
msgstr "Ce n'est pas GCODE"
-#: FlatCAMApp.py:11036
+#: FlatCAMApp.py:11418
msgid "Opening G-Code."
msgstr "Ouverture G-Code."
-#: FlatCAMApp.py:11045
+#: FlatCAMApp.py:11427
msgid ""
"Failed to create CNCJob Object. Probable not a GCode file. Try to load it "
"from File menu.\n"
@@ -1416,124 +1374,104 @@ msgstr ""
"La tentative de création d'un objet FlatCAM CNCJob à partir d'un fichier G-"
"Code a échoué pendant le traitement"
-#: FlatCAMApp.py:11104
+#: FlatCAMApp.py:11484
msgid "Object is not HPGL2 file or empty. Aborting object creation."
msgstr ""
"L'objet n'est pas un fichier HPGL2 ou vide. Abandon de la création d'objet."
-#: FlatCAMApp.py:11109
+#: FlatCAMApp.py:11489
msgid "Opening HPGL2"
msgstr "Ouverture HPGL2"
-#: FlatCAMApp.py:11116
+#: FlatCAMApp.py:11496
msgid " Open HPGL2 failed. Probable not a HPGL2 file."
msgstr " Open HPGL2 a échoué. Probablement pas un fichier HPGL2 ."
-#: FlatCAMApp.py:11137
+#: FlatCAMApp.py:11516
msgid "Opening TCL Script..."
msgstr "Ouverture du script TCL ..."
-#: FlatCAMApp.py:11145
+#: FlatCAMApp.py:11524
msgid "TCL script file opened in Code Editor."
msgstr "Fichier de script TCL ouvert dans l'éditeur de code."
-#: FlatCAMApp.py:11148
+#: FlatCAMApp.py:11527
msgid "Failed to open TCL Script."
msgstr "Impossible d'ouvrir le script TCL."
-#: FlatCAMApp.py:11176
+#: FlatCAMApp.py:11555
msgid "Opening FlatCAM Config file."
msgstr "Ouverture du fichier FlatCAM Config."
-#: FlatCAMApp.py:11204
+#: FlatCAMApp.py:11583
msgid "Failed to open config file"
msgstr "Impossible d'ouvrir le fichier de configuration"
-#: FlatCAMApp.py:11230
+#: FlatCAMApp.py:11611
msgid "Loading Project ... Please Wait ..."
msgstr "Chargement du projet ... Veuillez patienter ..."
-#: FlatCAMApp.py:11235
+#: FlatCAMApp.py:11616
msgid "Opening FlatCAM Project file."
msgstr "Ouverture du fichier de projet FlatCAM."
-#: FlatCAMApp.py:11245 FlatCAMApp.py:11263
+#: FlatCAMApp.py:11626 FlatCAMApp.py:11644
msgid "Failed to open project file"
msgstr "Impossible d'ouvrir le fichier de projet"
-#: FlatCAMApp.py:11300
+#: FlatCAMApp.py:11681
msgid "Loading Project ... restoring"
msgstr "Chargement du projet ... en cours de restauration"
-#: FlatCAMApp.py:11310
+#: FlatCAMApp.py:11691
msgid "Project loaded from"
msgstr "Projet chargé à partir de"
-#: FlatCAMApp.py:11373
+#: FlatCAMApp.py:11760
msgid "Redrawing all objects"
msgstr "Redessiner tous les objets"
-#: FlatCAMApp.py:11405
-msgid "Available commands:\n"
-msgstr "Commandes disponibles:\n"
-
-#: FlatCAMApp.py:11407
-msgid ""
-"\n"
-"\n"
-"Type help for usage.\n"
-" Example: help open_gerber"
-msgstr ""
-"\n"
-"\n"
-"Tapez help pour l'utiliser.\n"
-" Exemple: help open_gerber"
-
-#: FlatCAMApp.py:11557
-msgid "Shows list of commands."
-msgstr "Affiche la liste des commandes."
-
-#: FlatCAMApp.py:11619
+#: FlatCAMApp.py:11849
msgid "Failed to load recent item list."
msgstr "Échec du chargement de la liste des éléments récents."
-#: FlatCAMApp.py:11627
+#: FlatCAMApp.py:11856
msgid "Failed to parse recent item list."
msgstr "Échec de l'analyse de la liste des éléments récents."
-#: FlatCAMApp.py:11638
+#: FlatCAMApp.py:11866
msgid "Failed to load recent projects item list."
msgstr "Échec du chargement de la liste d'éléments des projets récents."
-#: FlatCAMApp.py:11646
+#: FlatCAMApp.py:11873
msgid "Failed to parse recent project item list."
msgstr "Échec de l'analyse de la liste des éléments de projet récents."
-#: FlatCAMApp.py:11706
+#: FlatCAMApp.py:11934
msgid "Clear Recent projects"
msgstr "Effacer les projets récents"
-#: FlatCAMApp.py:11730
+#: FlatCAMApp.py:11958
msgid "Clear Recent files"
msgstr "Effacer les fichiers récents"
-#: FlatCAMApp.py:11747 flatcamGUI/FlatCAMGUI.py:1276
+#: FlatCAMApp.py:11980 flatcamGUI/FlatCAMGUI.py:1348
msgid "Shortcut Key List"
msgstr "Liste des touches de raccourci"
-#: FlatCAMApp.py:11821
+#: FlatCAMApp.py:12054
msgid "Selected Tab - Choose an Item from Project Tab"
msgstr "Onglet sélectionné - Choisissez un élément dans l'onglet Projet"
-#: FlatCAMApp.py:11822
+#: FlatCAMApp.py:12055
msgid "Details"
msgstr "Détails"
-#: FlatCAMApp.py:11824
+#: FlatCAMApp.py:12057
msgid "The normal flow when working in FlatCAM is the following:"
msgstr "Le flux normal lorsque vous travaillez dans FlatCAM est le suivant:"
-#: FlatCAMApp.py:11825
+#: FlatCAMApp.py:12058
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 "
@@ -1543,7 +1481,7 @@ msgstr ""
"SVG dans FlatCAM à l'aide des barres d'outils, des raccourcis clavier ou "
"même en glissant-déposant les fichiers sur l'interface graphique."
-#: FlatCAMApp.py:11828
+#: FlatCAMApp.py:12061
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 "
@@ -1554,7 +1492,7 @@ msgstr ""
"FLATCAM ou par le biais du menu (ou de la barre d’outils) proposé dans "
"l’application."
-#: FlatCAMApp.py:11831
+#: FlatCAMApp.py:12064
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 "
@@ -1567,7 +1505,7 @@ msgstr ""
"TAB sera mis à jour avec les propriétés de l'objet en fonction de son type: "
"Gerber, Excellon, géométrie ou objet CNCJob."
-#: FlatCAMApp.py:11835
+#: FlatCAMApp.py:12068
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 "
@@ -1581,7 +1519,7 @@ msgstr ""
"l'objet sur la toile pour amener l'onglet sélectionné et le renseigner même "
"s'il n'était pas net."
-#: FlatCAMApp.py:11839
+#: FlatCAMApp.py:12072
msgid ""
"You can change the parameters in this screen and the flow direction is like "
"this:"
@@ -1589,7 +1527,7 @@ msgstr ""
"Vous pouvez modifier les paramètres dans cet écran et le sens du flux est le "
"suivant:"
-#: FlatCAMApp.py:11840
+#: FlatCAMApp.py:12073
msgid ""
"Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> "
"Geometry Object --> Add tools (change param in Selected Tab) --> Generate "
@@ -1602,7 +1540,7 @@ msgstr ""
"Vérifier le GCode (via Edition CNC Code) et / ou ajouter / ajouter au code "
"GCode (à nouveau dans l’onglet SÉLECTIONNÉ) -> Enregistrer le code GC."
-#: FlatCAMApp.py:11844
+#: FlatCAMApp.py:12077
msgid ""
"A list of key shortcuts is available through an menu entry in Help --> "
"Shortcuts List or through its own key shortcut: F3."
@@ -1610,104 +1548,168 @@ msgstr ""
"Une liste des raccourcis clavier est disponible via une entrée de menu dans "
"Aide -> Liste des raccourcis ou via son propre raccourci clavier: F3."
-#: FlatCAMApp.py:11906
+#: FlatCAMApp.py:12141
msgid "Failed checking for latest version. Could not connect."
msgstr ""
"Échec de la vérification de la dernière version. N'a pas pu se connecter."
-#: FlatCAMApp.py:11914
+#: FlatCAMApp.py:12148
msgid "Could not parse information about latest version."
msgstr "Impossible d'analyser les informations sur la dernière version."
-#: FlatCAMApp.py:11925
+#: FlatCAMApp.py:12158
msgid "FlatCAM is up to date!"
msgstr "FlatCAM est à jour!"
-#: FlatCAMApp.py:11930
+#: FlatCAMApp.py:12163
msgid "Newer Version Available"
msgstr "Nouvelle version disponible"
-#: FlatCAMApp.py:11931
-msgid ""
-"There is a newer version of FlatCAM available for download:\n"
-"\n"
-msgstr ""
-"Une version plus récente de FlatCAM est disponible au téléchargement:\n"
-"\n"
+#: FlatCAMApp.py:12165
+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:"
-#: FlatCAMApp.py:11933
+#: FlatCAMApp.py:12169
msgid "info"
msgstr "info"
-#: FlatCAMApp.py:12012
+#: FlatCAMApp.py:12197
+msgid ""
+"OpenGL canvas initialization failed. HW or HW configuration not supported."
+"Change the graphic engine to Legacy(2D) in Edit -> Preferences -> General "
+"tab.\n"
+"\n"
+msgstr ""
+"L'initialisation du canevas OpenGL a échoué. La configuration matérielle ou "
+"matérielle n'est pas prise en charge. Modifiez le moteur graphique en Hérité "
+"(2D) dans Edition -> Préférences -> onglet Général.\n"
+"\n"
+
+#: FlatCAMApp.py:12276
msgid "All plots disabled."
msgstr "Toutes les parcelles désactivées."
-#: FlatCAMApp.py:12019
+#: FlatCAMApp.py:12283
msgid "All non selected plots disabled."
msgstr "Toutes les parcelles non sélectionnées sont désactivées."
-#: FlatCAMApp.py:12026
+#: FlatCAMApp.py:12290
msgid "All plots enabled."
msgstr "Toutes les parcelles activées."
-#: FlatCAMApp.py:12033
+#: FlatCAMApp.py:12296
msgid "Selected plots enabled..."
msgstr "Parcelles sélectionnées activées ..."
-#: FlatCAMApp.py:12042
+#: FlatCAMApp.py:12304
msgid "Selected plots disabled..."
msgstr "Parcelles sélectionnées désactivées ..."
-#: FlatCAMApp.py:12061
+#: FlatCAMApp.py:12337
msgid "Enabling plots ..."
msgstr "Activation des parcelles ..."
-#: FlatCAMApp.py:12101
+#: FlatCAMApp.py:12389
msgid "Disabling plots ..."
msgstr "Désactiver les parcelles ..."
-#: FlatCAMApp.py:12123
+#: FlatCAMApp.py:12412
msgid "Working ..."
msgstr "Travail ..."
-#: FlatCAMApp.py:12224
+#: FlatCAMApp.py:12467 flatcamGUI/FlatCAMGUI.py:688
+msgid "Red"
+msgstr "Rouge"
+
+#: FlatCAMApp.py:12469 flatcamGUI/FlatCAMGUI.py:691
+msgid "Blue"
+msgstr "Bleu"
+
+#: FlatCAMApp.py:12472 flatcamGUI/FlatCAMGUI.py:694
+msgid "Yellow"
+msgstr "Jaune"
+
+#: FlatCAMApp.py:12474 flatcamGUI/FlatCAMGUI.py:697
+msgid "Green"
+msgstr "Vert"
+
+#: FlatCAMApp.py:12476 flatcamGUI/FlatCAMGUI.py:700
+msgid "Purple"
+msgstr "Violet"
+
+#: FlatCAMApp.py:12478 flatcamGUI/FlatCAMGUI.py:703
+msgid "Brown"
+msgstr "Marron"
+
+#: FlatCAMApp.py:12480 FlatCAMApp.py:12536 flatcamGUI/FlatCAMGUI.py:706
+msgid "White"
+msgstr "Blanche"
+
+#: FlatCAMApp.py:12482 flatcamGUI/FlatCAMGUI.py:709
+msgid "Black"
+msgstr "Noire"
+
+#: FlatCAMApp.py:12485 flatcamGUI/FlatCAMGUI.py:714
+msgid "Custom"
+msgstr "Personnalisé"
+
+#: FlatCAMApp.py:12495 flatcamGUI/FlatCAMGUI.py:722
+msgid "Default"
+msgstr "Défaut"
+
+#: FlatCAMApp.py:12519 flatcamGUI/FlatCAMGUI.py:719
+msgid "Opacity"
+msgstr "Opacité"
+
+#: FlatCAMApp.py:12521
+msgid "Set alpha level ..."
+msgstr "Définir le niveau alpha ..."
+
+#: FlatCAMApp.py:12521 flatcamGUI/PreferencesUI.py:6900
+#: flatcamGUI/PreferencesUI.py:8230 flatcamGUI/PreferencesUI.py:8444
+#: flatcamTools/ToolExtractDrills.py:164 flatcamTools/ToolExtractDrills.py:285
+#: flatcamTools/ToolPunchGerber.py:192 flatcamTools/ToolPunchGerber.py:308
+#: flatcamTools/ToolTransform.py:358
+msgid "Value"
+msgstr "Valeur"
+
+#: FlatCAMApp.py:12597
msgid "Saving FlatCAM Project"
msgstr "Enregistrement du projet FlatCAM"
-#: FlatCAMApp.py:12243 FlatCAMApp.py:12280
+#: FlatCAMApp.py:12618 FlatCAMApp.py:12654
msgid "Project saved to"
msgstr "Projet enregistré dans"
-#: FlatCAMApp.py:12250
+#: FlatCAMApp.py:12625
msgid "The object is used by another application."
msgstr "L'objet est utilisé par une autre application."
-#: FlatCAMApp.py:12264
+#: FlatCAMApp.py:12639
msgid "Failed to verify project file"
msgstr "Échec de la vérification du fichier de projet"
-#: FlatCAMApp.py:12264 FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12639 FlatCAMApp.py:12647 FlatCAMApp.py:12657
msgid "Retry to save it."
msgstr "Réessayez de le sauvegarder."
-#: FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12647 FlatCAMApp.py:12657
msgid "Failed to parse saved project file"
msgstr "Échec de l'analyse du fichier de projet enregistré"
-#: FlatCAMApp.py:12398
+#: FlatCAMApp.py:13139
msgid "The user requested a graceful exit of the current task."
msgstr "L'utilisateur a demandé une sortie en douceur de la tâche en cours."
-#: FlatCAMCommon.py:136 FlatCAMCommon.py:163
+#: FlatCAMCommon.py:137 FlatCAMCommon.py:164
msgid "Title"
msgstr "Titre"
-#: FlatCAMCommon.py:137 FlatCAMCommon.py:167
+#: FlatCAMCommon.py:138 FlatCAMCommon.py:168
msgid "Web Link"
msgstr "Lien Web"
-#: FlatCAMCommon.py:141
+#: FlatCAMCommon.py:142
msgid ""
"Index.\n"
"The rows in gray color will populate the Bookmarks menu.\n"
@@ -1717,7 +1719,7 @@ msgstr ""
"Les lignes de couleur grise rempliront le menu Favoris.\n"
"Le nombre de lignes de couleur grises est défini dans Préférences."
-#: FlatCAMCommon.py:145
+#: FlatCAMCommon.py:146
msgid ""
"Description of the link that is set as an menu action.\n"
"Try to keep it short because it is installed as a menu item."
@@ -1725,95 +1727,87 @@ msgstr ""
"Description du lien défini en tant qu'action de menu.\n"
"Essayez de rester bref car il est installé en tant qu'élément de menu."
-#: FlatCAMCommon.py:148
+#: FlatCAMCommon.py:149
msgid "Web Link. E.g: https://your_website.org "
msgstr "Lien Web. Par exemple: https://your_website.org "
-#: FlatCAMCommon.py:157
+#: FlatCAMCommon.py:158
msgid "New Bookmark"
msgstr "Nouveau Favori"
-#: FlatCAMCommon.py:176
+#: FlatCAMCommon.py:177
msgid "Add Entry"
msgstr "Ajouter une entrée"
-#: FlatCAMCommon.py:177
+#: FlatCAMCommon.py:178
msgid "Remove Entry"
msgstr "Supprimer l'entrée"
-#: FlatCAMCommon.py:178
+#: FlatCAMCommon.py:179
msgid "Export List"
msgstr "Exporter la liste"
-#: FlatCAMCommon.py:179
+#: FlatCAMCommon.py:180
msgid "Import List"
msgstr "Importer la liste"
-#: FlatCAMCommon.py:260
+#: FlatCAMCommon.py:261
msgid "Title entry is empty."
msgstr "L'entrée de titre est vide."
-#: FlatCAMCommon.py:269
+#: FlatCAMCommon.py:270
msgid "Web link entry is empty."
msgstr "L'entrée du lien Web est vide."
-#: FlatCAMCommon.py:277
+#: FlatCAMCommon.py:278
msgid "Either the Title or the Weblink already in the table."
msgstr "Soit le titre ou le lien Web déjà dans le tableau."
-#: FlatCAMCommon.py:297
+#: FlatCAMCommon.py:298
msgid "Bookmark added."
msgstr "Signet ajouté."
-#: FlatCAMCommon.py:314
+#: FlatCAMCommon.py:315
msgid "This bookmark can not be removed"
msgstr "Ce marque-page ne peut être supprimé"
-#: FlatCAMCommon.py:345
+#: FlatCAMCommon.py:346
msgid "Bookmark removed."
msgstr "Signet supprimé."
-#: FlatCAMCommon.py:360
+#: FlatCAMCommon.py:361
msgid "Export FlatCAM Bookmarks"
msgstr "Exporter les signets FlatCAM"
-#: FlatCAMCommon.py:363 flatcamGUI/FlatCAMGUI.py:470
+#: FlatCAMCommon.py:364 flatcamGUI/FlatCAMGUI.py:509
msgid "Bookmarks"
msgstr "Favoris"
-#: FlatCAMCommon.py:370
-msgid "FlatCAM bookmarks export cancelled."
-msgstr "Exportation des favoris FlatCAM annulée."
-
-#: FlatCAMCommon.py:389 FlatCAMCommon.py:419
+#: FlatCAMCommon.py:390 FlatCAMCommon.py:420
msgid "Could not load bookmarks file."
msgstr "Impossible de charger le fichier de favoris."
-#: FlatCAMCommon.py:399
+#: FlatCAMCommon.py:400
msgid "Failed to write bookmarks to file."
msgstr "Échec de l'écriture des favoris dans le fichier."
-#: FlatCAMCommon.py:401
+#: FlatCAMCommon.py:402
msgid "Exported bookmarks to"
msgstr "Favoris exportés vers"
-#: FlatCAMCommon.py:407
+#: FlatCAMCommon.py:408
msgid "Import FlatCAM Bookmarks"
msgstr "Importer des favoris FlatCAM"
-#: FlatCAMCommon.py:412
-msgid "FlatCAM bookmarks import cancelled."
-msgstr "Importation de favoris FlatCAM annulée."
-
-#: FlatCAMCommon.py:426
+#: FlatCAMCommon.py:427
msgid "Imported Bookmarks from"
msgstr "Favoris importés de"
-#: FlatCAMCommon.py:529
+#: FlatCAMCommon.py:530
msgid "Add Geometry Tool in DB"
msgstr "Ajouter un outil de géométrie dans la BD"
-#: FlatCAMCommon.py:531
+#: FlatCAMCommon.py:532 FlatCAMCommon.py:2087
msgid ""
"Add a new tool in the Tools Database.\n"
"It will be used in the Geometry UI.\n"
@@ -1823,38 +1817,38 @@ msgstr ""
"Il sera utilisé dans l'interface utilisateur de géométrie.\n"
"Vous pouvez le modifier après l'avoir ajouté."
-#: FlatCAMCommon.py:545
+#: FlatCAMCommon.py:546 FlatCAMCommon.py:2101
msgid "Delete Tool from DB"
msgstr "Supprimer l'outil de la BD"
-#: FlatCAMCommon.py:547
+#: FlatCAMCommon.py:548 FlatCAMCommon.py:2103
msgid "Remove a selection of tools in the Tools Database."
msgstr "Supprimez une sélection d'outils dans la base de données d'outils."
-#: FlatCAMCommon.py:551
+#: FlatCAMCommon.py:552 FlatCAMCommon.py:2107
msgid "Export DB"
msgstr "Exporter la BD"
-#: FlatCAMCommon.py:553
+#: FlatCAMCommon.py:554 FlatCAMCommon.py:2109
msgid "Save the Tools Database to a custom text file."
msgstr ""
"Enregistrez la base de données d'outils dans un fichier texte personnalisé."
-#: FlatCAMCommon.py:557
+#: FlatCAMCommon.py:558 FlatCAMCommon.py:2113
msgid "Import DB"
msgstr "Importer une BD"
-#: FlatCAMCommon.py:559
+#: FlatCAMCommon.py:560 FlatCAMCommon.py:2115
msgid "Load the Tools Database information's from a custom text file."
msgstr ""
"Chargez les informations de la base de données d'outils à partir d'un "
"fichier texte personnalisé."
-#: FlatCAMCommon.py:563
+#: FlatCAMCommon.py:564 FlatCAMCommon.py:2119
msgid "Add Tool from Tools DB"
msgstr "Ajouter un outil à partir de la base de données d'outils"
-#: FlatCAMCommon.py:565
+#: FlatCAMCommon.py:566 FlatCAMCommon.py:2121
msgid ""
"Add a new tool in the Tools Table of the\n"
"active Geometry object after selecting a tool\n"
@@ -1864,135 +1858,144 @@ msgstr ""
"objet Geometry actif après avoir sélectionné un outil\n"
"dans la base de données des outils."
-#: FlatCAMCommon.py:601 FlatCAMCommon.py:1276
+#: FlatCAMCommon.py:602 FlatCAMCommon.py:1277 FlatCAMCommon.py:1531
msgid "Tool Name"
msgstr "Nom de l'outil"
-#: FlatCAMCommon.py:602 FlatCAMCommon.py:1278
-#: flatcamEditors/FlatCAMExcEditor.py:1602 flatcamGUI/ObjectUI.py:1295
-#: flatcamTools/ToolNonCopperClear.py:271 flatcamTools/ToolPaint.py:176
+#: FlatCAMCommon.py:603 FlatCAMCommon.py:1279 FlatCAMCommon.py:1544
+#: flatcamEditors/FlatCAMExcEditor.py:1605 flatcamGUI/ObjectUI.py:1343
+#: flatcamGUI/ObjectUI.py:1581 flatcamGUI/PreferencesUI.py:5971
+#: flatcamTools/ToolNCC.py:278 flatcamTools/ToolNCC.py:287
+#: flatcamTools/ToolPaint.py:261
msgid "Tool Dia"
msgstr "Dia. de l'outil"
-#: FlatCAMCommon.py:603 FlatCAMCommon.py:1280 flatcamGUI/ObjectUI.py:1278
+#: FlatCAMCommon.py:604 FlatCAMCommon.py:1281 FlatCAMCommon.py:1725
+#: flatcamGUI/ObjectUI.py:1556
msgid "Tool Offset"
msgstr "Décalage d'outil"
-#: FlatCAMCommon.py:604 FlatCAMCommon.py:1282
+#: FlatCAMCommon.py:605 FlatCAMCommon.py:1283 FlatCAMCommon.py:1742
msgid "Custom Offset"
msgstr "Décalage personnalisé"
-#: FlatCAMCommon.py:605 FlatCAMCommon.py:1284 flatcamGUI/ObjectUI.py:304
-#: flatcamGUI/PreferencesUI.py:2217 flatcamGUI/PreferencesUI.py:5036
-#: flatcamTools/ToolNonCopperClear.py:213
+#: FlatCAMCommon.py:606 FlatCAMCommon.py:1285 FlatCAMCommon.py:1709
+#: flatcamGUI/ObjectUI.py:308 flatcamGUI/PreferencesUI.py:2397
+#: flatcamGUI/PreferencesUI.py:5332 flatcamGUI/PreferencesUI.py:5901
+#: flatcamGUI/PreferencesUI.py:5911 flatcamTools/ToolNCC.py:213
+#: flatcamTools/ToolNCC.py:227 flatcamTools/ToolPaint.py:196
msgid "Tool Type"
msgstr "Type d'outil"
-#: FlatCAMCommon.py:606 FlatCAMCommon.py:1286
+#: FlatCAMCommon.py:607 FlatCAMCommon.py:1287 FlatCAMCommon.py:1557
msgid "Tool Shape"
msgstr "Forme d'outil"
-#: FlatCAMCommon.py:607 FlatCAMCommon.py:1289 flatcamGUI/ObjectUI.py:345
-#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1405
-#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:2257
-#: flatcamGUI/PreferencesUI.py:3082 flatcamGUI/PreferencesUI.py:3961
-#: flatcamGUI/PreferencesUI.py:5081 flatcamGUI/PreferencesUI.py:5327
-#: flatcamGUI/PreferencesUI.py:6145 flatcamTools/ToolCalculators.py:114
-#: flatcamTools/ToolCutOut.py:132 flatcamTools/ToolNonCopperClear.py:254
+#: FlatCAMCommon.py:608 FlatCAMCommon.py:1290 FlatCAMCommon.py:1573
+#: flatcamGUI/ObjectUI.py:349 flatcamGUI/ObjectUI.py:899
+#: flatcamGUI/ObjectUI.py:1701 flatcamGUI/ObjectUI.py:2254
+#: flatcamGUI/PreferencesUI.py:2437 flatcamGUI/PreferencesUI.py:3311
+#: flatcamGUI/PreferencesUI.py:4241 flatcamGUI/PreferencesUI.py:5377
+#: flatcamGUI/PreferencesUI.py:5666 flatcamGUI/PreferencesUI.py:5944
+#: flatcamGUI/PreferencesUI.py:5952 flatcamGUI/PreferencesUI.py:6635
+#: flatcamTools/ToolCalculators.py:114 flatcamTools/ToolCutOut.py:139
+#: flatcamTools/ToolNCC.py:260 flatcamTools/ToolNCC.py:268
+#: flatcamTools/ToolPaint.py:243
msgid "Cut Z"
msgstr "Couper Z"
-#: FlatCAMCommon.py:608 FlatCAMCommon.py:1291
+#: FlatCAMCommon.py:609 FlatCAMCommon.py:1292 FlatCAMCommon.py:1587
msgid "MultiDepth"
msgstr "Multi-profondeur"
-#: FlatCAMCommon.py:609 FlatCAMCommon.py:1293
+#: FlatCAMCommon.py:610 FlatCAMCommon.py:1294 FlatCAMCommon.py:1600
msgid "DPP"
msgstr "DPP"
-#: FlatCAMCommon.py:610 FlatCAMCommon.py:1295
+#: FlatCAMCommon.py:611 FlatCAMCommon.py:1296 FlatCAMCommon.py:1756
msgid "V-Dia"
msgstr "Dia. en V"
-#: FlatCAMCommon.py:611 FlatCAMCommon.py:1297
+#: FlatCAMCommon.py:612 FlatCAMCommon.py:1298 FlatCAMCommon.py:1770
msgid "V-Angle"
msgstr "Angle en V"
-#: FlatCAMCommon.py:612 FlatCAMCommon.py:1299 flatcamGUI/ObjectUI.py:839
-#: flatcamGUI/ObjectUI.py:1452 flatcamGUI/PreferencesUI.py:3100
-#: flatcamGUI/PreferencesUI.py:4014 flatcamGUI/PreferencesUI.py:7535
+#: FlatCAMCommon.py:613 FlatCAMCommon.py:1300 FlatCAMCommon.py:1614
+#: FlatCAMObj.py:3661 FlatCAMObj.py:5486 flatcamGUI/ObjectUI.py:945
+#: flatcamGUI/ObjectUI.py:1748 flatcamGUI/PreferencesUI.py:3352
+#: flatcamGUI/PreferencesUI.py:4294 flatcamGUI/PreferencesUI.py:8041
#: flatcamTools/ToolCalibration.py:74
msgid "Travel Z"
msgstr "Voyage Z"
-#: FlatCAMCommon.py:613 FlatCAMCommon.py:1301
+#: FlatCAMCommon.py:614 FlatCAMCommon.py:1302
msgid "FR"
msgstr "Avance"
-#: FlatCAMCommon.py:614 FlatCAMCommon.py:1303
+#: FlatCAMCommon.py:615 FlatCAMCommon.py:1304
msgid "FR Z"
msgstr "Avance Z"
-#: FlatCAMCommon.py:615 FlatCAMCommon.py:1305
+#: FlatCAMCommon.py:616 FlatCAMCommon.py:1306 FlatCAMCommon.py:1784
msgid "FR Rapids"
msgstr "Avance Rapides"
-#: FlatCAMCommon.py:616 FlatCAMCommon.py:1307 flatcamGUI/PreferencesUI.py:3173
+#: FlatCAMCommon.py:617 FlatCAMCommon.py:1308 FlatCAMCommon.py:1657
+#: flatcamGUI/PreferencesUI.py:3440
msgid "Spindle Speed"
msgstr "Vitesse de broche"
-#: FlatCAMCommon.py:617 FlatCAMCommon.py:1309 flatcamGUI/ObjectUI.py:963
-#: flatcamGUI/ObjectUI.py:1619
+#: FlatCAMCommon.py:618 FlatCAMCommon.py:1310 FlatCAMCommon.py:1672
+#: flatcamGUI/ObjectUI.py:1063 flatcamGUI/ObjectUI.py:1855
msgid "Dwell"
msgstr "Habiter"
-#: FlatCAMCommon.py:618 FlatCAMCommon.py:1311
+#: FlatCAMCommon.py:619 FlatCAMCommon.py:1312 FlatCAMCommon.py:1685
msgid "Dwelltime"
msgstr "Temps d'attente"
-#: FlatCAMCommon.py:619 FlatCAMCommon.py:1313 flatcamGUI/ObjectUI.py:982
-#: flatcamGUI/ObjectUI.py:1640 flatcamGUI/PreferencesUI.py:3204
-#: flatcamGUI/PreferencesUI.py:4155 flatcamGUI/PreferencesUI.py:6642
-#: flatcamTools/ToolSolderPaste.py:334
+#: FlatCAMCommon.py:620 FlatCAMCommon.py:1314 flatcamGUI/ObjectUI.py:2012
+#: flatcamGUI/PreferencesUI.py:3475 flatcamGUI/PreferencesUI.py:4447
+#: flatcamGUI/PreferencesUI.py:7148 flatcamTools/ToolSolderPaste.py:336
msgid "Preprocessor"
msgstr "Post-processeur"
-#: FlatCAMCommon.py:620 FlatCAMCommon.py:1315
+#: FlatCAMCommon.py:621 FlatCAMCommon.py:1316 FlatCAMCommon.py:1800
msgid "ExtraCut"
msgstr "Coupe supp."
-#: FlatCAMCommon.py:621 FlatCAMCommon.py:1317
+#: FlatCAMCommon.py:622 FlatCAMCommon.py:1318 FlatCAMCommon.py:1815
msgid "E-Cut Length"
-msgstr "Longueur Coupe supp."
+msgstr "L-Coupe supp."
-#: FlatCAMCommon.py:622 FlatCAMCommon.py:1319
+#: FlatCAMCommon.py:623 FlatCAMCommon.py:1320
msgid "Toolchange"
msgstr "Changement d'outil"
-#: FlatCAMCommon.py:623 FlatCAMCommon.py:1321
+#: FlatCAMCommon.py:624 FlatCAMCommon.py:1322
msgid "Toolchange XY"
msgstr "Changement d'outils X, Y"
-#: FlatCAMCommon.py:624 FlatCAMCommon.py:1323 flatcamGUI/PreferencesUI.py:3124
-#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:7572
+#: FlatCAMCommon.py:625 FlatCAMCommon.py:1324 flatcamGUI/PreferencesUI.py:3378
+#: flatcamGUI/PreferencesUI.py:4324 flatcamGUI/PreferencesUI.py:8078
#: flatcamTools/ToolCalibration.py:111
msgid "Toolchange Z"
msgstr "Changement d'outil Z"
-#: FlatCAMCommon.py:625 FlatCAMCommon.py:1325 flatcamGUI/ObjectUI.py:886
-#: flatcamGUI/PreferencesUI.py:3309 flatcamGUI/PreferencesUI.py:4200
+#: FlatCAMCommon.py:626 FlatCAMCommon.py:1326 flatcamGUI/ObjectUI.py:1192
+#: flatcamGUI/PreferencesUI.py:3586 flatcamGUI/PreferencesUI.py:4493
msgid "Start Z"
msgstr "Démarrer Z"
-#: FlatCAMCommon.py:626 FlatCAMCommon.py:1328
+#: FlatCAMCommon.py:627 FlatCAMCommon.py:1329
msgid "End Z"
msgstr "Fin Z"
-#: FlatCAMCommon.py:630
+#: FlatCAMCommon.py:631
msgid "Tool Index."
msgstr "Index d'outils."
-#: FlatCAMCommon.py:632
+#: FlatCAMCommon.py:633 FlatCAMCommon.py:1533
msgid ""
"Tool name.\n"
"This is not used in the app, it's function\n"
@@ -2002,11 +2005,11 @@ msgstr ""
"Ce n'est pas utilisé dans l'application, c'est la fonction\n"
"est de servir de note pour le u."
-#: FlatCAMCommon.py:636
+#: FlatCAMCommon.py:637 FlatCAMCommon.py:1546
msgid "Tool Diameter."
msgstr "Diamètre de l'outil."
-#: FlatCAMCommon.py:638
+#: FlatCAMCommon.py:639 FlatCAMCommon.py:1727
msgid ""
"Tool Offset.\n"
"Can be of a few types:\n"
@@ -2023,7 +2026,7 @@ msgstr ""
"Personnalisé = décalage personnalisé à l'aide de la valeur de décalage "
"personnalisé"
-#: FlatCAMCommon.py:645
+#: FlatCAMCommon.py:646 FlatCAMCommon.py:1744
msgid ""
"Custom Offset.\n"
"A value to be used as offset from the current path."
@@ -2031,7 +2034,7 @@ msgstr ""
"Décalage personnalisé.\n"
"Une valeur à utiliser comme décalage par rapport au chemin actuel."
-#: FlatCAMCommon.py:648
+#: FlatCAMCommon.py:649 FlatCAMCommon.py:1711
msgid ""
"Tool Type.\n"
"Can be:\n"
@@ -2045,7 +2048,7 @@ msgstr ""
"Rugueux = coupe grossière, faible avance, passes multiples\n"
"Finition = coupe de finition, avance élevée"
-#: FlatCAMCommon.py:654
+#: FlatCAMCommon.py:655 FlatCAMCommon.py:1559
msgid ""
"Tool Shape. \n"
"Can be:\n"
@@ -2059,7 +2062,7 @@ msgstr ""
"B = outil de fraisage à pointe sphérique\n"
"V = outil de fraisage en forme de V"
-#: FlatCAMCommon.py:660
+#: FlatCAMCommon.py:661 FlatCAMCommon.py:1575
msgid ""
"Cutting Depth.\n"
"The depth at which to cut into material."
@@ -2067,7 +2070,7 @@ msgstr ""
"Profondeur de coupe.\n"
"La profondeur à laquelle couper en matériau."
-#: FlatCAMCommon.py:663
+#: FlatCAMCommon.py:664 FlatCAMCommon.py:1589
msgid ""
"Multi Depth.\n"
"Selecting this will allow cutting in multiple passes,\n"
@@ -2078,7 +2081,7 @@ msgstr ""
"chaque passe en ajoutant une profondeur de paramètre DPP (profondeur par "
"passe)."
-#: FlatCAMCommon.py:667
+#: FlatCAMCommon.py:668 FlatCAMCommon.py:1602
msgid ""
"DPP. Depth per Pass.\n"
"The value used to cut into material on each pass."
@@ -2086,7 +2089,7 @@ msgstr ""
"DPP. Profondeur par passe.\n"
"La valeur utilisée pour couper le matériau à chaque passage."
-#: FlatCAMCommon.py:670
+#: FlatCAMCommon.py:671 FlatCAMCommon.py:1758
msgid ""
"V-Dia.\n"
"Diameter of the tip for V-Shape Tools."
@@ -2094,7 +2097,7 @@ msgstr ""
"Diamètre en V.\n"
"Diamètre de la pointe pour les outils en forme de V."
-#: FlatCAMCommon.py:673
+#: FlatCAMCommon.py:674 FlatCAMCommon.py:1772
msgid ""
"V-Agle.\n"
"Angle at the tip for the V-Shape Tools."
@@ -2102,7 +2105,7 @@ msgstr ""
"V-Agle.\n"
"Angle à la pointe pour les outils en forme de V."
-#: FlatCAMCommon.py:676
+#: FlatCAMCommon.py:677 FlatCAMCommon.py:1616
msgid ""
"Clearance Height.\n"
"Height at which the milling bit will travel between cuts,\n"
@@ -2112,7 +2115,7 @@ msgstr ""
"Hauteur à laquelle la fraise se déplacera entre les coupes,\n"
"au-dessus de la surface du matériau, en évitant tous les luminaires."
-#: FlatCAMCommon.py:680
+#: FlatCAMCommon.py:681
msgid ""
"FR. Feedrate\n"
"The speed on XY plane used while cutting into material."
@@ -2120,7 +2123,7 @@ msgstr ""
"FR. Vitesse d'avance\n"
"La vitesse sur le plan XY utilisée lors de la découpe du matériau."
-#: FlatCAMCommon.py:683
+#: FlatCAMCommon.py:684
msgid ""
"FR Z. Feedrate Z\n"
"The speed on Z plane."
@@ -2128,7 +2131,7 @@ msgstr ""
"FR Z. Avance Z\n"
"La vitesse sur le plan Z."
-#: FlatCAMCommon.py:686
+#: FlatCAMCommon.py:687 FlatCAMCommon.py:1786
msgid ""
"FR Rapids. Feedrate Rapids\n"
"Speed used while moving as fast as possible.\n"
@@ -2141,7 +2144,7 @@ msgstr ""
"utiliser\n"
"la commande G0 g-code. Principalement des imprimantes 3D."
-#: FlatCAMCommon.py:691
+#: FlatCAMCommon.py:692 FlatCAMCommon.py:1659
msgid ""
"Spindle Speed.\n"
"If it's left empty it will not be used.\n"
@@ -2151,7 +2154,7 @@ msgstr ""
"S'il est laissé vide, il ne sera pas utilisé.\n"
"La vitesse du moteur en tr / min."
-#: FlatCAMCommon.py:695
+#: FlatCAMCommon.py:696 FlatCAMCommon.py:1674
msgid ""
"Dwell.\n"
"Check this if a delay is needed to allow\n"
@@ -2161,7 +2164,7 @@ msgstr ""
"Cochez cette case si un délai est nécessaire pour permettre\n"
"le moteur pour atteindre sa vitesse définie."
-#: FlatCAMCommon.py:699
+#: FlatCAMCommon.py:700 FlatCAMCommon.py:1687
msgid ""
"Dwell Time.\n"
"A delay used to allow the motor spindle reach it's set speed."
@@ -2169,7 +2172,7 @@ msgstr ""
"Temps d'attente.\n"
"Un délai utilisé pour permettre au moteur d'atteindre sa vitesse définie."
-#: FlatCAMCommon.py:702
+#: FlatCAMCommon.py:703
msgid ""
"Preprocessor.\n"
"A selection of files that will alter the generated G-code\n"
@@ -2179,7 +2182,7 @@ msgstr ""
"Une sélection de fichiers qui modifieront le G-code généré\n"
"pour s'adapter à un certain nombre de cas d'utilisation."
-#: FlatCAMCommon.py:706
+#: FlatCAMCommon.py:707 FlatCAMCommon.py:1802
msgid ""
"Extra Cut.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -2193,7 +2196,7 @@ msgstr ""
"tel que ce point est couvert par cette coupe supplémentaire\n"
"assurer une isolation complète."
-#: FlatCAMCommon.py:712
+#: FlatCAMCommon.py:713 FlatCAMCommon.py:1817
msgid ""
"Extra Cut length.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -2209,7 +2212,7 @@ msgstr ""
"assurer une isolation complète. C'est la longueur de\n"
"la coupe supplémentaire."
-#: FlatCAMCommon.py:719
+#: FlatCAMCommon.py:720
msgid ""
"Toolchange.\n"
"It will create a toolchange event.\n"
@@ -2221,7 +2224,7 @@ msgstr ""
"Le type de changement d'outils est déterminé par\n"
"le fichier du préprocesseur."
-#: FlatCAMCommon.py:724
+#: FlatCAMCommon.py:725
msgid ""
"Toolchange XY.\n"
"A set of coordinates in the format (x, y).\n"
@@ -2233,7 +2236,7 @@ msgstr ""
"Déterminera la position cartésienne du point\n"
"où l'événement de changement d'outil a lieu."
-#: FlatCAMCommon.py:729
+#: FlatCAMCommon.py:730
msgid ""
"Toolchange Z.\n"
"The position on Z plane where the tool change event take place."
@@ -2241,7 +2244,7 @@ msgstr ""
"Changement d'outil Z.\n"
"La position sur le plan Z où l'événement de changement d'outil a lieu."
-#: FlatCAMCommon.py:732
+#: FlatCAMCommon.py:733
msgid ""
"Start Z.\n"
"If it's left empty it will not be used.\n"
@@ -2252,7 +2255,7 @@ msgstr ""
"Une position sur le plan Z pour se déplacer immédiatement après le début du "
"travail."
-#: FlatCAMCommon.py:736
+#: FlatCAMCommon.py:737
msgid ""
"End Z.\n"
"A position on Z plane to move immediately after job stop."
@@ -2261,352 +2264,731 @@ msgstr ""
"Une position sur le plan Z pour se déplacer immédiatement après l'arrêt du "
"travail."
-#: FlatCAMCommon.py:748 FlatCAMCommon.py:1125 FlatCAMCommon.py:1159
+#: FlatCAMCommon.py:749 FlatCAMCommon.py:1126 FlatCAMCommon.py:1160
+#: FlatCAMCommon.py:2335 FlatCAMCommon.py:2556 FlatCAMCommon.py:2590
msgid "Could not load Tools DB file."
msgstr "Impossible de charger le fichier BD des outils."
-#: FlatCAMCommon.py:756 FlatCAMCommon.py:1167
+#: FlatCAMCommon.py:757 FlatCAMCommon.py:1168 FlatCAMCommon.py:2343
+#: FlatCAMCommon.py:2598
msgid "Failed to parse Tools DB file."
msgstr "Échec de l'analyse du fichier BD des outils."
-#: FlatCAMCommon.py:759 FlatCAMCommon.py:1170
+#: FlatCAMCommon.py:760 FlatCAMCommon.py:1171 FlatCAMCommon.py:2346
+#: FlatCAMCommon.py:2601
msgid "Loaded FlatCAM Tools DB from"
msgstr "Base de données des outils FlatCAM chargée depuis"
-#: FlatCAMCommon.py:765
+#: FlatCAMCommon.py:766 FlatCAMCommon.py:2260
msgid "Add to DB"
msgstr "Ajouter à la BD"
-#: FlatCAMCommon.py:767
+#: FlatCAMCommon.py:768 FlatCAMCommon.py:2263
msgid "Copy from DB"
msgstr "Copier depuis BD"
-#: FlatCAMCommon.py:769
+#: FlatCAMCommon.py:770 FlatCAMCommon.py:2266
msgid "Delete from DB"
msgstr "Supprimer de la BD"
-#: FlatCAMCommon.py:1046
+#: FlatCAMCommon.py:1047 FlatCAMCommon.py:2473
msgid "Tool added to DB."
msgstr "Outil ajouté à BD."
-#: FlatCAMCommon.py:1067
+#: FlatCAMCommon.py:1068 FlatCAMCommon.py:2497
msgid "Tool copied from Tools DB."
msgstr "Outil copié à partir de la BD d'outils."
-#: FlatCAMCommon.py:1085
+#: FlatCAMCommon.py:1086 FlatCAMCommon.py:2516
msgid "Tool removed from Tools DB."
msgstr "Outil supprimé de la BD d'outils."
-#: FlatCAMCommon.py:1096
+#: FlatCAMCommon.py:1097 FlatCAMCommon.py:2527
msgid "Export Tools Database"
msgstr "Exporter la BD des outils"
-#: FlatCAMCommon.py:1099
+#: FlatCAMCommon.py:1100 FlatCAMCommon.py:2530
msgid "Tools_Database"
msgstr "Base de données d'outils"
-#: FlatCAMCommon.py:1106
-msgid "FlatCAM Tools DB export cancelled."
-msgstr "Exportation de la base de données des outils FlatCAM annulée."
-
-#: FlatCAMCommon.py:1136 FlatCAMCommon.py:1139 FlatCAMCommon.py:1191
+#: FlatCAMCommon.py:1137 FlatCAMCommon.py:1140 FlatCAMCommon.py:1192
+#: FlatCAMCommon.py:2567 FlatCAMCommon.py:2570 FlatCAMCommon.py:2622
msgid "Failed to write Tools DB to file."
msgstr "Échec de l'écriture de la base de données des outils dans le fichier."
-#: FlatCAMCommon.py:1142
+#: FlatCAMCommon.py:1143 FlatCAMCommon.py:2573
msgid "Exported Tools DB to"
msgstr "Base de données d'outils exportée vers"
-#: FlatCAMCommon.py:1149
+#: FlatCAMCommon.py:1150 FlatCAMCommon.py:2580
msgid "Import FlatCAM Tools DB"
msgstr "Importer la BD des outils FlatCAM"
-#: FlatCAMCommon.py:1152
-msgid "FlatCAM Tools DB import cancelled."
-msgstr "Importation de la BD des outils FlatCAM annulée."
-
-#: FlatCAMCommon.py:1195
+#: FlatCAMCommon.py:1196 FlatCAMCommon.py:2626
msgid "Saved Tools DB."
msgstr "Sauvegarde de la BD des outils."
-#: FlatCAMCommon.py:1342
+#: FlatCAMCommon.py:1343 FlatCAMCommon.py:2807
msgid "No Tool/row selected in the Tools Database table"
msgstr "Aucun outil / ligne sélectionné dans le tableau de la BD d'outils"
-#: FlatCAMCommon.py:1360
+#: FlatCAMCommon.py:1361 FlatCAMCommon.py:2824
msgid "Cancelled adding tool from DB."
msgstr "Outil d'ajout de la BD annulé."
-#: FlatCAMObj.py:257
+#: FlatCAMCommon.py:1462
+msgid "Basic Geo Parameters"
+msgstr "Paramètres Geo de base"
+
+#: FlatCAMCommon.py:1474
+msgid "Advanced Geo Parameters"
+msgstr "Paramètres Geo avancés"
+
+#: FlatCAMCommon.py:1486
+msgid "NCC Parameters"
+msgstr "Paramètres NCC"
+
+#: FlatCAMCommon.py:1498
+msgid "Paint Parameters"
+msgstr "Paramètres de Peindre"
+
+#: FlatCAMCommon.py:1629 flatcamGUI/ObjectUI.py:966 flatcamGUI/ObjectUI.py:1767
+#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:7059
+#: flatcamTools/ToolSolderPaste.py:254
+msgid "Feedrate X-Y"
+msgstr "Avance X-Y"
+
+#: FlatCAMCommon.py:1631
+msgid ""
+"Feedrate X-Y. Feedrate\n"
+"The speed on XY plane used while cutting into material."
+msgstr ""
+"Avance X-Y. Vitesse d'avance\n"
+"La vitesse sur le plan XY utilisée lors de la découpe du matériau."
+
+#: FlatCAMCommon.py:1643 flatcamGUI/ObjectUI.py:981 flatcamGUI/ObjectUI.py:1781
+#: flatcamGUI/PreferencesUI.py:3425 flatcamGUI/PreferencesUI.py:4393
+#: flatcamGUI/PreferencesUI.py:7072 flatcamTools/ToolSolderPaste.py:266
+msgid "Feedrate Z"
+msgstr "Avance Z"
+
+#: FlatCAMCommon.py:1645
+msgid ""
+"Feedrate Z\n"
+"The speed on Z plane."
+msgstr ""
+"Avance Z\n"
+"La vitesse sur l'avion Z."
+
+#: FlatCAMCommon.py:1843 flatcamGUI/ObjectUI.py:844
+#: flatcamGUI/PreferencesUI.py:3264 flatcamTools/ToolNCC.py:341
+msgid "Operation"
+msgstr "Opération"
+
+#: FlatCAMCommon.py:1845 flatcamTools/ToolNCC.py:343
+msgid ""
+"The 'Operation' can be:\n"
+"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
+"If it's not successful then the non-copper clearing will fail, too.\n"
+"- Clear -> the regular non-copper clearing."
+msgstr ""
+"L'opération peut être:\n"
+"- Isolement -> veillera à ce que la clairance sans cuivre soit toujours "
+"complète.\n"
+"Si cela ne réussit pas, alors le clearing sans cuivre échouera aussi.\n"
+"- Clair -> le clearing régulier sans cuivre."
+
+#: FlatCAMCommon.py:1852 flatcamEditors/FlatCAMGrbEditor.py:2739
+#: flatcamGUI/GUIElements.py:2577 flatcamTools/ToolNCC.py:350
+msgid "Clear"
+msgstr "Effacer"
+
+#: FlatCAMCommon.py:1853 flatcamTools/ToolNCC.py:351
+#: flatcamTools/ToolNCC.py:1618
+msgid "Isolation"
+msgstr "Isolement"
+
+#: FlatCAMCommon.py:1861 flatcamGUI/ObjectUI.py:408 flatcamGUI/ObjectUI.py:866
+#: flatcamGUI/PreferencesUI.py:2257 flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:4665 flatcamGUI/PreferencesUI.py:5416
+#: flatcamTools/ToolNCC.py:359
+msgid "Milling Type"
+msgstr "Type de fraisage"
+
+#: FlatCAMCommon.py:1863 FlatCAMCommon.py:1871 flatcamGUI/PreferencesUI.py:5418
+#: flatcamGUI/PreferencesUI.py:5426 flatcamTools/ToolNCC.py:361
+#: flatcamTools/ToolNCC.py:369
+msgid ""
+"Milling type when the selected tool is of type: 'iso_op':\n"
+"- climb / best for precision milling and to reduce tool usage\n"
+"- conventional / useful when there is no backlash compensation"
+msgstr ""
+"Type de fraisage lorsque l'outil sélectionné est de type: 'iso_op':\n"
+"- montée / idéal pour le fraisage de précision et pour réduire l'utilisation "
+"d'outils\n"
+"- conventionnel / utile quand il n'y a pas de compensation de jeu"
+
+#: FlatCAMCommon.py:1868 flatcamGUI/ObjectUI.py:414
+#: flatcamGUI/PreferencesUI.py:2264 flatcamGUI/PreferencesUI.py:4671
+#: flatcamGUI/PreferencesUI.py:5423 flatcamTools/ToolNCC.py:366
+msgid "Climb"
+msgstr "Monté"
+
+#: FlatCAMCommon.py:1869 flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/PreferencesUI.py:2265 flatcamGUI/PreferencesUI.py:4672
+#: flatcamGUI/PreferencesUI.py:5424 flatcamTools/ToolNCC.py:367
+msgid "Conventional"
+msgstr "Conventionnel"
+
+#: FlatCAMCommon.py:1881 FlatCAMCommon.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:452 flatcamGUI/PreferencesUI.py:5461
+#: flatcamGUI/PreferencesUI.py:6002 flatcamTools/ToolNCC.py:382
+#: flatcamTools/ToolPaint.py:329
+msgid "Overlap"
+msgstr "Chevauchement"
+
+#: FlatCAMCommon.py:1883 flatcamGUI/PreferencesUI.py:5463
+#: flatcamTools/ToolNCC.py:384
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be cleared are still \n"
+"not cleared.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+"La quantité (pourcentage) de la largeur d'outil qui chevauche chaque passe "
+"d'outil.\n"
+"Ajustez la valeur en commençant par des valeurs inférieures\n"
+"et l'augmenter si les zones qui doivent être nettoyées sont encore\n"
+"pas effacé.\n"
+"Valeurs inférieures = traitement plus rapide, exécution plus rapide sur "
+"CNC.\n"
+"Valeurs supérieures = traitement lent et exécution lente sur CNC\n"
+"en raison de trop de chemins."
+
+#: FlatCAMCommon.py:1902 FlatCAMCommon.py:2011
+#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/PreferencesUI.py:5481
+#: flatcamGUI/PreferencesUI.py:5723 flatcamGUI/PreferencesUI.py:6022
+#: flatcamGUI/PreferencesUI.py:7681 flatcamGUI/PreferencesUI.py:7838
+#: flatcamGUI/PreferencesUI.py:7923 flatcamGUI/PreferencesUI.py:8570
+#: flatcamGUI/PreferencesUI.py:8578 flatcamTools/ToolCopperThieving.py:112
+#: flatcamTools/ToolCopperThieving.py:363 flatcamTools/ToolCutOut.py:191
+#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolInvertGerber.py:88
+#: flatcamTools/ToolInvertGerber.py:96 flatcamTools/ToolNCC.py:403
+#: flatcamTools/ToolPaint.py:350
+msgid "Margin"
+msgstr "Marge"
+
+#: FlatCAMCommon.py:1904 flatcamGUI/PreferencesUI.py:5483
+#: flatcamGUI/PreferencesUI.py:7683 flatcamGUI/PreferencesUI.py:7925
+#: flatcamGUI/PreferencesUI.py:7989 flatcamTools/ToolCopperThieving.py:114
+#: flatcamTools/ToolFiducials.py:174 flatcamTools/ToolFiducials.py:237
+#: flatcamTools/ToolNCC.py:405
+msgid "Bounding box margin."
+msgstr "Marge du cadre de sélection."
+
+#: FlatCAMCommon.py:1915 FlatCAMCommon.py:2026
+#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:5494
+#: flatcamGUI/PreferencesUI.py:6037 flatcamGUI/PreferencesUI.py:8204
+#: flatcamGUI/PreferencesUI.py:8417 flatcamTools/ToolExtractDrills.py:128
+#: flatcamTools/ToolNCC.py:416 flatcamTools/ToolPaint.py:365
+#: flatcamTools/ToolPunchGerber.py:139
+msgid "Method"
+msgstr "Méthode"
+
+#: FlatCAMCommon.py:1917 flatcamGUI/PreferencesUI.py:5496
+#: flatcamTools/ToolNCC.py:418
+msgid ""
+"Algorithm for copper clearing:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
+msgstr ""
+"Algorithme de compensation du cuivre:\n"
+"- Standard: pas fixe vers l'intérieur.\n"
+"- À base de graines: à l'extérieur des graines.\n"
+"- Ligne: lignes parallèles."
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolNCC.py:2390 flatcamTools/ToolNCC.py:2419
+#: flatcamTools/ToolNCC.py:2688 flatcamTools/ToolNCC.py:2720
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1829
+#: tclCommands/TclCommandCopperClear.py:126
+#: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125
+msgid "Standard"
+msgstr "La norme"
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:5156 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:699
+#: flatcamTools/ToolPaint.py:1857 tclCommands/TclCommandCopperClear.py:130
+#: tclCommands/TclCommandPaint.py:129
+msgid "Lines"
+msgstr "Lignes"
+
+#: FlatCAMCommon.py:1933 FlatCAMCommon.py:2051 flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:6063 flatcamTools/ToolNCC.py:439
+#: flatcamTools/ToolPaint.py:401
+msgid "Connect"
+msgstr "Relier"
+
+#: FlatCAMCommon.py:1937 FlatCAMCommon.py:2054
+#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/PreferencesUI.py:5518
+#: flatcamGUI/PreferencesUI.py:6065 flatcamTools/ToolNCC.py:443
+#: flatcamTools/ToolPaint.py:404
+msgid ""
+"Draw lines between resulting\n"
+"segments to minimize tool lifts."
+msgstr ""
+"Tracez des lignes entre les résultats\n"
+"segments pour minimiser les montées d’outil."
+
+#: FlatCAMCommon.py:1943 FlatCAMCommon.py:2058 flatcamGUI/PreferencesUI.py:5525
+#: flatcamGUI/PreferencesUI.py:6071 flatcamTools/ToolNCC.py:449
+#: flatcamTools/ToolPaint.py:408
+msgid "Contour"
+msgstr "Contour"
+
+#: FlatCAMCommon.py:1947 FlatCAMCommon.py:2061
+#: flatcamEditors/FlatCAMGeoEditor.py:519 flatcamGUI/PreferencesUI.py:5527
+#: flatcamGUI/PreferencesUI.py:6073 flatcamTools/ToolNCC.py:453
+#: flatcamTools/ToolPaint.py:411
+msgid ""
+"Cut around the perimeter of the polygon\n"
+"to trim rough edges."
+msgstr ""
+"Couper autour du périmètre du polygone\n"
+"pour couper les bords rugueux."
+
+#: FlatCAMCommon.py:1953 flatcamEditors/FlatCAMGeoEditor.py:613
+#: flatcamEditors/FlatCAMGrbEditor.py:5145 flatcamGUI/ObjectUI.py:142
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamGUI/PreferencesUI.py:5534 flatcamGUI/PreferencesUI.py:6822
+#: flatcamTools/ToolNCC.py:459 flatcamTools/ToolTransform.py:29
+msgid "Offset"
+msgstr "Décalage"
+
+#: FlatCAMCommon.py:1957 flatcamGUI/PreferencesUI.py:5536
+#: flatcamTools/ToolNCC.py:463
+msgid ""
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0 and 10 FlatCAM units."
+msgstr ""
+"S'il est utilisé, cela ajoutera un décalage aux entités en cuivre.\n"
+"La clairière de cuivre finira à distance\n"
+"des caractéristiques de cuivre.\n"
+"La valeur peut être comprise entre 0 et 10 unités FlatCAM."
+
+#: FlatCAMCommon.py:1992 flatcamEditors/FlatCAMGeoEditor.py:454
+#: flatcamGUI/PreferencesUI.py:6004 flatcamTools/ToolPaint.py:331
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be painted are still \n"
+"not painted.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+"La quantité (pourcentage) de la largeur d'outil qui chevauche chaque passe "
+"d'outil.\n"
+"Ajustez la valeur en commençant par des valeurs inférieures\n"
+"et l'augmenter si les zones à peindre sont encore\n"
+"pas peint.\n"
+"Valeurs inférieures = traitement plus rapide, exécution plus rapide sur "
+"CNC.\n"
+"Valeurs supérieures = traitement lent et exécution lente sur CNC\n"
+"en raison de trop de chemins."
+
+#: FlatCAMCommon.py:2013 flatcamEditors/FlatCAMGeoEditor.py:474
+#: flatcamGUI/PreferencesUI.py:6024 flatcamTools/ToolPaint.py:352
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the polygon to\n"
+"be painted."
+msgstr ""
+"Distance à éviter\n"
+"les bords du polygone à\n"
+"être peint."
+
+#: FlatCAMCommon.py:2028 flatcamGUI/PreferencesUI.py:6039
+#: flatcamTools/ToolPaint.py:367
+msgid ""
+"Algorithm for painting:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines.\n"
+"- Laser-lines: Active only for Gerber objects.\n"
+"Will create lines that follow the traces.\n"
+"- Combo: In case of failure a new method will be picked from the above\n"
+"in the order specified."
+msgstr ""
+"Algorithme de peinture:\n"
+"- Standard: pas fixe vers l'intérieur.\n"
+"- À base de graines: à l'extérieur des graines.\n"
+"- Ligne: lignes parallèles.\n"
+"- Lignes laser: Actif uniquement pour les objets Gerber.\n"
+"Créera des lignes qui suivent les traces.\n"
+"- Combo: En cas d'échec, une nouvelle méthode sera choisie parmi les "
+"précédentes\n"
+"dans l'ordre spécifié."
+
+#: FlatCAMCommon.py:2040 FlatCAMCommon.py:2042 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:392
+#: flatcamTools/ToolPaint.py:693 flatcamTools/ToolPaint.py:698
+#: flatcamTools/ToolPaint.py:1871 tclCommands/TclCommandPaint.py:131
+msgid "Laser_lines"
+msgstr "Lignes_laser"
+
+#: FlatCAMCommon.py:2040 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:2022
+#: tclCommands/TclCommandPaint.py:133
+msgid "Combo"
+msgstr "Combo"
+
+#: FlatCAMCommon.py:2085
+msgid "Add Tool in DB"
+msgstr "Ajouter un Outil dans la BD"
+
+#: FlatCAMObj.py:264
msgid "Name changed from"
msgstr "Nom changé de"
-#: FlatCAMObj.py:257
+#: FlatCAMObj.py:264
msgid "to"
msgstr "à"
-#: FlatCAMObj.py:268
+#: FlatCAMObj.py:275
msgid "Offsetting..."
msgstr "Compenser ..."
-#: FlatCAMObj.py:282 FlatCAMObj.py:287
+#: FlatCAMObj.py:289 FlatCAMObj.py:294
msgid "Scaling could not be executed."
msgstr "La mise à l'échelle n'a pas pu être exécutée."
-#: FlatCAMObj.py:291 FlatCAMObj.py:299
+#: FlatCAMObj.py:298 FlatCAMObj.py:306
msgid "Scale done."
msgstr "Échelle terminée."
-#: FlatCAMObj.py:297
+#: FlatCAMObj.py:304
msgid "Scaling..."
msgstr "Mise à l'échelle..."
-#: FlatCAMObj.py:315
+#: FlatCAMObj.py:322
msgid "Skewing..."
msgstr "Fausser..."
-#: FlatCAMObj.py:736 FlatCAMObj.py:2746 FlatCAMObj.py:3968
-#: flatcamGUI/PreferencesUI.py:1470 flatcamGUI/PreferencesUI.py:2859
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/ObjectUI.py:449
+#: flatcamGUI/PreferencesUI.py:6527 flatcamTools/ToolAlignObjects.py:73
+#: flatcamTools/ToolAlignObjects.py:109 flatcamTools/ToolCalibration.py:196
+#: flatcamTools/ToolCalibration.py:631 flatcamTools/ToolCalibration.py:648
+#: flatcamTools/ToolCalibration.py:807 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:92
+#: flatcamTools/ToolDblSided.py:225 flatcamTools/ToolFilm.py:69
+#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549
+#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:252 flatcamTools/ToolImage.py:273
+#: flatcamTools/ToolNCC.py:96 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1295 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:706 flatcamTools/ToolPanelize.py:118
+#: flatcamTools/ToolPanelize.py:204 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Gerber"
+msgstr "Gerber"
+
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/FlatCAMGUI.py:2154
+#: flatcamGUI/ObjectUI.py:449 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:93
+#: flatcamTools/ToolDblSided.py:227 flatcamTools/ToolFilm.py:69
+#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549
+#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:271 flatcamTools/ToolNCC.py:95
+#: flatcamTools/ToolNCC.py:558 flatcamTools/ToolNCC.py:1295
+#: flatcamTools/ToolPaint.py:502 flatcamTools/ToolPaint.py:706
+#: flatcamTools/ToolPanelize.py:118 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Geometry"
+msgstr "Géométrie"
+
+#: FlatCAMObj.py:755 FlatCAMObj.py:2957 FlatCAMObj.py:4421
+#: flatcamGUI/PreferencesUI.py:1646 flatcamGUI/PreferencesUI.py:3041
msgid "Basic"
msgstr "De base"
-#: FlatCAMObj.py:763 FlatCAMObj.py:2758 FlatCAMObj.py:3989
-#: flatcamGUI/PreferencesUI.py:1471
+#: FlatCAMObj.py:782 FlatCAMObj.py:2970 FlatCAMObj.py:4442
+#: flatcamGUI/PreferencesUI.py:1647
msgid "Advanced"
msgstr "Avancé"
-#: FlatCAMObj.py:980
+#: FlatCAMObj.py:998
msgid "Buffering solid geometry"
msgstr "Mise en tampon de la géométrie solide"
-#: FlatCAMObj.py:983 camlib.py:965 flatcamGUI/PreferencesUI.py:2296
-#: flatcamTools/ToolCopperThieving.py:1011
-#: flatcamTools/ToolCopperThieving.py:1200
-#: flatcamTools/ToolCopperThieving.py:1212
-#: flatcamTools/ToolNonCopperClear.py:1624
-#: flatcamTools/ToolNonCopperClear.py:1721
-#: flatcamTools/ToolNonCopperClear.py:1732
-#: flatcamTools/ToolNonCopperClear.py:2015
-#: flatcamTools/ToolNonCopperClear.py:2111
-#: flatcamTools/ToolNonCopperClear.py:2123
+#: FlatCAMObj.py:1001 camlib.py:979 flatcamGUI/PreferencesUI.py:2476
+#: flatcamTools/ToolCopperThieving.py:1017
+#: flatcamTools/ToolCopperThieving.py:1206
+#: flatcamTools/ToolCopperThieving.py:1218 flatcamTools/ToolNCC.py:2045
+#: flatcamTools/ToolNCC.py:2153 flatcamTools/ToolNCC.py:2167
+#: flatcamTools/ToolNCC.py:3098 flatcamTools/ToolNCC.py:3203
+#: flatcamTools/ToolNCC.py:3218 flatcamTools/ToolNCC.py:3484
+#: flatcamTools/ToolNCC.py:3585 flatcamTools/ToolNCC.py:3600
msgid "Buffering"
msgstr "Mise en mémoire tampon"
-#: FlatCAMObj.py:989
+#: FlatCAMObj.py:1007
msgid "Done"
msgstr "Terminé"
-#: FlatCAMObj.py:1040
+#: FlatCAMObj.py:1032 FlatCAMObj.py:1058
+msgid "Operation could not be done."
+msgstr "L'opération n'a pas pu être effectuée."
+
+#: FlatCAMObj.py:1075
msgid "Isolating..."
msgstr "Isoler ..."
-#: FlatCAMObj.py:1099
+#: FlatCAMObj.py:1134
msgid "Click on a polygon to isolate it."
msgstr "Cliquez sur un polygone pour l'isoler."
-#: FlatCAMObj.py:1138 FlatCAMObj.py:1243 flatcamTools/ToolPaint.py:1120
+#: FlatCAMObj.py:1173 FlatCAMObj.py:1277 flatcamTools/ToolPaint.py:1511
msgid "Added polygon"
msgstr "Polygone ajouté"
-#: FlatCAMObj.py:1140 FlatCAMObj.py:1245
+#: FlatCAMObj.py:1174 FlatCAMObj.py:1279
msgid "Click to add next polygon or right click to start isolation."
msgstr ""
"Cliquez pour ajouter le polygone suivant ou cliquez avec le bouton droit "
"pour démarrer l'isolement."
-#: FlatCAMObj.py:1152 flatcamTools/ToolPaint.py:1134
+#: FlatCAMObj.py:1186 flatcamTools/ToolPaint.py:1525
msgid "Removed polygon"
msgstr "Polygone supprimé"
-#: FlatCAMObj.py:1153
+#: FlatCAMObj.py:1187
msgid "Click to add/remove next polygon or right click to start isolation."
msgstr ""
"Cliquez pour ajouter / supprimer le polygone suivant ou cliquez avec le "
"bouton droit pour démarrer l'isolement."
-#: FlatCAMObj.py:1158 flatcamTools/ToolPaint.py:1140
+#: FlatCAMObj.py:1192 flatcamTools/ToolPaint.py:1531
msgid "No polygon detected under click position."
msgstr "Aucun polygone détecté sous la position du clic."
-#: FlatCAMObj.py:1179 flatcamTools/ToolPaint.py:1169
+#: FlatCAMObj.py:1213 flatcamTools/ToolPaint.py:1560
msgid "List of single polygons is empty. Aborting."
msgstr "La liste des polygones simples est vide. Abandon."
-#: FlatCAMObj.py:1248
+#: FlatCAMObj.py:1282
msgid "No polygon in selection."
msgstr "Aucun polygone dans la sélection."
-#: FlatCAMObj.py:1324 FlatCAMObj.py:1457
-#: flatcamTools/ToolNonCopperClear.py:1653
-#: flatcamTools/ToolNonCopperClear.py:2039
-msgid "Isolation geometry could not be generated."
-msgstr "La géométrie d'isolation n'a pas pu être générée."
-
-#: FlatCAMObj.py:1374 FlatCAMObj.py:3637 FlatCAMObj.py:3922 FlatCAMObj.py:4221
+#: FlatCAMObj.py:1394 FlatCAMObj.py:1542 FlatCAMObj.py:4055 FlatCAMObj.py:4375
+#: FlatCAMObj.py:4762
msgid "Rough"
msgstr "Rugueux"
-#: FlatCAMObj.py:1400 FlatCAMObj.py:1480
+#: FlatCAMObj.py:1410 FlatCAMObj.py:1489 flatcamTools/ToolNCC.py:2081
+#: flatcamTools/ToolNCC.py:3132 flatcamTools/ToolNCC.py:3511
+msgid "Isolation geometry could not be generated."
+msgstr "La géométrie d'isolation n'a pas pu être générée."
+
+#: FlatCAMObj.py:1435 FlatCAMObj.py:1567
msgid "Isolation geometry created"
msgstr "Géométrie d'isolement créée"
-#: FlatCAMObj.py:1409 FlatCAMObj.py:1487
+#: FlatCAMObj.py:1444 FlatCAMObj.py:1574
msgid "Subtracting Geo"
msgstr "Soustraction Geo"
-#: FlatCAMObj.py:1807
+#: FlatCAMObj.py:1899
msgid "Plotting Apertures"
msgstr "Traçage des ouvertures"
-#: FlatCAMObj.py:2573 flatcamEditors/FlatCAMExcEditor.py:2427
+#: FlatCAMObj.py:2753 flatcamEditors/FlatCAMExcEditor.py:2453
msgid "Total Drills"
msgstr "Total Forage"
-#: FlatCAMObj.py:2605 flatcamEditors/FlatCAMExcEditor.py:2459
+#: FlatCAMObj.py:2784 flatcamEditors/FlatCAMExcEditor.py:2485
msgid "Total Slots"
msgstr "Total de Fentes"
-#: FlatCAMObj.py:3060 FlatCAMObj.py:3155 FlatCAMObj.py:3276
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3069 FlatCAMObj.py:3085 FlatCAMObj.py:3089
+#: FlatCAMObj.py:4242 FlatCAMObj.py:4667 FlatCAMObj.py:4703
+#: flatcamGUI/ObjectUI.py:817 flatcamGUI/ObjectUI.py:1660
+#: flatcamTools/ToolNCC.py:331 flatcamTools/ToolNCC.py:797
+#: flatcamTools/ToolNCC.py:811 flatcamTools/ToolNCC.py:1191
+#: flatcamTools/ToolPaint.py:314 flatcamTools/ToolPaint.py:767
+#: flatcamTools/ToolPaint.py:779 flatcamTools/ToolPaint.py:1166
+msgid "Parameters for"
+msgstr "Paramètres pour"
+
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3089 FlatCAMObj.py:4242 FlatCAMObj.py:4703
+#: flatcamTools/ToolNCC.py:811 flatcamTools/ToolNCC.py:1191
+#: flatcamTools/ToolPaint.py:779 flatcamTools/ToolPaint.py:1166
+msgid "Multiple Tools"
+msgstr "Outils multiples"
+
+#: FlatCAMObj.py:3069
+msgid "No Tool Selected"
+msgstr "Aucun Outil sélectionné"
+
+#: FlatCAMObj.py:3085 FlatCAMObj.py:3427 FlatCAMObj.py:4667
+#: flatcamEditors/FlatCAMGeoEditor.py:406 flatcamGUI/FlatCAMGUI.py:496
+#: flatcamGUI/FlatCAMGUI.py:1143 flatcamGUI/ObjectUI.py:817
+#: flatcamGUI/ObjectUI.py:1660 flatcamTools/ToolNCC.py:331
+#: flatcamTools/ToolNCC.py:797 flatcamTools/ToolPaint.py:314
+#: flatcamTools/ToolPaint.py:767
+msgid "Tool"
+msgstr "Outil"
+
+#: FlatCAMObj.py:3419 FlatCAMObj.py:3512 FlatCAMObj.py:3700
msgid "Please select one or more tools from the list and try again."
msgstr ""
"Veuillez sélectionner un ou plusieurs outils dans la liste et réessayer."
-#: FlatCAMObj.py:3067
+#: FlatCAMObj.py:3426
msgid "Milling tool for DRILLS is larger than hole size. Cancelled."
msgstr ""
"L'outil de fraisage pour PERÇAGES est supérieur à la taille du trou. Annulé."
-#: FlatCAMObj.py:3068 FlatCAMObj.py:4533 flatcamEditors/FlatCAMGeoEditor.py:408
-#: flatcamGUI/FlatCAMGUI.py:457 flatcamGUI/FlatCAMGUI.py:1072
-#: flatcamGUI/ObjectUI.py:1353
-msgid "Tool"
-msgstr "Outil"
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Tool_nr"
msgstr "Numéro d'outil"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-#: flatcamEditors/FlatCAMExcEditor.py:1582
-#: flatcamEditors/FlatCAMExcEditor.py:3048 flatcamGUI/ObjectUI.py:777
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
-#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:396
-#: flatcamTools/ToolProperties.py:449 flatcamTools/ToolSolderPaste.py:84
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: flatcamEditors/FlatCAMExcEditor.py:1585
+#: flatcamEditors/FlatCAMExcEditor.py:3069 flatcamGUI/ObjectUI.py:780
+#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
+#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:416
+#: flatcamTools/ToolProperties.py:476 flatcamTools/ToolSolderPaste.py:86
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Diameter"
msgstr "Diamètre"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Drills_Nr"
msgstr "Forets Nr"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Slots_Nr"
msgstr "Fentes Nr"
-#: FlatCAMObj.py:3164
+#: FlatCAMObj.py:3521
msgid "Milling tool for SLOTS is larger than hole size. Cancelled."
msgstr ""
"L'outil de fraisage pour FENTES est supérieur à la taille du trou. Annulé."
-#: FlatCAMObj.py:3336
-msgid ""
-"Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth"
-"\"]"
-msgstr ""
-"Format de valeur incorrect pour self.defaults [\"z_pdepth\"] ou self.options "
-"[\"z_pdepth\"]"
+#: FlatCAMObj.py:3626 FlatCAMObj.py:5451
+msgid "Focus Z"
+msgstr "Focus Z"
-#: FlatCAMObj.py:3347
-msgid ""
-"Wrong value format for self.defaults[\"feedrate_probe\"] or self."
-"options[\"feedrate_probe\"]"
-msgstr ""
-"Format de valeur incorrect pour self.defaults [\"feedrate_probe\"] ou self."
-"options [\"feedrate_probe\"]"
+#: FlatCAMObj.py:3645 FlatCAMObj.py:5470
+msgid "Laser Power"
+msgstr "Puissance laser"
-#: FlatCAMObj.py:3377 FlatCAMObj.py:5354 FlatCAMObj.py:5358 FlatCAMObj.py:5493
+#: FlatCAMObj.py:3677 FlatCAMObj.py:5502 flatcamGUI/ObjectUI.py:1048
+#: flatcamGUI/ObjectUI.py:1839 flatcamGUI/PreferencesUI.py:4409
+msgid "Spindle speed"
+msgstr "Vitesse de broche"
+
+#: FlatCAMObj.py:3776 FlatCAMObj.py:5911 FlatCAMObj.py:5915 FlatCAMObj.py:6060
msgid "Generating CNC Code"
msgstr "Génération de code CNC"
-#: FlatCAMObj.py:3637 FlatCAMObj.py:4632 FlatCAMObj.py:4633 FlatCAMObj.py:4642
+#: FlatCAMObj.py:3966 flatcamTools/ToolNCC.py:918 flatcamTools/ToolPaint.py:844
+msgid "Current Tool parameters were applied to all tools."
+msgstr "Les paramètres d'outil actuels ont été appliqués à tous les outils."
+
+#: FlatCAMObj.py:4055 FlatCAMObj.py:5115 FlatCAMObj.py:5116 FlatCAMObj.py:5125
msgid "Iso"
msgstr "Iso"
-#: FlatCAMObj.py:3637
+#: FlatCAMObj.py:4055
msgid "Finish"
msgstr "Finition"
-#: FlatCAMObj.py:3957
+#: FlatCAMObj.py:4410
msgid "Add from Tool DB"
msgstr "Ajouter à partir de la BD d'outils"
-#: FlatCAMObj.py:3960 flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:794
-#: flatcamGUI/FlatCAMGUI.py:989 flatcamGUI/FlatCAMGUI.py:2015
-#: flatcamGUI/FlatCAMGUI.py:2159 flatcamGUI/FlatCAMGUI.py:2378
-#: flatcamGUI/FlatCAMGUI.py:2557 flatcamGUI/ObjectUI.py:1324
-#: flatcamTools/ToolPanelize.py:534 flatcamTools/ToolPanelize.py:561
-#: flatcamTools/ToolPanelize.py:660 flatcamTools/ToolPanelize.py:694
-#: flatcamTools/ToolPanelize.py:759
+#: FlatCAMObj.py:4413 flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:848
+#: flatcamGUI/FlatCAMGUI.py:1057 flatcamGUI/FlatCAMGUI.py:2123
+#: flatcamGUI/FlatCAMGUI.py:2267 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamGUI/FlatCAMGUI.py:2731 flatcamGUI/ObjectUI.py:1615
+#: flatcamTools/ToolPanelize.py:543 flatcamTools/ToolPanelize.py:570
+#: flatcamTools/ToolPanelize.py:669 flatcamTools/ToolPanelize.py:703
+#: flatcamTools/ToolPanelize.py:768
msgid "Copy"
msgstr "Copie"
-#: FlatCAMObj.py:4054 FlatCAMObj.py:4397 FlatCAMObj.py:5107 FlatCAMObj.py:5744
-#: flatcamEditors/FlatCAMExcEditor.py:2534
-#: flatcamEditors/FlatCAMGeoEditor.py:1078
-#: flatcamEditors/FlatCAMGeoEditor.py:1112
-#: flatcamEditors/FlatCAMGeoEditor.py:1133
-#: flatcamEditors/FlatCAMGeoEditor.py:1154
-#: flatcamEditors/FlatCAMGeoEditor.py:1191
-#: flatcamEditors/FlatCAMGeoEditor.py:1219
-#: flatcamEditors/FlatCAMGeoEditor.py:1240
-#: flatcamTools/ToolNonCopperClear.py:1052
-#: flatcamTools/ToolNonCopperClear.py:1461 flatcamTools/ToolPaint.py:835
-#: flatcamTools/ToolPaint.py:1019 flatcamTools/ToolPaint.py:2198
-#: flatcamTools/ToolSolderPaste.py:882 flatcamTools/ToolSolderPaste.py:957
+#: FlatCAMObj.py:4507 FlatCAMObj.py:4941 FlatCAMObj.py:5661 FlatCAMObj.py:6307
+#: flatcamEditors/FlatCAMExcEditor.py:2560
+#: flatcamEditors/FlatCAMGeoEditor.py:1077
+#: flatcamEditors/FlatCAMGeoEditor.py:1118
+#: flatcamEditors/FlatCAMGeoEditor.py:1146
+#: flatcamEditors/FlatCAMGeoEditor.py:1174
+#: flatcamEditors/FlatCAMGeoEditor.py:1218
+#: flatcamEditors/FlatCAMGeoEditor.py:1253
+#: flatcamEditors/FlatCAMGeoEditor.py:1281 flatcamTools/ToolNCC.py:1493
+#: flatcamTools/ToolPaint.py:1244 flatcamTools/ToolPaint.py:1415
+#: flatcamTools/ToolSolderPaste.py:883 flatcamTools/ToolSolderPaste.py:956
msgid "Wrong value format entered, use a number."
msgstr "Mauvais format de valeur entré, utilisez un nombre."
-#: FlatCAMObj.py:4240
+#: FlatCAMObj.py:4781
msgid "Tool added in Tool Table."
msgstr "Outil ajouté dans la table d'outils."
-#: FlatCAMObj.py:4347 FlatCAMObj.py:4356
+#: FlatCAMObj.py:4890 FlatCAMObj.py:4899
msgid "Failed. Select a tool to copy."
msgstr "Échoué. Sélectionnez un outil à copier."
-#: FlatCAMObj.py:4383
+#: FlatCAMObj.py:4928
msgid "Tool was copied in Tool Table."
msgstr "L'outil a été copié dans la table d'outils."
-#: FlatCAMObj.py:4411
+#: FlatCAMObj.py:4955
msgid "Tool was edited in Tool Table."
msgstr "L'outil a été édité dans Tool Table."
-#: FlatCAMObj.py:4440 FlatCAMObj.py:4449
+#: FlatCAMObj.py:4984 FlatCAMObj.py:4993
msgid "Failed. Select a tool to delete."
msgstr "Échoué. Sélectionnez un outil à supprimer."
-#: FlatCAMObj.py:4472
+#: FlatCAMObj.py:5017
msgid "Tool was deleted in Tool Table."
msgstr "L'outil a été supprimé dans la table d'outils."
-#: FlatCAMObj.py:4533 flatcamGUI/ObjectUI.py:1353
-msgid "Parameters for"
-msgstr "Paramètres pour"
-
-#: FlatCAMObj.py:4967
+#: FlatCAMObj.py:5523
msgid "This Geometry can't be processed because it is"
msgstr "Cette géométrie ne peut pas être traitée car elle est"
-#: FlatCAMObj.py:4969
+#: FlatCAMObj.py:5523
msgid "geometry"
msgstr "geometry"
-#: FlatCAMObj.py:5012
+#: FlatCAMObj.py:5564
msgid "Failed. No tool selected in the tool table ..."
msgstr "Échoué. Aucun outil sélectionné dans la table d'outils ..."
-#: FlatCAMObj.py:5112 FlatCAMObj.py:5264
+#: FlatCAMObj.py:5667 FlatCAMObj.py:5820
msgid ""
"Tool Offset is selected in Tool Table but no value is provided.\n"
"Add a Tool Offset or change the Offset Type."
@@ -2615,44 +2997,44 @@ msgstr ""
"n’est fournie.\n"
"Ajoutez un décalage d'outil ou changez le type de décalage."
-#: FlatCAMObj.py:5177 FlatCAMObj.py:5325
+#: FlatCAMObj.py:5733 FlatCAMObj.py:5882
msgid "G-Code parsing in progress..."
msgstr "Analyse du code G en cours ..."
-#: FlatCAMObj.py:5179 FlatCAMObj.py:5327
+#: FlatCAMObj.py:5735 FlatCAMObj.py:5884
msgid "G-Code parsing finished..."
msgstr "L'analyse du code G est terminée ..."
-#: FlatCAMObj.py:5187
+#: FlatCAMObj.py:5743
msgid "Finished G-Code processing"
msgstr "Traitement du code G terminé"
-#: FlatCAMObj.py:5189 FlatCAMObj.py:5339
+#: FlatCAMObj.py:5745 FlatCAMObj.py:5896
msgid "G-Code processing failed with error"
msgstr "Le traitement du code G a échoué avec une erreur"
-#: FlatCAMObj.py:5234 flatcamTools/ToolSolderPaste.py:1303
+#: FlatCAMObj.py:5790 flatcamTools/ToolSolderPaste.py:1300
msgid "Cancelled. Empty file, it has no geometry"
msgstr "Annulé. Fichier vide, il n'a pas de géométrie"
-#: FlatCAMObj.py:5337 FlatCAMObj.py:5486
+#: FlatCAMObj.py:5894 FlatCAMObj.py:6055
msgid "Finished G-Code processing..."
msgstr "Traitement terminé du code G ..."
-#: FlatCAMObj.py:5356 FlatCAMObj.py:5360 FlatCAMObj.py:5496
+#: FlatCAMObj.py:5913 FlatCAMObj.py:5917 FlatCAMObj.py:6062
msgid "CNCjob created"
msgstr "CNCjob créé"
-#: FlatCAMObj.py:5527 FlatCAMObj.py:5536 flatcamParsers/ParseGerber.py:1794
-#: flatcamParsers/ParseGerber.py:1804
+#: FlatCAMObj.py:6092 FlatCAMObj.py:6101 flatcamParsers/ParseGerber.py:1866
+#: flatcamParsers/ParseGerber.py:1876
msgid "Scale factor has to be a number: integer or float."
msgstr "Le facteur d'échelle doit être un nombre: entier ou réel."
-#: FlatCAMObj.py:5600
+#: FlatCAMObj.py:6164
msgid "Geometry Scale done."
msgstr "Échelle de géométrie terminée."
-#: FlatCAMObj.py:5617 flatcamParsers/ParseGerber.py:1920
+#: FlatCAMObj.py:6181 flatcamParsers/ParseGerber.py:1992
msgid ""
"An (x,y) pair of values are needed. Probable you entered only one value in "
"the Offset field."
@@ -2660,11 +3042,11 @@ msgstr ""
"Une paire de valeurs (x, y) est nécessaire. Vous avez probablement entré une "
"seule valeur dans le champ Décalage."
-#: FlatCAMObj.py:5674
+#: FlatCAMObj.py:6237
msgid "Geometry Offset done."
msgstr "Décalage de géométrie effectué."
-#: FlatCAMObj.py:5703
+#: FlatCAMObj.py:6266
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y)\n"
@@ -2674,43 +3056,43 @@ msgstr ""
"y)\n"
"mais maintenant il n'y a qu'une seule valeur, pas deux."
-#: FlatCAMObj.py:6388 FlatCAMObj.py:7175 FlatCAMObj.py:7371
+#: FlatCAMObj.py:6956 FlatCAMObj.py:7802 FlatCAMObj.py:7999
msgid "Basic"
msgstr "De base"
-#: FlatCAMObj.py:6394 FlatCAMObj.py:7179 FlatCAMObj.py:7375
+#: FlatCAMObj.py:6962 FlatCAMObj.py:7806 FlatCAMObj.py:8003
msgid "Advanced"
msgstr "Avancé"
-#: FlatCAMObj.py:6437
+#: FlatCAMObj.py:7005
msgid "Plotting..."
msgstr "Traçage..."
-#: FlatCAMObj.py:6460 FlatCAMObj.py:6465 flatcamTools/ToolSolderPaste.py:1509
+#: FlatCAMObj.py:7034 FlatCAMObj.py:7039 flatcamTools/ToolSolderPaste.py:1498
msgid "Export Machine Code ..."
msgstr "Exporter le code machine ..."
-#: FlatCAMObj.py:6470 flatcamTools/ToolSolderPaste.py:1513
+#: FlatCAMObj.py:7044 flatcamTools/ToolSolderPaste.py:1502
msgid "Export Machine Code cancelled ..."
msgstr "Exporter le code machine annulé ..."
-#: FlatCAMObj.py:6492
+#: FlatCAMObj.py:7065
msgid "Machine Code file saved to"
msgstr "Fichier de code machine enregistré dans"
-#: FlatCAMObj.py:6546 flatcamTools/ToolCalibration.py:1083
+#: FlatCAMObj.py:7126 flatcamTools/ToolCalibration.py:1097
msgid "Loaded Machine Code into Code Editor"
msgstr "Code machine chargé dans l'éditeur de code"
-#: FlatCAMObj.py:6684
+#: FlatCAMObj.py:7265
msgid "This CNCJob object can't be processed because it is a"
msgstr "Cet objet CNCJob ne peut pas être traité car il est"
-#: FlatCAMObj.py:6686
+#: FlatCAMObj.py:7267
msgid "CNCJob object"
msgstr "Objet CNCJob"
-#: FlatCAMObj.py:6866
+#: FlatCAMObj.py:7447
msgid ""
"G-code does not have a G94 code and we will not include the code in the "
"'Prepend to GCode' text box"
@@ -2718,39 +3100,39 @@ msgstr ""
"Le code G n'a pas de code G94 et nous n'inclurons pas le code dans la zone "
"de texte 'Prepend to GCode'"
-#: FlatCAMObj.py:6877
+#: FlatCAMObj.py:7458
msgid "Cancelled. The Toolchange Custom code is enabled but it's empty."
msgstr "Annulé. Le code personnalisé Toolchange est activé mais vide."
-#: FlatCAMObj.py:6882
+#: FlatCAMObj.py:7463
msgid "Toolchange G-code was replaced by a custom code."
msgstr "Toolchange G-code a été remplacé par un code personnalisé."
-#: FlatCAMObj.py:6899 flatcamEditors/FlatCAMTextEditor.py:270
-#: flatcamTools/ToolSolderPaste.py:1540
+#: FlatCAMObj.py:7480 flatcamEditors/FlatCAMTextEditor.py:272
+#: flatcamTools/ToolSolderPaste.py:1529
msgid "No such file or directory"
msgstr "Aucun fichier ou répertoire de ce nom"
-#: FlatCAMObj.py:6913 flatcamEditors/FlatCAMTextEditor.py:282
+#: FlatCAMObj.py:7494 flatcamEditors/FlatCAMTextEditor.py:284
msgid "Saved to"
msgstr "Enregistré dans"
-#: FlatCAMObj.py:6923 FlatCAMObj.py:6933
+#: FlatCAMObj.py:7511 FlatCAMObj.py:7521
msgid ""
"The used preprocessor file has to have in it's name: 'toolchange_custom'"
msgstr ""
"Le fichier de post-traitement utilisé doit avoir pour nom: "
"'toolchange_custom'"
-#: FlatCAMObj.py:6937
+#: FlatCAMObj.py:7524
msgid "There is no preprocessor file."
msgstr "Il n'y a pas de fichier de post-processeur."
-#: FlatCAMObj.py:7194
+#: FlatCAMObj.py:7821
msgid "Script Editor"
msgstr "Éditeur de script"
-#: FlatCAMObj.py:7475
+#: FlatCAMObj.py:8103
msgid "Document Editor"
msgstr "Éditeur de Document"
@@ -2758,6 +3140,16 @@ msgstr "Éditeur de Document"
msgid "processes running."
msgstr "processus en cours d'exécution."
+#: FlatCAMTool.py:245 FlatCAMTool.py:252 flatcamGUI/ObjectUI.py:156
+#: flatcamGUI/ObjectUI.py:163
+msgid "Edited value is out of range"
+msgstr "La valeur modifiée est hors limites"
+
+#: FlatCAMTool.py:247 FlatCAMTool.py:254 flatcamGUI/ObjectUI.py:158
+#: flatcamGUI/ObjectUI.py:165
+msgid "Edited value is within limits."
+msgstr "La valeur modifiée est dans les limites."
+
#: FlatCAMTranslation.py:103
msgid "The application will restart."
msgstr "L'application va redémarrer."
@@ -2770,68 +3162,68 @@ msgstr "Etes-vous sûr de vouloir changer la langue actuelle en"
msgid "Apply Language ..."
msgstr "Appliquer la langue ..."
-#: ObjectCollection.py:459
+#: ObjectCollection.py:506
#, python-brace-format
msgid "Object renamed from {old} to {new}"
msgstr "Objet renommé de {old} à {new}"
-#: ObjectCollection.py:858
+#: ObjectCollection.py:972
msgid "Cause of error"
msgstr "Cause d'erreur"
-#: camlib.py:590
+#: camlib.py:593
msgid "self.solid_geometry is neither BaseGeometry or list."
msgstr "self.solid_geometry n'est ni BaseGeometry ni une liste."
-#: camlib.py:953
+#: camlib.py:968
msgid "Pass"
msgstr "Passer"
-#: camlib.py:974
+#: camlib.py:988
msgid "Get Exteriors"
msgstr "Obtenez des extérieurs"
-#: camlib.py:977
+#: camlib.py:991
msgid "Get Interiors"
msgstr "Obtenez des intérieurs"
-#: camlib.py:1964
+#: camlib.py:2172
msgid "Object was mirrored"
msgstr "L'objet a été reflété"
-#: camlib.py:1967
+#: camlib.py:2175
msgid "Failed to mirror. No object selected"
msgstr "Impossible de refléter. Aucun objet sélectionné"
-#: camlib.py:2036
+#: camlib.py:2244
msgid "Object was rotated"
msgstr "L'objet a été tourné"
-#: camlib.py:2039
+#: camlib.py:2247
msgid "Failed to rotate. No object selected"
msgstr "Échec de la rotation. Aucun objet sélectionné"
-#: camlib.py:2107
+#: camlib.py:2314
msgid "Object was skewed"
msgstr "L'objet était de biaiser"
-#: camlib.py:2110
+#: camlib.py:2317
msgid "Failed to skew. No object selected"
msgstr "Impossible de biaiser. Aucun objet sélectionné"
-#: camlib.py:2179
+#: camlib.py:2392
msgid "Object was buffered"
msgstr "L'objet a été tamponnées"
-#: camlib.py:2181
+#: camlib.py:2394
msgid "Failed to buffer. No object selected"
msgstr "Échec de la mise en buffer. Aucun objet sélectionné"
-#: camlib.py:2378
+#: camlib.py:2599
msgid "There is no such parameter"
msgstr "Il n'y a pas de tel paramètre"
-#: camlib.py:2454
+#: camlib.py:2659 camlib.py:2892 camlib.py:3121 camlib.py:3343
msgid ""
"The Cut Z parameter has positive value. It is the depth value to drill into "
"material.\n"
@@ -2845,11 +3237,12 @@ msgstr ""
"s'agisse d'une faute de frappe; par conséquent, l'application convertira la "
"valeur en valeur négative. Vérifiez le code CNC résultant (Gcode, etc.)."
-#: camlib.py:2462 camlib.py:3181 camlib.py:3539
+#: camlib.py:2667 camlib.py:2902 camlib.py:3131 camlib.py:3353 camlib.py:3639
+#: camlib.py:4008
msgid "The Cut Z parameter is zero. There will be no cut, skipping file"
msgstr "Le paramètre Cut Z est zéro. Il n'y aura pas de fichier coupé, sautant"
-#: camlib.py:2475 camlib.py:3512
+#: camlib.py:2678 camlib.py:3976
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y) \n"
@@ -2859,31 +3252,39 @@ msgstr ""
"y)\n"
"mais maintenant il n'y a qu'une seule valeur, pas deux. "
-#: camlib.py:2550
+#: camlib.py:2687 camlib.py:3590 camlib.py:3958
+msgid ""
+"The End Move X,Y field in Edit -> Preferences has to be in the format (x, y) "
+"but now there is only one value, not two."
+msgstr ""
+"Le champ Fin du déplacement X, Y dans Edition -> Préférences doit être au "
+"format (x, y) mais maintenant il n'y a qu'une seule valeur, pas deux."
+
+#: camlib.py:2775
msgid "Creating a list of points to drill..."
msgstr "Création d'une liste de points à explorer ..."
-#: camlib.py:2632
+#: camlib.py:2865 camlib.py:3737 camlib.py:4112
msgid "Starting G-Code"
msgstr "Démarrer le GCode"
-#: camlib.py:2727 camlib.py:2870 camlib.py:2972 camlib.py:3292 camlib.py:3653
+#: camlib.py:3006 camlib.py:3225 camlib.py:3389 camlib.py:3750 camlib.py:4123
msgid "Starting G-Code for tool with diameter"
msgstr "Code G de départ pour outil avec diamètre"
-#: camlib.py:2783 camlib.py:2926 camlib.py:3029
+#: camlib.py:3089 camlib.py:3307 camlib.py:3475
msgid "G91 coordinates not implemented"
msgstr "Coordonnées G91 non implémentées"
-#: camlib.py:2789 camlib.py:2933 camlib.py:3035
+#: camlib.py:3095 camlib.py:3314 camlib.py:3481
msgid "The loaded Excellon file has no drills"
msgstr "Le fichier Excellon chargé n'a pas d'exercices"
-#: camlib.py:3058
+#: camlib.py:3504
msgid "Finished G-Code generation..."
msgstr "Fini la génération de code G ..."
-#: camlib.py:3153
+#: camlib.py:3608
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y) \n"
@@ -2893,7 +3294,7 @@ msgstr ""
"y)\n"
"mais maintenant il n'y a qu'une seule valeur, pas deux."
-#: camlib.py:3166 camlib.py:3525
+#: camlib.py:3622 camlib.py:3991
msgid ""
"Cut_Z parameter is None or zero. Most likely a bad combinations of other "
"parameters."
@@ -2901,7 +3302,7 @@ msgstr ""
"Le paramètre Cut_Z est Aucun ou zéro. Très probablement une mauvaise "
"combinaison d'autres paramètres."
-#: camlib.py:3173 camlib.py:3531
+#: camlib.py:3631 camlib.py:4000
msgid ""
"The Cut Z parameter has positive value. It is the depth value to cut into "
"material.\n"
@@ -2915,11 +3316,11 @@ msgstr ""
"s'agisse d'une faute de frappe. Par conséquent, l'application convertira la "
"valeur en valeur négative. Vérifiez le code CNC résultant (Gcode, etc.)."
-#: camlib.py:3186 camlib.py:3545
+#: camlib.py:3644 camlib.py:4014
msgid "Travel Z parameter is None or zero."
msgstr "Le paramètre Voyage Z est Aucun ou zéro."
-#: camlib.py:3191 camlib.py:3550
+#: camlib.py:3649 camlib.py:4019
msgid ""
"The Travel Z parameter has negative value. It is the height value to travel "
"between cuts.\n"
@@ -2933,38 +3334,34 @@ msgstr ""
"s'agisse d'une faute de frappe. Par conséquent, l'application convertira la "
"valeur en valeur positive. Vérifiez le code CNC résultant (Gcode, etc.)."
-#: camlib.py:3199 camlib.py:3558
+#: camlib.py:3657 camlib.py:4027
msgid "The Z Travel parameter is zero. This is dangerous, skipping file"
msgstr "Le paramètre Z voyage est zéro. Ceci est dangereux, ignorer le fichier"
-#: camlib.py:3218 camlib.py:3580
+#: camlib.py:3676 camlib.py:4050
msgid "Indexing geometry before generating G-Code..."
msgstr "Indexer la géométrie avant de générer le code G ..."
-#: camlib.py:3279 camlib.py:3642
-msgid "Starting G-Code..."
-msgstr "Démarrer G-Code ..."
-
-#: camlib.py:3362 camlib.py:3724
+#: camlib.py:3820 camlib.py:4192
msgid "Finished G-Code generation"
msgstr "Génération de code G terminée"
-#: camlib.py:3364
+#: camlib.py:3820
msgid "paths traced"
msgstr "chemins tracés"
-#: camlib.py:3399
+#: camlib.py:3853
msgid "Expected a Geometry, got"
msgstr "Attendait une géométrie, eu"
-#: camlib.py:3406
+#: camlib.py:3860
msgid ""
"Trying to generate a CNC Job from a Geometry object without solid_geometry."
msgstr ""
"Essayer de générer un travail CNC à partir d'un objet de géométrie sans "
"solid_geometry."
-#: camlib.py:3446
+#: camlib.py:3901
msgid ""
"The Tool Offset value is too negative to use for the current_geometry.\n"
"Raise the value (in module) and try again."
@@ -2973,35 +3370,35 @@ msgstr ""
"utilisée pour current_geometry.\n"
"Augmentez la valeur (dans le module) et essayez à nouveau."
-#: camlib.py:3724
+#: camlib.py:4192
msgid " paths traced."
msgstr " chemins tracés."
-#: camlib.py:3752
+#: camlib.py:4220
msgid "There is no tool data in the SolderPaste geometry."
msgstr "Il n'y a pas de données d'outil dans la géométrie SolderPaste."
-#: camlib.py:3839
+#: camlib.py:4306
msgid "Finished SolderPste G-Code generation"
msgstr "Génération de G-Code SolderPaste fini"
-#: camlib.py:3841
+#: camlib.py:4306
msgid "paths traced."
msgstr "chemins tracés."
-#: camlib.py:4097
+#: camlib.py:4566
msgid "Parsing GCode file. Number of lines"
msgstr "Analyse du fichier GCode. Nombre de lignes"
-#: camlib.py:4204
+#: camlib.py:4673
msgid "Creating Geometry from the parsed GCode file. "
msgstr "Création d'une géométrie à partir du fichier GCode analysé. "
-#: camlib.py:4345 camlib.py:4629 camlib.py:4732 camlib.py:4801
+#: camlib.py:4816 camlib.py:5101 camlib.py:5204 camlib.py:5360
msgid "G91 coordinates not implemented ..."
msgstr "Coordonnées G91 non implémentées ..."
-#: camlib.py:4476
+#: camlib.py:4948
msgid "Unifying Geometry from parsed Geometry segments"
msgstr "Unifier la géométrie à partir de segments de géométrie analysés"
@@ -3031,11 +3428,11 @@ msgstr ""
#: flatcamEditors/FlatCAMExcEditor.py:193
#: flatcamEditors/FlatCAMExcEditor.py:416
#: flatcamEditors/FlatCAMExcEditor.py:637
-#: flatcamEditors/FlatCAMExcEditor.py:1155
-#: flatcamEditors/FlatCAMExcEditor.py:1182
+#: flatcamEditors/FlatCAMExcEditor.py:1152
+#: flatcamEditors/FlatCAMExcEditor.py:1179
#: flatcamEditors/FlatCAMGrbEditor.py:471
-#: flatcamEditors/FlatCAMGrbEditor.py:1936
-#: flatcamEditors/FlatCAMGrbEditor.py:1966
+#: flatcamEditors/FlatCAMGrbEditor.py:1935
+#: flatcamEditors/FlatCAMGrbEditor.py:1965
msgid "Click on target location ..."
msgstr "Cliquez sur l'emplacement cible ..."
@@ -3069,8 +3466,8 @@ msgstr "Pour ajouter un trou de fente, sélectionnez d'abord un outil"
#: flatcamEditors/FlatCAMExcEditor.py:455
#: flatcamEditors/FlatCAMExcEditor.py:462
-#: flatcamEditors/FlatCAMExcEditor.py:744
-#: flatcamEditors/FlatCAMExcEditor.py:751
+#: flatcamEditors/FlatCAMExcEditor.py:743
+#: flatcamEditors/FlatCAMExcEditor.py:750
msgid "Value is missing or wrong format. Add it and retry."
msgstr "Valeur manquante ou format incorrect. Ajoutez-le et réessayez."
@@ -3089,75 +3486,69 @@ msgid "Click on the Slot Circular Array Start position"
msgstr ""
"Cliquez sur la position de départ de la matrice circulaire du trou de fente"
-#: flatcamEditors/FlatCAMExcEditor.py:682
-#: flatcamEditors/FlatCAMGrbEditor.py:520
+#: flatcamEditors/FlatCAMExcEditor.py:681
+#: flatcamEditors/FlatCAMGrbEditor.py:519
msgid "The value is mistyped. Check the value."
msgstr "La valeur est mal typée. Vérifiez la valeur."
-#: flatcamEditors/FlatCAMExcEditor.py:861
+#: flatcamEditors/FlatCAMExcEditor.py:860
msgid "Too many Slots for the selected spacing angle."
msgstr "Trop de trous de fente pour l'angle d'espacement sélectionné."
-#: flatcamEditors/FlatCAMExcEditor.py:884
+#: flatcamEditors/FlatCAMExcEditor.py:883
msgid "Done. Slot Array added."
msgstr "Terminé. Tableau de trous de fente ajouté."
-#: flatcamEditors/FlatCAMExcEditor.py:906
+#: flatcamEditors/FlatCAMExcEditor.py:905
msgid "Click on the Drill(s) to resize ..."
msgstr "Cliquez sur les forets pour redimensionner ..."
-#: flatcamEditors/FlatCAMExcEditor.py:936
+#: flatcamEditors/FlatCAMExcEditor.py:935
msgid "Resize drill(s) failed. Please enter a diameter for resize."
msgstr ""
"Redimensionner les trous de forage a échoué. Veuillez entrer un diamètre "
"pour le redimensionner."
-#: flatcamEditors/FlatCAMExcEditor.py:1026
-#: flatcamEditors/FlatCAMExcEditor.py:1095 flatcamGUI/FlatCAMGUI.py:3165
-#: flatcamGUI/FlatCAMGUI.py:3377 flatcamGUI/FlatCAMGUI.py:3591
-msgid "Cancelled."
-msgstr "Annulé."
-
-#: flatcamEditors/FlatCAMExcEditor.py:1116
+#: flatcamEditors/FlatCAMExcEditor.py:1113
msgid "Done. Drill/Slot Resize completed."
msgstr ""
"Terminé. Le redimensionnement des trous de forage / rainure est terminé."
-#: flatcamEditors/FlatCAMExcEditor.py:1119
+#: flatcamEditors/FlatCAMExcEditor.py:1116
msgid "Cancelled. No drills/slots selected for resize ..."
msgstr ""
"Annulé. Aucun trou de perçage / rainure sélectionné pour le "
"redimensionnement ..."
-#: flatcamEditors/FlatCAMExcEditor.py:1157
-#: flatcamEditors/FlatCAMGrbEditor.py:1938
+#: flatcamEditors/FlatCAMExcEditor.py:1154
+#: flatcamEditors/FlatCAMGrbEditor.py:1937
msgid "Click on reference location ..."
msgstr "Cliquez sur l'emplacement de référence ..."
-#: flatcamEditors/FlatCAMExcEditor.py:1214
+#: flatcamEditors/FlatCAMExcEditor.py:1211
msgid "Done. Drill(s) Move completed."
msgstr "Terminé. Foret (s) Déplacement terminé."
-#: flatcamEditors/FlatCAMExcEditor.py:1322
+#: flatcamEditors/FlatCAMExcEditor.py:1319
msgid "Done. Drill(s) copied."
msgstr "Terminé. Percer des trous copiés."
-#: flatcamEditors/FlatCAMExcEditor.py:1555 flatcamGUI/PreferencesUI.py:3551
+#: flatcamEditors/FlatCAMExcEditor.py:1558 flatcamGUI/PreferencesUI.py:3829
msgid "Excellon Editor"
msgstr "Excellent éditeur"
-#: flatcamEditors/FlatCAMExcEditor.py:1562
-#: flatcamEditors/FlatCAMGrbEditor.py:2454
+#: flatcamEditors/FlatCAMExcEditor.py:1565
+#: flatcamEditors/FlatCAMGrbEditor.py:2460
msgid "Name:"
msgstr "Nom:"
-#: flatcamEditors/FlatCAMExcEditor.py:1568 flatcamGUI/ObjectUI.py:757
-#: flatcamGUI/ObjectUI.py:1184 flatcamTools/ToolNonCopperClear.py:109
-#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:73
+#: flatcamEditors/FlatCAMExcEditor.py:1571 flatcamGUI/ObjectUI.py:760
+#: flatcamGUI/ObjectUI.py:1463 flatcamTools/ToolNCC.py:120
+#: flatcamTools/ToolPaint.py:115 flatcamTools/ToolSolderPaste.py:75
msgid "Tools Table"
msgstr "Tableau des outils"
-#: flatcamEditors/FlatCAMExcEditor.py:1570 flatcamGUI/ObjectUI.py:759
+#: flatcamEditors/FlatCAMExcEditor.py:1573 flatcamGUI/ObjectUI.py:762
msgid ""
"Tools in this Excellon object\n"
"when are used for drilling."
@@ -3165,11 +3556,11 @@ msgstr ""
"Outils dans cet objet Excellon\n"
"quand sont utilisés pour le forage."
-#: flatcamEditors/FlatCAMExcEditor.py:1590
+#: flatcamEditors/FlatCAMExcEditor.py:1593
msgid "Add/Delete Tool"
msgstr "Ajouter / Supprimer un outil"
-#: flatcamEditors/FlatCAMExcEditor.py:1592
+#: flatcamEditors/FlatCAMExcEditor.py:1595
msgid ""
"Add/Delete a tool to the tool list\n"
"for this Excellon object."
@@ -3177,16 +3568,16 @@ msgstr ""
"Ajouter / Supprimer un outil à la liste d'outils\n"
"pour cet objet Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:1604 flatcamGUI/ObjectUI.py:1297
-#: flatcamGUI/PreferencesUI.py:3582
+#: flatcamEditors/FlatCAMExcEditor.py:1607 flatcamGUI/ObjectUI.py:1583
+#: flatcamGUI/PreferencesUI.py:3860
msgid "Diameter for the new tool"
msgstr "Diamètre pour le nouvel outil"
-#: flatcamEditors/FlatCAMExcEditor.py:1614
+#: flatcamEditors/FlatCAMExcEditor.py:1617
msgid "Add Tool"
msgstr "Ajouter un Outil"
-#: flatcamEditors/FlatCAMExcEditor.py:1616
+#: flatcamEditors/FlatCAMExcEditor.py:1619
msgid ""
"Add a new tool to the tool list\n"
"with the diameter specified above."
@@ -3194,11 +3585,11 @@ msgstr ""
"Ajouter un nouvel outil à la liste d'outils\n"
"avec le diamètre spécifié ci-dessus."
-#: flatcamEditors/FlatCAMExcEditor.py:1628
+#: flatcamEditors/FlatCAMExcEditor.py:1631
msgid "Delete Tool"
msgstr "Supprimer l'outil"
-#: flatcamEditors/FlatCAMExcEditor.py:1630
+#: flatcamEditors/FlatCAMExcEditor.py:1633
msgid ""
"Delete a tool in the tool list\n"
"by selecting a row in the tool table."
@@ -3206,40 +3597,40 @@ msgstr ""
"Supprimer un outil dans la liste des outils\n"
"en sélectionnant une ligne dans la table d'outils."
-#: flatcamEditors/FlatCAMExcEditor.py:1648 flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamEditors/FlatCAMExcEditor.py:1651 flatcamGUI/FlatCAMGUI.py:2004
msgid "Resize Drill(s)"
msgstr "Redim. les Forets"
-#: flatcamEditors/FlatCAMExcEditor.py:1650
+#: flatcamEditors/FlatCAMExcEditor.py:1653
msgid "Resize a drill or a selection of drills."
msgstr "Redimensionnez une perceuse ou une sélection d'exercices."
-#: flatcamEditors/FlatCAMExcEditor.py:1657
+#: flatcamEditors/FlatCAMExcEditor.py:1660
msgid "Resize Dia"
msgstr "Redim. le dia"
-#: flatcamEditors/FlatCAMExcEditor.py:1659
+#: flatcamEditors/FlatCAMExcEditor.py:1662
msgid "Diameter to resize to."
msgstr "Diamètre à redimensionner."
-#: flatcamEditors/FlatCAMExcEditor.py:1670
+#: flatcamEditors/FlatCAMExcEditor.py:1673
msgid "Resize"
msgstr "Redimensionner"
-#: flatcamEditors/FlatCAMExcEditor.py:1672
+#: flatcamEditors/FlatCAMExcEditor.py:1675
msgid "Resize drill(s)"
msgstr "Redimensionner les forets"
-#: flatcamEditors/FlatCAMExcEditor.py:1697 flatcamGUI/FlatCAMGUI.py:1895
-#: flatcamGUI/FlatCAMGUI.py:2147
+#: flatcamEditors/FlatCAMExcEditor.py:1700 flatcamGUI/FlatCAMGUI.py:2003
+#: flatcamGUI/FlatCAMGUI.py:2255
msgid "Add Drill Array"
msgstr "Ajouter un Tableau de Forage"
-#: flatcamEditors/FlatCAMExcEditor.py:1699
+#: flatcamEditors/FlatCAMExcEditor.py:1702
msgid "Add an array of drills (linear or circular array)"
msgstr "Ajouter un tableau de trous de forage (tableau linéaire ou circulaire)"
-#: flatcamEditors/FlatCAMExcEditor.py:1705
+#: flatcamEditors/FlatCAMExcEditor.py:1708
msgid ""
"Select the type of drills array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -3247,43 +3638,48 @@ msgstr ""
"Sélectionnez le type de matrice de trous à créer.\n"
"Il peut être Linéaire X (Y) ou Circulaire"
-#: flatcamEditors/FlatCAMExcEditor.py:1708
-#: flatcamEditors/FlatCAMExcEditor.py:1922
-#: flatcamEditors/FlatCAMGrbEditor.py:2766
+#: flatcamEditors/FlatCAMExcEditor.py:1711
+#: flatcamEditors/FlatCAMExcEditor.py:1925
+#: flatcamEditors/FlatCAMGrbEditor.py:2772
msgid "Linear"
msgstr "Linéaire"
-#: flatcamEditors/FlatCAMExcEditor.py:1709
-#: flatcamEditors/FlatCAMExcEditor.py:1923
-#: flatcamEditors/FlatCAMGrbEditor.py:2767 flatcamGUI/ObjectUI.py:311
-#: flatcamGUI/PreferencesUI.py:5044 flatcamGUI/PreferencesUI.py:7465
-#: flatcamTools/ToolFiducials.py:220 flatcamTools/ToolNonCopperClear.py:221
+#: flatcamEditors/FlatCAMExcEditor.py:1712
+#: flatcamEditors/FlatCAMExcEditor.py:1926
+#: flatcamEditors/FlatCAMGrbEditor.py:2773 flatcamGUI/ObjectUI.py:315
+#: flatcamGUI/PreferencesUI.py:5340 flatcamGUI/PreferencesUI.py:5909
+#: flatcamGUI/PreferencesUI.py:7971 flatcamGUI/PreferencesUI.py:8151
+#: flatcamGUI/PreferencesUI.py:8248 flatcamGUI/PreferencesUI.py:8363
+#: flatcamGUI/PreferencesUI.py:8462 flatcamTools/ToolExtractDrills.py:78
+#: flatcamTools/ToolExtractDrills.py:201 flatcamTools/ToolFiducials.py:220
+#: flatcamTools/ToolNCC.py:221 flatcamTools/ToolPaint.py:204
+#: flatcamTools/ToolPunchGerber.py:89 flatcamTools/ToolPunchGerber.py:229
msgid "Circular"
msgstr "Circulaire"
-#: flatcamEditors/FlatCAMExcEditor.py:1717 flatcamGUI/PreferencesUI.py:3593
+#: flatcamEditors/FlatCAMExcEditor.py:1720 flatcamGUI/PreferencesUI.py:3871
msgid "Nr of drills"
msgstr "Nb de Forages"
-#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/PreferencesUI.py:3595
+#: flatcamEditors/FlatCAMExcEditor.py:1721 flatcamGUI/PreferencesUI.py:3873
msgid "Specify how many drills to be in the array."
msgstr "Spécifiez combien d'exercices doivent figurer dans le tableau."
-#: flatcamEditors/FlatCAMExcEditor.py:1736
-#: flatcamEditors/FlatCAMExcEditor.py:1786
-#: flatcamEditors/FlatCAMExcEditor.py:1858
-#: flatcamEditors/FlatCAMExcEditor.py:1951
-#: flatcamEditors/FlatCAMExcEditor.py:2002
-#: flatcamEditors/FlatCAMGrbEditor.py:1572
-#: flatcamEditors/FlatCAMGrbEditor.py:2795
-#: flatcamEditors/FlatCAMGrbEditor.py:2844 flatcamGUI/PreferencesUI.py:3703
+#: flatcamEditors/FlatCAMExcEditor.py:1739
+#: flatcamEditors/FlatCAMExcEditor.py:1789
+#: flatcamEditors/FlatCAMExcEditor.py:1861
+#: flatcamEditors/FlatCAMExcEditor.py:1954
+#: flatcamEditors/FlatCAMExcEditor.py:2005
+#: flatcamEditors/FlatCAMGrbEditor.py:1571
+#: flatcamEditors/FlatCAMGrbEditor.py:2801
+#: flatcamEditors/FlatCAMGrbEditor.py:2850 flatcamGUI/PreferencesUI.py:3981
msgid "Direction"
msgstr "Direction"
-#: flatcamEditors/FlatCAMExcEditor.py:1738
-#: flatcamEditors/FlatCAMExcEditor.py:1953
-#: flatcamEditors/FlatCAMGrbEditor.py:2797 flatcamGUI/PreferencesUI.py:2536
-#: flatcamGUI/PreferencesUI.py:3611 flatcamGUI/PreferencesUI.py:3759
+#: flatcamEditors/FlatCAMExcEditor.py:1741
+#: flatcamEditors/FlatCAMExcEditor.py:1956
+#: flatcamEditors/FlatCAMGrbEditor.py:2803 flatcamGUI/PreferencesUI.py:2718
+#: flatcamGUI/PreferencesUI.py:3889 flatcamGUI/PreferencesUI.py:4037
msgid ""
"Direction on which the linear array is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -3295,62 +3691,62 @@ msgstr ""
"- 'Y' - axe vertical ou\n"
"- 'Angle' - un angle personnalisé pour l'inclinaison du tableau"
-#: flatcamEditors/FlatCAMExcEditor.py:1745
-#: flatcamEditors/FlatCAMExcEditor.py:1867
-#: flatcamEditors/FlatCAMExcEditor.py:1960
-#: flatcamEditors/FlatCAMGrbEditor.py:2804 flatcamGUI/PreferencesUI.py:2542
-#: flatcamGUI/PreferencesUI.py:3617 flatcamGUI/PreferencesUI.py:3712
-#: flatcamGUI/PreferencesUI.py:3765 flatcamGUI/PreferencesUI.py:5853
+#: flatcamEditors/FlatCAMExcEditor.py:1748
+#: flatcamEditors/FlatCAMExcEditor.py:1870
+#: flatcamEditors/FlatCAMExcEditor.py:1963
+#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2724
+#: flatcamGUI/PreferencesUI.py:3895 flatcamGUI/PreferencesUI.py:3990
+#: flatcamGUI/PreferencesUI.py:4043 flatcamGUI/PreferencesUI.py:6341
#: flatcamTools/ToolFilm.py:256
msgid "X"
msgstr "X"
-#: flatcamEditors/FlatCAMExcEditor.py:1746
-#: flatcamEditors/FlatCAMExcEditor.py:1868
-#: flatcamEditors/FlatCAMExcEditor.py:1961
-#: flatcamEditors/FlatCAMGrbEditor.py:2805 flatcamGUI/PreferencesUI.py:2543
-#: flatcamGUI/PreferencesUI.py:3618 flatcamGUI/PreferencesUI.py:3713
-#: flatcamGUI/PreferencesUI.py:3766 flatcamGUI/PreferencesUI.py:5854
+#: flatcamEditors/FlatCAMExcEditor.py:1749
+#: flatcamEditors/FlatCAMExcEditor.py:1871
+#: flatcamEditors/FlatCAMExcEditor.py:1964
+#: flatcamEditors/FlatCAMGrbEditor.py:2811 flatcamGUI/PreferencesUI.py:2725
+#: flatcamGUI/PreferencesUI.py:3896 flatcamGUI/PreferencesUI.py:3991
+#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:6342
#: flatcamTools/ToolFilm.py:257
msgid "Y"
msgstr "Y"
-#: flatcamEditors/FlatCAMExcEditor.py:1747
-#: flatcamEditors/FlatCAMExcEditor.py:1764
-#: flatcamEditors/FlatCAMExcEditor.py:1798
-#: flatcamEditors/FlatCAMExcEditor.py:1869
-#: flatcamEditors/FlatCAMExcEditor.py:1873
-#: flatcamEditors/FlatCAMExcEditor.py:1962
-#: flatcamEditors/FlatCAMExcEditor.py:1980
-#: flatcamEditors/FlatCAMExcEditor.py:2014
-#: flatcamEditors/FlatCAMGrbEditor.py:2806
-#: flatcamEditors/FlatCAMGrbEditor.py:2823
-#: flatcamEditors/FlatCAMGrbEditor.py:2859 flatcamGUI/PreferencesUI.py:2544
-#: flatcamGUI/PreferencesUI.py:2562 flatcamGUI/PreferencesUI.py:3619
-#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:3714
-#: flatcamGUI/PreferencesUI.py:3719 flatcamGUI/PreferencesUI.py:3767
-#: flatcamGUI/PreferencesUI.py:3788 flatcamGUI/PreferencesUI.py:6246
-#: flatcamTools/ToolDistance.py:66 flatcamTools/ToolDistanceMin.py:68
-#: flatcamTools/ToolTransform.py:63
+#: flatcamEditors/FlatCAMExcEditor.py:1750
+#: flatcamEditors/FlatCAMExcEditor.py:1767
+#: flatcamEditors/FlatCAMExcEditor.py:1801
+#: flatcamEditors/FlatCAMExcEditor.py:1872
+#: flatcamEditors/FlatCAMExcEditor.py:1876
+#: flatcamEditors/FlatCAMExcEditor.py:1965
+#: flatcamEditors/FlatCAMExcEditor.py:1983
+#: flatcamEditors/FlatCAMExcEditor.py:2017
+#: flatcamEditors/FlatCAMGrbEditor.py:2812
+#: flatcamEditors/FlatCAMGrbEditor.py:2829
+#: flatcamEditors/FlatCAMGrbEditor.py:2865 flatcamGUI/PreferencesUI.py:2726
+#: flatcamGUI/PreferencesUI.py:2744 flatcamGUI/PreferencesUI.py:3897
+#: flatcamGUI/PreferencesUI.py:3916 flatcamGUI/PreferencesUI.py:3992
+#: flatcamGUI/PreferencesUI.py:3997 flatcamGUI/PreferencesUI.py:4045
+#: flatcamGUI/PreferencesUI.py:4066 flatcamGUI/PreferencesUI.py:6733
+#: flatcamTools/ToolDistance.py:120 flatcamTools/ToolDistanceMin.py:69
+#: flatcamTools/ToolTransform.py:61
msgid "Angle"
msgstr "Angle"
-#: flatcamEditors/FlatCAMExcEditor.py:1751
-#: flatcamEditors/FlatCAMExcEditor.py:1966
-#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2550
-#: flatcamGUI/PreferencesUI.py:3625 flatcamGUI/PreferencesUI.py:3773
+#: flatcamEditors/FlatCAMExcEditor.py:1754
+#: flatcamEditors/FlatCAMExcEditor.py:1969
+#: flatcamEditors/FlatCAMGrbEditor.py:2816 flatcamGUI/PreferencesUI.py:2732
+#: flatcamGUI/PreferencesUI.py:3903 flatcamGUI/PreferencesUI.py:4051
msgid "Pitch"
msgstr "Pas"
-#: flatcamEditors/FlatCAMExcEditor.py:1753
-#: flatcamEditors/FlatCAMExcEditor.py:1968
-#: flatcamEditors/FlatCAMGrbEditor.py:2812 flatcamGUI/PreferencesUI.py:2552
-#: flatcamGUI/PreferencesUI.py:3627 flatcamGUI/PreferencesUI.py:3775
+#: flatcamEditors/FlatCAMExcEditor.py:1756
+#: flatcamEditors/FlatCAMExcEditor.py:1971
+#: flatcamEditors/FlatCAMGrbEditor.py:2818 flatcamGUI/PreferencesUI.py:2734
+#: flatcamGUI/PreferencesUI.py:3905 flatcamGUI/PreferencesUI.py:4053
msgid "Pitch = Distance between elements of the array."
msgstr "Pas = Distance entre les éléments du tableau."
-#: flatcamEditors/FlatCAMExcEditor.py:1766
-#: flatcamEditors/FlatCAMExcEditor.py:1982
+#: flatcamEditors/FlatCAMExcEditor.py:1769
+#: flatcamEditors/FlatCAMExcEditor.py:1985
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -3362,9 +3758,9 @@ msgstr ""
"La valeur minimale est: -360 degrés.\n"
"La valeur maximale est: 360,00 degrés."
-#: flatcamEditors/FlatCAMExcEditor.py:1787
-#: flatcamEditors/FlatCAMExcEditor.py:2003
-#: flatcamEditors/FlatCAMGrbEditor.py:2846
+#: flatcamEditors/FlatCAMExcEditor.py:1790
+#: flatcamEditors/FlatCAMExcEditor.py:2006
+#: flatcamEditors/FlatCAMGrbEditor.py:2852
msgid ""
"Direction for circular array.Can be CW = clockwise or CCW = counter "
"clockwise."
@@ -3372,36 +3768,36 @@ msgstr ""
"Direction pour tableau circulaire. Peut être CW = sens horaire ou CCW = sens "
"antihoraire."
-#: flatcamEditors/FlatCAMExcEditor.py:1794
-#: flatcamEditors/FlatCAMExcEditor.py:2010
-#: flatcamEditors/FlatCAMGrbEditor.py:2854 flatcamGUI/PreferencesUI.py:2584
-#: flatcamGUI/PreferencesUI.py:3368 flatcamGUI/PreferencesUI.py:3661
-#: flatcamGUI/PreferencesUI.py:3811 flatcamGUI/PreferencesUI.py:4288
+#: flatcamEditors/FlatCAMExcEditor.py:1797
+#: flatcamEditors/FlatCAMExcEditor.py:2013
+#: flatcamEditors/FlatCAMGrbEditor.py:2860 flatcamGUI/PreferencesUI.py:2766
+#: flatcamGUI/PreferencesUI.py:3646 flatcamGUI/PreferencesUI.py:3939
+#: flatcamGUI/PreferencesUI.py:4089 flatcamGUI/PreferencesUI.py:4581
msgid "CW"
msgstr "CW"
-#: flatcamEditors/FlatCAMExcEditor.py:1795
-#: flatcamEditors/FlatCAMExcEditor.py:2011
-#: flatcamEditors/FlatCAMGrbEditor.py:2855 flatcamGUI/PreferencesUI.py:2585
-#: flatcamGUI/PreferencesUI.py:3369 flatcamGUI/PreferencesUI.py:3662
-#: flatcamGUI/PreferencesUI.py:3812 flatcamGUI/PreferencesUI.py:4289
+#: flatcamEditors/FlatCAMExcEditor.py:1798
+#: flatcamEditors/FlatCAMExcEditor.py:2014
+#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2767
+#: flatcamGUI/PreferencesUI.py:3647 flatcamGUI/PreferencesUI.py:3940
+#: flatcamGUI/PreferencesUI.py:4090 flatcamGUI/PreferencesUI.py:4582
msgid "CCW"
msgstr "CCW"
-#: flatcamEditors/FlatCAMExcEditor.py:1799
-#: flatcamEditors/FlatCAMExcEditor.py:2015
-#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2564
-#: flatcamGUI/PreferencesUI.py:2593 flatcamGUI/PreferencesUI.py:3640
-#: flatcamGUI/PreferencesUI.py:3670 flatcamGUI/PreferencesUI.py:3790
-#: flatcamGUI/PreferencesUI.py:3820
+#: flatcamEditors/FlatCAMExcEditor.py:1802
+#: flatcamEditors/FlatCAMExcEditor.py:2018
+#: flatcamEditors/FlatCAMGrbEditor.py:2867 flatcamGUI/PreferencesUI.py:2746
+#: flatcamGUI/PreferencesUI.py:2775 flatcamGUI/PreferencesUI.py:3918
+#: flatcamGUI/PreferencesUI.py:3948 flatcamGUI/PreferencesUI.py:4068
+#: flatcamGUI/PreferencesUI.py:4098
msgid "Angle at which each element in circular array is placed."
msgstr "Angle auquel chaque élément du tableau circulaire est placé."
-#: flatcamEditors/FlatCAMExcEditor.py:1833
+#: flatcamEditors/FlatCAMExcEditor.py:1836
msgid "Slot Parameters"
msgstr "Paramètres de Fente"
-#: flatcamEditors/FlatCAMExcEditor.py:1835
+#: flatcamEditors/FlatCAMExcEditor.py:1838
msgid ""
"Parameters for adding a slot (hole with oval shape)\n"
"either single or as an part of an array."
@@ -3409,16 +3805,16 @@ msgstr ""
"Paramètres pour l'ajout d'une fente (trou de forme ovale)\n"
"soit seul, soit faisant partie d'un tableau."
-#: flatcamEditors/FlatCAMExcEditor.py:1844 flatcamGUI/PreferencesUI.py:3687
-#: flatcamTools/ToolProperties.py:555
+#: flatcamEditors/FlatCAMExcEditor.py:1847 flatcamGUI/PreferencesUI.py:3965
+#: flatcamTools/ToolProperties.py:559
msgid "Length"
msgstr "Longueur"
-#: flatcamEditors/FlatCAMExcEditor.py:1846 flatcamGUI/PreferencesUI.py:3689
+#: flatcamEditors/FlatCAMExcEditor.py:1849 flatcamGUI/PreferencesUI.py:3967
msgid "Length = The length of the slot."
msgstr "Longueur = La longueur de la fente."
-#: flatcamEditors/FlatCAMExcEditor.py:1860 flatcamGUI/PreferencesUI.py:3705
+#: flatcamEditors/FlatCAMExcEditor.py:1863 flatcamGUI/PreferencesUI.py:3983
msgid ""
"Direction on which the slot is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -3430,7 +3826,7 @@ msgstr ""
"- 'Y' - axe vertical ou\n"
"- 'Angle' - un angle personnalisé pour l'inclinaison de la fente"
-#: flatcamEditors/FlatCAMExcEditor.py:1875
+#: flatcamEditors/FlatCAMExcEditor.py:1878
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -3442,15 +3838,15 @@ msgstr ""
"La valeur minimale est: -360 degrés.\n"
"La valeur maximale est: 360,00 degrés."
-#: flatcamEditors/FlatCAMExcEditor.py:1908
+#: flatcamEditors/FlatCAMExcEditor.py:1911
msgid "Slot Array Parameters"
msgstr "Param. de la Matrice de Fentes"
-#: flatcamEditors/FlatCAMExcEditor.py:1910
+#: flatcamEditors/FlatCAMExcEditor.py:1913
msgid "Parameters for the array of slots (linear or circular array)"
msgstr "Paramètres pour la Matrice de Fente (matrice linéaire ou circulaire)"
-#: flatcamEditors/FlatCAMExcEditor.py:1919
+#: flatcamEditors/FlatCAMExcEditor.py:1922
msgid ""
"Select the type of slot array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -3458,15 +3854,15 @@ msgstr ""
"Sélectionnez le type de matrice à percer.\n"
"Il peut être linéaire X (Y) ou circulaire"
-#: flatcamEditors/FlatCAMExcEditor.py:1931 flatcamGUI/PreferencesUI.py:3744
+#: flatcamEditors/FlatCAMExcEditor.py:1934 flatcamGUI/PreferencesUI.py:4022
msgid "Nr of slots"
msgstr "Nb de Fentes"
-#: flatcamEditors/FlatCAMExcEditor.py:1932 flatcamGUI/PreferencesUI.py:3746
+#: flatcamEditors/FlatCAMExcEditor.py:1935 flatcamGUI/PreferencesUI.py:4024
msgid "Specify how many slots to be in the array."
msgstr "Spécifiez le nombre de Fente dans le Tableau."
-#: flatcamEditors/FlatCAMExcEditor.py:2546
+#: flatcamEditors/FlatCAMExcEditor.py:2571
msgid ""
"Tool already in the original or actual tool list.\n"
"Save and reedit Excellon if you need to add this tool. "
@@ -3474,51 +3870,51 @@ msgstr ""
"Outil déjà dans la liste d'outils d'origine ou réelle.\n"
"Enregistrez et rééditez Excellon si vous devez ajouter cet outil. "
-#: flatcamEditors/FlatCAMExcEditor.py:2555 flatcamGUI/FlatCAMGUI.py:3792
+#: flatcamEditors/FlatCAMExcEditor.py:2580 flatcamGUI/FlatCAMGUI.py:4009
msgid "Added new tool with dia"
msgstr "Ajout d'un nouvel outil avec dia"
-#: flatcamEditors/FlatCAMExcEditor.py:2589
+#: flatcamEditors/FlatCAMExcEditor.py:2613
msgid "Select a tool in Tool Table"
msgstr "Sélectionner un outil dans la table d'outils"
-#: flatcamEditors/FlatCAMExcEditor.py:2622
+#: flatcamEditors/FlatCAMExcEditor.py:2643
msgid "Deleted tool with diameter"
msgstr "Outil supprimé avec diamètre"
-#: flatcamEditors/FlatCAMExcEditor.py:2772
+#: flatcamEditors/FlatCAMExcEditor.py:2793
msgid "Done. Tool edit completed."
msgstr "Terminé. L'édition de l'outil est terminée."
-#: flatcamEditors/FlatCAMExcEditor.py:3324
+#: flatcamEditors/FlatCAMExcEditor.py:3350
msgid "There are no Tools definitions in the file. Aborting Excellon creation."
msgstr ""
"Il n'y a pas de définition d'outils dans le fichier. Abandon de la création "
"Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:3328
+#: flatcamEditors/FlatCAMExcEditor.py:3354
msgid "An internal error has ocurred. See Shell.\n"
msgstr "Une erreur interne s'est produite. Voir Shell.\n"
-#: flatcamEditors/FlatCAMExcEditor.py:3333
+#: flatcamEditors/FlatCAMExcEditor.py:3359
msgid "Creating Excellon."
msgstr "Créer Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:3347
+#: flatcamEditors/FlatCAMExcEditor.py:3371
msgid "Excellon editing finished."
msgstr "Excellon édition terminée."
-#: flatcamEditors/FlatCAMExcEditor.py:3365
+#: flatcamEditors/FlatCAMExcEditor.py:3388
msgid "Cancelled. There is no Tool/Drill selected"
msgstr "Annulé. Aucun Outil/Foret sélectionné"
-#: flatcamEditors/FlatCAMExcEditor.py:3978
+#: flatcamEditors/FlatCAMExcEditor.py:4001
msgid "Done. Drill(s) deleted."
msgstr "Terminé. Percer des trous supprimés."
-#: flatcamEditors/FlatCAMExcEditor.py:4051
-#: flatcamEditors/FlatCAMExcEditor.py:4061
-#: flatcamEditors/FlatCAMGrbEditor.py:4853
+#: flatcamEditors/FlatCAMExcEditor.py:4074
+#: flatcamEditors/FlatCAMExcEditor.py:4084
+#: flatcamEditors/FlatCAMGrbEditor.py:4897
msgid "Click on the circular array Center position"
msgstr "Cliquez sur le tableau circulaire Position centrale"
@@ -3545,18 +3941,24 @@ msgstr ""
"fonctionnalités réunies dans le coin"
#: flatcamEditors/FlatCAMGeoEditor.py:95
-#: flatcamEditors/FlatCAMGrbEditor.py:2622
+#: flatcamEditors/FlatCAMGrbEditor.py:2628
msgid "Round"
msgstr "Rond"
#: flatcamEditors/FlatCAMGeoEditor.py:96
-#: flatcamEditors/FlatCAMGrbEditor.py:2623 flatcamGUI/PreferencesUI.py:7058
+#: flatcamEditors/FlatCAMGrbEditor.py:2629 flatcamGUI/PreferencesUI.py:5606
+#: flatcamGUI/PreferencesUI.py:6130 flatcamGUI/PreferencesUI.py:7564
+#: flatcamGUI/PreferencesUI.py:8167 flatcamGUI/PreferencesUI.py:8274
+#: flatcamGUI/PreferencesUI.py:8379 flatcamGUI/PreferencesUI.py:8488
+#: flatcamTools/ToolExtractDrills.py:94 flatcamTools/ToolExtractDrills.py:227
+#: flatcamTools/ToolNCC.py:583 flatcamTools/ToolPaint.py:527
+#: flatcamTools/ToolPunchGerber.py:105 flatcamTools/ToolPunchGerber.py:255
#: flatcamTools/ToolQRCode.py:198
msgid "Square"
msgstr "Carré"
#: flatcamEditors/FlatCAMGeoEditor.py:97
-#: flatcamEditors/FlatCAMGrbEditor.py:2624
+#: flatcamEditors/FlatCAMGrbEditor.py:2630
msgid "Beveled"
msgstr "Biseauté"
@@ -3573,18 +3975,18 @@ msgid "Full Buffer"
msgstr "Plein tampon"
#: flatcamEditors/FlatCAMGeoEditor.py:133
-#: flatcamEditors/FlatCAMGeoEditor.py:2885 flatcamGUI/FlatCAMGUI.py:1805
-#: flatcamGUI/PreferencesUI.py:2604
+#: flatcamEditors/FlatCAMGeoEditor.py:3018 flatcamGUI/FlatCAMGUI.py:1913
+#: flatcamGUI/PreferencesUI.py:2786
msgid "Buffer Tool"
msgstr "Outil Tampon"
#: flatcamEditors/FlatCAMGeoEditor.py:145
#: flatcamEditors/FlatCAMGeoEditor.py:162
#: flatcamEditors/FlatCAMGeoEditor.py:179
-#: flatcamEditors/FlatCAMGeoEditor.py:2904
-#: flatcamEditors/FlatCAMGeoEditor.py:2934
-#: flatcamEditors/FlatCAMGeoEditor.py:2964
-#: flatcamEditors/FlatCAMGrbEditor.py:4906
+#: flatcamEditors/FlatCAMGeoEditor.py:3037
+#: flatcamEditors/FlatCAMGeoEditor.py:3065
+#: flatcamEditors/FlatCAMGeoEditor.py:3093
+#: flatcamEditors/FlatCAMGrbEditor.py:4950
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-"
@@ -3594,7 +3996,7 @@ msgstr ""
msgid "Font"
msgstr "Police"
-#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2085
+#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2193
msgid "Text"
msgstr "Texte"
@@ -3602,210 +4004,112 @@ msgstr "Texte"
msgid "Text Tool"
msgstr "Outil Texte"
-#: flatcamEditors/FlatCAMGeoEditor.py:442 flatcamGUI/ObjectUI.py:359
-#: flatcamGUI/PreferencesUI.py:2025 flatcamGUI/PreferencesUI.py:3875
-#: flatcamGUI/PreferencesUI.py:5535
+#: flatcamEditors/FlatCAMGeoEditor.py:440 flatcamGUI/ObjectUI.py:363
+#: flatcamGUI/PreferencesUI.py:2205
msgid "Tool dia"
msgstr "Outil dia"
-#: flatcamEditors/FlatCAMGeoEditor.py:444 flatcamGUI/PreferencesUI.py:5537
+#: flatcamEditors/FlatCAMGeoEditor.py:442
+msgid "Diameter of the tool to be used in the operation."
+msgstr "Diamètre de l'outil à utiliser dans l'opération."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:488
msgid ""
-"Diameter of the tool to\n"
-"be used in the operation."
+"Algorithm to paint the polygons:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
msgstr ""
-"Diamètre de l'outil à\n"
-"être utilisé dans l'opération."
+"Algorithme pour peindre les polygones:\n"
+"- Standard: pas fixe vers l'intérieur.\n"
+"- À base de graines: à l'extérieur des graines.\n"
+"- Ligne: lignes parallèles."
-#: flatcamEditors/FlatCAMGeoEditor.py:455 flatcamGUI/PreferencesUI.py:5152
-#: flatcamGUI/PreferencesUI.py:5567 flatcamTools/ToolNonCopperClear.py:319
-#: flatcamTools/ToolPaint.py:219
-msgid "Overlap Rate"
-msgstr "Taux de chevauchement"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:457 flatcamGUI/PreferencesUI.py:5569
-#: flatcamTools/ToolPaint.py:221
-msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be painted are still \n"
-"not painted.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
-msgstr ""
-"Combien (fraction) de la largeur de l'outil doit chevaucher chaque passe-"
-"outil.\n"
-"Ajuster la valeur en commençant par les valeurs les plus basses\n"
-"et augmenter si les zones qui devraient être peintes sont encore\n"
-"pas peint.\n"
-"Des valeurs plus faibles = traitement plus rapide, exécution plus rapide sur "
-"le PCB.\n"
-"Valeurs plus élevées = traitement lent et exécution lente sur la CNC\n"
-"à cause de trop de chemins."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:475 flatcamGUI/PreferencesUI.py:5171
-#: flatcamGUI/PreferencesUI.py:5384 flatcamGUI/PreferencesUI.py:5587
-#: flatcamGUI/PreferencesUI.py:7175 flatcamGUI/PreferencesUI.py:7332
-#: flatcamGUI/PreferencesUI.py:7417 flatcamTools/ToolCopperThieving.py:111
-#: flatcamTools/ToolCopperThieving.py:361 flatcamTools/ToolCutOut.py:184
-#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolNonCopperClear.py:337
-#: flatcamTools/ToolPaint.py:238
-msgid "Margin"
-msgstr "Marge"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:5589
-#: flatcamTools/ToolPaint.py:240
-msgid ""
-"Distance by which to avoid\n"
-"the edges of the polygon to\n"
-"be painted."
-msgstr ""
-"Distance à éviter\n"
-"les bords du polygone à\n"
-"être peint."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/PreferencesUI.py:5184
-#: flatcamGUI/PreferencesUI.py:5602 flatcamTools/ToolNonCopperClear.py:348
-#: flatcamTools/ToolPaint.py:251
-msgid "Method"
-msgstr "Méthode"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:491
-msgid ""
-"Algorithm to paint the polygon:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed."
-msgstr ""
-"Algorithme pour peindre le polygone:
Standard: pas fixe vers "
-"l’intérieur.
Basé sur les semences:vers l’extérieur depuis les "
-"semences."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/PreferencesUI.py:5193
-#: flatcamGUI/PreferencesUI.py:5611 flatcamTools/ToolNonCopperClear.py:357
-#: flatcamTools/ToolPaint.py:260
-msgid "Standard"
-msgstr "La norme"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:497 flatcamGUI/PreferencesUI.py:5194
-#: flatcamGUI/PreferencesUI.py:5612 flatcamTools/ToolNonCopperClear.py:358
-#: flatcamTools/ToolPaint.py:261
-msgid "Seed-based"
-msgstr "À base de semences"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/PreferencesUI.py:5195
-#: flatcamGUI/PreferencesUI.py:5613 flatcamTools/ToolNonCopperClear.py:359
-#: flatcamTools/ToolPaint.py:262
-msgid "Straight lines"
-msgstr "Lignes droites"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:505
+#: flatcamEditors/FlatCAMGeoEditor.py:507
msgid "Connect:"
msgstr "Relier:"
-#: flatcamEditors/FlatCAMGeoEditor.py:507 flatcamGUI/PreferencesUI.py:5204
-#: flatcamGUI/PreferencesUI.py:5620 flatcamTools/ToolNonCopperClear.py:366
-#: flatcamTools/ToolPaint.py:269
-msgid ""
-"Draw lines between resulting\n"
-"segments to minimize tool lifts."
-msgstr ""
-"Tracez des lignes entre les résultats\n"
-"segments pour minimiser les montées d’outil."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:515
+#: flatcamEditors/FlatCAMGeoEditor.py:517
msgid "Contour:"
msgstr "Contour:"
-#: flatcamEditors/FlatCAMGeoEditor.py:517 flatcamGUI/PreferencesUI.py:5213
-#: flatcamGUI/PreferencesUI.py:5628 flatcamTools/ToolNonCopperClear.py:373
-#: flatcamTools/ToolPaint.py:276
-msgid ""
-"Cut around the perimeter of the polygon\n"
-"to trim rough edges."
-msgstr ""
-"Couper autour du périmètre du polygone\n"
-"pour couper les bords rugueux."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:2089
+#: flatcamEditors/FlatCAMGeoEditor.py:530 flatcamGUI/FlatCAMGUI.py:2197
msgid "Paint"
msgstr "Peindre"
-#: flatcamEditors/FlatCAMGeoEditor.py:547 flatcamGUI/FlatCAMGUI.py:845
-#: flatcamGUI/FlatCAMGUI.py:2423 flatcamGUI/ObjectUI.py:1731
-#: flatcamTools/ToolPaint.py:41 flatcamTools/ToolPaint.py:533
+#: flatcamEditors/FlatCAMGeoEditor.py:548 flatcamGUI/FlatCAMGUI.py:909
+#: flatcamGUI/FlatCAMGUI.py:2588 flatcamGUI/ObjectUI.py:2057
+#: flatcamTools/ToolPaint.py:43 flatcamTools/ToolPaint.py:738
msgid "Paint Tool"
msgstr "Outil de Peinture"
#: flatcamEditors/FlatCAMGeoEditor.py:584
-msgid "Paint cancelled. No shape selected."
-msgstr "Peinture annulée. Aucune forme sélectionnée."
+#: flatcamEditors/FlatCAMGeoEditor.py:1056
+#: flatcamEditors/FlatCAMGeoEditor.py:3025
+#: flatcamEditors/FlatCAMGeoEditor.py:3053
+#: flatcamEditors/FlatCAMGeoEditor.py:3081
+#: flatcamEditors/FlatCAMGeoEditor.py:4502
+#: flatcamEditors/FlatCAMGrbEditor.py:5601
+msgid "Cancelled. No shape selected."
+msgstr "Annulé. Aucune forme sélectionnée."
#: flatcamEditors/FlatCAMGeoEditor.py:597
-#: flatcamEditors/FlatCAMGeoEditor.py:2910
-#: flatcamEditors/FlatCAMGeoEditor.py:2940
-#: flatcamEditors/FlatCAMGeoEditor.py:2970 flatcamGUI/PreferencesUI.py:3871
-#: flatcamTools/ToolProperties.py:120 flatcamTools/ToolProperties.py:158
+#: flatcamEditors/FlatCAMGeoEditor.py:3043
+#: flatcamEditors/FlatCAMGeoEditor.py:3071
+#: flatcamEditors/FlatCAMGeoEditor.py:3099 flatcamGUI/PreferencesUI.py:4149
+#: flatcamTools/ToolProperties.py:117 flatcamTools/ToolProperties.py:162
msgid "Tools"
msgstr "Outils"
#: flatcamEditors/FlatCAMGeoEditor.py:608
#: flatcamEditors/FlatCAMGeoEditor.py:992
-#: flatcamEditors/FlatCAMGrbEditor.py:5096
-#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamGUI/FlatCAMGUI.py:866
-#: flatcamGUI/FlatCAMGUI.py:2441 flatcamTools/ToolTransform.py:422
+#: flatcamEditors/FlatCAMGrbEditor.py:5140
+#: flatcamEditors/FlatCAMGrbEditor.py:5537 flatcamGUI/FlatCAMGUI.py:930
+#: flatcamGUI/FlatCAMGUI.py:2609 flatcamTools/ToolTransform.py:461
msgid "Transform Tool"
msgstr "Outil de Transformation"
#: flatcamEditors/FlatCAMGeoEditor.py:609
#: flatcamEditors/FlatCAMGeoEditor.py:674
-#: flatcamEditors/FlatCAMGrbEditor.py:5097
-#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/PreferencesUI.py:6238
-#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:80
+#: flatcamEditors/FlatCAMGrbEditor.py:5141
+#: flatcamEditors/FlatCAMGrbEditor.py:5206 flatcamGUI/PreferencesUI.py:6725
+#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:467
msgid "Rotate"
msgstr "Tourner"
#: flatcamEditors/FlatCAMGeoEditor.py:610
-#: flatcamEditors/FlatCAMGrbEditor.py:5098 flatcamTools/ToolTransform.py:26
+#: flatcamEditors/FlatCAMGrbEditor.py:5142 flatcamTools/ToolTransform.py:26
msgid "Skew/Shear"
msgstr "Inclinaison/Cisaillement"
#: flatcamEditors/FlatCAMGeoEditor.py:611
-#: flatcamEditors/FlatCAMGrbEditor.py:2671
-#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/FlatCAMGUI.py:980
-#: flatcamGUI/FlatCAMGUI.py:2017 flatcamGUI/FlatCAMGUI.py:2132
-#: flatcamGUI/FlatCAMGUI.py:2549 flatcamGUI/ObjectUI.py:103
-#: flatcamGUI/ObjectUI.py:121 flatcamGUI/PreferencesUI.py:6288
-#: flatcamTools/ToolTransform.py:27
+#: flatcamEditors/FlatCAMGrbEditor.py:2677
+#: flatcamEditors/FlatCAMGrbEditor.py:5143 flatcamGUI/FlatCAMGUI.py:1048
+#: flatcamGUI/FlatCAMGUI.py:2125 flatcamGUI/FlatCAMGUI.py:2240
+#: flatcamGUI/FlatCAMGUI.py:2723 flatcamGUI/ObjectUI.py:124
+#: flatcamGUI/PreferencesUI.py:6775 flatcamTools/ToolTransform.py:27
msgid "Scale"
msgstr "Mise à l'échelle"
#: flatcamEditors/FlatCAMGeoEditor.py:612
-#: flatcamEditors/FlatCAMGrbEditor.py:5100 flatcamTools/ToolTransform.py:28
+#: flatcamEditors/FlatCAMGrbEditor.py:5144 flatcamTools/ToolTransform.py:28
msgid "Mirror (Flip)"
msgstr "Miroir (flip)"
-#: flatcamEditors/FlatCAMGeoEditor.py:613
-#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamGUI/ObjectUI.py:132
-#: flatcamGUI/ObjectUI.py:148 flatcamGUI/ObjectUI.py:1217
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/PreferencesUI.py:5234
-#: flatcamGUI/PreferencesUI.py:6335 flatcamTools/ToolNonCopperClear.py:393
-#: flatcamTools/ToolTransform.py:29
-msgid "Offset"
-msgstr "Décalage"
-
#: flatcamEditors/FlatCAMGeoEditor.py:626
-#: flatcamEditors/FlatCAMGrbEditor.py:5114 flatcamGUI/FlatCAMGUI.py:787
-#: flatcamGUI/FlatCAMGUI.py:2370
+#: flatcamEditors/FlatCAMGrbEditor.py:5158 flatcamGUI/FlatCAMGUI.py:841
+#: flatcamGUI/FlatCAMGUI.py:2524
msgid "Editor"
msgstr "Éditeur"
#: flatcamEditors/FlatCAMGeoEditor.py:658
-#: flatcamEditors/FlatCAMGrbEditor.py:5146
+#: flatcamEditors/FlatCAMGrbEditor.py:5190
msgid "Angle:"
msgstr "Angle:"
#: flatcamEditors/FlatCAMGeoEditor.py:660
-#: flatcamEditors/FlatCAMGrbEditor.py:5148 flatcamGUI/PreferencesUI.py:6248
-#: flatcamTools/ToolTransform.py:65
+#: flatcamEditors/FlatCAMGrbEditor.py:5192 flatcamGUI/PreferencesUI.py:6735
+#: flatcamTools/ToolTransform.py:63
msgid ""
"Angle for Rotation action, in degrees.\n"
"Float number between -360 and 359.\n"
@@ -3818,7 +4122,7 @@ msgstr ""
"Nombres négatifs pour le mouvement CCW."
#: flatcamEditors/FlatCAMGeoEditor.py:676
-#: flatcamEditors/FlatCAMGrbEditor.py:5164
+#: flatcamEditors/FlatCAMGrbEditor.py:5208
msgid ""
"Rotate the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3829,16 +4133,16 @@ msgstr ""
"le cadre de sélection pour toutes les formes sélectionnées."
#: flatcamEditors/FlatCAMGeoEditor.py:699
-#: flatcamEditors/FlatCAMGrbEditor.py:5187
+#: flatcamEditors/FlatCAMGrbEditor.py:5231
msgid "Angle X:"
msgstr "Angle X:"
#: flatcamEditors/FlatCAMGeoEditor.py:701
#: flatcamEditors/FlatCAMGeoEditor.py:721
-#: flatcamEditors/FlatCAMGrbEditor.py:5189
-#: flatcamEditors/FlatCAMGrbEditor.py:5209 flatcamGUI/PreferencesUI.py:6267
-#: flatcamGUI/PreferencesUI.py:6281 flatcamTools/ToolCalibration.py:508
-#: flatcamTools/ToolCalibration.py:521
+#: flatcamEditors/FlatCAMGrbEditor.py:5233
+#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamGUI/PreferencesUI.py:6754
+#: flatcamGUI/PreferencesUI.py:6768 flatcamTools/ToolCalibration.py:505
+#: flatcamTools/ToolCalibration.py:518
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 359."
@@ -3847,14 +4151,14 @@ msgstr ""
"Nombre flottant entre -360 et 359."
#: flatcamEditors/FlatCAMGeoEditor.py:712
-#: flatcamEditors/FlatCAMGrbEditor.py:5200 flatcamTools/ToolTransform.py:109
+#: flatcamEditors/FlatCAMGrbEditor.py:5244 flatcamTools/ToolTransform.py:468
msgid "Skew X"
msgstr "Fausser X"
#: flatcamEditors/FlatCAMGeoEditor.py:714
#: flatcamEditors/FlatCAMGeoEditor.py:734
-#: flatcamEditors/FlatCAMGrbEditor.py:5202
-#: flatcamEditors/FlatCAMGrbEditor.py:5222
+#: flatcamEditors/FlatCAMGrbEditor.py:5246
+#: flatcamEditors/FlatCAMGrbEditor.py:5266
msgid ""
"Skew/shear the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3865,34 +4169,34 @@ msgstr ""
"le cadre de sélection pour toutes les formes sélectionnées."
#: flatcamEditors/FlatCAMGeoEditor.py:719
-#: flatcamEditors/FlatCAMGrbEditor.py:5207
+#: flatcamEditors/FlatCAMGrbEditor.py:5251
msgid "Angle Y:"
msgstr "Angle Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:732
-#: flatcamEditors/FlatCAMGrbEditor.py:5220 flatcamTools/ToolTransform.py:131
+#: flatcamEditors/FlatCAMGrbEditor.py:5264 flatcamTools/ToolTransform.py:469
msgid "Skew Y"
msgstr "Fausser Y"
#: flatcamEditors/FlatCAMGeoEditor.py:760
-#: flatcamEditors/FlatCAMGrbEditor.py:5248
+#: flatcamEditors/FlatCAMGrbEditor.py:5292
msgid "Factor X:"
msgstr "Facteur X:"
#: flatcamEditors/FlatCAMGeoEditor.py:762
-#: flatcamEditors/FlatCAMGrbEditor.py:5250 flatcamTools/ToolCalibration.py:472
+#: flatcamEditors/FlatCAMGrbEditor.py:5294 flatcamTools/ToolCalibration.py:469
msgid "Factor for Scale action over X axis."
msgstr "Facteur pour l'action de mise à l'échelle sur l'axe X."
#: flatcamEditors/FlatCAMGeoEditor.py:772
-#: flatcamEditors/FlatCAMGrbEditor.py:5260 flatcamTools/ToolTransform.py:158
+#: flatcamEditors/FlatCAMGrbEditor.py:5304 flatcamTools/ToolTransform.py:470
msgid "Scale X"
msgstr "Mise à l'échelle X"
#: flatcamEditors/FlatCAMGeoEditor.py:774
#: flatcamEditors/FlatCAMGeoEditor.py:793
-#: flatcamEditors/FlatCAMGrbEditor.py:5262
-#: flatcamEditors/FlatCAMGrbEditor.py:5281
+#: flatcamEditors/FlatCAMGrbEditor.py:5306
+#: flatcamEditors/FlatCAMGrbEditor.py:5325
msgid ""
"Scale the selected shape(s).\n"
"The point of reference depends on \n"
@@ -3903,28 +4207,28 @@ msgstr ""
"l'état de la case à cocher référence d'échelle."
#: flatcamEditors/FlatCAMGeoEditor.py:779
-#: flatcamEditors/FlatCAMGrbEditor.py:5267
+#: flatcamEditors/FlatCAMGrbEditor.py:5311
msgid "Factor Y:"
msgstr "Facteur Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:781
-#: flatcamEditors/FlatCAMGrbEditor.py:5269 flatcamTools/ToolCalibration.py:484
+#: flatcamEditors/FlatCAMGrbEditor.py:5313 flatcamTools/ToolCalibration.py:481
msgid "Factor for Scale action over Y axis."
msgstr "Facteur de Mise à l'échelle de l'action sur l'axe des ordonnées."
#: flatcamEditors/FlatCAMGeoEditor.py:791
-#: flatcamEditors/FlatCAMGrbEditor.py:5279 flatcamTools/ToolTransform.py:179
+#: flatcamEditors/FlatCAMGrbEditor.py:5323 flatcamTools/ToolTransform.py:471
msgid "Scale Y"
msgstr "Mise à l'échelle Y"
#: flatcamEditors/FlatCAMGeoEditor.py:800
-#: flatcamEditors/FlatCAMGrbEditor.py:5288 flatcamGUI/PreferencesUI.py:6317
-#: flatcamTools/ToolTransform.py:192
+#: flatcamEditors/FlatCAMGrbEditor.py:5332 flatcamGUI/PreferencesUI.py:6804
+#: flatcamTools/ToolTransform.py:190
msgid "Link"
msgstr "Lien"
#: flatcamEditors/FlatCAMGeoEditor.py:802
-#: flatcamEditors/FlatCAMGrbEditor.py:5290
+#: flatcamEditors/FlatCAMGrbEditor.py:5334
msgid ""
"Scale the selected shape(s)\n"
"using the Scale Factor X for both axis."
@@ -3933,13 +4237,13 @@ msgstr ""
"en utilisant le facteur d'échelle X pour les deux axes."
#: flatcamEditors/FlatCAMGeoEditor.py:808
-#: flatcamEditors/FlatCAMGrbEditor.py:5296 flatcamGUI/PreferencesUI.py:6325
-#: flatcamTools/ToolTransform.py:200
+#: flatcamEditors/FlatCAMGrbEditor.py:5340 flatcamGUI/PreferencesUI.py:6812
+#: flatcamTools/ToolTransform.py:197
msgid "Scale Reference"
msgstr "Référence d'échelle"
#: flatcamEditors/FlatCAMGeoEditor.py:810
-#: flatcamEditors/FlatCAMGrbEditor.py:5298
+#: flatcamEditors/FlatCAMGrbEditor.py:5342
msgid ""
"Scale the selected shape(s)\n"
"using the origin reference when checked,\n"
@@ -3952,24 +4256,24 @@ msgstr ""
"des formes sélectionnées quand elle est décochée."
#: flatcamEditors/FlatCAMGeoEditor.py:838
-#: flatcamEditors/FlatCAMGrbEditor.py:5327
+#: flatcamEditors/FlatCAMGrbEditor.py:5371
msgid "Value X:"
msgstr "Valeur X:"
#: flatcamEditors/FlatCAMGeoEditor.py:840
-#: flatcamEditors/FlatCAMGrbEditor.py:5329
+#: flatcamEditors/FlatCAMGrbEditor.py:5373
msgid "Value for Offset action on X axis."
msgstr "Valeur pour l'action de décalage sur l'axe X."
#: flatcamEditors/FlatCAMGeoEditor.py:850
-#: flatcamEditors/FlatCAMGrbEditor.py:5339 flatcamTools/ToolTransform.py:227
+#: flatcamEditors/FlatCAMGrbEditor.py:5383 flatcamTools/ToolTransform.py:474
msgid "Offset X"
msgstr "Décalage X"
#: flatcamEditors/FlatCAMGeoEditor.py:852
#: flatcamEditors/FlatCAMGeoEditor.py:872
-#: flatcamEditors/FlatCAMGrbEditor.py:5341
-#: flatcamEditors/FlatCAMGrbEditor.py:5361
+#: flatcamEditors/FlatCAMGrbEditor.py:5385
+#: flatcamEditors/FlatCAMGrbEditor.py:5405
msgid ""
"Offset the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3980,29 +4284,29 @@ msgstr ""
"le cadre de sélection pour toutes les formes sélectionnées.\n"
#: flatcamEditors/FlatCAMGeoEditor.py:858
-#: flatcamEditors/FlatCAMGrbEditor.py:5347
+#: flatcamEditors/FlatCAMGrbEditor.py:5391
msgid "Value Y:"
msgstr "Valeur Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:860
-#: flatcamEditors/FlatCAMGrbEditor.py:5349
+#: flatcamEditors/FlatCAMGrbEditor.py:5393
msgid "Value for Offset action on Y axis."
msgstr "Valeur pour l'action de décalage sur l'axe Y."
#: flatcamEditors/FlatCAMGeoEditor.py:870
-#: flatcamEditors/FlatCAMGrbEditor.py:5359 flatcamTools/ToolTransform.py:248
+#: flatcamEditors/FlatCAMGrbEditor.py:5403 flatcamTools/ToolTransform.py:475
msgid "Offset Y"
msgstr "Décalage Y"
#: flatcamEditors/FlatCAMGeoEditor.py:901
-#: flatcamEditors/FlatCAMGrbEditor.py:5390 flatcamTools/ToolTransform.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:5434 flatcamTools/ToolTransform.py:476
msgid "Flip on X"
msgstr "Miroir sur X"
#: flatcamEditors/FlatCAMGeoEditor.py:903
#: flatcamEditors/FlatCAMGeoEditor.py:910
-#: flatcamEditors/FlatCAMGrbEditor.py:5392
-#: flatcamEditors/FlatCAMGrbEditor.py:5399
+#: flatcamEditors/FlatCAMGrbEditor.py:5436
+#: flatcamEditors/FlatCAMGrbEditor.py:5443
msgid ""
"Flip the selected shape(s) over the X axis.\n"
"Does not create a new shape."
@@ -4011,17 +4315,17 @@ msgstr ""
"Ne crée pas une nouvelle forme."
#: flatcamEditors/FlatCAMGeoEditor.py:908
-#: flatcamEditors/FlatCAMGrbEditor.py:5397 flatcamTools/ToolTransform.py:272
+#: flatcamEditors/FlatCAMGrbEditor.py:5441 flatcamTools/ToolTransform.py:477
msgid "Flip on Y"
msgstr "Miroir sur Y"
#: flatcamEditors/FlatCAMGeoEditor.py:916
-#: flatcamEditors/FlatCAMGrbEditor.py:5405
+#: flatcamEditors/FlatCAMGrbEditor.py:5449
msgid "Ref Pt"
msgstr "Point de réf"
#: flatcamEditors/FlatCAMGeoEditor.py:918
-#: flatcamEditors/FlatCAMGrbEditor.py:5407
+#: flatcamEditors/FlatCAMGrbEditor.py:5451
msgid ""
"Flip the selected shape(s)\n"
"around the point in Point Entry Field.\n"
@@ -4044,12 +4348,12 @@ msgstr ""
"Pointez sur le champ Entrée et cliquez sur Basculer sur X (Y)."
#: flatcamEditors/FlatCAMGeoEditor.py:930
-#: flatcamEditors/FlatCAMGrbEditor.py:5419
+#: flatcamEditors/FlatCAMGrbEditor.py:5463
msgid "Point:"
msgstr "Point:"
#: flatcamEditors/FlatCAMGeoEditor.py:932
-#: flatcamEditors/FlatCAMGrbEditor.py:5421 flatcamTools/ToolTransform.py:301
+#: flatcamEditors/FlatCAMGrbEditor.py:5465 flatcamTools/ToolTransform.py:300
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
@@ -4061,7 +4365,7 @@ msgstr ""
"le 'y' dans (x, y) sera utilisé lors de l'utilisation de Flip sur Y."
#: flatcamEditors/FlatCAMGeoEditor.py:942
-#: flatcamEditors/FlatCAMGrbEditor.py:5433 flatcamTools/ToolTransform.py:312
+#: flatcamEditors/FlatCAMGrbEditor.py:5477 flatcamTools/ToolTransform.py:310
msgid ""
"The point coordinates can be captured by\n"
"left click on canvas together with pressing\n"
@@ -4071,357 +4375,357 @@ msgstr ""
"clic gauche sur la toile avec appui\n"
"Touche Majuscule. Puis cliquez sur le bouton Ajouter pour insérer."
-#: flatcamEditors/FlatCAMGeoEditor.py:1057
-#: flatcamEditors/FlatCAMGrbEditor.py:5558
-msgid "Transformation cancelled. No shape selected."
-msgstr "Transformation annulée. Aucune forme sélectionnée."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:1258
-#: flatcamEditors/FlatCAMGrbEditor.py:5742
+#: flatcamEditors/FlatCAMGeoEditor.py:1305
+#: flatcamEditors/FlatCAMGrbEditor.py:5785
msgid "No shape selected. Please Select a shape to rotate!"
msgstr ""
"Aucune forme sélectionnée. Veuillez sélectionner une forme à faire pivoter!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1261
-#: flatcamEditors/FlatCAMGrbEditor.py:5745 flatcamTools/ToolTransform.py:611
+#: flatcamEditors/FlatCAMGeoEditor.py:1308
+#: flatcamEditors/FlatCAMGrbEditor.py:5788 flatcamTools/ToolTransform.py:680
msgid "Appying Rotate"
msgstr "Appliquer la Rotation"
-#: flatcamEditors/FlatCAMGeoEditor.py:1290
-#: flatcamEditors/FlatCAMGrbEditor.py:5779
+#: flatcamEditors/FlatCAMGeoEditor.py:1334
+#: flatcamEditors/FlatCAMGrbEditor.py:5820
msgid "Done. Rotate completed."
msgstr "Terminé. Rotation terminée."
-#: flatcamEditors/FlatCAMGeoEditor.py:1295
+#: flatcamEditors/FlatCAMGeoEditor.py:1336
msgid "Rotation action was not executed"
msgstr "L'action de rotation n'a pas été exécutée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1307
-#: flatcamEditors/FlatCAMGrbEditor.py:5800
+#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGrbEditor.py:5839
msgid "No shape selected. Please Select a shape to flip!"
msgstr ""
"Aucune forme sélectionnée. Veuillez sélectionner une forme à retourner!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1310
-#: flatcamEditors/FlatCAMGrbEditor.py:5803 flatcamTools/ToolTransform.py:664
+#: flatcamEditors/FlatCAMGeoEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:5842 flatcamTools/ToolTransform.py:729
msgid "Applying Flip"
msgstr "Appliquer Flip"
-#: flatcamEditors/FlatCAMGeoEditor.py:1341
-#: flatcamEditors/FlatCAMGrbEditor.py:5843 flatcamTools/ToolTransform.py:707
+#: flatcamEditors/FlatCAMGeoEditor.py:1387
+#: flatcamEditors/FlatCAMGrbEditor.py:5880 flatcamTools/ToolTransform.py:770
msgid "Flip on the Y axis done"
msgstr "Tournez sur l'axe des Y fait"
-#: flatcamEditors/FlatCAMGeoEditor.py:1345
-#: flatcamEditors/FlatCAMGrbEditor.py:5852 flatcamTools/ToolTransform.py:717
+#: flatcamEditors/FlatCAMGeoEditor.py:1391
+#: flatcamEditors/FlatCAMGrbEditor.py:5889 flatcamTools/ToolTransform.py:779
msgid "Flip on the X axis done"
msgstr "Tournez sur l'axe X terminé"
-#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGeoEditor.py:1399
msgid "Flip action was not executed"
msgstr "L'action Flip n'a pas été exécutée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1365
-#: flatcamEditors/FlatCAMGrbEditor.py:5874
+#: flatcamEditors/FlatCAMGeoEditor.py:1417
+#: flatcamEditors/FlatCAMGrbEditor.py:5909
msgid "No shape selected. Please Select a shape to shear/skew!"
msgstr ""
"Aucune forme sélectionnée. Veuillez sélectionner une forme pour cisailler / "
"incliner!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1368
-#: flatcamEditors/FlatCAMGrbEditor.py:5877 flatcamTools/ToolTransform.py:742
+#: flatcamEditors/FlatCAMGeoEditor.py:1420
+#: flatcamEditors/FlatCAMGrbEditor.py:5912 flatcamTools/ToolTransform.py:802
msgid "Applying Skew"
msgstr "Application de l'inclinaison"
-#: flatcamEditors/FlatCAMGeoEditor.py:1394
-#: flatcamEditors/FlatCAMGrbEditor.py:5913
+#: flatcamEditors/FlatCAMGeoEditor.py:1443
+#: flatcamEditors/FlatCAMGrbEditor.py:5946
msgid "Skew on the X axis done"
msgstr "Inclinaison sur l'axe X terminée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1397
-#: flatcamEditors/FlatCAMGrbEditor.py:5915
+#: flatcamEditors/FlatCAMGeoEditor.py:1445
+#: flatcamEditors/FlatCAMGrbEditor.py:5948
msgid "Skew on the Y axis done"
msgstr "Inclinaison sur l'axe des Y faite"
-#: flatcamEditors/FlatCAMGeoEditor.py:1401
+#: flatcamEditors/FlatCAMGeoEditor.py:1448
msgid "Skew action was not executed"
msgstr "L'action de biais n'a pas été exécutée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1413
-#: flatcamEditors/FlatCAMGrbEditor.py:5939
+#: flatcamEditors/FlatCAMGeoEditor.py:1470
+#: flatcamEditors/FlatCAMGrbEditor.py:5970
msgid "No shape selected. Please Select a shape to scale!"
msgstr ""
"Aucune forme sélectionnée. Veuillez sélectionner une forme à mettre à "
"l'échelle!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1416
-#: flatcamEditors/FlatCAMGrbEditor.py:5942 flatcamTools/ToolTransform.py:794
+#: flatcamEditors/FlatCAMGeoEditor.py:1473
+#: flatcamEditors/FlatCAMGrbEditor.py:5973 flatcamTools/ToolTransform.py:849
msgid "Applying Scale"
msgstr "Échelle d'application"
-#: flatcamEditors/FlatCAMGeoEditor.py:1451
-#: flatcamEditors/FlatCAMGrbEditor.py:5981
+#: flatcamEditors/FlatCAMGeoEditor.py:1505
+#: flatcamEditors/FlatCAMGrbEditor.py:6010
msgid "Scale on the X axis done"
msgstr "Échelle terminée sur l'axe X"
-#: flatcamEditors/FlatCAMGeoEditor.py:1454
-#: flatcamEditors/FlatCAMGrbEditor.py:5983
+#: flatcamEditors/FlatCAMGeoEditor.py:1507
+#: flatcamEditors/FlatCAMGrbEditor.py:6012
msgid "Scale on the Y axis done"
msgstr "Echelle terminée sur l'axe des Y"
-#: flatcamEditors/FlatCAMGeoEditor.py:1457
+#: flatcamEditors/FlatCAMGeoEditor.py:1509
msgid "Scale action was not executed"
msgstr "L'action d'échelle n'a pas été exécutée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1467
-#: flatcamEditors/FlatCAMGrbEditor.py:6000
+#: flatcamEditors/FlatCAMGeoEditor.py:1524
+#: flatcamEditors/FlatCAMGrbEditor.py:6029
msgid "No shape selected. Please Select a shape to offset!"
msgstr ""
"Aucune forme sélectionnée. Veuillez sélectionner une forme à compenser!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1470
-#: flatcamEditors/FlatCAMGrbEditor.py:6003 flatcamTools/ToolTransform.py:849
+#: flatcamEditors/FlatCAMGeoEditor.py:1527
+#: flatcamEditors/FlatCAMGrbEditor.py:6032 flatcamTools/ToolTransform.py:901
msgid "Applying Offset"
msgstr "Appliquer un Décalage"
-#: flatcamEditors/FlatCAMGeoEditor.py:1483
-#: flatcamEditors/FlatCAMGrbEditor.py:6024
+#: flatcamEditors/FlatCAMGeoEditor.py:1537
+#: flatcamEditors/FlatCAMGrbEditor.py:6053
msgid "Offset on the X axis done"
msgstr "Décalage sur l'axe X terminé"
-#: flatcamEditors/FlatCAMGeoEditor.py:1486
-#: flatcamEditors/FlatCAMGrbEditor.py:6026
+#: flatcamEditors/FlatCAMGeoEditor.py:1539
+#: flatcamEditors/FlatCAMGrbEditor.py:6055
msgid "Offset on the Y axis done"
msgstr "Décalage sur l'axe Y terminé"
-#: flatcamEditors/FlatCAMGeoEditor.py:1490
+#: flatcamEditors/FlatCAMGeoEditor.py:1542
msgid "Offset action was not executed"
msgstr "L'action offset n'a pas été exécutée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1494
-#: flatcamEditors/FlatCAMGrbEditor.py:6033
+#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGrbEditor.py:6062
msgid "Rotate ..."
msgstr "Tourner ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1495
-#: flatcamEditors/FlatCAMGeoEditor.py:1550
-#: flatcamEditors/FlatCAMGeoEditor.py:1567
-#: flatcamEditors/FlatCAMGrbEditor.py:6034
-#: flatcamEditors/FlatCAMGrbEditor.py:6083
-#: flatcamEditors/FlatCAMGrbEditor.py:6098
+#: flatcamEditors/FlatCAMGeoEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:1602
+#: flatcamEditors/FlatCAMGeoEditor.py:1619
+#: flatcamEditors/FlatCAMGrbEditor.py:6063
+#: flatcamEditors/FlatCAMGrbEditor.py:6112
+#: flatcamEditors/FlatCAMGrbEditor.py:6127
msgid "Enter an Angle Value (degrees)"
msgstr "Entrer une valeur d'angle (degrés)"
-#: flatcamEditors/FlatCAMGeoEditor.py:1504
-#: flatcamEditors/FlatCAMGrbEditor.py:6042
+#: flatcamEditors/FlatCAMGeoEditor.py:1556
+#: flatcamEditors/FlatCAMGrbEditor.py:6071
msgid "Geometry shape rotate done"
msgstr "Rotation de la forme géométrique effectuée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1508
-#: flatcamEditors/FlatCAMGrbEditor.py:6045
+#: flatcamEditors/FlatCAMGeoEditor.py:1560
+#: flatcamEditors/FlatCAMGrbEditor.py:6074
msgid "Geometry shape rotate cancelled"
msgstr "Rotation de la forme géométrique annulée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1513
-#: flatcamEditors/FlatCAMGrbEditor.py:6050
+#: flatcamEditors/FlatCAMGeoEditor.py:1565
+#: flatcamEditors/FlatCAMGrbEditor.py:6079
msgid "Offset on X axis ..."
msgstr "Décalage sur l'axe des X ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1514
-#: flatcamEditors/FlatCAMGeoEditor.py:1533
-#: flatcamEditors/FlatCAMGrbEditor.py:6051
-#: flatcamEditors/FlatCAMGrbEditor.py:6068
+#: flatcamEditors/FlatCAMGeoEditor.py:1566
+#: flatcamEditors/FlatCAMGeoEditor.py:1585
+#: flatcamEditors/FlatCAMGrbEditor.py:6080
+#: flatcamEditors/FlatCAMGrbEditor.py:6097
msgid "Enter a distance Value"
msgstr "Entrez une valeur de distance"
-#: flatcamEditors/FlatCAMGeoEditor.py:1523
-#: flatcamEditors/FlatCAMGrbEditor.py:6059
+#: flatcamEditors/FlatCAMGeoEditor.py:1575
+#: flatcamEditors/FlatCAMGrbEditor.py:6088
msgid "Geometry shape offset on X axis done"
msgstr "Géométrie décalée sur l'axe des X effectuée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1527
-#: flatcamEditors/FlatCAMGrbEditor.py:6062
+#: flatcamEditors/FlatCAMGeoEditor.py:1579
+#: flatcamEditors/FlatCAMGrbEditor.py:6091
msgid "Geometry shape offset X cancelled"
msgstr "Décalage géométrique X annulé"
-#: flatcamEditors/FlatCAMGeoEditor.py:1532
-#: flatcamEditors/FlatCAMGrbEditor.py:6067
+#: flatcamEditors/FlatCAMGeoEditor.py:1584
+#: flatcamEditors/FlatCAMGrbEditor.py:6096
msgid "Offset on Y axis ..."
msgstr "Décalage sur l'axe Y ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1542
-#: flatcamEditors/FlatCAMGrbEditor.py:6076
+#: flatcamEditors/FlatCAMGeoEditor.py:1594
+#: flatcamEditors/FlatCAMGrbEditor.py:6105
msgid "Geometry shape offset on Y axis done"
msgstr "Géométrie décalée sur l'axe des Y effectuée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGeoEditor.py:1598
msgid "Geometry shape offset on Y axis canceled"
msgstr "Décalage de la forme de la géométrie sur l'axe des Y"
-#: flatcamEditors/FlatCAMGeoEditor.py:1549
-#: flatcamEditors/FlatCAMGrbEditor.py:6082
+#: flatcamEditors/FlatCAMGeoEditor.py:1601
+#: flatcamEditors/FlatCAMGrbEditor.py:6111
msgid "Skew on X axis ..."
msgstr "Skew on X axis ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1559
-#: flatcamEditors/FlatCAMGrbEditor.py:6091
+#: flatcamEditors/FlatCAMGeoEditor.py:1611
+#: flatcamEditors/FlatCAMGrbEditor.py:6120
msgid "Geometry shape skew on X axis done"
msgstr "Forme de la géométrie inclinée sur l'axe X terminée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1563
+#: flatcamEditors/FlatCAMGeoEditor.py:1615
msgid "Geometry shape skew on X axis canceled"
msgstr "Géométrie inclinée sur l'axe X annulée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1566
-#: flatcamEditors/FlatCAMGrbEditor.py:6097
+#: flatcamEditors/FlatCAMGeoEditor.py:1618
+#: flatcamEditors/FlatCAMGrbEditor.py:6126
msgid "Skew on Y axis ..."
msgstr "Inclinez sur l'axe Y ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1576
-#: flatcamEditors/FlatCAMGrbEditor.py:6106
+#: flatcamEditors/FlatCAMGeoEditor.py:1628
+#: flatcamEditors/FlatCAMGrbEditor.py:6135
msgid "Geometry shape skew on Y axis done"
msgstr "Géométrie inclinée sur l'axe des Y"
-#: flatcamEditors/FlatCAMGeoEditor.py:1580
+#: flatcamEditors/FlatCAMGeoEditor.py:1632
msgid "Geometry shape skew on Y axis canceled"
msgstr "Géométrie inclinée sur l'axe des Y oblitérée"
-#: flatcamEditors/FlatCAMGeoEditor.py:1951
-#: flatcamEditors/FlatCAMGeoEditor.py:2016
-#: flatcamEditors/FlatCAMGrbEditor.py:1436
-#: flatcamEditors/FlatCAMGrbEditor.py:1514
+#: flatcamEditors/FlatCAMGeoEditor.py:2009
+#: flatcamEditors/FlatCAMGeoEditor.py:2080
+#: flatcamEditors/FlatCAMGrbEditor.py:1435
+#: flatcamEditors/FlatCAMGrbEditor.py:1513
msgid "Click on Center point ..."
msgstr "Cliquez sur Point central ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1958
-#: flatcamEditors/FlatCAMGrbEditor.py:1446
+#: flatcamEditors/FlatCAMGeoEditor.py:2022
+#: flatcamEditors/FlatCAMGrbEditor.py:1445
msgid "Click on Perimeter point to complete ..."
msgstr "Cliquez sur le point du périmètre pour terminer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:2054
msgid "Done. Adding Circle completed."
msgstr "Terminé. Ajout du cercle terminé."
-#: flatcamEditors/FlatCAMGeoEditor.py:2038
-#: flatcamEditors/FlatCAMGrbEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:2108
+#: flatcamEditors/FlatCAMGrbEditor.py:1546
msgid "Click on Start point ..."
msgstr "Cliquez sur le point de départ ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2040
-#: flatcamEditors/FlatCAMGrbEditor.py:1549
+#: flatcamEditors/FlatCAMGeoEditor.py:2110
+#: flatcamEditors/FlatCAMGrbEditor.py:1548
msgid "Click on Point3 ..."
msgstr "Cliquez sur le point 3 ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2042
-#: flatcamEditors/FlatCAMGrbEditor.py:1551
+#: flatcamEditors/FlatCAMGeoEditor.py:2112
+#: flatcamEditors/FlatCAMGrbEditor.py:1550
msgid "Click on Stop point ..."
msgstr "Cliquez sur le point d'arrêt ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2047
-#: flatcamEditors/FlatCAMGrbEditor.py:1556
+#: flatcamEditors/FlatCAMGeoEditor.py:2117
+#: flatcamEditors/FlatCAMGrbEditor.py:1555
msgid "Click on Stop point to complete ..."
msgstr "Cliquez sur le point d'arrêt pour terminer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2049
-#: flatcamEditors/FlatCAMGrbEditor.py:1558
+#: flatcamEditors/FlatCAMGeoEditor.py:2119
+#: flatcamEditors/FlatCAMGrbEditor.py:1557
msgid "Click on Point2 to complete ..."
msgstr "Cliquez sur le point 2 pour compléter ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2051
-#: flatcamEditors/FlatCAMGrbEditor.py:1560
+#: flatcamEditors/FlatCAMGeoEditor.py:2121
+#: flatcamEditors/FlatCAMGrbEditor.py:1559
msgid "Click on Center point to complete ..."
msgstr "Cliquez sur le point central pour terminer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2063
+#: flatcamEditors/FlatCAMGeoEditor.py:2133
#, python-format
msgid "Direction: %s"
msgstr "Direction: %s"
-#: flatcamEditors/FlatCAMGeoEditor.py:2077
-#: flatcamEditors/FlatCAMGrbEditor.py:1586
+#: flatcamEditors/FlatCAMGeoEditor.py:2147
+#: flatcamEditors/FlatCAMGrbEditor.py:1585
msgid "Mode: Start -> Stop -> Center. Click on Start point ..."
msgstr ""
"Mode: Démarrer -> Arrêter -> Centre. Cliquez sur le point de départ ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2080
-#: flatcamEditors/FlatCAMGrbEditor.py:1589
+#: flatcamEditors/FlatCAMGeoEditor.py:2150
+#: flatcamEditors/FlatCAMGrbEditor.py:1588
msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..."
msgstr "Mode: Point 1 -> Point 3 -> Point 2. Cliquez sur Point 1 ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2083
-#: flatcamEditors/FlatCAMGrbEditor.py:1592
+#: flatcamEditors/FlatCAMGeoEditor.py:2153
+#: flatcamEditors/FlatCAMGrbEditor.py:1591
msgid "Mode: Center -> Start -> Stop. Click on Center point ..."
msgstr "Mode: Centre -> Démarrer -> Arrêter. Cliquez sur Point central ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2224
+#: flatcamEditors/FlatCAMGeoEditor.py:2294
msgid "Done. Arc completed."
msgstr "Terminé. Arc terminé."
-#: flatcamEditors/FlatCAMGeoEditor.py:2255
-#: flatcamEditors/FlatCAMGeoEditor.py:2322
+#: flatcamEditors/FlatCAMGeoEditor.py:2325
+#: flatcamEditors/FlatCAMGeoEditor.py:2398
msgid "Click on 1st corner ..."
msgstr "Cliquez sur le 1er coin ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2261
+#: flatcamEditors/FlatCAMGeoEditor.py:2337
msgid "Click on opposite corner to complete ..."
msgstr "Cliquez sur le coin opposé pour terminer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2291
+#: flatcamEditors/FlatCAMGeoEditor.py:2367
msgid "Done. Rectangle completed."
msgstr "Terminé. Rectangle complété."
-#: flatcamEditors/FlatCAMGeoEditor.py:2329
+#: flatcamEditors/FlatCAMGeoEditor.py:2411 flatcamTools/ToolNCC.py:1728
+#: flatcamTools/ToolPaint.py:1623
msgid "Click on next Point or click right mouse button to complete ..."
msgstr ""
"Cliquez sur le point suivant ou cliquez avec le bouton droit de la souris "
"pour terminer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2360
+#: flatcamEditors/FlatCAMGeoEditor.py:2442
msgid "Done. Polygon completed."
msgstr "Terminé. Le polygone est terminé."
-#: flatcamEditors/FlatCAMGeoEditor.py:2374
-#: flatcamEditors/FlatCAMGeoEditor.py:2439
-#: flatcamEditors/FlatCAMGrbEditor.py:1112
-#: flatcamEditors/FlatCAMGrbEditor.py:1323
+#: flatcamEditors/FlatCAMGeoEditor.py:2456
+#: flatcamEditors/FlatCAMGeoEditor.py:2521
+#: flatcamEditors/FlatCAMGrbEditor.py:1111
+#: flatcamEditors/FlatCAMGrbEditor.py:1322
msgid "Backtracked one point ..."
msgstr "Retracé un point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2417
+#: flatcamEditors/FlatCAMGeoEditor.py:2499
msgid "Done. Path completed."
msgstr "Terminé. Chemin complété."
-#: flatcamEditors/FlatCAMGeoEditor.py:2580
+#: flatcamEditors/FlatCAMGeoEditor.py:2658
+msgid "No shape selected. Select a shape to explode"
+msgstr "Aucune forme sélectionnée. Sélectionnez une forme à exploser"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2691
msgid "Done. Polygons exploded into lines."
msgstr "Terminé. Les polygones ont explosé en lignes."
-#: flatcamEditors/FlatCAMGeoEditor.py:2612
+#: flatcamEditors/FlatCAMGeoEditor.py:2723
msgid "MOVE: No shape selected. Select a shape to move"
msgstr "Déplacer: Aucune forme sélectionnée. Sélectionnez une forme à déplacer"
-#: flatcamEditors/FlatCAMGeoEditor.py:2615
-#: flatcamEditors/FlatCAMGeoEditor.py:2628
+#: flatcamEditors/FlatCAMGeoEditor.py:2726
+#: flatcamEditors/FlatCAMGeoEditor.py:2746
msgid " MOVE: Click on reference point ..."
msgstr " Déplacer: Cliquez sur le point de référence ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2619
+#: flatcamEditors/FlatCAMGeoEditor.py:2731
msgid " Click on destination point ..."
msgstr " Cliquez sur le point de destination ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2653
+#: flatcamEditors/FlatCAMGeoEditor.py:2771
msgid "Done. Geometry(s) Move completed."
msgstr "Terminé. Géométrie (s) Déplacement terminé."
-#: flatcamEditors/FlatCAMGeoEditor.py:2783
+#: flatcamEditors/FlatCAMGeoEditor.py:2904
msgid "Done. Geometry(s) Copy completed."
msgstr "Terminé. Géométrie (s) Copie terminée."
-#: flatcamEditors/FlatCAMGeoEditor.py:2811
-#: flatcamEditors/FlatCAMGrbEditor.py:898
+#: flatcamEditors/FlatCAMGeoEditor.py:2935
+#: flatcamEditors/FlatCAMGrbEditor.py:897
msgid "Click on 1st point ..."
msgstr "Cliquez sur le 1er point ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2829
+#: flatcamEditors/FlatCAMGeoEditor.py:2959
msgid ""
"Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. "
"Error"
@@ -4429,96 +4733,132 @@ msgstr ""
"Police non supportée. Seuls les formats Normal, Gras, Italique et "
"GrasItalique sont pris en charge. Erreur"
-#: flatcamEditors/FlatCAMGeoEditor.py:2837
+#: flatcamEditors/FlatCAMGeoEditor.py:2967
msgid "No text to add."
msgstr "Pas de texte à ajouter."
-#: flatcamEditors/FlatCAMGeoEditor.py:2844
+#: flatcamEditors/FlatCAMGeoEditor.py:2977
msgid " Done. Adding Text completed."
msgstr " Terminé. Ajout de texte terminé."
-#: flatcamEditors/FlatCAMGeoEditor.py:2881
+#: flatcamEditors/FlatCAMGeoEditor.py:3014
msgid "Create buffer geometry ..."
msgstr "Créer une géométrie tampon ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2892
-#: flatcamEditors/FlatCAMGeoEditor.py:2922
-#: flatcamEditors/FlatCAMGeoEditor.py:2952
-msgid "Buffer cancelled. No shape selected."
-msgstr "Tampon annulé. Aucune forme sélectionnée."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:2917
-#: flatcamEditors/FlatCAMGrbEditor.py:4950
+#: flatcamEditors/FlatCAMGeoEditor.py:3049
+#: flatcamEditors/FlatCAMGrbEditor.py:4994
msgid "Done. Buffer Tool completed."
msgstr "Terminé. L'outil Tampon est terminé."
-#: flatcamEditors/FlatCAMGeoEditor.py:2947
+#: flatcamEditors/FlatCAMGeoEditor.py:3077
msgid "Done. Buffer Int Tool completed."
msgstr "Terminé. L'outil Intérieur du Tampon est terminé."
-#: flatcamEditors/FlatCAMGeoEditor.py:2977
+#: flatcamEditors/FlatCAMGeoEditor.py:3105
msgid "Done. Buffer Ext Tool completed."
msgstr "Terminé. L'outil Extérieur du Tampon est terminé."
-#: flatcamEditors/FlatCAMGeoEditor.py:3023
-#: flatcamEditors/FlatCAMGrbEditor.py:2152
+#: flatcamEditors/FlatCAMGeoEditor.py:3154
+#: flatcamEditors/FlatCAMGrbEditor.py:2151
msgid "Select a shape to act as deletion area ..."
msgstr "Sélectionnez une forme pour agir comme zone de suppression ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3025
-#: flatcamEditors/FlatCAMGeoEditor.py:3045
-#: flatcamEditors/FlatCAMGeoEditor.py:3051
-#: flatcamEditors/FlatCAMGrbEditor.py:2154
+#: flatcamEditors/FlatCAMGeoEditor.py:3156
+#: flatcamEditors/FlatCAMGeoEditor.py:3182
+#: flatcamEditors/FlatCAMGeoEditor.py:3188
+#: flatcamEditors/FlatCAMGrbEditor.py:2153
msgid "Click to pick-up the erase shape..."
msgstr "Cliquez pour récupérer la forme à effacer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3055
-#: flatcamEditors/FlatCAMGrbEditor.py:2213
+#: flatcamEditors/FlatCAMGeoEditor.py:3192
+#: flatcamEditors/FlatCAMGrbEditor.py:2212
msgid "Click to erase ..."
msgstr "Cliquez pour effacer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3084
-#: flatcamEditors/FlatCAMGrbEditor.py:2246
+#: flatcamEditors/FlatCAMGeoEditor.py:3221
+#: flatcamEditors/FlatCAMGrbEditor.py:2245
msgid "Done. Eraser tool action completed."
msgstr "Terminé. Action de l’outil gomme terminée."
-#: flatcamEditors/FlatCAMGeoEditor.py:3131
+#: flatcamEditors/FlatCAMGeoEditor.py:3271
msgid "Create Paint geometry ..."
msgstr "Créer une géométrie de peinture ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3144
-#: flatcamEditors/FlatCAMGrbEditor.py:2402
+#: flatcamEditors/FlatCAMGeoEditor.py:3284
+#: flatcamEditors/FlatCAMGrbEditor.py:2408
msgid "Shape transformations ..."
msgstr "Transformations de forme ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3763
+#: flatcamEditors/FlatCAMGeoEditor.py:3340 flatcamGUI/PreferencesUI.py:4636
+msgid "Geometry Editor"
+msgstr "Éditeur de Géométrie"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamTools/ToolCutOut.py:96
+msgid "Type"
+msgstr "Type"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346 flatcamGUI/ObjectUI.py:217
+#: flatcamGUI/ObjectUI.py:741 flatcamGUI/ObjectUI.py:1431
+#: flatcamGUI/ObjectUI.py:2153 flatcamGUI/ObjectUI.py:2457
+#: flatcamGUI/ObjectUI.py:2524 flatcamTools/ToolCalibration.py:234
+#: flatcamTools/ToolFiducials.py:73
+msgid "Name"
+msgstr "Nom"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3588
+msgid "Ring"
+msgstr "L'anneau"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3590
+msgid "Line"
+msgstr "Ligne"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3592 flatcamGUI/FlatCAMGUI.py:2187
+#: flatcamGUI/PreferencesUI.py:5607 flatcamGUI/PreferencesUI.py:6131
+#: flatcamTools/ToolNCC.py:584 flatcamTools/ToolPaint.py:528
+msgid "Polygon"
+msgstr "Polygone"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3594
+msgid "Multi-Line"
+msgstr "Multi-ligne"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3596
+msgid "Multi-Polygon"
+msgstr "Multi-polygone"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3603
+msgid "Geo Elem"
+msgstr "Élém. de Géo"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4076
msgid "Editing MultiGeo Geometry, tool"
msgstr "Modification de la géométrie MultiGeo, outil"
-#: flatcamEditors/FlatCAMGeoEditor.py:3765
+#: flatcamEditors/FlatCAMGeoEditor.py:4078
msgid "with diameter"
msgstr "avec diamètre"
-#: flatcamEditors/FlatCAMGeoEditor.py:4169
-msgid "Copy cancelled. No shape selected."
-msgstr "Copie annulée. Aucune forme sélectionnée."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:4176 flatcamGUI/FlatCAMGUI.py:3472
-#: flatcamGUI/FlatCAMGUI.py:3519 flatcamGUI/FlatCAMGUI.py:3538
-#: flatcamGUI/FlatCAMGUI.py:3679 flatcamGUI/FlatCAMGUI.py:3719
-#: flatcamGUI/FlatCAMGUI.py:3732 flatcamGUI/FlatCAMGUI.py:3749
+#: flatcamEditors/FlatCAMGeoEditor.py:4509 flatcamGUI/FlatCAMGUI.py:3695
+#: flatcamGUI/FlatCAMGUI.py:3741 flatcamGUI/FlatCAMGUI.py:3759
+#: flatcamGUI/FlatCAMGUI.py:3899 flatcamGUI/FlatCAMGUI.py:3938
+#: flatcamGUI/FlatCAMGUI.py:3950 flatcamGUI/FlatCAMGUI.py:3967
msgid "Click on target point."
msgstr "Cliquez sur le point cible."
-#: flatcamEditors/FlatCAMGeoEditor.py:4479
-#: flatcamEditors/FlatCAMGeoEditor.py:4514
+#: flatcamEditors/FlatCAMGeoEditor.py:4823
+#: flatcamEditors/FlatCAMGeoEditor.py:4858
msgid "A selection of at least 2 geo items is required to do Intersection."
msgstr ""
"Une sélection d'au moins 2 éléments géographiques est requise pour effectuer "
"Intersection."
-#: flatcamEditors/FlatCAMGeoEditor.py:4600
-#: flatcamEditors/FlatCAMGeoEditor.py:4704
+#: flatcamEditors/FlatCAMGeoEditor.py:4944
+#: flatcamEditors/FlatCAMGeoEditor.py:5048
msgid ""
"Negative buffer value is not accepted. Use Buffer interior to generate an "
"'inside' shape"
@@ -4526,61 +4866,61 @@ msgstr ""
"La valeur de tampon négative n'est pas acceptée. Utiliser l'intérieur du "
"tampon pour générer une forme «intérieure»"
-#: flatcamEditors/FlatCAMGeoEditor.py:4610
-#: flatcamEditors/FlatCAMGeoEditor.py:4663
-#: flatcamEditors/FlatCAMGeoEditor.py:4713
+#: flatcamEditors/FlatCAMGeoEditor.py:4954
+#: flatcamEditors/FlatCAMGeoEditor.py:5007
+#: flatcamEditors/FlatCAMGeoEditor.py:5057
msgid "Nothing selected for buffering."
msgstr "Aucune sélection pour la mise en mémoire tampon."
-#: flatcamEditors/FlatCAMGeoEditor.py:4615
-#: flatcamEditors/FlatCAMGeoEditor.py:4667
-#: flatcamEditors/FlatCAMGeoEditor.py:4718
+#: flatcamEditors/FlatCAMGeoEditor.py:4959
+#: flatcamEditors/FlatCAMGeoEditor.py:5011
+#: flatcamEditors/FlatCAMGeoEditor.py:5062
msgid "Invalid distance for buffering."
msgstr "Distance non valide pour la mise en mémoire tampon."
-#: flatcamEditors/FlatCAMGeoEditor.py:4639
-#: flatcamEditors/FlatCAMGeoEditor.py:4738
+#: flatcamEditors/FlatCAMGeoEditor.py:4983
+#: flatcamEditors/FlatCAMGeoEditor.py:5082
msgid "Failed, the result is empty. Choose a different buffer value."
msgstr ""
"Echec, le résultat est vide. Choisissez une valeur de tampon différente."
-#: flatcamEditors/FlatCAMGeoEditor.py:4650
+#: flatcamEditors/FlatCAMGeoEditor.py:4994
msgid "Full buffer geometry created."
msgstr "Géométrie de tampon complète créée."
-#: flatcamEditors/FlatCAMGeoEditor.py:4656
+#: flatcamEditors/FlatCAMGeoEditor.py:5000
msgid "Negative buffer value is not accepted."
msgstr "La valeur de tampon négative n'est pas acceptée."
-#: flatcamEditors/FlatCAMGeoEditor.py:4687
+#: flatcamEditors/FlatCAMGeoEditor.py:5031
msgid "Failed, the result is empty. Choose a smaller buffer value."
msgstr ""
"Echec, le résultat est vide. Choisissez une valeur de tampon plus petite."
-#: flatcamEditors/FlatCAMGeoEditor.py:4697
+#: flatcamEditors/FlatCAMGeoEditor.py:5041
msgid "Interior buffer geometry created."
msgstr "Géométrie du tampon intérieur créée."
-#: flatcamEditors/FlatCAMGeoEditor.py:4748
+#: flatcamEditors/FlatCAMGeoEditor.py:5092
msgid "Exterior buffer geometry created."
msgstr "Géométrie tampon externe créée."
-#: flatcamEditors/FlatCAMGeoEditor.py:4754
+#: flatcamEditors/FlatCAMGeoEditor.py:5098
#, python-format
-msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)."
+msgid "Could not do Paint. Overlap value has to be less than 100%%."
msgstr ""
-"Impossible de faire de la peinture. La valeur de chevauchement doit être "
-"inférieure à 1,00 (100%%)."
+"Impossible de peindre. La valeur de chevauchement doit être inférieure à 100 "
+"%%."
-#: flatcamEditors/FlatCAMGeoEditor.py:4761
+#: flatcamEditors/FlatCAMGeoEditor.py:5105
msgid "Nothing selected for painting."
msgstr "Rien de sélectionné pour la peinture."
-#: flatcamEditors/FlatCAMGeoEditor.py:4767
+#: flatcamEditors/FlatCAMGeoEditor.py:5111
msgid "Invalid value for"
msgstr "Invalid value for"
-#: flatcamEditors/FlatCAMGeoEditor.py:4826
+#: flatcamEditors/FlatCAMGeoEditor.py:5170
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different method of Paint"
@@ -4588,7 +4928,7 @@ msgstr ""
"Impossible de faire de la peinture. Essayez une combinaison de paramètres "
"différente. Ou une autre méthode de peinture"
-#: flatcamEditors/FlatCAMGeoEditor.py:4840
+#: flatcamEditors/FlatCAMGeoEditor.py:5181
msgid "Paint done."
msgstr "Peinture faite."
@@ -4604,7 +4944,7 @@ msgid "Aperture size is zero. It needs to be greater than zero."
msgstr "La taille de l'ouverture est zéro. Il doit être supérieur à zéro."
#: flatcamEditors/FlatCAMGrbEditor.py:371
-#: flatcamEditors/FlatCAMGrbEditor.py:685
+#: flatcamEditors/FlatCAMGrbEditor.py:684
msgid ""
"Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'."
msgstr ""
@@ -4625,173 +4965,167 @@ msgstr ""
msgid "Click on the Pad Circular Array Start position"
msgstr "Cliquez sur le Tableau circulaire du Pad position de départ"
-#: flatcamEditors/FlatCAMGrbEditor.py:711
+#: flatcamEditors/FlatCAMGrbEditor.py:710
msgid "Too many Pads for the selected spacing angle."
msgstr "Trop de pads pour l'angle d'espacement sélectionné."
-#: flatcamEditors/FlatCAMGrbEditor.py:734
+#: flatcamEditors/FlatCAMGrbEditor.py:733
msgid "Done. Pad Array added."
msgstr "Terminé. Pad Tableau ajouté."
-#: flatcamEditors/FlatCAMGrbEditor.py:759
+#: flatcamEditors/FlatCAMGrbEditor.py:758
msgid "Select shape(s) and then click ..."
msgstr "Sélectionnez forme (s) puis cliquez sur ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:771
+#: flatcamEditors/FlatCAMGrbEditor.py:770
msgid "Failed. Nothing selected."
msgstr "Échoué. Rien de sélectionné."
-#: flatcamEditors/FlatCAMGrbEditor.py:787
+#: flatcamEditors/FlatCAMGrbEditor.py:786
msgid ""
"Failed. Poligonize works only on geometries belonging to the same aperture."
msgstr ""
"Échoué. Poligonize ne fonctionne que sur les géométries appartenant à la "
"même ouverture."
-#: flatcamEditors/FlatCAMGrbEditor.py:841
+#: flatcamEditors/FlatCAMGrbEditor.py:840
msgid "Done. Poligonize completed."
msgstr "Terminé. Polygoniser terminé."
-#: flatcamEditors/FlatCAMGrbEditor.py:896
-#: flatcamEditors/FlatCAMGrbEditor.py:1129
-#: flatcamEditors/FlatCAMGrbEditor.py:1153
+#: flatcamEditors/FlatCAMGrbEditor.py:895
+#: flatcamEditors/FlatCAMGrbEditor.py:1128
+#: flatcamEditors/FlatCAMGrbEditor.py:1152
msgid "Corner Mode 1: 45 degrees ..."
msgstr "Mode d'angle 1: 45 degrés ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:908
-#: flatcamEditors/FlatCAMGrbEditor.py:1238
+#: flatcamEditors/FlatCAMGrbEditor.py:907
+#: flatcamEditors/FlatCAMGrbEditor.py:1237
msgid "Click on next Point or click Right mouse button to complete ..."
msgstr ""
"Cliquez sur le prochain point ou cliquez avec le bouton droit de la souris "
"pour terminer ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1117
-#: flatcamEditors/FlatCAMGrbEditor.py:1150
+#: flatcamEditors/FlatCAMGrbEditor.py:1116
+#: flatcamEditors/FlatCAMGrbEditor.py:1149
msgid "Corner Mode 2: Reverse 45 degrees ..."
msgstr "Mode de Coin 2: Inverse de 45 degrés ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1120
-#: flatcamEditors/FlatCAMGrbEditor.py:1147
+#: flatcamEditors/FlatCAMGrbEditor.py:1119
+#: flatcamEditors/FlatCAMGrbEditor.py:1146
msgid "Corner Mode 3: 90 degrees ..."
msgstr "Mode de Coin 3: 90 degrés ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1123
-#: flatcamEditors/FlatCAMGrbEditor.py:1144
+#: flatcamEditors/FlatCAMGrbEditor.py:1122
+#: flatcamEditors/FlatCAMGrbEditor.py:1143
msgid "Corner Mode 4: Reverse 90 degrees ..."
msgstr "Mode de Coin 4: inverser de 90 degrés ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1126
-#: flatcamEditors/FlatCAMGrbEditor.py:1141
+#: flatcamEditors/FlatCAMGrbEditor.py:1125
+#: flatcamEditors/FlatCAMGrbEditor.py:1140
msgid "Corner Mode 5: Free angle ..."
msgstr "Mode de Coin 5: Angle libre ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1183
-#: flatcamEditors/FlatCAMGrbEditor.py:1359
-#: flatcamEditors/FlatCAMGrbEditor.py:1398
+#: flatcamEditors/FlatCAMGrbEditor.py:1182
+#: flatcamEditors/FlatCAMGrbEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:1397
msgid "Track Mode 1: 45 degrees ..."
msgstr "Mode de Piste 1: 45 degrés ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1339
-#: flatcamEditors/FlatCAMGrbEditor.py:1393
+#: flatcamEditors/FlatCAMGrbEditor.py:1338
+#: flatcamEditors/FlatCAMGrbEditor.py:1392
msgid "Track Mode 2: Reverse 45 degrees ..."
msgstr "Mode de Piste 2: Recul de 45 degrés ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1344
-#: flatcamEditors/FlatCAMGrbEditor.py:1388
+#: flatcamEditors/FlatCAMGrbEditor.py:1343
+#: flatcamEditors/FlatCAMGrbEditor.py:1387
msgid "Track Mode 3: 90 degrees ..."
msgstr "Mode de Piste 3: 90 degrés ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1349
-#: flatcamEditors/FlatCAMGrbEditor.py:1383
+#: flatcamEditors/FlatCAMGrbEditor.py:1348
+#: flatcamEditors/FlatCAMGrbEditor.py:1382
msgid "Track Mode 4: Reverse 90 degrees ..."
msgstr "Mode de Piste 4: Recul de 90 degrés ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1354
-#: flatcamEditors/FlatCAMGrbEditor.py:1378
+#: flatcamEditors/FlatCAMGrbEditor.py:1353
+#: flatcamEditors/FlatCAMGrbEditor.py:1377
msgid "Track Mode 5: Free angle ..."
msgstr "Mode de Piste 5: Angle libre ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1779
+#: flatcamEditors/FlatCAMGrbEditor.py:1778
msgid "Scale the selected Gerber apertures ..."
msgstr "Mettez à l'échelle les ouvertures de Gerber sélectionnées ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1821
+#: flatcamEditors/FlatCAMGrbEditor.py:1820
msgid "Buffer the selected apertures ..."
msgstr "Tamponner les ouvertures sélectionnées ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1863
+#: flatcamEditors/FlatCAMGrbEditor.py:1862
msgid "Mark polygon areas in the edited Gerber ..."
msgstr "Marquer les zones polygonales dans le Gerber édité ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1929
+#: flatcamEditors/FlatCAMGrbEditor.py:1928
msgid "Nothing selected to move"
msgstr "Rien de sélectionné pour bouger"
-#: flatcamEditors/FlatCAMGrbEditor.py:2054
+#: flatcamEditors/FlatCAMGrbEditor.py:2053
msgid "Done. Apertures Move completed."
msgstr "Terminé. Déplacement des ouvertures terminé."
-#: flatcamEditors/FlatCAMGrbEditor.py:2136
+#: flatcamEditors/FlatCAMGrbEditor.py:2135
msgid "Done. Apertures copied."
msgstr "Terminé. Ouvertures copiées."
-#: flatcamEditors/FlatCAMGrbEditor.py:2447 flatcamGUI/FlatCAMGUI.py:2110
-#: flatcamGUI/PreferencesUI.py:2443
+#: flatcamEditors/FlatCAMGrbEditor.py:2453 flatcamGUI/FlatCAMGUI.py:2218
+#: flatcamGUI/PreferencesUI.py:2623
msgid "Gerber Editor"
msgstr "Gerber éditeur"
-#: flatcamEditors/FlatCAMGrbEditor.py:2467 flatcamGUI/ObjectUI.py:223
-#: flatcamTools/ToolProperties.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2473 flatcamGUI/ObjectUI.py:227
+#: flatcamTools/ToolProperties.py:159
msgid "Apertures"
msgstr "Les ouvertures"
-#: flatcamEditors/FlatCAMGrbEditor.py:2469 flatcamGUI/ObjectUI.py:225
+#: flatcamEditors/FlatCAMGrbEditor.py:2475 flatcamGUI/ObjectUI.py:229
msgid "Apertures Table for the Gerber Object."
msgstr "Tableau des Ouvertures pour l'objet Gerber."
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
msgid "Code"
msgstr "Code"
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-msgid "Type"
-msgstr "Type"
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
-#: flatcamGUI/PreferencesUI.py:1009 flatcamGUI/PreferencesUI.py:7270
-#: flatcamGUI/PreferencesUI.py:7299 flatcamGUI/PreferencesUI.py:7401
-#: flatcamTools/ToolCopperThieving.py:260
-#: flatcamTools/ToolCopperThieving.py:300 flatcamTools/ToolFiducials.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/PreferencesUI.py:1184 flatcamGUI/PreferencesUI.py:7776
+#: flatcamGUI/PreferencesUI.py:7805 flatcamGUI/PreferencesUI.py:7907
+#: flatcamTools/ToolCopperThieving.py:262
+#: flatcamTools/ToolCopperThieving.py:302 flatcamTools/ToolFiducials.py:156
msgid "Size"
msgstr "Taille"
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
msgid "Dim"
msgstr "Dim"
-#: flatcamEditors/FlatCAMGrbEditor.py:2484 flatcamGUI/ObjectUI.py:262
+#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:266
msgid "Index"
msgstr "Indice"
-#: flatcamEditors/FlatCAMGrbEditor.py:2486
-#: flatcamEditors/FlatCAMGrbEditor.py:2515 flatcamGUI/ObjectUI.py:264
+#: flatcamEditors/FlatCAMGrbEditor.py:2492
+#: flatcamEditors/FlatCAMGrbEditor.py:2521 flatcamGUI/ObjectUI.py:268
msgid "Aperture Code"
msgstr "Code d'Ouverture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2488 flatcamGUI/ObjectUI.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:2494 flatcamGUI/ObjectUI.py:270
msgid "Type of aperture: circular, rectangle, macros etc"
msgstr "Type d'ouverture: circulaire, rectangle, macros, etc"
-#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:268
+#: flatcamEditors/FlatCAMGrbEditor.py:2496 flatcamGUI/ObjectUI.py:272
msgid "Aperture Size:"
msgstr "Taille d'Ouverture:"
-#: flatcamEditors/FlatCAMGrbEditor.py:2492 flatcamGUI/ObjectUI.py:270
+#: flatcamEditors/FlatCAMGrbEditor.py:2498 flatcamGUI/ObjectUI.py:274
msgid ""
"Aperture Dimensions:\n"
" - (width, height) for R, O type.\n"
@@ -4801,15 +5135,15 @@ msgstr ""
" - (largeur, hauteur) pour le type R, O.\n"
" - (dia, nVertices) pour le type P"
-#: flatcamEditors/FlatCAMGrbEditor.py:2516 flatcamGUI/PreferencesUI.py:2474
+#: flatcamEditors/FlatCAMGrbEditor.py:2522 flatcamGUI/PreferencesUI.py:2654
msgid "Code for the new aperture"
msgstr "Code pour la nouvelle ouverture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2525
+#: flatcamEditors/FlatCAMGrbEditor.py:2531
msgid "Aperture Size"
msgstr "Taille d'ouverture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2527
+#: flatcamEditors/FlatCAMGrbEditor.py:2533
msgid ""
"Size for the new aperture.\n"
"If aperture type is 'R' or 'O' then\n"
@@ -4823,11 +5157,11 @@ msgstr ""
"calculé comme:\n"
"sqrt (largeur ** 2 + hauteur ** 2)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2541
+#: flatcamEditors/FlatCAMGrbEditor.py:2547
msgid "Aperture Type"
msgstr "Type d'ouverture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2543
+#: flatcamEditors/FlatCAMGrbEditor.py:2549
msgid ""
"Select the type of new aperture. Can be:\n"
"C = circular\n"
@@ -4839,11 +5173,11 @@ msgstr ""
"R = rectangulaire\n"
"O = oblong"
-#: flatcamEditors/FlatCAMGrbEditor.py:2554
+#: flatcamEditors/FlatCAMGrbEditor.py:2560
msgid "Aperture Dim"
msgstr "Dim. d'Ouverture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2556
+#: flatcamEditors/FlatCAMGrbEditor.py:2562
msgid ""
"Dimensions for the new aperture.\n"
"Active only for rectangular apertures (type R).\n"
@@ -4853,39 +5187,39 @@ msgstr ""
"Actif uniquement pour les ouvertures rectangulaires (type R).\n"
"Le format est (largeur, hauteur)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2565
+#: flatcamEditors/FlatCAMGrbEditor.py:2571
msgid "Add/Delete Aperture"
msgstr "Ajouter / Supprimer une Ouverture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2567
+#: flatcamEditors/FlatCAMGrbEditor.py:2573
msgid "Add/Delete an aperture in the aperture table"
msgstr "Ajouter / Supprimer une ouverture dans la table des ouvertures"
-#: flatcamEditors/FlatCAMGrbEditor.py:2576
+#: flatcamEditors/FlatCAMGrbEditor.py:2582
msgid "Add a new aperture to the aperture list."
msgstr "Ajoutez une nouvelle ouverture à la liste des ouvertures."
-#: flatcamEditors/FlatCAMGrbEditor.py:2581
+#: flatcamEditors/FlatCAMGrbEditor.py:2587
msgid "Delete a aperture in the aperture list"
msgstr "Supprimer une ouverture dans la liste des ouvertures"
-#: flatcamEditors/FlatCAMGrbEditor.py:2598
+#: flatcamEditors/FlatCAMGrbEditor.py:2604
msgid "Buffer Aperture"
msgstr "Ouverture du Tampon"
-#: flatcamEditors/FlatCAMGrbEditor.py:2600
+#: flatcamEditors/FlatCAMGrbEditor.py:2606
msgid "Buffer a aperture in the aperture list"
msgstr "Buffer une ouverture dans la liste des ouvertures"
-#: flatcamEditors/FlatCAMGrbEditor.py:2613 flatcamGUI/PreferencesUI.py:2608
+#: flatcamEditors/FlatCAMGrbEditor.py:2619 flatcamGUI/PreferencesUI.py:2790
msgid "Buffer distance"
msgstr "Distance Tampon"
-#: flatcamEditors/FlatCAMGrbEditor.py:2614
+#: flatcamEditors/FlatCAMGrbEditor.py:2620
msgid "Buffer corner"
msgstr "Coin Tampon"
-#: flatcamEditors/FlatCAMGrbEditor.py:2616
+#: flatcamEditors/FlatCAMGrbEditor.py:2622
msgid ""
"There are 3 types of corners:\n"
" - 'Round': the corner is rounded.\n"
@@ -4899,27 +5233,26 @@ msgstr ""
" - \"Biseauté:\" le coin est une ligne qui relie directement les "
"fonctionnalités réunies dans le coin"
-#: flatcamEditors/FlatCAMGrbEditor.py:2631 flatcamGUI/FlatCAMGUI.py:978
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2087
-#: flatcamGUI/FlatCAMGUI.py:2130 flatcamGUI/FlatCAMGUI.py:2547
-#: flatcamGUI/PreferencesUI.py:6393 flatcamTools/ToolTransform.py:30
-#: flatcamTools/ToolTransform.py:349
+#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:1046
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2195
+#: flatcamGUI/FlatCAMGUI.py:2238 flatcamGUI/FlatCAMGUI.py:2721
+#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolTransform.py:30
msgid "Buffer"
msgstr "Tampon"
-#: flatcamEditors/FlatCAMGrbEditor.py:2646
+#: flatcamEditors/FlatCAMGrbEditor.py:2652
msgid "Scale Aperture"
msgstr "Échelle d'Ouverture"
-#: flatcamEditors/FlatCAMGrbEditor.py:2648
+#: flatcamEditors/FlatCAMGrbEditor.py:2654
msgid "Scale a aperture in the aperture list"
msgstr "Mettre à l'échelle une ouverture dans la liste des ouvertures"
-#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/PreferencesUI.py:2623
+#: flatcamEditors/FlatCAMGrbEditor.py:2662 flatcamGUI/PreferencesUI.py:2805
msgid "Scale factor"
msgstr "Facteur d'échelle"
-#: flatcamEditors/FlatCAMGrbEditor.py:2658
+#: flatcamEditors/FlatCAMGrbEditor.py:2664
msgid ""
"The factor by which to scale the selected aperture.\n"
"Values can be between 0.0000 and 999.9999"
@@ -4927,19 +5260,19 @@ msgstr ""
"Le facteur par lequel mettre à l'échelle l'ouverture sélectionnée.\n"
"Les valeurs peuvent être comprises entre 0,0000 et 999,9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2686
+#: flatcamEditors/FlatCAMGrbEditor.py:2692
msgid "Mark polygons"
msgstr "Marquer des polygones"
-#: flatcamEditors/FlatCAMGrbEditor.py:2688
+#: flatcamEditors/FlatCAMGrbEditor.py:2694
msgid "Mark the polygon areas."
msgstr "Marquez les zones polygonales."
-#: flatcamEditors/FlatCAMGrbEditor.py:2696
+#: flatcamEditors/FlatCAMGrbEditor.py:2702
msgid "Area UPPER threshold"
msgstr "Seuil de la zone supérieure"
-#: flatcamEditors/FlatCAMGrbEditor.py:2698
+#: flatcamEditors/FlatCAMGrbEditor.py:2704
msgid ""
"The threshold value, all areas less than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
@@ -4947,11 +5280,11 @@ msgstr ""
"La valeur de seuil, toutes les zones inférieures à celle-ci sont marquées.\n"
"Peut avoir une valeur comprise entre 0.0000 et 9999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2705
+#: flatcamEditors/FlatCAMGrbEditor.py:2711
msgid "Area LOWER threshold"
msgstr "Zone inférieure seuil"
-#: flatcamEditors/FlatCAMGrbEditor.py:2707
+#: flatcamEditors/FlatCAMGrbEditor.py:2713
msgid ""
"The threshold value, all areas more than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
@@ -4959,36 +5292,32 @@ msgstr ""
"La valeur de seuil, toutes les zones plus que cela sont marquées.\n"
"Peut avoir une valeur comprise entre 0.0000 et 9999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2721
+#: flatcamEditors/FlatCAMGrbEditor.py:2727
msgid "Mark"
msgstr "Marque"
-#: flatcamEditors/FlatCAMGrbEditor.py:2723
+#: flatcamEditors/FlatCAMGrbEditor.py:2729
msgid "Mark the polygons that fit within limits."
msgstr "Marquez les polygones qui correspondent aux limites."
-#: flatcamEditors/FlatCAMGrbEditor.py:2729
+#: flatcamEditors/FlatCAMGrbEditor.py:2735
msgid "Delete all the marked polygons."
msgstr "Supprimer tous les polygones marqués."
-#: flatcamEditors/FlatCAMGrbEditor.py:2733
-msgid "Clear"
-msgstr "Effacer"
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2735
+#: flatcamEditors/FlatCAMGrbEditor.py:2741
msgid "Clear all the markings."
msgstr "Effacer toutes les marques."
-#: flatcamEditors/FlatCAMGrbEditor.py:2755 flatcamGUI/FlatCAMGUI.py:963
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamEditors/FlatCAMGrbEditor.py:2761 flatcamGUI/FlatCAMGUI.py:1031
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2706
msgid "Add Pad Array"
msgstr "Ajouter un Tableau de Pads"
-#: flatcamEditors/FlatCAMGrbEditor.py:2757
+#: flatcamEditors/FlatCAMGrbEditor.py:2763
msgid "Add an array of pads (linear or circular array)"
msgstr "Ajouter un tableau de pads (tableau linéaire ou circulaire)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2763
+#: flatcamEditors/FlatCAMGrbEditor.py:2769
msgid ""
"Select the type of pads array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -4996,15 +5325,15 @@ msgstr ""
"Sélectionnez le type de tableau de pads à créer.\n"
"Il peut être linéaire X (Y) ou circulaire"
-#: flatcamEditors/FlatCAMGrbEditor.py:2774 flatcamGUI/PreferencesUI.py:2511
+#: flatcamEditors/FlatCAMGrbEditor.py:2780 flatcamGUI/PreferencesUI.py:2691
msgid "Nr of pads"
msgstr "Nombre de pads"
-#: flatcamEditors/FlatCAMGrbEditor.py:2776 flatcamGUI/PreferencesUI.py:2513
+#: flatcamEditors/FlatCAMGrbEditor.py:2782 flatcamGUI/PreferencesUI.py:2693
msgid "Specify how many pads to be in the array."
msgstr "Spécifiez combien de pads doivent être dans le tableau."
-#: flatcamEditors/FlatCAMGrbEditor.py:2825
+#: flatcamEditors/FlatCAMGrbEditor.py:2831
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -5016,14 +5345,14 @@ msgstr ""
"La valeur minimale est: -359,99 degrés.\n"
"La valeur maximale est: 360,00 degrés."
-#: flatcamEditors/FlatCAMGrbEditor.py:3307
-#: flatcamEditors/FlatCAMGrbEditor.py:3311
+#: flatcamEditors/FlatCAMGrbEditor.py:3321
+#: flatcamEditors/FlatCAMGrbEditor.py:3325
msgid "Aperture code value is missing or wrong format. Add it and retry."
msgstr ""
"La valeur du code d'ouverture est manquante ou le format est incorrect. "
"Ajoutez-le et réessayez."
-#: flatcamEditors/FlatCAMGrbEditor.py:3347
+#: flatcamEditors/FlatCAMGrbEditor.py:3361
msgid ""
"Aperture dimensions value is missing or wrong format. Add it in format "
"(width, height) and retry."
@@ -5031,189 +5360,189 @@ msgstr ""
"La valeur des dimensions d’ouverture est manquante ou d’un format incorrect. "
"Ajoutez-le au format (largeur, hauteur) et réessayez."
-#: flatcamEditors/FlatCAMGrbEditor.py:3360
+#: flatcamEditors/FlatCAMGrbEditor.py:3374
msgid "Aperture size value is missing or wrong format. Add it and retry."
msgstr ""
"La valeur de la taille d’ouverture est manquante ou d’un format incorrect. "
"Ajoutez-le et réessayez."
-#: flatcamEditors/FlatCAMGrbEditor.py:3371
+#: flatcamEditors/FlatCAMGrbEditor.py:3385
msgid "Aperture already in the aperture table."
msgstr "Ouverture déjà dans la table des ouvertures."
-#: flatcamEditors/FlatCAMGrbEditor.py:3379
+#: flatcamEditors/FlatCAMGrbEditor.py:3393
msgid "Added new aperture with code"
msgstr "Ajout d'une nouvelle ouverture avec code"
-#: flatcamEditors/FlatCAMGrbEditor.py:3408
+#: flatcamEditors/FlatCAMGrbEditor.py:3422
msgid " Select an aperture in Aperture Table"
msgstr " Sélectionnez une ouverture dans le Tableau des Ouvertures"
-#: flatcamEditors/FlatCAMGrbEditor.py:3416
+#: flatcamEditors/FlatCAMGrbEditor.py:3430
msgid "Select an aperture in Aperture Table -->"
msgstr "Sélectionnez une ouverture dans le Tableau des Ouvertures -->"
-#: flatcamEditors/FlatCAMGrbEditor.py:3439
+#: flatcamEditors/FlatCAMGrbEditor.py:3453
msgid "Deleted aperture with code"
msgstr "Ouverture supprimée avec code"
-#: flatcamEditors/FlatCAMGrbEditor.py:3924
+#: flatcamEditors/FlatCAMGrbEditor.py:3950
msgid "Loading Gerber into Editor"
msgstr "Chargement de Gerber dans l'éditeur"
-#: flatcamEditors/FlatCAMGrbEditor.py:4034
+#: flatcamEditors/FlatCAMGrbEditor.py:4078
msgid "Setting up the UI"
msgstr "Configuration de IU"
-#: flatcamEditors/FlatCAMGrbEditor.py:4035
+#: flatcamEditors/FlatCAMGrbEditor.py:4079
msgid "Adding geometry finished. Preparing the GUI"
msgstr "Ajout de la géométrie terminé. Préparation de l'interface graphique"
-#: flatcamEditors/FlatCAMGrbEditor.py:4044
+#: flatcamEditors/FlatCAMGrbEditor.py:4088
msgid "Finished loading the Gerber object into the editor."
msgstr "Le chargement de l'objet Gerber dans l'éditeur est terminé."
-#: flatcamEditors/FlatCAMGrbEditor.py:4184
+#: flatcamEditors/FlatCAMGrbEditor.py:4228
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."
-#: flatcamEditors/FlatCAMGrbEditor.py:4194
+#: flatcamEditors/FlatCAMGrbEditor.py:4238
msgid "Creating Gerber."
msgstr "Créer Gerber."
-#: flatcamEditors/FlatCAMGrbEditor.py:4203
+#: flatcamEditors/FlatCAMGrbEditor.py:4247
msgid "Done. Gerber editing finished."
msgstr "Terminé. Gerber édition terminée."
-#: flatcamEditors/FlatCAMGrbEditor.py:4222
+#: flatcamEditors/FlatCAMGrbEditor.py:4265
msgid "Cancelled. No aperture is selected"
msgstr "Annulé. Aucune ouverture n'est sélectionnée"
-#: flatcamEditors/FlatCAMGrbEditor.py:4782
+#: flatcamEditors/FlatCAMGrbEditor.py:4826
msgid "Failed. No aperture geometry is selected."
msgstr "Échoué. Aucune géométrie d'ouverture n'est sélectionnée."
-#: flatcamEditors/FlatCAMGrbEditor.py:4791
-#: flatcamEditors/FlatCAMGrbEditor.py:5062
+#: flatcamEditors/FlatCAMGrbEditor.py:4835
+#: flatcamEditors/FlatCAMGrbEditor.py:5106
msgid "Done. Apertures geometry deleted."
msgstr "Terminé. Géométrie des ouvertures supprimée."
-#: flatcamEditors/FlatCAMGrbEditor.py:4934
+#: flatcamEditors/FlatCAMGrbEditor.py:4978
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."
-#: flatcamEditors/FlatCAMGrbEditor.py:4946
+#: flatcamEditors/FlatCAMGrbEditor.py:4990
msgid "Failed."
msgstr "Échoué."
-#: flatcamEditors/FlatCAMGrbEditor.py:4965
+#: flatcamEditors/FlatCAMGrbEditor.py:5009
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."
-#: flatcamEditors/FlatCAMGrbEditor.py:4997
+#: flatcamEditors/FlatCAMGrbEditor.py:5041
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."
-#: flatcamEditors/FlatCAMGrbEditor.py:5013
+#: flatcamEditors/FlatCAMGrbEditor.py:5057
msgid "Done. Scale Tool completed."
msgstr "Terminé. Outil d'échelle terminé."
-#: flatcamEditors/FlatCAMGrbEditor.py:5051
+#: flatcamEditors/FlatCAMGrbEditor.py:5095
msgid "Polygons marked."
msgstr "Polygones marqués."
-#: flatcamEditors/FlatCAMGrbEditor.py:5054
+#: flatcamEditors/FlatCAMGrbEditor.py:5098
msgid "No polygons were marked. None fit within the limits."
msgstr "Aucun polygone n'a été marqué. Aucun ne rentre dans les limites."
-#: flatcamEditors/FlatCAMGrbEditor.py:5783
+#: flatcamEditors/FlatCAMGrbEditor.py:5822
msgid "Rotation action was not executed."
msgstr "L'action de rotation n'a pas été exécutée."
-#: flatcamEditors/FlatCAMGrbEditor.py:5919
+#: flatcamEditors/FlatCAMGrbEditor.py:5950
msgid "Skew action was not executed."
msgstr "L'action fausser n'a pas été exécutée."
-#: flatcamEditors/FlatCAMGrbEditor.py:5986
+#: flatcamEditors/FlatCAMGrbEditor.py:6015
msgid "Scale action was not executed."
msgstr "L'action d'échelle n'a pas été exécutée."
-#: flatcamEditors/FlatCAMGrbEditor.py:6029
+#: flatcamEditors/FlatCAMGrbEditor.py:6058
msgid "Offset action was not executed."
msgstr "L'action decalage n'a pas été exécutée."
-#: flatcamEditors/FlatCAMGrbEditor.py:6079
+#: flatcamEditors/FlatCAMGrbEditor.py:6108
msgid "Geometry shape offset Y cancelled"
msgstr "Décalage géométrique de la forme Y annulé"
-#: flatcamEditors/FlatCAMGrbEditor.py:6094
+#: flatcamEditors/FlatCAMGrbEditor.py:6123
msgid "Geometry shape skew X cancelled"
msgstr "Fausser géométrique de la forme X annulé"
-#: flatcamEditors/FlatCAMGrbEditor.py:6109
+#: flatcamEditors/FlatCAMGrbEditor.py:6138
msgid "Geometry shape skew Y cancelled"
msgstr "Fausser géométrique de la forme Y annulé"
-#: flatcamEditors/FlatCAMTextEditor.py:72
+#: flatcamEditors/FlatCAMTextEditor.py:74
msgid "Print Preview"
msgstr "Aperçu avant imp"
-#: flatcamEditors/FlatCAMTextEditor.py:73
+#: flatcamEditors/FlatCAMTextEditor.py:75
msgid "Open a OS standard Preview Print window."
msgstr ""
"Ouvrez une fenêtre d'aperçu avant impression standard du système "
"d'exploitation."
-#: flatcamEditors/FlatCAMTextEditor.py:76
+#: flatcamEditors/FlatCAMTextEditor.py:78
msgid "Print Code"
msgstr "Code d'impression"
-#: flatcamEditors/FlatCAMTextEditor.py:77
+#: flatcamEditors/FlatCAMTextEditor.py:79
msgid "Open a OS standard Print window."
msgstr "Ouvrez une fenêtre d'impression standard du système d'exploitation."
-#: flatcamEditors/FlatCAMTextEditor.py:79
+#: flatcamEditors/FlatCAMTextEditor.py:81
msgid "Find in Code"
msgstr "Trouver dans le code"
-#: flatcamEditors/FlatCAMTextEditor.py:80
+#: flatcamEditors/FlatCAMTextEditor.py:82
msgid "Will search and highlight in yellow the string in the Find box."
msgstr "Recherche et surligne en jaune la chaîne dans la zone de recherche."
-#: flatcamEditors/FlatCAMTextEditor.py:84
+#: flatcamEditors/FlatCAMTextEditor.py:86
msgid "Find box. Enter here the strings to be searched in the text."
msgstr "Boîte de recherche. Entrez ici les chaînes à rechercher dans le texte."
-#: flatcamEditors/FlatCAMTextEditor.py:86
+#: flatcamEditors/FlatCAMTextEditor.py:88
msgid "Replace With"
msgstr "Remplacer par"
-#: flatcamEditors/FlatCAMTextEditor.py:87
+#: flatcamEditors/FlatCAMTextEditor.py:89
msgid ""
"Will replace the string from the Find box with the one in the Replace box."
msgstr ""
"Remplacera la chaîne de la zone Rechercher par celle de la zone Remplacer."
-#: flatcamEditors/FlatCAMTextEditor.py:91
+#: flatcamEditors/FlatCAMTextEditor.py:93
msgid "String to replace the one in the Find box throughout the text."
msgstr "Chaîne pour remplacer celle de la zone Rechercher dans tout le texte."
-#: flatcamEditors/FlatCAMTextEditor.py:93 flatcamGUI/ObjectUI.py:482
-#: flatcamGUI/ObjectUI.py:1809 flatcamGUI/PreferencesUI.py:2070
-#: flatcamGUI/PreferencesUI.py:4419 flatcamGUI/PreferencesUI.py:5647
+#: flatcamEditors/FlatCAMTextEditor.py:95 flatcamGUI/ObjectUI.py:485
+#: flatcamGUI/ObjectUI.py:2137 flatcamGUI/PreferencesUI.py:2250
+#: flatcamGUI/PreferencesUI.py:4712
msgid "All"
msgstr "Tout"
-#: flatcamEditors/FlatCAMTextEditor.py:94
+#: flatcamEditors/FlatCAMTextEditor.py:96
msgid ""
"When checked it will replace all instances in the 'Find' box\n"
"with the text in the 'Replace' box.."
@@ -5222,162 +5551,171 @@ msgstr ""
"'Rechercher'\n"
"avec le texte dans la case 'Remplacer' .."
-#: flatcamEditors/FlatCAMTextEditor.py:97
+#: flatcamEditors/FlatCAMTextEditor.py:99
msgid "Copy All"
msgstr "Tout copier"
-#: flatcamEditors/FlatCAMTextEditor.py:98
+#: flatcamEditors/FlatCAMTextEditor.py:100
msgid "Will copy all the text in the Code Editor to the clipboard."
msgstr "Copiera tout le texte de l'éditeur de code dans le presse-papiers."
-#: flatcamEditors/FlatCAMTextEditor.py:101
+#: flatcamEditors/FlatCAMTextEditor.py:103
msgid "Open Code"
msgstr "Code ouvert"
-#: flatcamEditors/FlatCAMTextEditor.py:102
+#: flatcamEditors/FlatCAMTextEditor.py:104
msgid "Will open a text file in the editor."
msgstr "Va ouvrir un fichier texte dans l'éditeur."
-#: flatcamEditors/FlatCAMTextEditor.py:104
+#: flatcamEditors/FlatCAMTextEditor.py:106
msgid "Save Code"
msgstr "Enregistrer le code"
-#: flatcamEditors/FlatCAMTextEditor.py:105
+#: flatcamEditors/FlatCAMTextEditor.py:107
msgid "Will save the text in the editor into a file."
msgstr "Va enregistrer le texte dans l'éditeur dans un fichier."
-#: flatcamEditors/FlatCAMTextEditor.py:107
+#: flatcamEditors/FlatCAMTextEditor.py:109
msgid "Run Code"
msgstr "Code d'exécution"
-#: flatcamEditors/FlatCAMTextEditor.py:108
+#: flatcamEditors/FlatCAMTextEditor.py:110
msgid "Will run the TCL commands found in the text file, one by one."
msgstr ""
"Va exécuter les commandes TCL trouvées dans le fichier texte, une par une."
-#: flatcamEditors/FlatCAMTextEditor.py:182
+#: flatcamEditors/FlatCAMTextEditor.py:184
msgid "Open file"
msgstr "Fichier ouvert"
-#: flatcamEditors/FlatCAMTextEditor.py:213
-#: flatcamEditors/FlatCAMTextEditor.py:218
+#: flatcamEditors/FlatCAMTextEditor.py:215
+#: flatcamEditors/FlatCAMTextEditor.py:220
msgid "Export Code ..."
msgstr "Exporter le code ..."
-#: flatcamEditors/FlatCAMTextEditor.py:221
-msgid "Export Code cancelled."
-msgstr "Code d'exportation annulé."
-
-#: flatcamEditors/FlatCAMTextEditor.py:332
+#: flatcamEditors/FlatCAMTextEditor.py:334
msgid "Code Editor content copied to clipboard ..."
msgstr "Contenu de l'éditeur de code copié dans le Presse-papiers ..."
-#: flatcamGUI/FlatCAMGUI.py:52 flatcamGUI/FlatCAMGUI.py:54
-#: flatcamGUI/FlatCAMGUI.py:2040
+#: flatcamGUI/FlatCAMGUI.py:66 flatcamGUI/FlatCAMGUI.py:68
+#: flatcamGUI/FlatCAMGUI.py:2148
msgid "Toggle Panel"
msgstr "Basculer le Panneau"
-#: flatcamGUI/FlatCAMGUI.py:64
+#: flatcamGUI/FlatCAMGUI.py:78
msgid "File"
msgstr "Fichier"
-#: flatcamGUI/FlatCAMGUI.py:69
-msgid "&New Project ...\tCTRL+N"
-msgstr "Nouveau projet ...\tCTRL+N"
+#: flatcamGUI/FlatCAMGUI.py:83
+msgid "&New Project ...\tCtrl+N"
+msgstr "Nouveau projet ...\tCtrl+N"
-#: flatcamGUI/FlatCAMGUI.py:71
+#: flatcamGUI/FlatCAMGUI.py:85
msgid "Will create a new, blank project"
msgstr "Va créer un nouveau projet vierge"
-#: flatcamGUI/FlatCAMGUI.py:76
+#: flatcamGUI/FlatCAMGUI.py:90
msgid "&New"
msgstr "Nouveau"
-#: flatcamGUI/FlatCAMGUI.py:80
+#: flatcamGUI/FlatCAMGUI.py:94
msgid "Geometry\tN"
msgstr "Géométrie\tN"
-#: flatcamGUI/FlatCAMGUI.py:82
+#: flatcamGUI/FlatCAMGUI.py:96
msgid "Will create a new, empty Geometry Object."
msgstr "Crée un nouvel objet de géométrie vide."
-#: flatcamGUI/FlatCAMGUI.py:84
+#: flatcamGUI/FlatCAMGUI.py:99
msgid "Gerber\tB"
msgstr "Gerber\tB"
-#: flatcamGUI/FlatCAMGUI.py:86
+#: flatcamGUI/FlatCAMGUI.py:101
msgid "Will create a new, empty Gerber Object."
msgstr "Crée un nouvel objet Gerber vide."
-#: flatcamGUI/FlatCAMGUI.py:88
+#: flatcamGUI/FlatCAMGUI.py:104
msgid "Excellon\tL"
msgstr "Excellon\tL"
-#: flatcamGUI/FlatCAMGUI.py:90
+#: flatcamGUI/FlatCAMGUI.py:106
msgid "Will create a new, empty Excellon Object."
msgstr "Va créer un nouvel objet vide vide."
-#: flatcamGUI/FlatCAMGUI.py:94
+#: flatcamGUI/FlatCAMGUI.py:111
msgid "Document\tD"
msgstr "Document\tD"
-#: flatcamGUI/FlatCAMGUI.py:96
+#: flatcamGUI/FlatCAMGUI.py:113
msgid "Will create a new, empty Document Object."
msgstr "Crée un nouvel objet de document vide."
-#: flatcamGUI/FlatCAMGUI.py:99 flatcamGUI/FlatCAMGUI.py:4111
+#: flatcamGUI/FlatCAMGUI.py:117 flatcamGUI/FlatCAMGUI.py:4327
#: flatcamTools/ToolPcbWizard.py:62 flatcamTools/ToolPcbWizard.py:69
msgid "Open"
msgstr "Ouvert"
-#: flatcamGUI/FlatCAMGUI.py:103
+#: flatcamGUI/FlatCAMGUI.py:122
msgid "Open &Project ..."
msgstr "Projet ouvert ..."
-#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121
-msgid "Open &Gerber ...\tCTRL+G"
-msgstr "Gerber ouvert...\tCTRL+G"
+#: flatcamGUI/FlatCAMGUI.py:128 flatcamGUI/FlatCAMGUI.py:4337
+msgid "Open &Gerber ...\tCtrl+G"
+msgstr "Gerber ouvert...\tCtrl+G"
-#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126
-msgid "Open &Excellon ...\tCTRL+E"
-msgstr "Excellon ouvert ...\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:133 flatcamGUI/FlatCAMGUI.py:4342
+msgid "Open &Excellon ...\tCtrl+E"
+msgstr "Excellon ouvert ...\tCtrl+E"
-#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131
+#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:4347
msgid "Open G-&Code ..."
msgstr "Ouvrir G-Code ..."
-#: flatcamGUI/FlatCAMGUI.py:124
+#: flatcamGUI/FlatCAMGUI.py:145
msgid "Open Config ..."
msgstr "Ouvrez la configuration ..."
-#: flatcamGUI/FlatCAMGUI.py:128
+#: flatcamGUI/FlatCAMGUI.py:150
msgid "Recent projects"
msgstr "Les projets récents"
-#: flatcamGUI/FlatCAMGUI.py:129
+#: flatcamGUI/FlatCAMGUI.py:152
msgid "Recent files"
msgstr "Fichiers récents"
-#: flatcamGUI/FlatCAMGUI.py:135
+#: flatcamGUI/FlatCAMGUI.py:155 flatcamGUI/FlatCAMGUI.py:738
+#: flatcamGUI/FlatCAMGUI.py:1324
+msgid "Save"
+msgstr "Sauver"
+
+#: flatcamGUI/FlatCAMGUI.py:159
+msgid "&Save Project ...\tCtrl+S"
+msgstr "Sauvegarder le projet...\tCtrl+S"
+
+#: flatcamGUI/FlatCAMGUI.py:164
+msgid "Save Project &As ...\tCtrl+Shift+S"
+msgstr "Enregistrer le projet sous...\tCtrl+Shift+S"
+
+#: flatcamGUI/FlatCAMGUI.py:179
msgid "Scripting"
msgstr "Scripting"
-#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:829
-#: flatcamGUI/FlatCAMGUI.py:2409
+#: flatcamGUI/FlatCAMGUI.py:183 flatcamGUI/FlatCAMGUI.py:888
+#: flatcamGUI/FlatCAMGUI.py:2567
msgid "New Script ..."
msgstr "Nouveau script ..."
-#: flatcamGUI/FlatCAMGUI.py:139 flatcamGUI/FlatCAMGUI.py:831
-#: flatcamGUI/FlatCAMGUI.py:2411
+#: flatcamGUI/FlatCAMGUI.py:185 flatcamGUI/FlatCAMGUI.py:890
+#: flatcamGUI/FlatCAMGUI.py:2569
msgid "Open Script ..."
msgstr "Script ouvert ..."
-#: flatcamGUI/FlatCAMGUI.py:141 flatcamGUI/FlatCAMGUI.py:833
-#: flatcamGUI/FlatCAMGUI.py:2413 flatcamGUI/FlatCAMGUI.py:4100
+#: flatcamGUI/FlatCAMGUI.py:187 flatcamGUI/FlatCAMGUI.py:892
+#: flatcamGUI/FlatCAMGUI.py:2571 flatcamGUI/FlatCAMGUI.py:4316
msgid "Run Script ..."
msgstr "Exécutez le script ..."
-#: flatcamGUI/FlatCAMGUI.py:143 flatcamGUI/FlatCAMGUI.py:4102
+#: flatcamGUI/FlatCAMGUI.py:189 flatcamGUI/FlatCAMGUI.py:4318
msgid ""
"Will run the opened Tcl Script thus\n"
"enabling the automation of certain\n"
@@ -5387,47 +5725,47 @@ msgstr ""
"permettant l’automatisation de certaines\n"
"fonctions de FlatCAM."
-#: flatcamGUI/FlatCAMGUI.py:156
+#: flatcamGUI/FlatCAMGUI.py:203
msgid "Import"
msgstr "Importation"
-#: flatcamGUI/FlatCAMGUI.py:158
+#: flatcamGUI/FlatCAMGUI.py:205
msgid "&SVG as Geometry Object ..."
msgstr "SVG comme objet de géométrie ..."
-#: flatcamGUI/FlatCAMGUI.py:161
+#: flatcamGUI/FlatCAMGUI.py:208
msgid "&SVG as Gerber Object ..."
msgstr "SVG comme objet Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:166
+#: flatcamGUI/FlatCAMGUI.py:213
msgid "&DXF as Geometry Object ..."
msgstr "DXF comme objet de géométrie ..."
-#: flatcamGUI/FlatCAMGUI.py:169
+#: flatcamGUI/FlatCAMGUI.py:216
msgid "&DXF as Gerber Object ..."
msgstr "DXF en tant qu'objet Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:173
+#: flatcamGUI/FlatCAMGUI.py:220
msgid "HPGL2 as Geometry Object ..."
msgstr "HPGL2 comme objet géométrique ..."
-#: flatcamGUI/FlatCAMGUI.py:178
+#: flatcamGUI/FlatCAMGUI.py:226
msgid "Export"
msgstr "Exportation"
-#: flatcamGUI/FlatCAMGUI.py:181
+#: flatcamGUI/FlatCAMGUI.py:230
msgid "Export &SVG ..."
msgstr "Exporter SVG ..."
-#: flatcamGUI/FlatCAMGUI.py:184
+#: flatcamGUI/FlatCAMGUI.py:234
msgid "Export DXF ..."
msgstr "Exporter DXF ..."
-#: flatcamGUI/FlatCAMGUI.py:189
+#: flatcamGUI/FlatCAMGUI.py:240
msgid "Export &PNG ..."
msgstr "Exporter PNG ..."
-#: flatcamGUI/FlatCAMGUI.py:191
+#: flatcamGUI/FlatCAMGUI.py:242
msgid ""
"Will export an image in PNG format,\n"
"the saved image will contain the visual \n"
@@ -5437,11 +5775,11 @@ msgstr ""
"l'image enregistrée contiendra le visuel\n"
"informations actuellement dans la zone de tracé FlatCAM."
-#: flatcamGUI/FlatCAMGUI.py:200
+#: flatcamGUI/FlatCAMGUI.py:251
msgid "Export &Excellon ..."
msgstr "Exporter Excellon ..."
-#: flatcamGUI/FlatCAMGUI.py:202
+#: flatcamGUI/FlatCAMGUI.py:253
msgid ""
"Will export an Excellon Object as Excellon file,\n"
"the coordinates format, the file units and zeros\n"
@@ -5451,11 +5789,11 @@ msgstr ""
"le format des coordonnées, les unités de fichier et les zéros\n"
"sont définies dans Préférences -> Excellon Export."
-#: flatcamGUI/FlatCAMGUI.py:209
+#: flatcamGUI/FlatCAMGUI.py:260
msgid "Export &Gerber ..."
msgstr "Exporter Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:211
+#: flatcamGUI/FlatCAMGUI.py:262
msgid ""
"Will export an Gerber Object as Gerber file,\n"
"the coordinates format, the file units and zeros\n"
@@ -5465,65 +5803,48 @@ msgstr ""
"le format des coordonnées, les unités de fichier et les zéros\n"
"sont définies dans Préférences -> Exportation Gerber."
-#: flatcamGUI/FlatCAMGUI.py:229
+#: flatcamGUI/FlatCAMGUI.py:272
msgid "Backup"
msgstr "Sauvegarde"
-#: flatcamGUI/FlatCAMGUI.py:233
+#: flatcamGUI/FlatCAMGUI.py:277
msgid "Import Preferences from file ..."
msgstr "Importer les préférences du fichier ..."
-#: flatcamGUI/FlatCAMGUI.py:238
+#: flatcamGUI/FlatCAMGUI.py:283
msgid "Export Preferences to file ..."
msgstr "Exporter les préférences dans un fichier ..."
-#: flatcamGUI/FlatCAMGUI.py:244 flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:297 flatcamGUI/FlatCAMGUI.py:1715
msgid "Print (PDF)"
msgstr "Imprimer (PDF)"
-#: flatcamGUI/FlatCAMGUI.py:247 flatcamGUI/FlatCAMGUI.py:682
-#: flatcamGUI/FlatCAMGUI.py:1252
-msgid "Save"
-msgstr "Sauver"
-
-#: flatcamGUI/FlatCAMGUI.py:251
-msgid "&Save Project ..."
-msgstr "Sauvegarder le projet ..."
-
-#: flatcamGUI/FlatCAMGUI.py:256
-msgid "Save Project &As ...\tCTRL+S"
-msgstr "Enregistrer le projet sous...\tCTRL+S"
-
-#: flatcamGUI/FlatCAMGUI.py:261
-msgid "Save Project C&opy ..."
-msgstr "Enregistrer la copie du projet ..."
-
-#: flatcamGUI/FlatCAMGUI.py:271
+#: flatcamGUI/FlatCAMGUI.py:305
msgid "E&xit"
msgstr "Sortie"
-#: flatcamGUI/FlatCAMGUI.py:279 flatcamGUI/FlatCAMGUI.py:676
-#: flatcamGUI/FlatCAMGUI.py:2163
+#: flatcamGUI/FlatCAMGUI.py:313 flatcamGUI/FlatCAMGUI.py:732
+#: flatcamGUI/FlatCAMGUI.py:2271
msgid "Edit"
msgstr "Modifier"
-#: flatcamGUI/FlatCAMGUI.py:283
+#: flatcamGUI/FlatCAMGUI.py:317
msgid "Edit Object\tE"
msgstr "Editer un objet\tE"
-#: flatcamGUI/FlatCAMGUI.py:285
-msgid "Close Editor\tCTRL+S"
-msgstr "Fermer l'éditeur\tCTRL+S"
+#: flatcamGUI/FlatCAMGUI.py:319
+msgid "Close Editor\tCtrl+S"
+msgstr "Fermer l'éditeur\tCtrl+S"
-#: flatcamGUI/FlatCAMGUI.py:294
+#: flatcamGUI/FlatCAMGUI.py:328
msgid "Conversion"
msgstr "Conversion"
-#: flatcamGUI/FlatCAMGUI.py:296
+#: flatcamGUI/FlatCAMGUI.py:330
msgid "&Join Geo/Gerber/Exc -> Geo"
msgstr "Rejoindre Geo/Gerber/Exc -> Geo"
-#: flatcamGUI/FlatCAMGUI.py:298
+#: flatcamGUI/FlatCAMGUI.py:332
msgid ""
"Merge a selection of objects, which can be of type:\n"
"- Gerber\n"
@@ -5537,30 +5858,30 @@ msgstr ""
"- Géométrie\n"
"dans un nouvel objet de géométrie combo."
-#: flatcamGUI/FlatCAMGUI.py:305
+#: flatcamGUI/FlatCAMGUI.py:339
msgid "Join Excellon(s) -> Excellon"
msgstr "Rejoignez Excellon(s) -> Excellon"
-#: flatcamGUI/FlatCAMGUI.py:307
+#: flatcamGUI/FlatCAMGUI.py:341
msgid "Merge a selection of Excellon objects into a new combo Excellon object."
msgstr ""
"Fusionner une sélection d'objets Excellon dans un nouvel objet Excellon "
"combo."
-#: flatcamGUI/FlatCAMGUI.py:310
+#: flatcamGUI/FlatCAMGUI.py:344
msgid "Join Gerber(s) -> Gerber"
msgstr "Rejoindre Gerber(s) -> Gerber"
-#: flatcamGUI/FlatCAMGUI.py:312
+#: flatcamGUI/FlatCAMGUI.py:346
msgid "Merge a selection of Gerber objects into a new combo Gerber object."
msgstr ""
"Fusionner une sélection d'objets Gerber dans un nouvel objet Gerber combiné."
-#: flatcamGUI/FlatCAMGUI.py:317
+#: flatcamGUI/FlatCAMGUI.py:351
msgid "Convert Single to MultiGeo"
msgstr "Convertir Unique en MultiGeo"
-#: flatcamGUI/FlatCAMGUI.py:319
+#: flatcamGUI/FlatCAMGUI.py:353
msgid ""
"Will convert a Geometry object from single_geometry type\n"
"to a multi_geometry type."
@@ -5568,11 +5889,11 @@ msgstr ""
"Convertira un objet Geometry à partir d'un type de géométrie unique\n"
"à un type multi géométrie."
-#: flatcamGUI/FlatCAMGUI.py:323
+#: flatcamGUI/FlatCAMGUI.py:357
msgid "Convert Multi to SingleGeo"
msgstr "Convertir Multi en Unique Geo"
-#: flatcamGUI/FlatCAMGUI.py:325
+#: flatcamGUI/FlatCAMGUI.py:359
msgid ""
"Will convert a Geometry object from multi_geometry type\n"
"to a single_geometry type."
@@ -5580,734 +5901,744 @@ msgstr ""
"Convertira un objet Geometry de type multi geometry\n"
"à un seul type de géométrie."
-#: flatcamGUI/FlatCAMGUI.py:332
+#: flatcamGUI/FlatCAMGUI.py:366
msgid "Convert Any to Geo"
msgstr "Convertir n'importe quel en Geo"
-#: flatcamGUI/FlatCAMGUI.py:335
+#: flatcamGUI/FlatCAMGUI.py:369
msgid "Convert Any to Gerber"
msgstr "Convertir n'importe lequel en gerber"
-#: flatcamGUI/FlatCAMGUI.py:341
-msgid "&Copy\tCTRL+C"
-msgstr "Copie\tCTRL+C"
+#: flatcamGUI/FlatCAMGUI.py:375
+msgid "&Copy\tCtrl+C"
+msgstr "Copie\tCtrl+C"
-#: flatcamGUI/FlatCAMGUI.py:346
+#: flatcamGUI/FlatCAMGUI.py:380
msgid "&Delete\tDEL"
msgstr "Supprimer\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:351
+#: flatcamGUI/FlatCAMGUI.py:385
msgid "Se&t Origin\tO"
msgstr "Définir L'origine\tO"
-#: flatcamGUI/FlatCAMGUI.py:353
+#: flatcamGUI/FlatCAMGUI.py:387
+msgid "Move to Origin\tShift+O"
+msgstr "Déplacer vers l'origine\tShift+O"
+
+#: flatcamGUI/FlatCAMGUI.py:390
msgid "Jump to Location\tJ"
msgstr "Aller à l'emplacement\tJ"
-#: flatcamGUI/FlatCAMGUI.py:358
+#: flatcamGUI/FlatCAMGUI.py:392
+msgid "Locate in Object\tShift+J"
+msgstr "Localiser dans l'objet\tShift+J"
+
+#: flatcamGUI/FlatCAMGUI.py:397
msgid "Toggle Units\tQ"
msgstr "Basculer les Unités\tQ"
-#: flatcamGUI/FlatCAMGUI.py:360
-msgid "&Select All\tCTRL+A"
-msgstr "Tout sélectionner\tCTRL+A"
+#: flatcamGUI/FlatCAMGUI.py:399
+msgid "&Select All\tCtrl+A"
+msgstr "Tout sélectionner\tCtrl+A"
-#: flatcamGUI/FlatCAMGUI.py:365
-msgid "&Preferences\tSHIFT+P"
-msgstr "Préférences\tSHIFT+P"
+#: flatcamGUI/FlatCAMGUI.py:404
+msgid "&Preferences\tShift+P"
+msgstr "Préférences\tShift+P"
-#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153
+#: flatcamGUI/FlatCAMGUI.py:410 flatcamTools/ToolProperties.py:155
msgid "Options"
msgstr "Les options"
-#: flatcamGUI/FlatCAMGUI.py:373
-msgid "&Rotate Selection\tSHIFT+(R)"
-msgstr "Faire pivoter la sélection\tSHIFT+(R)"
+#: flatcamGUI/FlatCAMGUI.py:412
+msgid "&Rotate Selection\tShift+(R)"
+msgstr "Faire pivoter la sélection\tShift+(R)"
-#: flatcamGUI/FlatCAMGUI.py:378
-msgid "&Skew on X axis\tSHIFT+X"
-msgstr "Fausser sur l'axe X\tSHIFT+X"
+#: flatcamGUI/FlatCAMGUI.py:417
+msgid "&Skew on X axis\tShift+X"
+msgstr "Fausser sur l'axe X\tShift+X"
-#: flatcamGUI/FlatCAMGUI.py:380
-msgid "S&kew on Y axis\tSHIFT+Y"
-msgstr "Fausser sur l'axe Y\tSHIFT+Y"
+#: flatcamGUI/FlatCAMGUI.py:419
+msgid "S&kew on Y axis\tShift+Y"
+msgstr "Fausser sur l'axe Y\tShift+Y"
-#: flatcamGUI/FlatCAMGUI.py:385
+#: flatcamGUI/FlatCAMGUI.py:424
msgid "Flip on &X axis\tX"
msgstr "Miroir sur l'axe X\tX"
-#: flatcamGUI/FlatCAMGUI.py:387
+#: flatcamGUI/FlatCAMGUI.py:426
msgid "Flip on &Y axis\tY"
msgstr "Miroir sur l'axe Y\tY"
-#: flatcamGUI/FlatCAMGUI.py:392
-msgid "View source\tALT+S"
-msgstr "Voir la source\tALT+S"
+#: flatcamGUI/FlatCAMGUI.py:431
+msgid "View source\tAlt+S"
+msgstr "Voir la source\tAlt+S"
-#: flatcamGUI/FlatCAMGUI.py:394
-msgid "Tools DataBase\tCTRL+D"
-msgstr "Base de Données d'outils\tCTRL+D"
+#: flatcamGUI/FlatCAMGUI.py:433
+msgid "Tools DataBase\tCtrl+D"
+msgstr "Base de Données d'outils\tCtrl+D"
-#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060
+#: flatcamGUI/FlatCAMGUI.py:440 flatcamGUI/FlatCAMGUI.py:2168
msgid "View"
msgstr "Vue"
-#: flatcamGUI/FlatCAMGUI.py:403
-msgid "Enable all plots\tALT+1"
-msgstr "Activer tous les dessins\tALT+1"
+#: flatcamGUI/FlatCAMGUI.py:442
+msgid "Enable all plots\tAlt+1"
+msgstr "Activer tous les dessins\tAlt+1"
-#: flatcamGUI/FlatCAMGUI.py:405
-msgid "Disable all plots\tALT+2"
-msgstr "Désactiver tous les dessins\tALT+2"
+#: flatcamGUI/FlatCAMGUI.py:444
+msgid "Disable all plots\tAlt+2"
+msgstr "Désactiver tous les dessins\tAlt+2"
-#: flatcamGUI/FlatCAMGUI.py:407
-msgid "Disable non-selected\tALT+3"
-msgstr "Désactiver les non sélectionnés\tALT+3"
+#: flatcamGUI/FlatCAMGUI.py:446
+msgid "Disable non-selected\tAlt+3"
+msgstr "Désactiver les non sélectionnés\tAlt+3"
-#: flatcamGUI/FlatCAMGUI.py:411
+#: flatcamGUI/FlatCAMGUI.py:450
msgid "&Zoom Fit\tV"
msgstr "Ajustement du Zoom\tV"
-#: flatcamGUI/FlatCAMGUI.py:413
+#: flatcamGUI/FlatCAMGUI.py:452
msgid "&Zoom In\t="
msgstr "Agrandir\t="
-#: flatcamGUI/FlatCAMGUI.py:415
+#: flatcamGUI/FlatCAMGUI.py:454
msgid "&Zoom Out\t-"
msgstr "Dézoomer\t-"
-#: flatcamGUI/FlatCAMGUI.py:420
+#: flatcamGUI/FlatCAMGUI.py:459
msgid "Redraw All\tF5"
msgstr "Tout redessiner\tF5"
-#: flatcamGUI/FlatCAMGUI.py:424
-msgid "Toggle Code Editor\tSHIFT+E"
-msgstr "Basculer l'éditeur de code\tSHIFT+E"
+#: flatcamGUI/FlatCAMGUI.py:463
+msgid "Toggle Code Editor\tShift+E"
+msgstr "Basculer l'éditeur de code\tShift+E"
-#: flatcamGUI/FlatCAMGUI.py:427
-msgid "&Toggle FullScreen\tALT+F10"
-msgstr "Passer en plein écran\tALT+F10"
+#: flatcamGUI/FlatCAMGUI.py:466
+msgid "&Toggle FullScreen\tAlt+F10"
+msgstr "Passer en plein écran\tAlt+F10"
-#: flatcamGUI/FlatCAMGUI.py:429
-msgid "&Toggle Plot Area\tCTRL+F10"
-msgstr "Basculer la zone de tracé\tCTRL+F10"
+#: flatcamGUI/FlatCAMGUI.py:468
+msgid "&Toggle Plot Area\tCtrl+F10"
+msgstr "Basculer la zone de tracé\tCtrl+F10"
-#: flatcamGUI/FlatCAMGUI.py:431
+#: flatcamGUI/FlatCAMGUI.py:470
msgid "&Toggle Project/Sel/Tool\t`"
msgstr "Basculer Projet / Sel / Outil\t`"
-#: flatcamGUI/FlatCAMGUI.py:435
+#: flatcamGUI/FlatCAMGUI.py:474
msgid "&Toggle Grid Snap\tG"
msgstr "Basculer la grille\tG"
-#: flatcamGUI/FlatCAMGUI.py:437
-msgid "&Toggle Grid Lines\tALT+G"
-msgstr "Basculer les lignes de la grille\tALT+G"
+#: flatcamGUI/FlatCAMGUI.py:476
+msgid "&Toggle Grid Lines\tAlt+G"
+msgstr "Basculer les lignes de la grille\tAlt+G"
-#: flatcamGUI/FlatCAMGUI.py:439
-msgid "&Toggle Axis\tSHIFT+G"
-msgstr "Basculer l'axe\tSHIFT+G"
+#: flatcamGUI/FlatCAMGUI.py:478
+msgid "&Toggle Axis\tShift+G"
+msgstr "Basculer l'axe\tShift+G"
-#: flatcamGUI/FlatCAMGUI.py:441
-msgid "Toggle Workspace\tSHIFT+W"
-msgstr "Basculer l'espace de travail\tSHIFT+W"
+#: flatcamGUI/FlatCAMGUI.py:480
+msgid "Toggle Workspace\tShift+W"
+msgstr "Basculer l'espace de travail\tShift+W"
-#: flatcamGUI/FlatCAMGUI.py:446
+#: flatcamGUI/FlatCAMGUI.py:485
msgid "Objects"
msgstr "Objets"
-#: flatcamGUI/FlatCAMGUI.py:460
+#: flatcamGUI/FlatCAMGUI.py:499
msgid "&Command Line\tS"
msgstr "&Ligne de commande\tS"
-#: flatcamGUI/FlatCAMGUI.py:465
+#: flatcamGUI/FlatCAMGUI.py:504
msgid "Help"
msgstr "Aide"
-#: flatcamGUI/FlatCAMGUI.py:467
+#: flatcamGUI/FlatCAMGUI.py:506
msgid "Online Help\tF1"
msgstr "Aide en ligne\tF1"
-#: flatcamGUI/FlatCAMGUI.py:477
+#: flatcamGUI/FlatCAMGUI.py:516
msgid "Report a bug"
msgstr "Signaler une erreur"
-#: flatcamGUI/FlatCAMGUI.py:480
+#: flatcamGUI/FlatCAMGUI.py:519
msgid "Excellon Specification"
msgstr "Excellon Spécification"
-#: flatcamGUI/FlatCAMGUI.py:482
+#: flatcamGUI/FlatCAMGUI.py:521
msgid "Gerber Specification"
msgstr "Gerber Spécifications"
-#: flatcamGUI/FlatCAMGUI.py:487
+#: flatcamGUI/FlatCAMGUI.py:526
msgid "Shortcuts List\tF3"
msgstr "Liste des raccourcis\tF3"
-#: flatcamGUI/FlatCAMGUI.py:489
+#: flatcamGUI/FlatCAMGUI.py:528
msgid "YouTube Channel\tF4"
msgstr "Chaîne Youtube\tF4"
-#: flatcamGUI/FlatCAMGUI.py:500
+#: flatcamGUI/FlatCAMGUI.py:539
msgid "Add Circle\tO"
msgstr "Ajouter un Cercle\tO"
-#: flatcamGUI/FlatCAMGUI.py:503
+#: flatcamGUI/FlatCAMGUI.py:542
msgid "Add Arc\tA"
msgstr "Ajouter un Arc\tA"
-#: flatcamGUI/FlatCAMGUI.py:506
+#: flatcamGUI/FlatCAMGUI.py:545
msgid "Add Rectangle\tR"
msgstr "Ajouter un Rectangle\tR"
-#: flatcamGUI/FlatCAMGUI.py:509
+#: flatcamGUI/FlatCAMGUI.py:548
msgid "Add Polygon\tN"
msgstr "Ajouter un Polygone\tN"
-#: flatcamGUI/FlatCAMGUI.py:512
+#: flatcamGUI/FlatCAMGUI.py:551
msgid "Add Path\tP"
msgstr "Ajouter un Chemin\tP"
-#: flatcamGUI/FlatCAMGUI.py:515
+#: flatcamGUI/FlatCAMGUI.py:554
msgid "Add Text\tT"
msgstr "Ajouter du Texte\tT"
-#: flatcamGUI/FlatCAMGUI.py:518
+#: flatcamGUI/FlatCAMGUI.py:557
msgid "Polygon Union\tU"
msgstr "Union de Polygones\tU"
-#: flatcamGUI/FlatCAMGUI.py:520
+#: flatcamGUI/FlatCAMGUI.py:559
msgid "Polygon Intersection\tE"
msgstr "Intersection de Polygones\tE"
-#: flatcamGUI/FlatCAMGUI.py:522
+#: flatcamGUI/FlatCAMGUI.py:561
msgid "Polygon Subtraction\tS"
msgstr "Soustraction de Polygone\tS"
-#: flatcamGUI/FlatCAMGUI.py:526
+#: flatcamGUI/FlatCAMGUI.py:565
msgid "Cut Path\tX"
msgstr "Chemin Coupé\tX"
-#: flatcamGUI/FlatCAMGUI.py:529
+#: flatcamGUI/FlatCAMGUI.py:569
msgid "Copy Geom\tC"
msgstr "Copier la Géométrie\tC"
-#: flatcamGUI/FlatCAMGUI.py:531
+#: flatcamGUI/FlatCAMGUI.py:571
msgid "Delete Shape\tDEL"
msgstr "Supprimer la Forme\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:535 flatcamGUI/FlatCAMGUI.py:622
+#: flatcamGUI/FlatCAMGUI.py:575 flatcamGUI/FlatCAMGUI.py:662
msgid "Move\tM"
msgstr "Déplacer\tM"
-#: flatcamGUI/FlatCAMGUI.py:537
+#: flatcamGUI/FlatCAMGUI.py:577
msgid "Buffer Tool\tB"
msgstr "Outil Tampon\tB"
-#: flatcamGUI/FlatCAMGUI.py:540
+#: flatcamGUI/FlatCAMGUI.py:580
msgid "Paint Tool\tI"
msgstr "Outil de Peinture\tI"
-#: flatcamGUI/FlatCAMGUI.py:543
-msgid "Transform Tool\tALT+R"
-msgstr "Outil de Transformation\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:583
+msgid "Transform Tool\tAlt+R"
+msgstr "Outil de Transformation\tAlt+R"
-#: flatcamGUI/FlatCAMGUI.py:547
+#: flatcamGUI/FlatCAMGUI.py:587
msgid "Toggle Corner Snap\tK"
msgstr "Basculer le Coin accrocher\tK"
-#: flatcamGUI/FlatCAMGUI.py:553
+#: flatcamGUI/FlatCAMGUI.py:593
msgid ">Excellon Editor<"
msgstr ">Excellent Éditeur<"
-#: flatcamGUI/FlatCAMGUI.py:557
+#: flatcamGUI/FlatCAMGUI.py:597
msgid "Add Drill Array\tA"
msgstr "Ajouter un Tableau de Forage\tA"
-#: flatcamGUI/FlatCAMGUI.py:559
+#: flatcamGUI/FlatCAMGUI.py:599
msgid "Add Drill\tD"
msgstr "Ajouter une Forage\tD"
-#: flatcamGUI/FlatCAMGUI.py:563
+#: flatcamGUI/FlatCAMGUI.py:603
msgid "Add Slot Array\tQ"
msgstr "Ajouter un Tableau de Fente\tQ"
-#: flatcamGUI/FlatCAMGUI.py:565
+#: flatcamGUI/FlatCAMGUI.py:605
msgid "Add Slot\tW"
msgstr "Ajouter une Fente\tW"
-#: flatcamGUI/FlatCAMGUI.py:569
+#: flatcamGUI/FlatCAMGUI.py:609
msgid "Resize Drill(S)\tR"
msgstr "Redimensionner le Foret\tR"
-#: flatcamGUI/FlatCAMGUI.py:572 flatcamGUI/FlatCAMGUI.py:616
+#: flatcamGUI/FlatCAMGUI.py:612 flatcamGUI/FlatCAMGUI.py:656
msgid "Copy\tC"
msgstr "Copie\tC"
-#: flatcamGUI/FlatCAMGUI.py:574 flatcamGUI/FlatCAMGUI.py:618
+#: flatcamGUI/FlatCAMGUI.py:614 flatcamGUI/FlatCAMGUI.py:658
msgid "Delete\tDEL"
msgstr "Supprimer\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:579
+#: flatcamGUI/FlatCAMGUI.py:619
msgid "Move Drill(s)\tM"
msgstr "Déplacer les Forets\tM"
-#: flatcamGUI/FlatCAMGUI.py:584
+#: flatcamGUI/FlatCAMGUI.py:624
msgid ">Gerber Editor<"
msgstr ">Gerber Éditeur<"
-#: flatcamGUI/FlatCAMGUI.py:588
+#: flatcamGUI/FlatCAMGUI.py:628
msgid "Add Pad\tP"
msgstr "Ajouter un Pad\tP"
-#: flatcamGUI/FlatCAMGUI.py:590
+#: flatcamGUI/FlatCAMGUI.py:630
msgid "Add Pad Array\tA"
msgstr "Ajouter un Tableau de Pad\tA"
-#: flatcamGUI/FlatCAMGUI.py:592
+#: flatcamGUI/FlatCAMGUI.py:632
msgid "Add Track\tT"
msgstr "Ajouter une Piste\tT"
-#: flatcamGUI/FlatCAMGUI.py:594
+#: flatcamGUI/FlatCAMGUI.py:634
msgid "Add Region\tN"
msgstr "Ajouter une Région\tN"
-#: flatcamGUI/FlatCAMGUI.py:598
-msgid "Poligonize\tALT+N"
-msgstr "Polygoniser\tALT+N"
+#: flatcamGUI/FlatCAMGUI.py:638
+msgid "Poligonize\tAlt+N"
+msgstr "Polygoniser\tAlt+N"
-#: flatcamGUI/FlatCAMGUI.py:600
+#: flatcamGUI/FlatCAMGUI.py:640
msgid "Add SemiDisc\tE"
msgstr "Ajouter un Semi-Disque\tE"
-#: flatcamGUI/FlatCAMGUI.py:602
+#: flatcamGUI/FlatCAMGUI.py:642
msgid "Add Disc\tD"
msgstr "Ajouter un Disque\tD"
-#: flatcamGUI/FlatCAMGUI.py:604
+#: flatcamGUI/FlatCAMGUI.py:644
msgid "Buffer\tB"
msgstr "Tampon\tB"
-#: flatcamGUI/FlatCAMGUI.py:606
+#: flatcamGUI/FlatCAMGUI.py:646
msgid "Scale\tS"
msgstr "Échelle\tS"
-#: flatcamGUI/FlatCAMGUI.py:608
-msgid "Mark Area\tALT+A"
-msgstr "Zone de Marque\tALT+A"
+#: flatcamGUI/FlatCAMGUI.py:648
+msgid "Mark Area\tAlt+A"
+msgstr "Zone de Marque\tAlt+A"
-#: flatcamGUI/FlatCAMGUI.py:610
-msgid "Eraser\tCTRL+E"
-msgstr "La Gomme\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:650
+msgid "Eraser\tCtrl+E"
+msgstr "La Gomme\tCtrl+E"
-#: flatcamGUI/FlatCAMGUI.py:612
-msgid "Transform\tALT+R"
-msgstr "Transformation\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:652
+msgid "Transform\tAlt+R"
+msgstr "Transformation\tAlt+R"
-#: flatcamGUI/FlatCAMGUI.py:639
+#: flatcamGUI/FlatCAMGUI.py:679
msgid "Enable Plot"
msgstr "Activer le Tracé"
-#: flatcamGUI/FlatCAMGUI.py:641
+#: flatcamGUI/FlatCAMGUI.py:681
msgid "Disable Plot"
msgstr "Désactiver le Tracé"
-#: flatcamGUI/FlatCAMGUI.py:645
+#: flatcamGUI/FlatCAMGUI.py:685
msgid "Set Color"
msgstr "Définir la couleur"
-#: flatcamGUI/FlatCAMGUI.py:648
-msgid "Red"
-msgstr "Rouge"
-
-#: flatcamGUI/FlatCAMGUI.py:651
-msgid "Blue"
-msgstr "Bleu"
-
-#: flatcamGUI/FlatCAMGUI.py:654
-msgid "Yellow"
-msgstr "Jaune"
-
-#: flatcamGUI/FlatCAMGUI.py:657
-msgid "Green"
-msgstr "Vert"
-
-#: flatcamGUI/FlatCAMGUI.py:660
-msgid "Purple"
-msgstr "Violet"
-
-#: flatcamGUI/FlatCAMGUI.py:663
-msgid "Brown"
-msgstr "Marron"
-
-#: flatcamGUI/FlatCAMGUI.py:666
-msgid "Custom"
-msgstr "Personnalisé"
-
-#: flatcamGUI/FlatCAMGUI.py:671
+#: flatcamGUI/FlatCAMGUI.py:727
msgid "Generate CNC"
msgstr "Générer CNC"
-#: flatcamGUI/FlatCAMGUI.py:673
+#: flatcamGUI/FlatCAMGUI.py:729
msgid "View Source"
msgstr "Voir la source"
-#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2172
-#: flatcamTools/ToolProperties.py:30
+#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:2280
+#: flatcamTools/ToolProperties.py:31
msgid "Properties"
msgstr "Propriétés"
-#: flatcamGUI/FlatCAMGUI.py:715
+#: flatcamGUI/FlatCAMGUI.py:771
msgid "File Toolbar"
msgstr "Barre d'outils de fichiers"
-#: flatcamGUI/FlatCAMGUI.py:719
+#: flatcamGUI/FlatCAMGUI.py:775
msgid "Edit Toolbar"
msgstr "Barre d'outils de editer"
-#: flatcamGUI/FlatCAMGUI.py:723
+#: flatcamGUI/FlatCAMGUI.py:779
msgid "View Toolbar"
msgstr "Barre d'outils de vue"
-#: flatcamGUI/FlatCAMGUI.py:727
+#: flatcamGUI/FlatCAMGUI.py:783
msgid "Shell Toolbar"
msgstr "Barre d'outils Shell"
-#: flatcamGUI/FlatCAMGUI.py:731
+#: flatcamGUI/FlatCAMGUI.py:787
msgid "Tools Toolbar"
msgstr "Barre d'outils de outils"
-#: flatcamGUI/FlatCAMGUI.py:735
+#: flatcamGUI/FlatCAMGUI.py:791
msgid "Excellon Editor Toolbar"
msgstr "Barre d'outils de l'éditeur Excellon"
-#: flatcamGUI/FlatCAMGUI.py:741
+#: flatcamGUI/FlatCAMGUI.py:797
msgid "Geometry Editor Toolbar"
msgstr "Barre d'outils de l'éditeur de Géométrie"
-#: flatcamGUI/FlatCAMGUI.py:745
+#: flatcamGUI/FlatCAMGUI.py:801
msgid "Gerber Editor Toolbar"
msgstr "Barre d'outils de l'éditeur Gerber"
-#: flatcamGUI/FlatCAMGUI.py:749
+#: flatcamGUI/FlatCAMGUI.py:805
msgid "Grid Toolbar"
msgstr "Barre d'outils de la Grille"
-#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2357
+#: flatcamGUI/FlatCAMGUI.py:826 flatcamGUI/FlatCAMGUI.py:2509
msgid "Open project"
msgstr "Projet ouvert"
-#: flatcamGUI/FlatCAMGUI.py:774 flatcamGUI/FlatCAMGUI.py:2359
+#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:2511
msgid "Save project"
msgstr "Sauvegarder le projet"
-#: flatcamGUI/FlatCAMGUI.py:780 flatcamGUI/FlatCAMGUI.py:2363
+#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:2517
msgid "New Blank Geometry"
msgstr "Nouvelle Géométrie vierge"
-#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2365
+#: flatcamGUI/FlatCAMGUI.py:836 flatcamGUI/FlatCAMGUI.py:2519
msgid "New Blank Gerber"
msgstr "Nouveau Gerber vierge"
-#: flatcamGUI/FlatCAMGUI.py:784 flatcamGUI/FlatCAMGUI.py:2367
+#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:2521
msgid "New Blank Excellon"
msgstr "Nouveau Excellon vierge"
-#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:2373
+#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2527
msgid "Save Object and close the Editor"
msgstr "Enregistrer un objet et fermer l'éditeur"
-#: flatcamGUI/FlatCAMGUI.py:796 flatcamGUI/FlatCAMGUI.py:2380
+#: flatcamGUI/FlatCAMGUI.py:850 flatcamGUI/FlatCAMGUI.py:2534
msgid "&Delete"
msgstr "Supprimer"
-#: flatcamGUI/FlatCAMGUI.py:799 flatcamGUI/FlatCAMGUI.py:1613
-#: flatcamGUI/FlatCAMGUI.py:1812 flatcamGUI/FlatCAMGUI.py:2383
-#: flatcamTools/ToolDistance.py:30 flatcamTools/ToolDistance.py:160
+#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:1714
+#: flatcamGUI/FlatCAMGUI.py:1920 flatcamGUI/FlatCAMGUI.py:2537
+#: flatcamTools/ToolDistance.py:35 flatcamTools/ToolDistance.py:195
msgid "Distance Tool"
msgstr "Outil de Distance"
-#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2385
+#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2539
msgid "Distance Min Tool"
msgstr "Outil Distance Min"
-#: flatcamGUI/FlatCAMGUI.py:803 flatcamGUI/FlatCAMGUI.py:1606
-#: flatcamGUI/FlatCAMGUI.py:2387
+#: flatcamGUI/FlatCAMGUI.py:857 flatcamGUI/FlatCAMGUI.py:1707
+#: flatcamGUI/FlatCAMGUI.py:2541
msgid "Set Origin"
msgstr "Définir l'origine"
-#: flatcamGUI/FlatCAMGUI.py:805 flatcamGUI/FlatCAMGUI.py:2389
+#: flatcamGUI/FlatCAMGUI.py:859
+msgid "Move to Origin"
+msgstr "Déplacer vers l'origine"
+
+#: flatcamGUI/FlatCAMGUI.py:862 flatcamGUI/FlatCAMGUI.py:2543
msgid "Jump to Location"
msgstr "Aller à l'emplacement"
-#: flatcamGUI/FlatCAMGUI.py:811 flatcamGUI/FlatCAMGUI.py:2393
+#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1719
+#: flatcamGUI/FlatCAMGUI.py:2545
+msgid "Locate in Object"
+msgstr "Localiser dans l'objet"
+
+#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2551
msgid "&Replot"
msgstr "Re-Tracé"
-#: flatcamGUI/FlatCAMGUI.py:813 flatcamGUI/FlatCAMGUI.py:2395
+#: flatcamGUI/FlatCAMGUI.py:872 flatcamGUI/FlatCAMGUI.py:2553
msgid "&Clear plot"
msgstr "Effacer la Trace"
-#: flatcamGUI/FlatCAMGUI.py:815 flatcamGUI/FlatCAMGUI.py:1609
-#: flatcamGUI/FlatCAMGUI.py:2397
+#: flatcamGUI/FlatCAMGUI.py:874 flatcamGUI/FlatCAMGUI.py:1710
+#: flatcamGUI/FlatCAMGUI.py:2555
msgid "Zoom In"
msgstr "Agrandir"
-#: flatcamGUI/FlatCAMGUI.py:817 flatcamGUI/FlatCAMGUI.py:1609
-#: flatcamGUI/FlatCAMGUI.py:2399
+#: flatcamGUI/FlatCAMGUI.py:876 flatcamGUI/FlatCAMGUI.py:1710
+#: flatcamGUI/FlatCAMGUI.py:2557
msgid "Zoom Out"
msgstr "Dézoomer"
-#: flatcamGUI/FlatCAMGUI.py:819 flatcamGUI/FlatCAMGUI.py:1608
-#: flatcamGUI/FlatCAMGUI.py:2062 flatcamGUI/FlatCAMGUI.py:2401
+#: flatcamGUI/FlatCAMGUI.py:878 flatcamGUI/FlatCAMGUI.py:1709
+#: flatcamGUI/FlatCAMGUI.py:2170 flatcamGUI/FlatCAMGUI.py:2559
msgid "Zoom Fit"
msgstr "Ajustement du Zoom"
-#: flatcamGUI/FlatCAMGUI.py:827 flatcamGUI/FlatCAMGUI.py:2407
+#: flatcamGUI/FlatCAMGUI.py:886 flatcamGUI/FlatCAMGUI.py:2565
msgid "&Command Line"
msgstr "&Ligne de commande"
-#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:2417
+#: flatcamGUI/FlatCAMGUI.py:898 flatcamGUI/FlatCAMGUI.py:2577
msgid "2Sided Tool"
msgstr "Outil 2 faces"
-#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/ObjectUI.py:588
-#: flatcamTools/ToolCutOut.py:436
+#: flatcamGUI/FlatCAMGUI.py:900 flatcamGUI/FlatCAMGUI.py:1725
+#: flatcamGUI/FlatCAMGUI.py:2579
+msgid "Align Objects Tool"
+msgstr "Outil Aligner les objets"
+
+#: flatcamGUI/FlatCAMGUI.py:902 flatcamGUI/FlatCAMGUI.py:1726
+#: flatcamGUI/FlatCAMGUI.py:2581 flatcamTools/ToolExtractDrills.py:393
+msgid "Extract Drills Tool"
+msgstr "Outil d'extraction de forets"
+
+#: flatcamGUI/FlatCAMGUI.py:905 flatcamGUI/ObjectUI.py:595
+#: flatcamTools/ToolCutOut.py:447
msgid "Cutout Tool"
msgstr "Outil de Découpe"
-#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2421
-#: flatcamGUI/ObjectUI.py:566 flatcamGUI/ObjectUI.py:1749
-#: flatcamTools/ToolNonCopperClear.py:632
+#: flatcamGUI/FlatCAMGUI.py:907 flatcamGUI/FlatCAMGUI.py:2586
+#: flatcamGUI/ObjectUI.py:573 flatcamGUI/ObjectUI.py:2075
+#: flatcamTools/ToolNCC.py:974
msgid "NCC Tool"
msgstr "Outil de la NCC"
-#: flatcamGUI/FlatCAMGUI.py:849 flatcamGUI/FlatCAMGUI.py:2427
+#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2592
msgid "Panel Tool"
msgstr "Outil de Panneau"
-#: flatcamGUI/FlatCAMGUI.py:851 flatcamGUI/FlatCAMGUI.py:2429
-#: flatcamTools/ToolFilm.py:578
+#: flatcamGUI/FlatCAMGUI.py:915 flatcamGUI/FlatCAMGUI.py:2594
+#: flatcamTools/ToolFilm.py:586
msgid "Film Tool"
msgstr "Outil de Film"
-#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:2432
-#: flatcamTools/ToolSolderPaste.py:547
+#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2596
+#: flatcamTools/ToolSolderPaste.py:553
msgid "SolderPaste Tool"
msgstr "Outil de Pâte à souder"
-#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2434
+#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2598
#: flatcamTools/ToolSub.py:35
msgid "Subtract Tool"
msgstr "Outil de Soustraction"
-#: flatcamGUI/FlatCAMGUI.py:857 flatcamTools/ToolRulesCheck.py:607
+#: flatcamGUI/FlatCAMGUI.py:921 flatcamGUI/FlatCAMGUI.py:2600
+#: flatcamTools/ToolRulesCheck.py:616
msgid "Rules Tool"
msgstr "Outil de Règles"
-#: flatcamGUI/FlatCAMGUI.py:859 flatcamGUI/FlatCAMGUI.py:1624
-#: flatcamTools/ToolOptimal.py:34 flatcamTools/ToolOptimal.py:310
+#: flatcamGUI/FlatCAMGUI.py:923 flatcamGUI/FlatCAMGUI.py:1728
+#: flatcamGUI/FlatCAMGUI.py:2602 flatcamTools/ToolOptimal.py:34
+#: flatcamTools/ToolOptimal.py:308
msgid "Optimal Tool"
msgstr "Outil de Optimal"
-#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1622
-#: flatcamGUI/FlatCAMGUI.py:2439
+#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:1725
+#: flatcamGUI/FlatCAMGUI.py:2607
msgid "Calculators Tool"
msgstr "Outil de Calcul"
-#: flatcamGUI/FlatCAMGUI.py:868 flatcamGUI/FlatCAMGUI.py:1625
-#: flatcamGUI/FlatCAMGUI.py:2443 flatcamTools/ToolQRCode.py:43
+#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:1729
+#: flatcamGUI/FlatCAMGUI.py:2611 flatcamTools/ToolQRCode.py:43
#: flatcamTools/ToolQRCode.py:382
msgid "QRCode Tool"
msgstr "Outil QRCode"
-#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2445
-#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:566
+#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2613
+#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:569
msgid "Copper Thieving Tool"
msgstr "Outil de Copper Thieving"
-#: flatcamGUI/FlatCAMGUI.py:873 flatcamGUI/FlatCAMGUI.py:1622
-#: flatcamGUI/FlatCAMGUI.py:2448 flatcamTools/ToolFiducials.py:33
-#: flatcamTools/ToolFiducials.py:393
+#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:1726
+#: flatcamGUI/FlatCAMGUI.py:2616 flatcamTools/ToolFiducials.py:33
+#: flatcamTools/ToolFiducials.py:395
msgid "Fiducials Tool"
msgstr "Outil Fiduciaire"
-#: flatcamGUI/FlatCAMGUI.py:875 flatcamGUI/FlatCAMGUI.py:2450
-#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:762
+#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2618
+#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:759
msgid "Calibration Tool"
msgstr "Outil d'Étalonnage"
-#: flatcamGUI/FlatCAMGUI.py:881 flatcamGUI/FlatCAMGUI.py:907
-#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2454
-#: flatcamGUI/FlatCAMGUI.py:2528
+#: flatcamGUI/FlatCAMGUI.py:941 flatcamGUI/FlatCAMGUI.py:1726
+msgid "Punch Gerber Tool"
+msgstr "Outil de poinçonnage Gerber"
+
+#: flatcamGUI/FlatCAMGUI.py:943 flatcamTools/ToolInvertGerber.py:31
+msgid "Invert Gerber Tool"
+msgstr "Outil de Inverser Gerber"
+
+#: flatcamGUI/FlatCAMGUI.py:949 flatcamGUI/FlatCAMGUI.py:975
+#: flatcamGUI/FlatCAMGUI.py:1027 flatcamGUI/FlatCAMGUI.py:2624
+#: flatcamGUI/FlatCAMGUI.py:2702
msgid "Select"
msgstr "Sélectionner"
-#: flatcamGUI/FlatCAMGUI.py:883 flatcamGUI/FlatCAMGUI.py:2456
+#: flatcamGUI/FlatCAMGUI.py:951 flatcamGUI/FlatCAMGUI.py:2626
msgid "Add Drill Hole"
msgstr "Ajouter une Forage"
-#: flatcamGUI/FlatCAMGUI.py:885 flatcamGUI/FlatCAMGUI.py:2458
+#: flatcamGUI/FlatCAMGUI.py:953 flatcamGUI/FlatCAMGUI.py:2628
msgid "Add Drill Hole Array"
msgstr "Ajouter un Tableau de Forage"
-#: flatcamGUI/FlatCAMGUI.py:887 flatcamGUI/FlatCAMGUI.py:1897
-#: flatcamGUI/FlatCAMGUI.py:2150 flatcamGUI/FlatCAMGUI.py:2462
+#: flatcamGUI/FlatCAMGUI.py:955 flatcamGUI/FlatCAMGUI.py:2005
+#: flatcamGUI/FlatCAMGUI.py:2258 flatcamGUI/FlatCAMGUI.py:2632
msgid "Add Slot"
msgstr "Ajouter une Fente"
-#: flatcamGUI/FlatCAMGUI.py:889 flatcamGUI/FlatCAMGUI.py:1896
-#: flatcamGUI/FlatCAMGUI.py:2152 flatcamGUI/FlatCAMGUI.py:2464
+#: flatcamGUI/FlatCAMGUI.py:957 flatcamGUI/FlatCAMGUI.py:2004
+#: flatcamGUI/FlatCAMGUI.py:2260 flatcamGUI/FlatCAMGUI.py:2634
msgid "Add Slot Array"
msgstr "Ajouter un Tableau de Fente"
-#: flatcamGUI/FlatCAMGUI.py:891 flatcamGUI/FlatCAMGUI.py:2155
-#: flatcamGUI/FlatCAMGUI.py:2460
+#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2263
+#: flatcamGUI/FlatCAMGUI.py:2630
msgid "Resize Drill"
msgstr "Redimensionner Forage"
-#: flatcamGUI/FlatCAMGUI.py:895 flatcamGUI/FlatCAMGUI.py:2468
+#: flatcamGUI/FlatCAMGUI.py:963 flatcamGUI/FlatCAMGUI.py:2638
msgid "Copy Drill"
msgstr "Copier une Forage"
-#: flatcamGUI/FlatCAMGUI.py:897 flatcamGUI/FlatCAMGUI.py:2470
+#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2640
msgid "Delete Drill"
msgstr "Supprimer une Forage"
-#: flatcamGUI/FlatCAMGUI.py:901 flatcamGUI/FlatCAMGUI.py:2474
+#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2644
msgid "Move Drill"
msgstr "Déplacer uen Forage"
-#: flatcamGUI/FlatCAMGUI.py:909 flatcamGUI/FlatCAMGUI.py:2480
+#: flatcamGUI/FlatCAMGUI.py:977 flatcamGUI/FlatCAMGUI.py:2652
msgid "Add Circle"
msgstr "Ajouter un Cercle"
-#: flatcamGUI/FlatCAMGUI.py:911 flatcamGUI/FlatCAMGUI.py:2482
+#: flatcamGUI/FlatCAMGUI.py:979 flatcamGUI/FlatCAMGUI.py:2654
msgid "Add Arc"
msgstr "Ajouter un Arc"
-#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2484
+#: flatcamGUI/FlatCAMGUI.py:981 flatcamGUI/FlatCAMGUI.py:2656
msgid "Add Rectangle"
msgstr "Ajouter un Rectangle"
-#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2488
+#: flatcamGUI/FlatCAMGUI.py:985 flatcamGUI/FlatCAMGUI.py:2660
msgid "Add Path"
msgstr "Ajouter un Chemin"
-#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2490
+#: flatcamGUI/FlatCAMGUI.py:987 flatcamGUI/FlatCAMGUI.py:2662
msgid "Add Polygon"
msgstr "Ajouter un Polygone"
-#: flatcamGUI/FlatCAMGUI.py:922 flatcamGUI/FlatCAMGUI.py:2493
+#: flatcamGUI/FlatCAMGUI.py:990 flatcamGUI/FlatCAMGUI.py:2665
msgid "Add Text"
msgstr "Ajouter du Texte"
-#: flatcamGUI/FlatCAMGUI.py:924 flatcamGUI/FlatCAMGUI.py:2495
+#: flatcamGUI/FlatCAMGUI.py:992 flatcamGUI/FlatCAMGUI.py:2667
msgid "Add Buffer"
msgstr "Ajouter un Tampon"
-#: flatcamGUI/FlatCAMGUI.py:926 flatcamGUI/FlatCAMGUI.py:2497
+#: flatcamGUI/FlatCAMGUI.py:994 flatcamGUI/FlatCAMGUI.py:2669
msgid "Paint Shape"
msgstr "Peindre une Forme"
-#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:985
-#: flatcamGUI/FlatCAMGUI.py:2091 flatcamGUI/FlatCAMGUI.py:2136
-#: flatcamGUI/FlatCAMGUI.py:2499 flatcamGUI/FlatCAMGUI.py:2553
+#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:1053
+#: flatcamGUI/FlatCAMGUI.py:2199 flatcamGUI/FlatCAMGUI.py:2244
+#: flatcamGUI/FlatCAMGUI.py:2671 flatcamGUI/FlatCAMGUI.py:2727
msgid "Eraser"
msgstr "La Gomme"
-#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:2503
+#: flatcamGUI/FlatCAMGUI.py:1000 flatcamGUI/FlatCAMGUI.py:2675
msgid "Polygon Union"
msgstr "Union de Polygones"
-#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2505
+#: flatcamGUI/FlatCAMGUI.py:1002 flatcamGUI/FlatCAMGUI.py:2677
msgid "Polygon Explode"
msgstr "Éclatement de polygone"
-#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:2508
+#: flatcamGUI/FlatCAMGUI.py:1005 flatcamGUI/FlatCAMGUI.py:2680
msgid "Polygon Intersection"
msgstr "Intersection de Polygones"
-#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2510
+#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2682
msgid "Polygon Subtraction"
msgstr "Soustraction de Polygone"
-#: flatcamGUI/FlatCAMGUI.py:943 flatcamGUI/FlatCAMGUI.py:2514
+#: flatcamGUI/FlatCAMGUI.py:1011 flatcamGUI/FlatCAMGUI.py:2686
msgid "Cut Path"
msgstr "Chemin Coupé"
-#: flatcamGUI/FlatCAMGUI.py:945
+#: flatcamGUI/FlatCAMGUI.py:1013
msgid "Copy Shape(s)"
msgstr "Copier les Formes"
-#: flatcamGUI/FlatCAMGUI.py:948
+#: flatcamGUI/FlatCAMGUI.py:1016
msgid "Delete Shape '-'"
msgstr "Supprimer la Forme"
-#: flatcamGUI/FlatCAMGUI.py:950 flatcamGUI/FlatCAMGUI.py:993
-#: flatcamGUI/FlatCAMGUI.py:2103 flatcamGUI/FlatCAMGUI.py:2140
-#: flatcamGUI/FlatCAMGUI.py:2520 flatcamGUI/FlatCAMGUI.py:2561
+#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:1061
+#: flatcamGUI/FlatCAMGUI.py:2211 flatcamGUI/FlatCAMGUI.py:2248
+#: flatcamGUI/FlatCAMGUI.py:2692 flatcamGUI/FlatCAMGUI.py:2735
+#: flatcamGUI/ObjectUI.py:108
msgid "Transformations"
msgstr "Transformations"
-#: flatcamGUI/FlatCAMGUI.py:953
+#: flatcamGUI/FlatCAMGUI.py:1021
msgid "Move Objects "
msgstr "Déplacer des objets "
-#: flatcamGUI/FlatCAMGUI.py:961 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2530
+#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2704
msgid "Add Pad"
msgstr "Ajouter un Pad"
-#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2017
-#: flatcamGUI/FlatCAMGUI.py:2534
+#: flatcamGUI/FlatCAMGUI.py:1033 flatcamGUI/FlatCAMGUI.py:2125
+#: flatcamGUI/FlatCAMGUI.py:2708
msgid "Add Track"
msgstr "Ajouter une Piste"
-#: flatcamGUI/FlatCAMGUI.py:967 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2536
+#: flatcamGUI/FlatCAMGUI.py:1035 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2710
msgid "Add Region"
msgstr "Ajouter une Région"
-#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2122
-#: flatcamGUI/FlatCAMGUI.py:2538
+#: flatcamGUI/FlatCAMGUI.py:1037 flatcamGUI/FlatCAMGUI.py:2230
+#: flatcamGUI/FlatCAMGUI.py:2712
msgid "Poligonize"
msgstr "Polygoniser"
-#: flatcamGUI/FlatCAMGUI.py:972 flatcamGUI/FlatCAMGUI.py:2124
-#: flatcamGUI/FlatCAMGUI.py:2541
+#: flatcamGUI/FlatCAMGUI.py:1040 flatcamGUI/FlatCAMGUI.py:2232
+#: flatcamGUI/FlatCAMGUI.py:2715
msgid "SemiDisc"
msgstr "Semi Disque"
-#: flatcamGUI/FlatCAMGUI.py:974 flatcamGUI/FlatCAMGUI.py:2126
-#: flatcamGUI/FlatCAMGUI.py:2543
+#: flatcamGUI/FlatCAMGUI.py:1042 flatcamGUI/FlatCAMGUI.py:2234
+#: flatcamGUI/FlatCAMGUI.py:2717
msgid "Disc"
msgstr "Disque"
-#: flatcamGUI/FlatCAMGUI.py:982 flatcamGUI/FlatCAMGUI.py:2134
-#: flatcamGUI/FlatCAMGUI.py:2551
+#: flatcamGUI/FlatCAMGUI.py:1050 flatcamGUI/FlatCAMGUI.py:2242
+#: flatcamGUI/FlatCAMGUI.py:2725
msgid "Mark Area"
msgstr "Zone de Marque"
-#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2107 flatcamGUI/FlatCAMGUI.py:2170
-#: flatcamGUI/FlatCAMGUI.py:2564 flatcamTools/ToolMove.py:28
+#: flatcamGUI/FlatCAMGUI.py:1064 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2215 flatcamGUI/FlatCAMGUI.py:2278
+#: flatcamGUI/FlatCAMGUI.py:2738 flatcamTools/ToolMove.py:28
msgid "Move"
msgstr "Déplacer"
-#: flatcamGUI/FlatCAMGUI.py:1004 flatcamGUI/FlatCAMGUI.py:2571
+#: flatcamGUI/FlatCAMGUI.py:1072 flatcamGUI/FlatCAMGUI.py:2747
msgid "Snap to grid"
msgstr "Aligner sur la Grille"
-#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2574
+#: flatcamGUI/FlatCAMGUI.py:1075 flatcamGUI/FlatCAMGUI.py:2750
msgid "Grid X snapping distance"
msgstr "Distance d'accrochage de la grille X"
-#: flatcamGUI/FlatCAMGUI.py:1012 flatcamGUI/FlatCAMGUI.py:2579
+#: flatcamGUI/FlatCAMGUI.py:1080 flatcamGUI/FlatCAMGUI.py:2755
msgid "Grid Y snapping distance"
msgstr "Distance d'accrochage de la grille Y"
-#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:2585
+#: flatcamGUI/FlatCAMGUI.py:1086 flatcamGUI/FlatCAMGUI.py:2761
msgid ""
"When active, value on Grid_X\n"
"is copied to the Grid_Y value."
@@ -6315,63 +6646,64 @@ msgstr ""
"Lorsque actif, valeur sur Grid_X\n"
"est copié dans la valeur Grid_Y."
-#: flatcamGUI/FlatCAMGUI.py:1025 flatcamGUI/FlatCAMGUI.py:2592
+#: flatcamGUI/FlatCAMGUI.py:1093 flatcamGUI/FlatCAMGUI.py:2768
msgid "Snap to corner"
msgstr "Accrocher au coin"
-#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2596
-#: flatcamGUI/PreferencesUI.py:984
+#: flatcamGUI/FlatCAMGUI.py:1097 flatcamGUI/FlatCAMGUI.py:2772
+#: flatcamGUI/PreferencesUI.py:1159
msgid "Max. magnet distance"
msgstr "Max. distance d'aimant"
-#: flatcamGUI/FlatCAMGUI.py:1063
+#: flatcamGUI/FlatCAMGUI.py:1134
msgid "Selected"
msgstr "Choisi"
-#: flatcamGUI/FlatCAMGUI.py:1090 flatcamGUI/FlatCAMGUI.py:1098
+#: flatcamGUI/FlatCAMGUI.py:1162 flatcamGUI/FlatCAMGUI.py:1170
msgid "Plot Area"
msgstr "Zone de Dessin"
-#: flatcamGUI/FlatCAMGUI.py:1125
+#: flatcamGUI/FlatCAMGUI.py:1197
msgid "General"
msgstr "Général"
-#: flatcamGUI/FlatCAMGUI.py:1140 flatcamTools/ToolCopperThieving.py:74
-#: flatcamTools/ToolDblSided.py:59 flatcamTools/ToolOptimal.py:71
-#: flatcamTools/ToolQRCode.py:77
+#: flatcamGUI/FlatCAMGUI.py:1212 flatcamTools/ToolCopperThieving.py:75
+#: flatcamTools/ToolDblSided.py:65 flatcamTools/ToolExtractDrills.py:61
+#: flatcamTools/ToolInvertGerber.py:72 flatcamTools/ToolOptimal.py:72
+#: flatcamTools/ToolPunchGerber.py:64
msgid "GERBER"
msgstr "GERBER"
-#: flatcamGUI/FlatCAMGUI.py:1150 flatcamTools/ToolDblSided.py:87
+#: flatcamGUI/FlatCAMGUI.py:1222 flatcamTools/ToolDblSided.py:93
msgid "EXCELLON"
msgstr "EXCELLON"
-#: flatcamGUI/FlatCAMGUI.py:1160 flatcamTools/ToolDblSided.py:115
+#: flatcamGUI/FlatCAMGUI.py:1232 flatcamTools/ToolDblSided.py:121
msgid "GEOMETRY"
msgstr "GÉOMÉTRIE"
-#: flatcamGUI/FlatCAMGUI.py:1170
+#: flatcamGUI/FlatCAMGUI.py:1242
msgid "CNC-JOB"
msgstr "CNC-JOB"
-#: flatcamGUI/FlatCAMGUI.py:1179 flatcamGUI/ObjectUI.py:555
-#: flatcamGUI/ObjectUI.py:1724
+#: flatcamGUI/FlatCAMGUI.py:1251 flatcamGUI/ObjectUI.py:562
+#: flatcamGUI/ObjectUI.py:2050
msgid "TOOLS"
msgstr "OUTILS"
-#: flatcamGUI/FlatCAMGUI.py:1188
+#: flatcamGUI/FlatCAMGUI.py:1260
msgid "TOOLS 2"
msgstr "OUTILS 2"
-#: flatcamGUI/FlatCAMGUI.py:1198
+#: flatcamGUI/FlatCAMGUI.py:1270
msgid "UTILITIES"
msgstr "UTILITAIRES"
-#: flatcamGUI/FlatCAMGUI.py:1215 flatcamGUI/PreferencesUI.py:2833
+#: flatcamGUI/FlatCAMGUI.py:1287 flatcamGUI/PreferencesUI.py:3015
msgid "Restore Defaults"
msgstr "Restaurer les valeurs par défaut"
-#: flatcamGUI/FlatCAMGUI.py:1218
+#: flatcamGUI/FlatCAMGUI.py:1290
msgid ""
"Restore the entire set of default values\n"
"to the initial values loaded after first launch."
@@ -6379,15 +6711,19 @@ msgstr ""
"Restaurer l'ensemble complet des valeurs par défaut\n"
"aux valeurs initiales chargées après le premier lancement."
-#: flatcamGUI/FlatCAMGUI.py:1223
+#: flatcamGUI/FlatCAMGUI.py:1295
msgid "Open Pref Folder"
msgstr "Ouvrir le dossier Pref"
-#: flatcamGUI/FlatCAMGUI.py:1226
+#: flatcamGUI/FlatCAMGUI.py:1298
msgid "Open the folder where FlatCAM save the preferences files."
msgstr "Ouvrez le dossier où FlatCAM enregistre les fichiers de préférences."
-#: flatcamGUI/FlatCAMGUI.py:1234
+#: flatcamGUI/FlatCAMGUI.py:1302 flatcamGUI/FlatCAMGUI.py:2477
+msgid "Clear GUI Settings"
+msgstr "Effacer les param. de GUI"
+
+#: flatcamGUI/FlatCAMGUI.py:1306
msgid ""
"Clear the GUI settings for FlatCAM,\n"
"such as: layout, gui state, style, hdpi support etc."
@@ -6395,15 +6731,15 @@ msgstr ""
"Effacer les paramètres de l'interface graphique pour FlatCAM,\n"
"tels que: mise en page, état graphique, style, support hdpi, etc."
-#: flatcamGUI/FlatCAMGUI.py:1245
+#: flatcamGUI/FlatCAMGUI.py:1317
msgid "Apply"
msgstr "Appliquer"
-#: flatcamGUI/FlatCAMGUI.py:1248
+#: flatcamGUI/FlatCAMGUI.py:1320
msgid "Apply the current preferences without saving to a file."
msgstr "Appliquez les préférences actuelles sans enregistrer dans un fichier."
-#: flatcamGUI/FlatCAMGUI.py:1255
+#: flatcamGUI/FlatCAMGUI.py:1327
msgid ""
"Save the current settings in the 'current_defaults' file\n"
"which is the file storing the working default preferences."
@@ -6411,532 +6747,545 @@ msgstr ""
"Enregistrer les paramètres actuels dans le fichier 'current_defaults'\n"
"qui est le fichier stockant les préférences de travail par défaut."
-#: flatcamGUI/FlatCAMGUI.py:1263
+#: flatcamGUI/FlatCAMGUI.py:1335
msgid "Will not save the changes and will close the preferences window."
msgstr ""
"N'enregistrera pas les modifications et fermera la fenêtre des préférences."
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "SHOW SHORTCUT LIST"
msgstr "MONTRER LISTE DES RACCOURCIS"
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Project Tab"
msgstr "Passer à l'onglet Projet"
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Selected Tab"
msgstr "Passer à l'onglet Sélectionné"
-#: flatcamGUI/FlatCAMGUI.py:1604
+#: flatcamGUI/FlatCAMGUI.py:1705
msgid "Switch to Tool Tab"
msgstr "Basculer vers l'onglet Outil"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "New Gerber"
msgstr "Nouveau Gerber"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Edit Object (if selected)"
msgstr "Editer objet (si sélectionné)"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Jump to Coordinates"
msgstr "Aller aux coordonnées"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Excellon"
msgstr "Nouvelle Excellon"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Move Obj"
msgstr "Déplacer Obj"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Geometry"
msgstr "Nouvelle Géométrie"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Change Units"
msgstr "Changer d'unités"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Open Properties Tool"
msgstr "Ouvrir les Propriétés"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Rotate by 90 degree CW"
msgstr "Rotation de 90 degrés CW"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Shell Toggle"
msgstr "Shell bascule"
-#: flatcamGUI/FlatCAMGUI.py:1608
+#: flatcamGUI/FlatCAMGUI.py:1709
msgid ""
"Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)"
msgstr ""
"Ajouter un outil (dans l'onglet Géométrie sélectionnée ou dans Outils NCC ou "
"Outils de Peinture)"
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on X_axis"
msgstr "Miroir sur l'axe des X"
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on Y_axis"
msgstr "Miroir sur l'axe des Y"
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Copy Obj"
msgstr "Copier Obj"
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Open Tools Database"
msgstr "Ouvrir la BD des outils"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Excellon File"
msgstr "Ouvrir le fichier Excellon"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Gerber File"
msgstr "Ouvrir le fichier Gerber"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "New Project"
msgstr "Nouveau Projet"
-#: flatcamGUI/FlatCAMGUI.py:1614 flatcamTools/ToolPDF.py:42
+#: flatcamGUI/FlatCAMGUI.py:1715 flatcamTools/ToolPDF.py:42
msgid "PDF Import Tool"
msgstr "Outil d'importation PDF"
-#: flatcamGUI/FlatCAMGUI.py:1614
-msgid "Save Project As"
-msgstr "Enregistrer le projet sous"
+#: flatcamGUI/FlatCAMGUI.py:1715
+msgid "Save Project"
+msgstr "Sauvegarder le projet"
-#: flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:1715
msgid "Toggle Plot Area"
msgstr "Basculer la Zone de Tracé"
-#: flatcamGUI/FlatCAMGUI.py:1617
+#: flatcamGUI/FlatCAMGUI.py:1718
msgid "Copy Obj_Name"
msgstr "Copier Nom Obj"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle Code Editor"
msgstr "Basculer l'éditeur de Code"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle the axis"
msgstr "Basculer l'axe"
-#: flatcamGUI/FlatCAMGUI.py:1618 flatcamGUI/FlatCAMGUI.py:1810
-#: flatcamGUI/FlatCAMGUI.py:1897 flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1719 flatcamGUI/FlatCAMGUI.py:1918
+#: flatcamGUI/FlatCAMGUI.py:2005 flatcamGUI/FlatCAMGUI.py:2127
msgid "Distance Minimum Tool"
msgstr "Outil de Distance Minimum"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1720
msgid "Open Preferences Window"
msgstr "Ouvrir la fenêtre de Préférences"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Rotate by 90 degree CCW"
msgstr "Faire pivoter de 90 degrés dans le sens anti-horaire"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Run a Script"
msgstr "Exécuter un script"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Toggle the workspace"
msgstr "Basculer l'espace de travail"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Skew on X axis"
msgstr "Fausser sur l'axe X"
-#: flatcamGUI/FlatCAMGUI.py:1620
+#: flatcamGUI/FlatCAMGUI.py:1722
msgid "Skew on Y axis"
msgstr "Fausser sur l'axe Y"
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "2-Sided PCB Tool"
msgstr "Outil de PCB double face"
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "Transformations Tool"
msgstr "Outil de Transformation"
-#: flatcamGUI/FlatCAMGUI.py:1623
+#: flatcamGUI/FlatCAMGUI.py:1727
msgid "Solder Paste Dispensing Tool"
msgstr "Outil d'application de Pâte à souder"
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Film PCB Tool"
msgstr "Outil de PCB film"
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Non-Copper Clearing Tool"
msgstr "Outil de Nettoyage sans Cuivre"
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Paint Area Tool"
msgstr "Outil de Zone de Peinture"
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Rules Check Tool"
msgstr "Outil de Vérification des Règles"
-#: flatcamGUI/FlatCAMGUI.py:1626
+#: flatcamGUI/FlatCAMGUI.py:1730
msgid "View File Source"
msgstr "Voir le fichier Source"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Cutout PCB Tool"
msgstr "Outil de Découpe PCB"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Enable all Plots"
msgstr "Activer tous les Dessins"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable all Plots"
msgstr "Désactiver tous les Dessins"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable Non-selected Plots"
msgstr "Désactiver les Dessins non sélectionnés"
-#: flatcamGUI/FlatCAMGUI.py:1628
+#: flatcamGUI/FlatCAMGUI.py:1732
msgid "Toggle Full Screen"
msgstr "Passer en plein écran"
-#: flatcamGUI/FlatCAMGUI.py:1631
+#: flatcamGUI/FlatCAMGUI.py:1735
msgid "Abort current task (gracefully)"
msgstr "Abandonner la tâche en cours (avec élégance)"
-#: flatcamGUI/FlatCAMGUI.py:1634
+#: flatcamGUI/FlatCAMGUI.py:1738
+msgid "Save Project As"
+msgstr "Enregistrer le projet sous"
+
+#: flatcamGUI/FlatCAMGUI.py:1739
+msgid ""
+"Paste Special. Will convert a Windows path style to the one required in Tcl "
+"Shell"
+msgstr ""
+"Collage spécial. Convertira un style de chemin d'accès Windows en celui "
+"requis dans Tcl Shell"
+
+#: flatcamGUI/FlatCAMGUI.py:1742
msgid "Open Online Manual"
msgstr "Ouvrir le manuel en ligne"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Open Online Tutorials"
msgstr "Ouvrir des tutoriels en ligne"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Refresh Plots"
msgstr "Actualiser les Dessins"
-#: flatcamGUI/FlatCAMGUI.py:1635 flatcamTools/ToolSolderPaste.py:503
+#: flatcamGUI/FlatCAMGUI.py:1743 flatcamTools/ToolSolderPaste.py:509
msgid "Delete Object"
msgstr "Supprimer un objet"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Alternate: Delete Tool"
msgstr "Autre: Suppression de Outil"
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "(left to Key_1)Toogle Notebook Area (Left Side)"
msgstr "(à gauche de Key_1) Basculer la zone du bloc-notes (côté gauche)"
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "En(Dis)able Obj Plot"
msgstr "(Dés)activer Obj Dessin"
-#: flatcamGUI/FlatCAMGUI.py:1637
+#: flatcamGUI/FlatCAMGUI.py:1745
msgid "Deselects all objects"
msgstr "Désélectionne tous les objets"
-#: flatcamGUI/FlatCAMGUI.py:1651
+#: flatcamGUI/FlatCAMGUI.py:1759
msgid "Editor Shortcut list"
msgstr "Liste des raccourcis de l'éditeur"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "GEOMETRY EDITOR"
msgstr "EDITEUR DE GEOMETRIE"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Draw an Arc"
msgstr "Dessiner un arc"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Copy Geo Item"
msgstr "Copier un élém. de Géo"
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Within Add Arc will toogle the ARC direction: CW or CCW"
msgstr "Dans Ajouter un arc va toogle la direction de l'ARC: CW ou CCW"
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Polygon Intersection Tool"
msgstr "Outil d'intersection de polygones"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Geo Paint Tool"
msgstr "Outil de peinture géo"
-#: flatcamGUI/FlatCAMGUI.py:1807 flatcamGUI/FlatCAMGUI.py:1896
-#: flatcamGUI/FlatCAMGUI.py:2016
+#: flatcamGUI/FlatCAMGUI.py:1915 flatcamGUI/FlatCAMGUI.py:2004
+#: flatcamGUI/FlatCAMGUI.py:2124
msgid "Jump to Location (x, y)"
msgstr "Aller à l'emplacement (x, y)"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Toggle Corner Snap"
msgstr "Basculement d'angle"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Move Geo Item"
msgstr "Déplacer un élément de géométrie"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Within Add Arc will cycle through the ARC modes"
msgstr "Dans Ajouter Arc passera en revue les modes ARC"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Polygon"
msgstr "Dessine un polygone"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Circle"
msgstr "Dessiner un cercle"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw a Path"
msgstr "Dessiner un chemin"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw Rectangle"
msgstr "Dessiner un rectangle"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Polygon Subtraction Tool"
msgstr "Outil de soustraction de polygone"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Add Text Tool"
msgstr "Ajouter un outil de texte"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Polygon Union Tool"
msgstr "Outil union de polygones"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on X axis"
msgstr "Refléter la forme sur l'axe X"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on Y axis"
msgstr "Refléter la forme sur l'axe Y"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on X axis"
msgstr "Fausser de la forme sur l'axe X"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on Y axis"
msgstr "Fausser de la forme sur l'axe Y"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Editor Transformation Tool"
msgstr "Outil de transformation de l'éditeur"
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on X axis"
msgstr "Forme décalée sur l'axe X"
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on Y axis"
msgstr "Forme décalée sur l'axe Y"
-#: flatcamGUI/FlatCAMGUI.py:1813 flatcamGUI/FlatCAMGUI.py:1899
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:1921 flatcamGUI/FlatCAMGUI.py:2007
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Save Object and Exit Editor"
msgstr "Enregistrer l'objet et quitter l'éditeur"
-#: flatcamGUI/FlatCAMGUI.py:1813
+#: flatcamGUI/FlatCAMGUI.py:1921
msgid "Polygon Cut Tool"
msgstr "Outil de coupe de polygone"
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Rotate Geometry"
msgstr "Faire pivoter la géométrie"
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Finish drawing for certain tools"
msgstr "Terminer le dessin pour certains outils"
-#: flatcamGUI/FlatCAMGUI.py:1814 flatcamGUI/FlatCAMGUI.py:1899
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1922 flatcamGUI/FlatCAMGUI.py:2007
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Abort and return to Select"
msgstr "Abort and return to Select"
-#: flatcamGUI/FlatCAMGUI.py:1815 flatcamGUI/FlatCAMGUI.py:2518
+#: flatcamGUI/FlatCAMGUI.py:1923 flatcamGUI/FlatCAMGUI.py:2690
msgid "Delete Shape"
msgstr "Supprimer la forme"
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "EXCELLON EDITOR"
msgstr "ÉDITEUR EXCELLON"
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "Copy Drill(s)"
msgstr "Copier les Forets"
-#: flatcamGUI/FlatCAMGUI.py:1895 flatcamGUI/FlatCAMGUI.py:2145
+#: flatcamGUI/FlatCAMGUI.py:2003 flatcamGUI/FlatCAMGUI.py:2253
msgid "Add Drill"
msgstr "Ajouter une Foret"
-#: flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamGUI/FlatCAMGUI.py:2004
msgid "Move Drill(s)"
msgstr "Déplacer les Forets"
-#: flatcamGUI/FlatCAMGUI.py:1897
+#: flatcamGUI/FlatCAMGUI.py:2005
msgid "Add a new Tool"
msgstr "Ajouter un nouvel outil"
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Delete Drill(s)"
msgstr "Supprimer les Forets"
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Alternate: Delete Tool(s)"
msgstr "Autre: Supprimer outil(s)"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "GERBER EDITOR"
msgstr "GERBER ÉDITEUR"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add Disc"
msgstr "Ajouter un Disque"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add SemiDisc"
msgstr "Ajouter un Semi-disque"
-#: flatcamGUI/FlatCAMGUI.py:2017
+#: flatcamGUI/FlatCAMGUI.py:2125
msgid "Within Track & Region Tools will cycle in REVERSE the bend modes"
msgstr ""
"Dans les Outils de Piste et de Région, les modes de pliage sont inversés"
-#: flatcamGUI/FlatCAMGUI.py:2018
+#: flatcamGUI/FlatCAMGUI.py:2126
msgid "Within Track & Region Tools will cycle FORWARD the bend modes"
msgstr ""
"Dans les Outils de Piste et de Région, les modes de pliage sont répétés en "
"boucle"
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Alternate: Delete Apertures"
msgstr "Autre: Supprimer les ouvertures"
-#: flatcamGUI/FlatCAMGUI.py:2020
+#: flatcamGUI/FlatCAMGUI.py:2128
msgid "Eraser Tool"
msgstr "Outil pour Effacer"
-#: flatcamGUI/FlatCAMGUI.py:2021 flatcamGUI/PreferencesUI.py:2634
+#: flatcamGUI/FlatCAMGUI.py:2129 flatcamGUI/PreferencesUI.py:2816
msgid "Mark Area Tool"
msgstr "Outil Zone de Marquage"
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Poligonize Tool"
msgstr "Outil Polygoniser"
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Transformation Tool"
msgstr "Outil de Transformation"
-#: flatcamGUI/FlatCAMGUI.py:2038
+#: flatcamGUI/FlatCAMGUI.py:2146
msgid "Toggle Visibility"
msgstr "Basculer la Visibilité"
-#: flatcamGUI/FlatCAMGUI.py:2044
+#: flatcamGUI/FlatCAMGUI.py:2152
msgid "New"
msgstr "Nouveau"
-#: flatcamGUI/FlatCAMGUI.py:2046 flatcamTools/ToolCalibration.py:634
-msgid "Geometry"
-msgstr "Géométrie"
-
-#: flatcamGUI/FlatCAMGUI.py:2050 flatcamTools/ToolCalibration.py:197
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolFilm.py:359
+#: flatcamGUI/FlatCAMGUI.py:2158 flatcamGUI/PreferencesUI.py:8410
+#: flatcamTools/ToolAlignObjects.py:74 flatcamTools/ToolAlignObjects.py:110
+#: flatcamTools/ToolCalibration.py:197 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:807
+#: flatcamTools/ToolCalibration.py:815 flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolDblSided.py:226
+#: flatcamTools/ToolFilm.py:359 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1295 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:706 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPunchGerber.py:149 flatcamTools/ToolPunchGerber.py:164
msgid "Excellon"
msgstr "Excellon"
-#: flatcamGUI/FlatCAMGUI.py:2057
+#: flatcamGUI/FlatCAMGUI.py:2165
msgid "Grids"
msgstr "Des grilles"
-#: flatcamGUI/FlatCAMGUI.py:2064
+#: flatcamGUI/FlatCAMGUI.py:2172
msgid "Clear Plot"
msgstr "Effacer le Dessin"
-#: flatcamGUI/FlatCAMGUI.py:2066
+#: flatcamGUI/FlatCAMGUI.py:2174
msgid "Replot"
msgstr "Re-Tracé"
-#: flatcamGUI/FlatCAMGUI.py:2070
+#: flatcamGUI/FlatCAMGUI.py:2178
msgid "Geo Editor"
msgstr "Éditeur de Géo"
-#: flatcamGUI/FlatCAMGUI.py:2072
+#: flatcamGUI/FlatCAMGUI.py:2180
msgid "Path"
msgstr "Chemin"
-#: flatcamGUI/FlatCAMGUI.py:2074
+#: flatcamGUI/FlatCAMGUI.py:2182
msgid "Rectangle"
msgstr "Rectangle"
-#: flatcamGUI/FlatCAMGUI.py:2077
+#: flatcamGUI/FlatCAMGUI.py:2185
msgid "Circle"
msgstr "Cercle"
-#: flatcamGUI/FlatCAMGUI.py:2079
-msgid "Polygon"
-msgstr "Polygone"
-
-#: flatcamGUI/FlatCAMGUI.py:2081
+#: flatcamGUI/FlatCAMGUI.py:2189
msgid "Arc"
msgstr "Arc"
-#: flatcamGUI/FlatCAMGUI.py:2095
+#: flatcamGUI/FlatCAMGUI.py:2203
msgid "Union"
msgstr "Union"
-#: flatcamGUI/FlatCAMGUI.py:2097
+#: flatcamGUI/FlatCAMGUI.py:2205
msgid "Intersection"
msgstr "Intersection"
-#: flatcamGUI/FlatCAMGUI.py:2099
+#: flatcamGUI/FlatCAMGUI.py:2207
msgid "Subtraction"
msgstr "Soustraction"
-#: flatcamGUI/FlatCAMGUI.py:2101 flatcamGUI/ObjectUI.py:1811
-#: flatcamGUI/PreferencesUI.py:4421
+#: flatcamGUI/FlatCAMGUI.py:2209 flatcamGUI/ObjectUI.py:2139
+#: flatcamGUI/PreferencesUI.py:4714
msgid "Cut"
msgstr "Couper"
-#: flatcamGUI/FlatCAMGUI.py:2112
+#: flatcamGUI/FlatCAMGUI.py:2220
msgid "Pad"
msgstr "Pad"
-#: flatcamGUI/FlatCAMGUI.py:2114
+#: flatcamGUI/FlatCAMGUI.py:2222
msgid "Pad Array"
msgstr "Tableau Pad"
-#: flatcamGUI/FlatCAMGUI.py:2118
+#: flatcamGUI/FlatCAMGUI.py:2226
msgid "Track"
msgstr "Piste"
-#: flatcamGUI/FlatCAMGUI.py:2120
+#: flatcamGUI/FlatCAMGUI.py:2228
msgid "Region"
msgstr "Région"
-#: flatcamGUI/FlatCAMGUI.py:2143
+#: flatcamGUI/FlatCAMGUI.py:2251
msgid "Exc Editor"
msgstr "Éditeur Excellon"
-#: flatcamGUI/FlatCAMGUI.py:2188
+#: flatcamGUI/FlatCAMGUI.py:2296
msgid ""
"Relative neasurement.\n"
"Reference is last click position"
@@ -6944,7 +7293,7 @@ msgstr ""
"Mesure relative\n"
"La référence est la position du dernier clic"
-#: flatcamGUI/FlatCAMGUI.py:2194
+#: flatcamGUI/FlatCAMGUI.py:2302
msgid ""
"Absolute neasurement.\n"
"Reference is (X=0, Y= 0) position"
@@ -6952,27 +7301,35 @@ msgstr ""
"Mesure absolue.\n"
"La référence est (X = 0, Y = 0) position"
-#: flatcamGUI/FlatCAMGUI.py:2301
+#: flatcamGUI/FlatCAMGUI.py:2406
msgid "Lock Toolbars"
msgstr "Verrouiller les barres d'outils"
-#: flatcamGUI/FlatCAMGUI.py:2419
+#: flatcamGUI/FlatCAMGUI.py:2465
+msgid "FlatCAM Preferences Folder opened."
+msgstr "Dossier Préférences FlatCAM ouvert."
+
+#: flatcamGUI/FlatCAMGUI.py:2476
+msgid "Are you sure you want to delete the GUI Settings? \n"
+msgstr "Êtes-vous sûr de vouloir supprimer les paramètres de GUI?\n"
+
+#: flatcamGUI/FlatCAMGUI.py:2584
msgid "&Cutout Tool"
msgstr "Outil de Découpe"
-#: flatcamGUI/FlatCAMGUI.py:2478
+#: flatcamGUI/FlatCAMGUI.py:2650
msgid "Select 'Esc'"
msgstr "Sélectionnez 'Esc'"
-#: flatcamGUI/FlatCAMGUI.py:2516
+#: flatcamGUI/FlatCAMGUI.py:2688
msgid "Copy Objects"
msgstr "Copier des objets"
-#: flatcamGUI/FlatCAMGUI.py:2524
+#: flatcamGUI/FlatCAMGUI.py:2696
msgid "Move Objects"
msgstr "Déplacer des objets"
-#: flatcamGUI/FlatCAMGUI.py:3087
+#: flatcamGUI/FlatCAMGUI.py:3312
msgid ""
"Please first select a geometry item to be cutted\n"
"then select the geometry item that will be cutted\n"
@@ -6984,12 +7341,12 @@ msgstr ""
"sur le premier article. Appuyez à la fin de la touche ~ X ~ ou\n"
"le bouton de la barre d'outils."
-#: flatcamGUI/FlatCAMGUI.py:3094 flatcamGUI/FlatCAMGUI.py:3254
-#: flatcamGUI/FlatCAMGUI.py:3299 flatcamGUI/FlatCAMGUI.py:3319
+#: flatcamGUI/FlatCAMGUI.py:3319 flatcamGUI/FlatCAMGUI.py:3478
+#: flatcamGUI/FlatCAMGUI.py:3523 flatcamGUI/FlatCAMGUI.py:3543
msgid "Warning"
msgstr "Attention"
-#: flatcamGUI/FlatCAMGUI.py:3249
+#: flatcamGUI/FlatCAMGUI.py:3473
msgid ""
"Please select geometry items \n"
"on which to perform Intersection Tool."
@@ -6997,7 +7354,7 @@ msgstr ""
"Veuillez sélectionner des éléments de géométrie\n"
"sur lequel exécuter l'outil Intersection."
-#: flatcamGUI/FlatCAMGUI.py:3294
+#: flatcamGUI/FlatCAMGUI.py:3518
msgid ""
"Please select geometry items \n"
"on which to perform Substraction Tool."
@@ -7005,7 +7362,7 @@ msgstr ""
"Veuillez sélectionner des éléments de géométrie\n"
"sur lequel effectuer l'outil de Soustraction."
-#: flatcamGUI/FlatCAMGUI.py:3314
+#: flatcamGUI/FlatCAMGUI.py:3538
msgid ""
"Please select geometry items \n"
"on which to perform union."
@@ -7013,61 +7370,62 @@ msgstr ""
"Veuillez sélectionner des éléments de géométrie\n"
"sur lequel effectuer l'union."
-#: flatcamGUI/FlatCAMGUI.py:3394 flatcamGUI/FlatCAMGUI.py:3608
+#: flatcamGUI/FlatCAMGUI.py:3617 flatcamGUI/FlatCAMGUI.py:3828
msgid "Cancelled. Nothing selected to delete."
msgstr "Annulé. Rien de sélectionné à supprimer."
-#: flatcamGUI/FlatCAMGUI.py:3479 flatcamGUI/FlatCAMGUI.py:3726
+#: flatcamGUI/FlatCAMGUI.py:3701 flatcamGUI/FlatCAMGUI.py:3944
msgid "Cancelled. Nothing selected to copy."
msgstr "Annulé. Rien n'est sélectionné pour copier."
-#: flatcamGUI/FlatCAMGUI.py:3526 flatcamGUI/FlatCAMGUI.py:3756
+#: flatcamGUI/FlatCAMGUI.py:3747 flatcamGUI/FlatCAMGUI.py:3973
msgid "Cancelled. Nothing selected to move."
msgstr "Annulé. Rien de sélectionné pour bouger."
-#: flatcamGUI/FlatCAMGUI.py:3782
+#: flatcamGUI/FlatCAMGUI.py:3999
msgid "New Tool ..."
msgstr "Nouvel outil ..."
-#: flatcamGUI/FlatCAMGUI.py:3783 flatcamTools/ToolNonCopperClear.py:583
-#: flatcamTools/ToolPaint.py:494 flatcamTools/ToolSolderPaste.py:554
+#: flatcamGUI/FlatCAMGUI.py:4000 flatcamTools/ToolNCC.py:924
+#: flatcamTools/ToolPaint.py:850 flatcamTools/ToolSolderPaste.py:560
msgid "Enter a Tool Diameter"
msgstr "Entrer un diamètre d'outil"
-#: flatcamGUI/FlatCAMGUI.py:3795
+#: flatcamGUI/FlatCAMGUI.py:4012
msgid "Adding Tool cancelled ..."
msgstr "Ajout de l'outil annulé ..."
-#: flatcamGUI/FlatCAMGUI.py:3808
+#: flatcamGUI/FlatCAMGUI.py:4025
msgid "Distance Tool exit..."
msgstr "Distance Outil sortie ..."
-#: flatcamGUI/FlatCAMGUI.py:4018 flatcamGUI/FlatCAMGUI.py:4025
+#: flatcamGUI/FlatCAMGUI.py:4234 flatcamGUI/FlatCAMGUI.py:4241
msgid "Idle."
msgstr "Au repos."
-#: flatcamGUI/FlatCAMGUI.py:4056
+#: flatcamGUI/FlatCAMGUI.py:4272
msgid "Application started ..."
msgstr "L'application a commencé ..."
-#: flatcamGUI/FlatCAMGUI.py:4057
+#: flatcamGUI/FlatCAMGUI.py:4273
msgid "Hello!"
msgstr "Salut!"
-#: flatcamGUI/FlatCAMGUI.py:4115
+#: flatcamGUI/FlatCAMGUI.py:4331
msgid "Open Project ..."
msgstr "Projet ouvert ..."
-#: flatcamGUI/FlatCAMGUI.py:4141
+#: flatcamGUI/FlatCAMGUI.py:4357
msgid "Exit"
msgstr "Sortie"
-#: flatcamGUI/GUIElements.py:2261 flatcamGUI/PreferencesUI.py:5265
-#: flatcamGUI/PreferencesUI.py:5825 flatcamTools/ToolFilm.py:219
+#: flatcamGUI/GUIElements.py:2513 flatcamGUI/PreferencesUI.py:6313
+#: flatcamTools/ToolDblSided.py:174 flatcamTools/ToolDblSided.py:389
+#: flatcamTools/ToolFilm.py:219
msgid "Reference"
msgstr "Référence"
-#: flatcamGUI/GUIElements.py:2263
+#: flatcamGUI/GUIElements.py:2515
msgid ""
"The reference can be:\n"
"- Absolute -> the reference point is point (0,0)\n"
@@ -7077,19 +7435,19 @@ msgstr ""
"- Absolue -> le point de référence est le point (0,0)\n"
"- Relatif -> le point de référence est la position de la souris avant le saut"
-#: flatcamGUI/GUIElements.py:2268
+#: flatcamGUI/GUIElements.py:2520
msgid "Abs"
msgstr "Abs"
-#: flatcamGUI/GUIElements.py:2269
+#: flatcamGUI/GUIElements.py:2521
msgid "Relative"
msgstr "Relatif"
-#: flatcamGUI/GUIElements.py:2279
+#: flatcamGUI/GUIElements.py:2531
msgid "Location"
msgstr "Emplacement"
-#: flatcamGUI/GUIElements.py:2281
+#: flatcamGUI/GUIElements.py:2533
msgid ""
"The Location value is a tuple (x,y).\n"
"If the reference is Absolute then the Jump will be at the position (x,y).\n"
@@ -7101,6 +7459,10 @@ msgstr ""
"Si la référence est relative, le saut sera à la distance (x, y)\n"
"à partir du point d'emplacement actuel de la souris."
+#: flatcamGUI/GUIElements.py:2573
+msgid "Save Log"
+msgstr "Enregistrer le journal"
+
#: flatcamGUI/ObjectUI.py:38
msgid "FlatCAM Object"
msgstr "Objet FlatCAM"
@@ -7123,15 +7485,11 @@ msgstr ""
"Édition -> Préférences -> Général et vérifiez:\n"
"Bouton radio 'APP. NIVEAU'."
-#: flatcamGUI/ObjectUI.py:105
-msgid "Change the size of the object."
-msgstr "Changer la taille de l'objet."
+#: flatcamGUI/ObjectUI.py:110
+msgid "Geometrical transformations of the current object."
+msgstr "Transformations géométriques de l'objet courant."
-#: flatcamGUI/ObjectUI.py:111
-msgid "Factor"
-msgstr "Facteur"
-
-#: flatcamGUI/ObjectUI.py:113
+#: flatcamGUI/ObjectUI.py:119
msgid ""
"Factor by which to multiply\n"
"geometric features of this object.\n"
@@ -7141,19 +7499,11 @@ msgstr ""
"caractéristiques géométriques de cet objet.\n"
"Les expressions sont autorisées. Par exemple: 1 / 25.4"
-#: flatcamGUI/ObjectUI.py:123
+#: flatcamGUI/ObjectUI.py:126
msgid "Perform scaling operation."
msgstr "Effectuer l'opération de mise à l'échelle."
-#: flatcamGUI/ObjectUI.py:134
-msgid "Change the position of this object."
-msgstr "Changer la position de cet objet."
-
-#: flatcamGUI/ObjectUI.py:139
-msgid "Vector"
-msgstr "Vecteur"
-
-#: flatcamGUI/ObjectUI.py:141
+#: flatcamGUI/ObjectUI.py:137
msgid ""
"Amount by which to move the object\n"
"in the x and y axes in (x, y) format.\n"
@@ -7163,60 +7513,53 @@ msgstr ""
"dans les axes x et y au format (x, y).\n"
"Les expressions sont autorisées. Par exemple: (1/3.2, 0.5*3)"
-#: flatcamGUI/ObjectUI.py:150
+#: flatcamGUI/ObjectUI.py:144
msgid "Perform the offset operation."
msgstr "Effectuer l'opération de décalage."
-#: flatcamGUI/ObjectUI.py:167
+#: flatcamGUI/ObjectUI.py:177
msgid "Gerber Object"
msgstr "Objet de Gerber"
-#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:767
-#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1905
-#: flatcamGUI/PreferencesUI.py:1783 flatcamGUI/PreferencesUI.py:3849
-#: flatcamGUI/PreferencesUI.py:4406
-msgid "Plot (show) this object."
-msgstr "Tracer (afficher) cet objet."
-
-#: flatcamGUI/ObjectUI.py:184 flatcamGUI/ObjectUI.py:765
-#: flatcamGUI/PreferencesUI.py:1781 flatcamGUI/PreferencesUI.py:2680
-#: flatcamGUI/PreferencesUI.py:3847
-msgid "Plot"
-msgstr "Dessin"
-
-#: flatcamGUI/ObjectUI.py:189 flatcamGUI/ObjectUI.py:726
-#: flatcamGUI/ObjectUI.py:1159 flatcamGUI/ObjectUI.py:1795
-#: flatcamGUI/PreferencesUI.py:1760 flatcamGUI/PreferencesUI.py:2674
-#: flatcamGUI/PreferencesUI.py:3843 flatcamGUI/PreferencesUI.py:4395
+#: flatcamGUI/ObjectUI.py:186 flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/ObjectUI.py:2123
+#: flatcamGUI/PreferencesUI.py:1940 flatcamGUI/PreferencesUI.py:2856
+#: flatcamGUI/PreferencesUI.py:4121 flatcamGUI/PreferencesUI.py:4688
msgid "Plot Options"
msgstr "Options de Tracé"
-#: flatcamGUI/ObjectUI.py:195 flatcamGUI/ObjectUI.py:727
-#: flatcamGUI/PreferencesUI.py:1767 flatcamGUI/PreferencesUI.py:2686
-#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolCopperThieving.py:190
+#: flatcamGUI/ObjectUI.py:192 flatcamGUI/ObjectUI.py:730
+#: flatcamGUI/PreferencesUI.py:1947 flatcamGUI/PreferencesUI.py:2868
+#: flatcamGUI/PreferencesUI.py:7728 flatcamTools/ToolCopperThieving.py:192
msgid "Solid"
msgstr "Solide"
-#: flatcamGUI/ObjectUI.py:197 flatcamGUI/PreferencesUI.py:1769
+#: flatcamGUI/ObjectUI.py:194 flatcamGUI/PreferencesUI.py:1949
msgid "Solid color polygons."
msgstr "Polygones de couleur unie."
-#: flatcamGUI/ObjectUI.py:203
+#: flatcamGUI/ObjectUI.py:200
msgid "Multi-Color"
msgstr "Multicolore"
-#: flatcamGUI/ObjectUI.py:205 flatcamGUI/PreferencesUI.py:1776
+#: flatcamGUI/ObjectUI.py:202 flatcamGUI/PreferencesUI.py:1956
msgid "Draw polygons in different colors."
msgstr "Dessine des polygones de différentes couleurs."
-#: flatcamGUI/ObjectUI.py:213 flatcamGUI/ObjectUI.py:738
-#: flatcamGUI/ObjectUI.py:1165 flatcamGUI/ObjectUI.py:1825
-#: flatcamGUI/ObjectUI.py:2128 flatcamGUI/ObjectUI.py:2194
-#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolFiducials.py:73
-msgid "Name"
-msgstr "Nom"
+#: flatcamGUI/ObjectUI.py:208 flatcamGUI/ObjectUI.py:768
+#: flatcamGUI/PreferencesUI.py:1961 flatcamGUI/PreferencesUI.py:2862
+#: flatcamGUI/PreferencesUI.py:4125
+msgid "Plot"
+msgstr "Dessin"
-#: flatcamGUI/ObjectUI.py:234
+#: flatcamGUI/ObjectUI.py:210 flatcamGUI/ObjectUI.py:770
+#: flatcamGUI/ObjectUI.py:1484 flatcamGUI/ObjectUI.py:2233
+#: flatcamGUI/PreferencesUI.py:1963 flatcamGUI/PreferencesUI.py:4127
+#: flatcamGUI/PreferencesUI.py:4699
+msgid "Plot (show) this object."
+msgstr "Tracer (afficher) cet objet."
+
+#: flatcamGUI/ObjectUI.py:238
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"When unchecked, it will delete all mark shapes\n"
@@ -7227,11 +7570,11 @@ msgstr ""
"supprimées\n"
"qui sont dessinés sur une toile."
-#: flatcamGUI/ObjectUI.py:244
+#: flatcamGUI/ObjectUI.py:248
msgid "Mark All"
msgstr "Marquer tout"
-#: flatcamGUI/ObjectUI.py:246
+#: flatcamGUI/ObjectUI.py:250
msgid ""
"When checked it will display all the apertures.\n"
"When unchecked, it will delete all mark shapes\n"
@@ -7242,15 +7585,15 @@ msgstr ""
"supprimées\n"
"qui sont dessinés sur une toile."
-#: flatcamGUI/ObjectUI.py:274
+#: flatcamGUI/ObjectUI.py:278
msgid "Mark the aperture instances on canvas."
msgstr "Marquez les occurrences d’ouverture sur la toile."
-#: flatcamGUI/ObjectUI.py:286 flatcamGUI/PreferencesUI.py:2014
+#: flatcamGUI/ObjectUI.py:290 flatcamGUI/PreferencesUI.py:2194
msgid "Isolation Routing"
msgstr "Routage d'isolement"
-#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:2016
+#: flatcamGUI/ObjectUI.py:292 flatcamGUI/PreferencesUI.py:2196
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut outside polygons."
@@ -7258,7 +7601,7 @@ msgstr ""
"Créez un objet de géométrie avec\n"
"parcours d’outils pour couper des polygones extérieurs."
-#: flatcamGUI/ObjectUI.py:306 flatcamGUI/PreferencesUI.py:2219
+#: flatcamGUI/ObjectUI.py:310 flatcamGUI/PreferencesUI.py:2399
msgid ""
"Choose what tool to use for Gerber isolation:\n"
"'Circular' or 'V-shape'.\n"
@@ -7270,31 +7613,37 @@ msgstr ""
"Lorsque la \"forme en V\" est sélectionnée, l'outil\n"
"Le diamètre dépendra de la profondeur de coupe choisie."
-#: flatcamGUI/ObjectUI.py:312
+#: flatcamGUI/ObjectUI.py:316
msgid "V-Shape"
msgstr "Forme en V"
-#: flatcamGUI/ObjectUI.py:318 flatcamGUI/ObjectUI.py:1374
-#: flatcamGUI/PreferencesUI.py:2231 flatcamGUI/PreferencesUI.py:5055
-#: flatcamTools/ToolNonCopperClear.py:231
+#: flatcamGUI/ObjectUI.py:322 flatcamGUI/ObjectUI.py:1670
+#: flatcamGUI/PreferencesUI.py:2411 flatcamGUI/PreferencesUI.py:5351
+#: flatcamGUI/PreferencesUI.py:5917 flatcamGUI/PreferencesUI.py:5924
+#: flatcamTools/ToolNCC.py:233 flatcamTools/ToolNCC.py:240
+#: flatcamTools/ToolPaint.py:216
msgid "V-Tip Dia"
msgstr "Dia V-Tip"
-#: flatcamGUI/ObjectUI.py:320 flatcamGUI/ObjectUI.py:1377
-#: flatcamGUI/PreferencesUI.py:2233 flatcamGUI/PreferencesUI.py:5057
-#: flatcamTools/ToolNonCopperClear.py:233
+#: flatcamGUI/ObjectUI.py:324 flatcamGUI/ObjectUI.py:1673
+#: flatcamGUI/PreferencesUI.py:2413 flatcamGUI/PreferencesUI.py:5353
+#: flatcamGUI/PreferencesUI.py:5919 flatcamTools/ToolNCC.py:235
+#: flatcamTools/ToolPaint.py:218
msgid "The tip diameter for V-Shape Tool"
msgstr "Le diamètre de la pointe pour l'outil en forme de V"
-#: flatcamGUI/ObjectUI.py:331 flatcamGUI/ObjectUI.py:1389
-#: flatcamGUI/PreferencesUI.py:2244 flatcamGUI/PreferencesUI.py:5067
-#: flatcamTools/ToolNonCopperClear.py:242
+#: flatcamGUI/ObjectUI.py:335 flatcamGUI/ObjectUI.py:1685
+#: flatcamGUI/PreferencesUI.py:2424 flatcamGUI/PreferencesUI.py:5363
+#: flatcamGUI/PreferencesUI.py:5930 flatcamGUI/PreferencesUI.py:5938
+#: flatcamTools/ToolNCC.py:246 flatcamTools/ToolNCC.py:254
+#: flatcamTools/ToolPaint.py:229
msgid "V-Tip Angle"
msgstr "Angle en V-tip"
-#: flatcamGUI/ObjectUI.py:333 flatcamGUI/ObjectUI.py:1392
-#: flatcamGUI/PreferencesUI.py:2246 flatcamGUI/PreferencesUI.py:5069
-#: flatcamTools/ToolNonCopperClear.py:244
+#: flatcamGUI/ObjectUI.py:337 flatcamGUI/ObjectUI.py:1688
+#: flatcamGUI/PreferencesUI.py:2426 flatcamGUI/PreferencesUI.py:5365
+#: flatcamGUI/PreferencesUI.py:5932 flatcamTools/ToolNCC.py:248
+#: flatcamTools/ToolPaint.py:231
msgid ""
"The tip angle for V-Shape Tool.\n"
"In degree."
@@ -7302,9 +7651,9 @@ msgstr ""
"L'angle de pointe pour l'outil en forme de V\n"
"En degré."
-#: flatcamGUI/ObjectUI.py:347 flatcamGUI/ObjectUI.py:1408
-#: flatcamGUI/PreferencesUI.py:2259 flatcamGUI/PreferencesUI.py:3963
-#: flatcamGUI/PreferencesUI.py:5330 flatcamTools/ToolCutOut.py:135
+#: flatcamGUI/ObjectUI.py:351 flatcamGUI/ObjectUI.py:1704
+#: flatcamGUI/PreferencesUI.py:2439 flatcamGUI/PreferencesUI.py:4243
+#: flatcamGUI/PreferencesUI.py:5669 flatcamTools/ToolCutOut.py:142
msgid ""
"Cutting depth (negative)\n"
"below the copper surface."
@@ -7312,7 +7661,7 @@ msgstr ""
"Profondeur de coupe (négatif)\n"
"sous la surface de cuivre."
-#: flatcamGUI/ObjectUI.py:361
+#: flatcamGUI/ObjectUI.py:365
msgid ""
"Diameter of the cutting tool.\n"
"If you want to have an isolation path\n"
@@ -7326,11 +7675,11 @@ msgstr ""
"fonction, utilisez une valeur négative pour\n"
"ce paramètre."
-#: flatcamGUI/ObjectUI.py:377 flatcamGUI/PreferencesUI.py:2038
+#: flatcamGUI/ObjectUI.py:381 flatcamGUI/PreferencesUI.py:2218
msgid "# Passes"
msgstr "# Passes"
-#: flatcamGUI/ObjectUI.py:379 flatcamGUI/PreferencesUI.py:2040
+#: flatcamGUI/ObjectUI.py:383 flatcamGUI/PreferencesUI.py:2220
msgid ""
"Width of the isolation gap in\n"
"number (integer) of tool widths."
@@ -7338,24 +7687,18 @@ msgstr ""
"Largeur du fossé d'isolement dans\n"
"nombre (entier) de largeurs d'outil."
-#: flatcamGUI/ObjectUI.py:389 flatcamGUI/PreferencesUI.py:2050
+#: flatcamGUI/ObjectUI.py:394 flatcamGUI/PreferencesUI.py:2230
msgid "Pass overlap"
msgstr "Passe chevauchement"
-#: flatcamGUI/ObjectUI.py:391 flatcamGUI/PreferencesUI.py:2052
-msgid "How much (fraction) of the tool width to overlap each tool pass."
+#: flatcamGUI/ObjectUI.py:396 flatcamGUI/PreferencesUI.py:2232
+msgid "How much (percentage) of the tool width to overlap each tool pass."
msgstr ""
-"La quantité (fraction) de la largeur de l'outil qui chevauche chaque passe "
+"La quantité (pourcentage) de la largeur d'outil qui chevauche chaque passe "
"d'outil."
-#: flatcamGUI/ObjectUI.py:403 flatcamGUI/PreferencesUI.py:2077
-#: flatcamGUI/PreferencesUI.py:4372 flatcamGUI/PreferencesUI.py:5112
-#: flatcamTools/ToolNonCopperClear.py:162
-msgid "Milling Type"
-msgstr "Type de fraisage"
-
-#: flatcamGUI/ObjectUI.py:405 flatcamGUI/PreferencesUI.py:2079
-#: flatcamGUI/PreferencesUI.py:4374
+#: flatcamGUI/ObjectUI.py:410 flatcamGUI/PreferencesUI.py:2259
+#: flatcamGUI/PreferencesUI.py:4667
msgid ""
"Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
@@ -7366,29 +7709,19 @@ msgstr ""
"d'outils\n"
"- conventionnel / utile quand il n'y a pas de compensation de jeu"
-#: flatcamGUI/ObjectUI.py:409 flatcamGUI/PreferencesUI.py:2084
-#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:5119
-#: flatcamTools/ToolNonCopperClear.py:169
-msgid "Climb"
-msgstr "Monté"
-
-#: flatcamGUI/ObjectUI.py:410
-msgid "Conventional"
-msgstr "Conventionnel"
-
-#: flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/ObjectUI.py:420
msgid "Combine"
msgstr "Combiner"
-#: flatcamGUI/ObjectUI.py:417 flatcamGUI/PreferencesUI.py:2091
+#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2271
msgid "Combine all passes into one object"
msgstr "Combine tous les passages dans un objet"
-#: flatcamGUI/ObjectUI.py:421 flatcamGUI/PreferencesUI.py:2193
+#: flatcamGUI/ObjectUI.py:426 flatcamGUI/PreferencesUI.py:2373
msgid "\"Follow\""
msgstr "\"Suivre\""
-#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2195
+#: flatcamGUI/ObjectUI.py:427 flatcamGUI/PreferencesUI.py:2375
msgid ""
"Generate a 'Follow' geometry.\n"
"This means that it will cut through\n"
@@ -7398,11 +7731,11 @@ msgstr ""
"Cela signifie qu'il va couper à travers\n"
"le milieu de la trace."
-#: flatcamGUI/ObjectUI.py:428
+#: flatcamGUI/ObjectUI.py:433
msgid "Except"
msgstr "Sauf"
-#: flatcamGUI/ObjectUI.py:431
+#: flatcamGUI/ObjectUI.py:436
msgid ""
"When the isolation geometry is generated,\n"
"by checking this, the area of the object bellow\n"
@@ -7412,12 +7745,12 @@ msgstr ""
"en cochant cela, la zone de l'objet ci-dessous\n"
"sera soustrait de la géométrie d'isolation."
-#: flatcamGUI/ObjectUI.py:453 flatcamTools/ToolNonCopperClear.py:82
-#: flatcamTools/ToolPaint.py:85
+#: flatcamGUI/ObjectUI.py:456 flatcamTools/ToolNCC.py:86
+#: flatcamTools/ToolPaint.py:80
msgid "Obj Type"
msgstr "Type d'objet"
-#: flatcamGUI/ObjectUI.py:455
+#: flatcamGUI/ObjectUI.py:458
msgid ""
"Specify the type of object to be excepted from isolation.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -7429,22 +7762,22 @@ msgstr ""
"Ce qui est sélectionné ici dictera le genre\n"
"des objets qui vont remplir la liste déroulante 'Object'."
-#: flatcamGUI/ObjectUI.py:468 flatcamGUI/PreferencesUI.py:7522
-#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNonCopperClear.py:100
-#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:81
-#: flatcamTools/ToolPanelize.py:94
+#: flatcamGUI/ObjectUI.py:471 flatcamGUI/PreferencesUI.py:8028
+#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNCC.py:109
+#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:100
+#: flatcamTools/ToolQRCode.py:78
msgid "Object"
msgstr "Objet"
-#: flatcamGUI/ObjectUI.py:469
+#: flatcamGUI/ObjectUI.py:472
msgid "Object whose area will be removed from isolation geometry."
msgstr "Objet dont l'aire sera retirée de la géométrie d'isolation."
-#: flatcamGUI/ObjectUI.py:476 flatcamGUI/PreferencesUI.py:2064
+#: flatcamGUI/ObjectUI.py:479 flatcamGUI/PreferencesUI.py:2244
msgid "Scope"
msgstr "Portée"
-#: flatcamGUI/ObjectUI.py:478 flatcamGUI/PreferencesUI.py:2066
+#: flatcamGUI/ObjectUI.py:481 flatcamGUI/PreferencesUI.py:2246
msgid ""
"Isolation scope. Choose what to isolate:\n"
"- 'All' -> Isolate all the polygons in the object\n"
@@ -7454,17 +7787,18 @@ msgstr ""
"- 'Tout' -> Isoler tous les polygones de l'objet\n"
"- 'Sélection' -> Isoler une sélection de polygones."
-#: flatcamGUI/ObjectUI.py:483 flatcamGUI/PreferencesUI.py:602
-#: flatcamGUI/PreferencesUI.py:2071 flatcamGUI/PreferencesUI.py:5634
-#: flatcamTools/ToolPaint.py:294
+#: flatcamGUI/ObjectUI.py:486 flatcamGUI/PreferencesUI.py:624
+#: flatcamGUI/PreferencesUI.py:2251 flatcamGUI/PreferencesUI.py:5590
+#: flatcamGUI/PreferencesUI.py:6097 flatcamTools/ToolNCC.py:539
+#: flatcamTools/ToolPaint.py:456
msgid "Selection"
msgstr "Sélection"
-#: flatcamGUI/ObjectUI.py:491 flatcamGUI/PreferencesUI.py:2272
+#: flatcamGUI/ObjectUI.py:494 flatcamGUI/PreferencesUI.py:2452
msgid "Isolation Type"
msgstr "Type d'isolement"
-#: flatcamGUI/ObjectUI.py:493 flatcamGUI/PreferencesUI.py:2274
+#: flatcamGUI/ObjectUI.py:496 flatcamGUI/PreferencesUI.py:2454
msgid ""
"Choose how the isolation will be executed:\n"
"- 'Full' -> complete isolation of polygons\n"
@@ -7485,24 +7819,24 @@ msgstr ""
"à l'intérieur du polygone (par exemple, le polygone est une forme de `` "
"beignet '')."
-#: flatcamGUI/ObjectUI.py:502 flatcamGUI/PreferencesUI.py:2283
-#: flatcamGUI/PreferencesUI.py:2304
+#: flatcamGUI/ObjectUI.py:505 flatcamGUI/PreferencesUI.py:2463
+#: flatcamGUI/PreferencesUI.py:2484
msgid "Full"
msgstr "Plein"
-#: flatcamGUI/ObjectUI.py:503
+#: flatcamGUI/ObjectUI.py:506
msgid "Ext"
msgstr "Ext"
-#: flatcamGUI/ObjectUI.py:504
+#: flatcamGUI/ObjectUI.py:507
msgid "Int"
msgstr "Int"
-#: flatcamGUI/ObjectUI.py:509
+#: flatcamGUI/ObjectUI.py:512
msgid "Generate Isolation Geometry"
msgstr "Générer une géométrie d'isolation"
-#: flatcamGUI/ObjectUI.py:517
+#: flatcamGUI/ObjectUI.py:520
msgid ""
"Create a Geometry object with toolpaths to cut \n"
"isolation outside, inside or on both sides of the\n"
@@ -7524,11 +7858,11 @@ msgstr ""
"à l'intérieur de la fonction Gerber, utilisez un outil négatif\n"
"diamètre ci-dessus."
-#: flatcamGUI/ObjectUI.py:529
+#: flatcamGUI/ObjectUI.py:532
msgid "Buffer Solid Geometry"
msgstr "Tampon Géométrie Solide"
-#: flatcamGUI/ObjectUI.py:531
+#: flatcamGUI/ObjectUI.py:534
msgid ""
"This button is shown only when the Gerber file\n"
"is loaded without buffering.\n"
@@ -7540,11 +7874,11 @@ msgstr ""
"En cliquant sur cela créera la géométrie en mémoire tampon\n"
"requis pour l'isolement."
-#: flatcamGUI/ObjectUI.py:559
+#: flatcamGUI/ObjectUI.py:566
msgid "Clear N-copper"
msgstr "N-Cuivre Clair"
-#: flatcamGUI/ObjectUI.py:561 flatcamGUI/PreferencesUI.py:5019
+#: flatcamGUI/ObjectUI.py:568 flatcamGUI/PreferencesUI.py:5312
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut all non-copper regions."
@@ -7552,8 +7886,8 @@ msgstr ""
"Créez un objet de géométrie avec\n"
"des parcours pour couper toutes les régions non-cuivre."
-#: flatcamGUI/ObjectUI.py:568 flatcamGUI/ObjectUI.py:1751
-#: flatcamTools/ToolNonCopperClear.py:473
+#: flatcamGUI/ObjectUI.py:575 flatcamGUI/ObjectUI.py:2077
+#: flatcamTools/ToolNCC.py:599
msgid ""
"Create the Geometry Object\n"
"for non-copper routing."
@@ -7561,11 +7895,11 @@ msgstr ""
"Créer l'objet de géométrie\n"
"pour un routage non-cuivre."
-#: flatcamGUI/ObjectUI.py:581
+#: flatcamGUI/ObjectUI.py:588
msgid "Board cutout"
msgstr "Découpe de la planche"
-#: flatcamGUI/ObjectUI.py:583 flatcamGUI/PreferencesUI.py:5303
+#: flatcamGUI/ObjectUI.py:590 flatcamGUI/PreferencesUI.py:5642
msgid ""
"Create toolpaths to cut around\n"
"the PCB and separate it from\n"
@@ -7575,7 +7909,7 @@ msgstr ""
"le PCB et séparez-le de\n"
"la planche d'origine."
-#: flatcamGUI/ObjectUI.py:590
+#: flatcamGUI/ObjectUI.py:597
msgid ""
"Generate the geometry for\n"
"the board cutout."
@@ -7583,11 +7917,11 @@ msgstr ""
"Générer la géométrie pour\n"
"la découpe de la planche."
-#: flatcamGUI/ObjectUI.py:608 flatcamGUI/PreferencesUI.py:2101
+#: flatcamGUI/ObjectUI.py:615 flatcamGUI/PreferencesUI.py:2281
msgid "Non-copper regions"
msgstr "Régions non-cuivre"
-#: flatcamGUI/ObjectUI.py:610 flatcamGUI/PreferencesUI.py:2103
+#: flatcamGUI/ObjectUI.py:617 flatcamGUI/PreferencesUI.py:2283
msgid ""
"Create polygons covering the\n"
"areas without copper on the PCB.\n"
@@ -7601,12 +7935,12 @@ msgstr ""
"objet. Peut être utilisé pour tout enlever\n"
"cuivre provenant d'une région spécifiée."
-#: flatcamGUI/ObjectUI.py:620 flatcamGUI/ObjectUI.py:661
-#: flatcamGUI/PreferencesUI.py:2115 flatcamGUI/PreferencesUI.py:2148
+#: flatcamGUI/ObjectUI.py:627 flatcamGUI/ObjectUI.py:668
+#: flatcamGUI/PreferencesUI.py:2295 flatcamGUI/PreferencesUI.py:2328
msgid "Boundary Margin"
msgstr "Marge limite"
-#: flatcamGUI/ObjectUI.py:622 flatcamGUI/PreferencesUI.py:2117
+#: flatcamGUI/ObjectUI.py:629 flatcamGUI/PreferencesUI.py:2297
msgid ""
"Specify the edge of the PCB\n"
"by drawing a box around all\n"
@@ -7618,27 +7952,27 @@ msgstr ""
"objets avec ce minimum\n"
"distance."
-#: flatcamGUI/ObjectUI.py:637 flatcamGUI/ObjectUI.py:675
-#: flatcamGUI/PreferencesUI.py:2130 flatcamGUI/PreferencesUI.py:2161
+#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:682
+#: flatcamGUI/PreferencesUI.py:2310 flatcamGUI/PreferencesUI.py:2341
msgid "Rounded Geo"
msgstr "Géométrie Arrondie"
-#: flatcamGUI/ObjectUI.py:639 flatcamGUI/PreferencesUI.py:2132
+#: flatcamGUI/ObjectUI.py:646 flatcamGUI/PreferencesUI.py:2312
msgid "Resulting geometry will have rounded corners."
msgstr "La géométrie résultante aura des coins arrondis."
-#: flatcamGUI/ObjectUI.py:643 flatcamGUI/ObjectUI.py:684
-#: flatcamTools/ToolSolderPaste.py:133
+#: flatcamGUI/ObjectUI.py:650 flatcamGUI/ObjectUI.py:691
+#: flatcamTools/ToolSolderPaste.py:135
msgid "Generate Geo"
msgstr "Générer de la Géo"
-#: flatcamGUI/ObjectUI.py:653 flatcamGUI/PreferencesUI.py:2142
-#: flatcamGUI/PreferencesUI.py:7052 flatcamTools/ToolPanelize.py:95
+#: flatcamGUI/ObjectUI.py:660 flatcamGUI/PreferencesUI.py:2322
+#: flatcamGUI/PreferencesUI.py:7558 flatcamTools/ToolPanelize.py:101
#: flatcamTools/ToolQRCode.py:192
msgid "Bounding Box"
msgstr "Cadre de sélection"
-#: flatcamGUI/ObjectUI.py:655
+#: flatcamGUI/ObjectUI.py:662
msgid ""
"Create a geometry surrounding the Gerber object.\n"
"Square shape."
@@ -7646,7 +7980,7 @@ msgstr ""
"Créez une géométrie entourant l'objet Gerber.\n"
"Forme carree."
-#: flatcamGUI/ObjectUI.py:663 flatcamGUI/PreferencesUI.py:2150
+#: flatcamGUI/ObjectUI.py:670 flatcamGUI/PreferencesUI.py:2330
msgid ""
"Distance of the edges of the box\n"
"to the nearest polygon."
@@ -7654,7 +7988,7 @@ msgstr ""
"Distance des bords de la boîte\n"
"au polygone le plus proche."
-#: flatcamGUI/ObjectUI.py:677 flatcamGUI/PreferencesUI.py:2163
+#: flatcamGUI/ObjectUI.py:684 flatcamGUI/PreferencesUI.py:2343
msgid ""
"If the bounding box is \n"
"to have rounded corners\n"
@@ -7666,33 +8000,31 @@ msgstr ""
"leur rayon est égal à\n"
"la marge."
-#: flatcamGUI/ObjectUI.py:686
+#: flatcamGUI/ObjectUI.py:693
msgid "Generate the Geometry object."
msgstr "Générez l'objet Geometry."
-#: flatcamGUI/ObjectUI.py:715
+#: flatcamGUI/ObjectUI.py:720
msgid "Excellon Object"
msgstr "Excellent objet"
-#: flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:732
msgid "Solid circles."
msgstr "Cercles pleins."
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926
-#: flatcamTools/ToolProperties.py:161
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:875
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3289
+#: flatcamTools/ToolProperties.py:166
msgid "Drills"
msgstr "Forage"
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926
-#: flatcamGUI/PreferencesUI.py:3683 flatcamTools/ToolProperties.py:162
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:876
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3290
+#: flatcamGUI/PreferencesUI.py:3961 flatcamTools/ToolProperties.py:168
msgid "Slots"
msgstr "Fentes"
-#: flatcamGUI/ObjectUI.py:778 flatcamGUI/PreferencesUI.py:3289
-msgid "Offset Z"
-msgstr "Décalage Z"
-
-#: flatcamGUI/ObjectUI.py:782
+#: flatcamGUI/ObjectUI.py:785
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
@@ -7707,8 +8039,8 @@ msgstr ""
"\n"
"Ici, les outils sont sélectionnés pour la génération de code G."
-#: flatcamGUI/ObjectUI.py:787 flatcamGUI/ObjectUI.py:1230
-#: flatcamTools/ToolPaint.py:137
+#: flatcamGUI/ObjectUI.py:790 flatcamGUI/ObjectUI.py:1508
+#: flatcamTools/ToolPaint.py:142
msgid ""
"Tool Diameter. It's value (in current FlatCAM units) \n"
"is the cut width into the material."
@@ -7716,7 +8048,7 @@ msgstr ""
"Diamètre de l'outil. C'est sa valeur (en unités FlatCAM actuelles)\n"
"est la largeur de coupe dans le matériau."
-#: flatcamGUI/ObjectUI.py:790
+#: flatcamGUI/ObjectUI.py:793
msgid ""
"The number of Drill holes. Holes that are drilled with\n"
"a drill bit."
@@ -7724,7 +8056,7 @@ msgstr ""
"Le nombre de trous de forage. Trous percés de\n"
"un foret."
-#: flatcamGUI/ObjectUI.py:793
+#: flatcamGUI/ObjectUI.py:796
msgid ""
"The number of Slot holes. Holes that are created by\n"
"milling them with an endmill bit."
@@ -7732,18 +8064,7 @@ msgstr ""
"Le nombre de trous de fente. Trous créés par\n"
"les fraiser avec un bit de fraise."
-#: flatcamGUI/ObjectUI.py:796 flatcamGUI/PreferencesUI.py:3291
-msgid ""
-"Some drill bits (the larger ones) need to drill deeper\n"
-"to create the desired exit hole diameter due of the tip shape.\n"
-"The value here can compensate the Cut Z parameter."
-msgstr ""
-"Certains forets (les plus gros) doivent forer plus profondément\n"
-"pour créer le diamètre du trou de sortie souhaité en raison de la forme de "
-"la pointe.\n"
-"La valeur ici peut compenser le paramètre Cut Z."
-
-#: flatcamGUI/ObjectUI.py:800
+#: flatcamGUI/ObjectUI.py:799
msgid ""
"Toggle display of the drills for the current tool.\n"
"This does not select the tools for G-code generation."
@@ -7751,20 +8072,60 @@ msgstr ""
"Basculer l'affichage des exercices pour l'outil actuel.\n"
"Cela ne sélectionne pas les outils pour la génération de G-code."
-#: flatcamGUI/ObjectUI.py:807 flatcamGUI/PreferencesUI.py:3069
-#: flatcamGUI/PreferencesUI.py:3947
-msgid "Create CNC Job"
-msgstr "Créer un travail CNC"
-
-#: flatcamGUI/ObjectUI.py:809
+#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1663
+#: flatcamTools/ToolNCC.py:334 flatcamTools/ToolPaint.py:317
msgid ""
-"Create a CNC Job object\n"
-"for this drill object."
+"The data used for creating GCode.\n"
+"Each tool store it's own set of such data."
msgstr ""
-"Créer un objet de travail CNC\n"
-"pour cet objet de forage."
+"Les données utilisées pour créer le GCode.\n"
+"Chaque outil stocke son propre ensemble de données."
-#: flatcamGUI/ObjectUI.py:822 flatcamGUI/PreferencesUI.py:3084
+#: flatcamGUI/ObjectUI.py:846 flatcamGUI/PreferencesUI.py:3266
+msgid ""
+"Operation type:\n"
+"- Drilling -> will drill the drills/slots associated with this tool\n"
+"- Milling -> will mill the drills/slots"
+msgstr ""
+"Type d'opération:\n"
+"- Perçage -> va percer les forets / emplacements associés à cet outil\n"
+"- Fraisage -> fraisera les forets / fentes"
+
+#: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:3272
+msgid "Drilling"
+msgstr "Forage"
+
+#: flatcamGUI/ObjectUI.py:853 flatcamGUI/PreferencesUI.py:3273
+msgid "Milling"
+msgstr "Fraisage"
+
+#: flatcamGUI/ObjectUI.py:868 flatcamGUI/PreferencesUI.py:3282
+msgid ""
+"Milling type:\n"
+"- Drills -> will mill the drills associated with this tool\n"
+"- Slots -> will mill the slots associated with this tool\n"
+"- Both -> will mill both drills and mills or whatever is available"
+msgstr ""
+"Type de fraisage:\n"
+"- Forets -> fraisera les forets associés à cet outil\n"
+"- Slots -> fraisera les slots associés à cet outil\n"
+"- Les deux -> fraisera les forets et les fraises ou tout ce qui est "
+"disponible"
+
+#: flatcamGUI/ObjectUI.py:877 flatcamGUI/PreferencesUI.py:3291
+#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolFilm.py:258
+msgid "Both"
+msgstr "Tous les deux"
+
+#: flatcamGUI/ObjectUI.py:885 flatcamGUI/PreferencesUI.py:3298
+msgid "Milling Diameter"
+msgstr "Dia. de fraisage"
+
+#: flatcamGUI/ObjectUI.py:887 flatcamGUI/PreferencesUI.py:3300
+msgid "The diameter of the tool who will do the milling"
+msgstr "Le diamètre de l'outil qui fera le fraisage"
+
+#: flatcamGUI/ObjectUI.py:901 flatcamGUI/PreferencesUI.py:3313
msgid ""
"Drill depth (negative)\n"
"below the copper surface."
@@ -7772,7 +8133,33 @@ msgstr ""
"Profondeur de forage (négatif)\n"
"sous la surface de cuivre."
-#: flatcamGUI/ObjectUI.py:841 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/ObjectUI.py:920 flatcamGUI/ObjectUI.py:1722
+#: flatcamGUI/PreferencesUI.py:3331 flatcamGUI/PreferencesUI.py:4261
+#: flatcamGUI/PreferencesUI.py:5687 flatcamTools/ToolCutOut.py:160
+msgid "Multi-Depth"
+msgstr "Multi-profondeur"
+
+#: flatcamGUI/ObjectUI.py:923 flatcamGUI/ObjectUI.py:1725
+#: flatcamGUI/PreferencesUI.py:3334 flatcamGUI/PreferencesUI.py:4264
+#: flatcamGUI/PreferencesUI.py:5690 flatcamTools/ToolCutOut.py:163
+msgid ""
+"Use multiple passes to limit\n"
+"the cut depth in each pass. Will\n"
+"cut multiple times until Cut Z is\n"
+"reached."
+msgstr ""
+"Utilisez plusieurs passes pour limiter\n"
+"la profondeur de coupe à chaque passage. Volonté\n"
+"couper plusieurs fois jusqu'à ce que Cut Z soit\n"
+"atteint."
+
+#: flatcamGUI/ObjectUI.py:936 flatcamGUI/ObjectUI.py:1739
+#: flatcamGUI/PreferencesUI.py:3346 flatcamGUI/PreferencesUI.py:5702
+#: flatcamTools/ToolCutOut.py:177
+msgid "Depth of each pass (positive)."
+msgstr "Profondeur de chaque passage (positif)."
+
+#: flatcamGUI/ObjectUI.py:947 flatcamGUI/PreferencesUI.py:3354
msgid ""
"Tool height when travelling\n"
"across the XY plane."
@@ -7780,61 +8167,16 @@ msgstr ""
"Hauteur de l'outil en voyage\n"
"à travers le plan XY."
-#: flatcamGUI/ObjectUI.py:858 flatcamGUI/ObjectUI.py:1478
-#: flatcamGUI/PreferencesUI.py:3117 flatcamGUI/PreferencesUI.py:4034
-msgid "Tool change"
-msgstr "Changement d'outil"
-
-#: flatcamGUI/ObjectUI.py:860 flatcamGUI/PreferencesUI.py:3119
+#: flatcamGUI/ObjectUI.py:968 flatcamGUI/ObjectUI.py:1769
+#: flatcamGUI/PreferencesUI.py:4380
msgid ""
-"Include tool-change sequence\n"
-"in G-Code (Pause for tool change)."
+"Cutting speed in the XY\n"
+"plane in units per minute"
msgstr ""
-"Inclure la séquence de changement d'outil\n"
-"dans G-Code (Pause pour changement d’outil)."
+"Vitesse de coupe dans le XY\n"
+"avion en unités par minute"
-#: flatcamGUI/ObjectUI.py:866 flatcamGUI/ObjectUI.py:1471
-msgid "Tool change Z"
-msgstr "Changement d'outil Z"
-
-#: flatcamGUI/ObjectUI.py:868 flatcamGUI/ObjectUI.py:1474
-#: flatcamGUI/PreferencesUI.py:3126 flatcamGUI/PreferencesUI.py:4047
-msgid ""
-"Z-axis position (height) for\n"
-"tool change."
-msgstr ""
-"Position de l'axe Z (hauteur) pour\n"
-"changement d'outil."
-
-#: flatcamGUI/ObjectUI.py:888 flatcamGUI/PreferencesUI.py:3311
-msgid ""
-"Height of the tool just after start.\n"
-"Delete the value if you don't need this feature."
-msgstr ""
-"Hauteur de l'outil juste après le démarrage.\n"
-"Supprimez la valeur si vous n'avez pas besoin de cette fonctionnalité."
-
-#: flatcamGUI/ObjectUI.py:896 flatcamGUI/ObjectUI.py:1512
-#: flatcamGUI/PreferencesUI.py:3141 flatcamGUI/PreferencesUI.py:4066
-msgid "End move Z"
-msgstr "Fin du mouve. Z"
-
-#: flatcamGUI/ObjectUI.py:898 flatcamGUI/ObjectUI.py:1514
-#: flatcamGUI/PreferencesUI.py:3143 flatcamGUI/PreferencesUI.py:4068
-msgid ""
-"Height of the tool after\n"
-"the last move at the end of the job."
-msgstr ""
-"Hauteur de l'outil après\n"
-"le dernier mouvement à la fin du travail."
-
-#: flatcamGUI/ObjectUI.py:915 flatcamGUI/ObjectUI.py:1545
-#: flatcamGUI/PreferencesUI.py:3158 flatcamGUI/PreferencesUI.py:4101
-#: flatcamGUI/PreferencesUI.py:6566 flatcamTools/ToolSolderPaste.py:264
-msgid "Feedrate Z"
-msgstr "Avance Z"
-
-#: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:3160
+#: flatcamGUI/ObjectUI.py:983 flatcamGUI/PreferencesUI.py:3427
msgid ""
"Tool speed while drilling\n"
"(in units per minute).\n"
@@ -7846,12 +8188,12 @@ msgstr ""
"Ce qu'on appelle \"avance\".\n"
"Ceci est pour le mouvement linéaire G01."
-#: flatcamGUI/ObjectUI.py:931 flatcamGUI/ObjectUI.py:1560
-#: flatcamGUI/PreferencesUI.py:3319 flatcamGUI/PreferencesUI.py:4210
+#: flatcamGUI/ObjectUI.py:998 flatcamGUI/ObjectUI.py:1796
+#: flatcamGUI/PreferencesUI.py:3597 flatcamGUI/PreferencesUI.py:4503
msgid "Feedrate Rapids"
msgstr "Avance rapide"
-#: flatcamGUI/ObjectUI.py:933 flatcamGUI/PreferencesUI.py:3321
+#: flatcamGUI/ObjectUI.py:1000 flatcamGUI/PreferencesUI.py:3599
msgid ""
"Tool speed while drilling\n"
"(in units per minute).\n"
@@ -7865,12 +8207,26 @@ msgstr ""
"C'est utile seulement pour Marlin,\n"
"ignorer pour les autres cas."
-#: flatcamGUI/ObjectUI.py:951 flatcamGUI/ObjectUI.py:1603
-#: flatcamGUI/PreferencesUI.py:4117
-msgid "Spindle speed"
-msgstr "Vitesse de broche"
+#: flatcamGUI/ObjectUI.py:1020 flatcamGUI/ObjectUI.py:1816
+#: flatcamGUI/PreferencesUI.py:4521
+msgid "Re-cut"
+msgstr "Re-coupé"
-#: flatcamGUI/ObjectUI.py:953 flatcamGUI/PreferencesUI.py:3175
+#: flatcamGUI/ObjectUI.py:1022 flatcamGUI/ObjectUI.py:1035
+#: flatcamGUI/ObjectUI.py:1818 flatcamGUI/ObjectUI.py:1830
+#: flatcamGUI/PreferencesUI.py:4523 flatcamGUI/PreferencesUI.py:4535
+msgid ""
+"In order to remove possible\n"
+"copper leftovers where first cut\n"
+"meet with last cut, we generate an\n"
+"extended cut over the first cut section."
+msgstr ""
+"Afin de supprimer possible\n"
+"restes de cuivre où la première coupe\n"
+"rencontre avec la dernière coupe, nous générons un\n"
+"coupe étendue sur la première section coupée."
+
+#: flatcamGUI/ObjectUI.py:1050 flatcamGUI/PreferencesUI.py:3442
msgid ""
"Speed of the spindle\n"
"in RPM (optional)"
@@ -7878,8 +8234,8 @@ msgstr ""
"Vitesse de la broche\n"
"en tours / minute (optionnel)"
-#: flatcamGUI/ObjectUI.py:965 flatcamGUI/ObjectUI.py:1622
-#: flatcamGUI/PreferencesUI.py:3187 flatcamGUI/PreferencesUI.py:4135
+#: flatcamGUI/ObjectUI.py:1065 flatcamGUI/ObjectUI.py:1858
+#: flatcamGUI/PreferencesUI.py:3456 flatcamGUI/PreferencesUI.py:4427
msgid ""
"Pause to allow the spindle to reach its\n"
"speed before cutting."
@@ -7887,26 +8243,116 @@ msgstr ""
"Pause pour permettre à la broche d’atteindre son\n"
"vitesse avant de couper."
-#: flatcamGUI/ObjectUI.py:974 flatcamGUI/ObjectUI.py:1632
-#: flatcamGUI/PreferencesUI.py:3193 flatcamGUI/PreferencesUI.py:4140
+#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/ObjectUI.py:1868
+#: flatcamGUI/PreferencesUI.py:3464 flatcamGUI/PreferencesUI.py:4432
msgid "Number of time units for spindle to dwell."
msgstr "Nombre d'unités de temps pendant lesquelles la broche s'arrête."
-#: flatcamGUI/ObjectUI.py:984 flatcamGUI/PreferencesUI.py:3206
-msgid ""
-"The preprocessor JSON file that dictates\n"
-"Gcode output."
-msgstr ""
-"Le fichier JSON post-processeur qui dicte\n"
-"Sortie Gcode."
+#: flatcamGUI/ObjectUI.py:1086 flatcamGUI/PreferencesUI.py:3563
+msgid "Offset Z"
+msgstr "Décalage Z"
-#: flatcamGUI/ObjectUI.py:993 flatcamGUI/ObjectUI.py:1652
-#: flatcamGUI/PreferencesUI.py:3335 flatcamGUI/PreferencesUI.py:4251
+#: flatcamGUI/ObjectUI.py:1088 flatcamGUI/PreferencesUI.py:3565
+msgid ""
+"Some drill bits (the larger ones) need to drill deeper\n"
+"to create the desired exit hole diameter due of the tip shape.\n"
+"The value here can compensate the Cut Z parameter."
+msgstr ""
+"Certains forets (les plus gros) doivent forer plus profondément\n"
+"pour créer le diamètre du trou de sortie souhaité en raison de la forme de "
+"la pointe.\n"
+"La valeur ici peut compenser le paramètre Cut Z."
+
+#: flatcamGUI/ObjectUI.py:1148 flatcamGUI/ObjectUI.py:1922
+#: flatcamTools/ToolNCC.py:492 flatcamTools/ToolPaint.py:423
+msgid "Apply parameters to all tools"
+msgstr "Appliquer des paramètres à tous les outils"
+
+#: flatcamGUI/ObjectUI.py:1150 flatcamGUI/ObjectUI.py:1924
+#: flatcamTools/ToolNCC.py:494 flatcamTools/ToolPaint.py:425
+msgid ""
+"The parameters in the current form will be applied\n"
+"on all the tools from the Tool Table."
+msgstr ""
+"Les paramètres du formulaire actuel seront appliqués\n"
+"sur tous les outils de la table d'outils."
+
+#: flatcamGUI/ObjectUI.py:1161 flatcamGUI/ObjectUI.py:1935
+#: flatcamTools/ToolNCC.py:505 flatcamTools/ToolPaint.py:436
+msgid "Common Parameters"
+msgstr "Paramètres communs"
+
+#: flatcamGUI/ObjectUI.py:1163 flatcamGUI/ObjectUI.py:1937
+#: flatcamTools/ToolNCC.py:507 flatcamTools/ToolPaint.py:438
+msgid "Parameters that are common for all tools."
+msgstr "Paramètres communs à tous les outils."
+
+#: flatcamGUI/ObjectUI.py:1168 flatcamGUI/ObjectUI.py:1942
+msgid "Tool change Z"
+msgstr "Changement d'outil Z"
+
+#: flatcamGUI/ObjectUI.py:1170 flatcamGUI/PreferencesUI.py:3372
+msgid ""
+"Include tool-change sequence\n"
+"in G-Code (Pause for tool change)."
+msgstr ""
+"Inclure la séquence de changement d'outil\n"
+"dans G-Code (Pause pour changement d’outil)."
+
+#: flatcamGUI/ObjectUI.py:1177 flatcamGUI/ObjectUI.py:1953
+#: flatcamGUI/PreferencesUI.py:3380 flatcamGUI/PreferencesUI.py:4327
+msgid ""
+"Z-axis position (height) for\n"
+"tool change."
+msgstr ""
+"Position de l'axe Z (hauteur) pour\n"
+"changement d'outil."
+
+#: flatcamGUI/ObjectUI.py:1194 flatcamGUI/PreferencesUI.py:3588
+msgid ""
+"Height of the tool just after start.\n"
+"Delete the value if you don't need this feature."
+msgstr ""
+"Hauteur de l'outil juste après le démarrage.\n"
+"Supprimez la valeur si vous n'avez pas besoin de cette fonctionnalité."
+
+#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1981
+#: flatcamGUI/PreferencesUI.py:3396 flatcamGUI/PreferencesUI.py:4346
+msgid "End move Z"
+msgstr "Fin du mouve. Z"
+
+#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1983
+#: flatcamGUI/PreferencesUI.py:3398 flatcamGUI/PreferencesUI.py:4348
+msgid ""
+"Height of the tool after\n"
+"the last move at the end of the job."
+msgstr ""
+"Hauteur de l'outil après\n"
+"le dernier mouvement à la fin du travail."
+
+#: flatcamGUI/ObjectUI.py:1222 flatcamGUI/ObjectUI.py:2000
+#: flatcamGUI/PreferencesUI.py:3413 flatcamGUI/PreferencesUI.py:4366
+msgid "End move X,Y"
+msgstr "Fin de coup X, Y"
+
+#: flatcamGUI/ObjectUI.py:1224 flatcamGUI/ObjectUI.py:2002
+#: flatcamGUI/PreferencesUI.py:3415 flatcamGUI/PreferencesUI.py:4368
+msgid ""
+"End move X,Y position. In format (x,y).\n"
+"If no value is entered then there is no move\n"
+"on X,Y plane at the end of the job."
+msgstr ""
+"Fin du mouvement en position X, Y. Au format (x, y).\n"
+"Si aucune valeur n'est entrée, il n'y a pas de mouvement\n"
+"sur l'avion X, Y à la fin du travail."
+
+#: flatcamGUI/ObjectUI.py:1234 flatcamGUI/ObjectUI.py:1876
+#: flatcamGUI/PreferencesUI.py:3613 flatcamGUI/PreferencesUI.py:4544
msgid "Probe Z depth"
msgstr "Prof.r de la sonde Z"
-#: flatcamGUI/ObjectUI.py:995 flatcamGUI/ObjectUI.py:1654
-#: flatcamGUI/PreferencesUI.py:3337 flatcamGUI/PreferencesUI.py:4253
+#: flatcamGUI/ObjectUI.py:1236 flatcamGUI/ObjectUI.py:1878
+#: flatcamGUI/PreferencesUI.py:3615 flatcamGUI/PreferencesUI.py:4546
msgid ""
"The maximum depth that the probe is allowed\n"
"to probe. Negative value, in current units."
@@ -7914,45 +8360,71 @@ msgstr ""
"La profondeur maximale autorisée pour la sonde\n"
"sonder. Valeur négative, en unités actuelles."
-#: flatcamGUI/ObjectUI.py:1009 flatcamGUI/ObjectUI.py:1669
-#: flatcamGUI/PreferencesUI.py:3348 flatcamGUI/PreferencesUI.py:4266
+#: flatcamGUI/ObjectUI.py:1252 flatcamGUI/ObjectUI.py:1893
+#: flatcamGUI/PreferencesUI.py:3626 flatcamGUI/PreferencesUI.py:4559
msgid "Feedrate Probe"
msgstr "Sonde d'avance"
-#: flatcamGUI/ObjectUI.py:1011 flatcamGUI/ObjectUI.py:1671
-#: flatcamGUI/PreferencesUI.py:3350 flatcamGUI/PreferencesUI.py:4268
+#: flatcamGUI/ObjectUI.py:1254 flatcamGUI/ObjectUI.py:1895
+#: flatcamGUI/PreferencesUI.py:3628 flatcamGUI/PreferencesUI.py:4561
msgid "The feedrate used while the probe is probing."
msgstr "L'avance utilisée pendant le sondage."
-#: flatcamGUI/ObjectUI.py:1037 flatcamGUI/PreferencesUI.py:3215
-msgid "Gcode"
-msgstr "Gcode"
+#: flatcamGUI/ObjectUI.py:1261
+msgid "e_fr_probe"
+msgstr "e_fr_probe"
-#: flatcamGUI/ObjectUI.py:1039
+#: flatcamGUI/ObjectUI.py:1270
+msgid "Preprocessor E"
+msgstr "Post-processeur E"
+
+#: flatcamGUI/ObjectUI.py:1272
msgid ""
-"Choose what to use for GCode generation:\n"
-"'Drills', 'Slots' or 'Both'.\n"
-"When choosing 'Slots' or 'Both', slots will be\n"
-"converted to a series of drills."
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Excellon Objects."
msgstr ""
-"Choisissez ce qu'il faut utiliser pour la génération de GCode:\n"
-"«Forages», «Fentes» ou «Les deux».\n"
-"Lorsque vous choisissez \"Fentes\" ou \"Les deux\", les slots seront\n"
-"converti en une série d'exercices."
+"Le fichier JSON du préprocesseur qui dicte\n"
+"Sortie Gcode pour Excellon Objects."
-#: flatcamGUI/ObjectUI.py:1053
-msgid "Create Drills GCode"
-msgstr "Créer un forage GCode"
+#: flatcamGUI/ObjectUI.py:1282
+msgid "Preprocessor G"
+msgstr "Post-processeur G"
-#: flatcamGUI/ObjectUI.py:1055
-msgid "Generate the CNC Job."
-msgstr "Générez le travail CNC."
+#: flatcamGUI/ObjectUI.py:1284
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Geometry (Milling) Objects."
+msgstr ""
+"Le fichier JSON du préprocesseur qui dicte\n"
+"Sortie Gcode pour les objets de géométrie (fraisage)."
-#: flatcamGUI/ObjectUI.py:1066 flatcamGUI/PreferencesUI.py:3233
-msgid "Mill Holes"
-msgstr "Fraiser les Trous"
+#: flatcamGUI/ObjectUI.py:1308 flatcamGUI/ObjectUI.py:2026
+msgid ""
+"Add / Select at least one tool in the tool-table.\n"
+"Click the # header to select all, or Ctrl + LMB\n"
+"for custom selection of tools."
+msgstr ""
+"Ajoutez / sélectionnez au moins un outil dans la table d'outils.\n"
+"Cliquez sur l'en-tête # pour tout sélectionner ou sur Ctrl + LMB\n"
+"pour une sélection personnalisée d'outils."
-#: flatcamGUI/ObjectUI.py:1068
+#: flatcamGUI/ObjectUI.py:1316 flatcamGUI/ObjectUI.py:2033
+msgid "Generate CNCJob object"
+msgstr "Générer un objet CNCJob"
+
+#: flatcamGUI/ObjectUI.py:1318
+msgid ""
+"Generate the CNC Job.\n"
+"If milling then an additional Geometry object will be created"
+msgstr ""
+"Générez le travail CNC.\n"
+"En cas de fraisage, un objet Geometry supplémentaire sera créé"
+
+#: flatcamGUI/ObjectUI.py:1335
+msgid "Milling Geometry"
+msgstr "Géo. de fraisage"
+
+#: flatcamGUI/ObjectUI.py:1337
msgid ""
"Create Geometry for milling holes.\n"
"Select from the Tools Table above the hole dias to be\n"
@@ -7962,20 +8434,16 @@ msgstr ""
"Sélectionnez dans le tableau des outils au-dessus du diamètre du trou à\n"
"fraisé. Utilisez la colonne # pour effectuer la sélection."
-#: flatcamGUI/ObjectUI.py:1074 flatcamGUI/PreferencesUI.py:3239
-msgid "Drill Tool dia"
-msgstr "Dia. de l'outil de forage"
-
-#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/PreferencesUI.py:2027
-#: flatcamGUI/PreferencesUI.py:3241
+#: flatcamGUI/ObjectUI.py:1345 flatcamGUI/PreferencesUI.py:2207
+#: flatcamGUI/PreferencesUI.py:3514
msgid "Diameter of the cutting tool."
msgstr "Diamètre de l'outil de coupe."
-#: flatcamGUI/ObjectUI.py:1083
-msgid "Mill Drills Geo"
-msgstr "Fraiser Géo des Trous"
+#: flatcamGUI/ObjectUI.py:1355
+msgid "Mill Drills"
+msgstr "Fraiser les Forets"
-#: flatcamGUI/ObjectUI.py:1085
+#: flatcamGUI/ObjectUI.py:1357
msgid ""
"Create the Geometry Object\n"
"for milling DRILLS toolpaths."
@@ -7983,23 +8451,11 @@ msgstr ""
"Créer l'objet de géométrie\n"
"pour fraiser des parcours d’outils."
-#: flatcamGUI/ObjectUI.py:1099 flatcamGUI/PreferencesUI.py:3250
-msgid "Slot Tool dia"
-msgstr "Fente outil dia"
+#: flatcamGUI/ObjectUI.py:1375
+msgid "Mill Slots"
+msgstr "Fraiser les Fentes"
-#: flatcamGUI/ObjectUI.py:1101 flatcamGUI/PreferencesUI.py:3252
-msgid ""
-"Diameter of the cutting tool\n"
-"when milling slots."
-msgstr ""
-"Diamètre de l'outil de coupe\n"
-"lors du fraisage des fentes."
-
-#: flatcamGUI/ObjectUI.py:1110
-msgid "Mill Slots Geo"
-msgstr "Fraiser la Géo de la Fente"
-
-#: flatcamGUI/ObjectUI.py:1112
+#: flatcamGUI/ObjectUI.py:1377
msgid ""
"Create the Geometry Object\n"
"for milling SLOTS toolpaths."
@@ -8007,11 +8463,11 @@ msgstr ""
"Créer l'objet de géométrie\n"
"pour fraiser des parcours d’outils."
-#: flatcamGUI/ObjectUI.py:1152 flatcamTools/ToolCutOut.py:317
+#: flatcamGUI/ObjectUI.py:1419 flatcamTools/ToolCutOut.py:327
msgid "Geometry Object"
msgstr "Objet de géométrie"
-#: flatcamGUI/ObjectUI.py:1186
+#: flatcamGUI/ObjectUI.py:1465
msgid ""
"Tools in this Geometry object used for cutting.\n"
"The 'Offset' entry will set an offset for the cut.\n"
@@ -8042,23 +8498,23 @@ msgstr ""
"a montré des entrées de formulaire d’interface utilisateur nommées V-Tip Dia "
"et V-Tip Angle."
-#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1903
-#: flatcamGUI/PreferencesUI.py:4405
+#: flatcamGUI/ObjectUI.py:1482 flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/PreferencesUI.py:4698
msgid "Plot Object"
msgstr "Dessiner un objet"
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:7241
-#: flatcamTools/ToolCopperThieving.py:220
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:7747
+#: flatcamTools/ToolCopperThieving.py:222
msgid "Dia"
msgstr "Dia"
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
msgid "TT"
msgstr "TT"
-#: flatcamGUI/ObjectUI.py:1224
+#: flatcamGUI/ObjectUI.py:1502
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
@@ -8069,7 +8525,7 @@ msgstr ""
"cette valeur\n"
"sera montré comme un T1, T2 ... Tn"
-#: flatcamGUI/ObjectUI.py:1235
+#: flatcamGUI/ObjectUI.py:1513
msgid ""
"The value for the Offset can be:\n"
"- Path -> There is no offset, the tool cut will be done through the geometry "
@@ -8085,7 +8541,7 @@ msgstr ""
"créer une \"poche\".\n"
"- Extérieur -> L'outil coupé suivra la ligne géométrique à l'extérieur."
-#: flatcamGUI/ObjectUI.py:1242
+#: flatcamGUI/ObjectUI.py:1520
msgid ""
"The (Operation) Type has only informative value. Usually the UI form "
"values \n"
@@ -8107,7 +8563,7 @@ msgstr ""
"Pour l'isolation, nous avons besoin d'une vitesse d'avance plus faible car "
"elle utilise un foret à pointe fine."
-#: flatcamGUI/ObjectUI.py:1251
+#: flatcamGUI/ObjectUI.py:1529
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular the "
@@ -8137,7 +8593,7 @@ msgstr ""
"Le choix du type d'outil en forme de V sélectionne automatiquement le type "
"d'opération comme isolement."
-#: flatcamGUI/ObjectUI.py:1263
+#: flatcamGUI/ObjectUI.py:1541
msgid ""
"Plot column. It is visible only for MultiGeo geometries, meaning geometries "
"that holds the geometry\n"
@@ -8155,7 +8611,7 @@ msgstr ""
"activer / désactiver le tracé sur le canevas.\n"
"pour l'outil correspondant."
-#: flatcamGUI/ObjectUI.py:1281
+#: flatcamGUI/ObjectUI.py:1559
msgid ""
"The value to offset the cut when \n"
"the Offset type selected is 'Offset'.\n"
@@ -8167,7 +8623,13 @@ msgstr ""
"La valeur peut être positive pour 'dehors'\n"
"coupé et négatif pour «à l'intérieur» coupé."
-#: flatcamGUI/ObjectUI.py:1306
+#: flatcamGUI/ObjectUI.py:1578 flatcamTools/ToolNCC.py:209
+#: flatcamTools/ToolNCC.py:923 flatcamTools/ToolPaint.py:192
+#: flatcamTools/ToolPaint.py:849 flatcamTools/ToolSolderPaste.py:559
+msgid "New Tool"
+msgstr "Nouvel Outil"
+
+#: flatcamGUI/ObjectUI.py:1595
msgid ""
"Add a new tool to the Tool Table\n"
"with the specified diameter."
@@ -8175,11 +8637,14 @@ msgstr ""
"Ajouter un nouvel outil à la table d'outils\n"
"avec le diamètre spécifié."
-#: flatcamGUI/ObjectUI.py:1314
-msgid "Add Tool from DataBase"
-msgstr "Ajouter un outil à partir de la BD"
+#: flatcamGUI/ObjectUI.py:1600 flatcamTools/ToolNCC.py:300
+#: flatcamTools/ToolNCC.py:634 flatcamTools/ToolPaint.py:283
+#: flatcamTools/ToolPaint.py:679
+msgid "Add from DB"
+msgstr "Ajouter depuis la BD"
-#: flatcamGUI/ObjectUI.py:1316
+#: flatcamGUI/ObjectUI.py:1602 flatcamTools/ToolNCC.py:302
+#: flatcamTools/ToolPaint.py:285
msgid ""
"Add a new tool to the Tool Table\n"
"from the Tool DataBase."
@@ -8187,7 +8652,7 @@ msgstr ""
"Ajouter un nouvel outil à la table d'outils\n"
"à partir de la base de données d'outils."
-#: flatcamGUI/ObjectUI.py:1326
+#: flatcamGUI/ObjectUI.py:1617
msgid ""
"Copy a selection of tools in the Tool Table\n"
"by first selecting a row in the Tool Table."
@@ -8195,7 +8660,7 @@ msgstr ""
"Copier une sélection d'outils dans la table d'outils\n"
"en sélectionnant d'abord une ligne dans la table d'outils."
-#: flatcamGUI/ObjectUI.py:1332
+#: flatcamGUI/ObjectUI.py:1623
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row in the Tool Table."
@@ -8203,38 +8668,7 @@ msgstr ""
"Supprimer une sélection d'outils dans la table d'outils\n"
"en sélectionnant d'abord une ligne dans la table d'outils."
-#: flatcamGUI/ObjectUI.py:1356
-msgid ""
-"The data used for creating GCode.\n"
-"Each tool store it's own set of such data."
-msgstr ""
-"Les données utilisées pour créer le GCode.\n"
-"Chaque outil stocke son propre ensemble de données."
-
-#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3981
-#: flatcamGUI/PreferencesUI.py:5348 flatcamTools/ToolCutOut.py:153
-msgid "Multi-Depth"
-msgstr "Multi-profondeur"
-
-#: flatcamGUI/ObjectUI.py:1429 flatcamGUI/PreferencesUI.py:3984
-#: flatcamGUI/PreferencesUI.py:5351 flatcamTools/ToolCutOut.py:156
-msgid ""
-"Use multiple passes to limit\n"
-"the cut depth in each pass. Will\n"
-"cut multiple times until Cut Z is\n"
-"reached."
-msgstr ""
-"Utilisez plusieurs passes pour limiter\n"
-"la profondeur de coupe à chaque passage. Volonté\n"
-"couper plusieurs fois jusqu'à ce que Cut Z soit\n"
-"atteint."
-
-#: flatcamGUI/ObjectUI.py:1443 flatcamGUI/PreferencesUI.py:5363
-#: flatcamTools/ToolCutOut.py:170
-msgid "Depth of each pass (positive)."
-msgstr "Profondeur de chaque passage (positif)."
-
-#: flatcamGUI/ObjectUI.py:1454 flatcamGUI/PreferencesUI.py:4016
+#: flatcamGUI/ObjectUI.py:1750 flatcamGUI/PreferencesUI.py:4296
msgid ""
"Height of the tool when\n"
"moving without cutting."
@@ -8242,28 +8676,7 @@ msgstr ""
"Hauteur de l'outil quand\n"
"se déplacer sans couper."
-#: flatcamGUI/ObjectUI.py:1481 flatcamGUI/PreferencesUI.py:4037
-msgid ""
-"Include tool-change sequence\n"
-"in the Machine Code (Pause for tool change)."
-msgstr ""
-"Inclure la séquence de changement d'outil\n"
-"dans le code machine (pause pour changement d'outil)."
-
-#: flatcamGUI/ObjectUI.py:1531 flatcamGUI/PreferencesUI.py:4086
-#: flatcamGUI/PreferencesUI.py:6553 flatcamTools/ToolSolderPaste.py:252
-msgid "Feedrate X-Y"
-msgstr "Avance X-Y"
-
-#: flatcamGUI/ObjectUI.py:1533 flatcamGUI/PreferencesUI.py:4088
-msgid ""
-"Cutting speed in the XY\n"
-"plane in units per minute"
-msgstr ""
-"Vitesse de coupe dans le XY\n"
-"avion en unités par minute"
-
-#: flatcamGUI/ObjectUI.py:1547 flatcamGUI/PreferencesUI.py:4103
+#: flatcamGUI/ObjectUI.py:1783 flatcamGUI/PreferencesUI.py:4395
msgid ""
"Cutting speed in the XY\n"
"plane in units per minute.\n"
@@ -8273,7 +8686,7 @@ msgstr ""
"avion en unités par minute.\n"
"Cela s'appelle aussi plonger."
-#: flatcamGUI/ObjectUI.py:1562 flatcamGUI/PreferencesUI.py:4212
+#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4505
msgid ""
"Cutting speed in the XY plane\n"
"(in units per minute).\n"
@@ -8287,24 +8700,7 @@ msgstr ""
"C'est utile seulement pour Marlin,\n"
"ignorer pour les autres cas."
-#: flatcamGUI/ObjectUI.py:1580 flatcamGUI/PreferencesUI.py:4228
-msgid "Re-cut"
-msgstr "Re-coupé"
-
-#: flatcamGUI/ObjectUI.py:1582 flatcamGUI/ObjectUI.py:1594
-#: flatcamGUI/PreferencesUI.py:4230 flatcamGUI/PreferencesUI.py:4242
-msgid ""
-"In order to remove possible\n"
-"copper leftovers where first cut\n"
-"meet with last cut, we generate an\n"
-"extended cut over the first cut section."
-msgstr ""
-"Afin de supprimer possible\n"
-"restes de cuivre où la première coupe\n"
-"rencontre avec la dernière coupe, nous générons un\n"
-"coupe étendue sur la première section coupée."
-
-#: flatcamGUI/ObjectUI.py:1606 flatcamGUI/PreferencesUI.py:4120
+#: flatcamGUI/ObjectUI.py:1842 flatcamGUI/PreferencesUI.py:4412
msgid ""
"Speed of the spindle in RPM (optional).\n"
"If LASER preprocessor is used,\n"
@@ -8314,7 +8710,15 @@ msgstr ""
"Si le post-processeur LASER est utilisé,\n"
"cette valeur est la puissance du laser."
-#: flatcamGUI/ObjectUI.py:1642 flatcamGUI/PreferencesUI.py:4157
+#: flatcamGUI/ObjectUI.py:1945 flatcamGUI/PreferencesUI.py:4317
+msgid ""
+"Include tool-change sequence\n"
+"in the Machine Code (Pause for tool change)."
+msgstr ""
+"Inclure la séquence de changement d'outil\n"
+"dans le code machine (pause pour changement d'outil)."
+
+#: flatcamGUI/ObjectUI.py:2014 flatcamGUI/PreferencesUI.py:4449
msgid ""
"The Preprocessor file that dictates\n"
"the Machine Code (like GCode, RML, HPGL) output."
@@ -8322,41 +8726,15 @@ msgstr ""
"Le fichier post-processeur qui dicte\n"
"le code machine (comme GCode, RML, HPGL."
-#: flatcamGUI/ObjectUI.py:1689
-msgid "Apply parameters to all tools"
-msgstr "Appliquer des paramètres à tous les outils"
-
-#: flatcamGUI/ObjectUI.py:1691
-msgid ""
-"The parameters in the current form will be applied\n"
-"on all the tools from the Tool Table."
-msgstr ""
-"Les paramètres du formulaire actuel seront appliqués\n"
-"sur tous les outils de la table d'outils."
-
-#: flatcamGUI/ObjectUI.py:1700
-msgid ""
-"Add at least one tool in the tool-table.\n"
-"Click the header to select all, or Ctrl + LMB\n"
-"for custom selection of tools."
-msgstr ""
-"Ajoutez au moins un outil dans la table d'outils.\n"
-"Cliquez sur l'en-tête pour tout sélectionner, ou Ctrl + LMB\n"
-"pour la sélection personnalisée des outils."
-
-#: flatcamGUI/ObjectUI.py:1707
-msgid "Generate CNCJob object"
-msgstr "Générer un objet CNCJob"
-
-#: flatcamGUI/ObjectUI.py:1709
+#: flatcamGUI/ObjectUI.py:2035
msgid "Generate the CNC Job object."
msgstr "Générez l'objet Travail CNC."
-#: flatcamGUI/ObjectUI.py:1726
+#: flatcamGUI/ObjectUI.py:2052
msgid "Launch Paint Tool in Tools Tab."
msgstr "Lancer L'outil de Peinture dans l'onglet Outils."
-#: flatcamGUI/ObjectUI.py:1734 flatcamGUI/PreferencesUI.py:5524
+#: flatcamGUI/ObjectUI.py:2060 flatcamGUI/PreferencesUI.py:5874
msgid ""
"Creates tool paths to cover the\n"
"whole area of a polygon (remove\n"
@@ -8368,15 +8746,15 @@ msgstr ""
"tout en cuivre). Tu vas être interrogé\n"
"cliquer sur le polygone désiré."
-#: flatcamGUI/ObjectUI.py:1786
+#: flatcamGUI/ObjectUI.py:2115
msgid "CNC Job Object"
msgstr "Objet de travail CNC"
-#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4410
+#: flatcamGUI/ObjectUI.py:2126 flatcamGUI/PreferencesUI.py:4703
msgid "Plot kind"
msgstr "Dessiner genre"
-#: flatcamGUI/ObjectUI.py:1801 flatcamGUI/PreferencesUI.py:4412
+#: flatcamGUI/ObjectUI.py:2129 flatcamGUI/PreferencesUI.py:4705
msgid ""
"This selects the kind of geometries on the canvas to plot.\n"
"Those can be either of type 'Travel' which means the moves\n"
@@ -8388,15 +8766,15 @@ msgstr ""
"au-dessus de la pièce ou il peut être de type 'Couper',\n"
"ce qui signifie les mouvements qui coupent dans le matériau."
-#: flatcamGUI/ObjectUI.py:1810 flatcamGUI/PreferencesUI.py:4420
+#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/PreferencesUI.py:4713
msgid "Travel"
msgstr "Voyage"
-#: flatcamGUI/ObjectUI.py:1814 flatcamGUI/PreferencesUI.py:4429
+#: flatcamGUI/ObjectUI.py:2142 flatcamGUI/PreferencesUI.py:4722
msgid "Display Annotation"
msgstr "Afficher l'annotation"
-#: flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:4431
+#: flatcamGUI/ObjectUI.py:2144 flatcamGUI/PreferencesUI.py:4724
msgid ""
"This selects if to display text annotation on the plot.\n"
"When checked it will display numbers in order for each end\n"
@@ -8406,11 +8784,11 @@ msgstr ""
"Lorsque coché, il affichera les numéros dans l'ordre pour chaque extrémité\n"
"d'une ligne de voyage."
-#: flatcamGUI/ObjectUI.py:1831
+#: flatcamGUI/ObjectUI.py:2159
msgid "Travelled dist."
msgstr "Dist. parcourue"
-#: flatcamGUI/ObjectUI.py:1833 flatcamGUI/ObjectUI.py:1838
+#: flatcamGUI/ObjectUI.py:2161 flatcamGUI/ObjectUI.py:2166
msgid ""
"This is the total travelled distance on X-Y plane.\n"
"In current units."
@@ -8418,11 +8796,11 @@ msgstr ""
"C’est la distance totale parcourue sur l’avion X-Y.\n"
"En unités actuelles."
-#: flatcamGUI/ObjectUI.py:1843
+#: flatcamGUI/ObjectUI.py:2171
msgid "Estimated time"
msgstr "Temps estimé"
-#: flatcamGUI/ObjectUI.py:1845 flatcamGUI/ObjectUI.py:1850
+#: flatcamGUI/ObjectUI.py:2173 flatcamGUI/ObjectUI.py:2178
msgid ""
"This is the estimated time to do the routing/drilling,\n"
"without the time spent in ToolChange events."
@@ -8430,11 +8808,11 @@ msgstr ""
"Ceci est le temps estimé pour faire le routage / forage,\n"
"sans le temps passé dans les événements ToolChange."
-#: flatcamGUI/ObjectUI.py:1885
+#: flatcamGUI/ObjectUI.py:2213
msgid "CNC Tools Table"
msgstr "Table d'outils CNC"
-#: flatcamGUI/ObjectUI.py:1888
+#: flatcamGUI/ObjectUI.py:2216
msgid ""
"Tools in this CNCJob object used for cutting.\n"
"The tool diameter is used for plotting on canvas.\n"
@@ -8457,24 +8835,24 @@ msgstr ""
"Le 'type d'outil' (TT) peut être circulaire avec 1 à 4 dents (C1..C4),\n"
"balle (B) ou en forme de V (V)."
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/ObjectUI.py:1927
+#: flatcamGUI/ObjectUI.py:2244 flatcamGUI/ObjectUI.py:2255
msgid "P"
msgstr "P"
-#: flatcamGUI/ObjectUI.py:1937
+#: flatcamGUI/ObjectUI.py:2265
msgid "Update Plot"
msgstr "Mise à jour du Tracé"
-#: flatcamGUI/ObjectUI.py:1939
+#: flatcamGUI/ObjectUI.py:2267
msgid "Update the plot."
msgstr "Mettre à jour le dessin."
-#: flatcamGUI/ObjectUI.py:1946 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/ObjectUI.py:2274 flatcamGUI/PreferencesUI.py:5120
msgid "Export CNC Code"
msgstr "Exporter le code CNC"
-#: flatcamGUI/ObjectUI.py:1948 flatcamGUI/PreferencesUI.py:4768
-#: flatcamGUI/PreferencesUI.py:4829
+#: flatcamGUI/ObjectUI.py:2276 flatcamGUI/PreferencesUI.py:5061
+#: flatcamGUI/PreferencesUI.py:5122
msgid ""
"Export and save G-Code to\n"
"make this object to a file."
@@ -8482,12 +8860,12 @@ msgstr ""
"Exporter et sauvegarder le code G dans\n"
"transformez cet objet en fichier."
-#: flatcamGUI/ObjectUI.py:1954
+#: flatcamGUI/ObjectUI.py:2282
msgid "Prepend to CNC Code"
msgstr "Ajouter au début un code CNC"
-#: flatcamGUI/ObjectUI.py:1956 flatcamGUI/ObjectUI.py:1963
-#: flatcamGUI/PreferencesUI.py:4784
+#: flatcamGUI/ObjectUI.py:2284 flatcamGUI/ObjectUI.py:2291
+#: flatcamGUI/PreferencesUI.py:5077
msgid ""
"Type here any G-Code commands you would\n"
"like to add at the beginning of the G-Code file."
@@ -8495,12 +8873,12 @@ msgstr ""
"Tapez ici toutes les commandes G-Code que vous feriez\n"
"souhaite ajouter au début du fichier G-Code."
-#: flatcamGUI/ObjectUI.py:1969
+#: flatcamGUI/ObjectUI.py:2297
msgid "Append to CNC Code"
msgstr "Ajouter au code CNC final"
-#: flatcamGUI/ObjectUI.py:1971 flatcamGUI/ObjectUI.py:1979
-#: flatcamGUI/PreferencesUI.py:4800
+#: flatcamGUI/ObjectUI.py:2299 flatcamGUI/ObjectUI.py:2307
+#: flatcamGUI/PreferencesUI.py:5093
msgid ""
"Type here any G-Code commands you would\n"
"like to append to the generated file.\n"
@@ -8510,11 +8888,11 @@ msgstr ""
"tiens à ajouter à la fin du fichier généré.\n"
"I.e .: M2 (fin du programme)"
-#: flatcamGUI/ObjectUI.py:1993 flatcamGUI/PreferencesUI.py:4835
+#: flatcamGUI/ObjectUI.py:2321 flatcamGUI/PreferencesUI.py:5128
msgid "Toolchange G-Code"
msgstr "Code de changement d'outils"
-#: flatcamGUI/ObjectUI.py:1996 flatcamGUI/PreferencesUI.py:4838
+#: flatcamGUI/ObjectUI.py:2324 flatcamGUI/PreferencesUI.py:5131
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -8536,7 +8914,7 @@ msgstr ""
"qui a 'toolchange_custom' dans son nom et qui est construit\n"
"ayant comme modèle le fichier posprocessor 'Toolchange Custom'."
-#: flatcamGUI/ObjectUI.py:2011
+#: flatcamGUI/ObjectUI.py:2339
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -8554,11 +8932,11 @@ msgstr ""
"WARNING: it can be used only with a preprocessor file\n"
"that has 'toolchange_custom' in it's name."
-#: flatcamGUI/ObjectUI.py:2026 flatcamGUI/PreferencesUI.py:4877
+#: flatcamGUI/ObjectUI.py:2354 flatcamGUI/PreferencesUI.py:5170
msgid "Use Toolchange Macro"
msgstr "Utiliser la macro Toolchange"
-#: flatcamGUI/ObjectUI.py:2028 flatcamGUI/PreferencesUI.py:4879
+#: flatcamGUI/ObjectUI.py:2356 flatcamGUI/PreferencesUI.py:5172
msgid ""
"Check this box if you want to use\n"
"a Custom Toolchange GCode (macro)."
@@ -8566,7 +8944,7 @@ msgstr ""
"Cochez cette case si vous souhaitez utiliser\n"
"un GCode personnalisé Toolchange (macro)."
-#: flatcamGUI/ObjectUI.py:2036 flatcamGUI/PreferencesUI.py:4891
+#: flatcamGUI/ObjectUI.py:2364 flatcamGUI/PreferencesUI.py:5184
msgid ""
"A list of the FlatCAM variables that can be used\n"
"in the Toolchange event.\n"
@@ -8576,74 +8954,76 @@ msgstr ""
"dans l'événement Toolchange.\n"
"Ils doivent être entourés du symbole '%%'"
-#: flatcamGUI/ObjectUI.py:2043 flatcamGUI/PreferencesUI.py:2447
-#: flatcamGUI/PreferencesUI.py:3555 flatcamGUI/PreferencesUI.py:4347
-#: flatcamGUI/PreferencesUI.py:4898 flatcamGUI/PreferencesUI.py:5017
-#: flatcamGUI/PreferencesUI.py:5301 flatcamGUI/PreferencesUI.py:5458
-#: flatcamGUI/PreferencesUI.py:5676 flatcamGUI/PreferencesUI.py:5973
-#: flatcamGUI/PreferencesUI.py:6224 flatcamGUI/PreferencesUI.py:6438
-#: flatcamGUI/PreferencesUI.py:6663 flatcamGUI/PreferencesUI.py:6685
-#: flatcamGUI/PreferencesUI.py:6909 flatcamGUI/PreferencesUI.py:6946
-#: flatcamGUI/PreferencesUI.py:7140 flatcamGUI/PreferencesUI.py:7394
-#: flatcamGUI/PreferencesUI.py:7510 flatcamTools/ToolCopperThieving.py:89
-#: flatcamTools/ToolFiducials.py:149 flatcamTools/ToolNonCopperClear.py:315
+#: flatcamGUI/ObjectUI.py:2371 flatcamGUI/PreferencesUI.py:2627
+#: flatcamGUI/PreferencesUI.py:3833 flatcamGUI/PreferencesUI.py:4640
+#: flatcamGUI/PreferencesUI.py:5191 flatcamGUI/PreferencesUI.py:5310
+#: flatcamGUI/PreferencesUI.py:5640 flatcamGUI/PreferencesUI.py:5797
+#: flatcamGUI/PreferencesUI.py:6164 flatcamGUI/PreferencesUI.py:6461
+#: flatcamGUI/PreferencesUI.py:6711 flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7169 flatcamGUI/PreferencesUI.py:7191
+#: flatcamGUI/PreferencesUI.py:7415 flatcamGUI/PreferencesUI.py:7452
+#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7900
+#: flatcamGUI/PreferencesUI.py:8016 flatcamGUI/PreferencesUI.py:8135
+#: flatcamGUI/PreferencesUI.py:8347 flatcamGUI/PreferencesUI.py:8556
+#: flatcamTools/ToolCopperThieving.py:90 flatcamTools/ToolFiducials.py:149
+#: flatcamTools/ToolInvertGerber.py:82
msgid "Parameters"
msgstr "Paramètres"
-#: flatcamGUI/ObjectUI.py:2046 flatcamGUI/PreferencesUI.py:4903
+#: flatcamGUI/ObjectUI.py:2374 flatcamGUI/PreferencesUI.py:5196
msgid "FlatCAM CNC parameters"
msgstr "Paramètres CNC FlatCAM"
-#: flatcamGUI/ObjectUI.py:2047 flatcamGUI/PreferencesUI.py:4908
+#: flatcamGUI/ObjectUI.py:2375 flatcamGUI/PreferencesUI.py:5201
msgid "tool number"
msgstr "numéro d'outil"
-#: flatcamGUI/ObjectUI.py:2048 flatcamGUI/PreferencesUI.py:4909
+#: flatcamGUI/ObjectUI.py:2376 flatcamGUI/PreferencesUI.py:5202
msgid "tool diameter"
msgstr "diamètre de l'outil"
-#: flatcamGUI/ObjectUI.py:2049 flatcamGUI/PreferencesUI.py:4910
+#: flatcamGUI/ObjectUI.py:2377 flatcamGUI/PreferencesUI.py:5203
msgid "for Excellon, total number of drills"
msgstr "pour Excellon, nombre total de trous de forage"
-#: flatcamGUI/ObjectUI.py:2051 flatcamGUI/PreferencesUI.py:4912
+#: flatcamGUI/ObjectUI.py:2379 flatcamGUI/PreferencesUI.py:5205
msgid "X coord for Toolchange"
msgstr "Coord X pour changement d'outil"
-#: flatcamGUI/ObjectUI.py:2052 flatcamGUI/PreferencesUI.py:4913
+#: flatcamGUI/ObjectUI.py:2380 flatcamGUI/PreferencesUI.py:5206
msgid "Y coord for Toolchange"
msgstr "Coord Y pour changement d'outil"
-#: flatcamGUI/ObjectUI.py:2053 flatcamGUI/PreferencesUI.py:4915
+#: flatcamGUI/ObjectUI.py:2381 flatcamGUI/PreferencesUI.py:5208
msgid "Z coord for Toolchange"
msgstr "Coords Z pour le Changement d'Outil"
-#: flatcamGUI/ObjectUI.py:2054
+#: flatcamGUI/ObjectUI.py:2382
msgid "depth where to cut"
msgstr "profondeur où couper"
-#: flatcamGUI/ObjectUI.py:2055
+#: flatcamGUI/ObjectUI.py:2383
msgid "height where to travel"
msgstr "hauteur où voyager"
-#: flatcamGUI/ObjectUI.py:2056 flatcamGUI/PreferencesUI.py:4918
+#: flatcamGUI/ObjectUI.py:2384 flatcamGUI/PreferencesUI.py:5211
msgid "the step value for multidepth cut"
msgstr "la valeur de pas pour la coupe multiple"
-#: flatcamGUI/ObjectUI.py:2058 flatcamGUI/PreferencesUI.py:4920
+#: flatcamGUI/ObjectUI.py:2386 flatcamGUI/PreferencesUI.py:5213
msgid "the value for the spindle speed"
msgstr "la valeur de la vitesse de broche"
-#: flatcamGUI/ObjectUI.py:2060
+#: flatcamGUI/ObjectUI.py:2388
msgid "time to dwell to allow the spindle to reach it's set RPM"
msgstr ""
"temps de repos pour permettre à la broche d'atteindre son régime défini"
-#: flatcamGUI/ObjectUI.py:2076
+#: flatcamGUI/ObjectUI.py:2404
msgid "View CNC Code"
msgstr "Voir le code CNC"
-#: flatcamGUI/ObjectUI.py:2078
+#: flatcamGUI/ObjectUI.py:2406
msgid ""
"Opens TAB to view/modify/print G-Code\n"
"file."
@@ -8651,11 +9031,11 @@ msgstr ""
"Ouvre l'onglet pour afficher / modifier / imprimer le code G\n"
"fichier."
-#: flatcamGUI/ObjectUI.py:2083
+#: flatcamGUI/ObjectUI.py:2411
msgid "Save CNC Code"
msgstr "Enregistrer le code CNC"
-#: flatcamGUI/ObjectUI.py:2085
+#: flatcamGUI/ObjectUI.py:2413
msgid ""
"Opens dialog to save G-Code\n"
"file."
@@ -8663,85 +9043,81 @@ msgstr ""
"Ouvre la boîte de dialogue pour enregistrer le code G\n"
"fichier."
-#: flatcamGUI/ObjectUI.py:2116
+#: flatcamGUI/ObjectUI.py:2447
msgid "Script Object"
msgstr "Objet de script"
-#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/ObjectUI.py:2211
+#: flatcamGUI/ObjectUI.py:2467 flatcamGUI/ObjectUI.py:2541
msgid "Auto Completer"
msgstr "Compléteur automatique"
-#: flatcamGUI/ObjectUI.py:2140
+#: flatcamGUI/ObjectUI.py:2469
msgid "This selects if the auto completer is enabled in the Script Editor."
msgstr ""
"Ceci sélectionne si le compléteur automatique est activé dans l'éditeur de "
"script."
-#: flatcamGUI/ObjectUI.py:2182
+#: flatcamGUI/ObjectUI.py:2514
msgid "Document Object"
msgstr "Objet de Document"
-#: flatcamGUI/ObjectUI.py:2213
+#: flatcamGUI/ObjectUI.py:2543
msgid "This selects if the auto completer is enabled in the Document Editor."
msgstr ""
"Ceci sélectionne si le compléteur automatique est activé dans l'éditeur de "
"document."
-#: flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/ObjectUI.py:2561
msgid "Font Type"
msgstr "Type de Police"
-#: flatcamGUI/ObjectUI.py:2248 flatcamGUI/PreferencesUI.py:1103
+#: flatcamGUI/ObjectUI.py:2578 flatcamGUI/PreferencesUI.py:1278
msgid "Font Size"
msgstr "Taille de Police"
-#: flatcamGUI/ObjectUI.py:2284
+#: flatcamGUI/ObjectUI.py:2614
msgid "Alignment"
msgstr "Alignement"
-#: flatcamGUI/ObjectUI.py:2289
+#: flatcamGUI/ObjectUI.py:2619
msgid "Align Left"
msgstr "Alignez à gauche"
-#: flatcamGUI/ObjectUI.py:2294
-msgid "Center"
-msgstr "Centre"
-
-#: flatcamGUI/ObjectUI.py:2299
+#: flatcamGUI/ObjectUI.py:2629
msgid "Align Right"
msgstr "Aligner à droite"
-#: flatcamGUI/ObjectUI.py:2304
+#: flatcamGUI/ObjectUI.py:2634
msgid "Justify"
msgstr "Aligner à justifier"
-#: flatcamGUI/ObjectUI.py:2311
+#: flatcamGUI/ObjectUI.py:2641
msgid "Font Color"
msgstr "Couleur de la Police"
-#: flatcamGUI/ObjectUI.py:2313
+#: flatcamGUI/ObjectUI.py:2643
msgid "Set the font color for the selected text"
msgstr "Définir la couleur de la police pour le texte sélectionné"
-#: flatcamGUI/ObjectUI.py:2327
+#: flatcamGUI/ObjectUI.py:2657
msgid "Selection Color"
msgstr "Couleur de sélection"
-#: flatcamGUI/ObjectUI.py:2329
+#: flatcamGUI/ObjectUI.py:2659
msgid "Set the selection color when doing text selection."
msgstr "Définissez la couleur de sélection lors de la sélection du texte."
-#: flatcamGUI/ObjectUI.py:2343
+#: flatcamGUI/ObjectUI.py:2673
msgid "Tab Size"
msgstr "Taille de l'onglet"
-#: flatcamGUI/ObjectUI.py:2345
+#: flatcamGUI/ObjectUI.py:2675
msgid "Set the tab size. In pixels. Default value is 80 pixels."
msgstr ""
"Définissez la taille de l'onglet. En pixels. La valeur par défaut est 80 "
"pixels."
-#: flatcamGUI/PlotCanvasLegacy.py:1254
+#: flatcamGUI/PlotCanvasLegacy.py:1301
msgid ""
"Could not annotate due of a difference between the number of text elements "
"and the number of text positions."
@@ -8749,31 +9125,35 @@ msgstr ""
"Impossible d'annoter en raison d'une différence entre le nombre d'éléments "
"de texte et le nombre de positions de texte."
-#: flatcamGUI/PreferencesUI.py:324
+#: flatcamGUI/PreferencesUI.py:343
msgid "GUI Preferences"
msgstr "Préférences de GUI"
-#: flatcamGUI/PreferencesUI.py:334
+#: flatcamGUI/PreferencesUI.py:353
msgid "Theme"
msgstr "Thème"
-#: flatcamGUI/PreferencesUI.py:336
-msgid "Select a theme for FlatCAM."
-msgstr "Sélectionnez un thème pour FlatCAM."
+#: flatcamGUI/PreferencesUI.py:355
+msgid ""
+"Select a theme for FlatCAM.\n"
+"It will theme the plot area."
+msgstr ""
+"Sélectionnez un thème pour FlatCAM.\n"
+"Il aura pour thème la zone de traçage."
-#: flatcamGUI/PreferencesUI.py:340
+#: flatcamGUI/PreferencesUI.py:360
msgid "Light"
msgstr "Lumière"
-#: flatcamGUI/PreferencesUI.py:341
+#: flatcamGUI/PreferencesUI.py:361
msgid "Dark"
msgstr "Noir"
-#: flatcamGUI/PreferencesUI.py:348
+#: flatcamGUI/PreferencesUI.py:368
msgid "Use Gray Icons"
msgstr "Utiliser des icônes grises"
-#: flatcamGUI/PreferencesUI.py:350
+#: flatcamGUI/PreferencesUI.py:370
msgid ""
"Check this box to use a set of icons with\n"
"a lighter (gray) color. To be used when a\n"
@@ -8783,23 +9163,25 @@ msgstr ""
"une couleur plus claire (grise). À utiliser lorsqu'un\n"
"le thème sombre complet est appliqué."
-#: flatcamGUI/PreferencesUI.py:356
+#: flatcamGUI/PreferencesUI.py:376
msgid "Apply Theme"
msgstr "Appliquer le thème"
-#: flatcamGUI/PreferencesUI.py:358
+#: flatcamGUI/PreferencesUI.py:378
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"
-"L'application va redémarrer après le changement."
+"Il aura pour thème la zone de traçage.\n"
+"L'application redémarrera après le changement."
-#: flatcamGUI/PreferencesUI.py:369
+#: flatcamGUI/PreferencesUI.py:390
msgid "Layout"
msgstr "Disposition"
-#: flatcamGUI/PreferencesUI.py:371
+#: flatcamGUI/PreferencesUI.py:392
msgid ""
"Select an layout for FlatCAM.\n"
"It is applied immediately."
@@ -8807,11 +9189,11 @@ msgstr ""
"Sélectionnez une mise en page pour FlatCAM.\n"
"Il est appliqué immédiatement."
-#: flatcamGUI/PreferencesUI.py:390
+#: flatcamGUI/PreferencesUI.py:412
msgid "Style"
msgstr "Style"
-#: flatcamGUI/PreferencesUI.py:392
+#: flatcamGUI/PreferencesUI.py:414
msgid ""
"Select an style for FlatCAM.\n"
"It will be applied at the next app start."
@@ -8819,11 +9201,11 @@ msgstr ""
"Sélectionnez un style pour FlatCAM.\n"
"Il sera appliqué au prochain démarrage de l'application."
-#: flatcamGUI/PreferencesUI.py:406
+#: flatcamGUI/PreferencesUI.py:428
msgid "Activate HDPI Support"
msgstr "Activer le support HDPI"
-#: flatcamGUI/PreferencesUI.py:408
+#: flatcamGUI/PreferencesUI.py:430
msgid ""
"Enable High DPI support for FlatCAM.\n"
"It will be applied at the next app start."
@@ -8831,11 +9213,11 @@ msgstr ""
"Activer la prise en charge haute DPI pour FlatCAM.\n"
"Il sera appliqué au prochain démarrage de l'application."
-#: flatcamGUI/PreferencesUI.py:422
+#: flatcamGUI/PreferencesUI.py:444
msgid "Display Hover Shape"
msgstr "Afficher la forme de survol"
-#: flatcamGUI/PreferencesUI.py:424
+#: flatcamGUI/PreferencesUI.py:446
msgid ""
"Enable display of a hover shape for FlatCAM objects.\n"
"It is displayed whenever the mouse cursor is hovering\n"
@@ -8846,11 +9228,11 @@ msgstr ""
"stationnaire\n"
"sur tout type d'objet non sélectionné."
-#: flatcamGUI/PreferencesUI.py:431
+#: flatcamGUI/PreferencesUI.py:453
msgid "Display Selection Shape"
msgstr "Afficher la forme de sélection"
-#: flatcamGUI/PreferencesUI.py:433
+#: flatcamGUI/PreferencesUI.py:455
msgid ""
"Enable the display of a selection shape for FlatCAM objects.\n"
"It is displayed whenever the mouse selects an object\n"
@@ -8862,29 +9244,29 @@ msgstr ""
"soit en cliquant ou en faisant glisser la souris de gauche à droite ou\n"
"de droite à gauche."
-#: flatcamGUI/PreferencesUI.py:446
+#: flatcamGUI/PreferencesUI.py:468
msgid "Left-Right Selection Color"
msgstr "Couleur de sélection gauche-droite"
-#: flatcamGUI/PreferencesUI.py:449 flatcamGUI/PreferencesUI.py:515
-#: flatcamGUI/PreferencesUI.py:1882 flatcamGUI/PreferencesUI.py:2903
-#: flatcamGUI/PreferencesUI.py:3894 flatcamGUI/PreferencesUI.py:4534
-#: flatcamGUI/PreferencesUI.py:4600 flatcamTools/ToolRulesCheck.py:179
+#: flatcamGUI/PreferencesUI.py:471 flatcamGUI/PreferencesUI.py:537
+#: flatcamGUI/PreferencesUI.py:2062 flatcamGUI/PreferencesUI.py:3085
+#: flatcamGUI/PreferencesUI.py:4174 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/PreferencesUI.py:4893 flatcamTools/ToolRulesCheck.py:186
msgid "Outline"
msgstr "Contour"
-#: flatcamGUI/PreferencesUI.py:451
+#: flatcamGUI/PreferencesUI.py:473
msgid "Set the line color for the 'left to right' selection box."
msgstr ""
"Définissez la couleur de ligne pour la zone de sélection \"gauche à droite\"."
-#: flatcamGUI/PreferencesUI.py:465 flatcamGUI/PreferencesUI.py:532
-#: flatcamGUI/PreferencesUI.py:1899 flatcamGUI/PreferencesUI.py:2920
-#: flatcamGUI/PreferencesUI.py:4551 flatcamGUI/PreferencesUI.py:4617
+#: flatcamGUI/PreferencesUI.py:487 flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:2079 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/PreferencesUI.py:4844 flatcamGUI/PreferencesUI.py:4910
msgid "Fill"
msgstr "Contenu"
-#: flatcamGUI/PreferencesUI.py:467
+#: flatcamGUI/PreferencesUI.py:489
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from left to right.\n"
@@ -8896,28 +9278,28 @@ msgstr ""
"Les 6 premiers chiffres correspondent à la couleur et les 2 derniers\n"
"les chiffres correspondent au niveau alpha (transparence)."
-#: flatcamGUI/PreferencesUI.py:485 flatcamGUI/PreferencesUI.py:552
-#: flatcamGUI/PreferencesUI.py:1918 flatcamGUI/PreferencesUI.py:2939
-#: flatcamGUI/PreferencesUI.py:4570
+#: flatcamGUI/PreferencesUI.py:507 flatcamGUI/PreferencesUI.py:574
+#: flatcamGUI/PreferencesUI.py:2098 flatcamGUI/PreferencesUI.py:3121
+#: flatcamGUI/PreferencesUI.py:4863
msgid "Alpha"
msgstr "Alpha"
-#: flatcamGUI/PreferencesUI.py:487
+#: flatcamGUI/PreferencesUI.py:509
msgid "Set the fill transparency for the 'left to right' selection box."
msgstr ""
"Définissez la transparence de remplissage pour la zone de sélection \"gauche "
"à droite\"."
-#: flatcamGUI/PreferencesUI.py:511
+#: flatcamGUI/PreferencesUI.py:533
msgid "Right-Left Selection Color"
msgstr "Couleur de sélection droite-gauche"
-#: flatcamGUI/PreferencesUI.py:517
+#: flatcamGUI/PreferencesUI.py:539
msgid "Set the line color for the 'right to left' selection box."
msgstr ""
"Définissez la couleur de ligne pour la zone de sélection «droite à gauche»."
-#: flatcamGUI/PreferencesUI.py:534
+#: flatcamGUI/PreferencesUI.py:556
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from right to left.\n"
@@ -8929,46 +9311,46 @@ msgstr ""
"Les 6 premiers chiffres correspondent à la couleur et les 2 derniers\n"
"les chiffres correspondent au niveau alpha (transparence)."
-#: flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:576
msgid "Set the fill transparency for selection 'right to left' box."
msgstr ""
"Définissez la transparence de remplissage pour la zone de sélection \"Droite "
"à gauche\"."
-#: flatcamGUI/PreferencesUI.py:581
+#: flatcamGUI/PreferencesUI.py:603
msgid "Editor Color"
msgstr "Couleur de l'éditeur"
-#: flatcamGUI/PreferencesUI.py:585
+#: flatcamGUI/PreferencesUI.py:607
msgid "Drawing"
msgstr "Dessin"
-#: flatcamGUI/PreferencesUI.py:587
+#: flatcamGUI/PreferencesUI.py:609
msgid "Set the color for the shape."
msgstr "Définissez la couleur pour la forme."
-#: flatcamGUI/PreferencesUI.py:604
+#: flatcamGUI/PreferencesUI.py:626
msgid "Set the color of the shape when selected."
msgstr "Définit la couleur de la forme lorsqu'elle est sélectionnée."
-#: flatcamGUI/PreferencesUI.py:627
+#: flatcamGUI/PreferencesUI.py:649
msgid "Project Items Color"
msgstr "Éléments du projet Couleur"
-#: flatcamGUI/PreferencesUI.py:631
+#: flatcamGUI/PreferencesUI.py:653
msgid "Enabled"
msgstr "Activé"
-#: flatcamGUI/PreferencesUI.py:633
+#: flatcamGUI/PreferencesUI.py:655
msgid "Set the color of the items in Project Tab Tree."
msgstr ""
"Définissez la couleur des éléments dans l'arborescence de l'onglet Projet."
-#: flatcamGUI/PreferencesUI.py:647
+#: flatcamGUI/PreferencesUI.py:669
msgid "Disabled"
msgstr "Désactivé"
-#: flatcamGUI/PreferencesUI.py:649
+#: flatcamGUI/PreferencesUI.py:671
msgid ""
"Set the color of the items in Project Tab Tree,\n"
"for the case when the items are disabled."
@@ -8976,7 +9358,11 @@ msgstr ""
"Définir la couleur des éléments dans l'arborescence de l'onglet Projet,\n"
"pour le cas où les éléments sont désactivés."
-#: flatcamGUI/PreferencesUI.py:667
+#: flatcamGUI/PreferencesUI.py:687
+msgid "Project AutoHide"
+msgstr "Masquer auto le projet"
+
+#: flatcamGUI/PreferencesUI.py:689
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"hide automatically when there are no objects loaded and\n"
@@ -8987,43 +9373,43 @@ msgstr ""
"se cacher automatiquement quand il n'y a pas d'objets chargés et\n"
"pour montrer chaque fois qu'un nouvel objet est créé."
-#: flatcamGUI/PreferencesUI.py:934
+#: flatcamGUI/PreferencesUI.py:1109
msgid "App Settings"
msgstr "Paramètres de l'application"
-#: flatcamGUI/PreferencesUI.py:955
+#: flatcamGUI/PreferencesUI.py:1130
msgid "Grid Settings"
msgstr "Paramètres de la grille"
-#: flatcamGUI/PreferencesUI.py:959
+#: flatcamGUI/PreferencesUI.py:1134
msgid "X value"
msgstr "Valeur X"
-#: flatcamGUI/PreferencesUI.py:961
+#: flatcamGUI/PreferencesUI.py:1136
msgid "This is the Grid snap value on X axis."
msgstr "Il s'agit de la valeur d'accrochage de la grille sur l'axe des X."
-#: flatcamGUI/PreferencesUI.py:971
+#: flatcamGUI/PreferencesUI.py:1146
msgid "Y value"
msgstr "Valeur Y"
-#: flatcamGUI/PreferencesUI.py:973
+#: flatcamGUI/PreferencesUI.py:1148
msgid "This is the Grid snap value on Y axis."
msgstr "Il s'agit de la valeur d'accrochage de la grille sur l'axe des Y."
-#: flatcamGUI/PreferencesUI.py:983
+#: flatcamGUI/PreferencesUI.py:1158
msgid "Snap Max"
msgstr "Accrocher max"
-#: flatcamGUI/PreferencesUI.py:998
+#: flatcamGUI/PreferencesUI.py:1173
msgid "Workspace Settings"
msgstr "Paramètres de l'espace de travail"
-#: flatcamGUI/PreferencesUI.py:1001
+#: flatcamGUI/PreferencesUI.py:1176
msgid "Active"
msgstr "Actif"
-#: flatcamGUI/PreferencesUI.py:1003
+#: flatcamGUI/PreferencesUI.py:1178
msgid ""
"Draw a delimiting rectangle on canvas.\n"
"The purpose is to illustrate the limits for our work."
@@ -9031,7 +9417,7 @@ msgstr ""
"Dessinez un rectangle de délimitation sur la toile.\n"
"Le but est d’illustrer les limites de notre travail."
-#: flatcamGUI/PreferencesUI.py:1011
+#: flatcamGUI/PreferencesUI.py:1186
msgid ""
"Select the type of rectangle to be used on canvas,\n"
"as valid workspace."
@@ -9039,12 +9425,12 @@ msgstr ""
"Sélectionnez le type de rectangle à utiliser sur la toile,\n"
"comme espace de travail valide."
-#: flatcamGUI/PreferencesUI.py:1077
+#: flatcamGUI/PreferencesUI.py:1252
msgid "Orientation"
msgstr "Orientation"
-#: flatcamGUI/PreferencesUI.py:1078 flatcamGUI/PreferencesUI.py:5884
-#: flatcamTools/ToolFilm.py:420
+#: flatcamGUI/PreferencesUI.py:1253 flatcamGUI/PreferencesUI.py:6372
+#: flatcamTools/ToolFilm.py:422
msgid ""
"Can be:\n"
"- Portrait\n"
@@ -9054,21 +9440,21 @@ msgstr ""
"- Portrait\n"
"- Paysage"
-#: flatcamGUI/PreferencesUI.py:1082 flatcamGUI/PreferencesUI.py:5888
-#: flatcamTools/ToolFilm.py:424
+#: flatcamGUI/PreferencesUI.py:1257 flatcamGUI/PreferencesUI.py:6376
+#: flatcamTools/ToolFilm.py:426
msgid "Portrait"
msgstr "Portrait"
-#: flatcamGUI/PreferencesUI.py:1083 flatcamGUI/PreferencesUI.py:5889
-#: flatcamTools/ToolFilm.py:425
+#: flatcamGUI/PreferencesUI.py:1258 flatcamGUI/PreferencesUI.py:6377
+#: flatcamTools/ToolFilm.py:427
msgid "Landscape"
msgstr "Paysage"
-#: flatcamGUI/PreferencesUI.py:1107
+#: flatcamGUI/PreferencesUI.py:1282
msgid "Notebook"
msgstr "Carnet"
-#: flatcamGUI/PreferencesUI.py:1109
+#: flatcamGUI/PreferencesUI.py:1284
msgid ""
"This sets the font size for the elements found in the Notebook.\n"
"The notebook is the collapsible area in the left side of the GUI,\n"
@@ -9080,19 +9466,19 @@ msgstr ""
"graphique,\n"
"et incluez les onglets Projet, Sélectionné et Outil."
-#: flatcamGUI/PreferencesUI.py:1128
+#: flatcamGUI/PreferencesUI.py:1303
msgid "Axis"
msgstr "Axe"
-#: flatcamGUI/PreferencesUI.py:1130
+#: flatcamGUI/PreferencesUI.py:1305
msgid "This sets the font size for canvas axis."
msgstr "Ceci définit la taille de la police pour l'axe de la toile."
-#: flatcamGUI/PreferencesUI.py:1147
+#: flatcamGUI/PreferencesUI.py:1322
msgid "Textbox"
msgstr "Zone de texte"
-#: flatcamGUI/PreferencesUI.py:1149
+#: flatcamGUI/PreferencesUI.py:1324
msgid ""
"This sets the font size for the Textbox GUI\n"
"elements that are used in FlatCAM."
@@ -9101,15 +9487,15 @@ msgstr ""
"texte\n"
"éléments utilisés dans FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1175
+#: flatcamGUI/PreferencesUI.py:1350
msgid "Mouse Settings"
msgstr "Paramètres de la souris"
-#: flatcamGUI/PreferencesUI.py:1179
+#: flatcamGUI/PreferencesUI.py:1354
msgid "Cursor Shape"
msgstr "Forme du curseur"
-#: flatcamGUI/PreferencesUI.py:1181
+#: flatcamGUI/PreferencesUI.py:1356
msgid ""
"Choose a mouse cursor shape.\n"
"- Small -> with a customizable size.\n"
@@ -9119,47 +9505,47 @@ msgstr ""
"- Petit -> avec une taille personnalisable.\n"
"- Grand -> Lignes infinies"
-#: flatcamGUI/PreferencesUI.py:1187
+#: flatcamGUI/PreferencesUI.py:1362
msgid "Small"
msgstr "Petit"
-#: flatcamGUI/PreferencesUI.py:1188
+#: flatcamGUI/PreferencesUI.py:1363
msgid "Big"
msgstr "Grand"
-#: flatcamGUI/PreferencesUI.py:1195
+#: flatcamGUI/PreferencesUI.py:1370
msgid "Cursor Size"
msgstr "Taille du curseur"
-#: flatcamGUI/PreferencesUI.py:1197
+#: flatcamGUI/PreferencesUI.py:1372
msgid "Set the size of the mouse cursor, in pixels."
msgstr "Définissez la taille du curseur de la souris, en pixels."
-#: flatcamGUI/PreferencesUI.py:1208
+#: flatcamGUI/PreferencesUI.py:1383
msgid "Cursor Width"
msgstr "Largeur du curseur"
-#: flatcamGUI/PreferencesUI.py:1210
+#: flatcamGUI/PreferencesUI.py:1385
msgid "Set the line width of the mouse cursor, in pixels."
msgstr "Définissez la largeur de ligne du curseur de la souris, en pixels."
-#: flatcamGUI/PreferencesUI.py:1221 flatcamGUI/PreferencesUI.py:1228
+#: flatcamGUI/PreferencesUI.py:1396 flatcamGUI/PreferencesUI.py:1403
msgid "Cursor Color"
msgstr "Couleur du curseur"
-#: flatcamGUI/PreferencesUI.py:1223
+#: flatcamGUI/PreferencesUI.py:1398
msgid "Check this box to color mouse cursor."
msgstr "Cochez cette case pour colorer le curseur de la souris."
-#: flatcamGUI/PreferencesUI.py:1230
+#: flatcamGUI/PreferencesUI.py:1405
msgid "Set the color of the mouse cursor."
msgstr "Définissez la couleur du curseur de la souris."
-#: flatcamGUI/PreferencesUI.py:1253
+#: flatcamGUI/PreferencesUI.py:1428
msgid "Pan Button"
msgstr "Bouton pan"
-#: flatcamGUI/PreferencesUI.py:1255
+#: flatcamGUI/PreferencesUI.py:1430
msgid ""
"Select the mouse button to use for panning:\n"
"- MMB --> Middle Mouse Button\n"
@@ -9169,35 +9555,35 @@ msgstr ""
"- MMB -> Bouton central de la souris\n"
"- RMB -> bouton droit de la souris"
-#: flatcamGUI/PreferencesUI.py:1259
+#: flatcamGUI/PreferencesUI.py:1434
msgid "MMB"
msgstr "MMB"
-#: flatcamGUI/PreferencesUI.py:1260
+#: flatcamGUI/PreferencesUI.py:1435
msgid "RMB"
msgstr "RMB"
-#: flatcamGUI/PreferencesUI.py:1266
+#: flatcamGUI/PreferencesUI.py:1441
msgid "Multiple Selection"
msgstr "Sélection multiple"
-#: flatcamGUI/PreferencesUI.py:1268
+#: flatcamGUI/PreferencesUI.py:1443
msgid "Select the key used for multiple selection."
msgstr "Sélectionnez la clé utilisée pour la sélection multiple."
-#: flatcamGUI/PreferencesUI.py:1270
+#: flatcamGUI/PreferencesUI.py:1445
msgid "CTRL"
msgstr "CTRL"
-#: flatcamGUI/PreferencesUI.py:1271
+#: flatcamGUI/PreferencesUI.py:1446
msgid "SHIFT"
msgstr "SHIFT"
-#: flatcamGUI/PreferencesUI.py:1282
+#: flatcamGUI/PreferencesUI.py:1457
msgid "Delete object confirmation"
msgstr "Supprimer la conf. de l'objet"
-#: flatcamGUI/PreferencesUI.py:1284
+#: flatcamGUI/PreferencesUI.py:1459
msgid ""
"When checked the application will ask for user confirmation\n"
"whenever the Delete object(s) event is triggered, either by\n"
@@ -9207,11 +9593,11 @@ msgstr ""
"chaque fois que l'événement Delete object (s) est déclenché, soit par\n"
"raccourci de menu ou raccourci clavier."
-#: flatcamGUI/PreferencesUI.py:1291
+#: flatcamGUI/PreferencesUI.py:1466
msgid "\"Open\" behavior"
msgstr "Comportement \"ouvert\""
-#: flatcamGUI/PreferencesUI.py:1293
+#: flatcamGUI/PreferencesUI.py:1468
msgid ""
"When checked the path for the last saved file is used when saving files,\n"
"and the path for the last opened file is used when opening files.\n"
@@ -9228,7 +9614,11 @@ msgstr ""
"dernier: soit le\n"
"chemin pour sauvegarder les fichiers ou chemin pour ouvrir les fichiers."
-#: flatcamGUI/PreferencesUI.py:1304
+#: flatcamGUI/PreferencesUI.py:1477
+msgid "Enable ToolTips"
+msgstr "Activer les info-bulles"
+
+#: flatcamGUI/PreferencesUI.py:1479
msgid ""
"Check this box if you want to have toolTips displayed\n"
"when hovering with mouse over items throughout the App."
@@ -9236,11 +9626,11 @@ msgstr ""
"Cochez cette case si vous souhaitez afficher les info-bulles\n"
"lorsque vous survolez avec la souris sur des éléments dans l’application."
-#: flatcamGUI/PreferencesUI.py:1311
+#: flatcamGUI/PreferencesUI.py:1486
msgid "Allow Machinist Unsafe Settings"
msgstr "Autoriser les paramètres dangereux du machiniste"
-#: flatcamGUI/PreferencesUI.py:1313
+#: flatcamGUI/PreferencesUI.py:1488
msgid ""
"If checked, some of the application settings will be allowed\n"
"to have values that are usually unsafe to use.\n"
@@ -9257,11 +9647,11 @@ msgstr ""
"<>: Ne changez rien à moins que vous sachiez ce que vous "
"faites !!!"
-#: flatcamGUI/PreferencesUI.py:1324
+#: flatcamGUI/PreferencesUI.py:1500
msgid "Bookmarks limit"
msgstr "Limite de favoris"
-#: flatcamGUI/PreferencesUI.py:1326
+#: flatcamGUI/PreferencesUI.py:1502
msgid ""
"The maximum number of bookmarks that may be installed in the menu.\n"
"The number of bookmarks in the bookmark manager may be greater\n"
@@ -9271,27 +9661,27 @@ msgstr ""
"Le nombre de signets dans le gestionnaire de favoris peut être supérieur\n"
"mais le menu tiendra seulement beaucoup."
-#: flatcamGUI/PreferencesUI.py:1335
+#: flatcamGUI/PreferencesUI.py:1511
msgid "Activity Icon"
msgstr "Icône d'activité"
-#: flatcamGUI/PreferencesUI.py:1337
+#: flatcamGUI/PreferencesUI.py:1513
msgid "Select the GIF that show activity when FlatCAM is active."
msgstr "Sélectionnez le GIF qui affiche l'activité lorsque FlatCAM est actif."
-#: flatcamGUI/PreferencesUI.py:1395
+#: flatcamGUI/PreferencesUI.py:1571
msgid "App Preferences"
msgstr "Préférences de l'app"
-#: flatcamGUI/PreferencesUI.py:1405 flatcamGUI/PreferencesUI.py:1811
-#: flatcamGUI/PreferencesUI.py:2359 flatcamGUI/PreferencesUI.py:2804
-#: flatcamGUI/PreferencesUI.py:3417 flatcamTools/ToolDistance.py:49
-#: flatcamTools/ToolDistanceMin.py:49 flatcamTools/ToolPcbWizard.py:127
-#: flatcamTools/ToolProperties.py:152
+#: flatcamGUI/PreferencesUI.py:1581 flatcamGUI/PreferencesUI.py:1991
+#: flatcamGUI/PreferencesUI.py:2539 flatcamGUI/PreferencesUI.py:2986
+#: flatcamGUI/PreferencesUI.py:3695 flatcamTools/ToolDistance.py:56
+#: flatcamTools/ToolDistanceMin.py:50 flatcamTools/ToolPcbWizard.py:127
+#: flatcamTools/ToolProperties.py:154
msgid "Units"
msgstr "Unités"
-#: flatcamGUI/PreferencesUI.py:1406
+#: flatcamGUI/PreferencesUI.py:1582
msgid ""
"The default value for FlatCAM units.\n"
"Whatever is selected here is set every time\n"
@@ -9301,22 +9691,22 @@ msgstr ""
"Tout ce qui est sélectionné ici est défini à chaque fois\n"
"FLatCAM est démarré."
-#: flatcamGUI/PreferencesUI.py:1409 flatcamGUI/PreferencesUI.py:1817
-#: flatcamGUI/PreferencesUI.py:2365 flatcamGUI/PreferencesUI.py:2815
-#: flatcamGUI/PreferencesUI.py:3423 flatcamTools/ToolCalculators.py:62
+#: flatcamGUI/PreferencesUI.py:1585 flatcamGUI/PreferencesUI.py:1997
+#: flatcamGUI/PreferencesUI.py:2545 flatcamGUI/PreferencesUI.py:2997
+#: flatcamGUI/PreferencesUI.py:3701 flatcamTools/ToolCalculators.py:62
#: flatcamTools/ToolPcbWizard.py:126
msgid "MM"
msgstr "MM"
-#: flatcamGUI/PreferencesUI.py:1410
+#: flatcamGUI/PreferencesUI.py:1586
msgid "IN"
msgstr "PO"
-#: flatcamGUI/PreferencesUI.py:1416
+#: flatcamGUI/PreferencesUI.py:1592
msgid "Precision MM"
msgstr "Précision MM"
-#: flatcamGUI/PreferencesUI.py:1418
+#: flatcamGUI/PreferencesUI.py:1594
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in METRIC system.\n"
@@ -9326,11 +9716,11 @@ msgstr ""
"lorsque les unités définies sont dans le système METRIC.\n"
"Toute modification ici nécessite un redémarrage de l'application."
-#: flatcamGUI/PreferencesUI.py:1430
+#: flatcamGUI/PreferencesUI.py:1606
msgid "Precision INCH"
msgstr "Précision INCH"
-#: flatcamGUI/PreferencesUI.py:1432
+#: flatcamGUI/PreferencesUI.py:1608
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in INCH system.\n"
@@ -9340,11 +9730,11 @@ msgstr ""
"lorsque les unités définies sont dans le système INCH.\n"
"Toute modification ici nécessite un redémarrage de l'application."
-#: flatcamGUI/PreferencesUI.py:1444
+#: flatcamGUI/PreferencesUI.py:1620
msgid "Graphic Engine"
msgstr "Moteur graphique"
-#: flatcamGUI/PreferencesUI.py:1445
+#: flatcamGUI/PreferencesUI.py:1621
msgid ""
"Choose what graphic engine to use in FlatCAM.\n"
"Legacy(2D) -> reduced functionality, slow performance but enhanced "
@@ -9364,19 +9754,19 @@ msgstr ""
"donc\n"
"utilisez le mode Héritage (2D)."
-#: flatcamGUI/PreferencesUI.py:1451
+#: flatcamGUI/PreferencesUI.py:1627
msgid "Legacy(2D)"
msgstr "Heritage(2D)"
-#: flatcamGUI/PreferencesUI.py:1452
+#: flatcamGUI/PreferencesUI.py:1628
msgid "OpenGL(3D)"
msgstr "OpenGL(3D)"
-#: flatcamGUI/PreferencesUI.py:1464
+#: flatcamGUI/PreferencesUI.py:1640
msgid "APP. LEVEL"
msgstr "APP. NIVEAU"
-#: flatcamGUI/PreferencesUI.py:1465
+#: flatcamGUI/PreferencesUI.py:1641
msgid ""
"Choose the default level of usage for FlatCAM.\n"
"BASIC level -> reduced functionality, best for beginner's.\n"
@@ -9392,11 +9782,11 @@ msgstr ""
"Le choix ici influencera les paramètres dans\n"
"l'onglet Sélectionné pour toutes sortes d'objets FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1477
+#: flatcamGUI/PreferencesUI.py:1653
msgid "Portable app"
msgstr "App. portable"
-#: flatcamGUI/PreferencesUI.py:1478
+#: flatcamGUI/PreferencesUI.py:1654
msgid ""
"Choose if the application should run as portable.\n"
"\n"
@@ -9410,19 +9800,19 @@ msgstr ""
"ce qui signifie que les fichiers de préférences seront sauvegardés\n"
"dans le dossier de l'application, dans le sous-dossier lib\\config."
-#: flatcamGUI/PreferencesUI.py:1491
+#: flatcamGUI/PreferencesUI.py:1667
msgid "Languages"
msgstr "Langages"
-#: flatcamGUI/PreferencesUI.py:1492
+#: flatcamGUI/PreferencesUI.py:1668
msgid "Set the language used throughout FlatCAM."
msgstr "Définissez la langue utilisée dans FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1498
+#: flatcamGUI/PreferencesUI.py:1674
msgid "Apply Language"
msgstr "Appliquer la langue"
-#: flatcamGUI/PreferencesUI.py:1499
+#: flatcamGUI/PreferencesUI.py:1675
msgid ""
"Set the language used throughout FlatCAM.\n"
"The app will restart after click."
@@ -9430,32 +9820,32 @@ msgstr ""
"Définissez la langue utilisée dans FlatCAM.\n"
"L'application redémarrera après un clic."
-#: flatcamGUI/PreferencesUI.py:1513
+#: flatcamGUI/PreferencesUI.py:1689
msgid "Startup Settings"
msgstr "Paramètres de démarrage"
-#: flatcamGUI/PreferencesUI.py:1517
+#: flatcamGUI/PreferencesUI.py:1693
msgid "Splash Screen"
msgstr "Écran de démarrage"
-#: flatcamGUI/PreferencesUI.py:1519
+#: flatcamGUI/PreferencesUI.py:1695
msgid "Enable display of the splash screen at application startup."
msgstr ""
"Activer l'affichage de l'écran de démarrage au démarrage de l'application."
-#: flatcamGUI/PreferencesUI.py:1531
+#: flatcamGUI/PreferencesUI.py:1707
msgid "Sys Tray Icon"
msgstr "Icône Sys Tray"
-#: flatcamGUI/PreferencesUI.py:1533
+#: flatcamGUI/PreferencesUI.py:1709
msgid "Enable display of FlatCAM icon in Sys Tray."
msgstr "Activer l’affichage de l’icône FlatCAM dans Sys Tray."
-#: flatcamGUI/PreferencesUI.py:1538
+#: flatcamGUI/PreferencesUI.py:1714
msgid "Show Shell"
msgstr "Afficher la ligne de commande"
-#: flatcamGUI/PreferencesUI.py:1540
+#: flatcamGUI/PreferencesUI.py:1716
msgid ""
"Check this box if you want the shell to\n"
"start automatically at startup."
@@ -9463,11 +9853,11 @@ msgstr ""
"Cochez cette case si vous voulez que le shell\n"
"démarrer automatiquement au démarrage."
-#: flatcamGUI/PreferencesUI.py:1547
+#: flatcamGUI/PreferencesUI.py:1723
msgid "Show Project"
msgstr "Afficher le projet"
-#: flatcamGUI/PreferencesUI.py:1549
+#: flatcamGUI/PreferencesUI.py:1725
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"to be shown automatically at startup."
@@ -9476,11 +9866,11 @@ msgstr ""
"outil\n"
"à afficher automatiquement au démarrage."
-#: flatcamGUI/PreferencesUI.py:1555
+#: flatcamGUI/PreferencesUI.py:1731
msgid "Version Check"
msgstr "Vérification de version"
-#: flatcamGUI/PreferencesUI.py:1557
+#: flatcamGUI/PreferencesUI.py:1733
msgid ""
"Check this box if you want to check\n"
"for a new version automatically at startup."
@@ -9488,11 +9878,11 @@ msgstr ""
"Cochez cette case si vous voulez vérifier\n"
"pour une nouvelle version automatiquement au démarrage."
-#: flatcamGUI/PreferencesUI.py:1564
+#: flatcamGUI/PreferencesUI.py:1740
msgid "Send Statistics"
msgstr "Envoyer des statistiques"
-#: flatcamGUI/PreferencesUI.py:1566
+#: flatcamGUI/PreferencesUI.py:1742
msgid ""
"Check this box if you agree to send anonymous\n"
"stats automatically at startup, to help improve FlatCAM."
@@ -9500,11 +9890,11 @@ msgstr ""
"Cochez cette case si vous acceptez d'envoyer un message anonyme\n"
"stats automatiquement au démarrage, pour aider à améliorer FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1580
+#: flatcamGUI/PreferencesUI.py:1756
msgid "Workers number"
msgstr "No de travailleurs"
-#: flatcamGUI/PreferencesUI.py:1582 flatcamGUI/PreferencesUI.py:1591
+#: flatcamGUI/PreferencesUI.py:1758
msgid ""
"The number of Qthreads made available to the App.\n"
"A bigger number may finish the jobs more quickly but\n"
@@ -9520,35 +9910,35 @@ msgstr ""
"La valeur par défaut est 2.\n"
"Après modification, il sera appliqué au prochain démarrage de l'application."
-#: flatcamGUI/PreferencesUI.py:1604
+#: flatcamGUI/PreferencesUI.py:1772
msgid "Geo Tolerance"
msgstr "Géo Tolérance"
-#: flatcamGUI/PreferencesUI.py:1606 flatcamGUI/PreferencesUI.py:1615
+#: flatcamGUI/PreferencesUI.py:1774
msgid ""
"This value can counter the effect of the Circle Steps\n"
-"parameter. Default value is 0.01.\n"
+"parameter. Default value is 0.005.\n"
"A lower value will increase the detail both in image\n"
"and in Gcode for the circles, with a higher cost in\n"
"performance. Higher value will provide more\n"
"performance at the expense of level of detail."
msgstr ""
"Cette valeur peut contrer l’effet des Pas de cercle.\n"
-"paramètre. La valeur par défaut est 0.01.\n"
+"paramètre. La valeur par défaut est 0.005.\n"
"Une valeur inférieure augmentera le détail à la fois dans l'image\n"
"et en Gcode pour les cercles, avec un coût plus élevé en\n"
"performance. Une valeur plus élevée fournira plus\n"
"performance au détriment du niveau de détail."
-#: flatcamGUI/PreferencesUI.py:1634
+#: flatcamGUI/PreferencesUI.py:1794
msgid "Save Settings"
msgstr "Paramètres d'enregistrement"
-#: flatcamGUI/PreferencesUI.py:1638
+#: flatcamGUI/PreferencesUI.py:1798
msgid "Save Compressed Project"
msgstr "Enregistrer le projet compressé"
-#: flatcamGUI/PreferencesUI.py:1640
+#: flatcamGUI/PreferencesUI.py:1800
msgid ""
"Whether to save a compressed or uncompressed project.\n"
"When checked it will save a compressed FlatCAM project."
@@ -9556,11 +9946,11 @@ msgstr ""
"Que ce soit pour sauvegarder un projet compressé ou non compressé.\n"
"Lorsque coché, un projet FlatCAM compressé sera enregistré."
-#: flatcamGUI/PreferencesUI.py:1649
+#: flatcamGUI/PreferencesUI.py:1809
msgid "Compression"
msgstr "Compression"
-#: flatcamGUI/PreferencesUI.py:1651
+#: flatcamGUI/PreferencesUI.py:1811
msgid ""
"The level of compression used when saving\n"
"a FlatCAM project. Higher value means better compression\n"
@@ -9571,62 +9961,93 @@ msgstr ""
"compression\n"
"mais nécessitent plus d’utilisation de RAM et plus de temps de traitement."
-#: flatcamGUI/PreferencesUI.py:1671
+#: flatcamGUI/PreferencesUI.py:1822
+msgid "Enable Auto Save"
+msgstr "Activer l'enregistrement auto"
+
+#: flatcamGUI/PreferencesUI.py:1824
+msgid ""
+"Check to enable the autosave feature.\n"
+"When enabled, the application will try to save a project\n"
+"at the set interval."
+msgstr ""
+"Cochez pour activer la fonction d'enregistrement automatique.\n"
+"Lorsqu'elle est activée, l'application essaiera d'enregistrer un projet\n"
+"à l'intervalle défini."
+
+#: flatcamGUI/PreferencesUI.py:1834
+msgid "Interval"
+msgstr "Intervalle"
+
+#: flatcamGUI/PreferencesUI.py:1836
+msgid ""
+"Time interval for autosaving. In milliseconds.\n"
+"The application will try to save periodically but only\n"
+"if the project was saved manually at least once.\n"
+"While active, some operations may block this feature."
+msgstr ""
+"Intervalle de temps pour l'enregistrement automatique. En millisecondes.\n"
+"L'application essaiera de sauvegarder périodiquement mais seulement\n"
+"si le projet a été enregistré manuellement au moins une fois.\n"
+"Lorsqu'elles sont actives, certaines opérations peuvent bloquer cette "
+"fonctionnalité."
+
+#: flatcamGUI/PreferencesUI.py:1852
msgid "Text to PDF parameters"
msgstr "Paramètres texte en PDF"
-#: flatcamGUI/PreferencesUI.py:1673
+#: flatcamGUI/PreferencesUI.py:1854
msgid "Used when saving text in Code Editor or in FlatCAM Document objects."
msgstr ""
"Utilisé lors de l'enregistrement de texte dans l'éditeur de code ou dans des "
"objets de document FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1682
+#: flatcamGUI/PreferencesUI.py:1863
msgid "Top Margin"
msgstr "Marge supérieure"
-#: flatcamGUI/PreferencesUI.py:1684
+#: flatcamGUI/PreferencesUI.py:1865
msgid "Distance between text body and the top of the PDF file."
msgstr "Distance entre le corps du texte et le haut du fichier PDF."
-#: flatcamGUI/PreferencesUI.py:1695
+#: flatcamGUI/PreferencesUI.py:1876
msgid "Bottom Margin"
msgstr "Marge inférieure"
-#: flatcamGUI/PreferencesUI.py:1697
+#: flatcamGUI/PreferencesUI.py:1878
msgid "Distance between text body and the bottom of the PDF file."
msgstr "Distance entre le corps du texte et le bas du fichier PDF."
-#: flatcamGUI/PreferencesUI.py:1708
+#: flatcamGUI/PreferencesUI.py:1889
msgid "Left Margin"
msgstr "Marge de gauche"
-#: flatcamGUI/PreferencesUI.py:1710
+#: flatcamGUI/PreferencesUI.py:1891
msgid "Distance between text body and the left of the PDF file."
msgstr "Distance entre le corps du texte et la gauche du fichier PDF."
-#: flatcamGUI/PreferencesUI.py:1721
+#: flatcamGUI/PreferencesUI.py:1902
msgid "Right Margin"
msgstr "Marge droite"
-#: flatcamGUI/PreferencesUI.py:1723
+#: flatcamGUI/PreferencesUI.py:1904
msgid "Distance between text body and the right of the PDF file."
msgstr "Distance entre le corps du texte et la droite du fichier PDF."
-#: flatcamGUI/PreferencesUI.py:1756
+#: flatcamGUI/PreferencesUI.py:1936
msgid "Gerber General"
msgstr "Gerber Général"
-#: flatcamGUI/PreferencesUI.py:1774
+#: flatcamGUI/PreferencesUI.py:1954
msgid "M-Color"
msgstr "Couleur-M"
-#: flatcamGUI/PreferencesUI.py:1788 flatcamGUI/PreferencesUI.py:3859
-#: flatcamGUI/PreferencesUI.py:4442 flatcamGUI/PreferencesUI.py:7148
+#: flatcamGUI/PreferencesUI.py:1968 flatcamGUI/PreferencesUI.py:4137
+#: flatcamGUI/PreferencesUI.py:4735 flatcamGUI/PreferencesUI.py:7654
msgid "Circle Steps"
msgstr "Étapes de cercle"
-#: flatcamGUI/PreferencesUI.py:1790
+#: flatcamGUI/PreferencesUI.py:1970
msgid ""
"The number of circle steps for Gerber \n"
"circular aperture linear approximation."
@@ -9634,11 +10055,11 @@ msgstr ""
"Le nombre d'étapes du cercle pour Gerber\n"
"approximation linéaire ouverture circulaire."
-#: flatcamGUI/PreferencesUI.py:1802
+#: flatcamGUI/PreferencesUI.py:1982
msgid "Default Values"
msgstr "Défauts"
-#: flatcamGUI/PreferencesUI.py:1804
+#: flatcamGUI/PreferencesUI.py:1984
msgid ""
"Those values will be used as fallback values\n"
"in case that they are not found in the Gerber file."
@@ -9646,25 +10067,25 @@ msgstr ""
"Ces valeurs seront utilisées comme valeurs de secours\n"
"au cas où ils ne seraient pas trouvés dans le fichier Gerber."
-#: flatcamGUI/PreferencesUI.py:1813 flatcamGUI/PreferencesUI.py:1819
-#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:2367
+#: flatcamGUI/PreferencesUI.py:1993 flatcamGUI/PreferencesUI.py:1999
+#: flatcamGUI/PreferencesUI.py:2541 flatcamGUI/PreferencesUI.py:2547
msgid "The units used in the Gerber file."
msgstr "Les unités utilisées dans le fichier Gerber."
-#: flatcamGUI/PreferencesUI.py:1816 flatcamGUI/PreferencesUI.py:2364
-#: flatcamGUI/PreferencesUI.py:2728 flatcamGUI/PreferencesUI.py:2814
-#: flatcamGUI/PreferencesUI.py:3422 flatcamTools/ToolCalculators.py:61
+#: flatcamGUI/PreferencesUI.py:1996 flatcamGUI/PreferencesUI.py:2544
+#: flatcamGUI/PreferencesUI.py:2910 flatcamGUI/PreferencesUI.py:2996
+#: flatcamGUI/PreferencesUI.py:3700 flatcamTools/ToolCalculators.py:61
#: flatcamTools/ToolPcbWizard.py:125
msgid "INCH"
msgstr "PO"
-#: flatcamGUI/PreferencesUI.py:1826 flatcamGUI/PreferencesUI.py:2413
-#: flatcamGUI/PreferencesUI.py:2786 flatcamGUI/PreferencesUI.py:3490
+#: flatcamGUI/PreferencesUI.py:2006 flatcamGUI/PreferencesUI.py:2593
+#: flatcamGUI/PreferencesUI.py:2968 flatcamGUI/PreferencesUI.py:3768
msgid "Zeros"
msgstr "Zéros"
-#: flatcamGUI/PreferencesUI.py:1829 flatcamGUI/PreferencesUI.py:1839
-#: flatcamGUI/PreferencesUI.py:2416 flatcamGUI/PreferencesUI.py:2426
+#: flatcamGUI/PreferencesUI.py:2009 flatcamGUI/PreferencesUI.py:2019
+#: flatcamGUI/PreferencesUI.py:2596 flatcamGUI/PreferencesUI.py:2606
msgid ""
"This sets the type of Gerber zeros.\n"
"If LZ then Leading Zeros are removed and\n"
@@ -9678,23 +10099,23 @@ msgstr ""
"Si TZ est coché, les zéros de fin sont supprimés\n"
"et les principaux zéros sont conservés."
-#: flatcamGUI/PreferencesUI.py:1836 flatcamGUI/PreferencesUI.py:2423
-#: flatcamGUI/PreferencesUI.py:2799 flatcamGUI/PreferencesUI.py:3500
+#: flatcamGUI/PreferencesUI.py:2016 flatcamGUI/PreferencesUI.py:2603
+#: flatcamGUI/PreferencesUI.py:2981 flatcamGUI/PreferencesUI.py:3778
#: flatcamTools/ToolPcbWizard.py:111
msgid "LZ"
msgstr "LZ"
-#: flatcamGUI/PreferencesUI.py:1837 flatcamGUI/PreferencesUI.py:2424
-#: flatcamGUI/PreferencesUI.py:2800 flatcamGUI/PreferencesUI.py:3501
+#: flatcamGUI/PreferencesUI.py:2017 flatcamGUI/PreferencesUI.py:2604
+#: flatcamGUI/PreferencesUI.py:2982 flatcamGUI/PreferencesUI.py:3779
#: flatcamTools/ToolPcbWizard.py:112
msgid "TZ"
msgstr "TZ"
-#: flatcamGUI/PreferencesUI.py:1855
+#: flatcamGUI/PreferencesUI.py:2035
msgid "Clean Apertures"
msgstr "Ouvertures propres"
-#: flatcamGUI/PreferencesUI.py:1857
+#: flatcamGUI/PreferencesUI.py:2037
msgid ""
"Will remove apertures that do not have geometry\n"
"thus lowering the number of apertures in the Gerber object."
@@ -9702,11 +10123,11 @@ msgstr ""
"Supprime les ouvertures qui n'ont pas de géométrie\n"
"abaissant ainsi le nombre d'ouvertures dans l'objet Gerber."
-#: flatcamGUI/PreferencesUI.py:1863
+#: flatcamGUI/PreferencesUI.py:2043
msgid "Polarity change buffer"
msgstr "Tampon de changement de polarité"
-#: flatcamGUI/PreferencesUI.py:1865
+#: flatcamGUI/PreferencesUI.py:2045
msgid ""
"Will apply extra buffering for the\n"
"solid geometry when we have polarity changes.\n"
@@ -9718,17 +10139,17 @@ msgstr ""
"Peut aider à charger des fichiers Gerber qui autrement\n"
"ne se charge pas correctement."
-#: flatcamGUI/PreferencesUI.py:1878
+#: flatcamGUI/PreferencesUI.py:2058
msgid "Gerber Object Color"
msgstr "Couleur d'objet Gerber"
-#: flatcamGUI/PreferencesUI.py:1884 flatcamGUI/PreferencesUI.py:2905
-#: flatcamGUI/PreferencesUI.py:3896
+#: flatcamGUI/PreferencesUI.py:2064 flatcamGUI/PreferencesUI.py:3087
+#: flatcamGUI/PreferencesUI.py:4176
msgid "Set the line color for plotted objects."
msgstr "Définissez la couleur de trait pour les objets tracés."
-#: flatcamGUI/PreferencesUI.py:1901 flatcamGUI/PreferencesUI.py:2922
-#: flatcamGUI/PreferencesUI.py:4553 flatcamGUI/PreferencesUI.py:4619
+#: flatcamGUI/PreferencesUI.py:2081 flatcamGUI/PreferencesUI.py:3104
+#: flatcamGUI/PreferencesUI.py:4846 flatcamGUI/PreferencesUI.py:4912
msgid ""
"Set the fill color for plotted objects.\n"
"First 6 digits are the color and the last 2\n"
@@ -9738,34 +10159,29 @@ msgstr ""
"Les 6 premiers chiffres correspondent à la couleur et les 2 derniers\n"
"les chiffres correspondent au niveau alpha (transparence)."
-#: flatcamGUI/PreferencesUI.py:1920 flatcamGUI/PreferencesUI.py:2941
-#: flatcamGUI/PreferencesUI.py:4572
+#: flatcamGUI/PreferencesUI.py:2100 flatcamGUI/PreferencesUI.py:3123
+#: flatcamGUI/PreferencesUI.py:4865
msgid "Set the fill transparency for plotted objects."
msgstr "Définissez la transparence de remplissage pour les objets tracés."
-#: flatcamGUI/PreferencesUI.py:2011
+#: flatcamGUI/PreferencesUI.py:2191
msgid "Gerber Options"
msgstr "Options de Gerber"
-#: flatcamGUI/PreferencesUI.py:2085 flatcamGUI/PreferencesUI.py:4379
-#: flatcamGUI/PreferencesUI.py:5120 flatcamTools/ToolNonCopperClear.py:170
-msgid "Conv."
-msgstr "Conv."
-
-#: flatcamGUI/PreferencesUI.py:2089
+#: flatcamGUI/PreferencesUI.py:2269
msgid "Combine Passes"
msgstr "Combiner les passes"
-#: flatcamGUI/PreferencesUI.py:2177
+#: flatcamGUI/PreferencesUI.py:2357
msgid "Gerber Adv. Options"
msgstr "Options avancées Gerber"
-#: flatcamGUI/PreferencesUI.py:2181 flatcamGUI/PreferencesUI.py:3278
-#: flatcamGUI/PreferencesUI.py:4179
+#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:3551
+#: flatcamGUI/PreferencesUI.py:4472
msgid "Advanced Options"
msgstr "Options avancées"
-#: flatcamGUI/PreferencesUI.py:2183
+#: flatcamGUI/PreferencesUI.py:2363
msgid ""
"A list of Gerber advanced parameters.\n"
"Those parameters are available only for\n"
@@ -9775,11 +10191,11 @@ msgstr ""
"Ces paramètres ne sont disponibles que pour\n"
"App avancée. Niveau."
-#: flatcamGUI/PreferencesUI.py:2202
+#: flatcamGUI/PreferencesUI.py:2382
msgid "Table Show/Hide"
msgstr "Tableau Afficher/Masquer"
-#: flatcamGUI/PreferencesUI.py:2204
+#: flatcamGUI/PreferencesUI.py:2384
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"Also, on hide, it will delete all mark shapes\n"
@@ -9789,15 +10205,15 @@ msgstr ""
"En outre, sur cacher, il va supprimer toutes les formes de marque\n"
"qui sont dessinés sur une toile."
-#: flatcamGUI/PreferencesUI.py:2284
+#: flatcamGUI/PreferencesUI.py:2464
msgid "Exterior"
msgstr "Extérieur"
-#: flatcamGUI/PreferencesUI.py:2285
+#: flatcamGUI/PreferencesUI.py:2465
msgid "Interior"
msgstr "Intérieur"
-#: flatcamGUI/PreferencesUI.py:2298
+#: flatcamGUI/PreferencesUI.py:2478
msgid ""
"Buffering type:\n"
"- None --> best performance, fast file loading but no so good display\n"
@@ -9811,19 +10227,19 @@ msgstr ""
"par défaut.\n"
"<< AVERTISSEMENT >>: Ne changez cela que si vous savez ce que vous faites !!!"
-#: flatcamGUI/PreferencesUI.py:2303 flatcamGUI/PreferencesUI.py:5852
-#: flatcamGUI/PreferencesUI.py:7446 flatcamTools/ToolFiducials.py:201
-#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:411
-#: flatcamTools/ToolProperties.py:426 flatcamTools/ToolProperties.py:429
-#: flatcamTools/ToolProperties.py:432 flatcamTools/ToolProperties.py:456
+#: flatcamGUI/PreferencesUI.py:2483 flatcamGUI/PreferencesUI.py:6340
+#: flatcamGUI/PreferencesUI.py:7952 flatcamTools/ToolFiducials.py:201
+#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:452
+#: flatcamTools/ToolProperties.py:455 flatcamTools/ToolProperties.py:458
+#: flatcamTools/ToolProperties.py:483
msgid "None"
msgstr "Aucun"
-#: flatcamGUI/PreferencesUI.py:2309
+#: flatcamGUI/PreferencesUI.py:2489
msgid "Simplify"
msgstr "Simplifier"
-#: flatcamGUI/PreferencesUI.py:2311
+#: flatcamGUI/PreferencesUI.py:2491
msgid ""
"When checked all the Gerber polygons will be\n"
"loaded with simplification having a set tolerance.\n"
@@ -9833,23 +10249,23 @@ msgstr ""
"chargé de simplification ayant une tolérance définie.\n"
"<< AVERTISSEMENT >>: Ne changez cela que si vous savez ce que vous faites !!!"
-#: flatcamGUI/PreferencesUI.py:2318
+#: flatcamGUI/PreferencesUI.py:2498
msgid "Tolerance"
msgstr "Tolérance"
-#: flatcamGUI/PreferencesUI.py:2319
+#: flatcamGUI/PreferencesUI.py:2499
msgid "Tolerance for polygon simplification."
msgstr "Tolérance pour la simplification des polygones."
-#: flatcamGUI/PreferencesUI.py:2344
+#: flatcamGUI/PreferencesUI.py:2524
msgid "Gerber Export"
msgstr "Gerber exportation"
-#: flatcamGUI/PreferencesUI.py:2348 flatcamGUI/PreferencesUI.py:3406
+#: flatcamGUI/PreferencesUI.py:2528 flatcamGUI/PreferencesUI.py:3684
msgid "Export Options"
msgstr "Options d'exportation"
-#: flatcamGUI/PreferencesUI.py:2350
+#: flatcamGUI/PreferencesUI.py:2530
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Gerber menu entry."
@@ -9858,11 +10274,11 @@ msgstr ""
"lors de l'utilisation de l'entrée de menu Fichier -> Exporter -> Exporter "
"Gerber."
-#: flatcamGUI/PreferencesUI.py:2373 flatcamGUI/PreferencesUI.py:3431
+#: flatcamGUI/PreferencesUI.py:2553 flatcamGUI/PreferencesUI.py:3709
msgid "Int/Decimals"
msgstr "Entiers/Décim"
-#: flatcamGUI/PreferencesUI.py:2375
+#: flatcamGUI/PreferencesUI.py:2555
msgid ""
"The number of digits in the whole part of the number\n"
"and in the fractional part of the number."
@@ -9870,7 +10286,7 @@ msgstr ""
"Le nombre de chiffres dans la partie entière du numéro\n"
"et dans la fraction du nombre."
-#: flatcamGUI/PreferencesUI.py:2388
+#: flatcamGUI/PreferencesUI.py:2568
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Gerber coordinates."
@@ -9878,7 +10294,7 @@ msgstr ""
"Ces chiffres représentent le nombre de chiffres en\n"
"toute la partie des coordonnées de Gerber."
-#: flatcamGUI/PreferencesUI.py:2404
+#: flatcamGUI/PreferencesUI.py:2584
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Gerber coordinates."
@@ -9886,16 +10302,16 @@ msgstr ""
"Ces chiffres représentent le nombre de chiffres en\n"
"la partie décimale des coordonnées de Gerber."
-#: flatcamGUI/PreferencesUI.py:2449
+#: flatcamGUI/PreferencesUI.py:2629
msgid "A list of Gerber Editor parameters."
msgstr "Une liste de paramètres de l'éditeur Gerber."
-#: flatcamGUI/PreferencesUI.py:2457 flatcamGUI/PreferencesUI.py:3565
-#: flatcamGUI/PreferencesUI.py:4357 flatcamGUI/PreferencesUI.py:7109
+#: flatcamGUI/PreferencesUI.py:2637 flatcamGUI/PreferencesUI.py:3843
+#: flatcamGUI/PreferencesUI.py:4650 flatcamGUI/PreferencesUI.py:7615
msgid "Selection limit"
msgstr "Limite de sélection"
-#: flatcamGUI/PreferencesUI.py:2459
+#: flatcamGUI/PreferencesUI.py:2639
msgid ""
"Set the number of selected Gerber geometry\n"
"items above which the utility geometry\n"
@@ -9909,23 +10325,23 @@ msgstr ""
"Augmente les performances lors du déplacement d'un\n"
"grand nombre d'éléments géométriques."
-#: flatcamGUI/PreferencesUI.py:2472
+#: flatcamGUI/PreferencesUI.py:2652
msgid "New Aperture code"
msgstr "Nouveau code d'ouverture"
-#: flatcamGUI/PreferencesUI.py:2485
+#: flatcamGUI/PreferencesUI.py:2665
msgid "New Aperture size"
msgstr "Nouvelle taille d'ouverture"
-#: flatcamGUI/PreferencesUI.py:2487
+#: flatcamGUI/PreferencesUI.py:2667
msgid "Size for the new aperture"
msgstr "Taille pour la nouvelle ouverture"
-#: flatcamGUI/PreferencesUI.py:2498
+#: flatcamGUI/PreferencesUI.py:2678
msgid "New Aperture type"
msgstr "Nouveau type d'ouverture"
-#: flatcamGUI/PreferencesUI.py:2500
+#: flatcamGUI/PreferencesUI.py:2680
msgid ""
"Type for the new aperture.\n"
"Can be 'C', 'R' or 'O'."
@@ -9933,35 +10349,42 @@ msgstr ""
"Tapez pour la nouvelle ouverture.\n"
"Peut être 'C', 'R' ou 'O'."
-#: flatcamGUI/PreferencesUI.py:2522
+#: flatcamGUI/PreferencesUI.py:2702
msgid "Aperture Dimensions"
msgstr "Dimensions d'ouverture"
-#: flatcamGUI/PreferencesUI.py:2524 flatcamGUI/PreferencesUI.py:3877
-#: flatcamGUI/PreferencesUI.py:5029
-msgid "Diameters of the cutting tools, separated by ','"
-msgstr "Diamètres des outils de coupe, séparés par ','"
+#: flatcamGUI/PreferencesUI.py:2704 flatcamGUI/PreferencesUI.py:4155
+#: flatcamGUI/PreferencesUI.py:5322 flatcamGUI/PreferencesUI.py:5889
+#: flatcamGUI/PreferencesUI.py:6955
+msgid ""
+"Diameters of the tools, separated by comma.\n"
+"The value of the diameter has to use the dot decimals separator.\n"
+"Valid values: 0.3, 1.0"
+msgstr ""
+"Diamètres des outils, séparés par une virgule.\n"
+"La valeur du diamètre doit utiliser le séparateur de décimales de points.\n"
+"Valeurs valides: 0,3, 1,0"
-#: flatcamGUI/PreferencesUI.py:2530
+#: flatcamGUI/PreferencesUI.py:2712
msgid "Linear Pad Array"
msgstr "Tableau de Pad Linéaire"
-#: flatcamGUI/PreferencesUI.py:2534 flatcamGUI/PreferencesUI.py:3609
-#: flatcamGUI/PreferencesUI.py:3757
+#: flatcamGUI/PreferencesUI.py:2716 flatcamGUI/PreferencesUI.py:3887
+#: flatcamGUI/PreferencesUI.py:4035
msgid "Linear Direction"
msgstr "Direction linéaire"
-#: flatcamGUI/PreferencesUI.py:2574
+#: flatcamGUI/PreferencesUI.py:2756
msgid "Circular Pad Array"
msgstr "Tableau de Pad Circulaire"
-#: flatcamGUI/PreferencesUI.py:2578 flatcamGUI/PreferencesUI.py:3655
-#: flatcamGUI/PreferencesUI.py:3805
+#: flatcamGUI/PreferencesUI.py:2760 flatcamGUI/PreferencesUI.py:3933
+#: flatcamGUI/PreferencesUI.py:4083
msgid "Circular Direction"
msgstr "Direction circulaire"
-#: flatcamGUI/PreferencesUI.py:2580 flatcamGUI/PreferencesUI.py:3657
-#: flatcamGUI/PreferencesUI.py:3807
+#: flatcamGUI/PreferencesUI.py:2762 flatcamGUI/PreferencesUI.py:3935
+#: flatcamGUI/PreferencesUI.py:4085
msgid ""
"Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise."
@@ -9969,48 +10392,48 @@ msgstr ""
"Direction pour tableau circulaire.\n"
"Peut être CW = sens horaire ou CCW = sens antihoraire."
-#: flatcamGUI/PreferencesUI.py:2591 flatcamGUI/PreferencesUI.py:3668
-#: flatcamGUI/PreferencesUI.py:3818
+#: flatcamGUI/PreferencesUI.py:2773 flatcamGUI/PreferencesUI.py:3946
+#: flatcamGUI/PreferencesUI.py:4096
msgid "Circular Angle"
msgstr "Angle Circulaire"
-#: flatcamGUI/PreferencesUI.py:2610
+#: flatcamGUI/PreferencesUI.py:2792
msgid "Distance at which to buffer the Gerber element."
msgstr "Distance à laquelle tamponner l'élément de Gerber."
-#: flatcamGUI/PreferencesUI.py:2619
+#: flatcamGUI/PreferencesUI.py:2801
msgid "Scale Tool"
msgstr "Outil d'échelle"
-#: flatcamGUI/PreferencesUI.py:2625
+#: flatcamGUI/PreferencesUI.py:2807
msgid "Factor to scale the Gerber element."
msgstr "Facteur d'échelle de l'élément de Gerber."
-#: flatcamGUI/PreferencesUI.py:2638
+#: flatcamGUI/PreferencesUI.py:2820
msgid "Threshold low"
msgstr "Seuil bas"
-#: flatcamGUI/PreferencesUI.py:2640
+#: flatcamGUI/PreferencesUI.py:2822
msgid "Threshold value under which the apertures are not marked."
msgstr "Valeur seuil sous laquelle les ouvertures ne sont pas marquées."
-#: flatcamGUI/PreferencesUI.py:2650
+#: flatcamGUI/PreferencesUI.py:2832
msgid "Threshold high"
msgstr "Seuil haut"
-#: flatcamGUI/PreferencesUI.py:2652
+#: flatcamGUI/PreferencesUI.py:2834
msgid "Threshold value over which the apertures are not marked."
msgstr "Valeur seuil sur laquelle les ouvertures ne sont pas marquées."
-#: flatcamGUI/PreferencesUI.py:2670
+#: flatcamGUI/PreferencesUI.py:2852
msgid "Excellon General"
msgstr "Excellon Général"
-#: flatcamGUI/PreferencesUI.py:2703
+#: flatcamGUI/PreferencesUI.py:2885
msgid "Excellon Format"
msgstr "Format Excellon"
-#: flatcamGUI/PreferencesUI.py:2705
+#: flatcamGUI/PreferencesUI.py:2887
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -10052,12 +10475,12 @@ msgstr ""
"Sprint Layout 2: 4 INCH LZ\n"
"KiCAD 3: 5 IN TZ"
-#: flatcamGUI/PreferencesUI.py:2729
+#: flatcamGUI/PreferencesUI.py:2911
msgid "Default values for INCH are 2:4"
msgstr "Les valeurs par défaut pour INCH sont 2: 4"
-#: flatcamGUI/PreferencesUI.py:2736 flatcamGUI/PreferencesUI.py:2765
-#: flatcamGUI/PreferencesUI.py:3445
+#: flatcamGUI/PreferencesUI.py:2918 flatcamGUI/PreferencesUI.py:2947
+#: flatcamGUI/PreferencesUI.py:3723
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Excellon coordinates."
@@ -10065,8 +10488,8 @@ msgstr ""
"Ces chiffres représentent le nombre de chiffres en\n"
"toute la partie des coordonnées Excellon."
-#: flatcamGUI/PreferencesUI.py:2749 flatcamGUI/PreferencesUI.py:2778
-#: flatcamGUI/PreferencesUI.py:3458
+#: flatcamGUI/PreferencesUI.py:2931 flatcamGUI/PreferencesUI.py:2960
+#: flatcamGUI/PreferencesUI.py:3736
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Excellon coordinates."
@@ -10074,15 +10497,15 @@ msgstr ""
"Ces chiffres représentent le nombre de chiffres en\n"
"la partie décimale des coordonnées Excellon."
-#: flatcamGUI/PreferencesUI.py:2757
+#: flatcamGUI/PreferencesUI.py:2939
msgid "METRIC"
msgstr "MÉTRIQUE"
-#: flatcamGUI/PreferencesUI.py:2758
+#: flatcamGUI/PreferencesUI.py:2940
msgid "Default values for METRIC are 3:3"
msgstr "Les valeurs par défaut pour MÉTRIQUE sont 3: 3"
-#: flatcamGUI/PreferencesUI.py:2789
+#: flatcamGUI/PreferencesUI.py:2971
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10102,7 +10525,7 @@ msgstr ""
"Ceci est utilisé lorsqu'il n'y a pas d'informations\n"
"stocké dans le fichier Excellon."
-#: flatcamGUI/PreferencesUI.py:2807
+#: flatcamGUI/PreferencesUI.py:2989
msgid ""
"This sets the default units of Excellon files.\n"
"If it is not detected in the parsed file the value here\n"
@@ -10114,7 +10537,7 @@ msgstr ""
"sera utilisé. Certains fichiers Excellon n’ont pas d’en-tête\n"
"donc ce paramètre sera utilisé."
-#: flatcamGUI/PreferencesUI.py:2817
+#: flatcamGUI/PreferencesUI.py:2999
msgid ""
"This sets the units of Excellon files.\n"
"Some Excellon files don't have an header\n"
@@ -10124,19 +10547,19 @@ msgstr ""
"Certains fichiers Excellon n'ont pas d'en-tête\n"
"donc ce paramètre sera utilisé."
-#: flatcamGUI/PreferencesUI.py:2825
+#: flatcamGUI/PreferencesUI.py:3007
msgid "Update Export settings"
msgstr "Mettre à jour les param d'export"
-#: flatcamGUI/PreferencesUI.py:2842
+#: flatcamGUI/PreferencesUI.py:3024
msgid "Excellon Optimization"
msgstr "Optimisation Excellon"
-#: flatcamGUI/PreferencesUI.py:2845
+#: flatcamGUI/PreferencesUI.py:3027
msgid "Algorithm:"
msgstr "Algorithme:"
-#: flatcamGUI/PreferencesUI.py:2847 flatcamGUI/PreferencesUI.py:2863
+#: flatcamGUI/PreferencesUI.py:3029 flatcamGUI/PreferencesUI.py:3045
msgid ""
"This sets the optimization type for the Excellon drill path.\n"
"If <> is checked then Google OR-Tools algorithm with\n"
@@ -10159,20 +10582,20 @@ msgstr ""
"Si ce contrôle est désactivé, FlatCAM fonctionne en mode 32 bits et utilise\n"
"Algorithme Travelling Salesman pour l’optimisation des chemins."
-#: flatcamGUI/PreferencesUI.py:2858
+#: flatcamGUI/PreferencesUI.py:3040
msgid "MetaHeuristic"
msgstr "MetaHeuristic"
-#: flatcamGUI/PreferencesUI.py:2860
+#: flatcamGUI/PreferencesUI.py:3042
msgid "TSA"
msgstr "TSA"
-#: flatcamGUI/PreferencesUI.py:2877 flatcamGUI/PreferencesUI.py:3192
-#: flatcamGUI/PreferencesUI.py:4138
+#: flatcamGUI/PreferencesUI.py:3059 flatcamGUI/PreferencesUI.py:3463
+#: flatcamGUI/PreferencesUI.py:4430
msgid "Duration"
msgstr "Durée"
-#: flatcamGUI/PreferencesUI.py:2880
+#: flatcamGUI/PreferencesUI.py:3062
msgid ""
"When OR-Tools Metaheuristic (MH) is enabled there is a\n"
"maximum threshold for how much time is spent doing the\n"
@@ -10184,15 +10607,19 @@ msgstr ""
"optimisation du chemin. Cette durée maximale est définie ici.\n"
"En secondes."
-#: flatcamGUI/PreferencesUI.py:2899
+#: flatcamGUI/PreferencesUI.py:3081
msgid "Excellon Object Color"
msgstr "Couleur d'objet Excellon"
-#: flatcamGUI/PreferencesUI.py:3065
+#: flatcamGUI/PreferencesUI.py:3247
msgid "Excellon Options"
msgstr "Les options Excellon"
-#: flatcamGUI/PreferencesUI.py:3071
+#: flatcamGUI/PreferencesUI.py:3251 flatcamGUI/PreferencesUI.py:4227
+msgid "Create CNC Job"
+msgstr "Créer un travail CNC"
+
+#: flatcamGUI/PreferencesUI.py:3253
msgid ""
"Parameters used to create a CNC Job object\n"
"for this drill object."
@@ -10200,11 +10627,27 @@ msgstr ""
"Paramètres utilisés pour créer un objet Travail CNC\n"
"pour cet objet de forage."
-#: flatcamGUI/PreferencesUI.py:3185 flatcamGUI/PreferencesUI.py:4133
+#: flatcamGUI/PreferencesUI.py:3370 flatcamGUI/PreferencesUI.py:4314
+msgid "Tool change"
+msgstr "Changement d'outil"
+
+#: flatcamGUI/PreferencesUI.py:3454 flatcamGUI/PreferencesUI.py:4425
msgid "Enable Dwell"
msgstr "Activer la Pause"
-#: flatcamGUI/PreferencesUI.py:3217
+#: flatcamGUI/PreferencesUI.py:3477
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output."
+msgstr ""
+"Le fichier JSON post-processeur qui dicte\n"
+"Sortie Gcode."
+
+#: flatcamGUI/PreferencesUI.py:3488
+msgid "Gcode"
+msgstr "Gcode"
+
+#: flatcamGUI/PreferencesUI.py:3490
msgid ""
"Choose what to use for GCode generation:\n"
"'Drills', 'Slots' or 'Both'.\n"
@@ -10216,15 +10659,35 @@ msgstr ""
"Lorsque vous choisissez \"Fentes\" ou \"Les Deux\", les fentes seront\n"
"converti en forages."
-#: flatcamGUI/PreferencesUI.py:3235
+#: flatcamGUI/PreferencesUI.py:3506
+msgid "Mill Holes"
+msgstr "Fraiser les Trous"
+
+#: flatcamGUI/PreferencesUI.py:3508
msgid "Create Geometry for milling holes."
msgstr "Créer une géométrie pour fraiser des trous."
-#: flatcamGUI/PreferencesUI.py:3271
+#: flatcamGUI/PreferencesUI.py:3512
+msgid "Drill Tool dia"
+msgstr "Dia. de l'outil de forage"
+
+#: flatcamGUI/PreferencesUI.py:3523
+msgid "Slot Tool dia"
+msgstr "Fente outil dia"
+
+#: flatcamGUI/PreferencesUI.py:3525
+msgid ""
+"Diameter of the cutting tool\n"
+"when milling slots."
+msgstr ""
+"Diamètre de l'outil de coupe\n"
+"lors du fraisage des fentes."
+
+#: flatcamGUI/PreferencesUI.py:3544
msgid "Excellon Adv. Options"
msgstr "Excellon Opt. avancées"
-#: flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:3553
msgid ""
"A list of Excellon advanced parameters.\n"
"Those parameters are available only for\n"
@@ -10234,19 +10697,19 @@ msgstr ""
"Ces paramètres ne sont disponibles que pour\n"
"App avancée. Niveau."
-#: flatcamGUI/PreferencesUI.py:3301
+#: flatcamGUI/PreferencesUI.py:3576
msgid "Toolchange X,Y"
msgstr "Changement d'outils X, Y"
-#: flatcamGUI/PreferencesUI.py:3303 flatcamGUI/PreferencesUI.py:4193
+#: flatcamGUI/PreferencesUI.py:3578 flatcamGUI/PreferencesUI.py:4486
msgid "Toolchange X,Y position."
msgstr "Changement d'outil en position X et Y."
-#: flatcamGUI/PreferencesUI.py:3360 flatcamGUI/PreferencesUI.py:4280
+#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:4573
msgid "Spindle direction"
msgstr "Direction du moteur"
-#: flatcamGUI/PreferencesUI.py:3362 flatcamGUI/PreferencesUI.py:4282
+#: flatcamGUI/PreferencesUI.py:3640 flatcamGUI/PreferencesUI.py:4575
msgid ""
"This sets the direction that the spindle is rotating.\n"
"It can be either:\n"
@@ -10258,11 +10721,11 @@ msgstr ""
"- CW = dans le sens des aiguilles d'une montre ou\n"
"- CCW = dans le sens antihoraire"
-#: flatcamGUI/PreferencesUI.py:3373 flatcamGUI/PreferencesUI.py:4294
+#: flatcamGUI/PreferencesUI.py:3651 flatcamGUI/PreferencesUI.py:4587
msgid "Fast Plunge"
msgstr "Plongée rapide"
-#: flatcamGUI/PreferencesUI.py:3375 flatcamGUI/PreferencesUI.py:4296
+#: flatcamGUI/PreferencesUI.py:3653 flatcamGUI/PreferencesUI.py:4589
msgid ""
"By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n"
@@ -10275,11 +10738,11 @@ msgstr ""
"AVERTISSEMENT: le déplacement est effectué à l'aide de Toolchange X, Y "
"coords."
-#: flatcamGUI/PreferencesUI.py:3382
+#: flatcamGUI/PreferencesUI.py:3660
msgid "Fast Retract"
msgstr "Retrait Rapide"
-#: flatcamGUI/PreferencesUI.py:3384
+#: flatcamGUI/PreferencesUI.py:3662
msgid ""
"Exit hole strategy.\n"
" - When uncheked, while exiting the drilled hole the drill bit\n"
@@ -10298,11 +10761,11 @@ msgstr ""
"(hauteur de déplacement) est fait aussi vite que possible (G0) en un seul "
"mouvement."
-#: flatcamGUI/PreferencesUI.py:3402
+#: flatcamGUI/PreferencesUI.py:3680
msgid "Excellon Export"
msgstr "Excellon exportation"
-#: flatcamGUI/PreferencesUI.py:3408
+#: flatcamGUI/PreferencesUI.py:3686
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Excellon menu entry."
@@ -10311,11 +10774,11 @@ msgstr ""
"lors de l'utilisation de l'entrée de menu Fichier -> Exporter -> Exporter "
"Excellon."
-#: flatcamGUI/PreferencesUI.py:3419 flatcamGUI/PreferencesUI.py:3425
+#: flatcamGUI/PreferencesUI.py:3697 flatcamGUI/PreferencesUI.py:3703
msgid "The units used in the Excellon file."
msgstr "Les unités utilisées dans le fichier Excellon."
-#: flatcamGUI/PreferencesUI.py:3433
+#: flatcamGUI/PreferencesUI.py:3711
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -10327,11 +10790,11 @@ msgstr ""
"Ici, nous définissons le format utilisé lorsque le\n"
"les coordonnées n'utilisent pas de période."
-#: flatcamGUI/PreferencesUI.py:3467
+#: flatcamGUI/PreferencesUI.py:3745
msgid "Format"
msgstr "Format"
-#: flatcamGUI/PreferencesUI.py:3469 flatcamGUI/PreferencesUI.py:3479
+#: flatcamGUI/PreferencesUI.py:3747 flatcamGUI/PreferencesUI.py:3757
msgid ""
"Select the kind of coordinates format used.\n"
"Coordinates can be saved with decimal point or without.\n"
@@ -10347,15 +10810,15 @@ msgstr ""
"De plus, il faudra préciser si LZ = zéros non significatifs sont conservés\n"
"ou TZ = les zéros de fin sont conservés."
-#: flatcamGUI/PreferencesUI.py:3476
+#: flatcamGUI/PreferencesUI.py:3754
msgid "Decimal"
msgstr "Décimal"
-#: flatcamGUI/PreferencesUI.py:3477
+#: flatcamGUI/PreferencesUI.py:3755
msgid "No-Decimal"
msgstr "Aucune décimale"
-#: flatcamGUI/PreferencesUI.py:3493
+#: flatcamGUI/PreferencesUI.py:3771
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10369,7 +10832,7 @@ msgstr ""
"Si TZ est coché, les zéros suivants sont conservés\n"
"et les zéros non significatifs sont supprimés."
-#: flatcamGUI/PreferencesUI.py:3503
+#: flatcamGUI/PreferencesUI.py:3781
msgid ""
"This sets the default type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10383,11 +10846,11 @@ msgstr ""
"Si TZ est coché, les zéros suivants sont conservés\n"
"et les zéros non significatifs sont supprimés."
-#: flatcamGUI/PreferencesUI.py:3513
+#: flatcamGUI/PreferencesUI.py:3791
msgid "Slot type"
msgstr "Type d'fentes"
-#: flatcamGUI/PreferencesUI.py:3516 flatcamGUI/PreferencesUI.py:3526
+#: flatcamGUI/PreferencesUI.py:3794 flatcamGUI/PreferencesUI.py:3804
msgid ""
"This sets how the slots will be exported.\n"
"If ROUTED then the slots will be routed\n"
@@ -10401,19 +10864,19 @@ msgstr ""
"Si percé (G85) les emplacements seront exportés\n"
"en utilisant la commande slot foré (G85)."
-#: flatcamGUI/PreferencesUI.py:3523
+#: flatcamGUI/PreferencesUI.py:3801
msgid "Routed"
msgstr "Routé"
-#: flatcamGUI/PreferencesUI.py:3524
+#: flatcamGUI/PreferencesUI.py:3802
msgid "Drilled(G85)"
msgstr "Percé(G85)"
-#: flatcamGUI/PreferencesUI.py:3557
+#: flatcamGUI/PreferencesUI.py:3835
msgid "A list of Excellon Editor parameters."
msgstr "Une liste des paramètres de l'éditeur Excellon."
-#: flatcamGUI/PreferencesUI.py:3567
+#: flatcamGUI/PreferencesUI.py:3845
msgid ""
"Set the number of selected Excellon geometry\n"
"items above which the utility geometry\n"
@@ -10427,19 +10890,20 @@ msgstr ""
"Augmente les performances lors du déplacement d'un\n"
"grand nombre d'éléments géométriques."
-#: flatcamGUI/PreferencesUI.py:3580 flatcamGUI/PreferencesUI.py:5100
-msgid "New Tool Dia"
-msgstr "Nouvel Outil Dia"
+#: flatcamGUI/PreferencesUI.py:3858 flatcamGUI/PreferencesUI.py:5396
+#: flatcamGUI/PreferencesUI.py:5962
+msgid "New Dia"
+msgstr "Nouvel Dia"
-#: flatcamGUI/PreferencesUI.py:3605
+#: flatcamGUI/PreferencesUI.py:3883
msgid "Linear Drill Array"
msgstr "Matrice de Forage Linéaire"
-#: flatcamGUI/PreferencesUI.py:3651
+#: flatcamGUI/PreferencesUI.py:3929
msgid "Circular Drill Array"
msgstr "Matrice de Forage Circulaires"
-#: flatcamGUI/PreferencesUI.py:3721
+#: flatcamGUI/PreferencesUI.py:3999
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -10451,19 +10915,19 @@ msgstr ""
"La valeur minimale est: -359,99 degrés.\n"
"La valeur maximale est: 360,00 degrés."
-#: flatcamGUI/PreferencesUI.py:3740
+#: flatcamGUI/PreferencesUI.py:4018
msgid "Linear Slot Array"
msgstr "Matrice de Fente Linéaire"
-#: flatcamGUI/PreferencesUI.py:3801
+#: flatcamGUI/PreferencesUI.py:4079
msgid "Circular Slot Array"
msgstr "Matrice de Fente Circulaire"
-#: flatcamGUI/PreferencesUI.py:3839
+#: flatcamGUI/PreferencesUI.py:4117
msgid "Geometry General"
msgstr "Géométrie Général"
-#: flatcamGUI/PreferencesUI.py:3861
+#: flatcamGUI/PreferencesUI.py:4139
msgid ""
"The number of circle steps for Geometry \n"
"circle and arc shapes linear approximation."
@@ -10471,15 +10935,20 @@ msgstr ""
"Nombre d'étapes de cercle pour Géométrie\n"
"approximation linéaire des formes de cercle et d'arc."
-#: flatcamGUI/PreferencesUI.py:3890
+#: flatcamGUI/PreferencesUI.py:4153 flatcamGUI/PreferencesUI.py:5320
+#: flatcamGUI/PreferencesUI.py:5887 flatcamGUI/PreferencesUI.py:6953
+msgid "Tools Dia"
+msgstr "Dia. de l'outils"
+
+#: flatcamGUI/PreferencesUI.py:4170
msgid "Geometry Object Color"
msgstr "Couleur de l'objet Géométrie"
-#: flatcamGUI/PreferencesUI.py:3941
+#: flatcamGUI/PreferencesUI.py:4221
msgid "Geometry Options"
msgstr "Options de Géométrie"
-#: flatcamGUI/PreferencesUI.py:3949
+#: flatcamGUI/PreferencesUI.py:4229
msgid ""
"Create a CNC Job object\n"
"tracing the contours of this\n"
@@ -10489,11 +10958,11 @@ msgstr ""
"traçant les contours de cette\n"
"Objet de géométrie."
-#: flatcamGUI/PreferencesUI.py:3993
+#: flatcamGUI/PreferencesUI.py:4273
msgid "Depth/Pass"
msgstr "Profondeur/Pass"
-#: flatcamGUI/PreferencesUI.py:3995
+#: flatcamGUI/PreferencesUI.py:4275
msgid ""
"The depth to cut on each pass,\n"
"when multidepth is enabled.\n"
@@ -10507,11 +10976,11 @@ msgstr ""
"c'est une fraction de la profondeur\n"
"qui a une valeur négative."
-#: flatcamGUI/PreferencesUI.py:4173
+#: flatcamGUI/PreferencesUI.py:4466
msgid "Geometry Adv. Options"
msgstr "Géométrie Adv. Les options"
-#: flatcamGUI/PreferencesUI.py:4181
+#: flatcamGUI/PreferencesUI.py:4474
msgid ""
"A list of Geometry advanced parameters.\n"
"Those parameters are available only for\n"
@@ -10521,13 +10990,13 @@ msgstr ""
"Ces paramètres ne sont disponibles que pour\n"
"App avancée. Niveau."
-#: flatcamGUI/PreferencesUI.py:4191 flatcamGUI/PreferencesUI.py:6539
-#: flatcamGUI/PreferencesUI.py:7586 flatcamTools/ToolCalibration.py:125
-#: flatcamTools/ToolSolderPaste.py:239
+#: flatcamGUI/PreferencesUI.py:4484 flatcamGUI/PreferencesUI.py:7045
+#: flatcamGUI/PreferencesUI.py:8092 flatcamTools/ToolCalibration.py:125
+#: flatcamTools/ToolSolderPaste.py:241
msgid "Toolchange X-Y"
msgstr "Changement d'outils X-Y"
-#: flatcamGUI/PreferencesUI.py:4202
+#: flatcamGUI/PreferencesUI.py:4495
msgid ""
"Height of the tool just after starting the work.\n"
"Delete the value if you don't need this feature."
@@ -10535,11 +11004,11 @@ msgstr ""
"Hauteur de l'outil juste après le début du travail.\n"
"Supprimez la valeur si vous n'avez pas besoin de cette fonctionnalité."
-#: flatcamGUI/PreferencesUI.py:4304
+#: flatcamGUI/PreferencesUI.py:4597
msgid "Segment X size"
msgstr "Taille du seg. X"
-#: flatcamGUI/PreferencesUI.py:4306
+#: flatcamGUI/PreferencesUI.py:4599
msgid ""
"The size of the trace segment on the X axis.\n"
"Useful for auto-leveling.\n"
@@ -10549,11 +11018,11 @@ msgstr ""
"Utile pour le nivellement automatique.\n"
"Une valeur de 0 signifie aucune segmentation sur l'axe X."
-#: flatcamGUI/PreferencesUI.py:4320
+#: flatcamGUI/PreferencesUI.py:4613
msgid "Segment Y size"
msgstr "Taille du seg. Y"
-#: flatcamGUI/PreferencesUI.py:4322
+#: flatcamGUI/PreferencesUI.py:4615
msgid ""
"The size of the trace segment on the Y axis.\n"
"Useful for auto-leveling.\n"
@@ -10563,15 +11032,11 @@ msgstr ""
"Utile pour le nivellement automatique.\n"
"Une valeur de 0 signifie aucune segmentation sur l'axe Y."
-#: flatcamGUI/PreferencesUI.py:4343
-msgid "Geometry Editor"
-msgstr "Éditeur de Géométrie"
-
-#: flatcamGUI/PreferencesUI.py:4349
+#: flatcamGUI/PreferencesUI.py:4642
msgid "A list of Geometry Editor parameters."
msgstr "Une liste de paramètres de L'éditeur de Géométrie."
-#: flatcamGUI/PreferencesUI.py:4359 flatcamGUI/PreferencesUI.py:7111
+#: flatcamGUI/PreferencesUI.py:4652 flatcamGUI/PreferencesUI.py:7617
msgid ""
"Set the number of selected geometry\n"
"items above which the utility geometry\n"
@@ -10585,11 +11050,11 @@ msgstr ""
"Augmente les performances lors du déplacement d'un\n"
"grand nombre d'éléments géométriques."
-#: flatcamGUI/PreferencesUI.py:4391
+#: flatcamGUI/PreferencesUI.py:4684
msgid "CNC Job General"
msgstr "CNCJob Général"
-#: flatcamGUI/PreferencesUI.py:4444
+#: flatcamGUI/PreferencesUI.py:4737
msgid ""
"The number of circle steps for GCode \n"
"circle and arc shapes linear approximation."
@@ -10597,11 +11062,11 @@ msgstr ""
"Nombre d'étapes du cercle pour GCode\n"
"approximation linéaire des formes de cercle et d'arc."
-#: flatcamGUI/PreferencesUI.py:4453
+#: flatcamGUI/PreferencesUI.py:4746
msgid "Travel dia"
msgstr "Voyage DIa"
-#: flatcamGUI/PreferencesUI.py:4455
+#: flatcamGUI/PreferencesUI.py:4748
msgid ""
"The width of the travel lines to be\n"
"rendered in the plot."
@@ -10609,15 +11074,15 @@ msgstr ""
"La largeur des lignes de voyage à être\n"
"rendu dans l'intrigue."
-#: flatcamGUI/PreferencesUI.py:4468
+#: flatcamGUI/PreferencesUI.py:4761
msgid "G-code Decimals"
msgstr "Décimales G-code"
-#: flatcamGUI/PreferencesUI.py:4471 flatcamTools/ToolFiducials.py:74
+#: flatcamGUI/PreferencesUI.py:4764 flatcamTools/ToolFiducials.py:74
msgid "Coordinates"
msgstr "Coordonnées"
-#: flatcamGUI/PreferencesUI.py:4473
+#: flatcamGUI/PreferencesUI.py:4766
msgid ""
"The number of decimals to be used for \n"
"the X, Y, Z coordinates in CNC code (GCODE, etc.)"
@@ -10625,11 +11090,11 @@ msgstr ""
"Le nombre de décimales à utiliser pour\n"
"les coordonnées X, Y, Z en code CNC (GCODE, etc.)"
-#: flatcamGUI/PreferencesUI.py:4484 flatcamTools/ToolProperties.py:492
+#: flatcamGUI/PreferencesUI.py:4777 flatcamTools/ToolProperties.py:519
msgid "Feedrate"
msgstr "Vitesse d'avance"
-#: flatcamGUI/PreferencesUI.py:4486
+#: flatcamGUI/PreferencesUI.py:4779
msgid ""
"The number of decimals to be used for \n"
"the Feedrate parameter in CNC code (GCODE, etc.)"
@@ -10637,11 +11102,11 @@ msgstr ""
"Le nombre de décimales à utiliser pour\n"
"le paramètre Feedrate en code CNC (GCODE, etc.)"
-#: flatcamGUI/PreferencesUI.py:4497
+#: flatcamGUI/PreferencesUI.py:4790
msgid "Coordinates type"
msgstr "Type de coord"
-#: flatcamGUI/PreferencesUI.py:4499
+#: flatcamGUI/PreferencesUI.py:4792
msgid ""
"The type of coordinates to be used in Gcode.\n"
"Can be:\n"
@@ -10653,19 +11118,19 @@ msgstr ""
"- G90 absolu -> la référence est l'origine x = 0, y = 0\n"
"- Incrémental G91 -> la référence est la position précédente"
-#: flatcamGUI/PreferencesUI.py:4505
+#: flatcamGUI/PreferencesUI.py:4798
msgid "Absolute G90"
msgstr "G90 absolu"
-#: flatcamGUI/PreferencesUI.py:4506
+#: flatcamGUI/PreferencesUI.py:4799
msgid "Incremental G91"
msgstr "G91 incrémentiel"
-#: flatcamGUI/PreferencesUI.py:4516
+#: flatcamGUI/PreferencesUI.py:4809
msgid "Force Windows style line-ending"
msgstr "Forcer la fin de ligne de style Windows"
-#: flatcamGUI/PreferencesUI.py:4518
+#: flatcamGUI/PreferencesUI.py:4811
msgid ""
"When checked will force a Windows style line-ending\n"
"(\\r\\n) on non-Windows OS's."
@@ -10673,36 +11138,36 @@ msgstr ""
"Lorsqu'elle est cochée, la fin de ligne de style Windows\n"
"(\\r \\n) sur les systèmes d'exploitation non Windows."
-#: flatcamGUI/PreferencesUI.py:4530
+#: flatcamGUI/PreferencesUI.py:4823
msgid "Travel Line Color"
msgstr "Couleur de la ligne de voyage"
-#: flatcamGUI/PreferencesUI.py:4536
+#: flatcamGUI/PreferencesUI.py:4829
msgid "Set the travel line color for plotted objects."
msgstr ""
"Définissez la couleur de la ligne de déplacement pour les objets tracés."
-#: flatcamGUI/PreferencesUI.py:4596
+#: flatcamGUI/PreferencesUI.py:4889
msgid "CNCJob Object Color"
msgstr "Couleur d'objet CNCJob"
-#: flatcamGUI/PreferencesUI.py:4602
+#: flatcamGUI/PreferencesUI.py:4895
msgid "Set the color for plotted objects."
msgstr "Définissez la couleur des objets tracés."
-#: flatcamGUI/PreferencesUI.py:4762
+#: flatcamGUI/PreferencesUI.py:5055
msgid "CNC Job Options"
msgstr "Options CNCjob"
-#: flatcamGUI/PreferencesUI.py:4766
+#: flatcamGUI/PreferencesUI.py:5059
msgid "Export G-Code"
msgstr "Exporter le code G"
-#: flatcamGUI/PreferencesUI.py:4782
+#: flatcamGUI/PreferencesUI.py:5075
msgid "Prepend to G-Code"
msgstr "Préfixer au G-Code"
-#: flatcamGUI/PreferencesUI.py:4791
+#: flatcamGUI/PreferencesUI.py:5084
msgid ""
"Type here any G-Code commands you would like to add at the beginning of the "
"G-Code file."
@@ -10710,11 +11175,11 @@ msgstr ""
"Tapez ici toutes les commandes G-Code que vous souhaitez ajouter au début du "
"fichier G-Code."
-#: flatcamGUI/PreferencesUI.py:4798
+#: flatcamGUI/PreferencesUI.py:5091
msgid "Append to G-Code"
msgstr "Ajouter au G-Code"
-#: flatcamGUI/PreferencesUI.py:4808
+#: flatcamGUI/PreferencesUI.py:5101
msgid ""
"Type here any G-Code commands you would like to append to the generated "
"file.\n"
@@ -10724,11 +11189,11 @@ msgstr ""
"généré.\n"
"Par exemple: M2 (Fin du programme)"
-#: flatcamGUI/PreferencesUI.py:4824
+#: flatcamGUI/PreferencesUI.py:5117
msgid "CNC Job Adv. Options"
msgstr "Options avan. de CNCjob"
-#: flatcamGUI/PreferencesUI.py:4861
+#: flatcamGUI/PreferencesUI.py:5154
msgid ""
"Type here any G-Code commands you would like to be executed when Toolchange "
"event is encountered.\n"
@@ -10745,47 +11210,48 @@ msgstr ""
"AVERTISSEMENT: il ne peut être utilisé qu'avec un fichier de préprocesseur "
"qui a «toolchange_custom» dans son nom."
-#: flatcamGUI/PreferencesUI.py:4916
+#: flatcamGUI/PreferencesUI.py:5209
msgid "Z depth for the cut"
msgstr "Z profondeur pour la coupe"
-#: flatcamGUI/PreferencesUI.py:4917
+#: flatcamGUI/PreferencesUI.py:5210
msgid "Z height for travel"
msgstr "Z hauteur pour le voyage"
-#: flatcamGUI/PreferencesUI.py:4923
+#: flatcamGUI/PreferencesUI.py:5216
msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM"
msgstr ""
"dwelltime = temps de repos pour permettre à la broche d'atteindre son régime "
"défini"
-#: flatcamGUI/PreferencesUI.py:4942
+#: flatcamGUI/PreferencesUI.py:5235
msgid "Annotation Size"
msgstr "Taille de l'annotation"
-#: flatcamGUI/PreferencesUI.py:4944
+#: flatcamGUI/PreferencesUI.py:5237
msgid "The font size of the annotation text. In pixels."
msgstr "La taille de la police du texte d'annotation. En pixels."
-#: flatcamGUI/PreferencesUI.py:4954
+#: flatcamGUI/PreferencesUI.py:5247
msgid "Annotation Color"
msgstr "Couleur de l'annotation"
-#: flatcamGUI/PreferencesUI.py:4956
+#: flatcamGUI/PreferencesUI.py:5249
msgid "Set the font color for the annotation texts."
msgstr "Définissez la couleur de la police pour les textes d'annotation."
-#: flatcamGUI/PreferencesUI.py:5013
+#: flatcamGUI/PreferencesUI.py:5306
msgid "NCC Tool Options"
msgstr "Options de L'outil de la NCC"
-#: flatcamGUI/PreferencesUI.py:5027 flatcamGUI/PreferencesUI.py:6449
-msgid "Tools dia"
-msgstr "Outils dia"
+#: flatcamGUI/PreferencesUI.py:5328 flatcamGUI/PreferencesUI.py:5896
+msgid "Comma separated values"
+msgstr "Valeurs séparées par des virgules"
-#: flatcamGUI/PreferencesUI.py:5038 flatcamGUI/PreferencesUI.py:5046
-#: flatcamTools/ToolNonCopperClear.py:215
-#: flatcamTools/ToolNonCopperClear.py:223
+#: flatcamGUI/PreferencesUI.py:5334 flatcamGUI/PreferencesUI.py:5342
+#: flatcamGUI/PreferencesUI.py:5903 flatcamTools/ToolNCC.py:215
+#: flatcamTools/ToolNCC.py:223 flatcamTools/ToolPaint.py:198
+#: flatcamTools/ToolPaint.py:206
msgid ""
"Default tool type:\n"
"- 'V-shape'\n"
@@ -10795,13 +11261,15 @@ msgstr ""
"- 'Forme en V'\n"
"- circulaire"
-#: flatcamGUI/PreferencesUI.py:5043 flatcamTools/ToolNonCopperClear.py:220
+#: flatcamGUI/PreferencesUI.py:5339 flatcamGUI/PreferencesUI.py:5908
+#: flatcamTools/ToolNCC.py:220 flatcamTools/ToolPaint.py:203
msgid "V-shape"
msgstr "Forme en V"
-#: flatcamGUI/PreferencesUI.py:5083 flatcamGUI/PreferencesUI.py:5092
-#: flatcamTools/ToolNonCopperClear.py:256
-#: flatcamTools/ToolNonCopperClear.py:264
+#: flatcamGUI/PreferencesUI.py:5379 flatcamGUI/PreferencesUI.py:5388
+#: flatcamGUI/PreferencesUI.py:5946 flatcamGUI/PreferencesUI.py:5955
+#: flatcamTools/ToolNCC.py:262 flatcamTools/ToolNCC.py:271
+#: flatcamTools/ToolPaint.py:245 flatcamTools/ToolPaint.py:254
msgid ""
"Depth of cut into material. Negative value.\n"
"In FlatCAM units."
@@ -10809,35 +11277,26 @@ msgstr ""
"Profondeur de la coupe dans le matériau. Valeur négative.\n"
"En unités FlatCAM."
-#: flatcamGUI/PreferencesUI.py:5102
-msgid "The new tool diameter (cut width) to add in the tool table."
-msgstr ""
-"Le nouveau diamètre d'outil (largeur de coupe) à ajouter dans la table "
-"d'outils."
-
-#: flatcamGUI/PreferencesUI.py:5114 flatcamGUI/PreferencesUI.py:5122
-#: flatcamTools/ToolNonCopperClear.py:164
-#: flatcamTools/ToolNonCopperClear.py:172
+#: flatcamGUI/PreferencesUI.py:5398 flatcamGUI/PreferencesUI.py:5964
+#: flatcamTools/ToolNCC.py:280 flatcamTools/ToolPaint.py:263
msgid ""
-"Milling type when the selected tool is of type: 'iso_op':\n"
-"- climb / best for precision milling and to reduce tool usage\n"
-"- conventional / useful when there is no backlash compensation"
+"Diameter for the new tool to add in the Tool Table.\n"
+"If the tool is V-shape type then this value is automatically\n"
+"calculated from the other parameters."
msgstr ""
-"Type de fraisage lorsque l'outil sélectionné est de type: 'iso_op':\n"
-"- montée / idéal pour le fraisage de précision et pour réduire l'utilisation "
-"d'outils\n"
-"- conventionnel / utile quand il n'y a pas de compensation de jeu"
+"Diamètre du nouvel outil à ajouter dans la table d'outils.\n"
+"Si l'outil est de type V, cette valeur est automatiquement\n"
+"calculé à partir des autres paramètres."
-#: flatcamGUI/PreferencesUI.py:5131 flatcamGUI/PreferencesUI.py:5546
-#: flatcamTools/ToolNonCopperClear.py:181 flatcamTools/ToolPaint.py:153
+#: flatcamGUI/PreferencesUI.py:5435 flatcamGUI/PreferencesUI.py:5981
+#: flatcamTools/ToolNCC.py:174 flatcamTools/ToolPaint.py:158
msgid "Tool order"
msgstr "L'ordre des Outils"
-#: flatcamGUI/PreferencesUI.py:5132 flatcamGUI/PreferencesUI.py:5142
-#: flatcamGUI/PreferencesUI.py:5547 flatcamGUI/PreferencesUI.py:5557
-#: flatcamTools/ToolNonCopperClear.py:182
-#: flatcamTools/ToolNonCopperClear.py:192 flatcamTools/ToolPaint.py:154
-#: flatcamTools/ToolPaint.py:164
+#: flatcamGUI/PreferencesUI.py:5436 flatcamGUI/PreferencesUI.py:5446
+#: flatcamGUI/PreferencesUI.py:5982 flatcamTools/ToolNCC.py:175
+#: flatcamTools/ToolNCC.py:185 flatcamTools/ToolPaint.py:159
+#: flatcamTools/ToolPaint.py:169
msgid ""
"This set the way that the tools in the tools table are used.\n"
"'No' --> means that the used order is the one in the tool table\n"
@@ -10859,70 +11318,39 @@ msgstr ""
"commande\n"
"en sens inverse et désactivez ce contrôle."
-#: flatcamGUI/PreferencesUI.py:5140 flatcamGUI/PreferencesUI.py:5555
-#: flatcamTools/ToolNonCopperClear.py:190 flatcamTools/ToolPaint.py:162
+#: flatcamGUI/PreferencesUI.py:5444 flatcamGUI/PreferencesUI.py:5990
+#: flatcamTools/ToolNCC.py:183 flatcamTools/ToolPaint.py:167
msgid "Forward"
msgstr "L'avant"
-#: flatcamGUI/PreferencesUI.py:5141 flatcamGUI/PreferencesUI.py:5556
-#: flatcamTools/ToolNonCopperClear.py:191 flatcamTools/ToolPaint.py:163
+#: flatcamGUI/PreferencesUI.py:5445 flatcamGUI/PreferencesUI.py:5991
+#: flatcamTools/ToolNCC.py:184 flatcamTools/ToolPaint.py:168
msgid "Reverse"
msgstr "Inverse"
-#: flatcamGUI/PreferencesUI.py:5154 flatcamTools/ToolNonCopperClear.py:321
+#: flatcamGUI/PreferencesUI.py:5545
+msgid "Offset value"
+msgstr "Valeur de Décalage"
+
+#: flatcamGUI/PreferencesUI.py:5547
msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be cleared are still \n"
-"not cleared.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0.0 and 9999.9 FlatCAM units."
msgstr ""
-"Combien (fraction) de la largeur de l'outil doit chevaucher chaque passe-"
-"outil.\n"
-"Ajuster la valeur en commençant par les valeurs les plus basses\n"
-"et augmenter si les zones qui doivent être effacées sont encore\n"
-"pas effacé.\n"
-"Des valeurs plus faibles = traitement plus rapide, exécution plus rapide sur "
-"le PCB.\n"
-"Valeurs plus élevées = traitement lent et exécution lente sur la CNC\n"
-"à cause de trop de chemins."
+"S'il est utilisé, cela ajoutera un décalage aux entités en cuivre.\n"
+"La clairière de cuivre finira à distance\n"
+"des caractéristiques de cuivre.\n"
+"La valeur peut être comprise entre 0 et 9999.9 unités FlatCAM."
-#: flatcamGUI/PreferencesUI.py:5173 flatcamGUI/PreferencesUI.py:7177
-#: flatcamGUI/PreferencesUI.py:7419 flatcamGUI/PreferencesUI.py:7483
-#: flatcamTools/ToolCopperThieving.py:113 flatcamTools/ToolFiducials.py:174
-#: flatcamTools/ToolFiducials.py:237 flatcamTools/ToolNonCopperClear.py:339
-msgid "Bounding box margin."
-msgstr "Marge du cadre de sélection."
-
-#: flatcamGUI/PreferencesUI.py:5186 flatcamGUI/PreferencesUI.py:5604
-#: flatcamTools/ToolNonCopperClear.py:350
-msgid ""
-"Algorithm for non-copper clearing:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed.
Line-based: Parallel "
-"lines."
-msgstr ""
-"Algorithme pour le clearing sans cuivre:
Standard: incrémentation "
-"fixe.
Basé sur les Semences : Sortant des semences
Basé "
-"sur les Lignes : lignes parallèles."
-
-#: flatcamGUI/PreferencesUI.py:5202 flatcamGUI/PreferencesUI.py:5618
-#: flatcamTools/ToolNonCopperClear.py:364 flatcamTools/ToolPaint.py:267
-msgid "Connect"
-msgstr "Relier"
-
-#: flatcamGUI/PreferencesUI.py:5211 flatcamGUI/PreferencesUI.py:5626
-#: flatcamTools/ToolNonCopperClear.py:371 flatcamTools/ToolPaint.py:274
-msgid "Contour"
-msgstr "Contour"
-
-#: flatcamGUI/PreferencesUI.py:5220 flatcamTools/ToolNonCopperClear.py:379
-#: flatcamTools/ToolPaint.py:281
+#: flatcamGUI/PreferencesUI.py:5567 flatcamGUI/PreferencesUI.py:6083
+#: flatcamGUI/PreferencesUI.py:6084 flatcamTools/ToolNCC.py:512
+#: flatcamTools/ToolPaint.py:442
msgid "Rest Machining"
msgstr "Usinage de Repos"
-#: flatcamGUI/PreferencesUI.py:5222 flatcamTools/ToolNonCopperClear.py:381
+#: flatcamGUI/PreferencesUI.py:5569 flatcamTools/ToolNCC.py:516
msgid ""
"If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
@@ -10940,82 +11368,65 @@ msgstr ""
"plus de cuivre à nettoyer ou il n'y a plus d'outils.\n"
"Si non coché, utilisez l'algorithme standard."
-#: flatcamGUI/PreferencesUI.py:5236 flatcamTools/ToolNonCopperClear.py:395
-#: flatcamTools/ToolNonCopperClear.py:405
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7696 flatcamTools/ToolCopperThieving.py:127
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1311
+#: flatcamTools/ToolNCC.py:1642 flatcamTools/ToolNCC.py:1930
+#: flatcamTools/ToolNCC.py:1985 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:946 flatcamTools/ToolPaint.py:1447
+msgid "Area Selection"
+msgstr "Sélection de zone"
+
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7697 flatcamTools/ToolCopperThieving.py:128
+#: flatcamTools/ToolDblSided.py:217 flatcamTools/ToolNCC.py:535
+#: flatcamTools/ToolNCC.py:1658 flatcamTools/ToolNCC.py:1936
+#: flatcamTools/ToolNCC.py:1993 flatcamTools/ToolNCC.py:2301
+#: flatcamTools/ToolNCC.py:2581 flatcamTools/ToolNCC.py:3007
+#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:931
+#: flatcamTools/ToolPaint.py:1463 tclCommands/TclCommandCopperClear.py:192
+#: tclCommands/TclCommandPaint.py:166
+msgid "Reference Object"
+msgstr "Objet de référence"
+
+#: flatcamGUI/PreferencesUI.py:5592 flatcamTools/ToolNCC.py:541
msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0 and 10 FlatCAM units."
-msgstr ""
-"S'il est utilisé, cela ajoutera un décalage aux entités en cuivre.\n"
-"La clairière de cuivre finira à distance\n"
-"des caractéristiques de cuivre.\n"
-"La valeur peut être comprise entre 0 et 10 unités FlatCAM."
-
-#: flatcamGUI/PreferencesUI.py:5245 flatcamTools/ToolNonCopperClear.py:403
-msgid "Offset value"
-msgstr "Valeur de Décalage"
-
-#: flatcamGUI/PreferencesUI.py:5247
-msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0.0 and 9999.9 FlatCAM units."
-msgstr ""
-"S'il est utilisé, cela ajoutera un décalage aux entités en cuivre.\n"
-"La clairière de cuivre finira à distance\n"
-"des caractéristiques de cuivre.\n"
-"La valeur peut être comprise entre 0 et 9999.9 unités FlatCAM."
-
-#: flatcamGUI/PreferencesUI.py:5262 flatcamGUI/PreferencesUI.py:7189
-#: flatcamTools/ToolCopperThieving.py:125
-#: flatcamTools/ToolNonCopperClear.py:429
-msgid "Itself"
-msgstr "Lui-même"
-
-#: flatcamGUI/PreferencesUI.py:5263 flatcamGUI/PreferencesUI.py:5646
-msgid "Area"
-msgstr "Zone"
-
-#: flatcamGUI/PreferencesUI.py:5264 flatcamGUI/PreferencesUI.py:5648
-msgid "Ref"
-msgstr "Réf"
-
-#: flatcamGUI/PreferencesUI.py:5267
-msgid ""
-"- 'Itself' - the non copper clearing extent\n"
-"is based on the object that is copper cleared.\n"
+"Selection of area to be processed.\n"
+"- 'Itself' - the processing extent is based on the object that is "
+"processed.\n"
" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
-"areas.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"processed.\n"
+"- 'Reference Object' - will process the area specified by another object."
msgstr ""
-"- \"Lui-même\" - l'étendue du clearing non en cuivre\n"
-"est basé sur l'objet qui est en cuivre effacé.\n"
-"- 'Sélection de zone' - cliquez avec le bouton gauche de la souris pour "
-"lancer la sélection de la zone à peindre.\n"
-"En maintenant une touche de modification enfoncée (CTRL ou SHIFT), vous "
-"pourrez ajouter plusieurs zones.\n"
-"- 'Objet de référence' - effectuera un nettoyage sans cuivre dans la zone\n"
-"spécifié par un autre objet."
+"Sélection de la zone à traiter.\n"
+"- «Lui-même» - l'étendue du traitement est basée sur l'objet traité.\n"
+"- «Sélection de zone» - clic gauche de la souris pour démarrer la sélection "
+"de la zone à traiter.\n"
+"- 'Objet de référence' - traitera la zone spécifiée par un autre objet."
-#: flatcamGUI/PreferencesUI.py:5279 flatcamGUI/PreferencesUI.py:5654
+#: flatcamGUI/PreferencesUI.py:5601 flatcamGUI/PreferencesUI.py:6125
+#: flatcamTools/ToolNCC.py:578 flatcamTools/ToolPaint.py:522
+msgid "Shape"
+msgstr "Forme"
+
+#: flatcamGUI/PreferencesUI.py:5603 flatcamGUI/PreferencesUI.py:6127
+#: flatcamTools/ToolNCC.py:580 flatcamTools/ToolPaint.py:524
+msgid "The kind of selection shape used for area selection."
+msgstr "Type de forme de sélection utilisé pour la sélection de zone."
+
+#: flatcamGUI/PreferencesUI.py:5618 flatcamGUI/PreferencesUI.py:6142
msgid "Normal"
msgstr "Ordinaire"
-#: flatcamGUI/PreferencesUI.py:5280 flatcamGUI/PreferencesUI.py:5655
+#: flatcamGUI/PreferencesUI.py:5619 flatcamGUI/PreferencesUI.py:6143
msgid "Progressive"
msgstr "Progressif"
-#: flatcamGUI/PreferencesUI.py:5281
+#: flatcamGUI/PreferencesUI.py:5620
msgid "NCC Plotting"
msgstr "Dessin de la NCC"
-#: flatcamGUI/PreferencesUI.py:5283
+#: flatcamGUI/PreferencesUI.py:5622
msgid ""
"- 'Normal' - normal plotting, done at the end of the NCC job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
@@ -11023,16 +11434,16 @@ msgstr ""
"- '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."
-#: flatcamGUI/PreferencesUI.py:5297
+#: flatcamGUI/PreferencesUI.py:5636
msgid "Cutout Tool Options"
msgstr "Options de l'Outil de Découpe"
-#: flatcamGUI/PreferencesUI.py:5312 flatcamTools/ToolCalculators.py:123
-#: flatcamTools/ToolCutOut.py:123
+#: flatcamGUI/PreferencesUI.py:5651 flatcamTools/ToolCalculators.py:123
+#: flatcamTools/ToolCutOut.py:130
msgid "Tool Diameter"
msgstr "Dia de l'outil"
-#: flatcamGUI/PreferencesUI.py:5314 flatcamTools/ToolCutOut.py:125
+#: flatcamGUI/PreferencesUI.py:5653 flatcamTools/ToolCutOut.py:132
msgid ""
"Diameter of the tool used to cutout\n"
"the PCB shape out of the surrounding material."
@@ -11040,11 +11451,11 @@ msgstr ""
"Diamètre de l'outil utilisé pour la découpe\n"
"la forme de PCB hors du matériau environnant."
-#: flatcamGUI/PreferencesUI.py:5369 flatcamTools/ToolCutOut.py:104
+#: flatcamGUI/PreferencesUI.py:5708
msgid "Object kind"
msgstr "Type d'objet"
-#: flatcamGUI/PreferencesUI.py:5371 flatcamTools/ToolCutOut.py:106
+#: flatcamGUI/PreferencesUI.py:5710 flatcamTools/ToolCutOut.py:78
msgid ""
"Choice of what kind the object we want to cutout is.
- Single: "
"contain a single PCB Gerber outline object.
- Panel: a panel PCB "
@@ -11056,15 +11467,15 @@ msgstr ""
"est fait\n"
"sur beaucoup de contours individuels de PCB."
-#: flatcamGUI/PreferencesUI.py:5378 flatcamTools/ToolCutOut.py:112
+#: flatcamGUI/PreferencesUI.py:5717 flatcamTools/ToolCutOut.py:84
msgid "Single"
msgstr "Seul"
-#: flatcamGUI/PreferencesUI.py:5379 flatcamTools/ToolCutOut.py:113
+#: flatcamGUI/PreferencesUI.py:5718 flatcamTools/ToolCutOut.py:85
msgid "Panel"
msgstr "Panneau"
-#: flatcamGUI/PreferencesUI.py:5386 flatcamTools/ToolCutOut.py:186
+#: flatcamGUI/PreferencesUI.py:5725 flatcamTools/ToolCutOut.py:193
msgid ""
"Margin over bounds. A positive value here\n"
"will make the cutout of the PCB further from\n"
@@ -11074,11 +11485,11 @@ msgstr ""
"fera la découpe du PCB plus loin de\n"
"la frontière de PCB"
-#: flatcamGUI/PreferencesUI.py:5399 flatcamTools/ToolCutOut.py:197
+#: flatcamGUI/PreferencesUI.py:5738 flatcamTools/ToolCutOut.py:204
msgid "Gap size"
msgstr "Taille de l'espace"
-#: flatcamGUI/PreferencesUI.py:5401 flatcamTools/ToolCutOut.py:199
+#: flatcamGUI/PreferencesUI.py:5740 flatcamTools/ToolCutOut.py:206
msgid ""
"The size of the bridge gaps in the cutout\n"
"used to keep the board connected to\n"
@@ -11090,11 +11501,11 @@ msgstr ""
"le matériau environnant (celui\n"
"à partir duquel le circuit imprimé est découpé)."
-#: flatcamGUI/PreferencesUI.py:5415 flatcamTools/ToolCutOut.py:241
+#: flatcamGUI/PreferencesUI.py:5754 flatcamTools/ToolCutOut.py:250
msgid "Gaps"
msgstr "Lacunes"
-#: flatcamGUI/PreferencesUI.py:5417
+#: flatcamGUI/PreferencesUI.py:5756
msgid ""
"Number of gaps used for the cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -11118,11 +11529,11 @@ msgstr ""
"- 2tb - 2 * Haut + 2 * Bas\n"
"- 8 - 2 * gauche + 2 * droite + 2 * en haut + 2 * en bas"
-#: flatcamGUI/PreferencesUI.py:5439 flatcamTools/ToolCutOut.py:216
+#: flatcamGUI/PreferencesUI.py:5778 flatcamTools/ToolCutOut.py:223
msgid "Convex Shape"
msgstr "Forme convexe"
-#: flatcamGUI/PreferencesUI.py:5441 flatcamTools/ToolCutOut.py:219
+#: flatcamGUI/PreferencesUI.py:5780 flatcamTools/ToolCutOut.py:226
msgid ""
"Create a convex shape surrounding the entire PCB.\n"
"Used only if the source object type is Gerber."
@@ -11130,11 +11541,11 @@ msgstr ""
"Créez une forme convexe entourant tout le circuit imprimé.\n"
"Utilisé uniquement si le type d'objet source est Gerber."
-#: flatcamGUI/PreferencesUI.py:5454
+#: flatcamGUI/PreferencesUI.py:5793
msgid "2Sided Tool Options"
msgstr "Options des Outils 2 faces"
-#: flatcamGUI/PreferencesUI.py:5460
+#: flatcamGUI/PreferencesUI.py:5799
msgid ""
"A tool to help in creating a double sided\n"
"PCB using alignment holes."
@@ -11142,36 +11553,41 @@ msgstr ""
"Un outil pour aider à créer un double face\n"
"PCB utilisant des trous d'alignement."
-#: flatcamGUI/PreferencesUI.py:5474
+#: flatcamGUI/PreferencesUI.py:5813
msgid "Drill dia"
msgstr "Forage dia"
-#: flatcamGUI/PreferencesUI.py:5476 flatcamTools/ToolDblSided.py:274
-#: flatcamTools/ToolDblSided.py:285
+#: flatcamGUI/PreferencesUI.py:5815 flatcamTools/ToolDblSided.py:364
+#: flatcamTools/ToolDblSided.py:369
msgid "Diameter of the drill for the alignment holes."
msgstr "Diamètre du foret pour les trous d'alignement."
-#: flatcamGUI/PreferencesUI.py:5485 flatcamTools/ToolDblSided.py:146
-msgid "Mirror Axis:"
-msgstr "Axe du miroir:"
+#: flatcamGUI/PreferencesUI.py:5822 flatcamTools/ToolDblSided.py:378
+msgid "Align Axis"
+msgstr "Aligner l'axe"
-#: flatcamGUI/PreferencesUI.py:5487 flatcamTools/ToolDblSided.py:147
+#: flatcamGUI/PreferencesUI.py:5824 flatcamGUI/PreferencesUI.py:5837
+#: flatcamTools/ToolDblSided.py:166 flatcamTools/ToolDblSided.py:380
msgid "Mirror vertically (X) or horizontally (Y)."
msgstr "Miroir verticalement (X) ou horizontalement (Y)."
-#: flatcamGUI/PreferencesUI.py:5496 flatcamTools/ToolDblSided.py:156
+#: flatcamGUI/PreferencesUI.py:5835
+msgid "Mirror Axis:"
+msgstr "Axe du miroir:"
+
+#: flatcamGUI/PreferencesUI.py:5846 flatcamTools/ToolDblSided.py:182
msgid "Point"
msgstr "Point"
-#: flatcamGUI/PreferencesUI.py:5497 flatcamTools/ToolDblSided.py:157
+#: flatcamGUI/PreferencesUI.py:5847 flatcamTools/ToolDblSided.py:183
msgid "Box"
msgstr "Box"
-#: flatcamGUI/PreferencesUI.py:5498 flatcamTools/ToolDblSided.py:158
+#: flatcamGUI/PreferencesUI.py:5848
msgid "Axis Ref"
msgstr "Réf d'axe"
-#: flatcamGUI/PreferencesUI.py:5500 flatcamTools/ToolDblSided.py:160
+#: flatcamGUI/PreferencesUI.py:5850
msgid ""
"The axis should pass through a point or cut\n"
" a specified box (in a FlatCAM object) through \n"
@@ -11181,48 +11597,67 @@ msgstr ""
"une zone spécifiée (dans un objet FlatCAM) via\n"
"le centre."
-#: flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:5866
msgid "Paint Tool Options"
msgstr "Options de l'Outil de Peinture"
-#: flatcamGUI/PreferencesUI.py:5522
+#: flatcamGUI/PreferencesUI.py:5872
msgid "Parameters:"
msgstr "Paramètres:"
-#: flatcamGUI/PreferencesUI.py:5636 flatcamTools/ToolPaint.py:296
-#: flatcamTools/ToolPaint.py:313
+#: flatcamGUI/PreferencesUI.py:6086 flatcamTools/ToolPaint.py:445
msgid ""
-"How to select Polygons to be painted.\n"
+"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"
+"\n"
+"If not checked, use the standard algorithm."
+msgstr ""
+"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"
+"\n"
+"Si non coché, utilisez l'algorithme standard."
+
+#: flatcamGUI/PreferencesUI.py:6099 flatcamTools/ToolPaint.py:458
+msgid ""
+"Selection of area to be processed.\n"
"- 'Polygon Selection' - left mouse click to add/remove polygons to be "
-"painted.\n"
+"processed.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
+"processed.\n"
"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
"areas.\n"
-"- 'All Polygons' - the Paint will start after click.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"- 'All Polygons' - the process will start after click.\n"
+"- 'Reference Object' - will process the area specified by another object."
msgstr ""
-"Comment sélectionner les polygones à peindre.\n"
-"- 'Sélection de polygone' - clic gauche de la souris pour ajouter / "
-"supprimer des polygones à peindre.\n"
+"Sélection de la zone à traiter.\n"
+"- «Sélection de polygone» - clic gauche de la souris pour ajouter / "
+"supprimer des polygones à traiter.\n"
"- «Sélection de zone» - clic gauche de la souris pour démarrer la sélection "
-"de la zone à peindre.\n"
-"Maintenir une touche de modification enfoncée (CTRL ou SHIFT) permettra "
+"de la zone à traiter.\n"
+"Maintenir une touche de modification enfoncée (CTRL ou MAJ) permettra "
"d'ajouter plusieurs zones.\n"
-"- «Tous les polygones» - la peinture démarre après le clic.\n"
-"- «Objet de référence» - effectuera un nettoyage sans cuivre dans la zone\n"
-"spécifié par un autre objet."
+"- «Tous les polygones» - le processus démarrera après le clic.\n"
+"- «Objet de reference» - traitera la zone spécifiée par un autre objet."
-#: flatcamGUI/PreferencesUI.py:5645
-msgid "Sel"
-msgstr "Sél"
+#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:942 flatcamTools/ToolPaint.py:1427
+#: tclCommands/TclCommandPaint.py:164
+msgid "Polygon Selection"
+msgstr "Sélection de polygone"
-#: flatcamGUI/PreferencesUI.py:5656
+#: flatcamGUI/PreferencesUI.py:6144
msgid "Paint Plotting"
msgstr "Peinture dessin"
-#: flatcamGUI/PreferencesUI.py:5658
+#: flatcamGUI/PreferencesUI.py:6146
msgid ""
"- 'Normal' - normal plotting, done at the end of the Paint job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
@@ -11230,11 +11665,11 @@ 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."
-#: flatcamGUI/PreferencesUI.py:5672
+#: flatcamGUI/PreferencesUI.py:6160
msgid "Film Tool Options"
msgstr "Options de l'Outil de Film"
-#: flatcamGUI/PreferencesUI.py:5678
+#: flatcamGUI/PreferencesUI.py:6166
msgid ""
"Create a PCB film from a Gerber or Geometry\n"
"FlatCAM object.\n"
@@ -11244,11 +11679,11 @@ msgstr ""
"Objet FlatCAM.\n"
"Le fichier est enregistré au format SVG."
-#: flatcamGUI/PreferencesUI.py:5689
+#: flatcamGUI/PreferencesUI.py:6177
msgid "Film Type"
msgstr "Type de Film"
-#: flatcamGUI/PreferencesUI.py:5691 flatcamTools/ToolFilm.py:300
+#: flatcamGUI/PreferencesUI.py:6179 flatcamTools/ToolFilm.py:300
msgid ""
"Generate a Positive black film or a Negative film.\n"
"Positive means that it will print the features\n"
@@ -11264,19 +11699,19 @@ msgstr ""
"avec du blanc sur une toile noire.\n"
"Le format de film est SVG."
-#: flatcamGUI/PreferencesUI.py:5702
+#: flatcamGUI/PreferencesUI.py:6190
msgid "Film Color"
msgstr "Couleur du film"
-#: flatcamGUI/PreferencesUI.py:5704
+#: flatcamGUI/PreferencesUI.py:6192
msgid "Set the film color when positive film is selected."
msgstr "Définissez la couleur du film lorsque le film positif est sélectionné."
-#: flatcamGUI/PreferencesUI.py:5727 flatcamTools/ToolFilm.py:316
+#: flatcamGUI/PreferencesUI.py:6215 flatcamTools/ToolFilm.py:316
msgid "Border"
msgstr "Bordure"
-#: flatcamGUI/PreferencesUI.py:5729 flatcamTools/ToolFilm.py:318
+#: flatcamGUI/PreferencesUI.py:6217 flatcamTools/ToolFilm.py:318
msgid ""
"Specify a border around the object.\n"
"Only for negative film.\n"
@@ -11296,11 +11731,11 @@ msgstr ""
"couleur blanche comme le reste et qui peut confondre avec le\n"
"environnement si pas pour cette frontière."
-#: flatcamGUI/PreferencesUI.py:5746 flatcamTools/ToolFilm.py:283
+#: flatcamGUI/PreferencesUI.py:6234 flatcamTools/ToolFilm.py:283
msgid "Scale Stroke"
msgstr "Course de l'échelle"
-#: flatcamGUI/PreferencesUI.py:5748 flatcamTools/ToolFilm.py:285
+#: flatcamGUI/PreferencesUI.py:6236 flatcamTools/ToolFilm.py:285
msgid ""
"Scale the line stroke thickness of each feature in the SVG file.\n"
"It means that the line that envelope each SVG feature will be thicker or "
@@ -11313,11 +11748,11 @@ msgstr ""
"par conséquent, les caractéristiques fines peuvent être plus affectées par "
"ce paramètre."
-#: flatcamGUI/PreferencesUI.py:5755 flatcamTools/ToolFilm.py:141
+#: flatcamGUI/PreferencesUI.py:6243 flatcamTools/ToolFilm.py:141
msgid "Film Adjustments"
msgstr "Ajustements de film"
-#: flatcamGUI/PreferencesUI.py:5757 flatcamTools/ToolFilm.py:143
+#: flatcamGUI/PreferencesUI.py:6245 flatcamTools/ToolFilm.py:143
msgid ""
"Sometime the printers will distort the print shape, especially the Laser "
"types.\n"
@@ -11328,11 +11763,11 @@ msgstr ""
"Cette section fournit les outils permettant de compenser les distorsions "
"d’impression."
-#: flatcamGUI/PreferencesUI.py:5764 flatcamTools/ToolFilm.py:150
+#: flatcamGUI/PreferencesUI.py:6252 flatcamTools/ToolFilm.py:150
msgid "Scale Film geometry"
msgstr "Mettre à l'échelle la géo du film"
-#: flatcamGUI/PreferencesUI.py:5766 flatcamTools/ToolFilm.py:152
+#: flatcamGUI/PreferencesUI.py:6254 flatcamTools/ToolFilm.py:152
msgid ""
"A value greater than 1 will stretch the film\n"
"while a value less than 1 will jolt it."
@@ -11340,21 +11775,21 @@ msgstr ""
"Une valeur supérieure à 1 étendra le film\n"
"alors qu'une valeur inférieure à 1 la secouera."
-#: flatcamGUI/PreferencesUI.py:5776 flatcamGUI/PreferencesUI.py:6296
-#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:148
+#: flatcamGUI/PreferencesUI.py:6264 flatcamGUI/PreferencesUI.py:6783
+#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:149
msgid "X factor"
msgstr "Facteur X"
-#: flatcamGUI/PreferencesUI.py:5785 flatcamGUI/PreferencesUI.py:6309
+#: flatcamGUI/PreferencesUI.py:6273 flatcamGUI/PreferencesUI.py:6796
#: flatcamTools/ToolFilm.py:171 flatcamTools/ToolTransform.py:169
msgid "Y factor"
msgstr "Facteur Y"
-#: flatcamGUI/PreferencesUI.py:5795 flatcamTools/ToolFilm.py:189
+#: flatcamGUI/PreferencesUI.py:6283 flatcamTools/ToolFilm.py:189
msgid "Skew Film geometry"
msgstr "Inclinez la géo du film"
-#: flatcamGUI/PreferencesUI.py:5797 flatcamTools/ToolFilm.py:191
+#: flatcamGUI/PreferencesUI.py:6285 flatcamTools/ToolFilm.py:191
msgid ""
"Positive values will skew to the right\n"
"while negative values will skew to the left."
@@ -11362,17 +11797,17 @@ msgstr ""
"Les valeurs positives seront biaisées vers la droite\n"
"tandis que les valeurs négatives inclineront vers la gauche."
-#: flatcamGUI/PreferencesUI.py:5807 flatcamGUI/PreferencesUI.py:6265
+#: flatcamGUI/PreferencesUI.py:6295 flatcamGUI/PreferencesUI.py:6752
#: flatcamTools/ToolFilm.py:201 flatcamTools/ToolTransform.py:98
msgid "X angle"
msgstr "Angle X"
-#: flatcamGUI/PreferencesUI.py:5816 flatcamGUI/PreferencesUI.py:6279
-#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:120
+#: flatcamGUI/PreferencesUI.py:6304 flatcamGUI/PreferencesUI.py:6766
+#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:119
msgid "Y angle"
msgstr "Angle Y"
-#: flatcamGUI/PreferencesUI.py:5827 flatcamTools/ToolFilm.py:221
+#: flatcamGUI/PreferencesUI.py:6315 flatcamTools/ToolFilm.py:221
msgid ""
"The reference point to be used as origin for the skew.\n"
"It can be one of the four points of the geometry bounding box."
@@ -11380,57 +11815,53 @@ msgstr ""
"Le point de référence à utiliser comme origine pour l'inclinaison.\n"
"Ce peut être l'un des quatre points de la boîte englobante de la géométrie."
-#: flatcamGUI/PreferencesUI.py:5830 flatcamTools/ToolFiducials.py:87
+#: flatcamGUI/PreferencesUI.py:6318 flatcamTools/ToolFiducials.py:87
#: flatcamTools/ToolFilm.py:224
msgid "Bottom Left"
msgstr "En bas à gauche"
-#: flatcamGUI/PreferencesUI.py:5831 flatcamTools/ToolFilm.py:225
+#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolFilm.py:225
msgid "Top Left"
msgstr "En haut à gauche"
-#: flatcamGUI/PreferencesUI.py:5832 flatcamTools/ToolFilm.py:226
+#: flatcamGUI/PreferencesUI.py:6320 flatcamTools/ToolFilm.py:226
msgid "Bottom Right"
msgstr "En bas à droite"
-#: flatcamGUI/PreferencesUI.py:5833 flatcamTools/ToolFilm.py:227
+#: flatcamGUI/PreferencesUI.py:6321 flatcamTools/ToolFilm.py:227
msgid "Top right"
msgstr "En haut à droite"
-#: flatcamGUI/PreferencesUI.py:5841 flatcamTools/ToolFilm.py:244
+#: flatcamGUI/PreferencesUI.py:6329 flatcamTools/ToolFilm.py:244
msgid "Mirror Film geometry"
msgstr "Refléter la géo du film"
-#: flatcamGUI/PreferencesUI.py:5843 flatcamTools/ToolFilm.py:246
+#: flatcamGUI/PreferencesUI.py:6331 flatcamTools/ToolFilm.py:246
msgid "Mirror the film geometry on the selected axis or on both."
msgstr "Reflétez la géométrie du film sur l'axe sélectionné ou sur les deux."
-#: flatcamGUI/PreferencesUI.py:5855 flatcamTools/ToolFilm.py:258
-msgid "Both"
-msgstr "Tous les deux"
-
-#: flatcamGUI/PreferencesUI.py:5857 flatcamTools/ToolFilm.py:260
+#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolFilm.py:260
msgid "Mirror axis"
msgstr "Axe du miroir"
-#: flatcamGUI/PreferencesUI.py:5867 flatcamTools/ToolFilm.py:403
+#: flatcamGUI/PreferencesUI.py:6355 flatcamTools/ToolFilm.py:405
msgid "SVG"
msgstr "SVG"
-#: flatcamGUI/PreferencesUI.py:5868 flatcamTools/ToolFilm.py:404
+#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolFilm.py:406
msgid "PNG"
msgstr "PNG"
-#: flatcamGUI/PreferencesUI.py:5869 flatcamTools/ToolFilm.py:405
+#: flatcamGUI/PreferencesUI.py:6357 flatcamTools/ToolFilm.py:407
msgid "PDF"
msgstr "PDF"
-#: flatcamGUI/PreferencesUI.py:5872 flatcamTools/ToolFilm.py:298
-#: flatcamTools/ToolFilm.py:408
+#: flatcamGUI/PreferencesUI.py:6360 flatcamTools/ToolFilm.py:298
+#: flatcamTools/ToolFilm.py:410
msgid "Film Type:"
msgstr "Type de Film:"
-#: flatcamGUI/PreferencesUI.py:5874 flatcamTools/ToolFilm.py:410
+#: flatcamGUI/PreferencesUI.py:6362 flatcamTools/ToolFilm.py:412
msgid ""
"The file type of the saved film. Can be:\n"
"- 'SVG' -> open-source vectorial format\n"
@@ -11442,23 +11873,23 @@ msgstr ""
"- 'PNG' -> image raster\n"
"- 'PDF' -> format de document portable"
-#: flatcamGUI/PreferencesUI.py:5883 flatcamTools/ToolFilm.py:419
+#: flatcamGUI/PreferencesUI.py:6371 flatcamTools/ToolFilm.py:421
msgid "Page Orientation"
msgstr "Orientation de la page"
-#: flatcamGUI/PreferencesUI.py:5896 flatcamTools/ToolFilm.py:432
+#: flatcamGUI/PreferencesUI.py:6384 flatcamTools/ToolFilm.py:434
msgid "Page Size"
msgstr "Taille de la page"
-#: flatcamGUI/PreferencesUI.py:5897 flatcamTools/ToolFilm.py:433
+#: flatcamGUI/PreferencesUI.py:6385 flatcamTools/ToolFilm.py:435
msgid "A selection of standard ISO 216 page sizes."
msgstr "Une sélection de formats de page ISO 216 standard."
-#: flatcamGUI/PreferencesUI.py:5969
+#: flatcamGUI/PreferencesUI.py:6457
msgid "Panelize Tool Options"
msgstr "Options de l'Outil Panéliser"
-#: flatcamGUI/PreferencesUI.py:5975
+#: flatcamGUI/PreferencesUI.py:6463
msgid ""
"Create an object that contains an array of (x, y) elements,\n"
"each element is a copy of the source object spaced\n"
@@ -11468,11 +11899,11 @@ msgstr ""
"chaque élément est une copie de l'objet source espacé\n"
"à une distance X, Y distance les uns des autres."
-#: flatcamGUI/PreferencesUI.py:5992 flatcamTools/ToolPanelize.py:160
+#: flatcamGUI/PreferencesUI.py:6480 flatcamTools/ToolPanelize.py:163
msgid "Spacing cols"
msgstr "Colonnes d'espacement"
-#: flatcamGUI/PreferencesUI.py:5994 flatcamTools/ToolPanelize.py:162
+#: flatcamGUI/PreferencesUI.py:6482 flatcamTools/ToolPanelize.py:165
msgid ""
"Spacing between columns of the desired panel.\n"
"In current units."
@@ -11480,11 +11911,11 @@ msgstr ""
"Espacement entre les colonnes du panneau souhaité.\n"
"En unités actuelles."
-#: flatcamGUI/PreferencesUI.py:6006 flatcamTools/ToolPanelize.py:172
+#: flatcamGUI/PreferencesUI.py:6494 flatcamTools/ToolPanelize.py:175
msgid "Spacing rows"
msgstr "Lignes d'espacement"
-#: flatcamGUI/PreferencesUI.py:6008 flatcamTools/ToolPanelize.py:174
+#: flatcamGUI/PreferencesUI.py:6496 flatcamTools/ToolPanelize.py:177
msgid ""
"Spacing between rows of the desired panel.\n"
"In current units."
@@ -11492,36 +11923,31 @@ msgstr ""
"Espacement entre les lignes du panneau souhaité.\n"
"En unités actuelles."
-#: flatcamGUI/PreferencesUI.py:6019 flatcamTools/ToolPanelize.py:183
+#: flatcamGUI/PreferencesUI.py:6507 flatcamTools/ToolPanelize.py:186
msgid "Columns"
msgstr "Colonnes"
-#: flatcamGUI/PreferencesUI.py:6021 flatcamTools/ToolPanelize.py:185
+#: flatcamGUI/PreferencesUI.py:6509 flatcamTools/ToolPanelize.py:188
msgid "Number of columns of the desired panel"
msgstr "Nombre de colonnes du panneau désiré"
-#: flatcamGUI/PreferencesUI.py:6031 flatcamTools/ToolPanelize.py:193
+#: flatcamGUI/PreferencesUI.py:6519 flatcamTools/ToolPanelize.py:196
msgid "Rows"
msgstr "Lignes"
-#: flatcamGUI/PreferencesUI.py:6033 flatcamTools/ToolPanelize.py:195
+#: flatcamGUI/PreferencesUI.py:6521 flatcamTools/ToolPanelize.py:198
msgid "Number of rows of the desired panel"
msgstr "Nombre de lignes du panneau désiré"
-#: flatcamGUI/PreferencesUI.py:6039 flatcamTools/ToolCalibration.py:196
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolPanelize.py:201
-msgid "Gerber"
-msgstr "Gerber"
-
-#: flatcamGUI/PreferencesUI.py:6040 flatcamTools/ToolPanelize.py:202
+#: flatcamGUI/PreferencesUI.py:6528 flatcamTools/ToolPanelize.py:205
msgid "Geo"
msgstr "Géo"
-#: flatcamGUI/PreferencesUI.py:6041 flatcamTools/ToolPanelize.py:203
+#: flatcamGUI/PreferencesUI.py:6529 flatcamTools/ToolPanelize.py:206
msgid "Panel Type"
msgstr "Type de Panneau"
-#: flatcamGUI/PreferencesUI.py:6043
+#: flatcamGUI/PreferencesUI.py:6531
msgid ""
"Choose the type of object for the panel object:\n"
"- Gerber\n"
@@ -11531,11 +11957,11 @@ msgstr ""
"- Gerber\n"
"- Géométrie"
-#: flatcamGUI/PreferencesUI.py:6052
+#: flatcamGUI/PreferencesUI.py:6540
msgid "Constrain within"
msgstr "Contraindre à l'intérieur"
-#: flatcamGUI/PreferencesUI.py:6054 flatcamTools/ToolPanelize.py:215
+#: flatcamGUI/PreferencesUI.py:6542 flatcamTools/ToolPanelize.py:218
msgid ""
"Area define by DX and DY within to constrain the panel.\n"
"DX and DY values are in current units.\n"
@@ -11549,11 +11975,11 @@ msgstr ""
"le panneau final aura autant de colonnes et de lignes que\n"
"ils correspondent parfaitement à la zone sélectionnée."
-#: flatcamGUI/PreferencesUI.py:6067 flatcamTools/ToolPanelize.py:227
+#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolPanelize.py:230
msgid "Width (DX)"
msgstr "Largeur (DX)"
-#: flatcamGUI/PreferencesUI.py:6069 flatcamTools/ToolPanelize.py:229
+#: flatcamGUI/PreferencesUI.py:6557 flatcamTools/ToolPanelize.py:232
msgid ""
"The width (DX) within which the panel must fit.\n"
"In current units."
@@ -11561,11 +11987,11 @@ msgstr ""
"La largeur (DX) dans laquelle le panneau doit tenir.\n"
"En unités actuelles."
-#: flatcamGUI/PreferencesUI.py:6080 flatcamTools/ToolPanelize.py:238
+#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolPanelize.py:241
msgid "Height (DY)"
msgstr "Hauteur (DY)"
-#: flatcamGUI/PreferencesUI.py:6082 flatcamTools/ToolPanelize.py:240
+#: flatcamGUI/PreferencesUI.py:6570 flatcamTools/ToolPanelize.py:243
msgid ""
"The height (DY)within which the panel must fit.\n"
"In current units."
@@ -11573,15 +11999,15 @@ msgstr ""
"La hauteur (DY) à laquelle le panneau doit s’adapter.\n"
"En unités actuelles."
-#: flatcamGUI/PreferencesUI.py:6096
+#: flatcamGUI/PreferencesUI.py:6584
msgid "Calculators Tool Options"
msgstr "Options de l'Outil Calcul"
-#: flatcamGUI/PreferencesUI.py:6100 flatcamTools/ToolCalculators.py:25
+#: flatcamGUI/PreferencesUI.py:6588 flatcamTools/ToolCalculators.py:25
msgid "V-Shape Tool Calculator"
msgstr "Calculateur d'Outils en V"
-#: flatcamGUI/PreferencesUI.py:6102
+#: flatcamGUI/PreferencesUI.py:6590
msgid ""
"Calculate the tool diameter for a given V-shape tool,\n"
"having the tip diameter, tip angle and\n"
@@ -11591,11 +12017,11 @@ msgstr ""
"ayant le diamètre de la pointe, son angle et\n"
"profondeur de coupe en tant que paramètres."
-#: flatcamGUI/PreferencesUI.py:6117 flatcamTools/ToolCalculators.py:94
+#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolCalculators.py:94
msgid "Tip Diameter"
msgstr "Dia de la pointe"
-#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolCalculators.py:102
+#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolCalculators.py:102
msgid ""
"This is the tool tip diameter.\n"
"It is specified by manufacturer."
@@ -11603,11 +12029,11 @@ msgstr ""
"C'est le diamètre de la pointe de l'outil.\n"
"Il est spécifié par le fabricant."
-#: flatcamGUI/PreferencesUI.py:6131 flatcamTools/ToolCalculators.py:105
+#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolCalculators.py:105
msgid "Tip Angle"
msgstr "Angle de pointe"
-#: flatcamGUI/PreferencesUI.py:6133
+#: flatcamGUI/PreferencesUI.py:6623
msgid ""
"This is the angle on the tip of the tool.\n"
"It is specified by manufacturer."
@@ -11615,7 +12041,7 @@ msgstr ""
"C'est l'angle sur la pointe de l'outil.\n"
"Il est spécifié par le fabricant."
-#: flatcamGUI/PreferencesUI.py:6147
+#: flatcamGUI/PreferencesUI.py:6637
msgid ""
"This is depth to cut into material.\n"
"In the CNCJob object it is the CutZ parameter."
@@ -11623,11 +12049,11 @@ msgstr ""
"C'est la profondeur à couper dans le matériau.\n"
"Dans l'objet CNCJob, il s'agit du paramètre CutZ."
-#: flatcamGUI/PreferencesUI.py:6154 flatcamTools/ToolCalculators.py:27
+#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolCalculators.py:27
msgid "ElectroPlating Calculator"
msgstr "Calculateur d'électrodéposition"
-#: flatcamGUI/PreferencesUI.py:6156 flatcamTools/ToolCalculators.py:158
+#: flatcamGUI/PreferencesUI.py:6646 flatcamTools/ToolCalculators.py:158
msgid ""
"This calculator is useful for those who plate the via/pad/drill holes,\n"
"using a method like grahite ink or calcium hypophosphite ink or palladium "
@@ -11638,27 +12064,27 @@ msgstr ""
"en utilisant une méthode comme l’encre grahite, l’encre hypophosphite de "
"calcium ou le chlorure de palladium."
-#: flatcamGUI/PreferencesUI.py:6170 flatcamTools/ToolCalculators.py:167
+#: flatcamGUI/PreferencesUI.py:6657 flatcamTools/ToolCalculators.py:167
msgid "Board Length"
msgstr "Longueur"
-#: flatcamGUI/PreferencesUI.py:6172 flatcamTools/ToolCalculators.py:173
+#: flatcamGUI/PreferencesUI.py:6659 flatcamTools/ToolCalculators.py:173
msgid "This is the board length. In centimeters."
msgstr "Ceci est la longueur du conseil. En centimètres."
-#: flatcamGUI/PreferencesUI.py:6182 flatcamTools/ToolCalculators.py:175
+#: flatcamGUI/PreferencesUI.py:6669 flatcamTools/ToolCalculators.py:175
msgid "Board Width"
msgstr "Largeur"
-#: flatcamGUI/PreferencesUI.py:6184 flatcamTools/ToolCalculators.py:181
+#: flatcamGUI/PreferencesUI.py:6671 flatcamTools/ToolCalculators.py:181
msgid "This is the board width.In centimeters."
msgstr "C'est la largeur de la planche.En centimètres."
-#: flatcamGUI/PreferencesUI.py:6189 flatcamTools/ToolCalculators.py:183
+#: flatcamGUI/PreferencesUI.py:6676 flatcamTools/ToolCalculators.py:183
msgid "Current Density"
msgstr "Densité de courant"
-#: flatcamGUI/PreferencesUI.py:6195 flatcamTools/ToolCalculators.py:190
+#: flatcamGUI/PreferencesUI.py:6682 flatcamTools/ToolCalculators.py:190
msgid ""
"Current density to pass through the board. \n"
"In Amps per Square Feet ASF."
@@ -11666,11 +12092,11 @@ msgstr ""
"Densité de courant électrique à traverser le tableau.\n"
"En ampères par pieds carrés ASF."
-#: flatcamGUI/PreferencesUI.py:6201 flatcamTools/ToolCalculators.py:193
+#: flatcamGUI/PreferencesUI.py:6688 flatcamTools/ToolCalculators.py:193
msgid "Copper Growth"
msgstr "Croissance du cuivre"
-#: flatcamGUI/PreferencesUI.py:6207 flatcamTools/ToolCalculators.py:200
+#: flatcamGUI/PreferencesUI.py:6694 flatcamTools/ToolCalculators.py:200
msgid ""
"How thick the copper growth is intended to be.\n"
"In microns."
@@ -11678,11 +12104,11 @@ msgstr ""
"Quelle épaisseur doit avoir la croissance du cuivre.\n"
"En microns."
-#: flatcamGUI/PreferencesUI.py:6220
+#: flatcamGUI/PreferencesUI.py:6707
msgid "Transform Tool Options"
msgstr "Options de l'Outil de Transformation"
-#: flatcamGUI/PreferencesUI.py:6226
+#: flatcamGUI/PreferencesUI.py:6713
msgid ""
"Various transformations that can be applied\n"
"on a FlatCAM object."
@@ -11690,19 +12116,19 @@ msgstr ""
"Diverses transformations pouvant être appliquées\n"
"sur un objet FlatCAM."
-#: flatcamGUI/PreferencesUI.py:6257
+#: flatcamGUI/PreferencesUI.py:6744
msgid "Skew"
msgstr "Fausser"
-#: flatcamGUI/PreferencesUI.py:6298 flatcamTools/ToolTransform.py:150
+#: flatcamGUI/PreferencesUI.py:6785 flatcamTools/ToolTransform.py:151
msgid "Factor for scaling on X axis."
msgstr "Facteur de mise à l'échelle sur l'axe X."
-#: flatcamGUI/PreferencesUI.py:6311 flatcamTools/ToolTransform.py:171
+#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolTransform.py:171
msgid "Factor for scaling on Y axis."
msgstr "Facteur de mise à l'échelle sur l'axe Y."
-#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolTransform.py:194
+#: flatcamGUI/PreferencesUI.py:6806 flatcamTools/ToolTransform.py:192
msgid ""
"Scale the selected object(s)\n"
"using the Scale_X factor for both axis."
@@ -11710,7 +12136,7 @@ msgstr ""
"Mettre à l'échelle le ou les objets sélectionnés\n"
"en utilisant le facteur d'échelle X pour les deux axes."
-#: flatcamGUI/PreferencesUI.py:6327 flatcamTools/ToolTransform.py:202
+#: flatcamGUI/PreferencesUI.py:6814 flatcamTools/ToolTransform.py:199
msgid ""
"Scale the selected object(s)\n"
"using the origin reference when checked,\n"
@@ -11722,32 +12148,32 @@ msgstr ""
"et le centre de la plus grande boîte englobante\n"
"des objets sélectionnés lorsqu'il est décoché."
-#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolTransform.py:217
+#: flatcamGUI/PreferencesUI.py:6830 flatcamTools/ToolTransform.py:218
msgid "X val"
msgstr "Valeur X"
-#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolTransform.py:219
+#: flatcamGUI/PreferencesUI.py:6832 flatcamTools/ToolTransform.py:220
msgid "Distance to offset on X axis. In current units."
msgstr "Distance à compenser sur l'axe X. En unités actuelles."
-#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolTransform.py:238
+#: flatcamGUI/PreferencesUI.py:6843 flatcamTools/ToolTransform.py:238
msgid "Y val"
msgstr "Valeur Y"
-#: flatcamGUI/PreferencesUI.py:6358 flatcamTools/ToolTransform.py:240
+#: flatcamGUI/PreferencesUI.py:6845 flatcamTools/ToolTransform.py:240
msgid "Distance to offset on Y axis. In current units."
msgstr "Distance à compenser sur l'axe X. En unités actuelles."
-#: flatcamGUI/PreferencesUI.py:6364 flatcamTools/ToolDblSided.py:62
-#: flatcamTools/ToolDblSided.py:90 flatcamTools/ToolDblSided.py:120
+#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolDblSided.py:68
+#: flatcamTools/ToolDblSided.py:96 flatcamTools/ToolDblSided.py:126
msgid "Mirror"
msgstr "Miroir"
-#: flatcamGUI/PreferencesUI.py:6368 flatcamTools/ToolTransform.py:285
+#: flatcamGUI/PreferencesUI.py:6855 flatcamTools/ToolTransform.py:284
msgid "Mirror Reference"
msgstr "Référence du miroir"
-#: flatcamGUI/PreferencesUI.py:6370 flatcamTools/ToolTransform.py:287
+#: flatcamGUI/PreferencesUI.py:6857 flatcamTools/ToolTransform.py:286
msgid ""
"Flip the selected object(s)\n"
"around the point in Point Entry Field.\n"
@@ -11769,11 +12195,11 @@ msgstr ""
"Ou entrez les coordonnées au format (x, y) dans le champ\n"
"Pointez sur le champ Entrée et cliquez sur Basculer sur X (Y)."
-#: flatcamGUI/PreferencesUI.py:6381
+#: flatcamGUI/PreferencesUI.py:6868
msgid "Mirror Reference point"
msgstr "Miroir Point de référence"
-#: flatcamGUI/PreferencesUI.py:6383
+#: flatcamGUI/PreferencesUI.py:6870
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
@@ -11784,12 +12210,12 @@ 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"
-#: flatcamGUI/PreferencesUI.py:6396 flatcamTools/ToolDistance.py:355
-#: flatcamTools/ToolDistanceMin.py:284 flatcamTools/ToolTransform.py:332
+#: flatcamGUI/PreferencesUI.py:6883 flatcamTools/ToolDistance.py:496
+#: flatcamTools/ToolDistanceMin.py:287 flatcamTools/ToolTransform.py:333
msgid "Distance"
msgstr "Distance"
-#: flatcamGUI/PreferencesUI.py:6398 flatcamTools/ToolTransform.py:334
+#: flatcamGUI/PreferencesUI.py:6885 flatcamTools/ToolTransform.py:335
msgid ""
"A positive value will create the effect of dilation,\n"
"while a negative value will create the effect of erosion.\n"
@@ -11801,12 +12227,26 @@ msgstr ""
"Chaque élément de géométrie de l'objet sera augmenté\n"
"ou diminué avec la «distance»."
-#: flatcamGUI/PreferencesUI.py:6414 flatcamGUI/PreferencesUI.py:7057
-#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:361
+#: flatcamGUI/PreferencesUI.py:6902 flatcamTools/ToolTransform.py:360
+msgid ""
+"A positive value will create the effect of dilation,\n"
+"while a negative value will create the effect of erosion.\n"
+"Each geometry element of the object will be increased\n"
+"or decreased to fit the 'Value'. Value is a percentage\n"
+"of the initial dimension."
+msgstr ""
+"Une valeur positive créera l'effet de dilatation,\n"
+"tandis qu'une valeur négative créera l'effet de l'érosion.\n"
+"Chaque élément de géométrie de l'objet sera augmenté\n"
+"ou diminué pour correspondre à la «valeur». La valeur est un pourcentage\n"
+"de la dimension initiale."
+
+#: flatcamGUI/PreferencesUI.py:6919 flatcamGUI/PreferencesUI.py:7563
+#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:384
msgid "Rounded"
msgstr "Arrondi"
-#: flatcamGUI/PreferencesUI.py:6416 flatcamTools/ToolTransform.py:363
+#: flatcamGUI/PreferencesUI.py:6921 flatcamTools/ToolTransform.py:386
msgid ""
"If checked then the buffer will surround the buffered shape,\n"
"every corner will be rounded.\n"
@@ -11818,11 +12258,11 @@ msgstr ""
"S'il n'est pas coché, le tampon suivra la géométrie exacte\n"
"de la forme tamponnée."
-#: flatcamGUI/PreferencesUI.py:6434
+#: flatcamGUI/PreferencesUI.py:6938
msgid "SolderPaste Tool Options"
msgstr "Options de l'Outil Pâte à souder"
-#: flatcamGUI/PreferencesUI.py:6440
+#: flatcamGUI/PreferencesUI.py:6944
msgid ""
"A tool to create GCode for dispensing\n"
"solder paste onto a PCB."
@@ -11830,47 +12270,43 @@ msgstr ""
"Un outil pour créer le GCode pour la distribution\n"
"souder la pâte sur un PCB."
-#: flatcamGUI/PreferencesUI.py:6451
-msgid "Diameters of nozzle tools, separated by ','"
-msgstr "Diamètres des outils de buse, séparés par ','"
-
-#: flatcamGUI/PreferencesUI.py:6459
+#: flatcamGUI/PreferencesUI.py:6965
msgid "New Nozzle Dia"
msgstr "Nouvelle Buse Dia"
-#: flatcamGUI/PreferencesUI.py:6461 flatcamTools/ToolSolderPaste.py:106
+#: flatcamGUI/PreferencesUI.py:6967 flatcamTools/ToolSolderPaste.py:108
msgid "Diameter for the new Nozzle tool to add in the Tool Table"
msgstr "Diamètre du nouvel outil Buse à ajouter dans le tableau des outils"
-#: flatcamGUI/PreferencesUI.py:6477 flatcamTools/ToolSolderPaste.py:182
+#: flatcamGUI/PreferencesUI.py:6983 flatcamTools/ToolSolderPaste.py:184
msgid "Z Dispense Start"
msgstr "Z début de la distribution"
-#: flatcamGUI/PreferencesUI.py:6479 flatcamTools/ToolSolderPaste.py:184
+#: flatcamGUI/PreferencesUI.py:6985 flatcamTools/ToolSolderPaste.py:186
msgid "The height (Z) when solder paste dispensing starts."
msgstr "La hauteur (Z) au début de la distribution de la pâte à braser."
-#: flatcamGUI/PreferencesUI.py:6490 flatcamTools/ToolSolderPaste.py:194
+#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolSolderPaste.py:196
msgid "Z Dispense"
msgstr "Z dispenser"
-#: flatcamGUI/PreferencesUI.py:6492 flatcamTools/ToolSolderPaste.py:196
+#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolSolderPaste.py:198
msgid "The height (Z) when doing solder paste dispensing."
msgstr "La hauteur (Z) lors de la distribution de la pâte à braser."
-#: flatcamGUI/PreferencesUI.py:6503 flatcamTools/ToolSolderPaste.py:206
+#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolSolderPaste.py:208
msgid "Z Dispense Stop"
msgstr "Z arrêt de distribution"
-#: flatcamGUI/PreferencesUI.py:6505 flatcamTools/ToolSolderPaste.py:208
+#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolSolderPaste.py:210
msgid "The height (Z) when solder paste dispensing stops."
msgstr "La hauteur (Z) lorsque la distribution de la pâte à braser s’arrête."
-#: flatcamGUI/PreferencesUI.py:6516 flatcamTools/ToolSolderPaste.py:218
+#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolSolderPaste.py:220
msgid "Z Travel"
msgstr "Z Voyage"
-#: flatcamGUI/PreferencesUI.py:6518 flatcamTools/ToolSolderPaste.py:220
+#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolSolderPaste.py:222
msgid ""
"The height (Z) for travel between pads\n"
"(without dispensing solder paste)."
@@ -11878,15 +12314,15 @@ msgstr ""
"La hauteur (Z) pour le déplacement entre les patins\n"
"(sans distribution de pâte à braser)."
-#: flatcamGUI/PreferencesUI.py:6530 flatcamTools/ToolSolderPaste.py:231
+#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolSolderPaste.py:233
msgid "Z Toolchange"
msgstr "Changement d'outil Z"
-#: flatcamGUI/PreferencesUI.py:6532 flatcamTools/ToolSolderPaste.py:233
+#: flatcamGUI/PreferencesUI.py:7038 flatcamTools/ToolSolderPaste.py:235
msgid "The height (Z) for tool (nozzle) change."
msgstr "La hauteur (Z) de l'outil (buse) change."
-#: flatcamGUI/PreferencesUI.py:6541 flatcamTools/ToolSolderPaste.py:241
+#: flatcamGUI/PreferencesUI.py:7047 flatcamTools/ToolSolderPaste.py:243
msgid ""
"The X,Y location for tool (nozzle) change.\n"
"The format is (x, y) where x and y are real numbers."
@@ -11894,11 +12330,11 @@ msgstr ""
"L'emplacement X, Y de l'outil (buse) change.\n"
"Le format est (x, y) où x et y sont des nombres réels."
-#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolSolderPaste.py:254
+#: flatcamGUI/PreferencesUI.py:7061 flatcamTools/ToolSolderPaste.py:256
msgid "Feedrate (speed) while moving on the X-Y plane."
msgstr "Avance (vitesse) en se déplaçant sur le plan X-Y."
-#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolSolderPaste.py:266
+#: flatcamGUI/PreferencesUI.py:7074 flatcamTools/ToolSolderPaste.py:268
msgid ""
"Feedrate (speed) while moving vertically\n"
"(on Z plane)."
@@ -11906,11 +12342,11 @@ msgstr ""
"Avance (vitesse) en se déplaçant verticalement\n"
"(sur le plan Z)."
-#: flatcamGUI/PreferencesUI.py:6580 flatcamTools/ToolSolderPaste.py:277
+#: flatcamGUI/PreferencesUI.py:7086 flatcamTools/ToolSolderPaste.py:279
msgid "Feedrate Z Dispense"
msgstr "Avance Z Distribution"
-#: flatcamGUI/PreferencesUI.py:6582
+#: flatcamGUI/PreferencesUI.py:7088
msgid ""
"Feedrate (speed) while moving up vertically\n"
"to Dispense position (on Z plane)."
@@ -11918,11 +12354,11 @@ msgstr ""
"Avance (vitesse) en montant verticalement\n"
"position de distribution (sur le plan Z)."
-#: flatcamGUI/PreferencesUI.py:6593 flatcamTools/ToolSolderPaste.py:289
+#: flatcamGUI/PreferencesUI.py:7099 flatcamTools/ToolSolderPaste.py:291
msgid "Spindle Speed FWD"
msgstr "Vitesse de Rot FWD"
-#: flatcamGUI/PreferencesUI.py:6595 flatcamTools/ToolSolderPaste.py:291
+#: flatcamGUI/PreferencesUI.py:7101 flatcamTools/ToolSolderPaste.py:293
msgid ""
"The dispenser speed while pushing solder paste\n"
"through the dispenser nozzle."
@@ -11930,19 +12366,19 @@ msgstr ""
"La vitesse du distributeur en poussant la pâte à souder\n"
"à travers la buse du distributeur."
-#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolSolderPaste.py:302
+#: flatcamGUI/PreferencesUI.py:7113 flatcamTools/ToolSolderPaste.py:304
msgid "Dwell FWD"
msgstr "Habiter AVANT"
-#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolSolderPaste.py:304
+#: flatcamGUI/PreferencesUI.py:7115 flatcamTools/ToolSolderPaste.py:306
msgid "Pause after solder dispensing."
msgstr "Pause après la distribution de la brasure."
-#: flatcamGUI/PreferencesUI.py:6619 flatcamTools/ToolSolderPaste.py:313
+#: flatcamGUI/PreferencesUI.py:7125 flatcamTools/ToolSolderPaste.py:315
msgid "Spindle Speed REV"
msgstr "Vitesse du moteur en REV"
-#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolSolderPaste.py:315
+#: flatcamGUI/PreferencesUI.py:7127 flatcamTools/ToolSolderPaste.py:317
msgid ""
"The dispenser speed while retracting solder paste\n"
"through the dispenser nozzle."
@@ -11950,11 +12386,11 @@ msgstr ""
"La vitesse du distributeur lors du retrait de la pâte à souder\n"
"à travers la buse du distributeur."
-#: flatcamGUI/PreferencesUI.py:6633 flatcamTools/ToolSolderPaste.py:326
+#: flatcamGUI/PreferencesUI.py:7139 flatcamTools/ToolSolderPaste.py:328
msgid "Dwell REV"
msgstr "Habiter INVERSE"
-#: flatcamGUI/PreferencesUI.py:6635 flatcamTools/ToolSolderPaste.py:328
+#: flatcamGUI/PreferencesUI.py:7141 flatcamTools/ToolSolderPaste.py:330
msgid ""
"Pause after solder paste dispenser retracted,\n"
"to allow pressure equilibrium."
@@ -11962,15 +12398,15 @@ msgstr ""
"Pause après rétraction du distributeur de pâte à souder,\n"
"permettre l'équilibre de la pression."
-#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolSolderPaste.py:336
+#: flatcamGUI/PreferencesUI.py:7150 flatcamTools/ToolSolderPaste.py:338
msgid "Files that control the GCode generation."
msgstr "Fichiers qui contrôlent la génération de GCode."
-#: flatcamGUI/PreferencesUI.py:6659
+#: flatcamGUI/PreferencesUI.py:7165
msgid "Substractor Tool Options"
msgstr "Options de l'Outil Soustracteur"
-#: flatcamGUI/PreferencesUI.py:6665
+#: flatcamGUI/PreferencesUI.py:7171
msgid ""
"A tool to substract one Gerber or Geometry object\n"
"from another of the same type."
@@ -11978,22 +12414,22 @@ msgstr ""
"Un outil pour soustraire un objet Gerber ou Geometry\n"
"d'un autre du même type."
-#: flatcamGUI/PreferencesUI.py:6670 flatcamTools/ToolSub.py:149
+#: flatcamGUI/PreferencesUI.py:7176 flatcamTools/ToolSub.py:155
msgid "Close paths"
msgstr "Fermer les chemins"
-#: flatcamGUI/PreferencesUI.py:6671
+#: flatcamGUI/PreferencesUI.py:7177
msgid ""
"Checking this will close the paths cut by the Geometry substractor object."
msgstr ""
"En cochant cette case, vous fermez les chemins coupés par l'objet "
"soustracteur de géométrie."
-#: flatcamGUI/PreferencesUI.py:6682
+#: flatcamGUI/PreferencesUI.py:7188
msgid "Check Rules Tool Options"
msgstr "Options de l'outil de Vérif. des Règles"
-#: flatcamGUI/PreferencesUI.py:6687
+#: flatcamGUI/PreferencesUI.py:7193
msgid ""
"A tool to check if Gerber files are within a set\n"
"of Manufacturing Rules."
@@ -12001,38 +12437,38 @@ msgstr ""
"Un outil pour vérifier si les fichiers Gerber sont dans un ensemble\n"
"des règles de fabrication."
-#: flatcamGUI/PreferencesUI.py:6697 flatcamTools/ToolRulesCheck.py:256
-#: flatcamTools/ToolRulesCheck.py:920
+#: flatcamGUI/PreferencesUI.py:7203 flatcamTools/ToolRulesCheck.py:265
+#: flatcamTools/ToolRulesCheck.py:929
msgid "Trace Size"
msgstr "Taille de trace"
-#: flatcamGUI/PreferencesUI.py:6699 flatcamTools/ToolRulesCheck.py:258
+#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolRulesCheck.py:267
msgid "This checks if the minimum size for traces is met."
msgstr "Ceci vérifie si la taille minimale des traces est respectée."
-#: flatcamGUI/PreferencesUI.py:6709 flatcamGUI/PreferencesUI.py:6729
-#: flatcamGUI/PreferencesUI.py:6749 flatcamGUI/PreferencesUI.py:6769
-#: flatcamGUI/PreferencesUI.py:6789 flatcamGUI/PreferencesUI.py:6809
-#: flatcamGUI/PreferencesUI.py:6829 flatcamGUI/PreferencesUI.py:6849
-#: flatcamGUI/PreferencesUI.py:6871 flatcamGUI/PreferencesUI.py:6891
-#: flatcamTools/ToolRulesCheck.py:268 flatcamTools/ToolRulesCheck.py:290
-#: flatcamTools/ToolRulesCheck.py:313 flatcamTools/ToolRulesCheck.py:336
-#: flatcamTools/ToolRulesCheck.py:359 flatcamTools/ToolRulesCheck.py:382
-#: flatcamTools/ToolRulesCheck.py:405 flatcamTools/ToolRulesCheck.py:428
-#: flatcamTools/ToolRulesCheck.py:453 flatcamTools/ToolRulesCheck.py:476
+#: flatcamGUI/PreferencesUI.py:7215 flatcamGUI/PreferencesUI.py:7235
+#: flatcamGUI/PreferencesUI.py:7255 flatcamGUI/PreferencesUI.py:7275
+#: flatcamGUI/PreferencesUI.py:7295 flatcamGUI/PreferencesUI.py:7315
+#: flatcamGUI/PreferencesUI.py:7335 flatcamGUI/PreferencesUI.py:7355
+#: flatcamGUI/PreferencesUI.py:7377 flatcamGUI/PreferencesUI.py:7397
+#: flatcamTools/ToolRulesCheck.py:277 flatcamTools/ToolRulesCheck.py:299
+#: flatcamTools/ToolRulesCheck.py:322 flatcamTools/ToolRulesCheck.py:345
+#: flatcamTools/ToolRulesCheck.py:368 flatcamTools/ToolRulesCheck.py:391
+#: flatcamTools/ToolRulesCheck.py:414 flatcamTools/ToolRulesCheck.py:437
+#: flatcamTools/ToolRulesCheck.py:462 flatcamTools/ToolRulesCheck.py:485
msgid "Min value"
msgstr "Valeur min"
-#: flatcamGUI/PreferencesUI.py:6711 flatcamTools/ToolRulesCheck.py:270
+#: flatcamGUI/PreferencesUI.py:7217 flatcamTools/ToolRulesCheck.py:279
msgid "Minimum acceptable trace size."
msgstr "Taille de trace minimale acceptable."
-#: flatcamGUI/PreferencesUI.py:6716 flatcamTools/ToolRulesCheck.py:277
-#: flatcamTools/ToolRulesCheck.py:1148 flatcamTools/ToolRulesCheck.py:1178
+#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolRulesCheck.py:286
+#: flatcamTools/ToolRulesCheck.py:1157 flatcamTools/ToolRulesCheck.py:1187
msgid "Copper to Copper clearance"
msgstr "Distance de cuivre à cuivre"
-#: flatcamGUI/PreferencesUI.py:6718 flatcamTools/ToolRulesCheck.py:279
+#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolRulesCheck.py:288
msgid ""
"This checks if the minimum clearance between copper\n"
"features is met."
@@ -12040,23 +12476,23 @@ msgstr ""
"Ceci vérifie si le jeu minimum entre le cuivre\n"
"traces est rencontré."
-#: flatcamGUI/PreferencesUI.py:6731 flatcamGUI/PreferencesUI.py:6751
-#: flatcamGUI/PreferencesUI.py:6771 flatcamGUI/PreferencesUI.py:6791
-#: flatcamGUI/PreferencesUI.py:6811 flatcamGUI/PreferencesUI.py:6831
-#: flatcamGUI/PreferencesUI.py:6893 flatcamTools/ToolRulesCheck.py:292
-#: flatcamTools/ToolRulesCheck.py:315 flatcamTools/ToolRulesCheck.py:338
-#: flatcamTools/ToolRulesCheck.py:361 flatcamTools/ToolRulesCheck.py:384
-#: flatcamTools/ToolRulesCheck.py:407 flatcamTools/ToolRulesCheck.py:455
+#: flatcamGUI/PreferencesUI.py:7237 flatcamGUI/PreferencesUI.py:7257
+#: flatcamGUI/PreferencesUI.py:7277 flatcamGUI/PreferencesUI.py:7297
+#: flatcamGUI/PreferencesUI.py:7317 flatcamGUI/PreferencesUI.py:7337
+#: flatcamGUI/PreferencesUI.py:7399 flatcamTools/ToolRulesCheck.py:301
+#: flatcamTools/ToolRulesCheck.py:324 flatcamTools/ToolRulesCheck.py:347
+#: flatcamTools/ToolRulesCheck.py:370 flatcamTools/ToolRulesCheck.py:393
+#: flatcamTools/ToolRulesCheck.py:416 flatcamTools/ToolRulesCheck.py:464
msgid "Minimum acceptable clearance value."
msgstr "Distance minimale acceptable."
-#: flatcamGUI/PreferencesUI.py:6736 flatcamTools/ToolRulesCheck.py:300
-#: flatcamTools/ToolRulesCheck.py:1208 flatcamTools/ToolRulesCheck.py:1214
-#: flatcamTools/ToolRulesCheck.py:1227 flatcamTools/ToolRulesCheck.py:1234
+#: flatcamGUI/PreferencesUI.py:7242 flatcamTools/ToolRulesCheck.py:309
+#: flatcamTools/ToolRulesCheck.py:1217 flatcamTools/ToolRulesCheck.py:1223
+#: flatcamTools/ToolRulesCheck.py:1236 flatcamTools/ToolRulesCheck.py:1243
msgid "Copper to Outline clearance"
msgstr "Cuivre à la distance de contour"
-#: flatcamGUI/PreferencesUI.py:6738 flatcamTools/ToolRulesCheck.py:302
+#: flatcamGUI/PreferencesUI.py:7244 flatcamTools/ToolRulesCheck.py:311
msgid ""
"This checks if the minimum clearance between copper\n"
"features and the outline is met."
@@ -12064,11 +12500,11 @@ msgstr ""
"Ceci vérifie si la distance minimale entre le cuivre\n"
"traces et le contour est rencontré."
-#: flatcamGUI/PreferencesUI.py:6756 flatcamTools/ToolRulesCheck.py:323
+#: flatcamGUI/PreferencesUI.py:7262 flatcamTools/ToolRulesCheck.py:332
msgid "Silk to Silk Clearance"
msgstr "Sérigraphie à sérigraphie distance"
-#: flatcamGUI/PreferencesUI.py:6758 flatcamTools/ToolRulesCheck.py:325
+#: flatcamGUI/PreferencesUI.py:7264 flatcamTools/ToolRulesCheck.py:334
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and silkscreen features is met."
@@ -12076,13 +12512,13 @@ msgstr ""
"Ceci vérifie si la distance minimale entre sérigraphie\n"
"les fonctionnalités et les fonctions de sérigraphie sont remplies."
-#: flatcamGUI/PreferencesUI.py:6776 flatcamTools/ToolRulesCheck.py:346
-#: flatcamTools/ToolRulesCheck.py:1317 flatcamTools/ToolRulesCheck.py:1323
-#: flatcamTools/ToolRulesCheck.py:1341
+#: flatcamGUI/PreferencesUI.py:7282 flatcamTools/ToolRulesCheck.py:355
+#: flatcamTools/ToolRulesCheck.py:1326 flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1350
msgid "Silk to Solder Mask Clearance"
msgstr "Distance de sérigraphie à masque de soudure"
-#: flatcamGUI/PreferencesUI.py:6778 flatcamTools/ToolRulesCheck.py:348
+#: flatcamGUI/PreferencesUI.py:7284 flatcamTools/ToolRulesCheck.py:357
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and soldermask features is met."
@@ -12090,13 +12526,13 @@ msgstr ""
"Ceci vérifie si la distance minimale entre sérigraphie\n"
"les fonctionnalités et les fonctionnalités soldermask sont remplies."
-#: flatcamGUI/PreferencesUI.py:6796 flatcamTools/ToolRulesCheck.py:369
-#: flatcamTools/ToolRulesCheck.py:1371 flatcamTools/ToolRulesCheck.py:1377
-#: flatcamTools/ToolRulesCheck.py:1391 flatcamTools/ToolRulesCheck.py:1398
+#: flatcamGUI/PreferencesUI.py:7302 flatcamTools/ToolRulesCheck.py:378
+#: flatcamTools/ToolRulesCheck.py:1380 flatcamTools/ToolRulesCheck.py:1386
+#: flatcamTools/ToolRulesCheck.py:1400 flatcamTools/ToolRulesCheck.py:1407
msgid "Silk to Outline Clearance"
msgstr "Sérigraphie à contour distance"
-#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolRulesCheck.py:371
+#: flatcamGUI/PreferencesUI.py:7304 flatcamTools/ToolRulesCheck.py:380
msgid ""
"This checks if the minimum clearance between silk\n"
"features and the outline is met."
@@ -12104,12 +12540,12 @@ msgstr ""
"Ceci vérifie si la distance minimale entre sérigraphie\n"
"traces et le contour est rencontré."
-#: flatcamGUI/PreferencesUI.py:6816 flatcamTools/ToolRulesCheck.py:392
-#: flatcamTools/ToolRulesCheck.py:1409 flatcamTools/ToolRulesCheck.py:1436
+#: flatcamGUI/PreferencesUI.py:7322 flatcamTools/ToolRulesCheck.py:401
+#: flatcamTools/ToolRulesCheck.py:1418 flatcamTools/ToolRulesCheck.py:1445
msgid "Minimum Solder Mask Sliver"
msgstr "Ruban de masque de soudure minimum"
-#: flatcamGUI/PreferencesUI.py:6818 flatcamTools/ToolRulesCheck.py:394
+#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolRulesCheck.py:403
msgid ""
"This checks if the minimum clearance between soldermask\n"
"features and soldermask features is met."
@@ -12117,13 +12553,13 @@ msgstr ""
"Cette vérifie si la distance minimale entre soldermask\n"
"traces et soldermask traces est rencontré."
-#: flatcamGUI/PreferencesUI.py:6836 flatcamTools/ToolRulesCheck.py:415
-#: flatcamTools/ToolRulesCheck.py:1474 flatcamTools/ToolRulesCheck.py:1480
-#: flatcamTools/ToolRulesCheck.py:1496 flatcamTools/ToolRulesCheck.py:1503
+#: flatcamGUI/PreferencesUI.py:7342 flatcamTools/ToolRulesCheck.py:424
+#: flatcamTools/ToolRulesCheck.py:1483 flatcamTools/ToolRulesCheck.py:1489
+#: flatcamTools/ToolRulesCheck.py:1505 flatcamTools/ToolRulesCheck.py:1512
msgid "Minimum Annular Ring"
msgstr "Anneau Minimum"
-#: flatcamGUI/PreferencesUI.py:6838 flatcamTools/ToolRulesCheck.py:417
+#: flatcamGUI/PreferencesUI.py:7344 flatcamTools/ToolRulesCheck.py:426
msgid ""
"This checks if the minimum copper ring left by drilling\n"
"a hole into a pad is met."
@@ -12131,16 +12567,16 @@ msgstr ""
"Ceci vérifie si l'anneau de cuivre minimum laissé par le forage\n"
"un trou dans un pad est rencontré."
-#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolRulesCheck.py:430
+#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolRulesCheck.py:439
msgid "Minimum acceptable ring value."
msgstr "Valeur de sonnerie minimale acceptable."
-#: flatcamGUI/PreferencesUI.py:6858 flatcamTools/ToolRulesCheck.py:440
-#: flatcamTools/ToolRulesCheck.py:864
+#: flatcamGUI/PreferencesUI.py:7364 flatcamTools/ToolRulesCheck.py:449
+#: flatcamTools/ToolRulesCheck.py:873
msgid "Hole to Hole Clearance"
msgstr "Distance trou à trou"
-#: flatcamGUI/PreferencesUI.py:6860 flatcamTools/ToolRulesCheck.py:442
+#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolRulesCheck.py:451
msgid ""
"This checks if the minimum clearance between a drill hole\n"
"and another drill hole is met."
@@ -12148,16 +12584,16 @@ msgstr ""
"Ceci vérifie si le jeu minimum entre un trou de forage\n"
"et un autre trou de forage est rencontré."
-#: flatcamGUI/PreferencesUI.py:6873 flatcamTools/ToolRulesCheck.py:478
+#: flatcamGUI/PreferencesUI.py:7379 flatcamTools/ToolRulesCheck.py:487
msgid "Minimum acceptable drill size."
msgstr "Taille minimale acceptable du foret."
-#: flatcamGUI/PreferencesUI.py:6878 flatcamTools/ToolRulesCheck.py:463
-#: flatcamTools/ToolRulesCheck.py:838
+#: flatcamGUI/PreferencesUI.py:7384 flatcamTools/ToolRulesCheck.py:472
+#: flatcamTools/ToolRulesCheck.py:847
msgid "Hole Size"
msgstr "Taille du trou"
-#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolRulesCheck.py:465
+#: flatcamGUI/PreferencesUI.py:7386 flatcamTools/ToolRulesCheck.py:474
msgid ""
"This checks if the drill holes\n"
"sizes are above the threshold."
@@ -12165,11 +12601,11 @@ msgstr ""
"Ceci vérifie si les trous de forage\n"
"les tailles sont au dessus du seuil."
-#: flatcamGUI/PreferencesUI.py:6905
+#: flatcamGUI/PreferencesUI.py:7411
msgid "Optimal Tool Options"
msgstr "Options de l'outil 'Optimal'"
-#: flatcamGUI/PreferencesUI.py:6911
+#: flatcamGUI/PreferencesUI.py:7417
msgid ""
"A tool to find the minimum distance between\n"
"every two Gerber geometric elements"
@@ -12177,20 +12613,20 @@ msgstr ""
"Un outil pour trouver la distance minimale entre\n"
"tous les deux éléments géométriques de Gerber"
-#: flatcamGUI/PreferencesUI.py:6926 flatcamTools/ToolOptimal.py:78
+#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolOptimal.py:79
msgid "Precision"
msgstr "Précision"
-#: flatcamGUI/PreferencesUI.py:6928
+#: flatcamGUI/PreferencesUI.py:7434
msgid "Number of decimals for the distances and coordinates in this tool."
msgstr ""
"Nombre de décimales pour les distances et les coordonnées dans cet outil."
-#: flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7448
msgid "QRCode Tool Options"
msgstr "Options de l'outil QRCode"
-#: flatcamGUI/PreferencesUI.py:6948
+#: flatcamGUI/PreferencesUI.py:7454
msgid ""
"A tool to create a QRCode that can be inserted\n"
"into a selected Gerber file, or it can be exported as a file."
@@ -12199,11 +12635,11 @@ msgstr ""
"dans un fichier Gerber sélectionné, ou il peut être exporté en tant que "
"fichier."
-#: flatcamGUI/PreferencesUI.py:6960 flatcamTools/ToolQRCode.py:99
+#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolQRCode.py:100
msgid "Version"
msgstr "Version"
-#: flatcamGUI/PreferencesUI.py:6962 flatcamTools/ToolQRCode.py:101
+#: flatcamGUI/PreferencesUI.py:7468 flatcamTools/ToolQRCode.py:102
msgid ""
"QRCode version can have values from 1 (21x21 boxes)\n"
"to 40 (177x177 boxes)."
@@ -12211,12 +12647,12 @@ msgstr ""
"La version QRCode peut avoir des valeurs de 1 (éléments 21x21)\n"
"jusqu'à 40 (éléments 177x177)."
-#: flatcamGUI/PreferencesUI.py:6973 flatcamTools/ToolQRCode.py:112
+#: flatcamGUI/PreferencesUI.py:7479 flatcamTools/ToolQRCode.py:113
msgid "Error correction"
msgstr "Correction des erreurs"
-#: flatcamGUI/PreferencesUI.py:6975 flatcamGUI/PreferencesUI.py:6986
-#: flatcamTools/ToolQRCode.py:114 flatcamTools/ToolQRCode.py:125
+#: flatcamGUI/PreferencesUI.py:7481 flatcamGUI/PreferencesUI.py:7492
+#: flatcamTools/ToolQRCode.py:115 flatcamTools/ToolQRCode.py:126
#, python-format
msgid ""
"Parameter that controls the error correction used for the QR Code.\n"
@@ -12231,11 +12667,11 @@ msgstr ""
"Q = 25 %% maximum d'erreurs peuvent être corrigées\n"
"H = maximum 30 %% d'erreurs peuvent être corrigées."
-#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolQRCode.py:135
+#: flatcamGUI/PreferencesUI.py:7502 flatcamTools/ToolQRCode.py:136
msgid "Box Size"
msgstr "Taille d'élément"
-#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolQRCode.py:137
+#: flatcamGUI/PreferencesUI.py:7504 flatcamTools/ToolQRCode.py:138
msgid ""
"Box size control the overall size of the QRcode\n"
"by adjusting the size of each box in the code."
@@ -12243,11 +12679,11 @@ msgstr ""
"La taille de l'élément contrôle la taille globale du QRcode\n"
"en ajustant la taille de chaque case du code."
-#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolQRCode.py:148
+#: flatcamGUI/PreferencesUI.py:7515 flatcamTools/ToolQRCode.py:149
msgid "Border Size"
msgstr "Taille de bordure"
-#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolQRCode.py:150
+#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolQRCode.py:151
msgid ""
"Size of the QRCode border. How many boxes thick is the border.\n"
"Default value is 4. The width of the clearance around the QRCode."
@@ -12255,23 +12691,23 @@ msgstr ""
"Taille de la bordure QRCode. Combien d'éléments sont épais la bordure.\n"
"La valeur par défaut est 4. La largeur du jeu autour du QRCode."
-#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolQRCode.py:162
+#: flatcamGUI/PreferencesUI.py:7528 flatcamTools/ToolQRCode.py:162
msgid "QRCode Data"
msgstr "Données QRCode"
-#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolQRCode.py:164
+#: flatcamGUI/PreferencesUI.py:7530 flatcamTools/ToolQRCode.py:164
msgid "QRCode Data. Alphanumeric text to be encoded in the QRCode."
msgstr "Données QRCode. Texte alphanumérique à encoder dans le QRCode."
-#: flatcamGUI/PreferencesUI.py:7028 flatcamTools/ToolQRCode.py:168
+#: flatcamGUI/PreferencesUI.py:7534 flatcamTools/ToolQRCode.py:168
msgid "Add here the text to be included in the QRCode..."
msgstr "Ajoutez ici le texte à inclure dans le QRCode ..."
-#: flatcamGUI/PreferencesUI.py:7034 flatcamTools/ToolQRCode.py:174
+#: flatcamGUI/PreferencesUI.py:7540 flatcamTools/ToolQRCode.py:174
msgid "Polarity"
msgstr "Polarité"
-#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolQRCode.py:176
+#: flatcamGUI/PreferencesUI.py:7542 flatcamTools/ToolQRCode.py:176
msgid ""
"Choose the polarity of the QRCode.\n"
"It can be drawn in a negative way (squares are clear)\n"
@@ -12281,17 +12717,17 @@ msgstr ""
"Il peut être dessiné de manière négative (les carrés sont clairs)\n"
"ou d'une manière positive (les carrés sont opaques)."
-#: flatcamGUI/PreferencesUI.py:7040 flatcamTools/ToolFilm.py:296
+#: flatcamGUI/PreferencesUI.py:7546 flatcamTools/ToolFilm.py:296
#: flatcamTools/ToolQRCode.py:180
msgid "Negative"
msgstr "Négatif"
-#: flatcamGUI/PreferencesUI.py:7041 flatcamTools/ToolFilm.py:295
+#: flatcamGUI/PreferencesUI.py:7547 flatcamTools/ToolFilm.py:295
#: flatcamTools/ToolQRCode.py:181
msgid "Positive"
msgstr "Positif"
-#: flatcamGUI/PreferencesUI.py:7043 flatcamTools/ToolQRCode.py:183
+#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolQRCode.py:183
msgid ""
"Choose the type of QRCode to be created.\n"
"If added on a Silkscreen Gerber file the QRCode may\n"
@@ -12303,7 +12739,7 @@ msgstr ""
"être ajouté comme positif. S'il est ajouté à un Gerber de cuivre\n"
"fichier alors peut-être le QRCode peut être ajouté comme négatif."
-#: flatcamGUI/PreferencesUI.py:7054 flatcamGUI/PreferencesUI.py:7060
+#: flatcamGUI/PreferencesUI.py:7560 flatcamGUI/PreferencesUI.py:7566
#: flatcamTools/ToolQRCode.py:194 flatcamTools/ToolQRCode.py:200
msgid ""
"The bounding box, meaning the empty space that surrounds\n"
@@ -12312,27 +12748,27 @@ msgstr ""
"La boîte englobante, ce qui signifie l'espace vide qui entoure\n"
"la géométrie QRCode, peut avoir une forme arrondie ou carrée."
-#: flatcamGUI/PreferencesUI.py:7067 flatcamTools/ToolQRCode.py:228
+#: flatcamGUI/PreferencesUI.py:7573 flatcamTools/ToolQRCode.py:228
msgid "Fill Color"
msgstr "La couleur de remplissage"
-#: flatcamGUI/PreferencesUI.py:7069 flatcamTools/ToolQRCode.py:230
+#: flatcamGUI/PreferencesUI.py:7575 flatcamTools/ToolQRCode.py:230
msgid "Set the QRCode fill color (squares color)."
msgstr "Définissez la couleur de remplissage QRCode (couleur des éléments)."
-#: flatcamGUI/PreferencesUI.py:7088 flatcamTools/ToolQRCode.py:252
+#: flatcamGUI/PreferencesUI.py:7594 flatcamTools/ToolQRCode.py:252
msgid "Back Color"
msgstr "Couleur de fond"
-#: flatcamGUI/PreferencesUI.py:7090 flatcamTools/ToolQRCode.py:254
+#: flatcamGUI/PreferencesUI.py:7596 flatcamTools/ToolQRCode.py:254
msgid "Set the QRCode background color."
msgstr "Définissez la couleur d'arrière-plan QRCode."
-#: flatcamGUI/PreferencesUI.py:7130
+#: flatcamGUI/PreferencesUI.py:7636
msgid "Copper Thieving Tool Options"
msgstr "Options d'outils de Copper Thieving"
-#: flatcamGUI/PreferencesUI.py:7142
+#: flatcamGUI/PreferencesUI.py:7648
msgid ""
"A tool to generate a Copper Thieving that can be added\n"
"to a selected Gerber file."
@@ -12340,16 +12776,16 @@ msgstr ""
"Un outil pour générer un Copper Thieving qui peut être ajouté\n"
"dans un fichier Gerber sélectionné."
-#: flatcamGUI/PreferencesUI.py:7150
+#: flatcamGUI/PreferencesUI.py:7656
msgid "Number of steps (lines) used to interpolate circles."
msgstr "Nombre d'étapes (lignes) utilisées pour interpoler les cercles."
-#: flatcamGUI/PreferencesUI.py:7160 flatcamGUI/PreferencesUI.py:7364
-#: flatcamTools/ToolCopperThieving.py:96 flatcamTools/ToolCopperThieving.py:429
+#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7870
+#: flatcamTools/ToolCopperThieving.py:97 flatcamTools/ToolCopperThieving.py:432
msgid "Clearance"
msgstr "Dégagement"
-#: flatcamGUI/PreferencesUI.py:7162
+#: flatcamGUI/PreferencesUI.py:7668
msgid ""
"This set the distance between the copper Thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
@@ -12359,22 +12795,11 @@ msgstr ""
"(le remplissage du polygone peut être divisé en plusieurs polygones)\n"
"et les traces de cuivre dans le fichier Gerber."
-#: flatcamGUI/PreferencesUI.py:7190 flatcamTools/ToolCopperThieving.py:126
-#: flatcamTools/ToolNonCopperClear.py:430 flatcamTools/ToolPaint.py:308
-msgid "Area Selection"
-msgstr "Sélection de zone"
-
-#: flatcamGUI/PreferencesUI.py:7191 flatcamTools/ToolCopperThieving.py:127
-#: flatcamTools/ToolNonCopperClear.py:431 flatcamTools/ToolPaint.py:310
-msgid "Reference Object"
-msgstr "Objet de référence"
-
-#: flatcamGUI/PreferencesUI.py:7193 flatcamTools/ToolCopperThieving.py:129
-#: flatcamTools/ToolNonCopperClear.py:433
+#: flatcamGUI/PreferencesUI.py:7699 flatcamTools/ToolCopperThieving.py:130
msgid "Reference:"
msgstr "Référence:"
-#: flatcamGUI/PreferencesUI.py:7195
+#: flatcamGUI/PreferencesUI.py:7701
msgid ""
"- 'Itself' - the copper Thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
@@ -12389,20 +12814,24 @@ msgstr ""
"- «Objet de référence» - effectuera un vol de cuivre dans la zone spécifiée "
"par un autre objet."
-#: flatcamGUI/PreferencesUI.py:7204 flatcamTools/ToolCopperThieving.py:170
+#: flatcamGUI/PreferencesUI.py:7710 flatcamGUI/PreferencesUI.py:8175
+#: flatcamGUI/PreferencesUI.py:8287 flatcamGUI/PreferencesUI.py:8387
+#: flatcamGUI/PreferencesUI.py:8501 flatcamTools/ToolCopperThieving.py:172
+#: flatcamTools/ToolExtractDrills.py:102 flatcamTools/ToolExtractDrills.py:240
+#: flatcamTools/ToolPunchGerber.py:113 flatcamTools/ToolPunchGerber.py:268
msgid "Rectangular"
msgstr "Rectangulaire"
-#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolCopperThieving.py:171
+#: flatcamGUI/PreferencesUI.py:7711 flatcamTools/ToolCopperThieving.py:173
msgid "Minimal"
msgstr "Minimal"
-#: flatcamGUI/PreferencesUI.py:7207 flatcamTools/ToolCopperThieving.py:173
+#: flatcamGUI/PreferencesUI.py:7713 flatcamTools/ToolCopperThieving.py:175
#: flatcamTools/ToolFilm.py:113
msgid "Box Type:"
msgstr "Type de Box:"
-#: flatcamGUI/PreferencesUI.py:7209 flatcamTools/ToolCopperThieving.py:175
+#: flatcamGUI/PreferencesUI.py:7715 flatcamTools/ToolCopperThieving.py:177
msgid ""
"- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape."
@@ -12410,23 +12839,23 @@ msgstr ""
"- 'Rectangulaire' - le cadre de délimitation sera de forme rectangulaire.\n"
"- 'Minimal' - le cadre de délimitation aura la forme d'une coque convexe."
-#: flatcamGUI/PreferencesUI.py:7223 flatcamTools/ToolCopperThieving.py:191
+#: flatcamGUI/PreferencesUI.py:7729 flatcamTools/ToolCopperThieving.py:193
msgid "Dots Grid"
msgstr "Grille de points"
-#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolCopperThieving.py:192
+#: flatcamGUI/PreferencesUI.py:7730 flatcamTools/ToolCopperThieving.py:194
msgid "Squares Grid"
msgstr "Grille de carrés"
-#: flatcamGUI/PreferencesUI.py:7225 flatcamTools/ToolCopperThieving.py:193
+#: flatcamGUI/PreferencesUI.py:7731 flatcamTools/ToolCopperThieving.py:195
msgid "Lines Grid"
msgstr "Grille de lignes"
-#: flatcamGUI/PreferencesUI.py:7227 flatcamTools/ToolCopperThieving.py:195
+#: flatcamGUI/PreferencesUI.py:7733 flatcamTools/ToolCopperThieving.py:197
msgid "Fill Type:"
msgstr "Type de remplissage:"
-#: flatcamGUI/PreferencesUI.py:7229 flatcamTools/ToolCopperThieving.py:197
+#: flatcamGUI/PreferencesUI.py:7735 flatcamTools/ToolCopperThieving.py:199
msgid ""
"- 'Solid' - copper thieving will be a solid polygon.\n"
"- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n"
@@ -12438,54 +12867,54 @@ msgstr ""
"- 'Grille de carrés' - la zone vide sera remplie d'un motif de carrés.\n"
"- 'Grille de lignes' - la zone vide sera remplie d'un motif de lignes."
-#: flatcamGUI/PreferencesUI.py:7237 flatcamTools/ToolCopperThieving.py:216
+#: flatcamGUI/PreferencesUI.py:7743 flatcamTools/ToolCopperThieving.py:218
msgid "Dots Grid Parameters"
msgstr "Paramètres de la grille de points"
-#: flatcamGUI/PreferencesUI.py:7243 flatcamTools/ToolCopperThieving.py:222
+#: flatcamGUI/PreferencesUI.py:7749 flatcamTools/ToolCopperThieving.py:224
msgid "Dot diameter in Dots Grid."
msgstr "Diamètre des points dans la grille des points."
-#: flatcamGUI/PreferencesUI.py:7254 flatcamGUI/PreferencesUI.py:7283
-#: flatcamGUI/PreferencesUI.py:7312 flatcamTools/ToolCopperThieving.py:233
-#: flatcamTools/ToolCopperThieving.py:273
-#: flatcamTools/ToolCopperThieving.py:313
+#: flatcamGUI/PreferencesUI.py:7760 flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:7818 flatcamTools/ToolCopperThieving.py:235
+#: flatcamTools/ToolCopperThieving.py:275
+#: flatcamTools/ToolCopperThieving.py:315
msgid "Spacing"
msgstr "Espacement"
-#: flatcamGUI/PreferencesUI.py:7256 flatcamTools/ToolCopperThieving.py:235
+#: flatcamGUI/PreferencesUI.py:7762 flatcamTools/ToolCopperThieving.py:237
msgid "Distance between each two dots in Dots Grid."
msgstr "Distance entre deux points dans la grille de points."
-#: flatcamGUI/PreferencesUI.py:7266 flatcamTools/ToolCopperThieving.py:256
+#: flatcamGUI/PreferencesUI.py:7772 flatcamTools/ToolCopperThieving.py:258
msgid "Squares Grid Parameters"
msgstr "Paramètres de la grille des carrés"
-#: flatcamGUI/PreferencesUI.py:7272 flatcamTools/ToolCopperThieving.py:262
+#: flatcamGUI/PreferencesUI.py:7778 flatcamTools/ToolCopperThieving.py:264
msgid "Square side size in Squares Grid."
msgstr "Taille du côté carré dans la grille des carrés."
-#: flatcamGUI/PreferencesUI.py:7285 flatcamTools/ToolCopperThieving.py:275
+#: flatcamGUI/PreferencesUI.py:7791 flatcamTools/ToolCopperThieving.py:277
msgid "Distance between each two squares in Squares Grid."
msgstr "Distance entre deux carrés dans la grille des carrés."
-#: flatcamGUI/PreferencesUI.py:7295 flatcamTools/ToolCopperThieving.py:296
+#: flatcamGUI/PreferencesUI.py:7801 flatcamTools/ToolCopperThieving.py:298
msgid "Lines Grid Parameters"
msgstr "Paramètres de grille de lignes"
-#: flatcamGUI/PreferencesUI.py:7301 flatcamTools/ToolCopperThieving.py:302
+#: flatcamGUI/PreferencesUI.py:7807 flatcamTools/ToolCopperThieving.py:304
msgid "Line thickness size in Lines Grid."
msgstr "Taille d'épaisseur de ligne dans la grille de lignes."
-#: flatcamGUI/PreferencesUI.py:7314 flatcamTools/ToolCopperThieving.py:315
+#: flatcamGUI/PreferencesUI.py:7820 flatcamTools/ToolCopperThieving.py:317
msgid "Distance between each two lines in Lines Grid."
msgstr "Distance entre deux lignes dans la grille de lignes."
-#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolCopperThieving.py:353
+#: flatcamGUI/PreferencesUI.py:7830 flatcamTools/ToolCopperThieving.py:355
msgid "Robber Bar Parameters"
msgstr "Paramètres de la Robber Bar"
-#: flatcamGUI/PreferencesUI.py:7326 flatcamTools/ToolCopperThieving.py:355
+#: flatcamGUI/PreferencesUI.py:7832 flatcamTools/ToolCopperThieving.py:357
msgid ""
"Parameters used for the robber bar.\n"
"Robber bar = copper border to help in pattern hole plating."
@@ -12493,27 +12922,27 @@ msgstr ""
"Paramètres utilisés pour la Robber Bar.\n"
"Robber Bar = bordure en cuivre pour faciliter le placage des trous."
-#: flatcamGUI/PreferencesUI.py:7334 flatcamTools/ToolCopperThieving.py:363
+#: flatcamGUI/PreferencesUI.py:7840 flatcamTools/ToolCopperThieving.py:365
msgid "Bounding box margin for robber bar."
msgstr "Marge de la zone de délimitation pour la Robber Bar."
-#: flatcamGUI/PreferencesUI.py:7345 flatcamTools/ToolCopperThieving.py:374
+#: flatcamGUI/PreferencesUI.py:7851 flatcamTools/ToolCopperThieving.py:376
msgid "Thickness"
msgstr "Épaisseur"
-#: flatcamGUI/PreferencesUI.py:7347 flatcamTools/ToolCopperThieving.py:376
+#: flatcamGUI/PreferencesUI.py:7853 flatcamTools/ToolCopperThieving.py:378
msgid "The robber bar thickness."
msgstr "L'épaisseur de la Robber Bar."
-#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolCopperThieving.py:407
+#: flatcamGUI/PreferencesUI.py:7863 flatcamTools/ToolCopperThieving.py:409
msgid "Pattern Plating Mask"
msgstr "Masque de placage de motifs"
-#: flatcamGUI/PreferencesUI.py:7359 flatcamTools/ToolCopperThieving.py:409
+#: flatcamGUI/PreferencesUI.py:7865 flatcamTools/ToolCopperThieving.py:411
msgid "Generate a mask for pattern plating."
msgstr "Générez un masque pour le placage de motifs."
-#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolCopperThieving.py:431
+#: flatcamGUI/PreferencesUI.py:7872 flatcamTools/ToolCopperThieving.py:434
msgid ""
"The distance between the possible copper thieving elements\n"
"and/or robber bar and the actual openings in the mask."
@@ -12521,16 +12950,17 @@ msgstr ""
"La distance entre les éléments de Copper Thieving possibles\n"
"et / ou Robber Bar et les ouvertures réelles dans le masque."
-#: flatcamGUI/PreferencesUI.py:7385
+#: flatcamGUI/PreferencesUI.py:7891
msgid "Fiducials Tool Options"
msgstr "Options de l'outil Fiducials"
-#: flatcamGUI/PreferencesUI.py:7396 flatcamGUI/PreferencesUI.py:7512
-#: flatcamTools/ToolCopperThieving.py:91 flatcamTools/ToolFiducials.py:151
+#: flatcamGUI/PreferencesUI.py:7902 flatcamGUI/PreferencesUI.py:8018
+#: flatcamGUI/PreferencesUI.py:8137 flatcamGUI/PreferencesUI.py:8349
+#: flatcamTools/ToolCopperThieving.py:92 flatcamTools/ToolFiducials.py:151
msgid "Parameters used for this tool."
msgstr "Paramètres utilisés pour cet outil."
-#: flatcamGUI/PreferencesUI.py:7403 flatcamTools/ToolFiducials.py:158
+#: flatcamGUI/PreferencesUI.py:7909 flatcamTools/ToolFiducials.py:158
msgid ""
"This set the fiducial diameter if fiducial type is circular,\n"
"otherwise is the size of the fiducial.\n"
@@ -12540,19 +12970,19 @@ msgstr ""
"sinon, c'est la taille du fiduciaire.\n"
"L'ouverture du masque de soldat est double."
-#: flatcamGUI/PreferencesUI.py:7431 flatcamTools/ToolFiducials.py:186
+#: flatcamGUI/PreferencesUI.py:7937 flatcamTools/ToolFiducials.py:186
msgid "Auto"
msgstr "Auto"
-#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolFiducials.py:187
+#: flatcamGUI/PreferencesUI.py:7938 flatcamTools/ToolFiducials.py:187
msgid "Manual"
msgstr "Manuel"
-#: flatcamGUI/PreferencesUI.py:7434 flatcamTools/ToolFiducials.py:189
+#: flatcamGUI/PreferencesUI.py:7940 flatcamTools/ToolFiducials.py:189
msgid "Mode:"
msgstr "Mode:"
-#: flatcamGUI/PreferencesUI.py:7436
+#: flatcamGUI/PreferencesUI.py:7942
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding "
"box.\n"
@@ -12562,19 +12992,19 @@ msgstr ""
"sélection.\n"
"- «Manuel» - placement manuel des fiduciaires."
-#: flatcamGUI/PreferencesUI.py:7444 flatcamTools/ToolFiducials.py:199
+#: flatcamGUI/PreferencesUI.py:7950 flatcamTools/ToolFiducials.py:199
msgid "Up"
msgstr "Haut"
-#: flatcamGUI/PreferencesUI.py:7445 flatcamTools/ToolFiducials.py:200
+#: flatcamGUI/PreferencesUI.py:7951 flatcamTools/ToolFiducials.py:200
msgid "Down"
msgstr "Bas"
-#: flatcamGUI/PreferencesUI.py:7448 flatcamTools/ToolFiducials.py:203
+#: flatcamGUI/PreferencesUI.py:7954 flatcamTools/ToolFiducials.py:203
msgid "Second fiducial"
msgstr "Deuxième fiducial"
-#: flatcamGUI/PreferencesUI.py:7450 flatcamTools/ToolFiducials.py:205
+#: flatcamGUI/PreferencesUI.py:7956 flatcamTools/ToolFiducials.py:205
msgid ""
"The position for the second fiducial.\n"
"- 'Up' - the order is: bottom-left, top-left, top-right.\n"
@@ -12588,19 +13018,19 @@ msgstr ""
"- «Aucun» - il n'y a pas de deuxième fiduciaire. L'ordre est: en bas à "
"gauche, en haut à droite."
-#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolFiducials.py:221
+#: flatcamGUI/PreferencesUI.py:7972 flatcamTools/ToolFiducials.py:221
msgid "Cross"
msgstr "Croix"
-#: flatcamGUI/PreferencesUI.py:7467 flatcamTools/ToolFiducials.py:222
+#: flatcamGUI/PreferencesUI.py:7973 flatcamTools/ToolFiducials.py:222
msgid "Chess"
msgstr "Échecs"
-#: flatcamGUI/PreferencesUI.py:7470 flatcamTools/ToolFiducials.py:224
+#: flatcamGUI/PreferencesUI.py:7976 flatcamTools/ToolFiducials.py:224
msgid "Fiducial Type"
msgstr "Type fiduciaire"
-#: flatcamGUI/PreferencesUI.py:7472 flatcamTools/ToolFiducials.py:226
+#: flatcamGUI/PreferencesUI.py:7978 flatcamTools/ToolFiducials.py:226
msgid ""
"The type of fiducial.\n"
"- 'Circular' - this is the regular fiducial.\n"
@@ -12612,19 +13042,19 @@ msgstr ""
"- 'Croix' - croix lignes fiduciales.\n"
"- 'Échecs' - modèle d'échecs fiducial."
-#: flatcamGUI/PreferencesUI.py:7481 flatcamTools/ToolFiducials.py:235
+#: flatcamGUI/PreferencesUI.py:7987 flatcamTools/ToolFiducials.py:235
msgid "Line thickness"
msgstr "Épaisseur de ligne"
-#: flatcamGUI/PreferencesUI.py:7501
+#: flatcamGUI/PreferencesUI.py:8007
msgid "Calibration Tool Options"
msgstr "Options de l'outil d'Étalonnage"
-#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolCalibration.py:181
+#: flatcamGUI/PreferencesUI.py:8023 flatcamTools/ToolCalibration.py:181
msgid "Source Type"
msgstr "Type de Source"
-#: flatcamGUI/PreferencesUI.py:7518 flatcamTools/ToolCalibration.py:182
+#: flatcamGUI/PreferencesUI.py:8024 flatcamTools/ToolCalibration.py:182
msgid ""
"The source of calibration points.\n"
"It can be:\n"
@@ -12637,27 +13067,27 @@ msgstr ""
"- Libre -> cliquez librement sur le canevas pour acquérir les points "
"d'étalonnage"
-#: flatcamGUI/PreferencesUI.py:7523 flatcamTools/ToolCalibration.py:187
+#: flatcamGUI/PreferencesUI.py:8029 flatcamTools/ToolCalibration.py:187
msgid "Free"
msgstr "Libre"
-#: flatcamGUI/PreferencesUI.py:7537 flatcamTools/ToolCalibration.py:76
+#: flatcamGUI/PreferencesUI.py:8043 flatcamTools/ToolCalibration.py:76
msgid "Height (Z) for travelling between the points."
msgstr "Hauteur (Z) pour voyager entre les points."
-#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolCalibration.py:88
+#: flatcamGUI/PreferencesUI.py:8055 flatcamTools/ToolCalibration.py:88
msgid "Verification Z"
msgstr "Vérification Z"
-#: flatcamGUI/PreferencesUI.py:7551 flatcamTools/ToolCalibration.py:90
+#: flatcamGUI/PreferencesUI.py:8057 flatcamTools/ToolCalibration.py:90
msgid "Height (Z) for checking the point."
msgstr "Hauteur (Z) pour vérifier le point."
-#: flatcamGUI/PreferencesUI.py:7563 flatcamTools/ToolCalibration.py:102
+#: flatcamGUI/PreferencesUI.py:8069 flatcamTools/ToolCalibration.py:102
msgid "Zero Z tool"
msgstr "Remise à Zéro du Z pour l'Outil"
-#: flatcamGUI/PreferencesUI.py:7565 flatcamTools/ToolCalibration.py:104
+#: flatcamGUI/PreferencesUI.py:8071 flatcamTools/ToolCalibration.py:104
msgid ""
"Include a sequence to zero the height (Z)\n"
"of the verification tool."
@@ -12665,11 +13095,11 @@ msgstr ""
"Inclure une séquence pour mettre à zéro la hauteur (Z)\n"
"de l'outil de vérification."
-#: flatcamGUI/PreferencesUI.py:7574 flatcamTools/ToolCalibration.py:113
+#: flatcamGUI/PreferencesUI.py:8080 flatcamTools/ToolCalibration.py:113
msgid "Height (Z) for mounting the verification probe."
msgstr "Hauteur (Z) pour le montage de la sonde de vérification."
-#: flatcamGUI/PreferencesUI.py:7588 flatcamTools/ToolCalibration.py:127
+#: flatcamGUI/PreferencesUI.py:8094 flatcamTools/ToolCalibration.py:127
msgid ""
"Toolchange X,Y position.\n"
"If no value is entered then the current\n"
@@ -12679,11 +13109,11 @@ msgstr ""
"Si aucune valeur n'est entrée, le courant\n"
"(x, y) le point sera utilisé,"
-#: flatcamGUI/PreferencesUI.py:7599 flatcamTools/ToolCalibration.py:153
+#: flatcamGUI/PreferencesUI.py:8105 flatcamTools/ToolCalibration.py:153
msgid "Second point"
msgstr "Deuxième point"
-#: flatcamGUI/PreferencesUI.py:7601 flatcamTools/ToolCalibration.py:155
+#: flatcamGUI/PreferencesUI.py:8107 flatcamTools/ToolCalibration.py:155
msgid ""
"Second point in the Gcode verification can be:\n"
"- top-left -> the user will align the PCB vertically\n"
@@ -12693,45 +13123,250 @@ msgstr ""
"- en haut à gauche -> l'utilisateur alignera le PCB verticalement\n"
"- en bas à droite -> l'utilisateur alignera le PCB horizontalement"
-#: flatcamGUI/PreferencesUI.py:7605 flatcamTools/ToolCalibration.py:159
-msgid "Top-Left"
-msgstr "En haut à gauche"
+#: flatcamGUI/PreferencesUI.py:8126
+msgid "Extract Drills Options"
+msgstr "Options d'Extraction de Forets"
-#: flatcamGUI/PreferencesUI.py:7606 flatcamTools/ToolCalibration.py:160
-msgid "Bottom-Right"
-msgstr "En bas à droite"
+#: flatcamGUI/PreferencesUI.py:8141 flatcamGUI/PreferencesUI.py:8353
+#: flatcamTools/ToolExtractDrills.py:68 flatcamTools/ToolPunchGerber.py:75
+msgid "Processed Pads Type"
+msgstr "Type de tampons traités"
-#: flatcamGUI/PreferencesUI.py:7620
+#: flatcamGUI/PreferencesUI.py:8143 flatcamGUI/PreferencesUI.py:8355
+#: flatcamTools/ToolExtractDrills.py:70 flatcamTools/ToolPunchGerber.py:77
+msgid ""
+"The type of pads shape to be processed.\n"
+"If the PCB has many SMD pads with rectangular pads,\n"
+"disable the Rectangular aperture."
+msgstr ""
+"Le type de forme des tampons à traiter.\n"
+"Si le PCB a de nombreux pads SMD avec des pads rectangulaires,\n"
+"désactiver l'ouverture rectangulaire."
+
+#: flatcamGUI/PreferencesUI.py:8153 flatcamGUI/PreferencesUI.py:8365
+#: flatcamTools/ToolExtractDrills.py:80 flatcamTools/ToolPunchGerber.py:91
+msgid "Process Circular Pads."
+msgstr "Processus tampons circulaires."
+
+#: flatcamGUI/PreferencesUI.py:8159 flatcamGUI/PreferencesUI.py:8261
+#: flatcamGUI/PreferencesUI.py:8371 flatcamGUI/PreferencesUI.py:8475
+#: flatcamTools/ToolExtractDrills.py:86 flatcamTools/ToolExtractDrills.py:214
+#: flatcamTools/ToolPunchGerber.py:97 flatcamTools/ToolPunchGerber.py:242
+msgid "Oblong"
+msgstr "Oblong"
+
+#: flatcamGUI/PreferencesUI.py:8161 flatcamGUI/PreferencesUI.py:8373
+#: flatcamTools/ToolExtractDrills.py:88 flatcamTools/ToolPunchGerber.py:99
+msgid "Process Oblong Pads."
+msgstr "Processus Tampons oblongs."
+
+#: flatcamGUI/PreferencesUI.py:8169 flatcamGUI/PreferencesUI.py:8381
+#: flatcamTools/ToolExtractDrills.py:96 flatcamTools/ToolPunchGerber.py:107
+msgid "Process Square Pads."
+msgstr "Processus Tampons carrés."
+
+#: flatcamGUI/PreferencesUI.py:8177 flatcamGUI/PreferencesUI.py:8389
+#: flatcamTools/ToolExtractDrills.py:104 flatcamTools/ToolPunchGerber.py:115
+msgid "Process Rectangular Pads."
+msgstr "Processus Tampons rectangulaires."
+
+#: flatcamGUI/PreferencesUI.py:8183 flatcamGUI/PreferencesUI.py:8300
+#: flatcamGUI/PreferencesUI.py:8395 flatcamGUI/PreferencesUI.py:8514
+#: flatcamTools/ToolExtractDrills.py:110 flatcamTools/ToolExtractDrills.py:253
+#: flatcamTools/ToolProperties.py:172 flatcamTools/ToolPunchGerber.py:121
+#: flatcamTools/ToolPunchGerber.py:281
+msgid "Others"
+msgstr "Autres"
+
+#: flatcamGUI/PreferencesUI.py:8185 flatcamGUI/PreferencesUI.py:8397
+#: flatcamTools/ToolExtractDrills.py:112 flatcamTools/ToolPunchGerber.py:123
+msgid "Process pads not in the categories above."
+msgstr "Processus tampons n'appartenant pas aux catégories ci-dessus."
+
+#: flatcamGUI/PreferencesUI.py:8198 flatcamGUI/PreferencesUI.py:8222
+#: flatcamGUI/PreferencesUI.py:8411 flatcamGUI/PreferencesUI.py:8436
+#: flatcamTools/ToolExtractDrills.py:139 flatcamTools/ToolExtractDrills.py:156
+#: flatcamTools/ToolPunchGerber.py:150 flatcamTools/ToolPunchGerber.py:184
+msgid "Fixed Diameter"
+msgstr "Diamètre fixe"
+
+#: flatcamGUI/PreferencesUI.py:8199 flatcamGUI/PreferencesUI.py:8239
+#: flatcamGUI/PreferencesUI.py:8412 flatcamGUI/PreferencesUI.py:8453
+#: flatcamTools/ToolExtractDrills.py:140 flatcamTools/ToolExtractDrills.py:192
+#: flatcamTools/ToolPunchGerber.py:151 flatcamTools/ToolPunchGerber.py:214
+msgid "Fixed Annular Ring"
+msgstr "Anneau fixe annulaire"
+
+#: flatcamGUI/PreferencesUI.py:8200 flatcamGUI/PreferencesUI.py:8413
+#: flatcamTools/ToolExtractDrills.py:141 flatcamTools/ToolPunchGerber.py:152
+msgid "Proportional"
+msgstr "Proportionnel"
+
+#: flatcamGUI/PreferencesUI.py:8206 flatcamTools/ToolExtractDrills.py:130
+msgid ""
+"The method for processing pads. Can be:\n"
+"- Fixed Diameter -> all holes will have a set size\n"
+"- Fixed Annular Ring -> all holes will have a set annular ring\n"
+"- Proportional -> each hole size will be a fraction of the pad size"
+msgstr ""
+"La méthode de traitement des tampons. Peut être:\n"
+"- Diamètre fixe -> tous les trous auront une taille définie\n"
+"- Anneau fixe annulaire -> tous les trous auront un anneau annulaire fixe\n"
+"- Proportionnel -> chaque taille de trou sera une fraction de la taille du "
+"tampon"
+
+#: flatcamGUI/PreferencesUI.py:8232 flatcamGUI/PreferencesUI.py:8446
+#: flatcamTools/ToolExtractDrills.py:166 flatcamTools/ToolPunchGerber.py:194
+msgid "Fixed hole diameter."
+msgstr "Diamètre du trou fixe."
+
+#: flatcamGUI/PreferencesUI.py:8241 flatcamGUI/PreferencesUI.py:8455
+#: flatcamTools/ToolExtractDrills.py:194 flatcamTools/ToolPunchGerber.py:216
+msgid ""
+"The size of annular ring.\n"
+"The copper sliver between the hole exterior\n"
+"and the margin of the copper pad."
+msgstr ""
+"La taille de l'anneau annulaire.\n"
+"Le ruban de cuivre entre l'extérieur du trou\n"
+"et la marge du tampon de cuivre."
+
+#: flatcamGUI/PreferencesUI.py:8250 flatcamGUI/PreferencesUI.py:8464
+#: flatcamTools/ToolExtractDrills.py:203 flatcamTools/ToolPunchGerber.py:231
+msgid "The size of annular ring for circular pads."
+msgstr "La taille de l'anneau annulaire pour les coussinets circulaires."
+
+#: flatcamGUI/PreferencesUI.py:8263 flatcamGUI/PreferencesUI.py:8477
+#: flatcamTools/ToolExtractDrills.py:216 flatcamTools/ToolPunchGerber.py:244
+msgid "The size of annular ring for oblong pads."
+msgstr "La taille de l'anneau annulaire pour les coussinets oblongs."
+
+#: flatcamGUI/PreferencesUI.py:8276 flatcamGUI/PreferencesUI.py:8490
+#: flatcamTools/ToolExtractDrills.py:229 flatcamTools/ToolPunchGerber.py:257
+msgid "The size of annular ring for square pads."
+msgstr "La taille de l'anneau annulaire pour les coussinets carrés."
+
+#: flatcamGUI/PreferencesUI.py:8289 flatcamGUI/PreferencesUI.py:8503
+#: flatcamTools/ToolExtractDrills.py:242 flatcamTools/ToolPunchGerber.py:270
+msgid "The size of annular ring for rectangular pads."
+msgstr "La taille de l'anneau annulaire pour les coussinets rectangulaires."
+
+#: flatcamGUI/PreferencesUI.py:8302 flatcamGUI/PreferencesUI.py:8516
+#: flatcamTools/ToolExtractDrills.py:255 flatcamTools/ToolPunchGerber.py:283
+msgid "The size of annular ring for other pads."
+msgstr "La taille de l'anneau annulaire pour les autres tampons."
+
+#: flatcamGUI/PreferencesUI.py:8312 flatcamGUI/PreferencesUI.py:8526
+#: flatcamTools/ToolExtractDrills.py:276 flatcamTools/ToolPunchGerber.py:299
+msgid "Proportional Diameter"
+msgstr "Dia. proportionnel"
+
+#: flatcamGUI/PreferencesUI.py:8321 flatcamGUI/PreferencesUI.py:8535
+msgid "Factor"
+msgstr "Facteur"
+
+#: flatcamGUI/PreferencesUI.py:8323 flatcamGUI/PreferencesUI.py:8537
+#: flatcamTools/ToolExtractDrills.py:287 flatcamTools/ToolPunchGerber.py:310
+msgid ""
+"Proportional Diameter.\n"
+"The hole diameter will be a fraction of the pad size."
+msgstr ""
+"Diamètre proportionnel.\n"
+"Le diamètre du trou sera une fraction de la taille du tampon."
+
+#: flatcamGUI/PreferencesUI.py:8338
+msgid "Punch Gerber Options"
+msgstr "Options de poinçonnage Gerber"
+
+#: flatcamGUI/PreferencesUI.py:8419 flatcamTools/ToolPunchGerber.py:141
+msgid ""
+"The punch hole source can be:\n"
+"- Excellon Object-> the Excellon object drills center will serve as "
+"reference.\n"
+"- Fixed Diameter -> will try to use the pads center as reference adding "
+"fixed diameter holes.\n"
+"- Fixed Annular Ring -> will try to keep a set annular ring.\n"
+"- Proportional -> will make a Gerber punch hole having the diameter a "
+"percentage of the pad diameter.\n"
+msgstr ""
+"La source du trou de perforation peut être:\n"
+"- Excellon Object-> le centre d'Excellons Object Drills servira de "
+"référence.\n"
+"- Diamètre fixe -> essaiera d'utiliser le centre des coussinets comme "
+"référence en ajoutant des trous de diamètre fixe.\n"
+"- Anneau fixe annulaire -> essaiera de garder un anneau annulaire fixe.\n"
+"- Proportionnel -> fera un trou de poinçon Gerber ayant le diamètre un "
+"pourcentage du diamètre du tampon.\n"
+
+#: flatcamGUI/PreferencesUI.py:8552
+msgid "Invert Gerber Tool Options"
+msgstr "Options de l'outil Inverser Gerber"
+
+#: flatcamGUI/PreferencesUI.py:8558
+msgid ""
+"A tool to invert Gerber geometry from positive to negative\n"
+"and in revers."
+msgstr ""
+"Un outil pour inverser la géométrie Gerber du positif au négatif\n"
+"et en sens inverse."
+
+#: flatcamGUI/PreferencesUI.py:8572 flatcamTools/ToolInvertGerber.py:90
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the Gerber object."
+msgstr ""
+"Distance à éviter\n"
+"les bords de l'objet Gerber."
+
+#: flatcamGUI/PreferencesUI.py:8583 flatcamTools/ToolInvertGerber.py:101
+msgid "Lines Join Style"
+msgstr "Style de jointure des lignes"
+
+#: flatcamGUI/PreferencesUI.py:8585 flatcamTools/ToolInvertGerber.py:103
+msgid ""
+"The way that the lines in the object outline will be joined.\n"
+"Can be:\n"
+"- rounded -> an arc is added between two joining lines\n"
+"- square -> the lines meet in 90 degrees angle\n"
+"- bevel -> the lines are joined by a third line"
+msgstr ""
+"La façon dont les lignes du contour de l'objet seront jointes.\n"
+"Peut être:\n"
+"- arrondi -> un arc est ajouté entre deux lignes de jonction\n"
+"- carré -> les lignes se rencontrent dans un angle de 90 degrés\n"
+"- biseau -> les lignes sont reliées par une troisième ligne"
+
+#: flatcamGUI/PreferencesUI.py:8608
msgid "Excellon File associations"
msgstr "Associations de fichiers Excellon"
-#: flatcamGUI/PreferencesUI.py:7633 flatcamGUI/PreferencesUI.py:7706
-#: flatcamGUI/PreferencesUI.py:7776 flatcamGUI/PreferencesUI.py:7846
+#: flatcamGUI/PreferencesUI.py:8621 flatcamGUI/PreferencesUI.py:8694
+#: flatcamGUI/PreferencesUI.py:8764 flatcamGUI/PreferencesUI.py:8834
msgid "Restore"
msgstr "Restaurer"
-#: flatcamGUI/PreferencesUI.py:7634 flatcamGUI/PreferencesUI.py:7707
-#: flatcamGUI/PreferencesUI.py:7777
+#: flatcamGUI/PreferencesUI.py:8622 flatcamGUI/PreferencesUI.py:8695
+#: flatcamGUI/PreferencesUI.py:8765
msgid "Restore the extension list to the default state."
msgstr "Restaurez la liste des extensions à l'état par défaut."
-#: flatcamGUI/PreferencesUI.py:7635 flatcamGUI/PreferencesUI.py:7708
-#: flatcamGUI/PreferencesUI.py:7778 flatcamGUI/PreferencesUI.py:7848
+#: flatcamGUI/PreferencesUI.py:8623 flatcamGUI/PreferencesUI.py:8696
+#: flatcamGUI/PreferencesUI.py:8766 flatcamGUI/PreferencesUI.py:8836
msgid "Delete All"
msgstr "Supprimer tout"
-#: flatcamGUI/PreferencesUI.py:7636 flatcamGUI/PreferencesUI.py:7709
-#: flatcamGUI/PreferencesUI.py:7779
+#: flatcamGUI/PreferencesUI.py:8624 flatcamGUI/PreferencesUI.py:8697
+#: flatcamGUI/PreferencesUI.py:8767
msgid "Delete all extensions from the list."
msgstr "Supprimer toutes les extensions de la liste."
-#: flatcamGUI/PreferencesUI.py:7644 flatcamGUI/PreferencesUI.py:7717
-#: flatcamGUI/PreferencesUI.py:7787
+#: flatcamGUI/PreferencesUI.py:8632 flatcamGUI/PreferencesUI.py:8705
+#: flatcamGUI/PreferencesUI.py:8775
msgid "Extensions list"
msgstr "Liste d'extensions"
-#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7719
-#: flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:8634 flatcamGUI/PreferencesUI.py:8707
+#: flatcamGUI/PreferencesUI.py:8777
msgid ""
"List of file extensions to be\n"
"associated with FlatCAM."
@@ -12739,43 +13374,43 @@ msgstr ""
"Liste des extensions de fichier à être\n"
"associé à FlatCAM."
-#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7739
-#: flatcamGUI/PreferencesUI.py:7808 flatcamGUI/PreferencesUI.py:7880
+#: flatcamGUI/PreferencesUI.py:8654 flatcamGUI/PreferencesUI.py:8727
+#: flatcamGUI/PreferencesUI.py:8796 flatcamGUI/PreferencesUI.py:8868
msgid "Extension"
msgstr "Extension"
-#: flatcamGUI/PreferencesUI.py:7667 flatcamGUI/PreferencesUI.py:7740
-#: flatcamGUI/PreferencesUI.py:7809
+#: flatcamGUI/PreferencesUI.py:8655 flatcamGUI/PreferencesUI.py:8728
+#: flatcamGUI/PreferencesUI.py:8797
msgid "A file extension to be added or deleted to the list."
msgstr "Une extension de fichier à ajouter ou à supprimer à la liste."
-#: flatcamGUI/PreferencesUI.py:7675 flatcamGUI/PreferencesUI.py:7748
-#: flatcamGUI/PreferencesUI.py:7817
+#: flatcamGUI/PreferencesUI.py:8663 flatcamGUI/PreferencesUI.py:8736
+#: flatcamGUI/PreferencesUI.py:8805
msgid "Add Extension"
msgstr "Ajouter une extension"
-#: flatcamGUI/PreferencesUI.py:7676 flatcamGUI/PreferencesUI.py:7749
-#: flatcamGUI/PreferencesUI.py:7818
+#: flatcamGUI/PreferencesUI.py:8664 flatcamGUI/PreferencesUI.py:8737
+#: flatcamGUI/PreferencesUI.py:8806
msgid "Add a file extension to the list"
msgstr "Ajouter une extension de fichier à la liste"
-#: flatcamGUI/PreferencesUI.py:7677 flatcamGUI/PreferencesUI.py:7750
-#: flatcamGUI/PreferencesUI.py:7819
+#: flatcamGUI/PreferencesUI.py:8665 flatcamGUI/PreferencesUI.py:8738
+#: flatcamGUI/PreferencesUI.py:8807
msgid "Delete Extension"
msgstr "Supprimer l'extension"
-#: flatcamGUI/PreferencesUI.py:7678 flatcamGUI/PreferencesUI.py:7751
-#: flatcamGUI/PreferencesUI.py:7820
+#: flatcamGUI/PreferencesUI.py:8666 flatcamGUI/PreferencesUI.py:8739
+#: flatcamGUI/PreferencesUI.py:8808
msgid "Delete a file extension from the list"
msgstr "Supprimer une extension de fichier de la liste"
-#: flatcamGUI/PreferencesUI.py:7685 flatcamGUI/PreferencesUI.py:7758
-#: flatcamGUI/PreferencesUI.py:7827
+#: flatcamGUI/PreferencesUI.py:8673 flatcamGUI/PreferencesUI.py:8746
+#: flatcamGUI/PreferencesUI.py:8815
msgid "Apply Association"
msgstr "Appliquer l'association"
-#: flatcamGUI/PreferencesUI.py:7686 flatcamGUI/PreferencesUI.py:7759
-#: flatcamGUI/PreferencesUI.py:7828
+#: flatcamGUI/PreferencesUI.py:8674 flatcamGUI/PreferencesUI.py:8747
+#: flatcamGUI/PreferencesUI.py:8816
msgid ""
"Apply the file associations between\n"
"FlatCAM and the files with above extensions.\n"
@@ -12787,31 +13422,31 @@ msgstr ""
"Ils seront actifs après la prochaine ouverture de session.\n"
"Cela ne fonctionne que sous Windows."
-#: flatcamGUI/PreferencesUI.py:7703
+#: flatcamGUI/PreferencesUI.py:8691
msgid "GCode File associations"
msgstr "Associations de fichiers GCode"
-#: flatcamGUI/PreferencesUI.py:7773
+#: flatcamGUI/PreferencesUI.py:8761
msgid "Gerber File associations"
msgstr "Associations de fichiers Gerber"
-#: flatcamGUI/PreferencesUI.py:7843
+#: flatcamGUI/PreferencesUI.py:8831
msgid "Autocompleter Keywords"
msgstr "Mots-clés d'auto-complétion"
-#: flatcamGUI/PreferencesUI.py:7847
+#: flatcamGUI/PreferencesUI.py:8835
msgid "Restore the autocompleter keywords list to the default state."
msgstr "Restaurez la liste de mots-clés d'auto-complétion à l'état par défaut."
-#: flatcamGUI/PreferencesUI.py:7849
+#: flatcamGUI/PreferencesUI.py:8837
msgid "Delete all autocompleter keywords from the list."
msgstr "Supprimer tous les mots clés autocompleter de la liste."
-#: flatcamGUI/PreferencesUI.py:7857
+#: flatcamGUI/PreferencesUI.py:8845
msgid "Keywords list"
msgstr "Liste des mots clés"
-#: flatcamGUI/PreferencesUI.py:7859
+#: flatcamGUI/PreferencesUI.py:8847
msgid ""
"List of keywords used by\n"
"the autocompleter in FlatCAM.\n"
@@ -12823,31 +13458,31 @@ msgstr ""
"L'auto-compléteur est installé\n"
"dans l'éditeur de code et pour le shell Tcl."
-#: flatcamGUI/PreferencesUI.py:7881
+#: flatcamGUI/PreferencesUI.py:8869
msgid "A keyword to be added or deleted to the list."
msgstr "Un mot clé à ajouter ou à supprimer à la liste."
-#: flatcamGUI/PreferencesUI.py:7889
+#: flatcamGUI/PreferencesUI.py:8877
msgid "Add keyword"
msgstr "Ajouter un mot clé"
-#: flatcamGUI/PreferencesUI.py:7890
+#: flatcamGUI/PreferencesUI.py:8878
msgid "Add a keyword to the list"
msgstr "Ajouter un mot clé à la liste"
-#: flatcamGUI/PreferencesUI.py:7891
+#: flatcamGUI/PreferencesUI.py:8879
msgid "Delete keyword"
msgstr "Supprimer le mot clé"
-#: flatcamGUI/PreferencesUI.py:7892
+#: flatcamGUI/PreferencesUI.py:8880
msgid "Delete a keyword from the list"
msgstr "Supprimer un mot clé de la liste"
-#: flatcamParsers/ParseExcellon.py:314
+#: flatcamParsers/ParseExcellon.py:315
msgid "This is GCODE mark"
msgstr "C'est la marque GCODE"
-#: flatcamParsers/ParseExcellon.py:431
+#: flatcamParsers/ParseExcellon.py:432
msgid ""
"No tool diameter info's. See shell.\n"
"A tool change event: T"
@@ -12855,7 +13490,7 @@ msgstr ""
"Aucune information sur le diamètre de l'outil. Voir shell.\n"
"Un événement de changement d'outil: T"
-#: flatcamParsers/ParseExcellon.py:434
+#: flatcamParsers/ParseExcellon.py:435
msgid ""
"was found but the Excellon file have no informations regarding the tool "
"diameters therefore the application will try to load it by using some 'fake' "
@@ -12869,11 +13504,11 @@ msgstr ""
"L'utilisateur doit modifier l'objet Excellon résultant et modifier les "
"diamètres pour refléter les diamètres réels."
-#: flatcamParsers/ParseExcellon.py:886 flatcamTools/ToolSolderPaste.py:1330
+#: flatcamParsers/ParseExcellon.py:897 flatcamTools/ToolSolderPaste.py:1327
msgid "An internal error has ocurred. See shell.\n"
msgstr "Une erreur interne s'est produite. Voir shell.\n"
-#: flatcamParsers/ParseExcellon.py:889
+#: flatcamParsers/ParseExcellon.py:900
msgid ""
"Excellon Parser error.\n"
"Parsing Failed. Line"
@@ -12881,7 +13516,7 @@ msgstr ""
"Erreur de l'analyseur Excellon.\n"
"Échec de l'analyse. Ligne"
-#: flatcamParsers/ParseExcellon.py:973
+#: flatcamParsers/ParseExcellon.py:982
msgid ""
"Excellon.create_geometry() -> a drill location was skipped due of not having "
"a tool associated.\n"
@@ -12899,22 +13534,22 @@ msgstr "Police non supportée, essayez-en une autre."
msgid "Gerber processing. Parsing"
msgstr "Traitement Gerber. L'analyse"
-#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:178
msgid "lines"
msgstr "lignes"
-#: flatcamParsers/ParseGerber.py:970 flatcamParsers/ParseGerber.py:1065
-#: flatcamParsers/ParseHPGL2.py:269 flatcamParsers/ParseHPGL2.py:283
-#: flatcamParsers/ParseHPGL2.py:302 flatcamParsers/ParseHPGL2.py:326
-#: flatcamParsers/ParseHPGL2.py:361
+#: flatcamParsers/ParseGerber.py:1002 flatcamParsers/ParseGerber.py:1102
+#: flatcamParsers/ParseHPGL2.py:271 flatcamParsers/ParseHPGL2.py:285
+#: flatcamParsers/ParseHPGL2.py:304 flatcamParsers/ParseHPGL2.py:328
+#: flatcamParsers/ParseHPGL2.py:363
msgid "Coordinates missing, line ignored"
msgstr "Coordonnées manquantes, ligne ignorée"
-#: flatcamParsers/ParseGerber.py:972 flatcamParsers/ParseGerber.py:1067
+#: flatcamParsers/ParseGerber.py:1004 flatcamParsers/ParseGerber.py:1104
msgid "GERBER file might be CORRUPT. Check the file !!!"
msgstr "Le fichier GERBER est peut-être corrompu. Vérifiez le fichier !!!"
-#: flatcamParsers/ParseGerber.py:1021
+#: flatcamParsers/ParseGerber.py:1058
msgid ""
"Region does not have enough points. File will be processed but there are "
"parser errors. Line number"
@@ -12922,66 +13557,214 @@ msgstr ""
"La région n'a pas assez de points. Le fichier sera traité, mais il y a des "
"erreurs d'analyse. Numéro de ligne"
-#: flatcamParsers/ParseGerber.py:1421 flatcamParsers/ParseHPGL2.py:396
+#: flatcamParsers/ParseGerber.py:1488 flatcamParsers/ParseHPGL2.py:398
msgid "Gerber processing. Joining polygons"
msgstr "Traitement Gerber. Jointure de polygones"
-#: flatcamParsers/ParseGerber.py:1438
+#: flatcamParsers/ParseGerber.py:1505
msgid "Gerber processing. Applying Gerber polarity."
msgstr "Traitement Gerber. Appliquer la polarité de Gerber."
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line"
msgstr "Ligne Gerber"
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line Content"
msgstr "Contenu de la ligne Gerber"
-#: flatcamParsers/ParseGerber.py:1500
+#: flatcamParsers/ParseGerber.py:1567
msgid "Gerber Parser ERROR"
msgstr "Gerber Parser ERREUR"
-#: flatcamParsers/ParseGerber.py:1884
+#: flatcamParsers/ParseGerber.py:1956
msgid "Gerber Scale done."
msgstr "Échelle de Gerber fait."
-#: flatcamParsers/ParseGerber.py:1977
+#: flatcamParsers/ParseGerber.py:2049
msgid "Gerber Offset done."
msgstr "Gerber offset fait."
-#: flatcamParsers/ParseGerber.py:2054
+#: flatcamParsers/ParseGerber.py:2126
msgid "Gerber Mirror done."
msgstr "Le miroir de Gerber est fait."
-#: flatcamParsers/ParseGerber.py:2128
+#: flatcamParsers/ParseGerber.py:2200
msgid "Gerber Skew done."
msgstr "Gerber incline fait."
-#: flatcamParsers/ParseGerber.py:2192
+#: flatcamParsers/ParseGerber.py:2263
msgid "Gerber Rotate done."
msgstr "La rotation de Gerber est fait."
-#: flatcamParsers/ParseGerber.py:2273
+#: flatcamParsers/ParseGerber.py:2419
msgid "Gerber Buffer done."
msgstr "Gerber Buffer fait."
-#: flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseHPGL2.py:178
msgid "HPGL2 processing. Parsing"
msgstr "Traitement HPGL2. Analyse"
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line"
msgstr "Ligne HPGL2"
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line Content"
msgstr "Contenu de la ligne HPGL2"
-#: flatcamParsers/ParseHPGL2.py:409
+#: flatcamParsers/ParseHPGL2.py:411
msgid "HPGL2 Parser ERROR"
msgstr "ERREUR de l'analyseur HPGL2"
+#: flatcamTools/ToolAlignObjects.py:32
+msgid "Align Objects"
+msgstr "Aligner les objets"
+
+#: flatcamTools/ToolAlignObjects.py:61
+msgid "MOVING object"
+msgstr "Objet en mouvement"
+
+#: flatcamTools/ToolAlignObjects.py:65
+msgid ""
+"Specify the type of object to be aligned.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+"Spécifiez le type d'objet à aligner.\n"
+"Il peut être de type: Gerber ou Excellon.\n"
+"La sélection ici décide du type d'objets qui seront\n"
+"dans la zone de liste déroulante Objet."
+
+#: flatcamTools/ToolAlignObjects.py:86
+msgid "Object to be aligned."
+msgstr "Objet à aligner."
+
+#: flatcamTools/ToolAlignObjects.py:98
+msgid "TARGET object"
+msgstr "Objet CIBLE"
+
+#: flatcamTools/ToolAlignObjects.py:100
+msgid ""
+"Specify the type of object to be aligned to.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+"Spécifiez le type d'objet à aligner.\n"
+"Il peut être de type: Gerber ou Excellon.\n"
+"La sélection ici décide du type d'objets qui seront\n"
+"dans la zone de liste déroulante Objet."
+
+#: flatcamTools/ToolAlignObjects.py:122
+msgid "Object to be aligned to. Aligner."
+msgstr "Objet à aligner. Aligner."
+
+#: flatcamTools/ToolAlignObjects.py:135
+msgid "Alignment Type"
+msgstr "Type d'alignement"
+
+#: flatcamTools/ToolAlignObjects.py:137
+msgid ""
+"The type of alignment can be:\n"
+"- Single Point -> it require a single point of sync, the action will be a "
+"translation\n"
+"- Dual Point -> it require two points of sync, the action will be "
+"translation followed by rotation"
+msgstr ""
+"Le type d'alignement peut être:\n"
+"- Point unique -> il nécessite un seul point de synchronisation, l'action "
+"sera une traduction\n"
+"- Double point -> il nécessite deux points de synchronisation, l'action sera "
+"la traduction suivie d'une rotation"
+
+#: flatcamTools/ToolAlignObjects.py:143
+msgid "Single Point"
+msgstr "Point unique"
+
+#: flatcamTools/ToolAlignObjects.py:144
+msgid "Dual Point"
+msgstr "Double point"
+
+#: flatcamTools/ToolAlignObjects.py:159
+msgid "Align Object"
+msgstr "Aligner l'objet"
+
+#: flatcamTools/ToolAlignObjects.py:161
+msgid ""
+"Align the specified object to the aligner object.\n"
+"If only one point is used then it assumes translation.\n"
+"If tho points are used it assume translation and rotation."
+msgstr ""
+"Alignez l'objet spécifié sur l'objet aligneur.\n"
+"Si un seul point est utilisé, il suppose la traduction.\n"
+"Si ces points sont utilisés, cela suppose une translation et une rotation."
+
+#: flatcamTools/ToolAlignObjects.py:176 flatcamTools/ToolCalculators.py:246
+#: flatcamTools/ToolCalibration.py:683 flatcamTools/ToolCopperThieving.py:485
+#: flatcamTools/ToolCutOut.py:372 flatcamTools/ToolDblSided.py:472
+#: flatcamTools/ToolExtractDrills.py:310 flatcamTools/ToolFiducials.py:318
+#: flatcamTools/ToolFilm.py:520 flatcamTools/ToolInvertGerber.py:140
+#: flatcamTools/ToolNCC.py:612 flatcamTools/ToolOptimal.py:238
+#: flatcamTools/ToolPaint.py:556 flatcamTools/ToolPanelize.py:269
+#: flatcamTools/ToolPunchGerber.py:339 flatcamTools/ToolQRCode.py:314
+#: flatcamTools/ToolRulesCheck.py:516 flatcamTools/ToolSolderPaste.py:474
+#: flatcamTools/ToolSub.py:176 flatcamTools/ToolTransform.py:399
+msgid "Reset Tool"
+msgstr "Réinitialiser l'outil"
+
+#: flatcamTools/ToolAlignObjects.py:178 flatcamTools/ToolCalculators.py:248
+#: flatcamTools/ToolCalibration.py:685 flatcamTools/ToolCopperThieving.py:487
+#: flatcamTools/ToolCutOut.py:374 flatcamTools/ToolDblSided.py:474
+#: flatcamTools/ToolExtractDrills.py:312 flatcamTools/ToolFiducials.py:320
+#: flatcamTools/ToolFilm.py:522 flatcamTools/ToolInvertGerber.py:142
+#: flatcamTools/ToolNCC.py:614 flatcamTools/ToolOptimal.py:240
+#: flatcamTools/ToolPaint.py:558 flatcamTools/ToolPanelize.py:271
+#: flatcamTools/ToolPunchGerber.py:341 flatcamTools/ToolQRCode.py:316
+#: flatcamTools/ToolRulesCheck.py:518 flatcamTools/ToolSolderPaste.py:476
+#: flatcamTools/ToolSub.py:178 flatcamTools/ToolTransform.py:401
+msgid "Will reset the tool parameters."
+msgstr "Réinitialise les paramètres de l'outil."
+
+#: flatcamTools/ToolAlignObjects.py:244
+msgid "Align Tool"
+msgstr "Outil d'alignement"
+
+#: flatcamTools/ToolAlignObjects.py:289
+msgid "There is no aligned FlatCAM object selected..."
+msgstr "Aucun objet FlatCAM aligné n'est sélectionné ..."
+
+#: flatcamTools/ToolAlignObjects.py:299
+msgid "There is no aligner FlatCAM object selected..."
+msgstr "Aucun objet d'alignement FlatCAM n'est sélectionné ..."
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:385
+msgid "First Point"
+msgstr "Premier point"
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:400
+msgid "Click on the START point."
+msgstr "Cliquez sur le point de Départ."
+
+#: flatcamTools/ToolAlignObjects.py:380 flatcamTools/ToolCalibration.py:920
+msgid "Cancelled by user request."
+msgstr "Annulé par demande de l'utilisateur."
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:407
+msgid "Click on the DESTINATION point."
+msgstr "Cliquez sur le point de Destination."
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:400
+#: flatcamTools/ToolAlignObjects.py:407
+msgid " Or right click to cancel."
+msgstr " Ou cliquez avec le bouton droit pour annuler."
+
+#: flatcamTools/ToolAlignObjects.py:400 flatcamTools/ToolAlignObjects.py:407
+#: flatcamTools/ToolFiducials.py:111
+msgid "Second Point"
+msgstr "Deuxième point"
+
#: flatcamTools/ToolCalculators.py:24
msgid "Calculators"
msgstr "Calculatrices"
@@ -13068,7 +13851,7 @@ msgstr ""
"Calculer la valeur d'intensité actuelle et le temps de procédure,\n"
"en fonction des paramètres ci-dessus"
-#: flatcamTools/ToolCalculators.py:285
+#: flatcamTools/ToolCalculators.py:299
msgid "Calc. Tool"
msgstr "Calc. Outil"
@@ -13094,25 +13877,25 @@ msgstr ""
"Ces quatre points devraient figurer dans les quatre\n"
"(autant que possible) coins de l'objet."
-#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolCutOut.py:80
-#: flatcamTools/ToolFilm.py:78 flatcamTools/ToolImage.py:55
-#: flatcamTools/ToolPanelize.py:66 flatcamTools/ToolProperties.py:169
+#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolFilm.py:76
+#: flatcamTools/ToolImage.py:54 flatcamTools/ToolPanelize.py:78
+#: flatcamTools/ToolProperties.py:177
msgid "Object Type"
msgstr "Type d'objet"
-#: flatcamTools/ToolCalibration.py:211
+#: flatcamTools/ToolCalibration.py:210
msgid "Source object selection"
msgstr "Sélection d'objet source"
-#: flatcamTools/ToolCalibration.py:213
+#: flatcamTools/ToolCalibration.py:212
msgid "FlatCAM Object to be used as a source for reference points."
msgstr "Objet FlatCAM à utiliser comme source pour les points de référence."
-#: flatcamTools/ToolCalibration.py:219
+#: flatcamTools/ToolCalibration.py:218
msgid "Calibration Points"
msgstr "Points d'étalonnage"
-#: flatcamTools/ToolCalibration.py:221
+#: flatcamTools/ToolCalibration.py:220
msgid ""
"Contain the expected calibration points and the\n"
"ones measured."
@@ -13120,56 +13903,52 @@ msgstr ""
"Contiennent les points d'étalonnage attendus et le\n"
"ceux mesurés."
-#: flatcamTools/ToolCalibration.py:236 flatcamTools/ToolSub.py:74
-#: flatcamTools/ToolSub.py:126
+#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:131
msgid "Target"
msgstr "Cible"
-#: flatcamTools/ToolCalibration.py:237
+#: flatcamTools/ToolCalibration.py:236
msgid "Found Delta"
msgstr "Delta trouvé"
-#: flatcamTools/ToolCalibration.py:249
+#: flatcamTools/ToolCalibration.py:248
msgid "Bot Left X"
msgstr "En bas à gauche X"
-#: flatcamTools/ToolCalibration.py:258
+#: flatcamTools/ToolCalibration.py:257
msgid "Bot Left Y"
msgstr "En bas à gauche Y"
-#: flatcamTools/ToolCalibration.py:266 flatcamTools/ToolCalibration.py:267
-msgid "Origin"
-msgstr "Origine"
-
-#: flatcamTools/ToolCalibration.py:278
+#: flatcamTools/ToolCalibration.py:275
msgid "Bot Right X"
msgstr "En bas à droite X"
-#: flatcamTools/ToolCalibration.py:288
+#: flatcamTools/ToolCalibration.py:285
msgid "Bot Right Y"
msgstr "En bas à droite Y"
-#: flatcamTools/ToolCalibration.py:303
+#: flatcamTools/ToolCalibration.py:300
msgid "Top Left X"
msgstr "En haut à gauche X"
-#: flatcamTools/ToolCalibration.py:312
+#: flatcamTools/ToolCalibration.py:309
msgid "Top Left Y"
msgstr "En haut à gauche Y"
-#: flatcamTools/ToolCalibration.py:327
+#: flatcamTools/ToolCalibration.py:324
msgid "Top Right X"
msgstr "En haut à droite X"
-#: flatcamTools/ToolCalibration.py:337
+#: flatcamTools/ToolCalibration.py:334
msgid "Top Right Y"
msgstr "En haut à droite Y"
-#: flatcamTools/ToolCalibration.py:370
+#: flatcamTools/ToolCalibration.py:367
msgid "Get Points"
msgstr "Obtenir des points"
-#: flatcamTools/ToolCalibration.py:372
+#: flatcamTools/ToolCalibration.py:369
msgid ""
"Pick four points by clicking on canvas if the source choice\n"
"is 'free' or inside the object geometry if the source is 'object'.\n"
@@ -13183,11 +13962,11 @@ msgstr ""
"Ces quatre points devraient être dans les quatre carrés de\n"
"L'object."
-#: flatcamTools/ToolCalibration.py:393
+#: flatcamTools/ToolCalibration.py:390
msgid "STEP 2: Verification GCode"
msgstr "ÉTAPE 2: Vérification GCode"
-#: flatcamTools/ToolCalibration.py:395 flatcamTools/ToolCalibration.py:408
+#: flatcamTools/ToolCalibration.py:392 flatcamTools/ToolCalibration.py:405
msgid ""
"Generate GCode file to locate and align the PCB by using\n"
"the four points acquired above.\n"
@@ -13207,15 +13986,15 @@ msgstr ""
"bas à droite.\n"
"- quatrième point -> point de vérification final. Juste pour évaluation."
-#: flatcamTools/ToolCalibration.py:406 flatcamTools/ToolSolderPaste.py:347
+#: flatcamTools/ToolCalibration.py:403 flatcamTools/ToolSolderPaste.py:349
msgid "Generate GCode"
msgstr "Générer du GCode"
-#: flatcamTools/ToolCalibration.py:432
+#: flatcamTools/ToolCalibration.py:429
msgid "STEP 3: Adjustments"
msgstr "ÉTAPE 3: Ajustements"
-#: flatcamTools/ToolCalibration.py:434 flatcamTools/ToolCalibration.py:443
+#: flatcamTools/ToolCalibration.py:431 flatcamTools/ToolCalibration.py:440
msgid ""
"Calculate Scale and Skew factors based on the differences (delta)\n"
"found when checking the PCB pattern. The differences must be filled\n"
@@ -13227,15 +14006,15 @@ msgstr ""
"être comblées\n"
"dans les champs Trouvé (Delta)."
-#: flatcamTools/ToolCalibration.py:441
+#: flatcamTools/ToolCalibration.py:438
msgid "Calculate Factors"
msgstr "Calculer les facteurs"
-#: flatcamTools/ToolCalibration.py:463
+#: flatcamTools/ToolCalibration.py:460
msgid "STEP 4: Adjusted GCode"
msgstr "ÉTAPE 4: GCode ajusté"
-#: flatcamTools/ToolCalibration.py:465
+#: flatcamTools/ToolCalibration.py:462
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors above."
@@ -13243,43 +14022,43 @@ msgstr ""
"Générer un fichier GCode de vérification ajusté avec\n"
"les facteurs ci-dessus."
-#: flatcamTools/ToolCalibration.py:470
+#: flatcamTools/ToolCalibration.py:467
msgid "Scale Factor X:"
msgstr "Facteur d'échelle X:"
-#: flatcamTools/ToolCalibration.py:482
+#: flatcamTools/ToolCalibration.py:479
msgid "Scale Factor Y:"
msgstr "Facteur d'échelle Y:"
-#: flatcamTools/ToolCalibration.py:494
+#: flatcamTools/ToolCalibration.py:491
msgid "Apply Scale Factors"
msgstr "Appliquer des facteurs d'échelle"
-#: flatcamTools/ToolCalibration.py:496
+#: flatcamTools/ToolCalibration.py:493
msgid "Apply Scale factors on the calibration points."
msgstr "Appliquez des facteurs d'échelle aux points d'étalonnage."
-#: flatcamTools/ToolCalibration.py:506
+#: flatcamTools/ToolCalibration.py:503
msgid "Skew Angle X:"
msgstr "Angle d'inclinaison X:"
-#: flatcamTools/ToolCalibration.py:519
+#: flatcamTools/ToolCalibration.py:516
msgid "Skew Angle Y:"
msgstr "Angle d'inclinaison Y:"
-#: flatcamTools/ToolCalibration.py:532
+#: flatcamTools/ToolCalibration.py:529
msgid "Apply Skew Factors"
msgstr "Appliquer les facteurs d'inclinaison"
-#: flatcamTools/ToolCalibration.py:534
+#: flatcamTools/ToolCalibration.py:531
msgid "Apply Skew factors on the calibration points."
msgstr "Appliquer des facteurs d'inclinaison sur les points d'étalonnage."
-#: flatcamTools/ToolCalibration.py:603
+#: flatcamTools/ToolCalibration.py:600
msgid "Generate Adjusted GCode"
msgstr "Générer un GCode ajusté"
-#: flatcamTools/ToolCalibration.py:605
+#: flatcamTools/ToolCalibration.py:602
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors set above.\n"
@@ -13291,11 +14070,11 @@ msgstr ""
"Les paramètres GCode peuvent être réajustés\n"
"avant de cliquer sur ce bouton."
-#: flatcamTools/ToolCalibration.py:626
+#: flatcamTools/ToolCalibration.py:623
msgid "STEP 5: Calibrate FlatCAM Objects"
msgstr "ÉTAPE 5: Calibrer les objets FlatCAM"
-#: flatcamTools/ToolCalibration.py:628
+#: flatcamTools/ToolCalibration.py:625
msgid ""
"Adjust the FlatCAM objects\n"
"with the factors determined and verified above."
@@ -13303,27 +14082,27 @@ msgstr ""
"Ajuster les objets FlatCAM\n"
"avec les facteurs déterminés et vérifiés ci-dessus."
-#: flatcamTools/ToolCalibration.py:641
+#: flatcamTools/ToolCalibration.py:637
msgid "Adjusted object type"
msgstr "Type d'objet ajusté"
-#: flatcamTools/ToolCalibration.py:643
+#: flatcamTools/ToolCalibration.py:638
msgid "Type of the FlatCAM Object to be adjusted."
msgstr "Type de l'objet FlatCAM à ajuster."
-#: flatcamTools/ToolCalibration.py:654
+#: flatcamTools/ToolCalibration.py:651
msgid "Adjusted object selection"
msgstr "Sélection d'objet ajustée"
-#: flatcamTools/ToolCalibration.py:656
+#: flatcamTools/ToolCalibration.py:653
msgid "The FlatCAM Object to be adjusted."
msgstr "L'objet FlatCAM à ajuster."
-#: flatcamTools/ToolCalibration.py:663
+#: flatcamTools/ToolCalibration.py:660
msgid "Calibrate"
msgstr "Étalonner"
-#: flatcamTools/ToolCalibration.py:665
+#: flatcamTools/ToolCalibration.py:662
msgid ""
"Adjust (scale and/or skew) the objects\n"
"with the factors determined above."
@@ -13331,83 +14110,63 @@ msgstr ""
"Ajustez (redimensionnez et / ou inclinez) les objets\n"
"avec les facteurs déterminés ci-dessus."
-#: flatcamTools/ToolCalibration.py:686 flatcamTools/ToolCopperThieving.py:482
-#: flatcamTools/ToolCutOut.py:362 flatcamTools/ToolDblSided.py:405
-#: flatcamTools/ToolFiducials.py:316 flatcamTools/ToolFilm.py:518
-#: flatcamTools/ToolNonCopperClear.py:486 flatcamTools/ToolOptimal.py:237
-#: flatcamTools/ToolPaint.py:372 flatcamTools/ToolPanelize.py:266
-#: flatcamTools/ToolQRCode.py:314 flatcamTools/ToolRulesCheck.py:507
-#: flatcamTools/ToolSolderPaste.py:470 flatcamTools/ToolSub.py:170
-msgid "Reset Tool"
-msgstr "Réinitialiser l'outil"
+#: flatcamTools/ToolCalibration.py:770 flatcamTools/ToolCalibration.py:771
+msgid "Origin"
+msgstr "Origine"
-#: flatcamTools/ToolCalibration.py:688 flatcamTools/ToolCopperThieving.py:484
-#: flatcamTools/ToolCutOut.py:364 flatcamTools/ToolDblSided.py:407
-#: flatcamTools/ToolFiducials.py:318 flatcamTools/ToolFilm.py:520
-#: flatcamTools/ToolNonCopperClear.py:488 flatcamTools/ToolOptimal.py:239
-#: flatcamTools/ToolPaint.py:374 flatcamTools/ToolPanelize.py:268
-#: flatcamTools/ToolQRCode.py:316 flatcamTools/ToolRulesCheck.py:509
-#: flatcamTools/ToolSolderPaste.py:472 flatcamTools/ToolSub.py:172
-msgid "Will reset the tool parameters."
-msgstr "Réinitialise les paramètres de l'outil."
-
-#: flatcamTools/ToolCalibration.py:792
+#: flatcamTools/ToolCalibration.py:800
msgid "Tool initialized"
msgstr "Outil initialisé"
-#: flatcamTools/ToolCalibration.py:824
+#: flatcamTools/ToolCalibration.py:838
msgid "There is no source FlatCAM object selected..."
msgstr "Aucun objet FlatCAM source n'est sélectionné ..."
-#: flatcamTools/ToolCalibration.py:845
+#: flatcamTools/ToolCalibration.py:859
msgid "Get First calibration point. Bottom Left..."
msgstr "Obtenez le premier point d'étalonnage. En bas à gauche..."
-#: flatcamTools/ToolCalibration.py:906
-msgid "Cancelled by user request."
-msgstr "Annulé par demande de l'utilisateur."
-
-#: flatcamTools/ToolCalibration.py:912
+#: flatcamTools/ToolCalibration.py:926
msgid "Get Second calibration point. Bottom Right (Top Left)..."
msgstr ""
"Obtenez le deuxième point d'étalonnage. En bas à droite (en haut à "
"gauche) ..."
-#: flatcamTools/ToolCalibration.py:916
+#: flatcamTools/ToolCalibration.py:930
msgid "Get Third calibration point. Top Left (Bottom Right)..."
msgstr ""
"Obtenez le troisième point d'étalonnage. En haut à gauche (en bas à "
"droite) ..."
-#: flatcamTools/ToolCalibration.py:920
+#: flatcamTools/ToolCalibration.py:934
msgid "Get Forth calibration point. Top Right..."
msgstr "Obtenez le quatrième point d'étalonnage. En haut à droite..."
-#: flatcamTools/ToolCalibration.py:924
+#: flatcamTools/ToolCalibration.py:938
msgid "Done. All four points have been acquired."
msgstr "Terminé. Les quatre points ont été acquis."
-#: flatcamTools/ToolCalibration.py:955
+#: flatcamTools/ToolCalibration.py:969
msgid "Verification GCode for FlatCAM Calibration Tool"
msgstr "Vérification GCode pour l'outil d'étalonnage FlatCAM"
-#: flatcamTools/ToolCalibration.py:967 flatcamTools/ToolCalibration.py:1053
+#: flatcamTools/ToolCalibration.py:981 flatcamTools/ToolCalibration.py:1067
msgid "Gcode Viewer"
msgstr "Visionneuse Gcode"
-#: flatcamTools/ToolCalibration.py:983
+#: flatcamTools/ToolCalibration.py:997
msgid "Cancelled. Four points are needed for GCode generation."
msgstr "Annulé. Quatre points sont nécessaires pour la génération de GCode."
-#: flatcamTools/ToolCalibration.py:1239 flatcamTools/ToolCalibration.py:1335
+#: flatcamTools/ToolCalibration.py:1253 flatcamTools/ToolCalibration.py:1349
msgid "There is no FlatCAM object selected..."
msgstr "Aucun objet FlatCAM n'est sélectionné ..."
-#: flatcamTools/ToolCopperThieving.py:76 flatcamTools/ToolFiducials.py:260
+#: flatcamTools/ToolCopperThieving.py:77 flatcamTools/ToolFiducials.py:261
msgid "Gerber Object to which will be added a copper thieving."
msgstr "Objet Gerber auquel sera ajouté un voleur de cuivre."
-#: flatcamTools/ToolCopperThieving.py:98
+#: flatcamTools/ToolCopperThieving.py:99
msgid ""
"This set the distance between the copper thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
@@ -13417,7 +14176,7 @@ msgstr ""
"(le remplissage du polygone peut être divisé en plusieurs polygones)\n"
"et les traces de cuivre dans le fichier Gerber."
-#: flatcamTools/ToolCopperThieving.py:131
+#: flatcamTools/ToolCopperThieving.py:132
msgid ""
"- 'Itself' - the copper thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
@@ -13432,12 +14191,12 @@ msgstr ""
"- «Objet de référence» - effectuera un Copper Thieving dans la zone "
"spécifiée par un autre objet."
-#: flatcamTools/ToolCopperThieving.py:138
-#: flatcamTools/ToolNonCopperClear.py:445 flatcamTools/ToolPaint.py:326
+#: flatcamTools/ToolCopperThieving.py:139 flatcamTools/ToolNCC.py:552
+#: flatcamTools/ToolPaint.py:496
msgid "Ref. Type"
msgstr "Type de Réf"
-#: flatcamTools/ToolCopperThieving.py:140
+#: flatcamTools/ToolCopperThieving.py:141
msgid ""
"The type of FlatCAM object to be used as copper thieving reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -13445,36 +14204,21 @@ msgstr ""
"Type d'objet FlatCAM à utiliser comme référence de Copper Thieving.\n"
"Il peut s'agir de Gerber, Excellon ou Geometry."
-#: flatcamTools/ToolCopperThieving.py:144 flatcamTools/ToolDblSided.py:215
-#: flatcamTools/ToolNonCopperClear.py:451 flatcamTools/ToolPaint.py:332
-msgid "Reference Gerber"
-msgstr "Référence Gerber"
-
-#: flatcamTools/ToolCopperThieving.py:145 flatcamTools/ToolDblSided.py:216
-#: flatcamTools/ToolNonCopperClear.py:452 flatcamTools/ToolPaint.py:333
-msgid "Reference Excellon"
-msgstr "Référence Excellon"
-
-#: flatcamTools/ToolCopperThieving.py:146 flatcamTools/ToolDblSided.py:217
-#: flatcamTools/ToolNonCopperClear.py:453 flatcamTools/ToolPaint.py:334
-msgid "Reference Geometry"
-msgstr "Géométrie de référence"
-
-#: flatcamTools/ToolCopperThieving.py:151
-#: flatcamTools/ToolNonCopperClear.py:456 flatcamTools/ToolPaint.py:337
+#: flatcamTools/ToolCopperThieving.py:150 flatcamTools/ToolNCC.py:562
+#: flatcamTools/ToolPaint.py:506
msgid "Ref. Object"
msgstr "Réf. Objet"
-#: flatcamTools/ToolCopperThieving.py:153
-#: flatcamTools/ToolNonCopperClear.py:458 flatcamTools/ToolPaint.py:339
+#: flatcamTools/ToolCopperThieving.py:152 flatcamTools/ToolNCC.py:564
+#: flatcamTools/ToolPaint.py:508
msgid "The FlatCAM object to be used as non copper clearing reference."
msgstr "L'objet FlatCAM à utiliser comme référence d'effacement non en cuivre."
-#: flatcamTools/ToolCopperThieving.py:326
+#: flatcamTools/ToolCopperThieving.py:328
msgid "Insert Copper thieving"
msgstr "Insérer Copper Thieving"
-#: flatcamTools/ToolCopperThieving.py:328
+#: flatcamTools/ToolCopperThieving.py:330
msgid ""
"Will add a polygon (may be split in multiple parts)\n"
"that will surround the actual Gerber traces at a certain distance."
@@ -13482,11 +14226,11 @@ msgstr ""
"Ajoutera un polygone (peut être divisé en plusieurs parties)\n"
"qui entourera les traces réelles de Gerber à une certaine distance."
-#: flatcamTools/ToolCopperThieving.py:387
+#: flatcamTools/ToolCopperThieving.py:389
msgid "Insert Robber Bar"
msgstr "Insérer une Robber Bar"
-#: flatcamTools/ToolCopperThieving.py:389
+#: flatcamTools/ToolCopperThieving.py:391
msgid ""
"Will add a polygon with a defined thickness\n"
"that will surround the actual Gerber object\n"
@@ -13498,11 +14242,11 @@ msgstr ""
"à une certaine distance.\n"
"Requis lors du placage des trous."
-#: flatcamTools/ToolCopperThieving.py:413
+#: flatcamTools/ToolCopperThieving.py:415
msgid "Select Soldermask object"
msgstr "Sélectionner un objet Soldermask"
-#: flatcamTools/ToolCopperThieving.py:415
+#: flatcamTools/ToolCopperThieving.py:417
msgid ""
"Gerber Object with the soldermask.\n"
"It will be used as a base for\n"
@@ -13512,11 +14256,11 @@ msgstr ""
"Il sera utilisé comme base pour\n"
"le masque de placage de motifs."
-#: flatcamTools/ToolCopperThieving.py:443
+#: flatcamTools/ToolCopperThieving.py:446
msgid "Plated area"
msgstr "Zone plaquée"
-#: flatcamTools/ToolCopperThieving.py:445
+#: flatcamTools/ToolCopperThieving.py:448
msgid ""
"The area to be plated by pattern plating.\n"
"Basically is made from the openings in the plating mask.\n"
@@ -13535,19 +14279,19 @@ msgstr ""
"un peu plus grand que les tampons en cuivre, et cette zone est\n"
"calculé à partir des ouvertures du masque de soldat."
-#: flatcamTools/ToolCopperThieving.py:456
+#: flatcamTools/ToolCopperThieving.py:459
msgid "mm"
msgstr "mm"
-#: flatcamTools/ToolCopperThieving.py:458
+#: flatcamTools/ToolCopperThieving.py:461
msgid "in"
msgstr "in"
-#: flatcamTools/ToolCopperThieving.py:465
+#: flatcamTools/ToolCopperThieving.py:468
msgid "Generate pattern plating mask"
msgstr "Générer un masque de placage de motifs"
-#: flatcamTools/ToolCopperThieving.py:467
+#: flatcamTools/ToolCopperThieving.py:470
msgid ""
"Will add to the soldermask gerber geometry\n"
"the geometries of the copper thieving and/or\n"
@@ -13557,138 +14301,139 @@ msgstr ""
"les géométries du Copper Thieving et / ou\n"
"la Robber Bar si ceux-ci ont été générés."
-#: flatcamTools/ToolCopperThieving.py:620
-#: flatcamTools/ToolCopperThieving.py:645
+#: flatcamTools/ToolCopperThieving.py:626
+#: flatcamTools/ToolCopperThieving.py:651
msgid "Lines Grid works only for 'itself' reference ..."
msgstr ""
"La grille de lignes fonctionne uniquement pour la référence «elle-même» ..."
-#: flatcamTools/ToolCopperThieving.py:631
+#: flatcamTools/ToolCopperThieving.py:637
msgid "Solid fill selected."
msgstr "Remplissage solide sélectionné."
-#: flatcamTools/ToolCopperThieving.py:636
+#: flatcamTools/ToolCopperThieving.py:642
msgid "Dots grid fill selected."
msgstr "Remplissage de la grille de points sélectionné."
-#: flatcamTools/ToolCopperThieving.py:641
+#: flatcamTools/ToolCopperThieving.py:647
msgid "Squares grid fill selected."
msgstr "Remplissage de la grille des carrés sélectionné."
-#: flatcamTools/ToolCopperThieving.py:662
-#: flatcamTools/ToolCopperThieving.py:744
-#: flatcamTools/ToolCopperThieving.py:1340 flatcamTools/ToolDblSided.py:564
-#: flatcamTools/ToolFiducials.py:464 flatcamTools/ToolFiducials.py:741
-#: flatcamTools/ToolOptimal.py:342 flatcamTools/ToolQRCode.py:424
+#: flatcamTools/ToolCopperThieving.py:668
+#: flatcamTools/ToolCopperThieving.py:750
+#: flatcamTools/ToolCopperThieving.py:1346 flatcamTools/ToolDblSided.py:658
+#: flatcamTools/ToolExtractDrills.py:436 flatcamTools/ToolFiducials.py:466
+#: flatcamTools/ToolFiducials.py:743 flatcamTools/ToolOptimal.py:343
+#: flatcamTools/ToolPunchGerber.py:512 flatcamTools/ToolQRCode.py:426
msgid "There is no Gerber object loaded ..."
msgstr "Il n'y a pas d'objet Gerber chargé ..."
-#: flatcamTools/ToolCopperThieving.py:675
-#: flatcamTools/ToolCopperThieving.py:1268
+#: flatcamTools/ToolCopperThieving.py:681
+#: flatcamTools/ToolCopperThieving.py:1274
msgid "Append geometry"
msgstr "Ajouter une géométrie"
-#: flatcamTools/ToolCopperThieving.py:719
-#: flatcamTools/ToolCopperThieving.py:1301
-#: flatcamTools/ToolCopperThieving.py:1454
+#: flatcamTools/ToolCopperThieving.py:725
+#: flatcamTools/ToolCopperThieving.py:1307
+#: flatcamTools/ToolCopperThieving.py:1460
msgid "Append source file"
msgstr "Ajouter un fichier source"
-#: flatcamTools/ToolCopperThieving.py:727
-#: flatcamTools/ToolCopperThieving.py:1309
+#: flatcamTools/ToolCopperThieving.py:733
+#: flatcamTools/ToolCopperThieving.py:1315
msgid "Copper Thieving Tool done."
msgstr "Outil de Copper Thieving fait."
-#: flatcamTools/ToolCopperThieving.py:754
-#: flatcamTools/ToolCopperThieving.py:787 flatcamTools/ToolCutOut.py:468
-#: flatcamTools/ToolCutOut.py:642 flatcamTools/ToolNonCopperClear.py:1151
-#: flatcamTools/ToolNonCopperClear.py:1192
-#: flatcamTools/ToolNonCopperClear.py:1224 flatcamTools/ToolPaint.py:1074
-#: flatcamTools/ToolPanelize.py:401 flatcamTools/ToolPanelize.py:416
-#: flatcamTools/ToolSub.py:288 flatcamTools/ToolSub.py:301
-#: flatcamTools/ToolSub.py:492 flatcamTools/ToolSub.py:507
-#: tclCommands/TclCommandCopperClear.py:97
-#: tclCommands/TclCommandCopperClear.py:146 tclCommands/TclCommandPaint.py:97
+#: flatcamTools/ToolCopperThieving.py:760
+#: flatcamTools/ToolCopperThieving.py:793 flatcamTools/ToolCutOut.py:480
+#: flatcamTools/ToolCutOut.py:667 flatcamTools/ToolInvertGerber.py:208
+#: flatcamTools/ToolNCC.py:1594 flatcamTools/ToolNCC.py:1635
+#: flatcamTools/ToolNCC.py:1664 flatcamTools/ToolPaint.py:1469
+#: flatcamTools/ToolPanelize.py:413 flatcamTools/ToolPanelize.py:428
+#: flatcamTools/ToolSub.py:294 flatcamTools/ToolSub.py:307
+#: flatcamTools/ToolSub.py:498 flatcamTools/ToolSub.py:513
+#: tclCommands/TclCommandCopperClear.py:97 tclCommands/TclCommandPaint.py:99
msgid "Could not retrieve object"
msgstr "Impossible de récupérer l'objet"
-#: flatcamTools/ToolCopperThieving.py:764
-#: flatcamTools/ToolNonCopperClear.py:1205
+#: flatcamTools/ToolCopperThieving.py:770 flatcamTools/ToolNCC.py:1643
msgid "Click the start point of the area."
msgstr "Cliquez sur le point de départ de la zone."
-#: flatcamTools/ToolCopperThieving.py:815
+#: flatcamTools/ToolCopperThieving.py:821
msgid "Click the end point of the filling area."
msgstr "Cliquez sur le point final de la zone de remplissage."
-#: flatcamTools/ToolCopperThieving.py:821
-#: flatcamTools/ToolNonCopperClear.py:1261 flatcamTools/ToolPaint.py:1201
+#: flatcamTools/ToolCopperThieving.py:827 flatcamTools/ToolNCC.py:1705
+#: flatcamTools/ToolNCC.py:1757 flatcamTools/ToolPaint.py:1601
+#: flatcamTools/ToolPaint.py:1652
msgid "Zone added. Click to start adding next zone or right click to finish."
msgstr ""
"Zone ajoutée. Cliquez pour commencer à ajouter la zone suivante ou faites un "
"clic droit pour terminer."
-#: flatcamTools/ToolCopperThieving.py:937
-#: flatcamTools/ToolCopperThieving.py:941
-#: flatcamTools/ToolCopperThieving.py:1002
+#: flatcamTools/ToolCopperThieving.py:943
+#: flatcamTools/ToolCopperThieving.py:947
+#: flatcamTools/ToolCopperThieving.py:1008
msgid "Thieving"
msgstr "Voleur"
-#: flatcamTools/ToolCopperThieving.py:948
+#: flatcamTools/ToolCopperThieving.py:954
msgid "Copper Thieving Tool started. Reading parameters."
msgstr "L'outil de Copper Thieving a démarré. Lecture des paramètres."
-#: flatcamTools/ToolCopperThieving.py:973
+#: flatcamTools/ToolCopperThieving.py:979
msgid "Copper Thieving Tool. Preparing isolation polygons."
msgstr "Outil de Copper Thieving. Préparation des polygones d'isolement."
-#: flatcamTools/ToolCopperThieving.py:1018
+#: flatcamTools/ToolCopperThieving.py:1024
msgid "Copper Thieving Tool. Preparing areas to fill with copper."
msgstr "Outil de Copper Thieving. Préparer les zones à remplir de cuivre."
-#: flatcamTools/ToolCopperThieving.py:1029 flatcamTools/ToolOptimal.py:349
-#: flatcamTools/ToolPanelize.py:793 flatcamTools/ToolRulesCheck.py:1118
+#: flatcamTools/ToolCopperThieving.py:1035 flatcamTools/ToolOptimal.py:350
+#: flatcamTools/ToolPanelize.py:802 flatcamTools/ToolRulesCheck.py:1127
msgid "Working..."
msgstr "Travail..."
-#: flatcamTools/ToolCopperThieving.py:1056
+#: flatcamTools/ToolCopperThieving.py:1062
msgid "Geometry not supported for bounding box"
msgstr "Géométrie non prise en charge pour le cadre de sélection"
-#: flatcamTools/ToolCopperThieving.py:1062
-#: flatcamTools/ToolNonCopperClear.py:1513 flatcamTools/ToolPaint.py:2673
+#: flatcamTools/ToolCopperThieving.py:1068 flatcamTools/ToolNCC.py:1928
+#: flatcamTools/ToolNCC.py:1983 flatcamTools/ToolNCC.py:2987
+#: flatcamTools/ToolPaint.py:3375
msgid "No object available."
msgstr "Aucun objet disponible."
-#: flatcamTools/ToolCopperThieving.py:1099
-#: flatcamTools/ToolNonCopperClear.py:1555
+#: flatcamTools/ToolCopperThieving.py:1105 flatcamTools/ToolNCC.py:1953
+#: flatcamTools/ToolNCC.py:2006 flatcamTools/ToolNCC.py:3029
msgid "The reference object type is not supported."
msgstr "Le type d'objet de référence n'est pas pris en charge."
-#: flatcamTools/ToolCopperThieving.py:1104
+#: flatcamTools/ToolCopperThieving.py:1110
msgid "Copper Thieving Tool. Appending new geometry and buffering."
msgstr ""
"Outil de Copper Thieving. Ajout d'une nouvelle géométrie et mise en mémoire "
"tampon."
-#: flatcamTools/ToolCopperThieving.py:1120
+#: flatcamTools/ToolCopperThieving.py:1126
msgid "Create geometry"
msgstr "Créer une géométrie"
-#: flatcamTools/ToolCopperThieving.py:1320
-#: flatcamTools/ToolCopperThieving.py:1324
+#: flatcamTools/ToolCopperThieving.py:1326
+#: flatcamTools/ToolCopperThieving.py:1330
msgid "P-Plating Mask"
msgstr "Masque de placage P"
-#: flatcamTools/ToolCopperThieving.py:1346
+#: flatcamTools/ToolCopperThieving.py:1352
msgid "Append PP-M geometry"
msgstr "Ajouter la géométrie du masque P de placage"
-#: flatcamTools/ToolCopperThieving.py:1472
+#: flatcamTools/ToolCopperThieving.py:1478
msgid "Generating Pattern Plating Mask done."
msgstr "Génération du masque de placage de motif terminée."
-#: flatcamTools/ToolCopperThieving.py:1544
+#: flatcamTools/ToolCopperThieving.py:1550
msgid "Copper Thieving Tool exit."
msgstr "Sortie de l'outil de Copper Thieving."
@@ -13696,7 +14441,19 @@ msgstr "Sortie de l'outil de Copper Thieving."
msgid "Cutout PCB"
msgstr "Découpe de PCB"
-#: flatcamTools/ToolCutOut.py:82
+#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:54
+msgid "Source Object"
+msgstr "Objet source"
+
+#: flatcamTools/ToolCutOut.py:71
+msgid "Object to be cutout"
+msgstr "Objet à découper"
+
+#: flatcamTools/ToolCutOut.py:76
+msgid "Kind"
+msgstr "Sorte"
+
+#: flatcamTools/ToolCutOut.py:98
msgid ""
"Specify the type of object to be cutout.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -13708,19 +14465,19 @@ msgstr ""
"Ce qui est sélectionné ici dictera le genre\n"
"des objets qui vont remplir la liste déroulante 'Object'."
-#: flatcamTools/ToolCutOut.py:91 flatcamTools/ToolCutOut.py:92
-msgid "Object to be cutout"
-msgstr "Objet à découper"
+#: flatcamTools/ToolCutOut.py:122
+msgid "Tool Parameters"
+msgstr "Paramètres d'outil"
-#: flatcamTools/ToolCutOut.py:230
+#: flatcamTools/ToolCutOut.py:239
msgid "A. Automatic Bridge Gaps"
msgstr "A. Lacunes automatiques des ponts"
-#: flatcamTools/ToolCutOut.py:232
+#: flatcamTools/ToolCutOut.py:241
msgid "This section handle creation of automatic bridge gaps."
msgstr "Cette section gère la création d'espaces de pontage automatiques."
-#: flatcamTools/ToolCutOut.py:243
+#: flatcamTools/ToolCutOut.py:252
msgid ""
"Number of gaps used for the Automatic cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -13744,11 +14501,11 @@ msgstr ""
"- 2tb - 2 * Haut + 2 * Bas\n"
"- 8 - 2 * gauche + 2 * droite + 2 * en haut + 2 * en bas"
-#: flatcamTools/ToolCutOut.py:264
+#: flatcamTools/ToolCutOut.py:273
msgid "Generate Freeform Geometry"
msgstr "Générer une géométrie de forme libre"
-#: flatcamTools/ToolCutOut.py:266
+#: flatcamTools/ToolCutOut.py:275
msgid ""
"Cutout the selected object.\n"
"The cutout shape can be of any shape.\n"
@@ -13758,11 +14515,11 @@ msgstr ""
"La forme de la découpe peut être de n'importe quelle forme.\n"
"Utile lorsque le circuit imprimé a une forme non rectangulaire."
-#: flatcamTools/ToolCutOut.py:278
+#: flatcamTools/ToolCutOut.py:287
msgid "Generate Rectangular Geometry"
msgstr "Générer une géométrie rectangulaire"
-#: flatcamTools/ToolCutOut.py:280
+#: flatcamTools/ToolCutOut.py:289
msgid ""
"Cutout the selected object.\n"
"The resulting cutout shape is\n"
@@ -13774,11 +14531,11 @@ msgstr ""
"toujours une forme de rectangle et ce sera\n"
"la boîte englobante de l'objet."
-#: flatcamTools/ToolCutOut.py:299
+#: flatcamTools/ToolCutOut.py:308
msgid "B. Manual Bridge Gaps"
msgstr "B. Lacunes manuelles du pont"
-#: flatcamTools/ToolCutOut.py:301
+#: flatcamTools/ToolCutOut.py:310
msgid ""
"This section handle creation of manual bridge gaps.\n"
"This is done by mouse clicking on the perimeter of the\n"
@@ -13788,15 +14545,15 @@ msgstr ""
"Cela se fait en cliquant avec la souris sur le périmètre de la\n"
"Objet de géométrie utilisé comme objet de découpe. "
-#: flatcamTools/ToolCutOut.py:319
+#: flatcamTools/ToolCutOut.py:329
msgid "Geometry object used to create the manual cutout."
msgstr "Objet de géométrie utilisé pour créer la découpe manuelle."
-#: flatcamTools/ToolCutOut.py:328
+#: flatcamTools/ToolCutOut.py:338
msgid "Generate Manual Geometry"
msgstr "Générer une géométrie manuelle"
-#: flatcamTools/ToolCutOut.py:330
+#: flatcamTools/ToolCutOut.py:340
msgid ""
"If the object to be cutout is a Gerber\n"
"first create a Geometry that surrounds it,\n"
@@ -13809,11 +14566,11 @@ msgstr ""
"Sélectionnez le fichier Gerber source dans la liste déroulante d'objets "
"supérieure."
-#: flatcamTools/ToolCutOut.py:343
+#: flatcamTools/ToolCutOut.py:353
msgid "Manual Add Bridge Gaps"
msgstr "Ajout manuel de lacunes dans les ponts"
-#: flatcamTools/ToolCutOut.py:345
+#: flatcamTools/ToolCutOut.py:355
msgid ""
"Use the left mouse button (LMB) click\n"
"to create a bridge gap to separate the PCB from\n"
@@ -13827,7 +14584,7 @@ msgstr ""
"Le clic LMB doit être fait sur le périmètre de\n"
"l'objet Geometry utilisé en tant que géométrie de découpe."
-#: flatcamTools/ToolCutOut.py:473
+#: flatcamTools/ToolCutOut.py:485
msgid ""
"There is no object selected for Cutout.\n"
"Select one and try again."
@@ -13835,17 +14592,18 @@ msgstr ""
"Aucun objet n'est sélectionné pour la découpe.\n"
"Sélectionnez-en un et réessayez."
-#: flatcamTools/ToolCutOut.py:479 flatcamTools/ToolCutOut.py:651
-#: flatcamTools/ToolCutOut.py:795 flatcamTools/ToolCutOut.py:877
+#: flatcamTools/ToolCutOut.py:491 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:839 flatcamTools/ToolCutOut.py:921
+#: tclCommands/TclCommandGeoCutout.py:185
msgid "Tool Diameter is zero value. Change it to a positive real number."
msgstr ""
"Le diamètre de l'outil est égal à zéro. Changez-le en un nombre réel positif."
-#: flatcamTools/ToolCutOut.py:493 flatcamTools/ToolCutOut.py:666
+#: flatcamTools/ToolCutOut.py:505 flatcamTools/ToolCutOut.py:691
msgid "Number of gaps value is missing. Add it and retry."
msgstr "Le nombre de lacunes est manquant. Ajoutez-le et réessayez."
-#: flatcamTools/ToolCutOut.py:498 flatcamTools/ToolCutOut.py:670
+#: flatcamTools/ToolCutOut.py:510 flatcamTools/ToolCutOut.py:695
msgid ""
"Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. "
"Fill in a correct value and retry. "
@@ -13854,7 +14612,7 @@ msgstr ""
"'Aucune', 'lr', 'tb', '2lr', '2tb', 4 ou 8. Saisissez une valeur correcte, "
"puis réessayez. "
-#: flatcamTools/ToolCutOut.py:503 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:515 flatcamTools/ToolCutOut.py:701
msgid ""
"Cutout operation cannot be done on a multi-geo Geometry.\n"
"Optionally, this Multi-geo Geometry can be converted to Single-geo "
@@ -13867,40 +14625,45 @@ msgstr ""
"géo,\n"
"et après cela effectuer la découpe."
-#: flatcamTools/ToolCutOut.py:625 flatcamTools/ToolCutOut.py:784
+#: flatcamTools/ToolCutOut.py:650 flatcamTools/ToolCutOut.py:828
msgid "Any form CutOut operation finished."
msgstr "Opération de découpe Forme Libre terminée."
-#: flatcamTools/ToolCutOut.py:646 flatcamTools/ToolNonCopperClear.py:1155
-#: flatcamTools/ToolPaint.py:994 flatcamTools/ToolPanelize.py:406
-#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:70
+#: flatcamTools/ToolCutOut.py:671 flatcamTools/ToolInvertGerber.py:214
+#: flatcamTools/ToolNCC.py:1598 flatcamTools/ToolPaint.py:1392
+#: flatcamTools/ToolPanelize.py:418 tclCommands/TclCommandBbox.py:72
+#: tclCommands/TclCommandNregions.py:72
msgid "Object not found"
msgstr "Objet non trouvé"
-#: flatcamTools/ToolCutOut.py:789
+#: flatcamTools/ToolCutOut.py:814
+msgid "Rectangular cutout with negative margin is not possible."
+msgstr "Une découpe rectangulaire avec une marge négative n'est pas possible."
+
+#: flatcamTools/ToolCutOut.py:833
msgid ""
"Click on the selected geometry object perimeter to create a bridge gap ..."
msgstr ""
"Cliquez sur le périmètre de l'objet géométrique sélectionné pour créer un "
"intervalle de pont ..."
-#: flatcamTools/ToolCutOut.py:806 flatcamTools/ToolCutOut.py:832
+#: flatcamTools/ToolCutOut.py:850 flatcamTools/ToolCutOut.py:876
msgid "Could not retrieve Geometry object"
msgstr "Impossible de récupérer l'objet de géométrie"
-#: flatcamTools/ToolCutOut.py:837
+#: flatcamTools/ToolCutOut.py:881
msgid "Geometry object for manual cutout not found"
msgstr "Objet de géométrie pour découpe manuelle introuvable"
-#: flatcamTools/ToolCutOut.py:847
+#: flatcamTools/ToolCutOut.py:891
msgid "Added manual Bridge Gap."
msgstr "Ajout d'un écart de pont manuel."
-#: flatcamTools/ToolCutOut.py:859
+#: flatcamTools/ToolCutOut.py:903
msgid "Could not retrieve Gerber object"
msgstr "Impossible de récupérer l'objet Gerber"
-#: flatcamTools/ToolCutOut.py:864
+#: flatcamTools/ToolCutOut.py:908
msgid ""
"There is no Gerber object selected for Cutout.\n"
"Select one and try again."
@@ -13908,7 +14671,7 @@ msgstr ""
"Aucun objet Gerber n'a été sélectionné pour la découpe.\n"
"Sélectionnez-en un et réessayez."
-#: flatcamTools/ToolCutOut.py:870
+#: flatcamTools/ToolCutOut.py:914
msgid ""
"The selected object has to be of Gerber type.\n"
"Select a Gerber file and try again."
@@ -13916,11 +14679,11 @@ msgstr ""
"L'objet sélectionné doit être de type Gerber.\n"
"Sélectionnez un fichier Gerber et réessayez."
-#: flatcamTools/ToolCutOut.py:905
+#: flatcamTools/ToolCutOut.py:949
msgid "Geometry not supported for cutout"
msgstr "Géométrie non prise en charge pour la découpe"
-#: flatcamTools/ToolCutOut.py:960
+#: flatcamTools/ToolCutOut.py:1007
msgid "Making manual bridge gap..."
msgstr "Faire un pont manuel ..."
@@ -13928,12 +14691,20 @@ msgstr "Faire un pont manuel ..."
msgid "2-Sided PCB"
msgstr "PCB double face"
-#: flatcamTools/ToolDblSided.py:60
+#: flatcamTools/ToolDblSided.py:53
+msgid "Mirror Operation"
+msgstr "Miroir Opération"
+
+#: flatcamTools/ToolDblSided.py:54
+msgid "Objects to be mirrored"
+msgstr "Objets à mettre en miroir"
+
+#: flatcamTools/ToolDblSided.py:66
msgid "Gerber to be mirrored"
msgstr "Gerber en miroir"
-#: flatcamTools/ToolDblSided.py:64 flatcamTools/ToolDblSided.py:92
-#: flatcamTools/ToolDblSided.py:122
+#: flatcamTools/ToolDblSided.py:70 flatcamTools/ToolDblSided.py:98
+#: flatcamTools/ToolDblSided.py:128
msgid ""
"Mirrors (flips) the specified object around \n"
"the specified axis. Does not create a new \n"
@@ -13943,143 +14714,117 @@ msgstr ""
"l'axe spécifié. Ne crée pas de nouveau\n"
"objet, mais le modifie."
-#: flatcamTools/ToolDblSided.py:88
+#: flatcamTools/ToolDblSided.py:94
msgid "Excellon Object to be mirrored."
msgstr "Excellon Objet à refléter."
-#: flatcamTools/ToolDblSided.py:117
+#: flatcamTools/ToolDblSided.py:123
msgid "Geometry Obj to be mirrored."
msgstr "Objet de géométrie à refléter."
-#: flatcamTools/ToolDblSided.py:179
-msgid "Point/Box Reference"
-msgstr "Référence de Point/Box"
+#: flatcamTools/ToolDblSided.py:159
+msgid "Mirror Parameters"
+msgstr "Paramètres de Miroir"
-#: flatcamTools/ToolDblSided.py:181
+#: flatcamTools/ToolDblSided.py:160
+msgid "Parameters for the mirror operation"
+msgstr "Paramètres de l'opération Miroir"
+
+#: flatcamTools/ToolDblSided.py:165
+msgid "Mirror Axis"
+msgstr "Axe de Miroir"
+
+#: flatcamTools/ToolDblSided.py:176
msgid ""
-"If 'Point' is selected above it store the coordinates (x, y) through which\n"
-"the mirroring axis passes.\n"
-"If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
-"Geo).\n"
-"Through the center of this object pass the mirroring axis selected above."
+"The coordinates used as reference for the mirror operation.\n"
+"Can be:\n"
+"- Point -> a set of coordinates (x,y) around which the object is mirrored\n"
+"- Box -> a set of coordinates (x, y) obtained from the center of the\n"
+"bounding box of another object selected below"
msgstr ""
-"Si 'Point' est sélectionné ci-dessus, il enregistre les coordonnées (x, y) "
-"par lesquelles\n"
-"l'axe de symétrie passe.\n"
-"Si 'Box' est sélectionné ci-dessus, sélectionnez ici un objet FlatCAM "
-"(Gerber, Exc ou Geo).\n"
-"Au centre de cet objet, passez l’axe en miroir sélectionné ci-dessus."
+"Les coordonnées utilisées comme référence pour l'opération miroir.\n"
+"Peut être:\n"
+"- Point -> un ensemble de coordonnées (x, y) autour desquelles l'objet est "
+"mis en miroir\n"
+"- Boîte -> un ensemble de coordonnées (x, y) obtenues à partir du centre de "
+"la\n"
+"cadre de délimitation d'un autre objet sélectionné ci-dessous"
-#: flatcamTools/ToolDblSided.py:189
+#: flatcamTools/ToolDblSided.py:190
+msgid "Point coordinates"
+msgstr "Coordonnées du point"
+
+#: flatcamTools/ToolDblSided.py:195
msgid ""
"Add the coordinates in format (x, y) through which the mirroring "
"axis \n"
" selected in 'MIRROR AXIS' pass.\n"
"The (x, y) coordinates are captured by pressing SHIFT key\n"
-"and left mouse button click on canvas or you can enter the coords manually."
+"and left mouse button click on canvas or you can enter the coordinates "
+"manually."
msgstr ""
-"Ajoutez les coordonnées au format (x, y) à travers lequel l'axe de "
-"symétrie\n"
-"sélectionné dans la passe 'AXE MIROIR'.\n"
-"Les coordonnées (x, y) sont capturées en appuyant sur la touche SHIFT\n"
+"Ajoutez les coordonnées au format (x, y) à travers lesquelles l'axe "
+"de symétrie\n"
+" sélectionné dans la passe 'AXE MIROIR'.\n"
+"Les coordonnées (x, y) sont capturées en appuyant sur la touche MAJ\n"
"et cliquez avec le bouton gauche de la souris sur la toile ou vous pouvez "
"entrer les coordonnées manuellement."
-#: flatcamTools/ToolDblSided.py:230
-msgid "Alignment Drill Coordinates"
-msgstr "Coordonnées du foret d'alignement"
-
-#: flatcamTools/ToolDblSided.py:232
+#: flatcamTools/ToolDblSided.py:219
msgid ""
-"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
-"each set of (x, y) coordinates\n"
-"entered here, a pair of drills will be created:\n"
-"\n"
-"- one drill at the coordinates from the field\n"
-"- one drill in mirror position over the axis selected above in the 'Mirror "
-"Axis'."
+"It can be of type: Gerber or Excellon or Geometry.\n"
+"The coordinates of the center of the bounding box are used\n"
+"as reference for mirror operation."
msgstr ""
-"Trous d'alignement (x1, y1), (x2, y2), ... d'un côté de l'axe du miroir. "
-"Pour chaque ensemble de coordonnées (x, y)\n"
-"entré ici, une paire d'exercices sera créée:\n"
-"\n"
-"- un exercice aux coordonnées du terrain\n"
-"- un foret en position miroir sur l'axe sélectionné ci-dessus dans l'axe des "
-"miroirs."
+"Il peut être de type: Gerber ou Excellon ou Géométrie.\n"
+"Les coordonnées du centre du cadre de sélection sont utilisées\n"
+"comme référence pour le fonctionnement du miroir."
-#: flatcamTools/ToolDblSided.py:247
+#: flatcamTools/ToolDblSided.py:253
+msgid "Bounds Values"
+msgstr "Valeurs limites"
+
+#: flatcamTools/ToolDblSided.py:255
msgid ""
-"Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n"
-"on one side of the mirror axis.\n"
-"\n"
-"The coordinates set can be obtained:\n"
-"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the "
-"field.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
-"field and click Paste.\n"
-"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+"Select on canvas the object(s)\n"
+"for which to calculate bounds values."
msgstr ""
-"Ajouter des trous d'alignement dans le format: (x1, y1), (x2, y2), ...\n"
-"d'un côté de l'axe du miroir.\n"
-"\n"
-"Le jeu de coordonnées peut être obtenu:\n"
-"- Appuyez sur la touche SHIFT et cliquez avec le bouton gauche de la souris "
-"sur la toile. Puis cliquez sur Ajouter.\n"
-"- Appuyez sur la touche SHIFT et cliquez avec le bouton gauche de la souris "
-"sur la toile. Puis CTRL + V dans le champ.\n"
-"- Appuyez sur la touche SHIFT et cliquez avec le bouton gauche de la souris "
-"sur la toile. Ensuite, cliquez sur RMB dans le champ et cliquez sur Coller.\n"
-"- en saisissant manuellement les coordonnées au format: (x1, y1), (x2, "
-"y2), ..."
+"Sélectionnez sur le canevas le ou les objets\n"
+"pour lequel calculer les valeurs limites."
-#: flatcamTools/ToolDblSided.py:272
-msgid "Alignment Drill Diameter"
-msgstr "Diamètre du foret d'alignement"
-
-#: flatcamTools/ToolDblSided.py:292
-msgid "Create Excellon Object"
-msgstr "Créer un objet Excellon"
-
-#: flatcamTools/ToolDblSided.py:294
-msgid ""
-"Creates an Excellon Object containing the\n"
-"specified alignment holes and their mirror\n"
-"images."
-msgstr ""
-"Crée un objet Excellon contenant le\n"
-"trous d'alignement spécifiés et leur miroir\n"
-"images."
-
-#: flatcamTools/ToolDblSided.py:323
+#: flatcamTools/ToolDblSided.py:265
msgid "X min"
msgstr "X min"
-#: flatcamTools/ToolDblSided.py:325 flatcamTools/ToolDblSided.py:339
+#: flatcamTools/ToolDblSided.py:267 flatcamTools/ToolDblSided.py:281
msgid "Minimum location."
msgstr "Emplacement minimum."
-#: flatcamTools/ToolDblSided.py:337
+#: flatcamTools/ToolDblSided.py:279
msgid "Y min"
msgstr "Y min"
-#: flatcamTools/ToolDblSided.py:351
+#: flatcamTools/ToolDblSided.py:293
msgid "X max"
msgstr "X max"
-#: flatcamTools/ToolDblSided.py:353 flatcamTools/ToolDblSided.py:367
+#: flatcamTools/ToolDblSided.py:295 flatcamTools/ToolDblSided.py:309
msgid "Maximum location."
msgstr "Emplacement maximum."
-#: flatcamTools/ToolDblSided.py:365
+#: flatcamTools/ToolDblSided.py:307
msgid "Y max"
msgstr "Y max"
-#: flatcamTools/ToolDblSided.py:377
+#: flatcamTools/ToolDblSided.py:318
+msgid "Center point coordinates"
+msgstr "Coordonnées du point central"
+
+#: flatcamTools/ToolDblSided.py:320
msgid "Centroid"
msgstr "Centroïde"
-#: flatcamTools/ToolDblSided.py:379
+#: flatcamTools/ToolDblSided.py:322
msgid ""
"The center point location for the rectangular\n"
"bounding shape. Centroid. Format is (x, y)."
@@ -14087,11 +14832,11 @@ msgstr ""
"L'emplacement du point central pour le rectangulaire\n"
"forme de délimitation. Centroïde. Le format est (x, y)."
-#: flatcamTools/ToolDblSided.py:388
+#: flatcamTools/ToolDblSided.py:331
msgid "Calculate Bounds Values"
msgstr "Calculer les valeurs limites"
-#: flatcamTools/ToolDblSided.py:390
+#: flatcamTools/ToolDblSided.py:333
msgid ""
"Calculate the enveloping rectangular shape coordinates,\n"
"for the selection of objects.\n"
@@ -14101,11 +14846,105 @@ msgstr ""
"pour la sélection d'objets.\n"
"La forme de l'enveloppe est parallèle à l'axe X, Y."
-#: flatcamTools/ToolDblSided.py:462
+#: flatcamTools/ToolDblSided.py:353
+msgid "PCB Alignment"
+msgstr "Alignement PCB"
+
+#: flatcamTools/ToolDblSided.py:355 flatcamTools/ToolDblSided.py:457
+msgid ""
+"Creates an Excellon Object containing the\n"
+"specified alignment holes and their mirror\n"
+"images."
+msgstr ""
+"Crée un objet Excellon contenant le\n"
+"trous d'alignement spécifiés et leur miroir\n"
+"images."
+
+#: flatcamTools/ToolDblSided.py:362
+msgid "Drill Diameter"
+msgstr "Dia. de perçage"
+
+#: flatcamTools/ToolDblSided.py:391 flatcamTools/ToolDblSided.py:398
+msgid ""
+"The reference point used to create the second alignment drill\n"
+"from the first alignment drill, by doing mirror.\n"
+"It can be modified in the Mirror Parameters -> Reference section"
+msgstr ""
+"Le point de référence utilisé pour créer le deuxième foret d'alignement\n"
+"du premier foret d'alignement, en faisant miroir.\n"
+"Il peut être modifié dans la section Paramètres miroir -> Référence"
+
+#: flatcamTools/ToolDblSided.py:411
+msgid "Alignment Drill Coordinates"
+msgstr "Coordonnées du foret d'alignement"
+
+#: flatcamTools/ToolDblSided.py:413
+msgid ""
+"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
+"each set of (x, y) coordinates\n"
+"entered here, a pair of drills will be created:\n"
+"\n"
+"- one drill at the coordinates from the field\n"
+"- one drill in mirror position over the axis selected above in the 'Align "
+"Axis'."
+msgstr ""
+"Trous d'alignement (x1, y1), (x2, y2), ... d'un côté de l'axe du miroir. "
+"Pour chaque ensemble de coordonnées (x, y)\n"
+"entrée ici, une paire de forets sera créée:\n"
+"\n"
+"- un foret aux coordonnées du terrain\n"
+"- un foret en position miroir sur l'axe sélectionné ci-dessus dans 'Aligner "
+"l'axe'."
+
+#: flatcamTools/ToolDblSided.py:421
+msgid "Drill coordinates"
+msgstr "Coordonnées de forage"
+
+#: flatcamTools/ToolDblSided.py:428
+msgid ""
+"Add alignment drill holes coordinates in the format: (x1, y1), (x2, "
+"y2), ... \n"
+"on one side of the alignment axis.\n"
+"\n"
+"The coordinates set can be obtained:\n"
+"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the "
+"field.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
+"field and click Paste.\n"
+"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+msgstr ""
+"Ajoutez les coordonnées des trous d'alignement au format: (x1, y1), (x2, "
+"y2), ...\n"
+"d'un côté de l'axe d'alignement.\n"
+"\n"
+"L'ensemble de coordonnées peut être obtenu:\n"
+"- appuyez sur la touche SHIFT et cliquez avec le bouton gauche de la souris "
+"sur le canevas. Cliquez ensuite sur Ajouter.\n"
+"- appuyez sur la touche SHIFT et cliquez avec le bouton gauche de la souris "
+"sur le canevas. Puis Ctrl + V dans le champ.\n"
+"- appuyez sur la touche SHIFT et cliquez avec le bouton gauche de la souris "
+"sur le canevas. Ensuite, RMB cliquez dans le champ et cliquez sur Coller.\n"
+"- en saisissant manuellement les coordonnées au format: (x1, y1), (x2, "
+"y2), ..."
+
+#: flatcamTools/ToolDblSided.py:443
+msgid "Delete Last"
+msgstr "Supprimer le dernier"
+
+#: flatcamTools/ToolDblSided.py:445
+msgid "Delete the last coordinates tuple in the list."
+msgstr "Supprimez le dernier tuple de coordonnées de la liste."
+
+#: flatcamTools/ToolDblSided.py:455
+msgid "Create Excellon Object"
+msgstr "Créer un objet Excellon"
+
+#: flatcamTools/ToolDblSided.py:542
msgid "2-Sided Tool"
msgstr "Outil de PCB double face"
-#: flatcamTools/ToolDblSided.py:493
+#: flatcamTools/ToolDblSided.py:582
msgid ""
"'Point' reference is selected and 'Point' coordinates are missing. Add them "
"and retry."
@@ -14113,55 +14952,34 @@ msgstr ""
"La référence 'Point' est sélectionnée et les coordonnées 'Point' sont "
"manquantes. Ajoutez-les et réessayez."
-#: flatcamTools/ToolDblSided.py:512
+#: flatcamTools/ToolDblSided.py:601
msgid "There is no Box reference object loaded. Load one and retry."
msgstr ""
"Il n'y a pas d'objet de référence Box chargé. Chargez-en un et réessayez."
-#: flatcamTools/ToolDblSided.py:524
+#: flatcamTools/ToolDblSided.py:613
msgid "No value or wrong format in Drill Dia entry. Add it and retry."
msgstr ""
"Aucune valeur ou format incorrect dans l'entrée du diamètre du Forage. "
"Ajoutez-le et réessayez."
-#: flatcamTools/ToolDblSided.py:532
+#: flatcamTools/ToolDblSided.py:624
msgid "There are no Alignment Drill Coordinates to use. Add them and retry."
msgstr ""
"Il n’ya pas de coordonnées de perceuse d’alignement à utiliser. Ajoutez-les "
"et réessayez."
-#: flatcamTools/ToolDblSided.py:555
+#: flatcamTools/ToolDblSided.py:649
msgid "Excellon object with alignment drills created..."
msgstr "Excellon objet avec des exercices d'alignement créé ..."
-#: flatcamTools/ToolDblSided.py:568 flatcamTools/ToolDblSided.py:611
-#: flatcamTools/ToolDblSided.py:655
+#: flatcamTools/ToolDblSided.py:662 flatcamTools/ToolDblSided.py:705
+#: flatcamTools/ToolDblSided.py:749
msgid "Only Gerber, Excellon and Geometry objects can be mirrored."
msgstr ""
"Seuls les objets Gerber, Excellon et Geometry peuvent être mis en miroir."
-#: flatcamTools/ToolDblSided.py:578
-msgid ""
-"'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
-msgstr ""
-"Les coordonnées 'Point' sont manquantes. Utilisation de Origin (0, 0) comme "
-"référence en miroir."
-
-#: flatcamTools/ToolDblSided.py:588 flatcamTools/ToolDblSided.py:632
-#: flatcamTools/ToolDblSided.py:669
-msgid "There is no Box object loaded ..."
-msgstr "Il n'y a pas d'objet Box chargé ..."
-
-#: flatcamTools/ToolDblSided.py:598 flatcamTools/ToolDblSided.py:642
-#: flatcamTools/ToolDblSided.py:679
-msgid "was mirrored"
-msgstr "a été mis en miroir"
-
-#: flatcamTools/ToolDblSided.py:607
-msgid "There is no Excellon object loaded ..."
-msgstr "Il n'y a pas d'objet Excellon chargé ..."
-
-#: flatcamTools/ToolDblSided.py:622
+#: flatcamTools/ToolDblSided.py:672 flatcamTools/ToolDblSided.py:716
msgid ""
"There are no Point coordinates in the Point field. Add coords and try "
"again ..."
@@ -14169,98 +14987,137 @@ msgstr ""
"Il n'y a pas de coordonnées de point dans le champ Point. Ajoutez des "
"coordonnées et réessayez ..."
-#: flatcamTools/ToolDblSided.py:651
+#: flatcamTools/ToolDblSided.py:682 flatcamTools/ToolDblSided.py:726
+#: flatcamTools/ToolDblSided.py:763
+msgid "There is no Box object loaded ..."
+msgstr "Il n'y a pas d'objet Box chargé ..."
+
+#: flatcamTools/ToolDblSided.py:692 flatcamTools/ToolDblSided.py:736
+#: flatcamTools/ToolDblSided.py:773
+msgid "was mirrored"
+msgstr "a été mis en miroir"
+
+#: flatcamTools/ToolDblSided.py:701 flatcamTools/ToolPunchGerber.py:533
+msgid "There is no Excellon object loaded ..."
+msgstr "Il n'y a pas d'objet Excellon chargé ..."
+
+#: flatcamTools/ToolDblSided.py:745
msgid "There is no Geometry object loaded ..."
msgstr "Il n'y a pas d'objet Geometry chargé ..."
-#: flatcamTools/ToolDistance.py:50 flatcamTools/ToolDistanceMin.py:50
+#: flatcamTools/ToolDistance.py:57 flatcamTools/ToolDistanceMin.py:51
msgid "Those are the units in which the distance is measured."
msgstr "Ce sont les unités dans lesquelles la distance est mesurée."
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "METRIC (mm)"
msgstr "MÉTRIQUE (mm)"
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "INCH (in)"
msgstr "POUCES (po)"
-#: flatcamTools/ToolDistance.py:54
+#: flatcamTools/ToolDistance.py:64
+msgid "Snap to center"
+msgstr "Accrocher au centre"
+
+#: flatcamTools/ToolDistance.py:66
+msgid ""
+"Mouse cursor will snap to the center of the pad/drill\n"
+"when it is hovering over the geometry of the pad/drill."
+msgstr ""
+"Le curseur de la souris se positionnera au centre du pad / drill\n"
+"lorsqu'il survole la géométrie du tampon / de la perceuse."
+
+#: flatcamTools/ToolDistance.py:76
msgid "Start Coords"
msgstr "Démarrer Coords"
-#: flatcamTools/ToolDistance.py:55 flatcamTools/ToolDistance.py:75
+#: flatcamTools/ToolDistance.py:77 flatcamTools/ToolDistance.py:82
msgid "This is measuring Start point coordinates."
msgstr "Ceci mesure les coordonnées du point de départ."
-#: flatcamTools/ToolDistance.py:57
+#: flatcamTools/ToolDistance.py:87
msgid "Stop Coords"
msgstr "Arrêtez Coords"
-#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistance.py:80
+#: flatcamTools/ToolDistance.py:88 flatcamTools/ToolDistance.py:93
msgid "This is the measuring Stop point coordinates."
msgstr "Ce sont les coordonnées du point d'arrêt de la mesure."
-#: flatcamTools/ToolDistance.py:60 flatcamTools/ToolDistanceMin.py:62
+#: flatcamTools/ToolDistance.py:98 flatcamTools/ToolDistanceMin.py:63
msgid "Dx"
msgstr "Dx"
-#: flatcamTools/ToolDistance.py:61 flatcamTools/ToolDistance.py:85
-#: flatcamTools/ToolDistanceMin.py:63 flatcamTools/ToolDistanceMin.py:92
+#: flatcamTools/ToolDistance.py:99 flatcamTools/ToolDistance.py:104
+#: flatcamTools/ToolDistanceMin.py:64 flatcamTools/ToolDistanceMin.py:93
msgid "This is the distance measured over the X axis."
msgstr "C'est la distance mesurée sur l'axe X."
-#: flatcamTools/ToolDistance.py:63 flatcamTools/ToolDistanceMin.py:65
+#: flatcamTools/ToolDistance.py:109 flatcamTools/ToolDistanceMin.py:66
msgid "Dy"
msgstr "Dy"
-#: flatcamTools/ToolDistance.py:64 flatcamTools/ToolDistance.py:90
-#: flatcamTools/ToolDistanceMin.py:66 flatcamTools/ToolDistanceMin.py:97
+#: flatcamTools/ToolDistance.py:110 flatcamTools/ToolDistance.py:115
+#: flatcamTools/ToolDistanceMin.py:67 flatcamTools/ToolDistanceMin.py:98
msgid "This is the distance measured over the Y axis."
msgstr "C'est la distance mesurée sur l'axe Y."
-#: flatcamTools/ToolDistance.py:67 flatcamTools/ToolDistance.py:95
-#: flatcamTools/ToolDistanceMin.py:69 flatcamTools/ToolDistanceMin.py:102
+#: flatcamTools/ToolDistance.py:121 flatcamTools/ToolDistance.py:126
+#: flatcamTools/ToolDistanceMin.py:70 flatcamTools/ToolDistanceMin.py:103
msgid "This is orientation angle of the measuring line."
msgstr "C'est l'angle d'orientation de la ligne de mesure."
-#: flatcamTools/ToolDistance.py:69 flatcamTools/ToolDistanceMin.py:71
+#: flatcamTools/ToolDistance.py:131 flatcamTools/ToolDistanceMin.py:72
msgid "DISTANCE"
msgstr "DISTANCE"
-#: flatcamTools/ToolDistance.py:70 flatcamTools/ToolDistance.py:100
+#: flatcamTools/ToolDistance.py:132 flatcamTools/ToolDistance.py:137
msgid "This is the point to point Euclidian distance."
msgstr "C'est la distance euclidienne de point à point."
-#: flatcamTools/ToolDistance.py:102 flatcamTools/ToolDistanceMin.py:114
+#: flatcamTools/ToolDistance.py:142 flatcamTools/ToolDistance.py:337
+#: flatcamTools/ToolDistanceMin.py:115
msgid "Measure"
msgstr "Mesure"
-#: flatcamTools/ToolDistance.py:212
+#: flatcamTools/ToolDistance.py:272
+msgid "Working"
+msgstr "Travail"
+
+#: flatcamTools/ToolDistance.py:277
msgid "MEASURING: Click on the Start point ..."
msgstr "MESURE: Cliquez sur le point de départ ..."
-#: flatcamTools/ToolDistance.py:345
+#: flatcamTools/ToolDistance.py:387
+msgid "Distance Tool finished."
+msgstr "Outil Distance terminé."
+
+#: flatcamTools/ToolDistance.py:455
+msgid "Pads overlapped. Aborting."
+msgstr "Les coussinets se chevauchaient. Abandon."
+
+#: flatcamTools/ToolDistance.py:485
msgid "MEASURING: Click on the Destination point ..."
msgstr "MESURE: Cliquez sur le point de destination ..."
-#: flatcamTools/ToolDistance.py:353 flatcamTools/ToolDistanceMin.py:282
+#: flatcamTools/ToolDistance.py:494 flatcamTools/ToolDistanceMin.py:285
msgid "MEASURING"
msgstr "MESURE"
-#: flatcamTools/ToolDistance.py:354 flatcamTools/ToolDistanceMin.py:283
+#: flatcamTools/ToolDistance.py:495 flatcamTools/ToolDistanceMin.py:286
msgid "Result"
msgstr "Résultat"
-#: flatcamTools/ToolDistanceMin.py:31 flatcamTools/ToolDistanceMin.py:152
+#: flatcamTools/ToolDistanceMin.py:32 flatcamTools/ToolDistanceMin.py:144
msgid "Minimum Distance Tool"
msgstr "Outil de Distance Minimale"
-#: flatcamTools/ToolDistanceMin.py:54
+#: flatcamTools/ToolDistanceMin.py:55
msgid "First object point"
msgstr "Premier point"
-#: flatcamTools/ToolDistanceMin.py:55 flatcamTools/ToolDistanceMin.py:80
+#: flatcamTools/ToolDistanceMin.py:56 flatcamTools/ToolDistanceMin.py:81
msgid ""
"This is first object point coordinates.\n"
"This is the start point for measuring distance."
@@ -14268,11 +15125,11 @@ msgstr ""
"Ce sont les premières coordonnées du point d'objet.\n"
"C'est le point de départ pour mesurer la distance."
-#: flatcamTools/ToolDistanceMin.py:58
+#: flatcamTools/ToolDistanceMin.py:59
msgid "Second object point"
msgstr "Deuxième point"
-#: flatcamTools/ToolDistanceMin.py:59 flatcamTools/ToolDistanceMin.py:86
+#: flatcamTools/ToolDistanceMin.py:60 flatcamTools/ToolDistanceMin.py:87
msgid ""
"This is second object point coordinates.\n"
"This is the end point for measuring distance."
@@ -14280,44 +15137,61 @@ msgstr ""
"Ce sont les coordonnées du deuxième point de l'objet.\n"
"C'est le point final pour mesurer la distance."
-#: flatcamTools/ToolDistanceMin.py:72 flatcamTools/ToolDistanceMin.py:107
+#: flatcamTools/ToolDistanceMin.py:73 flatcamTools/ToolDistanceMin.py:108
msgid "This is the point to point Euclidean distance."
msgstr "C'est la distance euclidienne de point à point."
-#: flatcamTools/ToolDistanceMin.py:74
+#: flatcamTools/ToolDistanceMin.py:75
msgid "Half Point"
msgstr "Demi point"
-#: flatcamTools/ToolDistanceMin.py:75 flatcamTools/ToolDistanceMin.py:112
+#: flatcamTools/ToolDistanceMin.py:76 flatcamTools/ToolDistanceMin.py:113
msgid "This is the middle point of the point to point Euclidean distance."
msgstr "C'est le point central de la distance euclidienne point à point."
-#: flatcamTools/ToolDistanceMin.py:117
+#: flatcamTools/ToolDistanceMin.py:118
msgid "Jump to Half Point"
msgstr "Aller au demi point"
-#: flatcamTools/ToolDistanceMin.py:163
+#: flatcamTools/ToolDistanceMin.py:155
msgid ""
"Select two objects and no more, to measure the distance between them ..."
msgstr ""
"Sélectionnez deux objets et pas plus, pour mesurer la distance qui les "
"sépare ..."
-#: flatcamTools/ToolDistanceMin.py:204 flatcamTools/ToolDistanceMin.py:214
-#: flatcamTools/ToolDistanceMin.py:223 flatcamTools/ToolDistanceMin.py:244
+#: flatcamTools/ToolDistanceMin.py:196 flatcamTools/ToolDistanceMin.py:217
+#: flatcamTools/ToolDistanceMin.py:226 flatcamTools/ToolDistanceMin.py:247
msgid "Select two objects and no more. Currently the selection has objects: "
msgstr ""
"Sélectionnez deux objets et pas plus. Actuellement, la sélection a des "
"objets: "
-#: flatcamTools/ToolDistanceMin.py:291
+#: flatcamTools/ToolDistanceMin.py:294
msgid "Objects intersects or touch at"
msgstr "Les objets se croisent ou se touchent à"
-#: flatcamTools/ToolDistanceMin.py:297
+#: flatcamTools/ToolDistanceMin.py:300
msgid "Jumped to the half point between the two selected objects"
msgstr "Sauté au demi-point entre les deux objets sélectionnés"
+#: flatcamTools/ToolExtractDrills.py:29 flatcamTools/ToolExtractDrills.py:295
+msgid "Extract Drills"
+msgstr "Extraire des forets"
+
+#: flatcamTools/ToolExtractDrills.py:62
+msgid "Gerber from which to extract drill holes"
+msgstr "Gerber d'où extraire les trous de forage"
+
+#: flatcamTools/ToolExtractDrills.py:297
+msgid "Extract drills from a given Gerber file."
+msgstr "Extraire les trous de forage d'un fichier Gerber donné."
+
+#: flatcamTools/ToolExtractDrills.py:478 flatcamTools/ToolExtractDrills.py:563
+#: flatcamTools/ToolExtractDrills.py:648
+msgid "No drills extracted. Try different parameters."
+msgstr "Aucun trou de forage extrait. Essayez différents paramètres."
+
#: flatcamTools/ToolFiducials.py:56
msgid "Fiducials Coordinates"
msgstr "Coordonnées de Fiducials"
@@ -14334,10 +15208,6 @@ msgstr ""
msgid "Top Right"
msgstr "En haut à droite"
-#: flatcamTools/ToolFiducials.py:111
-msgid "Second Point"
-msgstr "Deuxième point"
-
#: flatcamTools/ToolFiducials.py:191
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding "
@@ -14348,31 +15218,31 @@ msgstr ""
"sélection.\n"
"- «Manuel» - placement manuel des fiduciaires."
-#: flatcamTools/ToolFiducials.py:258
+#: flatcamTools/ToolFiducials.py:259
msgid "Copper Gerber"
msgstr "Gerber cuivré"
-#: flatcamTools/ToolFiducials.py:267
+#: flatcamTools/ToolFiducials.py:268
msgid "Add Fiducial"
msgstr "Ajouter Fiducial"
-#: flatcamTools/ToolFiducials.py:269
+#: flatcamTools/ToolFiducials.py:270
msgid "Will add a polygon on the copper layer to serve as fiducial."
msgstr "Ajoutera un polygone sur la couche de cuivre pour servir de repère."
-#: flatcamTools/ToolFiducials.py:285
+#: flatcamTools/ToolFiducials.py:286
msgid "Soldermask Gerber"
msgstr "Soldermask Gerber"
-#: flatcamTools/ToolFiducials.py:287
+#: flatcamTools/ToolFiducials.py:288
msgid "The Soldermask Gerber object."
msgstr "L'objet Soldermask Gerber."
-#: flatcamTools/ToolFiducials.py:298
+#: flatcamTools/ToolFiducials.py:300
msgid "Add Soldermask Opening"
msgstr "Ajouter une ouverture de Soldermask"
-#: flatcamTools/ToolFiducials.py:300
+#: flatcamTools/ToolFiducials.py:302
msgid ""
"Will add a polygon on the soldermask layer\n"
"to serve as fiducial opening.\n"
@@ -14384,25 +15254,25 @@ msgstr ""
"Le diamètre est toujours le double du diamètre\n"
"pour le cuivre fiducial."
-#: flatcamTools/ToolFiducials.py:514
+#: flatcamTools/ToolFiducials.py:516
msgid "Click to add first Fiducial. Bottom Left..."
msgstr "Cliquez pour ajouter le premier Fiducial. En bas à gauche..."
-#: flatcamTools/ToolFiducials.py:778
+#: flatcamTools/ToolFiducials.py:780
msgid "Click to add the last fiducial. Top Right..."
msgstr "Cliquez pour ajouter la dernière fiducie. En haut à droite..."
-#: flatcamTools/ToolFiducials.py:783
+#: flatcamTools/ToolFiducials.py:785
msgid "Click to add the second fiducial. Top Left or Bottom Right..."
msgstr ""
"Cliquez pour ajouter le deuxième repère. En haut à gauche ou en bas à "
"droite ..."
-#: flatcamTools/ToolFiducials.py:786 flatcamTools/ToolFiducials.py:795
+#: flatcamTools/ToolFiducials.py:788 flatcamTools/ToolFiducials.py:797
msgid "Done. All fiducials have been added."
msgstr "Terminé. Tous les fiduciaux ont été ajoutés."
-#: flatcamTools/ToolFiducials.py:872
+#: flatcamTools/ToolFiducials.py:874
msgid "Fiducials Tool exit."
msgstr "Sortie de l'outil Fiducials."
@@ -14410,7 +15280,7 @@ msgstr "Sortie de l'outil Fiducials."
msgid "Film PCB"
msgstr "Film PCB"
-#: flatcamTools/ToolFilm.py:80
+#: flatcamTools/ToolFilm.py:78
msgid ""
"Specify the type of object for which to create the film.\n"
"The object can be of type: Gerber or Geometry.\n"
@@ -14422,11 +15292,11 @@ msgstr ""
"La sélection ici décide du type d’objets qui seront\n"
"dans la liste déroulante d'objets Film."
-#: flatcamTools/ToolFilm.py:94
+#: flatcamTools/ToolFilm.py:92
msgid "Film Object"
msgstr "Objet de Film"
-#: flatcamTools/ToolFilm.py:96
+#: flatcamTools/ToolFilm.py:94
msgid "Object for which to create the film."
msgstr "Objet pour lequel créer le film."
@@ -14442,7 +15312,7 @@ msgstr ""
"sélection ici détermine le type d'objets qui seront\n"
"dans la liste déroulante Objet de Box."
-#: flatcamTools/ToolFilm.py:129 flatcamTools/ToolPanelize.py:136
+#: flatcamTools/ToolFilm.py:129
msgid "Box Object"
msgstr "Objet Box"
@@ -14504,20 +15374,20 @@ msgid ""
msgstr ""
"Supprimez la géométrie d’Excellon du film pour créer les trous dans les pads."
-#: flatcamTools/ToolFilm.py:379
+#: flatcamTools/ToolFilm.py:381
msgid "Punch Size"
msgstr "Taille du poinçon"
-#: flatcamTools/ToolFilm.py:380
+#: flatcamTools/ToolFilm.py:382
msgid "The value here will control how big is the punch hole in the pads."
msgstr ""
"La valeur ici contrôlera la taille du trou de perforation dans les pads."
-#: flatcamTools/ToolFilm.py:500
+#: flatcamTools/ToolFilm.py:502
msgid "Save Film"
msgstr "Enregistrer le Film"
-#: flatcamTools/ToolFilm.py:502
+#: flatcamTools/ToolFilm.py:504
msgid ""
"Create a Film for the selected object, within\n"
"the specified box. Does not create a new \n"
@@ -14529,7 +15399,7 @@ msgstr ""
"Objet FlatCAM, mais enregistrez-le directement dans le\n"
"format sélectionné."
-#: flatcamTools/ToolFilm.py:652
+#: flatcamTools/ToolFilm.py:664
msgid ""
"Using the Pad center does not work on Geometry objects. Only a Gerber object "
"has pads."
@@ -14537,40 +15407,36 @@ msgstr ""
"L'utilisation du pavé central ne fonctionne pas avec les objets "
"géométriques. Seul un objet Gerber a des pads."
-#: flatcamTools/ToolFilm.py:662
+#: flatcamTools/ToolFilm.py:674
msgid "No FlatCAM object selected. Load an object for Film and retry."
msgstr ""
"Aucun objet FlatCAM sélectionné. Chargez un objet pour Film et réessayez."
-#: flatcamTools/ToolFilm.py:669
+#: flatcamTools/ToolFilm.py:681
msgid "No FlatCAM object selected. Load an object for Box and retry."
msgstr ""
"Aucun objet FlatCAM sélectionné. Chargez un objet pour Box et réessayez."
-#: flatcamTools/ToolFilm.py:673
+#: flatcamTools/ToolFilm.py:685
msgid "No FlatCAM object selected."
msgstr "Aucun objet FlatCAM sélectionné."
-#: flatcamTools/ToolFilm.py:684
+#: flatcamTools/ToolFilm.py:696
msgid "Generating Film ..."
msgstr "Génération de Film ..."
-#: flatcamTools/ToolFilm.py:733 flatcamTools/ToolFilm.py:737
+#: flatcamTools/ToolFilm.py:745 flatcamTools/ToolFilm.py:749
msgid "Export positive film"
msgstr "Exporter un film positif"
-#: flatcamTools/ToolFilm.py:742
-msgid "Export positive film cancelled."
-msgstr "Exporter le film positif annulé."
-
-#: flatcamTools/ToolFilm.py:770
+#: flatcamTools/ToolFilm.py:782
msgid ""
"No Excellon object selected. Load an object for punching reference and retry."
msgstr ""
"Aucun objet Excellon sélectionné. Charger un objet pour la référence de "
"poinçonnage et réessayer."
-#: flatcamTools/ToolFilm.py:794
+#: flatcamTools/ToolFilm.py:806
msgid ""
" Could not generate punched hole film because the punch hole sizeis bigger "
"than some of the apertures in the Gerber object."
@@ -14578,7 +15444,7 @@ msgstr ""
" Impossible de générer un film perforé car la taille du trou perforé est "
"plus grande que certaines des ouvertures de l’objet Gerber."
-#: flatcamTools/ToolFilm.py:806
+#: flatcamTools/ToolFilm.py:818
msgid ""
"Could not generate punched hole film because the punch hole sizeis bigger "
"than some of the apertures in the Gerber object."
@@ -14586,7 +15452,7 @@ msgstr ""
"Impossible de générer un film perforé car la taille du trou perforé est plus "
"grande que certaines des ouvertures de l’objet Gerber."
-#: flatcamTools/ToolFilm.py:824
+#: flatcamTools/ToolFilm.py:836
msgid ""
"Could not generate punched hole film because the newly created object "
"geometry is the same as the one in the source object geometry..."
@@ -14594,24 +15460,20 @@ msgstr ""
"Impossible de générer un film perforé car la géométrie d'objet nouvellement "
"créée est identique à celle de la géométrie de l'objet source ..."
-#: flatcamTools/ToolFilm.py:879 flatcamTools/ToolFilm.py:883
+#: flatcamTools/ToolFilm.py:891 flatcamTools/ToolFilm.py:895
msgid "Export negative film"
msgstr "Exporter un film négatif"
-#: flatcamTools/ToolFilm.py:888
-msgid "Export negative film cancelled."
-msgstr "Exporter le film négatif annulé."
-
-#: flatcamTools/ToolFilm.py:944 flatcamTools/ToolFilm.py:1122
-#: flatcamTools/ToolPanelize.py:421
+#: flatcamTools/ToolFilm.py:956 flatcamTools/ToolFilm.py:1139
+#: flatcamTools/ToolPanelize.py:433
msgid "No object Box. Using instead"
msgstr "Aucune Boîte d'objet. Utiliser à la place"
-#: flatcamTools/ToolFilm.py:1060 flatcamTools/ToolFilm.py:1235
+#: flatcamTools/ToolFilm.py:1072 flatcamTools/ToolFilm.py:1252
msgid "Film file exported to"
msgstr "Fichier de film exporté vers"
-#: flatcamTools/ToolFilm.py:1063 flatcamTools/ToolFilm.py:1238
+#: flatcamTools/ToolFilm.py:1075 flatcamTools/ToolFilm.py:1255
msgid "Generating Film ... Please wait."
msgstr "Génération de film ... Veuillez patienter."
@@ -14623,7 +15485,7 @@ msgstr "Image comme objet"
msgid "Image to PCB"
msgstr "Image au PCB"
-#: flatcamTools/ToolImage.py:57
+#: flatcamTools/ToolImage.py:56
msgid ""
"Specify the type of object to create from the image.\n"
"It can be of type: Gerber or Geometry."
@@ -14631,23 +15493,23 @@ msgstr ""
"Spécifiez le type d'objet à créer à partir de l'image.\n"
"Il peut être de type: Gerber ou Géométrie."
-#: flatcamTools/ToolImage.py:66
+#: flatcamTools/ToolImage.py:65
msgid "DPI value"
msgstr "Valeur DPI"
-#: flatcamTools/ToolImage.py:67
+#: flatcamTools/ToolImage.py:66
msgid "Specify a DPI value for the image."
msgstr "Spécifiez une valeur DPI pour l'image."
-#: flatcamTools/ToolImage.py:73
+#: flatcamTools/ToolImage.py:72
msgid "Level of detail"
msgstr "Niveau de détail"
-#: flatcamTools/ToolImage.py:82
+#: flatcamTools/ToolImage.py:81
msgid "Image type"
msgstr "Type d'image"
-#: flatcamTools/ToolImage.py:84
+#: flatcamTools/ToolImage.py:83
msgid ""
"Choose a method for the image interpretation.\n"
"B/W means a black & white image. Color means a colored image."
@@ -14656,12 +15518,12 @@ msgstr ""
"N / B signifie une image en noir et blanc. Couleur signifie une image "
"colorée."
-#: flatcamTools/ToolImage.py:93 flatcamTools/ToolImage.py:108
-#: flatcamTools/ToolImage.py:121 flatcamTools/ToolImage.py:134
+#: flatcamTools/ToolImage.py:92 flatcamTools/ToolImage.py:107
+#: flatcamTools/ToolImage.py:120 flatcamTools/ToolImage.py:133
msgid "Mask value"
msgstr "Valeur du masque"
-#: flatcamTools/ToolImage.py:95
+#: flatcamTools/ToolImage.py:94
msgid ""
"Mask for monochrome image.\n"
"Takes values between [0 ... 255].\n"
@@ -14677,7 +15539,7 @@ msgstr ""
"0 signifie pas de détail et 255 signifie tout\n"
"(qui est totalement noir)."
-#: flatcamTools/ToolImage.py:110
+#: flatcamTools/ToolImage.py:109
msgid ""
"Mask for RED color.\n"
"Takes values between [0 ... 255].\n"
@@ -14689,7 +15551,7 @@ msgstr ""
"Décide du niveau de détails à inclure\n"
"dans la géométrie résultante."
-#: flatcamTools/ToolImage.py:123
+#: flatcamTools/ToolImage.py:122
msgid ""
"Mask for GREEN color.\n"
"Takes values between [0 ... 255].\n"
@@ -14701,7 +15563,7 @@ msgstr ""
"Décide du niveau de détails à inclure\n"
"dans la géométrie résultante."
-#: flatcamTools/ToolImage.py:136
+#: flatcamTools/ToolImage.py:135
msgid ""
"Mask for BLUE color.\n"
"Takes values between [0 ... 255].\n"
@@ -14713,33 +15575,59 @@ msgstr ""
"Décide du niveau de détails à inclure\n"
"dans la géométrie résultante."
-#: flatcamTools/ToolImage.py:144
+#: flatcamTools/ToolImage.py:143
msgid "Import image"
msgstr "Importer une image"
-#: flatcamTools/ToolImage.py:146
+#: flatcamTools/ToolImage.py:145
msgid "Open a image of raster type and then import it in FlatCAM."
msgstr "Ouvrez une image de type raster, puis importez-la dans FlatCAM."
-#: flatcamTools/ToolImage.py:183
+#: flatcamTools/ToolImage.py:182
msgid "Image Tool"
msgstr "Outil Image"
-#: flatcamTools/ToolImage.py:235 flatcamTools/ToolImage.py:238
+#: flatcamTools/ToolImage.py:234 flatcamTools/ToolImage.py:237
msgid "Import IMAGE"
msgstr "Importer une Image"
-#: flatcamTools/ToolImage.py:286
+#: flatcamTools/ToolImage.py:285
msgid "Importing Image"
msgstr "Importation d'Image"
+#: flatcamTools/ToolInvertGerber.py:74
+msgid "Gerber object that will be inverted."
+msgstr "Objet Gerber qui sera inversé."
+
+#: flatcamTools/ToolInvertGerber.py:83
+msgid "Parameters for this tool"
+msgstr "Paramètres pour cet outil"
+
+#: flatcamTools/ToolInvertGerber.py:123
+msgid "Invert Gerber"
+msgstr "Inverser Gerber"
+
+#: flatcamTools/ToolInvertGerber.py:125
+msgid ""
+"Will invert the Gerber object: areas that have copper\n"
+"will be empty of copper and previous empty area will be\n"
+"filled with copper."
+msgstr ""
+"Inversera l'objet Gerber: les zones qui ont du cuivre\n"
+"sera vide de cuivre et la zone vide précédente sera\n"
+"rempli de cuivre."
+
+#: flatcamTools/ToolInvertGerber.py:184
+msgid "Invert Tool"
+msgstr "Outil Inverser"
+
#: flatcamTools/ToolMove.py:103
msgid "MOVE: Click on the Start point ..."
msgstr "Déplacer: Cliquez sur le point de départ ..."
#: flatcamTools/ToolMove.py:114
-msgid "MOVE action cancelled. No object(s) to move."
-msgstr "Déplacer: action annulée. Aucun objet à déplacer."
+msgid "Cancelled. No object(s) to move."
+msgstr "Annulé. Aucun objet à déplacer."
#: flatcamTools/ToolMove.py:141
msgid "MOVE: Click on the Destination point ..."
@@ -14753,19 +15641,15 @@ msgstr "En mouvement..."
msgid "No object(s) selected."
msgstr "Aucun objet sélectionné."
-#: flatcamTools/ToolMove.py:212
+#: flatcamTools/ToolMove.py:222
msgid "Error when mouse left click."
msgstr "Erreur lorsque le clic gauche de la souris."
-#: flatcamTools/ToolMove.py:260
-msgid "Move action cancelled."
-msgstr "Action de déplacement annulée."
-
-#: flatcamTools/ToolNonCopperClear.py:38
+#: flatcamTools/ToolNCC.py:42
msgid "Non-Copper Clearing"
msgstr "Compensation de la NCC"
-#: flatcamTools/ToolNonCopperClear.py:84
+#: flatcamTools/ToolNCC.py:88
msgid ""
"Specify the type of object to be cleared of excess copper.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -14777,11 +15661,11 @@ msgstr ""
"Ce qui est sélectionné ici dictera le genre\n"
"des objets qui vont remplir la liste déroulante 'Object'."
-#: flatcamTools/ToolNonCopperClear.py:101
+#: flatcamTools/ToolNCC.py:110
msgid "Object to be cleared of excess copper."
msgstr "Objet à nettoyer de l'excès de cuivre."
-#: flatcamTools/ToolNonCopperClear.py:111
+#: flatcamTools/ToolNCC.py:122
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for copper clearing."
@@ -14789,11 +15673,7 @@ msgstr ""
"Pool d'outils à partir duquel l'algorithme\n"
"choisira ceux utilisés pour le nettoyage du cuivre."
-#: flatcamTools/ToolNonCopperClear.py:120
-msgid "Operation"
-msgstr "Opération"
-
-#: flatcamTools/ToolNonCopperClear.py:126
+#: flatcamTools/ToolNCC.py:138
msgid ""
"This is the Tool Number.\n"
"Non copper clearing will start with the tool with the biggest \n"
@@ -14810,7 +15690,7 @@ msgstr ""
"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."
-#: flatcamTools/ToolNonCopperClear.py:134
+#: flatcamTools/ToolNCC.py:146
msgid ""
"Tool Diameter. It's value (in current FlatCAM units)\n"
"is the cut width into the material."
@@ -14818,7 +15698,7 @@ msgstr ""
"Diamètre de l'outil. C'est sa valeur (en unités FlatCAM actuelles)\n"
"est la largeur de coupe dans le matériau."
-#: flatcamTools/ToolNonCopperClear.py:138
+#: flatcamTools/ToolNCC.py:150
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n"
@@ -14856,34 +15736,7 @@ msgstr ""
"d’opération\n"
"dans la géométrie résultante en tant qu'isolation."
-#: flatcamTools/ToolNonCopperClear.py:151
-msgid ""
-"The 'Operation' can be:\n"
-"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
-"If it's not successful then the non-copper clearing will fail, too.\n"
-"- Clear -> the regular non-copper clearing."
-msgstr ""
-"L'opération peut être:\n"
-"- Isolement -> veillera à ce que la clairance sans cuivre soit toujours "
-"complète.\n"
-"Si cela ne réussit pas, alors le clearing sans cuivre échouera aussi.\n"
-"- Clair -> le clearing régulier sans cuivre."
-
-#: flatcamTools/ToolNonCopperClear.py:209
-msgid "Tool Selection"
-msgstr "Sélection d'Outils"
-
-#: flatcamTools/ToolNonCopperClear.py:273
-msgid ""
-"Diameter for the new tool to add in the Tool Table.\n"
-"If the tool is V-shape type then this value is automatically\n"
-"calculated from the other parameters."
-msgstr ""
-"Diamètre du nouvel outil à ajouter dans la table d'outils.\n"
-"Si l'outil est de type V, cette valeur est automatiquement\n"
-"calculé à partir des autres paramètres."
-
-#: flatcamTools/ToolNonCopperClear.py:288 flatcamTools/ToolPaint.py:190
+#: flatcamTools/ToolNCC.py:296 flatcamTools/ToolPaint.py:279
msgid ""
"Add a new tool to the Tool Table\n"
"with the diameter specified above."
@@ -14891,8 +15744,8 @@ msgstr ""
"Ajouter un nouvel outil à la table d'outils\n"
"avec le diamètre spécifié ci-dessus."
-#: flatcamTools/ToolNonCopperClear.py:300 flatcamTools/ToolPaint.py:202
-#: flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolNCC.py:318 flatcamTools/ToolPaint.py:301
+#: flatcamTools/ToolSolderPaste.py:131
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table."
@@ -14900,23 +15753,7 @@ msgstr ""
"Supprimer une sélection d'outils dans la table d'outils\n"
"en sélectionnant d’abord une ou plusieurs lignes dans la table d’outils."
-#: flatcamTools/ToolNonCopperClear.py:435
-msgid ""
-"- 'Itself' - the non copper clearing extent is based on the object that is "
-"copper cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"- 'Reference Object' - will do non copper clearing within the area specified "
-"by another object."
-msgstr ""
-"- `` Lui-même '' - l'étendue de la compensation sans cuivre est basée sur "
-"l'objet qui est clarifié en cuivre.\n"
-" - «Sélection de zone» - clic gauche de la souris pour démarrer la sélection "
-"de la zone à peindre.\n"
-"- «Objet de référence» - effectuera un nettoyage sans cuivre dans la zone "
-"spécifiée par un autre objet."
-
-#: flatcamTools/ToolNonCopperClear.py:447
+#: flatcamTools/ToolNCC.py:554
msgid ""
"The type of FlatCAM object to be used as non copper clearing reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -14924,117 +15761,123 @@ msgstr ""
"Type d'objet FlatCAM à utiliser comme référence d'effacement non en cuivre.\n"
"Ce peut être Gerber, Excellon ou Géométrie."
-#: flatcamTools/ToolNonCopperClear.py:471
+#: flatcamTools/ToolNCC.py:597 flatcamTools/ToolPaint.py:537
msgid "Generate Geometry"
msgstr "Générer de la Géométrie"
-#: flatcamTools/ToolNonCopperClear.py:582 flatcamTools/ToolPaint.py:493
-#: flatcamTools/ToolSolderPaste.py:553
-msgid "New Tool"
-msgstr "Nouvel Outil"
-
-#: flatcamTools/ToolNonCopperClear.py:981 flatcamTools/ToolPaint.py:766
-#: flatcamTools/ToolSolderPaste.py:887
+#: flatcamTools/ToolNCC.py:1420 flatcamTools/ToolPaint.py:1179
+#: flatcamTools/ToolSolderPaste.py:888
msgid "Please enter a tool diameter to add, in Float format."
msgstr "Veuillez saisir un diamètre d'outil à ajouter, au format réel."
-#: flatcamTools/ToolNonCopperClear.py:1012 flatcamTools/ToolPaint.py:791
-msgid "Adding tool cancelled. Tool already in Tool Table."
-msgstr "Ajout de l'outil annulé. Outil déjà dans la table d'outils."
+#: flatcamTools/ToolNCC.py:1451 flatcamTools/ToolNCC.py:4008
+#: flatcamTools/ToolPaint.py:1203 flatcamTools/ToolPaint.py:3598
+#: flatcamTools/ToolSolderPaste.py:917
+msgid "Cancelled. Tool already in Tool Table."
+msgstr "Annulé. Outil déjà dans la table d'outils."
-#: flatcamTools/ToolNonCopperClear.py:1017 flatcamTools/ToolPaint.py:797
+#: flatcamTools/ToolNCC.py:1458 flatcamTools/ToolNCC.py:4025
+#: flatcamTools/ToolPaint.py:1208 flatcamTools/ToolPaint.py:3615
msgid "New tool added to Tool Table."
msgstr "Nouvel outil ajouté à la table d'outils."
-#: flatcamTools/ToolNonCopperClear.py:1061 flatcamTools/ToolPaint.py:843
+#: flatcamTools/ToolNCC.py:1502 flatcamTools/ToolPaint.py:1252
msgid "Tool from Tool Table was edited."
msgstr "L'outil de la table d'outils a été modifié."
-#: flatcamTools/ToolNonCopperClear.py:1072 flatcamTools/ToolPaint.py:855
-#: flatcamTools/ToolSolderPaste.py:978
-msgid "Edit cancelled. New diameter value is already in the Tool Table."
+#: flatcamTools/ToolNCC.py:1514 flatcamTools/ToolPaint.py:1264
+#: flatcamTools/ToolSolderPaste.py:977
+msgid "Cancelled. New diameter value is already in the Tool Table."
msgstr ""
-"Modifier annulé. La nouvelle valeur de diamètre est déjà dans la table "
-"d'outils."
+"Annulé. La nouvelle valeur de diamètre est déjà dans la table d'outils."
-#: flatcamTools/ToolNonCopperClear.py:1119 flatcamTools/ToolPaint.py:953
+#: flatcamTools/ToolNCC.py:1566 flatcamTools/ToolPaint.py:1362
msgid "Delete failed. Select a tool to delete."
msgstr "La suppression a échoué. Sélectionnez un outil à supprimer."
-#: flatcamTools/ToolNonCopperClear.py:1124 flatcamTools/ToolPaint.py:959
+#: flatcamTools/ToolNCC.py:1572 flatcamTools/ToolPaint.py:1368
msgid "Tool(s) deleted from Tool Table."
msgstr "Outil (s) supprimé (s) de la table d'outils."
-#: flatcamTools/ToolNonCopperClear.py:1171
+#: flatcamTools/ToolNCC.py:1614
msgid "Wrong Tool Dia value format entered, use a number."
msgstr "Mauvais outil Format de valeur Dia entré, utilisez un nombre."
-#: flatcamTools/ToolNonCopperClear.py:1180 flatcamTools/ToolPaint.py:1023
+#: flatcamTools/ToolNCC.py:1623 flatcamTools/ToolPaint.py:1419
msgid "No selected tools in Tool Table."
msgstr "Aucun outil sélectionné dans la table d'outils."
-#: flatcamTools/ToolNonCopperClear.py:1255 flatcamTools/ToolPaint.py:1195
+#: flatcamTools/ToolNCC.py:1699 flatcamTools/ToolPaint.py:1595
msgid "Click the end point of the paint area."
msgstr "Cliquez sur le point final de la zone de peinture."
-#: flatcamTools/ToolNonCopperClear.py:1410
-#: flatcamTools/ToolNonCopperClear.py:1412
-msgid "Non-Copper clearing ..."
-msgstr "Dégagement sans cuivre ..."
-
-#: flatcamTools/ToolNonCopperClear.py:1422
-msgid "NCC Tool started. Reading parameters."
-msgstr "L'outil NCC a commencé. Lecture des paramètres."
-
-#: flatcamTools/ToolNonCopperClear.py:1485
+#: flatcamTools/ToolNCC.py:1971 flatcamTools/ToolNCC.py:2959
msgid "NCC Tool. Preparing non-copper polygons."
msgstr "Outil de la NCC. Préparer des polygones non en cuivre."
-#: flatcamTools/ToolNonCopperClear.py:1581
+#: flatcamTools/ToolNCC.py:2030 flatcamTools/ToolNCC.py:3087
+msgid "NCC Tool. Calculate 'empty' area."
+msgstr "Outil de la NCC. Calculez la surface \"vide\"."
+
+#: flatcamTools/ToolNCC.py:2049 flatcamTools/ToolNCC.py:2155
+#: flatcamTools/ToolNCC.py:2169 flatcamTools/ToolNCC.py:3100
+#: flatcamTools/ToolNCC.py:3205 flatcamTools/ToolNCC.py:3220
+#: flatcamTools/ToolNCC.py:3486 flatcamTools/ToolNCC.py:3587
+#: flatcamTools/ToolNCC.py:3602
+msgid "Buffering finished"
+msgstr "Mise en mémoire tampon terminée"
+
+#: flatcamTools/ToolNCC.py:2057 flatcamTools/ToolNCC.py:2176
+#: flatcamTools/ToolNCC.py:3108 flatcamTools/ToolNCC.py:3227
+#: flatcamTools/ToolNCC.py:3493 flatcamTools/ToolNCC.py:3609
+msgid "Could not get the extent of the area to be non copper cleared."
+msgstr "Impossible d'obtenir que l'étendue de la zone soit non dépolluée."
+
+#: flatcamTools/ToolNCC.py:2084 flatcamTools/ToolNCC.py:2162
+#: flatcamTools/ToolNCC.py:3135 flatcamTools/ToolNCC.py:3212
+#: flatcamTools/ToolNCC.py:3513 flatcamTools/ToolNCC.py:3594
+msgid ""
+"Isolation geometry is broken. Margin is less than isolation tool diameter."
+msgstr ""
+"La géométrie d'isolement est rompue. La marge est inférieure au diamètre de "
+"l'outil d'isolation."
+
+#: flatcamTools/ToolNCC.py:2179 flatcamTools/ToolNCC.py:3231
+#: flatcamTools/ToolNCC.py:3612
+msgid "The selected object is not suitable for copper clearing."
+msgstr "L'objet sélectionné ne convient pas à la clarification du cuivre."
+
+#: flatcamTools/ToolNCC.py:2186 flatcamTools/ToolNCC.py:3238
+msgid "NCC Tool. Finished calculation of 'empty' area."
+msgstr "Outil de la NCC. Terminé le calcul de la zone \"vide\"."
+
+#: flatcamTools/ToolNCC.py:2217 flatcamTools/ToolNCC.py:2219
+#: flatcamTools/ToolNCC.py:2911 flatcamTools/ToolNCC.py:2913
+msgid "Non-Copper clearing ..."
+msgstr "Dégagement sans cuivre ..."
+
+#: flatcamTools/ToolNCC.py:2273 flatcamTools/ToolNCC.py:3055
msgid ""
"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
msgstr ""
"Outil de la NCC. Polygones non-cuivre finis. La tâche normale de nettoyage "
"du cuivre a commencé."
-#: flatcamTools/ToolNonCopperClear.py:1613
-msgid "NCC Tool. Calculate 'empty' area."
-msgstr "Outil de la NCC. Calculez la surface \"vide\"."
+#: flatcamTools/ToolNCC.py:2307 flatcamTools/ToolNCC.py:2587
+msgid "NCC Tool failed creating bounding box."
+msgstr "L'outil NCC n'a pas pu créer de boîte englobante."
-#: flatcamTools/ToolNonCopperClear.py:1626
-#: flatcamTools/ToolNonCopperClear.py:1723
-#: flatcamTools/ToolNonCopperClear.py:1735
-#: flatcamTools/ToolNonCopperClear.py:2018
-#: flatcamTools/ToolNonCopperClear.py:2114
-#: flatcamTools/ToolNonCopperClear.py:2126
-msgid "Buffering finished"
-msgstr "Mise en mémoire tampon terminée"
+#: flatcamTools/ToolNCC.py:2321 flatcamTools/ToolNCC.py:2604
+#: flatcamTools/ToolNCC.py:3251 flatcamTools/ToolNCC.py:3637
+msgid "NCC Tool clearing with tool diameter"
+msgstr "L'outil NCC s'efface avec le diamètre de l'outil"
-#: flatcamTools/ToolNonCopperClear.py:1742
-#: flatcamTools/ToolNonCopperClear.py:2132
-msgid "The selected object is not suitable for copper clearing."
-msgstr "L'objet sélectionné ne convient pas à la clarification du cuivre."
-
-#: flatcamTools/ToolNonCopperClear.py:1747
-#: flatcamTools/ToolNonCopperClear.py:2137
-msgid "Could not get the extent of the area to be non copper cleared."
-msgstr "Impossible d'obtenir que l'étendue de la zone soit non dépolluée."
-
-#: flatcamTools/ToolNonCopperClear.py:1754
-msgid "NCC Tool. Finished calculation of 'empty' area."
-msgstr "Outil de la NCC. Terminé le calcul de la zone \"vide\"."
-
-#: flatcamTools/ToolNonCopperClear.py:1768
-#: flatcamTools/ToolNonCopperClear.py:2162
-msgid "NCC Tool clearing with tool diameter = "
-msgstr "Outil de la NCC. Dégagement avec diamètre de l'outil = "
-
-#: flatcamTools/ToolNonCopperClear.py:1771
-#: flatcamTools/ToolNonCopperClear.py:2165
+#: flatcamTools/ToolNCC.py:2321 flatcamTools/ToolNCC.py:2604
+#: flatcamTools/ToolNCC.py:3251 flatcamTools/ToolNCC.py:3637
msgid "started."
msgstr "commencé."
-#: flatcamTools/ToolNonCopperClear.py:1947
+#: flatcamTools/ToolNCC.py:2513 flatcamTools/ToolNCC.py:3412
msgid ""
"There is no NCC Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted "
@@ -15046,26 +15889,26 @@ msgstr ""
"géométrie peinte.\n"
"Modifiez les paramètres de peinture et réessayez."
-#: flatcamTools/ToolNonCopperClear.py:1967
+#: flatcamTools/ToolNCC.py:2522 flatcamTools/ToolNCC.py:3421
msgid "NCC Tool clear all done."
msgstr "Outil de la NCC. Effacer tout fait."
-#: flatcamTools/ToolNonCopperClear.py:1969
+#: flatcamTools/ToolNCC.py:2525 flatcamTools/ToolNCC.py:3424
msgid "NCC Tool clear all done but the copper features isolation is broken for"
msgstr ""
"Outil de la CCN. Effacer tout fait, mais l'isolation des caractéristiques de "
"cuivre est cassée pour"
-#: flatcamTools/ToolNonCopperClear.py:1972
-#: flatcamTools/ToolNonCopperClear.py:2341
+#: flatcamTools/ToolNCC.py:2527 flatcamTools/ToolNCC.py:2812
+#: flatcamTools/ToolNCC.py:3426 flatcamTools/ToolNCC.py:3809
msgid "tools"
msgstr "outils"
-#: flatcamTools/ToolNonCopperClear.py:2337
+#: flatcamTools/ToolNCC.py:2808 flatcamTools/ToolNCC.py:3805
msgid "NCC Tool Rest Machining clear all done."
msgstr "Outil de la NCC. Reste l'usinage clair tout fait."
-#: flatcamTools/ToolNonCopperClear.py:2340
+#: flatcamTools/ToolNCC.py:2811 flatcamTools/ToolNCC.py:3808
msgid ""
"NCC Tool Rest Machining clear all done but the copper features isolation is "
"broken for"
@@ -15073,7 +15916,11 @@ msgstr ""
"Outil de la NCC. Reste l'usinage clair, tout est fait, mais l'isolation des "
"caractéristiques en cuivre est cassée"
-#: flatcamTools/ToolNonCopperClear.py:2787
+#: flatcamTools/ToolNCC.py:2923
+msgid "NCC Tool started. Reading parameters."
+msgstr "L'outil NCC a commencé. Lecture des paramètres."
+
+#: flatcamTools/ToolNCC.py:3901
msgid ""
"Try to use the Buffering Type = Full in Preferences -> Gerber General. "
"Reload the Gerber file after this change."
@@ -15081,43 +15928,43 @@ msgstr ""
"Essayez d'utiliser le type de mise en tampon = Plein dans Préférences -> "
"Général Gerber. Rechargez le fichier Gerber après cette modification."
-#: flatcamTools/ToolOptimal.py:79
+#: flatcamTools/ToolOptimal.py:80
msgid "Number of decimals kept for found distances."
msgstr "Nombre de décimales conservées pour les distances trouvées."
-#: flatcamTools/ToolOptimal.py:87
+#: flatcamTools/ToolOptimal.py:88
msgid "Minimum distance"
msgstr "Distance minimale"
-#: flatcamTools/ToolOptimal.py:88
+#: flatcamTools/ToolOptimal.py:89
msgid "Display minimum distance between copper features."
msgstr "Afficher la distance minimale entre les entités en cuivre."
-#: flatcamTools/ToolOptimal.py:92
+#: flatcamTools/ToolOptimal.py:93
msgid "Determined"
msgstr "Déterminé"
-#: flatcamTools/ToolOptimal.py:106
+#: flatcamTools/ToolOptimal.py:107
msgid "Occurring"
msgstr "Se produisant"
-#: flatcamTools/ToolOptimal.py:107
+#: flatcamTools/ToolOptimal.py:108
msgid "How many times this minimum is found."
msgstr "Combien de fois ce minimum est trouvé."
-#: flatcamTools/ToolOptimal.py:113
+#: flatcamTools/ToolOptimal.py:114
msgid "Minimum points coordinates"
msgstr "Coordonnées des points minimum"
-#: flatcamTools/ToolOptimal.py:114 flatcamTools/ToolOptimal.py:120
+#: flatcamTools/ToolOptimal.py:115 flatcamTools/ToolOptimal.py:121
msgid "Coordinates for points where minimum distance was found."
msgstr "Coordonnées des points où une distance minimale a été trouvée."
-#: flatcamTools/ToolOptimal.py:133 flatcamTools/ToolOptimal.py:209
+#: flatcamTools/ToolOptimal.py:134 flatcamTools/ToolOptimal.py:210
msgid "Jump to selected position"
msgstr "Aller à la position sélectionnée"
-#: flatcamTools/ToolOptimal.py:135 flatcamTools/ToolOptimal.py:211
+#: flatcamTools/ToolOptimal.py:136 flatcamTools/ToolOptimal.py:212
msgid ""
"Select a position in the Locations text box and then\n"
"click this button."
@@ -15125,11 +15972,11 @@ msgstr ""
"Sélectionnez une position dans la zone de texte Emplacements, puis\n"
"cliquez sur ce bouton."
-#: flatcamTools/ToolOptimal.py:143
+#: flatcamTools/ToolOptimal.py:144
msgid "Other distances"
msgstr "Autres distances"
-#: flatcamTools/ToolOptimal.py:144
+#: flatcamTools/ToolOptimal.py:145
msgid ""
"Will display other distances in the Gerber file ordered from\n"
"the minimum to the maximum, not including the absolute minimum."
@@ -15137,13 +15984,13 @@ msgstr ""
"Affiche les autres distances dans le fichier Gerber commandé à\n"
"le minimum au maximum, sans compter le minimum absolu."
-#: flatcamTools/ToolOptimal.py:149
+#: flatcamTools/ToolOptimal.py:150
msgid "Other distances points coordinates"
msgstr "Autres points de coordonnées"
-#: flatcamTools/ToolOptimal.py:150 flatcamTools/ToolOptimal.py:164
-#: flatcamTools/ToolOptimal.py:171 flatcamTools/ToolOptimal.py:188
-#: flatcamTools/ToolOptimal.py:195
+#: flatcamTools/ToolOptimal.py:151 flatcamTools/ToolOptimal.py:165
+#: flatcamTools/ToolOptimal.py:172 flatcamTools/ToolOptimal.py:189
+#: flatcamTools/ToolOptimal.py:196
msgid ""
"Other distances and the coordinates for points\n"
"where the distance was found."
@@ -15151,19 +15998,19 @@ msgstr ""
"Autres distances et coordonnées des points\n"
"où la distance a été trouvée."
-#: flatcamTools/ToolOptimal.py:163
+#: flatcamTools/ToolOptimal.py:164
msgid "Gerber distances"
msgstr "Distances de Gerber"
-#: flatcamTools/ToolOptimal.py:187
+#: flatcamTools/ToolOptimal.py:188
msgid "Points coordinates"
msgstr "Coords des points"
-#: flatcamTools/ToolOptimal.py:219
+#: flatcamTools/ToolOptimal.py:220
msgid "Find Minimum"
msgstr "Trouver le minimum"
-#: flatcamTools/ToolOptimal.py:221
+#: flatcamTools/ToolOptimal.py:222
msgid ""
"Calculate the minimum distance between copper features,\n"
"this will allow the determination of the right tool to\n"
@@ -15173,11 +16020,11 @@ msgstr ""
"cela permettra de déterminer le bon outil pour\n"
"utiliser pour l'isolation ou le nettoyage du cuivre."
-#: flatcamTools/ToolOptimal.py:346
+#: flatcamTools/ToolOptimal.py:347
msgid "Only Gerber objects can be evaluated."
msgstr "Seuls les objets de Gerber peuvent être évalués."
-#: flatcamTools/ToolOptimal.py:352
+#: flatcamTools/ToolOptimal.py:353
msgid ""
"Optimal Tool. Started to search for the minimum distance between copper "
"features."
@@ -15185,15 +16032,15 @@ msgstr ""
"Outil Optimal. Commencé à rechercher la distance minimale entre les entités "
"en cuivre."
-#: flatcamTools/ToolOptimal.py:362
+#: flatcamTools/ToolOptimal.py:363
msgid "Optimal Tool. Parsing geometry for aperture"
msgstr "Outil Optimal. Analyser la géométrie pour l'ouverture"
-#: flatcamTools/ToolOptimal.py:373
+#: flatcamTools/ToolOptimal.py:374
msgid "Optimal Tool. Creating a buffer for the object geometry."
msgstr "Outil Optimal. Création d'un tampon pour la géométrie de l'objet."
-#: flatcamTools/ToolOptimal.py:383
+#: flatcamTools/ToolOptimal.py:384
msgid ""
"The Gerber object has one Polygon as geometry.\n"
"There are no distances between geometry elements to be found."
@@ -15201,18 +16048,18 @@ msgstr ""
"L'objet Gerber a un polygone comme géométrie.\n"
"Il n'y a pas de distance entre les éléments géométriques à trouver."
-#: flatcamTools/ToolOptimal.py:388
+#: flatcamTools/ToolOptimal.py:389
msgid ""
"Optimal Tool. Finding the distances between each two elements. Iterations"
msgstr ""
"Outil Optimal. Trouver les distances entre chacun des deux éléments. "
"Itérations"
-#: flatcamTools/ToolOptimal.py:423
+#: flatcamTools/ToolOptimal.py:424
msgid "Optimal Tool. Finding the minimum distance."
msgstr "Outil Optimal. Trouver la distance minimale."
-#: flatcamTools/ToolOptimal.py:439
+#: flatcamTools/ToolOptimal.py:440
msgid "Optimal Tool. Finished successfully."
msgstr "Outil Optimal. Terminé avec succès."
@@ -15241,7 +16088,7 @@ msgstr "Le fichier PDF ouvert a échoué."
msgid "Rendered"
msgstr "Rendu"
-#: flatcamTools/ToolPaint.py:87
+#: flatcamTools/ToolPaint.py:82
msgid ""
"Specify the type of object to be painted.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -15257,7 +16104,7 @@ msgstr ""
msgid "Object to be painted."
msgstr "Objet à peindre."
-#: flatcamTools/ToolPaint.py:114
+#: flatcamTools/ToolPaint.py:117
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for painting."
@@ -15265,7 +16112,7 @@ msgstr ""
"Pool d'outils à partir duquel l'algorithme\n"
"choisira ceux utilisés pour la peinture."
-#: flatcamTools/ToolPaint.py:129
+#: flatcamTools/ToolPaint.py:134
msgid ""
"This is the Tool Number.\n"
"Painting will start with the tool with the biggest diameter,\n"
@@ -15281,7 +16128,7 @@ msgstr ""
"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."
-#: flatcamTools/ToolPaint.py:141
+#: flatcamTools/ToolPaint.py:146
msgid ""
"The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is "
"informative only. Being circular,
the cut width in material is exactly "
@@ -15308,51 +16155,7 @@ msgstr ""
"automatiquement le type d'opération dans la géométrie résultante en tant "
"qu'isolation."
-#: flatcamTools/ToolPaint.py:178
-msgid "Diameter for the new tool."
-msgstr "Diamètre pour le nouvel outil."
-
-#: flatcamTools/ToolPaint.py:253
-msgid ""
-"Algorithm for painting:\n"
-"- Standard: Fixed step inwards.\n"
-"- Seed-based: Outwards from seed.\n"
-"- Line-based: Parallel lines."
-msgstr ""
-"Algorithme pour la peinture:\n"
-"- Standard: pas fixe vers l'intérieur.\n"
-"- À base de semences: Extérieur de la graine.\n"
-"- Basé sur les lignes: lignes parallèles."
-
-#: flatcamTools/ToolPaint.py:283
-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"
-"\n"
-"If not checked, use the standard algorithm."
-msgstr ""
-"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"
-"\n"
-"Si non coché, utilisez l'algorithme standard."
-
-#: flatcamTools/ToolPaint.py:307
-msgid "Polygon Selection"
-msgstr "Sélection de polygone"
-
-#: flatcamTools/ToolPaint.py:309
-msgid "All Polygons"
-msgstr "Tous les polygones"
-
-#: flatcamTools/ToolPaint.py:328
+#: flatcamTools/ToolPaint.py:498
msgid ""
"The type of FlatCAM object to be used as paint reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -15360,11 +16163,7 @@ msgstr ""
"Le type d'objet FlatCAM à utiliser comme référence de peinture.\n"
"Ce peut être Gerber, Excellon ou Géométrie."
-#: flatcamTools/ToolPaint.py:353
-msgid "Create Paint Geometry"
-msgstr "Créer une Géométrie de Peinture"
-
-#: flatcamTools/ToolPaint.py:355
+#: flatcamTools/ToolPaint.py:539
msgid ""
"- 'Area Selection' - left mouse click to start selection of the area to be "
"painted.\n"
@@ -15382,72 +16181,99 @@ msgstr ""
"- 'Objet de référence' - effectuera un nettoyage sans cuivre dans la zone\n"
"spécifié par un autre objet."
-#: flatcamTools/ToolPaint.py:973
-msgid "Paint Tool. Reading parameters."
-msgstr "Outil de Peinture. Lecture des paramètres."
-
-#: flatcamTools/ToolPaint.py:988
+#: flatcamTools/ToolPaint.py:1388
#, python-format
msgid "Could not retrieve object: %s"
msgstr "Impossible de récupérer l'objet: %s"
-#: flatcamTools/ToolPaint.py:1002
+#: flatcamTools/ToolPaint.py:1398
msgid "Can't do Paint on MultiGeo geometries"
msgstr "Impossible de peindre sur des géométries MultiGeo"
-#: flatcamTools/ToolPaint.py:1035
+#: flatcamTools/ToolPaint.py:1428
msgid "Click on a polygon to paint it."
msgstr "Cliquez sur un polygone pour le peindre."
-#: flatcamTools/ToolPaint.py:1054
+#: flatcamTools/ToolPaint.py:1448
msgid "Click the start point of the paint area."
msgstr "Cliquez sur le point de départ de la zone de peinture."
-#: flatcamTools/ToolPaint.py:1122
+#: flatcamTools/ToolPaint.py:1513
msgid "Click to add next polygon or right click to start painting."
msgstr ""
"Cliquez pour ajouter le polygone suivant ou cliquez avec le bouton droit "
"pour commencer à peindre."
-#: flatcamTools/ToolPaint.py:1135
+#: flatcamTools/ToolPaint.py:1526
msgid "Click to add/remove next polygon or right click to start painting."
msgstr ""
"Cliquez pour ajouter / supprimer le polygone suivant ou cliquez avec le "
"bouton droit pour commencer à peindre."
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349 flatcamTools/ToolPaint.py:1987
-#: flatcamTools/ToolPaint.py:1991 flatcamTools/ToolPaint.py:1994
-#: flatcamTools/ToolPaint.py:2276 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284 flatcamTools/ToolPaint.py:2458
-#: flatcamTools/ToolPaint.py:2465
-msgid "Paint Tool."
-msgstr "Outil de Peinture."
+#: flatcamTools/ToolPaint.py:2024
+msgid "Painting polygon with method: lines."
+msgstr "Peinture polygone avec méthode: lignes."
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349
-msgid "Normal painting polygon task started."
-msgstr "La tâche de peinture normale du polygone a commencé."
+#: flatcamTools/ToolPaint.py:2036
+msgid "Failed. Painting polygon with method: seed."
+msgstr "Échoué. Peinture polygone avec méthode: graine."
-#: flatcamTools/ToolPaint.py:1345 flatcamTools/ToolPaint.py:1706
-#: flatcamTools/ToolPaint.py:1988 flatcamTools/ToolPaint.py:2278
-#: flatcamTools/ToolPaint.py:2460
-msgid "Buffering geometry..."
-msgstr "Mise en tampon de la géométrie ..."
+#: flatcamTools/ToolPaint.py:2047
+msgid "Failed. Painting polygon with method: standard."
+msgstr "Échoué. Peinture polygone avec méthode: standard."
-#: flatcamTools/ToolPaint.py:1367
-msgid "No polygon found."
-msgstr "Aucun polygone trouvé."
-
-#: flatcamTools/ToolPaint.py:1401
-msgid "Painting polygon..."
-msgstr "Peinture polygone ..."
-
-#: flatcamTools/ToolPaint.py:1448
+#: flatcamTools/ToolPaint.py:2063
msgid "Geometry could not be painted completely"
msgstr "La géométrie n'a pas pu être peinte complètement"
-#: flatcamTools/ToolPaint.py:1481
+#: flatcamTools/ToolPaint.py:2092 flatcamTools/ToolPaint.py:2095
+#: flatcamTools/ToolPaint.py:2103 flatcamTools/ToolPaint.py:2406
+#: flatcamTools/ToolPaint.py:2409 flatcamTools/ToolPaint.py:2417
+#: flatcamTools/ToolPaint.py:2905 flatcamTools/ToolPaint.py:2908
+#: flatcamTools/ToolPaint.py:2914
+msgid "Paint Tool."
+msgstr "Outil de Peinture."
+
+#: flatcamTools/ToolPaint.py:2092 flatcamTools/ToolPaint.py:2095
+#: flatcamTools/ToolPaint.py:2103
+msgid "Normal painting polygon task started."
+msgstr "La tâche de peinture normale du polygone a commencé."
+
+#: flatcamTools/ToolPaint.py:2093 flatcamTools/ToolPaint.py:2407
+#: flatcamTools/ToolPaint.py:2906
+msgid "Buffering geometry..."
+msgstr "Mise en tampon de la géométrie ..."
+
+#: flatcamTools/ToolPaint.py:2115 flatcamTools/ToolPaint.py:2424
+#: flatcamTools/ToolPaint.py:2922
+msgid "No polygon found."
+msgstr "Aucun polygone trouvé."
+
+#: flatcamTools/ToolPaint.py:2145
+msgid "Painting polygon..."
+msgstr "Peinture polygone ..."
+
+#: flatcamTools/ToolPaint.py:2155 flatcamTools/ToolPaint.py:2470
+#: flatcamTools/ToolPaint.py:2660 flatcamTools/ToolPaint.py:2968
+#: flatcamTools/ToolPaint.py:3147
+msgid "Painting with tool diameter = "
+msgstr "Peinture avec diamètre d'outil = "
+
+#: flatcamTools/ToolPaint.py:2156 flatcamTools/ToolPaint.py:2471
+#: flatcamTools/ToolPaint.py:2661 flatcamTools/ToolPaint.py:2969
+#: flatcamTools/ToolPaint.py:3148
+msgid "started"
+msgstr "commencé"
+
+#: flatcamTools/ToolPaint.py:2181 flatcamTools/ToolPaint.py:2497
+#: flatcamTools/ToolPaint.py:2687 flatcamTools/ToolPaint.py:2995
+#: flatcamTools/ToolPaint.py:3174
+msgid "Margin parameter too big. Tool is not used"
+msgstr "Paramètre de marge trop grand. L'outil n'est pas utilisé"
+
+#: flatcamTools/ToolPaint.py:2239 flatcamTools/ToolPaint.py:2566
+#: flatcamTools/ToolPaint.py:2744 flatcamTools/ToolPaint.py:3058
+#: flatcamTools/ToolPaint.py:3236
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different strategy of paint"
@@ -15455,9 +16281,9 @@ msgstr ""
"Impossible de faire de la Peinture. Essayez une combinaison de paramètres "
"différente. Ou une stratégie de peinture différente"
-#: flatcamTools/ToolPaint.py:1533 flatcamTools/ToolPaint.py:1967
-#: flatcamTools/ToolPaint.py:2117 flatcamTools/ToolPaint.py:2438
-#: flatcamTools/ToolPaint.py:2592
+#: flatcamTools/ToolPaint.py:2296 flatcamTools/ToolPaint.py:2632
+#: flatcamTools/ToolPaint.py:2801 flatcamTools/ToolPaint.py:3119
+#: flatcamTools/ToolPaint.py:3298
msgid ""
"There is no Painting Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted "
@@ -15469,80 +16295,66 @@ msgstr ""
"géométrie peinte.\n"
"Modifiez les paramètres de peinture et réessayez."
-#: flatcamTools/ToolPaint.py:1539
+#: flatcamTools/ToolPaint.py:2319
+msgid "Paint Single failed."
+msgstr "La peinture «simple» a échoué."
+
+#: flatcamTools/ToolPaint.py:2325
msgid "Paint Single Done."
msgstr "La Peinture Simple était terminée."
-#: flatcamTools/ToolPaint.py:1571 flatcamTools/ToolPaint.py:2145
-#: flatcamTools/ToolPaint.py:2620
+#: flatcamTools/ToolPaint.py:2327 flatcamTools/ToolPaint.py:2837
+#: flatcamTools/ToolPaint.py:3334
msgid "Polygon Paint started ..."
msgstr "Polygon Paint a commencé ..."
-#: flatcamTools/ToolPaint.py:1623 flatcamTools/ToolPaint.py:2207
+#: flatcamTools/ToolPaint.py:2406 flatcamTools/ToolPaint.py:2409
+#: flatcamTools/ToolPaint.py:2417
+msgid "Paint all polygons task started."
+msgstr "La tâche de peinture de tous les polygones a commencé."
+
+#: flatcamTools/ToolPaint.py:2448 flatcamTools/ToolPaint.py:2946
msgid "Painting polygons..."
msgstr "Peindre des polygones ..."
-#: flatcamTools/ToolPaint.py:1705 flatcamTools/ToolPaint.py:1708
-#: flatcamTools/ToolPaint.py:1710
-msgid "Paint Tool. Normal painting all task started."
-msgstr "Outil de Peinture. Peinture normale toutes les tâches ont commencé."
-
-#: flatcamTools/ToolPaint.py:1744 flatcamTools/ToolPaint.py:2023
-#: flatcamTools/ToolPaint.py:2325 flatcamTools/ToolPaint.py:2501
-msgid "Painting with tool diameter = "
-msgstr "Peinture avec diamètre d'outil = "
-
-#: flatcamTools/ToolPaint.py:1747 flatcamTools/ToolPaint.py:2026
-#: flatcamTools/ToolPaint.py:2328 flatcamTools/ToolPaint.py:2504
-msgid "started"
-msgstr "commencé"
-
-#: flatcamTools/ToolPaint.py:1976
+#: flatcamTools/ToolPaint.py:2641
msgid "Paint All Done."
msgstr "Peindre Tout fait."
-#: flatcamTools/ToolPaint.py:1987 flatcamTools/ToolPaint.py:1991
-#: flatcamTools/ToolPaint.py:1994
-msgid "Rest machining painting all task started."
-msgstr "Reste l'usinage en peignant toutes les tâches commencées."
-
-#: flatcamTools/ToolPaint.py:2072 flatcamTools/ToolPaint.py:2388
-#: flatcamTools/ToolPaint.py:2548
-msgid ""
-"Could not do Paint All. Try a different combination of parameters. Or a "
-"different Method of paint"
-msgstr ""
-"Impossible de Tout Peindre. Essayez une combinaison de paramètres "
-"différente. Ou une autre méthode de peinture"
-
-#: flatcamTools/ToolPaint.py:2126 flatcamTools/ToolPaint.py:2601
+#: flatcamTools/ToolPaint.py:2810 flatcamTools/ToolPaint.py:3307
msgid "Paint All with Rest-Machining done."
msgstr "Peignez tout avec le reste de l'usinage fait."
-#: flatcamTools/ToolPaint.py:2277 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284
-msgid "Normal painting area task started."
-msgstr "La tâche de zone de peinture normale a commencé."
+#: flatcamTools/ToolPaint.py:2829
+msgid "Paint All failed."
+msgstr "La peinture «Tout» a échoué."
-#: flatcamTools/ToolPaint.py:2447
+#: flatcamTools/ToolPaint.py:2835
+msgid "Paint Poly All Done."
+msgstr "Peinture poly tout fait."
+
+#: flatcamTools/ToolPaint.py:2905 flatcamTools/ToolPaint.py:2908
+#: flatcamTools/ToolPaint.py:2914
+msgid "Painting area task started."
+msgstr "La tâche de zone de peinture a commencé."
+
+#: flatcamTools/ToolPaint.py:3128
msgid "Paint Area Done."
msgstr "Peinture de la Zone réalisée."
-#: flatcamTools/ToolPaint.py:2459 flatcamTools/ToolPaint.py:2465
-msgid "Rest machining painting area task started."
-msgstr "Reste l'usinage de peinture de la zone de travail a commencé."
+#: flatcamTools/ToolPaint.py:3326
+msgid "Paint Area failed."
+msgstr "Échec de la peinture de la Zone."
-#: flatcamTools/ToolPaint.py:2462
-msgid "Paint Tool. Rest machining painting area task started."
-msgstr ""
-"Outil de peinture. Reste l'usinage de la peinture de la zone: tâche "
-"commencée."
+#: flatcamTools/ToolPaint.py:3332
+msgid "Paint Poly Area Done."
+msgstr "La peinture 'Poly Zone' est terminée."
#: flatcamTools/ToolPanelize.py:34
msgid "Panelize PCB"
msgstr "Panéliser PCB"
-#: flatcamTools/ToolPanelize.py:68
+#: flatcamTools/ToolPanelize.py:56
msgid ""
"Specify the type of object to be panelized\n"
"It can be of type: Gerber, Excellon or Geometry.\n"
@@ -15554,7 +16366,7 @@ msgstr ""
"La sélection ici décide du type d’objets qui seront\n"
"dans la liste déroulante d'objets."
-#: flatcamTools/ToolPanelize.py:83
+#: flatcamTools/ToolPanelize.py:89
msgid ""
"Object to be panelized. This means that it will\n"
"be duplicated in an array of rows and columns."
@@ -15562,11 +16374,11 @@ msgstr ""
"Objet à paramétrer. Cela signifie qu'il sera\n"
"être dupliqué dans un tableau de lignes et de colonnes."
-#: flatcamTools/ToolPanelize.py:96
+#: flatcamTools/ToolPanelize.py:102
msgid "Penelization Reference"
msgstr "Référence de pénalisation"
-#: flatcamTools/ToolPanelize.py:98
+#: flatcamTools/ToolPanelize.py:104
msgid ""
"Choose the reference for panelization:\n"
"- Object = the bounding box of a different object\n"
@@ -15586,11 +16398,11 @@ msgstr ""
"à cet objet de référence maintenant donc le panneau\n"
"objets synchronisés."
-#: flatcamTools/ToolPanelize.py:121
+#: flatcamTools/ToolPanelize.py:125
msgid "Box Type"
msgstr "Type de Box"
-#: flatcamTools/ToolPanelize.py:123
+#: flatcamTools/ToolPanelize.py:127
msgid ""
"Specify the type of object to be used as an container for\n"
"panelization. It can be: Gerber or Geometry type.\n"
@@ -15602,7 +16414,7 @@ msgstr ""
"La sélection ici décide du type d’objets qui seront\n"
"dans la liste déroulante Objet de Box."
-#: flatcamTools/ToolPanelize.py:138
+#: flatcamTools/ToolPanelize.py:141
msgid ""
"The actual object that is used a container for the\n"
" selected object that is to be panelized."
@@ -15610,11 +16422,11 @@ msgstr ""
"L'objet réel qui utilise un conteneur pour la\n"
"objet sélectionné à panéliser."
-#: flatcamTools/ToolPanelize.py:144
+#: flatcamTools/ToolPanelize.py:147
msgid "Panel Data"
msgstr "Données du Panneau"
-#: flatcamTools/ToolPanelize.py:146
+#: flatcamTools/ToolPanelize.py:149
msgid ""
"This informations will shape the resulting panel.\n"
"The number of rows and columns will set how many\n"
@@ -15630,7 +16442,7 @@ msgstr ""
"Les espacements détermineront la distance entre deux\n"
"éléments du tableau de panneaux."
-#: flatcamTools/ToolPanelize.py:205
+#: flatcamTools/ToolPanelize.py:208
msgid ""
"Choose the type of object for the panel object:\n"
"- Geometry\n"
@@ -15640,15 +16452,15 @@ msgstr ""
"- Géométrie\n"
"- Gerber"
-#: flatcamTools/ToolPanelize.py:213
+#: flatcamTools/ToolPanelize.py:216
msgid "Constrain panel within"
msgstr "Contraindre le panneau dans"
-#: flatcamTools/ToolPanelize.py:249
+#: flatcamTools/ToolPanelize.py:252
msgid "Panelize Object"
msgstr "Objet Panelize"
-#: flatcamTools/ToolPanelize.py:251 flatcamTools/ToolRulesCheck.py:492
+#: flatcamTools/ToolPanelize.py:254 flatcamTools/ToolRulesCheck.py:501
msgid ""
"Panelize the specified object around the specified box.\n"
"In other words it creates multiple copies of the source object,\n"
@@ -15658,33 +16470,33 @@ msgstr ""
"En d'autres termes, il crée plusieurs copies de l'objet source,\n"
"disposés dans un tableau 2D de lignes et de colonnes."
-#: flatcamTools/ToolPanelize.py:319
+#: flatcamTools/ToolPanelize.py:322
msgid "Panel. Tool"
msgstr "Panneau. Outil"
-#: flatcamTools/ToolPanelize.py:448
+#: flatcamTools/ToolPanelize.py:460
msgid "Columns or Rows are zero value. Change them to a positive integer."
msgstr ""
"Les colonnes ou les lignes ont une valeur zéro. Changez-les en un entier "
"positif."
-#: flatcamTools/ToolPanelize.py:485
+#: flatcamTools/ToolPanelize.py:497
msgid "Generating panel ... "
msgstr "Panneau de génération ... "
-#: flatcamTools/ToolPanelize.py:768
+#: flatcamTools/ToolPanelize.py:777
msgid "Generating panel ... Adding the Gerber code."
msgstr "Panneau de génération ... Ajout du code Gerber."
-#: flatcamTools/ToolPanelize.py:779
+#: flatcamTools/ToolPanelize.py:788
msgid "Generating panel... Spawning copies"
msgstr "Génération de panneau ... Création de copies"
-#: flatcamTools/ToolPanelize.py:786
+#: flatcamTools/ToolPanelize.py:795
msgid "Panel done..."
msgstr "Panel terminé ..."
-#: flatcamTools/ToolPanelize.py:789
+#: flatcamTools/ToolPanelize.py:798
#, python-brace-format
msgid ""
"{text} Too big for the constrain area. Final panel has {col} columns and "
@@ -15693,7 +16505,7 @@ msgstr ""
"{text} Trop grand pour la zone contrainte. Le panneau final contient {col} "
"colonnes et {row}"
-#: flatcamTools/ToolPanelize.py:798
+#: flatcamTools/ToolPanelize.py:807
msgid "Panel created successfully."
msgstr "Panneau créé avec succès."
@@ -15834,163 +16646,214 @@ msgstr "Fichier PcbWizard .INF chargé."
msgid "Main PcbWizard Excellon file loaded."
msgstr "Le fichier principal de PcbWizard Excellon est chargé."
-#: flatcamTools/ToolPcbWizard.py:431
+#: flatcamTools/ToolPcbWizard.py:428
msgid "Cannot parse file"
msgstr "Impossible d'analyser le fichier"
-#: flatcamTools/ToolPcbWizard.py:456
+#: flatcamTools/ToolPcbWizard.py:452
msgid "Importing Excellon."
msgstr "Importer Excellon."
-#: flatcamTools/ToolPcbWizard.py:463
+#: flatcamTools/ToolPcbWizard.py:459
msgid "Import Excellon file failed."
msgstr "L'importation du fichier Excellon a échoué."
-#: flatcamTools/ToolPcbWizard.py:471
+#: flatcamTools/ToolPcbWizard.py:467
msgid "Imported"
msgstr "Importé"
-#: flatcamTools/ToolPcbWizard.py:475
+#: flatcamTools/ToolPcbWizard.py:471
msgid "Excellon merging is in progress. Please wait..."
msgstr "Excellon fusion est en cours. S'il vous plaît, attendez..."
-#: flatcamTools/ToolPcbWizard.py:478
+#: flatcamTools/ToolPcbWizard.py:474
msgid "The imported Excellon file is None."
msgstr "Le fichier Excellon importé est Aucun."
-#: flatcamTools/ToolProperties.py:119
-msgid "Properties Tool was not displayed. No object selected."
-msgstr "L'outil de Propriétés n'était pas affiché. Aucun objet sélectionné."
-
-#: flatcamTools/ToolProperties.py:134
+#: flatcamTools/ToolProperties.py:131
msgid "Object Properties are displayed."
msgstr "Les Propriétés de l'objet sont affichées."
-#: flatcamTools/ToolProperties.py:135
+#: flatcamTools/ToolProperties.py:136
msgid "Properties Tool"
msgstr "Outil de Propriétés"
-#: flatcamTools/ToolProperties.py:149
+#: flatcamTools/ToolProperties.py:150
msgid "TYPE"
msgstr "TYPE"
-#: flatcamTools/ToolProperties.py:150
+#: flatcamTools/ToolProperties.py:151
msgid "NAME"
msgstr "NOM"
-#: flatcamTools/ToolProperties.py:151
+#: flatcamTools/ToolProperties.py:153
msgid "Dimensions"
msgstr "Dimensions"
-#: flatcamTools/ToolProperties.py:165
-msgid "Others"
-msgstr "Autres"
-
-#: flatcamTools/ToolProperties.py:172
+#: flatcamTools/ToolProperties.py:181
msgid "Geo Type"
msgstr "Type de géo"
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:184
msgid "Single-Geo"
msgstr "Géo-unique"
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:185
msgid "Multi-Geo"
msgstr "Multi-géo"
-#: flatcamTools/ToolProperties.py:181
+#: flatcamTools/ToolProperties.py:196
msgid "Calculating dimensions ... Please wait."
msgstr "Calcul des dimensions ... Veuillez patienter."
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:325
-#: flatcamTools/ToolProperties.py:327
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:343
+#: flatcamTools/ToolProperties.py:345
msgid "Inch"
msgstr "Pouce"
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:326
-#: flatcamTools/ToolProperties.py:328
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:344
+#: flatcamTools/ToolProperties.py:346
msgid "Metric"
msgstr "Métrique"
-#: flatcamTools/ToolProperties.py:401 flatcamTools/ToolProperties.py:459
+#: flatcamTools/ToolProperties.py:421 flatcamTools/ToolProperties.py:486
msgid "Drills number"
msgstr "Nombre de forets"
-#: flatcamTools/ToolProperties.py:402 flatcamTools/ToolProperties.py:461
+#: flatcamTools/ToolProperties.py:422 flatcamTools/ToolProperties.py:488
msgid "Slots number"
msgstr "Nombre d'emplacements"
-#: flatcamTools/ToolProperties.py:404
+#: flatcamTools/ToolProperties.py:424
msgid "Drills total number:"
msgstr "Nombre total de forets:"
-#: flatcamTools/ToolProperties.py:405
+#: flatcamTools/ToolProperties.py:425
msgid "Slots total number:"
msgstr "Nombre total d'emplacements:"
-#: flatcamTools/ToolProperties.py:411 flatcamTools/ToolProperties.py:426
-#: flatcamTools/ToolProperties.py:429 flatcamTools/ToolProperties.py:432
-#: flatcamTools/ToolProperties.py:456
+#: flatcamTools/ToolProperties.py:452 flatcamTools/ToolProperties.py:455
+#: flatcamTools/ToolProperties.py:458 flatcamTools/ToolProperties.py:483
msgid "Present"
msgstr "Présent"
-#: flatcamTools/ToolProperties.py:427 flatcamTools/ToolProperties.py:457
+#: flatcamTools/ToolProperties.py:453 flatcamTools/ToolProperties.py:484
msgid "Solid Geometry"
msgstr "Géométrie solide"
-#: flatcamTools/ToolProperties.py:430
+#: flatcamTools/ToolProperties.py:456
msgid "GCode Text"
msgstr "Texte GCode"
-#: flatcamTools/ToolProperties.py:433
+#: flatcamTools/ToolProperties.py:459
msgid "GCode Geometry"
msgstr "Géométrie GCode"
-#: flatcamTools/ToolProperties.py:435
+#: flatcamTools/ToolProperties.py:462
msgid "Data"
msgstr "Les données"
-#: flatcamTools/ToolProperties.py:468
+#: flatcamTools/ToolProperties.py:495
msgid "Depth of Cut"
msgstr "Profondeur de coupe"
-#: flatcamTools/ToolProperties.py:480
+#: flatcamTools/ToolProperties.py:507
msgid "Clearance Height"
msgstr "Hauteur de dégagement"
-#: flatcamTools/ToolProperties.py:512
+#: flatcamTools/ToolProperties.py:539
msgid "Routing time"
msgstr "Temps d'acheminement"
-#: flatcamTools/ToolProperties.py:519
+#: flatcamTools/ToolProperties.py:546
msgid "Travelled distance"
msgstr "Distance parcourue"
-#: flatcamTools/ToolProperties.py:560
+#: flatcamTools/ToolProperties.py:564
msgid "Width"
msgstr "Largeur"
-#: flatcamTools/ToolProperties.py:566 flatcamTools/ToolProperties.py:574
+#: flatcamTools/ToolProperties.py:570 flatcamTools/ToolProperties.py:578
msgid "Box Area"
msgstr "Zone de la boîte"
-#: flatcamTools/ToolProperties.py:569 flatcamTools/ToolProperties.py:577
+#: flatcamTools/ToolProperties.py:573 flatcamTools/ToolProperties.py:581
msgid "Convex_Hull Area"
msgstr "Zone de coque convexe"
-#: flatcamTools/ToolProperties.py:583 flatcamTools/ToolProperties.py:585
+#: flatcamTools/ToolProperties.py:588 flatcamTools/ToolProperties.py:591
msgid "Copper Area"
msgstr "Zone de cuivre"
-#: flatcamTools/ToolQRCode.py:79
+#: flatcamTools/ToolPunchGerber.py:30 flatcamTools/ToolPunchGerber.py:323
+msgid "Punch Gerber"
+msgstr "Percer Gerber"
+
+#: flatcamTools/ToolPunchGerber.py:65
+msgid "Gerber into which to punch holes"
+msgstr "Gerber pour percer des trous"
+
+#: flatcamTools/ToolPunchGerber.py:85
+msgid "ALL"
+msgstr "TOUT"
+
+#: flatcamTools/ToolPunchGerber.py:166
+msgid ""
+"Remove the geometry of Excellon from the Gerber to create the holes in pads."
+msgstr ""
+"Retirez la géométrie d'Excellon du Gerber pour créer les trous dans les "
+"coussinets."
+
+#: flatcamTools/ToolPunchGerber.py:325
+msgid ""
+"Create a Gerber object from the selected object, within\n"
+"the specified box."
+msgstr ""
+"Créez un objet Gerber à partir de l'objet sélectionné, dans\n"
+"la case spécifiée."
+
+#: flatcamTools/ToolPunchGerber.py:425
+msgid "Punch Tool"
+msgstr "Outil de Poinçonnage"
+
+#: flatcamTools/ToolPunchGerber.py:599
+msgid "The value of the fixed diameter is 0.0. Aborting."
+msgstr "La valeur du diamètre fixe est de 0,0. Abandon."
+
+#: flatcamTools/ToolPunchGerber.py:607
+msgid ""
+" Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+" Impossible de générer le trou perforé Gerber car la taille du trou "
+"poinçonné est plus grande que certaines des ouvertures de l'objet Gerber."
+
+#: flatcamTools/ToolPunchGerber.py:619
+msgid ""
+"Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+"Impossible de générer le trou perforé Gerber car la taille du trou poinçonné "
+"est plus grande que certaines des ouvertures de l'objet Gerber."
+
+#: flatcamTools/ToolPunchGerber.py:656
+msgid ""
+"Could not generate punched hole Gerber because the newly created object "
+"geometry is the same as the one in the source object geometry..."
+msgstr ""
+"Impossible de générer le trou perforé Gerber car la géométrie de l'objet "
+"nouvellement créée est la même que celle de la géométrie de l'objet "
+"source ..."
+
+#: flatcamTools/ToolQRCode.py:80
msgid "Gerber Object to which the QRCode will be added."
msgstr "Objet Gerber auquel le QRCode sera ajouté."
-#: flatcamTools/ToolQRCode.py:92
+#: flatcamTools/ToolQRCode.py:93
msgid "QRCode Parameters"
msgstr "Paramètres QRCode"
-#: flatcamTools/ToolQRCode.py:94
+#: flatcamTools/ToolQRCode.py:95
msgid "The parameters used to shape the QRCode."
msgstr "Les paramètres utilisés pour façonner le QRCode."
@@ -16034,31 +16897,27 @@ msgstr "Insérez QRCode"
msgid "Create the QRCode object."
msgstr "Créez l'objet QRCode."
-#: flatcamTools/ToolQRCode.py:413 flatcamTools/ToolQRCode.py:748
-#: flatcamTools/ToolQRCode.py:797
+#: flatcamTools/ToolQRCode.py:415 flatcamTools/ToolQRCode.py:750
+#: flatcamTools/ToolQRCode.py:799
msgid "Cancelled. There is no QRCode Data in the text box."
msgstr "Annulé. Il n'y a pas de données QRCode dans la zone de texte."
-#: flatcamTools/ToolQRCode.py:432
+#: flatcamTools/ToolQRCode.py:434
msgid "Generating QRCode geometry"
msgstr "Génération de la géométrie QRCode"
-#: flatcamTools/ToolQRCode.py:472
+#: flatcamTools/ToolQRCode.py:474
msgid "Click on the Destination point ..."
msgstr "Cliquez sur le point de destination ..."
-#: flatcamTools/ToolQRCode.py:587
+#: flatcamTools/ToolQRCode.py:589
msgid "QRCode Tool done."
msgstr "Outil QRCode terminé."
-#: flatcamTools/ToolQRCode.py:780 flatcamTools/ToolQRCode.py:784
+#: flatcamTools/ToolQRCode.py:782 flatcamTools/ToolQRCode.py:786
msgid "Export PNG"
msgstr "Exporter en PNG"
-#: flatcamTools/ToolQRCode.py:789
-msgid " Export PNG cancelled."
-msgstr " Export PNG annulé."
-
#: flatcamTools/ToolRulesCheck.py:33
msgid "Check Rules"
msgstr "Vérifiez les Règles"
@@ -16071,79 +16930,79 @@ msgstr "Fichiers Gerber"
msgid "Gerber objects for which to check rules."
msgstr "Objets Gerber pour lesquels vérifier les règles."
-#: flatcamTools/ToolRulesCheck.py:77
+#: flatcamTools/ToolRulesCheck.py:78
msgid "Top"
msgstr "Haut"
-#: flatcamTools/ToolRulesCheck.py:79
+#: flatcamTools/ToolRulesCheck.py:80
msgid "The Top Gerber Copper object for which rules are checked."
msgstr "L'objet cuivre supérieur Gerber pour lequel les règles sont vérifiées."
-#: flatcamTools/ToolRulesCheck.py:94
+#: flatcamTools/ToolRulesCheck.py:96
msgid "Bottom"
msgstr "Bas"
-#: flatcamTools/ToolRulesCheck.py:96
+#: flatcamTools/ToolRulesCheck.py:98
msgid "The Bottom Gerber Copper object for which rules are checked."
msgstr ""
"Objet de cuivre Gerber inférieur pour lequel les règles sont vérifiées."
-#: flatcamTools/ToolRulesCheck.py:111
+#: flatcamTools/ToolRulesCheck.py:114
msgid "SM Top"
msgstr "SM Top"
-#: flatcamTools/ToolRulesCheck.py:113
+#: flatcamTools/ToolRulesCheck.py:116
msgid "The Top Gerber Solder Mask object for which rules are checked."
msgstr ""
"Objet de masque de soudure Gerber supérieur pour lequel les règles sont "
"vérifiées."
-#: flatcamTools/ToolRulesCheck.py:128
+#: flatcamTools/ToolRulesCheck.py:132
msgid "SM Bottom"
msgstr "SM Bas"
-#: flatcamTools/ToolRulesCheck.py:130
+#: flatcamTools/ToolRulesCheck.py:134
msgid "The Bottom Gerber Solder Mask object for which rules are checked."
msgstr ""
"Objet de masque de soudure Gerber inférieur pour lequel les règles sont "
"vérifiées."
-#: flatcamTools/ToolRulesCheck.py:145
+#: flatcamTools/ToolRulesCheck.py:150
msgid "Silk Top"
msgstr "Sérigraphie Haut"
-#: flatcamTools/ToolRulesCheck.py:147
+#: flatcamTools/ToolRulesCheck.py:152
msgid "The Top Gerber Silkscreen object for which rules are checked."
msgstr ""
"Objet de la sérigraphie Top Gerber pour lequel les règles sont vérifiées."
-#: flatcamTools/ToolRulesCheck.py:162
+#: flatcamTools/ToolRulesCheck.py:168
msgid "Silk Bottom"
msgstr "Fond sérigraphie"
-#: flatcamTools/ToolRulesCheck.py:164
+#: flatcamTools/ToolRulesCheck.py:170
msgid "The Bottom Gerber Silkscreen object for which rules are checked."
msgstr ""
"L'objet Gerber Silkscreen inférieur pour lequel les règles sont vérifiées."
-#: flatcamTools/ToolRulesCheck.py:181
+#: flatcamTools/ToolRulesCheck.py:188
msgid "The Gerber Outline (Cutout) object for which rules are checked."
msgstr ""
"Objet de contour de Gerber (découpe) pour lequel les règles sont vérifiées."
-#: flatcamTools/ToolRulesCheck.py:192
+#: flatcamTools/ToolRulesCheck.py:199
msgid "Excellon Objects"
msgstr "Excellon Objets"
-#: flatcamTools/ToolRulesCheck.py:194
+#: flatcamTools/ToolRulesCheck.py:201
msgid "Excellon objects for which to check rules."
msgstr "Excellon objets pour lesquels vérifier les règles."
-#: flatcamTools/ToolRulesCheck.py:205
+#: flatcamTools/ToolRulesCheck.py:213
msgid "Excellon 1"
msgstr "Excellon 1"
-#: flatcamTools/ToolRulesCheck.py:207
+#: flatcamTools/ToolRulesCheck.py:215
msgid ""
"Excellon object for which to check rules.\n"
"Holds the plated holes or a general Excellon file content."
@@ -16151,11 +17010,11 @@ msgstr ""
"Objet Excellon pour lequel vérifier les règles.\n"
"Contient les trous métallisés ou le contenu général d’un fichier Excellon."
-#: flatcamTools/ToolRulesCheck.py:223
+#: flatcamTools/ToolRulesCheck.py:232
msgid "Excellon 2"
msgstr "Excellon 2"
-#: flatcamTools/ToolRulesCheck.py:225
+#: flatcamTools/ToolRulesCheck.py:234
msgid ""
"Excellon object for which to check rules.\n"
"Holds the non-plated holes."
@@ -16163,35 +17022,35 @@ msgstr ""
"Objet Excellon pour lequel vérifier les règles.\n"
"Maintient les trous non plaqués."
-#: flatcamTools/ToolRulesCheck.py:238
+#: flatcamTools/ToolRulesCheck.py:247
msgid "All Rules"
msgstr "Toutes les règles"
-#: flatcamTools/ToolRulesCheck.py:240
+#: flatcamTools/ToolRulesCheck.py:249
msgid "This check/uncheck all the rules below."
msgstr "Cette case à cocher / décocher toutes les règles ci-dessous."
-#: flatcamTools/ToolRulesCheck.py:490
+#: flatcamTools/ToolRulesCheck.py:499
msgid "Run Rules Check"
msgstr "Exécuter la Vér. des Règles"
-#: flatcamTools/ToolRulesCheck.py:1149 flatcamTools/ToolRulesCheck.py:1209
-#: flatcamTools/ToolRulesCheck.py:1246 flatcamTools/ToolRulesCheck.py:1318
-#: flatcamTools/ToolRulesCheck.py:1372 flatcamTools/ToolRulesCheck.py:1410
-#: flatcamTools/ToolRulesCheck.py:1475
+#: flatcamTools/ToolRulesCheck.py:1158 flatcamTools/ToolRulesCheck.py:1218
+#: flatcamTools/ToolRulesCheck.py:1255 flatcamTools/ToolRulesCheck.py:1327
+#: flatcamTools/ToolRulesCheck.py:1381 flatcamTools/ToolRulesCheck.py:1419
+#: flatcamTools/ToolRulesCheck.py:1484
msgid "Value is not valid."
msgstr "La valeur n'est pas valide."
-#: flatcamTools/ToolRulesCheck.py:1163
+#: flatcamTools/ToolRulesCheck.py:1172
msgid "TOP -> Copper to Copper clearance"
msgstr "TOP -> Distance de cuivre à cuivre"
-#: flatcamTools/ToolRulesCheck.py:1174
+#: flatcamTools/ToolRulesCheck.py:1183
msgid "BOTTOM -> Copper to Copper clearance"
msgstr "EN BAS -> Distance de cuivre à cuivre"
-#: flatcamTools/ToolRulesCheck.py:1179 flatcamTools/ToolRulesCheck.py:1273
-#: flatcamTools/ToolRulesCheck.py:1437
+#: flatcamTools/ToolRulesCheck.py:1188 flatcamTools/ToolRulesCheck.py:1282
+#: flatcamTools/ToolRulesCheck.py:1446
msgid ""
"At least one Gerber object has to be selected for this rule but none is "
"selected."
@@ -16199,13 +17058,13 @@ msgstr ""
"Au moins un objet Gerber doit être sélectionné pour cette règle, mais aucun "
"n'est sélectionné."
-#: flatcamTools/ToolRulesCheck.py:1215
+#: flatcamTools/ToolRulesCheck.py:1224
msgid ""
"One of the copper Gerber objects or the Outline Gerber object is not valid."
msgstr ""
"L'un des objets cuivre Gerber ou l'objet Contour Gerber n'est pas valide."
-#: flatcamTools/ToolRulesCheck.py:1228 flatcamTools/ToolRulesCheck.py:1392
+#: flatcamTools/ToolRulesCheck.py:1237 flatcamTools/ToolRulesCheck.py:1401
msgid ""
"Outline Gerber object presence is mandatory for this rule but it is not "
"selected."
@@ -16213,31 +17072,31 @@ msgstr ""
"La présence de l’objet Gerber est obligatoire pour cette règle, mais elle "
"n’est pas sélectionnée."
-#: flatcamTools/ToolRulesCheck.py:1245 flatcamTools/ToolRulesCheck.py:1272
+#: flatcamTools/ToolRulesCheck.py:1254 flatcamTools/ToolRulesCheck.py:1281
msgid "Silk to Silk clearance"
msgstr "Sérigraphie à distance de sérigraphie"
-#: flatcamTools/ToolRulesCheck.py:1258
+#: flatcamTools/ToolRulesCheck.py:1267
msgid "TOP -> Silk to Silk clearance"
msgstr "TOP -> Distance de sérigraphie à sérigraphie"
-#: flatcamTools/ToolRulesCheck.py:1268
+#: flatcamTools/ToolRulesCheck.py:1277
msgid "BOTTOM -> Silk to Silk clearance"
msgstr "BAS -> Distance de sérigraphie à sérigraphie"
-#: flatcamTools/ToolRulesCheck.py:1324
+#: flatcamTools/ToolRulesCheck.py:1333
msgid "One or more of the Gerber objects is not valid."
msgstr "Un ou plusieurs objets Gerber n'est pas valide."
-#: flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1341
msgid "TOP -> Silk to Solder Mask Clearance"
msgstr "TOP -> Distance entre masque et masque de soudure"
-#: flatcamTools/ToolRulesCheck.py:1338
+#: flatcamTools/ToolRulesCheck.py:1347
msgid "BOTTOM -> Silk to Solder Mask Clearance"
msgstr "EN BAS -> Distance de sérigraphie à masque de soudure"
-#: flatcamTools/ToolRulesCheck.py:1342
+#: flatcamTools/ToolRulesCheck.py:1351
msgid ""
"Both Silk and Solder Mask Gerber objects has to be either both Top or both "
"Bottom."
@@ -16245,62 +17104,62 @@ msgstr ""
"Les objets Gerber Mask de sérigraphie et de masque de soudure doivent être "
"tous les deux supérieurs ou inférieurs."
-#: flatcamTools/ToolRulesCheck.py:1378
+#: flatcamTools/ToolRulesCheck.py:1387
msgid ""
"One of the Silk Gerber objects or the Outline Gerber object is not valid."
msgstr ""
"L'un des objets Gerber en sérigraphie ou l'objet Contour Gerber n'est pas "
"valide."
-#: flatcamTools/ToolRulesCheck.py:1422
+#: flatcamTools/ToolRulesCheck.py:1431
msgid "TOP -> Minimum Solder Mask Sliver"
msgstr "TOP -> ruban de masque de soudure minimum"
-#: flatcamTools/ToolRulesCheck.py:1432
+#: flatcamTools/ToolRulesCheck.py:1441
msgid "BOTTOM -> Minimum Solder Mask Sliver"
msgstr "BAS-> ruban de masque de soudure minimum"
-#: flatcamTools/ToolRulesCheck.py:1481
+#: flatcamTools/ToolRulesCheck.py:1490
msgid "One of the Copper Gerber objects or the Excellon objects is not valid."
msgstr "L'un des objets Copper Gerber ou Excellon n'est pas valide."
-#: flatcamTools/ToolRulesCheck.py:1497
+#: flatcamTools/ToolRulesCheck.py:1506
msgid ""
"Excellon object presence is mandatory for this rule but none is selected."
msgstr ""
"La présence d'objet Excellon est obligatoire pour cette règle, mais aucune "
"n'est sélectionnée."
-#: flatcamTools/ToolRulesCheck.py:1570 flatcamTools/ToolRulesCheck.py:1583
-#: flatcamTools/ToolRulesCheck.py:1594 flatcamTools/ToolRulesCheck.py:1607
+#: flatcamTools/ToolRulesCheck.py:1579 flatcamTools/ToolRulesCheck.py:1592
+#: flatcamTools/ToolRulesCheck.py:1603 flatcamTools/ToolRulesCheck.py:1616
msgid "STATUS"
msgstr "STATUT"
-#: flatcamTools/ToolRulesCheck.py:1573 flatcamTools/ToolRulesCheck.py:1597
+#: flatcamTools/ToolRulesCheck.py:1582 flatcamTools/ToolRulesCheck.py:1606
msgid "FAILED"
msgstr "ÉCHOUÉ"
-#: flatcamTools/ToolRulesCheck.py:1586 flatcamTools/ToolRulesCheck.py:1610
+#: flatcamTools/ToolRulesCheck.py:1595 flatcamTools/ToolRulesCheck.py:1619
msgid "PASSED"
msgstr "PASSÉ"
-#: flatcamTools/ToolRulesCheck.py:1587 flatcamTools/ToolRulesCheck.py:1611
+#: flatcamTools/ToolRulesCheck.py:1596 flatcamTools/ToolRulesCheck.py:1620
msgid "Violations: There are no violations for the current rule."
msgstr "Violations: Il n'y a pas de violations pour la règle actuelle."
-#: flatcamTools/ToolShell.py:70 flatcamTools/ToolShell.py:72
-msgid "...proccessing..."
-msgstr "...en traitement..."
+#: flatcamTools/ToolShell.py:72 flatcamTools/ToolShell.py:74
+msgid "...processing..."
+msgstr "...En traitement..."
-#: flatcamTools/ToolSolderPaste.py:37
+#: flatcamTools/ToolSolderPaste.py:38
msgid "Solder Paste Tool"
msgstr "Outil de Pâte à souder"
-#: flatcamTools/ToolSolderPaste.py:68
+#: flatcamTools/ToolSolderPaste.py:70
msgid "Gerber Solder paste object. "
msgstr "Objet de pâte à souder Gerber. "
-#: flatcamTools/ToolSolderPaste.py:75
+#: flatcamTools/ToolSolderPaste.py:77
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for dispensing solder paste."
@@ -16308,7 +17167,7 @@ msgstr ""
"Pool d'outils à partir duquel l'algorithme\n"
"choisira ceux utilisés pour la distribution de la pâte à souder."
-#: flatcamTools/ToolSolderPaste.py:90
+#: flatcamTools/ToolSolderPaste.py:92
msgid ""
"This is the Tool Number.\n"
"The solder dispensing will start with the tool with the biggest \n"
@@ -16323,7 +17182,7 @@ msgstr ""
" avec la pâte à souder, l'application émettra une boîte de message "
"d'avertissement."
-#: flatcamTools/ToolSolderPaste.py:97
+#: flatcamTools/ToolSolderPaste.py:99
msgid ""
"Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
"is the width of the solder paste dispensed."
@@ -16331,11 +17190,11 @@ msgstr ""
"Diamètre de l'outil de buse. C'est sa valeur (en unités FlatCAM actuelles)\n"
"est la largeur de la pâte à braser distribuée."
-#: flatcamTools/ToolSolderPaste.py:104
+#: flatcamTools/ToolSolderPaste.py:106
msgid "New Nozzle Tool"
msgstr "Nouvel Outil de Buse"
-#: flatcamTools/ToolSolderPaste.py:123
+#: flatcamTools/ToolSolderPaste.py:125
msgid ""
"Add a new nozzle tool to the Tool Table\n"
"with the diameter specified above."
@@ -16343,15 +17202,15 @@ msgstr ""
"Ajouter un nouvel outil de buse à la table d'outils\n"
"avec le diamètre spécifié ci-dessus."
-#: flatcamTools/ToolSolderPaste.py:135
+#: flatcamTools/ToolSolderPaste.py:137
msgid "Generate solder paste dispensing geometry."
msgstr "Générer la géométrie de distribution de la pâte à souder."
-#: flatcamTools/ToolSolderPaste.py:154
+#: flatcamTools/ToolSolderPaste.py:156
msgid "STEP 1"
msgstr "ÉTAPE 1"
-#: flatcamTools/ToolSolderPaste.py:156
+#: flatcamTools/ToolSolderPaste.py:158
msgid ""
"First step is to select a number of nozzle tools for usage\n"
"and then optionally modify the GCode parameters bellow."
@@ -16360,7 +17219,7 @@ msgstr ""
"à utiliser.\n"
"et éventuellement modifier les paramètres GCode ci-dessous."
-#: flatcamTools/ToolSolderPaste.py:159
+#: flatcamTools/ToolSolderPaste.py:161
msgid ""
"Select tools.\n"
"Modify parameters."
@@ -16368,7 +17227,7 @@ msgstr ""
"Sélectionnez des outils.\n"
"Modifier les paramètres."
-#: flatcamTools/ToolSolderPaste.py:279
+#: flatcamTools/ToolSolderPaste.py:281
msgid ""
"Feedrate (speed) while moving up vertically\n"
" to Dispense position (on Z plane)."
@@ -16376,7 +17235,7 @@ msgstr ""
"Avance (vitesse) en montant verticalement\n"
"position de distribution (sur le plan Z)."
-#: flatcamTools/ToolSolderPaste.py:349
+#: flatcamTools/ToolSolderPaste.py:351
msgid ""
"Generate GCode for Solder Paste dispensing\n"
"on PCB pads."
@@ -16384,11 +17243,11 @@ msgstr ""
"Générer GCode pour la distribution de pâte à souder\n"
"sur les PCB pads."
-#: flatcamTools/ToolSolderPaste.py:370
+#: flatcamTools/ToolSolderPaste.py:372
msgid "STEP 2"
msgstr "ÉTAPE 2"
-#: flatcamTools/ToolSolderPaste.py:372
+#: flatcamTools/ToolSolderPaste.py:374
msgid ""
"Second step is to create a solder paste dispensing\n"
"geometry out of an Solder Paste Mask Gerber file."
@@ -16396,11 +17255,11 @@ msgstr ""
"La deuxième étape consiste à créer une distribution de pâte à braser\n"
"géométrie d'un fichier Gerber de masque de collage de soudure."
-#: flatcamTools/ToolSolderPaste.py:388
+#: flatcamTools/ToolSolderPaste.py:391
msgid "Geo Result"
msgstr "Résultat de la Géo"
-#: flatcamTools/ToolSolderPaste.py:390
+#: flatcamTools/ToolSolderPaste.py:393
msgid ""
"Geometry Solder Paste object.\n"
"The name of the object has to end in:\n"
@@ -16410,11 +17269,11 @@ msgstr ""
"Le nom de l'objet doit se terminer par:\n"
"'_solderpaste' comme protection."
-#: flatcamTools/ToolSolderPaste.py:399
+#: flatcamTools/ToolSolderPaste.py:402
msgid "STEP 3"
msgstr "ÉTAPE 3"
-#: flatcamTools/ToolSolderPaste.py:401
+#: flatcamTools/ToolSolderPaste.py:404
msgid ""
"Third step is to select a solder paste dispensing geometry,\n"
"and then generate a CNCJob object.\n"
@@ -16431,11 +17290,11 @@ msgstr ""
"vous devez d’abord générer une géométrie avec ces nouveaux paramètres,\n"
"et seulement après cela, vous pouvez générer un CNCJob mis à jour."
-#: flatcamTools/ToolSolderPaste.py:421
+#: flatcamTools/ToolSolderPaste.py:425
msgid "CNC Result"
msgstr "Résultat CNC"
-#: flatcamTools/ToolSolderPaste.py:423
+#: flatcamTools/ToolSolderPaste.py:427
msgid ""
"CNCJob Solder paste object.\n"
"In order to enable the GCode save section,\n"
@@ -16447,11 +17306,11 @@ msgstr ""
"le nom de l'objet doit se terminer par:\n"
"'_solderpaste' comme protection."
-#: flatcamTools/ToolSolderPaste.py:433
+#: flatcamTools/ToolSolderPaste.py:437
msgid "View GCode"
msgstr "Voir le GCode"
-#: flatcamTools/ToolSolderPaste.py:435
+#: flatcamTools/ToolSolderPaste.py:439
msgid ""
"View the generated GCode for Solder Paste dispensing\n"
"on PCB pads."
@@ -16459,11 +17318,11 @@ msgstr ""
"Afficher le GCode généré pour la distribution de pâte à souder\n"
"sur les plaquettes de circuits imprimés."
-#: flatcamTools/ToolSolderPaste.py:445
+#: flatcamTools/ToolSolderPaste.py:449
msgid "Save GCode"
msgstr "Enregistrer le GCode"
-#: flatcamTools/ToolSolderPaste.py:447
+#: flatcamTools/ToolSolderPaste.py:451
msgid ""
"Save the generated GCode for Solder Paste dispensing\n"
"on PCB pads, to a file."
@@ -16471,11 +17330,11 @@ msgstr ""
"Sauvegarder le GCode généré pour la distribution de pâte à souder\n"
"sur des plaquettes de circuits imprimés, dans un fichier."
-#: flatcamTools/ToolSolderPaste.py:457
+#: flatcamTools/ToolSolderPaste.py:461
msgid "STEP 4"
msgstr "ÉTAPE 4"
-#: flatcamTools/ToolSolderPaste.py:459
+#: flatcamTools/ToolSolderPaste.py:463
msgid ""
"Fourth step (and last) is to select a CNCJob made from \n"
"a solder paste dispensing geometry, and then view/save it's GCode."
@@ -16485,92 +17344,87 @@ msgstr ""
"une géométrie de distribution de la pâte à souder, puis affichez / "
"enregistrez son GCode."
-#: flatcamTools/ToolSolderPaste.py:917
-msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
-msgstr ""
-"L'ajout de l'outil de buse est annulé. Outil déjà dans la table d'outils."
-
-#: flatcamTools/ToolSolderPaste.py:923
+#: flatcamTools/ToolSolderPaste.py:922
msgid "New Nozzle tool added to Tool Table."
msgstr "Nouvel Outil de Buse ajouté à la table d'outils."
-#: flatcamTools/ToolSolderPaste.py:966
+#: flatcamTools/ToolSolderPaste.py:965
msgid "Nozzle tool from Tool Table was edited."
msgstr "L'outil de buse de la table d'outils a été modifié."
-#: flatcamTools/ToolSolderPaste.py:1024
+#: flatcamTools/ToolSolderPaste.py:1023
msgid "Delete failed. Select a Nozzle tool to delete."
msgstr "La suppression a échoué. Sélectionnez un outil de buse à supprimer."
-#: flatcamTools/ToolSolderPaste.py:1030
+#: flatcamTools/ToolSolderPaste.py:1029
msgid "Nozzle tool(s) deleted from Tool Table."
msgstr "Outil (s) de buse supprimé (s) de la table d'outils."
-#: flatcamTools/ToolSolderPaste.py:1086
+#: flatcamTools/ToolSolderPaste.py:1085
msgid "No SolderPaste mask Gerber object loaded."
msgstr "Aucun objet Gerber de masque de pâte à souder chargé."
-#: flatcamTools/ToolSolderPaste.py:1104
+#: flatcamTools/ToolSolderPaste.py:1103
msgid "Creating Solder Paste dispensing geometry."
msgstr "Création de la géométrie de distribution de pâte à souder."
-#: flatcamTools/ToolSolderPaste.py:1117
+#: flatcamTools/ToolSolderPaste.py:1116
msgid "No Nozzle tools in the tool table."
msgstr "Aucun outil de buse dans la table à outils."
-#: flatcamTools/ToolSolderPaste.py:1244
+#: flatcamTools/ToolSolderPaste.py:1242
msgid "Cancelled. Empty file, it has no geometry..."
msgstr "Annulé. Fichier vide, il n'a pas de géométrie ..."
-#: flatcamTools/ToolSolderPaste.py:1248
+#: flatcamTools/ToolSolderPaste.py:1245
msgid "Solder Paste geometry generated successfully"
msgstr "Géométrie de pâte à souder générée avec succès"
-#: flatcamTools/ToolSolderPaste.py:1255
+#: flatcamTools/ToolSolderPaste.py:1252
msgid "Some or all pads have no solder due of inadequate nozzle diameters..."
msgstr ""
"Certains ou tous les tampons n'ont pas de soudure en raison de diamètres de "
"buse inadéquats ..."
-#: flatcamTools/ToolSolderPaste.py:1269
+#: flatcamTools/ToolSolderPaste.py:1266
msgid "Generating Solder Paste dispensing geometry..."
msgstr "Génération de géométrie de distribution de pâte à souder ..."
-#: flatcamTools/ToolSolderPaste.py:1289
+#: flatcamTools/ToolSolderPaste.py:1286
msgid "There is no Geometry object available."
msgstr "Il n'y a pas d'objet Géométrie disponible."
-#: flatcamTools/ToolSolderPaste.py:1294
+#: flatcamTools/ToolSolderPaste.py:1291
msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry."
msgstr ""
"Cette géométrie ne peut pas être traitée. PAS une géométrie "
"solder_paste_tool."
-#: flatcamTools/ToolSolderPaste.py:1401
+#: flatcamTools/ToolSolderPaste.py:1392
msgid "ToolSolderPaste CNCjob created"
msgstr "Outil de Pâte à Souder CNCjob créé"
-#: flatcamTools/ToolSolderPaste.py:1422
+#: flatcamTools/ToolSolderPaste.py:1411
msgid "SP GCode Editor"
msgstr "Éditeur SP GCode"
-#: flatcamTools/ToolSolderPaste.py:1434 flatcamTools/ToolSolderPaste.py:1439
-#: flatcamTools/ToolSolderPaste.py:1494
+#: flatcamTools/ToolSolderPaste.py:1423 flatcamTools/ToolSolderPaste.py:1428
+#: flatcamTools/ToolSolderPaste.py:1483
msgid ""
"This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object."
msgstr ""
"Cet objet CNCJob ne peut pas être traité. PAS un objet CNCJob "
"solder_paste_tool."
-#: flatcamTools/ToolSolderPaste.py:1464
+#: flatcamTools/ToolSolderPaste.py:1453
msgid "No Gcode in the object"
msgstr "Pas de Gcode dans l'objet"
-#: flatcamTools/ToolSolderPaste.py:1504
+#: flatcamTools/ToolSolderPaste.py:1493
msgid "Export GCode ..."
msgstr "Exporter le GCode ..."
-#: flatcamTools/ToolSolderPaste.py:1552
+#: flatcamTools/ToolSolderPaste.py:1541
msgid "Solder paste dispenser GCode file saved to"
msgstr "Fichier GCode du distributeur de pâte à souder enregistré dans"
@@ -16578,7 +17432,7 @@ msgstr "Fichier GCode du distributeur de pâte à souder enregistré dans"
msgid "Gerber Objects"
msgstr "Objets Gerber"
-#: flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:78
msgid ""
"Gerber object from which to subtract\n"
"the subtractor Gerber object."
@@ -16586,11 +17440,11 @@ msgstr ""
"Objet de Gerber auquel soustraire\n"
"l'objet soustracteur Gerber."
-#: flatcamTools/ToolSub.py:88 flatcamTools/ToolSub.py:140
+#: flatcamTools/ToolSub.py:91 flatcamTools/ToolSub.py:146
msgid "Subtractor"
msgstr "Soustracteur"
-#: flatcamTools/ToolSub.py:90
+#: flatcamTools/ToolSub.py:93
msgid ""
"Gerber object that will be subtracted\n"
"from the target Gerber object."
@@ -16598,11 +17452,11 @@ msgstr ""
"Objet Gerber qui sera soustrait\n"
"à partir de l'objet Gerber cible."
-#: flatcamTools/ToolSub.py:97
+#: flatcamTools/ToolSub.py:100
msgid "Substract Gerber"
msgstr "Soustraire Gerber"
-#: flatcamTools/ToolSub.py:99
+#: flatcamTools/ToolSub.py:102
msgid ""
"Will remove the area occupied by the subtractor\n"
"Gerber from the Target Gerber.\n"
@@ -16614,11 +17468,11 @@ msgstr ""
"Peut être utilisé pour enlever la sérigraphie qui se chevauchent\n"
"sur le masque de soudure."
-#: flatcamTools/ToolSub.py:117
+#: flatcamTools/ToolSub.py:120
msgid "Geometry Objects"
msgstr "Objets géométriques"
-#: flatcamTools/ToolSub.py:128
+#: flatcamTools/ToolSub.py:133
msgid ""
"Geometry object from which to subtract\n"
"the subtractor Geometry object."
@@ -16626,7 +17480,7 @@ msgstr ""
"Objet de géométrie à soustraire\n"
"l'objet géométrique soustracteur."
-#: flatcamTools/ToolSub.py:142
+#: flatcamTools/ToolSub.py:148
msgid ""
"Geometry object that will be subtracted\n"
"from the target Geometry object."
@@ -16634,18 +17488,18 @@ msgstr ""
"Objet de géométrie qui sera soustrait\n"
"à partir de l'objet de géométrie cible."
-#: flatcamTools/ToolSub.py:150
+#: flatcamTools/ToolSub.py:156
msgid ""
"Checking this will close the paths cut by the Geometry subtractor object."
msgstr ""
"En cochant cette case, vous fermez les chemins coupés par l'objet "
"soustracteur de géométrie."
-#: flatcamTools/ToolSub.py:153
+#: flatcamTools/ToolSub.py:159
msgid "Subtract Geometry"
msgstr "Soustraire la géométrie"
-#: flatcamTools/ToolSub.py:155
+#: flatcamTools/ToolSub.py:161
msgid ""
"Will remove the area occupied by the subtractor\n"
"Geometry from the Target Geometry."
@@ -16653,58 +17507,58 @@ msgstr ""
"Va supprimer la zone occupée par le soustracteur\n"
"Géométrie à partir de la géométrie cible."
-#: flatcamTools/ToolSub.py:262
+#: flatcamTools/ToolSub.py:263
msgid "Sub Tool"
msgstr "Outil Sous"
-#: flatcamTools/ToolSub.py:278 flatcamTools/ToolSub.py:483
+#: flatcamTools/ToolSub.py:284 flatcamTools/ToolSub.py:489
msgid "No Target object loaded."
msgstr "Aucun objet cible chargé."
-#: flatcamTools/ToolSub.py:281
+#: flatcamTools/ToolSub.py:287
msgid "Loading geometry from Gerber objects."
msgstr "Chargement de la géométrie à partir d'objets Gerber."
-#: flatcamTools/ToolSub.py:293 flatcamTools/ToolSub.py:498
+#: flatcamTools/ToolSub.py:299 flatcamTools/ToolSub.py:504
msgid "No Subtractor object loaded."
msgstr "Aucun objet soustracteur n'a été chargé."
-#: flatcamTools/ToolSub.py:325
+#: flatcamTools/ToolSub.py:331
msgid "Processing geometry from Subtractor Gerber object."
msgstr "Traitement de la géométrie de l'objet Gerber soustracteur."
-#: flatcamTools/ToolSub.py:346
+#: flatcamTools/ToolSub.py:352
msgid "Parsing geometry for aperture"
msgstr "Analyser la géométrie pour l'ouverture"
-#: flatcamTools/ToolSub.py:407
+#: flatcamTools/ToolSub.py:413
msgid "Finished parsing geometry for aperture"
msgstr "Géométrie d'analyse terminée pour l'ouverture"
-#: flatcamTools/ToolSub.py:452 flatcamTools/ToolSub.py:655
+#: flatcamTools/ToolSub.py:458 flatcamTools/ToolSub.py:661
msgid "Generating new object ..."
msgstr "Générer un nouvel objet ..."
-#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:659
-#: flatcamTools/ToolSub.py:740
+#: flatcamTools/ToolSub.py:462 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:746
msgid "Generating new object failed."
msgstr "La génération du nouvel objet a échoué."
-#: flatcamTools/ToolSub.py:461 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:467 flatcamTools/ToolSub.py:671
msgid "Created"
msgstr "Établi"
-#: flatcamTools/ToolSub.py:512
+#: flatcamTools/ToolSub.py:518
msgid "Currently, the Subtractor geometry cannot be of type Multigeo."
msgstr ""
"Actuellement, la géométrie du soustracteur ne peut pas être de type multi-"
"géo."
-#: flatcamTools/ToolSub.py:557
+#: flatcamTools/ToolSub.py:563
msgid "Parsing solid_geometry ..."
msgstr "Analyse de solid_geometry ..."
-#: flatcamTools/ToolSub.py:559
+#: flatcamTools/ToolSub.py:565
msgid "Parsing solid_geometry for tool"
msgstr "Analyse de solid_geometry pour l'outil"
@@ -16712,7 +17566,7 @@ msgstr "Analyse de solid_geometry pour l'outil"
msgid "Object Transform"
msgstr "Transformation d'objet"
-#: flatcamTools/ToolTransform.py:82
+#: flatcamTools/ToolTransform.py:79
msgid ""
"Rotate the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16722,7 +17576,7 @@ msgstr ""
"Le point de référence est le milieu de\n"
"le cadre de sélection pour tous les objets sélectionnés."
-#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:122
+#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:121
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 360."
@@ -16730,7 +17584,7 @@ msgstr ""
"Angle pour l'action asymétrique, en degrés.\n"
"Nombre flottant entre -360 et 360."
-#: flatcamTools/ToolTransform.py:111 flatcamTools/ToolTransform.py:133
+#: flatcamTools/ToolTransform.py:110 flatcamTools/ToolTransform.py:131
msgid ""
"Skew/shear the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16740,7 +17594,7 @@ msgstr ""
"Le point de référence est le milieu de\n"
"le cadre de sélection pour tous les objets sélectionnés."
-#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:181
+#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:180
msgid ""
"Scale the selected object(s).\n"
"The point of reference depends on \n"
@@ -16750,7 +17604,7 @@ msgstr ""
"Le point de référence dépend de\n"
"l'état de la case à cocher référence d'échelle."
-#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:250
+#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:249
msgid ""
"Offset the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16760,202 +17614,612 @@ 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"
-#: flatcamTools/ToolTransform.py:268 flatcamTools/ToolTransform.py:274
+#: flatcamTools/ToolTransform.py:269 flatcamTools/ToolTransform.py:274
msgid "Flip the selected object(s) over the X axis."
msgstr "Retournez le ou les objets sélectionnés sur l’axe X."
-#: flatcamTools/ToolTransform.py:299
+#: flatcamTools/ToolTransform.py:298
msgid "Ref. Point"
msgstr "Miroir Réf. Point"
-#: flatcamTools/ToolTransform.py:351
+#: flatcamTools/ToolTransform.py:349
msgid ""
"Create the buffer effect on each geometry,\n"
-"element from the selected object."
+"element from the selected object, using the distance."
msgstr ""
"Créez l'effet tampon sur chaque géométrie,\n"
-"élément de l'objet sélectionné."
+"élément de l'objet sélectionné, en utilisant la distance."
-#: flatcamTools/ToolTransform.py:498
+#: flatcamTools/ToolTransform.py:375
+msgid ""
+"Create the buffer effect on each geometry,\n"
+"element from the selected object, using the factor."
+msgstr ""
+"Créez l'effet tampon sur chaque géométrie,\n"
+"élément de l'objet sélectionné, en utilisant le facteur."
+
+#: flatcamTools/ToolTransform.py:480
+msgid "Buffer D"
+msgstr "Tampon D"
+
+#: flatcamTools/ToolTransform.py:481
+msgid "Buffer F"
+msgstr "Tampon F"
+
+#: flatcamTools/ToolTransform.py:558
msgid "Rotate transformation can not be done for a value of 0."
msgstr ""
"La transformation par rotation ne peut pas être effectuée pour une valeur de "
"0."
-#: flatcamTools/ToolTransform.py:537 flatcamTools/ToolTransform.py:560
+#: flatcamTools/ToolTransform.py:597 flatcamTools/ToolTransform.py:620
msgid "Scale transformation can not be done for a factor of 0 or 1."
msgstr ""
"La transformation d'échelle ne peut pas être effectuée pour un facteur de 0 "
"ou 1."
-#: flatcamTools/ToolTransform.py:575 flatcamTools/ToolTransform.py:585
+#: flatcamTools/ToolTransform.py:635 flatcamTools/ToolTransform.py:645
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."
-#: flatcamTools/ToolTransform.py:608
+#: flatcamTools/ToolTransform.py:677
msgid "No object selected. Please Select an object to rotate!"
msgstr ""
"Aucun objet sélectionné. Veuillez sélectionner un objet à faire pivoter!"
-#: flatcamTools/ToolTransform.py:636
+#: flatcamTools/ToolTransform.py:703
msgid "CNCJob objects can't be rotated."
msgstr "Les objets CNCJob ne peuvent pas être pivotés."
-#: flatcamTools/ToolTransform.py:644
+#: flatcamTools/ToolTransform.py:711
msgid "Rotate done"
msgstr "Faire pivoter"
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "Due of"
msgstr "À cause de"
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "action was not executed."
msgstr "l'action n'a pas été exécutée."
-#: flatcamTools/ToolTransform.py:661
+#: flatcamTools/ToolTransform.py:726
msgid "No object selected. Please Select an object to flip"
msgstr "Aucun objet sélectionné. Veuillez sélectionner un objet à refléter"
-#: flatcamTools/ToolTransform.py:696
+#: flatcamTools/ToolTransform.py:759
msgid "CNCJob objects can't be mirrored/flipped."
msgstr "Les objets CNCJob ne peuvent pas être inversés / inversés."
-#: flatcamTools/ToolTransform.py:734
+#: flatcamTools/ToolTransform.py:794
msgid "Skew transformation can not be done for 0, 90 and 180 degrees."
msgstr ""
"La transformation asymétrique ne peut pas être effectuée pour 0, 90 et 180 "
"degrés."
-#: flatcamTools/ToolTransform.py:739
+#: flatcamTools/ToolTransform.py:799
msgid "No object selected. Please Select an object to shear/skew!"
msgstr ""
"Aucun objet sélectionné. Veuillez sélectionner un objet à cisailler / "
"incliner!"
-#: flatcamTools/ToolTransform.py:761
+#: flatcamTools/ToolTransform.py:819
msgid "CNCJob objects can't be skewed."
msgstr "Les objets CNCJob ne peuvent pas être biaisés."
-#: flatcamTools/ToolTransform.py:774
+#: flatcamTools/ToolTransform.py:831
msgid "Skew on the"
msgstr "Biais sur le"
-#: flatcamTools/ToolTransform.py:774 flatcamTools/ToolTransform.py:834
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:831 flatcamTools/ToolTransform.py:887
+#: flatcamTools/ToolTransform.py:919
msgid "axis done"
msgstr "axe fait"
-#: flatcamTools/ToolTransform.py:791
+#: flatcamTools/ToolTransform.py:846
msgid "No object selected. Please Select an object to scale!"
msgstr ""
"Aucun objet sélectionné. Veuillez sélectionner un objet à mettre à l'échelle!"
-#: flatcamTools/ToolTransform.py:824
+#: flatcamTools/ToolTransform.py:877
msgid "CNCJob objects can't be scaled."
msgstr "Les objets CNCJob ne peuvent pas être mis à l'échelle."
-#: flatcamTools/ToolTransform.py:834
+#: flatcamTools/ToolTransform.py:887
msgid "Scale on the"
msgstr "Échelle sur le"
-#: flatcamTools/ToolTransform.py:846
+#: flatcamTools/ToolTransform.py:898
msgid "No object selected. Please Select an object to offset!"
msgstr "Aucun objet sélectionné. Veuillez sélectionner un objet à compenser!"
-#: flatcamTools/ToolTransform.py:855
+#: flatcamTools/ToolTransform.py:905
msgid "CNCJob objects can't be offset."
msgstr "CNCJob objects can't be offset."
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:919
msgid "Offset on the"
msgstr "Compenser sur le"
-#: flatcamTools/ToolTransform.py:881
+#: flatcamTools/ToolTransform.py:929
msgid "No object selected. Please Select an object to buffer!"
msgstr "Aucun objet sélectionné. Veuillez sélectionner un objet à tamponner!"
-#: flatcamTools/ToolTransform.py:884
+#: flatcamTools/ToolTransform.py:932
msgid "Applying Buffer"
msgstr "Application du tampon"
-#: flatcamTools/ToolTransform.py:888
+#: flatcamTools/ToolTransform.py:936
msgid "CNCJob objects can't be buffered."
msgstr "Les objets CNCJob ne peuvent pas être mis en mémoire tampon."
-#: flatcamTools/ToolTransform.py:905
+#: flatcamTools/ToolTransform.py:953
msgid "Buffer done"
msgstr "Tampon terminé"
-#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73
+#: tclCommands/TclCommandBbox.py:76 tclCommands/TclCommandNregions.py:75
msgid "Expected FlatCAMGerber or FlatCAMGeometry, got"
msgstr "FlatCAMGerber ou FlatCAMGeometry attendu, obtenu"
-#: tclCommands/TclCommandBounds.py:64 tclCommands/TclCommandBounds.py:68
+#: tclCommands/TclCommandBounds.py:67 tclCommands/TclCommandBounds.py:71
msgid "Expected a list of objects names separated by comma. Got"
msgstr "Attendu une liste de noms d'objets séparés par une virgule. Eu"
-#: tclCommands/TclCommandBounds.py:79
+#: tclCommands/TclCommandBounds.py:82
msgid "TclCommand Bounds done."
msgstr "TclCommand Bounds terminé."
-#: tclCommands/TclCommandCopperClear.py:242 tclCommands/TclCommandPaint.py:240
-msgid "Expected -box ."
-msgstr "Attendu -box ."
-
-#: tclCommands/TclCommandCopperClear.py:251 tclCommands/TclCommandPaint.py:249
-#: tclCommands/TclCommandScale.py:75
+#: tclCommands/TclCommandCopperClear.py:276 tclCommands/TclCommandPaint.py:272
+#: tclCommands/TclCommandScale.py:81
msgid "Could not retrieve box object"
msgstr "Impossible de récupérer l'objet boîte"
-#: tclCommands/TclCommandCopperClear.py:273
-msgid ""
-"None of the following args: 'ref', 'all' were found or none was set to 1.\n"
-"Copper clearing failed."
-msgstr ""
-"Aucun des arguments suivants: 'ref', 'all' ont été trouvés ou aucun n'a été "
-"défini sur 1.\n"
-"Le nettoyage du cuivre a échoué."
+#: tclCommands/TclCommandCopperClear.py:299
+msgid "Expected either -box or -all."
+msgstr "Attend soit -box ou -all."
-#: tclCommands/TclCommandPaint.py:217
+#: tclCommands/TclCommandGeoCutout.py:148
+msgid ""
+"The name of the object for which cutout is done is missing. Add it and retry."
+msgstr ""
+"Le nom de l'objet pour lequel la découpe est effectuée est manquant. Ajoutez-"
+"le et réessayez."
+
+#: tclCommands/TclCommandGeoCutout.py:190
+msgid "Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8."
+msgstr ""
+"La valeur d'espacement ne peut être que l'une des valeurs suivantes: "
+"'Aucune', 'lr', 'tb', '2lr', '2tb', 4 ou 8."
+
+#: tclCommands/TclCommandGeoCutout.py:302
+#: tclCommands/TclCommandGeoCutout.py:360
+msgid "Any-form Cutout operation finished."
+msgstr "L'opération de découpe sous n'importe quelle forme est terminée."
+
+#: tclCommands/TclCommandGeoCutout.py:366
+msgid "Cancelled. Object type is not supported."
+msgstr "Annulé. Le type d'objet n'est pas pris en charge."
+
+#: tclCommands/TclCommandHelp.py:74
+msgid "Available commands:"
+msgstr "Commandes disponibles:"
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Type help for usage."
+msgstr "Tapez help pour l'utiliser."
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Example: help open_gerber"
+msgstr "Exemple: help open_gerber"
+
+#: tclCommands/TclCommandPaint.py:244
msgid "Expected -x and -y ."
msgstr "Attendu -x et -y ."
-#: tclCommands/TclCommandPaint.py:268
+#: tclCommands/TclCommandPaint.py:265
+msgid "Expected -box ."
+msgstr "Attendu -box ."
+
+#: tclCommands/TclCommandPaint.py:286
msgid ""
-"There was none of the following args: 'ref', 'single', 'all'.\n"
+"None of the following args: 'box', 'single', 'all' were used.\n"
"Paint failed."
msgstr ""
-"Il n'y avait aucun des arguments suivants: 'ref', 'single', 'all'.\n"
+"Aucun des arguments suivants: «box», «single», «all» n'a été utilisé.\n"
"La peinture a échoué."
-#: tclCommands/TclCommandScale.py:95
-msgid "Expected -origin or -origin or -origin ."
-msgstr "Attendu -origin ou -origin ou -origin ."
+#: tclCommands/TclCommandScale.py:106
+msgid ""
+"Expected -origin or -origin or -origin or - "
+"origin 3.0,4.2."
+msgstr ""
+"Attendu -origin ou -origin ou -origin ou - "
+"origin 3.0,4.2.."
-#: tclCommands/TclCommandScale.py:104
+#: tclCommands/TclCommandScale.py:119
msgid "Expected -x -y ."
msgstr "Attendu -x -y ."
-#: tclCommands/TclCommandSetOrigin.py:91
+#: tclCommands/TclCommandSetOrigin.py:95
msgid "Expected a pair of (x, y) coordinates. Got"
msgstr "Une paire de coordonnées (x, y) attendue. Eu"
-#: tclCommands/TclCommandSetOrigin.py:98
+#: tclCommands/TclCommandSetOrigin.py:102
msgid "Origin set by offsetting all loaded objects with "
msgstr "Origine définie en décalant tous les objets chargés avec "
-#: tclCommands/TclCommandSubtractRectangle.py:58
+#: tclCommands/TclCommandSubtractRectangle.py:62
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 "Executing Tcl Script ..."
+#~ msgstr "Exécution du script Tcl ..."
+
+#~ msgid "Open cancelled."
+#~ msgstr "Ouvert annulé."
+
+#~ msgid "Preferences default restore was cancelled."
+#~ msgstr "La restauration par défaut des préférences a été annulée."
+
+#~ msgid "FlatCAM preferences import cancelled."
+#~ msgstr "Importation des préférences FlatCAM annulée."
+
+#~ msgid "FlatCAM preferences export cancelled."
+#~ msgstr "Exportation des préférences FlatCAM annulée."
+
+#~ msgid "Multigeo. Geometry merging finished"
+#~ msgstr "Multigeo. Fusion de la géométrie terminée"
+
+#~ msgid "Units conversion cancelled."
+#~ msgstr "La conversion des unités a été annulée."
+
+#~ msgid "Open Gerber cancelled."
+#~ msgstr "Ouvert Gerber annulé."
+
+#~ msgid " Open Excellon cancelled."
+#~ msgstr " Ouvert Excellon annulé."
+
+#~ msgid "Open G-Code cancelled."
+#~ msgstr "Ouvert G-code annulé."
+
+#~ msgid "Open Project cancelled."
+#~ msgstr "Projet ouvert annulé."
+
+#~ msgid "Open HPGL2 file cancelled."
+#~ msgstr "Ouvrir HPGL2annulé."
+
+#~ msgid "Open Config cancelled."
+#~ msgstr "Configuration ouverte annulée."
+
+#~ msgid " Export SVG cancelled."
+#~ msgstr " Export SVG annulé."
+
+#~ msgid "Export PNG cancelled."
+#~ msgstr "Exportation PNG annulée."
+
+#~ msgid "No object selected. Please select an Gerber object to export."
+#~ msgstr ""
+#~ "Aucun objet sélectionné. Veuillez sélectionner un objet Gerber à exporter."
+
+#~ msgid "Save Gerber source file cancelled."
+#~ msgstr "Enregistrer le fichier source Gerber annulé."
+
+#~ msgid "No object selected. Please select an Script object to export."
+#~ msgstr ""
+#~ "Aucun objet sélectionné. Veuillez sélectionner un objet de script à "
+#~ "exporter."
+
+#~ msgid "Save Script source file cancelled."
+#~ msgstr "Enregistrer le fichier source du script annulé."
+
+#~ msgid "No object selected. Please select an Document object to export."
+#~ msgstr ""
+#~ "Aucun objet sélectionné. Veuillez sélectionner un objet Document à "
+#~ "exporter."
+
+#~ msgid "Save Document source file cancelled."
+#~ msgstr "Enregistrer le fichier source du document annulé."
+
+#~ msgid "No object selected. Please select an Excellon object to export."
+#~ msgstr ""
+#~ "Aucun objet sélectionné. Veuillez sélectionner un objet Excellon à "
+#~ "exporter."
+
+#~ msgid "Saving Excellon source file cancelled."
+#~ msgstr "Enregistrement du fichier source Excellon annulé."
+
+#~ msgid "No object selected. Please Select an Excellon object to export."
+#~ msgstr ""
+#~ "Aucun objet sélectionné. Veuillez sélectionner un objet Excellon à "
+#~ "exporter."
+
+#~ msgid "Export Excellon cancelled."
+#~ msgstr "Exporter Excellon annulé."
+
+#~ msgid "No object selected. Please Select an Gerber object to export."
+#~ msgstr ""
+#~ "Aucun objet sélectionné. Veuillez sélectionner un objet Gerber à exporter."
+
+#~ msgid "Export Gerber cancelled."
+#~ msgstr "Export Gerber annulé."
+
+#~ msgid "Export DXF cancelled."
+#~ msgstr "Exportation DXF annulée."
+
+#~ msgid "Open SVG cancelled."
+#~ msgstr "Ouvrir SVG annulé."
+
+#~ msgid "Open DXF cancelled."
+#~ msgstr "Ouvrir DXF annulé."
+
+#~ msgid "Open TCL script cancelled."
+#~ msgstr "Ouvrir le script TCL annulé."
+
+#~ msgid "Run TCL script cancelled."
+#~ msgstr "Exécuter le script TCL annulé."
+
+#~ msgid "Save Project cancelled."
+#~ msgstr "Enregistrer le projet annulé."
+
+#~ msgid "Save Object PDF cancelled."
+#~ msgstr "Enregistrer l'objet PDF annulé."
+
+#~ msgid "Shows list of commands."
+#~ msgstr "Affiche la liste des commandes."
+
+#~ msgid "FlatCAM bookmarks export cancelled."
+#~ msgstr "Exportation des favoris FlatCAM annulée."
+
+#~ msgid "FlatCAM bookmarks import cancelled."
+#~ msgstr "Importation de favoris FlatCAM annulée."
+
+#~ msgid "FlatCAM Tools DB export cancelled."
+#~ msgstr "Exportation de la base de données des outils FlatCAM annulée."
+
+#~ msgid "FlatCAM Tools DB import cancelled."
+#~ msgstr "Importation de la BD des outils FlatCAM annulée."
+
+#~ msgid ""
+#~ "Wrong value format for self.defaults[\"z_pdepth\"] or self."
+#~ "options[\"z_pdepth\"]"
+#~ msgstr ""
+#~ "Format de valeur incorrect pour self.defaults [\"z_pdepth\"] ou self."
+#~ "options [\"z_pdepth\"]"
+
+#~ msgid ""
+#~ "Wrong value format for self.defaults[\"feedrate_probe\"] or self."
+#~ "options[\"feedrate_probe\"]"
+#~ msgstr ""
+#~ "Format de valeur incorrect pour self.defaults [\"feedrate_probe\"] ou "
+#~ "self.options [\"feedrate_probe\"]"
+
+#~ msgid "Starting G-Code..."
+#~ msgstr "Démarrer G-Code ..."
+
+#~ msgid ""
+#~ "Algorithm to paint the polygon:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed."
+#~ msgstr ""
+#~ "Algorithme pour peindre le polygone:
Standard: pas fixe vers "
+#~ "l’intérieur.
Basé sur les semences:vers l’extérieur depuis les "
+#~ "semences."
+
+#~ msgid "Seed-based"
+#~ msgstr "À base de semences"
+
+#~ msgid "Straight lines"
+#~ msgstr "Lignes droites"
+
+#~ msgid "Paint cancelled. No shape selected."
+#~ msgstr "Peinture annulée. Aucune forme sélectionnée."
+
+#~ msgid "Transformation cancelled. No shape selected."
+#~ msgstr "Transformation annulée. Aucune forme sélectionnée."
+
+#~ msgid "Buffer cancelled. No shape selected."
+#~ msgstr "Tampon annulé. Aucune forme sélectionnée."
+
+#~ msgid "Export Code cancelled."
+#~ msgstr "Code d'exportation annulé."
+
+#~ msgid "&Save Project ..."
+#~ msgstr "Sauvegarder le projet ..."
+
+#~ msgid "Save Project C&opy ..."
+#~ msgstr "Enregistrer la copie du projet ..."
+
+#~ msgid "Change the size of the object."
+#~ msgstr "Changer la taille de l'objet."
+
+#~ msgid "Change the position of this object."
+#~ msgstr "Changer la position de cet objet."
+
+#~ msgid "Vector"
+#~ msgstr "Vecteur"
+
+#~ msgid ""
+#~ "Create a CNC Job object\n"
+#~ "for this drill object."
+#~ msgstr ""
+#~ "Créer un objet de travail CNC\n"
+#~ "pour cet objet de forage."
+
+#~ msgid ""
+#~ "Choose what to use for GCode generation:\n"
+#~ "'Drills', 'Slots' or 'Both'.\n"
+#~ "When choosing 'Slots' or 'Both', slots will be\n"
+#~ "converted to a series of drills."
+#~ msgstr ""
+#~ "Choisissez ce qu'il faut utiliser pour la génération de GCode:\n"
+#~ "«Forages», «Fentes» ou «Les deux».\n"
+#~ "Lorsque vous choisissez \"Fentes\" ou \"Les deux\", les slots seront\n"
+#~ "converti en une série d'exercices."
+
+#~ msgid "Generate the CNC Job."
+#~ msgstr "Générez le travail CNC."
+
+#~ msgid "Add Tool from DataBase"
+#~ msgstr "Ajouter un outil à partir de la BD"
+
+#~ msgid "Select a theme for FlatCAM."
+#~ msgstr "Sélectionnez un thème pour FlatCAM."
+
+#~ msgid "Conv."
+#~ msgstr "Conv."
+
+#~ msgid "Diameters of the cutting tools, separated by ','"
+#~ msgstr "Diamètres des outils de coupe, séparés par ','"
+
+#~ msgid "Tools dia"
+#~ msgstr "Outils dia"
+
+#~ msgid "The new tool diameter (cut width) to add in the tool table."
+#~ msgstr ""
+#~ "Le nouveau diamètre d'outil (largeur de coupe) à ajouter dans la table "
+#~ "d'outils."
+
+#~ msgid ""
+#~ "Algorithm for non-copper clearing:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed.
Line-based: Parallel "
+#~ "lines."
+#~ msgstr ""
+#~ "Algorithme pour le clearing sans cuivre:
Standard: "
+#~ "incrémentation fixe.
Basé sur les Semences : Sortant des "
+#~ "semences
Basé sur les Lignes : lignes parallèles."
+
+#~ msgid "Area"
+#~ msgstr "Zone"
+
+#~ msgid "Ref"
+#~ msgstr "Réf"
+
+#~ msgid ""
+#~ "- 'Itself' - the non copper clearing extent\n"
+#~ "is based on the object that is copper cleared.\n"
+#~ " - 'Area Selection' - left mouse click to start selection of the area to "
+#~ "be painted.\n"
+#~ "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
+#~ "areas.\n"
+#~ "- 'Reference Object' - will do non copper clearing within the area\n"
+#~ "specified by another object."
+#~ msgstr ""
+#~ "- \"Lui-même\" - l'étendue du clearing non en cuivre\n"
+#~ "est basé sur l'objet qui est en cuivre effacé.\n"
+#~ "- 'Sélection de zone' - cliquez avec le bouton gauche de la souris pour "
+#~ "lancer la sélection de la zone à peindre.\n"
+#~ "En maintenant une touche de modification enfoncée (CTRL ou SHIFT), vous "
+#~ "pourrez ajouter plusieurs zones.\n"
+#~ "- 'Objet de référence' - effectuera un nettoyage sans cuivre dans la "
+#~ "zone\n"
+#~ "spécifié par un autre objet."
+
+#~ msgid "Sel"
+#~ msgstr "Sél"
+
+#~ msgid "Diameters of nozzle tools, separated by ','"
+#~ msgstr "Diamètres des outils de buse, séparés par ','"
+
+#~ msgid "Reference Gerber"
+#~ msgstr "Référence Gerber"
+
+#~ msgid "Reference Excellon"
+#~ msgstr "Référence Excellon"
+
+#~ msgid "Reference Geometry"
+#~ msgstr "Géométrie de référence"
+
+#~ msgid "Point/Box Reference"
+#~ msgstr "Référence de Point/Box"
+
+#~ msgid ""
+#~ "If 'Point' is selected above it store the coordinates (x, y) through "
+#~ "which\n"
+#~ "the mirroring axis passes.\n"
+#~ "If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
+#~ "Geo).\n"
+#~ "Through the center of this object pass the mirroring axis selected above."
+#~ msgstr ""
+#~ "Si 'Point' est sélectionné ci-dessus, il enregistre les coordonnées (x, "
+#~ "y) par lesquelles\n"
+#~ "l'axe de symétrie passe.\n"
+#~ "Si 'Box' est sélectionné ci-dessus, sélectionnez ici un objet FlatCAM "
+#~ "(Gerber, Exc ou Geo).\n"
+#~ "Au centre de cet objet, passez l’axe en miroir sélectionné ci-dessus."
+
+#~ msgid "Alignment Drill Diameter"
+#~ msgstr "Diamètre du foret d'alignement"
+
+#~ msgid ""
+#~ "'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
+#~ msgstr ""
+#~ "Les coordonnées 'Point' sont manquantes. Utilisation de Origin (0, 0) "
+#~ "comme référence en miroir."
+
+#~ msgid "Export positive film cancelled."
+#~ msgstr "Exporter le film positif annulé."
+
+#~ msgid "Export negative film cancelled."
+#~ msgstr "Exporter le film négatif annulé."
+
+#~ msgid "Move action cancelled."
+#~ msgstr "Action de déplacement annulée."
+
+#~ msgid "Diameter for the new tool."
+#~ msgstr "Diamètre pour le nouvel outil."
+
+#~ msgid "Create Paint Geometry"
+#~ msgstr "Créer une Géométrie de Peinture"
+
+#~ msgid "Paint Tool. Reading parameters."
+#~ msgstr "Outil de Peinture. Lecture des paramètres."
+
+#~ msgid "Paint Tool. Normal painting all task started."
+#~ msgstr "Outil de Peinture. Peinture normale toutes les tâches ont commencé."
+
+#~ msgid "Rest machining painting all task started."
+#~ msgstr "Reste l'usinage en peignant toutes les tâches commencées."
+
+#~ msgid ""
+#~ "Could not do Paint All. Try a different combination of parameters. Or a "
+#~ "different Method of paint"
+#~ msgstr ""
+#~ "Impossible de Tout Peindre. Essayez une combinaison de paramètres "
+#~ "différente. Ou une autre méthode de peinture"
+
+#~ msgid "Rest machining painting area task started."
+#~ msgstr "Reste l'usinage de peinture de la zone de travail a commencé."
+
+#~ msgid "Paint Tool. Rest machining painting area task started."
+#~ msgstr ""
+#~ "Outil de peinture. Reste l'usinage de la peinture de la zone: tâche "
+#~ "commencée."
+
+#~ msgid "Properties Tool was not displayed. No object selected."
+#~ msgstr "L'outil de Propriétés n'était pas affiché. Aucun objet sélectionné."
+
+#~ msgid " Export PNG cancelled."
+#~ msgstr " Export PNG annulé."
+
+#~ msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
+#~ msgstr ""
+#~ "L'ajout de l'outil de buse est annulé. Outil déjà dans la table d'outils."
+
+#~ msgid ""
+#~ "None of the following args: 'ref', 'all' were found or none was set to "
+#~ "1.\n"
+#~ "Copper clearing failed."
+#~ msgstr ""
+#~ "Aucun des arguments suivants: 'ref', 'all' ont été trouvés ou aucun n'a "
+#~ "été défini sur 1.\n"
+#~ "Le nettoyage du cuivre a échoué."
+
#~ msgid "PostProcessor"
#~ msgstr "Post-processeur"
@@ -16983,9 +18247,6 @@ msgstr ""
#~ msgid "Optimization Time"
#~ msgstr "Temps d'optimisation"
-#~ msgid "Defaults"
-#~ msgstr "Défauts"
-
#~ msgid "Coordinates decimals"
#~ msgstr "Coord décimales"
@@ -17054,9 +18315,6 @@ msgstr ""
#~ msgid "Wk. size"
#~ msgstr "Taille de ET"
-#~ msgid "Plot Line"
-#~ msgstr "Ligne de dessin"
-
#~ msgid "Sel. Fill"
#~ msgstr "Remplissage sél"
@@ -17093,12 +18351,6 @@ msgstr ""
#~ msgid "Project at StartUp"
#~ msgstr "Projet au démarrage"
-#~ msgid "Project AutoHide"
-#~ msgstr "Masquer auto le projet"
-
-#~ msgid "Enable ToolTips"
-#~ msgstr "Activer les info-bulles"
-
#~ msgid "Mouse Cursor"
#~ msgstr "Curseur de la souris"
@@ -17122,9 +18374,6 @@ msgstr ""
#~ msgid "G-code does not have a units code: either G20 or G21"
#~ msgstr "G-code n'a pas de code d'unités: G20 ou G21"
-#~ msgid "No shape selected. Select a shape to explode"
-#~ msgstr "Aucune forme sélectionnée. Sélectionnez une forme à exploser"
-
#, python-brace-format
#~ msgid ""
#~ "[selected] {kind} created/selected: {name}"
@@ -17419,9 +18668,6 @@ msgstr ""
#~ "La valeur de chevauchement doit être comprise entre 0 (inclus) et 1 "
#~ "(exclusif), "
-#~ msgid "Single Polygon"
-#~ msgstr "Polygone unique"
-
#~ msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive)"
#~ msgstr ""
#~ "La valeur de chevauchement doit être comprise entre 0 (inclus) et 1 "
@@ -17430,9 +18676,6 @@ msgstr ""
#~ msgid "Click inside the desired polygon."
#~ msgstr "Cliquez à l'intérieur du polygone souhaité."
-#~ msgid "Painting polygon at location"
-#~ msgstr "Peinture polygone à l'emplacement"
-
#, fuzzy
#~| msgid "{l_save}/Project_{date}"
#~ msgid "{l_save}/FlatCAM_Bookmarks_{date}"
diff --git a/locale/it/LC_MESSAGES/strings.po b/locale/it/LC_MESSAGES/strings.po
index 118af3b2..5a2bdbdf 100644
--- a/locale/it/LC_MESSAGES/strings.po
+++ b/locale/it/LC_MESSAGES/strings.po
@@ -4787,8 +4787,8 @@ msgid "File"
msgstr "File"
#: flatcamGUI/FlatCAMGUI.py:69
-msgid "&New Project ...\tCTRL+N"
-msgstr "&Nuovo progetto ...\tCTRL+N"
+msgid "&New Project ...\tCtrl+N"
+msgstr "&Nuovo progetto ...\tCtrl+N"
#: flatcamGUI/FlatCAMGUI.py:71
msgid "Will create a new, blank project"
@@ -4840,12 +4840,12 @@ msgid "Open &Project ..."
msgstr "Progetto aperto ..."
#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121
-msgid "Open &Gerber ...\tCTRL+G"
-msgstr "Apri Gerber...\tCTRL+G"
+msgid "Open &Gerber ...\tCtrl+G"
+msgstr "Apri Gerber...\tCtrl+G"
#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126
-msgid "Open &Excellon ...\tCTRL+E"
-msgstr "Apri Excellon ...\tCTRL+E"
+msgid "Open &Excellon ...\tCtrl+E"
+msgstr "Apri Excellon ...\tCtrl+E"
#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131
msgid "Open G-&Code ..."
@@ -4984,8 +4984,8 @@ msgid "&Save Project ..."
msgstr "Salva il progetto ..."
#: flatcamGUI/FlatCAMGUI.py:256
-msgid "Save Project &As ...\tCTRL+S"
-msgstr "Salva progetto con nome ...\tCTRL+S"
+msgid "Save Project &As ...\tCtrl+S"
+msgstr "Salva progetto con nome ...\tCtrl+S"
#: flatcamGUI/FlatCAMGUI.py:261
msgid "Save Project C&opy ..."
@@ -5005,7 +5005,7 @@ msgid "Edit Object\tE"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:285
-msgid "Close Editor\tCTRL+S"
+msgid "Close Editor\tCtrl+S"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:294
@@ -5070,7 +5070,7 @@ msgid "Convert Any to Gerber"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:341
-msgid "&Copy\tCTRL+C"
+msgid "&Copy\tCtrl+C"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:346
@@ -5090,11 +5090,11 @@ msgid "Toggle Units\tQ"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:360
-msgid "&Select All\tCTRL+A"
+msgid "&Select All\tCtrl+A"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:365
-msgid "&Preferences\tSHIFT+P"
+msgid "&Preferences\tShift+P"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153
@@ -5102,15 +5102,15 @@ msgid "Options"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:373
-msgid "&Rotate Selection\tSHIFT+(R)"
+msgid "&Rotate Selection\tShift+(R)"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:378
-msgid "&Skew on X axis\tSHIFT+X"
+msgid "&Skew on X axis\tShift+X"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:380
-msgid "S&kew on Y axis\tSHIFT+Y"
+msgid "S&kew on Y axis\tShift+Y"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:385
@@ -5122,11 +5122,11 @@ msgid "Flip on &Y axis\tY"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:392
-msgid "View source\tALT+S"
+msgid "View source\tAlt+S"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:394
-msgid "Tools DataBase\tCTRL+D"
+msgid "Tools DataBase\tCtrl+D"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060
@@ -5134,15 +5134,15 @@ msgid "View"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:403
-msgid "Enable all plots\tALT+1"
+msgid "Enable all plots\tAlt+1"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:405
-msgid "Disable all plots\tALT+2"
+msgid "Disable all plots\tAlt+2"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:407
-msgid "Disable non-selected\tALT+3"
+msgid "Disable non-selected\tAlt+3"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:411
@@ -5162,15 +5162,15 @@ msgid "Redraw All\tF5"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:424
-msgid "Toggle Code Editor\tSHIFT+E"
+msgid "Toggle Code Editor\tShift+E"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:427
-msgid "&Toggle FullScreen\tALT+F10"
+msgid "&Toggle FullScreen\tAlt+F10"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:429
-msgid "&Toggle Plot Area\tCTRL+F10"
+msgid "&Toggle Plot Area\tCtrl+F10"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:431
@@ -5182,15 +5182,15 @@ msgid "&Toggle Grid Snap\tG"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:437
-msgid "&Toggle Grid Lines\tALT+G"
+msgid "&Toggle Grid Lines\tAlt+G"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:439
-msgid "&Toggle Axis\tSHIFT+G"
+msgid "&Toggle Axis\tShift+G"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:441
-msgid "Toggle Workspace\tSHIFT+W"
+msgid "Toggle Workspace\tShift+W"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:446
@@ -5290,7 +5290,7 @@ msgid "Paint Tool\tI"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:543
-msgid "Transform Tool\tALT+R"
+msgid "Transform Tool\tAlt+R"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:547
@@ -5354,7 +5354,7 @@ msgid "Add Region\tN"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:598
-msgid "Poligonize\tALT+N"
+msgid "Poligonize\tAlt+N"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:600
@@ -5374,15 +5374,15 @@ msgid "Scale\tS"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:608
-msgid "Mark Area\tALT+A"
+msgid "Mark Area\tAlt+A"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:610
-msgid "Eraser\tCTRL+E"
+msgid "Eraser\tCtrl+E"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:612
-msgid "Transform\tALT+R"
+msgid "Transform\tAlt+R"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:639
@@ -12253,7 +12253,7 @@ msgid ""
"\n"
"The coordinates set can be obtained:\n"
"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the "
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the "
"field.\n"
"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
"field and click Paste.\n"
diff --git a/locale/pt_BR/LC_MESSAGES/strings.po b/locale/pt_BR/LC_MESSAGES/strings.po
index 9e753cf7..15a1b23f 100644
--- a/locale/pt_BR/LC_MESSAGES/strings.po
+++ b/locale/pt_BR/LC_MESSAGES/strings.po
@@ -5241,8 +5241,8 @@ msgid "File"
msgstr "Arquivo"
#: flatcamGUI/FlatCAMGUI.py:69
-msgid "&New Project ...\tCTRL+N"
-msgstr "&Novo Projeto ...\tCTRL+N"
+msgid "&New Project ...\tCtrl+N"
+msgstr "&Novo Projeto ...\tCtrl+N"
#: flatcamGUI/FlatCAMGUI.py:71
msgid "Will create a new, blank project"
@@ -5294,12 +5294,12 @@ msgid "Open &Project ..."
msgstr "Abrir &Projeto ..."
#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121
-msgid "Open &Gerber ...\tCTRL+G"
-msgstr "Abrir &Gerber ...\tCTRL+G"
+msgid "Open &Gerber ...\tCtrl+G"
+msgstr "Abrir &Gerber ...\tCtrl+G"
#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126
-msgid "Open &Excellon ...\tCTRL+E"
-msgstr "Abrir &Excellon ...\tCTRL+E"
+msgid "Open &Excellon ...\tCtrl+E"
+msgstr "Abrir &Excellon ...\tCtrl+E"
#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131
msgid "Open G-&Code ..."
@@ -5450,8 +5450,8 @@ msgid "&Save Project ..."
msgstr "&Salvar Projeto ..."
#: flatcamGUI/FlatCAMGUI.py:256
-msgid "Save Project &As ...\tCTRL+S"
-msgstr "S&alvar Projeto Como ...\tCTRL+S"
+msgid "Save Project &As ...\tCtrl+S"
+msgstr "S&alvar Projeto Como ...\tCtrl+S"
#: flatcamGUI/FlatCAMGUI.py:261
msgid "Save Project C&opy ..."
@@ -5471,8 +5471,8 @@ msgid "Edit Object\tE"
msgstr "Editar Objeto\tE"
#: flatcamGUI/FlatCAMGUI.py:285
-msgid "Close Editor\tCTRL+S"
-msgstr "Fechar Editor\tCTRL+S"
+msgid "Close Editor\tCtrl+S"
+msgstr "Fechar Editor\tCtrl+S"
#: flatcamGUI/FlatCAMGUI.py:294
msgid "Conversion"
@@ -5545,8 +5545,8 @@ msgid "Convert Any to Gerber"
msgstr "Converter Qualquer para Gerber"
#: flatcamGUI/FlatCAMGUI.py:341
-msgid "&Copy\tCTRL+C"
-msgstr "&Copiar\tCTRL+C"
+msgid "&Copy\tCtrl+C"
+msgstr "&Copiar\tCtrl+C"
#: flatcamGUI/FlatCAMGUI.py:346
msgid "&Delete\tDEL"
@@ -5565,28 +5565,28 @@ msgid "Toggle Units\tQ"
msgstr "Alternar Unidades\tQ"
#: flatcamGUI/FlatCAMGUI.py:360
-msgid "&Select All\tCTRL+A"
-msgstr "&Selecionar Tudo\tCTRL+A"
+msgid "&Select All\tCtrl+A"
+msgstr "&Selecionar Tudo\tCtrl+A"
#: flatcamGUI/FlatCAMGUI.py:365
-msgid "&Preferences\tSHIFT+P"
-msgstr "&Preferências\tSHIFT+P"
+msgid "&Preferences\tShift+P"
+msgstr "&Preferências\tShift+P"
#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153
msgid "Options"
msgstr "Opções"
#: flatcamGUI/FlatCAMGUI.py:373
-msgid "&Rotate Selection\tSHIFT+(R)"
-msgstr "Gi&rar Seleção\tSHIFT+(R)"
+msgid "&Rotate Selection\tShift+(R)"
+msgstr "Gi&rar Seleção\tShift+(R)"
#: flatcamGUI/FlatCAMGUI.py:378
-msgid "&Skew on X axis\tSHIFT+X"
-msgstr "Inclinar no eixo X\tSHIFT+X"
+msgid "&Skew on X axis\tShift+X"
+msgstr "Inclinar no eixo X\tShift+X"
#: flatcamGUI/FlatCAMGUI.py:380
-msgid "S&kew on Y axis\tSHIFT+Y"
-msgstr "Inclinar no eixo Y\tSHIFT+Y"
+msgid "S&kew on Y axis\tShift+Y"
+msgstr "Inclinar no eixo Y\tShift+Y"
#: flatcamGUI/FlatCAMGUI.py:385
msgid "Flip on &X axis\tX"
@@ -5597,28 +5597,28 @@ msgid "Flip on &Y axis\tY"
msgstr "Espelhar no eixo &Y\tY"
#: flatcamGUI/FlatCAMGUI.py:392
-msgid "View source\tALT+S"
-msgstr "Ver fonte\tALT+S"
+msgid "View source\tAlt+S"
+msgstr "Ver fonte\tAlt+S"
#: flatcamGUI/FlatCAMGUI.py:394
-msgid "Tools DataBase\tCTRL+D"
-msgstr "Banco de Dados de Ferramentas\tCTRL+D"
+msgid "Tools DataBase\tCtrl+D"
+msgstr "Banco de Dados de Ferramentas\tCtrl+D"
#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060
msgid "View"
msgstr "Ver"
#: flatcamGUI/FlatCAMGUI.py:403
-msgid "Enable all plots\tALT+1"
-msgstr "Habilitar todos os gráficos\tALT+1"
+msgid "Enable all plots\tAlt+1"
+msgstr "Habilitar todos os gráficos\tAlt+1"
#: flatcamGUI/FlatCAMGUI.py:405
-msgid "Disable all plots\tALT+2"
-msgstr "Desabilitar todos os gráficos\tALT+2"
+msgid "Disable all plots\tAlt+2"
+msgstr "Desabilitar todos os gráficos\tAlt+2"
#: flatcamGUI/FlatCAMGUI.py:407
-msgid "Disable non-selected\tALT+3"
-msgstr "Desabilitar os não selecionados\tALT+3"
+msgid "Disable non-selected\tAlt+3"
+msgstr "Desabilitar os não selecionados\tAlt+3"
#: flatcamGUI/FlatCAMGUI.py:411
msgid "&Zoom Fit\tV"
@@ -5637,16 +5637,16 @@ msgid "Redraw All\tF5"
msgstr "Redesenha Todos\tF5"
#: flatcamGUI/FlatCAMGUI.py:424
-msgid "Toggle Code Editor\tSHIFT+E"
-msgstr "Alternar o Editor de Códigos\tSHIFT+E"
+msgid "Toggle Code Editor\tShift+E"
+msgstr "Alternar o Editor de Códigos\tShift+E"
#: flatcamGUI/FlatCAMGUI.py:427
-msgid "&Toggle FullScreen\tALT+F10"
-msgstr "Alternar &Tela Cheia\tALT+F10"
+msgid "&Toggle FullScreen\tAlt+F10"
+msgstr "Alternar &Tela Cheia\tAlt+F10"
#: flatcamGUI/FlatCAMGUI.py:429
-msgid "&Toggle Plot Area\tCTRL+F10"
-msgstr "Al&ternar Área de Gráficos\tCTRL+F10"
+msgid "&Toggle Plot Area\tCtrl+F10"
+msgstr "Al&ternar Área de Gráficos\tCtrl+F10"
#: flatcamGUI/FlatCAMGUI.py:431
msgid "&Toggle Project/Sel/Tool\t`"
@@ -5657,16 +5657,16 @@ msgid "&Toggle Grid Snap\tG"
msgstr "Al&ternar Encaixe na Grade\tG"
#: flatcamGUI/FlatCAMGUI.py:437
-msgid "&Toggle Grid Lines\tALT+G"
-msgstr "Al&ternar Encaixe na Grade\tALT+G"
+msgid "&Toggle Grid Lines\tAlt+G"
+msgstr "Al&ternar Encaixe na Grade\tAlt+G"
#: flatcamGUI/FlatCAMGUI.py:439
-msgid "&Toggle Axis\tSHIFT+G"
-msgstr "Al&ternar Eixo\tSHIFT+G"
+msgid "&Toggle Axis\tShift+G"
+msgstr "Al&ternar Eixo\tShift+G"
#: flatcamGUI/FlatCAMGUI.py:441
-msgid "Toggle Workspace\tSHIFT+W"
-msgstr "Alternar Área de Trabalho\tSHIFT+W"
+msgid "Toggle Workspace\tShift+W"
+msgstr "Alternar Área de Trabalho\tShift+W"
#: flatcamGUI/FlatCAMGUI.py:446
msgid "Objects"
@@ -5765,8 +5765,8 @@ msgid "Paint Tool\tI"
msgstr "Ferramenta de Pintura\tI"
#: flatcamGUI/FlatCAMGUI.py:543
-msgid "Transform Tool\tALT+R"
-msgstr "Ferramenta de Transformação\tALT+R"
+msgid "Transform Tool\tAlt+R"
+msgstr "Ferramenta de Transformação\tAlt+R"
#: flatcamGUI/FlatCAMGUI.py:547
msgid "Toggle Corner Snap\tK"
@@ -5829,8 +5829,8 @@ msgid "Add Region\tN"
msgstr "Adicionar Região\tN"
#: flatcamGUI/FlatCAMGUI.py:598
-msgid "Poligonize\tALT+N"
-msgstr "Poligonizar\tALT+N"
+msgid "Poligonize\tAlt+N"
+msgstr "Poligonizar\tAlt+N"
#: flatcamGUI/FlatCAMGUI.py:600
msgid "Add SemiDisc\tE"
@@ -5849,16 +5849,16 @@ msgid "Scale\tS"
msgstr "Escala\tS"
#: flatcamGUI/FlatCAMGUI.py:608
-msgid "Mark Area\tALT+A"
-msgstr "Marcar Área\tALT+A"
+msgid "Mark Area\tAlt+A"
+msgstr "Marcar Área\tAlt+A"
#: flatcamGUI/FlatCAMGUI.py:610
-msgid "Eraser\tCTRL+E"
-msgstr "Borracha\tCTRL+E"
+msgid "Eraser\tCtrl+E"
+msgstr "Borracha\tCtrl+E"
#: flatcamGUI/FlatCAMGUI.py:612
-msgid "Transform\tALT+R"
-msgstr "Transformar\tALT+R"
+msgid "Transform\tAlt+R"
+msgstr "Transformar\tAlt+R"
#: flatcamGUI/FlatCAMGUI.py:639
msgid "Enable Plot"
@@ -13846,7 +13846,7 @@ msgid ""
"\n"
"The coordinates set can be obtained:\n"
"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the "
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the "
"field.\n"
"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
"field and click Paste.\n"
@@ -17554,8 +17554,8 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ "\n"
#~ " "
-#~ msgid "Run Script ...\tSHIFT+S"
-#~ msgstr "Executar Script ...\tSHIFT+S"
+#~ msgid "Run Script ...\tShift+S"
+#~ msgstr "Executar Script ...\tShift+S"
#~ msgid ""
#~ "FlatCAM
Version {version} {beta} ({date}) - "
@@ -17724,39 +17724,39 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Select All | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Copy Obj | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Open Excellon File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Open Gerber File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " New Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Open Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Project As | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Toggle Plot Area | \n"
#~ "
\n"
#~ " \n"
@@ -17764,39 +17764,39 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Copy Obj_Name | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Toggle Code Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Toggle the axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Open Preferences Window | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Rotate by 90 degree CCW | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Run a Script | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Toggle the workspace | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -17804,59 +17804,59 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Calculators Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " 2-Sided PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Solder Paste Dispensing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Film PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Non-Copper Clearing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Paint Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " PDF Import Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformations Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " View File Source | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Cutout PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Enable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Disable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Disable Non-selected Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Toggle Full Screen | \n"
#~ "
\n"
#~ " \n"
@@ -17864,7 +17864,7 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+ALT+X"
+#~ " | Ctrl+Alt+X"
#~ "td>\n"
#~ " | Abort current task (gracefully) | \n"
#~ "
\n"
@@ -18016,39 +18016,39 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Seleciona Todos | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Copiar Objeto | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Abrir Arquivo Excellon | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Abrir Arquivo Gerber | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " Novo Projeto | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Ferramenta de Medição | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Abrir Projeto | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Salvar Projeto Como | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Alternar Área de Gráfico | \n"
#~ "
\n"
#~ " \n"
@@ -18056,39 +18056,39 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Copiar Obj_Name | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Alterna Editor de Código | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Alterna o Eixo | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Abre Janela de Preferências | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Gira 90 graus antihorário | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Executa um Script | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Alterna o Local de Trabalho | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Inclina no Eixo X | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Inclina no Eixo Y | \n"
#~ "
\n"
#~ " \n"
@@ -18096,60 +18096,60 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Calculadoras | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " Ferramenta PCB 2-Faces | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Ferramenta Pasta de Solda | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Ferramenta Filme PCB | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Ferramenta Retirar Cobre (NCC) | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Ferramenta Pintura de Área | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " Ferramenta Importar PDF | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Ferramenta Transformações | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " Ver Arquivo Fonte | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Ferramenta Recorte PCB | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Habilita todos os Gráficos | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Desabilita todos os Gráficos | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Desabilita todos os Gráficos não "
#~ "selecionados | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Alterna Tela Cheia | \n"
#~ "
\n"
#~ " \n"
@@ -18283,11 +18283,11 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18295,15 +18295,15 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18311,15 +18311,15 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18411,7 +18411,7 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18499,11 +18499,11 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " Abort and return to Select | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Eraser Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18511,15 +18511,15 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Mark Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Poligonize Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformation Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18620,11 +18620,11 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Inclina a forma no eixo X | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Inclina a forma no eixo Y | \n"
#~ "
\n"
#~ " \n"
@@ -18632,16 +18632,16 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Ferramenta Editor de Transformação"
#~ "td>\n"
#~ " |
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Desloca a forma no eixo X | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Desloca a forma no eixo Y | \n"
#~ "
\n"
#~ " \n"
@@ -18649,15 +18649,15 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Ferramenta de Medição | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Salvar Objeto e Sair do Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Ferramenta de Corte de Polígono | \n"
#~ "
\n"
#~ " \n"
@@ -18754,7 +18754,7 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | Abortar e retornar para a Seleção | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Salvar Objeto e Sair do Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18843,11 +18843,11 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " Abortar e retornar para a Seleção | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Ferramenta Apagador | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Salvar Objeto e Sair do Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18855,15 +18855,15 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente."
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Ferramenta Marcar Área | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Ferramenta Poligonizar | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Ferramenta Transformação | \n"
#~ "
\n"
#~ " \n"
diff --git a/locale/ro/LC_MESSAGES/strings.mo b/locale/ro/LC_MESSAGES/strings.mo
index ed72fc10..23055b92 100644
Binary files a/locale/ro/LC_MESSAGES/strings.mo and b/locale/ro/LC_MESSAGES/strings.mo differ
diff --git a/locale/ro/LC_MESSAGES/strings.po b/locale/ro/LC_MESSAGES/strings.po
index 214423d2..f22d6f98 100644
--- a/locale/ro/LC_MESSAGES/strings.po
+++ b/locale/ro/LC_MESSAGES/strings.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2019-12-28 20:34+0200\n"
-"PO-Revision-Date: 2019-12-28 20:38+0200\n"
+"POT-Creation-Date: 2020-04-25 14:59+0300\n"
+"PO-Revision-Date: 2020-04-25 14:59+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ro\n"
@@ -23,15 +23,43 @@ msgstr ""
"X-Poedit-SearchPathExcluded-1: tests\n"
"X-Poedit-SearchPathExcluded-2: doc\n"
-#: FlatCAMApp.py:1040
+#: FlatCAMApp.py:789 FlatCAMApp.py:821 FlatCAMCommon.py:1925
+#: FlatCAMCommon.py:2040 flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:570
+#: flatcamEditors/FlatCAMGeoEditor.py:5152 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolNCC.py:2396 flatcamTools/ToolNCC.py:2424
+#: flatcamTools/ToolNCC.py:2694 flatcamTools/ToolNCC.py:2726
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1843
+#: tclCommands/TclCommandCopperClear.py:128
+#: tclCommands/TclCommandCopperClear.py:136 tclCommands/TclCommandPaint.py:127
+msgid "Seed"
+msgstr "Punct_arbitrar"
+
+#: FlatCAMApp.py:795 flatcamGUI/PreferencesUI.py:5588
+#: flatcamGUI/PreferencesUI.py:7695 flatcamTools/ToolCopperThieving.py:126
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1301
+#: flatcamTools/ToolNCC.py:1629 flatcamTools/ToolNCC.py:1914
+#: flatcamTools/ToolNCC.py:1978 flatcamTools/ToolNCC.py:2962
+#: flatcamTools/ToolNCC.py:2971 tclCommands/TclCommandCopperClear.py:190
+msgid "Itself"
+msgstr "Însuşi"
+
+#: FlatCAMApp.py:822 flatcamGUI/PreferencesUI.py:6119
+#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:1422
+#: tclCommands/TclCommandPaint.py:162
+msgid "All Polygons"
+msgstr "Toate Poligoanele"
+
+#: FlatCAMApp.py:1129
msgid "FlatCAM is initializing ..."
msgstr "FlatCAM se inițializează ..."
-#: FlatCAMApp.py:1669
+#: FlatCAMApp.py:1814
msgid "Could not find the Language files. The App strings are missing."
msgstr "Nu am gasit fişierele cu traduceri. Mesajele aplicaţiei lipsesc."
-#: FlatCAMApp.py:1763
+#: FlatCAMApp.py:1908
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started."
@@ -39,7 +67,7 @@ msgstr ""
"FlatCAM se inițializează ...\n"
"Initializarea spațiului de afisare a inceput."
-#: FlatCAMApp.py:1781
+#: FlatCAMApp.py:1928
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started.\n"
@@ -49,69 +77,67 @@ msgstr ""
"Initializarea spațiului de afisare a inceput.\n"
"Initializarea spatiului de afisare s-a terminat in"
-#: FlatCAMApp.py:2401
-msgid ""
-"Type >help< to get started\n"
-"\n"
-msgstr ""
-"Tastați >help< pentru a începe\n"
-"\n"
+#: FlatCAMApp.py:2570 flatcamGUI/GUIElements.py:2592
+msgid "Type >help< to get started"
+msgstr "Tastați >help< pentru a începe"
-#: FlatCAMApp.py:2627 FlatCAMApp.py:9020
+#: FlatCAMApp.py:2822 FlatCAMApp.py:9400
msgid "New Project - Not saved"
msgstr "Proiect nou - Nu a fost salvat"
-#: FlatCAMApp.py:2702 FlatCAMApp.py:9088 FlatCAMApp.py:9125 FlatCAMApp.py:9166
-#: FlatCAMApp.py:9237 FlatCAMApp.py:9991 FlatCAMApp.py:11174
-#: FlatCAMApp.py:11233
-msgid ""
-"Canvas initialization started.\n"
-"Canvas initialization finished in"
-msgstr ""
-"FlatCAM se inițializează ...\n"
-"Initializarea spațiului de afisare s-a terminat in"
-
-#: FlatCAMApp.py:2704
-msgid "Executing Tcl Script ..."
-msgstr "Rulează Tcl Script..."
-
-#: FlatCAMApp.py:2719
+#: FlatCAMApp.py:2918
msgid ""
"Found old default preferences files. Please reboot the application to update."
msgstr ""
"Au fost găsite fișiere de preferințe implicite vechi. Vă rugăm să reporniți "
"aplicația pentru a le actualiza."
-#: FlatCAMApp.py:2763 ObjectCollection.py:90 flatcamTools/ToolImage.py:248
+#: FlatCAMApp.py:2969 FlatCAMApp.py:3889 FlatCAMApp.py:3938 FlatCAMApp.py:3993
+#: FlatCAMApp.py:4068 FlatCAMApp.py:6117 FlatCAMApp.py:9484 FlatCAMApp.py:9521
+#: FlatCAMApp.py:9563 FlatCAMApp.py:9592 FlatCAMApp.py:9632 FlatCAMApp.py:9657
+#: FlatCAMApp.py:9709 FlatCAMApp.py:9745 FlatCAMApp.py:9791 FlatCAMApp.py:9832
+#: FlatCAMApp.py:9873 FlatCAMApp.py:9914 FlatCAMApp.py:9955 FlatCAMApp.py:9999
+#: FlatCAMApp.py:10055 FlatCAMApp.py:10087 FlatCAMApp.py:10119
+#: FlatCAMApp.py:10356 FlatCAMApp.py:10400 FlatCAMApp.py:10477
+#: FlatCAMApp.py:10532 FlatCAMCommon.py:371 FlatCAMCommon.py:413
+#: FlatCAMCommon.py:1107 FlatCAMCommon.py:1153 FlatCAMCommon.py:2537
+#: FlatCAMCommon.py:2583 ObjectCollection.py:122
+#: flatcamEditors/FlatCAMExcEditor.py:1024
+#: flatcamEditors/FlatCAMExcEditor.py:1092
+#: flatcamEditors/FlatCAMTextEditor.py:223 flatcamGUI/FlatCAMGUI.py:3389
+#: flatcamGUI/FlatCAMGUI.py:3601 flatcamGUI/FlatCAMGUI.py:3812
+#: flatcamTools/ToolFilm.py:754 flatcamTools/ToolFilm.py:900
+#: flatcamTools/ToolImage.py:247 flatcamTools/ToolMove.py:270
#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324
-msgid "Open cancelled."
-msgstr "Deschidere anulată."
+#: flatcamTools/ToolQRCode.py:791 flatcamTools/ToolQRCode.py:838
+msgid "Cancelled."
+msgstr "Anulat."
-#: FlatCAMApp.py:2779
+#: FlatCAMApp.py:2985
msgid "Open Config file failed."
msgstr "Deschiderea fişierului de configurare a eşuat."
-#: FlatCAMApp.py:2794
+#: FlatCAMApp.py:3000
msgid "Open Script file failed."
msgstr "Deschiderea fişierului Script eşuat."
-#: FlatCAMApp.py:2820
+#: FlatCAMApp.py:3026
msgid "Open Excellon file failed."
msgstr "Deschiderea fişierului Excellon a eşuat."
-#: FlatCAMApp.py:2833
+#: FlatCAMApp.py:3039
msgid "Open GCode file failed."
msgstr "Deschiderea fişierului GCode a eşuat."
-#: FlatCAMApp.py:2846
+#: FlatCAMApp.py:3052
msgid "Open Gerber file failed."
msgstr "Deschiderea fişierului Gerber a eşuat."
-#: FlatCAMApp.py:3201
+#: FlatCAMApp.py:3429
msgid "Select a Geometry, Gerber or Excellon Object to edit."
msgstr "Selectează un obiect tip Geometrie Gerber sau Excellon pentru editare."
-#: FlatCAMApp.py:3216
+#: FlatCAMApp.py:3444
msgid ""
"Simultaneous editing of tools geometry in a MultiGeo Geometry is not "
"possible.\n"
@@ -121,100 +147,98 @@ msgstr ""
"MultiGeo nu este posibilă.\n"
"Se poate edita numai o singură geometrie de fiecare dată."
-#: FlatCAMApp.py:3271
+#: FlatCAMApp.py:3502
msgid "Editor is activated ..."
msgstr "Editorul este activ ..."
-#: FlatCAMApp.py:3292
+#: FlatCAMApp.py:3523
msgid "Do you want to save the edited object?"
msgstr "Vrei sa salvezi obiectul editat?"
-#: FlatCAMApp.py:3293 flatcamGUI/FlatCAMGUI.py:2165
+#: FlatCAMApp.py:3524 flatcamGUI/FlatCAMGUI.py:2273
msgid "Close Editor"
msgstr "Inchide Editorul"
-#: FlatCAMApp.py:3296 FlatCAMApp.py:4014 FlatCAMApp.py:5067 FlatCAMApp.py:7724
-#: FlatCAMApp.py:7750 FlatCAMApp.py:8927 FlatCAMTranslation.py:108
-#: FlatCAMTranslation.py:193
+#: FlatCAMApp.py:3527 FlatCAMApp.py:5169 FlatCAMApp.py:8030 FlatCAMApp.py:8056
+#: FlatCAMApp.py:9305 FlatCAMTranslation.py:108 FlatCAMTranslation.py:199
+#: flatcamGUI/FlatCAMGUI.py:2479
msgid "Yes"
msgstr "Da"
-#: FlatCAMApp.py:3297 FlatCAMApp.py:4015 FlatCAMApp.py:5068 FlatCAMApp.py:7725
-#: FlatCAMApp.py:7751 FlatCAMApp.py:8928 FlatCAMTranslation.py:109
-#: FlatCAMTranslation.py:194 flatcamGUI/PreferencesUI.py:5139
-#: flatcamGUI/PreferencesUI.py:5554 flatcamTools/ToolNonCopperClear.py:189
-#: flatcamTools/ToolPaint.py:161
+#: FlatCAMApp.py:3528 FlatCAMApp.py:5170 FlatCAMApp.py:8031 FlatCAMApp.py:8057
+#: FlatCAMApp.py:9306 FlatCAMTranslation.py:109 FlatCAMTranslation.py:200
+#: flatcamGUI/FlatCAMGUI.py:2480 flatcamGUI/PreferencesUI.py:5443
+#: flatcamGUI/PreferencesUI.py:5989 flatcamTools/ToolNCC.py:182
+#: flatcamTools/ToolPaint.py:166
msgid "No"
msgstr "Nu"
-#: FlatCAMApp.py:3298 FlatCAMApp.py:5069 FlatCAMApp.py:5925 FlatCAMApp.py:7006
-#: FlatCAMApp.py:8929 FlatCAMCommon.py:571 flatcamGUI/FlatCAMGUI.py:1260
+#: FlatCAMApp.py:3529 FlatCAMApp.py:5171 FlatCAMApp.py:6055 FlatCAMApp.py:7006
+#: FlatCAMApp.py:9307 FlatCAMCommon.py:572 FlatCAMCommon.py:2127
+#: flatcamGUI/FlatCAMGUI.py:1332
msgid "Cancel"
msgstr "Anuleaza"
-#: FlatCAMApp.py:3326
+#: FlatCAMApp.py:3561
msgid "Object empty after edit."
msgstr "Obiectul nu are date dupa editare."
-#: FlatCAMApp.py:3375 FlatCAMApp.py:3395 FlatCAMApp.py:3410
+#: FlatCAMApp.py:3565 FlatCAMApp.py:3586 FlatCAMApp.py:3608
+msgid "Editor exited. Editor content saved."
+msgstr "Ieşire din Editor. Continuțul editorului este salvat."
+
+#: FlatCAMApp.py:3612 FlatCAMApp.py:3635 FlatCAMApp.py:3653
msgid "Select a Gerber, Geometry or Excellon Object to update."
msgstr ""
"Selectează un obiect tip Gerber, Geometrie sau Excellon pentru actualizare."
-#: FlatCAMApp.py:3379
+#: FlatCAMApp.py:3615
msgid "is updated, returning to App..."
msgstr "este actualizat, întoarcere la aplicaţie..."
-#: FlatCAMApp.py:3774 FlatCAMApp.py:3888 FlatCAMApp.py:4929
+#: FlatCAMApp.py:3622
+msgid "Editor exited. Editor content was not saved."
+msgstr "Ieşire din Editor. Continuțul editorului nu a fost salvat."
+
+#: FlatCAMApp.py:3815 FlatCAMApp.py:3946 FlatCAMApp.py:5018
msgid "Could not load defaults file."
msgstr "Nu am putut incărca fişierul cu valori default."
-#: FlatCAMApp.py:3786 FlatCAMApp.py:3896 FlatCAMApp.py:4938
+#: FlatCAMApp.py:3827 FlatCAMApp.py:3954 FlatCAMApp.py:5027
msgid "Failed to parse defaults file."
msgstr "Parsarea fişierului cu valori default a eșuat."
-#: FlatCAMApp.py:3831
-msgid "Preferences default restore was cancelled."
-msgstr "Restaurarea preferințelor implicite a fost anulată."
-
-#: FlatCAMApp.py:3839 FlatCAMApp.py:5017
+#: FlatCAMApp.py:3897 FlatCAMApp.py:5119
msgid "Could not load factory defaults file."
msgstr ""
"Fişierul cu valori default de fabrică nu a fost posibil să fie deschis."
-#: FlatCAMApp.py:3847 FlatCAMApp.py:5027
+#: FlatCAMApp.py:3905 FlatCAMApp.py:5129
msgid "Failed to parse factory defaults file."
msgstr "Parsarea fişierului cu valori default de fabrică a eșuat."
-#: FlatCAMApp.py:3855
+#: FlatCAMApp.py:3913
msgid "Preferences default values are restored."
msgstr "Valorile implicite pt preferințe sunt restabilite."
-#: FlatCAMApp.py:3870 FlatCAMApp.py:3874
+#: FlatCAMApp.py:3928 FlatCAMApp.py:3932
msgid "Import FlatCAM Preferences"
msgstr "Importă Preferințele FlatCAM"
-#: FlatCAMApp.py:3880
-msgid "FlatCAM preferences import cancelled."
-msgstr "Importul preferințelor FlatCAM a eșuat."
-
-#: FlatCAMApp.py:3904
+#: FlatCAMApp.py:3962
msgid "Imported Defaults from"
msgstr "Valorile default au fost importate din"
-#: FlatCAMApp.py:3924 FlatCAMApp.py:3929
+#: FlatCAMApp.py:3982 FlatCAMApp.py:3987
msgid "Export FlatCAM Preferences"
msgstr "Exportă Preferințele FlatCAM"
-#: FlatCAMApp.py:3936
-msgid "FlatCAM preferences export cancelled."
-msgstr "Exportul preferințelor FlatCAM este anulat."
-
-#: FlatCAMApp.py:3945 FlatCAMApp.py:10389 FlatCAMApp.py:10437
-#: FlatCAMApp.py:10560 FlatCAMApp.py:10699 FlatCAMCommon.py:378
-#: FlatCAMCommon.py:1114 FlatCAMObj.py:6903
-#: flatcamEditors/FlatCAMTextEditor.py:274 flatcamTools/ToolFilm.py:1019
-#: flatcamTools/ToolFilm.py:1195 flatcamTools/ToolSolderPaste.py:1544
+#: FlatCAMApp.py:4002 FlatCAMApp.py:4076 FlatCAMApp.py:10776
+#: FlatCAMApp.py:10824 FlatCAMApp.py:10950 FlatCAMApp.py:11087
+#: FlatCAMCommon.py:379 FlatCAMCommon.py:1115 FlatCAMCommon.py:2545
+#: FlatCAMObj.py:7484 flatcamEditors/FlatCAMTextEditor.py:276
+#: flatcamTools/ToolFilm.py:1031 flatcamTools/ToolFilm.py:1212
+#: flatcamTools/ToolSolderPaste.py:1533
msgid ""
"Permission denied, saving not possible.\n"
"Most likely another app is holding the file open and not accessible."
@@ -222,48 +246,48 @@ msgstr ""
"Permisiune refuzată, salvarea nu este posibilă.\n"
"Cel mai probabil o altă aplicație ține fișierul deschis și inaccesibil."
-#: FlatCAMApp.py:3957
+#: FlatCAMApp.py:4014
msgid "Could not load preferences file."
msgstr "Nu am putut incărca fişierul cu valori default."
-#: FlatCAMApp.py:3976 FlatCAMApp.py:4985
+#: FlatCAMApp.py:4033 FlatCAMApp.py:4100 FlatCAMApp.py:5046
msgid "Failed to write defaults to file."
msgstr "Salvarea valorilor default intr-un fişier a eșuat."
-#: FlatCAMApp.py:3981
+#: FlatCAMApp.py:4038
msgid "Exported preferences to"
msgstr "Exportă Preferințele in"
-#: FlatCAMApp.py:3998
-msgid "FlatCAM Preferences Folder opened."
-msgstr "Folderul de preferințe FlatCAM a fost deschis."
+#: FlatCAMApp.py:4058 FlatCAMApp.py:4063
+msgid "Save to file"
+msgstr "Salvat in"
-#: FlatCAMApp.py:4009
-msgid "Are you sure you want to delete the GUI Settings? \n"
-msgstr "Esti sigur că dorești să ștergi setările GUI?\n"
+#: FlatCAMApp.py:4087
+msgid "Could not load the file."
+msgstr "Nu am putut incărca fişierul."
-#: FlatCAMApp.py:4012 flatcamGUI/FlatCAMGUI.py:1230
-msgid "Clear GUI Settings"
-msgstr "Șterge Setările GUI"
+#: FlatCAMApp.py:4103
+msgid "Exported file to"
+msgstr "S-a exportat fişierul in"
-#: FlatCAMApp.py:4109
+#: FlatCAMApp.py:4186
msgid "Failed to open recent files file for writing."
msgstr ""
"Deschiderea fişierului cu >fişiere recente< pentru a fi salvat a eșuat."
-#: FlatCAMApp.py:4120
+#: FlatCAMApp.py:4197
msgid "Failed to open recent projects file for writing."
msgstr ""
"Deschiderea fişierului cu >proiecte recente< pentru a fi salvat a eșuat."
-#: FlatCAMApp.py:4205 FlatCAMApp.py:10900 FlatCAMApp.py:10961
-#: FlatCAMApp.py:11090 FlatCAMObj.py:5050
-#: flatcamEditors/FlatCAMGrbEditor.py:4187 flatcamTools/ToolPcbWizard.py:437
+#: FlatCAMApp.py:4282 FlatCAMApp.py:11283 FlatCAMApp.py:11342
+#: FlatCAMApp.py:11470 FlatCAMApp.py:12196 FlatCAMObj.py:5605
+#: flatcamEditors/FlatCAMGrbEditor.py:4231 flatcamTools/ToolPcbWizard.py:433
msgid "An internal error has occurred. See shell.\n"
msgstr ""
"A apărut o eroare internă. Verifică in TCL Shell pt mai multe detalii.\n"
-#: FlatCAMApp.py:4206
+#: FlatCAMApp.py:4283
#, python-brace-format
msgid ""
"Object ({kind}) failed because: {error} \n"
@@ -272,63 +296,63 @@ msgstr ""
"Obiectul ({kind}) a eșuat din cauza: {error} \n"
"\n"
-#: FlatCAMApp.py:4221
+#: FlatCAMApp.py:4298
msgid "Converting units to "
msgstr "Se convertesc unitătile la "
-#: FlatCAMApp.py:4324
+#: FlatCAMApp.py:4411
msgid "CREATE A NEW FLATCAM TCL SCRIPT"
msgstr "CREAȚI UN SCRIPT FLATCAM TCL NOU"
-#: FlatCAMApp.py:4325
+#: FlatCAMApp.py:4412
msgid "TCL Tutorial is here"
msgstr "Tutorialul TCL este aici"
-#: FlatCAMApp.py:4327
+#: FlatCAMApp.py:4414
msgid "FlatCAM commands list"
msgstr "Lista de comenzi FlatCAM"
-#: FlatCAMApp.py:4378 FlatCAMApp.py:4384 FlatCAMApp.py:4390 FlatCAMApp.py:4396
-#: FlatCAMApp.py:4402 FlatCAMApp.py:4408
+#: FlatCAMApp.py:4465 FlatCAMApp.py:4471 FlatCAMApp.py:4477 FlatCAMApp.py:4483
+#: FlatCAMApp.py:4489 FlatCAMApp.py:4495
msgid "created/selected"
msgstr "creat / selectat"
-#: FlatCAMApp.py:4423 FlatCAMApp.py:7086 FlatCAMObj.py:271 FlatCAMObj.py:302
-#: FlatCAMObj.py:318 FlatCAMObj.py:398 flatcamTools/ToolCopperThieving.py:1476
-#: flatcamTools/ToolFiducials.py:807 flatcamTools/ToolMove.py:220
-#: flatcamTools/ToolQRCode.py:726
+#: FlatCAMApp.py:4510 FlatCAMApp.py:7092 FlatCAMObj.py:278 FlatCAMObj.py:309
+#: FlatCAMObj.py:325 FlatCAMObj.py:405 flatcamTools/ToolCopperThieving.py:1482
+#: flatcamTools/ToolFiducials.py:809 flatcamTools/ToolMove.py:230
+#: flatcamTools/ToolQRCode.py:728
msgid "Plotting"
msgstr "Se afișeaz"
-#: FlatCAMApp.py:4486 flatcamGUI/FlatCAMGUI.py:491
+#: FlatCAMApp.py:4573 flatcamGUI/FlatCAMGUI.py:530
msgid "About FlatCAM"
msgstr "Despre FlatCAM"
-#: FlatCAMApp.py:4512
+#: FlatCAMApp.py:4599
msgid "2D Computer-Aided Printed Circuit Board Manufacturing"
msgstr "Productie Cablaje Imprimate asistate 2D de PC"
-#: FlatCAMApp.py:4513
+#: FlatCAMApp.py:4600
msgid "Development"
msgstr "Dezvoltare"
-#: FlatCAMApp.py:4514
+#: FlatCAMApp.py:4601
msgid "DOWNLOAD"
msgstr "DOWNLOAD"
-#: FlatCAMApp.py:4515
+#: FlatCAMApp.py:4602
msgid "Issue tracker"
msgstr "Raportare probleme"
-#: FlatCAMApp.py:4519 FlatCAMApp.py:4860
+#: FlatCAMApp.py:4606 FlatCAMApp.py:4948 flatcamGUI/GUIElements.py:2583
msgid "Close"
msgstr "Închide"
-#: FlatCAMApp.py:4534
+#: FlatCAMApp.py:4621
msgid "Licensed under the MIT license"
msgstr "Licențiat sub licența MIT"
-#: FlatCAMApp.py:4543
+#: FlatCAMApp.py:4630
msgid ""
"Permission is hereby granted, free of charge, to any person obtaining a "
"copy\n"
@@ -381,7 +405,7 @@ msgstr ""
"UTILIZAREA SA,\n"
"SAU ORICE TRATĂRI ÎN ACEST SOFTWARE."
-#: FlatCAMApp.py:4565
+#: FlatCAMApp.py:4652
msgid ""
"Some of the icons used are from the following sources:
Icons by
Freepik"
@@ -398,60 +422,60 @@ msgstr ""
"\">Icons8Pictograme create de
oNline Web Fonts"
-#: FlatCAMApp.py:4597
+#: FlatCAMApp.py:4685
msgid "Splash"
msgstr "Splash"
-#: FlatCAMApp.py:4603
+#: FlatCAMApp.py:4691
msgid "Programmers"
msgstr "Programatori"
-#: FlatCAMApp.py:4609
+#: FlatCAMApp.py:4697
msgid "Translators"
msgstr "Traducatori"
-#: FlatCAMApp.py:4615
+#: FlatCAMApp.py:4703
msgid "License"
msgstr "Licență"
-#: FlatCAMApp.py:4621
+#: FlatCAMApp.py:4709
msgid "Attributions"
msgstr "Atribuiri"
-#: FlatCAMApp.py:4644
+#: FlatCAMApp.py:4732
msgid "Programmer"
msgstr "Programator"
-#: FlatCAMApp.py:4645
+#: FlatCAMApp.py:4733
msgid "Status"
msgstr "Statut"
-#: FlatCAMApp.py:4646 FlatCAMApp.py:4724
+#: FlatCAMApp.py:4734 FlatCAMApp.py:4812
msgid "E-mail"
msgstr "E-mail"
-#: FlatCAMApp.py:4654
+#: FlatCAMApp.py:4742
msgid "BETA Maintainer >= 2019"
msgstr "Programator Beta >= 2019"
-#: FlatCAMApp.py:4721
+#: FlatCAMApp.py:4809
msgid "Language"
msgstr "Limba"
-#: FlatCAMApp.py:4722
+#: FlatCAMApp.py:4810
msgid "Translator"
msgstr "Traducător"
-#: FlatCAMApp.py:4723
+#: FlatCAMApp.py:4811
msgid "Corrections"
msgstr "Corecţii"
-#: FlatCAMApp.py:4832 FlatCAMApp.py:4840 FlatCAMApp.py:7769
-#: flatcamGUI/FlatCAMGUI.py:473
+#: FlatCAMApp.py:4920 FlatCAMApp.py:4928 FlatCAMApp.py:8075
+#: flatcamGUI/FlatCAMGUI.py:512
msgid "Bookmarks Manager"
msgstr "Bookmarks Manager"
-#: FlatCAMApp.py:4851
+#: FlatCAMApp.py:4939
msgid ""
"This entry will resolve to another website if:\n"
"\n"
@@ -471,28 +495,28 @@ msgstr ""
"Dacă nu puteți obține informații despre FlatCAM beta\n"
"utilizați linkul canalului YouTube din meniul Ajutor."
-#: FlatCAMApp.py:4858
+#: FlatCAMApp.py:4946
msgid "Alternative website"
msgstr "Site alternativ"
-#: FlatCAMApp.py:4989 FlatCAMApp.py:7733
+#: FlatCAMApp.py:5050 FlatCAMApp.py:8039
msgid "Preferences saved."
msgstr "Preferințele au fost salvate."
-#: FlatCAMApp.py:5043
+#: FlatCAMApp.py:5145
msgid "Failed to write factory defaults to file."
msgstr ""
"Salvarea fişierului cu valori default de fabrică intr-un fişier a eșuat."
-#: FlatCAMApp.py:5047
+#: FlatCAMApp.py:5149
msgid "Factory defaults saved."
msgstr "Valori default de fabrică au fost salvate."
-#: FlatCAMApp.py:5057 flatcamGUI/FlatCAMGUI.py:3962
+#: FlatCAMApp.py:5159 flatcamGUI/FlatCAMGUI.py:4178
msgid "Application is saving the project. Please wait ..."
msgstr "Aplicația salvează proiectul. Vă rugăm aşteptați ..."
-#: FlatCAMApp.py:5062 FlatCAMTranslation.py:188
+#: FlatCAMApp.py:5164 FlatCAMTranslation.py:194
msgid ""
"There are files/objects modified in FlatCAM. \n"
"Do you want to Save the project?"
@@ -500,29 +524,29 @@ msgstr ""
"FlatCAM are fişiere/obiecte care au fost modificate. \n"
"Dorești să Salvezi proiectul?"
-#: FlatCAMApp.py:5065 FlatCAMApp.py:8925 FlatCAMTranslation.py:191
+#: FlatCAMApp.py:5167 FlatCAMApp.py:9303 FlatCAMTranslation.py:197
msgid "Save changes"
msgstr "Salvează modificarile"
-#: FlatCAMApp.py:5306
+#: FlatCAMApp.py:5423
msgid "Selected Excellon file extensions registered with FlatCAM."
msgstr "Extensiile de fișiere Excellon selectate înregistrate cu FlatCAM."
-#: FlatCAMApp.py:5328
+#: FlatCAMApp.py:5445
msgid "Selected GCode file extensions registered with FlatCAM."
msgstr "Extensii de fișiere GCode selectate înregistrate cu FlatCAM."
-#: FlatCAMApp.py:5350
+#: FlatCAMApp.py:5467
msgid "Selected Gerber file extensions registered with FlatCAM."
msgstr "Extensii de fișiere Gerber selectate înregistrate cu FlatCAM."
-#: FlatCAMApp.py:5538 FlatCAMApp.py:5595 FlatCAMApp.py:5623
+#: FlatCAMApp.py:5655 FlatCAMApp.py:5714 FlatCAMApp.py:5742
msgid "At least two objects are required for join. Objects currently selected"
msgstr ""
"Cel puțin două obiecte sunt necesare pentru a fi unite. Obiectele selectate "
"în prezent"
-#: FlatCAMApp.py:5547
+#: FlatCAMApp.py:5664
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 "
@@ -539,52 +563,48 @@ msgstr ""
"informatii și rezultatul ar putea să nu fie cel dorit. \n"
"Verifică codul G-Code generat."
-#: FlatCAMApp.py:5559
-msgid "Multigeo. Geometry merging finished"
-msgstr "Multigeo. Fuziunea geometriei s-a terminat"
-
-#: FlatCAMApp.py:5568
+#: FlatCAMApp.py:5676 FlatCAMApp.py:5686
msgid "Geometry merging finished"
msgstr "Fuziunea geometriei s-a terminat"
-#: FlatCAMApp.py:5590
+#: FlatCAMApp.py:5709
msgid "Failed. Excellon joining works only on Excellon objects."
msgstr ""
"Eșuat. Fuzionarea Excellon functionează doar cu obiecte de tip Excellon."
-#: FlatCAMApp.py:5600
+#: FlatCAMApp.py:5719
msgid "Excellon merging finished"
msgstr "Fuziunea Excellon a fost terminată"
-#: FlatCAMApp.py:5618
+#: FlatCAMApp.py:5737
msgid "Failed. Gerber joining works only on Gerber objects."
msgstr "Eșuat. Fuzionarea Gerber functionează doar cu obiecte de tip Gerber ."
-#: FlatCAMApp.py:5628
+#: FlatCAMApp.py:5747
msgid "Gerber merging finished"
msgstr "Fuziunea Gerber a fost terminată"
-#: FlatCAMApp.py:5648 FlatCAMApp.py:5683
+#: FlatCAMApp.py:5767 FlatCAMApp.py:5802
msgid "Failed. Select a Geometry Object and try again."
msgstr "Eșuat. Selectează un obiect Geometrie și încearcă din nou."
-#: FlatCAMApp.py:5652 FlatCAMApp.py:5688
+#: FlatCAMApp.py:5771 FlatCAMApp.py:5807
msgid "Expected a FlatCAMGeometry, got"
msgstr "Se astepta o Geometrie FlatCAM, s-a primit"
-#: FlatCAMApp.py:5665
+#: FlatCAMApp.py:5784
msgid "A Geometry object was converted to MultiGeo type."
msgstr "Un obiect Geometrie a fost convertit la tipul MultiGeo."
-#: FlatCAMApp.py:5703
+#: FlatCAMApp.py:5822
msgid "A Geometry object was converted to SingleGeo type."
msgstr "Un obiect Geometrie a fost convertit la tipul SingleGeo ."
-#: FlatCAMApp.py:5919
+#: FlatCAMApp.py:6049
msgid "Toggle Units"
msgstr "Comută Unitati"
-#: FlatCAMApp.py:5921
+#: FlatCAMApp.py:6051
msgid ""
"Changing the units of the project\n"
"will scale all objects.\n"
@@ -596,29 +616,25 @@ msgstr ""
"\n"
"Doriți să continuați?"
-#: FlatCAMApp.py:5924 FlatCAMApp.py:6929 FlatCAMApp.py:7005 FlatCAMApp.py:9290
-#: FlatCAMApp.py:9304 FlatCAMApp.py:9658 FlatCAMApp.py:9669
+#: FlatCAMApp.py:6054 FlatCAMApp.py:6928 FlatCAMApp.py:7005 FlatCAMApp.py:9676
+#: FlatCAMApp.py:9690 FlatCAMApp.py:10025 FlatCAMApp.py:10035
msgid "Ok"
msgstr "Ok"
-#: FlatCAMApp.py:5973
+#: FlatCAMApp.py:6103
msgid "Converted units to"
msgstr "Unitătile au fost convertite in"
-#: FlatCAMApp.py:5987
-msgid "Units conversion cancelled."
-msgstr "Conversia unitătilor este anulată."
-
-#: FlatCAMApp.py:6613
+#: FlatCAMApp.py:6743
msgid "Detachable Tabs"
msgstr "Taburi detașabile"
-#: FlatCAMApp.py:6828 FlatCAMApp.py:6889 FlatCAMApp.py:7560 FlatCAMApp.py:7622
-#: FlatCAMApp.py:7688
+#: FlatCAMApp.py:6817 FlatCAMApp.py:6861 FlatCAMApp.py:6889 FlatCAMApp.py:7822
+#: FlatCAMApp.py:7890 FlatCAMApp.py:7994
msgid "Preferences"
msgstr "Preferințe"
-#: FlatCAMApp.py:6831
+#: FlatCAMApp.py:6823
msgid "Preferences applied."
msgstr "Preferințele au fost aplicate."
@@ -626,19 +642,19 @@ msgstr "Preferințele au fost aplicate."
msgid "Preferences closed without saving."
msgstr "Tab-ul Preferințe a fost închis fără a salva."
-#: FlatCAMApp.py:6917 flatcamTools/ToolNonCopperClear.py:591
-#: flatcamTools/ToolNonCopperClear.py:987 flatcamTools/ToolPaint.py:502
-#: flatcamTools/ToolSolderPaste.py:562 flatcamTools/ToolSolderPaste.py:892
+#: FlatCAMApp.py:6917 flatcamTools/ToolNCC.py:932 flatcamTools/ToolNCC.py:1426
+#: flatcamTools/ToolPaint.py:858 flatcamTools/ToolSolderPaste.py:568
+#: flatcamTools/ToolSolderPaste.py:893
msgid "Please enter a tool diameter with non-zero value, in Float format."
msgstr ""
"Introduceti un diametru al uneltei valid: valoare ne-nula in format Real."
-#: FlatCAMApp.py:6922 flatcamTools/ToolNonCopperClear.py:595
-#: flatcamTools/ToolPaint.py:506 flatcamTools/ToolSolderPaste.py:566
+#: FlatCAMApp.py:6921 flatcamTools/ToolNCC.py:936 flatcamTools/ToolPaint.py:862
+#: flatcamTools/ToolSolderPaste.py:572
msgid "Adding Tool cancelled"
msgstr "Adăugarea unei unelte anulată"
-#: FlatCAMApp.py:6925
+#: FlatCAMApp.py:6924
msgid ""
"Adding Tool works only when Advanced is checked.\n"
"Go to Preferences -> General - Show Advanced Options."
@@ -658,102 +674,144 @@ msgstr ""
"Sigur doriți să ștergeți definitiv\n"
"obiectele selectate?"
-#: FlatCAMApp.py:7034
+#: FlatCAMApp.py:7041
msgid "Object(s) deleted"
msgstr "Obiect(ele) șters(e)"
-#: FlatCAMApp.py:7038 flatcamTools/ToolDblSided.py:713
+#: FlatCAMApp.py:7045 FlatCAMApp.py:7200 flatcamTools/ToolDblSided.py:819
msgid "Failed. No object(s) selected..."
msgstr "Eșuat. Nici-un obiect nu este selectat."
-#: FlatCAMApp.py:7040
+#: FlatCAMApp.py:7047
msgid "Save the work in Editor and try again ..."
msgstr "Salvează continutul din Editor și încearcă din nou."
-#: FlatCAMApp.py:7070
+#: FlatCAMApp.py:7076
msgid "Object deleted"
msgstr "Obiectul este șters"
-#: FlatCAMApp.py:7097
+#: FlatCAMApp.py:7103
msgid "Click to set the origin ..."
msgstr "Click pentru a seta originea..."
-#: FlatCAMApp.py:7119
+#: FlatCAMApp.py:7125
msgid "Setting Origin..."
msgstr "Setează Originea..."
-#: FlatCAMApp.py:7131
+#: FlatCAMApp.py:7138 FlatCAMApp.py:7240
msgid "Origin set"
msgstr "Originea a fost setată"
-#: FlatCAMApp.py:7138
+#: FlatCAMApp.py:7155
msgid "Origin coordinates specified but incomplete."
msgstr "Coordonate pentru origine specificate, dar incomplete."
-#: FlatCAMApp.py:7197
+#: FlatCAMApp.py:7196
+msgid "Moving to Origin..."
+msgstr "Deplasare către Origine..."
+
+#: FlatCAMApp.py:7277
msgid "Jump to ..."
msgstr "Sari la ..."
-#: FlatCAMApp.py:7198
+#: FlatCAMApp.py:7278
msgid "Enter the coordinates in format X,Y:"
msgstr "Introduceți coordonatele in format X,Y:"
-#: FlatCAMApp.py:7208
+#: FlatCAMApp.py:7288
msgid "Wrong coordinates. Enter coordinates in format: X,Y"
msgstr "Coordonate gresite. Introduceți coordonatele in format X,Y"
-#: FlatCAMApp.py:7288 flatcamEditors/FlatCAMExcEditor.py:3599
-#: flatcamEditors/FlatCAMExcEditor.py:3607
-#: flatcamEditors/FlatCAMGeoEditor.py:4036
-#: flatcamEditors/FlatCAMGeoEditor.py:4051
-#: flatcamEditors/FlatCAMGrbEditor.py:1086
-#: flatcamEditors/FlatCAMGrbEditor.py:1203
-#: flatcamEditors/FlatCAMGrbEditor.py:1489
-#: flatcamEditors/FlatCAMGrbEditor.py:1758
-#: flatcamEditors/FlatCAMGrbEditor.py:4445
-#: flatcamEditors/FlatCAMGrbEditor.py:4460 flatcamGUI/FlatCAMGUI.py:3145
-#: flatcamGUI/FlatCAMGUI.py:3157
+#: FlatCAMApp.py:7366 FlatCAMApp.py:7515
+#: flatcamEditors/FlatCAMExcEditor.py:3622
+#: flatcamEditors/FlatCAMExcEditor.py:3630
+#: flatcamEditors/FlatCAMGeoEditor.py:4349
+#: flatcamEditors/FlatCAMGeoEditor.py:4363
+#: flatcamEditors/FlatCAMGrbEditor.py:1085
+#: flatcamEditors/FlatCAMGrbEditor.py:1202
+#: flatcamEditors/FlatCAMGrbEditor.py:1488
+#: flatcamEditors/FlatCAMGrbEditor.py:1757
+#: flatcamEditors/FlatCAMGrbEditor.py:4489
+#: flatcamEditors/FlatCAMGrbEditor.py:4504 flatcamGUI/FlatCAMGUI.py:3370
+#: flatcamGUI/FlatCAMGUI.py:3382 flatcamTools/ToolAlignObjects.py:393
+#: flatcamTools/ToolAlignObjects.py:415
msgid "Done."
msgstr "Executat."
-#: FlatCAMApp.py:7440 FlatCAMApp.py:7511
+#: FlatCAMApp.py:7381 FlatCAMApp.py:9672 FlatCAMApp.py:9768 FlatCAMApp.py:9810
+#: FlatCAMApp.py:9851 FlatCAMApp.py:9892 FlatCAMApp.py:9933 FlatCAMApp.py:9977
+#: FlatCAMApp.py:10021 FlatCAMApp.py:10510 FlatCAMApp.py:10514
+#: flatcamTools/ToolProperties.py:116
+msgid "No object selected."
+msgstr "Nici-un obiect nu este selectat."
+
+#: FlatCAMApp.py:7400
+msgid "Bottom-Left"
+msgstr "Stânga jos"
+
+#: FlatCAMApp.py:7401 flatcamGUI/PreferencesUI.py:8111
+#: flatcamTools/ToolCalibration.py:159
+msgid "Top-Left"
+msgstr "Stânga-sus"
+
+#: FlatCAMApp.py:7402 flatcamGUI/PreferencesUI.py:8112
+#: flatcamTools/ToolCalibration.py:160
+msgid "Bottom-Right"
+msgstr "Dreapta-jos"
+
+#: FlatCAMApp.py:7403
+msgid "Top-Right"
+msgstr "Dreapta-sus"
+
+#: FlatCAMApp.py:7404 flatcamGUI/ObjectUI.py:2624
+msgid "Center"
+msgstr "Centru"
+
+#: FlatCAMApp.py:7424
+msgid "Locate ..."
+msgstr "Localizează ..."
+
+#: FlatCAMApp.py:7685 FlatCAMApp.py:7762
msgid "No object is selected. Select an object and try again."
msgstr ""
"Nici-un obiect nu este selectat. Selectează un obiect și incearcă din nou."
-#: FlatCAMApp.py:7531
+#: FlatCAMApp.py:7788
msgid ""
"Aborting. The current task will be gracefully closed as soon as possible..."
msgstr "Intrerup. Taskul curent va fi închis cât mai curând posibil ..."
-#: FlatCAMApp.py:7537
+#: FlatCAMApp.py:7794
msgid "The current task was gracefully closed on user request..."
msgstr "Taskul curent a fost închis la cererea utilizatorului ..."
-#: FlatCAMApp.py:7619
+#: FlatCAMApp.py:7887
msgid "Preferences edited but not saved."
msgstr "Preferințele au fost editate dar nu au fost salvate."
-#: FlatCAMApp.py:7633 FlatCAMApp.py:7645 FlatCAMApp.py:7662 FlatCAMApp.py:7679
-#: FlatCAMApp.py:7739 FlatCAMCommon.py:1181 FlatCAMCommon.py:1356
-#: FlatCAMObj.py:4256
+#: FlatCAMApp.py:7904 FlatCAMApp.py:7932 FlatCAMApp.py:7959 FlatCAMApp.py:7978
+#: FlatCAMApp.py:8045 FlatCAMCommon.py:1182 FlatCAMCommon.py:1357
+#: FlatCAMCommon.py:2612 FlatCAMCommon.py:2820 FlatCAMObj.py:4798
+#: flatcamTools/ToolNCC.py:3958 flatcamTools/ToolNCC.py:4042
+#: flatcamTools/ToolPaint.py:3548 flatcamTools/ToolPaint.py:3633
msgid "Tools Database"
msgstr "Baza de Date Unelte"
-#: FlatCAMApp.py:7659
+#: FlatCAMApp.py:7956
msgid "Tools in Tools Database edited but not saved."
msgstr "Uneltele din Baza de date au fost editate dar nu au fost salvate."
-#: FlatCAMApp.py:7683
+#: FlatCAMApp.py:7982 flatcamTools/ToolNCC.py:3965
+#: flatcamTools/ToolPaint.py:3555
msgid "Tool from DB added in Tool Table."
msgstr "Unealtă din Baza de date adăugată in Tabela de Unelte."
-#: FlatCAMApp.py:7685
+#: FlatCAMApp.py:7984
msgid "Adding tool from DB is not allowed for this object."
msgstr ""
"Adaugarea unei unelte din Baza de date nu este permisa pt acest obiect."
-#: FlatCAMApp.py:7719
+#: FlatCAMApp.py:8025
msgid ""
"One or more values are changed.\n"
"Do you want to save the Preferences?"
@@ -761,11 +819,11 @@ msgstr ""
"Una sau mai multe valori au fost schimbate.\n"
"Dorești să salvezi Preferințele?"
-#: FlatCAMApp.py:7721 flatcamGUI/FlatCAMGUI.py:222
+#: FlatCAMApp.py:8027 flatcamGUI/FlatCAMGUI.py:291
msgid "Save Preferences"
msgstr "Salvează Pref"
-#: FlatCAMApp.py:7745
+#: FlatCAMApp.py:8051
msgid ""
"One or more Tools are edited.\n"
"Do you want to update the Tools Database?"
@@ -773,172 +831,174 @@ msgstr ""
"Unul sau mai multe Unelte sunt editate.\n"
"Doriți să actualizați baza de date a Uneltelor?"
-#: FlatCAMApp.py:7747
+#: FlatCAMApp.py:8053
msgid "Save Tools Database"
msgstr "Salvează baza de date Unelte"
-#: FlatCAMApp.py:7766 FlatCAMApp.py:9897 FlatCAMObj.py:6509
+#: FlatCAMApp.py:8072 FlatCAMApp.py:10259 FlatCAMObj.py:7089
msgid "Code Editor"
msgstr "Editor Cod"
-#: FlatCAMApp.py:7784
+#: FlatCAMApp.py:8094
msgid "No object selected to Flip on Y axis."
msgstr "Nu sete nici-un obiect selectat pentru oglindire pe axa Y."
-#: FlatCAMApp.py:7810
+#: FlatCAMApp.py:8120
msgid "Flip on Y axis done."
msgstr "Oglindire pe axa Y executată."
-#: FlatCAMApp.py:7812 FlatCAMApp.py:7854
-#: flatcamEditors/FlatCAMGrbEditor.py:5858
+#: FlatCAMApp.py:8122 FlatCAMApp.py:8170
+#: flatcamEditors/FlatCAMGrbEditor.py:5893
msgid "Flip action was not executed."
msgstr "Acțiunea de Oglindire nu a fost executată."
-#: FlatCAMApp.py:7826
+#: FlatCAMApp.py:8142
msgid "No object selected to Flip on X axis."
msgstr "Nu este nici-un obiect selectat pentru oglindire pe axa X."
-#: FlatCAMApp.py:7852
+#: FlatCAMApp.py:8168
msgid "Flip on X axis done."
msgstr "Oglindirea pe axa X executată."
-#: FlatCAMApp.py:7868
+#: FlatCAMApp.py:8190
msgid "No object selected to Rotate."
msgstr "Nici-un obiect selectat pentru Rotaţie."
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
+#: FlatCAMApp.py:8193 FlatCAMApp.py:8246 FlatCAMApp.py:8285
msgid "Transform"
msgstr "Transformare"
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
+#: FlatCAMApp.py:8193 FlatCAMApp.py:8246 FlatCAMApp.py:8285
msgid "Enter the Angle value:"
msgstr "Introduceți valoaea Unghiului:"
-#: FlatCAMApp.py:7902
+#: FlatCAMApp.py:8224
msgid "Rotation done."
msgstr "Rotaţie executată."
-#: FlatCAMApp.py:7904
+#: FlatCAMApp.py:8226
msgid "Rotation movement was not executed."
msgstr "Mișcarea de rotație nu a fost executată."
-#: FlatCAMApp.py:7916
+#: FlatCAMApp.py:8244
msgid "No object selected to Skew/Shear on X axis."
msgstr "Nici-un obiect nu este selectat pentru Deformare pe axa X."
-#: FlatCAMApp.py:7938
+#: FlatCAMApp.py:8266
msgid "Skew on X axis done."
msgstr "Deformare pe axa X terminată."
-#: FlatCAMApp.py:7949
+#: FlatCAMApp.py:8283
msgid "No object selected to Skew/Shear on Y axis."
msgstr "Nici-un obiect nu este selectat pentru Deformare pe axa Y."
-#: FlatCAMApp.py:7971
+#: FlatCAMApp.py:8305
msgid "Skew on Y axis done."
msgstr "Deformare pe axa Y terminată."
-#: FlatCAMApp.py:8119 FlatCAMApp.py:8166 flatcamGUI/FlatCAMGUI.py:449
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: FlatCAMApp.py:8458 FlatCAMApp.py:8505 flatcamGUI/FlatCAMGUI.py:488
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Select All"
msgstr "Selectează toate"
-#: FlatCAMApp.py:8123 FlatCAMApp.py:8170 flatcamGUI/FlatCAMGUI.py:451
+#: FlatCAMApp.py:8462 FlatCAMApp.py:8509 flatcamGUI/FlatCAMGUI.py:490
msgid "Deselect All"
msgstr "Deselectează toate"
-#: FlatCAMApp.py:8186
+#: FlatCAMApp.py:8525
msgid "All objects are selected."
msgstr "Totate obiectele sunt selectate."
-#: FlatCAMApp.py:8196
+#: FlatCAMApp.py:8535
msgid "Objects selection is cleared."
msgstr "Nici-un obiect nu este selectat."
-#: FlatCAMApp.py:8216 flatcamGUI/FlatCAMGUI.py:1605
+#: FlatCAMApp.py:8555 flatcamGUI/FlatCAMGUI.py:1706
msgid "Grid On/Off"
msgstr "Grid On/Off"
-#: FlatCAMApp.py:8228 flatcamEditors/FlatCAMGeoEditor.py:940
-#: flatcamEditors/FlatCAMGrbEditor.py:2574
-#: flatcamEditors/FlatCAMGrbEditor.py:5431 flatcamGUI/ObjectUI.py:1304
-#: flatcamTools/ToolDblSided.py:187 flatcamTools/ToolDblSided.py:245
-#: flatcamTools/ToolNonCopperClear.py:286 flatcamTools/ToolPaint.py:188
-#: flatcamTools/ToolSolderPaste.py:121 flatcamTools/ToolSolderPaste.py:591
-#: flatcamTools/ToolTransform.py:310
+#: FlatCAMApp.py:8567 flatcamEditors/FlatCAMGeoEditor.py:940
+#: flatcamEditors/FlatCAMGrbEditor.py:2580
+#: flatcamEditors/FlatCAMGrbEditor.py:5475 flatcamGUI/ObjectUI.py:1593
+#: flatcamTools/ToolDblSided.py:193 flatcamTools/ToolDblSided.py:426
+#: flatcamTools/ToolNCC.py:294 flatcamTools/ToolNCC.py:631
+#: flatcamTools/ToolPaint.py:277 flatcamTools/ToolPaint.py:676
+#: flatcamTools/ToolSolderPaste.py:123 flatcamTools/ToolSolderPaste.py:597
+#: flatcamTools/ToolTransform.py:479
msgid "Add"
msgstr "Adaugă"
-#: FlatCAMApp.py:8230 FlatCAMObj.py:3963
-#: flatcamEditors/FlatCAMGrbEditor.py:2579
-#: flatcamEditors/FlatCAMGrbEditor.py:2727 flatcamGUI/FlatCAMGUI.py:680
-#: flatcamGUI/FlatCAMGUI.py:991 flatcamGUI/FlatCAMGUI.py:2018
-#: flatcamGUI/FlatCAMGUI.py:2161 flatcamGUI/FlatCAMGUI.py:2559
-#: flatcamGUI/ObjectUI.py:1330 flatcamTools/ToolNonCopperClear.py:298
-#: flatcamTools/ToolPaint.py:200 flatcamTools/ToolSolderPaste.py:127
-#: flatcamTools/ToolSolderPaste.py:594
+#: FlatCAMApp.py:8569 FlatCAMObj.py:4416
+#: flatcamEditors/FlatCAMGrbEditor.py:2585
+#: flatcamEditors/FlatCAMGrbEditor.py:2733 flatcamGUI/FlatCAMGUI.py:736
+#: flatcamGUI/FlatCAMGUI.py:1059 flatcamGUI/FlatCAMGUI.py:2126
+#: flatcamGUI/FlatCAMGUI.py:2269 flatcamGUI/FlatCAMGUI.py:2733
+#: flatcamGUI/ObjectUI.py:1621 flatcamTools/ToolNCC.py:316
+#: flatcamTools/ToolNCC.py:637 flatcamTools/ToolPaint.py:299
+#: flatcamTools/ToolPaint.py:682 flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolSolderPaste.py:600
msgid "Delete"
msgstr "Șterge"
-#: FlatCAMApp.py:8243
+#: FlatCAMApp.py:8582
msgid "New Grid ..."
msgstr "Grid nou ..."
-#: FlatCAMApp.py:8244
+#: FlatCAMApp.py:8583
msgid "Enter a Grid Value:"
msgstr "Introduceti of valoare pt Grid:"
-#: FlatCAMApp.py:8252 FlatCAMApp.py:8279
+#: FlatCAMApp.py:8591 FlatCAMApp.py:8618
msgid "Please enter a grid value with non-zero value, in Float format."
msgstr "Introduceți o valoare pentru Grila ne-nula și in format Real."
-#: FlatCAMApp.py:8258
+#: FlatCAMApp.py:8597
msgid "New Grid added"
msgstr "Grid nou"
-#: FlatCAMApp.py:8261
+#: FlatCAMApp.py:8600
msgid "Grid already exists"
msgstr "Grila există deja"
-#: FlatCAMApp.py:8264
+#: FlatCAMApp.py:8603
msgid "Adding New Grid cancelled"
msgstr "Adăugarea unei valori de Grilă a fost anulată"
-#: FlatCAMApp.py:8286
+#: FlatCAMApp.py:8625
msgid " Grid Value does not exist"
msgstr " Valoarea Grilei nu există"
-#: FlatCAMApp.py:8289
+#: FlatCAMApp.py:8628
msgid "Grid Value deleted"
msgstr "Valoarea Grila a fost stearsă"
-#: FlatCAMApp.py:8292
+#: FlatCAMApp.py:8631
msgid "Delete Grid value cancelled"
msgstr "Ștergerea unei valori de Grilă a fost anulată"
-#: FlatCAMApp.py:8298
+#: FlatCAMApp.py:8637
msgid "Key Shortcut List"
msgstr "Lista de shortcut-uri"
-#: FlatCAMApp.py:8332
+#: FlatCAMApp.py:8671
msgid " No object selected to copy it's name"
msgstr " Nici-un obiect nu este selectat pentru i se copia valoarea"
-#: FlatCAMApp.py:8336
+#: FlatCAMApp.py:8675
msgid "Name copied on clipboard ..."
msgstr "Numele a fost copiat pe Clipboard ..."
-#: FlatCAMApp.py:8534 flatcamEditors/FlatCAMGrbEditor.py:4377
+#: FlatCAMApp.py:8888 flatcamEditors/FlatCAMGrbEditor.py:4421
msgid "Coordinates copied to clipboard."
msgstr "Coordonatele au fost copiate in clipboard."
-#: FlatCAMApp.py:8762 FlatCAMApp.py:8768 FlatCAMApp.py:8774 FlatCAMApp.py:8780
-#: ObjectCollection.py:797 ObjectCollection.py:803 ObjectCollection.py:809
-#: ObjectCollection.py:815 ObjectCollection.py:821 ObjectCollection.py:827
+#: FlatCAMApp.py:9127 FlatCAMApp.py:9133 FlatCAMApp.py:9139 FlatCAMApp.py:9145
+#: ObjectCollection.py:911 ObjectCollection.py:917 ObjectCollection.py:923
+#: ObjectCollection.py:929 ObjectCollection.py:935 ObjectCollection.py:941
msgid "selected"
msgstr "selectat"
-#: FlatCAMApp.py:8922
+#: FlatCAMApp.py:9300
msgid ""
"There are files/objects opened in FlatCAM.\n"
"Creating a New project will delete them.\n"
@@ -948,368 +1008,272 @@ msgstr ""
"Crearea unui nou Proiect le va șterge..\n"
"Doriti să Salvati proiectul curentt?"
-#: FlatCAMApp.py:8944
+#: FlatCAMApp.py:9321
msgid "New Project created"
msgstr "Un nou Proiect a fost creat"
-#: FlatCAMApp.py:9079 FlatCAMApp.py:9083 flatcamGUI/FlatCAMGUI.py:767
-#: flatcamGUI/FlatCAMGUI.py:2352
+#: FlatCAMApp.py:9468 FlatCAMApp.py:9472 flatcamGUI/FlatCAMGUI.py:821
+#: flatcamGUI/FlatCAMGUI.py:2504
msgid "Open Gerber"
msgstr "Încarcă Gerber"
-#: FlatCAMApp.py:9090
+#: FlatCAMApp.py:9477 FlatCAMApp.py:9514 FlatCAMApp.py:9556 FlatCAMApp.py:9625
+#: FlatCAMApp.py:10378 FlatCAMApp.py:11553 FlatCAMApp.py:11614
+msgid ""
+"Canvas initialization started.\n"
+"Canvas initialization finished in"
+msgstr ""
+"FlatCAM se inițializează ...\n"
+"Initializarea spațiului de afisare s-a terminat in"
+
+#: FlatCAMApp.py:9479
msgid "Opening Gerber file."
msgstr "Se incarcă un fişier Gerber."
-#: FlatCAMApp.py:9096
-msgid "Open Gerber cancelled."
-msgstr "Incărcarea unui fişier Gerber este anulată."
-
-#: FlatCAMApp.py:9117 FlatCAMApp.py:9121 flatcamGUI/FlatCAMGUI.py:769
-#: flatcamGUI/FlatCAMGUI.py:2354
+#: FlatCAMApp.py:9506 FlatCAMApp.py:9510 flatcamGUI/FlatCAMGUI.py:823
+#: flatcamGUI/FlatCAMGUI.py:2506
msgid "Open Excellon"
msgstr "Încarcă Excellon"
-#: FlatCAMApp.py:9127
+#: FlatCAMApp.py:9516
msgid "Opening Excellon file."
msgstr "Se incarcă un fişier Excellon."
-#: FlatCAMApp.py:9133
-msgid " Open Excellon cancelled."
-msgstr " Incărcarea unui fişier Excellon este anulată."
-
-#: FlatCAMApp.py:9157 FlatCAMApp.py:9161
+#: FlatCAMApp.py:9547 FlatCAMApp.py:9551
msgid "Open G-Code"
msgstr "Încarcă G-Code"
-#: FlatCAMApp.py:9168
+#: FlatCAMApp.py:9558
msgid "Opening G-Code file."
msgstr "Se incarcă un fişier G-Code."
-#: FlatCAMApp.py:9174
-msgid "Open G-Code cancelled."
-msgstr "Incărcarea unui fişier G-Code este anulată."
-
-#: FlatCAMApp.py:9192 FlatCAMApp.py:9195 flatcamGUI/FlatCAMGUI.py:1614
+#: FlatCAMApp.py:9581 FlatCAMApp.py:9584 flatcamGUI/FlatCAMGUI.py:1715
msgid "Open Project"
msgstr "Încarcă Project"
-#: FlatCAMApp.py:9204
-msgid "Open Project cancelled."
-msgstr "Incărcarea unui fişier Proiect FlatCAM este anulată."
-
-#: FlatCAMApp.py:9228 FlatCAMApp.py:9232
+#: FlatCAMApp.py:9616 FlatCAMApp.py:9620
msgid "Open HPGL2"
msgstr "Încarcă HPGL2"
-#: FlatCAMApp.py:9239
+#: FlatCAMApp.py:9627
msgid "Opening HPGL2 file."
msgstr "Se incarcă un fişier HPGL2."
-#: FlatCAMApp.py:9244
-msgid "Open HPGL2 file cancelled."
-msgstr "Incărcarea fișierului HPGL2 a fost anulată."
-
-#: FlatCAMApp.py:9262 FlatCAMApp.py:9265
+#: FlatCAMApp.py:9650 FlatCAMApp.py:9653
msgid "Open Configuration File"
msgstr "Încarcă un fişier de Configurare"
-#: FlatCAMApp.py:9270
-msgid "Open Config cancelled."
-msgstr "Incărcarea unui fişier configurare FlatCAM este anulată."
-
-#: FlatCAMApp.py:9286 FlatCAMApp.py:9654 FlatCAMApp.py:10124
-#: FlatCAMApp.py:10128
-msgid "No object selected."
-msgstr "Nici-un obiect nu este selectat."
-
-#: FlatCAMApp.py:9287 FlatCAMApp.py:9655
+#: FlatCAMApp.py:9673 FlatCAMApp.py:10022
msgid "Please Select a Geometry object to export"
msgstr "Selectează un obiect Geometrie pentru export"
-#: FlatCAMApp.py:9301
+#: FlatCAMApp.py:9687
msgid "Only Geometry, Gerber and CNCJob objects can be used."
msgstr "Doar obiectele Geometrie, Gerber și CNCJob pot fi folosite."
-#: FlatCAMApp.py:9314 FlatCAMApp.py:9318 flatcamTools/ToolQRCode.py:827
-#: flatcamTools/ToolQRCode.py:831
+#: FlatCAMApp.py:9700 FlatCAMApp.py:9704 flatcamTools/ToolQRCode.py:829
+#: flatcamTools/ToolQRCode.py:833
msgid "Export SVG"
msgstr "Exporta SVG"
-#: FlatCAMApp.py:9324 flatcamTools/ToolQRCode.py:836
-msgid " Export SVG cancelled."
-msgstr " Exportul fisierului SVG a fost anulat."
-
-#: FlatCAMApp.py:9345
+#: FlatCAMApp.py:9730
msgid "Data must be a 3D array with last dimension 3 or 4"
msgstr ""
"Datele trebuie să fie organizate intr-o arie 3D cu ultima dimensiune cu "
"valoarea 3 sau 4"
-#: FlatCAMApp.py:9351 FlatCAMApp.py:9355
+#: FlatCAMApp.py:9736 FlatCAMApp.py:9740
msgid "Export PNG Image"
msgstr "Exporta imagine PNG"
-#: FlatCAMApp.py:9360
-msgid "Export PNG cancelled."
-msgstr "Exportul imagine PNG este anulat."
-
-#: FlatCAMApp.py:9384
-msgid "No object selected. Please select an Gerber object to export."
-msgstr "Nici-un obiect selectat. Selectează un obiect Gerber pentru export."
-
-#: FlatCAMApp.py:9390 FlatCAMApp.py:9613
+#: FlatCAMApp.py:9774 FlatCAMApp.py:9982
msgid "Failed. Only Gerber objects can be saved as Gerber files..."
msgstr "Eșuat. Doar obiectele tip Gerber pot fi salvate ca fişiere Gerber..."
-#: FlatCAMApp.py:9402
+#: FlatCAMApp.py:9786
msgid "Save Gerber source file"
msgstr "Salvează codul sursa Gerber ca fişier"
-#: FlatCAMApp.py:9408
-msgid "Save Gerber source file cancelled."
-msgstr "Salvarea codului sursa Gerber este anulată."
-
-#: FlatCAMApp.py:9428
-msgid "No object selected. Please select an Script object to export."
-msgstr "Nici-un obiect selectat. Selectează un obiect Script pentru export."
-
-#: FlatCAMApp.py:9434
+#: FlatCAMApp.py:9815
msgid "Failed. Only Script objects can be saved as TCL Script files..."
msgstr ""
"Eșuat. Doar obiectele tip Script pot fi salvate ca fişiere TCL Script..."
-#: FlatCAMApp.py:9446
+#: FlatCAMApp.py:9827
msgid "Save Script source file"
msgstr "Salvează codul sursa Script ca fişier"
-#: FlatCAMApp.py:9452
-msgid "Save Script source file cancelled."
-msgstr "Salvarea codului sursa Script este anulată."
-
-#: FlatCAMApp.py:9472
-msgid "No object selected. Please select an Document object to export."
-msgstr "Nici-un obiect selectat. Selectează un obiect Document pentru export."
-
-#: FlatCAMApp.py:9478
+#: FlatCAMApp.py:9856
msgid "Failed. Only Document objects can be saved as Document files..."
msgstr ""
"Eșuat. Doar obiectele tip Document pot fi salvate ca fişiere Document ..."
-#: FlatCAMApp.py:9490
+#: FlatCAMApp.py:9868
msgid "Save Document source file"
msgstr "Salvează codul sursa Document ca fişier"
-#: FlatCAMApp.py:9496
-msgid "Save Document source file cancelled."
-msgstr "Salvarea codului sursa Document este anulată."
-
-#: FlatCAMApp.py:9516
-msgid "No object selected. Please select an Excellon object to export."
-msgstr "Nici-un obiect selectat. Selectează un obiect Excellon pentru export."
-
-#: FlatCAMApp.py:9522 FlatCAMApp.py:9566 FlatCAMApp.py:10473
+#: FlatCAMApp.py:9897 FlatCAMApp.py:9938 FlatCAMApp.py:10863
msgid "Failed. Only Excellon objects can be saved as Excellon files..."
msgstr ""
"Eșuat. Doar obiectele tip Excellon pot fi salvate ca fişiere Excellon ..."
-#: FlatCAMApp.py:9530 FlatCAMApp.py:9534
+#: FlatCAMApp.py:9905 FlatCAMApp.py:9909
msgid "Save Excellon source file"
msgstr "Salvează codul sursa Excellon ca fişier"
-#: FlatCAMApp.py:9540
-msgid "Saving Excellon source file cancelled."
-msgstr "Salvarea codului sursa Excellon este anulată."
-
-#: FlatCAMApp.py:9560
-msgid "No object selected. Please Select an Excellon object to export."
-msgstr "Nici-un obiect selectat. Selectează un obiect Excellon pentru export."
-
-#: FlatCAMApp.py:9574 FlatCAMApp.py:9578
+#: FlatCAMApp.py:9946 FlatCAMApp.py:9950
msgid "Export Excellon"
msgstr "Exportă Excellon"
-#: FlatCAMApp.py:9584
-msgid "Export Excellon cancelled."
-msgstr "Exportul fișierului Excellon a fost anulat."
-
-#: FlatCAMApp.py:9607
-msgid "No object selected. Please Select an Gerber object to export."
-msgstr "Nici-un obiect selectat. Selectează un obiect Gerber pentru export."
-
-#: FlatCAMApp.py:9621 FlatCAMApp.py:9625
+#: FlatCAMApp.py:9990 FlatCAMApp.py:9994
msgid "Export Gerber"
msgstr "Exportă Gerber"
-#: FlatCAMApp.py:9631
-msgid "Export Gerber cancelled."
-msgstr "Exportul fișierului Gerber a fost anulat."
-
-#: FlatCAMApp.py:9666
+#: FlatCAMApp.py:10032
msgid "Only Geometry objects can be used."
msgstr "Doar obiecte tip Geometrie pot fi folosite."
-#: FlatCAMApp.py:9680 FlatCAMApp.py:9684
+#: FlatCAMApp.py:10046 FlatCAMApp.py:10050
msgid "Export DXF"
msgstr "Exportă DXF"
-#: FlatCAMApp.py:9691
-msgid "Export DXF cancelled."
-msgstr "Exportul fișierului DXF a fost anulat."
-
-#: FlatCAMApp.py:9711 FlatCAMApp.py:9714
+#: FlatCAMApp.py:10075 FlatCAMApp.py:10078
msgid "Import SVG"
msgstr "Importă SVG"
-#: FlatCAMApp.py:9724
-msgid "Open SVG cancelled."
-msgstr "Incărcarea fișierului SVG a fost anulată."
-
-#: FlatCAMApp.py:9743 FlatCAMApp.py:9747
+#: FlatCAMApp.py:10106 FlatCAMApp.py:10110
msgid "Import DXF"
msgstr "Importa DXF"
-#: FlatCAMApp.py:9757
-msgid "Open DXF cancelled."
-msgstr "Incărcarea fișierului DXF a fost anulată."
-
-#: FlatCAMApp.py:9799
+#: FlatCAMApp.py:10161
msgid "Viewing the source code of the selected object."
msgstr "Vizualizarea codului sursă a obiectului selectat."
-#: FlatCAMApp.py:9800 FlatCAMObj.py:6495 FlatCAMObj.py:7225
+#: FlatCAMApp.py:10162 FlatCAMObj.py:7075 FlatCAMObj.py:7852
msgid "Loading..."
msgstr "Se incarcă..."
-#: FlatCAMApp.py:9806 FlatCAMApp.py:9810
+#: FlatCAMApp.py:10168 FlatCAMApp.py:10172
msgid "Select an Gerber or Excellon file to view it's source file."
msgstr "Selectati un obiect Gerber sau Excellon pentru a-i vedea codul sursa."
-#: FlatCAMApp.py:9824
+#: FlatCAMApp.py:10186
msgid "Source Editor"
msgstr "Editor Cod Sursă"
-#: FlatCAMApp.py:9864 FlatCAMApp.py:9871
+#: FlatCAMApp.py:10226 FlatCAMApp.py:10233
msgid "There is no selected object for which to see it's source file code."
msgstr "Nici-un obiect selectat pentru a-i vedea codul sursa."
-#: FlatCAMApp.py:9883
+#: FlatCAMApp.py:10245
msgid "Failed to load the source code for the selected object"
msgstr "Codul sursă pentru obiectul selectat nu a putut fi încărcat"
-#: FlatCAMApp.py:9925
+#: FlatCAMApp.py:10281
+msgid "Go to Line ..."
+msgstr "Mergi la Linia ..."
+
+#: FlatCAMApp.py:10282
+msgid "Line:"
+msgstr "Linia:"
+
+#: FlatCAMApp.py:10311
msgid "New TCL script file created in Code Editor."
msgstr "Un nou script TCL a fost creat in Editorul de cod."
-#: FlatCAMApp.py:9963 FlatCAMApp.py:9965
+#: FlatCAMApp.py:10350 FlatCAMApp.py:10352
msgid "Open TCL script"
msgstr "Încarcă TCL script"
-#: FlatCAMApp.py:9969
-msgid "Open TCL script cancelled."
-msgstr "Incărcarea fisierului TCL script anulată."
-
-#: FlatCAMApp.py:9993
+#: FlatCAMApp.py:10380
msgid "Executing FlatCAMScript file."
msgstr "Se executa un fisier script FlatCAM."
-#: FlatCAMApp.py:10000 FlatCAMApp.py:10003
+#: FlatCAMApp.py:10388 FlatCAMApp.py:10391
msgid "Run TCL script"
msgstr "Ruleaza TCL script"
-#: FlatCAMApp.py:10013
-msgid "Run TCL script cancelled."
-msgstr "Executarea fisierului Script a fost anulată."
-
-#: FlatCAMApp.py:10029
+#: FlatCAMApp.py:10415
msgid "TCL script file opened in Code Editor and executed."
msgstr "Un fisier script TCL a fost deschis in Editorul de cod si executat."
-#: FlatCAMApp.py:10080 FlatCAMApp.py:10086
+#: FlatCAMApp.py:10466 FlatCAMApp.py:10472
msgid "Save Project As ..."
msgstr "Salvează Proiectul ca ..."
-#: FlatCAMApp.py:10082 flatcamGUI/FlatCAMGUI.py:1051
-#: flatcamGUI/FlatCAMGUI.py:2053
+#: FlatCAMApp.py:10468 flatcamGUI/FlatCAMGUI.py:1119
+#: flatcamGUI/FlatCAMGUI.py:2161
msgid "Project"
msgstr "Proiect"
-#: FlatCAMApp.py:10091
-msgid "Save Project cancelled."
-msgstr "Salvarea Proiect anulată."
-
-#: FlatCAMApp.py:10121
+#: FlatCAMApp.py:10507
msgid "FlatCAM objects print"
msgstr "Tipărirea obiectelor FlatCAM"
-#: FlatCAMApp.py:10134 FlatCAMApp.py:10141
+#: FlatCAMApp.py:10520 FlatCAMApp.py:10527
msgid "Save Object as PDF ..."
msgstr "Salvați obiectul în format PDF ..."
-#: FlatCAMApp.py:10146
-msgid "Save Object PDF cancelled."
-msgstr "Salvarea obiectului PDF anulată."
-
-#: FlatCAMApp.py:10150
+#: FlatCAMApp.py:10536
msgid "Printing PDF ... Please wait."
msgstr "Se tipărește PDF ... Vă rugăm să așteptați."
-#: FlatCAMApp.py:10329
+#: FlatCAMApp.py:10715
msgid "PDF file saved to"
msgstr "Fișierul PDF salvat în"
-#: FlatCAMApp.py:10353
+#: FlatCAMApp.py:10740
msgid "Exporting SVG"
msgstr "SVG in curs de export"
-#: FlatCAMApp.py:10397
+#: FlatCAMApp.py:10783
msgid "SVG file exported to"
msgstr "Fişier SVG exportat in"
-#: FlatCAMApp.py:10422
+#: FlatCAMApp.py:10809
msgid ""
"Save cancelled because source file is empty. Try to export the Gerber file."
msgstr ""
"Salvare anulată deoarece fișierul sursă este gol. Încercați să exportați "
"fișierul Gerber."
-#: FlatCAMApp.py:10568
+#: FlatCAMApp.py:10957
msgid "Excellon file exported to"
msgstr "Fişierul Excellon exportat in"
-#: FlatCAMApp.py:10577
+#: FlatCAMApp.py:10966
msgid "Exporting Excellon"
msgstr "Excellon in curs de export"
-#: FlatCAMApp.py:10583 FlatCAMApp.py:10591
+#: FlatCAMApp.py:10971 FlatCAMApp.py:10978
msgid "Could not export Excellon file."
msgstr "Fişierul Excellon nu a fost posibil să fie exportat."
-#: FlatCAMApp.py:10707
+#: FlatCAMApp.py:11094
msgid "Gerber file exported to"
msgstr "Fişier Gerber exportat in"
-#: FlatCAMApp.py:10715
+#: FlatCAMApp.py:11102
msgid "Exporting Gerber"
msgstr "Gerber in curs de export"
-#: FlatCAMApp.py:10721 FlatCAMApp.py:10729
+#: FlatCAMApp.py:11107 FlatCAMApp.py:11114
msgid "Could not export Gerber file."
msgstr "Fişierul Gerber nu a fost posibil să fie exportat."
-#: FlatCAMApp.py:10763
+#: FlatCAMApp.py:11149
msgid "DXF file exported to"
msgstr "Fişierul DXF exportat in"
-#: FlatCAMApp.py:10769
+#: FlatCAMApp.py:11155
msgid "Exporting DXF"
msgstr "DXF in curs de export"
-#: FlatCAMApp.py:10774 FlatCAMApp.py:10781
+#: FlatCAMApp.py:11160 FlatCAMApp.py:11167
msgid "Could not export DXF file."
msgstr "Fişierul DXF nu a fost posibil să fie exportat."
-#: FlatCAMApp.py:10804 FlatCAMApp.py:10847 flatcamTools/ToolImage.py:278
+#: FlatCAMApp.py:11190 FlatCAMApp.py:11232 flatcamTools/ToolImage.py:277
msgid ""
"Not supported type is picked as parameter. Only Geometry and Gerber are "
"supported"
@@ -1317,80 +1281,80 @@ msgstr ""
"Tipul parametrului nu este compatibil. Doar obiectele tip Geometrie si "
"Gerber sunt acceptate"
-#: FlatCAMApp.py:10814
+#: FlatCAMApp.py:11200
msgid "Importing SVG"
msgstr "SVG in curs de ia fi importat"
-#: FlatCAMApp.py:10825 FlatCAMApp.py:10867 FlatCAMApp.py:10926
-#: FlatCAMApp.py:10993 FlatCAMApp.py:11056 FlatCAMApp.py:11123
-#: FlatCAMApp.py:11161 flatcamTools/ToolImage.py:298
+#: FlatCAMApp.py:11211 FlatCAMApp.py:11251 FlatCAMApp.py:11309
+#: FlatCAMApp.py:11374 FlatCAMApp.py:11438 FlatCAMApp.py:11503
+#: FlatCAMApp.py:11540 flatcamTools/ToolImage.py:297
#: flatcamTools/ToolPDF.py:225
msgid "Opened"
msgstr "Încarcat"
-#: FlatCAMApp.py:10856
+#: FlatCAMApp.py:11241
msgid "Importing DXF"
msgstr "DXF in curs de a fi importat"
-#: FlatCAMApp.py:10892 FlatCAMApp.py:11082
+#: FlatCAMApp.py:11275 FlatCAMApp.py:11462
msgid "Failed to open file"
msgstr "Eşec in incărcarea fişierului"
-#: FlatCAMApp.py:10895 FlatCAMApp.py:11085
+#: FlatCAMApp.py:11278 FlatCAMApp.py:11465
msgid "Failed to parse file"
msgstr "Parsarea fişierului a eșuat"
-#: FlatCAMApp.py:10907
+#: FlatCAMApp.py:11290
msgid "Object is not Gerber file or empty. Aborting object creation."
msgstr ""
"Obiectul nu estetip Gerber sau este gol. Se anulează crearea obiectului."
-#: FlatCAMApp.py:10912
+#: FlatCAMApp.py:11295
msgid "Opening Gerber"
msgstr "Gerber in curs de incărcare"
-#: FlatCAMApp.py:10919
+#: FlatCAMApp.py:11302
msgid " Open Gerber failed. Probable not a Gerber file."
msgstr " Incărcarea Gerber a eșuat. Probabil nu este de tip Gerber."
-#: FlatCAMApp.py:10951 flatcamTools/ToolPcbWizard.py:427
+#: FlatCAMApp.py:11333 flatcamTools/ToolPcbWizard.py:425
msgid "This is not Excellon file."
msgstr "Acesta nu este un fişier Excellon."
-#: FlatCAMApp.py:10955
+#: FlatCAMApp.py:11337
msgid "Cannot open file"
msgstr "Nu se poate incărca fişierul"
-#: FlatCAMApp.py:10975 flatcamTools/ToolPDF.py:275
-#: flatcamTools/ToolPcbWizard.py:451
+#: FlatCAMApp.py:11356 flatcamTools/ToolPDF.py:275
+#: flatcamTools/ToolPcbWizard.py:447
msgid "No geometry found in file"
msgstr "Nici-o informaţie de tip geometrie nu s-a gasit in fişierul"
-#: FlatCAMApp.py:10978
+#: FlatCAMApp.py:11359
msgid "Opening Excellon."
msgstr "Excellon in curs de incărcare."
-#: FlatCAMApp.py:10985
+#: FlatCAMApp.py:11366
msgid "Open Excellon file failed. Probable not an Excellon file."
msgstr "Incărcarea Excellon a eșuat. Probabil nu este de tip Excellon."
-#: FlatCAMApp.py:11016
+#: FlatCAMApp.py:11398
msgid "Reading GCode file"
msgstr "Se citeşte un fişier G-Code"
-#: FlatCAMApp.py:11023
+#: FlatCAMApp.py:11405
msgid "Failed to open"
msgstr "A eșuat incărcarea fişierului"
-#: FlatCAMApp.py:11031
+#: FlatCAMApp.py:11413
msgid "This is not GCODE"
msgstr "Acest obiect nu este de tip GCode"
-#: FlatCAMApp.py:11036
+#: FlatCAMApp.py:11418
msgid "Opening G-Code."
msgstr "G-Code in curs de incărcare."
-#: FlatCAMApp.py:11045
+#: FlatCAMApp.py:11427
msgid ""
"Failed to create CNCJob Object. Probable not a GCode file. Try to load it "
"from File menu.\n"
@@ -1401,124 +1365,104 @@ msgstr ""
"Încercați să-l încărcați din meniul Fișier. \n"
"Incercarea de a crea un obiect CNCJob din G-Code a eșuat in timpul procesarii"
-#: FlatCAMApp.py:11104
+#: FlatCAMApp.py:11484
msgid "Object is not HPGL2 file or empty. Aborting object creation."
msgstr ""
"Obiectul nu este fișier HPGL2 sau este gol. Se renunta la crearea obiectului."
-#: FlatCAMApp.py:11109
+#: FlatCAMApp.py:11489
msgid "Opening HPGL2"
msgstr "HPGL2 in curs de incărcare"
-#: FlatCAMApp.py:11116
+#: FlatCAMApp.py:11496
msgid " Open HPGL2 failed. Probable not a HPGL2 file."
msgstr " Incărcarea HPGL2 a eșuat. Probabil nu este de tip HPGL2 ."
-#: FlatCAMApp.py:11137
+#: FlatCAMApp.py:11516
msgid "Opening TCL Script..."
msgstr "Încarcă TCL script..."
-#: FlatCAMApp.py:11145
+#: FlatCAMApp.py:11524
msgid "TCL script file opened in Code Editor."
msgstr "S-a încărcat un script TCL în Editorul Cod."
-#: FlatCAMApp.py:11148
+#: FlatCAMApp.py:11527
msgid "Failed to open TCL Script."
msgstr "Eşec in incărcarea fişierului TCL."
-#: FlatCAMApp.py:11176
+#: FlatCAMApp.py:11555
msgid "Opening FlatCAM Config file."
msgstr "Se incarca un fişier FlatCAM de configurare."
-#: FlatCAMApp.py:11204
+#: FlatCAMApp.py:11583
msgid "Failed to open config file"
msgstr "Eşec in incărcarea fişierului de configurare"
-#: FlatCAMApp.py:11230
+#: FlatCAMApp.py:11611
msgid "Loading Project ... Please Wait ..."
msgstr "Se încarcă proiectul ... Vă rugăm să așteptați ..."
-#: FlatCAMApp.py:11235
+#: FlatCAMApp.py:11616
msgid "Opening FlatCAM Project file."
msgstr "Se incarca un fisier proiect FlatCAM."
-#: FlatCAMApp.py:11245 FlatCAMApp.py:11263
+#: FlatCAMApp.py:11626 FlatCAMApp.py:11644
msgid "Failed to open project file"
msgstr "Eşec in incărcarea fişierului proiect"
-#: FlatCAMApp.py:11300
+#: FlatCAMApp.py:11681
msgid "Loading Project ... restoring"
msgstr "Se încarcă proiectul ... se restabileste"
-#: FlatCAMApp.py:11310
+#: FlatCAMApp.py:11691
msgid "Project loaded from"
msgstr "Proiectul a fost incărcat din"
-#: FlatCAMApp.py:11373
+#: FlatCAMApp.py:11760
msgid "Redrawing all objects"
msgstr "Toate obiectele sunt reafisate"
-#: FlatCAMApp.py:11405
-msgid "Available commands:\n"
-msgstr "Comenzi disponibile:\n"
-
-#: FlatCAMApp.py:11407
-msgid ""
-"\n"
-"\n"
-"Type help
for usage.\n"
-" Example: help open_gerber"
-msgstr ""
-"\n"
-"\n"
-"Introduceți help pentru utilizare.\n"
-"Exemplu: help open_gerber"
-
-#: FlatCAMApp.py:11557
-msgid "Shows list of commands."
-msgstr "Arata o lista de comenzi."
-
-#: FlatCAMApp.py:11619
+#: FlatCAMApp.py:11849
msgid "Failed to load recent item list."
msgstr "Eşec in incărcarea listei cu fişiere recente."
-#: FlatCAMApp.py:11627
+#: FlatCAMApp.py:11856
msgid "Failed to parse recent item list."
msgstr "Eşec in parsarea listei cu fişiere recente."
-#: FlatCAMApp.py:11638
+#: FlatCAMApp.py:11866
msgid "Failed to load recent projects item list."
msgstr "Eşec in incărcarea listei cu proiecte recente."
-#: FlatCAMApp.py:11646
+#: FlatCAMApp.py:11873
msgid "Failed to parse recent project item list."
msgstr "Eşec in parsarea listei cu proiecte recente."
-#: FlatCAMApp.py:11706
+#: FlatCAMApp.py:11934
msgid "Clear Recent projects"
msgstr "Sterge Proiectele recente"
-#: FlatCAMApp.py:11730
+#: FlatCAMApp.py:11958
msgid "Clear Recent files"
msgstr "Sterge fişierele recente"
-#: FlatCAMApp.py:11747 flatcamGUI/FlatCAMGUI.py:1276
+#: FlatCAMApp.py:11980 flatcamGUI/FlatCAMGUI.py:1348
msgid "Shortcut Key List"
msgstr "Lista cu taste Shortcut"
-#: FlatCAMApp.py:11821
+#: FlatCAMApp.py:12054
msgid "Selected Tab - Choose an Item from Project Tab"
msgstr "Tab-ul Selectat - Alege un obiect din Tab-ul Proiect"
-#: FlatCAMApp.py:11822
+#: FlatCAMApp.py:12055
msgid "Details"
msgstr "Detalii"
-#: FlatCAMApp.py:11824
+#: FlatCAMApp.py:12057
msgid "The normal flow when working in FlatCAM is the following:"
msgstr "Fluxul normal cand se lucreaza in FlatCAM este urmatorul:"
-#: FlatCAMApp.py:11825
+#: FlatCAMApp.py:12058
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 "
@@ -1528,7 +1472,7 @@ msgstr ""
"sau SVG în FlatCAM utilizând fie barele de instrumente, combinatii de taste "
"sau chiar tragând fișierele în GUI."
-#: FlatCAMApp.py:11828
+#: FlatCAMApp.py:12061
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 "
@@ -1538,7 +1482,7 @@ msgstr ""
"proiectului, tragând fișierul în fereastra FLATCAM sau prin icon-urile din "
"meniu (sau din bara de instrumente) oferite în aplicație."
-#: FlatCAMApp.py:11831
+#: FlatCAMApp.py:12064
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 "
@@ -1551,7 +1495,7 @@ msgstr ""
"proprietățile obiectului în funcție de tipul său: Gerber, Excellon, "
"Geometrie sau obiect CNCJob."
-#: FlatCAMApp.py:11835
+#: FlatCAMApp.py:12068
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 "
@@ -1565,14 +1509,14 @@ msgstr ""
"de pe ecran va aduce fila SELECTAT și o va popula chiar dacă nu a fost in "
"focus."
-#: FlatCAMApp.py:11839
+#: FlatCAMApp.py:12072
msgid ""
"You can change the parameters in this screen and the flow direction is like "
"this:"
msgstr ""
"Se pot schimba parametrii in acest ecran si directia de executive este asa:"
-#: FlatCAMApp.py:11840
+#: FlatCAMApp.py:12073
msgid ""
"Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> "
"Geometry Object --> Add tools (change param in Selected Tab) --> Generate "
@@ -1585,7 +1529,7 @@ msgstr ""
"CNC) și / sau adăugați in fata / la final codul G-code (din nou, efectuat în "
"fila SELECȚIONATĂ) -> Salvați codul G-code."
-#: FlatCAMApp.py:11844
+#: FlatCAMApp.py:12077
msgid ""
"A list of key shortcuts is available through an menu entry in Help --> "
"Shortcuts List or through its own key shortcut: F3."
@@ -1594,105 +1538,169 @@ msgstr ""
"meniul Ajutor -> Lista de combinatii taste sau prin propria tasta asociata: "
"F3."
-#: FlatCAMApp.py:11906
+#: FlatCAMApp.py:12141
msgid "Failed checking for latest version. Could not connect."
msgstr ""
"Verificarea pentru ultima versiune a eșuat. Nu a fost posibilă conectarea la "
"server."
-#: FlatCAMApp.py:11914
+#: FlatCAMApp.py:12148
msgid "Could not parse information about latest version."
msgstr "Informatia cu privire la ultima versiune nu s-a putut interpreta."
-#: FlatCAMApp.py:11925
+#: FlatCAMApp.py:12158
msgid "FlatCAM is up to date!"
msgstr "FlatCAM este la ultima versiune!"
-#: FlatCAMApp.py:11930
+#: FlatCAMApp.py:12163
msgid "Newer Version Available"
msgstr "O nouă versiune este disponibila"
-#: FlatCAMApp.py:11931
-msgid ""
-"There is a newer version of FlatCAM available for download:\n"
-"\n"
-msgstr ""
-"O nouă versiune de FlatCAM este disponibilă pentru download::\n"
-"\n"
+#: FlatCAMApp.py:12165
+msgid "There is a newer version of FlatCAM available for download:"
+msgstr "O nouă versiune de FlatCAM este disponibilă pentru download:"
-#: FlatCAMApp.py:11933
+#: FlatCAMApp.py:12169
msgid "info"
msgstr "informaţie"
-#: FlatCAMApp.py:12012
+#: FlatCAMApp.py:12197
+msgid ""
+"OpenGL canvas initialization failed. HW or HW configuration not supported."
+"Change the graphic engine to Legacy(2D) in Edit -> Preferences -> General "
+"tab.\n"
+"\n"
+msgstr ""
+"Iniţializarea motorului grafic OpenGL a eşuat. HW sau configurarea HW nu "
+"este acceptat(ă). Schimbă motorul grafic in Legacy(2D) in Editare -> "
+"Preferinţe -> General\n"
+"\n"
+
+#: FlatCAMApp.py:12276
msgid "All plots disabled."
msgstr "Toate afişările sunt dezactivate."
-#: FlatCAMApp.py:12019
+#: FlatCAMApp.py:12283
msgid "All non selected plots disabled."
msgstr "Toate afişările care nu sunt selectate sunt dezactivate."
-#: FlatCAMApp.py:12026
+#: FlatCAMApp.py:12290
msgid "All plots enabled."
msgstr "Toate afişările sunt activate."
-#: FlatCAMApp.py:12033
+#: FlatCAMApp.py:12296
msgid "Selected plots enabled..."
msgstr "Toate afişările selectate sunt activate..."
-#: FlatCAMApp.py:12042
+#: FlatCAMApp.py:12304
msgid "Selected plots disabled..."
msgstr "Toate afişările selectate sunt dezactivate..."
-#: FlatCAMApp.py:12061
+#: FlatCAMApp.py:12337
msgid "Enabling plots ..."
msgstr "Activează Afișare ..."
-#: FlatCAMApp.py:12101
+#: FlatCAMApp.py:12389
msgid "Disabling plots ..."
msgstr "Dezactivează Afișare ..."
-#: FlatCAMApp.py:12123
+#: FlatCAMApp.py:12412
msgid "Working ..."
msgstr "Se lucrează..."
-#: FlatCAMApp.py:12224
+#: FlatCAMApp.py:12467 flatcamGUI/FlatCAMGUI.py:688
+msgid "Red"
+msgstr "Roșu"
+
+#: FlatCAMApp.py:12469 flatcamGUI/FlatCAMGUI.py:691
+msgid "Blue"
+msgstr "Albastru"
+
+#: FlatCAMApp.py:12472 flatcamGUI/FlatCAMGUI.py:694
+msgid "Yellow"
+msgstr "Galben"
+
+#: FlatCAMApp.py:12474 flatcamGUI/FlatCAMGUI.py:697
+msgid "Green"
+msgstr "Verde"
+
+#: FlatCAMApp.py:12476 flatcamGUI/FlatCAMGUI.py:700
+msgid "Purple"
+msgstr "Violet"
+
+#: FlatCAMApp.py:12478 flatcamGUI/FlatCAMGUI.py:703
+msgid "Brown"
+msgstr "Maro"
+
+#: FlatCAMApp.py:12480 FlatCAMApp.py:12536 flatcamGUI/FlatCAMGUI.py:706
+msgid "White"
+msgstr "Alb"
+
+#: FlatCAMApp.py:12482 flatcamGUI/FlatCAMGUI.py:709
+msgid "Black"
+msgstr "Negru"
+
+#: FlatCAMApp.py:12485 flatcamGUI/FlatCAMGUI.py:714
+msgid "Custom"
+msgstr "Personalizat"
+
+#: FlatCAMApp.py:12495 flatcamGUI/FlatCAMGUI.py:722
+msgid "Default"
+msgstr "Implicit"
+
+#: FlatCAMApp.py:12519 flatcamGUI/FlatCAMGUI.py:719
+msgid "Opacity"
+msgstr "Opacitate"
+
+#: FlatCAMApp.py:12521
+msgid "Set alpha level ..."
+msgstr "Setează transparenta ..."
+
+#: FlatCAMApp.py:12521 flatcamGUI/PreferencesUI.py:6900
+#: flatcamGUI/PreferencesUI.py:8230 flatcamGUI/PreferencesUI.py:8444
+#: flatcamTools/ToolExtractDrills.py:164 flatcamTools/ToolExtractDrills.py:285
+#: flatcamTools/ToolPunchGerber.py:192 flatcamTools/ToolPunchGerber.py:308
+#: flatcamTools/ToolTransform.py:358
+msgid "Value"
+msgstr "Valoare"
+
+#: FlatCAMApp.py:12597
msgid "Saving FlatCAM Project"
msgstr "Proiectul FlatCAM este in curs de salvare"
-#: FlatCAMApp.py:12243 FlatCAMApp.py:12280
+#: FlatCAMApp.py:12618 FlatCAMApp.py:12654
msgid "Project saved to"
msgstr "Proiectul s-a salvat in"
-#: FlatCAMApp.py:12250
+#: FlatCAMApp.py:12625
msgid "The object is used by another application."
msgstr "Obiectul este folosit de o altă aplicație."
-#: FlatCAMApp.py:12264
+#: FlatCAMApp.py:12639
msgid "Failed to verify project file"
msgstr "Eşec in incărcarea fişierului proiect"
-#: FlatCAMApp.py:12264 FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12639 FlatCAMApp.py:12647 FlatCAMApp.py:12657
msgid "Retry to save it."
msgstr "Încercați din nou pentru a-l salva."
-#: FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12647 FlatCAMApp.py:12657
msgid "Failed to parse saved project file"
msgstr "Esec in analizarea fişierului Proiect"
-#: FlatCAMApp.py:12398
+#: FlatCAMApp.py:13139
msgid "The user requested a graceful exit of the current task."
msgstr "Utilizatorul a solicitat o inchidere grațioasă a taskului curent."
-#: FlatCAMCommon.py:136 FlatCAMCommon.py:163
+#: FlatCAMCommon.py:137 FlatCAMCommon.py:164
msgid "Title"
msgstr "Titlu"
-#: FlatCAMCommon.py:137 FlatCAMCommon.py:167
+#: FlatCAMCommon.py:138 FlatCAMCommon.py:168
msgid "Web Link"
msgstr "Website"
-#: FlatCAMCommon.py:141
+#: FlatCAMCommon.py:142
msgid ""
"Index.\n"
"The rows in gray color will populate the Bookmarks menu.\n"
@@ -1702,7 +1710,7 @@ msgstr ""
"Rândurile în culoare gri vor fi adăugate in meniul de Bookmarks.\n"
"Numărul de rânduri colorate gri este setat în Preferințe."
-#: FlatCAMCommon.py:145
+#: FlatCAMCommon.py:146
msgid ""
"Description of the link that is set as an menu action.\n"
"Try to keep it short because it is installed as a menu item."
@@ -1710,95 +1718,87 @@ msgstr ""
"Descrierea Website care este setată ca acțiune de meniu.\n"
"Încercați să o mențineți scurtă, deoarece este instalată ca element de meniu."
-#: FlatCAMCommon.py:148
+#: FlatCAMCommon.py:149
msgid "Web Link. E.g: https://your_website.org "
msgstr "Website. De ex: https://your_website.org "
-#: FlatCAMCommon.py:157
+#: FlatCAMCommon.py:158
msgid "New Bookmark"
msgstr "Bookmark Nou"
-#: FlatCAMCommon.py:176
+#: FlatCAMCommon.py:177
msgid "Add Entry"
msgstr "Adaugă Intrare"
-#: FlatCAMCommon.py:177
+#: FlatCAMCommon.py:178
msgid "Remove Entry"
msgstr "Elimina Intrare"
-#: FlatCAMCommon.py:178
+#: FlatCAMCommon.py:179
msgid "Export List"
msgstr "Exportă lista"
-#: FlatCAMCommon.py:179
+#: FlatCAMCommon.py:180
msgid "Import List"
msgstr "Importă lista"
-#: FlatCAMCommon.py:260
+#: FlatCAMCommon.py:261
msgid "Title entry is empty."
msgstr "Caseta de introducere Titlu este goală."
-#: FlatCAMCommon.py:269
+#: FlatCAMCommon.py:270
msgid "Web link entry is empty."
msgstr "Caseta de introducere a link-ului web este goală."
-#: FlatCAMCommon.py:277
+#: FlatCAMCommon.py:278
msgid "Either the Title or the Weblink already in the table."
msgstr "Fie Titlul, fie Weblink-ul deja sunt in tabel."
-#: FlatCAMCommon.py:297
+#: FlatCAMCommon.py:298
msgid "Bookmark added."
msgstr "Bookmark adăugat."
-#: FlatCAMCommon.py:314
+#: FlatCAMCommon.py:315
msgid "This bookmark can not be removed"
msgstr "Acest bookmark nu poate fi eliminat"
-#: FlatCAMCommon.py:345
+#: FlatCAMCommon.py:346
msgid "Bookmark removed."
msgstr "Bookmark-ul a fost eliminat."
-#: FlatCAMCommon.py:360
+#: FlatCAMCommon.py:361
msgid "Export FlatCAM Bookmarks"
msgstr "Exportați bookmark-urile FlatCAM"
-#: FlatCAMCommon.py:363 flatcamGUI/FlatCAMGUI.py:470
+#: FlatCAMCommon.py:364 flatcamGUI/FlatCAMGUI.py:509
msgid "Bookmarks"
msgstr "Bookmarks"
-#: FlatCAMCommon.py:370
-msgid "FlatCAM bookmarks export cancelled."
-msgstr "Exportul de bookmark-uri FlatCAM este anulat."
-
-#: FlatCAMCommon.py:389 FlatCAMCommon.py:419
+#: FlatCAMCommon.py:390 FlatCAMCommon.py:420
msgid "Could not load bookmarks file."
msgstr "Nu am putut incărca fişierul cu bookmark-uri."
-#: FlatCAMCommon.py:399
+#: FlatCAMCommon.py:400
msgid "Failed to write bookmarks to file."
msgstr "Salvarea bookmark-urilor intr-un fişier a eșuat."
-#: FlatCAMCommon.py:401
+#: FlatCAMCommon.py:402
msgid "Exported bookmarks to"
msgstr "Exportă Bookmark-uri in"
-#: FlatCAMCommon.py:407
+#: FlatCAMCommon.py:408
msgid "Import FlatCAM Bookmarks"
msgstr "Importă Bookmark-uri FlatCAM"
-#: FlatCAMCommon.py:412
-msgid "FlatCAM bookmarks import cancelled."
-msgstr "Importul de Bookmark-uri FlatCAM a eșuat."
-
-#: FlatCAMCommon.py:426
+#: FlatCAMCommon.py:427
msgid "Imported Bookmarks from"
msgstr "Bookmark-uri au fost importate din"
-#: FlatCAMCommon.py:529
+#: FlatCAMCommon.py:530
msgid "Add Geometry Tool in DB"
msgstr "Adăugați Unealta de Geometrie în DB"
-#: FlatCAMCommon.py:531
+#: FlatCAMCommon.py:532 FlatCAMCommon.py:2087
msgid ""
"Add a new tool in the Tools Database.\n"
"It will be used in the Geometry UI.\n"
@@ -1808,35 +1808,35 @@ msgstr ""
"Acesta va fi utilizată în UI de Geometrie.\n"
"O puteți edita după ce este adăugată."
-#: FlatCAMCommon.py:545
+#: FlatCAMCommon.py:546 FlatCAMCommon.py:2101
msgid "Delete Tool from DB"
msgstr "Ștergeți unealta din DB"
-#: FlatCAMCommon.py:547
+#: FlatCAMCommon.py:548 FlatCAMCommon.py:2103
msgid "Remove a selection of tools in the Tools Database."
msgstr "Stergeți o selecție de Unelte din baza de date Unelte."
-#: FlatCAMCommon.py:551
+#: FlatCAMCommon.py:552 FlatCAMCommon.py:2107
msgid "Export DB"
msgstr "Exportă DB"
-#: FlatCAMCommon.py:553
+#: FlatCAMCommon.py:554 FlatCAMCommon.py:2109
msgid "Save the Tools Database to a custom text file."
msgstr "Salvați baza de date Unelte într-un fișier text."
-#: FlatCAMCommon.py:557
+#: FlatCAMCommon.py:558 FlatCAMCommon.py:2113
msgid "Import DB"
msgstr "Importă DB"
-#: FlatCAMCommon.py:559
+#: FlatCAMCommon.py:560 FlatCAMCommon.py:2115
msgid "Load the Tools Database information's from a custom text file."
msgstr "Încărcați informațiile din baza de date Unelte dintr-un fișier text."
-#: FlatCAMCommon.py:563
+#: FlatCAMCommon.py:564 FlatCAMCommon.py:2119
msgid "Add Tool from Tools DB"
msgstr "Adăugați Unealta din DB Unelte"
-#: FlatCAMCommon.py:565
+#: FlatCAMCommon.py:566 FlatCAMCommon.py:2121
msgid ""
"Add a new tool in the Tools Table of the\n"
"active Geometry object after selecting a tool\n"
@@ -1846,135 +1846,144 @@ msgstr ""
"obiectul Geometrie activ după selectarea unei Unelte\n"
"în baza de date Unelte."
-#: FlatCAMCommon.py:601 FlatCAMCommon.py:1276
+#: FlatCAMCommon.py:602 FlatCAMCommon.py:1277 FlatCAMCommon.py:1531
msgid "Tool Name"
msgstr "Nume unealtă"
-#: FlatCAMCommon.py:602 FlatCAMCommon.py:1278
-#: flatcamEditors/FlatCAMExcEditor.py:1602 flatcamGUI/ObjectUI.py:1295
-#: flatcamTools/ToolNonCopperClear.py:271 flatcamTools/ToolPaint.py:176
+#: FlatCAMCommon.py:603 FlatCAMCommon.py:1279 FlatCAMCommon.py:1544
+#: flatcamEditors/FlatCAMExcEditor.py:1605 flatcamGUI/ObjectUI.py:1343
+#: flatcamGUI/ObjectUI.py:1581 flatcamGUI/PreferencesUI.py:5971
+#: flatcamTools/ToolNCC.py:278 flatcamTools/ToolNCC.py:287
+#: flatcamTools/ToolPaint.py:261
msgid "Tool Dia"
msgstr "Dia Unealtă"
-#: FlatCAMCommon.py:603 FlatCAMCommon.py:1280 flatcamGUI/ObjectUI.py:1278
+#: FlatCAMCommon.py:604 FlatCAMCommon.py:1281 FlatCAMCommon.py:1725
+#: flatcamGUI/ObjectUI.py:1556
msgid "Tool Offset"
msgstr "Ofset unealtă"
-#: FlatCAMCommon.py:604 FlatCAMCommon.py:1282
+#: FlatCAMCommon.py:605 FlatCAMCommon.py:1283 FlatCAMCommon.py:1742
msgid "Custom Offset"
-msgstr "Ofset personal."
+msgstr "Ofset Personalizat"
-#: FlatCAMCommon.py:605 FlatCAMCommon.py:1284 flatcamGUI/ObjectUI.py:304
-#: flatcamGUI/PreferencesUI.py:2217 flatcamGUI/PreferencesUI.py:5036
-#: flatcamTools/ToolNonCopperClear.py:213
+#: FlatCAMCommon.py:606 FlatCAMCommon.py:1285 FlatCAMCommon.py:1709
+#: flatcamGUI/ObjectUI.py:308 flatcamGUI/PreferencesUI.py:2397
+#: flatcamGUI/PreferencesUI.py:5332 flatcamGUI/PreferencesUI.py:5901
+#: flatcamGUI/PreferencesUI.py:5911 flatcamTools/ToolNCC.py:213
+#: flatcamTools/ToolNCC.py:227 flatcamTools/ToolPaint.py:196
msgid "Tool Type"
msgstr "Tip Unealtă"
-#: FlatCAMCommon.py:606 FlatCAMCommon.py:1286
+#: FlatCAMCommon.py:607 FlatCAMCommon.py:1287 FlatCAMCommon.py:1557
msgid "Tool Shape"
msgstr "Formă unealtă"
-#: FlatCAMCommon.py:607 FlatCAMCommon.py:1289 flatcamGUI/ObjectUI.py:345
-#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1405
-#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:2257
-#: flatcamGUI/PreferencesUI.py:3082 flatcamGUI/PreferencesUI.py:3961
-#: flatcamGUI/PreferencesUI.py:5081 flatcamGUI/PreferencesUI.py:5327
-#: flatcamGUI/PreferencesUI.py:6145 flatcamTools/ToolCalculators.py:114
-#: flatcamTools/ToolCutOut.py:132 flatcamTools/ToolNonCopperClear.py:254
+#: FlatCAMCommon.py:608 FlatCAMCommon.py:1290 FlatCAMCommon.py:1573
+#: flatcamGUI/ObjectUI.py:349 flatcamGUI/ObjectUI.py:899
+#: flatcamGUI/ObjectUI.py:1701 flatcamGUI/ObjectUI.py:2254
+#: flatcamGUI/PreferencesUI.py:2437 flatcamGUI/PreferencesUI.py:3311
+#: flatcamGUI/PreferencesUI.py:4241 flatcamGUI/PreferencesUI.py:5377
+#: flatcamGUI/PreferencesUI.py:5666 flatcamGUI/PreferencesUI.py:5944
+#: flatcamGUI/PreferencesUI.py:5952 flatcamGUI/PreferencesUI.py:6635
+#: flatcamTools/ToolCalculators.py:114 flatcamTools/ToolCutOut.py:139
+#: flatcamTools/ToolNCC.py:260 flatcamTools/ToolNCC.py:268
+#: flatcamTools/ToolPaint.py:243
msgid "Cut Z"
msgstr "Z tăiere"
-#: FlatCAMCommon.py:608 FlatCAMCommon.py:1291
+#: FlatCAMCommon.py:609 FlatCAMCommon.py:1292 FlatCAMCommon.py:1587
msgid "MultiDepth"
msgstr "Multi-Pas"
-#: FlatCAMCommon.py:609 FlatCAMCommon.py:1293
+#: FlatCAMCommon.py:610 FlatCAMCommon.py:1294 FlatCAMCommon.py:1600
msgid "DPP"
msgstr "DPP"
-#: FlatCAMCommon.py:610 FlatCAMCommon.py:1295
+#: FlatCAMCommon.py:611 FlatCAMCommon.py:1296 FlatCAMCommon.py:1756
msgid "V-Dia"
msgstr "V-Dia"
-#: FlatCAMCommon.py:611 FlatCAMCommon.py:1297
+#: FlatCAMCommon.py:612 FlatCAMCommon.py:1298 FlatCAMCommon.py:1770
msgid "V-Angle"
msgstr "V-Unghi"
-#: FlatCAMCommon.py:612 FlatCAMCommon.py:1299 flatcamGUI/ObjectUI.py:839
-#: flatcamGUI/ObjectUI.py:1452 flatcamGUI/PreferencesUI.py:3100
-#: flatcamGUI/PreferencesUI.py:4014 flatcamGUI/PreferencesUI.py:7535
+#: FlatCAMCommon.py:613 FlatCAMCommon.py:1300 FlatCAMCommon.py:1614
+#: FlatCAMObj.py:3661 FlatCAMObj.py:5486 flatcamGUI/ObjectUI.py:945
+#: flatcamGUI/ObjectUI.py:1748 flatcamGUI/PreferencesUI.py:3352
+#: flatcamGUI/PreferencesUI.py:4294 flatcamGUI/PreferencesUI.py:8041
#: flatcamTools/ToolCalibration.py:74
msgid "Travel Z"
msgstr "Z Deplasare"
-#: FlatCAMCommon.py:613 FlatCAMCommon.py:1301
+#: FlatCAMCommon.py:614 FlatCAMCommon.py:1302
msgid "FR"
msgstr "Feedrate"
-#: FlatCAMCommon.py:614 FlatCAMCommon.py:1303
+#: FlatCAMCommon.py:615 FlatCAMCommon.py:1304
msgid "FR Z"
msgstr "Z feedrate"
-#: FlatCAMCommon.py:615 FlatCAMCommon.py:1305
+#: FlatCAMCommon.py:616 FlatCAMCommon.py:1306 FlatCAMCommon.py:1784
msgid "FR Rapids"
msgstr "Feedrate rapizi"
-#: FlatCAMCommon.py:616 FlatCAMCommon.py:1307 flatcamGUI/PreferencesUI.py:3173
+#: FlatCAMCommon.py:617 FlatCAMCommon.py:1308 FlatCAMCommon.py:1657
+#: flatcamGUI/PreferencesUI.py:3440
msgid "Spindle Speed"
msgstr "Viteza Motor"
-#: FlatCAMCommon.py:617 FlatCAMCommon.py:1309 flatcamGUI/ObjectUI.py:963
-#: flatcamGUI/ObjectUI.py:1619
+#: FlatCAMCommon.py:618 FlatCAMCommon.py:1310 FlatCAMCommon.py:1672
+#: flatcamGUI/ObjectUI.py:1063 flatcamGUI/ObjectUI.py:1855
msgid "Dwell"
msgstr "Pauza"
-#: FlatCAMCommon.py:618 FlatCAMCommon.py:1311
+#: FlatCAMCommon.py:619 FlatCAMCommon.py:1312 FlatCAMCommon.py:1685
msgid "Dwelltime"
msgstr "Durata pauza"
-#: FlatCAMCommon.py:619 FlatCAMCommon.py:1313 flatcamGUI/ObjectUI.py:982
-#: flatcamGUI/ObjectUI.py:1640 flatcamGUI/PreferencesUI.py:3204
-#: flatcamGUI/PreferencesUI.py:4155 flatcamGUI/PreferencesUI.py:6642
-#: flatcamTools/ToolSolderPaste.py:334
+#: FlatCAMCommon.py:620 FlatCAMCommon.py:1314 flatcamGUI/ObjectUI.py:2012
+#: flatcamGUI/PreferencesUI.py:3475 flatcamGUI/PreferencesUI.py:4447
+#: flatcamGUI/PreferencesUI.py:7148 flatcamTools/ToolSolderPaste.py:336
msgid "Preprocessor"
msgstr "Postprocesor"
-#: FlatCAMCommon.py:620 FlatCAMCommon.py:1315
+#: FlatCAMCommon.py:621 FlatCAMCommon.py:1316 FlatCAMCommon.py:1800
msgid "ExtraCut"
msgstr "Extra taiere"
-#: FlatCAMCommon.py:621 FlatCAMCommon.py:1317
+#: FlatCAMCommon.py:622 FlatCAMCommon.py:1318 FlatCAMCommon.py:1815
msgid "E-Cut Length"
msgstr "Lungime E-taiere"
-#: FlatCAMCommon.py:622 FlatCAMCommon.py:1319
+#: FlatCAMCommon.py:623 FlatCAMCommon.py:1320
msgid "Toolchange"
msgstr "Schimb unealtă"
-#: FlatCAMCommon.py:623 FlatCAMCommon.py:1321
+#: FlatCAMCommon.py:624 FlatCAMCommon.py:1322
msgid "Toolchange XY"
msgstr "X,Y schimb unealtă"
-#: FlatCAMCommon.py:624 FlatCAMCommon.py:1323 flatcamGUI/PreferencesUI.py:3124
-#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:7572
+#: FlatCAMCommon.py:625 FlatCAMCommon.py:1324 flatcamGUI/PreferencesUI.py:3378
+#: flatcamGUI/PreferencesUI.py:4324 flatcamGUI/PreferencesUI.py:8078
#: flatcamTools/ToolCalibration.py:111
msgid "Toolchange Z"
msgstr "Z schimb. unealtă"
-#: FlatCAMCommon.py:625 FlatCAMCommon.py:1325 flatcamGUI/ObjectUI.py:886
-#: flatcamGUI/PreferencesUI.py:3309 flatcamGUI/PreferencesUI.py:4200
+#: FlatCAMCommon.py:626 FlatCAMCommon.py:1326 flatcamGUI/ObjectUI.py:1192
+#: flatcamGUI/PreferencesUI.py:3586 flatcamGUI/PreferencesUI.py:4493
msgid "Start Z"
msgstr "Z Start"
-#: FlatCAMCommon.py:626 FlatCAMCommon.py:1328
+#: FlatCAMCommon.py:627 FlatCAMCommon.py:1329
msgid "End Z"
msgstr "Z Oprire"
-#: FlatCAMCommon.py:630
+#: FlatCAMCommon.py:631
msgid "Tool Index."
msgstr "Index unealta."
-#: FlatCAMCommon.py:632
+#: FlatCAMCommon.py:633 FlatCAMCommon.py:1533
msgid ""
"Tool name.\n"
"This is not used in the app, it's function\n"
@@ -1984,11 +1993,11 @@ msgstr ""
"Aceasta nu este folosită în aplicație, funcția sa\n"
"este să servească drept notă pentru utilizator."
-#: FlatCAMCommon.py:636
+#: FlatCAMCommon.py:637 FlatCAMCommon.py:1546
msgid "Tool Diameter."
msgstr "Diametru unealtă."
-#: FlatCAMCommon.py:638
+#: FlatCAMCommon.py:639 FlatCAMCommon.py:1727
msgid ""
"Tool Offset.\n"
"Can be of a few types:\n"
@@ -2004,7 +2013,7 @@ msgstr ""
"Exterior = compensat în exterior cu jumătate din diametrul sculei\n"
"Custom = compensare personalizată folosind valoarea Offset personalizat"
-#: FlatCAMCommon.py:645
+#: FlatCAMCommon.py:646 FlatCAMCommon.py:1744
msgid ""
"Custom Offset.\n"
"A value to be used as offset from the current path."
@@ -2012,7 +2021,7 @@ msgstr ""
"Ofset personalizat.\n"
"O valoare care trebuie utilizată ca compensare din Calea curentă."
-#: FlatCAMCommon.py:648
+#: FlatCAMCommon.py:649 FlatCAMCommon.py:1711
msgid ""
"Tool Type.\n"
"Can be:\n"
@@ -2026,7 +2035,7 @@ msgstr ""
"Aspră = tăietură aspră, viteză scăzută, treceri multiple\n"
"Finisare = tăiere de finisare, avans mare"
-#: FlatCAMCommon.py:654
+#: FlatCAMCommon.py:655 FlatCAMCommon.py:1559
msgid ""
"Tool Shape. \n"
"Can be:\n"
@@ -2040,7 +2049,7 @@ msgstr ""
"B = instrument de frezare cu vârf formal bila\n"
"V = instrument de frezare în formă V"
-#: FlatCAMCommon.py:660
+#: FlatCAMCommon.py:661 FlatCAMCommon.py:1575
msgid ""
"Cutting Depth.\n"
"The depth at which to cut into material."
@@ -2048,7 +2057,7 @@ msgstr ""
"Adâncimea de tăiere.\n"
"Adâncimea la care se taie în material."
-#: FlatCAMCommon.py:663
+#: FlatCAMCommon.py:664 FlatCAMCommon.py:1589
msgid ""
"Multi Depth.\n"
"Selecting this will allow cutting in multiple passes,\n"
@@ -2058,7 +2067,7 @@ msgstr ""
"Selectarea acestui lucru va permite tăierea în mai multe treceri,\n"
"fiecare trecere adăugând o adâncime a parametrului DPP."
-#: FlatCAMCommon.py:667
+#: FlatCAMCommon.py:668 FlatCAMCommon.py:1602
msgid ""
"DPP. Depth per Pass.\n"
"The value used to cut into material on each pass."
@@ -2066,7 +2075,7 @@ msgstr ""
"DPP. Adâncimea pe trecere.\n"
"Valoarea folosită pentru a tăia în material la fiecare trecere."
-#: FlatCAMCommon.py:670
+#: FlatCAMCommon.py:671 FlatCAMCommon.py:1758
msgid ""
"V-Dia.\n"
"Diameter of the tip for V-Shape Tools."
@@ -2074,7 +2083,7 @@ msgstr ""
"V-Dia.\n"
"Diametrul vârfului pentru uneltele în formă de V."
-#: FlatCAMCommon.py:673
+#: FlatCAMCommon.py:674 FlatCAMCommon.py:1772
msgid ""
"V-Agle.\n"
"Angle at the tip for the V-Shape Tools."
@@ -2082,7 +2091,7 @@ msgstr ""
"V-Unghi.\n"
"Unghiul în vârf pentru instrumentele în formă de V."
-#: FlatCAMCommon.py:676
+#: FlatCAMCommon.py:677 FlatCAMCommon.py:1616
msgid ""
"Clearance Height.\n"
"Height at which the milling bit will travel between cuts,\n"
@@ -2092,7 +2101,7 @@ msgstr ""
"Înălțimea la care bitul de frezare va călători între tăieturi,\n"
"deasupra suprafeței materialului, evitând toate accesoriile."
-#: FlatCAMCommon.py:680
+#: FlatCAMCommon.py:681
msgid ""
"FR. Feedrate\n"
"The speed on XY plane used while cutting into material."
@@ -2100,7 +2109,7 @@ msgstr ""
"FR. Avans.\n"
"Viteza pe planul XY utilizat la tăierea în material."
-#: FlatCAMCommon.py:683
+#: FlatCAMCommon.py:684
msgid ""
"FR Z. Feedrate Z\n"
"The speed on Z plane."
@@ -2108,7 +2117,7 @@ msgstr ""
"FR Z. Feedrate Z. Avans Z.\n"
"Viteza de deplasare in planul Z."
-#: FlatCAMCommon.py:686
+#: FlatCAMCommon.py:687 FlatCAMCommon.py:1786
msgid ""
"FR Rapids. Feedrate Rapids\n"
"Speed used while moving as fast as possible.\n"
@@ -2120,7 +2129,7 @@ msgstr ""
"Acesta este folosit doar de unele dispozitive in care nu poate fi utilizata\n"
"comanda G-cod G0. În mare parte este vorda de imprimante 3D."
-#: FlatCAMCommon.py:691
+#: FlatCAMCommon.py:692 FlatCAMCommon.py:1659
msgid ""
"Spindle Speed.\n"
"If it's left empty it will not be used.\n"
@@ -2130,7 +2139,7 @@ msgstr ""
"Dacă este lăsat gol, nu va fi folosit.\n"
"Viteza rotorului în RPM."
-#: FlatCAMCommon.py:695
+#: FlatCAMCommon.py:696 FlatCAMCommon.py:1674
msgid ""
"Dwell.\n"
"Check this if a delay is needed to allow\n"
@@ -2140,7 +2149,7 @@ msgstr ""
"Verificați dacă este necesară o întârziere pentru a permite\n"
"motorului sa ajungă la viteza setată."
-#: FlatCAMCommon.py:699
+#: FlatCAMCommon.py:700 FlatCAMCommon.py:1687
msgid ""
"Dwell Time.\n"
"A delay used to allow the motor spindle reach it's set speed."
@@ -2148,7 +2157,7 @@ msgstr ""
"Durata pauzei.\n"
"O întârziere pentru a permite motorului sa ajungă la viteza setată."
-#: FlatCAMCommon.py:702
+#: FlatCAMCommon.py:703
msgid ""
"Preprocessor.\n"
"A selection of files that will alter the generated G-code\n"
@@ -2158,7 +2167,7 @@ msgstr ""
"O selecție de fișiere care vor modifica codul G generat\n"
"pentru a se potrivi pentru o serie de cazuri de utilizare."
-#: FlatCAMCommon.py:706
+#: FlatCAMCommon.py:707 FlatCAMCommon.py:1802
msgid ""
"Extra Cut.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -2172,7 +2181,7 @@ msgstr ""
"astfel că acest punct este acoperit de aceste tăieri suplimentare si\n"
"asigură o izolare completă."
-#: FlatCAMCommon.py:712
+#: FlatCAMCommon.py:713 FlatCAMCommon.py:1817
msgid ""
"Extra Cut length.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -2187,7 +2196,7 @@ msgstr ""
"astfel că acest punct este acoperit de aceste tăieri suplimentare si\n"
"asigură o izolare completă."
-#: FlatCAMCommon.py:719
+#: FlatCAMCommon.py:720
msgid ""
"Toolchange.\n"
"It will create a toolchange event.\n"
@@ -2199,7 +2208,7 @@ msgstr ""
"Tipul schimbului de unelte este determinat de\n"
"fișierul preprocesor."
-#: FlatCAMCommon.py:724
+#: FlatCAMCommon.py:725
msgid ""
"Toolchange XY.\n"
"A set of coordinates in the format (x, y).\n"
@@ -2211,7 +2220,7 @@ msgstr ""
"Va determina poziția carteziană a punctului\n"
"unde are loc evenimentul schimbării instrumentelor."
-#: FlatCAMCommon.py:729
+#: FlatCAMCommon.py:730
msgid ""
"Toolchange Z.\n"
"The position on Z plane where the tool change event take place."
@@ -2219,7 +2228,7 @@ msgstr ""
"Schimb de unelte - locatia Z.\n"
"Poziția in planul Z unde are loc evenimentul de schimbare a sculei."
-#: FlatCAMCommon.py:732
+#: FlatCAMCommon.py:733
msgid ""
"Start Z.\n"
"If it's left empty it will not be used.\n"
@@ -2229,7 +2238,7 @@ msgstr ""
"Dacă este lăsat gol, nu va fi folosit.\n"
"O poziție pe planul Z pentru a se deplasa imediat după începerea lucrului."
-#: FlatCAMCommon.py:736
+#: FlatCAMCommon.py:737
msgid ""
"End Z.\n"
"A position on Z plane to move immediately after job stop."
@@ -2237,349 +2246,728 @@ msgstr ""
"Z Sfârșit.\n"
"O poziție pe planul Z pentru a se deplasa imediat după oprirea executiei."
-#: FlatCAMCommon.py:748 FlatCAMCommon.py:1125 FlatCAMCommon.py:1159
+#: FlatCAMCommon.py:749 FlatCAMCommon.py:1126 FlatCAMCommon.py:1160
+#: FlatCAMCommon.py:2335 FlatCAMCommon.py:2556 FlatCAMCommon.py:2590
msgid "Could not load Tools DB file."
msgstr "Nu s-a putut încărca fișierul DB Unelte."
-#: FlatCAMCommon.py:756 FlatCAMCommon.py:1167
+#: FlatCAMCommon.py:757 FlatCAMCommon.py:1168 FlatCAMCommon.py:2343
+#: FlatCAMCommon.py:2598
msgid "Failed to parse Tools DB file."
msgstr "Eroare la analizarea fișierului DB Unelte."
-#: FlatCAMCommon.py:759 FlatCAMCommon.py:1170
+#: FlatCAMCommon.py:760 FlatCAMCommon.py:1171 FlatCAMCommon.py:2346
+#: FlatCAMCommon.py:2601
msgid "Loaded FlatCAM Tools DB from"
msgstr "S-a incărcat DB Unelte din"
-#: FlatCAMCommon.py:765
+#: FlatCAMCommon.py:766 FlatCAMCommon.py:2260
msgid "Add to DB"
msgstr "Adăugați la DB Unelte"
-#: FlatCAMCommon.py:767
+#: FlatCAMCommon.py:768 FlatCAMCommon.py:2263
msgid "Copy from DB"
msgstr "Copiați din DB Unelte"
-#: FlatCAMCommon.py:769
+#: FlatCAMCommon.py:770 FlatCAMCommon.py:2266
msgid "Delete from DB"
msgstr "Ștergeți din DB Unelte"
-#: FlatCAMCommon.py:1046
+#: FlatCAMCommon.py:1047 FlatCAMCommon.py:2473
msgid "Tool added to DB."
-msgstr "Unealtă adăugată in DB Unelte"
+msgstr "Unealtă adăugată in DB."
-#: FlatCAMCommon.py:1067
+#: FlatCAMCommon.py:1068 FlatCAMCommon.py:2497
msgid "Tool copied from Tools DB."
-msgstr "Unealta a fost copiata din DB Unelte."
+msgstr "Unealta a fost copiată din DB Unelte."
-#: FlatCAMCommon.py:1085
+#: FlatCAMCommon.py:1086 FlatCAMCommon.py:2516
msgid "Tool removed from Tools DB."
-msgstr "Unealta a fost stearsa din DB Unelte."
+msgstr "Unealta a fost ștearsă din DB Unelte."
-#: FlatCAMCommon.py:1096
+#: FlatCAMCommon.py:1097 FlatCAMCommon.py:2527
msgid "Export Tools Database"
msgstr "Export DB Unelte"
-#: FlatCAMCommon.py:1099
+#: FlatCAMCommon.py:1100 FlatCAMCommon.py:2530
msgid "Tools_Database"
msgstr "DB Unelte"
-#: FlatCAMCommon.py:1106
-msgid "FlatCAM Tools DB export cancelled."
-msgstr "Exportul DB Unelte a fost anulat."
-
-#: FlatCAMCommon.py:1136 FlatCAMCommon.py:1139 FlatCAMCommon.py:1191
+#: FlatCAMCommon.py:1137 FlatCAMCommon.py:1140 FlatCAMCommon.py:1192
+#: FlatCAMCommon.py:2567 FlatCAMCommon.py:2570 FlatCAMCommon.py:2622
msgid "Failed to write Tools DB to file."
msgstr "Eroare la scrierea DB Unelte în fișier."
-#: FlatCAMCommon.py:1142
+#: FlatCAMCommon.py:1143 FlatCAMCommon.py:2573
msgid "Exported Tools DB to"
msgstr "S-a exportat DB Unelte in"
-#: FlatCAMCommon.py:1149
+#: FlatCAMCommon.py:1150 FlatCAMCommon.py:2580
msgid "Import FlatCAM Tools DB"
msgstr "Importă DB Unelte"
-#: FlatCAMCommon.py:1152
-msgid "FlatCAM Tools DB import cancelled."
-msgstr "Importul DB Unelte a fost anulat."
-
-#: FlatCAMCommon.py:1195
+#: FlatCAMCommon.py:1196 FlatCAMCommon.py:2626
msgid "Saved Tools DB."
-msgstr "DB unelte salvata."
+msgstr "DB unelte salvată."
-#: FlatCAMCommon.py:1342
+#: FlatCAMCommon.py:1343 FlatCAMCommon.py:2807
msgid "No Tool/row selected in the Tools Database table"
msgstr "Nu a fost selectat nici-o Unealta / rând în tabela DB Unelte"
-#: FlatCAMCommon.py:1360
+#: FlatCAMCommon.py:1361 FlatCAMCommon.py:2824
msgid "Cancelled adding tool from DB."
msgstr "S-a anulat adăugarea de Unealtă din DB Unelte."
-#: FlatCAMObj.py:257
+#: FlatCAMCommon.py:1462
+msgid "Basic Geo Parameters"
+msgstr "Parametrii bază Geometrie"
+
+#: FlatCAMCommon.py:1474
+msgid "Advanced Geo Parameters"
+msgstr "Param. Avansați Geometrie"
+
+#: FlatCAMCommon.py:1486
+msgid "NCC Parameters"
+msgstr "Parametrii NCC"
+
+#: FlatCAMCommon.py:1498
+msgid "Paint Parameters"
+msgstr "Parametrii Paint"
+
+#: FlatCAMCommon.py:1629 flatcamGUI/ObjectUI.py:966 flatcamGUI/ObjectUI.py:1767
+#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:7059
+#: flatcamTools/ToolSolderPaste.py:254
+msgid "Feedrate X-Y"
+msgstr "Feedrate X-Y"
+
+#: FlatCAMCommon.py:1631
+msgid ""
+"Feedrate X-Y. Feedrate\n"
+"The speed on XY plane used while cutting into material."
+msgstr ""
+"Avans X-Y. Avans.\n"
+"Viteza pe planul XY utilizat la tăierea în material."
+
+#: FlatCAMCommon.py:1643 flatcamGUI/ObjectUI.py:981 flatcamGUI/ObjectUI.py:1781
+#: flatcamGUI/PreferencesUI.py:3425 flatcamGUI/PreferencesUI.py:4393
+#: flatcamGUI/PreferencesUI.py:7072 flatcamTools/ToolSolderPaste.py:266
+msgid "Feedrate Z"
+msgstr "Feedrate Z"
+
+#: FlatCAMCommon.py:1645
+msgid ""
+"Feedrate Z\n"
+"The speed on Z plane."
+msgstr ""
+"Feedrate Z. Avans Z.\n"
+"Viteza de deplasare in planul Z."
+
+#: FlatCAMCommon.py:1843 flatcamGUI/ObjectUI.py:844
+#: flatcamGUI/PreferencesUI.py:3264 flatcamTools/ToolNCC.py:341
+msgid "Operation"
+msgstr "Operațiuni"
+
+#: FlatCAMCommon.py:1845 flatcamTools/ToolNCC.py:343
+msgid ""
+"The 'Operation' can be:\n"
+"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
+"If it's not successful then the non-copper clearing will fail, too.\n"
+"- Clear -> the regular non-copper clearing."
+msgstr ""
+"„Operațiunea” poate fi:\n"
+"- Izolare -> se va asigura că curățarea non-cupru este întotdeauna "
+"completă.\n"
+"Dacă nu are succes, atunci curățarea din cupru nu va reuși.\n"
+"- Curățare -> curățarea obișnuită de cupru."
+
+#: FlatCAMCommon.py:1852 flatcamEditors/FlatCAMGrbEditor.py:2739
+#: flatcamGUI/GUIElements.py:2577 flatcamTools/ToolNCC.py:350
+msgid "Clear"
+msgstr "Șterge"
+
+#: FlatCAMCommon.py:1853 flatcamTools/ToolNCC.py:351
+#: flatcamTools/ToolNCC.py:1618
+msgid "Isolation"
+msgstr "Tip de izolare"
+
+#: FlatCAMCommon.py:1861 flatcamGUI/ObjectUI.py:408 flatcamGUI/ObjectUI.py:866
+#: flatcamGUI/PreferencesUI.py:2257 flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:4665 flatcamGUI/PreferencesUI.py:5416
+#: flatcamTools/ToolNCC.py:359
+msgid "Milling Type"
+msgstr "Tip Frezare"
+
+#: FlatCAMCommon.py:1863 FlatCAMCommon.py:1871 flatcamGUI/PreferencesUI.py:5418
+#: flatcamGUI/PreferencesUI.py:5426 flatcamTools/ToolNCC.py:361
+#: flatcamTools/ToolNCC.py:369
+msgid ""
+"Milling type when the selected tool is of type: 'iso_op':\n"
+"- climb / best for precision milling and to reduce tool usage\n"
+"- conventional / useful when there is no backlash compensation"
+msgstr ""
+"Tipul de frezare cand unealta selectată este de tipul: 'iso_op':\n"
+"- urcare -> potrivit pentru frezare de precizie și pt a reduce uzura "
+"uneltei\n"
+"- conventional -> pentru cazul când nu exista o compensare a 'backlash-ului'"
+
+#: FlatCAMCommon.py:1868 flatcamGUI/ObjectUI.py:414
+#: flatcamGUI/PreferencesUI.py:2264 flatcamGUI/PreferencesUI.py:4671
+#: flatcamGUI/PreferencesUI.py:5423 flatcamTools/ToolNCC.py:366
+msgid "Climb"
+msgstr "Urcare"
+
+#: FlatCAMCommon.py:1869 flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/PreferencesUI.py:2265 flatcamGUI/PreferencesUI.py:4672
+#: flatcamGUI/PreferencesUI.py:5424 flatcamTools/ToolNCC.py:367
+msgid "Conventional"
+msgstr "Convenţional"
+
+#: FlatCAMCommon.py:1881 FlatCAMCommon.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:452 flatcamGUI/PreferencesUI.py:5461
+#: flatcamGUI/PreferencesUI.py:6002 flatcamTools/ToolNCC.py:382
+#: flatcamTools/ToolPaint.py:329
+msgid "Overlap"
+msgstr "Rată suprapunere"
+
+#: FlatCAMCommon.py:1883 flatcamGUI/PreferencesUI.py:5463
+#: flatcamTools/ToolNCC.py:384
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be cleared are still \n"
+"not cleared.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+"Cât de mult (fracţie) din diametrul uneltei să se suprapună la fiecare "
+"trecere a uneltei.\n"
+"Ajustează valoarea incepând de la valori mici\n"
+"și pe urmă crește dacă ariile care ar trebui >curățate< incă\n"
+"nu sunt procesate.\n"
+"Valori scăzute = procesare rapidă, execuţie rapidă a PCB-ului.\n"
+"Valori mari= procesare lentă cât și o execuţie la fel de lentă a PCB-ului,\n"
+"datorită numărului mai mare de treceri-tăiere."
+
+#: FlatCAMCommon.py:1902 FlatCAMCommon.py:2011
+#: flatcamEditors/FlatCAMGeoEditor.py:472 flatcamGUI/PreferencesUI.py:5481
+#: flatcamGUI/PreferencesUI.py:5723 flatcamGUI/PreferencesUI.py:6022
+#: flatcamGUI/PreferencesUI.py:7681 flatcamGUI/PreferencesUI.py:7838
+#: flatcamGUI/PreferencesUI.py:7923 flatcamGUI/PreferencesUI.py:8570
+#: flatcamGUI/PreferencesUI.py:8578 flatcamTools/ToolCopperThieving.py:112
+#: flatcamTools/ToolCopperThieving.py:363 flatcamTools/ToolCutOut.py:191
+#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolInvertGerber.py:88
+#: flatcamTools/ToolInvertGerber.py:96 flatcamTools/ToolNCC.py:403
+#: flatcamTools/ToolPaint.py:350
+msgid "Margin"
+msgstr "Margine"
+
+#: FlatCAMCommon.py:1904 flatcamGUI/PreferencesUI.py:5483
+#: flatcamGUI/PreferencesUI.py:7683 flatcamGUI/PreferencesUI.py:7925
+#: flatcamGUI/PreferencesUI.py:7989 flatcamTools/ToolCopperThieving.py:114
+#: flatcamTools/ToolFiducials.py:174 flatcamTools/ToolFiducials.py:237
+#: flatcamTools/ToolNCC.py:405
+msgid "Bounding box margin."
+msgstr "Marginea pentru forma înconjurătoare."
+
+#: FlatCAMCommon.py:1915 FlatCAMCommon.py:2026
+#: flatcamEditors/FlatCAMGeoEditor.py:486 flatcamGUI/PreferencesUI.py:5494
+#: flatcamGUI/PreferencesUI.py:6037 flatcamGUI/PreferencesUI.py:8204
+#: flatcamGUI/PreferencesUI.py:8417 flatcamTools/ToolExtractDrills.py:128
+#: flatcamTools/ToolNCC.py:416 flatcamTools/ToolPaint.py:365
+#: flatcamTools/ToolPunchGerber.py:139
+msgid "Method"
+msgstr "Metodă"
+
+#: FlatCAMCommon.py:1917 flatcamGUI/PreferencesUI.py:5496
+#: flatcamTools/ToolNCC.py:418
+msgid ""
+"Algorithm for copper clearing:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
+msgstr ""
+"Algoritm pentru curătare cupru:\n"
+"- Standard: pas fix spre interior.\n"
+"- Punct-origine: înspre exterior porning de la punctul sămanță.\n"
+"- Linii: linii paralele."
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolNCC.py:2390 flatcamTools/ToolNCC.py:2419
+#: flatcamTools/ToolNCC.py:2688 flatcamTools/ToolNCC.py:2720
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1829
+#: tclCommands/TclCommandCopperClear.py:126
+#: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125
+msgid "Standard"
+msgstr "Standard"
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:5156 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:699
+#: flatcamTools/ToolPaint.py:1857 tclCommands/TclCommandCopperClear.py:130
+#: tclCommands/TclCommandPaint.py:129
+msgid "Lines"
+msgstr "Linii"
+
+#: FlatCAMCommon.py:1933 FlatCAMCommon.py:2051 flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:6063 flatcamTools/ToolNCC.py:439
+#: flatcamTools/ToolPaint.py:401
+msgid "Connect"
+msgstr "Conectează"
+
+#: FlatCAMCommon.py:1937 FlatCAMCommon.py:2054
+#: flatcamEditors/FlatCAMGeoEditor.py:509 flatcamGUI/PreferencesUI.py:5518
+#: flatcamGUI/PreferencesUI.py:6065 flatcamTools/ToolNCC.py:443
+#: flatcamTools/ToolPaint.py:404
+msgid ""
+"Draw lines between resulting\n"
+"segments to minimize tool lifts."
+msgstr ""
+"Desenează linii între segmentele\n"
+"rezultate pentru a minimiza miscarile\n"
+"de ridicare a uneltei."
+
+#: FlatCAMCommon.py:1943 FlatCAMCommon.py:2058 flatcamGUI/PreferencesUI.py:5525
+#: flatcamGUI/PreferencesUI.py:6071 flatcamTools/ToolNCC.py:449
+#: flatcamTools/ToolPaint.py:408
+msgid "Contour"
+msgstr "Contur"
+
+#: FlatCAMCommon.py:1947 FlatCAMCommon.py:2061
+#: flatcamEditors/FlatCAMGeoEditor.py:519 flatcamGUI/PreferencesUI.py:5527
+#: flatcamGUI/PreferencesUI.py:6073 flatcamTools/ToolNCC.py:453
+#: flatcamTools/ToolPaint.py:411
+msgid ""
+"Cut around the perimeter of the polygon\n"
+"to trim rough edges."
+msgstr ""
+"Taie de-a lungul perimetrului poligonului\n"
+"pentru a elimina bavurile."
+
+#: FlatCAMCommon.py:1953 flatcamEditors/FlatCAMGeoEditor.py:613
+#: flatcamEditors/FlatCAMGrbEditor.py:5145 flatcamGUI/ObjectUI.py:142
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamGUI/PreferencesUI.py:5534 flatcamGUI/PreferencesUI.py:6822
+#: flatcamTools/ToolNCC.py:459 flatcamTools/ToolTransform.py:29
+msgid "Offset"
+msgstr "Ofset"
+
+#: FlatCAMCommon.py:1957 flatcamGUI/PreferencesUI.py:5536
+#: flatcamTools/ToolNCC.py:463
+msgid ""
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0 and 10 FlatCAM units."
+msgstr ""
+"Dacă este folosit, va adăuga un offset la traseele de cupru.\n"
+"Curătarea de cupru se va termina la o anume distanță\n"
+"de traseele de cupru.\n"
+"Valoarea poate fi cuprinsă între 0 și 10 unități FlatCAM."
+
+#: FlatCAMCommon.py:1992 flatcamEditors/FlatCAMGeoEditor.py:454
+#: flatcamGUI/PreferencesUI.py:6004 flatcamTools/ToolPaint.py:331
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be painted are still \n"
+"not painted.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+"Cat de mult (fracţie) din diametrul uneltei să se suprapună la fiecare "
+"trecere a uneltei.\n"
+"Ajustează valoarea incepand de la valori mici și pe urma creste dacă ariile "
+"care ar trebui\n"
+" >pictate< incă nu sunt procesate.\n"
+"Valori scăzute = procesare rapidă, execuţie rapidă a PCB-ului.\n"
+"Valori mari= procesare lentă cat și o execuţie la fel de lentă a PCB-ului,\n"
+"datorită numărului mai mare de treceri-tăiere."
+
+#: FlatCAMCommon.py:2013 flatcamEditors/FlatCAMGeoEditor.py:474
+#: flatcamGUI/PreferencesUI.py:6024 flatcamTools/ToolPaint.py:352
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the polygon to\n"
+"be painted."
+msgstr ""
+"Distanta fata de marginile\n"
+"poligonului care trebuie\n"
+"să fie >pictat<."
+
+#: FlatCAMCommon.py:2028 flatcamGUI/PreferencesUI.py:6039
+#: flatcamTools/ToolPaint.py:367
+msgid ""
+"Algorithm for painting:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines.\n"
+"- Laser-lines: Active only for Gerber objects.\n"
+"Will create lines that follow the traces.\n"
+"- Combo: In case of failure a new method will be picked from the above\n"
+"in the order specified."
+msgstr ""
+"Algoritm pentru 'pictare':\n"
+"- Standard: pasi fixi spre interior\n"
+"- Punct_origine: spre exterior plecand de la punctul samantă\n"
+"- Linii: linii paralele\n"
+"- Linii-laser: Activ numai pentru fisierele Gerber.\n"
+"Va crea treceri-unelte care vor urmari traseele.\n"
+"- Combinat: In caz de esec, o noua metodă va fi aleasă dintre cele enumerate "
+"mai sus\n"
+"intr-o ordine specificată."
+
+#: FlatCAMCommon.py:2040 FlatCAMCommon.py:2042 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:392
+#: flatcamTools/ToolPaint.py:693 flatcamTools/ToolPaint.py:698
+#: flatcamTools/ToolPaint.py:1871 tclCommands/TclCommandPaint.py:131
+msgid "Laser_lines"
+msgstr "Linii-laser"
+
+#: FlatCAMCommon.py:2040 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:2022
+#: tclCommands/TclCommandPaint.py:133
+msgid "Combo"
+msgstr "Combinat"
+
+#: FlatCAMCommon.py:2085
+msgid "Add Tool in DB"
+msgstr "Adăugați Unealta în DB"
+
+#: FlatCAMObj.py:264
msgid "Name changed from"
msgstr "Nume schimbat din"
-#: FlatCAMObj.py:257
+#: FlatCAMObj.py:264
msgid "to"
msgstr "la"
-#: FlatCAMObj.py:268
+#: FlatCAMObj.py:275
msgid "Offsetting..."
msgstr "Ofsetare..."
-#: FlatCAMObj.py:282 FlatCAMObj.py:287
+#: FlatCAMObj.py:289 FlatCAMObj.py:294
msgid "Scaling could not be executed."
msgstr "Scalarea nu a putut fi executată."
-#: FlatCAMObj.py:291 FlatCAMObj.py:299
+#: FlatCAMObj.py:298 FlatCAMObj.py:306
msgid "Scale done."
msgstr "Scalare efectuată."
-#: FlatCAMObj.py:297
+#: FlatCAMObj.py:304
msgid "Scaling..."
msgstr "Scalare..."
-#: FlatCAMObj.py:315
+#: FlatCAMObj.py:322
msgid "Skewing..."
msgstr "Deformare..."
-#: FlatCAMObj.py:736 FlatCAMObj.py:2746 FlatCAMObj.py:3968
-#: flatcamGUI/PreferencesUI.py:1470 flatcamGUI/PreferencesUI.py:2859
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/ObjectUI.py:449
+#: flatcamGUI/PreferencesUI.py:6527 flatcamTools/ToolAlignObjects.py:73
+#: flatcamTools/ToolAlignObjects.py:109 flatcamTools/ToolCalibration.py:196
+#: flatcamTools/ToolCalibration.py:631 flatcamTools/ToolCalibration.py:648
+#: flatcamTools/ToolCalibration.py:807 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:92
+#: flatcamTools/ToolDblSided.py:225 flatcamTools/ToolFilm.py:69
+#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549
+#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:252 flatcamTools/ToolImage.py:273
+#: flatcamTools/ToolNCC.py:96 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1295 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:706 flatcamTools/ToolPanelize.py:118
+#: flatcamTools/ToolPanelize.py:204 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Gerber"
+msgstr "Gerber"
+
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/FlatCAMGUI.py:2154
+#: flatcamGUI/ObjectUI.py:449 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:93
+#: flatcamTools/ToolDblSided.py:227 flatcamTools/ToolFilm.py:69
+#: flatcamTools/ToolFilm.py:102 flatcamTools/ToolFilm.py:549
+#: flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:271 flatcamTools/ToolNCC.py:95
+#: flatcamTools/ToolNCC.py:558 flatcamTools/ToolNCC.py:1295
+#: flatcamTools/ToolPaint.py:502 flatcamTools/ToolPaint.py:706
+#: flatcamTools/ToolPanelize.py:118 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Geometry"
+msgstr "Geometrie"
+
+#: FlatCAMObj.py:755 FlatCAMObj.py:2957 FlatCAMObj.py:4421
+#: flatcamGUI/PreferencesUI.py:1646 flatcamGUI/PreferencesUI.py:3041
msgid "Basic"
msgstr "Baza"
-#: FlatCAMObj.py:763 FlatCAMObj.py:2758 FlatCAMObj.py:3989
-#: flatcamGUI/PreferencesUI.py:1471
+#: FlatCAMObj.py:782 FlatCAMObj.py:2970 FlatCAMObj.py:4442
+#: flatcamGUI/PreferencesUI.py:1647
msgid "Advanced"
msgstr "Avansat"
-#: FlatCAMObj.py:980
+#: FlatCAMObj.py:998
msgid "Buffering solid geometry"
msgstr "Buferarea geometriei solide"
-#: FlatCAMObj.py:983 camlib.py:965 flatcamGUI/PreferencesUI.py:2296
-#: flatcamTools/ToolCopperThieving.py:1011
-#: flatcamTools/ToolCopperThieving.py:1200
-#: flatcamTools/ToolCopperThieving.py:1212
-#: flatcamTools/ToolNonCopperClear.py:1624
-#: flatcamTools/ToolNonCopperClear.py:1721
-#: flatcamTools/ToolNonCopperClear.py:1732
-#: flatcamTools/ToolNonCopperClear.py:2015
-#: flatcamTools/ToolNonCopperClear.py:2111
-#: flatcamTools/ToolNonCopperClear.py:2123
+#: FlatCAMObj.py:1001 camlib.py:979 flatcamGUI/PreferencesUI.py:2476
+#: flatcamTools/ToolCopperThieving.py:1017
+#: flatcamTools/ToolCopperThieving.py:1206
+#: flatcamTools/ToolCopperThieving.py:1218 flatcamTools/ToolNCC.py:2045
+#: flatcamTools/ToolNCC.py:2153 flatcamTools/ToolNCC.py:2167
+#: flatcamTools/ToolNCC.py:3098 flatcamTools/ToolNCC.py:3203
+#: flatcamTools/ToolNCC.py:3218 flatcamTools/ToolNCC.py:3484
+#: flatcamTools/ToolNCC.py:3585 flatcamTools/ToolNCC.py:3600
msgid "Buffering"
msgstr "Buferare"
-#: FlatCAMObj.py:989
+#: FlatCAMObj.py:1007
msgid "Done"
msgstr "Executat"
-#: FlatCAMObj.py:1040
+#: FlatCAMObj.py:1032 FlatCAMObj.py:1058
+msgid "Operation could not be done."
+msgstr "Operatia nu a putut fi executată."
+
+#: FlatCAMObj.py:1075
msgid "Isolating..."
msgstr "Se izoleaza..."
-#: FlatCAMObj.py:1099
+#: FlatCAMObj.py:1134
msgid "Click on a polygon to isolate it."
msgstr "Faceți clic pe un poligon pentru a-l izola."
-#: FlatCAMObj.py:1138 FlatCAMObj.py:1243 flatcamTools/ToolPaint.py:1120
+#: FlatCAMObj.py:1173 FlatCAMObj.py:1277 flatcamTools/ToolPaint.py:1511
msgid "Added polygon"
msgstr "S-a adăugat poligon"
-#: FlatCAMObj.py:1140 FlatCAMObj.py:1245
+#: FlatCAMObj.py:1174 FlatCAMObj.py:1279
msgid "Click to add next polygon or right click to start isolation."
msgstr ""
"Faceți clic pentru a adăuga următorul poligon sau faceți clic dreapta pentru "
"a începe izolarea."
-#: FlatCAMObj.py:1152 flatcamTools/ToolPaint.py:1134
+#: FlatCAMObj.py:1186 flatcamTools/ToolPaint.py:1525
msgid "Removed polygon"
msgstr "Poligon eliminat"
-#: FlatCAMObj.py:1153
+#: FlatCAMObj.py:1187
msgid "Click to add/remove next polygon or right click to start isolation."
msgstr ""
"Faceți clic pentru a adăuga / elimina următorul poligon sau faceți clic "
"dreapta pentru a începe izolarea."
-#: FlatCAMObj.py:1158 flatcamTools/ToolPaint.py:1140
+#: FlatCAMObj.py:1192 flatcamTools/ToolPaint.py:1531
msgid "No polygon detected under click position."
msgstr "Nu a fost detectat niciun poligon sub poziția clicului."
-#: FlatCAMObj.py:1179 flatcamTools/ToolPaint.py:1169
+#: FlatCAMObj.py:1213 flatcamTools/ToolPaint.py:1560
msgid "List of single polygons is empty. Aborting."
msgstr "Lista Poligoanelor este goală. Intrerup."
-#: FlatCAMObj.py:1248
+#: FlatCAMObj.py:1282
msgid "No polygon in selection."
msgstr "Niciun poligon în selecție."
-#: FlatCAMObj.py:1324 FlatCAMObj.py:1457
-#: flatcamTools/ToolNonCopperClear.py:1653
-#: flatcamTools/ToolNonCopperClear.py:2039
-msgid "Isolation geometry could not be generated."
-msgstr "Geometria de izolare nu a fost posibil să fie generată."
-
-#: FlatCAMObj.py:1374 FlatCAMObj.py:3637 FlatCAMObj.py:3922 FlatCAMObj.py:4221
+#: FlatCAMObj.py:1394 FlatCAMObj.py:1542 FlatCAMObj.py:4055 FlatCAMObj.py:4375
+#: FlatCAMObj.py:4762
msgid "Rough"
msgstr "Grosier"
-#: FlatCAMObj.py:1400 FlatCAMObj.py:1480
+#: FlatCAMObj.py:1410 FlatCAMObj.py:1489 flatcamTools/ToolNCC.py:2081
+#: flatcamTools/ToolNCC.py:3132 flatcamTools/ToolNCC.py:3511
+msgid "Isolation geometry could not be generated."
+msgstr "Geometria de izolare nu a fost posibil să fie generată."
+
+#: FlatCAMObj.py:1435 FlatCAMObj.py:1567
msgid "Isolation geometry created"
msgstr "Geometria de izolare creată"
-#: FlatCAMObj.py:1409 FlatCAMObj.py:1487
+#: FlatCAMObj.py:1444 FlatCAMObj.py:1574
msgid "Subtracting Geo"
msgstr "Scădere Geo"
-#: FlatCAMObj.py:1807
+#: FlatCAMObj.py:1899
msgid "Plotting Apertures"
msgstr "Aperturile sunt in curs de afișare"
-#: FlatCAMObj.py:2573 flatcamEditors/FlatCAMExcEditor.py:2427
+#: FlatCAMObj.py:2753 flatcamEditors/FlatCAMExcEditor.py:2453
msgid "Total Drills"
msgstr "Nr. Tot. Op. Găurire"
-#: FlatCAMObj.py:2605 flatcamEditors/FlatCAMExcEditor.py:2459
+#: FlatCAMObj.py:2784 flatcamEditors/FlatCAMExcEditor.py:2485
msgid "Total Slots"
msgstr "Nr. Tot. Sloturi"
-#: FlatCAMObj.py:3060 FlatCAMObj.py:3155 FlatCAMObj.py:3276
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3069 FlatCAMObj.py:3085 FlatCAMObj.py:3089
+#: FlatCAMObj.py:4242 FlatCAMObj.py:4667 FlatCAMObj.py:4703
+#: flatcamGUI/ObjectUI.py:817 flatcamGUI/ObjectUI.py:1660
+#: flatcamTools/ToolNCC.py:331 flatcamTools/ToolNCC.py:797
+#: flatcamTools/ToolNCC.py:811 flatcamTools/ToolNCC.py:1191
+#: flatcamTools/ToolPaint.py:314 flatcamTools/ToolPaint.py:767
+#: flatcamTools/ToolPaint.py:779 flatcamTools/ToolPaint.py:1166
+msgid "Parameters for"
+msgstr "Parametri pt"
+
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3089 FlatCAMObj.py:4242 FlatCAMObj.py:4703
+#: flatcamTools/ToolNCC.py:811 flatcamTools/ToolNCC.py:1191
+#: flatcamTools/ToolPaint.py:779 flatcamTools/ToolPaint.py:1166
+msgid "Multiple Tools"
+msgstr "Unelte multiple"
+
+#: FlatCAMObj.py:3069
+msgid "No Tool Selected"
+msgstr "Nici-o Unealtă selectată"
+
+#: FlatCAMObj.py:3085 FlatCAMObj.py:3427 FlatCAMObj.py:4667
+#: flatcamEditors/FlatCAMGeoEditor.py:406 flatcamGUI/FlatCAMGUI.py:496
+#: flatcamGUI/FlatCAMGUI.py:1143 flatcamGUI/ObjectUI.py:817
+#: flatcamGUI/ObjectUI.py:1660 flatcamTools/ToolNCC.py:331
+#: flatcamTools/ToolNCC.py:797 flatcamTools/ToolPaint.py:314
+#: flatcamTools/ToolPaint.py:767
+msgid "Tool"
+msgstr "Unealta"
+
+#: FlatCAMObj.py:3419 FlatCAMObj.py:3512 FlatCAMObj.py:3700
msgid "Please select one or more tools from the list and try again."
msgstr "Selectează una sau mai multe unelte din lista și încearcă din nou."
-#: FlatCAMObj.py:3067
+#: FlatCAMObj.py:3426
msgid "Milling tool for DRILLS is larger than hole size. Cancelled."
msgstr ""
"Anulat. Freza pt frezarea găurilor este mai mare decat diametrul găurii."
-#: FlatCAMObj.py:3068 FlatCAMObj.py:4533 flatcamEditors/FlatCAMGeoEditor.py:408
-#: flatcamGUI/FlatCAMGUI.py:457 flatcamGUI/FlatCAMGUI.py:1072
-#: flatcamGUI/ObjectUI.py:1353
-msgid "Tool"
-msgstr "Unealta"
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Tool_nr"
msgstr "Nr. Unealtă"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-#: flatcamEditors/FlatCAMExcEditor.py:1582
-#: flatcamEditors/FlatCAMExcEditor.py:3048 flatcamGUI/ObjectUI.py:777
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
-#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:396
-#: flatcamTools/ToolProperties.py:449 flatcamTools/ToolSolderPaste.py:84
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: flatcamEditors/FlatCAMExcEditor.py:1585
+#: flatcamEditors/FlatCAMExcEditor.py:3069 flatcamGUI/ObjectUI.py:780
+#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
+#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:416
+#: flatcamTools/ToolProperties.py:476 flatcamTools/ToolSolderPaste.py:86
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Diameter"
msgstr "Diametru"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Drills_Nr"
msgstr "Nr. gaura"
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
msgid "Slots_Nr"
msgstr "Nr. slot"
-#: FlatCAMObj.py:3164
+#: FlatCAMObj.py:3521
msgid "Milling tool for SLOTS is larger than hole size. Cancelled."
msgstr "Anulat. Freza este mai mare decat diametrul slotului de frezat."
-#: FlatCAMObj.py:3336
-msgid ""
-"Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth"
-"\"]"
-msgstr ""
-"Valoare gresita pt self.defaults[\"z_pdepth\"] sau self.options[\"z_pdepth\"]"
+#: FlatCAMObj.py:3626 FlatCAMObj.py:5451
+msgid "Focus Z"
+msgstr "Focalizare Z"
-#: FlatCAMObj.py:3347
-msgid ""
-"Wrong value format for self.defaults[\"feedrate_probe\"] or self."
-"options[\"feedrate_probe\"]"
-msgstr ""
-"Valoare gresita pt self.defaults[\"feedrate_probe\"] sau self."
-"options[\"feedrate_probe\"]"
+#: FlatCAMObj.py:3645 FlatCAMObj.py:5470
+msgid "Laser Power"
+msgstr "Putere Laser"
-#: FlatCAMObj.py:3377 FlatCAMObj.py:5354 FlatCAMObj.py:5358 FlatCAMObj.py:5493
+#: FlatCAMObj.py:3677 FlatCAMObj.py:5502 flatcamGUI/ObjectUI.py:1048
+#: flatcamGUI/ObjectUI.py:1839 flatcamGUI/PreferencesUI.py:4409
+msgid "Spindle speed"
+msgstr "Viteza motor"
+
+#: FlatCAMObj.py:3776 FlatCAMObj.py:5911 FlatCAMObj.py:5915 FlatCAMObj.py:6060
msgid "Generating CNC Code"
msgstr "CNC Code in curs de generare"
-#: FlatCAMObj.py:3637 FlatCAMObj.py:4632 FlatCAMObj.py:4633 FlatCAMObj.py:4642
+#: FlatCAMObj.py:3966 flatcamTools/ToolNCC.py:918 flatcamTools/ToolPaint.py:844
+msgid "Current Tool parameters were applied to all tools."
+msgstr "Parametrii Uneltei curente sunt aplicați la toate Uneltele."
+
+#: FlatCAMObj.py:4055 FlatCAMObj.py:5115 FlatCAMObj.py:5116 FlatCAMObj.py:5125
msgid "Iso"
msgstr "Izo"
-#: FlatCAMObj.py:3637
+#: FlatCAMObj.py:4055
msgid "Finish"
msgstr "Finisare"
-#: FlatCAMObj.py:3957
+#: FlatCAMObj.py:4410
msgid "Add from Tool DB"
msgstr "Adaugă Unealta din DB Unelte"
-#: FlatCAMObj.py:3960 flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:794
-#: flatcamGUI/FlatCAMGUI.py:989 flatcamGUI/FlatCAMGUI.py:2015
-#: flatcamGUI/FlatCAMGUI.py:2159 flatcamGUI/FlatCAMGUI.py:2378
-#: flatcamGUI/FlatCAMGUI.py:2557 flatcamGUI/ObjectUI.py:1324
-#: flatcamTools/ToolPanelize.py:534 flatcamTools/ToolPanelize.py:561
-#: flatcamTools/ToolPanelize.py:660 flatcamTools/ToolPanelize.py:694
-#: flatcamTools/ToolPanelize.py:759
+#: FlatCAMObj.py:4413 flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:848
+#: flatcamGUI/FlatCAMGUI.py:1057 flatcamGUI/FlatCAMGUI.py:2123
+#: flatcamGUI/FlatCAMGUI.py:2267 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamGUI/FlatCAMGUI.py:2731 flatcamGUI/ObjectUI.py:1615
+#: flatcamTools/ToolPanelize.py:543 flatcamTools/ToolPanelize.py:570
+#: flatcamTools/ToolPanelize.py:669 flatcamTools/ToolPanelize.py:703
+#: flatcamTools/ToolPanelize.py:768
msgid "Copy"
msgstr "Copiază"
-#: FlatCAMObj.py:4054 FlatCAMObj.py:4397 FlatCAMObj.py:5107 FlatCAMObj.py:5744
-#: flatcamEditors/FlatCAMExcEditor.py:2534
-#: flatcamEditors/FlatCAMGeoEditor.py:1078
-#: flatcamEditors/FlatCAMGeoEditor.py:1112
-#: flatcamEditors/FlatCAMGeoEditor.py:1133
-#: flatcamEditors/FlatCAMGeoEditor.py:1154
-#: flatcamEditors/FlatCAMGeoEditor.py:1191
-#: flatcamEditors/FlatCAMGeoEditor.py:1219
-#: flatcamEditors/FlatCAMGeoEditor.py:1240
-#: flatcamTools/ToolNonCopperClear.py:1052
-#: flatcamTools/ToolNonCopperClear.py:1461 flatcamTools/ToolPaint.py:835
-#: flatcamTools/ToolPaint.py:1019 flatcamTools/ToolPaint.py:2198
-#: flatcamTools/ToolSolderPaste.py:882 flatcamTools/ToolSolderPaste.py:957
+#: FlatCAMObj.py:4507 FlatCAMObj.py:4941 FlatCAMObj.py:5661 FlatCAMObj.py:6307
+#: flatcamEditors/FlatCAMExcEditor.py:2560
+#: flatcamEditors/FlatCAMGeoEditor.py:1077
+#: flatcamEditors/FlatCAMGeoEditor.py:1118
+#: flatcamEditors/FlatCAMGeoEditor.py:1146
+#: flatcamEditors/FlatCAMGeoEditor.py:1174
+#: flatcamEditors/FlatCAMGeoEditor.py:1218
+#: flatcamEditors/FlatCAMGeoEditor.py:1253
+#: flatcamEditors/FlatCAMGeoEditor.py:1281 flatcamTools/ToolNCC.py:1493
+#: flatcamTools/ToolPaint.py:1244 flatcamTools/ToolPaint.py:1415
+#: flatcamTools/ToolSolderPaste.py:883 flatcamTools/ToolSolderPaste.py:956
msgid "Wrong value format entered, use a number."
msgstr "Valoare in format incorect, foloseşte un număr."
-#: FlatCAMObj.py:4240
+#: FlatCAMObj.py:4781
msgid "Tool added in Tool Table."
msgstr "Unealtă adăugată in Tabela de Unelte."
-#: FlatCAMObj.py:4347 FlatCAMObj.py:4356
+#: FlatCAMObj.py:4890 FlatCAMObj.py:4899
msgid "Failed. Select a tool to copy."
msgstr "Eșuat. Selectează o unealtă pt copiere."
-#: FlatCAMObj.py:4383
+#: FlatCAMObj.py:4928
msgid "Tool was copied in Tool Table."
msgstr "Unealta a fost copiata in Tabela de Unelte."
-#: FlatCAMObj.py:4411
+#: FlatCAMObj.py:4955
msgid "Tool was edited in Tool Table."
msgstr "Unealta a fost editata in Tabela de Unelte."
-#: FlatCAMObj.py:4440 FlatCAMObj.py:4449
+#: FlatCAMObj.py:4984 FlatCAMObj.py:4993
msgid "Failed. Select a tool to delete."
msgstr "Eșuat. Selectează o unealtă pentru ștergere."
-#: FlatCAMObj.py:4472
+#: FlatCAMObj.py:5017
msgid "Tool was deleted in Tool Table."
msgstr "Unealta a fost stearsa din Tabela de Unelte."
-#: FlatCAMObj.py:4533 flatcamGUI/ObjectUI.py:1353
-msgid "Parameters for"
-msgstr "Parametri pt"
-
-#: FlatCAMObj.py:4967
+#: FlatCAMObj.py:5523
msgid "This Geometry can't be processed because it is"
msgstr "Acest obiect Geometrie nu poate fi procesat deoarece"
-#: FlatCAMObj.py:4969
+#: FlatCAMObj.py:5523
msgid "geometry"
msgstr "geometria"
-#: FlatCAMObj.py:5012
+#: FlatCAMObj.py:5564
msgid "Failed. No tool selected in the tool table ..."
msgstr "Eșuat. Nici-o unealtă nu este selectată in Tabela de Unelte ..."
-#: FlatCAMObj.py:5112 FlatCAMObj.py:5264
+#: FlatCAMObj.py:5667 FlatCAMObj.py:5820
msgid ""
"Tool Offset is selected in Tool Table but no value is provided.\n"
"Add a Tool Offset or change the Offset Type."
@@ -2588,44 +2976,44 @@ msgstr ""
"este oferita.\n"
"Adaugă un ofset pt unealtă sau schimbă Tipul Ofset."
-#: FlatCAMObj.py:5177 FlatCAMObj.py:5325
+#: FlatCAMObj.py:5733 FlatCAMObj.py:5882
msgid "G-Code parsing in progress..."
msgstr "Analiza codului G în curs ..."
-#: FlatCAMObj.py:5179 FlatCAMObj.py:5327
+#: FlatCAMObj.py:5735 FlatCAMObj.py:5884
msgid "G-Code parsing finished..."
msgstr "Analizarea codului G s-a terminat ..."
-#: FlatCAMObj.py:5187
+#: FlatCAMObj.py:5743
msgid "Finished G-Code processing"
msgstr "Prelucrarea G-Code terminată"
-#: FlatCAMObj.py:5189 FlatCAMObj.py:5339
+#: FlatCAMObj.py:5745 FlatCAMObj.py:5896
msgid "G-Code processing failed with error"
msgstr "Procesarea G-Code a eșuat cu eroarea"
-#: FlatCAMObj.py:5234 flatcamTools/ToolSolderPaste.py:1303
+#: FlatCAMObj.py:5790 flatcamTools/ToolSolderPaste.py:1300
msgid "Cancelled. Empty file, it has no geometry"
msgstr "Anulat. Fişier gol, nu are geometrie"
-#: FlatCAMObj.py:5337 FlatCAMObj.py:5486
+#: FlatCAMObj.py:5894 FlatCAMObj.py:6055
msgid "Finished G-Code processing..."
msgstr "Prelucrarea G-Code terminată ..."
-#: FlatCAMObj.py:5356 FlatCAMObj.py:5360 FlatCAMObj.py:5496
+#: FlatCAMObj.py:5913 FlatCAMObj.py:5917 FlatCAMObj.py:6062
msgid "CNCjob created"
msgstr "CNCjob creat"
-#: FlatCAMObj.py:5527 FlatCAMObj.py:5536 flatcamParsers/ParseGerber.py:1794
-#: flatcamParsers/ParseGerber.py:1804
+#: FlatCAMObj.py:6092 FlatCAMObj.py:6101 flatcamParsers/ParseGerber.py:1866
+#: flatcamParsers/ParseGerber.py:1876
msgid "Scale factor has to be a number: integer or float."
msgstr "Factorul de scalare trebuie să fie un număr: natural sau real."
-#: FlatCAMObj.py:5600
+#: FlatCAMObj.py:6164
msgid "Geometry Scale done."
msgstr "Scalare Geometrie executată."
-#: FlatCAMObj.py:5617 flatcamParsers/ParseGerber.py:1920
+#: FlatCAMObj.py:6181 flatcamParsers/ParseGerber.py:1992
msgid ""
"An (x,y) pair of values are needed. Probable you entered only one value in "
"the Offset field."
@@ -2633,11 +3021,11 @@ msgstr ""
"O pereche de valori (x,y) este necesară. Probabil că ai introdus numai o "
"singură valoare in câmpul Offset."
-#: FlatCAMObj.py:5674
+#: FlatCAMObj.py:6237
msgid "Geometry Offset done."
msgstr "Ofset Geometrie executat."
-#: FlatCAMObj.py:5703
+#: FlatCAMObj.py:6266
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y)\n"
@@ -2647,84 +3035,84 @@ msgstr ""
"in formatul (x, y) \n"
"dar are o singură valoare in loc de două."
-#: FlatCAMObj.py:6388 FlatCAMObj.py:7175 FlatCAMObj.py:7371
+#: FlatCAMObj.py:6956 FlatCAMObj.py:7802 FlatCAMObj.py:7999
msgid "Basic"
msgstr "Baza"
-#: FlatCAMObj.py:6394 FlatCAMObj.py:7179 FlatCAMObj.py:7375
+#: FlatCAMObj.py:6962 FlatCAMObj.py:7806 FlatCAMObj.py:8003
msgid "Advanced"
msgstr "Avansat"
-#: FlatCAMObj.py:6437
+#: FlatCAMObj.py:7005
msgid "Plotting..."
msgstr "Se afișează..."
-#: FlatCAMObj.py:6460 FlatCAMObj.py:6465 flatcamTools/ToolSolderPaste.py:1509
+#: FlatCAMObj.py:7034 FlatCAMObj.py:7039 flatcamTools/ToolSolderPaste.py:1498
msgid "Export Machine Code ..."
msgstr "Exportă CNC Cod Masina ..."
-#: FlatCAMObj.py:6470 flatcamTools/ToolSolderPaste.py:1513
+#: FlatCAMObj.py:7044 flatcamTools/ToolSolderPaste.py:1502
msgid "Export Machine Code cancelled ..."
msgstr "Exportul Codului Mașina a fost anulat ..."
-#: FlatCAMObj.py:6492
+#: FlatCAMObj.py:7065
msgid "Machine Code file saved to"
msgstr "Fişierul cu cod CNC este salvat in"
-#: FlatCAMObj.py:6546 flatcamTools/ToolCalibration.py:1083
+#: FlatCAMObj.py:7126 flatcamTools/ToolCalibration.py:1097
msgid "Loaded Machine Code into Code Editor"
msgstr "S-a încărcat Codul Maşină în Editorul Cod"
-#: FlatCAMObj.py:6684
+#: FlatCAMObj.py:7265
msgid "This CNCJob object can't be processed because it is a"
msgstr "Acest obiect CNCJob nu poate fi procesat deoarece este un"
-#: FlatCAMObj.py:6686
+#: FlatCAMObj.py:7267
msgid "CNCJob object"
msgstr "Obiect CNCJob"
-#: FlatCAMObj.py:6866
+#: FlatCAMObj.py:7447
msgid ""
"G-code does not have a G94 code and we will not include the code in the "
"'Prepend to GCode' text box"
msgstr ""
"Codul G nu are un cod G94 și nu vom include codul din caseta de text „Adaugă "
-"la GCode”."
+"la GCode”"
-#: FlatCAMObj.py:6877
+#: FlatCAMObj.py:7458
msgid "Cancelled. The Toolchange Custom code is enabled but it's empty."
msgstr ""
"Anulat. Codul G-Code din Macro-ul Schimbare unealtă este activat dar nu "
"contine nimic."
-#: FlatCAMObj.py:6882
+#: FlatCAMObj.py:7463
msgid "Toolchange G-code was replaced by a custom code."
msgstr "G-Code-ul pt schimbare unealtă a fost inlocuit cu un cod pesonalizat."
-#: FlatCAMObj.py:6899 flatcamEditors/FlatCAMTextEditor.py:270
-#: flatcamTools/ToolSolderPaste.py:1540
+#: FlatCAMObj.py:7480 flatcamEditors/FlatCAMTextEditor.py:272
+#: flatcamTools/ToolSolderPaste.py:1529
msgid "No such file or directory"
msgstr "Nu exista un aşa fişier sau director"
-#: FlatCAMObj.py:6913 flatcamEditors/FlatCAMTextEditor.py:282
+#: FlatCAMObj.py:7494 flatcamEditors/FlatCAMTextEditor.py:284
msgid "Saved to"
msgstr "Salvat in"
-#: FlatCAMObj.py:6923 FlatCAMObj.py:6933
+#: FlatCAMObj.py:7511 FlatCAMObj.py:7521
msgid ""
"The used preprocessor file has to have in it's name: 'toolchange_custom'"
msgstr ""
"Postprocesorul folosit trebuie să aibă in numele sau: 'toolchange_custom'"
-#: FlatCAMObj.py:6937
+#: FlatCAMObj.py:7524
msgid "There is no preprocessor file."
msgstr "Nu exista nici-un fişier postprocesor."
-#: FlatCAMObj.py:7194
+#: FlatCAMObj.py:7821
msgid "Script Editor"
msgstr "Editor Script"
-#: FlatCAMObj.py:7475
+#: FlatCAMObj.py:8103
msgid "Document Editor"
msgstr "Editor Documente"
@@ -2732,6 +3120,16 @@ msgstr "Editor Documente"
msgid "processes running."
msgstr "procesele care rulează."
+#: FlatCAMTool.py:245 FlatCAMTool.py:252 flatcamGUI/ObjectUI.py:156
+#: flatcamGUI/ObjectUI.py:163
+msgid "Edited value is out of range"
+msgstr "Valoarea editată este in afara limitelor"
+
+#: FlatCAMTool.py:247 FlatCAMTool.py:254 flatcamGUI/ObjectUI.py:158
+#: flatcamGUI/ObjectUI.py:165
+msgid "Edited value is within limits."
+msgstr "Valoarea editată este in limite."
+
#: FlatCAMTranslation.py:103
msgid "The application will restart."
msgstr "Aplicaţia va reporni ..."
@@ -2744,68 +3142,68 @@ msgstr "Esti sigur că dorești să schimbi din limba curentă in"
msgid "Apply Language ..."
msgstr "Aplică Traducere ..."
-#: ObjectCollection.py:459
+#: ObjectCollection.py:506
#, python-brace-format
msgid "Object renamed from {old} to {new}"
msgstr "Obiectul este redenumit din {old} in {new}"
-#: ObjectCollection.py:858
+#: ObjectCollection.py:972
msgid "Cause of error"
msgstr "Motivul erorii"
-#: camlib.py:590
+#: camlib.py:593
msgid "self.solid_geometry is neither BaseGeometry or list."
msgstr "self.solid_geometry nu este tip BaseGeometry sau tip listă."
-#: camlib.py:953
+#: camlib.py:968
msgid "Pass"
msgstr "Treceri"
-#: camlib.py:974
+#: camlib.py:988
msgid "Get Exteriors"
msgstr "Obtine Exterior"
-#: camlib.py:977
+#: camlib.py:991
msgid "Get Interiors"
msgstr "Obtine Interioare"
-#: camlib.py:1964
+#: camlib.py:2172
msgid "Object was mirrored"
msgstr "Obiectul a fost oglindit"
-#: camlib.py:1967
+#: camlib.py:2175
msgid "Failed to mirror. No object selected"
msgstr "Oglindire eșuată. Nici-un obiect nu este selectat"
-#: camlib.py:2036
+#: camlib.py:2244
msgid "Object was rotated"
msgstr "Obiectul a fost rotit"
-#: camlib.py:2039
+#: camlib.py:2247
msgid "Failed to rotate. No object selected"
msgstr "Rotaţie eșuată. Nici-un obiect nu este selectat"
-#: camlib.py:2107
+#: camlib.py:2314
msgid "Object was skewed"
msgstr "Obiectul a fost deformat"
-#: camlib.py:2110
+#: camlib.py:2317
msgid "Failed to skew. No object selected"
msgstr "Deformare eșuată. Nici-un obiect nu este selectat"
-#: camlib.py:2179
+#: camlib.py:2392
msgid "Object was buffered"
msgstr "Obiectul a fost tamponat"
-#: camlib.py:2181
+#: camlib.py:2394
msgid "Failed to buffer. No object selected"
msgstr "Eroare in a face buffer. Nu a fost selectat niciun obiect"
-#: camlib.py:2378
+#: camlib.py:2599
msgid "There is no such parameter"
msgstr "Nu exista un asemenea parametru"
-#: camlib.py:2454
+#: camlib.py:2659 camlib.py:2892 camlib.py:3121 camlib.py:3343
msgid ""
"The Cut Z parameter has positive value. It is the depth value to drill into "
"material.\n"
@@ -2818,13 +3216,14 @@ msgstr ""
"Se presupune că este o eroare de tastare astfel ca aplicaţia va converti "
"intr-o valoare negativă. Verifică codul masina (G-Code etc) rezultat."
-#: camlib.py:2462 camlib.py:3181 camlib.py:3539
+#: camlib.py:2667 camlib.py:2902 camlib.py:3131 camlib.py:3353 camlib.py:3639
+#: camlib.py:4008
msgid "The Cut Z parameter is zero. There will be no cut, skipping file"
msgstr ""
"Parametrul >Z tăiere< este nul. Nu va fi nici-o tăiere prin urmare nu "
"procesam fişierul"
-#: camlib.py:2475 camlib.py:3512
+#: camlib.py:2678 camlib.py:3976
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y) \n"
@@ -2834,31 +3233,39 @@ msgstr ""
"in formatul (x, y) \n"
"dar are o singură valoare in loc de doua. "
-#: camlib.py:2550
+#: camlib.py:2687 camlib.py:3590 camlib.py:3958
+msgid ""
+"The End Move X,Y field in Edit -> Preferences has to be in the format (x, y) "
+"but now there is only one value, not two."
+msgstr ""
+"Parametrul >Schimbare Unealtă X, Y< in Editare -> Peferințe trebuie să fie "
+"in formatul (x, y) dar are o singură valoare in loc de două."
+
+#: camlib.py:2775
msgid "Creating a list of points to drill..."
msgstr "Crearea unei liste de puncte pentru găurire ..."
-#: camlib.py:2632
+#: camlib.py:2865 camlib.py:3737 camlib.py:4112
msgid "Starting G-Code"
msgstr "Începând G-Code"
-#: camlib.py:2727 camlib.py:2870 camlib.py:2972 camlib.py:3292 camlib.py:3653
+#: camlib.py:3006 camlib.py:3225 camlib.py:3389 camlib.py:3750 camlib.py:4123
msgid "Starting G-Code for tool with diameter"
msgstr "Pornirea codului G pentru scula cu diametrul"
-#: camlib.py:2783 camlib.py:2926 camlib.py:3029
+#: camlib.py:3089 camlib.py:3307 camlib.py:3475
msgid "G91 coordinates not implemented"
msgstr "Coordonatele G91 nu au fost implementate"
-#: camlib.py:2789 camlib.py:2933 camlib.py:3035
+#: camlib.py:3095 camlib.py:3314 camlib.py:3481
msgid "The loaded Excellon file has no drills"
msgstr "Fişierul Excellon incărcat nu are găuri"
-#: camlib.py:3058
+#: camlib.py:3504
msgid "Finished G-Code generation..."
msgstr "Generarea G-Code finalizata ..."
-#: camlib.py:3153
+#: camlib.py:3608
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, "
"y) \n"
@@ -2868,7 +3275,7 @@ msgstr ""
"in formatul (x, y) \n"
"dar are o singură valoare in loc de doua."
-#: camlib.py:3166 camlib.py:3525
+#: camlib.py:3622 camlib.py:3991
msgid ""
"Cut_Z parameter is None or zero. Most likely a bad combinations of other "
"parameters."
@@ -2876,7 +3283,7 @@ msgstr ""
"Parametrul >Z tăiere< este None sau zero. Cel mai probabil o combinaţie "
"nefericita de parametri."
-#: camlib.py:3173 camlib.py:3531
+#: camlib.py:3631 camlib.py:4000
msgid ""
"The Cut Z parameter has positive value. It is the depth value to cut into "
"material.\n"
@@ -2889,11 +3296,11 @@ msgstr ""
"Se presupune că este o eroare de tastare astfel ca aplicaţia va converti "
"intr-o valoare negativă. Verifică codul masina (G-Code etc) rezultat."
-#: camlib.py:3186 camlib.py:3545
+#: camlib.py:3644 camlib.py:4014
msgid "Travel Z parameter is None or zero."
msgstr "Parametrul >Z deplasare< este None sau zero."
-#: camlib.py:3191 camlib.py:3550
+#: camlib.py:3649 camlib.py:4019
msgid ""
"The Travel Z parameter has negative value. It is the height value to travel "
"between cuts.\n"
@@ -2906,40 +3313,36 @@ msgstr ""
"Se presupune că este o eroare de tastare astfel ca aplicaţia va converti "
"intr-o valoare pozitivă. Verifică codul masina (G-Code etc) rezultat."
-#: camlib.py:3199 camlib.py:3558
+#: camlib.py:3657 camlib.py:4027
msgid "The Z Travel parameter is zero. This is dangerous, skipping file"
msgstr ""
"Parametrul >Z deplasare< este zero. Aceasta este periculos, prin urmare nu "
"se procesează fişierul"
-#: camlib.py:3218 camlib.py:3580
+#: camlib.py:3676 camlib.py:4050
msgid "Indexing geometry before generating G-Code..."
msgstr "Geometria se indexeaza înainte de a genera G-Code..."
-#: camlib.py:3279 camlib.py:3642
-msgid "Starting G-Code..."
-msgstr "Pornirea G-Code ..."
-
-#: camlib.py:3362 camlib.py:3724
+#: camlib.py:3820 camlib.py:4192
msgid "Finished G-Code generation"
msgstr "Generarea G-Code terminată"
-#: camlib.py:3364
+#: camlib.py:3820
msgid "paths traced"
msgstr "căi trasate"
-#: camlib.py:3399
+#: camlib.py:3853
msgid "Expected a Geometry, got"
msgstr "Se astepta o Geometrie, am primit in schimb"
-#: camlib.py:3406
+#: camlib.py:3860
msgid ""
"Trying to generate a CNC Job from a Geometry object without solid_geometry."
msgstr ""
"Se încearcă generarea unui CNC Job dintr-un obiect Geometrie fără atributul "
"solid_geometry."
-#: camlib.py:3446
+#: camlib.py:3901
msgid ""
"The Tool Offset value is too negative to use for the current_geometry.\n"
"Raise the value (in module) and try again."
@@ -2948,35 +3351,35 @@ msgstr ""
"current_geometry \n"
"Mareste valoarea absoluta și încearcă din nou."
-#: camlib.py:3724
+#: camlib.py:4192
msgid " paths traced."
msgstr " căi trasate."
-#: camlib.py:3752
+#: camlib.py:4220
msgid "There is no tool data in the SolderPaste geometry."
msgstr "Nu există date cu privire la unealtă in Geometria SolderPaste."
-#: camlib.py:3839
+#: camlib.py:4306
msgid "Finished SolderPste G-Code generation"
msgstr "Generarea G-Code SolderPaste s-a terminat"
-#: camlib.py:3841
+#: camlib.py:4306
msgid "paths traced."
msgstr "căi trasate."
-#: camlib.py:4097
+#: camlib.py:4566
msgid "Parsing GCode file. Number of lines"
msgstr "Analizând fișierul GCode. Numărul de linii"
-#: camlib.py:4204
+#: camlib.py:4673
msgid "Creating Geometry from the parsed GCode file. "
msgstr "Crează un obiect tip Geometrie din fisierul GCode analizat. "
-#: camlib.py:4345 camlib.py:4629 camlib.py:4732 camlib.py:4801
+#: camlib.py:4816 camlib.py:5101 camlib.py:5204 camlib.py:5360
msgid "G91 coordinates not implemented ..."
msgstr "Coordonatele G91 nu au fost implementate ..."
-#: camlib.py:4476
+#: camlib.py:4948
msgid "Unifying Geometry from parsed Geometry segments"
msgstr "Se unifica Geometria din segmentele de Geometrie parsate"
@@ -3008,11 +3411,11 @@ msgstr ""
#: flatcamEditors/FlatCAMExcEditor.py:193
#: flatcamEditors/FlatCAMExcEditor.py:416
#: flatcamEditors/FlatCAMExcEditor.py:637
-#: flatcamEditors/FlatCAMExcEditor.py:1155
-#: flatcamEditors/FlatCAMExcEditor.py:1182
+#: flatcamEditors/FlatCAMExcEditor.py:1152
+#: flatcamEditors/FlatCAMExcEditor.py:1179
#: flatcamEditors/FlatCAMGrbEditor.py:471
-#: flatcamEditors/FlatCAMGrbEditor.py:1936
-#: flatcamEditors/FlatCAMGrbEditor.py:1966
+#: flatcamEditors/FlatCAMGrbEditor.py:1935
+#: flatcamEditors/FlatCAMGrbEditor.py:1965
msgid "Click on target location ..."
msgstr "Click pe locatia tintă ..."
@@ -3046,8 +3449,8 @@ msgstr "Pentru a adăuga un slot mai întâi, selectați o unealtă"
#: flatcamEditors/FlatCAMExcEditor.py:455
#: flatcamEditors/FlatCAMExcEditor.py:462
-#: flatcamEditors/FlatCAMExcEditor.py:744
-#: flatcamEditors/FlatCAMExcEditor.py:751
+#: flatcamEditors/FlatCAMExcEditor.py:743
+#: flatcamEditors/FlatCAMExcEditor.py:750
msgid "Value is missing or wrong format. Add it and retry."
msgstr ""
"Valoarea lipsește sau formatul greșit. Adăugați-l și încercați din nou."
@@ -3066,73 +3469,67 @@ msgstr ""
msgid "Click on the Slot Circular Array Start position"
msgstr "Faceți clic pe poziția de pornire a ariei circulare de slotuluri"
-#: flatcamEditors/FlatCAMExcEditor.py:682
-#: flatcamEditors/FlatCAMGrbEditor.py:520
+#: flatcamEditors/FlatCAMExcEditor.py:681
+#: flatcamEditors/FlatCAMGrbEditor.py:519
msgid "The value is mistyped. Check the value."
msgstr "Valoarea este gresită. Verifică ce ai introdus."
-#: flatcamEditors/FlatCAMExcEditor.py:861
+#: flatcamEditors/FlatCAMExcEditor.py:860
msgid "Too many Slots for the selected spacing angle."
msgstr "Prea multe sloturi pentru unghiul de distanțare selectat."
-#: flatcamEditors/FlatCAMExcEditor.py:884
+#: flatcamEditors/FlatCAMExcEditor.py:883
msgid "Done. Slot Array added."
msgstr "Terminat. S-a adăugat aria de sloturi."
-#: flatcamEditors/FlatCAMExcEditor.py:906
+#: flatcamEditors/FlatCAMExcEditor.py:905
msgid "Click on the Drill(s) to resize ..."
msgstr ""
"Click pe operațiunile de găurire care se dorește să fie redimensionate ..."
-#: flatcamEditors/FlatCAMExcEditor.py:936
+#: flatcamEditors/FlatCAMExcEditor.py:935
msgid "Resize drill(s) failed. Please enter a diameter for resize."
msgstr ""
"Redimensionarea operațiunilor de găurire a eșuat. Adaugă o valoare pentru "
"dimetrul la care se face redimensionarea."
-#: flatcamEditors/FlatCAMExcEditor.py:1026
-#: flatcamEditors/FlatCAMExcEditor.py:1095 flatcamGUI/FlatCAMGUI.py:3165
-#: flatcamGUI/FlatCAMGUI.py:3377 flatcamGUI/FlatCAMGUI.py:3591
-msgid "Cancelled."
-msgstr "Anulat."
-
-#: flatcamEditors/FlatCAMExcEditor.py:1116
+#: flatcamEditors/FlatCAMExcEditor.py:1113
msgid "Done. Drill/Slot Resize completed."
msgstr "Executat. Redimensionarea Perforării / slotului finalizată."
-#: flatcamEditors/FlatCAMExcEditor.py:1119
+#: flatcamEditors/FlatCAMExcEditor.py:1116
msgid "Cancelled. No drills/slots selected for resize ..."
msgstr "Anulat. Nu au fost selectate găuri / sloturi pentru redimensionare ..."
-#: flatcamEditors/FlatCAMExcEditor.py:1157
-#: flatcamEditors/FlatCAMGrbEditor.py:1938
+#: flatcamEditors/FlatCAMExcEditor.py:1154
+#: flatcamEditors/FlatCAMGrbEditor.py:1937
msgid "Click on reference location ..."
msgstr "Click pe locatia de referinţă ..."
-#: flatcamEditors/FlatCAMExcEditor.py:1214
+#: flatcamEditors/FlatCAMExcEditor.py:1211
msgid "Done. Drill(s) Move completed."
msgstr "Executat. Operatiile de găurire au fost mutate."
-#: flatcamEditors/FlatCAMExcEditor.py:1322
+#: flatcamEditors/FlatCAMExcEditor.py:1319
msgid "Done. Drill(s) copied."
msgstr "Executat. Operatiile de găurire au fost copiate."
-#: flatcamEditors/FlatCAMExcEditor.py:1555 flatcamGUI/PreferencesUI.py:3551
+#: flatcamEditors/FlatCAMExcEditor.py:1558 flatcamGUI/PreferencesUI.py:3829
msgid "Excellon Editor"
msgstr "Editor Excellon"
-#: flatcamEditors/FlatCAMExcEditor.py:1562
-#: flatcamEditors/FlatCAMGrbEditor.py:2454
+#: flatcamEditors/FlatCAMExcEditor.py:1565
+#: flatcamEditors/FlatCAMGrbEditor.py:2460
msgid "Name:"
msgstr "Nume:"
-#: flatcamEditors/FlatCAMExcEditor.py:1568 flatcamGUI/ObjectUI.py:757
-#: flatcamGUI/ObjectUI.py:1184 flatcamTools/ToolNonCopperClear.py:109
-#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:73
+#: flatcamEditors/FlatCAMExcEditor.py:1571 flatcamGUI/ObjectUI.py:760
+#: flatcamGUI/ObjectUI.py:1463 flatcamTools/ToolNCC.py:120
+#: flatcamTools/ToolPaint.py:115 flatcamTools/ToolSolderPaste.py:75
msgid "Tools Table"
msgstr "Tabela Unelte"
-#: flatcamEditors/FlatCAMExcEditor.py:1570 flatcamGUI/ObjectUI.py:759
+#: flatcamEditors/FlatCAMExcEditor.py:1573 flatcamGUI/ObjectUI.py:762
msgid ""
"Tools in this Excellon object\n"
"when are used for drilling."
@@ -3140,11 +3537,11 @@ msgstr ""
"Burghie (unelte) in acest obiect Excellon\n"
"când se face găurire."
-#: flatcamEditors/FlatCAMExcEditor.py:1590
+#: flatcamEditors/FlatCAMExcEditor.py:1593
msgid "Add/Delete Tool"
msgstr "Adaugă/Șterge Unealta"
-#: flatcamEditors/FlatCAMExcEditor.py:1592
+#: flatcamEditors/FlatCAMExcEditor.py:1595
msgid ""
"Add/Delete a tool to the tool list\n"
"for this Excellon object."
@@ -3152,16 +3549,16 @@ msgstr ""
"Adaugă/Șterge o unealtă la lista de unelte\n"
"pentru acest obiect Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:1604 flatcamGUI/ObjectUI.py:1297
-#: flatcamGUI/PreferencesUI.py:3582
+#: flatcamEditors/FlatCAMExcEditor.py:1607 flatcamGUI/ObjectUI.py:1583
+#: flatcamGUI/PreferencesUI.py:3860
msgid "Diameter for the new tool"
msgstr "Diametru pentru noua unealtă (burghiu, freza)"
-#: flatcamEditors/FlatCAMExcEditor.py:1614
+#: flatcamEditors/FlatCAMExcEditor.py:1617
msgid "Add Tool"
msgstr "Adaugă Unealta"
-#: flatcamEditors/FlatCAMExcEditor.py:1616
+#: flatcamEditors/FlatCAMExcEditor.py:1619
msgid ""
"Add a new tool to the tool list\n"
"with the diameter specified above."
@@ -3169,11 +3566,11 @@ msgstr ""
"Adaugă o unealtă noua la lista de unelte\n"
"cu diametrul specificat deasupra."
-#: flatcamEditors/FlatCAMExcEditor.py:1628
+#: flatcamEditors/FlatCAMExcEditor.py:1631
msgid "Delete Tool"
msgstr "Șterge Unealta"
-#: flatcamEditors/FlatCAMExcEditor.py:1630
+#: flatcamEditors/FlatCAMExcEditor.py:1633
msgid ""
"Delete a tool in the tool list\n"
"by selecting a row in the tool table."
@@ -3181,42 +3578,42 @@ msgstr ""
"Șterge o unealtă in lista de unelte\n"
"prin selectarea unei linii in tabela de unelte."
-#: flatcamEditors/FlatCAMExcEditor.py:1648 flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamEditors/FlatCAMExcEditor.py:1651 flatcamGUI/FlatCAMGUI.py:2004
msgid "Resize Drill(s)"
msgstr "Redimensionare operațiuni de găurire"
-#: flatcamEditors/FlatCAMExcEditor.py:1650
+#: flatcamEditors/FlatCAMExcEditor.py:1653
msgid "Resize a drill or a selection of drills."
msgstr ""
"Redimensionează o operaţie de găurire sau o selecţie de operațiuni de "
"găurire."
-#: flatcamEditors/FlatCAMExcEditor.py:1657
+#: flatcamEditors/FlatCAMExcEditor.py:1660
msgid "Resize Dia"
msgstr "Redimens. Dia"
-#: flatcamEditors/FlatCAMExcEditor.py:1659
+#: flatcamEditors/FlatCAMExcEditor.py:1662
msgid "Diameter to resize to."
msgstr "Diametrul la care se face redimensionarea."
-#: flatcamEditors/FlatCAMExcEditor.py:1670
+#: flatcamEditors/FlatCAMExcEditor.py:1673
msgid "Resize"
msgstr "Redimensionează"
-#: flatcamEditors/FlatCAMExcEditor.py:1672
+#: flatcamEditors/FlatCAMExcEditor.py:1675
msgid "Resize drill(s)"
msgstr "Redimensionează op. de găurire."
-#: flatcamEditors/FlatCAMExcEditor.py:1697 flatcamGUI/FlatCAMGUI.py:1895
-#: flatcamGUI/FlatCAMGUI.py:2147
+#: flatcamEditors/FlatCAMExcEditor.py:1700 flatcamGUI/FlatCAMGUI.py:2003
+#: flatcamGUI/FlatCAMGUI.py:2255
msgid "Add Drill Array"
msgstr "Adaugă o arie de op. găurire"
-#: flatcamEditors/FlatCAMExcEditor.py:1699
+#: flatcamEditors/FlatCAMExcEditor.py:1702
msgid "Add an array of drills (linear or circular array)"
msgstr "Adaugă o arie de operațiuni de găurire (arie lineara sau circulara)."
-#: flatcamEditors/FlatCAMExcEditor.py:1705
+#: flatcamEditors/FlatCAMExcEditor.py:1708
msgid ""
"Select the type of drills array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -3224,43 +3621,48 @@ msgstr ""
"Selectează tipul de arii de operațiuni de găurire.\n"
"Poate fi Liniar X(Y) sau Circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1708
-#: flatcamEditors/FlatCAMExcEditor.py:1922
-#: flatcamEditors/FlatCAMGrbEditor.py:2766
+#: flatcamEditors/FlatCAMExcEditor.py:1711
+#: flatcamEditors/FlatCAMExcEditor.py:1925
+#: flatcamEditors/FlatCAMGrbEditor.py:2772
msgid "Linear"
msgstr "Liniar"
-#: flatcamEditors/FlatCAMExcEditor.py:1709
-#: flatcamEditors/FlatCAMExcEditor.py:1923
-#: flatcamEditors/FlatCAMGrbEditor.py:2767 flatcamGUI/ObjectUI.py:311
-#: flatcamGUI/PreferencesUI.py:5044 flatcamGUI/PreferencesUI.py:7465
-#: flatcamTools/ToolFiducials.py:220 flatcamTools/ToolNonCopperClear.py:221
+#: flatcamEditors/FlatCAMExcEditor.py:1712
+#: flatcamEditors/FlatCAMExcEditor.py:1926
+#: flatcamEditors/FlatCAMGrbEditor.py:2773 flatcamGUI/ObjectUI.py:315
+#: flatcamGUI/PreferencesUI.py:5340 flatcamGUI/PreferencesUI.py:5909
+#: flatcamGUI/PreferencesUI.py:7971 flatcamGUI/PreferencesUI.py:8151
+#: flatcamGUI/PreferencesUI.py:8248 flatcamGUI/PreferencesUI.py:8363
+#: flatcamGUI/PreferencesUI.py:8462 flatcamTools/ToolExtractDrills.py:78
+#: flatcamTools/ToolExtractDrills.py:201 flatcamTools/ToolFiducials.py:220
+#: flatcamTools/ToolNCC.py:221 flatcamTools/ToolPaint.py:204
+#: flatcamTools/ToolPunchGerber.py:89 flatcamTools/ToolPunchGerber.py:229
msgid "Circular"
msgstr "Circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1717 flatcamGUI/PreferencesUI.py:3593
+#: flatcamEditors/FlatCAMExcEditor.py:1720 flatcamGUI/PreferencesUI.py:3871
msgid "Nr of drills"
msgstr "Nr. op. găurire"
-#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/PreferencesUI.py:3595
+#: flatcamEditors/FlatCAMExcEditor.py:1721 flatcamGUI/PreferencesUI.py:3873
msgid "Specify how many drills to be in the array."
msgstr "Specifica cate operațiuni de găurire să fie incluse in arie."
-#: flatcamEditors/FlatCAMExcEditor.py:1736
-#: flatcamEditors/FlatCAMExcEditor.py:1786
-#: flatcamEditors/FlatCAMExcEditor.py:1858
-#: flatcamEditors/FlatCAMExcEditor.py:1951
-#: flatcamEditors/FlatCAMExcEditor.py:2002
-#: flatcamEditors/FlatCAMGrbEditor.py:1572
-#: flatcamEditors/FlatCAMGrbEditor.py:2795
-#: flatcamEditors/FlatCAMGrbEditor.py:2844 flatcamGUI/PreferencesUI.py:3703
+#: flatcamEditors/FlatCAMExcEditor.py:1739
+#: flatcamEditors/FlatCAMExcEditor.py:1789
+#: flatcamEditors/FlatCAMExcEditor.py:1861
+#: flatcamEditors/FlatCAMExcEditor.py:1954
+#: flatcamEditors/FlatCAMExcEditor.py:2005
+#: flatcamEditors/FlatCAMGrbEditor.py:1571
+#: flatcamEditors/FlatCAMGrbEditor.py:2801
+#: flatcamEditors/FlatCAMGrbEditor.py:2850 flatcamGUI/PreferencesUI.py:3981
msgid "Direction"
msgstr "Direcţie"
-#: flatcamEditors/FlatCAMExcEditor.py:1738
-#: flatcamEditors/FlatCAMExcEditor.py:1953
-#: flatcamEditors/FlatCAMGrbEditor.py:2797 flatcamGUI/PreferencesUI.py:2536
-#: flatcamGUI/PreferencesUI.py:3611 flatcamGUI/PreferencesUI.py:3759
+#: flatcamEditors/FlatCAMExcEditor.py:1741
+#: flatcamEditors/FlatCAMExcEditor.py:1956
+#: flatcamEditors/FlatCAMGrbEditor.py:2803 flatcamGUI/PreferencesUI.py:2718
+#: flatcamGUI/PreferencesUI.py:3889 flatcamGUI/PreferencesUI.py:4037
msgid ""
"Direction on which the linear array is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -3272,62 +3674,62 @@ msgstr ""
"- 'Y' - pe axa verticala sau \n"
"- 'Unghi' - un unghi particular pentru inclinatia ariei"
-#: flatcamEditors/FlatCAMExcEditor.py:1745
-#: flatcamEditors/FlatCAMExcEditor.py:1867
-#: flatcamEditors/FlatCAMExcEditor.py:1960
-#: flatcamEditors/FlatCAMGrbEditor.py:2804 flatcamGUI/PreferencesUI.py:2542
-#: flatcamGUI/PreferencesUI.py:3617 flatcamGUI/PreferencesUI.py:3712
-#: flatcamGUI/PreferencesUI.py:3765 flatcamGUI/PreferencesUI.py:5853
+#: flatcamEditors/FlatCAMExcEditor.py:1748
+#: flatcamEditors/FlatCAMExcEditor.py:1870
+#: flatcamEditors/FlatCAMExcEditor.py:1963
+#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2724
+#: flatcamGUI/PreferencesUI.py:3895 flatcamGUI/PreferencesUI.py:3990
+#: flatcamGUI/PreferencesUI.py:4043 flatcamGUI/PreferencesUI.py:6341
#: flatcamTools/ToolFilm.py:256
msgid "X"
msgstr "X"
-#: flatcamEditors/FlatCAMExcEditor.py:1746
-#: flatcamEditors/FlatCAMExcEditor.py:1868
-#: flatcamEditors/FlatCAMExcEditor.py:1961
-#: flatcamEditors/FlatCAMGrbEditor.py:2805 flatcamGUI/PreferencesUI.py:2543
-#: flatcamGUI/PreferencesUI.py:3618 flatcamGUI/PreferencesUI.py:3713
-#: flatcamGUI/PreferencesUI.py:3766 flatcamGUI/PreferencesUI.py:5854
+#: flatcamEditors/FlatCAMExcEditor.py:1749
+#: flatcamEditors/FlatCAMExcEditor.py:1871
+#: flatcamEditors/FlatCAMExcEditor.py:1964
+#: flatcamEditors/FlatCAMGrbEditor.py:2811 flatcamGUI/PreferencesUI.py:2725
+#: flatcamGUI/PreferencesUI.py:3896 flatcamGUI/PreferencesUI.py:3991
+#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:6342
#: flatcamTools/ToolFilm.py:257
msgid "Y"
msgstr "Y"
-#: flatcamEditors/FlatCAMExcEditor.py:1747
-#: flatcamEditors/FlatCAMExcEditor.py:1764
-#: flatcamEditors/FlatCAMExcEditor.py:1798
-#: flatcamEditors/FlatCAMExcEditor.py:1869
-#: flatcamEditors/FlatCAMExcEditor.py:1873
-#: flatcamEditors/FlatCAMExcEditor.py:1962
-#: flatcamEditors/FlatCAMExcEditor.py:1980
-#: flatcamEditors/FlatCAMExcEditor.py:2014
-#: flatcamEditors/FlatCAMGrbEditor.py:2806
-#: flatcamEditors/FlatCAMGrbEditor.py:2823
-#: flatcamEditors/FlatCAMGrbEditor.py:2859 flatcamGUI/PreferencesUI.py:2544
-#: flatcamGUI/PreferencesUI.py:2562 flatcamGUI/PreferencesUI.py:3619
-#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:3714
-#: flatcamGUI/PreferencesUI.py:3719 flatcamGUI/PreferencesUI.py:3767
-#: flatcamGUI/PreferencesUI.py:3788 flatcamGUI/PreferencesUI.py:6246
-#: flatcamTools/ToolDistance.py:66 flatcamTools/ToolDistanceMin.py:68
-#: flatcamTools/ToolTransform.py:63
+#: flatcamEditors/FlatCAMExcEditor.py:1750
+#: flatcamEditors/FlatCAMExcEditor.py:1767
+#: flatcamEditors/FlatCAMExcEditor.py:1801
+#: flatcamEditors/FlatCAMExcEditor.py:1872
+#: flatcamEditors/FlatCAMExcEditor.py:1876
+#: flatcamEditors/FlatCAMExcEditor.py:1965
+#: flatcamEditors/FlatCAMExcEditor.py:1983
+#: flatcamEditors/FlatCAMExcEditor.py:2017
+#: flatcamEditors/FlatCAMGrbEditor.py:2812
+#: flatcamEditors/FlatCAMGrbEditor.py:2829
+#: flatcamEditors/FlatCAMGrbEditor.py:2865 flatcamGUI/PreferencesUI.py:2726
+#: flatcamGUI/PreferencesUI.py:2744 flatcamGUI/PreferencesUI.py:3897
+#: flatcamGUI/PreferencesUI.py:3916 flatcamGUI/PreferencesUI.py:3992
+#: flatcamGUI/PreferencesUI.py:3997 flatcamGUI/PreferencesUI.py:4045
+#: flatcamGUI/PreferencesUI.py:4066 flatcamGUI/PreferencesUI.py:6733
+#: flatcamTools/ToolDistance.py:120 flatcamTools/ToolDistanceMin.py:69
+#: flatcamTools/ToolTransform.py:61
msgid "Angle"
msgstr "Unghi"
-#: flatcamEditors/FlatCAMExcEditor.py:1751
-#: flatcamEditors/FlatCAMExcEditor.py:1966
-#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2550
-#: flatcamGUI/PreferencesUI.py:3625 flatcamGUI/PreferencesUI.py:3773
+#: flatcamEditors/FlatCAMExcEditor.py:1754
+#: flatcamEditors/FlatCAMExcEditor.py:1969
+#: flatcamEditors/FlatCAMGrbEditor.py:2816 flatcamGUI/PreferencesUI.py:2732
+#: flatcamGUI/PreferencesUI.py:3903 flatcamGUI/PreferencesUI.py:4051
msgid "Pitch"
msgstr "Pas"
-#: flatcamEditors/FlatCAMExcEditor.py:1753
-#: flatcamEditors/FlatCAMExcEditor.py:1968
-#: flatcamEditors/FlatCAMGrbEditor.py:2812 flatcamGUI/PreferencesUI.py:2552
-#: flatcamGUI/PreferencesUI.py:3627 flatcamGUI/PreferencesUI.py:3775
+#: flatcamEditors/FlatCAMExcEditor.py:1756
+#: flatcamEditors/FlatCAMExcEditor.py:1971
+#: flatcamEditors/FlatCAMGrbEditor.py:2818 flatcamGUI/PreferencesUI.py:2734
+#: flatcamGUI/PreferencesUI.py:3905 flatcamGUI/PreferencesUI.py:4053
msgid "Pitch = Distance between elements of the array."
msgstr "Pas = Distanta între elementele ariei."
-#: flatcamEditors/FlatCAMExcEditor.py:1766
-#: flatcamEditors/FlatCAMExcEditor.py:1982
+#: flatcamEditors/FlatCAMExcEditor.py:1769
+#: flatcamEditors/FlatCAMExcEditor.py:1985
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -3339,9 +3741,9 @@ msgstr ""
"Val minima este: -360grade.\n"
"Val maxima este: 360.00 grade."
-#: flatcamEditors/FlatCAMExcEditor.py:1787
-#: flatcamEditors/FlatCAMExcEditor.py:2003
-#: flatcamEditors/FlatCAMGrbEditor.py:2846
+#: flatcamEditors/FlatCAMExcEditor.py:1790
+#: flatcamEditors/FlatCAMExcEditor.py:2006
+#: flatcamEditors/FlatCAMGrbEditor.py:2852
msgid ""
"Direction for circular array.Can be CW = clockwise or CCW = counter "
"clockwise."
@@ -3349,38 +3751,38 @@ msgstr ""
"Directia pentru aria circulară. Poate fi CW = in sensul acelor de ceasornic "
"sau CCW = invers acelor de ceasornic."
-#: flatcamEditors/FlatCAMExcEditor.py:1794
-#: flatcamEditors/FlatCAMExcEditor.py:2010
-#: flatcamEditors/FlatCAMGrbEditor.py:2854 flatcamGUI/PreferencesUI.py:2584
-#: flatcamGUI/PreferencesUI.py:3368 flatcamGUI/PreferencesUI.py:3661
-#: flatcamGUI/PreferencesUI.py:3811 flatcamGUI/PreferencesUI.py:4288
+#: flatcamEditors/FlatCAMExcEditor.py:1797
+#: flatcamEditors/FlatCAMExcEditor.py:2013
+#: flatcamEditors/FlatCAMGrbEditor.py:2860 flatcamGUI/PreferencesUI.py:2766
+#: flatcamGUI/PreferencesUI.py:3646 flatcamGUI/PreferencesUI.py:3939
+#: flatcamGUI/PreferencesUI.py:4089 flatcamGUI/PreferencesUI.py:4581
msgid "CW"
msgstr "Orar"
-#: flatcamEditors/FlatCAMExcEditor.py:1795
-#: flatcamEditors/FlatCAMExcEditor.py:2011
-#: flatcamEditors/FlatCAMGrbEditor.py:2855 flatcamGUI/PreferencesUI.py:2585
-#: flatcamGUI/PreferencesUI.py:3369 flatcamGUI/PreferencesUI.py:3662
-#: flatcamGUI/PreferencesUI.py:3812 flatcamGUI/PreferencesUI.py:4289
+#: flatcamEditors/FlatCAMExcEditor.py:1798
+#: flatcamEditors/FlatCAMExcEditor.py:2014
+#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2767
+#: flatcamGUI/PreferencesUI.py:3647 flatcamGUI/PreferencesUI.py:3940
+#: flatcamGUI/PreferencesUI.py:4090 flatcamGUI/PreferencesUI.py:4582
msgid "CCW"
msgstr "Antiorar"
-#: flatcamEditors/FlatCAMExcEditor.py:1799
-#: flatcamEditors/FlatCAMExcEditor.py:2015
-#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2564
-#: flatcamGUI/PreferencesUI.py:2593 flatcamGUI/PreferencesUI.py:3640
-#: flatcamGUI/PreferencesUI.py:3670 flatcamGUI/PreferencesUI.py:3790
-#: flatcamGUI/PreferencesUI.py:3820
+#: flatcamEditors/FlatCAMExcEditor.py:1802
+#: flatcamEditors/FlatCAMExcEditor.py:2018
+#: flatcamEditors/FlatCAMGrbEditor.py:2867 flatcamGUI/PreferencesUI.py:2746
+#: flatcamGUI/PreferencesUI.py:2775 flatcamGUI/PreferencesUI.py:3918
+#: flatcamGUI/PreferencesUI.py:3948 flatcamGUI/PreferencesUI.py:4068
+#: flatcamGUI/PreferencesUI.py:4098
msgid "Angle at which each element in circular array is placed."
msgstr ""
"Unghiul la care fiecare element al ariei circulare este plasat fata de "
"originea ariei."
-#: flatcamEditors/FlatCAMExcEditor.py:1833
+#: flatcamEditors/FlatCAMExcEditor.py:1836
msgid "Slot Parameters"
msgstr "Parametrii pt slot"
-#: flatcamEditors/FlatCAMExcEditor.py:1835
+#: flatcamEditors/FlatCAMExcEditor.py:1838
msgid ""
"Parameters for adding a slot (hole with oval shape)\n"
"either single or as an part of an array."
@@ -3388,16 +3790,16 @@ msgstr ""
"Parametri pentru adăugarea unui slot (gaură cu formă ovală)\n"
"fie single sau ca parte a unei arii."
-#: flatcamEditors/FlatCAMExcEditor.py:1844 flatcamGUI/PreferencesUI.py:3687
-#: flatcamTools/ToolProperties.py:555
+#: flatcamEditors/FlatCAMExcEditor.py:1847 flatcamGUI/PreferencesUI.py:3965
+#: flatcamTools/ToolProperties.py:559
msgid "Length"
msgstr "Lungime"
-#: flatcamEditors/FlatCAMExcEditor.py:1846 flatcamGUI/PreferencesUI.py:3689
+#: flatcamEditors/FlatCAMExcEditor.py:1849 flatcamGUI/PreferencesUI.py:3967
msgid "Length = The length of the slot."
msgstr "Lungime = Lungimea slotului."
-#: flatcamEditors/FlatCAMExcEditor.py:1860 flatcamGUI/PreferencesUI.py:3705
+#: flatcamEditors/FlatCAMExcEditor.py:1863 flatcamGUI/PreferencesUI.py:3983
msgid ""
"Direction on which the slot is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -3409,7 +3811,7 @@ msgstr ""
"- „Y” - axa verticală sau\n"
"- „Unghi” - un unghi personalizat pentru înclinarea slotului"
-#: flatcamEditors/FlatCAMExcEditor.py:1875
+#: flatcamEditors/FlatCAMExcEditor.py:1878
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -3421,15 +3823,15 @@ msgstr ""
"Valoarea minimă este: -360 grade.\n"
"Valoarea maximă este: 360.00 grade."
-#: flatcamEditors/FlatCAMExcEditor.py:1908
+#: flatcamEditors/FlatCAMExcEditor.py:1911
msgid "Slot Array Parameters"
msgstr "Parametri Arie sloturi"
-#: flatcamEditors/FlatCAMExcEditor.py:1910
+#: flatcamEditors/FlatCAMExcEditor.py:1913
msgid "Parameters for the array of slots (linear or circular array)"
msgstr "Parametri pentru Aria de sloturi (arie circulară sau liniară)"
-#: flatcamEditors/FlatCAMExcEditor.py:1919
+#: flatcamEditors/FlatCAMExcEditor.py:1922
msgid ""
"Select the type of slot array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -3437,15 +3839,15 @@ msgstr ""
"Selectați tipul de slot pentru creare.\n"
"Poate fi liniar X (Y) sau circular"
-#: flatcamEditors/FlatCAMExcEditor.py:1931 flatcamGUI/PreferencesUI.py:3744
+#: flatcamEditors/FlatCAMExcEditor.py:1934 flatcamGUI/PreferencesUI.py:4022
msgid "Nr of slots"
msgstr "Nr de sloturi"
-#: flatcamEditors/FlatCAMExcEditor.py:1932 flatcamGUI/PreferencesUI.py:3746
+#: flatcamEditors/FlatCAMExcEditor.py:1935 flatcamGUI/PreferencesUI.py:4024
msgid "Specify how many slots to be in the array."
msgstr "Specificați câte sloturi trebuie să fie în arie."
-#: flatcamEditors/FlatCAMExcEditor.py:2546
+#: flatcamEditors/FlatCAMExcEditor.py:2571
msgid ""
"Tool already in the original or actual tool list.\n"
"Save and reedit Excellon if you need to add this tool. "
@@ -3454,52 +3856,52 @@ msgstr ""
"Salvează și reeditează obiectul Excellon dacă ai nevoie să adaugi această "
"unealtă. "
-#: flatcamEditors/FlatCAMExcEditor.py:2555 flatcamGUI/FlatCAMGUI.py:3792
+#: flatcamEditors/FlatCAMExcEditor.py:2580 flatcamGUI/FlatCAMGUI.py:4009
msgid "Added new tool with dia"
msgstr "O nouă unealtă este adăugată cu diametrul"
-#: flatcamEditors/FlatCAMExcEditor.py:2589
+#: flatcamEditors/FlatCAMExcEditor.py:2613
msgid "Select a tool in Tool Table"
msgstr "Selectează o unealtă in Tabela de Unelte"
-#: flatcamEditors/FlatCAMExcEditor.py:2622
+#: flatcamEditors/FlatCAMExcEditor.py:2643
msgid "Deleted tool with diameter"
msgstr "Unealtă ștearsă cu diametrul"
-#: flatcamEditors/FlatCAMExcEditor.py:2772
+#: flatcamEditors/FlatCAMExcEditor.py:2793
msgid "Done. Tool edit completed."
msgstr "Terminat. Editarea uneltei a fost finalizată."
-#: flatcamEditors/FlatCAMExcEditor.py:3324
+#: flatcamEditors/FlatCAMExcEditor.py:3350
msgid "There are no Tools definitions in the file. Aborting Excellon creation."
msgstr ""
"Nu exista definitii de unelte in fişier. Se anulează crearea de obiect "
"Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:3328
+#: flatcamEditors/FlatCAMExcEditor.py:3354
msgid "An internal error has ocurred. See Shell.\n"
msgstr ""
"A apărut o eroare internă. Verifică in TCL Shell pt mai multe detalii.\n"
-#: flatcamEditors/FlatCAMExcEditor.py:3333
+#: flatcamEditors/FlatCAMExcEditor.py:3359
msgid "Creating Excellon."
msgstr "In curs de creere Excellon."
-#: flatcamEditors/FlatCAMExcEditor.py:3347
+#: flatcamEditors/FlatCAMExcEditor.py:3371
msgid "Excellon editing finished."
msgstr "Editarea Excellon a fost terminată."
-#: flatcamEditors/FlatCAMExcEditor.py:3365
+#: flatcamEditors/FlatCAMExcEditor.py:3388
msgid "Cancelled. There is no Tool/Drill selected"
msgstr "Anulat. Nu este selectată nici-o unealtă sau op. de găurire"
-#: flatcamEditors/FlatCAMExcEditor.py:3978
+#: flatcamEditors/FlatCAMExcEditor.py:4001
msgid "Done. Drill(s) deleted."
msgstr "Executat. Operatiile de găurire șterse."
-#: flatcamEditors/FlatCAMExcEditor.py:4051
-#: flatcamEditors/FlatCAMExcEditor.py:4061
-#: flatcamEditors/FlatCAMGrbEditor.py:4853
+#: flatcamEditors/FlatCAMExcEditor.py:4074
+#: flatcamEditors/FlatCAMExcEditor.py:4084
+#: flatcamEditors/FlatCAMGrbEditor.py:4897
msgid "Click on the circular array Center position"
msgstr "Click pe punctul de Centru al ariei circulare"
@@ -3526,18 +3928,24 @@ msgstr ""
"care formează coltul"
#: flatcamEditors/FlatCAMGeoEditor.py:95
-#: flatcamEditors/FlatCAMGrbEditor.py:2622
+#: flatcamEditors/FlatCAMGrbEditor.py:2628
msgid "Round"
msgstr "Rotund"
#: flatcamEditors/FlatCAMGeoEditor.py:96
-#: flatcamEditors/FlatCAMGrbEditor.py:2623 flatcamGUI/PreferencesUI.py:7058
+#: flatcamEditors/FlatCAMGrbEditor.py:2629 flatcamGUI/PreferencesUI.py:5606
+#: flatcamGUI/PreferencesUI.py:6130 flatcamGUI/PreferencesUI.py:7564
+#: flatcamGUI/PreferencesUI.py:8167 flatcamGUI/PreferencesUI.py:8274
+#: flatcamGUI/PreferencesUI.py:8379 flatcamGUI/PreferencesUI.py:8488
+#: flatcamTools/ToolExtractDrills.py:94 flatcamTools/ToolExtractDrills.py:227
+#: flatcamTools/ToolNCC.py:583 flatcamTools/ToolPaint.py:527
+#: flatcamTools/ToolPunchGerber.py:105 flatcamTools/ToolPunchGerber.py:255
#: flatcamTools/ToolQRCode.py:198
msgid "Square"
msgstr "Patrat"
#: flatcamEditors/FlatCAMGeoEditor.py:97
-#: flatcamEditors/FlatCAMGrbEditor.py:2624
+#: flatcamEditors/FlatCAMGrbEditor.py:2630
msgid "Beveled"
msgstr "Beveled"
@@ -3554,18 +3962,18 @@ msgid "Full Buffer"
msgstr "Bufer complet"
#: flatcamEditors/FlatCAMGeoEditor.py:133
-#: flatcamEditors/FlatCAMGeoEditor.py:2885 flatcamGUI/FlatCAMGUI.py:1805
-#: flatcamGUI/PreferencesUI.py:2604
+#: flatcamEditors/FlatCAMGeoEditor.py:3018 flatcamGUI/FlatCAMGUI.py:1913
+#: flatcamGUI/PreferencesUI.py:2786
msgid "Buffer Tool"
msgstr "Unealta Bufer"
#: flatcamEditors/FlatCAMGeoEditor.py:145
#: flatcamEditors/FlatCAMGeoEditor.py:162
#: flatcamEditors/FlatCAMGeoEditor.py:179
-#: flatcamEditors/FlatCAMGeoEditor.py:2904
-#: flatcamEditors/FlatCAMGeoEditor.py:2934
-#: flatcamEditors/FlatCAMGeoEditor.py:2964
-#: flatcamEditors/FlatCAMGrbEditor.py:4906
+#: flatcamEditors/FlatCAMGeoEditor.py:3037
+#: flatcamEditors/FlatCAMGeoEditor.py:3065
+#: flatcamEditors/FlatCAMGeoEditor.py:3093
+#: flatcamEditors/FlatCAMGrbEditor.py:4950
msgid "Buffer distance value is missing or wrong format. Add it and retry."
msgstr ""
"Valoarea distantei bufer lipseste sau este intr-un format gresit. Adaugă din "
@@ -3575,7 +3983,7 @@ msgstr ""
msgid "Font"
msgstr "Font"
-#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2085
+#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2193
msgid "Text"
msgstr "Text"
@@ -3583,209 +3991,112 @@ msgstr "Text"
msgid "Text Tool"
msgstr "Unealta Text"
-#: flatcamEditors/FlatCAMGeoEditor.py:442 flatcamGUI/ObjectUI.py:359
-#: flatcamGUI/PreferencesUI.py:2025 flatcamGUI/PreferencesUI.py:3875
-#: flatcamGUI/PreferencesUI.py:5535
+#: flatcamEditors/FlatCAMGeoEditor.py:440 flatcamGUI/ObjectUI.py:363
+#: flatcamGUI/PreferencesUI.py:2205
msgid "Tool dia"
msgstr "Dia unealtă"
-#: flatcamEditors/FlatCAMGeoEditor.py:444 flatcamGUI/PreferencesUI.py:5537
+#: flatcamEditors/FlatCAMGeoEditor.py:442
+msgid "Diameter of the tool to be used in the operation."
+msgstr "Diametrul uneltei care este utilizata in operaţie."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:488
msgid ""
-"Diameter of the tool to\n"
-"be used in the operation."
+"Algorithm to paint the polygons:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
msgstr ""
-"Diametrul uneltei care este utilizata in operaţie. \n"
-"Este și lăţimea de tăiere pentru uneltele cilindrice."
+"Algoritm pentru picture poligoane:\n"
+"- Standard: pas fix spre interior.\n"
+"- Semințe: înspre exterior porning de la punctul sămanță.\n"
+"- Linii: linii paralele."
-#: flatcamEditors/FlatCAMGeoEditor.py:455 flatcamGUI/PreferencesUI.py:5152
-#: flatcamGUI/PreferencesUI.py:5567 flatcamTools/ToolNonCopperClear.py:319
-#: flatcamTools/ToolPaint.py:219
-msgid "Overlap Rate"
-msgstr "Rată suprapunere"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:457 flatcamGUI/PreferencesUI.py:5569
-#: flatcamTools/ToolPaint.py:221
-msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be painted are still \n"
-"not painted.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
-msgstr ""
-"Cat de mult (fracţie) din diametrul uneltei să se suprapună la fiecare "
-"trecere a uneltei.\n"
-"Ajustează valoarea incepand de la valori mici și pe urma creste daca ariile "
-"care ar trebui\n"
-" >pictate< inca nu sunt procesate.\n"
-"Valori scazute = procesare rapida,execuţie rapida a PCB-ului.\n"
-"Valori mari= procesare lenta cat și o execuţie la fel de lenta a PCB-ului,\n"
-"datorita numărului mai mare de treceri-tăiere."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:475 flatcamGUI/PreferencesUI.py:5171
-#: flatcamGUI/PreferencesUI.py:5384 flatcamGUI/PreferencesUI.py:5587
-#: flatcamGUI/PreferencesUI.py:7175 flatcamGUI/PreferencesUI.py:7332
-#: flatcamGUI/PreferencesUI.py:7417 flatcamTools/ToolCopperThieving.py:111
-#: flatcamTools/ToolCopperThieving.py:361 flatcamTools/ToolCutOut.py:184
-#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolNonCopperClear.py:337
-#: flatcamTools/ToolPaint.py:238
-msgid "Margin"
-msgstr "Margine"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:5589
-#: flatcamTools/ToolPaint.py:240
-msgid ""
-"Distance by which to avoid\n"
-"the edges of the polygon to\n"
-"be painted."
-msgstr ""
-"Distanta fata de marginile\n"
-"poligonului care trebuie\n"
-"să fie >pictat<."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/PreferencesUI.py:5184
-#: flatcamGUI/PreferencesUI.py:5602 flatcamTools/ToolNonCopperClear.py:348
-#: flatcamTools/ToolPaint.py:251
-msgid "Method"
-msgstr "Metodă"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:491
-msgid ""
-"Algorithm to paint the polygon:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed."
-msgstr ""
-"Algoritm pentru a picta poligonul
Standard: Pas fix spre interior."
-"
Samanta: Spre exterior pornind de la un punct-samanta."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/PreferencesUI.py:5193
-#: flatcamGUI/PreferencesUI.py:5611 flatcamTools/ToolNonCopperClear.py:357
-#: flatcamTools/ToolPaint.py:260
-msgid "Standard"
-msgstr "Standard"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:497 flatcamGUI/PreferencesUI.py:5194
-#: flatcamGUI/PreferencesUI.py:5612 flatcamTools/ToolNonCopperClear.py:358
-#: flatcamTools/ToolPaint.py:261
-msgid "Seed-based"
-msgstr "Punct-samanta"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/PreferencesUI.py:5195
-#: flatcamGUI/PreferencesUI.py:5613 flatcamTools/ToolNonCopperClear.py:359
-#: flatcamTools/ToolPaint.py:262
-msgid "Straight lines"
-msgstr "Linii drepte"
-
-#: flatcamEditors/FlatCAMGeoEditor.py:505
+#: flatcamEditors/FlatCAMGeoEditor.py:507
msgid "Connect:"
msgstr "Conectează:"
-#: flatcamEditors/FlatCAMGeoEditor.py:507 flatcamGUI/PreferencesUI.py:5204
-#: flatcamGUI/PreferencesUI.py:5620 flatcamTools/ToolNonCopperClear.py:366
-#: flatcamTools/ToolPaint.py:269
-msgid ""
-"Draw lines between resulting\n"
-"segments to minimize tool lifts."
-msgstr ""
-"Desenează linii între segmentele\n"
-"rezultate pentru a minimiza miscarile\n"
-"de ridicare a uneltei."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:515
+#: flatcamEditors/FlatCAMGeoEditor.py:517
msgid "Contour:"
msgstr "Contur:"
-#: flatcamEditors/FlatCAMGeoEditor.py:517 flatcamGUI/PreferencesUI.py:5213
-#: flatcamGUI/PreferencesUI.py:5628 flatcamTools/ToolNonCopperClear.py:373
-#: flatcamTools/ToolPaint.py:276
-msgid ""
-"Cut around the perimeter of the polygon\n"
-"to trim rough edges."
-msgstr ""
-"Taie de-a lungul perimetrului poligonului\n"
-"pentru a elimina bavurile."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:2089
+#: flatcamEditors/FlatCAMGeoEditor.py:530 flatcamGUI/FlatCAMGUI.py:2197
msgid "Paint"
msgstr "Pictează"
-#: flatcamEditors/FlatCAMGeoEditor.py:547 flatcamGUI/FlatCAMGUI.py:845
-#: flatcamGUI/FlatCAMGUI.py:2423 flatcamGUI/ObjectUI.py:1731
-#: flatcamTools/ToolPaint.py:41 flatcamTools/ToolPaint.py:533
+#: flatcamEditors/FlatCAMGeoEditor.py:548 flatcamGUI/FlatCAMGUI.py:909
+#: flatcamGUI/FlatCAMGUI.py:2588 flatcamGUI/ObjectUI.py:2057
+#: flatcamTools/ToolPaint.py:43 flatcamTools/ToolPaint.py:738
msgid "Paint Tool"
msgstr "Unealta Paint"
#: flatcamEditors/FlatCAMGeoEditor.py:584
-msgid "Paint cancelled. No shape selected."
-msgstr "Operaţie Paint anulată. Nici-o forma selectată."
+#: flatcamEditors/FlatCAMGeoEditor.py:1056
+#: flatcamEditors/FlatCAMGeoEditor.py:3025
+#: flatcamEditors/FlatCAMGeoEditor.py:3053
+#: flatcamEditors/FlatCAMGeoEditor.py:3081
+#: flatcamEditors/FlatCAMGeoEditor.py:4502
+#: flatcamEditors/FlatCAMGrbEditor.py:5601
+msgid "Cancelled. No shape selected."
+msgstr "Anulat. Nici-o forma geometrică nu este selectată."
#: flatcamEditors/FlatCAMGeoEditor.py:597
-#: flatcamEditors/FlatCAMGeoEditor.py:2910
-#: flatcamEditors/FlatCAMGeoEditor.py:2940
-#: flatcamEditors/FlatCAMGeoEditor.py:2970 flatcamGUI/PreferencesUI.py:3871
-#: flatcamTools/ToolProperties.py:120 flatcamTools/ToolProperties.py:158
+#: flatcamEditors/FlatCAMGeoEditor.py:3043
+#: flatcamEditors/FlatCAMGeoEditor.py:3071
+#: flatcamEditors/FlatCAMGeoEditor.py:3099 flatcamGUI/PreferencesUI.py:4149
+#: flatcamTools/ToolProperties.py:117 flatcamTools/ToolProperties.py:162
msgid "Tools"
msgstr "Unelte"
#: flatcamEditors/FlatCAMGeoEditor.py:608
#: flatcamEditors/FlatCAMGeoEditor.py:992
-#: flatcamEditors/FlatCAMGrbEditor.py:5096
-#: flatcamEditors/FlatCAMGrbEditor.py:5493 flatcamGUI/FlatCAMGUI.py:866
-#: flatcamGUI/FlatCAMGUI.py:2441 flatcamTools/ToolTransform.py:422
+#: flatcamEditors/FlatCAMGrbEditor.py:5140
+#: flatcamEditors/FlatCAMGrbEditor.py:5537 flatcamGUI/FlatCAMGUI.py:930
+#: flatcamGUI/FlatCAMGUI.py:2609 flatcamTools/ToolTransform.py:461
msgid "Transform Tool"
msgstr "Unealta Transformare"
#: flatcamEditors/FlatCAMGeoEditor.py:609
#: flatcamEditors/FlatCAMGeoEditor.py:674
-#: flatcamEditors/FlatCAMGrbEditor.py:5097
-#: flatcamEditors/FlatCAMGrbEditor.py:5162 flatcamGUI/PreferencesUI.py:6238
-#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:80
+#: flatcamEditors/FlatCAMGrbEditor.py:5141
+#: flatcamEditors/FlatCAMGrbEditor.py:5206 flatcamGUI/PreferencesUI.py:6725
+#: flatcamTools/ToolTransform.py:25 flatcamTools/ToolTransform.py:467
msgid "Rotate"
msgstr "Rotaţie"
#: flatcamEditors/FlatCAMGeoEditor.py:610
-#: flatcamEditors/FlatCAMGrbEditor.py:5098 flatcamTools/ToolTransform.py:26
+#: flatcamEditors/FlatCAMGrbEditor.py:5142 flatcamTools/ToolTransform.py:26
msgid "Skew/Shear"
msgstr "Deformare"
#: flatcamEditors/FlatCAMGeoEditor.py:611
-#: flatcamEditors/FlatCAMGrbEditor.py:2671
-#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/FlatCAMGUI.py:980
-#: flatcamGUI/FlatCAMGUI.py:2017 flatcamGUI/FlatCAMGUI.py:2132
-#: flatcamGUI/FlatCAMGUI.py:2549 flatcamGUI/ObjectUI.py:103
-#: flatcamGUI/ObjectUI.py:121 flatcamGUI/PreferencesUI.py:6288
-#: flatcamTools/ToolTransform.py:27
+#: flatcamEditors/FlatCAMGrbEditor.py:2677
+#: flatcamEditors/FlatCAMGrbEditor.py:5143 flatcamGUI/FlatCAMGUI.py:1048
+#: flatcamGUI/FlatCAMGUI.py:2125 flatcamGUI/FlatCAMGUI.py:2240
+#: flatcamGUI/FlatCAMGUI.py:2723 flatcamGUI/ObjectUI.py:124
+#: flatcamGUI/PreferencesUI.py:6775 flatcamTools/ToolTransform.py:27
msgid "Scale"
msgstr "Scalare"
#: flatcamEditors/FlatCAMGeoEditor.py:612
-#: flatcamEditors/FlatCAMGrbEditor.py:5100 flatcamTools/ToolTransform.py:28
+#: flatcamEditors/FlatCAMGrbEditor.py:5144 flatcamTools/ToolTransform.py:28
msgid "Mirror (Flip)"
msgstr "Oglindire"
-#: flatcamEditors/FlatCAMGeoEditor.py:613
-#: flatcamEditors/FlatCAMGrbEditor.py:5101 flatcamGUI/ObjectUI.py:132
-#: flatcamGUI/ObjectUI.py:148 flatcamGUI/ObjectUI.py:1217
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/PreferencesUI.py:5234
-#: flatcamGUI/PreferencesUI.py:6335 flatcamTools/ToolNonCopperClear.py:393
-#: flatcamTools/ToolTransform.py:29
-msgid "Offset"
-msgstr "Ofset"
-
#: flatcamEditors/FlatCAMGeoEditor.py:626
-#: flatcamEditors/FlatCAMGrbEditor.py:5114 flatcamGUI/FlatCAMGUI.py:787
-#: flatcamGUI/FlatCAMGUI.py:2370
+#: flatcamEditors/FlatCAMGrbEditor.py:5158 flatcamGUI/FlatCAMGUI.py:841
+#: flatcamGUI/FlatCAMGUI.py:2524
msgid "Editor"
msgstr "Editor"
#: flatcamEditors/FlatCAMGeoEditor.py:658
-#: flatcamEditors/FlatCAMGrbEditor.py:5146
+#: flatcamEditors/FlatCAMGrbEditor.py:5190
msgid "Angle:"
msgstr "Unghi:"
#: flatcamEditors/FlatCAMGeoEditor.py:660
-#: flatcamEditors/FlatCAMGrbEditor.py:5148 flatcamGUI/PreferencesUI.py:6248
-#: flatcamTools/ToolTransform.py:65
+#: flatcamEditors/FlatCAMGrbEditor.py:5192 flatcamGUI/PreferencesUI.py:6735
+#: flatcamTools/ToolTransform.py:63
msgid ""
"Angle for Rotation action, in degrees.\n"
"Float number between -360 and 359.\n"
@@ -3797,7 +4108,7 @@ msgstr ""
"Numerele negative inseamna o mișcare in sens invers ace ceasornic."
#: flatcamEditors/FlatCAMGeoEditor.py:676
-#: flatcamEditors/FlatCAMGrbEditor.py:5164
+#: flatcamEditors/FlatCAMGrbEditor.py:5208
msgid ""
"Rotate the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3809,16 +4120,16 @@ msgstr ""
"toate formele selectate."
#: flatcamEditors/FlatCAMGeoEditor.py:699
-#: flatcamEditors/FlatCAMGrbEditor.py:5187
+#: flatcamEditors/FlatCAMGrbEditor.py:5231
msgid "Angle X:"
msgstr "Unghi X:"
#: flatcamEditors/FlatCAMGeoEditor.py:701
#: flatcamEditors/FlatCAMGeoEditor.py:721
-#: flatcamEditors/FlatCAMGrbEditor.py:5189
-#: flatcamEditors/FlatCAMGrbEditor.py:5209 flatcamGUI/PreferencesUI.py:6267
-#: flatcamGUI/PreferencesUI.py:6281 flatcamTools/ToolCalibration.py:508
-#: flatcamTools/ToolCalibration.py:521
+#: flatcamEditors/FlatCAMGrbEditor.py:5233
+#: flatcamEditors/FlatCAMGrbEditor.py:5253 flatcamGUI/PreferencesUI.py:6754
+#: flatcamGUI/PreferencesUI.py:6768 flatcamTools/ToolCalibration.py:505
+#: flatcamTools/ToolCalibration.py:518
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 359."
@@ -3827,14 +4138,14 @@ msgstr ""
"Ia valori Reale între -360 and 359 grade."
#: flatcamEditors/FlatCAMGeoEditor.py:712
-#: flatcamEditors/FlatCAMGrbEditor.py:5200 flatcamTools/ToolTransform.py:109
+#: flatcamEditors/FlatCAMGrbEditor.py:5244 flatcamTools/ToolTransform.py:468
msgid "Skew X"
msgstr "Deformare X"
#: flatcamEditors/FlatCAMGeoEditor.py:714
#: flatcamEditors/FlatCAMGeoEditor.py:734
-#: flatcamEditors/FlatCAMGrbEditor.py:5202
-#: flatcamEditors/FlatCAMGrbEditor.py:5222
+#: flatcamEditors/FlatCAMGrbEditor.py:5246
+#: flatcamEditors/FlatCAMGrbEditor.py:5266
msgid ""
"Skew/shear the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3846,34 +4157,34 @@ msgstr ""
"toate formele selectate."
#: flatcamEditors/FlatCAMGeoEditor.py:719
-#: flatcamEditors/FlatCAMGrbEditor.py:5207
+#: flatcamEditors/FlatCAMGrbEditor.py:5251
msgid "Angle Y:"
msgstr "Unghi Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:732
-#: flatcamEditors/FlatCAMGrbEditor.py:5220 flatcamTools/ToolTransform.py:131
+#: flatcamEditors/FlatCAMGrbEditor.py:5264 flatcamTools/ToolTransform.py:469
msgid "Skew Y"
msgstr "Deformare Y"
#: flatcamEditors/FlatCAMGeoEditor.py:760
-#: flatcamEditors/FlatCAMGrbEditor.py:5248
+#: flatcamEditors/FlatCAMGrbEditor.py:5292
msgid "Factor X:"
msgstr "Factor X:"
#: flatcamEditors/FlatCAMGeoEditor.py:762
-#: flatcamEditors/FlatCAMGrbEditor.py:5250 flatcamTools/ToolCalibration.py:472
+#: flatcamEditors/FlatCAMGrbEditor.py:5294 flatcamTools/ToolCalibration.py:469
msgid "Factor for Scale action over X axis."
msgstr "Factor pentru scalarea pe axa X."
#: flatcamEditors/FlatCAMGeoEditor.py:772
-#: flatcamEditors/FlatCAMGrbEditor.py:5260 flatcamTools/ToolTransform.py:158
+#: flatcamEditors/FlatCAMGrbEditor.py:5304 flatcamTools/ToolTransform.py:470
msgid "Scale X"
msgstr "Scalează X"
#: flatcamEditors/FlatCAMGeoEditor.py:774
#: flatcamEditors/FlatCAMGeoEditor.py:793
-#: flatcamEditors/FlatCAMGrbEditor.py:5262
-#: flatcamEditors/FlatCAMGrbEditor.py:5281
+#: flatcamEditors/FlatCAMGrbEditor.py:5306
+#: flatcamEditors/FlatCAMGrbEditor.py:5325
msgid ""
"Scale the selected shape(s).\n"
"The point of reference depends on \n"
@@ -3884,28 +4195,28 @@ msgstr ""
"starea checkbox-ului >Referința scalare<."
#: flatcamEditors/FlatCAMGeoEditor.py:779
-#: flatcamEditors/FlatCAMGrbEditor.py:5267
+#: flatcamEditors/FlatCAMGrbEditor.py:5311
msgid "Factor Y:"
msgstr "Factor Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:781
-#: flatcamEditors/FlatCAMGrbEditor.py:5269 flatcamTools/ToolCalibration.py:484
+#: flatcamEditors/FlatCAMGrbEditor.py:5313 flatcamTools/ToolCalibration.py:481
msgid "Factor for Scale action over Y axis."
msgstr "Factor pentru scalarea pe axa Y."
#: flatcamEditors/FlatCAMGeoEditor.py:791
-#: flatcamEditors/FlatCAMGrbEditor.py:5279 flatcamTools/ToolTransform.py:179
+#: flatcamEditors/FlatCAMGrbEditor.py:5323 flatcamTools/ToolTransform.py:471
msgid "Scale Y"
msgstr "Scalează Y"
#: flatcamEditors/FlatCAMGeoEditor.py:800
-#: flatcamEditors/FlatCAMGrbEditor.py:5288 flatcamGUI/PreferencesUI.py:6317
-#: flatcamTools/ToolTransform.py:192
+#: flatcamEditors/FlatCAMGrbEditor.py:5332 flatcamGUI/PreferencesUI.py:6804
+#: flatcamTools/ToolTransform.py:190
msgid "Link"
msgstr "Legatura"
#: flatcamEditors/FlatCAMGeoEditor.py:802
-#: flatcamEditors/FlatCAMGrbEditor.py:5290
+#: flatcamEditors/FlatCAMGrbEditor.py:5334
msgid ""
"Scale the selected shape(s)\n"
"using the Scale Factor X for both axis."
@@ -3914,13 +4225,13 @@ msgstr ""
"folsoind factorul: Factor X pentru ambele axe."
#: flatcamEditors/FlatCAMGeoEditor.py:808
-#: flatcamEditors/FlatCAMGrbEditor.py:5296 flatcamGUI/PreferencesUI.py:6325
-#: flatcamTools/ToolTransform.py:200
+#: flatcamEditors/FlatCAMGrbEditor.py:5340 flatcamGUI/PreferencesUI.py:6812
+#: flatcamTools/ToolTransform.py:197
msgid "Scale Reference"
msgstr "Referința scalare"
#: flatcamEditors/FlatCAMGeoEditor.py:810
-#: flatcamEditors/FlatCAMGrbEditor.py:5298
+#: flatcamEditors/FlatCAMGrbEditor.py:5342
msgid ""
"Scale the selected shape(s)\n"
"using the origin reference when checked,\n"
@@ -3934,24 +4245,24 @@ msgstr ""
"bifat și este originea când este bifat."
#: flatcamEditors/FlatCAMGeoEditor.py:838
-#: flatcamEditors/FlatCAMGrbEditor.py:5327
+#: flatcamEditors/FlatCAMGrbEditor.py:5371
msgid "Value X:"
msgstr "Valoare X:"
#: flatcamEditors/FlatCAMGeoEditor.py:840
-#: flatcamEditors/FlatCAMGrbEditor.py:5329
+#: flatcamEditors/FlatCAMGrbEditor.py:5373
msgid "Value for Offset action on X axis."
msgstr "Valoare pentru deplasarea pe axa X."
#: flatcamEditors/FlatCAMGeoEditor.py:850
-#: flatcamEditors/FlatCAMGrbEditor.py:5339 flatcamTools/ToolTransform.py:227
+#: flatcamEditors/FlatCAMGrbEditor.py:5383 flatcamTools/ToolTransform.py:474
msgid "Offset X"
msgstr "Ofset pe X"
#: flatcamEditors/FlatCAMGeoEditor.py:852
#: flatcamEditors/FlatCAMGeoEditor.py:872
-#: flatcamEditors/FlatCAMGrbEditor.py:5341
-#: flatcamEditors/FlatCAMGrbEditor.py:5361
+#: flatcamEditors/FlatCAMGrbEditor.py:5385
+#: flatcamEditors/FlatCAMGrbEditor.py:5405
msgid ""
"Offset the selected shape(s).\n"
"The point of reference is the middle of\n"
@@ -3963,29 +4274,29 @@ msgstr ""
"toate formele selectate.\n"
#: flatcamEditors/FlatCAMGeoEditor.py:858
-#: flatcamEditors/FlatCAMGrbEditor.py:5347
+#: flatcamEditors/FlatCAMGrbEditor.py:5391
msgid "Value Y:"
msgstr "Valoare Y:"
#: flatcamEditors/FlatCAMGeoEditor.py:860
-#: flatcamEditors/FlatCAMGrbEditor.py:5349
+#: flatcamEditors/FlatCAMGrbEditor.py:5393
msgid "Value for Offset action on Y axis."
msgstr "Valoare pentru deplasarea pe axa Y."
#: flatcamEditors/FlatCAMGeoEditor.py:870
-#: flatcamEditors/FlatCAMGrbEditor.py:5359 flatcamTools/ToolTransform.py:248
+#: flatcamEditors/FlatCAMGrbEditor.py:5403 flatcamTools/ToolTransform.py:475
msgid "Offset Y"
msgstr "Ofset pe Y"
#: flatcamEditors/FlatCAMGeoEditor.py:901
-#: flatcamEditors/FlatCAMGrbEditor.py:5390 flatcamTools/ToolTransform.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:5434 flatcamTools/ToolTransform.py:476
msgid "Flip on X"
msgstr "Oglindește pe X"
#: flatcamEditors/FlatCAMGeoEditor.py:903
#: flatcamEditors/FlatCAMGeoEditor.py:910
-#: flatcamEditors/FlatCAMGrbEditor.py:5392
-#: flatcamEditors/FlatCAMGrbEditor.py:5399
+#: flatcamEditors/FlatCAMGrbEditor.py:5436
+#: flatcamEditors/FlatCAMGrbEditor.py:5443
msgid ""
"Flip the selected shape(s) over the X axis.\n"
"Does not create a new shape."
@@ -3994,17 +4305,17 @@ msgstr ""
"Nu crează noi forme."
#: flatcamEditors/FlatCAMGeoEditor.py:908
-#: flatcamEditors/FlatCAMGrbEditor.py:5397 flatcamTools/ToolTransform.py:272
+#: flatcamEditors/FlatCAMGrbEditor.py:5441 flatcamTools/ToolTransform.py:477
msgid "Flip on Y"
msgstr "Oglindește pe Y"
#: flatcamEditors/FlatCAMGeoEditor.py:916
-#: flatcamEditors/FlatCAMGrbEditor.py:5405
+#: flatcamEditors/FlatCAMGrbEditor.py:5449
msgid "Ref Pt"
msgstr "Pt ref"
#: flatcamEditors/FlatCAMGeoEditor.py:918
-#: flatcamEditors/FlatCAMGrbEditor.py:5407
+#: flatcamEditors/FlatCAMGrbEditor.py:5451
msgid ""
"Flip the selected shape(s)\n"
"around the point in Point Entry Field.\n"
@@ -4028,12 +4339,12 @@ msgstr ""
"La final click pe >Oglindește pe X(Y)<."
#: flatcamEditors/FlatCAMGeoEditor.py:930
-#: flatcamEditors/FlatCAMGrbEditor.py:5419
+#: flatcamEditors/FlatCAMGrbEditor.py:5463
msgid "Point:"
msgstr "Punct:"
#: flatcamEditors/FlatCAMGeoEditor.py:932
-#: flatcamEditors/FlatCAMGrbEditor.py:5421 flatcamTools/ToolTransform.py:301
+#: flatcamEditors/FlatCAMGrbEditor.py:5465 flatcamTools/ToolTransform.py:300
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
@@ -4044,7 +4355,7 @@ msgstr ""
"și valoarea 'y' in (x, y) va fi folosita când se face oglindire pe Y."
#: flatcamEditors/FlatCAMGeoEditor.py:942
-#: flatcamEditors/FlatCAMGrbEditor.py:5433 flatcamTools/ToolTransform.py:312
+#: flatcamEditors/FlatCAMGrbEditor.py:5477 flatcamTools/ToolTransform.py:310
msgid ""
"The point coordinates can be captured by\n"
"left click on canvas together with pressing\n"
@@ -4055,360 +4366,360 @@ msgstr ""
"tasta SHIFT.\n"
"La final, apasa butonul >Adaugă< pt a le insera."
-#: flatcamEditors/FlatCAMGeoEditor.py:1057
-#: flatcamEditors/FlatCAMGrbEditor.py:5558
-msgid "Transformation cancelled. No shape selected."
-msgstr "Transformare anulată. Nici-o formă nu este selectată."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:1258
-#: flatcamEditors/FlatCAMGrbEditor.py:5742
+#: flatcamEditors/FlatCAMGeoEditor.py:1305
+#: flatcamEditors/FlatCAMGrbEditor.py:5785
msgid "No shape selected. Please Select a shape to rotate!"
msgstr ""
"Nici-o forma nu este selectată. Selectează o forma pentru a putea face "
"Rotaţie!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1261
-#: flatcamEditors/FlatCAMGrbEditor.py:5745 flatcamTools/ToolTransform.py:611
+#: flatcamEditors/FlatCAMGeoEditor.py:1308
+#: flatcamEditors/FlatCAMGrbEditor.py:5788 flatcamTools/ToolTransform.py:680
msgid "Appying Rotate"
msgstr "Execuţie Rotaţie"
-#: flatcamEditors/FlatCAMGeoEditor.py:1290
-#: flatcamEditors/FlatCAMGrbEditor.py:5779
+#: flatcamEditors/FlatCAMGeoEditor.py:1334
+#: flatcamEditors/FlatCAMGrbEditor.py:5820
msgid "Done. Rotate completed."
msgstr "Executat. Rotaţie finalizată."
-#: flatcamEditors/FlatCAMGeoEditor.py:1295
+#: flatcamEditors/FlatCAMGeoEditor.py:1336
msgid "Rotation action was not executed"
msgstr "Actiunea de rotatie nu a fost efectuată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1307
-#: flatcamEditors/FlatCAMGrbEditor.py:5800
+#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGrbEditor.py:5839
msgid "No shape selected. Please Select a shape to flip!"
msgstr ""
"Nici-o formă nu este selectată. Selectează o formă pentru a putea face "
"Oglindire!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1310
-#: flatcamEditors/FlatCAMGrbEditor.py:5803 flatcamTools/ToolTransform.py:664
+#: flatcamEditors/FlatCAMGeoEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:5842 flatcamTools/ToolTransform.py:729
msgid "Applying Flip"
msgstr "Execuţie Oglindire"
-#: flatcamEditors/FlatCAMGeoEditor.py:1341
-#: flatcamEditors/FlatCAMGrbEditor.py:5843 flatcamTools/ToolTransform.py:707
+#: flatcamEditors/FlatCAMGeoEditor.py:1387
+#: flatcamEditors/FlatCAMGrbEditor.py:5880 flatcamTools/ToolTransform.py:770
msgid "Flip on the Y axis done"
msgstr "Oglindire pe axa Y executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1345
-#: flatcamEditors/FlatCAMGrbEditor.py:5852 flatcamTools/ToolTransform.py:717
+#: flatcamEditors/FlatCAMGeoEditor.py:1391
+#: flatcamEditors/FlatCAMGrbEditor.py:5889 flatcamTools/ToolTransform.py:779
msgid "Flip on the X axis done"
msgstr "Oglindire pe axa X executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGeoEditor.py:1399
msgid "Flip action was not executed"
msgstr "Actiunea de oglindire nu a fost efectuată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1365
-#: flatcamEditors/FlatCAMGrbEditor.py:5874
+#: flatcamEditors/FlatCAMGeoEditor.py:1417
+#: flatcamEditors/FlatCAMGrbEditor.py:5909
msgid "No shape selected. Please Select a shape to shear/skew!"
msgstr ""
"Nici-o formă nu este selectată. Selectează o formă pentru a putea face "
"Deformare!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1368
-#: flatcamEditors/FlatCAMGrbEditor.py:5877 flatcamTools/ToolTransform.py:742
+#: flatcamEditors/FlatCAMGeoEditor.py:1420
+#: flatcamEditors/FlatCAMGrbEditor.py:5912 flatcamTools/ToolTransform.py:802
msgid "Applying Skew"
msgstr "Execuţie Deformare"
-#: flatcamEditors/FlatCAMGeoEditor.py:1394
-#: flatcamEditors/FlatCAMGrbEditor.py:5913
+#: flatcamEditors/FlatCAMGeoEditor.py:1443
+#: flatcamEditors/FlatCAMGrbEditor.py:5946
msgid "Skew on the X axis done"
msgstr "Oglindire pe axa X executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1397
-#: flatcamEditors/FlatCAMGrbEditor.py:5915
+#: flatcamEditors/FlatCAMGeoEditor.py:1445
+#: flatcamEditors/FlatCAMGrbEditor.py:5948
msgid "Skew on the Y axis done"
msgstr "Oglindire pe axa Y executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1401
+#: flatcamEditors/FlatCAMGeoEditor.py:1448
msgid "Skew action was not executed"
msgstr "Actiunea de deformare nu a fost efectuată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1413
-#: flatcamEditors/FlatCAMGrbEditor.py:5939
+#: flatcamEditors/FlatCAMGeoEditor.py:1470
+#: flatcamEditors/FlatCAMGrbEditor.py:5970
msgid "No shape selected. Please Select a shape to scale!"
msgstr ""
"Nici-o formă nu este selectată. Selectează o formă pentru a putea face "
"Scalare!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1416
-#: flatcamEditors/FlatCAMGrbEditor.py:5942 flatcamTools/ToolTransform.py:794
+#: flatcamEditors/FlatCAMGeoEditor.py:1473
+#: flatcamEditors/FlatCAMGrbEditor.py:5973 flatcamTools/ToolTransform.py:849
msgid "Applying Scale"
msgstr "Execuţie Scalare"
-#: flatcamEditors/FlatCAMGeoEditor.py:1451
-#: flatcamEditors/FlatCAMGrbEditor.py:5981
+#: flatcamEditors/FlatCAMGeoEditor.py:1505
+#: flatcamEditors/FlatCAMGrbEditor.py:6010
msgid "Scale on the X axis done"
msgstr "Scalarea pe axa X executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1454
-#: flatcamEditors/FlatCAMGrbEditor.py:5983
+#: flatcamEditors/FlatCAMGeoEditor.py:1507
+#: flatcamEditors/FlatCAMGrbEditor.py:6012
msgid "Scale on the Y axis done"
msgstr "Scalarea pe axa Y executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1457
+#: flatcamEditors/FlatCAMGeoEditor.py:1509
msgid "Scale action was not executed"
msgstr "Scalarea nu a fost efectuată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1467
-#: flatcamEditors/FlatCAMGrbEditor.py:6000
+#: flatcamEditors/FlatCAMGeoEditor.py:1524
+#: flatcamEditors/FlatCAMGrbEditor.py:6029
msgid "No shape selected. Please Select a shape to offset!"
msgstr ""
"Nici-o formă nu este selectată. Selectează o formă pentru a putea face Ofset!"
-#: flatcamEditors/FlatCAMGeoEditor.py:1470
-#: flatcamEditors/FlatCAMGrbEditor.py:6003 flatcamTools/ToolTransform.py:849
+#: flatcamEditors/FlatCAMGeoEditor.py:1527
+#: flatcamEditors/FlatCAMGrbEditor.py:6032 flatcamTools/ToolTransform.py:901
msgid "Applying Offset"
msgstr "Execuţie Ofset"
-#: flatcamEditors/FlatCAMGeoEditor.py:1483
-#: flatcamEditors/FlatCAMGrbEditor.py:6024
+#: flatcamEditors/FlatCAMGeoEditor.py:1537
+#: flatcamEditors/FlatCAMGrbEditor.py:6053
msgid "Offset on the X axis done"
msgstr "Ofset pe axa X efectuat"
-#: flatcamEditors/FlatCAMGeoEditor.py:1486
-#: flatcamEditors/FlatCAMGrbEditor.py:6026
+#: flatcamEditors/FlatCAMGeoEditor.py:1539
+#: flatcamEditors/FlatCAMGrbEditor.py:6055
msgid "Offset on the Y axis done"
msgstr "Ofset pe axa Y efectuat"
-#: flatcamEditors/FlatCAMGeoEditor.py:1490
+#: flatcamEditors/FlatCAMGeoEditor.py:1542
msgid "Offset action was not executed"
msgstr "Actiuena de Ofset nu a fost efectuată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1494
-#: flatcamEditors/FlatCAMGrbEditor.py:6033
+#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGrbEditor.py:6062
msgid "Rotate ..."
msgstr "Rotaţie ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1495
-#: flatcamEditors/FlatCAMGeoEditor.py:1550
-#: flatcamEditors/FlatCAMGeoEditor.py:1567
-#: flatcamEditors/FlatCAMGrbEditor.py:6034
-#: flatcamEditors/FlatCAMGrbEditor.py:6083
-#: flatcamEditors/FlatCAMGrbEditor.py:6098
+#: flatcamEditors/FlatCAMGeoEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:1602
+#: flatcamEditors/FlatCAMGeoEditor.py:1619
+#: flatcamEditors/FlatCAMGrbEditor.py:6063
+#: flatcamEditors/FlatCAMGrbEditor.py:6112
+#: flatcamEditors/FlatCAMGrbEditor.py:6127
msgid "Enter an Angle Value (degrees)"
msgstr "Introdu o valoare in grade pt Unghi"
-#: flatcamEditors/FlatCAMGeoEditor.py:1504
-#: flatcamEditors/FlatCAMGrbEditor.py:6042
+#: flatcamEditors/FlatCAMGeoEditor.py:1556
+#: flatcamEditors/FlatCAMGrbEditor.py:6071
msgid "Geometry shape rotate done"
msgstr "Rotatia formei geometrice executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1508
-#: flatcamEditors/FlatCAMGrbEditor.py:6045
+#: flatcamEditors/FlatCAMGeoEditor.py:1560
+#: flatcamEditors/FlatCAMGrbEditor.py:6074
msgid "Geometry shape rotate cancelled"
msgstr "Rotatia formei geometrice anulată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1513
-#: flatcamEditors/FlatCAMGrbEditor.py:6050
+#: flatcamEditors/FlatCAMGeoEditor.py:1565
+#: flatcamEditors/FlatCAMGrbEditor.py:6079
msgid "Offset on X axis ..."
msgstr "Ofset pe axa X ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1514
-#: flatcamEditors/FlatCAMGeoEditor.py:1533
-#: flatcamEditors/FlatCAMGrbEditor.py:6051
-#: flatcamEditors/FlatCAMGrbEditor.py:6068
+#: flatcamEditors/FlatCAMGeoEditor.py:1566
+#: flatcamEditors/FlatCAMGeoEditor.py:1585
+#: flatcamEditors/FlatCAMGrbEditor.py:6080
+#: flatcamEditors/FlatCAMGrbEditor.py:6097
msgid "Enter a distance Value"
msgstr "Introdu of valoare pt Distantă"
-#: flatcamEditors/FlatCAMGeoEditor.py:1523
-#: flatcamEditors/FlatCAMGrbEditor.py:6059
+#: flatcamEditors/FlatCAMGeoEditor.py:1575
+#: flatcamEditors/FlatCAMGrbEditor.py:6088
msgid "Geometry shape offset on X axis done"
msgstr "Ofset pe axa X executat"
-#: flatcamEditors/FlatCAMGeoEditor.py:1527
-#: flatcamEditors/FlatCAMGrbEditor.py:6062
+#: flatcamEditors/FlatCAMGeoEditor.py:1579
+#: flatcamEditors/FlatCAMGrbEditor.py:6091
msgid "Geometry shape offset X cancelled"
msgstr "Ofset pe axa X anulat"
-#: flatcamEditors/FlatCAMGeoEditor.py:1532
-#: flatcamEditors/FlatCAMGrbEditor.py:6067
+#: flatcamEditors/FlatCAMGeoEditor.py:1584
+#: flatcamEditors/FlatCAMGrbEditor.py:6096
msgid "Offset on Y axis ..."
msgstr "Ofset pe axa Y ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1542
-#: flatcamEditors/FlatCAMGrbEditor.py:6076
+#: flatcamEditors/FlatCAMGeoEditor.py:1594
+#: flatcamEditors/FlatCAMGrbEditor.py:6105
msgid "Geometry shape offset on Y axis done"
msgstr "Ofset pe axa Y executat"
-#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGeoEditor.py:1598
msgid "Geometry shape offset on Y axis canceled"
msgstr "Ofset pe axa Y anulat"
-#: flatcamEditors/FlatCAMGeoEditor.py:1549
-#: flatcamEditors/FlatCAMGrbEditor.py:6082
+#: flatcamEditors/FlatCAMGeoEditor.py:1601
+#: flatcamEditors/FlatCAMGrbEditor.py:6111
msgid "Skew on X axis ..."
msgstr "Deformare pe axa X ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1559
-#: flatcamEditors/FlatCAMGrbEditor.py:6091
+#: flatcamEditors/FlatCAMGeoEditor.py:1611
+#: flatcamEditors/FlatCAMGrbEditor.py:6120
msgid "Geometry shape skew on X axis done"
msgstr "Deformarea pe axa X executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1563
+#: flatcamEditors/FlatCAMGeoEditor.py:1615
msgid "Geometry shape skew on X axis canceled"
msgstr "Deformarea pe axa X anulată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1566
-#: flatcamEditors/FlatCAMGrbEditor.py:6097
+#: flatcamEditors/FlatCAMGeoEditor.py:1618
+#: flatcamEditors/FlatCAMGrbEditor.py:6126
msgid "Skew on Y axis ..."
msgstr "Deformare pe axa Y ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1576
-#: flatcamEditors/FlatCAMGrbEditor.py:6106
+#: flatcamEditors/FlatCAMGeoEditor.py:1628
+#: flatcamEditors/FlatCAMGrbEditor.py:6135
msgid "Geometry shape skew on Y axis done"
msgstr "Deformarea pe axa Y executată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1580
+#: flatcamEditors/FlatCAMGeoEditor.py:1632
msgid "Geometry shape skew on Y axis canceled"
msgstr "Deformarea pe axa Y anulată"
-#: flatcamEditors/FlatCAMGeoEditor.py:1951
-#: flatcamEditors/FlatCAMGeoEditor.py:2016
-#: flatcamEditors/FlatCAMGrbEditor.py:1436
-#: flatcamEditors/FlatCAMGrbEditor.py:1514
+#: flatcamEditors/FlatCAMGeoEditor.py:2009
+#: flatcamEditors/FlatCAMGeoEditor.py:2080
+#: flatcamEditors/FlatCAMGrbEditor.py:1435
+#: flatcamEditors/FlatCAMGrbEditor.py:1513
msgid "Click on Center point ..."
msgstr "Click pe punctul de Centru ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1958
-#: flatcamEditors/FlatCAMGrbEditor.py:1446
+#: flatcamEditors/FlatCAMGeoEditor.py:2022
+#: flatcamEditors/FlatCAMGrbEditor.py:1445
msgid "Click on Perimeter point to complete ..."
msgstr "Click pe un punct aflat pe Circumferintă pentru terminare ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:2054
msgid "Done. Adding Circle completed."
msgstr "Executat. Adăugarea unei forme Cerc terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2038
-#: flatcamEditors/FlatCAMGrbEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:2108
+#: flatcamEditors/FlatCAMGrbEditor.py:1546
msgid "Click on Start point ..."
msgstr "Click pe punctul de Start ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2040
-#: flatcamEditors/FlatCAMGrbEditor.py:1549
+#: flatcamEditors/FlatCAMGeoEditor.py:2110
+#: flatcamEditors/FlatCAMGrbEditor.py:1548
msgid "Click on Point3 ..."
msgstr "Click pe Punctul3 ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2042
-#: flatcamEditors/FlatCAMGrbEditor.py:1551
+#: flatcamEditors/FlatCAMGeoEditor.py:2112
+#: flatcamEditors/FlatCAMGrbEditor.py:1550
msgid "Click on Stop point ..."
msgstr "Click pe punctulde Stop ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2047
-#: flatcamEditors/FlatCAMGrbEditor.py:1556
+#: flatcamEditors/FlatCAMGeoEditor.py:2117
+#: flatcamEditors/FlatCAMGrbEditor.py:1555
msgid "Click on Stop point to complete ..."
msgstr "Click pe punctul de Stop pentru terminare ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2049
-#: flatcamEditors/FlatCAMGrbEditor.py:1558
+#: flatcamEditors/FlatCAMGeoEditor.py:2119
+#: flatcamEditors/FlatCAMGrbEditor.py:1557
msgid "Click on Point2 to complete ..."
msgstr "Click pe Punctul2 pentru terminare ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2051
-#: flatcamEditors/FlatCAMGrbEditor.py:1560
+#: flatcamEditors/FlatCAMGeoEditor.py:2121
+#: flatcamEditors/FlatCAMGrbEditor.py:1559
msgid "Click on Center point to complete ..."
msgstr "Click pe punctul de Centru pentru terminare ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2063
+#: flatcamEditors/FlatCAMGeoEditor.py:2133
#, python-format
msgid "Direction: %s"
msgstr "Direcţie: %s"
-#: flatcamEditors/FlatCAMGeoEditor.py:2077
-#: flatcamEditors/FlatCAMGrbEditor.py:1586
+#: flatcamEditors/FlatCAMGeoEditor.py:2147
+#: flatcamEditors/FlatCAMGrbEditor.py:1585
msgid "Mode: Start -> Stop -> Center. Click on Start point ..."
msgstr "Mod: Start -> Stop -> Centru. Click pe punctul de Start ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2080
-#: flatcamEditors/FlatCAMGrbEditor.py:1589
+#: flatcamEditors/FlatCAMGeoEditor.py:2150
+#: flatcamEditors/FlatCAMGrbEditor.py:1588
msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..."
msgstr "Mod: Point1 -> Point3 -> Point2. Click pe Punctul1 ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2083
-#: flatcamEditors/FlatCAMGrbEditor.py:1592
+#: flatcamEditors/FlatCAMGeoEditor.py:2153
+#: flatcamEditors/FlatCAMGrbEditor.py:1591
msgid "Mode: Center -> Start -> Stop. Click on Center point ..."
msgstr "Mod: Center -> Start -> Stop. Click pe punctul de Centru ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2224
+#: flatcamEditors/FlatCAMGeoEditor.py:2294
msgid "Done. Arc completed."
msgstr "Executat. Adăugarea unei forme Arc terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2255
-#: flatcamEditors/FlatCAMGeoEditor.py:2322
+#: flatcamEditors/FlatCAMGeoEditor.py:2325
+#: flatcamEditors/FlatCAMGeoEditor.py:2398
msgid "Click on 1st corner ..."
msgstr "Click pe primul colt ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2261
+#: flatcamEditors/FlatCAMGeoEditor.py:2337
msgid "Click on opposite corner to complete ..."
msgstr "Click pe punctul opus pentru terminare ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2291
+#: flatcamEditors/FlatCAMGeoEditor.py:2367
msgid "Done. Rectangle completed."
msgstr "Executat. Adăugare Pătrat terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2329
+#: flatcamEditors/FlatCAMGeoEditor.py:2411 flatcamTools/ToolNCC.py:1728
+#: flatcamTools/ToolPaint.py:1623
msgid "Click on next Point or click right mouse button to complete ..."
msgstr ""
"Click pe punctul următor sau click buton dreapta al mousului pentru "
"terminare ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2360
+#: flatcamEditors/FlatCAMGeoEditor.py:2442
msgid "Done. Polygon completed."
msgstr "Executat. Adăugarea unei forme Poligon terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2374
-#: flatcamEditors/FlatCAMGeoEditor.py:2439
-#: flatcamEditors/FlatCAMGrbEditor.py:1112
-#: flatcamEditors/FlatCAMGrbEditor.py:1323
+#: flatcamEditors/FlatCAMGeoEditor.py:2456
+#: flatcamEditors/FlatCAMGeoEditor.py:2521
+#: flatcamEditors/FlatCAMGrbEditor.py:1111
+#: flatcamEditors/FlatCAMGrbEditor.py:1322
msgid "Backtracked one point ..."
msgstr "Revenit la penultimul Punct ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2417
+#: flatcamEditors/FlatCAMGeoEditor.py:2499
msgid "Done. Path completed."
msgstr "Executat. Traseu finalizat."
-#: flatcamEditors/FlatCAMGeoEditor.py:2580
+#: flatcamEditors/FlatCAMGeoEditor.py:2658
+msgid "No shape selected. Select a shape to explode"
+msgstr "Nicio formă selectată. Selectați o formă pentru a o exploda"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2691
msgid "Done. Polygons exploded into lines."
msgstr "Terminat. Poligoanele au fost descompuse în linii."
-#: flatcamEditors/FlatCAMGeoEditor.py:2612
+#: flatcamEditors/FlatCAMGeoEditor.py:2723
msgid "MOVE: No shape selected. Select a shape to move"
msgstr ""
"MUTARE: Nici-o formă nu este selectată. Selectează o formă pentru a putea "
"face deplasare"
-#: flatcamEditors/FlatCAMGeoEditor.py:2615
-#: flatcamEditors/FlatCAMGeoEditor.py:2628
+#: flatcamEditors/FlatCAMGeoEditor.py:2726
+#: flatcamEditors/FlatCAMGeoEditor.py:2746
msgid " MOVE: Click on reference point ..."
msgstr " MUTARE: Click pe punctul de referinţă ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2619
+#: flatcamEditors/FlatCAMGeoEditor.py:2731
msgid " Click on destination point ..."
msgstr " Click pe punctul de Destinaţie ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2653
+#: flatcamEditors/FlatCAMGeoEditor.py:2771
msgid "Done. Geometry(s) Move completed."
msgstr "Executat. Mutarea Geometriilor terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2783
+#: flatcamEditors/FlatCAMGeoEditor.py:2904
msgid "Done. Geometry(s) Copy completed."
msgstr "Executat. Copierea Geometriilor terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2811
-#: flatcamEditors/FlatCAMGrbEditor.py:898
+#: flatcamEditors/FlatCAMGeoEditor.py:2935
+#: flatcamEditors/FlatCAMGrbEditor.py:897
msgid "Click on 1st point ..."
msgstr "Click pe primul punct ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2829
+#: flatcamEditors/FlatCAMGeoEditor.py:2959
msgid ""
"Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. "
"Error"
@@ -4416,98 +4727,132 @@ msgstr ""
"Fontul nu este compatibil. Doar cele tip: Regular, Bold, Italic și "
"BoldItalic sunt acceptate. Eroarea"
-#: flatcamEditors/FlatCAMGeoEditor.py:2837
+#: flatcamEditors/FlatCAMGeoEditor.py:2967
msgid "No text to add."
msgstr "Niciun text de adăugat."
-#: flatcamEditors/FlatCAMGeoEditor.py:2844
+#: flatcamEditors/FlatCAMGeoEditor.py:2977
msgid " Done. Adding Text completed."
msgstr " Executat. Adăugarea de Text terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2881
+#: flatcamEditors/FlatCAMGeoEditor.py:3014
msgid "Create buffer geometry ..."
msgstr "Crează o geometrie de tipe Bufer ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:2892
-#: flatcamEditors/FlatCAMGeoEditor.py:2922
-#: flatcamEditors/FlatCAMGeoEditor.py:2952
-msgid "Buffer cancelled. No shape selected."
-msgstr ""
-"Crearea de geometrie Bufer anulată. Nici-o forma geometrică nu este "
-"selectată."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:2917
-#: flatcamEditors/FlatCAMGrbEditor.py:4950
+#: flatcamEditors/FlatCAMGeoEditor.py:3049
+#: flatcamEditors/FlatCAMGrbEditor.py:4994
msgid "Done. Buffer Tool completed."
msgstr "Executat. Unealta Bufer terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2947
+#: flatcamEditors/FlatCAMGeoEditor.py:3077
msgid "Done. Buffer Int Tool completed."
msgstr "Executat. Unealta Bufer Intern terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:2977
+#: flatcamEditors/FlatCAMGeoEditor.py:3105
msgid "Done. Buffer Ext Tool completed."
msgstr "Executat. Unealta Bufer Extern terminată."
-#: flatcamEditors/FlatCAMGeoEditor.py:3023
-#: flatcamEditors/FlatCAMGrbEditor.py:2152
+#: flatcamEditors/FlatCAMGeoEditor.py:3154
+#: flatcamEditors/FlatCAMGrbEditor.py:2151
msgid "Select a shape to act as deletion area ..."
msgstr "Selectează o formă geometrică ca formă de stergere ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3025
-#: flatcamEditors/FlatCAMGeoEditor.py:3045
-#: flatcamEditors/FlatCAMGeoEditor.py:3051
-#: flatcamEditors/FlatCAMGrbEditor.py:2154
+#: flatcamEditors/FlatCAMGeoEditor.py:3156
+#: flatcamEditors/FlatCAMGeoEditor.py:3182
+#: flatcamEditors/FlatCAMGeoEditor.py:3188
+#: flatcamEditors/FlatCAMGrbEditor.py:2153
msgid "Click to pick-up the erase shape..."
msgstr "Click pentru a activa forma de stergere..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3055
-#: flatcamEditors/FlatCAMGrbEditor.py:2213
+#: flatcamEditors/FlatCAMGeoEditor.py:3192
+#: flatcamEditors/FlatCAMGrbEditor.py:2212
msgid "Click to erase ..."
msgstr "Click pt a sterge ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3084
-#: flatcamEditors/FlatCAMGrbEditor.py:2246
+#: flatcamEditors/FlatCAMGeoEditor.py:3221
+#: flatcamEditors/FlatCAMGrbEditor.py:2245
msgid "Done. Eraser tool action completed."
msgstr "Executat. Unealta Stergere s-a terminat."
-#: flatcamEditors/FlatCAMGeoEditor.py:3131
+#: flatcamEditors/FlatCAMGeoEditor.py:3271
msgid "Create Paint geometry ..."
msgstr "Crează o geometrie Paint ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3144
-#: flatcamEditors/FlatCAMGrbEditor.py:2402
+#: flatcamEditors/FlatCAMGeoEditor.py:3284
+#: flatcamEditors/FlatCAMGrbEditor.py:2408
msgid "Shape transformations ..."
msgstr "Transformări de forme geometrice ..."
-#: flatcamEditors/FlatCAMGeoEditor.py:3763
+#: flatcamEditors/FlatCAMGeoEditor.py:3340 flatcamGUI/PreferencesUI.py:4636
+msgid "Geometry Editor"
+msgstr "Editor Geometrii"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamTools/ToolCutOut.py:96
+msgid "Type"
+msgstr "Tip"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346 flatcamGUI/ObjectUI.py:217
+#: flatcamGUI/ObjectUI.py:741 flatcamGUI/ObjectUI.py:1431
+#: flatcamGUI/ObjectUI.py:2153 flatcamGUI/ObjectUI.py:2457
+#: flatcamGUI/ObjectUI.py:2524 flatcamTools/ToolCalibration.py:234
+#: flatcamTools/ToolFiducials.py:73
+msgid "Name"
+msgstr "Nume"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3588
+msgid "Ring"
+msgstr "Inel"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3590
+msgid "Line"
+msgstr "Linie"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3592 flatcamGUI/FlatCAMGUI.py:2187
+#: flatcamGUI/PreferencesUI.py:5607 flatcamGUI/PreferencesUI.py:6131
+#: flatcamTools/ToolNCC.py:584 flatcamTools/ToolPaint.py:528
+msgid "Polygon"
+msgstr "Poligon"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3594
+msgid "Multi-Line"
+msgstr "Multi-Linie"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3596
+msgid "Multi-Polygon"
+msgstr "Multi-Poligon"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3603
+msgid "Geo Elem"
+msgstr "Element Geo"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4076
msgid "Editing MultiGeo Geometry, tool"
msgstr "Se editează Geometrie tip MultiGeo. unealta"
-#: flatcamEditors/FlatCAMGeoEditor.py:3765
+#: flatcamEditors/FlatCAMGeoEditor.py:4078
msgid "with diameter"
msgstr "cu diametrul"
-#: flatcamEditors/FlatCAMGeoEditor.py:4169
-msgid "Copy cancelled. No shape selected."
-msgstr "Copiere anulată. Nici-o forma geometrică nu este selectată."
-
-#: flatcamEditors/FlatCAMGeoEditor.py:4176 flatcamGUI/FlatCAMGUI.py:3472
-#: flatcamGUI/FlatCAMGUI.py:3519 flatcamGUI/FlatCAMGUI.py:3538
-#: flatcamGUI/FlatCAMGUI.py:3679 flatcamGUI/FlatCAMGUI.py:3719
-#: flatcamGUI/FlatCAMGUI.py:3732 flatcamGUI/FlatCAMGUI.py:3749
+#: flatcamEditors/FlatCAMGeoEditor.py:4509 flatcamGUI/FlatCAMGUI.py:3695
+#: flatcamGUI/FlatCAMGUI.py:3741 flatcamGUI/FlatCAMGUI.py:3759
+#: flatcamGUI/FlatCAMGUI.py:3899 flatcamGUI/FlatCAMGUI.py:3938
+#: flatcamGUI/FlatCAMGUI.py:3950 flatcamGUI/FlatCAMGUI.py:3967
msgid "Click on target point."
msgstr "Click pe punctul tinta."
-#: flatcamEditors/FlatCAMGeoEditor.py:4479
-#: flatcamEditors/FlatCAMGeoEditor.py:4514
+#: flatcamEditors/FlatCAMGeoEditor.py:4823
+#: flatcamEditors/FlatCAMGeoEditor.py:4858
msgid "A selection of at least 2 geo items is required to do Intersection."
msgstr ""
"Cel puțin o selecţie de doua forme geometrice este necesară pentru a face o "
"Intersecţie."
-#: flatcamEditors/FlatCAMGeoEditor.py:4600
-#: flatcamEditors/FlatCAMGeoEditor.py:4704
+#: flatcamEditors/FlatCAMGeoEditor.py:4944
+#: flatcamEditors/FlatCAMGeoEditor.py:5048
msgid ""
"Negative buffer value is not accepted. Use Buffer interior to generate an "
"'inside' shape"
@@ -4515,59 +4860,59 @@ msgstr ""
"O valoare de bufer negativă nu se acceptă. Foloseste Bufer Interior pentru a "
"genera o formă geo. interioară"
-#: flatcamEditors/FlatCAMGeoEditor.py:4610
-#: flatcamEditors/FlatCAMGeoEditor.py:4663
-#: flatcamEditors/FlatCAMGeoEditor.py:4713
+#: flatcamEditors/FlatCAMGeoEditor.py:4954
+#: flatcamEditors/FlatCAMGeoEditor.py:5007
+#: flatcamEditors/FlatCAMGeoEditor.py:5057
msgid "Nothing selected for buffering."
msgstr "Nici-o forma geometrică nu este selectată pentru a face Bufer."
-#: flatcamEditors/FlatCAMGeoEditor.py:4615
-#: flatcamEditors/FlatCAMGeoEditor.py:4667
-#: flatcamEditors/FlatCAMGeoEditor.py:4718
+#: flatcamEditors/FlatCAMGeoEditor.py:4959
+#: flatcamEditors/FlatCAMGeoEditor.py:5011
+#: flatcamEditors/FlatCAMGeoEditor.py:5062
msgid "Invalid distance for buffering."
msgstr "Distanta invalida pentru a face Bufer."
-#: flatcamEditors/FlatCAMGeoEditor.py:4639
-#: flatcamEditors/FlatCAMGeoEditor.py:4738
+#: flatcamEditors/FlatCAMGeoEditor.py:4983
+#: flatcamEditors/FlatCAMGeoEditor.py:5082
msgid "Failed, the result is empty. Choose a different buffer value."
msgstr "Eșuat, rezultatul este gol. Foloseşte o valoare diferita pentru Bufer."
-#: flatcamEditors/FlatCAMGeoEditor.py:4650
+#: flatcamEditors/FlatCAMGeoEditor.py:4994
msgid "Full buffer geometry created."
msgstr "Geometrie tip Bufer Complet creată."
-#: flatcamEditors/FlatCAMGeoEditor.py:4656
+#: flatcamEditors/FlatCAMGeoEditor.py:5000
msgid "Negative buffer value is not accepted."
msgstr "Valoarea bufer negativă nu este acceptată."
-#: flatcamEditors/FlatCAMGeoEditor.py:4687
+#: flatcamEditors/FlatCAMGeoEditor.py:5031
msgid "Failed, the result is empty. Choose a smaller buffer value."
msgstr "Eșuat, rezultatul este gol. Foloseşte of valoare mai mica pt. Bufer."
-#: flatcamEditors/FlatCAMGeoEditor.py:4697
+#: flatcamEditors/FlatCAMGeoEditor.py:5041
msgid "Interior buffer geometry created."
msgstr "Geometrie Bufer interior creată."
-#: flatcamEditors/FlatCAMGeoEditor.py:4748
+#: flatcamEditors/FlatCAMGeoEditor.py:5092
msgid "Exterior buffer geometry created."
msgstr "Geometrie Bufer Exterior creată."
-#: flatcamEditors/FlatCAMGeoEditor.py:4754
+#: flatcamEditors/FlatCAMGeoEditor.py:5098
#, python-format
-msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)."
+msgid "Could not do Paint. Overlap value has to be less than 100%%."
msgstr ""
"Nu se poate face Paint. Valoarea de suprapunere trebuie să fie mai puțin de "
-"1.00 (100%%)."
+"100%%."
-#: flatcamEditors/FlatCAMGeoEditor.py:4761
+#: flatcamEditors/FlatCAMGeoEditor.py:5105
msgid "Nothing selected for painting."
msgstr "Nici-o forma geometrică nu este selectată pentru Paint."
-#: flatcamEditors/FlatCAMGeoEditor.py:4767
+#: flatcamEditors/FlatCAMGeoEditor.py:5111
msgid "Invalid value for"
msgstr "Valoare invalida pentru"
-#: flatcamEditors/FlatCAMGeoEditor.py:4826
+#: flatcamEditors/FlatCAMGeoEditor.py:5170
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different method of Paint"
@@ -4575,7 +4920,7 @@ msgstr ""
"Nu se poate face Paint. Incearcă o combinaţie diferita de parametri. Or o "
"metoda diferita de Paint"
-#: flatcamEditors/FlatCAMGeoEditor.py:4840
+#: flatcamEditors/FlatCAMGeoEditor.py:5181
msgid "Paint done."
msgstr "Pictare executata."
@@ -4591,7 +4936,7 @@ msgid "Aperture size is zero. It needs to be greater than zero."
msgstr "Dimens. aperturii este zero. Trebuie sa fie mai mare ca zero."
#: flatcamEditors/FlatCAMGrbEditor.py:371
-#: flatcamEditors/FlatCAMGrbEditor.py:685
+#: flatcamEditors/FlatCAMGrbEditor.py:684
msgid ""
"Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'."
msgstr ""
@@ -4612,165 +4957,159 @@ msgstr ""
msgid "Click on the Pad Circular Array Start position"
msgstr "Click pe punctul de Start al ariei de paduri"
-#: flatcamEditors/FlatCAMGrbEditor.py:711
+#: flatcamEditors/FlatCAMGrbEditor.py:710
msgid "Too many Pads for the selected spacing angle."
msgstr "Prea multe paduri pentru unghiul selectat."
-#: flatcamEditors/FlatCAMGrbEditor.py:734
+#: flatcamEditors/FlatCAMGrbEditor.py:733
msgid "Done. Pad Array added."
msgstr "Executat. Aria de paduri a fost adăugată."
-#: flatcamEditors/FlatCAMGrbEditor.py:759
+#: flatcamEditors/FlatCAMGrbEditor.py:758
msgid "Select shape(s) and then click ..."
msgstr "Selectează formele si apoi click ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:771
+#: flatcamEditors/FlatCAMGrbEditor.py:770
msgid "Failed. Nothing selected."
msgstr "Eșuat. Nu este nimic selectat."
-#: flatcamEditors/FlatCAMGrbEditor.py:787
+#: flatcamEditors/FlatCAMGrbEditor.py:786
msgid ""
"Failed. Poligonize works only on geometries belonging to the same aperture."
msgstr ""
"Esuat. Poligonizarea lucrează doar asupra geometriilor care apartin aceleasi "
"aperturi."
-#: flatcamEditors/FlatCAMGrbEditor.py:841
+#: flatcamEditors/FlatCAMGrbEditor.py:840
msgid "Done. Poligonize completed."
msgstr "Executat. Poligonizare completă."
-#: flatcamEditors/FlatCAMGrbEditor.py:896
-#: flatcamEditors/FlatCAMGrbEditor.py:1129
-#: flatcamEditors/FlatCAMGrbEditor.py:1153
+#: flatcamEditors/FlatCAMGrbEditor.py:895
+#: flatcamEditors/FlatCAMGrbEditor.py:1128
+#: flatcamEditors/FlatCAMGrbEditor.py:1152
msgid "Corner Mode 1: 45 degrees ..."
msgstr "Mod Colt 1: 45 grade ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:908
-#: flatcamEditors/FlatCAMGrbEditor.py:1238
+#: flatcamEditors/FlatCAMGrbEditor.py:907
+#: flatcamEditors/FlatCAMGrbEditor.py:1237
msgid "Click on next Point or click Right mouse button to complete ..."
msgstr ""
"Click pe punctul următor sau click buton dreapta al mousului pentru "
"terminare ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1117
-#: flatcamEditors/FlatCAMGrbEditor.py:1150
+#: flatcamEditors/FlatCAMGrbEditor.py:1116
+#: flatcamEditors/FlatCAMGrbEditor.py:1149
msgid "Corner Mode 2: Reverse 45 degrees ..."
msgstr "Mod Colt 2: Invers 45 grade ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1120
-#: flatcamEditors/FlatCAMGrbEditor.py:1147
+#: flatcamEditors/FlatCAMGrbEditor.py:1119
+#: flatcamEditors/FlatCAMGrbEditor.py:1146
msgid "Corner Mode 3: 90 degrees ..."
msgstr "Mod Colt 3: 90 grade ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1123
-#: flatcamEditors/FlatCAMGrbEditor.py:1144
+#: flatcamEditors/FlatCAMGrbEditor.py:1122
+#: flatcamEditors/FlatCAMGrbEditor.py:1143
msgid "Corner Mode 4: Reverse 90 degrees ..."
msgstr "Mod Colt 4: Invers 90 grade ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1126
-#: flatcamEditors/FlatCAMGrbEditor.py:1141
+#: flatcamEditors/FlatCAMGrbEditor.py:1125
+#: flatcamEditors/FlatCAMGrbEditor.py:1140
msgid "Corner Mode 5: Free angle ..."
msgstr "Mod Colt 5: Unghi liber ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1183
-#: flatcamEditors/FlatCAMGrbEditor.py:1359
-#: flatcamEditors/FlatCAMGrbEditor.py:1398
+#: flatcamEditors/FlatCAMGrbEditor.py:1182
+#: flatcamEditors/FlatCAMGrbEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:1397
msgid "Track Mode 1: 45 degrees ..."
msgstr "Mod Traseu 1: 45 grade ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1339
-#: flatcamEditors/FlatCAMGrbEditor.py:1393
+#: flatcamEditors/FlatCAMGrbEditor.py:1338
+#: flatcamEditors/FlatCAMGrbEditor.py:1392
msgid "Track Mode 2: Reverse 45 degrees ..."
msgstr "Mod Traseu 2: Invers 45 grade ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1344
-#: flatcamEditors/FlatCAMGrbEditor.py:1388
+#: flatcamEditors/FlatCAMGrbEditor.py:1343
+#: flatcamEditors/FlatCAMGrbEditor.py:1387
msgid "Track Mode 3: 90 degrees ..."
msgstr "Mod Traseu 3: 90 grade ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1349
-#: flatcamEditors/FlatCAMGrbEditor.py:1383
+#: flatcamEditors/FlatCAMGrbEditor.py:1348
+#: flatcamEditors/FlatCAMGrbEditor.py:1382
msgid "Track Mode 4: Reverse 90 degrees ..."
msgstr "Mod Traseu 4: Invers 90 grade ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1354
-#: flatcamEditors/FlatCAMGrbEditor.py:1378
+#: flatcamEditors/FlatCAMGrbEditor.py:1353
+#: flatcamEditors/FlatCAMGrbEditor.py:1377
msgid "Track Mode 5: Free angle ..."
msgstr "Mod Traseu 5: Unghi liber ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1779
+#: flatcamEditors/FlatCAMGrbEditor.py:1778
msgid "Scale the selected Gerber apertures ..."
msgstr "Șterge aperturile Gerber selectate ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1821
+#: flatcamEditors/FlatCAMGrbEditor.py:1820
msgid "Buffer the selected apertures ..."
msgstr "Bufereaza aperturile selectate."
-#: flatcamEditors/FlatCAMGrbEditor.py:1863
+#: flatcamEditors/FlatCAMGrbEditor.py:1862
msgid "Mark polygon areas in the edited Gerber ..."
msgstr "Marchează ariile poligonale in obiectul Gerber editat ..."
-#: flatcamEditors/FlatCAMGrbEditor.py:1929
+#: flatcamEditors/FlatCAMGrbEditor.py:1928
msgid "Nothing selected to move"
msgstr "Nimic nu este selectat pentru mutare"
-#: flatcamEditors/FlatCAMGrbEditor.py:2054
+#: flatcamEditors/FlatCAMGrbEditor.py:2053
msgid "Done. Apertures Move completed."
msgstr "Executat. Mutarea Aperturilor terminată."
-#: flatcamEditors/FlatCAMGrbEditor.py:2136
+#: flatcamEditors/FlatCAMGrbEditor.py:2135
msgid "Done. Apertures copied."
msgstr "Executat. Aperturile au fost copiate."
-#: flatcamEditors/FlatCAMGrbEditor.py:2447 flatcamGUI/FlatCAMGUI.py:2110
-#: flatcamGUI/PreferencesUI.py:2443
+#: flatcamEditors/FlatCAMGrbEditor.py:2453 flatcamGUI/FlatCAMGUI.py:2218
+#: flatcamGUI/PreferencesUI.py:2623
msgid "Gerber Editor"
msgstr "Editor Gerber"
-#: flatcamEditors/FlatCAMGrbEditor.py:2467 flatcamGUI/ObjectUI.py:223
-#: flatcamTools/ToolProperties.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2473 flatcamGUI/ObjectUI.py:227
+#: flatcamTools/ToolProperties.py:159
msgid "Apertures"
msgstr "Aperturi"
-#: flatcamEditors/FlatCAMGrbEditor.py:2469 flatcamGUI/ObjectUI.py:225
+#: flatcamEditors/FlatCAMGrbEditor.py:2475 flatcamGUI/ObjectUI.py:229
msgid "Apertures Table for the Gerber Object."
msgstr "Tabela de aperturi pt obiectul Gerber."
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
msgid "Code"
msgstr "Cod"
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-msgid "Type"
-msgstr "Tip"
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
-#: flatcamGUI/PreferencesUI.py:1009 flatcamGUI/PreferencesUI.py:7270
-#: flatcamGUI/PreferencesUI.py:7299 flatcamGUI/PreferencesUI.py:7401
-#: flatcamTools/ToolCopperThieving.py:260
-#: flatcamTools/ToolCopperThieving.py:300 flatcamTools/ToolFiducials.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/PreferencesUI.py:1184 flatcamGUI/PreferencesUI.py:7776
+#: flatcamGUI/PreferencesUI.py:7805 flatcamGUI/PreferencesUI.py:7907
+#: flatcamTools/ToolCopperThieving.py:262
+#: flatcamTools/ToolCopperThieving.py:302 flatcamTools/ToolFiducials.py:156
msgid "Size"
msgstr "Dimensiune"
-#: flatcamEditors/FlatCAMGrbEditor.py:2480
-#: flatcamEditors/FlatCAMGrbEditor.py:3832 flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
msgid "Dim"
msgstr "Dim"
-#: flatcamEditors/FlatCAMGrbEditor.py:2484 flatcamGUI/ObjectUI.py:262
+#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:266
msgid "Index"
msgstr "Index"
-#: flatcamEditors/FlatCAMGrbEditor.py:2486
-#: flatcamEditors/FlatCAMGrbEditor.py:2515 flatcamGUI/ObjectUI.py:264
+#: flatcamEditors/FlatCAMGrbEditor.py:2492
+#: flatcamEditors/FlatCAMGrbEditor.py:2521 flatcamGUI/ObjectUI.py:268
msgid "Aperture Code"
msgstr "Cod"
-#: flatcamEditors/FlatCAMGrbEditor.py:2488 flatcamGUI/ObjectUI.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:2494 flatcamGUI/ObjectUI.py:270
msgid "Type of aperture: circular, rectangle, macros etc"
msgstr ""
"Tipul aperturilor:\n"
@@ -4779,11 +5118,11 @@ msgstr ""
"- macro-uri\n"
"etc"
-#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:268
+#: flatcamEditors/FlatCAMGrbEditor.py:2496 flatcamGUI/ObjectUI.py:272
msgid "Aperture Size:"
msgstr "Dim. aper.:"
-#: flatcamEditors/FlatCAMGrbEditor.py:2492 flatcamGUI/ObjectUI.py:270
+#: flatcamEditors/FlatCAMGrbEditor.py:2498 flatcamGUI/ObjectUI.py:274
msgid ""
"Aperture Dimensions:\n"
" - (width, height) for R, O type.\n"
@@ -4793,15 +5132,15 @@ msgstr ""
"- (latime, inaltime) pt tipurile R, O.\n"
"- (diametru, nVertices) pt tipul P"
-#: flatcamEditors/FlatCAMGrbEditor.py:2516 flatcamGUI/PreferencesUI.py:2474
+#: flatcamEditors/FlatCAMGrbEditor.py:2522 flatcamGUI/PreferencesUI.py:2654
msgid "Code for the new aperture"
msgstr "Diametru pentru noua apertură"
-#: flatcamEditors/FlatCAMGrbEditor.py:2525
+#: flatcamEditors/FlatCAMGrbEditor.py:2531
msgid "Aperture Size"
msgstr "Dim. aper"
-#: flatcamEditors/FlatCAMGrbEditor.py:2527
+#: flatcamEditors/FlatCAMGrbEditor.py:2533
msgid ""
"Size for the new aperture.\n"
"If aperture type is 'R' or 'O' then\n"
@@ -4814,11 +5153,11 @@ msgstr ""
"valoarea este calculată automat prin:\n"
"sqrt(lătime**2 + inăltime**2)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2541
+#: flatcamEditors/FlatCAMGrbEditor.py:2547
msgid "Aperture Type"
msgstr "Tip aper"
-#: flatcamEditors/FlatCAMGrbEditor.py:2543
+#: flatcamEditors/FlatCAMGrbEditor.py:2549
msgid ""
"Select the type of new aperture. Can be:\n"
"C = circular\n"
@@ -4830,11 +5169,11 @@ msgstr ""
"R = rectangular\n"
"O = oval"
-#: flatcamEditors/FlatCAMGrbEditor.py:2554
+#: flatcamEditors/FlatCAMGrbEditor.py:2560
msgid "Aperture Dim"
msgstr "Dim. aper"
-#: flatcamEditors/FlatCAMGrbEditor.py:2556
+#: flatcamEditors/FlatCAMGrbEditor.py:2562
msgid ""
"Dimensions for the new aperture.\n"
"Active only for rectangular apertures (type R).\n"
@@ -4844,39 +5183,39 @@ msgstr ""
"Activă doar pentru aperturile rectangulare (tip 'R').\n"
"Formatul este (lătime, inăltime)"
-#: flatcamEditors/FlatCAMGrbEditor.py:2565
+#: flatcamEditors/FlatCAMGrbEditor.py:2571
msgid "Add/Delete Aperture"
msgstr "Adaugă/Șterge apertură"
-#: flatcamEditors/FlatCAMGrbEditor.py:2567
+#: flatcamEditors/FlatCAMGrbEditor.py:2573
msgid "Add/Delete an aperture in the aperture table"
msgstr "Adaugă/Șterge o apertură din lista de aperturi"
-#: flatcamEditors/FlatCAMGrbEditor.py:2576
+#: flatcamEditors/FlatCAMGrbEditor.py:2582
msgid "Add a new aperture to the aperture list."
msgstr "Adaugă o nouă apertură in lista de aperturi."
-#: flatcamEditors/FlatCAMGrbEditor.py:2581
+#: flatcamEditors/FlatCAMGrbEditor.py:2587
msgid "Delete a aperture in the aperture list"
msgstr "Șterge o apertură din lista de aperturi"
-#: flatcamEditors/FlatCAMGrbEditor.py:2598
+#: flatcamEditors/FlatCAMGrbEditor.py:2604
msgid "Buffer Aperture"
msgstr "Bufer pt apertură"
-#: flatcamEditors/FlatCAMGrbEditor.py:2600
+#: flatcamEditors/FlatCAMGrbEditor.py:2606
msgid "Buffer a aperture in the aperture list"
msgstr "Fă bufer pt o apertură din lista de aperturi"
-#: flatcamEditors/FlatCAMGrbEditor.py:2613 flatcamGUI/PreferencesUI.py:2608
+#: flatcamEditors/FlatCAMGrbEditor.py:2619 flatcamGUI/PreferencesUI.py:2790
msgid "Buffer distance"
msgstr "Distanta pt bufer"
-#: flatcamEditors/FlatCAMGrbEditor.py:2614
+#: flatcamEditors/FlatCAMGrbEditor.py:2620
msgid "Buffer corner"
msgstr "Coltul pt bufer"
-#: flatcamEditors/FlatCAMGrbEditor.py:2616
+#: flatcamEditors/FlatCAMGrbEditor.py:2622
msgid ""
"There are 3 types of corners:\n"
" - 'Round': the corner is rounded.\n"
@@ -4890,27 +5229,26 @@ msgstr ""
" - 'Beveled:' coltul este inlocuit cu o linie care uneste capetele liniilor "
"care formează coltul"
-#: flatcamEditors/FlatCAMGrbEditor.py:2631 flatcamGUI/FlatCAMGUI.py:978
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2087
-#: flatcamGUI/FlatCAMGUI.py:2130 flatcamGUI/FlatCAMGUI.py:2547
-#: flatcamGUI/PreferencesUI.py:6393 flatcamTools/ToolTransform.py:30
-#: flatcamTools/ToolTransform.py:349
+#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:1046
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2195
+#: flatcamGUI/FlatCAMGUI.py:2238 flatcamGUI/FlatCAMGUI.py:2721
+#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolTransform.py:30
msgid "Buffer"
msgstr "Bufer"
-#: flatcamEditors/FlatCAMGrbEditor.py:2646
+#: flatcamEditors/FlatCAMGrbEditor.py:2652
msgid "Scale Aperture"
msgstr "Scalează aper"
-#: flatcamEditors/FlatCAMGrbEditor.py:2648
+#: flatcamEditors/FlatCAMGrbEditor.py:2654
msgid "Scale a aperture in the aperture list"
msgstr "Scalează o apertură in lista de aperturi"
-#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/PreferencesUI.py:2623
+#: flatcamEditors/FlatCAMGrbEditor.py:2662 flatcamGUI/PreferencesUI.py:2805
msgid "Scale factor"
msgstr "Factor Scalare"
-#: flatcamEditors/FlatCAMGrbEditor.py:2658
+#: flatcamEditors/FlatCAMGrbEditor.py:2664
msgid ""
"The factor by which to scale the selected aperture.\n"
"Values can be between 0.0000 and 999.9999"
@@ -4918,19 +5256,19 @@ msgstr ""
"Factorul cu care se va face scalarea aperturii selectate.\n"
"Poate lua valori intre: 0.000 si 999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2686
+#: flatcamEditors/FlatCAMGrbEditor.py:2692
msgid "Mark polygons"
msgstr "Marchează poligoanele"
-#: flatcamEditors/FlatCAMGrbEditor.py:2688
+#: flatcamEditors/FlatCAMGrbEditor.py:2694
msgid "Mark the polygon areas."
msgstr "Marchează ariile poligonale."
-#: flatcamEditors/FlatCAMGrbEditor.py:2696
+#: flatcamEditors/FlatCAMGrbEditor.py:2702
msgid "Area UPPER threshold"
msgstr "Pragul de sus pt. arie"
-#: flatcamEditors/FlatCAMGrbEditor.py:2698
+#: flatcamEditors/FlatCAMGrbEditor.py:2704
msgid ""
"The threshold value, all areas less than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
@@ -4938,11 +5276,11 @@ msgstr ""
"Valoare de prag, toate poligoanele cu arii mai mici vor fi marcate.\n"
"Poate lua valori intre: 0.000 si 999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2705
+#: flatcamEditors/FlatCAMGrbEditor.py:2711
msgid "Area LOWER threshold"
msgstr "Pragul de jos pt. arie"
-#: flatcamEditors/FlatCAMGrbEditor.py:2707
+#: flatcamEditors/FlatCAMGrbEditor.py:2713
msgid ""
"The threshold value, all areas more than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
@@ -4950,36 +5288,32 @@ msgstr ""
"Valoare de prag, toate poligoanele cu arii mai mari vor fi marcate.\n"
"Poate lua valori intre: 0.000 si 999.9999"
-#: flatcamEditors/FlatCAMGrbEditor.py:2721
+#: flatcamEditors/FlatCAMGrbEditor.py:2727
msgid "Mark"
msgstr "Marchează"
-#: flatcamEditors/FlatCAMGrbEditor.py:2723
+#: flatcamEditors/FlatCAMGrbEditor.py:2729
msgid "Mark the polygons that fit within limits."
msgstr "Marcați poligoanele care se încadrează în limite."
-#: flatcamEditors/FlatCAMGrbEditor.py:2729
+#: flatcamEditors/FlatCAMGrbEditor.py:2735
msgid "Delete all the marked polygons."
msgstr "Ștergeți toate poligoanele marcate."
-#: flatcamEditors/FlatCAMGrbEditor.py:2733
-msgid "Clear"
-msgstr "Șterge"
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2735
+#: flatcamEditors/FlatCAMGrbEditor.py:2741
msgid "Clear all the markings."
msgstr "Ștergeți toate marcajele."
-#: flatcamEditors/FlatCAMGrbEditor.py:2755 flatcamGUI/FlatCAMGUI.py:963
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamEditors/FlatCAMGrbEditor.py:2761 flatcamGUI/FlatCAMGUI.py:1031
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2706
msgid "Add Pad Array"
msgstr "Adaugă o arie de paduri"
-#: flatcamEditors/FlatCAMGrbEditor.py:2757
+#: flatcamEditors/FlatCAMGrbEditor.py:2763
msgid "Add an array of pads (linear or circular array)"
msgstr "Adaugă o arie de paduri (arie lineara sau circulara)."
-#: flatcamEditors/FlatCAMGrbEditor.py:2763
+#: flatcamEditors/FlatCAMGrbEditor.py:2769
msgid ""
"Select the type of pads array to create.\n"
"It can be Linear X(Y) or Circular"
@@ -4987,15 +5321,15 @@ msgstr ""
"Selectează tipul de arii de paduri.\n"
"Poate fi Liniar X(Y) sau Circular"
-#: flatcamEditors/FlatCAMGrbEditor.py:2774 flatcamGUI/PreferencesUI.py:2511
+#: flatcamEditors/FlatCAMGrbEditor.py:2780 flatcamGUI/PreferencesUI.py:2691
msgid "Nr of pads"
msgstr "Nr. paduri"
-#: flatcamEditors/FlatCAMGrbEditor.py:2776 flatcamGUI/PreferencesUI.py:2513
+#: flatcamEditors/FlatCAMGrbEditor.py:2782 flatcamGUI/PreferencesUI.py:2693
msgid "Specify how many pads to be in the array."
msgstr "Specifica cate paduri să fie incluse in arie."
-#: flatcamEditors/FlatCAMGrbEditor.py:2825
+#: flatcamEditors/FlatCAMGrbEditor.py:2831
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -5007,14 +5341,14 @@ msgstr ""
"Val minima este: -359.99 grade.\n"
"Val maxima este: 360.00 grade."
-#: flatcamEditors/FlatCAMGrbEditor.py:3307
-#: flatcamEditors/FlatCAMGrbEditor.py:3311
+#: flatcamEditors/FlatCAMGrbEditor.py:3321
+#: flatcamEditors/FlatCAMGrbEditor.py:3325
msgid "Aperture code value is missing or wrong format. Add it and retry."
msgstr ""
"Valoarea codului aperturii lipseste sau este in format greșit. Adaugă din "
"nou și reîncearcă."
-#: flatcamEditors/FlatCAMGrbEditor.py:3347
+#: flatcamEditors/FlatCAMGrbEditor.py:3361
msgid ""
"Aperture dimensions value is missing or wrong format. Add it in format "
"(width, height) and retry."
@@ -5022,190 +5356,190 @@ msgstr ""
"Dimensiunile aperturii lipsesc sau sunt intr-un format greșit. Adaugă din "
"nou și reîncearcă."
-#: flatcamEditors/FlatCAMGrbEditor.py:3360
+#: flatcamEditors/FlatCAMGrbEditor.py:3374
msgid "Aperture size value is missing or wrong format. Add it and retry."
msgstr ""
"Valoarea mărimii aperturii lipseste sau este in format greșit. Adaugă din "
"nou și reîncearcă."
-#: flatcamEditors/FlatCAMGrbEditor.py:3371
+#: flatcamEditors/FlatCAMGrbEditor.py:3385
msgid "Aperture already in the aperture table."
msgstr "Apertura este deja in lista de aperturi."
-#: flatcamEditors/FlatCAMGrbEditor.py:3379
+#: flatcamEditors/FlatCAMGrbEditor.py:3393
msgid "Added new aperture with code"
msgstr "O nouă apertură este adăugată cu codul"
-#: flatcamEditors/FlatCAMGrbEditor.py:3408
+#: flatcamEditors/FlatCAMGrbEditor.py:3422
msgid " Select an aperture in Aperture Table"
msgstr " Selectează o unealtă in Tabela de Aperturi"
-#: flatcamEditors/FlatCAMGrbEditor.py:3416
+#: flatcamEditors/FlatCAMGrbEditor.py:3430
msgid "Select an aperture in Aperture Table -->"
msgstr "Selectează o unealtă in Tabela de Aperturi -->"
-#: flatcamEditors/FlatCAMGrbEditor.py:3439
+#: flatcamEditors/FlatCAMGrbEditor.py:3453
msgid "Deleted aperture with code"
msgstr "A fost stearsă unealta cu codul"
-#: flatcamEditors/FlatCAMGrbEditor.py:3924
+#: flatcamEditors/FlatCAMGrbEditor.py:3950
msgid "Loading Gerber into Editor"
msgstr "Se încarcă Gerber în editor"
-#: flatcamEditors/FlatCAMGrbEditor.py:4034
+#: flatcamEditors/FlatCAMGrbEditor.py:4078
msgid "Setting up the UI"
msgstr "Configurarea UI"
-#: flatcamEditors/FlatCAMGrbEditor.py:4035
+#: flatcamEditors/FlatCAMGrbEditor.py:4079
msgid "Adding geometry finished. Preparing the GUI"
msgstr "Adăugarea geometriei terminate. Pregătirea GUI"
-#: flatcamEditors/FlatCAMGrbEditor.py:4044
+#: flatcamEditors/FlatCAMGrbEditor.py:4088
msgid "Finished loading the Gerber object into the editor."
msgstr "S-a terminat încărcarea obiectului Gerber în editor."
-#: flatcamEditors/FlatCAMGrbEditor.py:4184
+#: flatcamEditors/FlatCAMGrbEditor.py:4228
msgid ""
"There are no Aperture definitions in the file. Aborting Gerber creation."
msgstr ""
"Nu există definitii de aperturi in fişier. Se anulează crearea de obiect "
"Gerber."
-#: flatcamEditors/FlatCAMGrbEditor.py:4194
+#: flatcamEditors/FlatCAMGrbEditor.py:4238
msgid "Creating Gerber."
msgstr "Gerber in curs de creare."
-#: flatcamEditors/FlatCAMGrbEditor.py:4203
+#: flatcamEditors/FlatCAMGrbEditor.py:4247
msgid "Done. Gerber editing finished."
msgstr "Editarea Gerber a fost terminată."
-#: flatcamEditors/FlatCAMGrbEditor.py:4222
+#: flatcamEditors/FlatCAMGrbEditor.py:4265
msgid "Cancelled. No aperture is selected"
msgstr "Anulat. Nici-o apertură nu este selectată"
-#: flatcamEditors/FlatCAMGrbEditor.py:4782
+#: flatcamEditors/FlatCAMGrbEditor.py:4826
msgid "Failed. No aperture geometry is selected."
msgstr "Anulat. Nici-o geometrie de apertură nu este selectată."
-#: flatcamEditors/FlatCAMGrbEditor.py:4791
-#: flatcamEditors/FlatCAMGrbEditor.py:5062
+#: flatcamEditors/FlatCAMGrbEditor.py:4835
+#: flatcamEditors/FlatCAMGrbEditor.py:5106
msgid "Done. Apertures geometry deleted."
msgstr "Executat. Geometriile aperturilor au fost șterse."
-#: flatcamEditors/FlatCAMGrbEditor.py:4934
+#: flatcamEditors/FlatCAMGrbEditor.py:4978
msgid "No aperture to buffer. Select at least one aperture and try again."
msgstr ""
"Nici-o apertură sel. pt a face bufer. Selectează cel puțin o apertură și "
"încearcă din nou."
-#: flatcamEditors/FlatCAMGrbEditor.py:4946
+#: flatcamEditors/FlatCAMGrbEditor.py:4990
msgid "Failed."
msgstr "Esuat."
-#: flatcamEditors/FlatCAMGrbEditor.py:4965
+#: flatcamEditors/FlatCAMGrbEditor.py:5009
msgid "Scale factor value is missing or wrong format. Add it and retry."
msgstr ""
"Valoarea factorului de scalare lipseste sau este in format gresit. Adaugă "
"din nou și reîncearcă."
-#: flatcamEditors/FlatCAMGrbEditor.py:4997
+#: flatcamEditors/FlatCAMGrbEditor.py:5041
msgid "No aperture to scale. Select at least one aperture and try again."
msgstr ""
"Nici-o apertură sel. pt scalare. Selectează cel puțin o apertură și încearcă "
"din nou."
-#: flatcamEditors/FlatCAMGrbEditor.py:5013
+#: flatcamEditors/FlatCAMGrbEditor.py:5057
msgid "Done. Scale Tool completed."
msgstr "Executat. Unealta Scalare a terminat."
-#: flatcamEditors/FlatCAMGrbEditor.py:5051
+#: flatcamEditors/FlatCAMGrbEditor.py:5095
msgid "Polygons marked."
msgstr "Poligoanele sunt marcate."
-#: flatcamEditors/FlatCAMGrbEditor.py:5054
+#: flatcamEditors/FlatCAMGrbEditor.py:5098
msgid "No polygons were marked. None fit within the limits."
msgstr "Nu au fost marcate poligoane. Niciunul nu se încadrează în limite."
-#: flatcamEditors/FlatCAMGrbEditor.py:5783
+#: flatcamEditors/FlatCAMGrbEditor.py:5822
msgid "Rotation action was not executed."
msgstr "Actiuena de rotatie nu a fost efectuatăt."
-#: flatcamEditors/FlatCAMGrbEditor.py:5919
+#: flatcamEditors/FlatCAMGrbEditor.py:5950
msgid "Skew action was not executed."
msgstr "Actiunea de deformare nu a fost efectuată."
-#: flatcamEditors/FlatCAMGrbEditor.py:5986
+#: flatcamEditors/FlatCAMGrbEditor.py:6015
msgid "Scale action was not executed."
msgstr "Actiuena de scalare nu a fost efectuată."
-#: flatcamEditors/FlatCAMGrbEditor.py:6029
+#: flatcamEditors/FlatCAMGrbEditor.py:6058
msgid "Offset action was not executed."
msgstr "Actiuena de offset nu a fost efectuată."
-#: flatcamEditors/FlatCAMGrbEditor.py:6079
+#: flatcamEditors/FlatCAMGrbEditor.py:6108
msgid "Geometry shape offset Y cancelled"
msgstr "Deplasarea formei geometrice pe axa Y anulată"
-#: flatcamEditors/FlatCAMGrbEditor.py:6094
+#: flatcamEditors/FlatCAMGrbEditor.py:6123
msgid "Geometry shape skew X cancelled"
msgstr "Deformarea formei geometrice pe axa X anulată"
-#: flatcamEditors/FlatCAMGrbEditor.py:6109
+#: flatcamEditors/FlatCAMGrbEditor.py:6138
msgid "Geometry shape skew Y cancelled"
msgstr "Deformarea formei geometrice pe axa Y executată"
-#: flatcamEditors/FlatCAMTextEditor.py:72
+#: flatcamEditors/FlatCAMTextEditor.py:74
msgid "Print Preview"
msgstr "Preview tiparire"
-#: flatcamEditors/FlatCAMTextEditor.py:73
+#: flatcamEditors/FlatCAMTextEditor.py:75
msgid "Open a OS standard Preview Print window."
msgstr "Deschide o fereastra standard a OS cu Previzualizare Tiparire."
-#: flatcamEditors/FlatCAMTextEditor.py:76
+#: flatcamEditors/FlatCAMTextEditor.py:78
msgid "Print Code"
msgstr "Tipareste Cod"
-#: flatcamEditors/FlatCAMTextEditor.py:77
+#: flatcamEditors/FlatCAMTextEditor.py:79
msgid "Open a OS standard Print window."
msgstr "Deschide o fereastra standard a OS pt Tiparire."
-#: flatcamEditors/FlatCAMTextEditor.py:79
+#: flatcamEditors/FlatCAMTextEditor.py:81
msgid "Find in Code"
msgstr "Cauta in Cod"
-#: flatcamEditors/FlatCAMTextEditor.py:80
+#: flatcamEditors/FlatCAMTextEditor.py:82
msgid "Will search and highlight in yellow the string in the Find box."
msgstr "Va cauta si va sublinia in galben acele stringuri din campul Cautare."
-#: flatcamEditors/FlatCAMTextEditor.py:84
+#: flatcamEditors/FlatCAMTextEditor.py:86
msgid "Find box. Enter here the strings to be searched in the text."
msgstr ""
"Campul Cautare. Introduceti aici acele stringuri care sa fie cautate in text."
-#: flatcamEditors/FlatCAMTextEditor.py:86
+#: flatcamEditors/FlatCAMTextEditor.py:88
msgid "Replace With"
msgstr "Inlocuieste cu"
-#: flatcamEditors/FlatCAMTextEditor.py:87
+#: flatcamEditors/FlatCAMTextEditor.py:89
msgid ""
"Will replace the string from the Find box with the one in the Replace box."
msgstr ""
"Va inlocui toate cuvintele gasite conform cu ce este in 'Căutare'\n"
"cu textul din casuta 'Inlocuieste'."
-#: flatcamEditors/FlatCAMTextEditor.py:91
+#: flatcamEditors/FlatCAMTextEditor.py:93
msgid "String to replace the one in the Find box throughout the text."
msgstr ""
"String care sa inlocuiasca pe acele din campul 'Cautare' in cadrul textului."
-#: flatcamEditors/FlatCAMTextEditor.py:93 flatcamGUI/ObjectUI.py:482
-#: flatcamGUI/ObjectUI.py:1809 flatcamGUI/PreferencesUI.py:2070
-#: flatcamGUI/PreferencesUI.py:4419 flatcamGUI/PreferencesUI.py:5647
+#: flatcamEditors/FlatCAMTextEditor.py:95 flatcamGUI/ObjectUI.py:485
+#: flatcamGUI/ObjectUI.py:2137 flatcamGUI/PreferencesUI.py:2250
+#: flatcamGUI/PreferencesUI.py:4712
msgid "All"
msgstr "Toate"
-#: flatcamEditors/FlatCAMTextEditor.py:94
+#: flatcamEditors/FlatCAMTextEditor.py:96
msgid ""
"When checked it will replace all instances in the 'Find' box\n"
"with the text in the 'Replace' box.."
@@ -5214,163 +5548,172 @@ msgstr ""
"'Caută'\n"
"cu textul din casuta 'Inlocuieste'..."
-#: flatcamEditors/FlatCAMTextEditor.py:97
+#: flatcamEditors/FlatCAMTextEditor.py:99
msgid "Copy All"
msgstr "Copiază tot"
-#: flatcamEditors/FlatCAMTextEditor.py:98
+#: flatcamEditors/FlatCAMTextEditor.py:100
msgid "Will copy all the text in the Code Editor to the clipboard."
msgstr "Va copia textul din editorul de cod în clipboard."
-#: flatcamEditors/FlatCAMTextEditor.py:101
+#: flatcamEditors/FlatCAMTextEditor.py:103
msgid "Open Code"
msgstr "Deschide Cod"
-#: flatcamEditors/FlatCAMTextEditor.py:102
+#: flatcamEditors/FlatCAMTextEditor.py:104
msgid "Will open a text file in the editor."
msgstr "Va deschide un fisier text in Editor."
-#: flatcamEditors/FlatCAMTextEditor.py:104
+#: flatcamEditors/FlatCAMTextEditor.py:106
msgid "Save Code"
msgstr "Salvează Cod"
-#: flatcamEditors/FlatCAMTextEditor.py:105
+#: flatcamEditors/FlatCAMTextEditor.py:107
msgid "Will save the text in the editor into a file."
msgstr "Va salva textul din Editor intr-un fisier."
-#: flatcamEditors/FlatCAMTextEditor.py:107
+#: flatcamEditors/FlatCAMTextEditor.py:109
msgid "Run Code"
msgstr "Rulează Cod"
-#: flatcamEditors/FlatCAMTextEditor.py:108
+#: flatcamEditors/FlatCAMTextEditor.py:110
msgid "Will run the TCL commands found in the text file, one by one."
msgstr ""
"Va rula instructiunile/comenzile TCL care se găsesc in textul din Editor, "
"una cate una."
-#: flatcamEditors/FlatCAMTextEditor.py:182
+#: flatcamEditors/FlatCAMTextEditor.py:184
msgid "Open file"
msgstr "Deschide fişierul"
-#: flatcamEditors/FlatCAMTextEditor.py:213
-#: flatcamEditors/FlatCAMTextEditor.py:218
+#: flatcamEditors/FlatCAMTextEditor.py:215
+#: flatcamEditors/FlatCAMTextEditor.py:220
msgid "Export Code ..."
msgstr "Exportă GCode ..."
-#: flatcamEditors/FlatCAMTextEditor.py:221
-msgid "Export Code cancelled."
-msgstr "Exportul Codului este anulat."
-
-#: flatcamEditors/FlatCAMTextEditor.py:332
+#: flatcamEditors/FlatCAMTextEditor.py:334
msgid "Code Editor content copied to clipboard ..."
msgstr "Conținut Editor de cod copiat în clipboard ..."
-#: flatcamGUI/FlatCAMGUI.py:52 flatcamGUI/FlatCAMGUI.py:54
-#: flatcamGUI/FlatCAMGUI.py:2040
+#: flatcamGUI/FlatCAMGUI.py:66 flatcamGUI/FlatCAMGUI.py:68
+#: flatcamGUI/FlatCAMGUI.py:2148
msgid "Toggle Panel"
msgstr "Comută Panel"
-#: flatcamGUI/FlatCAMGUI.py:64
+#: flatcamGUI/FlatCAMGUI.py:78
msgid "File"
msgstr "Fişiere"
-#: flatcamGUI/FlatCAMGUI.py:69
-msgid "&New Project ...\tCTRL+N"
-msgstr "&Proiect Nou...\tCTRL+N"
+#: flatcamGUI/FlatCAMGUI.py:83
+msgid "&New Project ...\tCtrl+N"
+msgstr "&Proiect Nou...\tCtrl+N"
-#: flatcamGUI/FlatCAMGUI.py:71
+#: flatcamGUI/FlatCAMGUI.py:85
msgid "Will create a new, blank project"
msgstr "Se va crea un proiect nou, fără continut"
-#: flatcamGUI/FlatCAMGUI.py:76
+#: flatcamGUI/FlatCAMGUI.py:90
msgid "&New"
msgstr "&Nou"
-#: flatcamGUI/FlatCAMGUI.py:80
+#: flatcamGUI/FlatCAMGUI.py:94
msgid "Geometry\tN"
msgstr "Geometrie\tN"
-#: flatcamGUI/FlatCAMGUI.py:82
+#: flatcamGUI/FlatCAMGUI.py:96
msgid "Will create a new, empty Geometry Object."
msgstr "Va crea un obiect nou de tip Geometrie, fără continut."
-#: flatcamGUI/FlatCAMGUI.py:84
+#: flatcamGUI/FlatCAMGUI.py:99
msgid "Gerber\tB"
msgstr "Gerber\tB"
-#: flatcamGUI/FlatCAMGUI.py:86
+#: flatcamGUI/FlatCAMGUI.py:101
msgid "Will create a new, empty Gerber Object."
msgstr "Va crea un obiect nou de tip Gerber, fără continut."
-#: flatcamGUI/FlatCAMGUI.py:88
+#: flatcamGUI/FlatCAMGUI.py:104
msgid "Excellon\tL"
msgstr "Excellon\tL"
-#: flatcamGUI/FlatCAMGUI.py:90
+#: flatcamGUI/FlatCAMGUI.py:106
msgid "Will create a new, empty Excellon Object."
msgstr "Va crea un obiect nou de tip Excellon, fără continut."
-#: flatcamGUI/FlatCAMGUI.py:94
+#: flatcamGUI/FlatCAMGUI.py:111
msgid "Document\tD"
msgstr "Document\tD"
-#: flatcamGUI/FlatCAMGUI.py:96
+#: flatcamGUI/FlatCAMGUI.py:113
msgid "Will create a new, empty Document Object."
msgstr "Va crea un obiect nou de tip Document, fără continut."
-#: flatcamGUI/FlatCAMGUI.py:99 flatcamGUI/FlatCAMGUI.py:4111
+#: flatcamGUI/FlatCAMGUI.py:117 flatcamGUI/FlatCAMGUI.py:4327
#: flatcamTools/ToolPcbWizard.py:62 flatcamTools/ToolPcbWizard.py:69
msgid "Open"
msgstr "Încarcă"
-#: flatcamGUI/FlatCAMGUI.py:103
+#: flatcamGUI/FlatCAMGUI.py:122
msgid "Open &Project ..."
msgstr "Încarcă &Project ..."
-#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121
-msgid "Open &Gerber ...\tCTRL+G"
-msgstr "Încarcă &Gerber ...\tCTRL+G"
+#: flatcamGUI/FlatCAMGUI.py:128 flatcamGUI/FlatCAMGUI.py:4337
+msgid "Open &Gerber ...\tCtrl+G"
+msgstr "Încarcă &Gerber ...\tCtrl+G"
-#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126
-msgid "Open &Excellon ...\tCTRL+E"
-msgstr "Încarcă &Excellon ...\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:133 flatcamGUI/FlatCAMGUI.py:4342
+msgid "Open &Excellon ...\tCtrl+E"
+msgstr "Încarcă &Excellon ...\tCtrl+E"
-#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131
+#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:4347
msgid "Open G-&Code ..."
msgstr "Încarcă G-&Code ..."
-#: flatcamGUI/FlatCAMGUI.py:124
+#: flatcamGUI/FlatCAMGUI.py:145
msgid "Open Config ..."
msgstr "Încarcă Config ..."
-#: flatcamGUI/FlatCAMGUI.py:128
+#: flatcamGUI/FlatCAMGUI.py:150
msgid "Recent projects"
msgstr "Proiectele recente"
-#: flatcamGUI/FlatCAMGUI.py:129
+#: flatcamGUI/FlatCAMGUI.py:152
msgid "Recent files"
msgstr "Fişierele Recente"
-#: flatcamGUI/FlatCAMGUI.py:135
+#: flatcamGUI/FlatCAMGUI.py:155 flatcamGUI/FlatCAMGUI.py:738
+#: flatcamGUI/FlatCAMGUI.py:1324
+msgid "Save"
+msgstr "Salvează"
+
+#: flatcamGUI/FlatCAMGUI.py:159
+msgid "&Save Project ...\tCtrl+S"
+msgstr "Salvează Proiect ...\tCtrl+S"
+
+#: flatcamGUI/FlatCAMGUI.py:164
+msgid "Save Project &As ...\tCtrl+Shift+S"
+msgstr "Salvează Proiect ca ...\tCtrl+Shift+S"
+
+#: flatcamGUI/FlatCAMGUI.py:179
msgid "Scripting"
msgstr "Scripting"
-#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:829
-#: flatcamGUI/FlatCAMGUI.py:2409
+#: flatcamGUI/FlatCAMGUI.py:183 flatcamGUI/FlatCAMGUI.py:888
+#: flatcamGUI/FlatCAMGUI.py:2567
msgid "New Script ..."
msgstr "Script nou ..."
-#: flatcamGUI/FlatCAMGUI.py:139 flatcamGUI/FlatCAMGUI.py:831
-#: flatcamGUI/FlatCAMGUI.py:2411
+#: flatcamGUI/FlatCAMGUI.py:185 flatcamGUI/FlatCAMGUI.py:890
+#: flatcamGUI/FlatCAMGUI.py:2569
msgid "Open Script ..."
msgstr "Încarcă &Script..."
-#: flatcamGUI/FlatCAMGUI.py:141 flatcamGUI/FlatCAMGUI.py:833
-#: flatcamGUI/FlatCAMGUI.py:2413 flatcamGUI/FlatCAMGUI.py:4100
+#: flatcamGUI/FlatCAMGUI.py:187 flatcamGUI/FlatCAMGUI.py:892
+#: flatcamGUI/FlatCAMGUI.py:2571 flatcamGUI/FlatCAMGUI.py:4316
msgid "Run Script ..."
msgstr "Rulează Script..."
-#: flatcamGUI/FlatCAMGUI.py:143 flatcamGUI/FlatCAMGUI.py:4102
+#: flatcamGUI/FlatCAMGUI.py:189 flatcamGUI/FlatCAMGUI.py:4318
msgid ""
"Will run the opened Tcl Script thus\n"
"enabling the automation of certain\n"
@@ -5380,47 +5723,47 @@ msgstr ""
"o automatizare a anumitor functii\n"
"din FlatCAM."
-#: flatcamGUI/FlatCAMGUI.py:156
+#: flatcamGUI/FlatCAMGUI.py:203
msgid "Import"
msgstr "Import"
-#: flatcamGUI/FlatCAMGUI.py:158
+#: flatcamGUI/FlatCAMGUI.py:205
msgid "&SVG as Geometry Object ..."
msgstr "&SVG ca și obiect Geometrie ..."
-#: flatcamGUI/FlatCAMGUI.py:161
+#: flatcamGUI/FlatCAMGUI.py:208
msgid "&SVG as Gerber Object ..."
msgstr "&SVG ca și obiect Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:166
+#: flatcamGUI/FlatCAMGUI.py:213
msgid "&DXF as Geometry Object ..."
msgstr "&DXF ca și obiect Geometrie ..."
-#: flatcamGUI/FlatCAMGUI.py:169
+#: flatcamGUI/FlatCAMGUI.py:216
msgid "&DXF as Gerber Object ..."
msgstr "&DXF ca și obiect Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:173
+#: flatcamGUI/FlatCAMGUI.py:220
msgid "HPGL2 as Geometry Object ..."
msgstr "HPGL2 ca obiect de geometrie ..."
-#: flatcamGUI/FlatCAMGUI.py:178
+#: flatcamGUI/FlatCAMGUI.py:226
msgid "Export"
msgstr "Export"
-#: flatcamGUI/FlatCAMGUI.py:181
+#: flatcamGUI/FlatCAMGUI.py:230
msgid "Export &SVG ..."
msgstr "Exporta &SVG ..."
-#: flatcamGUI/FlatCAMGUI.py:184
+#: flatcamGUI/FlatCAMGUI.py:234
msgid "Export DXF ..."
msgstr "Exporta DXF ..."
-#: flatcamGUI/FlatCAMGUI.py:189
+#: flatcamGUI/FlatCAMGUI.py:240
msgid "Export &PNG ..."
msgstr "Exporta &PNG ..."
-#: flatcamGUI/FlatCAMGUI.py:191
+#: flatcamGUI/FlatCAMGUI.py:242
msgid ""
"Will export an image in PNG format,\n"
"the saved image will contain the visual \n"
@@ -5430,11 +5773,11 @@ msgstr ""
"imagina salvata va contine elementele vizuale\n"
"afisate in zona de afișare."
-#: flatcamGUI/FlatCAMGUI.py:200
+#: flatcamGUI/FlatCAMGUI.py:251
msgid "Export &Excellon ..."
msgstr "Exporta Excellon ..."
-#: flatcamGUI/FlatCAMGUI.py:202
+#: flatcamGUI/FlatCAMGUI.py:253
msgid ""
"Will export an Excellon Object as Excellon file,\n"
"the coordinates format, the file units and zeros\n"
@@ -5444,11 +5787,11 @@ msgstr ""
"Formatul coordonatelor, unitatile de masura și tipul\n"
"de zerouri se vor seta in Preferințe -> Export Excellon."
-#: flatcamGUI/FlatCAMGUI.py:209
+#: flatcamGUI/FlatCAMGUI.py:260
msgid "Export &Gerber ..."
msgstr "Exporta &Gerber ..."
-#: flatcamGUI/FlatCAMGUI.py:211
+#: flatcamGUI/FlatCAMGUI.py:262
msgid ""
"Will export an Gerber Object as Gerber file,\n"
"the coordinates format, the file units and zeros\n"
@@ -5458,65 +5801,48 @@ msgstr ""
"Formatul coordonatelor, unitatile de măsură și tipul\n"
"de zerouri se vor seta in Preferințe -> Export Gerber."
-#: flatcamGUI/FlatCAMGUI.py:229
+#: flatcamGUI/FlatCAMGUI.py:272
msgid "Backup"
msgstr "Backup"
-#: flatcamGUI/FlatCAMGUI.py:233
+#: flatcamGUI/FlatCAMGUI.py:277
msgid "Import Preferences from file ..."
msgstr "Importați Preferințele din fișier ..."
-#: flatcamGUI/FlatCAMGUI.py:238
+#: flatcamGUI/FlatCAMGUI.py:283
msgid "Export Preferences to file ..."
msgstr "Exportați Preferințele într-un fișier ..."
-#: flatcamGUI/FlatCAMGUI.py:244 flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:297 flatcamGUI/FlatCAMGUI.py:1715
msgid "Print (PDF)"
msgstr "Tipărire (PDF)"
-#: flatcamGUI/FlatCAMGUI.py:247 flatcamGUI/FlatCAMGUI.py:682
-#: flatcamGUI/FlatCAMGUI.py:1252
-msgid "Save"
-msgstr "Salvează"
-
-#: flatcamGUI/FlatCAMGUI.py:251
-msgid "&Save Project ..."
-msgstr "&Salvează Proiect ..."
-
-#: flatcamGUI/FlatCAMGUI.py:256
-msgid "Save Project &As ...\tCTRL+S"
-msgstr "Salvează Proiect &ca ...\tCTRL+S"
-
-#: flatcamGUI/FlatCAMGUI.py:261
-msgid "Save Project C&opy ..."
-msgstr "Salvează o C&opie Proiect..."
-
-#: flatcamGUI/FlatCAMGUI.py:271
+#: flatcamGUI/FlatCAMGUI.py:305
msgid "E&xit"
msgstr "Iesire"
-#: flatcamGUI/FlatCAMGUI.py:279 flatcamGUI/FlatCAMGUI.py:676
-#: flatcamGUI/FlatCAMGUI.py:2163
+#: flatcamGUI/FlatCAMGUI.py:313 flatcamGUI/FlatCAMGUI.py:732
+#: flatcamGUI/FlatCAMGUI.py:2271
msgid "Edit"
msgstr "Editează"
-#: flatcamGUI/FlatCAMGUI.py:283
+#: flatcamGUI/FlatCAMGUI.py:317
msgid "Edit Object\tE"
msgstr "Editare Obiect\tE"
-#: flatcamGUI/FlatCAMGUI.py:285
-msgid "Close Editor\tCTRL+S"
-msgstr "Salvează Editor\tCTRL+S"
+#: flatcamGUI/FlatCAMGUI.py:319
+msgid "Close Editor\tCtrl+S"
+msgstr "Salvează Editor\tCtrl+S"
-#: flatcamGUI/FlatCAMGUI.py:294
+#: flatcamGUI/FlatCAMGUI.py:328
msgid "Conversion"
msgstr "Conversii"
-#: flatcamGUI/FlatCAMGUI.py:296
+#: flatcamGUI/FlatCAMGUI.py:330
msgid "&Join Geo/Gerber/Exc -> Geo"
msgstr "&Fuzionează Geo/Gerber/Exc -> Geo"
-#: flatcamGUI/FlatCAMGUI.py:298
+#: flatcamGUI/FlatCAMGUI.py:332
msgid ""
"Merge a selection of objects, which can be of type:\n"
"- Gerber\n"
@@ -5530,30 +5856,30 @@ msgstr ""
"- Geometrie\n"
"intr-un nou obiect tip Geometrie >combo<."
-#: flatcamGUI/FlatCAMGUI.py:305
+#: flatcamGUI/FlatCAMGUI.py:339
msgid "Join Excellon(s) -> Excellon"
msgstr "Fuzionează Excellon(s) -> Excellon"
-#: flatcamGUI/FlatCAMGUI.py:307
+#: flatcamGUI/FlatCAMGUI.py:341
msgid "Merge a selection of Excellon objects into a new combo Excellon object."
msgstr ""
"Fuzionează o selecţie de obiecte Excellon intr-un nou obiect Excellon "
">combo<."
-#: flatcamGUI/FlatCAMGUI.py:310
+#: flatcamGUI/FlatCAMGUI.py:344
msgid "Join Gerber(s) -> Gerber"
msgstr "Fuzionează Gerber(s) -> Gerber"
-#: flatcamGUI/FlatCAMGUI.py:312
+#: flatcamGUI/FlatCAMGUI.py:346
msgid "Merge a selection of Gerber objects into a new combo Gerber object."
msgstr ""
"Fuzionează o selecţie de obiecte Gerber intr-un nou obiect Gerber >combo<."
-#: flatcamGUI/FlatCAMGUI.py:317
+#: flatcamGUI/FlatCAMGUI.py:351
msgid "Convert Single to MultiGeo"
msgstr "Converteste SingleGeo in MultiGeo"
-#: flatcamGUI/FlatCAMGUI.py:319
+#: flatcamGUI/FlatCAMGUI.py:353
msgid ""
"Will convert a Geometry object from single_geometry type\n"
"to a multi_geometry type."
@@ -5561,11 +5887,11 @@ msgstr ""
"Va converti un obiect Geometrie din tipul simpla geometrie (SingleGeo)\n"
"la tipul geometrie complexa (MultiGeo)."
-#: flatcamGUI/FlatCAMGUI.py:323
+#: flatcamGUI/FlatCAMGUI.py:357
msgid "Convert Multi to SingleGeo"
msgstr "Converteste MultiGeo in SingleGeo"
-#: flatcamGUI/FlatCAMGUI.py:325
+#: flatcamGUI/FlatCAMGUI.py:359
msgid ""
"Will convert a Geometry object from multi_geometry type\n"
"to a single_geometry type."
@@ -5573,734 +5899,744 @@ msgstr ""
"Va converti un obiect Geometrie din tipul geometrie complexa (MultiGeo)\n"
"la tipul geometrie simpla (SingleGeo)."
-#: flatcamGUI/FlatCAMGUI.py:332
+#: flatcamGUI/FlatCAMGUI.py:366
msgid "Convert Any to Geo"
msgstr "Converteste Oricare to Geo"
-#: flatcamGUI/FlatCAMGUI.py:335
+#: flatcamGUI/FlatCAMGUI.py:369
msgid "Convert Any to Gerber"
msgstr "Converteste Oricare in Gerber"
-#: flatcamGUI/FlatCAMGUI.py:341
-msgid "&Copy\tCTRL+C"
-msgstr "&Copiază\tCTRL+C"
+#: flatcamGUI/FlatCAMGUI.py:375
+msgid "&Copy\tCtrl+C"
+msgstr "&Copiază\tCtrl+C"
-#: flatcamGUI/FlatCAMGUI.py:346
+#: flatcamGUI/FlatCAMGUI.py:380
msgid "&Delete\tDEL"
msgstr "&Șterge\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:351
+#: flatcamGUI/FlatCAMGUI.py:385
msgid "Se&t Origin\tO"
msgstr "Se&tează Originea\tO"
-#: flatcamGUI/FlatCAMGUI.py:353
+#: flatcamGUI/FlatCAMGUI.py:387
+msgid "Move to Origin\tShift+O"
+msgstr "Deplasează la Origine\tShift+O"
+
+#: flatcamGUI/FlatCAMGUI.py:390
msgid "Jump to Location\tJ"
msgstr "Sari la Locaţie\tJ"
-#: flatcamGUI/FlatCAMGUI.py:358
+#: flatcamGUI/FlatCAMGUI.py:392
+msgid "Locate in Object\tShift+J"
+msgstr "Localizează in Obiect\tShift+J"
+
+#: flatcamGUI/FlatCAMGUI.py:397
msgid "Toggle Units\tQ"
msgstr "Comută Unitati\tQ"
-#: flatcamGUI/FlatCAMGUI.py:360
-msgid "&Select All\tCTRL+A"
-msgstr "&Selectează Tot\tCTRL+A"
+#: flatcamGUI/FlatCAMGUI.py:399
+msgid "&Select All\tCtrl+A"
+msgstr "&Selectează Tot\tCtrl+A"
-#: flatcamGUI/FlatCAMGUI.py:365
-msgid "&Preferences\tSHIFT+P"
-msgstr "&Preferințe\tSHIFT+P"
+#: flatcamGUI/FlatCAMGUI.py:404
+msgid "&Preferences\tShift+P"
+msgstr "&Preferințe\tShift+P"
-#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153
+#: flatcamGUI/FlatCAMGUI.py:410 flatcamTools/ToolProperties.py:155
msgid "Options"
msgstr "Opțiuni"
-#: flatcamGUI/FlatCAMGUI.py:373
-msgid "&Rotate Selection\tSHIFT+(R)"
-msgstr "&Roteste Selectia\tSHIFT+(R)"
+#: flatcamGUI/FlatCAMGUI.py:412
+msgid "&Rotate Selection\tShift+(R)"
+msgstr "&Roteste Selectia\tShift+(R)"
-#: flatcamGUI/FlatCAMGUI.py:378
-msgid "&Skew on X axis\tSHIFT+X"
-msgstr "&Deformează pe axa X\tSHIFT+X"
+#: flatcamGUI/FlatCAMGUI.py:417
+msgid "&Skew on X axis\tShift+X"
+msgstr "&Deformează pe axa X\tShift+X"
-#: flatcamGUI/FlatCAMGUI.py:380
-msgid "S&kew on Y axis\tSHIFT+Y"
-msgstr "Deformează pe axa Y\tSHIFT+Y"
+#: flatcamGUI/FlatCAMGUI.py:419
+msgid "S&kew on Y axis\tShift+Y"
+msgstr "Deformează pe axa Y\tShift+Y"
-#: flatcamGUI/FlatCAMGUI.py:385
+#: flatcamGUI/FlatCAMGUI.py:424
msgid "Flip on &X axis\tX"
msgstr "Oglindește pe axa &X\tX"
-#: flatcamGUI/FlatCAMGUI.py:387
+#: flatcamGUI/FlatCAMGUI.py:426
msgid "Flip on &Y axis\tY"
msgstr "Oglindește pe axa &Y\tY"
-#: flatcamGUI/FlatCAMGUI.py:392
-msgid "View source\tALT+S"
-msgstr "Vezi sursa\tALT+S"
+#: flatcamGUI/FlatCAMGUI.py:431
+msgid "View source\tAlt+S"
+msgstr "Vezi sursa\tAlt+S"
-#: flatcamGUI/FlatCAMGUI.py:394
-msgid "Tools DataBase\tCTRL+D"
-msgstr "Baza de data Unelte\tCTRL+D"
+#: flatcamGUI/FlatCAMGUI.py:433
+msgid "Tools DataBase\tCtrl+D"
+msgstr "Baza de data Unelte\tCtrl+D"
-#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060
+#: flatcamGUI/FlatCAMGUI.py:440 flatcamGUI/FlatCAMGUI.py:2168
msgid "View"
msgstr "Vizualizare"
-#: flatcamGUI/FlatCAMGUI.py:403
-msgid "Enable all plots\tALT+1"
-msgstr "Activează toate afişările\tALT+1"
+#: flatcamGUI/FlatCAMGUI.py:442
+msgid "Enable all plots\tAlt+1"
+msgstr "Activează toate afişările\tAlt+1"
-#: flatcamGUI/FlatCAMGUI.py:405
-msgid "Disable all plots\tALT+2"
-msgstr "Dezactivează toate afişările\tALT+2"
+#: flatcamGUI/FlatCAMGUI.py:444
+msgid "Disable all plots\tAlt+2"
+msgstr "Dezactivează toate afişările\tAlt+2"
-#: flatcamGUI/FlatCAMGUI.py:407
-msgid "Disable non-selected\tALT+3"
-msgstr "Dezactivează non-selectate\tALT+3"
+#: flatcamGUI/FlatCAMGUI.py:446
+msgid "Disable non-selected\tAlt+3"
+msgstr "Dezactivează non-selectate\tAlt+3"
-#: flatcamGUI/FlatCAMGUI.py:411
+#: flatcamGUI/FlatCAMGUI.py:450
msgid "&Zoom Fit\tV"
msgstr "&Mărește și potrivește\tV"
-#: flatcamGUI/FlatCAMGUI.py:413
+#: flatcamGUI/FlatCAMGUI.py:452
msgid "&Zoom In\t="
msgstr "&Măreste\t="
-#: flatcamGUI/FlatCAMGUI.py:415
+#: flatcamGUI/FlatCAMGUI.py:454
msgid "&Zoom Out\t-"
msgstr "&Micșorează\t-"
-#: flatcamGUI/FlatCAMGUI.py:420
+#: flatcamGUI/FlatCAMGUI.py:459
msgid "Redraw All\tF5"
msgstr "Reafisare Toate\tF5"
-#: flatcamGUI/FlatCAMGUI.py:424
-msgid "Toggle Code Editor\tSHIFT+E"
-msgstr "Comută Editorul de cod\tSHIFT+E"
+#: flatcamGUI/FlatCAMGUI.py:463
+msgid "Toggle Code Editor\tShift+E"
+msgstr "Comută Editorul de cod\tShift+E"
-#: flatcamGUI/FlatCAMGUI.py:427
-msgid "&Toggle FullScreen\tALT+F10"
-msgstr "Comută FullScreen\tALT+F10"
+#: flatcamGUI/FlatCAMGUI.py:466
+msgid "&Toggle FullScreen\tAlt+F10"
+msgstr "Comută FullScreen\tAlt+F10"
-#: flatcamGUI/FlatCAMGUI.py:429
-msgid "&Toggle Plot Area\tCTRL+F10"
-msgstr "Comută Aria de Afișare\tCTRL+F10"
+#: flatcamGUI/FlatCAMGUI.py:468
+msgid "&Toggle Plot Area\tCtrl+F10"
+msgstr "Comută Aria de Afișare\tCtrl+F10"
-#: flatcamGUI/FlatCAMGUI.py:431
+#: flatcamGUI/FlatCAMGUI.py:470
msgid "&Toggle Project/Sel/Tool\t`"
msgstr "Comută Proiect/Sel/Unealta\t`"
-#: flatcamGUI/FlatCAMGUI.py:435
+#: flatcamGUI/FlatCAMGUI.py:474
msgid "&Toggle Grid Snap\tG"
msgstr "Comută Grid\tG"
-#: flatcamGUI/FlatCAMGUI.py:437
-msgid "&Toggle Grid Lines\tALT+G"
-msgstr "Comută Linii Grid\tALT+G"
+#: flatcamGUI/FlatCAMGUI.py:476
+msgid "&Toggle Grid Lines\tAlt+G"
+msgstr "Comută Linii Grid\tAlt+G"
-#: flatcamGUI/FlatCAMGUI.py:439
-msgid "&Toggle Axis\tSHIFT+G"
-msgstr "Comută Axe\tSHIFT+G"
+#: flatcamGUI/FlatCAMGUI.py:478
+msgid "&Toggle Axis\tShift+G"
+msgstr "Comută Axe\tShift+G"
-#: flatcamGUI/FlatCAMGUI.py:441
-msgid "Toggle Workspace\tSHIFT+W"
-msgstr "Comută Suprafata de lucru\tSHIFT+W"
+#: flatcamGUI/FlatCAMGUI.py:480
+msgid "Toggle Workspace\tShift+W"
+msgstr "Comută Suprafata de lucru\tShift+W"
-#: flatcamGUI/FlatCAMGUI.py:446
+#: flatcamGUI/FlatCAMGUI.py:485
msgid "Objects"
msgstr "Obiecte"
-#: flatcamGUI/FlatCAMGUI.py:460
+#: flatcamGUI/FlatCAMGUI.py:499
msgid "&Command Line\tS"
msgstr "&Linie de comanda\tS"
-#: flatcamGUI/FlatCAMGUI.py:465
+#: flatcamGUI/FlatCAMGUI.py:504
msgid "Help"
msgstr "Ajutor"
-#: flatcamGUI/FlatCAMGUI.py:467
+#: flatcamGUI/FlatCAMGUI.py:506
msgid "Online Help\tF1"
msgstr "Resurse online\tF1"
-#: flatcamGUI/FlatCAMGUI.py:477
+#: flatcamGUI/FlatCAMGUI.py:516
msgid "Report a bug"
msgstr "Raportati o eroare program"
-#: flatcamGUI/FlatCAMGUI.py:480
+#: flatcamGUI/FlatCAMGUI.py:519
msgid "Excellon Specification"
msgstr "Specificatii Excellon"
-#: flatcamGUI/FlatCAMGUI.py:482
+#: flatcamGUI/FlatCAMGUI.py:521
msgid "Gerber Specification"
msgstr "Specificatii Gerber"
-#: flatcamGUI/FlatCAMGUI.py:487
+#: flatcamGUI/FlatCAMGUI.py:526
msgid "Shortcuts List\tF3"
msgstr "Lista shortcut-uri\tF3"
-#: flatcamGUI/FlatCAMGUI.py:489
+#: flatcamGUI/FlatCAMGUI.py:528
msgid "YouTube Channel\tF4"
msgstr "YouTube \tF4"
-#: flatcamGUI/FlatCAMGUI.py:500
+#: flatcamGUI/FlatCAMGUI.py:539
msgid "Add Circle\tO"
msgstr "Adaugă Cerc\tO"
-#: flatcamGUI/FlatCAMGUI.py:503
+#: flatcamGUI/FlatCAMGUI.py:542
msgid "Add Arc\tA"
msgstr "Adaugă Arc\tA"
-#: flatcamGUI/FlatCAMGUI.py:506
+#: flatcamGUI/FlatCAMGUI.py:545
msgid "Add Rectangle\tR"
msgstr "Adaugă Patrulater\tR"
-#: flatcamGUI/FlatCAMGUI.py:509
+#: flatcamGUI/FlatCAMGUI.py:548
msgid "Add Polygon\tN"
msgstr "Adaugă Poligon\tN"
-#: flatcamGUI/FlatCAMGUI.py:512
+#: flatcamGUI/FlatCAMGUI.py:551
msgid "Add Path\tP"
msgstr "Adaugă Cale\tP"
-#: flatcamGUI/FlatCAMGUI.py:515
+#: flatcamGUI/FlatCAMGUI.py:554
msgid "Add Text\tT"
msgstr "Adaugă Text\tT"
-#: flatcamGUI/FlatCAMGUI.py:518
+#: flatcamGUI/FlatCAMGUI.py:557
msgid "Polygon Union\tU"
msgstr "Uniune Poligoane\tU"
-#: flatcamGUI/FlatCAMGUI.py:520
+#: flatcamGUI/FlatCAMGUI.py:559
msgid "Polygon Intersection\tE"
msgstr "Intersecţie Poligoane\tE"
-#: flatcamGUI/FlatCAMGUI.py:522
+#: flatcamGUI/FlatCAMGUI.py:561
msgid "Polygon Subtraction\tS"
msgstr "Substracţie Poligoane\tS"
-#: flatcamGUI/FlatCAMGUI.py:526
+#: flatcamGUI/FlatCAMGUI.py:565
msgid "Cut Path\tX"
msgstr "Tăiere Cale\tX"
-#: flatcamGUI/FlatCAMGUI.py:529
+#: flatcamGUI/FlatCAMGUI.py:569
msgid "Copy Geom\tC"
msgstr "Copiază Geo\tC"
-#: flatcamGUI/FlatCAMGUI.py:531
+#: flatcamGUI/FlatCAMGUI.py:571
msgid "Delete Shape\tDEL"
msgstr "Șterge forma Geo.\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:535 flatcamGUI/FlatCAMGUI.py:622
+#: flatcamGUI/FlatCAMGUI.py:575 flatcamGUI/FlatCAMGUI.py:662
msgid "Move\tM"
msgstr "Muta\tM"
-#: flatcamGUI/FlatCAMGUI.py:537
+#: flatcamGUI/FlatCAMGUI.py:577
msgid "Buffer Tool\tB"
msgstr "Unealta Bufer\tB"
-#: flatcamGUI/FlatCAMGUI.py:540
+#: flatcamGUI/FlatCAMGUI.py:580
msgid "Paint Tool\tI"
msgstr "Unealta Paint\tI"
-#: flatcamGUI/FlatCAMGUI.py:543
-msgid "Transform Tool\tALT+R"
-msgstr "Unealta Transformare\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:583
+msgid "Transform Tool\tAlt+R"
+msgstr "Unealta Transformare\tAlt+R"
-#: flatcamGUI/FlatCAMGUI.py:547
+#: flatcamGUI/FlatCAMGUI.py:587
msgid "Toggle Corner Snap\tK"
msgstr "Comută lipire colt\tK"
-#: flatcamGUI/FlatCAMGUI.py:553
+#: flatcamGUI/FlatCAMGUI.py:593
msgid ">Excellon Editor<"
msgstr ">Editor Excellon<"
-#: flatcamGUI/FlatCAMGUI.py:557
+#: flatcamGUI/FlatCAMGUI.py:597
msgid "Add Drill Array\tA"
msgstr "Adaugă Arie Găuriri\tA"
-#: flatcamGUI/FlatCAMGUI.py:559
+#: flatcamGUI/FlatCAMGUI.py:599
msgid "Add Drill\tD"
msgstr "Adaugă Găurire\tD"
-#: flatcamGUI/FlatCAMGUI.py:563
+#: flatcamGUI/FlatCAMGUI.py:603
msgid "Add Slot Array\tQ"
msgstr "Adăugați Arie de Sloturi\tQ"
-#: flatcamGUI/FlatCAMGUI.py:565
+#: flatcamGUI/FlatCAMGUI.py:605
msgid "Add Slot\tW"
msgstr "Adăugați Slot\tW"
-#: flatcamGUI/FlatCAMGUI.py:569
+#: flatcamGUI/FlatCAMGUI.py:609
msgid "Resize Drill(S)\tR"
msgstr "Redimens. Găuriri\tR"
-#: flatcamGUI/FlatCAMGUI.py:572 flatcamGUI/FlatCAMGUI.py:616
+#: flatcamGUI/FlatCAMGUI.py:612 flatcamGUI/FlatCAMGUI.py:656
msgid "Copy\tC"
msgstr "Copiază\tC"
-#: flatcamGUI/FlatCAMGUI.py:574 flatcamGUI/FlatCAMGUI.py:618
+#: flatcamGUI/FlatCAMGUI.py:614 flatcamGUI/FlatCAMGUI.py:658
msgid "Delete\tDEL"
msgstr "Șterge\tDEL"
-#: flatcamGUI/FlatCAMGUI.py:579
+#: flatcamGUI/FlatCAMGUI.py:619
msgid "Move Drill(s)\tM"
msgstr "Muta Găuriri\tM"
-#: flatcamGUI/FlatCAMGUI.py:584
+#: flatcamGUI/FlatCAMGUI.py:624
msgid ">Gerber Editor<"
msgstr ">Editor Gerber<"
-#: flatcamGUI/FlatCAMGUI.py:588
+#: flatcamGUI/FlatCAMGUI.py:628
msgid "Add Pad\tP"
msgstr "Adaugă Pad\tP"
-#: flatcamGUI/FlatCAMGUI.py:590
+#: flatcamGUI/FlatCAMGUI.py:630
msgid "Add Pad Array\tA"
msgstr "Adaugă Arie paduri\tA"
-#: flatcamGUI/FlatCAMGUI.py:592
+#: flatcamGUI/FlatCAMGUI.py:632
msgid "Add Track\tT"
msgstr "Adaugă Traseu\tA"
-#: flatcamGUI/FlatCAMGUI.py:594
+#: flatcamGUI/FlatCAMGUI.py:634
msgid "Add Region\tN"
msgstr "Adaugă Regiune\tN"
-#: flatcamGUI/FlatCAMGUI.py:598
-msgid "Poligonize\tALT+N"
-msgstr "Poligonizare\tALT+N"
+#: flatcamGUI/FlatCAMGUI.py:638
+msgid "Poligonize\tAlt+N"
+msgstr "Poligonizare\tAlt+N"
-#: flatcamGUI/FlatCAMGUI.py:600
+#: flatcamGUI/FlatCAMGUI.py:640
msgid "Add SemiDisc\tE"
msgstr "Adaugă SemiDisc\tE"
-#: flatcamGUI/FlatCAMGUI.py:602
+#: flatcamGUI/FlatCAMGUI.py:642
msgid "Add Disc\tD"
msgstr "Adaugă Disc\tD"
-#: flatcamGUI/FlatCAMGUI.py:604
+#: flatcamGUI/FlatCAMGUI.py:644
msgid "Buffer\tB"
msgstr "Bufer\tB"
-#: flatcamGUI/FlatCAMGUI.py:606
+#: flatcamGUI/FlatCAMGUI.py:646
msgid "Scale\tS"
msgstr "Scalare\tS"
-#: flatcamGUI/FlatCAMGUI.py:608
-msgid "Mark Area\tALT+A"
-msgstr "Marchează aria\tALT+A"
+#: flatcamGUI/FlatCAMGUI.py:648
+msgid "Mark Area\tAlt+A"
+msgstr "Marchează aria\tAlt+A"
-#: flatcamGUI/FlatCAMGUI.py:610
-msgid "Eraser\tCTRL+E"
-msgstr "Radieră\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:650
+msgid "Eraser\tCtrl+E"
+msgstr "Radieră\tCtrl+E"
-#: flatcamGUI/FlatCAMGUI.py:612
-msgid "Transform\tALT+R"
-msgstr "Unealta Transformare\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:652
+msgid "Transform\tAlt+R"
+msgstr "Unealta Transformare\tAlt+R"
-#: flatcamGUI/FlatCAMGUI.py:639
+#: flatcamGUI/FlatCAMGUI.py:679
msgid "Enable Plot"
msgstr "Activează Afișare"
-#: flatcamGUI/FlatCAMGUI.py:641
+#: flatcamGUI/FlatCAMGUI.py:681
msgid "Disable Plot"
msgstr "Dezactivează Afișare"
-#: flatcamGUI/FlatCAMGUI.py:645
+#: flatcamGUI/FlatCAMGUI.py:685
msgid "Set Color"
msgstr "Setați culoarea"
-#: flatcamGUI/FlatCAMGUI.py:648
-msgid "Red"
-msgstr "Roșu"
-
-#: flatcamGUI/FlatCAMGUI.py:651
-msgid "Blue"
-msgstr "Albastru"
-
-#: flatcamGUI/FlatCAMGUI.py:654
-msgid "Yellow"
-msgstr "Galben"
-
-#: flatcamGUI/FlatCAMGUI.py:657
-msgid "Green"
-msgstr "Verde"
-
-#: flatcamGUI/FlatCAMGUI.py:660
-msgid "Purple"
-msgstr "Violet"
-
-#: flatcamGUI/FlatCAMGUI.py:663
-msgid "Brown"
-msgstr "Maro"
-
-#: flatcamGUI/FlatCAMGUI.py:666
-msgid "Custom"
-msgstr "Personalizat"
-
-#: flatcamGUI/FlatCAMGUI.py:671
+#: flatcamGUI/FlatCAMGUI.py:727
msgid "Generate CNC"
msgstr "Generează CNC"
-#: flatcamGUI/FlatCAMGUI.py:673
+#: flatcamGUI/FlatCAMGUI.py:729
msgid "View Source"
msgstr "Vizualiz. Sursa"
-#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2172
-#: flatcamTools/ToolProperties.py:30
+#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:2280
+#: flatcamTools/ToolProperties.py:31
msgid "Properties"
msgstr "Proprietati"
-#: flatcamGUI/FlatCAMGUI.py:715
+#: flatcamGUI/FlatCAMGUI.py:771
msgid "File Toolbar"
msgstr "Toolbar Fişiere"
-#: flatcamGUI/FlatCAMGUI.py:719
+#: flatcamGUI/FlatCAMGUI.py:775
msgid "Edit Toolbar"
msgstr "Toolbar Editare"
-#: flatcamGUI/FlatCAMGUI.py:723
+#: flatcamGUI/FlatCAMGUI.py:779
msgid "View Toolbar"
msgstr "Toolbar Vizualizare"
-#: flatcamGUI/FlatCAMGUI.py:727
+#: flatcamGUI/FlatCAMGUI.py:783
msgid "Shell Toolbar"
msgstr "Toolbar Linie de comanda"
-#: flatcamGUI/FlatCAMGUI.py:731
+#: flatcamGUI/FlatCAMGUI.py:787
msgid "Tools Toolbar"
msgstr "Toolbar Unelte"
-#: flatcamGUI/FlatCAMGUI.py:735
+#: flatcamGUI/FlatCAMGUI.py:791
msgid "Excellon Editor Toolbar"
msgstr "Toolbar Editor Excellon"
-#: flatcamGUI/FlatCAMGUI.py:741
+#: flatcamGUI/FlatCAMGUI.py:797
msgid "Geometry Editor Toolbar"
msgstr "Toolbar Editor Geometrii"
-#: flatcamGUI/FlatCAMGUI.py:745
+#: flatcamGUI/FlatCAMGUI.py:801
msgid "Gerber Editor Toolbar"
msgstr "Toolbar Editor Gerber"
-#: flatcamGUI/FlatCAMGUI.py:749
+#: flatcamGUI/FlatCAMGUI.py:805
msgid "Grid Toolbar"
msgstr "Toolbar Grid-uri"
-#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2357
+#: flatcamGUI/FlatCAMGUI.py:826 flatcamGUI/FlatCAMGUI.py:2509
msgid "Open project"
msgstr "Încarcă Proiect"
-#: flatcamGUI/FlatCAMGUI.py:774 flatcamGUI/FlatCAMGUI.py:2359
+#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:2511
msgid "Save project"
msgstr "Salvează Proiect"
-#: flatcamGUI/FlatCAMGUI.py:780 flatcamGUI/FlatCAMGUI.py:2363
+#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:2517
msgid "New Blank Geometry"
msgstr "Geometrie Noua (goală)"
-#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2365
+#: flatcamGUI/FlatCAMGUI.py:836 flatcamGUI/FlatCAMGUI.py:2519
msgid "New Blank Gerber"
msgstr "Gerber Nou (gol)"
-#: flatcamGUI/FlatCAMGUI.py:784 flatcamGUI/FlatCAMGUI.py:2367
+#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:2521
msgid "New Blank Excellon"
msgstr "Excellon nou (gol)"
-#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:2373
+#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2527
msgid "Save Object and close the Editor"
msgstr "Salvează Obiectul și inchide Editorul"
-#: flatcamGUI/FlatCAMGUI.py:796 flatcamGUI/FlatCAMGUI.py:2380
+#: flatcamGUI/FlatCAMGUI.py:850 flatcamGUI/FlatCAMGUI.py:2534
msgid "&Delete"
msgstr "&Șterge"
-#: flatcamGUI/FlatCAMGUI.py:799 flatcamGUI/FlatCAMGUI.py:1613
-#: flatcamGUI/FlatCAMGUI.py:1812 flatcamGUI/FlatCAMGUI.py:2383
-#: flatcamTools/ToolDistance.py:30 flatcamTools/ToolDistance.py:160
+#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:1714
+#: flatcamGUI/FlatCAMGUI.py:1920 flatcamGUI/FlatCAMGUI.py:2537
+#: flatcamTools/ToolDistance.py:35 flatcamTools/ToolDistance.py:195
msgid "Distance Tool"
msgstr "Unealta Distanță"
-#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2385
+#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2539
msgid "Distance Min Tool"
msgstr "Unealta Distanță min"
-#: flatcamGUI/FlatCAMGUI.py:803 flatcamGUI/FlatCAMGUI.py:1606
-#: flatcamGUI/FlatCAMGUI.py:2387
+#: flatcamGUI/FlatCAMGUI.py:857 flatcamGUI/FlatCAMGUI.py:1707
+#: flatcamGUI/FlatCAMGUI.py:2541
msgid "Set Origin"
msgstr "Setează Originea"
-#: flatcamGUI/FlatCAMGUI.py:805 flatcamGUI/FlatCAMGUI.py:2389
+#: flatcamGUI/FlatCAMGUI.py:859
+msgid "Move to Origin"
+msgstr "Deplasează-te la Origine"
+
+#: flatcamGUI/FlatCAMGUI.py:862 flatcamGUI/FlatCAMGUI.py:2543
msgid "Jump to Location"
msgstr "Sari la Locaţie"
-#: flatcamGUI/FlatCAMGUI.py:811 flatcamGUI/FlatCAMGUI.py:2393
+#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1719
+#: flatcamGUI/FlatCAMGUI.py:2545
+msgid "Locate in Object"
+msgstr "Localizează in Obiect"
+
+#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2551
msgid "&Replot"
msgstr "&Reafișare"
-#: flatcamGUI/FlatCAMGUI.py:813 flatcamGUI/FlatCAMGUI.py:2395
+#: flatcamGUI/FlatCAMGUI.py:872 flatcamGUI/FlatCAMGUI.py:2553
msgid "&Clear plot"
msgstr "&Șterge Afișare"
-#: flatcamGUI/FlatCAMGUI.py:815 flatcamGUI/FlatCAMGUI.py:1609
-#: flatcamGUI/FlatCAMGUI.py:2397
+#: flatcamGUI/FlatCAMGUI.py:874 flatcamGUI/FlatCAMGUI.py:1710
+#: flatcamGUI/FlatCAMGUI.py:2555
msgid "Zoom In"
msgstr "Marire"
-#: flatcamGUI/FlatCAMGUI.py:817 flatcamGUI/FlatCAMGUI.py:1609
-#: flatcamGUI/FlatCAMGUI.py:2399
+#: flatcamGUI/FlatCAMGUI.py:876 flatcamGUI/FlatCAMGUI.py:1710
+#: flatcamGUI/FlatCAMGUI.py:2557
msgid "Zoom Out"
msgstr "Micsorare"
-#: flatcamGUI/FlatCAMGUI.py:819 flatcamGUI/FlatCAMGUI.py:1608
-#: flatcamGUI/FlatCAMGUI.py:2062 flatcamGUI/FlatCAMGUI.py:2401
+#: flatcamGUI/FlatCAMGUI.py:878 flatcamGUI/FlatCAMGUI.py:1709
+#: flatcamGUI/FlatCAMGUI.py:2170 flatcamGUI/FlatCAMGUI.py:2559
msgid "Zoom Fit"
msgstr "Marire și ajustare"
-#: flatcamGUI/FlatCAMGUI.py:827 flatcamGUI/FlatCAMGUI.py:2407
+#: flatcamGUI/FlatCAMGUI.py:886 flatcamGUI/FlatCAMGUI.py:2565
msgid "&Command Line"
msgstr "&Linie de comanda"
-#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:2417
+#: flatcamGUI/FlatCAMGUI.py:898 flatcamGUI/FlatCAMGUI.py:2577
msgid "2Sided Tool"
msgstr "Unealta 2-fețe"
-#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/ObjectUI.py:588
-#: flatcamTools/ToolCutOut.py:436
+#: flatcamGUI/FlatCAMGUI.py:900 flatcamGUI/FlatCAMGUI.py:1725
+#: flatcamGUI/FlatCAMGUI.py:2579
+msgid "Align Objects Tool"
+msgstr "Unealta de Aliniere"
+
+#: flatcamGUI/FlatCAMGUI.py:902 flatcamGUI/FlatCAMGUI.py:1726
+#: flatcamGUI/FlatCAMGUI.py:2581 flatcamTools/ToolExtractDrills.py:393
+msgid "Extract Drills Tool"
+msgstr "Unealta de Extragere Găuri"
+
+#: flatcamGUI/FlatCAMGUI.py:905 flatcamGUI/ObjectUI.py:595
+#: flatcamTools/ToolCutOut.py:447
msgid "Cutout Tool"
msgstr "Unealta Decupare"
-#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2421
-#: flatcamGUI/ObjectUI.py:566 flatcamGUI/ObjectUI.py:1749
-#: flatcamTools/ToolNonCopperClear.py:632
+#: flatcamGUI/FlatCAMGUI.py:907 flatcamGUI/FlatCAMGUI.py:2586
+#: flatcamGUI/ObjectUI.py:573 flatcamGUI/ObjectUI.py:2075
+#: flatcamTools/ToolNCC.py:974
msgid "NCC Tool"
msgstr "Unealta NCC"
-#: flatcamGUI/FlatCAMGUI.py:849 flatcamGUI/FlatCAMGUI.py:2427
+#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2592
msgid "Panel Tool"
msgstr "Unealta Panel"
-#: flatcamGUI/FlatCAMGUI.py:851 flatcamGUI/FlatCAMGUI.py:2429
-#: flatcamTools/ToolFilm.py:578
+#: flatcamGUI/FlatCAMGUI.py:915 flatcamGUI/FlatCAMGUI.py:2594
+#: flatcamTools/ToolFilm.py:586
msgid "Film Tool"
msgstr "Unealta Film"
-#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:2432
-#: flatcamTools/ToolSolderPaste.py:547
+#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2596
+#: flatcamTools/ToolSolderPaste.py:553
msgid "SolderPaste Tool"
msgstr "Unealta Dispenser SP"
-#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2434
+#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2598
#: flatcamTools/ToolSub.py:35
msgid "Subtract Tool"
msgstr "Unealta Scădere"
-#: flatcamGUI/FlatCAMGUI.py:857 flatcamTools/ToolRulesCheck.py:607
+#: flatcamGUI/FlatCAMGUI.py:921 flatcamGUI/FlatCAMGUI.py:2600
+#: flatcamTools/ToolRulesCheck.py:616
msgid "Rules Tool"
msgstr "Unalta Verif. Reguli"
-#: flatcamGUI/FlatCAMGUI.py:859 flatcamGUI/FlatCAMGUI.py:1624
-#: flatcamTools/ToolOptimal.py:34 flatcamTools/ToolOptimal.py:310
+#: flatcamGUI/FlatCAMGUI.py:923 flatcamGUI/FlatCAMGUI.py:1728
+#: flatcamGUI/FlatCAMGUI.py:2602 flatcamTools/ToolOptimal.py:34
+#: flatcamTools/ToolOptimal.py:308
msgid "Optimal Tool"
msgstr "Unealta Optim"
-#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1622
-#: flatcamGUI/FlatCAMGUI.py:2439
+#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:1725
+#: flatcamGUI/FlatCAMGUI.py:2607
msgid "Calculators Tool"
msgstr "Unealta Calculatoare"
-#: flatcamGUI/FlatCAMGUI.py:868 flatcamGUI/FlatCAMGUI.py:1625
-#: flatcamGUI/FlatCAMGUI.py:2443 flatcamTools/ToolQRCode.py:43
+#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:1729
+#: flatcamGUI/FlatCAMGUI.py:2611 flatcamTools/ToolQRCode.py:43
#: flatcamTools/ToolQRCode.py:382
msgid "QRCode Tool"
msgstr "Unealta QRCode"
-#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2445
-#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:566
+#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2613
+#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:569
msgid "Copper Thieving Tool"
msgstr "Unealta Copper Thieving"
-#: flatcamGUI/FlatCAMGUI.py:873 flatcamGUI/FlatCAMGUI.py:1622
-#: flatcamGUI/FlatCAMGUI.py:2448 flatcamTools/ToolFiducials.py:33
-#: flatcamTools/ToolFiducials.py:393
+#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:1726
+#: flatcamGUI/FlatCAMGUI.py:2616 flatcamTools/ToolFiducials.py:33
+#: flatcamTools/ToolFiducials.py:395
msgid "Fiducials Tool"
msgstr "Unealta Fiducials"
-#: flatcamGUI/FlatCAMGUI.py:875 flatcamGUI/FlatCAMGUI.py:2450
-#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:762
+#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2618
+#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:759
msgid "Calibration Tool"
msgstr "Unealta Calibrare"
-#: flatcamGUI/FlatCAMGUI.py:881 flatcamGUI/FlatCAMGUI.py:907
-#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2454
-#: flatcamGUI/FlatCAMGUI.py:2528
+#: flatcamGUI/FlatCAMGUI.py:941 flatcamGUI/FlatCAMGUI.py:1726
+msgid "Punch Gerber Tool"
+msgstr "Unealta Punctare Gerber"
+
+#: flatcamGUI/FlatCAMGUI.py:943 flatcamTools/ToolInvertGerber.py:31
+msgid "Invert Gerber Tool"
+msgstr "Unealta Inversare Gerber"
+
+#: flatcamGUI/FlatCAMGUI.py:949 flatcamGUI/FlatCAMGUI.py:975
+#: flatcamGUI/FlatCAMGUI.py:1027 flatcamGUI/FlatCAMGUI.py:2624
+#: flatcamGUI/FlatCAMGUI.py:2702
msgid "Select"
msgstr "Selectează"
-#: flatcamGUI/FlatCAMGUI.py:883 flatcamGUI/FlatCAMGUI.py:2456
+#: flatcamGUI/FlatCAMGUI.py:951 flatcamGUI/FlatCAMGUI.py:2626
msgid "Add Drill Hole"
msgstr "Adaugă o Găurire"
-#: flatcamGUI/FlatCAMGUI.py:885 flatcamGUI/FlatCAMGUI.py:2458
+#: flatcamGUI/FlatCAMGUI.py:953 flatcamGUI/FlatCAMGUI.py:2628
msgid "Add Drill Hole Array"
msgstr "Adaugă o arie de Găuriri"
-#: flatcamGUI/FlatCAMGUI.py:887 flatcamGUI/FlatCAMGUI.py:1897
-#: flatcamGUI/FlatCAMGUI.py:2150 flatcamGUI/FlatCAMGUI.py:2462
+#: flatcamGUI/FlatCAMGUI.py:955 flatcamGUI/FlatCAMGUI.py:2005
+#: flatcamGUI/FlatCAMGUI.py:2258 flatcamGUI/FlatCAMGUI.py:2632
msgid "Add Slot"
msgstr "Adaugă Slot"
-#: flatcamGUI/FlatCAMGUI.py:889 flatcamGUI/FlatCAMGUI.py:1896
-#: flatcamGUI/FlatCAMGUI.py:2152 flatcamGUI/FlatCAMGUI.py:2464
+#: flatcamGUI/FlatCAMGUI.py:957 flatcamGUI/FlatCAMGUI.py:2004
+#: flatcamGUI/FlatCAMGUI.py:2260 flatcamGUI/FlatCAMGUI.py:2634
msgid "Add Slot Array"
msgstr "Adaugă o Arie sloturi"
-#: flatcamGUI/FlatCAMGUI.py:891 flatcamGUI/FlatCAMGUI.py:2155
-#: flatcamGUI/FlatCAMGUI.py:2460
+#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2263
+#: flatcamGUI/FlatCAMGUI.py:2630
msgid "Resize Drill"
msgstr "Redimens. Găurire"
-#: flatcamGUI/FlatCAMGUI.py:895 flatcamGUI/FlatCAMGUI.py:2468
+#: flatcamGUI/FlatCAMGUI.py:963 flatcamGUI/FlatCAMGUI.py:2638
msgid "Copy Drill"
msgstr "Copiază Găurire"
-#: flatcamGUI/FlatCAMGUI.py:897 flatcamGUI/FlatCAMGUI.py:2470
+#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2640
msgid "Delete Drill"
msgstr "Șterge Găurire"
-#: flatcamGUI/FlatCAMGUI.py:901 flatcamGUI/FlatCAMGUI.py:2474
+#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2644
msgid "Move Drill"
msgstr "Muta Găurire"
-#: flatcamGUI/FlatCAMGUI.py:909 flatcamGUI/FlatCAMGUI.py:2480
+#: flatcamGUI/FlatCAMGUI.py:977 flatcamGUI/FlatCAMGUI.py:2652
msgid "Add Circle"
msgstr "Adaugă Cerc"
-#: flatcamGUI/FlatCAMGUI.py:911 flatcamGUI/FlatCAMGUI.py:2482
+#: flatcamGUI/FlatCAMGUI.py:979 flatcamGUI/FlatCAMGUI.py:2654
msgid "Add Arc"
msgstr "Adaugă Arc"
-#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2484
+#: flatcamGUI/FlatCAMGUI.py:981 flatcamGUI/FlatCAMGUI.py:2656
msgid "Add Rectangle"
msgstr "Adaugă Patrulater"
-#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2488
+#: flatcamGUI/FlatCAMGUI.py:985 flatcamGUI/FlatCAMGUI.py:2660
msgid "Add Path"
msgstr "Adaugă Cale"
-#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2490
+#: flatcamGUI/FlatCAMGUI.py:987 flatcamGUI/FlatCAMGUI.py:2662
msgid "Add Polygon"
msgstr "Adaugă Poligon"
-#: flatcamGUI/FlatCAMGUI.py:922 flatcamGUI/FlatCAMGUI.py:2493
+#: flatcamGUI/FlatCAMGUI.py:990 flatcamGUI/FlatCAMGUI.py:2665
msgid "Add Text"
msgstr "Adaugă Text"
-#: flatcamGUI/FlatCAMGUI.py:924 flatcamGUI/FlatCAMGUI.py:2495
+#: flatcamGUI/FlatCAMGUI.py:992 flatcamGUI/FlatCAMGUI.py:2667
msgid "Add Buffer"
msgstr "Adaugă Bufer"
-#: flatcamGUI/FlatCAMGUI.py:926 flatcamGUI/FlatCAMGUI.py:2497
+#: flatcamGUI/FlatCAMGUI.py:994 flatcamGUI/FlatCAMGUI.py:2669
msgid "Paint Shape"
msgstr "Paint o forma"
-#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:985
-#: flatcamGUI/FlatCAMGUI.py:2091 flatcamGUI/FlatCAMGUI.py:2136
-#: flatcamGUI/FlatCAMGUI.py:2499 flatcamGUI/FlatCAMGUI.py:2553
+#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:1053
+#: flatcamGUI/FlatCAMGUI.py:2199 flatcamGUI/FlatCAMGUI.py:2244
+#: flatcamGUI/FlatCAMGUI.py:2671 flatcamGUI/FlatCAMGUI.py:2727
msgid "Eraser"
msgstr "Stergere Selectivă"
-#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:2503
+#: flatcamGUI/FlatCAMGUI.py:1000 flatcamGUI/FlatCAMGUI.py:2675
msgid "Polygon Union"
msgstr "Uniune Poligoane"
-#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2505
+#: flatcamGUI/FlatCAMGUI.py:1002 flatcamGUI/FlatCAMGUI.py:2677
msgid "Polygon Explode"
msgstr "Explodare Poligoane"
-#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:2508
+#: flatcamGUI/FlatCAMGUI.py:1005 flatcamGUI/FlatCAMGUI.py:2680
msgid "Polygon Intersection"
msgstr "Intersecţie Poligoane"
-#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2510
+#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2682
msgid "Polygon Subtraction"
msgstr "Substracţie Poligoane"
-#: flatcamGUI/FlatCAMGUI.py:943 flatcamGUI/FlatCAMGUI.py:2514
+#: flatcamGUI/FlatCAMGUI.py:1011 flatcamGUI/FlatCAMGUI.py:2686
msgid "Cut Path"
msgstr "Taie Cale"
-#: flatcamGUI/FlatCAMGUI.py:945
+#: flatcamGUI/FlatCAMGUI.py:1013
msgid "Copy Shape(s)"
msgstr "Copiază forme geo."
-#: flatcamGUI/FlatCAMGUI.py:948
+#: flatcamGUI/FlatCAMGUI.py:1016
msgid "Delete Shape '-'"
msgstr "Șterge forme geo"
-#: flatcamGUI/FlatCAMGUI.py:950 flatcamGUI/FlatCAMGUI.py:993
-#: flatcamGUI/FlatCAMGUI.py:2103 flatcamGUI/FlatCAMGUI.py:2140
-#: flatcamGUI/FlatCAMGUI.py:2520 flatcamGUI/FlatCAMGUI.py:2561
+#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:1061
+#: flatcamGUI/FlatCAMGUI.py:2211 flatcamGUI/FlatCAMGUI.py:2248
+#: flatcamGUI/FlatCAMGUI.py:2692 flatcamGUI/FlatCAMGUI.py:2735
+#: flatcamGUI/ObjectUI.py:108
msgid "Transformations"
msgstr "Transformări"
-#: flatcamGUI/FlatCAMGUI.py:953
+#: flatcamGUI/FlatCAMGUI.py:1021
msgid "Move Objects "
msgstr "Mută Obiecte "
-#: flatcamGUI/FlatCAMGUI.py:961 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2530
+#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2704
msgid "Add Pad"
msgstr "Adaugă Pad"
-#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2017
-#: flatcamGUI/FlatCAMGUI.py:2534
+#: flatcamGUI/FlatCAMGUI.py:1033 flatcamGUI/FlatCAMGUI.py:2125
+#: flatcamGUI/FlatCAMGUI.py:2708
msgid "Add Track"
msgstr "Adaugă Traseu"
-#: flatcamGUI/FlatCAMGUI.py:967 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2536
+#: flatcamGUI/FlatCAMGUI.py:1035 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2710
msgid "Add Region"
msgstr "Adaugă Regiune"
-#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2122
-#: flatcamGUI/FlatCAMGUI.py:2538
+#: flatcamGUI/FlatCAMGUI.py:1037 flatcamGUI/FlatCAMGUI.py:2230
+#: flatcamGUI/FlatCAMGUI.py:2712
msgid "Poligonize"
msgstr "Poligonizare"
-#: flatcamGUI/FlatCAMGUI.py:972 flatcamGUI/FlatCAMGUI.py:2124
-#: flatcamGUI/FlatCAMGUI.py:2541
+#: flatcamGUI/FlatCAMGUI.py:1040 flatcamGUI/FlatCAMGUI.py:2232
+#: flatcamGUI/FlatCAMGUI.py:2715
msgid "SemiDisc"
msgstr "SemiDisc"
-#: flatcamGUI/FlatCAMGUI.py:974 flatcamGUI/FlatCAMGUI.py:2126
-#: flatcamGUI/FlatCAMGUI.py:2543
+#: flatcamGUI/FlatCAMGUI.py:1042 flatcamGUI/FlatCAMGUI.py:2234
+#: flatcamGUI/FlatCAMGUI.py:2717
msgid "Disc"
msgstr "Disc"
-#: flatcamGUI/FlatCAMGUI.py:982 flatcamGUI/FlatCAMGUI.py:2134
-#: flatcamGUI/FlatCAMGUI.py:2551
+#: flatcamGUI/FlatCAMGUI.py:1050 flatcamGUI/FlatCAMGUI.py:2242
+#: flatcamGUI/FlatCAMGUI.py:2725
msgid "Mark Area"
msgstr "Marc. aria"
-#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:2016
-#: flatcamGUI/FlatCAMGUI.py:2107 flatcamGUI/FlatCAMGUI.py:2170
-#: flatcamGUI/FlatCAMGUI.py:2564 flatcamTools/ToolMove.py:28
+#: flatcamGUI/FlatCAMGUI.py:1064 flatcamGUI/FlatCAMGUI.py:2124
+#: flatcamGUI/FlatCAMGUI.py:2215 flatcamGUI/FlatCAMGUI.py:2278
+#: flatcamGUI/FlatCAMGUI.py:2738 flatcamTools/ToolMove.py:28
msgid "Move"
msgstr "Mutare"
-#: flatcamGUI/FlatCAMGUI.py:1004 flatcamGUI/FlatCAMGUI.py:2571
+#: flatcamGUI/FlatCAMGUI.py:1072 flatcamGUI/FlatCAMGUI.py:2747
msgid "Snap to grid"
msgstr "Lipire la grid"
-#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2574
+#: flatcamGUI/FlatCAMGUI.py:1075 flatcamGUI/FlatCAMGUI.py:2750
msgid "Grid X snapping distance"
msgstr "Distanta de lipire la grid pe axa X"
-#: flatcamGUI/FlatCAMGUI.py:1012 flatcamGUI/FlatCAMGUI.py:2579
+#: flatcamGUI/FlatCAMGUI.py:1080 flatcamGUI/FlatCAMGUI.py:2755
msgid "Grid Y snapping distance"
msgstr "Distanta de lipire la grid pe axa Y"
-#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:2585
+#: flatcamGUI/FlatCAMGUI.py:1086 flatcamGUI/FlatCAMGUI.py:2761
msgid ""
"When active, value on Grid_X\n"
"is copied to the Grid_Y value."
@@ -6308,63 +6644,64 @@ msgstr ""
"Când este activ, valoarea de pe Grid_X\n"
"este copiata și in Grid_Y."
-#: flatcamGUI/FlatCAMGUI.py:1025 flatcamGUI/FlatCAMGUI.py:2592
+#: flatcamGUI/FlatCAMGUI.py:1093 flatcamGUI/FlatCAMGUI.py:2768
msgid "Snap to corner"
msgstr "Lipire la colt"
-#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2596
-#: flatcamGUI/PreferencesUI.py:984
+#: flatcamGUI/FlatCAMGUI.py:1097 flatcamGUI/FlatCAMGUI.py:2772
+#: flatcamGUI/PreferencesUI.py:1159
msgid "Max. magnet distance"
msgstr "Distanta magnetica maxima"
-#: flatcamGUI/FlatCAMGUI.py:1063
+#: flatcamGUI/FlatCAMGUI.py:1134
msgid "Selected"
msgstr "Selectat"
-#: flatcamGUI/FlatCAMGUI.py:1090 flatcamGUI/FlatCAMGUI.py:1098
+#: flatcamGUI/FlatCAMGUI.py:1162 flatcamGUI/FlatCAMGUI.py:1170
msgid "Plot Area"
msgstr "Arie Afișare"
-#: flatcamGUI/FlatCAMGUI.py:1125
+#: flatcamGUI/FlatCAMGUI.py:1197
msgid "General"
msgstr "General"
-#: flatcamGUI/FlatCAMGUI.py:1140 flatcamTools/ToolCopperThieving.py:74
-#: flatcamTools/ToolDblSided.py:59 flatcamTools/ToolOptimal.py:71
-#: flatcamTools/ToolQRCode.py:77
+#: flatcamGUI/FlatCAMGUI.py:1212 flatcamTools/ToolCopperThieving.py:75
+#: flatcamTools/ToolDblSided.py:65 flatcamTools/ToolExtractDrills.py:61
+#: flatcamTools/ToolInvertGerber.py:72 flatcamTools/ToolOptimal.py:72
+#: flatcamTools/ToolPunchGerber.py:64
msgid "GERBER"
msgstr "GERBER"
-#: flatcamGUI/FlatCAMGUI.py:1150 flatcamTools/ToolDblSided.py:87
+#: flatcamGUI/FlatCAMGUI.py:1222 flatcamTools/ToolDblSided.py:93
msgid "EXCELLON"
msgstr "EXCELLON"
-#: flatcamGUI/FlatCAMGUI.py:1160 flatcamTools/ToolDblSided.py:115
+#: flatcamGUI/FlatCAMGUI.py:1232 flatcamTools/ToolDblSided.py:121
msgid "GEOMETRY"
msgstr "GEOMETRIE"
-#: flatcamGUI/FlatCAMGUI.py:1170
+#: flatcamGUI/FlatCAMGUI.py:1242
msgid "CNC-JOB"
msgstr "CNCJob"
-#: flatcamGUI/FlatCAMGUI.py:1179 flatcamGUI/ObjectUI.py:555
-#: flatcamGUI/ObjectUI.py:1724
+#: flatcamGUI/FlatCAMGUI.py:1251 flatcamGUI/ObjectUI.py:562
+#: flatcamGUI/ObjectUI.py:2050
msgid "TOOLS"
msgstr "Unelte"
-#: flatcamGUI/FlatCAMGUI.py:1188
+#: flatcamGUI/FlatCAMGUI.py:1260
msgid "TOOLS 2"
msgstr "UNELTE 2"
-#: flatcamGUI/FlatCAMGUI.py:1198
+#: flatcamGUI/FlatCAMGUI.py:1270
msgid "UTILITIES"
msgstr "UTILITARE"
-#: flatcamGUI/FlatCAMGUI.py:1215 flatcamGUI/PreferencesUI.py:2833
+#: flatcamGUI/FlatCAMGUI.py:1287 flatcamGUI/PreferencesUI.py:3015
msgid "Restore Defaults"
msgstr "Restabiliți setările de bază"
-#: flatcamGUI/FlatCAMGUI.py:1218
+#: flatcamGUI/FlatCAMGUI.py:1290
msgid ""
"Restore the entire set of default values\n"
"to the initial values loaded after first launch."
@@ -6372,15 +6709,19 @@ msgstr ""
"Restaurați întregul set de valori implicite\n"
"la valorile inițiale încărcate după prima lansare."
-#: flatcamGUI/FlatCAMGUI.py:1223
+#: flatcamGUI/FlatCAMGUI.py:1295
msgid "Open Pref Folder"
msgstr "Deschide Pref Dir"
-#: flatcamGUI/FlatCAMGUI.py:1226
+#: flatcamGUI/FlatCAMGUI.py:1298
msgid "Open the folder where FlatCAM save the preferences files."
msgstr "Deschide directorul unde FlatCAM salvează fişierele cu setări."
-#: flatcamGUI/FlatCAMGUI.py:1234
+#: flatcamGUI/FlatCAMGUI.py:1302 flatcamGUI/FlatCAMGUI.py:2477
+msgid "Clear GUI Settings"
+msgstr "Șterge Setările GUI"
+
+#: flatcamGUI/FlatCAMGUI.py:1306
msgid ""
"Clear the GUI settings for FlatCAM,\n"
"such as: layout, gui state, style, hdpi support etc."
@@ -6388,15 +6729,15 @@ msgstr ""
"Șterge setările GUI pentru FlatCAM,\n"
"cum ar fi: amplasare, stare UI, suport HDPI sau traducerea."
-#: flatcamGUI/FlatCAMGUI.py:1245
+#: flatcamGUI/FlatCAMGUI.py:1317
msgid "Apply"
msgstr "Aplicați"
-#: flatcamGUI/FlatCAMGUI.py:1248
+#: flatcamGUI/FlatCAMGUI.py:1320
msgid "Apply the current preferences without saving to a file."
msgstr "Aplicați preferințele actuale fără a salva într-un fișier."
-#: flatcamGUI/FlatCAMGUI.py:1255
+#: flatcamGUI/FlatCAMGUI.py:1327
msgid ""
"Save the current settings in the 'current_defaults' file\n"
"which is the file storing the working default preferences."
@@ -6404,532 +6745,545 @@ msgstr ""
"Salvează setările curente in fişierul numit: 'current_defaults'\n"
"fişier care este cel unde se salvează preferințele cu care se va lucra."
-#: flatcamGUI/FlatCAMGUI.py:1263
+#: flatcamGUI/FlatCAMGUI.py:1335
msgid "Will not save the changes and will close the preferences window."
msgstr "Nu va salva modificările și va închide fereastra de preferințe."
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "SHOW SHORTCUT LIST"
msgstr "ARATA LISTA DE TASTE SHORTCUT"
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Project Tab"
msgstr "Treci la Tab-ul Proiect"
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Selected Tab"
msgstr "Treci la Tab-ul Selectat"
-#: flatcamGUI/FlatCAMGUI.py:1604
+#: flatcamGUI/FlatCAMGUI.py:1705
msgid "Switch to Tool Tab"
msgstr "Treci la Tab-ul 'Unealta'"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "New Gerber"
msgstr "Gerber Nou"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Edit Object (if selected)"
msgstr "Editeaza obiectul (daca este selectat)"
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Jump to Coordinates"
msgstr "Sari la Coordonatele"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Excellon"
msgstr "Excellon nou"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Move Obj"
msgstr "Mută Obiecte"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Geometry"
msgstr "Geometrie Noua"
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Change Units"
msgstr "Comută Unitati"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Open Properties Tool"
msgstr "Deschide Unealta Proprietati"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Rotate by 90 degree CW"
msgstr "Roteste cu 90 grade CW"
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Shell Toggle"
msgstr "Comuta Linie de comanda"
-#: flatcamGUI/FlatCAMGUI.py:1608
+#: flatcamGUI/FlatCAMGUI.py:1709
msgid ""
"Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)"
msgstr ""
"Adaugă o Unealtă (cand ne aflam in tab-ul Selected al Geometriei sau in "
"Unealta NCC sau in unealta Paint)"
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on X_axis"
msgstr "Oglindește pe axa X"
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on Y_axis"
msgstr "Oglindește pe axa Y"
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Copy Obj"
msgstr "Copiază Obiecte"
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Open Tools Database"
msgstr "Deschide baza de date Unelte"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Excellon File"
msgstr "Încarcă un fisier Excellon"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Gerber File"
msgstr "Încarcă un fisier Gerber"
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "New Project"
msgstr "Un Nou Project"
-#: flatcamGUI/FlatCAMGUI.py:1614 flatcamTools/ToolPDF.py:42
+#: flatcamGUI/FlatCAMGUI.py:1715 flatcamTools/ToolPDF.py:42
msgid "PDF Import Tool"
msgstr "Unealta import PDF"
-#: flatcamGUI/FlatCAMGUI.py:1614
-msgid "Save Project As"
-msgstr "Salvează Proiectul ca"
+#: flatcamGUI/FlatCAMGUI.py:1715
+msgid "Save Project"
+msgstr "Salvează Proiectul"
-#: flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:1715
msgid "Toggle Plot Area"
msgstr "Comută Aria de Afișare"
-#: flatcamGUI/FlatCAMGUI.py:1617
+#: flatcamGUI/FlatCAMGUI.py:1718
msgid "Copy Obj_Name"
msgstr "Copiază Nume Obiect"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle Code Editor"
msgstr "Comută Editorul de cod"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle the axis"
msgstr "Comută Reprezentare Axe"
-#: flatcamGUI/FlatCAMGUI.py:1618 flatcamGUI/FlatCAMGUI.py:1810
-#: flatcamGUI/FlatCAMGUI.py:1897 flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1719 flatcamGUI/FlatCAMGUI.py:1918
+#: flatcamGUI/FlatCAMGUI.py:2005 flatcamGUI/FlatCAMGUI.py:2127
msgid "Distance Minimum Tool"
msgstr "Unealta Distanță minimă"
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1720
msgid "Open Preferences Window"
msgstr "Deschide Preferințe"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Rotate by 90 degree CCW"
msgstr "Roteste cu 90 grade CCW"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Run a Script"
msgstr "Rulează TCL script"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Toggle the workspace"
msgstr "Comută Suprafata de lucru"
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Skew on X axis"
msgstr "Deformare pe axa X"
-#: flatcamGUI/FlatCAMGUI.py:1620
+#: flatcamGUI/FlatCAMGUI.py:1722
msgid "Skew on Y axis"
msgstr "Deformare pe axa Y"
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "2-Sided PCB Tool"
msgstr "Unealta 2-fețe"
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "Transformations Tool"
msgstr "Unealta Transformări"
-#: flatcamGUI/FlatCAMGUI.py:1623
+#: flatcamGUI/FlatCAMGUI.py:1727
msgid "Solder Paste Dispensing Tool"
msgstr "Unealta DispensorPF"
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Film PCB Tool"
msgstr "Unealta Film"
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Non-Copper Clearing Tool"
msgstr "Curățăre Non-Cupru"
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Paint Area Tool"
msgstr "Unealta Paint"
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Rules Check Tool"
msgstr "Unealta Verificari Reguli"
-#: flatcamGUI/FlatCAMGUI.py:1626
+#: flatcamGUI/FlatCAMGUI.py:1730
msgid "View File Source"
msgstr "Vizualiz. Cod Sursă"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Cutout PCB Tool"
msgstr "Unealta Decupare"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Enable all Plots"
msgstr "Activează Afișare pt Tot"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable all Plots"
msgstr "Dezactivează Afișare pt Tot"
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable Non-selected Plots"
msgstr "Dezactivează ne-selectate"
-#: flatcamGUI/FlatCAMGUI.py:1628
+#: flatcamGUI/FlatCAMGUI.py:1732
msgid "Toggle Full Screen"
msgstr "Comută FullScreen"
-#: flatcamGUI/FlatCAMGUI.py:1631
+#: flatcamGUI/FlatCAMGUI.py:1735
msgid "Abort current task (gracefully)"
msgstr "Renutna la task"
-#: flatcamGUI/FlatCAMGUI.py:1634
+#: flatcamGUI/FlatCAMGUI.py:1738
+msgid "Save Project As"
+msgstr "Salvează Proiectul ca"
+
+#: flatcamGUI/FlatCAMGUI.py:1739
+msgid ""
+"Paste Special. Will convert a Windows path style to the one required in Tcl "
+"Shell"
+msgstr ""
+"Lipire specială. Va converti stilul de adresa cale Windows in cel necesar in "
+"Tcl Shell"
+
+#: flatcamGUI/FlatCAMGUI.py:1742
msgid "Open Online Manual"
msgstr "Deschide Manualul Online"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Open Online Tutorials"
msgstr "Deschide Tutoriale Online"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Refresh Plots"
msgstr "Improspatare Afișare"
-#: flatcamGUI/FlatCAMGUI.py:1635 flatcamTools/ToolSolderPaste.py:503
+#: flatcamGUI/FlatCAMGUI.py:1743 flatcamTools/ToolSolderPaste.py:509
msgid "Delete Object"
msgstr "Șterge Obiectul"
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Alternate: Delete Tool"
msgstr "Alternativ: Șterge Unealta"
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "(left to Key_1)Toogle Notebook Area (Left Side)"
msgstr "(in stanga tasta 1) Comuta aria Notebook (partea stanga)"
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "En(Dis)able Obj Plot"
msgstr "(Dez)activează Afișare"
-#: flatcamGUI/FlatCAMGUI.py:1637
+#: flatcamGUI/FlatCAMGUI.py:1745
msgid "Deselects all objects"
msgstr "Deselectează toate obiectele"
-#: flatcamGUI/FlatCAMGUI.py:1651
+#: flatcamGUI/FlatCAMGUI.py:1759
msgid "Editor Shortcut list"
msgstr "Lista de shortcut-uri"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "GEOMETRY EDITOR"
msgstr "EDITOR GEOMETRIE"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Draw an Arc"
msgstr "Deseneaza un Arc"
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Copy Geo Item"
msgstr "Copiază Geo"
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Within Add Arc will toogle the ARC direction: CW or CCW"
msgstr "In cadrul 'Aadauga Arc' va comuta intre directiile arcului: CW sau CCW"
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Polygon Intersection Tool"
msgstr "Unealta Intersecţie Poligoane"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Geo Paint Tool"
msgstr "Unealta Paint Geo"
-#: flatcamGUI/FlatCAMGUI.py:1807 flatcamGUI/FlatCAMGUI.py:1896
-#: flatcamGUI/FlatCAMGUI.py:2016
+#: flatcamGUI/FlatCAMGUI.py:1915 flatcamGUI/FlatCAMGUI.py:2004
+#: flatcamGUI/FlatCAMGUI.py:2124
msgid "Jump to Location (x, y)"
msgstr "Sari la Locaţia (x, y)"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Toggle Corner Snap"
msgstr "Comută lipire colt"
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Move Geo Item"
msgstr "Muta El. Geo"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Within Add Arc will cycle through the ARC modes"
msgstr "In cadrul 'Adauga Arc' va trece circular prin tipurile de Arc"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Polygon"
msgstr "Deseneaza un Poligon"
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Circle"
msgstr "Deseneaza un Cerc"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw a Path"
msgstr "Deseneaza un Traseu"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw Rectangle"
msgstr "Deseneaza un Patrulater"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Polygon Subtraction Tool"
msgstr "Unealta Substracţie Poligoane"
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Add Text Tool"
msgstr "Unealta Adaugare Text"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Polygon Union Tool"
msgstr "Unealta Uniune Poligoane"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on X axis"
msgstr "Oglindește pe axa X"
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on Y axis"
msgstr "Oglindește pe axa Y"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on X axis"
msgstr "Deformare pe axa X"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on Y axis"
msgstr "Deformare pe axa Y"
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Editor Transformation Tool"
msgstr "Unealta Transformare in Editor"
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on X axis"
msgstr "Ofset pe axa X"
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on Y axis"
msgstr "Ofset pe axa Y"
-#: flatcamGUI/FlatCAMGUI.py:1813 flatcamGUI/FlatCAMGUI.py:1899
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:1921 flatcamGUI/FlatCAMGUI.py:2007
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Save Object and Exit Editor"
msgstr "Salvează Obiectul și inchide Editorul"
-#: flatcamGUI/FlatCAMGUI.py:1813
+#: flatcamGUI/FlatCAMGUI.py:1921
msgid "Polygon Cut Tool"
msgstr "Unealta Taiere Poligoane"
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Rotate Geometry"
msgstr "Roteste Geometrie"
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Finish drawing for certain tools"
msgstr "Termina de desenat (pt anumite unelte)"
-#: flatcamGUI/FlatCAMGUI.py:1814 flatcamGUI/FlatCAMGUI.py:1899
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1922 flatcamGUI/FlatCAMGUI.py:2007
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Abort and return to Select"
msgstr "Renutna si intoarce-te la Selectie"
-#: flatcamGUI/FlatCAMGUI.py:1815 flatcamGUI/FlatCAMGUI.py:2518
+#: flatcamGUI/FlatCAMGUI.py:1923 flatcamGUI/FlatCAMGUI.py:2690
msgid "Delete Shape"
msgstr "Șterge forme geo"
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "EXCELLON EDITOR"
msgstr "EDITOR EXCELLON"
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "Copy Drill(s)"
msgstr "Copiaza Găurire"
-#: flatcamGUI/FlatCAMGUI.py:1895 flatcamGUI/FlatCAMGUI.py:2145
+#: flatcamGUI/FlatCAMGUI.py:2003 flatcamGUI/FlatCAMGUI.py:2253
msgid "Add Drill"
msgstr "Adaugă găurire"
-#: flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamGUI/FlatCAMGUI.py:2004
msgid "Move Drill(s)"
msgstr "Muta Găuri"
-#: flatcamGUI/FlatCAMGUI.py:1897
+#: flatcamGUI/FlatCAMGUI.py:2005
msgid "Add a new Tool"
msgstr "Adaugă Unealta Noua"
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Delete Drill(s)"
msgstr "Șterge Găuri"
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Alternate: Delete Tool(s)"
msgstr "Alternativ: Șterge Unealta"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "GERBER EDITOR"
msgstr "EDITOR GERBER"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add Disc"
msgstr "Adaugă Disc"
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add SemiDisc"
msgstr "Adaugă SemiDisc"
-#: flatcamGUI/FlatCAMGUI.py:2017
+#: flatcamGUI/FlatCAMGUI.py:2125
msgid "Within Track & Region Tools will cycle in REVERSE the bend modes"
msgstr ""
"In cadrul uneltelor Traseu si Regiune va trece circular in Revers prin "
"modurile de indoire"
-#: flatcamGUI/FlatCAMGUI.py:2018
+#: flatcamGUI/FlatCAMGUI.py:2126
msgid "Within Track & Region Tools will cycle FORWARD the bend modes"
msgstr ""
"In cadrul uneltelor Traseu si Regiune va trece circular in Avans prin "
"modurile de indoire"
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Alternate: Delete Apertures"
msgstr "Alternativ: Șterge Apertură"
-#: flatcamGUI/FlatCAMGUI.py:2020
+#: flatcamGUI/FlatCAMGUI.py:2128
msgid "Eraser Tool"
msgstr "Unealta Stergere"
-#: flatcamGUI/FlatCAMGUI.py:2021 flatcamGUI/PreferencesUI.py:2634
+#: flatcamGUI/FlatCAMGUI.py:2129 flatcamGUI/PreferencesUI.py:2816
msgid "Mark Area Tool"
msgstr "Unealta de Marc. Arie"
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Poligonize Tool"
msgstr "Unealta Poligonizare"
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Transformation Tool"
msgstr "Unealta Transformare"
-#: flatcamGUI/FlatCAMGUI.py:2038
+#: flatcamGUI/FlatCAMGUI.py:2146
msgid "Toggle Visibility"
msgstr "Comută Vizibilitate"
-#: flatcamGUI/FlatCAMGUI.py:2044
+#: flatcamGUI/FlatCAMGUI.py:2152
msgid "New"
msgstr "Nou"
-#: flatcamGUI/FlatCAMGUI.py:2046 flatcamTools/ToolCalibration.py:634
-msgid "Geometry"
-msgstr "Geometrie"
-
-#: flatcamGUI/FlatCAMGUI.py:2050 flatcamTools/ToolCalibration.py:197
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolFilm.py:359
+#: flatcamGUI/FlatCAMGUI.py:2158 flatcamGUI/PreferencesUI.py:8410
+#: flatcamTools/ToolAlignObjects.py:74 flatcamTools/ToolAlignObjects.py:110
+#: flatcamTools/ToolCalibration.py:197 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:807
+#: flatcamTools/ToolCalibration.py:815 flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolDblSided.py:226
+#: flatcamTools/ToolFilm.py:359 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1295 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:706 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPunchGerber.py:149 flatcamTools/ToolPunchGerber.py:164
msgid "Excellon"
msgstr "Excellon"
-#: flatcamGUI/FlatCAMGUI.py:2057
+#: flatcamGUI/FlatCAMGUI.py:2165
msgid "Grids"
msgstr "Grid-uri"
-#: flatcamGUI/FlatCAMGUI.py:2064
+#: flatcamGUI/FlatCAMGUI.py:2172
msgid "Clear Plot"
msgstr "Șterge Afișare"
-#: flatcamGUI/FlatCAMGUI.py:2066
+#: flatcamGUI/FlatCAMGUI.py:2174
msgid "Replot"
msgstr "Reafișare"
-#: flatcamGUI/FlatCAMGUI.py:2070
+#: flatcamGUI/FlatCAMGUI.py:2178
msgid "Geo Editor"
msgstr "Editor Geometrii"
-#: flatcamGUI/FlatCAMGUI.py:2072
+#: flatcamGUI/FlatCAMGUI.py:2180
msgid "Path"
msgstr "Pe cale"
-#: flatcamGUI/FlatCAMGUI.py:2074
+#: flatcamGUI/FlatCAMGUI.py:2182
msgid "Rectangle"
msgstr "Patrulater"
-#: flatcamGUI/FlatCAMGUI.py:2077
+#: flatcamGUI/FlatCAMGUI.py:2185
msgid "Circle"
msgstr "Cerc"
-#: flatcamGUI/FlatCAMGUI.py:2079
-msgid "Polygon"
-msgstr "Poligon"
-
-#: flatcamGUI/FlatCAMGUI.py:2081
+#: flatcamGUI/FlatCAMGUI.py:2189
msgid "Arc"
msgstr "Arc"
-#: flatcamGUI/FlatCAMGUI.py:2095
+#: flatcamGUI/FlatCAMGUI.py:2203
msgid "Union"
msgstr "Uniune"
-#: flatcamGUI/FlatCAMGUI.py:2097
+#: flatcamGUI/FlatCAMGUI.py:2205
msgid "Intersection"
msgstr "Intersecţie"
-#: flatcamGUI/FlatCAMGUI.py:2099
+#: flatcamGUI/FlatCAMGUI.py:2207
msgid "Subtraction"
msgstr "Scădere"
-#: flatcamGUI/FlatCAMGUI.py:2101 flatcamGUI/ObjectUI.py:1811
-#: flatcamGUI/PreferencesUI.py:4421
+#: flatcamGUI/FlatCAMGUI.py:2209 flatcamGUI/ObjectUI.py:2139
+#: flatcamGUI/PreferencesUI.py:4714
msgid "Cut"
msgstr "Tăiere"
-#: flatcamGUI/FlatCAMGUI.py:2112
+#: flatcamGUI/FlatCAMGUI.py:2220
msgid "Pad"
msgstr "Pad"
-#: flatcamGUI/FlatCAMGUI.py:2114
+#: flatcamGUI/FlatCAMGUI.py:2222
msgid "Pad Array"
msgstr "Arie de paduri"
-#: flatcamGUI/FlatCAMGUI.py:2118
+#: flatcamGUI/FlatCAMGUI.py:2226
msgid "Track"
msgstr "Traseu"
-#: flatcamGUI/FlatCAMGUI.py:2120
+#: flatcamGUI/FlatCAMGUI.py:2228
msgid "Region"
msgstr "Regiune"
-#: flatcamGUI/FlatCAMGUI.py:2143
+#: flatcamGUI/FlatCAMGUI.py:2251
msgid "Exc Editor"
msgstr "Editor EXC"
-#: flatcamGUI/FlatCAMGUI.py:2188
+#: flatcamGUI/FlatCAMGUI.py:2296
msgid ""
"Relative neasurement.\n"
"Reference is last click position"
@@ -6937,7 +7291,7 @@ msgstr ""
"Măsurătoare relativă.\n"
"Referința este poziţia ultimului click pe canvas"
-#: flatcamGUI/FlatCAMGUI.py:2194
+#: flatcamGUI/FlatCAMGUI.py:2302
msgid ""
"Absolute neasurement.\n"
"Reference is (X=0, Y= 0) position"
@@ -6945,27 +7299,35 @@ msgstr ""
"Măsurătoare absolută.\n"
"Referința este originea (0, 0)"
-#: flatcamGUI/FlatCAMGUI.py:2301
+#: flatcamGUI/FlatCAMGUI.py:2406
msgid "Lock Toolbars"
msgstr "Blochează Toolbar-uri"
-#: flatcamGUI/FlatCAMGUI.py:2419
+#: flatcamGUI/FlatCAMGUI.py:2465
+msgid "FlatCAM Preferences Folder opened."
+msgstr "Folderul de preferințe FlatCAM a fost deschis."
+
+#: flatcamGUI/FlatCAMGUI.py:2476
+msgid "Are you sure you want to delete the GUI Settings? \n"
+msgstr "Esti sigur că dorești să ștergi setările GUI?\n"
+
+#: flatcamGUI/FlatCAMGUI.py:2584
msgid "&Cutout Tool"
msgstr "Unealta Decupare"
-#: flatcamGUI/FlatCAMGUI.py:2478
+#: flatcamGUI/FlatCAMGUI.py:2650
msgid "Select 'Esc'"
msgstr "Select"
-#: flatcamGUI/FlatCAMGUI.py:2516
+#: flatcamGUI/FlatCAMGUI.py:2688
msgid "Copy Objects"
msgstr "Copiază Obiecte"
-#: flatcamGUI/FlatCAMGUI.py:2524
+#: flatcamGUI/FlatCAMGUI.py:2696
msgid "Move Objects"
msgstr "Mută Obiecte"
-#: flatcamGUI/FlatCAMGUI.py:3087
+#: flatcamGUI/FlatCAMGUI.py:3312
msgid ""
"Please first select a geometry item to be cutted\n"
"then select the geometry item that will be cutted\n"
@@ -6976,12 +7338,12 @@ msgstr ""
"apoi selectează forma geo. tăietoare. La final apasă tasta ~X~ sau\n"
"butonul corespunzator din Toolbar."
-#: flatcamGUI/FlatCAMGUI.py:3094 flatcamGUI/FlatCAMGUI.py:3254
-#: flatcamGUI/FlatCAMGUI.py:3299 flatcamGUI/FlatCAMGUI.py:3319
+#: flatcamGUI/FlatCAMGUI.py:3319 flatcamGUI/FlatCAMGUI.py:3478
+#: flatcamGUI/FlatCAMGUI.py:3523 flatcamGUI/FlatCAMGUI.py:3543
msgid "Warning"
msgstr "Atenţie"
-#: flatcamGUI/FlatCAMGUI.py:3249
+#: flatcamGUI/FlatCAMGUI.py:3473
msgid ""
"Please select geometry items \n"
"on which to perform Intersection Tool."
@@ -6989,7 +7351,7 @@ msgstr ""
"Selectează forma geometrică asupra căreia să se\n"
"aplice Unealta Intersecţie."
-#: flatcamGUI/FlatCAMGUI.py:3294
+#: flatcamGUI/FlatCAMGUI.py:3518
msgid ""
"Please select geometry items \n"
"on which to perform Substraction Tool."
@@ -6997,7 +7359,7 @@ msgstr ""
"Selectează forma geometrică asupra căreia să se\n"
"aplice Unealta Substracţie."
-#: flatcamGUI/FlatCAMGUI.py:3314
+#: flatcamGUI/FlatCAMGUI.py:3538
msgid ""
"Please select geometry items \n"
"on which to perform union."
@@ -7005,61 +7367,62 @@ msgstr ""
"Selectează forma geometrică asupra căreia să se\n"
"aplice Unealta Uniune."
-#: flatcamGUI/FlatCAMGUI.py:3394 flatcamGUI/FlatCAMGUI.py:3608
+#: flatcamGUI/FlatCAMGUI.py:3617 flatcamGUI/FlatCAMGUI.py:3828
msgid "Cancelled. Nothing selected to delete."
msgstr "Anulat. Nimic nu este selectat pentru ștergere."
-#: flatcamGUI/FlatCAMGUI.py:3479 flatcamGUI/FlatCAMGUI.py:3726
+#: flatcamGUI/FlatCAMGUI.py:3701 flatcamGUI/FlatCAMGUI.py:3944
msgid "Cancelled. Nothing selected to copy."
msgstr "Anulat. Nimic nu este selectat pentru copiere."
-#: flatcamGUI/FlatCAMGUI.py:3526 flatcamGUI/FlatCAMGUI.py:3756
+#: flatcamGUI/FlatCAMGUI.py:3747 flatcamGUI/FlatCAMGUI.py:3973
msgid "Cancelled. Nothing selected to move."
msgstr "Anulat. Nimic nu este selectat pentru mutare."
-#: flatcamGUI/FlatCAMGUI.py:3782
+#: flatcamGUI/FlatCAMGUI.py:3999
msgid "New Tool ..."
msgstr "O noua Unealtă ..."
-#: flatcamGUI/FlatCAMGUI.py:3783 flatcamTools/ToolNonCopperClear.py:583
-#: flatcamTools/ToolPaint.py:494 flatcamTools/ToolSolderPaste.py:554
+#: flatcamGUI/FlatCAMGUI.py:4000 flatcamTools/ToolNCC.py:924
+#: flatcamTools/ToolPaint.py:850 flatcamTools/ToolSolderPaste.py:560
msgid "Enter a Tool Diameter"
msgstr "Introduceti un Diametru de Unealtă"
-#: flatcamGUI/FlatCAMGUI.py:3795
+#: flatcamGUI/FlatCAMGUI.py:4012
msgid "Adding Tool cancelled ..."
msgstr "Adăugarea unei unelte anulată..."
-#: flatcamGUI/FlatCAMGUI.py:3808
+#: flatcamGUI/FlatCAMGUI.py:4025
msgid "Distance Tool exit..."
msgstr "Măsurătoarea s-a terminat ..."
-#: flatcamGUI/FlatCAMGUI.py:4018 flatcamGUI/FlatCAMGUI.py:4025
+#: flatcamGUI/FlatCAMGUI.py:4234 flatcamGUI/FlatCAMGUI.py:4241
msgid "Idle."
msgstr "Inactiv."
-#: flatcamGUI/FlatCAMGUI.py:4056
+#: flatcamGUI/FlatCAMGUI.py:4272
msgid "Application started ..."
msgstr "Aplicaţia a pornit ..."
-#: flatcamGUI/FlatCAMGUI.py:4057
+#: flatcamGUI/FlatCAMGUI.py:4273
msgid "Hello!"
msgstr "Bună!"
-#: flatcamGUI/FlatCAMGUI.py:4115
+#: flatcamGUI/FlatCAMGUI.py:4331
msgid "Open Project ..."
msgstr "Încarcă Project ..."
-#: flatcamGUI/FlatCAMGUI.py:4141
+#: flatcamGUI/FlatCAMGUI.py:4357
msgid "Exit"
msgstr "Iesiere"
-#: flatcamGUI/GUIElements.py:2261 flatcamGUI/PreferencesUI.py:5265
-#: flatcamGUI/PreferencesUI.py:5825 flatcamTools/ToolFilm.py:219
+#: flatcamGUI/GUIElements.py:2513 flatcamGUI/PreferencesUI.py:6313
+#: flatcamTools/ToolDblSided.py:174 flatcamTools/ToolDblSided.py:389
+#: flatcamTools/ToolFilm.py:219
msgid "Reference"
msgstr "Referinţă"
-#: flatcamGUI/GUIElements.py:2263
+#: flatcamGUI/GUIElements.py:2515
msgid ""
"The reference can be:\n"
"- Absolute -> the reference point is point (0,0)\n"
@@ -7069,19 +7432,19 @@ msgstr ""
"- Absolut -> punctul de referință este punctul (0,0)\n"
"- Relativ -> punctul de referință este poziția mouse-ului înainte de Salt"
-#: flatcamGUI/GUIElements.py:2268
+#: flatcamGUI/GUIElements.py:2520
msgid "Abs"
msgstr "Abs"
-#: flatcamGUI/GUIElements.py:2269
+#: flatcamGUI/GUIElements.py:2521
msgid "Relative"
msgstr "Relativ"
-#: flatcamGUI/GUIElements.py:2279
+#: flatcamGUI/GUIElements.py:2531
msgid "Location"
msgstr "Locaţie"
-#: flatcamGUI/GUIElements.py:2281
+#: flatcamGUI/GUIElements.py:2533
msgid ""
"The Location value is a tuple (x,y).\n"
"If the reference is Absolute then the Jump will be at the position (x,y).\n"
@@ -7093,6 +7456,10 @@ msgstr ""
"Dacă referința este Relativă, Saltul se va face la distanța (x, y)\n"
"din punctul de locație al mouse-ului curent."
+#: flatcamGUI/GUIElements.py:2573
+msgid "Save Log"
+msgstr "Salvează Log"
+
#: flatcamGUI/ObjectUI.py:38
msgid "FlatCAM Object"
msgstr "Obiect FlatCAM"
@@ -7115,15 +7482,11 @@ msgstr ""
"Edit -> Preferințe -> General și bifează:\n"
"butonul radio: >Nivel App<."
-#: flatcamGUI/ObjectUI.py:105
-msgid "Change the size of the object."
-msgstr "Schimbă dimensiunea obiectului."
+#: flatcamGUI/ObjectUI.py:110
+msgid "Geometrical transformations of the current object."
+msgstr "Transformări geometrice ale obictului curent."
-#: flatcamGUI/ObjectUI.py:111
-msgid "Factor"
-msgstr "Factor"
-
-#: flatcamGUI/ObjectUI.py:113
+#: flatcamGUI/ObjectUI.py:119
msgid ""
"Factor by which to multiply\n"
"geometric features of this object.\n"
@@ -7134,19 +7497,11 @@ msgstr ""
"acestui obiect.\n"
"Expresiile sunt permise. De ex: 1 / 25.4"
-#: flatcamGUI/ObjectUI.py:123
+#: flatcamGUI/ObjectUI.py:126
msgid "Perform scaling operation."
msgstr "Efectuează operatia de scalare."
-#: flatcamGUI/ObjectUI.py:134
-msgid "Change the position of this object."
-msgstr "Schimbă poziţia acestui obiect."
-
-#: flatcamGUI/ObjectUI.py:139
-msgid "Vector"
-msgstr "Vector"
-
-#: flatcamGUI/ObjectUI.py:141
+#: flatcamGUI/ObjectUI.py:137
msgid ""
"Amount by which to move the object\n"
"in the x and y axes in (x, y) format.\n"
@@ -7156,62 +7511,55 @@ msgstr ""
"pe axele X și /sau Y in formatul (x,y).\n"
"Expresiile sunt permise. De ex: (1/3.2, 0.5*3)"
-#: flatcamGUI/ObjectUI.py:150
+#: flatcamGUI/ObjectUI.py:144
msgid "Perform the offset operation."
msgstr "Efectuează operația de Ofset."
-#: flatcamGUI/ObjectUI.py:167
+#: flatcamGUI/ObjectUI.py:177
msgid "Gerber Object"
msgstr "Obiect Gerber"
-#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:767
-#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1905
-#: flatcamGUI/PreferencesUI.py:1783 flatcamGUI/PreferencesUI.py:3849
-#: flatcamGUI/PreferencesUI.py:4406
-msgid "Plot (show) this object."
-msgstr "Afisează (arata) acest obiect."
-
-#: flatcamGUI/ObjectUI.py:184 flatcamGUI/ObjectUI.py:765
-#: flatcamGUI/PreferencesUI.py:1781 flatcamGUI/PreferencesUI.py:2680
-#: flatcamGUI/PreferencesUI.py:3847
-msgid "Plot"
-msgstr "Afisează"
-
-#: flatcamGUI/ObjectUI.py:189 flatcamGUI/ObjectUI.py:726
-#: flatcamGUI/ObjectUI.py:1159 flatcamGUI/ObjectUI.py:1795
-#: flatcamGUI/PreferencesUI.py:1760 flatcamGUI/PreferencesUI.py:2674
-#: flatcamGUI/PreferencesUI.py:3843 flatcamGUI/PreferencesUI.py:4395
+#: flatcamGUI/ObjectUI.py:186 flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:1424 flatcamGUI/ObjectUI.py:2123
+#: flatcamGUI/PreferencesUI.py:1940 flatcamGUI/PreferencesUI.py:2856
+#: flatcamGUI/PreferencesUI.py:4121 flatcamGUI/PreferencesUI.py:4688
msgid "Plot Options"
msgstr "Opțiuni afișare"
-#: flatcamGUI/ObjectUI.py:195 flatcamGUI/ObjectUI.py:727
-#: flatcamGUI/PreferencesUI.py:1767 flatcamGUI/PreferencesUI.py:2686
-#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolCopperThieving.py:190
+#: flatcamGUI/ObjectUI.py:192 flatcamGUI/ObjectUI.py:730
+#: flatcamGUI/PreferencesUI.py:1947 flatcamGUI/PreferencesUI.py:2868
+#: flatcamGUI/PreferencesUI.py:7728 flatcamTools/ToolCopperThieving.py:192
msgid "Solid"
msgstr "Solid"
-#: flatcamGUI/ObjectUI.py:197 flatcamGUI/PreferencesUI.py:1769
+#: flatcamGUI/ObjectUI.py:194 flatcamGUI/PreferencesUI.py:1949
msgid "Solid color polygons."
msgstr "Poligoane color solide."
-#: flatcamGUI/ObjectUI.py:203
+#: flatcamGUI/ObjectUI.py:200
msgid "Multi-Color"
msgstr "Multicolor"
-#: flatcamGUI/ObjectUI.py:205 flatcamGUI/PreferencesUI.py:1776
+#: flatcamGUI/ObjectUI.py:202 flatcamGUI/PreferencesUI.py:1956
msgid "Draw polygons in different colors."
msgstr ""
"Desenează poligoanele Gerber din multiple culori\n"
"alese in mod aleator."
-#: flatcamGUI/ObjectUI.py:213 flatcamGUI/ObjectUI.py:738
-#: flatcamGUI/ObjectUI.py:1165 flatcamGUI/ObjectUI.py:1825
-#: flatcamGUI/ObjectUI.py:2128 flatcamGUI/ObjectUI.py:2194
-#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolFiducials.py:73
-msgid "Name"
-msgstr "Nume"
+#: flatcamGUI/ObjectUI.py:208 flatcamGUI/ObjectUI.py:768
+#: flatcamGUI/PreferencesUI.py:1961 flatcamGUI/PreferencesUI.py:2862
+#: flatcamGUI/PreferencesUI.py:4125
+msgid "Plot"
+msgstr "Afisează"
-#: flatcamGUI/ObjectUI.py:234
+#: flatcamGUI/ObjectUI.py:210 flatcamGUI/ObjectUI.py:770
+#: flatcamGUI/ObjectUI.py:1484 flatcamGUI/ObjectUI.py:2233
+#: flatcamGUI/PreferencesUI.py:1963 flatcamGUI/PreferencesUI.py:4127
+#: flatcamGUI/PreferencesUI.py:4699
+msgid "Plot (show) this object."
+msgstr "Afisează (arata) acest obiect."
+
+#: flatcamGUI/ObjectUI.py:238
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"When unchecked, it will delete all mark shapes\n"
@@ -7221,11 +7569,11 @@ msgstr ""
"Când se debifează, toate marcajele aperturilor\n"
"care sutn curent afisate, vor fi șterse."
-#: flatcamGUI/ObjectUI.py:244
+#: flatcamGUI/ObjectUI.py:248
msgid "Mark All"
msgstr "Marc. Toate"
-#: flatcamGUI/ObjectUI.py:246
+#: flatcamGUI/ObjectUI.py:250
msgid ""
"When checked it will display all the apertures.\n"
"When unchecked, it will delete all mark shapes\n"
@@ -7234,15 +7582,15 @@ msgstr ""
"Când este bifat se vor afisa toate aperturile.\n"
"Când este debifat se vor șterge toate marcajele de aperturi."
-#: flatcamGUI/ObjectUI.py:274
+#: flatcamGUI/ObjectUI.py:278
msgid "Mark the aperture instances on canvas."
msgstr "Marchează aperturile pe canvas."
-#: flatcamGUI/ObjectUI.py:286 flatcamGUI/PreferencesUI.py:2014
+#: flatcamGUI/ObjectUI.py:290 flatcamGUI/PreferencesUI.py:2194
msgid "Isolation Routing"
msgstr "Izolare"
-#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:2016
+#: flatcamGUI/ObjectUI.py:292 flatcamGUI/PreferencesUI.py:2196
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut outside polygons."
@@ -7251,7 +7599,7 @@ msgstr ""
"care să fie taiate in afara poligoanelor,\n"
"urmărindu-le conturul."
-#: flatcamGUI/ObjectUI.py:306 flatcamGUI/PreferencesUI.py:2219
+#: flatcamGUI/ObjectUI.py:310 flatcamGUI/PreferencesUI.py:2399
msgid ""
"Choose what tool to use for Gerber isolation:\n"
"'Circular' or 'V-shape'.\n"
@@ -7263,33 +7611,39 @@ msgstr ""
"Când este selectată „forma V”, atunci\n"
"diametrul uneltei va depinde de adâncimea de tăiere aleasă."
-#: flatcamGUI/ObjectUI.py:312
+#: flatcamGUI/ObjectUI.py:316
msgid "V-Shape"
msgstr "Forma-V"
-#: flatcamGUI/ObjectUI.py:318 flatcamGUI/ObjectUI.py:1374
-#: flatcamGUI/PreferencesUI.py:2231 flatcamGUI/PreferencesUI.py:5055
-#: flatcamTools/ToolNonCopperClear.py:231
+#: flatcamGUI/ObjectUI.py:322 flatcamGUI/ObjectUI.py:1670
+#: flatcamGUI/PreferencesUI.py:2411 flatcamGUI/PreferencesUI.py:5351
+#: flatcamGUI/PreferencesUI.py:5917 flatcamGUI/PreferencesUI.py:5924
+#: flatcamTools/ToolNCC.py:233 flatcamTools/ToolNCC.py:240
+#: flatcamTools/ToolPaint.py:216
msgid "V-Tip Dia"
msgstr "V-dia"
-#: flatcamGUI/ObjectUI.py:320 flatcamGUI/ObjectUI.py:1377
-#: flatcamGUI/PreferencesUI.py:2233 flatcamGUI/PreferencesUI.py:5057
-#: flatcamTools/ToolNonCopperClear.py:233
+#: flatcamGUI/ObjectUI.py:324 flatcamGUI/ObjectUI.py:1673
+#: flatcamGUI/PreferencesUI.py:2413 flatcamGUI/PreferencesUI.py:5353
+#: flatcamGUI/PreferencesUI.py:5919 flatcamTools/ToolNCC.py:235
+#: flatcamTools/ToolPaint.py:218
msgid "The tip diameter for V-Shape Tool"
msgstr ""
"Diametrul la vârf al uneltei tip V-Shape.\n"
"Forma in V"
-#: flatcamGUI/ObjectUI.py:331 flatcamGUI/ObjectUI.py:1389
-#: flatcamGUI/PreferencesUI.py:2244 flatcamGUI/PreferencesUI.py:5067
-#: flatcamTools/ToolNonCopperClear.py:242
+#: flatcamGUI/ObjectUI.py:335 flatcamGUI/ObjectUI.py:1685
+#: flatcamGUI/PreferencesUI.py:2424 flatcamGUI/PreferencesUI.py:5363
+#: flatcamGUI/PreferencesUI.py:5930 flatcamGUI/PreferencesUI.py:5938
+#: flatcamTools/ToolNCC.py:246 flatcamTools/ToolNCC.py:254
+#: flatcamTools/ToolPaint.py:229
msgid "V-Tip Angle"
msgstr "V-unghi"
-#: flatcamGUI/ObjectUI.py:333 flatcamGUI/ObjectUI.py:1392
-#: flatcamGUI/PreferencesUI.py:2246 flatcamGUI/PreferencesUI.py:5069
-#: flatcamTools/ToolNonCopperClear.py:244
+#: flatcamGUI/ObjectUI.py:337 flatcamGUI/ObjectUI.py:1688
+#: flatcamGUI/PreferencesUI.py:2426 flatcamGUI/PreferencesUI.py:5365
+#: flatcamGUI/PreferencesUI.py:5932 flatcamTools/ToolNCC.py:248
+#: flatcamTools/ToolPaint.py:231
msgid ""
"The tip angle for V-Shape Tool.\n"
"In degree."
@@ -7297,9 +7651,9 @@ msgstr ""
"Unghiul la vârf pentru unealta tip V-Shape. \n"
"In grade."
-#: flatcamGUI/ObjectUI.py:347 flatcamGUI/ObjectUI.py:1408
-#: flatcamGUI/PreferencesUI.py:2259 flatcamGUI/PreferencesUI.py:3963
-#: flatcamGUI/PreferencesUI.py:5330 flatcamTools/ToolCutOut.py:135
+#: flatcamGUI/ObjectUI.py:351 flatcamGUI/ObjectUI.py:1704
+#: flatcamGUI/PreferencesUI.py:2439 flatcamGUI/PreferencesUI.py:4243
+#: flatcamGUI/PreferencesUI.py:5669 flatcamTools/ToolCutOut.py:142
msgid ""
"Cutting depth (negative)\n"
"below the copper surface."
@@ -7307,7 +7661,7 @@ msgstr ""
"Adâncimea la care se taie sub suprafata de cupru.\n"
"Valoare negativă."
-#: flatcamGUI/ObjectUI.py:361
+#: flatcamGUI/ObjectUI.py:365
msgid ""
"Diameter of the cutting tool.\n"
"If you want to have an isolation path\n"
@@ -7320,11 +7674,11 @@ msgstr ""
"in interiorul poligonului Gerber (traseu), foloseşte\n"
"o valoare negativă pt acest parametru."
-#: flatcamGUI/ObjectUI.py:377 flatcamGUI/PreferencesUI.py:2038
+#: flatcamGUI/ObjectUI.py:381 flatcamGUI/PreferencesUI.py:2218
msgid "# Passes"
msgstr "# Treceri"
-#: flatcamGUI/ObjectUI.py:379 flatcamGUI/PreferencesUI.py:2040
+#: flatcamGUI/ObjectUI.py:383 flatcamGUI/PreferencesUI.py:2220
msgid ""
"Width of the isolation gap in\n"
"number (integer) of tool widths."
@@ -7332,24 +7686,18 @@ msgstr ""
"Lăţimea spatiului de izolare\n"
"in număr intreg de grosimi ale uneltei."
-#: flatcamGUI/ObjectUI.py:389 flatcamGUI/PreferencesUI.py:2050
+#: flatcamGUI/ObjectUI.py:394 flatcamGUI/PreferencesUI.py:2230
msgid "Pass overlap"
msgstr "Suprapunere"
-#: flatcamGUI/ObjectUI.py:391 flatcamGUI/PreferencesUI.py:2052
-msgid "How much (fraction) of the tool width to overlap each tool pass."
+#: flatcamGUI/ObjectUI.py:396 flatcamGUI/PreferencesUI.py:2232
+msgid "How much (percentage) of the tool width to overlap each tool pass."
msgstr ""
-"Cat de mult (o fracţie din diametrul uneltei) din diametrul uneltei,\n"
-"(lăţimea de tăiere) să se suprapună peste trecerea anterioară."
+"Cat de mult (procent) din diametrul uneltei, (lăţimea de tăiere), să se "
+"suprapună peste trecerea anterioară."
-#: flatcamGUI/ObjectUI.py:403 flatcamGUI/PreferencesUI.py:2077
-#: flatcamGUI/PreferencesUI.py:4372 flatcamGUI/PreferencesUI.py:5112
-#: flatcamTools/ToolNonCopperClear.py:162
-msgid "Milling Type"
-msgstr "Tip Frezare"
-
-#: flatcamGUI/ObjectUI.py:405 flatcamGUI/PreferencesUI.py:2079
-#: flatcamGUI/PreferencesUI.py:4374
+#: flatcamGUI/ObjectUI.py:410 flatcamGUI/PreferencesUI.py:2259
+#: flatcamGUI/PreferencesUI.py:4667
msgid ""
"Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
@@ -7360,29 +7708,19 @@ msgstr ""
"uneltei\n"
"- conventional -> pentru cazul când nu exista o compensare a 'backlash-ului'"
-#: flatcamGUI/ObjectUI.py:409 flatcamGUI/PreferencesUI.py:2084
-#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:5119
-#: flatcamTools/ToolNonCopperClear.py:169
-msgid "Climb"
-msgstr "Urcare"
-
-#: flatcamGUI/ObjectUI.py:410
-msgid "Conventional"
-msgstr "Convenţional"
-
-#: flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/ObjectUI.py:420
msgid "Combine"
msgstr "Combina"
-#: flatcamGUI/ObjectUI.py:417 flatcamGUI/PreferencesUI.py:2091
+#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2271
msgid "Combine all passes into one object"
msgstr "Combina toate trecerile intr-un singur obiect"
-#: flatcamGUI/ObjectUI.py:421 flatcamGUI/PreferencesUI.py:2193
+#: flatcamGUI/ObjectUI.py:426 flatcamGUI/PreferencesUI.py:2373
msgid "\"Follow\""
msgstr "\"Urmareste\""
-#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2195
+#: flatcamGUI/ObjectUI.py:427 flatcamGUI/PreferencesUI.py:2375
msgid ""
"Generate a 'Follow' geometry.\n"
"This means that it will cut through\n"
@@ -7392,11 +7730,11 @@ msgstr ""
"Mai exact, in loc să se genereze un poligon se va genera o 'linie'.\n"
"In acest fel se taie prin mijlocul unui traseu și nu in jurul lui."
-#: flatcamGUI/ObjectUI.py:428
+#: flatcamGUI/ObjectUI.py:433
msgid "Except"
msgstr "Exceptie"
-#: flatcamGUI/ObjectUI.py:431
+#: flatcamGUI/ObjectUI.py:436
msgid ""
"When the isolation geometry is generated,\n"
"by checking this, the area of the object bellow\n"
@@ -7406,12 +7744,12 @@ msgstr ""
"prin bifarea aici, aria obiectului de mai jos va fi\n"
"scăzută din geometrie de tip Izolare."
-#: flatcamGUI/ObjectUI.py:453 flatcamTools/ToolNonCopperClear.py:82
-#: flatcamTools/ToolPaint.py:85
+#: flatcamGUI/ObjectUI.py:456 flatcamTools/ToolNCC.py:86
+#: flatcamTools/ToolPaint.py:80
msgid "Obj Type"
msgstr "Tip obiect"
-#: flatcamGUI/ObjectUI.py:455
+#: flatcamGUI/ObjectUI.py:458
msgid ""
"Specify the type of object to be excepted from isolation.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -7424,23 +7762,23 @@ msgstr ""
"obiecte care vor aparea in combobox-ul\n"
"numit >Obiect<."
-#: flatcamGUI/ObjectUI.py:468 flatcamGUI/PreferencesUI.py:7522
-#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNonCopperClear.py:100
-#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:81
-#: flatcamTools/ToolPanelize.py:94
+#: flatcamGUI/ObjectUI.py:471 flatcamGUI/PreferencesUI.py:8028
+#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNCC.py:109
+#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:100
+#: flatcamTools/ToolQRCode.py:78
msgid "Object"
msgstr "Obiect"
-#: flatcamGUI/ObjectUI.py:469
+#: flatcamGUI/ObjectUI.py:472
msgid "Object whose area will be removed from isolation geometry."
msgstr ""
"Obiectul a cărui suprafată va fi indepărtată din geometria tip Izolare."
-#: flatcamGUI/ObjectUI.py:476 flatcamGUI/PreferencesUI.py:2064
+#: flatcamGUI/ObjectUI.py:479 flatcamGUI/PreferencesUI.py:2244
msgid "Scope"
msgstr "Domeniu"
-#: flatcamGUI/ObjectUI.py:478 flatcamGUI/PreferencesUI.py:2066
+#: flatcamGUI/ObjectUI.py:481 flatcamGUI/PreferencesUI.py:2246
msgid ""
"Isolation scope. Choose what to isolate:\n"
"- 'All' -> Isolate all the polygons in the object\n"
@@ -7450,17 +7788,18 @@ msgstr ""
"- 'Toate' -> Izolați toate poligoanele din obiect\n"
"- 'Selecție' -> Izolați o selecție de poligoane."
-#: flatcamGUI/ObjectUI.py:483 flatcamGUI/PreferencesUI.py:602
-#: flatcamGUI/PreferencesUI.py:2071 flatcamGUI/PreferencesUI.py:5634
-#: flatcamTools/ToolPaint.py:294
+#: flatcamGUI/ObjectUI.py:486 flatcamGUI/PreferencesUI.py:624
+#: flatcamGUI/PreferencesUI.py:2251 flatcamGUI/PreferencesUI.py:5590
+#: flatcamGUI/PreferencesUI.py:6097 flatcamTools/ToolNCC.py:539
+#: flatcamTools/ToolPaint.py:456
msgid "Selection"
msgstr "Selecţie"
-#: flatcamGUI/ObjectUI.py:491 flatcamGUI/PreferencesUI.py:2272
+#: flatcamGUI/ObjectUI.py:494 flatcamGUI/PreferencesUI.py:2452
msgid "Isolation Type"
msgstr "Tip de izolare"
-#: flatcamGUI/ObjectUI.py:493 flatcamGUI/PreferencesUI.py:2274
+#: flatcamGUI/ObjectUI.py:496 flatcamGUI/PreferencesUI.py:2454
msgid ""
"Choose how the isolation will be executed:\n"
"- 'Full' -> complete isolation of polygons\n"
@@ -7480,24 +7819,24 @@ msgstr ""
"„Interior”se poate face numai atunci când există o deschidere\n"
"în interiorul poligonului (de exemplu, poligonul are o formă de „gogoașă”)."
-#: flatcamGUI/ObjectUI.py:502 flatcamGUI/PreferencesUI.py:2283
-#: flatcamGUI/PreferencesUI.py:2304
+#: flatcamGUI/ObjectUI.py:505 flatcamGUI/PreferencesUI.py:2463
+#: flatcamGUI/PreferencesUI.py:2484
msgid "Full"
msgstr "Complet"
-#: flatcamGUI/ObjectUI.py:503
+#: flatcamGUI/ObjectUI.py:506
msgid "Ext"
msgstr "Ext"
-#: flatcamGUI/ObjectUI.py:504
+#: flatcamGUI/ObjectUI.py:507
msgid "Int"
msgstr "Int"
-#: flatcamGUI/ObjectUI.py:509
+#: flatcamGUI/ObjectUI.py:512
msgid "Generate Isolation Geometry"
msgstr "Creează Geometrie de Izolare"
-#: flatcamGUI/ObjectUI.py:517
+#: flatcamGUI/ObjectUI.py:520
msgid ""
"Create a Geometry object with toolpaths to cut \n"
"isolation outside, inside or on both sides of the\n"
@@ -7516,11 +7855,11 @@ msgstr ""
"(traseu, zona etc) iar >in interior< inseamna efectiv in interiorul\n"
"acelui elem. Gerber (daca poate fi posibil)."
-#: flatcamGUI/ObjectUI.py:529
+#: flatcamGUI/ObjectUI.py:532
msgid "Buffer Solid Geometry"
msgstr "Creează Bufer Geometrie Solidă"
-#: flatcamGUI/ObjectUI.py:531
+#: flatcamGUI/ObjectUI.py:534
msgid ""
"This button is shown only when the Gerber file\n"
"is loaded without buffering.\n"
@@ -7532,11 +7871,11 @@ msgstr ""
"Bifarea aici va crea această buferare care este necesară\n"
"pentru a crea geometrie de tip Izolare."
-#: flatcamGUI/ObjectUI.py:559
+#: flatcamGUI/ObjectUI.py:566
msgid "Clear N-copper"
msgstr "Curăță Non-Cu"
-#: flatcamGUI/ObjectUI.py:561 flatcamGUI/PreferencesUI.py:5019
+#: flatcamGUI/ObjectUI.py:568 flatcamGUI/PreferencesUI.py:5312
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut all non-copper regions."
@@ -7545,8 +7884,8 @@ msgstr ""
"care să curete de cupru toate zonele unde se dorește să nu \n"
"fie cupru."
-#: flatcamGUI/ObjectUI.py:568 flatcamGUI/ObjectUI.py:1751
-#: flatcamTools/ToolNonCopperClear.py:473
+#: flatcamGUI/ObjectUI.py:575 flatcamGUI/ObjectUI.py:2077
+#: flatcamTools/ToolNCC.py:599
msgid ""
"Create the Geometry Object\n"
"for non-copper routing."
@@ -7555,11 +7894,11 @@ msgstr ""
"pt rutare non-cupru (adica pt\n"
"curățare zone de cupru)."
-#: flatcamGUI/ObjectUI.py:581
+#: flatcamGUI/ObjectUI.py:588
msgid "Board cutout"
msgstr "Decupare PCB"
-#: flatcamGUI/ObjectUI.py:583 flatcamGUI/PreferencesUI.py:5303
+#: flatcamGUI/ObjectUI.py:590 flatcamGUI/PreferencesUI.py:5642
msgid ""
"Create toolpaths to cut around\n"
"the PCB and separate it from\n"
@@ -7569,7 +7908,7 @@ msgstr ""
"lasand punţi pentru a separa PCB-ul de \n"
"placa din care a fost taiat."
-#: flatcamGUI/ObjectUI.py:590
+#: flatcamGUI/ObjectUI.py:597
msgid ""
"Generate the geometry for\n"
"the board cutout."
@@ -7577,11 +7916,11 @@ msgstr ""
"Generează un obiect Geometrie\n"
"pt decuparea PCB."
-#: flatcamGUI/ObjectUI.py:608 flatcamGUI/PreferencesUI.py:2101
+#: flatcamGUI/ObjectUI.py:615 flatcamGUI/PreferencesUI.py:2281
msgid "Non-copper regions"
msgstr "Regiuni fără Cu"
-#: flatcamGUI/ObjectUI.py:610 flatcamGUI/PreferencesUI.py:2103
+#: flatcamGUI/ObjectUI.py:617 flatcamGUI/PreferencesUI.py:2283
msgid ""
"Create polygons covering the\n"
"areas without copper on the PCB.\n"
@@ -7594,12 +7933,12 @@ msgstr ""
"obiectului sursa. Poate fi folosit pt a indeparta\n"
"cuprul din zona specificata."
-#: flatcamGUI/ObjectUI.py:620 flatcamGUI/ObjectUI.py:661
-#: flatcamGUI/PreferencesUI.py:2115 flatcamGUI/PreferencesUI.py:2148
+#: flatcamGUI/ObjectUI.py:627 flatcamGUI/ObjectUI.py:668
+#: flatcamGUI/PreferencesUI.py:2295 flatcamGUI/PreferencesUI.py:2328
msgid "Boundary Margin"
msgstr "Margine"
-#: flatcamGUI/ObjectUI.py:622 flatcamGUI/PreferencesUI.py:2117
+#: flatcamGUI/ObjectUI.py:629 flatcamGUI/PreferencesUI.py:2297
msgid ""
"Specify the edge of the PCB\n"
"by drawing a box around all\n"
@@ -7610,29 +7949,29 @@ msgstr ""
"unei forme patratice de jur imprejurul la toate obiectele\n"
"la o distanţa minima cu valoarea din acest câmp."
-#: flatcamGUI/ObjectUI.py:637 flatcamGUI/ObjectUI.py:675
-#: flatcamGUI/PreferencesUI.py:2130 flatcamGUI/PreferencesUI.py:2161
+#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:682
+#: flatcamGUI/PreferencesUI.py:2310 flatcamGUI/PreferencesUI.py:2341
msgid "Rounded Geo"
msgstr "Geo rotunjita"
-#: flatcamGUI/ObjectUI.py:639 flatcamGUI/PreferencesUI.py:2132
+#: flatcamGUI/ObjectUI.py:646 flatcamGUI/PreferencesUI.py:2312
msgid "Resulting geometry will have rounded corners."
msgstr ""
"Obiectul Geometrie rezultat \n"
"va avea colțurile rotunjite."
-#: flatcamGUI/ObjectUI.py:643 flatcamGUI/ObjectUI.py:684
-#: flatcamTools/ToolSolderPaste.py:133
+#: flatcamGUI/ObjectUI.py:650 flatcamGUI/ObjectUI.py:691
+#: flatcamTools/ToolSolderPaste.py:135
msgid "Generate Geo"
msgstr "Crează Geo"
-#: flatcamGUI/ObjectUI.py:653 flatcamGUI/PreferencesUI.py:2142
-#: flatcamGUI/PreferencesUI.py:7052 flatcamTools/ToolPanelize.py:95
+#: flatcamGUI/ObjectUI.py:660 flatcamGUI/PreferencesUI.py:2322
+#: flatcamGUI/PreferencesUI.py:7558 flatcamTools/ToolPanelize.py:101
#: flatcamTools/ToolQRCode.py:192
msgid "Bounding Box"
msgstr "Forma înconjurătoare"
-#: flatcamGUI/ObjectUI.py:655
+#: flatcamGUI/ObjectUI.py:662
msgid ""
"Create a geometry surrounding the Gerber object.\n"
"Square shape."
@@ -7640,7 +7979,7 @@ msgstr ""
"Generează un obiect tip Geometrie care va inconjura\n"
"obiectul Gerber. Forma patratica (rectangulara)."
-#: flatcamGUI/ObjectUI.py:663 flatcamGUI/PreferencesUI.py:2150
+#: flatcamGUI/ObjectUI.py:670 flatcamGUI/PreferencesUI.py:2330
msgid ""
"Distance of the edges of the box\n"
"to the nearest polygon."
@@ -7648,7 +7987,7 @@ msgstr ""
"Distanta de la marginile formei înconjurătoare\n"
"pana la cel mai apropiat poligon."
-#: flatcamGUI/ObjectUI.py:677 flatcamGUI/PreferencesUI.py:2163
+#: flatcamGUI/ObjectUI.py:684 flatcamGUI/PreferencesUI.py:2343
msgid ""
"If the bounding box is \n"
"to have rounded corners\n"
@@ -7658,33 +7997,31 @@ msgstr ""
"Daca forma înconjurătoare să aibă colțuri rotunjite.\n"
"Raza acesor colțuri va fi egală cu parametrul Margine."
-#: flatcamGUI/ObjectUI.py:686
+#: flatcamGUI/ObjectUI.py:693
msgid "Generate the Geometry object."
msgstr "Generează obiectul Geometrie."
-#: flatcamGUI/ObjectUI.py:715
+#: flatcamGUI/ObjectUI.py:720
msgid "Excellon Object"
msgstr "Obiect Excellon"
-#: flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:732
msgid "Solid circles."
msgstr "Cercuri solide."
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926
-#: flatcamTools/ToolProperties.py:161
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:875
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3289
+#: flatcamTools/ToolProperties.py:166
msgid "Drills"
msgstr "Găuri"
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926
-#: flatcamGUI/PreferencesUI.py:3683 flatcamTools/ToolProperties.py:162
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:876
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:3290
+#: flatcamGUI/PreferencesUI.py:3961 flatcamTools/ToolProperties.py:168
msgid "Slots"
msgstr "Sloturi"
-#: flatcamGUI/ObjectUI.py:778 flatcamGUI/PreferencesUI.py:3289
-msgid "Offset Z"
-msgstr "Ofset Z"
-
-#: flatcamGUI/ObjectUI.py:782
+#: flatcamGUI/ObjectUI.py:785
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
@@ -7698,8 +8035,8 @@ msgstr ""
"in codul masina CNC.\n"
"Aici se selectează uneltele pt generarea de G-Code."
-#: flatcamGUI/ObjectUI.py:787 flatcamGUI/ObjectUI.py:1230
-#: flatcamTools/ToolPaint.py:137
+#: flatcamGUI/ObjectUI.py:790 flatcamGUI/ObjectUI.py:1508
+#: flatcamTools/ToolPaint.py:142
msgid ""
"Tool Diameter. It's value (in current FlatCAM units) \n"
"is the cut width into the material."
@@ -7707,7 +8044,7 @@ msgstr ""
"Diametrul uneltei. Valoarea să (in unitati curente)\n"
"reprezinta lăţimea taieturii in material."
-#: flatcamGUI/ObjectUI.py:790
+#: flatcamGUI/ObjectUI.py:793
msgid ""
"The number of Drill holes. Holes that are drilled with\n"
"a drill bit."
@@ -7715,7 +8052,7 @@ msgstr ""
"Numărul de găuri. Sunt găuri efectuate prin\n"
"operațiuni de găurire efectuate cu un burghiu."
-#: flatcamGUI/ObjectUI.py:793
+#: flatcamGUI/ObjectUI.py:796
msgid ""
"The number of Slot holes. Holes that are created by\n"
"milling them with an endmill bit."
@@ -7723,20 +8060,7 @@ msgstr ""
"Numărul de sloturi. Sunt găuri efectuate\n"
"prin op. de frezare cu o freza."
-#: flatcamGUI/ObjectUI.py:796 flatcamGUI/PreferencesUI.py:3291
-msgid ""
-"Some drill bits (the larger ones) need to drill deeper\n"
-"to create the desired exit hole diameter due of the tip shape.\n"
-"The value here can compensate the Cut Z parameter."
-msgstr ""
-"Unele burghie (in special cele cu diametru mai mare)\n"
-"au nevoie să găurească mai adanc pentru a depăși conul\n"
-"din vârful burghiului astfel încât diametrul găurii de ieșire\n"
-"să fie cel dorit.\n"
-"Valoarea de aici efectuează o compensare asupra\n"
-"parametrului >Z tăiere<."
-
-#: flatcamGUI/ObjectUI.py:800
+#: flatcamGUI/ObjectUI.py:799
msgid ""
"Toggle display of the drills for the current tool.\n"
"This does not select the tools for G-code generation."
@@ -7744,20 +8068,60 @@ msgstr ""
"Comută afișarea găurilor pt unealta curentă.\n"
"Aceata nu selectează uneltele pt generarea G-Code."
-#: flatcamGUI/ObjectUI.py:807 flatcamGUI/PreferencesUI.py:3069
-#: flatcamGUI/PreferencesUI.py:3947
-msgid "Create CNC Job"
-msgstr "Crează CNCJob"
-
-#: flatcamGUI/ObjectUI.py:809
+#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1663
+#: flatcamTools/ToolNCC.py:334 flatcamTools/ToolPaint.py:317
msgid ""
-"Create a CNC Job object\n"
-"for this drill object."
+"The data used for creating GCode.\n"
+"Each tool store it's own set of such data."
msgstr ""
-"Crează un obiect CNCJob din\n"
-"acest obiect."
+"Datele folosite pentru crearea codului GCode.\n"
+"Fiecare unealtă stochează un subset de asemenea date."
-#: flatcamGUI/ObjectUI.py:822 flatcamGUI/PreferencesUI.py:3084
+#: flatcamGUI/ObjectUI.py:846 flatcamGUI/PreferencesUI.py:3266
+msgid ""
+"Operation type:\n"
+"- Drilling -> will drill the drills/slots associated with this tool\n"
+"- Milling -> will mill the drills/slots"
+msgstr ""
+"Tip operatie:\n"
+"- Găurire -> va găuri găurile/sloturile associate acestei unelte\n"
+"- Frezare -> va freza găurile/sloturile"
+
+#: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:3272
+msgid "Drilling"
+msgstr "Găurire"
+
+#: flatcamGUI/ObjectUI.py:853 flatcamGUI/PreferencesUI.py:3273
+msgid "Milling"
+msgstr "Frezare"
+
+#: flatcamGUI/ObjectUI.py:868 flatcamGUI/PreferencesUI.py:3282
+msgid ""
+"Milling type:\n"
+"- Drills -> will mill the drills associated with this tool\n"
+"- Slots -> will mill the slots associated with this tool\n"
+"- Both -> will mill both drills and mills or whatever is available"
+msgstr ""
+"Tip frezare:\n"
+"- Găuri -> va freza găurile asociate acestei unelte\n"
+"- Sloturi -> va freza sloturile asociate acestei unelte\n"
+"- Ambele -> va freza atat găurile cat si sloturile sau doar acelea care sunt "
+"disponibile"
+
+#: flatcamGUI/ObjectUI.py:877 flatcamGUI/PreferencesUI.py:3291
+#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolFilm.py:258
+msgid "Both"
+msgstr "Ambele"
+
+#: flatcamGUI/ObjectUI.py:885 flatcamGUI/PreferencesUI.py:3298
+msgid "Milling Diameter"
+msgstr "Dia frezare"
+
+#: flatcamGUI/ObjectUI.py:887 flatcamGUI/PreferencesUI.py:3300
+msgid "The diameter of the tool who will do the milling"
+msgstr "Diametrul frezei când se frezează sloturile"
+
+#: flatcamGUI/ObjectUI.py:901 flatcamGUI/PreferencesUI.py:3313
msgid ""
"Drill depth (negative)\n"
"below the copper surface."
@@ -7766,7 +8130,35 @@ msgstr ""
"Daca se foloseşte o val. pozitivă, aplicaţia\n"
"va incerca in mod automat să schimbe semnul."
-#: flatcamGUI/ObjectUI.py:841 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/ObjectUI.py:920 flatcamGUI/ObjectUI.py:1722
+#: flatcamGUI/PreferencesUI.py:3331 flatcamGUI/PreferencesUI.py:4261
+#: flatcamGUI/PreferencesUI.py:5687 flatcamTools/ToolCutOut.py:160
+msgid "Multi-Depth"
+msgstr "Multi-Pas"
+
+#: flatcamGUI/ObjectUI.py:923 flatcamGUI/ObjectUI.py:1725
+#: flatcamGUI/PreferencesUI.py:3334 flatcamGUI/PreferencesUI.py:4264
+#: flatcamGUI/PreferencesUI.py:5690 flatcamTools/ToolCutOut.py:163
+msgid ""
+"Use multiple passes to limit\n"
+"the cut depth in each pass. Will\n"
+"cut multiple times until Cut Z is\n"
+"reached."
+msgstr ""
+"Folosiți mai multe pase pentru a limita\n"
+"adâncimea tăiată în fiecare trecere. Se\n"
+"va tăia de mai multe ori până când este\n"
+"atins Z de tăiere, Z Cut."
+
+#: flatcamGUI/ObjectUI.py:936 flatcamGUI/ObjectUI.py:1739
+#: flatcamGUI/PreferencesUI.py:3346 flatcamGUI/PreferencesUI.py:5702
+#: flatcamTools/ToolCutOut.py:177
+msgid "Depth of each pass (positive)."
+msgstr ""
+"Adâncimea pentru fiecare trecere.\n"
+"Valoare pozitivă, in unitatile curente."
+
+#: flatcamGUI/ObjectUI.py:947 flatcamGUI/PreferencesUI.py:3354
msgid ""
"Tool height when travelling\n"
"across the XY plane."
@@ -7775,58 +8167,16 @@ msgstr ""
"in planul X-Y, fără a efectua taieri, adica\n"
"in afara materialului."
-#: flatcamGUI/ObjectUI.py:858 flatcamGUI/ObjectUI.py:1478
-#: flatcamGUI/PreferencesUI.py:3117 flatcamGUI/PreferencesUI.py:4034
-msgid "Tool change"
-msgstr "Schimb unealtă"
-
-#: flatcamGUI/ObjectUI.py:860 flatcamGUI/PreferencesUI.py:3119
+#: flatcamGUI/ObjectUI.py:968 flatcamGUI/ObjectUI.py:1769
+#: flatcamGUI/PreferencesUI.py:4380
msgid ""
-"Include tool-change sequence\n"
-"in G-Code (Pause for tool change)."
+"Cutting speed in the XY\n"
+"plane in units per minute"
msgstr ""
-"Include o secventa de schimbare unealtă\n"
-"in codul G-Code (pauza pentru schimbare unealtă).\n"
-"De obicei este folosita comanda G-Code M6."
+"Viteza de tăiere in planul X-Y\n"
+"in unitati pe minut"
-#: flatcamGUI/ObjectUI.py:866 flatcamGUI/ObjectUI.py:1471
-msgid "Tool change Z"
-msgstr "Z schimb unealtă"
-
-#: flatcamGUI/ObjectUI.py:868 flatcamGUI/ObjectUI.py:1474
-#: flatcamGUI/PreferencesUI.py:3126 flatcamGUI/PreferencesUI.py:4047
-msgid ""
-"Z-axis position (height) for\n"
-"tool change."
-msgstr "Înălţimea, pe axa Z, pentru schimbul uneltei."
-
-#: flatcamGUI/ObjectUI.py:888 flatcamGUI/PreferencesUI.py:3311
-msgid ""
-"Height of the tool just after start.\n"
-"Delete the value if you don't need this feature."
-msgstr ""
-"Înălţimea uneltei imediat dupa ce se porneste operatia CNC.\n"
-"Lasa casuta goala daca nu se foloseşte."
-
-#: flatcamGUI/ObjectUI.py:896 flatcamGUI/ObjectUI.py:1512
-#: flatcamGUI/PreferencesUI.py:3141 flatcamGUI/PreferencesUI.py:4066
-msgid "End move Z"
-msgstr "Z oprire"
-
-#: flatcamGUI/ObjectUI.py:898 flatcamGUI/ObjectUI.py:1514
-#: flatcamGUI/PreferencesUI.py:3143 flatcamGUI/PreferencesUI.py:4068
-msgid ""
-"Height of the tool after\n"
-"the last move at the end of the job."
-msgstr "Înălţimea la care se parchează freza dupa ce se termina lucrul."
-
-#: flatcamGUI/ObjectUI.py:915 flatcamGUI/ObjectUI.py:1545
-#: flatcamGUI/PreferencesUI.py:3158 flatcamGUI/PreferencesUI.py:4101
-#: flatcamGUI/PreferencesUI.py:6566 flatcamTools/ToolSolderPaste.py:264
-msgid "Feedrate Z"
-msgstr "Feedrate Z"
-
-#: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:3160
+#: flatcamGUI/ObjectUI.py:983 flatcamGUI/PreferencesUI.py:3427
msgid ""
"Tool speed while drilling\n"
"(in units per minute).\n"
@@ -7838,12 +8188,12 @@ msgstr ""
"Asa numita viteza unealta tip \"plunge\".\n"
"Aceasta este mișcarea lineara G01."
-#: flatcamGUI/ObjectUI.py:931 flatcamGUI/ObjectUI.py:1560
-#: flatcamGUI/PreferencesUI.py:3319 flatcamGUI/PreferencesUI.py:4210
+#: flatcamGUI/ObjectUI.py:998 flatcamGUI/ObjectUI.py:1796
+#: flatcamGUI/PreferencesUI.py:3597 flatcamGUI/PreferencesUI.py:4503
msgid "Feedrate Rapids"
msgstr "Feedrate rapizi"
-#: flatcamGUI/ObjectUI.py:933 flatcamGUI/PreferencesUI.py:3321
+#: flatcamGUI/ObjectUI.py:1000 flatcamGUI/PreferencesUI.py:3599
msgid ""
"Tool speed while drilling\n"
"(in units per minute).\n"
@@ -7856,12 +8206,26 @@ msgstr ""
"printerul 3D Marlin, implicit când se foloseşte fişierul\n"
"postprocesor: Marlin. Ignora aceasta parametru in rest."
-#: flatcamGUI/ObjectUI.py:951 flatcamGUI/ObjectUI.py:1603
-#: flatcamGUI/PreferencesUI.py:4117
-msgid "Spindle speed"
-msgstr "Viteza motor"
+#: flatcamGUI/ObjectUI.py:1020 flatcamGUI/ObjectUI.py:1816
+#: flatcamGUI/PreferencesUI.py:4521
+msgid "Re-cut"
+msgstr "Re-tăiere"
-#: flatcamGUI/ObjectUI.py:953 flatcamGUI/PreferencesUI.py:3175
+#: flatcamGUI/ObjectUI.py:1022 flatcamGUI/ObjectUI.py:1035
+#: flatcamGUI/ObjectUI.py:1818 flatcamGUI/ObjectUI.py:1830
+#: flatcamGUI/PreferencesUI.py:4523 flatcamGUI/PreferencesUI.py:4535
+msgid ""
+"In order to remove possible\n"
+"copper leftovers where first cut\n"
+"meet with last cut, we generate an\n"
+"extended cut over the first cut section."
+msgstr ""
+"Bifează daca se dorește o siguranţă ca resturile de cupru\n"
+"care pot ramane acolo unde se intalneste inceputul taierii\n"
+"cu sfârşitul acesteia (este vorba de un contur), sunt eliminate\n"
+"prin taierea peste acest punct."
+
+#: flatcamGUI/ObjectUI.py:1050 flatcamGUI/PreferencesUI.py:3442
msgid ""
"Speed of the spindle\n"
"in RPM (optional)"
@@ -7871,8 +8235,8 @@ msgstr ""
"Acest parametru este optional și se poate lasa gol\n"
"daca nu se foloseşte."
-#: flatcamGUI/ObjectUI.py:965 flatcamGUI/ObjectUI.py:1622
-#: flatcamGUI/PreferencesUI.py:3187 flatcamGUI/PreferencesUI.py:4135
+#: flatcamGUI/ObjectUI.py:1065 flatcamGUI/ObjectUI.py:1858
+#: flatcamGUI/PreferencesUI.py:3456 flatcamGUI/PreferencesUI.py:4427
msgid ""
"Pause to allow the spindle to reach its\n"
"speed before cutting."
@@ -7880,26 +8244,115 @@ msgstr ""
"O pauza care permite motorului să ajunga la turatia specificata,\n"
"inainte de a incepe mișcarea spre poziţia de tăiere (găurire)."
-#: flatcamGUI/ObjectUI.py:974 flatcamGUI/ObjectUI.py:1632
-#: flatcamGUI/PreferencesUI.py:3193 flatcamGUI/PreferencesUI.py:4140
+#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/ObjectUI.py:1868
+#: flatcamGUI/PreferencesUI.py:3464 flatcamGUI/PreferencesUI.py:4432
msgid "Number of time units for spindle to dwell."
msgstr "Timpul (ori secunde ori milisec) cat se stă in pauză."
-#: flatcamGUI/ObjectUI.py:984 flatcamGUI/PreferencesUI.py:3206
-msgid ""
-"The preprocessor JSON file that dictates\n"
-"Gcode output."
-msgstr ""
-"Fișierul JSON postprocesor care dictează\n"
-"codul Gcode."
+#: flatcamGUI/ObjectUI.py:1086 flatcamGUI/PreferencesUI.py:3563
+msgid "Offset Z"
+msgstr "Ofset Z"
-#: flatcamGUI/ObjectUI.py:993 flatcamGUI/ObjectUI.py:1652
-#: flatcamGUI/PreferencesUI.py:3335 flatcamGUI/PreferencesUI.py:4251
+#: flatcamGUI/ObjectUI.py:1088 flatcamGUI/PreferencesUI.py:3565
+msgid ""
+"Some drill bits (the larger ones) need to drill deeper\n"
+"to create the desired exit hole diameter due of the tip shape.\n"
+"The value here can compensate the Cut Z parameter."
+msgstr ""
+"Unele burghie (in special cele cu diametru mai mare)\n"
+"au nevoie să găurească mai adanc pentru a depăși conul\n"
+"din vârful burghiului astfel încât diametrul găurii de ieșire\n"
+"să fie cel dorit.\n"
+"Valoarea de aici efectuează o compensare asupra\n"
+"parametrului >Z tăiere<."
+
+#: flatcamGUI/ObjectUI.py:1148 flatcamGUI/ObjectUI.py:1922
+#: flatcamTools/ToolNCC.py:492 flatcamTools/ToolPaint.py:423
+msgid "Apply parameters to all tools"
+msgstr "Aplicați parametrii la toate Uneltele"
+
+#: flatcamGUI/ObjectUI.py:1150 flatcamGUI/ObjectUI.py:1924
+#: flatcamTools/ToolNCC.py:494 flatcamTools/ToolPaint.py:425
+msgid ""
+"The parameters in the current form will be applied\n"
+"on all the tools from the Tool Table."
+msgstr ""
+"Parametrii din formularul curent vor fi aplicați\n"
+"la toate Uneltele din Tabelul Unelte."
+
+#: flatcamGUI/ObjectUI.py:1161 flatcamGUI/ObjectUI.py:1935
+#: flatcamTools/ToolNCC.py:505 flatcamTools/ToolPaint.py:436
+msgid "Common Parameters"
+msgstr "Parametrii Comuni"
+
+#: flatcamGUI/ObjectUI.py:1163 flatcamGUI/ObjectUI.py:1937
+#: flatcamTools/ToolNCC.py:507 flatcamTools/ToolPaint.py:438
+msgid "Parameters that are common for all tools."
+msgstr "Parametrii care sunt comuni pentru toate uneltele."
+
+#: flatcamGUI/ObjectUI.py:1168 flatcamGUI/ObjectUI.py:1942
+msgid "Tool change Z"
+msgstr "Z schimb unealtă"
+
+#: flatcamGUI/ObjectUI.py:1170 flatcamGUI/PreferencesUI.py:3372
+msgid ""
+"Include tool-change sequence\n"
+"in G-Code (Pause for tool change)."
+msgstr ""
+"Include o secventa de schimbare unealtă\n"
+"in codul G-Code (pauza pentru schimbare unealtă).\n"
+"De obicei este folosita comanda G-Code M6."
+
+#: flatcamGUI/ObjectUI.py:1177 flatcamGUI/ObjectUI.py:1953
+#: flatcamGUI/PreferencesUI.py:3380 flatcamGUI/PreferencesUI.py:4327
+msgid ""
+"Z-axis position (height) for\n"
+"tool change."
+msgstr "Înălţimea, pe axa Z, pentru schimbul uneltei."
+
+#: flatcamGUI/ObjectUI.py:1194 flatcamGUI/PreferencesUI.py:3588
+msgid ""
+"Height of the tool just after start.\n"
+"Delete the value if you don't need this feature."
+msgstr ""
+"Înălţimea uneltei imediat dupa ce se porneste operatia CNC.\n"
+"Lasa casuta goala daca nu se foloseşte."
+
+#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1981
+#: flatcamGUI/PreferencesUI.py:3396 flatcamGUI/PreferencesUI.py:4346
+msgid "End move Z"
+msgstr "Z oprire"
+
+#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1983
+#: flatcamGUI/PreferencesUI.py:3398 flatcamGUI/PreferencesUI.py:4348
+msgid ""
+"Height of the tool after\n"
+"the last move at the end of the job."
+msgstr "Înălţimea la care se parchează freza dupa ce se termina lucrul."
+
+#: flatcamGUI/ObjectUI.py:1222 flatcamGUI/ObjectUI.py:2000
+#: flatcamGUI/PreferencesUI.py:3413 flatcamGUI/PreferencesUI.py:4366
+msgid "End move X,Y"
+msgstr "X-Y Ultima miscare"
+
+#: flatcamGUI/ObjectUI.py:1224 flatcamGUI/ObjectUI.py:2002
+#: flatcamGUI/PreferencesUI.py:3415 flatcamGUI/PreferencesUI.py:4368
+msgid ""
+"End move X,Y position. In format (x,y).\n"
+"If no value is entered then there is no move\n"
+"on X,Y plane at the end of the job."
+msgstr ""
+"Pozitia X-Y pt ultima miscare. In format (x,y).\n"
+"Dacă nici-o valoare nu este introdusă atunci nici-o miscare nu va fi\n"
+"efectuată la final."
+
+#: flatcamGUI/ObjectUI.py:1234 flatcamGUI/ObjectUI.py:1876
+#: flatcamGUI/PreferencesUI.py:3613 flatcamGUI/PreferencesUI.py:4544
msgid "Probe Z depth"
msgstr "Z sonda"
-#: flatcamGUI/ObjectUI.py:995 flatcamGUI/ObjectUI.py:1654
-#: flatcamGUI/PreferencesUI.py:3337 flatcamGUI/PreferencesUI.py:4253
+#: flatcamGUI/ObjectUI.py:1236 flatcamGUI/ObjectUI.py:1878
+#: flatcamGUI/PreferencesUI.py:3615 flatcamGUI/PreferencesUI.py:4546
msgid ""
"The maximum depth that the probe is allowed\n"
"to probe. Negative value, in current units."
@@ -7907,47 +8360,71 @@ msgstr ""
"Adâncimea maxima la care este permis sondei să coboare.\n"
"Are o valoare negativă, in unitatile curente."
-#: flatcamGUI/ObjectUI.py:1009 flatcamGUI/ObjectUI.py:1669
-#: flatcamGUI/PreferencesUI.py:3348 flatcamGUI/PreferencesUI.py:4266
+#: flatcamGUI/ObjectUI.py:1252 flatcamGUI/ObjectUI.py:1893
+#: flatcamGUI/PreferencesUI.py:3626 flatcamGUI/PreferencesUI.py:4559
msgid "Feedrate Probe"
msgstr "Feedrate sonda"
-#: flatcamGUI/ObjectUI.py:1011 flatcamGUI/ObjectUI.py:1671
-#: flatcamGUI/PreferencesUI.py:3350 flatcamGUI/PreferencesUI.py:4268
+#: flatcamGUI/ObjectUI.py:1254 flatcamGUI/ObjectUI.py:1895
+#: flatcamGUI/PreferencesUI.py:3628 flatcamGUI/PreferencesUI.py:4561
msgid "The feedrate used while the probe is probing."
msgstr "Viteza sondei când aceasta coboara."
-#: flatcamGUI/ObjectUI.py:1037 flatcamGUI/PreferencesUI.py:3215
-msgid "Gcode"
-msgstr "Gcode"
+#: flatcamGUI/ObjectUI.py:1261
+msgid "e_fr_probe"
+msgstr "e_fr_probe"
-#: flatcamGUI/ObjectUI.py:1039
+#: flatcamGUI/ObjectUI.py:1270
+msgid "Preprocessor E"
+msgstr "Postprocesor E"
+
+#: flatcamGUI/ObjectUI.py:1272
msgid ""
-"Choose what to use for GCode generation:\n"
-"'Drills', 'Slots' or 'Both'.\n"
-"When choosing 'Slots' or 'Both', slots will be\n"
-"converted to a series of drills."
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Excellon Objects."
msgstr ""
-"Alege ce să folosești pentru generarea de G-Code:\n"
-"- Găuri\n"
-"- Sloturi\n"
-"- Ambele\n"
-"Când se alege >Sloturi< sau >Ambele<, sloturile\n"
-"vor fi convertite intr-o serie de găuriri."
+"Fișierul JSON postprocesor care dictează\n"
+"codul Gcode pentru obiectele Excellon."
-#: flatcamGUI/ObjectUI.py:1053
-msgid "Create Drills GCode"
-msgstr "Crează GCode Găuri"
+#: flatcamGUI/ObjectUI.py:1282
+msgid "Preprocessor G"
+msgstr "Postprocesor G"
-#: flatcamGUI/ObjectUI.py:1055
-msgid "Generate the CNC Job."
-msgstr "Generează un obiect CNCJob."
+#: flatcamGUI/ObjectUI.py:1284
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Geometry (Milling) Objects."
+msgstr ""
+"Fișierul JSON postprocesor care dictează\n"
+"codul Gcode pentru obiectele Geometrie (cand se frezează)."
-#: flatcamGUI/ObjectUI.py:1066 flatcamGUI/PreferencesUI.py:3233
-msgid "Mill Holes"
-msgstr "Frezare găuri"
+#: flatcamGUI/ObjectUI.py:1308 flatcamGUI/ObjectUI.py:2026
+msgid ""
+"Add / Select at least one tool in the tool-table.\n"
+"Click the # header to select all, or Ctrl + LMB\n"
+"for custom selection of tools."
+msgstr ""
+"Adaugă/selectează cel puțin o unealtă in Tabela de Unelte.\n"
+"Click pe header coloana # pentru selectarea a toate sau CTRL + LMB click\n"
+"pentru o selecţie personalizată de unelte."
-#: flatcamGUI/ObjectUI.py:1068
+#: flatcamGUI/ObjectUI.py:1316 flatcamGUI/ObjectUI.py:2033
+msgid "Generate CNCJob object"
+msgstr "Generează un obiect CNCJob"
+
+#: flatcamGUI/ObjectUI.py:1318
+msgid ""
+"Generate the CNC Job.\n"
+"If milling then an additional Geometry object will be created"
+msgstr ""
+"Generează obiectul CNCJob.\n"
+"Dacă se frezează atunci va fi creat un obiect Geometrie additional"
+
+#: flatcamGUI/ObjectUI.py:1335
+msgid "Milling Geometry"
+msgstr "Geometrie Frezare"
+
+#: flatcamGUI/ObjectUI.py:1337
msgid ""
"Create Geometry for milling holes.\n"
"Select from the Tools Table above the hole dias to be\n"
@@ -7957,20 +8434,16 @@ msgstr ""
"Selectați din tabelul Unelte de deasupra găurile\n"
"care trebuie frezate. Utilizați coloana # pentru a face selecția."
-#: flatcamGUI/ObjectUI.py:1074 flatcamGUI/PreferencesUI.py:3239
-msgid "Drill Tool dia"
-msgstr "Dia. Burghiu Găurire"
-
-#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/PreferencesUI.py:2027
-#: flatcamGUI/PreferencesUI.py:3241
+#: flatcamGUI/ObjectUI.py:1345 flatcamGUI/PreferencesUI.py:2207
+#: flatcamGUI/PreferencesUI.py:3514
msgid "Diameter of the cutting tool."
msgstr "Diametrul uneltei taietoare."
-#: flatcamGUI/ObjectUI.py:1083
-msgid "Mill Drills Geo"
-msgstr "Geo pt frezare găuri"
+#: flatcamGUI/ObjectUI.py:1355
+msgid "Mill Drills"
+msgstr "Frezare Găuri"
-#: flatcamGUI/ObjectUI.py:1085
+#: flatcamGUI/ObjectUI.py:1357
msgid ""
"Create the Geometry Object\n"
"for milling DRILLS toolpaths."
@@ -7978,21 +8451,11 @@ msgstr ""
"Crează un obiect tip Geometrie pt.\n"
"frezarea rutelor create din Găuri."
-#: flatcamGUI/ObjectUI.py:1099 flatcamGUI/PreferencesUI.py:3250
-msgid "Slot Tool dia"
-msgstr "Dia. Freza Slot"
+#: flatcamGUI/ObjectUI.py:1375
+msgid "Mill Slots"
+msgstr "Frezare Sloturi"
-#: flatcamGUI/ObjectUI.py:1101 flatcamGUI/PreferencesUI.py:3252
-msgid ""
-"Diameter of the cutting tool\n"
-"when milling slots."
-msgstr "Diametrul frezei când se frezează sloturile."
-
-#: flatcamGUI/ObjectUI.py:1110
-msgid "Mill Slots Geo"
-msgstr "Geo pt. frezare sloturi"
-
-#: flatcamGUI/ObjectUI.py:1112
+#: flatcamGUI/ObjectUI.py:1377
msgid ""
"Create the Geometry Object\n"
"for milling SLOTS toolpaths."
@@ -8000,11 +8463,11 @@ msgstr ""
"Crează un obiect tip Geometrie pt.\n"
"frezarea rutelor create din Sloturi."
-#: flatcamGUI/ObjectUI.py:1152 flatcamTools/ToolCutOut.py:317
+#: flatcamGUI/ObjectUI.py:1419 flatcamTools/ToolCutOut.py:327
msgid "Geometry Object"
msgstr "Obiect Geometrie"
-#: flatcamGUI/ObjectUI.py:1186
+#: flatcamGUI/ObjectUI.py:1465
msgid ""
"Tools in this Geometry object used for cutting.\n"
"The 'Offset' entry will set an offset for the cut.\n"
@@ -8034,23 +8497,23 @@ msgstr ""
"- V-Dia \n"
"- V-unghi."
-#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1903
-#: flatcamGUI/PreferencesUI.py:4405
+#: flatcamGUI/ObjectUI.py:1482 flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/PreferencesUI.py:4698
msgid "Plot Object"
msgstr "Afisează"
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:7241
-#: flatcamTools/ToolCopperThieving.py:220
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:7747
+#: flatcamTools/ToolCopperThieving.py:222
msgid "Dia"
msgstr "Dia"
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244
+#: flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
msgid "TT"
msgstr "TU"
-#: flatcamGUI/ObjectUI.py:1224
+#: flatcamGUI/ObjectUI.py:1502
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
@@ -8061,7 +8524,7 @@ msgstr ""
"la evenim. de schimb unealtă, va aparea sub forma T1, T2, etc\n"
"in codul masina CNC"
-#: flatcamGUI/ObjectUI.py:1235
+#: flatcamGUI/ObjectUI.py:1513
msgid ""
"The value for the Offset can be:\n"
"- Path -> There is no offset, the tool cut will be done through the geometry "
@@ -8077,7 +8540,7 @@ msgstr ""
"'buzunar'\n"
"- Afară-> Tăietura va urma geometria pe exterior."
-#: flatcamGUI/ObjectUI.py:1242
+#: flatcamGUI/ObjectUI.py:1520
msgid ""
"The (Operation) Type has only informative value. Usually the UI form "
"values \n"
@@ -8100,7 +8563,7 @@ msgstr ""
"un\n"
"vârf fin, ascuțit."
-#: flatcamGUI/ObjectUI.py:1251
+#: flatcamGUI/ObjectUI.py:1529
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular the "
@@ -8130,7 +8593,7 @@ msgstr ""
"Alegerea tipului V-Shape (forma in V) va selecta automat Tipul de Operaţie "
"ca Izolare."
-#: flatcamGUI/ObjectUI.py:1263
+#: flatcamGUI/ObjectUI.py:1541
msgid ""
"Plot column. It is visible only for MultiGeo geometries, meaning geometries "
"that holds the geometry\n"
@@ -8150,7 +8613,7 @@ msgstr ""
"se poate activa/dezactiva\n"
"afișarea in canvas."
-#: flatcamGUI/ObjectUI.py:1281
+#: flatcamGUI/ObjectUI.py:1559
msgid ""
"The value to offset the cut when \n"
"the Offset type selected is 'Offset'.\n"
@@ -8161,7 +8624,13 @@ msgstr ""
"este >Ofset<. Aceasta valoare poate fi pozitivă pentru un ofset\n"
"in exterior sau poate fi negativă pentru un ofset in interior."
-#: flatcamGUI/ObjectUI.py:1306
+#: flatcamGUI/ObjectUI.py:1578 flatcamTools/ToolNCC.py:209
+#: flatcamTools/ToolNCC.py:923 flatcamTools/ToolPaint.py:192
+#: flatcamTools/ToolPaint.py:849 flatcamTools/ToolSolderPaste.py:559
+msgid "New Tool"
+msgstr "O Noua Unealtă"
+
+#: flatcamGUI/ObjectUI.py:1595
msgid ""
"Add a new tool to the Tool Table\n"
"with the specified diameter."
@@ -8169,11 +8638,14 @@ msgstr ""
"Adăugați o Unealta noua in Tabelul de Unelte\n"
"cu diametrul specificat."
-#: flatcamGUI/ObjectUI.py:1314
-msgid "Add Tool from DataBase"
-msgstr "Adăugați Unealta din DB Unelte"
+#: flatcamGUI/ObjectUI.py:1600 flatcamTools/ToolNCC.py:300
+#: flatcamTools/ToolNCC.py:634 flatcamTools/ToolPaint.py:283
+#: flatcamTools/ToolPaint.py:679
+msgid "Add from DB"
+msgstr "Adaugă Unealtă din DB"
-#: flatcamGUI/ObjectUI.py:1316
+#: flatcamGUI/ObjectUI.py:1602 flatcamTools/ToolNCC.py:302
+#: flatcamTools/ToolPaint.py:285
msgid ""
"Add a new tool to the Tool Table\n"
"from the Tool DataBase."
@@ -8181,7 +8653,7 @@ msgstr ""
"Adaugă o noua unealta in Tabela de Unelte,\n"
"din DB Unelte."
-#: flatcamGUI/ObjectUI.py:1326
+#: flatcamGUI/ObjectUI.py:1617
msgid ""
"Copy a selection of tools in the Tool Table\n"
"by first selecting a row in the Tool Table."
@@ -8189,7 +8661,7 @@ msgstr ""
"Copiază o selecţie de unelte in Tabela de Unelte prin\n"
"selectarea unei linii (sau mai multe) in Tabela de Unelte."
-#: flatcamGUI/ObjectUI.py:1332
+#: flatcamGUI/ObjectUI.py:1623
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row in the Tool Table."
@@ -8197,40 +8669,7 @@ msgstr ""
"Șterge o selecţie de unelte in Tabela de Unelte prin\n"
"selectarea unei linii (sau mai multe) in Tabela de Unelte."
-#: flatcamGUI/ObjectUI.py:1356
-msgid ""
-"The data used for creating GCode.\n"
-"Each tool store it's own set of such data."
-msgstr ""
-"Datele folosite pentru crearea codului GCode.\n"
-"Fiecare unealtă stochează un subset de asemenea date."
-
-#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3981
-#: flatcamGUI/PreferencesUI.py:5348 flatcamTools/ToolCutOut.py:153
-msgid "Multi-Depth"
-msgstr "Multi-Pas"
-
-#: flatcamGUI/ObjectUI.py:1429 flatcamGUI/PreferencesUI.py:3984
-#: flatcamGUI/PreferencesUI.py:5351 flatcamTools/ToolCutOut.py:156
-msgid ""
-"Use multiple passes to limit\n"
-"the cut depth in each pass. Will\n"
-"cut multiple times until Cut Z is\n"
-"reached."
-msgstr ""
-"Folosiți mai multe pase pentru a limita\n"
-"adâncimea tăiată în fiecare trecere. Se\n"
-"va tăia de mai multe ori până când este\n"
-"atins Z de tăiere, Z Cut."
-
-#: flatcamGUI/ObjectUI.py:1443 flatcamGUI/PreferencesUI.py:5363
-#: flatcamTools/ToolCutOut.py:170
-msgid "Depth of each pass (positive)."
-msgstr ""
-"Adâncimea pentru fiecare trecere.\n"
-"Valoare pozitivă, in unitatile curente."
-
-#: flatcamGUI/ObjectUI.py:1454 flatcamGUI/PreferencesUI.py:4016
+#: flatcamGUI/ObjectUI.py:1750 flatcamGUI/PreferencesUI.py:4296
msgid ""
"Height of the tool when\n"
"moving without cutting."
@@ -8238,29 +8677,7 @@ msgstr ""
"Înălţimea la care se misca unealta când nu taie,\n"
"deasupra materialului."
-#: flatcamGUI/ObjectUI.py:1481 flatcamGUI/PreferencesUI.py:4037
-msgid ""
-"Include tool-change sequence\n"
-"in the Machine Code (Pause for tool change)."
-msgstr ""
-"Include o secventa de schimb unealtă in \n"
-"codul masina CNC. O pauza pentru schimbul\n"
-"uneltei (M6)."
-
-#: flatcamGUI/ObjectUI.py:1531 flatcamGUI/PreferencesUI.py:4086
-#: flatcamGUI/PreferencesUI.py:6553 flatcamTools/ToolSolderPaste.py:252
-msgid "Feedrate X-Y"
-msgstr "Feedrate X-Y"
-
-#: flatcamGUI/ObjectUI.py:1533 flatcamGUI/PreferencesUI.py:4088
-msgid ""
-"Cutting speed in the XY\n"
-"plane in units per minute"
-msgstr ""
-"Viteza de tăiere in planul X-Y\n"
-"in unitati pe minut"
-
-#: flatcamGUI/ObjectUI.py:1547 flatcamGUI/PreferencesUI.py:4103
+#: flatcamGUI/ObjectUI.py:1783 flatcamGUI/PreferencesUI.py:4395
msgid ""
"Cutting speed in the XY\n"
"plane in units per minute.\n"
@@ -8270,7 +8687,7 @@ msgstr ""
"in unitati pe minut.\n"
"Mai este numita și viteza de plonjare."
-#: flatcamGUI/ObjectUI.py:1562 flatcamGUI/PreferencesUI.py:4212
+#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4505
msgid ""
"Cutting speed in the XY plane\n"
"(in units per minute).\n"
@@ -8283,24 +8700,7 @@ msgstr ""
"Este utila doar când se foloseşte cu un printer 3D Marlin,\n"
"pentru toate celelalte cazuri ignora acest parametru."
-#: flatcamGUI/ObjectUI.py:1580 flatcamGUI/PreferencesUI.py:4228
-msgid "Re-cut"
-msgstr "Re-tăiere"
-
-#: flatcamGUI/ObjectUI.py:1582 flatcamGUI/ObjectUI.py:1594
-#: flatcamGUI/PreferencesUI.py:4230 flatcamGUI/PreferencesUI.py:4242
-msgid ""
-"In order to remove possible\n"
-"copper leftovers where first cut\n"
-"meet with last cut, we generate an\n"
-"extended cut over the first cut section."
-msgstr ""
-"Bifează daca se dorește o siguranţă ca resturile de cupru\n"
-"care pot ramane acolo unde se intalneste inceputul taierii\n"
-"cu sfârşitul acesteia (este vorba de un contur), sunt eliminate\n"
-"prin taierea peste acest punct."
-
-#: flatcamGUI/ObjectUI.py:1606 flatcamGUI/PreferencesUI.py:4120
+#: flatcamGUI/ObjectUI.py:1842 flatcamGUI/PreferencesUI.py:4412
msgid ""
"Speed of the spindle in RPM (optional).\n"
"If LASER preprocessor is used,\n"
@@ -8310,7 +8710,16 @@ msgstr ""
"Daca postprocesorul Laser este folosit,\n"
"valoarea să este puterea laserului."
-#: flatcamGUI/ObjectUI.py:1642 flatcamGUI/PreferencesUI.py:4157
+#: flatcamGUI/ObjectUI.py:1945 flatcamGUI/PreferencesUI.py:4317
+msgid ""
+"Include tool-change sequence\n"
+"in the Machine Code (Pause for tool change)."
+msgstr ""
+"Include o secventa de schimb unealtă in \n"
+"codul masina CNC. O pauza pentru schimbul\n"
+"uneltei (M6)."
+
+#: flatcamGUI/ObjectUI.py:2014 flatcamGUI/PreferencesUI.py:4449
msgid ""
"The Preprocessor file that dictates\n"
"the Machine Code (like GCode, RML, HPGL) output."
@@ -8319,43 +8728,17 @@ msgstr ""
"codului masina CNC (GCode, RML, HPGL) care \n"
"mai apoi este salvat."
-#: flatcamGUI/ObjectUI.py:1689
-msgid "Apply parameters to all tools"
-msgstr "Aplicați parametrii la toate Uneltele"
-
-#: flatcamGUI/ObjectUI.py:1691
-msgid ""
-"The parameters in the current form will be applied\n"
-"on all the tools from the Tool Table."
-msgstr ""
-"Parametrii din formularul curent vor fi aplicați\n"
-"la toate Uneltele din Tabelul Unelte."
-
-#: flatcamGUI/ObjectUI.py:1700
-msgid ""
-"Add at least one tool in the tool-table.\n"
-"Click the header to select all, or Ctrl + LMB\n"
-"for custom selection of tools."
-msgstr ""
-"Adaugă cel puțin o unealtă in Tabela de Unelte.\n"
-"Click pe header pentru selectarea tuturora asu CTRL + LMB click\n"
-"pentru o selecţie personalizata de unelte."
-
-#: flatcamGUI/ObjectUI.py:1707
-msgid "Generate CNCJob object"
-msgstr "Generează un obiect CNCJob"
-
-#: flatcamGUI/ObjectUI.py:1709
+#: flatcamGUI/ObjectUI.py:2035
msgid "Generate the CNC Job object."
msgstr "Generează un obiect CNCJob."
-#: flatcamGUI/ObjectUI.py:1726
+#: flatcamGUI/ObjectUI.py:2052
msgid "Launch Paint Tool in Tools Tab."
msgstr ""
"Lansează unealta FlatCAM numita Paint și\n"
"o instalează in Tab-ul Unealta."
-#: flatcamGUI/ObjectUI.py:1734 flatcamGUI/PreferencesUI.py:5524
+#: flatcamGUI/ObjectUI.py:2060 flatcamGUI/PreferencesUI.py:5874
msgid ""
"Creates tool paths to cover the\n"
"whole area of a polygon (remove\n"
@@ -8368,15 +8751,15 @@ msgstr ""
"singur poligon se va cere să faceti click pe poligonul\n"
"dorit."
-#: flatcamGUI/ObjectUI.py:1786
+#: flatcamGUI/ObjectUI.py:2115
msgid "CNC Job Object"
msgstr "Obiect CNCJob"
-#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4410
+#: flatcamGUI/ObjectUI.py:2126 flatcamGUI/PreferencesUI.py:4703
msgid "Plot kind"
msgstr "Tip afișare"
-#: flatcamGUI/ObjectUI.py:1801 flatcamGUI/PreferencesUI.py:4412
+#: flatcamGUI/ObjectUI.py:2129 flatcamGUI/PreferencesUI.py:4705
msgid ""
"This selects the kind of geometries on the canvas to plot.\n"
"Those can be either of type 'Travel' which means the moves\n"
@@ -8388,15 +8771,15 @@ msgstr ""
"- Voiaj -> miscarile deasupra materialului\n"
"- Tăiere -> miscarile in material, tăiere."
-#: flatcamGUI/ObjectUI.py:1810 flatcamGUI/PreferencesUI.py:4420
+#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/PreferencesUI.py:4713
msgid "Travel"
msgstr "Voiaj"
-#: flatcamGUI/ObjectUI.py:1814 flatcamGUI/PreferencesUI.py:4429
+#: flatcamGUI/ObjectUI.py:2142 flatcamGUI/PreferencesUI.py:4722
msgid "Display Annotation"
msgstr "Afişează notații"
-#: flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:4431
+#: flatcamGUI/ObjectUI.py:2144 flatcamGUI/PreferencesUI.py:4724
msgid ""
"This selects if to display text annotation on the plot.\n"
"When checked it will display numbers in order for each end\n"
@@ -8406,11 +8789,11 @@ msgstr ""
"Cand este selectat va afisa numerele in ordine pt fiecare\n"
"capat al liniilor de traversare."
-#: flatcamGUI/ObjectUI.py:1831
+#: flatcamGUI/ObjectUI.py:2159
msgid "Travelled dist."
msgstr "Dist. parcursă"
-#: flatcamGUI/ObjectUI.py:1833 flatcamGUI/ObjectUI.py:1838
+#: flatcamGUI/ObjectUI.py:2161 flatcamGUI/ObjectUI.py:2166
msgid ""
"This is the total travelled distance on X-Y plane.\n"
"In current units."
@@ -8418,11 +8801,11 @@ msgstr ""
"Aceasta este distanţa totala parcursa in planul X-Y.\n"
"In unitatile curente."
-#: flatcamGUI/ObjectUI.py:1843
+#: flatcamGUI/ObjectUI.py:2171
msgid "Estimated time"
msgstr "Durată estimată"
-#: flatcamGUI/ObjectUI.py:1845 flatcamGUI/ObjectUI.py:1850
+#: flatcamGUI/ObjectUI.py:2173 flatcamGUI/ObjectUI.py:2178
msgid ""
"This is the estimated time to do the routing/drilling,\n"
"without the time spent in ToolChange events."
@@ -8430,11 +8813,11 @@ msgstr ""
"Acesta este timpul estimat pentru efectuarea traseului / găuririi,\n"
"fără timpul petrecut în evenimentele ToolChange."
-#: flatcamGUI/ObjectUI.py:1885
+#: flatcamGUI/ObjectUI.py:2213
msgid "CNC Tools Table"
msgstr "Tabela Unelte CNC"
-#: flatcamGUI/ObjectUI.py:1888
+#: flatcamGUI/ObjectUI.py:2216
msgid ""
"Tools in this CNCJob object used for cutting.\n"
"The tool diameter is used for plotting on canvas.\n"
@@ -8455,24 +8838,24 @@ msgstr ""
"Shape\n"
"(cu forma in V)."
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/ObjectUI.py:1927
+#: flatcamGUI/ObjectUI.py:2244 flatcamGUI/ObjectUI.py:2255
msgid "P"
msgstr "P"
-#: flatcamGUI/ObjectUI.py:1937
+#: flatcamGUI/ObjectUI.py:2265
msgid "Update Plot"
msgstr "Actualiz. afișare"
-#: flatcamGUI/ObjectUI.py:1939
+#: flatcamGUI/ObjectUI.py:2267
msgid "Update the plot."
msgstr "Actualizează afișarea obiectelor."
-#: flatcamGUI/ObjectUI.py:1946 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/ObjectUI.py:2274 flatcamGUI/PreferencesUI.py:5120
msgid "Export CNC Code"
msgstr "Exporta codul masina CNC"
-#: flatcamGUI/ObjectUI.py:1948 flatcamGUI/PreferencesUI.py:4768
-#: flatcamGUI/PreferencesUI.py:4829
+#: flatcamGUI/ObjectUI.py:2276 flatcamGUI/PreferencesUI.py:5061
+#: flatcamGUI/PreferencesUI.py:5122
msgid ""
"Export and save G-Code to\n"
"make this object to a file."
@@ -8480,12 +8863,12 @@ msgstr ""
"Exportă și salvează codul G-Code intr-un fişier\n"
"care este salvat pe HDD."
-#: flatcamGUI/ObjectUI.py:1954
+#: flatcamGUI/ObjectUI.py:2282
msgid "Prepend to CNC Code"
msgstr "Adaugă la inceput in codul G-Code"
-#: flatcamGUI/ObjectUI.py:1956 flatcamGUI/ObjectUI.py:1963
-#: flatcamGUI/PreferencesUI.py:4784
+#: flatcamGUI/ObjectUI.py:2284 flatcamGUI/ObjectUI.py:2291
+#: flatcamGUI/PreferencesUI.py:5077
msgid ""
"Type here any G-Code commands you would\n"
"like to add at the beginning of the G-Code file."
@@ -8493,12 +8876,12 @@ msgstr ""
"Adaugă aici orice comenzi G-Code care se dorește să fie\n"
"inserate la inceputul codului G-Code."
-#: flatcamGUI/ObjectUI.py:1969
+#: flatcamGUI/ObjectUI.py:2297
msgid "Append to CNC Code"
msgstr "Adaugă la sfârşit in codul G-Code"
-#: flatcamGUI/ObjectUI.py:1971 flatcamGUI/ObjectUI.py:1979
-#: flatcamGUI/PreferencesUI.py:4800
+#: flatcamGUI/ObjectUI.py:2299 flatcamGUI/ObjectUI.py:2307
+#: flatcamGUI/PreferencesUI.py:5093
msgid ""
"Type here any G-Code commands you would\n"
"like to append to the generated file.\n"
@@ -8507,11 +8890,11 @@ msgstr ""
"Adaugă aici orice comenzi G-Code care se dorește să fie\n"
"inserate la sfârşitul codului G-Code."
-#: flatcamGUI/ObjectUI.py:1993 flatcamGUI/PreferencesUI.py:4835
+#: flatcamGUI/ObjectUI.py:2321 flatcamGUI/PreferencesUI.py:5128
msgid "Toolchange G-Code"
msgstr "G-Code pt schimb unealtă"
-#: flatcamGUI/ObjectUI.py:1996 flatcamGUI/PreferencesUI.py:4838
+#: flatcamGUI/ObjectUI.py:2324 flatcamGUI/PreferencesUI.py:5131
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -8533,7 +8916,7 @@ msgstr ""
"'toolchange_custom'\n"
"in numele sau."
-#: flatcamGUI/ObjectUI.py:2011
+#: flatcamGUI/ObjectUI.py:2339
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -8552,11 +8935,11 @@ msgstr ""
"'toolchange_custom'\n"
"in numele sau."
-#: flatcamGUI/ObjectUI.py:2026 flatcamGUI/PreferencesUI.py:4877
+#: flatcamGUI/ObjectUI.py:2354 flatcamGUI/PreferencesUI.py:5170
msgid "Use Toolchange Macro"
msgstr "Fol. Macro schimb unealtă"
-#: flatcamGUI/ObjectUI.py:2028 flatcamGUI/PreferencesUI.py:4879
+#: flatcamGUI/ObjectUI.py:2356 flatcamGUI/PreferencesUI.py:5172
msgid ""
"Check this box if you want to use\n"
"a Custom Toolchange GCode (macro)."
@@ -8564,7 +8947,7 @@ msgstr ""
"Bifează aici daca dorești să folosești Macro pentru\n"
"schimb unelte."
-#: flatcamGUI/ObjectUI.py:2036 flatcamGUI/PreferencesUI.py:4891
+#: flatcamGUI/ObjectUI.py:2364 flatcamGUI/PreferencesUI.py:5184
msgid ""
"A list of the FlatCAM variables that can be used\n"
"in the Toolchange event.\n"
@@ -8574,73 +8957,75 @@ msgstr ""
"de schimb al uneltei (când se intalneste comanda M6).\n"
"Este necesar să fie inconjurate de simbolul '%'"
-#: flatcamGUI/ObjectUI.py:2043 flatcamGUI/PreferencesUI.py:2447
-#: flatcamGUI/PreferencesUI.py:3555 flatcamGUI/PreferencesUI.py:4347
-#: flatcamGUI/PreferencesUI.py:4898 flatcamGUI/PreferencesUI.py:5017
-#: flatcamGUI/PreferencesUI.py:5301 flatcamGUI/PreferencesUI.py:5458
-#: flatcamGUI/PreferencesUI.py:5676 flatcamGUI/PreferencesUI.py:5973
-#: flatcamGUI/PreferencesUI.py:6224 flatcamGUI/PreferencesUI.py:6438
-#: flatcamGUI/PreferencesUI.py:6663 flatcamGUI/PreferencesUI.py:6685
-#: flatcamGUI/PreferencesUI.py:6909 flatcamGUI/PreferencesUI.py:6946
-#: flatcamGUI/PreferencesUI.py:7140 flatcamGUI/PreferencesUI.py:7394
-#: flatcamGUI/PreferencesUI.py:7510 flatcamTools/ToolCopperThieving.py:89
-#: flatcamTools/ToolFiducials.py:149 flatcamTools/ToolNonCopperClear.py:315
+#: flatcamGUI/ObjectUI.py:2371 flatcamGUI/PreferencesUI.py:2627
+#: flatcamGUI/PreferencesUI.py:3833 flatcamGUI/PreferencesUI.py:4640
+#: flatcamGUI/PreferencesUI.py:5191 flatcamGUI/PreferencesUI.py:5310
+#: flatcamGUI/PreferencesUI.py:5640 flatcamGUI/PreferencesUI.py:5797
+#: flatcamGUI/PreferencesUI.py:6164 flatcamGUI/PreferencesUI.py:6461
+#: flatcamGUI/PreferencesUI.py:6711 flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7169 flatcamGUI/PreferencesUI.py:7191
+#: flatcamGUI/PreferencesUI.py:7415 flatcamGUI/PreferencesUI.py:7452
+#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7900
+#: flatcamGUI/PreferencesUI.py:8016 flatcamGUI/PreferencesUI.py:8135
+#: flatcamGUI/PreferencesUI.py:8347 flatcamGUI/PreferencesUI.py:8556
+#: flatcamTools/ToolCopperThieving.py:90 flatcamTools/ToolFiducials.py:149
+#: flatcamTools/ToolInvertGerber.py:82
msgid "Parameters"
msgstr "Parametri"
-#: flatcamGUI/ObjectUI.py:2046 flatcamGUI/PreferencesUI.py:4903
+#: flatcamGUI/ObjectUI.py:2374 flatcamGUI/PreferencesUI.py:5196
msgid "FlatCAM CNC parameters"
msgstr "Parametri FlatCAM CNC"
-#: flatcamGUI/ObjectUI.py:2047 flatcamGUI/PreferencesUI.py:4908
+#: flatcamGUI/ObjectUI.py:2375 flatcamGUI/PreferencesUI.py:5201
msgid "tool number"
msgstr "numărul uneltei"
-#: flatcamGUI/ObjectUI.py:2048 flatcamGUI/PreferencesUI.py:4909
+#: flatcamGUI/ObjectUI.py:2376 flatcamGUI/PreferencesUI.py:5202
msgid "tool diameter"
msgstr "diametrul sculei"
-#: flatcamGUI/ObjectUI.py:2049 flatcamGUI/PreferencesUI.py:4910
+#: flatcamGUI/ObjectUI.py:2377 flatcamGUI/PreferencesUI.py:5203
msgid "for Excellon, total number of drills"
msgstr "pentru Excellon, numărul total de operațiuni găurire"
-#: flatcamGUI/ObjectUI.py:2051 flatcamGUI/PreferencesUI.py:4912
+#: flatcamGUI/ObjectUI.py:2379 flatcamGUI/PreferencesUI.py:5205
msgid "X coord for Toolchange"
msgstr "Coordonata X pentru schimbarea uneltei"
-#: flatcamGUI/ObjectUI.py:2052 flatcamGUI/PreferencesUI.py:4913
+#: flatcamGUI/ObjectUI.py:2380 flatcamGUI/PreferencesUI.py:5206
msgid "Y coord for Toolchange"
msgstr "Coordonata Y pentru schimbarea uneltei"
-#: flatcamGUI/ObjectUI.py:2053 flatcamGUI/PreferencesUI.py:4915
+#: flatcamGUI/ObjectUI.py:2381 flatcamGUI/PreferencesUI.py:5208
msgid "Z coord for Toolchange"
msgstr "Coordonata Z pentru schimbarea uneltei"
-#: flatcamGUI/ObjectUI.py:2054
+#: flatcamGUI/ObjectUI.py:2382
msgid "depth where to cut"
msgstr "adâncimea de tăiere"
-#: flatcamGUI/ObjectUI.py:2055
+#: flatcamGUI/ObjectUI.py:2383
msgid "height where to travel"
msgstr "inălţimea deplasare"
-#: flatcamGUI/ObjectUI.py:2056 flatcamGUI/PreferencesUI.py:4918
+#: flatcamGUI/ObjectUI.py:2384 flatcamGUI/PreferencesUI.py:5211
msgid "the step value for multidepth cut"
msgstr "pasul pentru taierea progresiva"
-#: flatcamGUI/ObjectUI.py:2058 flatcamGUI/PreferencesUI.py:4920
+#: flatcamGUI/ObjectUI.py:2386 flatcamGUI/PreferencesUI.py:5213
msgid "the value for the spindle speed"
msgstr "valoarea viteza motor"
-#: flatcamGUI/ObjectUI.py:2060
+#: flatcamGUI/ObjectUI.py:2388
msgid "time to dwell to allow the spindle to reach it's set RPM"
msgstr "durata de asteptare ca motorul să ajunga la turatia setată"
-#: flatcamGUI/ObjectUI.py:2076
+#: flatcamGUI/ObjectUI.py:2404
msgid "View CNC Code"
msgstr "Vizualiz. codul CNC"
-#: flatcamGUI/ObjectUI.py:2078
+#: flatcamGUI/ObjectUI.py:2406
msgid ""
"Opens TAB to view/modify/print G-Code\n"
"file."
@@ -8648,11 +9033,11 @@ msgstr ""
"Deschide un nou tab pentru a vizualiza, modifica\n"
"sau tipari codul G-Code."
-#: flatcamGUI/ObjectUI.py:2083
+#: flatcamGUI/ObjectUI.py:2411
msgid "Save CNC Code"
msgstr "Salvează codul CNC"
-#: flatcamGUI/ObjectUI.py:2085
+#: flatcamGUI/ObjectUI.py:2413
msgid ""
"Opens dialog to save G-Code\n"
"file."
@@ -8660,83 +9045,79 @@ msgstr ""
"Deshide o fereastra dialog pentru salvarea codului\n"
"G-Code intr-un fişier."
-#: flatcamGUI/ObjectUI.py:2116
+#: flatcamGUI/ObjectUI.py:2447
msgid "Script Object"
msgstr "Editare Script"
-#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/ObjectUI.py:2211
+#: flatcamGUI/ObjectUI.py:2467 flatcamGUI/ObjectUI.py:2541
msgid "Auto Completer"
msgstr "Autocompletare"
-#: flatcamGUI/ObjectUI.py:2140
+#: flatcamGUI/ObjectUI.py:2469
msgid "This selects if the auto completer is enabled in the Script Editor."
msgstr ""
"Aceasta selectează dacă completatorul automat este activat în Script Editor."
-#: flatcamGUI/ObjectUI.py:2182
+#: flatcamGUI/ObjectUI.py:2514
msgid "Document Object"
msgstr "Obiect document"
-#: flatcamGUI/ObjectUI.py:2213
+#: flatcamGUI/ObjectUI.py:2543
msgid "This selects if the auto completer is enabled in the Document Editor."
msgstr ""
"Aceasta selectează dacă completatorul automat este activat în Editorul de "
"documente."
-#: flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/ObjectUI.py:2561
msgid "Font Type"
msgstr "Tipul Font"
-#: flatcamGUI/ObjectUI.py:2248 flatcamGUI/PreferencesUI.py:1103
+#: flatcamGUI/ObjectUI.py:2578 flatcamGUI/PreferencesUI.py:1278
msgid "Font Size"
msgstr "Dim. Font"
-#: flatcamGUI/ObjectUI.py:2284
+#: flatcamGUI/ObjectUI.py:2614
msgid "Alignment"
msgstr "Aliniere"
-#: flatcamGUI/ObjectUI.py:2289
+#: flatcamGUI/ObjectUI.py:2619
msgid "Align Left"
msgstr "Aliniați la stânga"
-#: flatcamGUI/ObjectUI.py:2294
-msgid "Center"
-msgstr "Centru"
-
-#: flatcamGUI/ObjectUI.py:2299
+#: flatcamGUI/ObjectUI.py:2629
msgid "Align Right"
msgstr "Aliniați la dreapta"
-#: flatcamGUI/ObjectUI.py:2304
+#: flatcamGUI/ObjectUI.py:2634
msgid "Justify"
msgstr "Aliniere duala"
-#: flatcamGUI/ObjectUI.py:2311
+#: flatcamGUI/ObjectUI.py:2641
msgid "Font Color"
msgstr "Culoare FOnt"
-#: flatcamGUI/ObjectUI.py:2313
+#: flatcamGUI/ObjectUI.py:2643
msgid "Set the font color for the selected text"
msgstr "Setați culoarea fontului pentru textul selectat"
-#: flatcamGUI/ObjectUI.py:2327
+#: flatcamGUI/ObjectUI.py:2657
msgid "Selection Color"
msgstr "Culoare de selecție"
-#: flatcamGUI/ObjectUI.py:2329
+#: flatcamGUI/ObjectUI.py:2659
msgid "Set the selection color when doing text selection."
msgstr "Setați culoarea de selecție atunci când faceți selecția textului."
-#: flatcamGUI/ObjectUI.py:2343
+#: flatcamGUI/ObjectUI.py:2673
msgid "Tab Size"
msgstr "Dimens. filei"
-#: flatcamGUI/ObjectUI.py:2345
+#: flatcamGUI/ObjectUI.py:2675
msgid "Set the tab size. In pixels. Default value is 80 pixels."
msgstr ""
"Setați dimensiunea filei. În pixeli. Valoarea implicită este de 80 pixeli."
-#: flatcamGUI/PlotCanvasLegacy.py:1254
+#: flatcamGUI/PlotCanvasLegacy.py:1301
msgid ""
"Could not annotate due of a difference between the number of text elements "
"and the number of text positions."
@@ -8744,31 +9125,35 @@ msgstr ""
"Nu s-a putut adnota datorită unei diferențe între numărul de elemente de "
"text și numărul de locații de text."
-#: flatcamGUI/PreferencesUI.py:324
+#: flatcamGUI/PreferencesUI.py:343
msgid "GUI Preferences"
msgstr "Preferințe GUI"
-#: flatcamGUI/PreferencesUI.py:334
+#: flatcamGUI/PreferencesUI.py:353
msgid "Theme"
msgstr "Temă"
-#: flatcamGUI/PreferencesUI.py:336
-msgid "Select a theme for FlatCAM."
-msgstr "Selectați o temă pentru FlatCAM."
+#: flatcamGUI/PreferencesUI.py:355
+msgid ""
+"Select a theme for FlatCAM.\n"
+"It will theme the plot area."
+msgstr ""
+"Selectează o Temă pentru FlatCAM.\n"
+"Va afecta zona de afisare."
-#: flatcamGUI/PreferencesUI.py:340
+#: flatcamGUI/PreferencesUI.py:360
msgid "Light"
msgstr "Luminos"
-#: flatcamGUI/PreferencesUI.py:341
+#: flatcamGUI/PreferencesUI.py:361
msgid "Dark"
msgstr "Întunecat"
-#: flatcamGUI/PreferencesUI.py:348
+#: flatcamGUI/PreferencesUI.py:368
msgid "Use Gray Icons"
msgstr "Utilizați pictogramele gri"
-#: flatcamGUI/PreferencesUI.py:350
+#: flatcamGUI/PreferencesUI.py:370
msgid ""
"Check this box to use a set of icons with\n"
"a lighter (gray) color. To be used when a\n"
@@ -8778,23 +9163,25 @@ msgstr ""
"o culoare mai deschisă (gri). Pentru a fi utilizat atunci când\n"
"se aplică o temă complet întunecată."
-#: flatcamGUI/PreferencesUI.py:356
+#: flatcamGUI/PreferencesUI.py:376
msgid "Apply Theme"
msgstr "Aplicați Tema"
-#: flatcamGUI/PreferencesUI.py:358
+#: flatcamGUI/PreferencesUI.py:378
msgid ""
"Select a theme for FlatCAM.\n"
+"It will theme the plot area.\n"
"The application will restart after change."
msgstr ""
-"Selectați o temă pentru FlatCAM.\n"
+"Selectați o Temă pentru FlatCAM.\n"
+"Va afecta zona de afisare.\n"
"Aplicația va reporni după modificare."
-#: flatcamGUI/PreferencesUI.py:369
+#: flatcamGUI/PreferencesUI.py:390
msgid "Layout"
msgstr "Amplasare"
-#: flatcamGUI/PreferencesUI.py:371
+#: flatcamGUI/PreferencesUI.py:392
msgid ""
"Select an layout for FlatCAM.\n"
"It is applied immediately."
@@ -8802,11 +9189,11 @@ msgstr ""
"Selectează un stil de amplasare a elementelor GUI in FlatCAM.\n"
"Se aplică imediat."
-#: flatcamGUI/PreferencesUI.py:390
+#: flatcamGUI/PreferencesUI.py:412
msgid "Style"
msgstr "Stil"
-#: flatcamGUI/PreferencesUI.py:392
+#: flatcamGUI/PreferencesUI.py:414
msgid ""
"Select an style for FlatCAM.\n"
"It will be applied at the next app start."
@@ -8814,11 +9201,11 @@ msgstr ""
"Selectează un stil pentru FlatCAM.\n"
"Se va aplic la următoarea pornire a aplicaţiei."
-#: flatcamGUI/PreferencesUI.py:406
+#: flatcamGUI/PreferencesUI.py:428
msgid "Activate HDPI Support"
msgstr "Activați HDPI"
-#: flatcamGUI/PreferencesUI.py:408
+#: flatcamGUI/PreferencesUI.py:430
msgid ""
"Enable High DPI support for FlatCAM.\n"
"It will be applied at the next app start."
@@ -8827,11 +9214,11 @@ msgstr ""
"Util pentru monitoarele 4k.\n"
"Va fi aplicată la următoarea pornire a aplicaţiei."
-#: flatcamGUI/PreferencesUI.py:422
+#: flatcamGUI/PreferencesUI.py:444
msgid "Display Hover Shape"
msgstr "Afișează forma Hover"
-#: flatcamGUI/PreferencesUI.py:424
+#: flatcamGUI/PreferencesUI.py:446
msgid ""
"Enable display of a hover shape for FlatCAM objects.\n"
"It is displayed whenever the mouse cursor is hovering\n"
@@ -8841,11 +9228,11 @@ msgstr ""
"in canvas-ul FlatCAM. Forma este afișată doar dacă obiectul \n"
"nu este selectat."
-#: flatcamGUI/PreferencesUI.py:431
+#: flatcamGUI/PreferencesUI.py:453
msgid "Display Selection Shape"
msgstr "Afișați forma de selecție"
-#: flatcamGUI/PreferencesUI.py:433
+#: flatcamGUI/PreferencesUI.py:455
msgid ""
"Enable the display of a selection shape for FlatCAM objects.\n"
"It is displayed whenever the mouse selects an object\n"
@@ -8857,30 +9244,30 @@ msgstr ""
"pe canvas-ul FlatCAM fie făcând click pe obiect fie prin\n"
"crearea unei ferestre de selectie."
-#: flatcamGUI/PreferencesUI.py:446
+#: flatcamGUI/PreferencesUI.py:468
msgid "Left-Right Selection Color"
msgstr "Culoare de selecție stânga-dreapta"
-#: flatcamGUI/PreferencesUI.py:449 flatcamGUI/PreferencesUI.py:515
-#: flatcamGUI/PreferencesUI.py:1882 flatcamGUI/PreferencesUI.py:2903
-#: flatcamGUI/PreferencesUI.py:3894 flatcamGUI/PreferencesUI.py:4534
-#: flatcamGUI/PreferencesUI.py:4600 flatcamTools/ToolRulesCheck.py:179
+#: flatcamGUI/PreferencesUI.py:471 flatcamGUI/PreferencesUI.py:537
+#: flatcamGUI/PreferencesUI.py:2062 flatcamGUI/PreferencesUI.py:3085
+#: flatcamGUI/PreferencesUI.py:4174 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/PreferencesUI.py:4893 flatcamTools/ToolRulesCheck.py:186
msgid "Outline"
msgstr "Contur"
-#: flatcamGUI/PreferencesUI.py:451
+#: flatcamGUI/PreferencesUI.py:473
msgid "Set the line color for the 'left to right' selection box."
msgstr ""
"Setează transparenţa conturului formei de selecţie\n"
"când selectia se face de la stânga la dreapta."
-#: flatcamGUI/PreferencesUI.py:465 flatcamGUI/PreferencesUI.py:532
-#: flatcamGUI/PreferencesUI.py:1899 flatcamGUI/PreferencesUI.py:2920
-#: flatcamGUI/PreferencesUI.py:4551 flatcamGUI/PreferencesUI.py:4617
+#: flatcamGUI/PreferencesUI.py:487 flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:2079 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/PreferencesUI.py:4844 flatcamGUI/PreferencesUI.py:4910
msgid "Fill"
msgstr "Continut"
-#: flatcamGUI/PreferencesUI.py:467
+#: flatcamGUI/PreferencesUI.py:489
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from left to right.\n"
@@ -8892,29 +9279,29 @@ msgstr ""
"Primii 6 digiti sunt culoarea efectivă și ultimii\n"
"doi sunt pentru nivelul de transparenţă (alfa)."
-#: flatcamGUI/PreferencesUI.py:485 flatcamGUI/PreferencesUI.py:552
-#: flatcamGUI/PreferencesUI.py:1918 flatcamGUI/PreferencesUI.py:2939
-#: flatcamGUI/PreferencesUI.py:4570
+#: flatcamGUI/PreferencesUI.py:507 flatcamGUI/PreferencesUI.py:574
+#: flatcamGUI/PreferencesUI.py:2098 flatcamGUI/PreferencesUI.py:3121
+#: flatcamGUI/PreferencesUI.py:4863
msgid "Alpha"
msgstr "Alfa"
-#: flatcamGUI/PreferencesUI.py:487
+#: flatcamGUI/PreferencesUI.py:509
msgid "Set the fill transparency for the 'left to right' selection box."
msgstr ""
"Setează transparenţa formei de selecţie când selectia\n"
"se face de la stânga la dreapta."
-#: flatcamGUI/PreferencesUI.py:511
+#: flatcamGUI/PreferencesUI.py:533
msgid "Right-Left Selection Color"
msgstr "Culoare de selecție dreapta-stânga"
-#: flatcamGUI/PreferencesUI.py:517
+#: flatcamGUI/PreferencesUI.py:539
msgid "Set the line color for the 'right to left' selection box."
msgstr ""
"Setează transparenţa conturului formei de selecţie\n"
"când selectia se face de la dreapta la stânga."
-#: flatcamGUI/PreferencesUI.py:534
+#: flatcamGUI/PreferencesUI.py:556
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from right to left.\n"
@@ -8926,47 +9313,47 @@ msgstr ""
"Primii 6 digiti sunt culoarea efectiva și ultimii\n"
"doi sunt pentru nivelul de transparenţă (alfa)."
-#: flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:576
msgid "Set the fill transparency for selection 'right to left' box."
msgstr ""
"Setează transparenţa formei de selecţie când selectia\n"
"se face de la dreapta la stânga."
-#: flatcamGUI/PreferencesUI.py:581
+#: flatcamGUI/PreferencesUI.py:603
msgid "Editor Color"
msgstr "Culoare editor"
-#: flatcamGUI/PreferencesUI.py:585
+#: flatcamGUI/PreferencesUI.py:607
msgid "Drawing"
msgstr "Desen"
-#: flatcamGUI/PreferencesUI.py:587
+#: flatcamGUI/PreferencesUI.py:609
msgid "Set the color for the shape."
msgstr "Setează culoarea pentru forma geometrică din Editor."
-#: flatcamGUI/PreferencesUI.py:604
+#: flatcamGUI/PreferencesUI.py:626
msgid "Set the color of the shape when selected."
msgstr ""
"Setează culoarea formei geometrice in Editor\n"
"când se face o selecţie."
-#: flatcamGUI/PreferencesUI.py:627
+#: flatcamGUI/PreferencesUI.py:649
msgid "Project Items Color"
msgstr "Culoarea articolelor din Proiect"
-#: flatcamGUI/PreferencesUI.py:631
+#: flatcamGUI/PreferencesUI.py:653
msgid "Enabled"
msgstr "Activat"
-#: flatcamGUI/PreferencesUI.py:633
+#: flatcamGUI/PreferencesUI.py:655
msgid "Set the color of the items in Project Tab Tree."
msgstr "Setează culoarea elementelor din tab-ul Proiect."
-#: flatcamGUI/PreferencesUI.py:647
+#: flatcamGUI/PreferencesUI.py:669
msgid "Disabled"
msgstr "Dezactivat"
-#: flatcamGUI/PreferencesUI.py:649
+#: flatcamGUI/PreferencesUI.py:671
msgid ""
"Set the color of the items in Project Tab Tree,\n"
"for the case when the items are disabled."
@@ -8974,7 +9361,11 @@ msgstr ""
"Setează culoarea elementelor din tab-ul Proiect\n"
"in cazul in care elementele sunt dezactivate."
-#: flatcamGUI/PreferencesUI.py:667
+#: flatcamGUI/PreferencesUI.py:687
+msgid "Project AutoHide"
+msgstr "Ascundere Proiect"
+
+#: flatcamGUI/PreferencesUI.py:689
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"hide automatically when there are no objects loaded and\n"
@@ -8984,43 +9375,43 @@ msgstr ""
"când nu sunt obiecte incărcate și să fie afișată automat\n"
"când un obiect nou este creat/incărcat."
-#: flatcamGUI/PreferencesUI.py:934
+#: flatcamGUI/PreferencesUI.py:1109
msgid "App Settings"
msgstr "Setări Aplicație"
-#: flatcamGUI/PreferencesUI.py:955
+#: flatcamGUI/PreferencesUI.py:1130
msgid "Grid Settings"
msgstr "Setări Grilă"
-#: flatcamGUI/PreferencesUI.py:959
+#: flatcamGUI/PreferencesUI.py:1134
msgid "X value"
msgstr "Val X"
-#: flatcamGUI/PreferencesUI.py:961
+#: flatcamGUI/PreferencesUI.py:1136
msgid "This is the Grid snap value on X axis."
msgstr "Aceasta este valoare pentru lipire pe Grid pe axa X."
-#: flatcamGUI/PreferencesUI.py:971
+#: flatcamGUI/PreferencesUI.py:1146
msgid "Y value"
msgstr "Val Y"
-#: flatcamGUI/PreferencesUI.py:973
+#: flatcamGUI/PreferencesUI.py:1148
msgid "This is the Grid snap value on Y axis."
msgstr "Aceasta este valoare pentru lipire pe Grid pe axa Y."
-#: flatcamGUI/PreferencesUI.py:983
+#: flatcamGUI/PreferencesUI.py:1158
msgid "Snap Max"
msgstr "Lipire Max"
-#: flatcamGUI/PreferencesUI.py:998
+#: flatcamGUI/PreferencesUI.py:1173
msgid "Workspace Settings"
msgstr "Setări ale Spațiului de Lucru"
-#: flatcamGUI/PreferencesUI.py:1001
+#: flatcamGUI/PreferencesUI.py:1176
msgid "Active"
msgstr "Activ"
-#: flatcamGUI/PreferencesUI.py:1003
+#: flatcamGUI/PreferencesUI.py:1178
msgid ""
"Draw a delimiting rectangle on canvas.\n"
"The purpose is to illustrate the limits for our work."
@@ -9028,7 +9419,7 @@ msgstr ""
"Desenează un patrulater care delimitează o suprafată de lucru.\n"
"Scopul este de a ilustra limitele suprafetei noastre de lucru."
-#: flatcamGUI/PreferencesUI.py:1011
+#: flatcamGUI/PreferencesUI.py:1186
msgid ""
"Select the type of rectangle to be used on canvas,\n"
"as valid workspace."
@@ -9036,12 +9427,12 @@ msgstr ""
"Selectează tipul de patrulater care va fi desenat pe canvas,\n"
"pentru a delimita suprafata de lucru disponibilă (SL)."
-#: flatcamGUI/PreferencesUI.py:1077
+#: flatcamGUI/PreferencesUI.py:1252
msgid "Orientation"
msgstr "Orientare"
-#: flatcamGUI/PreferencesUI.py:1078 flatcamGUI/PreferencesUI.py:5884
-#: flatcamTools/ToolFilm.py:420
+#: flatcamGUI/PreferencesUI.py:1253 flatcamGUI/PreferencesUI.py:6372
+#: flatcamTools/ToolFilm.py:422
msgid ""
"Can be:\n"
"- Portrait\n"
@@ -9051,21 +9442,21 @@ msgstr ""
"- Portret\n"
"- Peisaj"
-#: flatcamGUI/PreferencesUI.py:1082 flatcamGUI/PreferencesUI.py:5888
-#: flatcamTools/ToolFilm.py:424
+#: flatcamGUI/PreferencesUI.py:1257 flatcamGUI/PreferencesUI.py:6376
+#: flatcamTools/ToolFilm.py:426
msgid "Portrait"
msgstr "Portret"
-#: flatcamGUI/PreferencesUI.py:1083 flatcamGUI/PreferencesUI.py:5889
-#: flatcamTools/ToolFilm.py:425
+#: flatcamGUI/PreferencesUI.py:1258 flatcamGUI/PreferencesUI.py:6377
+#: flatcamTools/ToolFilm.py:427
msgid "Landscape"
msgstr "Peisaj"
-#: flatcamGUI/PreferencesUI.py:1107
+#: flatcamGUI/PreferencesUI.py:1282
msgid "Notebook"
msgstr "Agendă"
-#: flatcamGUI/PreferencesUI.py:1109
+#: flatcamGUI/PreferencesUI.py:1284
msgid ""
"This sets the font size for the elements found in the Notebook.\n"
"The notebook is the collapsible area in the left side of the GUI,\n"
@@ -9076,19 +9467,19 @@ msgstr ""
"Notebook-ul este zona pliabilă din partea stângă a GUI,\n"
"și include filele Proiect, Selectat și Unelte."
-#: flatcamGUI/PreferencesUI.py:1128
+#: flatcamGUI/PreferencesUI.py:1303
msgid "Axis"
msgstr "Axă"
-#: flatcamGUI/PreferencesUI.py:1130
+#: flatcamGUI/PreferencesUI.py:1305
msgid "This sets the font size for canvas axis."
msgstr "Aceasta setează dimensiunea fontului pentru axele zonei de afisare."
-#: flatcamGUI/PreferencesUI.py:1147
+#: flatcamGUI/PreferencesUI.py:1322
msgid "Textbox"
msgstr "Casetă de text"
-#: flatcamGUI/PreferencesUI.py:1149
+#: flatcamGUI/PreferencesUI.py:1324
msgid ""
"This sets the font size for the Textbox GUI\n"
"elements that are used in FlatCAM."
@@ -9096,15 +9487,15 @@ msgstr ""
"Aceasta setează dimensiunea fontului pentru elementele \n"
"interfața GUI care sunt utilizate în FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1175
+#: flatcamGUI/PreferencesUI.py:1350
msgid "Mouse Settings"
msgstr "Setări mouse"
-#: flatcamGUI/PreferencesUI.py:1179
+#: flatcamGUI/PreferencesUI.py:1354
msgid "Cursor Shape"
msgstr "Forma cursorului"
-#: flatcamGUI/PreferencesUI.py:1181
+#: flatcamGUI/PreferencesUI.py:1356
msgid ""
"Choose a mouse cursor shape.\n"
"- Small -> with a customizable size.\n"
@@ -9114,47 +9505,47 @@ msgstr ""
"- Mic -> cu o dimensiune personalizabilă.\n"
"- Mare -> Linii infinite"
-#: flatcamGUI/PreferencesUI.py:1187
+#: flatcamGUI/PreferencesUI.py:1362
msgid "Small"
msgstr "Mic"
-#: flatcamGUI/PreferencesUI.py:1188
+#: flatcamGUI/PreferencesUI.py:1363
msgid "Big"
msgstr "Mare"
-#: flatcamGUI/PreferencesUI.py:1195
+#: flatcamGUI/PreferencesUI.py:1370
msgid "Cursor Size"
msgstr "Dimensiunea cursorului"
-#: flatcamGUI/PreferencesUI.py:1197
+#: flatcamGUI/PreferencesUI.py:1372
msgid "Set the size of the mouse cursor, in pixels."
msgstr "Setați dimensiunea cursorului mouse-ului, în pixeli."
-#: flatcamGUI/PreferencesUI.py:1208
+#: flatcamGUI/PreferencesUI.py:1383
msgid "Cursor Width"
msgstr "Lățimea cursorului"
-#: flatcamGUI/PreferencesUI.py:1210
+#: flatcamGUI/PreferencesUI.py:1385
msgid "Set the line width of the mouse cursor, in pixels."
msgstr "Setați lățimea liniei cursorului mouse-ului, în pixeli."
-#: flatcamGUI/PreferencesUI.py:1221 flatcamGUI/PreferencesUI.py:1228
+#: flatcamGUI/PreferencesUI.py:1396 flatcamGUI/PreferencesUI.py:1403
msgid "Cursor Color"
msgstr "Culoarea cursorului"
-#: flatcamGUI/PreferencesUI.py:1223
+#: flatcamGUI/PreferencesUI.py:1398
msgid "Check this box to color mouse cursor."
msgstr "Bifează această casetă pentru a colora cursorul mouse-ului."
-#: flatcamGUI/PreferencesUI.py:1230
+#: flatcamGUI/PreferencesUI.py:1405
msgid "Set the color of the mouse cursor."
msgstr "Setați culoarea cursorului mouse-ului."
-#: flatcamGUI/PreferencesUI.py:1253
+#: flatcamGUI/PreferencesUI.py:1428
msgid "Pan Button"
msgstr "Buton Pan (mișcare)"
-#: flatcamGUI/PreferencesUI.py:1255
+#: flatcamGUI/PreferencesUI.py:1430
msgid ""
"Select the mouse button to use for panning:\n"
"- MMB --> Middle Mouse Button\n"
@@ -9164,35 +9555,35 @@ msgstr ""
"- MMB - butonul din mijloc al mouse-ului\n"
"- RMB - butonul in dreapta al mouse-ului"
-#: flatcamGUI/PreferencesUI.py:1259
+#: flatcamGUI/PreferencesUI.py:1434
msgid "MMB"
msgstr "MMB"
-#: flatcamGUI/PreferencesUI.py:1260
+#: flatcamGUI/PreferencesUI.py:1435
msgid "RMB"
msgstr "RMB"
-#: flatcamGUI/PreferencesUI.py:1266
+#: flatcamGUI/PreferencesUI.py:1441
msgid "Multiple Selection"
msgstr "Selecție Multiplă"
-#: flatcamGUI/PreferencesUI.py:1268
+#: flatcamGUI/PreferencesUI.py:1443
msgid "Select the key used for multiple selection."
msgstr "Selectează tasta folosita pentru selectia multipla."
-#: flatcamGUI/PreferencesUI.py:1270
+#: flatcamGUI/PreferencesUI.py:1445
msgid "CTRL"
msgstr "CTRL"
-#: flatcamGUI/PreferencesUI.py:1271
+#: flatcamGUI/PreferencesUI.py:1446
msgid "SHIFT"
msgstr "SHIFT"
-#: flatcamGUI/PreferencesUI.py:1282
+#: flatcamGUI/PreferencesUI.py:1457
msgid "Delete object confirmation"
msgstr "Confirmare de ștergere a obiectului"
-#: flatcamGUI/PreferencesUI.py:1284
+#: flatcamGUI/PreferencesUI.py:1459
msgid ""
"When checked the application will ask for user confirmation\n"
"whenever the Delete object(s) event is triggered, either by\n"
@@ -9202,11 +9593,11 @@ msgstr ""
"ori de câte ori este declanșat evenimentul de Ștergere a \n"
"unor obiecte, fie de cu ajutorul meniurilor sau cu combinatii de taste."
-#: flatcamGUI/PreferencesUI.py:1291
+#: flatcamGUI/PreferencesUI.py:1466
msgid "\"Open\" behavior"
msgstr "Stil \"Încarcare\""
-#: flatcamGUI/PreferencesUI.py:1293
+#: flatcamGUI/PreferencesUI.py:1468
msgid ""
"When checked the path for the last saved file is used when saving files,\n"
"and the path for the last opened file is used when opening files.\n"
@@ -9224,7 +9615,11 @@ msgstr ""
"ambele \n"
"cazuri: fie că se deschide un fisier, fie că se salvează un fisier."
-#: flatcamGUI/PreferencesUI.py:1304
+#: flatcamGUI/PreferencesUI.py:1477
+msgid "Enable ToolTips"
+msgstr "Activează ToolTip-uri"
+
+#: flatcamGUI/PreferencesUI.py:1479
msgid ""
"Check this box if you want to have toolTips displayed\n"
"when hovering with mouse over items throughout the App."
@@ -9232,11 +9627,11 @@ msgstr ""
"Bifează daca dorești ca să fie afisate texte explicative când se\n"
"tine mouse-ul deasupra diverselor texte din FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1311
+#: flatcamGUI/PreferencesUI.py:1486
msgid "Allow Machinist Unsafe Settings"
msgstr "Permiteți setări nesigure pt Mașiniști"
-#: flatcamGUI/PreferencesUI.py:1313
+#: flatcamGUI/PreferencesUI.py:1488
msgid ""
"If checked, some of the application settings will be allowed\n"
"to have values that are usually unsafe to use.\n"
@@ -9250,11 +9645,11 @@ msgstr ""
"Se va aplica la următoarea pornire a aplicatiei.\n"
"<>: Nu schimbați acest lucru decât dacă știți ce faceți !!!"
-#: flatcamGUI/PreferencesUI.py:1324
+#: flatcamGUI/PreferencesUI.py:1500
msgid "Bookmarks limit"
msgstr "Limită nr. bookmark-uri"
-#: flatcamGUI/PreferencesUI.py:1326
+#: flatcamGUI/PreferencesUI.py:1502
msgid ""
"The maximum number of bookmarks that may be installed in the menu.\n"
"The number of bookmarks in the bookmark manager may be greater\n"
@@ -9264,27 +9659,27 @@ msgstr ""
"Numărul de bookmark-uri în managerul de bookmark-uri poate fi mai mare\n"
"dar meniul va conține doar atât de mult."
-#: flatcamGUI/PreferencesUI.py:1335
+#: flatcamGUI/PreferencesUI.py:1511
msgid "Activity Icon"
msgstr "Icon activitare"
-#: flatcamGUI/PreferencesUI.py:1337
+#: flatcamGUI/PreferencesUI.py:1513
msgid "Select the GIF that show activity when FlatCAM is active."
msgstr "Selectați GIF-ul care arată activitatea când FlatCAM este activ."
-#: flatcamGUI/PreferencesUI.py:1395
+#: flatcamGUI/PreferencesUI.py:1571
msgid "App Preferences"
msgstr "Preferințele Aplicaţie"
-#: flatcamGUI/PreferencesUI.py:1405 flatcamGUI/PreferencesUI.py:1811
-#: flatcamGUI/PreferencesUI.py:2359 flatcamGUI/PreferencesUI.py:2804
-#: flatcamGUI/PreferencesUI.py:3417 flatcamTools/ToolDistance.py:49
-#: flatcamTools/ToolDistanceMin.py:49 flatcamTools/ToolPcbWizard.py:127
-#: flatcamTools/ToolProperties.py:152
+#: flatcamGUI/PreferencesUI.py:1581 flatcamGUI/PreferencesUI.py:1991
+#: flatcamGUI/PreferencesUI.py:2539 flatcamGUI/PreferencesUI.py:2986
+#: flatcamGUI/PreferencesUI.py:3695 flatcamTools/ToolDistance.py:56
+#: flatcamTools/ToolDistanceMin.py:50 flatcamTools/ToolPcbWizard.py:127
+#: flatcamTools/ToolProperties.py:154
msgid "Units"
msgstr "Unităti"
-#: flatcamGUI/PreferencesUI.py:1406
+#: flatcamGUI/PreferencesUI.py:1582
msgid ""
"The default value for FlatCAM units.\n"
"Whatever is selected here is set every time\n"
@@ -9293,22 +9688,22 @@ msgstr ""
"Unitatea de masura pt FlatCAM.\n"
"Este setată la fiecare pornire a programului."
-#: flatcamGUI/PreferencesUI.py:1409 flatcamGUI/PreferencesUI.py:1817
-#: flatcamGUI/PreferencesUI.py:2365 flatcamGUI/PreferencesUI.py:2815
-#: flatcamGUI/PreferencesUI.py:3423 flatcamTools/ToolCalculators.py:62
+#: flatcamGUI/PreferencesUI.py:1585 flatcamGUI/PreferencesUI.py:1997
+#: flatcamGUI/PreferencesUI.py:2545 flatcamGUI/PreferencesUI.py:2997
+#: flatcamGUI/PreferencesUI.py:3701 flatcamTools/ToolCalculators.py:62
#: flatcamTools/ToolPcbWizard.py:126
msgid "MM"
msgstr "MM"
-#: flatcamGUI/PreferencesUI.py:1410
+#: flatcamGUI/PreferencesUI.py:1586
msgid "IN"
msgstr "Inch"
-#: flatcamGUI/PreferencesUI.py:1416
+#: flatcamGUI/PreferencesUI.py:1592
msgid "Precision MM"
msgstr "Precizie MM"
-#: flatcamGUI/PreferencesUI.py:1418
+#: flatcamGUI/PreferencesUI.py:1594
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in METRIC system.\n"
@@ -9318,11 +9713,11 @@ msgstr ""
"când unitățile setate sunt în sistem METRIC.\n"
"Orice modificare necesită repornirea aplicației."
-#: flatcamGUI/PreferencesUI.py:1430
+#: flatcamGUI/PreferencesUI.py:1606
msgid "Precision INCH"
msgstr "Precizie INCH"
-#: flatcamGUI/PreferencesUI.py:1432
+#: flatcamGUI/PreferencesUI.py:1608
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in INCH system.\n"
@@ -9332,11 +9727,11 @@ msgstr ""
"când unitățile setate sunt în sistem INCH.\n"
"Orice modificare necesită repornirea aplicației."
-#: flatcamGUI/PreferencesUI.py:1444
+#: flatcamGUI/PreferencesUI.py:1620
msgid "Graphic Engine"
msgstr "Motor grafic"
-#: flatcamGUI/PreferencesUI.py:1445
+#: flatcamGUI/PreferencesUI.py:1621
msgid ""
"Choose what graphic engine to use in FlatCAM.\n"
"Legacy(2D) -> reduced functionality, slow performance but enhanced "
@@ -9355,19 +9750,19 @@ msgstr ""
"Intel HD3000 sau mai vechi. În acest caz, suprafața de afisare va fi neagră\n"
"prin urmare folosiți modul Legacy (2D)."
-#: flatcamGUI/PreferencesUI.py:1451
+#: flatcamGUI/PreferencesUI.py:1627
msgid "Legacy(2D)"
msgstr "Legacy(2D)"
-#: flatcamGUI/PreferencesUI.py:1452
+#: flatcamGUI/PreferencesUI.py:1628
msgid "OpenGL(3D)"
msgstr "OpenGL(3D)"
-#: flatcamGUI/PreferencesUI.py:1464
+#: flatcamGUI/PreferencesUI.py:1640
msgid "APP. LEVEL"
msgstr "Nivel aplicatie"
-#: flatcamGUI/PreferencesUI.py:1465
+#: flatcamGUI/PreferencesUI.py:1641
msgid ""
"Choose the default level of usage for FlatCAM.\n"
"BASIC level -> reduced functionality, best for beginner's.\n"
@@ -9383,11 +9778,11 @@ msgstr ""
"Alegerea efectuata aici va influenta ce aparamtri sunt disponibili\n"
"in Tab-ul SELECTAT dar și in alte parti ale FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1477
+#: flatcamGUI/PreferencesUI.py:1653
msgid "Portable app"
msgstr "Aplicație portabilă"
-#: flatcamGUI/PreferencesUI.py:1478
+#: flatcamGUI/PreferencesUI.py:1654
msgid ""
"Choose if the application should run as portable.\n"
"\n"
@@ -9401,19 +9796,19 @@ msgstr ""
"ceea ce înseamnă că fișierele de preferințe vor fi salvate\n"
"în folderul aplicației, în subfolderul lib \\ config."
-#: flatcamGUI/PreferencesUI.py:1491
+#: flatcamGUI/PreferencesUI.py:1667
msgid "Languages"
msgstr "Traduceri"
-#: flatcamGUI/PreferencesUI.py:1492
+#: flatcamGUI/PreferencesUI.py:1668
msgid "Set the language used throughout FlatCAM."
msgstr "Setează limba folosita pentru textele din FlatCAM."
-#: flatcamGUI/PreferencesUI.py:1498
+#: flatcamGUI/PreferencesUI.py:1674
msgid "Apply Language"
msgstr "Aplica Traducere"
-#: flatcamGUI/PreferencesUI.py:1499
+#: flatcamGUI/PreferencesUI.py:1675
msgid ""
"Set the language used throughout FlatCAM.\n"
"The app will restart after click."
@@ -9421,31 +9816,31 @@ msgstr ""
"Setați limba folosită în FlatCAM.\n"
"Aplicația va reporni după clic."
-#: flatcamGUI/PreferencesUI.py:1513
+#: flatcamGUI/PreferencesUI.py:1689
msgid "Startup Settings"
msgstr "Setări de Pornire"
-#: flatcamGUI/PreferencesUI.py:1517
+#: flatcamGUI/PreferencesUI.py:1693
msgid "Splash Screen"
msgstr "Ecran Pornire"
-#: flatcamGUI/PreferencesUI.py:1519
+#: flatcamGUI/PreferencesUI.py:1695
msgid "Enable display of the splash screen at application startup."
msgstr "Activeaza afisarea unui ecran de pornire la pornirea aplicatiei."
-#: flatcamGUI/PreferencesUI.py:1531
+#: flatcamGUI/PreferencesUI.py:1707
msgid "Sys Tray Icon"
msgstr "Icon in Sys Tray"
-#: flatcamGUI/PreferencesUI.py:1533
+#: flatcamGUI/PreferencesUI.py:1709
msgid "Enable display of FlatCAM icon in Sys Tray."
msgstr "Activare pentru afișarea pictogramei FlatCAM în Sys Tray."
-#: flatcamGUI/PreferencesUI.py:1538
+#: flatcamGUI/PreferencesUI.py:1714
msgid "Show Shell"
msgstr "Arată Shell"
-#: flatcamGUI/PreferencesUI.py:1540
+#: flatcamGUI/PreferencesUI.py:1716
msgid ""
"Check this box if you want the shell to\n"
"start automatically at startup."
@@ -9454,11 +9849,11 @@ msgstr ""
"automata a ferestrei Shell (linia de comanda)\n"
"la initializarea aplicaţiei."
-#: flatcamGUI/PreferencesUI.py:1547
+#: flatcamGUI/PreferencesUI.py:1723
msgid "Show Project"
msgstr "Afișați Proiectul"
-#: flatcamGUI/PreferencesUI.py:1549
+#: flatcamGUI/PreferencesUI.py:1725
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"to be shown automatically at startup."
@@ -9466,11 +9861,11 @@ msgstr ""
"Bifează aici daca dorești ca zona Notebook să fie\n"
"afișată automat la pornire."
-#: flatcamGUI/PreferencesUI.py:1555
+#: flatcamGUI/PreferencesUI.py:1731
msgid "Version Check"
msgstr "Verificare versiune"
-#: flatcamGUI/PreferencesUI.py:1557
+#: flatcamGUI/PreferencesUI.py:1733
msgid ""
"Check this box if you want to check\n"
"for a new version automatically at startup."
@@ -9479,11 +9874,11 @@ msgstr ""
"daca exista o versiune mai noua,\n"
"la pornirea aplicaţiei."
-#: flatcamGUI/PreferencesUI.py:1564
+#: flatcamGUI/PreferencesUI.py:1740
msgid "Send Statistics"
msgstr "Trimiteți statistici"
-#: flatcamGUI/PreferencesUI.py:1566
+#: flatcamGUI/PreferencesUI.py:1742
msgid ""
"Check this box if you agree to send anonymous\n"
"stats automatically at startup, to help improve FlatCAM."
@@ -9493,11 +9888,11 @@ msgstr ""
"aplicaţia. In acest fel dezvoltatorii vor sti unde să se focalizeze\n"
"in crearea de inbunatatiri."
-#: flatcamGUI/PreferencesUI.py:1580
+#: flatcamGUI/PreferencesUI.py:1756
msgid "Workers number"
msgstr "Număr de worker's"
-#: flatcamGUI/PreferencesUI.py:1582 flatcamGUI/PreferencesUI.py:1591
+#: flatcamGUI/PreferencesUI.py:1758
msgid ""
"The number of Qthreads made available to the App.\n"
"A bigger number may finish the jobs more quickly but\n"
@@ -9513,35 +9908,35 @@ msgstr ""
"Valoarea standard este 2.\n"
"Dupa schimbarea valoarii, se va aplica la următoarea pornire a aplicatiei."
-#: flatcamGUI/PreferencesUI.py:1604
+#: flatcamGUI/PreferencesUI.py:1772
msgid "Geo Tolerance"
msgstr "Toleranta geometrică"
-#: flatcamGUI/PreferencesUI.py:1606 flatcamGUI/PreferencesUI.py:1615
+#: flatcamGUI/PreferencesUI.py:1774
msgid ""
"This value can counter the effect of the Circle Steps\n"
-"parameter. Default value is 0.01.\n"
+"parameter. Default value is 0.005.\n"
"A lower value will increase the detail both in image\n"
"and in Gcode for the circles, with a higher cost in\n"
"performance. Higher value will provide more\n"
"performance at the expense of level of detail."
msgstr ""
"Această valoare afectează efectul prametrului Pasi Cerc.\n"
-"Valoarea default este 0.01.\n"
+"Valoarea default este 0.005.\n"
"O valoare mai mică va creste detaliile atat in imagine cat si\n"
"in GCode pentru cercuri dar cu pretul unei scăderi in performantă.\n"
-"O valoare mai mare va oferi mai multă performantă dar in\n"
+"O valoare mai mare va oferi o performantă crescută dar in\n"
"defavoarea nievelului de detalii."
-#: flatcamGUI/PreferencesUI.py:1634
+#: flatcamGUI/PreferencesUI.py:1794
msgid "Save Settings"
msgstr "Setări pentru Salvare"
-#: flatcamGUI/PreferencesUI.py:1638
+#: flatcamGUI/PreferencesUI.py:1798
msgid "Save Compressed Project"
msgstr "Salvează Proiectul comprimat"
-#: flatcamGUI/PreferencesUI.py:1640
+#: flatcamGUI/PreferencesUI.py:1800
msgid ""
"Whether to save a compressed or uncompressed project.\n"
"When checked it will save a compressed FlatCAM project."
@@ -9550,11 +9945,11 @@ msgstr ""
"Când este bifat aici, se va salva o arhiva a proiectului\n"
"lucru care poate reduce dimensiunea semnificativ."
-#: flatcamGUI/PreferencesUI.py:1649
+#: flatcamGUI/PreferencesUI.py:1809
msgid "Compression"
msgstr "Compresie"
-#: flatcamGUI/PreferencesUI.py:1651
+#: flatcamGUI/PreferencesUI.py:1811
msgid ""
"The level of compression used when saving\n"
"a FlatCAM project. Higher value means better compression\n"
@@ -9565,62 +9960,92 @@ msgstr ""
"dar cu consum redus de resurse in timp ce valoarea 9 cere multa memorie RAM\n"
"și in plus, durează semnificativ mai mult."
-#: flatcamGUI/PreferencesUI.py:1671
+#: flatcamGUI/PreferencesUI.py:1822
+msgid "Enable Auto Save"
+msgstr "Activează Salvarea Automată"
+
+#: flatcamGUI/PreferencesUI.py:1824
+msgid ""
+"Check to enable the autosave feature.\n"
+"When enabled, the application will try to save a project\n"
+"at the set interval."
+msgstr ""
+"Bifează pentru activarea optiunii de auto-salvare.\n"
+"Cand este activate, aplicatia va incereca sa salveze\n"
+"proiectul intr-un mod periodic."
+
+#: flatcamGUI/PreferencesUI.py:1834
+msgid "Interval"
+msgstr "Interval"
+
+#: flatcamGUI/PreferencesUI.py:1836
+msgid ""
+"Time interval for autosaving. In milliseconds.\n"
+"The application will try to save periodically but only\n"
+"if the project was saved manually at least once.\n"
+"While active, some operations may block this feature."
+msgstr ""
+"Interval periodic pentru autosalvare. In milisecunde.\n"
+"Aplicatia va incerca sa salveze periodic doar dacă\n"
+"proiectul a fost salvat manual cel putin odată.\n"
+"Cand unele operatii sunt active, această capabilitate poate fi sistată."
+
+#: flatcamGUI/PreferencesUI.py:1852
msgid "Text to PDF parameters"
msgstr "Parametri text la PDF"
-#: flatcamGUI/PreferencesUI.py:1673
+#: flatcamGUI/PreferencesUI.py:1854
msgid "Used when saving text in Code Editor or in FlatCAM Document objects."
msgstr ""
"Utilizat la salvarea textului în Codul Editor sau în obiectele FlatCAM "
"Document."
-#: flatcamGUI/PreferencesUI.py:1682
+#: flatcamGUI/PreferencesUI.py:1863
msgid "Top Margin"
msgstr "Margine Sus"
-#: flatcamGUI/PreferencesUI.py:1684
+#: flatcamGUI/PreferencesUI.py:1865
msgid "Distance between text body and the top of the PDF file."
msgstr "Distanța dintre corpul textului și partea superioară a fișierului PDF."
-#: flatcamGUI/PreferencesUI.py:1695
+#: flatcamGUI/PreferencesUI.py:1876
msgid "Bottom Margin"
msgstr "Margine Jos"
-#: flatcamGUI/PreferencesUI.py:1697
+#: flatcamGUI/PreferencesUI.py:1878
msgid "Distance between text body and the bottom of the PDF file."
msgstr "Distanța dintre corpul textului și partea de jos a fișierului PDF."
-#: flatcamGUI/PreferencesUI.py:1708
+#: flatcamGUI/PreferencesUI.py:1889
msgid "Left Margin"
msgstr "Margine Stânga"
-#: flatcamGUI/PreferencesUI.py:1710
+#: flatcamGUI/PreferencesUI.py:1891
msgid "Distance between text body and the left of the PDF file."
msgstr "Distanța dintre corpul textului și stânga fișierului PDF."
-#: flatcamGUI/PreferencesUI.py:1721
+#: flatcamGUI/PreferencesUI.py:1902
msgid "Right Margin"
msgstr "Margine Dreapta"
-#: flatcamGUI/PreferencesUI.py:1723
+#: flatcamGUI/PreferencesUI.py:1904
msgid "Distance between text body and the right of the PDF file."
msgstr "Distanța dintre corpul textului și dreapta fișierului PDF."
-#: flatcamGUI/PreferencesUI.py:1756
+#: flatcamGUI/PreferencesUI.py:1936
msgid "Gerber General"
msgstr "Gerber General"
-#: flatcamGUI/PreferencesUI.py:1774
+#: flatcamGUI/PreferencesUI.py:1954
msgid "M-Color"
msgstr "M-Color"
-#: flatcamGUI/PreferencesUI.py:1788 flatcamGUI/PreferencesUI.py:3859
-#: flatcamGUI/PreferencesUI.py:4442 flatcamGUI/PreferencesUI.py:7148
+#: flatcamGUI/PreferencesUI.py:1968 flatcamGUI/PreferencesUI.py:4137
+#: flatcamGUI/PreferencesUI.py:4735 flatcamGUI/PreferencesUI.py:7654
msgid "Circle Steps"
msgstr "Pași pt. cerc"
-#: flatcamGUI/PreferencesUI.py:1790
+#: flatcamGUI/PreferencesUI.py:1970
msgid ""
"The number of circle steps for Gerber \n"
"circular aperture linear approximation."
@@ -9628,11 +10053,11 @@ msgstr ""
"Numărul de segmente utilizate pentru\n"
"aproximarea lineara a aperturilor Gerber circulare."
-#: flatcamGUI/PreferencesUI.py:1802
+#: flatcamGUI/PreferencesUI.py:1982
msgid "Default Values"
msgstr "Val. Implicite"
-#: flatcamGUI/PreferencesUI.py:1804
+#: flatcamGUI/PreferencesUI.py:1984
msgid ""
"Those values will be used as fallback values\n"
"in case that they are not found in the Gerber file."
@@ -9640,25 +10065,25 @@ msgstr ""
"Aceste valori vor fi utilizate ca valori de baza\n"
"în cazul în care acestea nu sunt găsite în fișierul Gerber."
-#: flatcamGUI/PreferencesUI.py:1813 flatcamGUI/PreferencesUI.py:1819
-#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:2367
+#: flatcamGUI/PreferencesUI.py:1993 flatcamGUI/PreferencesUI.py:1999
+#: flatcamGUI/PreferencesUI.py:2541 flatcamGUI/PreferencesUI.py:2547
msgid "The units used in the Gerber file."
msgstr "Unitătile de măsură folosite in fişierul Gerber."
-#: flatcamGUI/PreferencesUI.py:1816 flatcamGUI/PreferencesUI.py:2364
-#: flatcamGUI/PreferencesUI.py:2728 flatcamGUI/PreferencesUI.py:2814
-#: flatcamGUI/PreferencesUI.py:3422 flatcamTools/ToolCalculators.py:61
+#: flatcamGUI/PreferencesUI.py:1996 flatcamGUI/PreferencesUI.py:2544
+#: flatcamGUI/PreferencesUI.py:2910 flatcamGUI/PreferencesUI.py:2996
+#: flatcamGUI/PreferencesUI.py:3700 flatcamTools/ToolCalculators.py:61
#: flatcamTools/ToolPcbWizard.py:125
msgid "INCH"
msgstr "Inch"
-#: flatcamGUI/PreferencesUI.py:1826 flatcamGUI/PreferencesUI.py:2413
-#: flatcamGUI/PreferencesUI.py:2786 flatcamGUI/PreferencesUI.py:3490
+#: flatcamGUI/PreferencesUI.py:2006 flatcamGUI/PreferencesUI.py:2593
+#: flatcamGUI/PreferencesUI.py:2968 flatcamGUI/PreferencesUI.py:3768
msgid "Zeros"
msgstr "Zero-uri"
-#: flatcamGUI/PreferencesUI.py:1829 flatcamGUI/PreferencesUI.py:1839
-#: flatcamGUI/PreferencesUI.py:2416 flatcamGUI/PreferencesUI.py:2426
+#: flatcamGUI/PreferencesUI.py:2009 flatcamGUI/PreferencesUI.py:2019
+#: flatcamGUI/PreferencesUI.py:2596 flatcamGUI/PreferencesUI.py:2606
msgid ""
"This sets the type of Gerber zeros.\n"
"If LZ then Leading Zeros are removed and\n"
@@ -9674,23 +10099,23 @@ msgstr ""
"cele de la final sunt păstrate.\n"
"(Invers fată de fişierele Excellon)."
-#: flatcamGUI/PreferencesUI.py:1836 flatcamGUI/PreferencesUI.py:2423
-#: flatcamGUI/PreferencesUI.py:2799 flatcamGUI/PreferencesUI.py:3500
+#: flatcamGUI/PreferencesUI.py:2016 flatcamGUI/PreferencesUI.py:2603
+#: flatcamGUI/PreferencesUI.py:2981 flatcamGUI/PreferencesUI.py:3778
#: flatcamTools/ToolPcbWizard.py:111
msgid "LZ"
msgstr "LZ"
-#: flatcamGUI/PreferencesUI.py:1837 flatcamGUI/PreferencesUI.py:2424
-#: flatcamGUI/PreferencesUI.py:2800 flatcamGUI/PreferencesUI.py:3501
+#: flatcamGUI/PreferencesUI.py:2017 flatcamGUI/PreferencesUI.py:2604
+#: flatcamGUI/PreferencesUI.py:2982 flatcamGUI/PreferencesUI.py:3779
#: flatcamTools/ToolPcbWizard.py:112
msgid "TZ"
msgstr "TZ"
-#: flatcamGUI/PreferencesUI.py:1855
+#: flatcamGUI/PreferencesUI.py:2035
msgid "Clean Apertures"
msgstr "Curățați Aperturile"
-#: flatcamGUI/PreferencesUI.py:1857
+#: flatcamGUI/PreferencesUI.py:2037
msgid ""
"Will remove apertures that do not have geometry\n"
"thus lowering the number of apertures in the Gerber object."
@@ -9698,11 +10123,11 @@ msgstr ""
"Va elimina Aperturile care nu au geometrie\n"
"scăzând astfel numărul de aperturi în obiectul Gerber."
-#: flatcamGUI/PreferencesUI.py:1863
+#: flatcamGUI/PreferencesUI.py:2043
msgid "Polarity change buffer"
msgstr "Tampon la Schimbarea polarității"
-#: flatcamGUI/PreferencesUI.py:1865
+#: flatcamGUI/PreferencesUI.py:2045
msgid ""
"Will apply extra buffering for the\n"
"solid geometry when we have polarity changes.\n"
@@ -9714,17 +10139,17 @@ msgstr ""
"Poate ajuta la încărcarea fișierelor Gerber care altfel\n"
"nu se încarcă corect."
-#: flatcamGUI/PreferencesUI.py:1878
+#: flatcamGUI/PreferencesUI.py:2058
msgid "Gerber Object Color"
msgstr "Culoare obiect Gerber"
-#: flatcamGUI/PreferencesUI.py:1884 flatcamGUI/PreferencesUI.py:2905
-#: flatcamGUI/PreferencesUI.py:3896
+#: flatcamGUI/PreferencesUI.py:2064 flatcamGUI/PreferencesUI.py:3087
+#: flatcamGUI/PreferencesUI.py:4176
msgid "Set the line color for plotted objects."
msgstr "Setează culoarea conturului."
-#: flatcamGUI/PreferencesUI.py:1901 flatcamGUI/PreferencesUI.py:2922
-#: flatcamGUI/PreferencesUI.py:4553 flatcamGUI/PreferencesUI.py:4619
+#: flatcamGUI/PreferencesUI.py:2081 flatcamGUI/PreferencesUI.py:3104
+#: flatcamGUI/PreferencesUI.py:4846 flatcamGUI/PreferencesUI.py:4912
msgid ""
"Set the fill color for plotted objects.\n"
"First 6 digits are the color and the last 2\n"
@@ -9734,34 +10159,29 @@ msgstr ""
"Primii 6 digiti sunt culoarea efectivă și ultimii\n"
"doi sunt pentru nivelul de transparenţă (alfa)."
-#: flatcamGUI/PreferencesUI.py:1920 flatcamGUI/PreferencesUI.py:2941
-#: flatcamGUI/PreferencesUI.py:4572
+#: flatcamGUI/PreferencesUI.py:2100 flatcamGUI/PreferencesUI.py:3123
+#: flatcamGUI/PreferencesUI.py:4865
msgid "Set the fill transparency for plotted objects."
msgstr "Setează nivelul de transparenţă pentru obiectele afisate."
-#: flatcamGUI/PreferencesUI.py:2011
+#: flatcamGUI/PreferencesUI.py:2191
msgid "Gerber Options"
msgstr "Opțiuni Gerber"
-#: flatcamGUI/PreferencesUI.py:2085 flatcamGUI/PreferencesUI.py:4379
-#: flatcamGUI/PreferencesUI.py:5120 flatcamTools/ToolNonCopperClear.py:170
-msgid "Conv."
-msgstr "Conv."
-
-#: flatcamGUI/PreferencesUI.py:2089
+#: flatcamGUI/PreferencesUI.py:2269
msgid "Combine Passes"
msgstr "Combina"
-#: flatcamGUI/PreferencesUI.py:2177
+#: flatcamGUI/PreferencesUI.py:2357
msgid "Gerber Adv. Options"
msgstr "Opțiuni Av. Gerber"
-#: flatcamGUI/PreferencesUI.py:2181 flatcamGUI/PreferencesUI.py:3278
-#: flatcamGUI/PreferencesUI.py:4179
+#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:3551
+#: flatcamGUI/PreferencesUI.py:4472
msgid "Advanced Options"
msgstr "Opțiuni avansate"
-#: flatcamGUI/PreferencesUI.py:2183
+#: flatcamGUI/PreferencesUI.py:2363
msgid ""
"A list of Gerber advanced parameters.\n"
"Those parameters are available only for\n"
@@ -9772,11 +10192,11 @@ msgstr ""
"când este selectat Nivelul Avansat pentru\n"
"aplicaţie in Preferințe - > General."
-#: flatcamGUI/PreferencesUI.py:2202
+#: flatcamGUI/PreferencesUI.py:2382
msgid "Table Show/Hide"
msgstr "Arata/Ascunde Tabela"
-#: flatcamGUI/PreferencesUI.py:2204
+#: flatcamGUI/PreferencesUI.py:2384
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"Also, on hide, it will delete all mark shapes\n"
@@ -9786,15 +10206,15 @@ msgstr ""
"când se ascunde aceasta, se vor șterge și toate\n"
"posibil afisatele marcaje ale aperturilor."
-#: flatcamGUI/PreferencesUI.py:2284
+#: flatcamGUI/PreferencesUI.py:2464
msgid "Exterior"
msgstr "Exterior"
-#: flatcamGUI/PreferencesUI.py:2285
+#: flatcamGUI/PreferencesUI.py:2465
msgid "Interior"
msgstr "Interior"
-#: flatcamGUI/PreferencesUI.py:2298
+#: flatcamGUI/PreferencesUI.py:2478
msgid ""
"Buffering type:\n"
"- None --> best performance, fast file loading but no so good display\n"
@@ -9808,19 +10228,19 @@ msgstr ""
"valoarea de bază.\n"
"<>: Nu schimba această valoare decat dacă stii ce faci !!!"
-#: flatcamGUI/PreferencesUI.py:2303 flatcamGUI/PreferencesUI.py:5852
-#: flatcamGUI/PreferencesUI.py:7446 flatcamTools/ToolFiducials.py:201
-#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:411
-#: flatcamTools/ToolProperties.py:426 flatcamTools/ToolProperties.py:429
-#: flatcamTools/ToolProperties.py:432 flatcamTools/ToolProperties.py:456
+#: flatcamGUI/PreferencesUI.py:2483 flatcamGUI/PreferencesUI.py:6340
+#: flatcamGUI/PreferencesUI.py:7952 flatcamTools/ToolFiducials.py:201
+#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:452
+#: flatcamTools/ToolProperties.py:455 flatcamTools/ToolProperties.py:458
+#: flatcamTools/ToolProperties.py:483
msgid "None"
msgstr "Nimic"
-#: flatcamGUI/PreferencesUI.py:2309
+#: flatcamGUI/PreferencesUI.py:2489
msgid "Simplify"
msgstr "Simplifica"
-#: flatcamGUI/PreferencesUI.py:2311
+#: flatcamGUI/PreferencesUI.py:2491
msgid ""
"When checked all the Gerber polygons will be\n"
"loaded with simplification having a set tolerance.\n"
@@ -9830,23 +10250,23 @@ msgstr ""
"încărcate simplificat cu o toleranță stabilită.\n"
"<>: Nu schimbați acest lucru decât dacă știți ce faceți !!!"
-#: flatcamGUI/PreferencesUI.py:2318
+#: flatcamGUI/PreferencesUI.py:2498
msgid "Tolerance"
msgstr "Toleranta"
-#: flatcamGUI/PreferencesUI.py:2319
+#: flatcamGUI/PreferencesUI.py:2499
msgid "Tolerance for polygon simplification."
msgstr "Toleranță pentru simplificarea poligoanelor."
-#: flatcamGUI/PreferencesUI.py:2344
+#: flatcamGUI/PreferencesUI.py:2524
msgid "Gerber Export"
msgstr "Export Gerber"
-#: flatcamGUI/PreferencesUI.py:2348 flatcamGUI/PreferencesUI.py:3406
+#: flatcamGUI/PreferencesUI.py:2528 flatcamGUI/PreferencesUI.py:3684
msgid "Export Options"
msgstr "Opțiuni de Export"
-#: flatcamGUI/PreferencesUI.py:2350
+#: flatcamGUI/PreferencesUI.py:2530
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Gerber menu entry."
@@ -9855,11 +10275,11 @@ msgstr ""
"se exporta un fişier Gerber folosind:\n"
"File -> Exportă -> Exportă Gerber."
-#: flatcamGUI/PreferencesUI.py:2373 flatcamGUI/PreferencesUI.py:3431
+#: flatcamGUI/PreferencesUI.py:2553 flatcamGUI/PreferencesUI.py:3709
msgid "Int/Decimals"
msgstr "Înt/Zecimale"
-#: flatcamGUI/PreferencesUI.py:2375
+#: flatcamGUI/PreferencesUI.py:2555
msgid ""
"The number of digits in the whole part of the number\n"
"and in the fractional part of the number."
@@ -9867,7 +10287,7 @@ msgstr ""
"Acest număr reprezinta numărul de digiti din partea\n"
"intreagă si in partea fractională a numărului."
-#: flatcamGUI/PreferencesUI.py:2388
+#: flatcamGUI/PreferencesUI.py:2568
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Gerber coordinates."
@@ -9875,7 +10295,7 @@ msgstr ""
"Acest număr reprezinta numărul de digiti din partea\n"
"intreagă a coordonatelor Gerber."
-#: flatcamGUI/PreferencesUI.py:2404
+#: flatcamGUI/PreferencesUI.py:2584
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Gerber coordinates."
@@ -9883,16 +10303,16 @@ msgstr ""
"Acest număr reprezinta numărul de digiti din partea\n"
"zecimală a coordonatelor Gerber."
-#: flatcamGUI/PreferencesUI.py:2449
+#: flatcamGUI/PreferencesUI.py:2629
msgid "A list of Gerber Editor parameters."
msgstr "O listă de parametri ai Editorului Gerber."
-#: flatcamGUI/PreferencesUI.py:2457 flatcamGUI/PreferencesUI.py:3565
-#: flatcamGUI/PreferencesUI.py:4357 flatcamGUI/PreferencesUI.py:7109
+#: flatcamGUI/PreferencesUI.py:2637 flatcamGUI/PreferencesUI.py:3843
+#: flatcamGUI/PreferencesUI.py:4650 flatcamGUI/PreferencesUI.py:7615
msgid "Selection limit"
msgstr "Limita selecţie"
-#: flatcamGUI/PreferencesUI.py:2459
+#: flatcamGUI/PreferencesUI.py:2639
msgid ""
"Set the number of selected Gerber geometry\n"
"items above which the utility geometry\n"
@@ -9905,23 +10325,23 @@ msgstr ""
"Creste performanta cand se mută un număr mai mare\n"
"de elemente geometrice."
-#: flatcamGUI/PreferencesUI.py:2472
+#: flatcamGUI/PreferencesUI.py:2652
msgid "New Aperture code"
msgstr "Cod pt aperture noua"
-#: flatcamGUI/PreferencesUI.py:2485
+#: flatcamGUI/PreferencesUI.py:2665
msgid "New Aperture size"
msgstr "Dim. pt aperture noua"
-#: flatcamGUI/PreferencesUI.py:2487
+#: flatcamGUI/PreferencesUI.py:2667
msgid "Size for the new aperture"
msgstr "Dim. pentru noua apertură"
-#: flatcamGUI/PreferencesUI.py:2498
+#: flatcamGUI/PreferencesUI.py:2678
msgid "New Aperture type"
msgstr "Tip pt noua apaertura"
-#: flatcamGUI/PreferencesUI.py:2500
+#: flatcamGUI/PreferencesUI.py:2680
msgid ""
"Type for the new aperture.\n"
"Can be 'C', 'R' or 'O'."
@@ -9929,35 +10349,42 @@ msgstr ""
"Tipul noii aperture.\n"
"Poate fi „C”, „R” sau „O”."
-#: flatcamGUI/PreferencesUI.py:2522
+#: flatcamGUI/PreferencesUI.py:2702
msgid "Aperture Dimensions"
msgstr "Dim. aper"
-#: flatcamGUI/PreferencesUI.py:2524 flatcamGUI/PreferencesUI.py:3877
-#: flatcamGUI/PreferencesUI.py:5029
-msgid "Diameters of the cutting tools, separated by ','"
-msgstr "Diametrele pentru unelte tăietoare, separate cu virgula"
+#: flatcamGUI/PreferencesUI.py:2704 flatcamGUI/PreferencesUI.py:4155
+#: flatcamGUI/PreferencesUI.py:5322 flatcamGUI/PreferencesUI.py:5889
+#: flatcamGUI/PreferencesUI.py:6955
+msgid ""
+"Diameters of the tools, separated by comma.\n"
+"The value of the diameter has to use the dot decimals separator.\n"
+"Valid values: 0.3, 1.0"
+msgstr ""
+"Diametrele uneltelor separate cu virgulă.\n"
+"Valoarea diametrului trebuie sa folosească punctul ca si separator zecimal.\n"
+"Valori valide: 0.3, 1.0"
-#: flatcamGUI/PreferencesUI.py:2530
+#: flatcamGUI/PreferencesUI.py:2712
msgid "Linear Pad Array"
msgstr "Arie Lineară de Sloturi"
-#: flatcamGUI/PreferencesUI.py:2534 flatcamGUI/PreferencesUI.py:3609
-#: flatcamGUI/PreferencesUI.py:3757
+#: flatcamGUI/PreferencesUI.py:2716 flatcamGUI/PreferencesUI.py:3887
+#: flatcamGUI/PreferencesUI.py:4035
msgid "Linear Direction"
msgstr "Direcție liniară"
-#: flatcamGUI/PreferencesUI.py:2574
+#: flatcamGUI/PreferencesUI.py:2756
msgid "Circular Pad Array"
msgstr "Arie de Sloturi circ"
-#: flatcamGUI/PreferencesUI.py:2578 flatcamGUI/PreferencesUI.py:3655
-#: flatcamGUI/PreferencesUI.py:3805
+#: flatcamGUI/PreferencesUI.py:2760 flatcamGUI/PreferencesUI.py:3933
+#: flatcamGUI/PreferencesUI.py:4083
msgid "Circular Direction"
msgstr "Direcția circulară"
-#: flatcamGUI/PreferencesUI.py:2580 flatcamGUI/PreferencesUI.py:3657
-#: flatcamGUI/PreferencesUI.py:3807
+#: flatcamGUI/PreferencesUI.py:2762 flatcamGUI/PreferencesUI.py:3935
+#: flatcamGUI/PreferencesUI.py:4085
msgid ""
"Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise."
@@ -9966,48 +10393,48 @@ msgstr ""
"Poate fi CW = in sensul acelor de ceasornic sau CCW = invers acelor de "
"ceasornic."
-#: flatcamGUI/PreferencesUI.py:2591 flatcamGUI/PreferencesUI.py:3668
-#: flatcamGUI/PreferencesUI.py:3818
+#: flatcamGUI/PreferencesUI.py:2773 flatcamGUI/PreferencesUI.py:3946
+#: flatcamGUI/PreferencesUI.py:4096
msgid "Circular Angle"
msgstr "Unghi circular"
-#: flatcamGUI/PreferencesUI.py:2610
+#: flatcamGUI/PreferencesUI.py:2792
msgid "Distance at which to buffer the Gerber element."
msgstr "Distanța la care se bufferează elementul Gerber."
-#: flatcamGUI/PreferencesUI.py:2619
+#: flatcamGUI/PreferencesUI.py:2801
msgid "Scale Tool"
msgstr "Unalta de Scalare"
-#: flatcamGUI/PreferencesUI.py:2625
+#: flatcamGUI/PreferencesUI.py:2807
msgid "Factor to scale the Gerber element."
msgstr "Factor pentru scalarea elementului Gerber."
-#: flatcamGUI/PreferencesUI.py:2638
+#: flatcamGUI/PreferencesUI.py:2820
msgid "Threshold low"
msgstr "Prag minim"
-#: flatcamGUI/PreferencesUI.py:2640
+#: flatcamGUI/PreferencesUI.py:2822
msgid "Threshold value under which the apertures are not marked."
msgstr "Valoarea pragului sub care aperturile nu sunt marcate."
-#: flatcamGUI/PreferencesUI.py:2650
+#: flatcamGUI/PreferencesUI.py:2832
msgid "Threshold high"
msgstr "Prag mare"
-#: flatcamGUI/PreferencesUI.py:2652
+#: flatcamGUI/PreferencesUI.py:2834
msgid "Threshold value over which the apertures are not marked."
msgstr "Valoarea pragului peste care nu sunt marcate aperturile."
-#: flatcamGUI/PreferencesUI.py:2670
+#: flatcamGUI/PreferencesUI.py:2852
msgid "Excellon General"
msgstr "Excellon General"
-#: flatcamGUI/PreferencesUI.py:2703
+#: flatcamGUI/PreferencesUI.py:2885
msgid "Excellon Format"
msgstr "Format Excellon"
-#: flatcamGUI/PreferencesUI.py:2705
+#: flatcamGUI/PreferencesUI.py:2887
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -10053,14 +10480,14 @@ msgstr ""
"Sprint Layout 2:4 INCH LZ\n"
"KiCAD 3:5 INCH TZ"
-#: flatcamGUI/PreferencesUI.py:2729
+#: flatcamGUI/PreferencesUI.py:2911
msgid "Default values for INCH are 2:4"
msgstr ""
"Valorile default pentru Inch sunt 2:4\n"
"adica 2 parti intregi și 4 zecimale"
-#: flatcamGUI/PreferencesUI.py:2736 flatcamGUI/PreferencesUI.py:2765
-#: flatcamGUI/PreferencesUI.py:3445
+#: flatcamGUI/PreferencesUI.py:2918 flatcamGUI/PreferencesUI.py:2947
+#: flatcamGUI/PreferencesUI.py:3723
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Excellon coordinates."
@@ -10068,8 +10495,8 @@ msgstr ""
"Acest număr reprezinta numărul de digiti din partea\n"
"intreaga a coordonatelor Excellon."
-#: flatcamGUI/PreferencesUI.py:2749 flatcamGUI/PreferencesUI.py:2778
-#: flatcamGUI/PreferencesUI.py:3458
+#: flatcamGUI/PreferencesUI.py:2931 flatcamGUI/PreferencesUI.py:2960
+#: flatcamGUI/PreferencesUI.py:3736
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Excellon coordinates."
@@ -10077,17 +10504,17 @@ msgstr ""
"Acest număr reprezinta numărul de digiti din partea\n"
"zecimala a coordonatelor Excellon."
-#: flatcamGUI/PreferencesUI.py:2757
+#: flatcamGUI/PreferencesUI.py:2939
msgid "METRIC"
msgstr "Metric"
-#: flatcamGUI/PreferencesUI.py:2758
+#: flatcamGUI/PreferencesUI.py:2940
msgid "Default values for METRIC are 3:3"
msgstr ""
"Valorile default pentru Metric sunt 3:3\n"
"adica 3 parti intregi și 3 zecimale"
-#: flatcamGUI/PreferencesUI.py:2789
+#: flatcamGUI/PreferencesUI.py:2971
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10108,7 +10535,7 @@ msgstr ""
"Se foloseşte atunci când nu există informații\n"
"stocate în fișierul Excellon."
-#: flatcamGUI/PreferencesUI.py:2807
+#: flatcamGUI/PreferencesUI.py:2989
msgid ""
"This sets the default units of Excellon files.\n"
"If it is not detected in the parsed file the value here\n"
@@ -10122,7 +10549,7 @@ msgstr ""
"(unde se gasesc unitatile) și atunci se va folosi\n"
"aceasta valoare."
-#: flatcamGUI/PreferencesUI.py:2817
+#: flatcamGUI/PreferencesUI.py:2999
msgid ""
"This sets the units of Excellon files.\n"
"Some Excellon files don't have an header\n"
@@ -10135,19 +10562,19 @@ msgstr ""
"(unde se gasesc unitatile) și atunci se va folosi\n"
"aceasta valoare."
-#: flatcamGUI/PreferencesUI.py:2825
+#: flatcamGUI/PreferencesUI.py:3007
msgid "Update Export settings"
msgstr "Actualizeaza setarile de Export"
-#: flatcamGUI/PreferencesUI.py:2842
+#: flatcamGUI/PreferencesUI.py:3024
msgid "Excellon Optimization"
msgstr "Optimizare Excellon"
-#: flatcamGUI/PreferencesUI.py:2845
+#: flatcamGUI/PreferencesUI.py:3027
msgid "Algorithm:"
msgstr "Algoritm:"
-#: flatcamGUI/PreferencesUI.py:2847 flatcamGUI/PreferencesUI.py:2863
+#: flatcamGUI/PreferencesUI.py:3029 flatcamGUI/PreferencesUI.py:3045
msgid ""
"This sets the optimization type for the Excellon drill path.\n"
"If <> is checked then Google OR-Tools algorithm with\n"
@@ -10173,20 +10600,20 @@ msgstr ""
"folosește\n"
"Algoritmul Traveling Salesman pentru optimizarea căii."
-#: flatcamGUI/PreferencesUI.py:2858
+#: flatcamGUI/PreferencesUI.py:3040
msgid "MetaHeuristic"
msgstr "MetaHeuristic"
-#: flatcamGUI/PreferencesUI.py:2860
+#: flatcamGUI/PreferencesUI.py:3042
msgid "TSA"
msgstr "TSA"
-#: flatcamGUI/PreferencesUI.py:2877 flatcamGUI/PreferencesUI.py:3192
-#: flatcamGUI/PreferencesUI.py:4138
+#: flatcamGUI/PreferencesUI.py:3059 flatcamGUI/PreferencesUI.py:3463
+#: flatcamGUI/PreferencesUI.py:4430
msgid "Duration"
msgstr "Durată"
-#: flatcamGUI/PreferencesUI.py:2880
+#: flatcamGUI/PreferencesUI.py:3062
msgid ""
"When OR-Tools Metaheuristic (MH) is enabled there is a\n"
"maximum threshold for how much time is spent doing the\n"
@@ -10197,15 +10624,19 @@ msgstr ""
"reprezinta cat timp se sta pentru fiecare element in\n"
"incercarea de a afla calea optima."
-#: flatcamGUI/PreferencesUI.py:2899
+#: flatcamGUI/PreferencesUI.py:3081
msgid "Excellon Object Color"
msgstr "Culoare obiect Excellon"
-#: flatcamGUI/PreferencesUI.py:3065
+#: flatcamGUI/PreferencesUI.py:3247
msgid "Excellon Options"
msgstr "Opțiuni Excellon"
-#: flatcamGUI/PreferencesUI.py:3071
+#: flatcamGUI/PreferencesUI.py:3251 flatcamGUI/PreferencesUI.py:4227
+msgid "Create CNC Job"
+msgstr "Crează CNCJob"
+
+#: flatcamGUI/PreferencesUI.py:3253
msgid ""
"Parameters used to create a CNC Job object\n"
"for this drill object."
@@ -10213,11 +10644,27 @@ msgstr ""
"Parametrii folositi pentru a crea un obiect FlatCAM tip CNCJob\n"
"din acest obiect Excellon."
-#: flatcamGUI/PreferencesUI.py:3185 flatcamGUI/PreferencesUI.py:4133
+#: flatcamGUI/PreferencesUI.py:3370 flatcamGUI/PreferencesUI.py:4314
+msgid "Tool change"
+msgstr "Schimb unealtă"
+
+#: flatcamGUI/PreferencesUI.py:3454 flatcamGUI/PreferencesUI.py:4425
msgid "Enable Dwell"
msgstr "Activați Pauză"
-#: flatcamGUI/PreferencesUI.py:3217
+#: flatcamGUI/PreferencesUI.py:3477
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output."
+msgstr ""
+"Fișierul JSON postprocesor care dictează\n"
+"codul Gcode."
+
+#: flatcamGUI/PreferencesUI.py:3488
+msgid "Gcode"
+msgstr "Gcode"
+
+#: flatcamGUI/PreferencesUI.py:3490
msgid ""
"Choose what to use for GCode generation:\n"
"'Drills', 'Slots' or 'Both'.\n"
@@ -10231,15 +10678,33 @@ msgstr ""
"Când se alege Sloturi sau Ambele, sloturile vor fi convertite in serii de "
"găuri."
-#: flatcamGUI/PreferencesUI.py:3235
+#: flatcamGUI/PreferencesUI.py:3506
+msgid "Mill Holes"
+msgstr "Frezare găuri"
+
+#: flatcamGUI/PreferencesUI.py:3508
msgid "Create Geometry for milling holes."
msgstr "Crează un obiect tip Geometrie pentru frezarea găurilor."
-#: flatcamGUI/PreferencesUI.py:3271
+#: flatcamGUI/PreferencesUI.py:3512
+msgid "Drill Tool dia"
+msgstr "Dia. Burghiu Găurire"
+
+#: flatcamGUI/PreferencesUI.py:3523
+msgid "Slot Tool dia"
+msgstr "Dia. Freza Slot"
+
+#: flatcamGUI/PreferencesUI.py:3525
+msgid ""
+"Diameter of the cutting tool\n"
+"when milling slots."
+msgstr "Diametrul frezei când se frezează sloturile."
+
+#: flatcamGUI/PreferencesUI.py:3544
msgid "Excellon Adv. Options"
msgstr "Opțiuni Avans. Excellon"
-#: flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:3553
msgid ""
"A list of Excellon advanced parameters.\n"
"Those parameters are available only for\n"
@@ -10250,19 +10715,19 @@ msgstr ""
"când este selectat Nivelul Avansat pentru\n"
"aplicaţie in Preferințe - > General."
-#: flatcamGUI/PreferencesUI.py:3301
+#: flatcamGUI/PreferencesUI.py:3576
msgid "Toolchange X,Y"
msgstr "X,Y schimb. unealtă"
-#: flatcamGUI/PreferencesUI.py:3303 flatcamGUI/PreferencesUI.py:4193
+#: flatcamGUI/PreferencesUI.py:3578 flatcamGUI/PreferencesUI.py:4486
msgid "Toolchange X,Y position."
msgstr "Poziţia X,Y in format (x,y) unde se face schimbarea uneltei."
-#: flatcamGUI/PreferencesUI.py:3360 flatcamGUI/PreferencesUI.py:4280
+#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:4573
msgid "Spindle direction"
msgstr "Directie rotatie Motor"
-#: flatcamGUI/PreferencesUI.py:3362 flatcamGUI/PreferencesUI.py:4282
+#: flatcamGUI/PreferencesUI.py:3640 flatcamGUI/PreferencesUI.py:4575
msgid ""
"This sets the direction that the spindle is rotating.\n"
"It can be either:\n"
@@ -10274,11 +10739,11 @@ msgstr ""
"- CW = in sensul acelor de ceasornic\n"
"- CCW = in sensul invers acelor de ceasornic"
-#: flatcamGUI/PreferencesUI.py:3373 flatcamGUI/PreferencesUI.py:4294
+#: flatcamGUI/PreferencesUI.py:3651 flatcamGUI/PreferencesUI.py:4587
msgid "Fast Plunge"
msgstr "Plonjare rapidă"
-#: flatcamGUI/PreferencesUI.py:3375 flatcamGUI/PreferencesUI.py:4296
+#: flatcamGUI/PreferencesUI.py:3653 flatcamGUI/PreferencesUI.py:4589
msgid ""
"By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n"
@@ -10295,11 +10760,11 @@ msgstr ""
"schimba\n"
"unealta. Daca aveti ceva plasat sub unealtă ceva se va strica."
-#: flatcamGUI/PreferencesUI.py:3382
+#: flatcamGUI/PreferencesUI.py:3660
msgid "Fast Retract"
msgstr "Retragere rapida"
-#: flatcamGUI/PreferencesUI.py:3384
+#: flatcamGUI/PreferencesUI.py:3662
msgid ""
"Exit hole strategy.\n"
" - When uncheked, while exiting the drilled hole the drill bit\n"
@@ -10318,11 +10783,11 @@ msgstr ""
"adâncimea\n"
"de deplasare cu viteza maxima G0, intr-o singură mișcare."
-#: flatcamGUI/PreferencesUI.py:3402
+#: flatcamGUI/PreferencesUI.py:3680
msgid "Excellon Export"
msgstr "Export Excellon"
-#: flatcamGUI/PreferencesUI.py:3408
+#: flatcamGUI/PreferencesUI.py:3686
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Excellon menu entry."
@@ -10331,11 +10796,11 @@ msgstr ""
"se exporta un fişier Excellon folosind:\n"
"File -> Exporta -> Exporta Excellon."
-#: flatcamGUI/PreferencesUI.py:3419 flatcamGUI/PreferencesUI.py:3425
+#: flatcamGUI/PreferencesUI.py:3697 flatcamGUI/PreferencesUI.py:3703
msgid "The units used in the Excellon file."
msgstr "Unitatile de masura folosite in fişierul Excellon."
-#: flatcamGUI/PreferencesUI.py:3433
+#: flatcamGUI/PreferencesUI.py:3711
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -10347,11 +10812,11 @@ msgstr ""
"Aici se setează formatul Excellon când nu se utilizează\n"
"coordonate cu zecimale."
-#: flatcamGUI/PreferencesUI.py:3467
+#: flatcamGUI/PreferencesUI.py:3745
msgid "Format"
msgstr "Format"
-#: flatcamGUI/PreferencesUI.py:3469 flatcamGUI/PreferencesUI.py:3479
+#: flatcamGUI/PreferencesUI.py:3747 flatcamGUI/PreferencesUI.py:3757
msgid ""
"Select the kind of coordinates format used.\n"
"Coordinates can be saved with decimal point or without.\n"
@@ -10370,15 +10835,15 @@ msgstr ""
"- LZ = zerourile prefix sunt pastrate și cele sufix eliminate\n"
"- TZ = zerourile prefix sunt eliminate și cele sufix pastrate."
-#: flatcamGUI/PreferencesUI.py:3476
+#: flatcamGUI/PreferencesUI.py:3754
msgid "Decimal"
msgstr "Zecimale"
-#: flatcamGUI/PreferencesUI.py:3477
+#: flatcamGUI/PreferencesUI.py:3755
msgid "No-Decimal"
msgstr "Fără zecimale"
-#: flatcamGUI/PreferencesUI.py:3493
+#: flatcamGUI/PreferencesUI.py:3771
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10394,7 +10859,7 @@ msgstr ""
"cele de la final sunt pastrate.\n"
"(Invers fata de fişierele Gerber)."
-#: flatcamGUI/PreferencesUI.py:3503
+#: flatcamGUI/PreferencesUI.py:3781
msgid ""
"This sets the default type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -10406,11 +10871,11 @@ msgstr ""
"- LZ = zerourile prefix sunt pastrate și cele sufix eliminate\n"
"- TZ = zerourile prefix sunt eliminate și cele sufix pastrate."
-#: flatcamGUI/PreferencesUI.py:3513
+#: flatcamGUI/PreferencesUI.py:3791
msgid "Slot type"
msgstr "Tip slot"
-#: flatcamGUI/PreferencesUI.py:3516 flatcamGUI/PreferencesUI.py:3526
+#: flatcamGUI/PreferencesUI.py:3794 flatcamGUI/PreferencesUI.py:3804
msgid ""
"This sets how the slots will be exported.\n"
"If ROUTED then the slots will be routed\n"
@@ -10424,19 +10889,19 @@ msgstr ""
"Dacă sunt Găurite (G85) sloturile vor fi exportate\n"
"folosind comanda slotului găurit (G85)."
-#: flatcamGUI/PreferencesUI.py:3523
+#: flatcamGUI/PreferencesUI.py:3801
msgid "Routed"
msgstr "Decupate"
-#: flatcamGUI/PreferencesUI.py:3524
+#: flatcamGUI/PreferencesUI.py:3802
msgid "Drilled(G85)"
msgstr "Găurite(G85)"
-#: flatcamGUI/PreferencesUI.py:3557
+#: flatcamGUI/PreferencesUI.py:3835
msgid "A list of Excellon Editor parameters."
msgstr "O listă de parametri ai Editorului Excellon."
-#: flatcamGUI/PreferencesUI.py:3567
+#: flatcamGUI/PreferencesUI.py:3845
msgid ""
"Set the number of selected Excellon geometry\n"
"items above which the utility geometry\n"
@@ -10450,19 +10915,20 @@ msgstr ""
"Creste performanta cand se muta un număr mai mare de \n"
"elemente geometrice."
-#: flatcamGUI/PreferencesUI.py:3580 flatcamGUI/PreferencesUI.py:5100
-msgid "New Tool Dia"
-msgstr "Dia. nou unealtă"
+#: flatcamGUI/PreferencesUI.py:3858 flatcamGUI/PreferencesUI.py:5396
+#: flatcamGUI/PreferencesUI.py:5962
+msgid "New Dia"
+msgstr "Dia. nou"
-#: flatcamGUI/PreferencesUI.py:3605
+#: flatcamGUI/PreferencesUI.py:3883
msgid "Linear Drill Array"
msgstr "Arie lineară de găuri"
-#: flatcamGUI/PreferencesUI.py:3651
+#: flatcamGUI/PreferencesUI.py:3929
msgid "Circular Drill Array"
msgstr "Arie circ. de găuri"
-#: flatcamGUI/PreferencesUI.py:3721
+#: flatcamGUI/PreferencesUI.py:3999
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -10474,19 +10940,19 @@ msgstr ""
"Valoarea minimă este: -359,99 grade.\n"
"Valoarea maximă este: 360,00 grade."
-#: flatcamGUI/PreferencesUI.py:3740
+#: flatcamGUI/PreferencesUI.py:4018
msgid "Linear Slot Array"
msgstr "Arie lineară de Sloturi"
-#: flatcamGUI/PreferencesUI.py:3801
+#: flatcamGUI/PreferencesUI.py:4079
msgid "Circular Slot Array"
msgstr "Arie circ. de Sloturi"
-#: flatcamGUI/PreferencesUI.py:3839
+#: flatcamGUI/PreferencesUI.py:4117
msgid "Geometry General"
msgstr "Geometrie General"
-#: flatcamGUI/PreferencesUI.py:3861
+#: flatcamGUI/PreferencesUI.py:4139
msgid ""
"The number of circle steps for Geometry \n"
"circle and arc shapes linear approximation."
@@ -10494,15 +10960,20 @@ msgstr ""
"Numărul de segmente utilizate pentru\n"
"aproximarea lineara a Geometriilor circulare."
-#: flatcamGUI/PreferencesUI.py:3890
+#: flatcamGUI/PreferencesUI.py:4153 flatcamGUI/PreferencesUI.py:5320
+#: flatcamGUI/PreferencesUI.py:5887 flatcamGUI/PreferencesUI.py:6953
+msgid "Tools Dia"
+msgstr "Dia Unealtă"
+
+#: flatcamGUI/PreferencesUI.py:4170
msgid "Geometry Object Color"
msgstr "Culoare obiect Geometrie"
-#: flatcamGUI/PreferencesUI.py:3941
+#: flatcamGUI/PreferencesUI.py:4221
msgid "Geometry Options"
msgstr "Opțiuni Geometrie"
-#: flatcamGUI/PreferencesUI.py:3949
+#: flatcamGUI/PreferencesUI.py:4229
msgid ""
"Create a CNC Job object\n"
"tracing the contours of this\n"
@@ -10511,11 +10982,11 @@ msgstr ""
"Crează un obiect CNCJob care urmăreste conturul\n"
"acestui obiect tip Geometrie."
-#: flatcamGUI/PreferencesUI.py:3993
+#: flatcamGUI/PreferencesUI.py:4273
msgid "Depth/Pass"
msgstr "Adânc./Trecere"
-#: flatcamGUI/PreferencesUI.py:3995
+#: flatcamGUI/PreferencesUI.py:4275
msgid ""
"The depth to cut on each pass,\n"
"when multidepth is enabled.\n"
@@ -10528,11 +10999,11 @@ msgstr ""
"Valoarea este pozitivă desi reprezinta o fracţie\n"
"a adancimii de tăiere care este o valoare negativă."
-#: flatcamGUI/PreferencesUI.py:4173
+#: flatcamGUI/PreferencesUI.py:4466
msgid "Geometry Adv. Options"
msgstr "Opțiuni Avans. Geometrie"
-#: flatcamGUI/PreferencesUI.py:4181
+#: flatcamGUI/PreferencesUI.py:4474
msgid ""
"A list of Geometry advanced parameters.\n"
"Those parameters are available only for\n"
@@ -10543,13 +11014,13 @@ msgstr ""
"când este selectat Nivelul Avansat pentru\n"
"aplicaţie in Preferințe - > General."
-#: flatcamGUI/PreferencesUI.py:4191 flatcamGUI/PreferencesUI.py:6539
-#: flatcamGUI/PreferencesUI.py:7586 flatcamTools/ToolCalibration.py:125
-#: flatcamTools/ToolSolderPaste.py:239
+#: flatcamGUI/PreferencesUI.py:4484 flatcamGUI/PreferencesUI.py:7045
+#: flatcamGUI/PreferencesUI.py:8092 flatcamTools/ToolCalibration.py:125
+#: flatcamTools/ToolSolderPaste.py:241
msgid "Toolchange X-Y"
msgstr "X,Y schimb. unealtă"
-#: flatcamGUI/PreferencesUI.py:4202
+#: flatcamGUI/PreferencesUI.py:4495
msgid ""
"Height of the tool just after starting the work.\n"
"Delete the value if you don't need this feature."
@@ -10557,11 +11028,11 @@ msgstr ""
"Înălţimea uneltei la care se gaseste la inceputul lucrului.\n"
"Lasa câmpul gol daca nu folosești aceasta."
-#: flatcamGUI/PreferencesUI.py:4304
+#: flatcamGUI/PreferencesUI.py:4597
msgid "Segment X size"
msgstr "Dim. seg X"
-#: flatcamGUI/PreferencesUI.py:4306
+#: flatcamGUI/PreferencesUI.py:4599
msgid ""
"The size of the trace segment on the X axis.\n"
"Useful for auto-leveling.\n"
@@ -10572,11 +11043,11 @@ msgstr ""
"O valoare de 0 inseamnaca nu se face segmentare\n"
"pe axa X."
-#: flatcamGUI/PreferencesUI.py:4320
+#: flatcamGUI/PreferencesUI.py:4613
msgid "Segment Y size"
msgstr "Dim. seg Y"
-#: flatcamGUI/PreferencesUI.py:4322
+#: flatcamGUI/PreferencesUI.py:4615
msgid ""
"The size of the trace segment on the Y axis.\n"
"Useful for auto-leveling.\n"
@@ -10587,15 +11058,11 @@ msgstr ""
"O valoare de 0 inseamnaca nu se face segmentare\n"
"pe axa Y."
-#: flatcamGUI/PreferencesUI.py:4343
-msgid "Geometry Editor"
-msgstr "Editor Geometrii"
-
-#: flatcamGUI/PreferencesUI.py:4349
+#: flatcamGUI/PreferencesUI.py:4642
msgid "A list of Geometry Editor parameters."
msgstr "O lista de parametri ai Editorului de Geometrii."
-#: flatcamGUI/PreferencesUI.py:4359 flatcamGUI/PreferencesUI.py:7111
+#: flatcamGUI/PreferencesUI.py:4652 flatcamGUI/PreferencesUI.py:7617
msgid ""
"Set the number of selected geometry\n"
"items above which the utility geometry\n"
@@ -10609,11 +11076,11 @@ msgstr ""
"Creste performanta cand se muta un număr mai mare de \n"
"elemente geometrice."
-#: flatcamGUI/PreferencesUI.py:4391
+#: flatcamGUI/PreferencesUI.py:4684
msgid "CNC Job General"
msgstr "CNCJob General"
-#: flatcamGUI/PreferencesUI.py:4444
+#: flatcamGUI/PreferencesUI.py:4737
msgid ""
"The number of circle steps for GCode \n"
"circle and arc shapes linear approximation."
@@ -10621,25 +11088,25 @@ msgstr ""
"Numărul de segmente utilizate pentru\n"
"aproximarea lineara a reprezentarilor GCodului circular."
-#: flatcamGUI/PreferencesUI.py:4453
+#: flatcamGUI/PreferencesUI.py:4746
msgid "Travel dia"
msgstr "Dia Deplasare"
-#: flatcamGUI/PreferencesUI.py:4455
+#: flatcamGUI/PreferencesUI.py:4748
msgid ""
"The width of the travel lines to be\n"
"rendered in the plot."
msgstr "Diametrul liniilor de deplasare care să fie redate prin afișare."
-#: flatcamGUI/PreferencesUI.py:4468
+#: flatcamGUI/PreferencesUI.py:4761
msgid "G-code Decimals"
msgstr "Zecimale G-Code"
-#: flatcamGUI/PreferencesUI.py:4471 flatcamTools/ToolFiducials.py:74
+#: flatcamGUI/PreferencesUI.py:4764 flatcamTools/ToolFiducials.py:74
msgid "Coordinates"
msgstr "Coordinate"
-#: flatcamGUI/PreferencesUI.py:4473
+#: flatcamGUI/PreferencesUI.py:4766
msgid ""
"The number of decimals to be used for \n"
"the X, Y, Z coordinates in CNC code (GCODE, etc.)"
@@ -10647,11 +11114,11 @@ msgstr ""
"Numărul de zecimale care să fie folosit in \n"
"coordonatele X,Y,Z in codul CNC (GCode etc)."
-#: flatcamGUI/PreferencesUI.py:4484 flatcamTools/ToolProperties.py:492
+#: flatcamGUI/PreferencesUI.py:4777 flatcamTools/ToolProperties.py:519
msgid "Feedrate"
msgstr "Feedrate"
-#: flatcamGUI/PreferencesUI.py:4486
+#: flatcamGUI/PreferencesUI.py:4779
msgid ""
"The number of decimals to be used for \n"
"the Feedrate parameter in CNC code (GCODE, etc.)"
@@ -10659,11 +11126,11 @@ msgstr ""
"Numărul de zecimale care să fie folosit in \n"
"parametrul >Feedrate< in codul CNC (GCode etc)."
-#: flatcamGUI/PreferencesUI.py:4497
+#: flatcamGUI/PreferencesUI.py:4790
msgid "Coordinates type"
msgstr "Tip coordinate"
-#: flatcamGUI/PreferencesUI.py:4499
+#: flatcamGUI/PreferencesUI.py:4792
msgid ""
"The type of coordinates to be used in Gcode.\n"
"Can be:\n"
@@ -10675,19 +11142,19 @@ msgstr ""
"- Absolut G90 -> referinta este originea x=0, y=0\n"
"- Incrementator G91 -> referinta este pozitia anterioară"
-#: flatcamGUI/PreferencesUI.py:4505
+#: flatcamGUI/PreferencesUI.py:4798
msgid "Absolute G90"
msgstr "Absolut G90"
-#: flatcamGUI/PreferencesUI.py:4506
+#: flatcamGUI/PreferencesUI.py:4799
msgid "Incremental G91"
msgstr "Incrementator G91"
-#: flatcamGUI/PreferencesUI.py:4516
+#: flatcamGUI/PreferencesUI.py:4809
msgid "Force Windows style line-ending"
msgstr "Forțați finalizarea liniei în stil Windows"
-#: flatcamGUI/PreferencesUI.py:4518
+#: flatcamGUI/PreferencesUI.py:4811
msgid ""
"When checked will force a Windows style line-ending\n"
"(\\r\\n) on non-Windows OS's."
@@ -10695,35 +11162,35 @@ msgstr ""
"Când este bifat, va forța o linie de finalizare a stilului Windows\n"
"(\\r \\n) pe sistemele de operare non-Windows."
-#: flatcamGUI/PreferencesUI.py:4530
+#: flatcamGUI/PreferencesUI.py:4823
msgid "Travel Line Color"
msgstr "Culoare Linie Trecere"
-#: flatcamGUI/PreferencesUI.py:4536
+#: flatcamGUI/PreferencesUI.py:4829
msgid "Set the travel line color for plotted objects."
msgstr "Setați culoarea liniei de trecere pentru obiectele trasate."
-#: flatcamGUI/PreferencesUI.py:4596
+#: flatcamGUI/PreferencesUI.py:4889
msgid "CNCJob Object Color"
msgstr "Culoare obiect CNCJob"
-#: flatcamGUI/PreferencesUI.py:4602
+#: flatcamGUI/PreferencesUI.py:4895
msgid "Set the color for plotted objects."
msgstr "Setați culoarea pentru obiectele trasate."
-#: flatcamGUI/PreferencesUI.py:4762
+#: flatcamGUI/PreferencesUI.py:5055
msgid "CNC Job Options"
msgstr "Opțiuni CNCJob"
-#: flatcamGUI/PreferencesUI.py:4766
+#: flatcamGUI/PreferencesUI.py:5059
msgid "Export G-Code"
msgstr "Exportă G-Code"
-#: flatcamGUI/PreferencesUI.py:4782
+#: flatcamGUI/PreferencesUI.py:5075
msgid "Prepend to G-Code"
msgstr "Adaugă la inceputul G-Code"
-#: flatcamGUI/PreferencesUI.py:4791
+#: flatcamGUI/PreferencesUI.py:5084
msgid ""
"Type here any G-Code commands you would like to add at the beginning of the "
"G-Code file."
@@ -10731,11 +11198,11 @@ msgstr ""
"Introduceți aici orice comandă G-Code pe care doriți să o adăugați la "
"începutul fișierului G-Code."
-#: flatcamGUI/PreferencesUI.py:4798
+#: flatcamGUI/PreferencesUI.py:5091
msgid "Append to G-Code"
msgstr "Adaugă la sfârşitul G-Code"
-#: flatcamGUI/PreferencesUI.py:4808
+#: flatcamGUI/PreferencesUI.py:5101
msgid ""
"Type here any G-Code commands you would like to append to the generated "
"file.\n"
@@ -10745,11 +11212,11 @@ msgstr ""
"inserate la sfârşitul codului G-Code.\n"
"De exemplu: M2 (Sfârșitul programului)"
-#: flatcamGUI/PreferencesUI.py:4824
+#: flatcamGUI/PreferencesUI.py:5117
msgid "CNC Job Adv. Options"
msgstr "Opțiuni Avans. CNCJob"
-#: flatcamGUI/PreferencesUI.py:4861
+#: flatcamGUI/PreferencesUI.py:5154
msgid ""
"Type here any G-Code commands you would like to be executed when Toolchange "
"event is encountered.\n"
@@ -10767,45 +11234,46 @@ msgstr ""
"poate fi folosit doar cu un fişier postprocesor care contine "
"'toolchange_custom' în nume."
-#: flatcamGUI/PreferencesUI.py:4916
+#: flatcamGUI/PreferencesUI.py:5209
msgid "Z depth for the cut"
msgstr "Z adâncimea de tăiere"
-#: flatcamGUI/PreferencesUI.py:4917
+#: flatcamGUI/PreferencesUI.py:5210
msgid "Z height for travel"
msgstr "Z Înălţimea deplasare"
-#: flatcamGUI/PreferencesUI.py:4923
+#: flatcamGUI/PreferencesUI.py:5216
msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM"
msgstr "dwelltime = durata de asteptare ca motorul să ajunga la turatia setată"
-#: flatcamGUI/PreferencesUI.py:4942
+#: flatcamGUI/PreferencesUI.py:5235
msgid "Annotation Size"
msgstr "Dim. anotate"
-#: flatcamGUI/PreferencesUI.py:4944
+#: flatcamGUI/PreferencesUI.py:5237
msgid "The font size of the annotation text. In pixels."
msgstr "Dimensiunea fontului pt. textul cu notatii. In pixeli."
-#: flatcamGUI/PreferencesUI.py:4954
+#: flatcamGUI/PreferencesUI.py:5247
msgid "Annotation Color"
msgstr "Culoarea anotatii"
-#: flatcamGUI/PreferencesUI.py:4956
+#: flatcamGUI/PreferencesUI.py:5249
msgid "Set the font color for the annotation texts."
msgstr "Setează culoarea pentru textul cu anotatii."
-#: flatcamGUI/PreferencesUI.py:5013
+#: flatcamGUI/PreferencesUI.py:5306
msgid "NCC Tool Options"
msgstr "Opțiuni Unealta NCC"
-#: flatcamGUI/PreferencesUI.py:5027 flatcamGUI/PreferencesUI.py:6449
-msgid "Tools dia"
-msgstr "Dia unealtă"
+#: flatcamGUI/PreferencesUI.py:5328 flatcamGUI/PreferencesUI.py:5896
+msgid "Comma separated values"
+msgstr "Valori separate cu virgulă"
-#: flatcamGUI/PreferencesUI.py:5038 flatcamGUI/PreferencesUI.py:5046
-#: flatcamTools/ToolNonCopperClear.py:215
-#: flatcamTools/ToolNonCopperClear.py:223
+#: flatcamGUI/PreferencesUI.py:5334 flatcamGUI/PreferencesUI.py:5342
+#: flatcamGUI/PreferencesUI.py:5903 flatcamTools/ToolNCC.py:215
+#: flatcamTools/ToolNCC.py:223 flatcamTools/ToolPaint.py:198
+#: flatcamTools/ToolPaint.py:206
msgid ""
"Default tool type:\n"
"- 'V-shape'\n"
@@ -10815,13 +11283,15 @@ msgstr ""
"- 'Forma-V'\n"
"- Circular"
-#: flatcamGUI/PreferencesUI.py:5043 flatcamTools/ToolNonCopperClear.py:220
+#: flatcamGUI/PreferencesUI.py:5339 flatcamGUI/PreferencesUI.py:5908
+#: flatcamTools/ToolNCC.py:220 flatcamTools/ToolPaint.py:203
msgid "V-shape"
msgstr "Forma-V"
-#: flatcamGUI/PreferencesUI.py:5083 flatcamGUI/PreferencesUI.py:5092
-#: flatcamTools/ToolNonCopperClear.py:256
-#: flatcamTools/ToolNonCopperClear.py:264
+#: flatcamGUI/PreferencesUI.py:5379 flatcamGUI/PreferencesUI.py:5388
+#: flatcamGUI/PreferencesUI.py:5946 flatcamGUI/PreferencesUI.py:5955
+#: flatcamTools/ToolNCC.py:262 flatcamTools/ToolNCC.py:271
+#: flatcamTools/ToolPaint.py:245 flatcamTools/ToolPaint.py:254
msgid ""
"Depth of cut into material. Negative value.\n"
"In FlatCAM units."
@@ -10829,34 +11299,26 @@ msgstr ""
"Adancimea de tăiere in material. Valoare negative.\n"
"In unitătile FlatCAM."
-#: flatcamGUI/PreferencesUI.py:5102
-msgid "The new tool diameter (cut width) to add in the tool table."
-msgstr ""
-"Noul diametru al sculei (lățimea tăiată) pt adăugare în tabelul Unelte."
-
-#: flatcamGUI/PreferencesUI.py:5114 flatcamGUI/PreferencesUI.py:5122
-#: flatcamTools/ToolNonCopperClear.py:164
-#: flatcamTools/ToolNonCopperClear.py:172
+#: flatcamGUI/PreferencesUI.py:5398 flatcamGUI/PreferencesUI.py:5964
+#: flatcamTools/ToolNCC.py:280 flatcamTools/ToolPaint.py:263
msgid ""
-"Milling type when the selected tool is of type: 'iso_op':\n"
-"- climb / best for precision milling and to reduce tool usage\n"
-"- conventional / useful when there is no backlash compensation"
+"Diameter for the new tool to add in the Tool Table.\n"
+"If the tool is V-shape type then this value is automatically\n"
+"calculated from the other parameters."
msgstr ""
-"Tipul de frezare cand unealta selectată este de tipul: 'iso_op':\n"
-"- urcare -> potrivit pentru frezare de precizie și pt a reduce uzura "
-"uneltei\n"
-"- conventional -> pentru cazul când nu exista o compensare a 'backlash-ului'"
+"Diametru pentru Unealta nouă de adăugat în Tabelul Uneltelor.\n"
+"Dacă instrumentul este în formă de V, atunci această valoare este automat\n"
+"calculată din ceilalți parametri."
-#: flatcamGUI/PreferencesUI.py:5131 flatcamGUI/PreferencesUI.py:5546
-#: flatcamTools/ToolNonCopperClear.py:181 flatcamTools/ToolPaint.py:153
+#: flatcamGUI/PreferencesUI.py:5435 flatcamGUI/PreferencesUI.py:5981
+#: flatcamTools/ToolNCC.py:174 flatcamTools/ToolPaint.py:158
msgid "Tool order"
msgstr "Ordine unelte"
-#: flatcamGUI/PreferencesUI.py:5132 flatcamGUI/PreferencesUI.py:5142
-#: flatcamGUI/PreferencesUI.py:5547 flatcamGUI/PreferencesUI.py:5557
-#: flatcamTools/ToolNonCopperClear.py:182
-#: flatcamTools/ToolNonCopperClear.py:192 flatcamTools/ToolPaint.py:154
-#: flatcamTools/ToolPaint.py:164
+#: flatcamGUI/PreferencesUI.py:5436 flatcamGUI/PreferencesUI.py:5446
+#: flatcamGUI/PreferencesUI.py:5982 flatcamTools/ToolNCC.py:175
+#: flatcamTools/ToolNCC.py:185 flatcamTools/ToolPaint.py:159
+#: flatcamTools/ToolPaint.py:169
msgid ""
"This set the way that the tools in the tools table are used.\n"
"'No' --> means that the used order is the one in the tool table\n"
@@ -10875,69 +11337,39 @@ msgstr ""
"AVERTIZARE: folosirea prelucrării 'resturi' va seta automat ordonarea\n"
"în sens invers și va dezactiva acest control."
-#: flatcamGUI/PreferencesUI.py:5140 flatcamGUI/PreferencesUI.py:5555
-#: flatcamTools/ToolNonCopperClear.py:190 flatcamTools/ToolPaint.py:162
+#: flatcamGUI/PreferencesUI.py:5444 flatcamGUI/PreferencesUI.py:5990
+#: flatcamTools/ToolNCC.py:183 flatcamTools/ToolPaint.py:167
msgid "Forward"
msgstr "Înainte"
-#: flatcamGUI/PreferencesUI.py:5141 flatcamGUI/PreferencesUI.py:5556
-#: flatcamTools/ToolNonCopperClear.py:191 flatcamTools/ToolPaint.py:163
+#: flatcamGUI/PreferencesUI.py:5445 flatcamGUI/PreferencesUI.py:5991
+#: flatcamTools/ToolNCC.py:184 flatcamTools/ToolPaint.py:168
msgid "Reverse"
msgstr "Înapoi"
-#: flatcamGUI/PreferencesUI.py:5154 flatcamTools/ToolNonCopperClear.py:321
+#: flatcamGUI/PreferencesUI.py:5545
+msgid "Offset value"
+msgstr "Valoare Ofset"
+
+#: flatcamGUI/PreferencesUI.py:5547
msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be cleared are still \n"
-"not cleared.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0.0 and 9999.9 FlatCAM units."
msgstr ""
-"Cat de mult (fracţie) din diametrul uneltei să se suprapună la fiecare "
-"trecere a uneltei.\n"
-"Ajustează valoarea incepand de la valori mici\n"
-"și pe urma creste daca ariile care ar trebui >curățate< inca\n"
-"nu sunt procesate.\n"
-"Valori scazute = procesare rapida,execuţie rapida a PCB-ului.\n"
-"Valori mari= procesare lenta cat și o execuţie la fel de lenta a PCB-ului,\n"
-"datorita numărului mai mare de treceri-tăiere."
+"Dacă este folosit, va adăuga un offset la traseele de cupru.\n"
+"Curătarea de cupru se va termina la o anume distanță\n"
+"de traseele de cupru.\n"
+"Valoarea poate fi cuprinsă între 0 și 9999.9 unități FlatCAM."
-#: flatcamGUI/PreferencesUI.py:5173 flatcamGUI/PreferencesUI.py:7177
-#: flatcamGUI/PreferencesUI.py:7419 flatcamGUI/PreferencesUI.py:7483
-#: flatcamTools/ToolCopperThieving.py:113 flatcamTools/ToolFiducials.py:174
-#: flatcamTools/ToolFiducials.py:237 flatcamTools/ToolNonCopperClear.py:339
-msgid "Bounding box margin."
-msgstr "Marginea pentru forma înconjurătoare."
-
-#: flatcamGUI/PreferencesUI.py:5186 flatcamGUI/PreferencesUI.py:5604
-#: flatcamTools/ToolNonCopperClear.py:350
-msgid ""
-"Algorithm for non-copper clearing:
Standard: Fixed step inwards."
-"
Seed-based: Outwards from seed.
Line-based: Parallel "
-"lines."
-msgstr ""
-"Algoritm pt curățare de cupru:
Standard: Pas fix spre interior."
-"
Punct-samanta: De la punctul samanta, spre expterior.
Linii "
-"drepte: Linii paralele."
-
-#: flatcamGUI/PreferencesUI.py:5202 flatcamGUI/PreferencesUI.py:5618
-#: flatcamTools/ToolNonCopperClear.py:364 flatcamTools/ToolPaint.py:267
-msgid "Connect"
-msgstr "Conectează"
-
-#: flatcamGUI/PreferencesUI.py:5211 flatcamGUI/PreferencesUI.py:5626
-#: flatcamTools/ToolNonCopperClear.py:371 flatcamTools/ToolPaint.py:274
-msgid "Contour"
-msgstr "Contur"
-
-#: flatcamGUI/PreferencesUI.py:5220 flatcamTools/ToolNonCopperClear.py:379
-#: flatcamTools/ToolPaint.py:281
+#: flatcamGUI/PreferencesUI.py:5567 flatcamGUI/PreferencesUI.py:6083
+#: flatcamGUI/PreferencesUI.py:6084 flatcamTools/ToolNCC.py:512
+#: flatcamTools/ToolPaint.py:442
msgid "Rest Machining"
msgstr "Prelucrare prin Resturi"
-#: flatcamGUI/PreferencesUI.py:5222 flatcamTools/ToolNonCopperClear.py:381
+#: flatcamGUI/PreferencesUI.py:5569 flatcamTools/ToolNCC.py:516
msgid ""
"If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
@@ -10955,82 +11387,66 @@ msgstr ""
"final. Aceasta deaorece unele unelte nu vor putea genera geometrie.\n"
"Daca nu este bifat, foloseşte algoritmul standard."
-#: flatcamGUI/PreferencesUI.py:5236 flatcamTools/ToolNonCopperClear.py:395
-#: flatcamTools/ToolNonCopperClear.py:405
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7696 flatcamTools/ToolCopperThieving.py:127
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1311
+#: flatcamTools/ToolNCC.py:1642 flatcamTools/ToolNCC.py:1930
+#: flatcamTools/ToolNCC.py:1985 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:946 flatcamTools/ToolPaint.py:1447
+msgid "Area Selection"
+msgstr "Selecţie zonă"
+
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7697 flatcamTools/ToolCopperThieving.py:128
+#: flatcamTools/ToolDblSided.py:217 flatcamTools/ToolNCC.py:535
+#: flatcamTools/ToolNCC.py:1658 flatcamTools/ToolNCC.py:1936
+#: flatcamTools/ToolNCC.py:1993 flatcamTools/ToolNCC.py:2301
+#: flatcamTools/ToolNCC.py:2581 flatcamTools/ToolNCC.py:3007
+#: flatcamTools/ToolPaint.py:486 flatcamTools/ToolPaint.py:931
+#: flatcamTools/ToolPaint.py:1463 tclCommands/TclCommandCopperClear.py:192
+#: tclCommands/TclCommandPaint.py:166
+msgid "Reference Object"
+msgstr "Obiect Ref"
+
+#: flatcamGUI/PreferencesUI.py:5592 flatcamTools/ToolNCC.py:541
msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0 and 10 FlatCAM units."
-msgstr ""
-"Dacă este folosit, va adăuga un offset la traseele de cupru.\n"
-"Curătarea de cupru se va termina la o anume distanță\n"
-"de traseele de cupru.\n"
-"Valoarea poate fi cuprinsă între 0 și 10 unități FlatCAM."
-
-#: flatcamGUI/PreferencesUI.py:5245 flatcamTools/ToolNonCopperClear.py:403
-msgid "Offset value"
-msgstr "Valoare Ofset"
-
-#: flatcamGUI/PreferencesUI.py:5247
-msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0.0 and 9999.9 FlatCAM units."
-msgstr ""
-"Dacă este folosit, va adăuga un offset la traseele de cupru.\n"
-"Curătarea de cupru se va termina la o anume distanță\n"
-"de traseele de cupru.\n"
-"Valoarea poate fi cuprinsă între 0 și 9999.9 unități FlatCAM."
-
-#: flatcamGUI/PreferencesUI.py:5262 flatcamGUI/PreferencesUI.py:7189
-#: flatcamTools/ToolCopperThieving.py:125
-#: flatcamTools/ToolNonCopperClear.py:429
-msgid "Itself"
-msgstr "Însuşi"
-
-#: flatcamGUI/PreferencesUI.py:5263 flatcamGUI/PreferencesUI.py:5646
-msgid "Area"
-msgstr "Aria"
-
-#: flatcamGUI/PreferencesUI.py:5264 flatcamGUI/PreferencesUI.py:5648
-msgid "Ref"
-msgstr "Ref"
-
-#: flatcamGUI/PreferencesUI.py:5267
-msgid ""
-"- 'Itself' - the non copper clearing extent\n"
-"is based on the object that is copper cleared.\n"
+"Selection of area to be processed.\n"
+"- 'Itself' - the processing extent is based on the object that is "
+"processed.\n"
" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
-"areas.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"processed.\n"
+"- 'Reference Object' - will process the area specified by another object."
msgstr ""
-"- „Însuși” - suprafața de curățare a cuprului\n"
-"se bazează pe obiectul care este curățat de cupru.\n"
-" - „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe "
-"selecția zonei care va fi pictată.\n"
-"Menținerea unei taste de modificare apăsată (CTRL sau SHIFT) va permite "
-"adăugarea mai multor zone.\n"
-"- „Obiect de referință” - va face o curățare fără cupru în zona\n"
-"specificată de un alt obiect."
+"Selectia suprafetei pt procesare.\n"
+"- „Însuși” - suprafața de procesare se bazează pe obiectul care este "
+"procesat.\n"
+"- „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe selecția "
+"zonei care va fi procesată.\n"
+"- „Obiect de referință” - va procesa în zona specificată de un alt obiect."
-#: flatcamGUI/PreferencesUI.py:5279 flatcamGUI/PreferencesUI.py:5654
+#: flatcamGUI/PreferencesUI.py:5601 flatcamGUI/PreferencesUI.py:6125
+#: flatcamTools/ToolNCC.py:578 flatcamTools/ToolPaint.py:522
+msgid "Shape"
+msgstr "Formă"
+
+#: flatcamGUI/PreferencesUI.py:5603 flatcamGUI/PreferencesUI.py:6127
+#: flatcamTools/ToolNCC.py:580 flatcamTools/ToolPaint.py:524
+msgid "The kind of selection shape used for area selection."
+msgstr "Selectează forma de selectie folosita pentru selectia zonală."
+
+#: flatcamGUI/PreferencesUI.py:5618 flatcamGUI/PreferencesUI.py:6142
msgid "Normal"
msgstr "Normal"
-#: flatcamGUI/PreferencesUI.py:5280 flatcamGUI/PreferencesUI.py:5655
+#: flatcamGUI/PreferencesUI.py:5619 flatcamGUI/PreferencesUI.py:6143
msgid "Progressive"
msgstr "Progresiv"
-#: flatcamGUI/PreferencesUI.py:5281
+#: flatcamGUI/PreferencesUI.py:5620
msgid "NCC Plotting"
msgstr "Afisare NCC"
-#: flatcamGUI/PreferencesUI.py:5283
+#: flatcamGUI/PreferencesUI.py:5622
msgid ""
"- 'Normal' - normal plotting, done at the end of the NCC job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
@@ -11038,16 +11454,16 @@ msgstr ""
"- 'Normal' - afisare normală, efectuată la sfarsitul activitătii NCC\n"
"- 'Progresiv' - forma se afisează imediat ce a fost generată."
-#: flatcamGUI/PreferencesUI.py:5297
+#: flatcamGUI/PreferencesUI.py:5636
msgid "Cutout Tool Options"
msgstr "Opțiuni Unealta Decupare"
-#: flatcamGUI/PreferencesUI.py:5312 flatcamTools/ToolCalculators.py:123
-#: flatcamTools/ToolCutOut.py:123
+#: flatcamGUI/PreferencesUI.py:5651 flatcamTools/ToolCalculators.py:123
+#: flatcamTools/ToolCutOut.py:130
msgid "Tool Diameter"
msgstr "Dia unealtă"
-#: flatcamGUI/PreferencesUI.py:5314 flatcamTools/ToolCutOut.py:125
+#: flatcamGUI/PreferencesUI.py:5653 flatcamTools/ToolCutOut.py:132
msgid ""
"Diameter of the tool used to cutout\n"
"the PCB shape out of the surrounding material."
@@ -11055,11 +11471,11 @@ msgstr ""
"Diametrul uneltei folosita pt decuparea\n"
"PCB-ului din materialului inconjurator."
-#: flatcamGUI/PreferencesUI.py:5369 flatcamTools/ToolCutOut.py:104
+#: flatcamGUI/PreferencesUI.py:5708
msgid "Object kind"
msgstr "Tipul de obiect"
-#: flatcamGUI/PreferencesUI.py:5371 flatcamTools/ToolCutOut.py:106
+#: flatcamGUI/PreferencesUI.py:5710 flatcamTools/ToolCutOut.py:78
msgid ""
"Choice of what kind the object we want to cutout is.
- Single: "
"contain a single PCB Gerber outline object.
- Panel: a panel PCB "
@@ -11071,15 +11487,15 @@ msgstr ""
"tip panel, care este făcut\n"
"din mai multe contururi PCB."
-#: flatcamGUI/PreferencesUI.py:5378 flatcamTools/ToolCutOut.py:112
+#: flatcamGUI/PreferencesUI.py:5717 flatcamTools/ToolCutOut.py:84
msgid "Single"
msgstr "Unic"
-#: flatcamGUI/PreferencesUI.py:5379 flatcamTools/ToolCutOut.py:113
+#: flatcamGUI/PreferencesUI.py:5718 flatcamTools/ToolCutOut.py:85
msgid "Panel"
msgstr "Panel"
-#: flatcamGUI/PreferencesUI.py:5386 flatcamTools/ToolCutOut.py:186
+#: flatcamGUI/PreferencesUI.py:5725 flatcamTools/ToolCutOut.py:193
msgid ""
"Margin over bounds. A positive value here\n"
"will make the cutout of the PCB further from\n"
@@ -11089,11 +11505,11 @@ msgstr ""
"va face decuparea distanțat cu aceasta valoare \n"
"fata de PCB-ul efectiv"
-#: flatcamGUI/PreferencesUI.py:5399 flatcamTools/ToolCutOut.py:197
+#: flatcamGUI/PreferencesUI.py:5738 flatcamTools/ToolCutOut.py:204
msgid "Gap size"
msgstr "Dim. punte"
-#: flatcamGUI/PreferencesUI.py:5401 flatcamTools/ToolCutOut.py:199
+#: flatcamGUI/PreferencesUI.py:5740 flatcamTools/ToolCutOut.py:206
msgid ""
"The size of the bridge gaps in the cutout\n"
"used to keep the board connected to\n"
@@ -11104,11 +11520,11 @@ msgstr ""
"in a mentine ataşat PCB-ul la materialul de unde \n"
"este decupat."
-#: flatcamGUI/PreferencesUI.py:5415 flatcamTools/ToolCutOut.py:241
+#: flatcamGUI/PreferencesUI.py:5754 flatcamTools/ToolCutOut.py:250
msgid "Gaps"
msgstr "Punţi"
-#: flatcamGUI/PreferencesUI.py:5417
+#: flatcamGUI/PreferencesUI.py:5756
msgid ""
"Number of gaps used for the cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -11132,11 +11548,11 @@ msgstr ""
"- 2tb = 2* sus - 2* jos\n"
"- 8 = 2* stânga - 2* dreapta - 2* sus - 2* jos"
-#: flatcamGUI/PreferencesUI.py:5439 flatcamTools/ToolCutOut.py:216
+#: flatcamGUI/PreferencesUI.py:5778 flatcamTools/ToolCutOut.py:223
msgid "Convex Shape"
msgstr "Forma convexă"
-#: flatcamGUI/PreferencesUI.py:5441 flatcamTools/ToolCutOut.py:219
+#: flatcamGUI/PreferencesUI.py:5780 flatcamTools/ToolCutOut.py:226
msgid ""
"Create a convex shape surrounding the entire PCB.\n"
"Used only if the source object type is Gerber."
@@ -11145,11 +11561,11 @@ msgstr ""
"tot PCB-ul. Forma sa este convexa.\n"
"Se foloseste doar daca obiectul sursă este de tip Gerber."
-#: flatcamGUI/PreferencesUI.py:5454
+#: flatcamGUI/PreferencesUI.py:5793
msgid "2Sided Tool Options"
msgstr "Opțiuni Unealta 2Fețe"
-#: flatcamGUI/PreferencesUI.py:5460
+#: flatcamGUI/PreferencesUI.py:5799
msgid ""
"A tool to help in creating a double sided\n"
"PCB using alignment holes."
@@ -11157,36 +11573,41 @@ msgstr ""
"O unealtă care ajuta in crearea de PCB-uri cu 2 fețe\n"
"folosind găuri de aliniere."
-#: flatcamGUI/PreferencesUI.py:5474
+#: flatcamGUI/PreferencesUI.py:5813
msgid "Drill dia"
msgstr "Dia gaură"
-#: flatcamGUI/PreferencesUI.py:5476 flatcamTools/ToolDblSided.py:274
-#: flatcamTools/ToolDblSided.py:285
+#: flatcamGUI/PreferencesUI.py:5815 flatcamTools/ToolDblSided.py:364
+#: flatcamTools/ToolDblSided.py:369
msgid "Diameter of the drill for the alignment holes."
msgstr "Diametrul găurii pentru găurile de aliniere."
-#: flatcamGUI/PreferencesUI.py:5485 flatcamTools/ToolDblSided.py:146
-msgid "Mirror Axis:"
-msgstr "Axe oglindire:"
+#: flatcamGUI/PreferencesUI.py:5822 flatcamTools/ToolDblSided.py:378
+msgid "Align Axis"
+msgstr "Aliniați Axa"
-#: flatcamGUI/PreferencesUI.py:5487 flatcamTools/ToolDblSided.py:147
+#: flatcamGUI/PreferencesUI.py:5824 flatcamGUI/PreferencesUI.py:5837
+#: flatcamTools/ToolDblSided.py:166 flatcamTools/ToolDblSided.py:380
msgid "Mirror vertically (X) or horizontally (Y)."
msgstr "Oglindește vertical (X) sau orizontal (Y)."
-#: flatcamGUI/PreferencesUI.py:5496 flatcamTools/ToolDblSided.py:156
+#: flatcamGUI/PreferencesUI.py:5835
+msgid "Mirror Axis:"
+msgstr "Axe oglindire:"
+
+#: flatcamGUI/PreferencesUI.py:5846 flatcamTools/ToolDblSided.py:182
msgid "Point"
msgstr "Punct"
-#: flatcamGUI/PreferencesUI.py:5497 flatcamTools/ToolDblSided.py:157
+#: flatcamGUI/PreferencesUI.py:5847 flatcamTools/ToolDblSided.py:183
msgid "Box"
msgstr "Forma"
-#: flatcamGUI/PreferencesUI.py:5498 flatcamTools/ToolDblSided.py:158
+#: flatcamGUI/PreferencesUI.py:5848
msgid "Axis Ref"
msgstr "Axa de Ref"
-#: flatcamGUI/PreferencesUI.py:5500 flatcamTools/ToolDblSided.py:160
+#: flatcamGUI/PreferencesUI.py:5850
msgid ""
"The axis should pass through a point or cut\n"
" a specified box (in a FlatCAM object) through \n"
@@ -11195,48 +11616,67 @@ msgstr ""
"Axa de referinţă ar trebui să treacă printr-un punct ori să strabata\n"
" o forma (obiect FlatCAM) prin mijloc."
-#: flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:5866
msgid "Paint Tool Options"
msgstr "Opțiuni Unealta Paint"
-#: flatcamGUI/PreferencesUI.py:5522
+#: flatcamGUI/PreferencesUI.py:5872
msgid "Parameters:"
msgstr "Parametri:"
-#: flatcamGUI/PreferencesUI.py:5636 flatcamTools/ToolPaint.py:296
-#: flatcamTools/ToolPaint.py:313
+#: flatcamGUI/PreferencesUI.py:6086 flatcamTools/ToolPaint.py:445
msgid ""
-"How to select Polygons to be painted.\n"
+"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"
+"\n"
+"If not checked, use the standard algorithm."
+msgstr ""
+"Daca este bifat, foloste 'rest machining'.\n"
+"Mai exact, se va curăța cuprul din afara traseelor,\n"
+"folosind mai intai unealta cu diametrul cel mai mare\n"
+"apoi folosindu-se progresiv unelte cu diametrul tot\n"
+"mai mic, din cele disponibile in tabela de unelte, pt a\n"
+"curăța zonele care nu s-au putut curăța cu unealta\n"
+"precedenta.\n"
+"Daca nu este bifat, foloseşte algoritmul standard."
+
+#: flatcamGUI/PreferencesUI.py:6099 flatcamTools/ToolPaint.py:458
+msgid ""
+"Selection of area to be processed.\n"
"- 'Polygon Selection' - left mouse click to add/remove polygons to be "
-"painted.\n"
+"processed.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
+"processed.\n"
"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
"areas.\n"
-"- 'All Polygons' - the Paint will start after click.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"- 'All Polygons' - the process will start after click.\n"
+"- 'Reference Object' - will process the area specified by another object."
msgstr ""
-"Cum se selectează Poligoanele care vor fi pictate.\n"
+"Selectia suprafetei care va fi procesată.\n"
"- „Selecție poligon” - faceți clic stânga pentru a adăuga / elimina "
-"poligoane care urmează să fie pictate.\n"
+"poligoane care urmează să fie procesate.\n"
"- „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe selecția "
-"zonei care va fi pictată.\n"
+"zonei care va fi procesată.\n"
"Menținerea unei taste modificatoare apăsată (CTRL sau SHIFT) va permite "
"adăugarea mai multor zone.\n"
-"- „Toate Poligoanele” - Unealta Paint va începe după clic.\n"
-"- „Obiect de referință” - va face o curățare fără cupru în zona specificată "
-"de un alt obiect."
+"- „Toate Poligoanele” - procesarea va începe după clic.\n"
+"- „Obiect de referință” - se va procesa zona specificată de un alt obiect."
-#: flatcamGUI/PreferencesUI.py:5645
-msgid "Sel"
-msgstr "Selectează"
+#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:942 flatcamTools/ToolPaint.py:1427
+#: tclCommands/TclCommandPaint.py:164
+msgid "Polygon Selection"
+msgstr "Selecție Poligon"
-#: flatcamGUI/PreferencesUI.py:5656
+#: flatcamGUI/PreferencesUI.py:6144
msgid "Paint Plotting"
msgstr "Afisare Paint"
-#: flatcamGUI/PreferencesUI.py:5658
+#: flatcamGUI/PreferencesUI.py:6146
msgid ""
"- 'Normal' - normal plotting, done at the end of the Paint job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
@@ -11244,11 +11684,11 @@ msgstr ""
"- 'Normal' - afisare normală, efectuată la sfarsitul activitătii Paint\n"
"- 'Progresiv' - forma se afisează imediat ce a fost generată."
-#: flatcamGUI/PreferencesUI.py:5672
+#: flatcamGUI/PreferencesUI.py:6160
msgid "Film Tool Options"
msgstr "Opțiuni Unealta Film"
-#: flatcamGUI/PreferencesUI.py:5678
+#: flatcamGUI/PreferencesUI.py:6166
msgid ""
"Create a PCB film from a Gerber or Geometry\n"
"FlatCAM object.\n"
@@ -11257,11 +11697,11 @@ msgstr ""
"Crează un film PCB dintr-un obiect Gerber sau tip Geometrie.\n"
"Fişierul este salvat in format SVG."
-#: flatcamGUI/PreferencesUI.py:5689
+#: flatcamGUI/PreferencesUI.py:6177
msgid "Film Type"
msgstr "Tip film"
-#: flatcamGUI/PreferencesUI.py:5691 flatcamTools/ToolFilm.py:300
+#: flatcamGUI/PreferencesUI.py:6179 flatcamTools/ToolFilm.py:300
msgid ""
"Generate a Positive black film or a Negative film.\n"
"Positive means that it will print the features\n"
@@ -11275,19 +11715,19 @@ msgstr ""
"Negativ = traseele vor fi albe pe un fundal negru.\n"
"Formatul fişierului pt filmul salvat este SVG."
-#: flatcamGUI/PreferencesUI.py:5702
+#: flatcamGUI/PreferencesUI.py:6190
msgid "Film Color"
msgstr "Film Color"
-#: flatcamGUI/PreferencesUI.py:5704
+#: flatcamGUI/PreferencesUI.py:6192
msgid "Set the film color when positive film is selected."
msgstr "Setați culoarea filmului atunci când este selectat filmul pozitiv."
-#: flatcamGUI/PreferencesUI.py:5727 flatcamTools/ToolFilm.py:316
+#: flatcamGUI/PreferencesUI.py:6215 flatcamTools/ToolFilm.py:316
msgid "Border"
msgstr "Bordură"
-#: flatcamGUI/PreferencesUI.py:5729 flatcamTools/ToolFilm.py:318
+#: flatcamGUI/PreferencesUI.py:6217 flatcamTools/ToolFilm.py:318
msgid ""
"Specify a border around the object.\n"
"Only for negative film.\n"
@@ -11304,11 +11744,11 @@ msgstr ""
"Va crea o bara solidă neagră in jurul printului efectiv permitand o\n"
"delimitare exactă."
-#: flatcamGUI/PreferencesUI.py:5746 flatcamTools/ToolFilm.py:283
+#: flatcamGUI/PreferencesUI.py:6234 flatcamTools/ToolFilm.py:283
msgid "Scale Stroke"
msgstr "Scalează"
-#: flatcamGUI/PreferencesUI.py:5748 flatcamTools/ToolFilm.py:285
+#: flatcamGUI/PreferencesUI.py:6236 flatcamTools/ToolFilm.py:285
msgid ""
"Scale the line stroke thickness of each feature in the SVG file.\n"
"It means that the line that envelope each SVG feature will be thicker or "
@@ -11318,11 +11758,11 @@ msgstr ""
"Scalează grosimea conturului fiecarui element din fişierul SVG.\n"
"Elementele mai mici vor fi afectate mai mult."
-#: flatcamGUI/PreferencesUI.py:5755 flatcamTools/ToolFilm.py:141
+#: flatcamGUI/PreferencesUI.py:6243 flatcamTools/ToolFilm.py:141
msgid "Film Adjustments"
msgstr "Reglarea filmelor"
-#: flatcamGUI/PreferencesUI.py:5757 flatcamTools/ToolFilm.py:143
+#: flatcamGUI/PreferencesUI.py:6245 flatcamTools/ToolFilm.py:143
msgid ""
"Sometime the printers will distort the print shape, especially the Laser "
"types.\n"
@@ -11333,11 +11773,11 @@ msgstr ""
"Această secțiune oferă instrumentele pentru a compensa distorsiunile de "
"tipărire."
-#: flatcamGUI/PreferencesUI.py:5764 flatcamTools/ToolFilm.py:150
+#: flatcamGUI/PreferencesUI.py:6252 flatcamTools/ToolFilm.py:150
msgid "Scale Film geometry"
msgstr "Scalați geo film"
-#: flatcamGUI/PreferencesUI.py:5766 flatcamTools/ToolFilm.py:152
+#: flatcamGUI/PreferencesUI.py:6254 flatcamTools/ToolFilm.py:152
msgid ""
"A value greater than 1 will stretch the film\n"
"while a value less than 1 will jolt it."
@@ -11345,21 +11785,21 @@ msgstr ""
"O valoare mai mare de 1 va întinde filmul\n"
"în timp ce o valoare mai mică de 1 il va compacta."
-#: flatcamGUI/PreferencesUI.py:5776 flatcamGUI/PreferencesUI.py:6296
-#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:148
+#: flatcamGUI/PreferencesUI.py:6264 flatcamGUI/PreferencesUI.py:6783
+#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:149
msgid "X factor"
msgstr "Factor X"
-#: flatcamGUI/PreferencesUI.py:5785 flatcamGUI/PreferencesUI.py:6309
+#: flatcamGUI/PreferencesUI.py:6273 flatcamGUI/PreferencesUI.py:6796
#: flatcamTools/ToolFilm.py:171 flatcamTools/ToolTransform.py:169
msgid "Y factor"
msgstr "Factor Y"
-#: flatcamGUI/PreferencesUI.py:5795 flatcamTools/ToolFilm.py:189
+#: flatcamGUI/PreferencesUI.py:6283 flatcamTools/ToolFilm.py:189
msgid "Skew Film geometry"
msgstr "Deformeaza Geo Film"
-#: flatcamGUI/PreferencesUI.py:5797 flatcamTools/ToolFilm.py:191
+#: flatcamGUI/PreferencesUI.py:6285 flatcamTools/ToolFilm.py:191
msgid ""
"Positive values will skew to the right\n"
"while negative values will skew to the left."
@@ -11367,17 +11807,17 @@ msgstr ""
"Valorile pozitive vor înclina spre dreapta\n"
"în timp ce valorile negative vor înclina spre stânga."
-#: flatcamGUI/PreferencesUI.py:5807 flatcamGUI/PreferencesUI.py:6265
+#: flatcamGUI/PreferencesUI.py:6295 flatcamGUI/PreferencesUI.py:6752
#: flatcamTools/ToolFilm.py:201 flatcamTools/ToolTransform.py:98
msgid "X angle"
msgstr "Unghi X"
-#: flatcamGUI/PreferencesUI.py:5816 flatcamGUI/PreferencesUI.py:6279
-#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:120
+#: flatcamGUI/PreferencesUI.py:6304 flatcamGUI/PreferencesUI.py:6766
+#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:119
msgid "Y angle"
msgstr "Unghi Y"
-#: flatcamGUI/PreferencesUI.py:5827 flatcamTools/ToolFilm.py:221
+#: flatcamGUI/PreferencesUI.py:6315 flatcamTools/ToolFilm.py:221
msgid ""
"The reference point to be used as origin for the skew.\n"
"It can be one of the four points of the geometry bounding box."
@@ -11386,57 +11826,53 @@ msgstr ""
"Poate fi unul dintre cele patru puncte ale căsuței de delimitare a "
"geometriei."
-#: flatcamGUI/PreferencesUI.py:5830 flatcamTools/ToolFiducials.py:87
+#: flatcamGUI/PreferencesUI.py:6318 flatcamTools/ToolFiducials.py:87
#: flatcamTools/ToolFilm.py:224
msgid "Bottom Left"
msgstr "Stânga jos"
-#: flatcamGUI/PreferencesUI.py:5831 flatcamTools/ToolFilm.py:225
+#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolFilm.py:225
msgid "Top Left"
msgstr "Stânga sus"
-#: flatcamGUI/PreferencesUI.py:5832 flatcamTools/ToolFilm.py:226
+#: flatcamGUI/PreferencesUI.py:6320 flatcamTools/ToolFilm.py:226
msgid "Bottom Right"
msgstr "Dreapta-jos"
-#: flatcamGUI/PreferencesUI.py:5833 flatcamTools/ToolFilm.py:227
+#: flatcamGUI/PreferencesUI.py:6321 flatcamTools/ToolFilm.py:227
msgid "Top right"
msgstr "Dreapta-sus"
-#: flatcamGUI/PreferencesUI.py:5841 flatcamTools/ToolFilm.py:244
+#: flatcamGUI/PreferencesUI.py:6329 flatcamTools/ToolFilm.py:244
msgid "Mirror Film geometry"
msgstr "Oglindeste Geo Film"
-#: flatcamGUI/PreferencesUI.py:5843 flatcamTools/ToolFilm.py:246
+#: flatcamGUI/PreferencesUI.py:6331 flatcamTools/ToolFilm.py:246
msgid "Mirror the film geometry on the selected axis or on both."
msgstr "Oglindeste geometria filmului pe axa selectată sau pe ambele."
-#: flatcamGUI/PreferencesUI.py:5855 flatcamTools/ToolFilm.py:258
-msgid "Both"
-msgstr "Ambele"
-
-#: flatcamGUI/PreferencesUI.py:5857 flatcamTools/ToolFilm.py:260
+#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolFilm.py:260
msgid "Mirror axis"
msgstr "Axe oglindire"
-#: flatcamGUI/PreferencesUI.py:5867 flatcamTools/ToolFilm.py:403
+#: flatcamGUI/PreferencesUI.py:6355 flatcamTools/ToolFilm.py:405
msgid "SVG"
msgstr "SVG"
-#: flatcamGUI/PreferencesUI.py:5868 flatcamTools/ToolFilm.py:404
+#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolFilm.py:406
msgid "PNG"
msgstr "PNG"
-#: flatcamGUI/PreferencesUI.py:5869 flatcamTools/ToolFilm.py:405
+#: flatcamGUI/PreferencesUI.py:6357 flatcamTools/ToolFilm.py:407
msgid "PDF"
msgstr "PDF"
-#: flatcamGUI/PreferencesUI.py:5872 flatcamTools/ToolFilm.py:298
-#: flatcamTools/ToolFilm.py:408
+#: flatcamGUI/PreferencesUI.py:6360 flatcamTools/ToolFilm.py:298
+#: flatcamTools/ToolFilm.py:410
msgid "Film Type:"
msgstr "Tip film:"
-#: flatcamGUI/PreferencesUI.py:5874 flatcamTools/ToolFilm.py:410
+#: flatcamGUI/PreferencesUI.py:6362 flatcamTools/ToolFilm.py:412
msgid ""
"The file type of the saved film. Can be:\n"
"- 'SVG' -> open-source vectorial format\n"
@@ -11448,23 +11884,23 @@ msgstr ""
"- „PNG” -> imagine raster\n"
"- „PDF” -> format document portabil"
-#: flatcamGUI/PreferencesUI.py:5883 flatcamTools/ToolFilm.py:419
+#: flatcamGUI/PreferencesUI.py:6371 flatcamTools/ToolFilm.py:421
msgid "Page Orientation"
msgstr "Orientarea paginii"
-#: flatcamGUI/PreferencesUI.py:5896 flatcamTools/ToolFilm.py:432
+#: flatcamGUI/PreferencesUI.py:6384 flatcamTools/ToolFilm.py:434
msgid "Page Size"
msgstr "Mărimea paginii"
-#: flatcamGUI/PreferencesUI.py:5897 flatcamTools/ToolFilm.py:433
+#: flatcamGUI/PreferencesUI.py:6385 flatcamTools/ToolFilm.py:435
msgid "A selection of standard ISO 216 page sizes."
msgstr "O selecție de dimensiuni standard de pagină conform ISO 216."
-#: flatcamGUI/PreferencesUI.py:5969
+#: flatcamGUI/PreferencesUI.py:6457
msgid "Panelize Tool Options"
msgstr "Opțiuni Unealta Panelizare"
-#: flatcamGUI/PreferencesUI.py:5975
+#: flatcamGUI/PreferencesUI.py:6463
msgid ""
"Create an object that contains an array of (x, y) elements,\n"
"each element is a copy of the source object spaced\n"
@@ -11474,11 +11910,11 @@ msgstr ""
"unde fiecare element este o copie a obiectului sursa, separat la o\n"
"distanţă X, Y unul de celalalt."
-#: flatcamGUI/PreferencesUI.py:5992 flatcamTools/ToolPanelize.py:160
+#: flatcamGUI/PreferencesUI.py:6480 flatcamTools/ToolPanelize.py:163
msgid "Spacing cols"
msgstr "Sep. coloane"
-#: flatcamGUI/PreferencesUI.py:5994 flatcamTools/ToolPanelize.py:162
+#: flatcamGUI/PreferencesUI.py:6482 flatcamTools/ToolPanelize.py:165
msgid ""
"Spacing between columns of the desired panel.\n"
"In current units."
@@ -11486,11 +11922,11 @@ msgstr ""
"Spatiul de separare între coloane.\n"
"In unitatile curente."
-#: flatcamGUI/PreferencesUI.py:6006 flatcamTools/ToolPanelize.py:172
+#: flatcamGUI/PreferencesUI.py:6494 flatcamTools/ToolPanelize.py:175
msgid "Spacing rows"
msgstr "Sep. linii"
-#: flatcamGUI/PreferencesUI.py:6008 flatcamTools/ToolPanelize.py:174
+#: flatcamGUI/PreferencesUI.py:6496 flatcamTools/ToolPanelize.py:177
msgid ""
"Spacing between rows of the desired panel.\n"
"In current units."
@@ -11498,36 +11934,31 @@ msgstr ""
"Spatiul de separare între linii.\n"
"In unitatile curente."
-#: flatcamGUI/PreferencesUI.py:6019 flatcamTools/ToolPanelize.py:183
+#: flatcamGUI/PreferencesUI.py:6507 flatcamTools/ToolPanelize.py:186
msgid "Columns"
msgstr "Coloane"
-#: flatcamGUI/PreferencesUI.py:6021 flatcamTools/ToolPanelize.py:185
+#: flatcamGUI/PreferencesUI.py:6509 flatcamTools/ToolPanelize.py:188
msgid "Number of columns of the desired panel"
msgstr "Numărul de coloane ale panel-ului dorit"
-#: flatcamGUI/PreferencesUI.py:6031 flatcamTools/ToolPanelize.py:193
+#: flatcamGUI/PreferencesUI.py:6519 flatcamTools/ToolPanelize.py:196
msgid "Rows"
msgstr "Linii"
-#: flatcamGUI/PreferencesUI.py:6033 flatcamTools/ToolPanelize.py:195
+#: flatcamGUI/PreferencesUI.py:6521 flatcamTools/ToolPanelize.py:198
msgid "Number of rows of the desired panel"
msgstr "Numărul de linii ale panel-ului dorit"
-#: flatcamGUI/PreferencesUI.py:6039 flatcamTools/ToolCalibration.py:196
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolPanelize.py:201
-msgid "Gerber"
-msgstr "Gerber"
-
-#: flatcamGUI/PreferencesUI.py:6040 flatcamTools/ToolPanelize.py:202
+#: flatcamGUI/PreferencesUI.py:6528 flatcamTools/ToolPanelize.py:205
msgid "Geo"
msgstr "Geo"
-#: flatcamGUI/PreferencesUI.py:6041 flatcamTools/ToolPanelize.py:203
+#: flatcamGUI/PreferencesUI.py:6529 flatcamTools/ToolPanelize.py:206
msgid "Panel Type"
msgstr "Tip panel"
-#: flatcamGUI/PreferencesUI.py:6043
+#: flatcamGUI/PreferencesUI.py:6531
msgid ""
"Choose the type of object for the panel object:\n"
"- Gerber\n"
@@ -11537,11 +11968,11 @@ msgstr ""
"- Gerber\n"
"- Geometrie"
-#: flatcamGUI/PreferencesUI.py:6052
+#: flatcamGUI/PreferencesUI.py:6540
msgid "Constrain within"
msgstr "Constrange"
-#: flatcamGUI/PreferencesUI.py:6054 flatcamTools/ToolPanelize.py:215
+#: flatcamGUI/PreferencesUI.py:6542 flatcamTools/ToolPanelize.py:218
msgid ""
"Area define by DX and DY within to constrain the panel.\n"
"DX and DY values are in current units.\n"
@@ -11555,11 +11986,11 @@ msgstr ""
"panelul final va contine numai acel număr de linii/coloane care se inscrie\n"
"complet in aria desemnata."
-#: flatcamGUI/PreferencesUI.py:6067 flatcamTools/ToolPanelize.py:227
+#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolPanelize.py:230
msgid "Width (DX)"
msgstr "Lătime (Dx)"
-#: flatcamGUI/PreferencesUI.py:6069 flatcamTools/ToolPanelize.py:229
+#: flatcamGUI/PreferencesUI.py:6557 flatcamTools/ToolPanelize.py:232
msgid ""
"The width (DX) within which the panel must fit.\n"
"In current units."
@@ -11567,11 +11998,11 @@ msgstr ""
"Lăţimea (Dx) in care panelul trebuie să se inscrie.\n"
"In unitati curente."
-#: flatcamGUI/PreferencesUI.py:6080 flatcamTools/ToolPanelize.py:238
+#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolPanelize.py:241
msgid "Height (DY)"
msgstr "Inăltime (Dy)"
-#: flatcamGUI/PreferencesUI.py:6082 flatcamTools/ToolPanelize.py:240
+#: flatcamGUI/PreferencesUI.py:6570 flatcamTools/ToolPanelize.py:243
msgid ""
"The height (DY)within which the panel must fit.\n"
"In current units."
@@ -11579,15 +12010,15 @@ msgstr ""
"Înălţimea (Dy) in care panelul trebuie să se inscrie.\n"
"In unitati curente."
-#: flatcamGUI/PreferencesUI.py:6096
+#: flatcamGUI/PreferencesUI.py:6584
msgid "Calculators Tool Options"
msgstr "Opțiuni Unealta Calculatoare"
-#: flatcamGUI/PreferencesUI.py:6100 flatcamTools/ToolCalculators.py:25
+#: flatcamGUI/PreferencesUI.py:6588 flatcamTools/ToolCalculators.py:25
msgid "V-Shape Tool Calculator"
msgstr "Calculator Unealta V-Shape"
-#: flatcamGUI/PreferencesUI.py:6102
+#: flatcamGUI/PreferencesUI.py:6590
msgid ""
"Calculate the tool diameter for a given V-shape tool,\n"
"having the tip diameter, tip angle and\n"
@@ -11597,11 +12028,11 @@ msgstr ""
"avand diametrul vârfului și unghiul la vârf cat și\n"
"adâncimea de tăiere, ca parametri."
-#: flatcamGUI/PreferencesUI.py:6117 flatcamTools/ToolCalculators.py:94
+#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolCalculators.py:94
msgid "Tip Diameter"
msgstr "Dia vârf"
-#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolCalculators.py:102
+#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolCalculators.py:102
msgid ""
"This is the tool tip diameter.\n"
"It is specified by manufacturer."
@@ -11609,11 +12040,11 @@ msgstr ""
"Acesta este diametrul la vârf al uneltei.\n"
"Este specificat de producator."
-#: flatcamGUI/PreferencesUI.py:6131 flatcamTools/ToolCalculators.py:105
+#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolCalculators.py:105
msgid "Tip Angle"
msgstr "V-Unghi"
-#: flatcamGUI/PreferencesUI.py:6133
+#: flatcamGUI/PreferencesUI.py:6623
msgid ""
"This is the angle on the tip of the tool.\n"
"It is specified by manufacturer."
@@ -11621,7 +12052,7 @@ msgstr ""
"Acesta este unghiul la vârf al uneltei.\n"
"Este specificat de producator."
-#: flatcamGUI/PreferencesUI.py:6147
+#: flatcamGUI/PreferencesUI.py:6637
msgid ""
"This is depth to cut into material.\n"
"In the CNCJob object it is the CutZ parameter."
@@ -11629,11 +12060,11 @@ msgstr ""
"Aceasta este adâncimea la care se taie in material.\n"
"In obiectul CNCJob este parametrul >Z tăiere<."
-#: flatcamGUI/PreferencesUI.py:6154 flatcamTools/ToolCalculators.py:27
+#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolCalculators.py:27
msgid "ElectroPlating Calculator"
msgstr "Calculator ElectroPlacare"
-#: flatcamGUI/PreferencesUI.py:6156 flatcamTools/ToolCalculators.py:158
+#: flatcamGUI/PreferencesUI.py:6646 flatcamTools/ToolCalculators.py:158
msgid ""
"This calculator is useful for those who plate the via/pad/drill holes,\n"
"using a method like grahite ink or calcium hypophosphite ink or palladium "
@@ -11645,31 +12076,31 @@ msgstr ""
"- clorura paladiu\n"
"- hipofosfit de calciu."
-#: flatcamGUI/PreferencesUI.py:6170 flatcamTools/ToolCalculators.py:167
+#: flatcamGUI/PreferencesUI.py:6657 flatcamTools/ToolCalculators.py:167
msgid "Board Length"
msgstr "Lung. plăcii"
-#: flatcamGUI/PreferencesUI.py:6172 flatcamTools/ToolCalculators.py:173
+#: flatcamGUI/PreferencesUI.py:6659 flatcamTools/ToolCalculators.py:173
msgid "This is the board length. In centimeters."
msgstr ""
"Aceasta este lungimea PCB-ului.\n"
"In centimetri."
-#: flatcamGUI/PreferencesUI.py:6182 flatcamTools/ToolCalculators.py:175
+#: flatcamGUI/PreferencesUI.py:6669 flatcamTools/ToolCalculators.py:175
msgid "Board Width"
msgstr "Lăt. plăcii"
-#: flatcamGUI/PreferencesUI.py:6184 flatcamTools/ToolCalculators.py:181
+#: flatcamGUI/PreferencesUI.py:6671 flatcamTools/ToolCalculators.py:181
msgid "This is the board width.In centimeters."
msgstr ""
"Aceasta este lăţimea PCB-ului.\n"
"In centimetri."
-#: flatcamGUI/PreferencesUI.py:6189 flatcamTools/ToolCalculators.py:183
+#: flatcamGUI/PreferencesUI.py:6676 flatcamTools/ToolCalculators.py:183
msgid "Current Density"
msgstr "Densitate I"
-#: flatcamGUI/PreferencesUI.py:6195 flatcamTools/ToolCalculators.py:190
+#: flatcamGUI/PreferencesUI.py:6682 flatcamTools/ToolCalculators.py:190
msgid ""
"Current density to pass through the board. \n"
"In Amps per Square Feet ASF."
@@ -11677,11 +12108,11 @@ msgstr ""
"Densitatea de curent care să treaca prin placa.\n"
"In ASF (amperi pe picior la patrat)."
-#: flatcamGUI/PreferencesUI.py:6201 flatcamTools/ToolCalculators.py:193
+#: flatcamGUI/PreferencesUI.py:6688 flatcamTools/ToolCalculators.py:193
msgid "Copper Growth"
msgstr "Grosime Cu"
-#: flatcamGUI/PreferencesUI.py:6207 flatcamTools/ToolCalculators.py:200
+#: flatcamGUI/PreferencesUI.py:6694 flatcamTools/ToolCalculators.py:200
msgid ""
"How thick the copper growth is intended to be.\n"
"In microns."
@@ -11689,11 +12120,11 @@ msgstr ""
"Cat de gros se dorește să fie stratul de cupru depus.\n"
"In microni."
-#: flatcamGUI/PreferencesUI.py:6220
+#: flatcamGUI/PreferencesUI.py:6707
msgid "Transform Tool Options"
msgstr "Opțiuni Unealta Transformare"
-#: flatcamGUI/PreferencesUI.py:6226
+#: flatcamGUI/PreferencesUI.py:6713
msgid ""
"Various transformations that can be applied\n"
"on a FlatCAM object."
@@ -11701,19 +12132,19 @@ msgstr ""
"Diverse transformări care pot fi aplicate\n"
"asupra unui obiect FlatCAM."
-#: flatcamGUI/PreferencesUI.py:6257
+#: flatcamGUI/PreferencesUI.py:6744
msgid "Skew"
msgstr "Deformare"
-#: flatcamGUI/PreferencesUI.py:6298 flatcamTools/ToolTransform.py:150
+#: flatcamGUI/PreferencesUI.py:6785 flatcamTools/ToolTransform.py:151
msgid "Factor for scaling on X axis."
msgstr "Factor de scalare pe axa X."
-#: flatcamGUI/PreferencesUI.py:6311 flatcamTools/ToolTransform.py:171
+#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolTransform.py:171
msgid "Factor for scaling on Y axis."
msgstr "Factor de scalare pe axa Y."
-#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolTransform.py:194
+#: flatcamGUI/PreferencesUI.py:6806 flatcamTools/ToolTransform.py:192
msgid ""
"Scale the selected object(s)\n"
"using the Scale_X factor for both axis."
@@ -11721,7 +12152,7 @@ msgstr ""
"Scalează obiectele selectate folosind\n"
"Factor Scal_X pentru ambele axe."
-#: flatcamGUI/PreferencesUI.py:6327 flatcamTools/ToolTransform.py:202
+#: flatcamGUI/PreferencesUI.py:6814 flatcamTools/ToolTransform.py:199
msgid ""
"Scale the selected object(s)\n"
"using the origin reference when checked,\n"
@@ -11734,32 +12165,32 @@ msgstr ""
"centrul formei inconjuatoare care cuprinde\n"
"toate obiectele selectate."
-#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolTransform.py:217
+#: flatcamGUI/PreferencesUI.py:6830 flatcamTools/ToolTransform.py:218
msgid "X val"
msgstr "Val X"
-#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolTransform.py:219
+#: flatcamGUI/PreferencesUI.py:6832 flatcamTools/ToolTransform.py:220
msgid "Distance to offset on X axis. In current units."
msgstr "Distanta la care se face ofset pe axa X. In unitatile curente."
-#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolTransform.py:238
+#: flatcamGUI/PreferencesUI.py:6843 flatcamTools/ToolTransform.py:238
msgid "Y val"
msgstr "Val Y"
-#: flatcamGUI/PreferencesUI.py:6358 flatcamTools/ToolTransform.py:240
+#: flatcamGUI/PreferencesUI.py:6845 flatcamTools/ToolTransform.py:240
msgid "Distance to offset on Y axis. In current units."
msgstr "Distanta la care se face ofset pe axa Y. In unitatile curente."
-#: flatcamGUI/PreferencesUI.py:6364 flatcamTools/ToolDblSided.py:62
-#: flatcamTools/ToolDblSided.py:90 flatcamTools/ToolDblSided.py:120
+#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolDblSided.py:68
+#: flatcamTools/ToolDblSided.py:96 flatcamTools/ToolDblSided.py:126
msgid "Mirror"
msgstr "Oglindește"
-#: flatcamGUI/PreferencesUI.py:6368 flatcamTools/ToolTransform.py:285
+#: flatcamGUI/PreferencesUI.py:6855 flatcamTools/ToolTransform.py:284
msgid "Mirror Reference"
msgstr "Referinţă Oglindire"
-#: flatcamGUI/PreferencesUI.py:6370 flatcamTools/ToolTransform.py:287
+#: flatcamGUI/PreferencesUI.py:6857 flatcamTools/ToolTransform.py:286
msgid ""
"Flip the selected object(s)\n"
"around the point in Point Entry Field.\n"
@@ -11782,11 +12213,11 @@ msgstr ""
"in forma (x, y).\n"
"La final apasă butonul de oglindire pe axa dorită"
-#: flatcamGUI/PreferencesUI.py:6381
+#: flatcamGUI/PreferencesUI.py:6868
msgid "Mirror Reference point"
msgstr "Punct referinţă Oglindire"
-#: flatcamGUI/PreferencesUI.py:6383
+#: flatcamGUI/PreferencesUI.py:6870
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
@@ -11797,12 +12228,12 @@ msgstr ""
"X din (x,y) se va folosi când se face oglindirea pe axa X\n"
"Y din (x,y) se va folosi când se face oglindirea pe axa Y si"
-#: flatcamGUI/PreferencesUI.py:6396 flatcamTools/ToolDistance.py:355
-#: flatcamTools/ToolDistanceMin.py:284 flatcamTools/ToolTransform.py:332
+#: flatcamGUI/PreferencesUI.py:6883 flatcamTools/ToolDistance.py:496
+#: flatcamTools/ToolDistanceMin.py:287 flatcamTools/ToolTransform.py:333
msgid "Distance"
msgstr "Distanță"
-#: flatcamGUI/PreferencesUI.py:6398 flatcamTools/ToolTransform.py:334
+#: flatcamGUI/PreferencesUI.py:6885 flatcamTools/ToolTransform.py:335
msgid ""
"A positive value will create the effect of dilation,\n"
"while a negative value will create the effect of erosion.\n"
@@ -11814,12 +12245,26 @@ msgstr ""
"Fiecare element de geometrie al obiectului va fi mărit\n"
"sau scăzut proportional cu „distanța”."
-#: flatcamGUI/PreferencesUI.py:6414 flatcamGUI/PreferencesUI.py:7057
-#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:361
+#: flatcamGUI/PreferencesUI.py:6902 flatcamTools/ToolTransform.py:360
+msgid ""
+"A positive value will create the effect of dilation,\n"
+"while a negative value will create the effect of erosion.\n"
+"Each geometry element of the object will be increased\n"
+"or decreased to fit the 'Value'. Value is a percentage\n"
+"of the initial dimension."
+msgstr ""
+"O valoare pozitivă va crea efectul dilatării,\n"
+"în timp ce o valoare negativă va crea efectul eroziunii.\n"
+"Fiecare element de geometrie al obiectului va fi mărit\n"
+"sau scăzut proportional cu „distanța”. Valoarea este\n"
+"un procent din dimensiunea initială."
+
+#: flatcamGUI/PreferencesUI.py:6919 flatcamGUI/PreferencesUI.py:7563
+#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:384
msgid "Rounded"
msgstr "Rotunjit"
-#: flatcamGUI/PreferencesUI.py:6416 flatcamTools/ToolTransform.py:363
+#: flatcamGUI/PreferencesUI.py:6921 flatcamTools/ToolTransform.py:386
msgid ""
"If checked then the buffer will surround the buffered shape,\n"
"every corner will be rounded.\n"
@@ -11831,11 +12276,11 @@ msgstr ""
"Dacă nu este bifat, bufferul va urma geometria exactă\n"
"de forma tamponată."
-#: flatcamGUI/PreferencesUI.py:6434
+#: flatcamGUI/PreferencesUI.py:6938
msgid "SolderPaste Tool Options"
msgstr "Opțiuni Unealta Pasta Fludor"
-#: flatcamGUI/PreferencesUI.py:6440
+#: flatcamGUI/PreferencesUI.py:6944
msgid ""
"A tool to create GCode for dispensing\n"
"solder paste onto a PCB."
@@ -11843,49 +12288,45 @@ msgstr ""
"O unealtă care crează cod G-Code pentru dispensarea de pastă de fludor\n"
"pe padurile unui PCB."
-#: flatcamGUI/PreferencesUI.py:6451
-msgid "Diameters of nozzle tools, separated by ','"
-msgstr "Diametrele uneltelor (nozzle), separate prin virgula."
-
-#: flatcamGUI/PreferencesUI.py:6459
+#: flatcamGUI/PreferencesUI.py:6965
msgid "New Nozzle Dia"
msgstr "Dia nou"
-#: flatcamGUI/PreferencesUI.py:6461 flatcamTools/ToolSolderPaste.py:106
+#: flatcamGUI/PreferencesUI.py:6967 flatcamTools/ToolSolderPaste.py:108
msgid "Diameter for the new Nozzle tool to add in the Tool Table"
msgstr ""
"Valoarea pentru diametrul unei noi unelte (nozzle) pentru adaugare in Tabela "
"de Unelte"
-#: flatcamGUI/PreferencesUI.py:6477 flatcamTools/ToolSolderPaste.py:182
+#: flatcamGUI/PreferencesUI.py:6983 flatcamTools/ToolSolderPaste.py:184
msgid "Z Dispense Start"
msgstr "Z start dispensare"
-#: flatcamGUI/PreferencesUI.py:6479 flatcamTools/ToolSolderPaste.py:184
+#: flatcamGUI/PreferencesUI.py:6985 flatcamTools/ToolSolderPaste.py:186
msgid "The height (Z) when solder paste dispensing starts."
msgstr "Înălţimea (Z) când incepe dispensarea de pastă de fludor."
-#: flatcamGUI/PreferencesUI.py:6490 flatcamTools/ToolSolderPaste.py:194
+#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolSolderPaste.py:196
msgid "Z Dispense"
msgstr "Z dispensare"
-#: flatcamGUI/PreferencesUI.py:6492 flatcamTools/ToolSolderPaste.py:196
+#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolSolderPaste.py:198
msgid "The height (Z) when doing solder paste dispensing."
msgstr "Înălţimea (Z) in timp ce se face dispensarea de pastă de fludor."
-#: flatcamGUI/PreferencesUI.py:6503 flatcamTools/ToolSolderPaste.py:206
+#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolSolderPaste.py:208
msgid "Z Dispense Stop"
msgstr "Z stop dispensare"
-#: flatcamGUI/PreferencesUI.py:6505 flatcamTools/ToolSolderPaste.py:208
+#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolSolderPaste.py:210
msgid "The height (Z) when solder paste dispensing stops."
msgstr "Înălţimea (Z) când se opreste dispensarea de pastă de fludor."
-#: flatcamGUI/PreferencesUI.py:6516 flatcamTools/ToolSolderPaste.py:218
+#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolSolderPaste.py:220
msgid "Z Travel"
msgstr "Z deplasare"
-#: flatcamGUI/PreferencesUI.py:6518 flatcamTools/ToolSolderPaste.py:220
+#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolSolderPaste.py:222
msgid ""
"The height (Z) for travel between pads\n"
"(without dispensing solder paste)."
@@ -11893,15 +12334,15 @@ msgstr ""
"Înălţimea (Z) când se face deplasare între pad-uri.\n"
"(fără dispensare de pastă de fludor)."
-#: flatcamGUI/PreferencesUI.py:6530 flatcamTools/ToolSolderPaste.py:231
+#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolSolderPaste.py:233
msgid "Z Toolchange"
msgstr "Z schimb. unealtă"
-#: flatcamGUI/PreferencesUI.py:6532 flatcamTools/ToolSolderPaste.py:233
+#: flatcamGUI/PreferencesUI.py:7038 flatcamTools/ToolSolderPaste.py:235
msgid "The height (Z) for tool (nozzle) change."
msgstr "Înălţimea (Z) când se schimbă unealta (nozzle-ul)."
-#: flatcamGUI/PreferencesUI.py:6541 flatcamTools/ToolSolderPaste.py:241
+#: flatcamGUI/PreferencesUI.py:7047 flatcamTools/ToolSolderPaste.py:243
msgid ""
"The X,Y location for tool (nozzle) change.\n"
"The format is (x, y) where x and y are real numbers."
@@ -11909,22 +12350,22 @@ msgstr ""
"Coordonatele X, Y pentru schimbarea uneltei (nozzle).\n"
"Formatul este (x,y) unde x și y sunt numere Reale."
-#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolSolderPaste.py:254
+#: flatcamGUI/PreferencesUI.py:7061 flatcamTools/ToolSolderPaste.py:256
msgid "Feedrate (speed) while moving on the X-Y plane."
msgstr "Viteza de deplasare a uneltei când se deplasează in planul X-Y."
-#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolSolderPaste.py:266
+#: flatcamGUI/PreferencesUI.py:7074 flatcamTools/ToolSolderPaste.py:268
msgid ""
"Feedrate (speed) while moving vertically\n"
"(on Z plane)."
msgstr ""
"Viteza de deplasare a uneltei când se misca in plan vertical (planul Z)."
-#: flatcamGUI/PreferencesUI.py:6580 flatcamTools/ToolSolderPaste.py:277
+#: flatcamGUI/PreferencesUI.py:7086 flatcamTools/ToolSolderPaste.py:279
msgid "Feedrate Z Dispense"
msgstr "Feedrate Z dispensare"
-#: flatcamGUI/PreferencesUI.py:6582
+#: flatcamGUI/PreferencesUI.py:7088
msgid ""
"Feedrate (speed) while moving up vertically\n"
"to Dispense position (on Z plane)."
@@ -11932,11 +12373,11 @@ msgstr ""
"Viteza de deplasare la mișcarea pe verticala spre\n"
"poziţia de dispensare (in planul Z)."
-#: flatcamGUI/PreferencesUI.py:6593 flatcamTools/ToolSolderPaste.py:289
+#: flatcamGUI/PreferencesUI.py:7099 flatcamTools/ToolSolderPaste.py:291
msgid "Spindle Speed FWD"
msgstr "Viteza motor inainte"
-#: flatcamGUI/PreferencesUI.py:6595 flatcamTools/ToolSolderPaste.py:291
+#: flatcamGUI/PreferencesUI.py:7101 flatcamTools/ToolSolderPaste.py:293
msgid ""
"The dispenser speed while pushing solder paste\n"
"through the dispenser nozzle."
@@ -11944,19 +12385,19 @@ msgstr ""
"Viteza motorului de dispensare in timp ce impinge pastă de fludor\n"
"prin orificiul uneltei de dispensare."
-#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolSolderPaste.py:302
+#: flatcamGUI/PreferencesUI.py:7113 flatcamTools/ToolSolderPaste.py:304
msgid "Dwell FWD"
msgstr "Pauza FWD"
-#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolSolderPaste.py:304
+#: flatcamGUI/PreferencesUI.py:7115 flatcamTools/ToolSolderPaste.py:306
msgid "Pause after solder dispensing."
msgstr "Pauza dupa dispensarea de pastă de fludor."
-#: flatcamGUI/PreferencesUI.py:6619 flatcamTools/ToolSolderPaste.py:313
+#: flatcamGUI/PreferencesUI.py:7125 flatcamTools/ToolSolderPaste.py:315
msgid "Spindle Speed REV"
msgstr "Viteza motor inapoi"
-#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolSolderPaste.py:315
+#: flatcamGUI/PreferencesUI.py:7127 flatcamTools/ToolSolderPaste.py:317
msgid ""
"The dispenser speed while retracting solder paste\n"
"through the dispenser nozzle."
@@ -11964,11 +12405,11 @@ msgstr ""
"Viteza motorului de dispensare in timp ce retrage pasta de fludor\n"
"prin orificiul uneltei de dispensare."
-#: flatcamGUI/PreferencesUI.py:6633 flatcamTools/ToolSolderPaste.py:326
+#: flatcamGUI/PreferencesUI.py:7139 flatcamTools/ToolSolderPaste.py:328
msgid "Dwell REV"
msgstr "Pauza REV"
-#: flatcamGUI/PreferencesUI.py:6635 flatcamTools/ToolSolderPaste.py:328
+#: flatcamGUI/PreferencesUI.py:7141 flatcamTools/ToolSolderPaste.py:330
msgid ""
"Pause after solder paste dispenser retracted,\n"
"to allow pressure equilibrium."
@@ -11976,15 +12417,15 @@ msgstr ""
"Pauza dupa ce pasta de fludor a fost retrasă,\n"
"necesară pt a ajunge la un echilibru al presiunilor."
-#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolSolderPaste.py:336
+#: flatcamGUI/PreferencesUI.py:7150 flatcamTools/ToolSolderPaste.py:338
msgid "Files that control the GCode generation."
msgstr "Fişiere care controlează generarea codului G-Code."
-#: flatcamGUI/PreferencesUI.py:6659
+#: flatcamGUI/PreferencesUI.py:7165
msgid "Substractor Tool Options"
msgstr "Opțiuni Unealta Substracţie"
-#: flatcamGUI/PreferencesUI.py:6665
+#: flatcamGUI/PreferencesUI.py:7171
msgid ""
"A tool to substract one Gerber or Geometry object\n"
"from another of the same type."
@@ -11992,22 +12433,22 @@ msgstr ""
"O unealtă pentru scăderea unui obiect Gerber sau Geometry\n"
"din altul de același tip."
-#: flatcamGUI/PreferencesUI.py:6670 flatcamTools/ToolSub.py:149
+#: flatcamGUI/PreferencesUI.py:7176 flatcamTools/ToolSub.py:155
msgid "Close paths"
msgstr "Închide căile"
-#: flatcamGUI/PreferencesUI.py:6671
+#: flatcamGUI/PreferencesUI.py:7177
msgid ""
"Checking this will close the paths cut by the Geometry substractor object."
msgstr ""
"Verificând aceasta, se vor închide căile tăiate de obiectul tăietor de tip "
"Geometrie."
-#: flatcamGUI/PreferencesUI.py:6682
+#: flatcamGUI/PreferencesUI.py:7188
msgid "Check Rules Tool Options"
msgstr "Opțiuni Unealta Verificare Reguli"
-#: flatcamGUI/PreferencesUI.py:6687
+#: flatcamGUI/PreferencesUI.py:7193
msgid ""
"A tool to check if Gerber files are within a set\n"
"of Manufacturing Rules."
@@ -12015,38 +12456,38 @@ msgstr ""
"Un instrument pentru a verifica dacă fișierele Gerber se află într-un set\n"
"de Norme de fabricație."
-#: flatcamGUI/PreferencesUI.py:6697 flatcamTools/ToolRulesCheck.py:256
-#: flatcamTools/ToolRulesCheck.py:920
+#: flatcamGUI/PreferencesUI.py:7203 flatcamTools/ToolRulesCheck.py:265
+#: flatcamTools/ToolRulesCheck.py:929
msgid "Trace Size"
msgstr "Dim. traseu"
-#: flatcamGUI/PreferencesUI.py:6699 flatcamTools/ToolRulesCheck.py:258
+#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolRulesCheck.py:267
msgid "This checks if the minimum size for traces is met."
msgstr "Aceasta verifică dacă dimensiunea minimă a traseelor este respectată."
-#: flatcamGUI/PreferencesUI.py:6709 flatcamGUI/PreferencesUI.py:6729
-#: flatcamGUI/PreferencesUI.py:6749 flatcamGUI/PreferencesUI.py:6769
-#: flatcamGUI/PreferencesUI.py:6789 flatcamGUI/PreferencesUI.py:6809
-#: flatcamGUI/PreferencesUI.py:6829 flatcamGUI/PreferencesUI.py:6849
-#: flatcamGUI/PreferencesUI.py:6871 flatcamGUI/PreferencesUI.py:6891
-#: flatcamTools/ToolRulesCheck.py:268 flatcamTools/ToolRulesCheck.py:290
-#: flatcamTools/ToolRulesCheck.py:313 flatcamTools/ToolRulesCheck.py:336
-#: flatcamTools/ToolRulesCheck.py:359 flatcamTools/ToolRulesCheck.py:382
-#: flatcamTools/ToolRulesCheck.py:405 flatcamTools/ToolRulesCheck.py:428
-#: flatcamTools/ToolRulesCheck.py:453 flatcamTools/ToolRulesCheck.py:476
+#: flatcamGUI/PreferencesUI.py:7215 flatcamGUI/PreferencesUI.py:7235
+#: flatcamGUI/PreferencesUI.py:7255 flatcamGUI/PreferencesUI.py:7275
+#: flatcamGUI/PreferencesUI.py:7295 flatcamGUI/PreferencesUI.py:7315
+#: flatcamGUI/PreferencesUI.py:7335 flatcamGUI/PreferencesUI.py:7355
+#: flatcamGUI/PreferencesUI.py:7377 flatcamGUI/PreferencesUI.py:7397
+#: flatcamTools/ToolRulesCheck.py:277 flatcamTools/ToolRulesCheck.py:299
+#: flatcamTools/ToolRulesCheck.py:322 flatcamTools/ToolRulesCheck.py:345
+#: flatcamTools/ToolRulesCheck.py:368 flatcamTools/ToolRulesCheck.py:391
+#: flatcamTools/ToolRulesCheck.py:414 flatcamTools/ToolRulesCheck.py:437
+#: flatcamTools/ToolRulesCheck.py:462 flatcamTools/ToolRulesCheck.py:485
msgid "Min value"
msgstr "Val. min"
-#: flatcamGUI/PreferencesUI.py:6711 flatcamTools/ToolRulesCheck.py:270
+#: flatcamGUI/PreferencesUI.py:7217 flatcamTools/ToolRulesCheck.py:279
msgid "Minimum acceptable trace size."
msgstr "Dimensiunea minimă acceptabilă a traseelor."
-#: flatcamGUI/PreferencesUI.py:6716 flatcamTools/ToolRulesCheck.py:277
-#: flatcamTools/ToolRulesCheck.py:1148 flatcamTools/ToolRulesCheck.py:1178
+#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolRulesCheck.py:286
+#: flatcamTools/ToolRulesCheck.py:1157 flatcamTools/ToolRulesCheck.py:1187
msgid "Copper to Copper clearance"
msgstr "Distanta de la cupru până la cupru"
-#: flatcamGUI/PreferencesUI.py:6718 flatcamTools/ToolRulesCheck.py:279
+#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolRulesCheck.py:288
msgid ""
"This checks if the minimum clearance between copper\n"
"features is met."
@@ -12054,23 +12495,23 @@ msgstr ""
"Aceasta verifică dacă distanța minimă dintre traseele cupru\n"
"este îndeplinita."
-#: flatcamGUI/PreferencesUI.py:6731 flatcamGUI/PreferencesUI.py:6751
-#: flatcamGUI/PreferencesUI.py:6771 flatcamGUI/PreferencesUI.py:6791
-#: flatcamGUI/PreferencesUI.py:6811 flatcamGUI/PreferencesUI.py:6831
-#: flatcamGUI/PreferencesUI.py:6893 flatcamTools/ToolRulesCheck.py:292
-#: flatcamTools/ToolRulesCheck.py:315 flatcamTools/ToolRulesCheck.py:338
-#: flatcamTools/ToolRulesCheck.py:361 flatcamTools/ToolRulesCheck.py:384
-#: flatcamTools/ToolRulesCheck.py:407 flatcamTools/ToolRulesCheck.py:455
+#: flatcamGUI/PreferencesUI.py:7237 flatcamGUI/PreferencesUI.py:7257
+#: flatcamGUI/PreferencesUI.py:7277 flatcamGUI/PreferencesUI.py:7297
+#: flatcamGUI/PreferencesUI.py:7317 flatcamGUI/PreferencesUI.py:7337
+#: flatcamGUI/PreferencesUI.py:7399 flatcamTools/ToolRulesCheck.py:301
+#: flatcamTools/ToolRulesCheck.py:324 flatcamTools/ToolRulesCheck.py:347
+#: flatcamTools/ToolRulesCheck.py:370 flatcamTools/ToolRulesCheck.py:393
+#: flatcamTools/ToolRulesCheck.py:416 flatcamTools/ToolRulesCheck.py:464
msgid "Minimum acceptable clearance value."
msgstr "Valoarea minimă acceptabilă a distantei."
-#: flatcamGUI/PreferencesUI.py:6736 flatcamTools/ToolRulesCheck.py:300
-#: flatcamTools/ToolRulesCheck.py:1208 flatcamTools/ToolRulesCheck.py:1214
-#: flatcamTools/ToolRulesCheck.py:1227 flatcamTools/ToolRulesCheck.py:1234
+#: flatcamGUI/PreferencesUI.py:7242 flatcamTools/ToolRulesCheck.py:309
+#: flatcamTools/ToolRulesCheck.py:1217 flatcamTools/ToolRulesCheck.py:1223
+#: flatcamTools/ToolRulesCheck.py:1236 flatcamTools/ToolRulesCheck.py:1243
msgid "Copper to Outline clearance"
msgstr "Distanta de la Cupru până la contur"
-#: flatcamGUI/PreferencesUI.py:6738 flatcamTools/ToolRulesCheck.py:302
+#: flatcamGUI/PreferencesUI.py:7244 flatcamTools/ToolRulesCheck.py:311
msgid ""
"This checks if the minimum clearance between copper\n"
"features and the outline is met."
@@ -12078,11 +12519,11 @@ msgstr ""
"Aceasta verifică dacă distanța minimă dintre\n"
"traseele de cupru și conturul este îndeplinit."
-#: flatcamGUI/PreferencesUI.py:6756 flatcamTools/ToolRulesCheck.py:323
+#: flatcamGUI/PreferencesUI.py:7262 flatcamTools/ToolRulesCheck.py:332
msgid "Silk to Silk Clearance"
msgstr "Distanta Silk până la Silk Clearance"
-#: flatcamGUI/PreferencesUI.py:6758 flatcamTools/ToolRulesCheck.py:325
+#: flatcamGUI/PreferencesUI.py:7264 flatcamTools/ToolRulesCheck.py:334
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and silkscreen features is met."
@@ -12090,13 +12531,13 @@ msgstr ""
"Acest lucru verifică dacă distanța minimă între silk (anotari)\n"
"sunt îndeplinite."
-#: flatcamGUI/PreferencesUI.py:6776 flatcamTools/ToolRulesCheck.py:346
-#: flatcamTools/ToolRulesCheck.py:1317 flatcamTools/ToolRulesCheck.py:1323
-#: flatcamTools/ToolRulesCheck.py:1341
+#: flatcamGUI/PreferencesUI.py:7282 flatcamTools/ToolRulesCheck.py:355
+#: flatcamTools/ToolRulesCheck.py:1326 flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1350
msgid "Silk to Solder Mask Clearance"
msgstr "Distanta intre Silk (anotari) si Solder mask (masca fludor)"
-#: flatcamGUI/PreferencesUI.py:6778 flatcamTools/ToolRulesCheck.py:348
+#: flatcamGUI/PreferencesUI.py:7284 flatcamTools/ToolRulesCheck.py:357
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and soldermask features is met."
@@ -12104,13 +12545,13 @@ msgstr ""
"Acest lucru verifică dacă distanța minimă între Silk (anotari)\n"
"și Solder Mask (masca de fludor) este îndeplinită."
-#: flatcamGUI/PreferencesUI.py:6796 flatcamTools/ToolRulesCheck.py:369
-#: flatcamTools/ToolRulesCheck.py:1371 flatcamTools/ToolRulesCheck.py:1377
-#: flatcamTools/ToolRulesCheck.py:1391 flatcamTools/ToolRulesCheck.py:1398
+#: flatcamGUI/PreferencesUI.py:7302 flatcamTools/ToolRulesCheck.py:378
+#: flatcamTools/ToolRulesCheck.py:1380 flatcamTools/ToolRulesCheck.py:1386
+#: flatcamTools/ToolRulesCheck.py:1400 flatcamTools/ToolRulesCheck.py:1407
msgid "Silk to Outline Clearance"
msgstr "Distanta Silk (anotari) si Contur"
-#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolRulesCheck.py:371
+#: flatcamGUI/PreferencesUI.py:7304 flatcamTools/ToolRulesCheck.py:380
msgid ""
"This checks if the minimum clearance between silk\n"
"features and the outline is met."
@@ -12118,14 +12559,14 @@ msgstr ""
"Acest lucru verifică dacă distanța minimă dintre Silk (anotari)\n"
"și Contur este îndeplinită."
-#: flatcamGUI/PreferencesUI.py:6816 flatcamTools/ToolRulesCheck.py:392
-#: flatcamTools/ToolRulesCheck.py:1409 flatcamTools/ToolRulesCheck.py:1436
+#: flatcamGUI/PreferencesUI.py:7322 flatcamTools/ToolRulesCheck.py:401
+#: flatcamTools/ToolRulesCheck.py:1418 flatcamTools/ToolRulesCheck.py:1445
msgid "Minimum Solder Mask Sliver"
msgstr ""
"Dim. minima a separatorului din Solder Mask\n"
"(masca de fludor)"
-#: flatcamGUI/PreferencesUI.py:6818 flatcamTools/ToolRulesCheck.py:394
+#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolRulesCheck.py:403
msgid ""
"This checks if the minimum clearance between soldermask\n"
"features and soldermask features is met."
@@ -12133,13 +12574,13 @@ msgstr ""
"Acest lucru verifică dacă distanta minimă între\n"
"elementele soldermask (masca de fludor) este îndeplinită."
-#: flatcamGUI/PreferencesUI.py:6836 flatcamTools/ToolRulesCheck.py:415
-#: flatcamTools/ToolRulesCheck.py:1474 flatcamTools/ToolRulesCheck.py:1480
-#: flatcamTools/ToolRulesCheck.py:1496 flatcamTools/ToolRulesCheck.py:1503
+#: flatcamGUI/PreferencesUI.py:7342 flatcamTools/ToolRulesCheck.py:424
+#: flatcamTools/ToolRulesCheck.py:1483 flatcamTools/ToolRulesCheck.py:1489
+#: flatcamTools/ToolRulesCheck.py:1505 flatcamTools/ToolRulesCheck.py:1512
msgid "Minimum Annular Ring"
msgstr "Inel anular minim"
-#: flatcamGUI/PreferencesUI.py:6838 flatcamTools/ToolRulesCheck.py:417
+#: flatcamGUI/PreferencesUI.py:7344 flatcamTools/ToolRulesCheck.py:426
msgid ""
"This checks if the minimum copper ring left by drilling\n"
"a hole into a pad is met."
@@ -12147,16 +12588,16 @@ msgstr ""
"Acest lucru verifică dacă inelul de cupru minim rămas prin găurire\n"
"unde se întâlnește o gaură cu pad-ul depășește valoarea minimă."
-#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolRulesCheck.py:430
+#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolRulesCheck.py:439
msgid "Minimum acceptable ring value."
msgstr "Valoarea minimă acceptabilă a inelului."
-#: flatcamGUI/PreferencesUI.py:6858 flatcamTools/ToolRulesCheck.py:440
-#: flatcamTools/ToolRulesCheck.py:864
+#: flatcamGUI/PreferencesUI.py:7364 flatcamTools/ToolRulesCheck.py:449
+#: flatcamTools/ToolRulesCheck.py:873
msgid "Hole to Hole Clearance"
msgstr "Distanta de la Gaură la Gaură"
-#: flatcamGUI/PreferencesUI.py:6860 flatcamTools/ToolRulesCheck.py:442
+#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolRulesCheck.py:451
msgid ""
"This checks if the minimum clearance between a drill hole\n"
"and another drill hole is met."
@@ -12164,16 +12605,16 @@ msgstr ""
"Acest lucru verifică dacă distanța minimă dintre o gaură\n"
"și o altă gaură este îndeplinită."
-#: flatcamGUI/PreferencesUI.py:6873 flatcamTools/ToolRulesCheck.py:478
+#: flatcamGUI/PreferencesUI.py:7379 flatcamTools/ToolRulesCheck.py:487
msgid "Minimum acceptable drill size."
msgstr "Dimensiunea minimă acceptabilă a gaurii."
-#: flatcamGUI/PreferencesUI.py:6878 flatcamTools/ToolRulesCheck.py:463
-#: flatcamTools/ToolRulesCheck.py:838
+#: flatcamGUI/PreferencesUI.py:7384 flatcamTools/ToolRulesCheck.py:472
+#: flatcamTools/ToolRulesCheck.py:847
msgid "Hole Size"
msgstr "Dimens. gaura"
-#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolRulesCheck.py:465
+#: flatcamGUI/PreferencesUI.py:7386 flatcamTools/ToolRulesCheck.py:474
msgid ""
"This checks if the drill holes\n"
"sizes are above the threshold."
@@ -12181,11 +12622,11 @@ msgstr ""
"Acest lucru verifică dacă\n"
"dimensiunile găurilor sunt peste prag."
-#: flatcamGUI/PreferencesUI.py:6905
+#: flatcamGUI/PreferencesUI.py:7411
msgid "Optimal Tool Options"
msgstr "Opțiuni Unealta Optim"
-#: flatcamGUI/PreferencesUI.py:6911
+#: flatcamGUI/PreferencesUI.py:7417
msgid ""
"A tool to find the minimum distance between\n"
"every two Gerber geometric elements"
@@ -12193,20 +12634,20 @@ msgstr ""
"Un instrument pentru a găsi distanța minimă între\n"
"la fiecare două elemente geometrice Gerber"
-#: flatcamGUI/PreferencesUI.py:6926 flatcamTools/ToolOptimal.py:78
+#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolOptimal.py:79
msgid "Precision"
msgstr "Precizie"
-#: flatcamGUI/PreferencesUI.py:6928
+#: flatcamGUI/PreferencesUI.py:7434
msgid "Number of decimals for the distances and coordinates in this tool."
msgstr ""
"Numărul de zecimale pentru distanțele și coordonatele din acest instrument."
-#: flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7448
msgid "QRCode Tool Options"
msgstr "Opțiuni Unealta QRCode"
-#: flatcamGUI/PreferencesUI.py:6948
+#: flatcamGUI/PreferencesUI.py:7454
msgid ""
"A tool to create a QRCode that can be inserted\n"
"into a selected Gerber file, or it can be exported as a file."
@@ -12214,11 +12655,11 @@ msgstr ""
"O unealta pentru a crea un cod QRC care poate fi inserat\n"
"într-un fișier Gerber selectat sau care poate fi exportat ca fișier."
-#: flatcamGUI/PreferencesUI.py:6960 flatcamTools/ToolQRCode.py:99
+#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolQRCode.py:100
msgid "Version"
msgstr "Versiune"
-#: flatcamGUI/PreferencesUI.py:6962 flatcamTools/ToolQRCode.py:101
+#: flatcamGUI/PreferencesUI.py:7468 flatcamTools/ToolQRCode.py:102
msgid ""
"QRCode version can have values from 1 (21x21 boxes)\n"
"to 40 (177x177 boxes)."
@@ -12226,12 +12667,12 @@ msgstr ""
"Versiunea QRCode poate avea valori de la 1 (21x21 elemente)\n"
"la 40 (177x177 elemente)."
-#: flatcamGUI/PreferencesUI.py:6973 flatcamTools/ToolQRCode.py:112
+#: flatcamGUI/PreferencesUI.py:7479 flatcamTools/ToolQRCode.py:113
msgid "Error correction"
msgstr "Corectarea erorii"
-#: flatcamGUI/PreferencesUI.py:6975 flatcamGUI/PreferencesUI.py:6986
-#: flatcamTools/ToolQRCode.py:114 flatcamTools/ToolQRCode.py:125
+#: flatcamGUI/PreferencesUI.py:7481 flatcamGUI/PreferencesUI.py:7492
+#: flatcamTools/ToolQRCode.py:115 flatcamTools/ToolQRCode.py:126
#, python-format
msgid ""
"Parameter that controls the error correction used for the QR Code.\n"
@@ -12246,11 +12687,11 @@ msgstr ""
"Q = erorile maxime de 25%% pot fi corectate\n"
"H = maxim 30%% erorile pot fi corectate."
-#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolQRCode.py:135
+#: flatcamGUI/PreferencesUI.py:7502 flatcamTools/ToolQRCode.py:136
msgid "Box Size"
msgstr "Dim. Element"
-#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolQRCode.py:137
+#: flatcamGUI/PreferencesUI.py:7504 flatcamTools/ToolQRCode.py:138
msgid ""
"Box size control the overall size of the QRcode\n"
"by adjusting the size of each box in the code."
@@ -12258,11 +12699,11 @@ msgstr ""
"Dimensiunea Element controlează dimensiunea generală a codului QR\n"
"prin ajustarea dimensiunii fiecărui element din cod."
-#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolQRCode.py:148
+#: flatcamGUI/PreferencesUI.py:7515 flatcamTools/ToolQRCode.py:149
msgid "Border Size"
msgstr "Dim Bordură"
-#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolQRCode.py:150
+#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolQRCode.py:151
msgid ""
"Size of the QRCode border. How many boxes thick is the border.\n"
"Default value is 4. The width of the clearance around the QRCode."
@@ -12270,23 +12711,23 @@ msgstr ""
"Dimensiunea chenarului QRCode. Câte elemente va contine bordura.\n"
"Valoarea implicită este 4. Lățimea spatiului liber în jurul codului QRC."
-#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolQRCode.py:162
+#: flatcamGUI/PreferencesUI.py:7528 flatcamTools/ToolQRCode.py:162
msgid "QRCode Data"
msgstr "Date QRCode"
-#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolQRCode.py:164
+#: flatcamGUI/PreferencesUI.py:7530 flatcamTools/ToolQRCode.py:164
msgid "QRCode Data. Alphanumeric text to be encoded in the QRCode."
msgstr "Date QRCode. Text alfanumeric care va fi codat în codul QRC."
-#: flatcamGUI/PreferencesUI.py:7028 flatcamTools/ToolQRCode.py:168
+#: flatcamGUI/PreferencesUI.py:7534 flatcamTools/ToolQRCode.py:168
msgid "Add here the text to be included in the QRCode..."
msgstr "Adăugați aici textul care va fi inclus în codul QR ..."
-#: flatcamGUI/PreferencesUI.py:7034 flatcamTools/ToolQRCode.py:174
+#: flatcamGUI/PreferencesUI.py:7540 flatcamTools/ToolQRCode.py:174
msgid "Polarity"
msgstr "Polaritate"
-#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolQRCode.py:176
+#: flatcamGUI/PreferencesUI.py:7542 flatcamTools/ToolQRCode.py:176
msgid ""
"Choose the polarity of the QRCode.\n"
"It can be drawn in a negative way (squares are clear)\n"
@@ -12296,17 +12737,17 @@ msgstr ""
"Poate fi desenat într-un mod negativ (pătratele sunt clare)\n"
"sau într-un mod pozitiv (pătratele sunt opace)."
-#: flatcamGUI/PreferencesUI.py:7040 flatcamTools/ToolFilm.py:296
+#: flatcamGUI/PreferencesUI.py:7546 flatcamTools/ToolFilm.py:296
#: flatcamTools/ToolQRCode.py:180
msgid "Negative"
msgstr "Negativ"
-#: flatcamGUI/PreferencesUI.py:7041 flatcamTools/ToolFilm.py:295
+#: flatcamGUI/PreferencesUI.py:7547 flatcamTools/ToolFilm.py:295
#: flatcamTools/ToolQRCode.py:181
msgid "Positive"
msgstr "Pozitiv"
-#: flatcamGUI/PreferencesUI.py:7043 flatcamTools/ToolQRCode.py:183
+#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolQRCode.py:183
msgid ""
"Choose the type of QRCode to be created.\n"
"If added on a Silkscreen Gerber file the QRCode may\n"
@@ -12318,7 +12759,7 @@ msgstr ""
"să fie adăugat ca fiind pozitiv. Dacă este adăugat la un Gerber de cupru\n"
"atunci codul QR poate fi adăugat ca negativ."
-#: flatcamGUI/PreferencesUI.py:7054 flatcamGUI/PreferencesUI.py:7060
+#: flatcamGUI/PreferencesUI.py:7560 flatcamGUI/PreferencesUI.py:7566
#: flatcamTools/ToolQRCode.py:194 flatcamTools/ToolQRCode.py:200
msgid ""
"The bounding box, meaning the empty space that surrounds\n"
@@ -12327,27 +12768,27 @@ msgstr ""
"Caseta de încadrare, adică spațiul gol care înconjoară\n"
"geometria QRCode, poate avea o formă rotunjită sau pătrată."
-#: flatcamGUI/PreferencesUI.py:7067 flatcamTools/ToolQRCode.py:228
+#: flatcamGUI/PreferencesUI.py:7573 flatcamTools/ToolQRCode.py:228
msgid "Fill Color"
msgstr "Culoare Continut"
-#: flatcamGUI/PreferencesUI.py:7069 flatcamTools/ToolQRCode.py:230
+#: flatcamGUI/PreferencesUI.py:7575 flatcamTools/ToolQRCode.py:230
msgid "Set the QRCode fill color (squares color)."
msgstr "Setați culoarea QRCode de umplere (culoarea elementelor)."
-#: flatcamGUI/PreferencesUI.py:7088 flatcamTools/ToolQRCode.py:252
+#: flatcamGUI/PreferencesUI.py:7594 flatcamTools/ToolQRCode.py:252
msgid "Back Color"
msgstr "Culoare de fundal"
-#: flatcamGUI/PreferencesUI.py:7090 flatcamTools/ToolQRCode.py:254
+#: flatcamGUI/PreferencesUI.py:7596 flatcamTools/ToolQRCode.py:254
msgid "Set the QRCode background color."
msgstr "Setați culoarea de fundal QRCode."
-#: flatcamGUI/PreferencesUI.py:7130
+#: flatcamGUI/PreferencesUI.py:7636
msgid "Copper Thieving Tool Options"
msgstr "Opțiunile Uneltei Copper Thieving"
-#: flatcamGUI/PreferencesUI.py:7142
+#: flatcamGUI/PreferencesUI.py:7648
msgid ""
"A tool to generate a Copper Thieving that can be added\n"
"to a selected Gerber file."
@@ -12355,16 +12796,16 @@ msgstr ""
"Un instrument pentru a genera o Copper Thieving care poate fi adăugat\n"
"la un fișier Gerber selectat."
-#: flatcamGUI/PreferencesUI.py:7150
+#: flatcamGUI/PreferencesUI.py:7656
msgid "Number of steps (lines) used to interpolate circles."
msgstr "Numărul de pași (linii) utilizate pentru interpolarea cercurilor."
-#: flatcamGUI/PreferencesUI.py:7160 flatcamGUI/PreferencesUI.py:7364
-#: flatcamTools/ToolCopperThieving.py:96 flatcamTools/ToolCopperThieving.py:429
+#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7870
+#: flatcamTools/ToolCopperThieving.py:97 flatcamTools/ToolCopperThieving.py:432
msgid "Clearance"
msgstr "Degajare"
-#: flatcamGUI/PreferencesUI.py:7162
+#: flatcamGUI/PreferencesUI.py:7668
msgid ""
"This set the distance between the copper Thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
@@ -12374,22 +12815,11 @@ msgstr ""
"(umplutura poligonului poate fi împărțită în mai multe poligoane)\n"
"si traseele de cupru din fisierul Gerber."
-#: flatcamGUI/PreferencesUI.py:7190 flatcamTools/ToolCopperThieving.py:126
-#: flatcamTools/ToolNonCopperClear.py:430 flatcamTools/ToolPaint.py:308
-msgid "Area Selection"
-msgstr "Selecţie zonă"
-
-#: flatcamGUI/PreferencesUI.py:7191 flatcamTools/ToolCopperThieving.py:127
-#: flatcamTools/ToolNonCopperClear.py:431 flatcamTools/ToolPaint.py:310
-msgid "Reference Object"
-msgstr "Obiect Ref"
-
-#: flatcamGUI/PreferencesUI.py:7193 flatcamTools/ToolCopperThieving.py:129
-#: flatcamTools/ToolNonCopperClear.py:433
+#: flatcamGUI/PreferencesUI.py:7699 flatcamTools/ToolCopperThieving.py:130
msgid "Reference:"
msgstr "Referinţă:"
-#: flatcamGUI/PreferencesUI.py:7195
+#: flatcamGUI/PreferencesUI.py:7701
msgid ""
"- 'Itself' - the copper Thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
@@ -12404,20 +12834,24 @@ msgstr ""
"- „Obiect de referință” - va face Copper Thieving în zona specificată de un "
"alt obiect."
-#: flatcamGUI/PreferencesUI.py:7204 flatcamTools/ToolCopperThieving.py:170
+#: flatcamGUI/PreferencesUI.py:7710 flatcamGUI/PreferencesUI.py:8175
+#: flatcamGUI/PreferencesUI.py:8287 flatcamGUI/PreferencesUI.py:8387
+#: flatcamGUI/PreferencesUI.py:8501 flatcamTools/ToolCopperThieving.py:172
+#: flatcamTools/ToolExtractDrills.py:102 flatcamTools/ToolExtractDrills.py:240
+#: flatcamTools/ToolPunchGerber.py:113 flatcamTools/ToolPunchGerber.py:268
msgid "Rectangular"
msgstr "Patrulater"
-#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolCopperThieving.py:171
+#: flatcamGUI/PreferencesUI.py:7711 flatcamTools/ToolCopperThieving.py:173
msgid "Minimal"
msgstr "Minimal"
-#: flatcamGUI/PreferencesUI.py:7207 flatcamTools/ToolCopperThieving.py:173
+#: flatcamGUI/PreferencesUI.py:7713 flatcamTools/ToolCopperThieving.py:175
#: flatcamTools/ToolFilm.py:113
msgid "Box Type:"
msgstr "Tip container:"
-#: flatcamGUI/PreferencesUI.py:7209 flatcamTools/ToolCopperThieving.py:175
+#: flatcamGUI/PreferencesUI.py:7715 flatcamTools/ToolCopperThieving.py:177
msgid ""
"- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape."
@@ -12425,23 +12859,23 @@ msgstr ""
"- „Dreptunghiular” - caseta de delimitare va avea o formă dreptunghiulară.\n"
"- „Minimal” - caseta de delimitare va fi forma arie convexă."
-#: flatcamGUI/PreferencesUI.py:7223 flatcamTools/ToolCopperThieving.py:191
+#: flatcamGUI/PreferencesUI.py:7729 flatcamTools/ToolCopperThieving.py:193
msgid "Dots Grid"
msgstr "Grilă de puncte"
-#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolCopperThieving.py:192
+#: flatcamGUI/PreferencesUI.py:7730 flatcamTools/ToolCopperThieving.py:194
msgid "Squares Grid"
msgstr "Grilă de pătrate"
-#: flatcamGUI/PreferencesUI.py:7225 flatcamTools/ToolCopperThieving.py:193
+#: flatcamGUI/PreferencesUI.py:7731 flatcamTools/ToolCopperThieving.py:195
msgid "Lines Grid"
msgstr "Grilă de linii"
-#: flatcamGUI/PreferencesUI.py:7227 flatcamTools/ToolCopperThieving.py:195
+#: flatcamGUI/PreferencesUI.py:7733 flatcamTools/ToolCopperThieving.py:197
msgid "Fill Type:"
msgstr "Tip de umplere:"
-#: flatcamGUI/PreferencesUI.py:7229 flatcamTools/ToolCopperThieving.py:197
+#: flatcamGUI/PreferencesUI.py:7735 flatcamTools/ToolCopperThieving.py:199
msgid ""
"- 'Solid' - copper thieving will be a solid polygon.\n"
"- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n"
@@ -12453,54 +12887,54 @@ msgstr ""
"- „Grilă de pătrate” - zona goală va fi umplută cu un model de pătrate.\n"
"- „Grilă de linii” - zona goală va fi umplută cu un model de linii."
-#: flatcamGUI/PreferencesUI.py:7237 flatcamTools/ToolCopperThieving.py:216
+#: flatcamGUI/PreferencesUI.py:7743 flatcamTools/ToolCopperThieving.py:218
msgid "Dots Grid Parameters"
msgstr "Parametri grilă puncte"
-#: flatcamGUI/PreferencesUI.py:7243 flatcamTools/ToolCopperThieving.py:222
+#: flatcamGUI/PreferencesUI.py:7749 flatcamTools/ToolCopperThieving.py:224
msgid "Dot diameter in Dots Grid."
msgstr "Diametrul punctului în Grila de Puncte."
-#: flatcamGUI/PreferencesUI.py:7254 flatcamGUI/PreferencesUI.py:7283
-#: flatcamGUI/PreferencesUI.py:7312 flatcamTools/ToolCopperThieving.py:233
-#: flatcamTools/ToolCopperThieving.py:273
-#: flatcamTools/ToolCopperThieving.py:313
+#: flatcamGUI/PreferencesUI.py:7760 flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:7818 flatcamTools/ToolCopperThieving.py:235
+#: flatcamTools/ToolCopperThieving.py:275
+#: flatcamTools/ToolCopperThieving.py:315
msgid "Spacing"
msgstr "Spaţiere"
-#: flatcamGUI/PreferencesUI.py:7256 flatcamTools/ToolCopperThieving.py:235
+#: flatcamGUI/PreferencesUI.py:7762 flatcamTools/ToolCopperThieving.py:237
msgid "Distance between each two dots in Dots Grid."
msgstr "Distanța dintre fiecare două puncte din Grila de Puncte."
-#: flatcamGUI/PreferencesUI.py:7266 flatcamTools/ToolCopperThieving.py:256
+#: flatcamGUI/PreferencesUI.py:7772 flatcamTools/ToolCopperThieving.py:258
msgid "Squares Grid Parameters"
msgstr "Parametri grilă de patrate"
-#: flatcamGUI/PreferencesUI.py:7272 flatcamTools/ToolCopperThieving.py:262
+#: flatcamGUI/PreferencesUI.py:7778 flatcamTools/ToolCopperThieving.py:264
msgid "Square side size in Squares Grid."
-msgstr "Dimensiunea pătratului în grila de pătrate"
+msgstr "Dimensiunea pătratului în Grila de Pătrate."
-#: flatcamGUI/PreferencesUI.py:7285 flatcamTools/ToolCopperThieving.py:275
+#: flatcamGUI/PreferencesUI.py:7791 flatcamTools/ToolCopperThieving.py:277
msgid "Distance between each two squares in Squares Grid."
msgstr "Distanța dintre fiecare două pătrate din Grila Pătrate."
-#: flatcamGUI/PreferencesUI.py:7295 flatcamTools/ToolCopperThieving.py:296
+#: flatcamGUI/PreferencesUI.py:7801 flatcamTools/ToolCopperThieving.py:298
msgid "Lines Grid Parameters"
msgstr "Parametri grilă de linii"
-#: flatcamGUI/PreferencesUI.py:7301 flatcamTools/ToolCopperThieving.py:302
+#: flatcamGUI/PreferencesUI.py:7807 flatcamTools/ToolCopperThieving.py:304
msgid "Line thickness size in Lines Grid."
msgstr "Mărimea grosimii liniei în Grila de linii."
-#: flatcamGUI/PreferencesUI.py:7314 flatcamTools/ToolCopperThieving.py:315
+#: flatcamGUI/PreferencesUI.py:7820 flatcamTools/ToolCopperThieving.py:317
msgid "Distance between each two lines in Lines Grid."
msgstr "Distanța dintre fiecare două linii în Grial de linii."
-#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolCopperThieving.py:353
+#: flatcamGUI/PreferencesUI.py:7830 flatcamTools/ToolCopperThieving.py:355
msgid "Robber Bar Parameters"
msgstr "Parametri pentru Robber Bar"
-#: flatcamGUI/PreferencesUI.py:7326 flatcamTools/ToolCopperThieving.py:355
+#: flatcamGUI/PreferencesUI.py:7832 flatcamTools/ToolCopperThieving.py:357
msgid ""
"Parameters used for the robber bar.\n"
"Robber bar = copper border to help in pattern hole plating."
@@ -12508,29 +12942,29 @@ msgstr ""
"Parametrii folosiți pentru Robber Bar.\n"
"Robber Bar = bordura de cupru pentru a ajuta la placarea de găuri, cu model."
-#: flatcamGUI/PreferencesUI.py:7334 flatcamTools/ToolCopperThieving.py:363
+#: flatcamGUI/PreferencesUI.py:7840 flatcamTools/ToolCopperThieving.py:365
msgid "Bounding box margin for robber bar."
msgstr ""
"Marginea pentru forma înconjurătoare\n"
"a Robber Bar."
-#: flatcamGUI/PreferencesUI.py:7345 flatcamTools/ToolCopperThieving.py:374
+#: flatcamGUI/PreferencesUI.py:7851 flatcamTools/ToolCopperThieving.py:376
msgid "Thickness"
msgstr "Grosime"
-#: flatcamGUI/PreferencesUI.py:7347 flatcamTools/ToolCopperThieving.py:376
+#: flatcamGUI/PreferencesUI.py:7853 flatcamTools/ToolCopperThieving.py:378
msgid "The robber bar thickness."
msgstr "Grosimea Robber Bar."
-#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolCopperThieving.py:407
+#: flatcamGUI/PreferencesUI.py:7863 flatcamTools/ToolCopperThieving.py:409
msgid "Pattern Plating Mask"
msgstr "Masca de placare cu model"
-#: flatcamGUI/PreferencesUI.py:7359 flatcamTools/ToolCopperThieving.py:409
+#: flatcamGUI/PreferencesUI.py:7865 flatcamTools/ToolCopperThieving.py:411
msgid "Generate a mask for pattern plating."
msgstr "Generați o mască pentru placarea cu model."
-#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolCopperThieving.py:431
+#: flatcamGUI/PreferencesUI.py:7872 flatcamTools/ToolCopperThieving.py:434
msgid ""
"The distance between the possible copper thieving elements\n"
"and/or robber bar and the actual openings in the mask."
@@ -12538,16 +12972,17 @@ msgstr ""
"Distanța dintre posibilele elemente Copper Thieving\n"
"și / sau Robber Bar și deschiderile efective ale măștii."
-#: flatcamGUI/PreferencesUI.py:7385
+#: flatcamGUI/PreferencesUI.py:7891
msgid "Fiducials Tool Options"
msgstr "Opțiuni Unealta Fiducials"
-#: flatcamGUI/PreferencesUI.py:7396 flatcamGUI/PreferencesUI.py:7512
-#: flatcamTools/ToolCopperThieving.py:91 flatcamTools/ToolFiducials.py:151
+#: flatcamGUI/PreferencesUI.py:7902 flatcamGUI/PreferencesUI.py:8018
+#: flatcamGUI/PreferencesUI.py:8137 flatcamGUI/PreferencesUI.py:8349
+#: flatcamTools/ToolCopperThieving.py:92 flatcamTools/ToolFiducials.py:151
msgid "Parameters used for this tool."
msgstr "Parametrii folosiți pentru aceasta unealta."
-#: flatcamGUI/PreferencesUI.py:7403 flatcamTools/ToolFiducials.py:158
+#: flatcamGUI/PreferencesUI.py:7909 flatcamTools/ToolFiducials.py:158
msgid ""
"This set the fiducial diameter if fiducial type is circular,\n"
"otherwise is the size of the fiducial.\n"
@@ -12557,19 +12992,19 @@ msgstr ""
"altfel este dimensiunea fiducial-ului.\n"
"Deschiderea soldermask este dublă."
-#: flatcamGUI/PreferencesUI.py:7431 flatcamTools/ToolFiducials.py:186
+#: flatcamGUI/PreferencesUI.py:7937 flatcamTools/ToolFiducials.py:186
msgid "Auto"
msgstr "Auto"
-#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolFiducials.py:187
+#: flatcamGUI/PreferencesUI.py:7938 flatcamTools/ToolFiducials.py:187
msgid "Manual"
msgstr "Manual"
-#: flatcamGUI/PreferencesUI.py:7434 flatcamTools/ToolFiducials.py:189
+#: flatcamGUI/PreferencesUI.py:7940 flatcamTools/ToolFiducials.py:189
msgid "Mode:"
msgstr "Mod:"
-#: flatcamGUI/PreferencesUI.py:7436
+#: flatcamGUI/PreferencesUI.py:7942
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding "
"box.\n"
@@ -12578,19 +13013,19 @@ msgstr ""
"- „Auto” - plasarea automată a fiducial în colțurile casetei de delimitare.\n"
"- „Manual” - plasarea manuală a fiducial."
-#: flatcamGUI/PreferencesUI.py:7444 flatcamTools/ToolFiducials.py:199
+#: flatcamGUI/PreferencesUI.py:7950 flatcamTools/ToolFiducials.py:199
msgid "Up"
msgstr "Sus"
-#: flatcamGUI/PreferencesUI.py:7445 flatcamTools/ToolFiducials.py:200
+#: flatcamGUI/PreferencesUI.py:7951 flatcamTools/ToolFiducials.py:200
msgid "Down"
msgstr "Jos"
-#: flatcamGUI/PreferencesUI.py:7448 flatcamTools/ToolFiducials.py:203
+#: flatcamGUI/PreferencesUI.py:7954 flatcamTools/ToolFiducials.py:203
msgid "Second fiducial"
msgstr "Al 2-lea Fiducial"
-#: flatcamGUI/PreferencesUI.py:7450 flatcamTools/ToolFiducials.py:205
+#: flatcamGUI/PreferencesUI.py:7956 flatcamTools/ToolFiducials.py:205
msgid ""
"The position for the second fiducial.\n"
"- 'Up' - the order is: bottom-left, top-left, top-right.\n"
@@ -12603,19 +13038,19 @@ msgstr ""
"- „Niciuna” - nu există un al doilea fiduțial. Ordinea este: jos-stânga, sus-"
"dreapta."
-#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolFiducials.py:221
+#: flatcamGUI/PreferencesUI.py:7972 flatcamTools/ToolFiducials.py:221
msgid "Cross"
msgstr "Cruce"
-#: flatcamGUI/PreferencesUI.py:7467 flatcamTools/ToolFiducials.py:222
+#: flatcamGUI/PreferencesUI.py:7973 flatcamTools/ToolFiducials.py:222
msgid "Chess"
msgstr "Şah"
-#: flatcamGUI/PreferencesUI.py:7470 flatcamTools/ToolFiducials.py:224
+#: flatcamGUI/PreferencesUI.py:7976 flatcamTools/ToolFiducials.py:224
msgid "Fiducial Type"
msgstr "Tip Fiducial"
-#: flatcamGUI/PreferencesUI.py:7472 flatcamTools/ToolFiducials.py:226
+#: flatcamGUI/PreferencesUI.py:7978 flatcamTools/ToolFiducials.py:226
msgid ""
"The type of fiducial.\n"
"- 'Circular' - this is the regular fiducial.\n"
@@ -12627,19 +13062,19 @@ msgstr ""
"- „Cross” - linii încrucișate fiduciare.\n"
"- „Șah” - model de șah fiduciar."
-#: flatcamGUI/PreferencesUI.py:7481 flatcamTools/ToolFiducials.py:235
+#: flatcamGUI/PreferencesUI.py:7987 flatcamTools/ToolFiducials.py:235
msgid "Line thickness"
msgstr "Grosimea liniei"
-#: flatcamGUI/PreferencesUI.py:7501
+#: flatcamGUI/PreferencesUI.py:8007
msgid "Calibration Tool Options"
msgstr "Opțiuni Unealta Calibrare"
-#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolCalibration.py:181
+#: flatcamGUI/PreferencesUI.py:8023 flatcamTools/ToolCalibration.py:181
msgid "Source Type"
msgstr "Tipul sursei"
-#: flatcamGUI/PreferencesUI.py:7518 flatcamTools/ToolCalibration.py:182
+#: flatcamGUI/PreferencesUI.py:8024 flatcamTools/ToolCalibration.py:182
msgid ""
"The source of calibration points.\n"
"It can be:\n"
@@ -12652,27 +13087,27 @@ msgstr ""
"pentru Gerber\n"
"- Liber -> faceți clic liber pe ecran pentru a obține punctele de calibrare"
-#: flatcamGUI/PreferencesUI.py:7523 flatcamTools/ToolCalibration.py:187
+#: flatcamGUI/PreferencesUI.py:8029 flatcamTools/ToolCalibration.py:187
msgid "Free"
msgstr "Liber"
-#: flatcamGUI/PreferencesUI.py:7537 flatcamTools/ToolCalibration.py:76
+#: flatcamGUI/PreferencesUI.py:8043 flatcamTools/ToolCalibration.py:76
msgid "Height (Z) for travelling between the points."
msgstr "Înălțime (Z) pentru deplasarea între puncte."
-#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolCalibration.py:88
+#: flatcamGUI/PreferencesUI.py:8055 flatcamTools/ToolCalibration.py:88
msgid "Verification Z"
msgstr "Z Verificare"
-#: flatcamGUI/PreferencesUI.py:7551 flatcamTools/ToolCalibration.py:90
+#: flatcamGUI/PreferencesUI.py:8057 flatcamTools/ToolCalibration.py:90
msgid "Height (Z) for checking the point."
msgstr "Înălțimea (Z) pentru verificarea punctului."
-#: flatcamGUI/PreferencesUI.py:7563 flatcamTools/ToolCalibration.py:102
+#: flatcamGUI/PreferencesUI.py:8069 flatcamTools/ToolCalibration.py:102
msgid "Zero Z tool"
msgstr "Realizare Zero Z"
-#: flatcamGUI/PreferencesUI.py:7565 flatcamTools/ToolCalibration.py:104
+#: flatcamGUI/PreferencesUI.py:8071 flatcamTools/ToolCalibration.py:104
msgid ""
"Include a sequence to zero the height (Z)\n"
"of the verification tool."
@@ -12680,11 +13115,11 @@ msgstr ""
"Includeți o secvență pentru aliniere la zero a înălțimii (Z)\n"
"uneltei de verificare."
-#: flatcamGUI/PreferencesUI.py:7574 flatcamTools/ToolCalibration.py:113
+#: flatcamGUI/PreferencesUI.py:8080 flatcamTools/ToolCalibration.py:113
msgid "Height (Z) for mounting the verification probe."
msgstr "Înălțime (Z) pentru montarea sondei de verificare."
-#: flatcamGUI/PreferencesUI.py:7588 flatcamTools/ToolCalibration.py:127
+#: flatcamGUI/PreferencesUI.py:8094 flatcamTools/ToolCalibration.py:127
msgid ""
"Toolchange X,Y position.\n"
"If no value is entered then the current\n"
@@ -12694,11 +13129,11 @@ msgstr ""
"Dacă nu este introdusă nicio valoare, atunci poziția\n"
"(x, y) curentă se va folosi,"
-#: flatcamGUI/PreferencesUI.py:7599 flatcamTools/ToolCalibration.py:153
+#: flatcamGUI/PreferencesUI.py:8105 flatcamTools/ToolCalibration.py:153
msgid "Second point"
msgstr "Al doilea punct"
-#: flatcamGUI/PreferencesUI.py:7601 flatcamTools/ToolCalibration.py:155
+#: flatcamGUI/PreferencesUI.py:8107 flatcamTools/ToolCalibration.py:155
msgid ""
"Second point in the Gcode verification can be:\n"
"- top-left -> the user will align the PCB vertically\n"
@@ -12708,45 +13143,255 @@ msgstr ""
"- în stânga sus -> utilizatorul va alinia PCB-ul pe verticală\n"
"- în jos-dreapta -> utilizatorul va alinia PCB-ul pe orizontală"
-#: flatcamGUI/PreferencesUI.py:7605 flatcamTools/ToolCalibration.py:159
-msgid "Top-Left"
-msgstr "Stânga-sus"
+#: flatcamGUI/PreferencesUI.py:8126
+msgid "Extract Drills Options"
+msgstr "Opțiuni Extractie Găuri"
-#: flatcamGUI/PreferencesUI.py:7606 flatcamTools/ToolCalibration.py:160
-msgid "Bottom-Right"
-msgstr "Dreapta-jos"
+#: flatcamGUI/PreferencesUI.py:8141 flatcamGUI/PreferencesUI.py:8353
+#: flatcamTools/ToolExtractDrills.py:68 flatcamTools/ToolPunchGerber.py:75
+msgid "Processed Pads Type"
+msgstr "Tipul de pad-uri procesate"
-#: flatcamGUI/PreferencesUI.py:7620
+#: flatcamGUI/PreferencesUI.py:8143 flatcamGUI/PreferencesUI.py:8355
+#: flatcamTools/ToolExtractDrills.py:70 flatcamTools/ToolPunchGerber.py:77
+msgid ""
+"The type of pads shape to be processed.\n"
+"If the PCB has many SMD pads with rectangular pads,\n"
+"disable the Rectangular aperture."
+msgstr ""
+"Tipul de forme ale pad-urilor care vor fi procesate.\n"
+"Daca PCB-ul are multe paduri SMD cu formă rectangulară,\n"
+"dezactivează apertura Rectangular."
+
+#: flatcamGUI/PreferencesUI.py:8153 flatcamGUI/PreferencesUI.py:8365
+#: flatcamTools/ToolExtractDrills.py:80 flatcamTools/ToolPunchGerber.py:91
+msgid "Process Circular Pads."
+msgstr "Procesează paduri Circulare."
+
+#: flatcamGUI/PreferencesUI.py:8159 flatcamGUI/PreferencesUI.py:8261
+#: flatcamGUI/PreferencesUI.py:8371 flatcamGUI/PreferencesUI.py:8475
+#: flatcamTools/ToolExtractDrills.py:86 flatcamTools/ToolExtractDrills.py:214
+#: flatcamTools/ToolPunchGerber.py:97 flatcamTools/ToolPunchGerber.py:242
+msgid "Oblong"
+msgstr "Oval"
+
+#: flatcamGUI/PreferencesUI.py:8161 flatcamGUI/PreferencesUI.py:8373
+#: flatcamTools/ToolExtractDrills.py:88 flatcamTools/ToolPunchGerber.py:99
+msgid "Process Oblong Pads."
+msgstr "Procesează paduri Ovale."
+
+#: flatcamGUI/PreferencesUI.py:8169 flatcamGUI/PreferencesUI.py:8381
+#: flatcamTools/ToolExtractDrills.py:96 flatcamTools/ToolPunchGerber.py:107
+msgid "Process Square Pads."
+msgstr "Procesează paduri Pătratice."
+
+#: flatcamGUI/PreferencesUI.py:8177 flatcamGUI/PreferencesUI.py:8389
+#: flatcamTools/ToolExtractDrills.py:104 flatcamTools/ToolPunchGerber.py:115
+msgid "Process Rectangular Pads."
+msgstr "Procesează paduri Rectangulare."
+
+#: flatcamGUI/PreferencesUI.py:8183 flatcamGUI/PreferencesUI.py:8300
+#: flatcamGUI/PreferencesUI.py:8395 flatcamGUI/PreferencesUI.py:8514
+#: flatcamTools/ToolExtractDrills.py:110 flatcamTools/ToolExtractDrills.py:253
+#: flatcamTools/ToolProperties.py:172 flatcamTools/ToolPunchGerber.py:121
+#: flatcamTools/ToolPunchGerber.py:281
+msgid "Others"
+msgstr "Altele"
+
+#: flatcamGUI/PreferencesUI.py:8185 flatcamGUI/PreferencesUI.py:8397
+#: flatcamTools/ToolExtractDrills.py:112 flatcamTools/ToolPunchGerber.py:123
+msgid "Process pads not in the categories above."
+msgstr "Procesează paduri care nu se regăsesc in alte categorii."
+
+#: flatcamGUI/PreferencesUI.py:8198 flatcamGUI/PreferencesUI.py:8222
+#: flatcamGUI/PreferencesUI.py:8411 flatcamGUI/PreferencesUI.py:8436
+#: flatcamTools/ToolExtractDrills.py:139 flatcamTools/ToolExtractDrills.py:156
+#: flatcamTools/ToolPunchGerber.py:150 flatcamTools/ToolPunchGerber.py:184
+msgid "Fixed Diameter"
+msgstr "Dia fix"
+
+#: flatcamGUI/PreferencesUI.py:8199 flatcamGUI/PreferencesUI.py:8239
+#: flatcamGUI/PreferencesUI.py:8412 flatcamGUI/PreferencesUI.py:8453
+#: flatcamTools/ToolExtractDrills.py:140 flatcamTools/ToolExtractDrills.py:192
+#: flatcamTools/ToolPunchGerber.py:151 flatcamTools/ToolPunchGerber.py:214
+msgid "Fixed Annular Ring"
+msgstr "Inel anular Fix"
+
+#: flatcamGUI/PreferencesUI.py:8200 flatcamGUI/PreferencesUI.py:8413
+#: flatcamTools/ToolExtractDrills.py:141 flatcamTools/ToolPunchGerber.py:152
+msgid "Proportional"
+msgstr "Proportional"
+
+#: flatcamGUI/PreferencesUI.py:8206 flatcamTools/ToolExtractDrills.py:130
+msgid ""
+"The method for processing pads. Can be:\n"
+"- Fixed Diameter -> all holes will have a set size\n"
+"- Fixed Annular Ring -> all holes will have a set annular ring\n"
+"- Proportional -> each hole size will be a fraction of the pad size"
+msgstr ""
+"Metoda de procesare a padurilor. Poate fi:\n"
+"- Diametru fix -> toate găurile vor avea o dimensiune prestabilită\n"
+"- Inel anular fix -> toate găurile vor avea un inel anular cu dimensiune "
+"prestabilită\n"
+"- Proportional -> fiecare gaură va avea un diametru cu dimensiunea fractie a "
+"dimensiunii padului"
+
+#: flatcamGUI/PreferencesUI.py:8232 flatcamGUI/PreferencesUI.py:8446
+#: flatcamTools/ToolExtractDrills.py:166 flatcamTools/ToolPunchGerber.py:194
+msgid "Fixed hole diameter."
+msgstr "Dia gaură fix."
+
+#: flatcamGUI/PreferencesUI.py:8241 flatcamGUI/PreferencesUI.py:8455
+#: flatcamTools/ToolExtractDrills.py:194 flatcamTools/ToolPunchGerber.py:216
+msgid ""
+"The size of annular ring.\n"
+"The copper sliver between the hole exterior\n"
+"and the margin of the copper pad."
+msgstr ""
+"Dimensiunea Inelului Anular.\n"
+"Inelul de cupru dintre exteriorul găurii si\n"
+"marginea exterioară a padului de cupru."
+
+#: flatcamGUI/PreferencesUI.py:8250 flatcamGUI/PreferencesUI.py:8464
+#: flatcamTools/ToolExtractDrills.py:203 flatcamTools/ToolPunchGerber.py:231
+msgid "The size of annular ring for circular pads."
+msgstr "Dimensiunea inelului anular pentru paduri Circulare."
+
+#: flatcamGUI/PreferencesUI.py:8263 flatcamGUI/PreferencesUI.py:8477
+#: flatcamTools/ToolExtractDrills.py:216 flatcamTools/ToolPunchGerber.py:244
+msgid "The size of annular ring for oblong pads."
+msgstr "Dimensiunea inelului anular pentru paduri Ovale."
+
+#: flatcamGUI/PreferencesUI.py:8276 flatcamGUI/PreferencesUI.py:8490
+#: flatcamTools/ToolExtractDrills.py:229 flatcamTools/ToolPunchGerber.py:257
+msgid "The size of annular ring for square pads."
+msgstr "Dimensiunea inelului anular pentru paduri Pătratice."
+
+#: flatcamGUI/PreferencesUI.py:8289 flatcamGUI/PreferencesUI.py:8503
+#: flatcamTools/ToolExtractDrills.py:242 flatcamTools/ToolPunchGerber.py:270
+msgid "The size of annular ring for rectangular pads."
+msgstr "Dimnensiunea inelului anular pentru paduri Rectangulare."
+
+#: flatcamGUI/PreferencesUI.py:8302 flatcamGUI/PreferencesUI.py:8516
+#: flatcamTools/ToolExtractDrills.py:255 flatcamTools/ToolPunchGerber.py:283
+msgid "The size of annular ring for other pads."
+msgstr ""
+"Dimensiunea inelului anular pentru alte tipuri de paduri decat cele de mai "
+"sus."
+
+#: flatcamGUI/PreferencesUI.py:8312 flatcamGUI/PreferencesUI.py:8526
+#: flatcamTools/ToolExtractDrills.py:276 flatcamTools/ToolPunchGerber.py:299
+msgid "Proportional Diameter"
+msgstr "Diametru Proportional"
+
+#: flatcamGUI/PreferencesUI.py:8321 flatcamGUI/PreferencesUI.py:8535
+msgid "Factor"
+msgstr "Factor"
+
+#: flatcamGUI/PreferencesUI.py:8323 flatcamGUI/PreferencesUI.py:8537
+#: flatcamTools/ToolExtractDrills.py:287 flatcamTools/ToolPunchGerber.py:310
+msgid ""
+"Proportional Diameter.\n"
+"The hole diameter will be a fraction of the pad size."
+msgstr ""
+"Diametru Proportional.\n"
+"Diametrul găurii va fi un procent din dimensiunea padului."
+
+#: flatcamGUI/PreferencesUI.py:8338
+msgid "Punch Gerber Options"
+msgstr "Opțiuni Punctare Gerber"
+
+#: flatcamGUI/PreferencesUI.py:8419 flatcamTools/ToolPunchGerber.py:141
+msgid ""
+"The punch hole source can be:\n"
+"- Excellon Object-> the Excellon object drills center will serve as "
+"reference.\n"
+"- Fixed Diameter -> will try to use the pads center as reference adding "
+"fixed diameter holes.\n"
+"- Fixed Annular Ring -> will try to keep a set annular ring.\n"
+"- Proportional -> will make a Gerber punch hole having the diameter a "
+"percentage of the pad diameter.\n"
+msgstr ""
+"Sursa de punctare pt găuri poate fi:\n"
+"- Obiect Excellon -> centrul găurilor din obiectul Excellon va servi ca "
+"referintă.\n"
+"- Diametru Fix -> se va incerca să se folosească centrul padurilor ca "
+"referintă adăungand diametrul fix al găurilor.\n"
+"- Inel anular Fix -> va incerca să mentină un inele anular cu dimensiune "
+"prestabilită.\n"
+"- Proportional -> găurile de punctare vor avea diametrul un procent "
+"prestabilit din diametrul padului.\n"
+
+#: flatcamGUI/PreferencesUI.py:8552
+msgid "Invert Gerber Tool Options"
+msgstr "Opțiuni Unalta de Inversare Gerber"
+
+#: flatcamGUI/PreferencesUI.py:8558
+msgid ""
+"A tool to invert Gerber geometry from positive to negative\n"
+"and in revers."
+msgstr ""
+"O unealtă de inversare a geometriei unui obiect Gerber \n"
+"din pozitiv in negative si invers."
+
+#: flatcamGUI/PreferencesUI.py:8572 flatcamTools/ToolInvertGerber.py:90
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the Gerber object."
+msgstr ""
+"Distanta cu care trebuie evitate\n"
+"marginile obiectului Gerber."
+
+#: flatcamGUI/PreferencesUI.py:8583 flatcamTools/ToolInvertGerber.py:101
+msgid "Lines Join Style"
+msgstr "Stil Unire Linii"
+
+#: flatcamGUI/PreferencesUI.py:8585 flatcamTools/ToolInvertGerber.py:103
+msgid ""
+"The way that the lines in the object outline will be joined.\n"
+"Can be:\n"
+"- rounded -> an arc is added between two joining lines\n"
+"- square -> the lines meet in 90 degrees angle\n"
+"- bevel -> the lines are joined by a third line"
+msgstr ""
+"Modul in care liniile dintr-un perimetru al unui obiect vor fi unite.\n"
+"Poate fi:\n"
+"- rotunjit -> un arc este adăugat intre oricare doua linii care se "
+"intalnesc\n"
+"- pătrat -> liniile se vor intalni intr-un unghi de 90 grade\n"
+"- Teşit -> liniile sunt unite de o a 3-a linie"
+
+#: flatcamGUI/PreferencesUI.py:8608
msgid "Excellon File associations"
msgstr "Asocieri fisiere Excellon"
-#: flatcamGUI/PreferencesUI.py:7633 flatcamGUI/PreferencesUI.py:7706
-#: flatcamGUI/PreferencesUI.py:7776 flatcamGUI/PreferencesUI.py:7846
+#: flatcamGUI/PreferencesUI.py:8621 flatcamGUI/PreferencesUI.py:8694
+#: flatcamGUI/PreferencesUI.py:8764 flatcamGUI/PreferencesUI.py:8834
msgid "Restore"
msgstr "Restabilire"
-#: flatcamGUI/PreferencesUI.py:7634 flatcamGUI/PreferencesUI.py:7707
-#: flatcamGUI/PreferencesUI.py:7777
+#: flatcamGUI/PreferencesUI.py:8622 flatcamGUI/PreferencesUI.py:8695
+#: flatcamGUI/PreferencesUI.py:8765
msgid "Restore the extension list to the default state."
msgstr "Restabiliți lista de extensii la starea implicită."
-#: flatcamGUI/PreferencesUI.py:7635 flatcamGUI/PreferencesUI.py:7708
-#: flatcamGUI/PreferencesUI.py:7778 flatcamGUI/PreferencesUI.py:7848
+#: flatcamGUI/PreferencesUI.py:8623 flatcamGUI/PreferencesUI.py:8696
+#: flatcamGUI/PreferencesUI.py:8766 flatcamGUI/PreferencesUI.py:8836
msgid "Delete All"
msgstr "Sterge tot"
-#: flatcamGUI/PreferencesUI.py:7636 flatcamGUI/PreferencesUI.py:7709
-#: flatcamGUI/PreferencesUI.py:7779
+#: flatcamGUI/PreferencesUI.py:8624 flatcamGUI/PreferencesUI.py:8697
+#: flatcamGUI/PreferencesUI.py:8767
msgid "Delete all extensions from the list."
msgstr "Ștergeți toate extensiile din listă."
-#: flatcamGUI/PreferencesUI.py:7644 flatcamGUI/PreferencesUI.py:7717
-#: flatcamGUI/PreferencesUI.py:7787
+#: flatcamGUI/PreferencesUI.py:8632 flatcamGUI/PreferencesUI.py:8705
+#: flatcamGUI/PreferencesUI.py:8775
msgid "Extensions list"
msgstr "Lista de extensii"
-#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7719
-#: flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:8634 flatcamGUI/PreferencesUI.py:8707
+#: flatcamGUI/PreferencesUI.py:8777
msgid ""
"List of file extensions to be\n"
"associated with FlatCAM."
@@ -12754,43 +13399,43 @@ msgstr ""
"Listă de extensii fisiere care să fie\n"
"associate cu FlatCAM."
-#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7739
-#: flatcamGUI/PreferencesUI.py:7808 flatcamGUI/PreferencesUI.py:7880
+#: flatcamGUI/PreferencesUI.py:8654 flatcamGUI/PreferencesUI.py:8727
+#: flatcamGUI/PreferencesUI.py:8796 flatcamGUI/PreferencesUI.py:8868
msgid "Extension"
msgstr "Extensie fișier"
-#: flatcamGUI/PreferencesUI.py:7667 flatcamGUI/PreferencesUI.py:7740
-#: flatcamGUI/PreferencesUI.py:7809
+#: flatcamGUI/PreferencesUI.py:8655 flatcamGUI/PreferencesUI.py:8728
+#: flatcamGUI/PreferencesUI.py:8797
msgid "A file extension to be added or deleted to the list."
msgstr "O extensie de fișier care trebuie adăugată sau ștersă din listă."
-#: flatcamGUI/PreferencesUI.py:7675 flatcamGUI/PreferencesUI.py:7748
-#: flatcamGUI/PreferencesUI.py:7817
+#: flatcamGUI/PreferencesUI.py:8663 flatcamGUI/PreferencesUI.py:8736
+#: flatcamGUI/PreferencesUI.py:8805
msgid "Add Extension"
msgstr "Adaugă Extensie"
-#: flatcamGUI/PreferencesUI.py:7676 flatcamGUI/PreferencesUI.py:7749
-#: flatcamGUI/PreferencesUI.py:7818
+#: flatcamGUI/PreferencesUI.py:8664 flatcamGUI/PreferencesUI.py:8737
+#: flatcamGUI/PreferencesUI.py:8806
msgid "Add a file extension to the list"
msgstr "Adăugați o extensie de fișier la listă"
-#: flatcamGUI/PreferencesUI.py:7677 flatcamGUI/PreferencesUI.py:7750
-#: flatcamGUI/PreferencesUI.py:7819
+#: flatcamGUI/PreferencesUI.py:8665 flatcamGUI/PreferencesUI.py:8738
+#: flatcamGUI/PreferencesUI.py:8807
msgid "Delete Extension"
msgstr "Ștergeți Extensia"
-#: flatcamGUI/PreferencesUI.py:7678 flatcamGUI/PreferencesUI.py:7751
-#: flatcamGUI/PreferencesUI.py:7820
+#: flatcamGUI/PreferencesUI.py:8666 flatcamGUI/PreferencesUI.py:8739
+#: flatcamGUI/PreferencesUI.py:8808
msgid "Delete a file extension from the list"
msgstr "Ștergeți o extensie de fișier din listă"
-#: flatcamGUI/PreferencesUI.py:7685 flatcamGUI/PreferencesUI.py:7758
-#: flatcamGUI/PreferencesUI.py:7827
+#: flatcamGUI/PreferencesUI.py:8673 flatcamGUI/PreferencesUI.py:8746
+#: flatcamGUI/PreferencesUI.py:8815
msgid "Apply Association"
msgstr "Aplicați Asociere"
-#: flatcamGUI/PreferencesUI.py:7686 flatcamGUI/PreferencesUI.py:7759
-#: flatcamGUI/PreferencesUI.py:7828
+#: flatcamGUI/PreferencesUI.py:8674 flatcamGUI/PreferencesUI.py:8747
+#: flatcamGUI/PreferencesUI.py:8816
msgid ""
"Apply the file associations between\n"
"FlatCAM and the files with above extensions.\n"
@@ -12802,32 +13447,32 @@ msgstr ""
"Vor fi active după următorul login.\n"
"Functionează numai pt Windows."
-#: flatcamGUI/PreferencesUI.py:7703
+#: flatcamGUI/PreferencesUI.py:8691
msgid "GCode File associations"
msgstr "Asocierile de fisiere G-Code"
-#: flatcamGUI/PreferencesUI.py:7773
+#: flatcamGUI/PreferencesUI.py:8761
msgid "Gerber File associations"
msgstr "Asocierile de fisiere Gerber"
-#: flatcamGUI/PreferencesUI.py:7843
+#: flatcamGUI/PreferencesUI.py:8831
msgid "Autocompleter Keywords"
msgstr "Cuvinte cheie pt autocomplete"
-#: flatcamGUI/PreferencesUI.py:7847
+#: flatcamGUI/PreferencesUI.py:8835
msgid "Restore the autocompleter keywords list to the default state."
msgstr ""
"Restaurați lista cuvinte cheie pentru autocompletere la starea implicită."
-#: flatcamGUI/PreferencesUI.py:7849
+#: flatcamGUI/PreferencesUI.py:8837
msgid "Delete all autocompleter keywords from the list."
msgstr "Ștergeți din listă toate cuvintele cheie pentru autocompletare."
-#: flatcamGUI/PreferencesUI.py:7857
+#: flatcamGUI/PreferencesUI.py:8845
msgid "Keywords list"
msgstr "Lista de cuvinte cheie"
-#: flatcamGUI/PreferencesUI.py:7859
+#: flatcamGUI/PreferencesUI.py:8847
msgid ""
"List of keywords used by\n"
"the autocompleter in FlatCAM.\n"
@@ -12839,31 +13484,31 @@ msgstr ""
"Autocompleterul este instalat\n"
"în Editorul de coduri și pentru Shell Tcl."
-#: flatcamGUI/PreferencesUI.py:7881
+#: flatcamGUI/PreferencesUI.py:8869
msgid "A keyword to be added or deleted to the list."
msgstr "Un cuvânt cheie care trebuie adăugat sau șters la listă."
-#: flatcamGUI/PreferencesUI.py:7889
+#: flatcamGUI/PreferencesUI.py:8877
msgid "Add keyword"
msgstr "Adăugați cuvant cheie"
-#: flatcamGUI/PreferencesUI.py:7890
+#: flatcamGUI/PreferencesUI.py:8878
msgid "Add a keyword to the list"
msgstr "Adăugați un cuvânt cheie la listă"
-#: flatcamGUI/PreferencesUI.py:7891
+#: flatcamGUI/PreferencesUI.py:8879
msgid "Delete keyword"
msgstr "Ștergeți cuvântul cheie"
-#: flatcamGUI/PreferencesUI.py:7892
+#: flatcamGUI/PreferencesUI.py:8880
msgid "Delete a keyword from the list"
msgstr "Ștergeți un cuvânt cheie din listă"
-#: flatcamParsers/ParseExcellon.py:314
+#: flatcamParsers/ParseExcellon.py:315
msgid "This is GCODE mark"
msgstr "Acesta este un marcaj Gerber"
-#: flatcamParsers/ParseExcellon.py:431
+#: flatcamParsers/ParseExcellon.py:432
msgid ""
"No tool diameter info's. See shell.\n"
"A tool change event: T"
@@ -12871,7 +13516,7 @@ msgstr ""
"Nu există informații despre diametrul uneltei. Vezi Shell.\n"
"Un eveniment de schimbare a uneltei: T"
-#: flatcamParsers/ParseExcellon.py:434
+#: flatcamParsers/ParseExcellon.py:435
msgid ""
"was found but the Excellon file have no informations regarding the tool "
"diameters therefore the application will try to load it by using some 'fake' "
@@ -12884,12 +13529,12 @@ msgstr ""
"Userul trebuie să editeze obictul Excellon rezultat si sa ajusteze "
"diametrele a.i sa reflecte diametrele reale."
-#: flatcamParsers/ParseExcellon.py:886 flatcamTools/ToolSolderPaste.py:1330
+#: flatcamParsers/ParseExcellon.py:897 flatcamTools/ToolSolderPaste.py:1327
msgid "An internal error has ocurred. See shell.\n"
msgstr ""
"A apărut o eroare internă. Verifică in TCL Shell pt mai multe detalii.\n"
-#: flatcamParsers/ParseExcellon.py:889
+#: flatcamParsers/ParseExcellon.py:900
msgid ""
"Excellon Parser error.\n"
"Parsing Failed. Line"
@@ -12897,7 +13542,7 @@ msgstr ""
"Eroare de analiza Excellon.\n"
"Analizarea a esuat. Linia"
-#: flatcamParsers/ParseExcellon.py:973
+#: flatcamParsers/ParseExcellon.py:982
msgid ""
"Excellon.create_geometry() -> a drill location was skipped due of not having "
"a tool associated.\n"
@@ -12915,22 +13560,22 @@ msgstr "Fontul nu este acceptat, incearcă altul."
msgid "Gerber processing. Parsing"
msgstr "Prelucrare Gerber. Analizare"
-#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:178
msgid "lines"
msgstr "linii"
-#: flatcamParsers/ParseGerber.py:970 flatcamParsers/ParseGerber.py:1065
-#: flatcamParsers/ParseHPGL2.py:269 flatcamParsers/ParseHPGL2.py:283
-#: flatcamParsers/ParseHPGL2.py:302 flatcamParsers/ParseHPGL2.py:326
-#: flatcamParsers/ParseHPGL2.py:361
+#: flatcamParsers/ParseGerber.py:1002 flatcamParsers/ParseGerber.py:1102
+#: flatcamParsers/ParseHPGL2.py:271 flatcamParsers/ParseHPGL2.py:285
+#: flatcamParsers/ParseHPGL2.py:304 flatcamParsers/ParseHPGL2.py:328
+#: flatcamParsers/ParseHPGL2.py:363
msgid "Coordinates missing, line ignored"
msgstr "Coordonatele lipsesc, linia este ignorată"
-#: flatcamParsers/ParseGerber.py:972 flatcamParsers/ParseGerber.py:1067
+#: flatcamParsers/ParseGerber.py:1004 flatcamParsers/ParseGerber.py:1104
msgid "GERBER file might be CORRUPT. Check the file !!!"
msgstr "Fişierul Gerber poate fi corrupt. Verificati fişierul!!!"
-#: flatcamParsers/ParseGerber.py:1021
+#: flatcamParsers/ParseGerber.py:1058
msgid ""
"Region does not have enough points. File will be processed but there are "
"parser errors. Line number"
@@ -12938,66 +13583,217 @@ msgstr ""
"Regiunea Gerber nu are suficiente puncte. Fişierul va fi procesat dar sunt "
"erori de parsare. Numărul liniei"
-#: flatcamParsers/ParseGerber.py:1421 flatcamParsers/ParseHPGL2.py:396
+#: flatcamParsers/ParseGerber.py:1488 flatcamParsers/ParseHPGL2.py:398
msgid "Gerber processing. Joining polygons"
msgstr "Prelucrare Gerber. Se combină poligoanele"
-#: flatcamParsers/ParseGerber.py:1438
+#: flatcamParsers/ParseGerber.py:1505
msgid "Gerber processing. Applying Gerber polarity."
msgstr "Prelucrare Gerber. Se aplica polaritatea Gerber."
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line"
msgstr "Linia Gerber"
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line Content"
msgstr "Continut linie Gerber"
-#: flatcamParsers/ParseGerber.py:1500
+#: flatcamParsers/ParseGerber.py:1567
msgid "Gerber Parser ERROR"
msgstr "Eroare in parserul Gerber"
-#: flatcamParsers/ParseGerber.py:1884
+#: flatcamParsers/ParseGerber.py:1956
msgid "Gerber Scale done."
msgstr "Scalarea Gerber efectuată."
-#: flatcamParsers/ParseGerber.py:1977
+#: flatcamParsers/ParseGerber.py:2049
msgid "Gerber Offset done."
msgstr "Offsetare Gerber efectuată."
-#: flatcamParsers/ParseGerber.py:2054
+#: flatcamParsers/ParseGerber.py:2126
msgid "Gerber Mirror done."
msgstr "Oglindirea Gerber efectuată."
-#: flatcamParsers/ParseGerber.py:2128
+#: flatcamParsers/ParseGerber.py:2200
msgid "Gerber Skew done."
msgstr "Deformarea Gerber efectuată."
-#: flatcamParsers/ParseGerber.py:2192
+#: flatcamParsers/ParseGerber.py:2263
msgid "Gerber Rotate done."
msgstr "Rotatia Gerber efectuată."
-#: flatcamParsers/ParseGerber.py:2273
+#: flatcamParsers/ParseGerber.py:2419
msgid "Gerber Buffer done."
msgstr "Buffer Gerber efectuat."
-#: flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseHPGL2.py:178
msgid "HPGL2 processing. Parsing"
msgstr "Prelucrare HPGL2. Analizare"
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line"
msgstr "Linie HPGL2"
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line Content"
msgstr "Continut linie HPGL2"
-#: flatcamParsers/ParseHPGL2.py:409
+#: flatcamParsers/ParseHPGL2.py:411
msgid "HPGL2 Parser ERROR"
msgstr "Eroare in parserul HPGL2"
+#: flatcamTools/ToolAlignObjects.py:32
+msgid "Align Objects"
+msgstr "Aliniere Obiecte"
+
+#: flatcamTools/ToolAlignObjects.py:61
+msgid "MOVING object"
+msgstr "MISCARE obiect"
+
+#: flatcamTools/ToolAlignObjects.py:65
+msgid ""
+"Specify the type of object to be aligned.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+"Specifică tipul de obiect care va fi aliniat.\n"
+"Poate fi de tipul: Gerber sau Excellon.\n"
+"Selectia făcută aici va dicta tipul de obiecte care se vor\n"
+"regăsi in combobox-ul >Obiect<."
+
+#: flatcamTools/ToolAlignObjects.py:86
+msgid "Object to be aligned."
+msgstr "Obiect care trebuie aliniat."
+
+#: flatcamTools/ToolAlignObjects.py:98
+msgid "TARGET object"
+msgstr "Obiectul TINTA"
+
+#: flatcamTools/ToolAlignObjects.py:100
+msgid ""
+"Specify the type of object to be aligned to.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+"Specifică tipul de obiect la care se va alinia un alt obiect.\n"
+"Poate fi de tipul: Gerbe sau Excellon.\n"
+"Selectia făcută aici va dicta tipul de obiecte care se vor\n"
+"regăsi in combobox-ul >Obiect<."
+
+#: flatcamTools/ToolAlignObjects.py:122
+msgid "Object to be aligned to. Aligner."
+msgstr "Obiectul către care se face alinierea. Aliniator."
+
+#: flatcamTools/ToolAlignObjects.py:135
+msgid "Alignment Type"
+msgstr "Tip Aliniere"
+
+#: flatcamTools/ToolAlignObjects.py:137
+msgid ""
+"The type of alignment can be:\n"
+"- Single Point -> it require a single point of sync, the action will be a "
+"translation\n"
+"- Dual Point -> it require two points of sync, the action will be "
+"translation followed by rotation"
+msgstr ""
+"Tipul de aliniere poate fi:\n"
+"- Punct Singular -> necesită un singur punct de sincronizare, actiunea va fi "
+"o translatie\n"
+"- Punct Dublu -> necesita două puncta de sincronizare, actiunea va di o "
+"translatie urmată de o posibilă rotatie"
+
+#: flatcamTools/ToolAlignObjects.py:143
+msgid "Single Point"
+msgstr "Punct Singular"
+
+#: flatcamTools/ToolAlignObjects.py:144
+msgid "Dual Point"
+msgstr "Punct Dublu"
+
+#: flatcamTools/ToolAlignObjects.py:159
+msgid "Align Object"
+msgstr "Aliniază Obiectul"
+
+#: flatcamTools/ToolAlignObjects.py:161
+msgid ""
+"Align the specified object to the aligner object.\n"
+"If only one point is used then it assumes translation.\n"
+"If tho points are used it assume translation and rotation."
+msgstr ""
+"Aliniază obiectul specificat la obiectul aliniator.\n"
+"Dacă doar un singul punct de aliniere este folosit atunci se presupune o "
+"simplă translatie.\n"
+"Daca se folosesc două puncte atunci va fi o translatie urmată de o posibilă "
+"rotatie."
+
+#: flatcamTools/ToolAlignObjects.py:176 flatcamTools/ToolCalculators.py:246
+#: flatcamTools/ToolCalibration.py:683 flatcamTools/ToolCopperThieving.py:485
+#: flatcamTools/ToolCutOut.py:372 flatcamTools/ToolDblSided.py:472
+#: flatcamTools/ToolExtractDrills.py:310 flatcamTools/ToolFiducials.py:318
+#: flatcamTools/ToolFilm.py:520 flatcamTools/ToolInvertGerber.py:140
+#: flatcamTools/ToolNCC.py:612 flatcamTools/ToolOptimal.py:238
+#: flatcamTools/ToolPaint.py:556 flatcamTools/ToolPanelize.py:269
+#: flatcamTools/ToolPunchGerber.py:339 flatcamTools/ToolQRCode.py:314
+#: flatcamTools/ToolRulesCheck.py:516 flatcamTools/ToolSolderPaste.py:474
+#: flatcamTools/ToolSub.py:176 flatcamTools/ToolTransform.py:399
+msgid "Reset Tool"
+msgstr "Resetați Unealta"
+
+#: flatcamTools/ToolAlignObjects.py:178 flatcamTools/ToolCalculators.py:248
+#: flatcamTools/ToolCalibration.py:685 flatcamTools/ToolCopperThieving.py:487
+#: flatcamTools/ToolCutOut.py:374 flatcamTools/ToolDblSided.py:474
+#: flatcamTools/ToolExtractDrills.py:312 flatcamTools/ToolFiducials.py:320
+#: flatcamTools/ToolFilm.py:522 flatcamTools/ToolInvertGerber.py:142
+#: flatcamTools/ToolNCC.py:614 flatcamTools/ToolOptimal.py:240
+#: flatcamTools/ToolPaint.py:558 flatcamTools/ToolPanelize.py:271
+#: flatcamTools/ToolPunchGerber.py:341 flatcamTools/ToolQRCode.py:316
+#: flatcamTools/ToolRulesCheck.py:518 flatcamTools/ToolSolderPaste.py:476
+#: flatcamTools/ToolSub.py:178 flatcamTools/ToolTransform.py:401
+msgid "Will reset the tool parameters."
+msgstr "Va reseta parametrii uneltei."
+
+#: flatcamTools/ToolAlignObjects.py:244
+msgid "Align Tool"
+msgstr "Unealta Aliniere"
+
+#: flatcamTools/ToolAlignObjects.py:289
+msgid "There is no aligned FlatCAM object selected..."
+msgstr "Nu a fost selectat niciun obiect FlatCAM pentru a fi aliniat..."
+
+#: flatcamTools/ToolAlignObjects.py:299
+msgid "There is no aligner FlatCAM object selected..."
+msgstr ""
+"Nu a fost selectat niciun obiect FlatCAM către care să se facă alinierea..."
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:385
+msgid "First Point"
+msgstr "Primul punct"
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:400
+msgid "Click on the START point."
+msgstr "Click pe punctul START."
+
+#: flatcamTools/ToolAlignObjects.py:380 flatcamTools/ToolCalibration.py:920
+msgid "Cancelled by user request."
+msgstr "Anulat prin solicitarea utilizatorului."
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:407
+msgid "Click on the DESTINATION point."
+msgstr "Click pe punctul DESTINATIE."
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:400
+#: flatcamTools/ToolAlignObjects.py:407
+msgid " Or right click to cancel."
+msgstr " Sau fă click dreapta pentru anulare."
+
+#: flatcamTools/ToolAlignObjects.py:400 flatcamTools/ToolAlignObjects.py:407
+#: flatcamTools/ToolFiducials.py:111
+msgid "Second Point"
+msgstr "Al doilea punct"
+
#: flatcamTools/ToolCalculators.py:24
msgid "Calculators"
msgstr "Calculatoare"
@@ -13085,7 +13881,7 @@ msgstr ""
"Calculează intensitatea curentului cat și durata procedurii\n"
"in funcţie de parametrii de mai sus"
-#: flatcamTools/ToolCalculators.py:285
+#: flatcamTools/ToolCalculators.py:299
msgid "Calc. Tool"
msgstr "Unealta Calc"
@@ -13111,26 +13907,26 @@ msgstr ""
"Aceste patru puncte ar trebui să fie în cele patru\n"
"(pe cât posibil) colțurile obiectului."
-#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolCutOut.py:80
-#: flatcamTools/ToolFilm.py:78 flatcamTools/ToolImage.py:55
-#: flatcamTools/ToolPanelize.py:66 flatcamTools/ToolProperties.py:169
+#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolFilm.py:76
+#: flatcamTools/ToolImage.py:54 flatcamTools/ToolPanelize.py:78
+#: flatcamTools/ToolProperties.py:177
msgid "Object Type"
msgstr "Tip Obiect"
-#: flatcamTools/ToolCalibration.py:211
+#: flatcamTools/ToolCalibration.py:210
msgid "Source object selection"
msgstr "Selectarea obiectului sursă"
-#: flatcamTools/ToolCalibration.py:213
+#: flatcamTools/ToolCalibration.py:212
msgid "FlatCAM Object to be used as a source for reference points."
msgstr ""
"Obiect FlatCAM care trebuie utilizat ca sursă pentru punctele de referință."
-#: flatcamTools/ToolCalibration.py:219
+#: flatcamTools/ToolCalibration.py:218
msgid "Calibration Points"
msgstr "Puncte de calibrare"
-#: flatcamTools/ToolCalibration.py:221
+#: flatcamTools/ToolCalibration.py:220
msgid ""
"Contain the expected calibration points and the\n"
"ones measured."
@@ -13138,56 +13934,52 @@ msgstr ""
"Conține punctele de calibrare așteptate și\n"
"cele măsurate."
-#: flatcamTools/ToolCalibration.py:236 flatcamTools/ToolSub.py:74
-#: flatcamTools/ToolSub.py:126
+#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:131
msgid "Target"
msgstr "Tintă"
-#: flatcamTools/ToolCalibration.py:237
+#: flatcamTools/ToolCalibration.py:236
msgid "Found Delta"
msgstr "Delta găsit"
-#: flatcamTools/ToolCalibration.py:249
+#: flatcamTools/ToolCalibration.py:248
msgid "Bot Left X"
msgstr "Stânga jos X"
-#: flatcamTools/ToolCalibration.py:258
+#: flatcamTools/ToolCalibration.py:257
msgid "Bot Left Y"
msgstr "Stânga jos Y"
-#: flatcamTools/ToolCalibration.py:266 flatcamTools/ToolCalibration.py:267
-msgid "Origin"
-msgstr "Originea"
-
-#: flatcamTools/ToolCalibration.py:278
+#: flatcamTools/ToolCalibration.py:275
msgid "Bot Right X"
msgstr "Dreapta-jos X"
-#: flatcamTools/ToolCalibration.py:288
+#: flatcamTools/ToolCalibration.py:285
msgid "Bot Right Y"
msgstr "Dreapta-jos Y"
-#: flatcamTools/ToolCalibration.py:303
+#: flatcamTools/ToolCalibration.py:300
msgid "Top Left X"
msgstr "Stânga sus X"
-#: flatcamTools/ToolCalibration.py:312
+#: flatcamTools/ToolCalibration.py:309
msgid "Top Left Y"
msgstr "Stânga sus Y"
-#: flatcamTools/ToolCalibration.py:327
+#: flatcamTools/ToolCalibration.py:324
msgid "Top Right X"
msgstr "Dreapta-sus X"
-#: flatcamTools/ToolCalibration.py:337
+#: flatcamTools/ToolCalibration.py:334
msgid "Top Right Y"
msgstr "Dreapta-sus Y"
-#: flatcamTools/ToolCalibration.py:370
+#: flatcamTools/ToolCalibration.py:367
msgid "Get Points"
msgstr "Obține puncte"
-#: flatcamTools/ToolCalibration.py:372
+#: flatcamTools/ToolCalibration.py:369
msgid ""
"Pick four points by clicking on canvas if the source choice\n"
"is 'free' or inside the object geometry if the source is 'object'.\n"
@@ -13199,11 +13991,11 @@ msgstr ""
"Aceste patru puncte ar trebui să se afle în cele patru colțuri ale\n"
"obiectului."
-#: flatcamTools/ToolCalibration.py:393
+#: flatcamTools/ToolCalibration.py:390
msgid "STEP 2: Verification GCode"
msgstr "PASUL 2: GCode de verificare"
-#: flatcamTools/ToolCalibration.py:395 flatcamTools/ToolCalibration.py:408
+#: flatcamTools/ToolCalibration.py:392 flatcamTools/ToolCalibration.py:405
msgid ""
"Generate GCode file to locate and align the PCB by using\n"
"the four points acquired above.\n"
@@ -13223,15 +14015,15 @@ msgstr ""
"dreapta.\n"
"- punctul înainte -> punctul de verificare final. Doar pentru evaluare."
-#: flatcamTools/ToolCalibration.py:406 flatcamTools/ToolSolderPaste.py:347
+#: flatcamTools/ToolCalibration.py:403 flatcamTools/ToolSolderPaste.py:349
msgid "Generate GCode"
msgstr "Generează GCode"
-#: flatcamTools/ToolCalibration.py:432
+#: flatcamTools/ToolCalibration.py:429
msgid "STEP 3: Adjustments"
msgstr "PASUL 3: Reglaje"
-#: flatcamTools/ToolCalibration.py:434 flatcamTools/ToolCalibration.py:443
+#: flatcamTools/ToolCalibration.py:431 flatcamTools/ToolCalibration.py:440
msgid ""
"Calculate Scale and Skew factors based on the differences (delta)\n"
"found when checking the PCB pattern. The differences must be filled\n"
@@ -13241,15 +14033,15 @@ msgstr ""
"găsite la verificarea modelului PCB. Diferențele trebuie completate\n"
"în câmpurile găsite (Delta)."
-#: flatcamTools/ToolCalibration.py:441
+#: flatcamTools/ToolCalibration.py:438
msgid "Calculate Factors"
msgstr "Calculați factorii"
-#: flatcamTools/ToolCalibration.py:463
+#: flatcamTools/ToolCalibration.py:460
msgid "STEP 4: Adjusted GCode"
msgstr "PASUL 4: GCode ajustat"
-#: flatcamTools/ToolCalibration.py:465
+#: flatcamTools/ToolCalibration.py:462
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors above."
@@ -13257,43 +14049,43 @@ msgstr ""
"Generați fișierul GCode de verificare ajustat cu\n"
"factorii de mai sus."
-#: flatcamTools/ToolCalibration.py:470
+#: flatcamTools/ToolCalibration.py:467
msgid "Scale Factor X:"
msgstr "Factor scalare X:"
-#: flatcamTools/ToolCalibration.py:482
+#: flatcamTools/ToolCalibration.py:479
msgid "Scale Factor Y:"
msgstr "Factor scalare Y:"
-#: flatcamTools/ToolCalibration.py:494
+#: flatcamTools/ToolCalibration.py:491
msgid "Apply Scale Factors"
msgstr "Aplicați factorii de scalare"
-#: flatcamTools/ToolCalibration.py:496
+#: flatcamTools/ToolCalibration.py:493
msgid "Apply Scale factors on the calibration points."
msgstr "Aplicați factorii de Scalare asupra punctelor de calibrare."
-#: flatcamTools/ToolCalibration.py:506
+#: flatcamTools/ToolCalibration.py:503
msgid "Skew Angle X:"
msgstr "Unghi X Deformare:"
-#: flatcamTools/ToolCalibration.py:519
+#: flatcamTools/ToolCalibration.py:516
msgid "Skew Angle Y:"
msgstr "Unghi Y Deformare:"
-#: flatcamTools/ToolCalibration.py:532
+#: flatcamTools/ToolCalibration.py:529
msgid "Apply Skew Factors"
msgstr "Aplicați factorii de deformare"
-#: flatcamTools/ToolCalibration.py:534
+#: flatcamTools/ToolCalibration.py:531
msgid "Apply Skew factors on the calibration points."
msgstr "Aplicați factorii de Deformare asupra punctelor de calibrare."
-#: flatcamTools/ToolCalibration.py:603
+#: flatcamTools/ToolCalibration.py:600
msgid "Generate Adjusted GCode"
msgstr "Generați GCode ajustat"
-#: flatcamTools/ToolCalibration.py:605
+#: flatcamTools/ToolCalibration.py:602
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors set above.\n"
@@ -13305,11 +14097,11 @@ msgstr ""
"Parametrii GCode pot fi reglați\n"
"înainte de a face clic pe acest buton."
-#: flatcamTools/ToolCalibration.py:626
+#: flatcamTools/ToolCalibration.py:623
msgid "STEP 5: Calibrate FlatCAM Objects"
msgstr "PASUL 5: Calibrați obiectele FlatCAM"
-#: flatcamTools/ToolCalibration.py:628
+#: flatcamTools/ToolCalibration.py:625
msgid ""
"Adjust the FlatCAM objects\n"
"with the factors determined and verified above."
@@ -13317,27 +14109,27 @@ msgstr ""
"Reglați obiectele FlatCAM\n"
"cu factorii determinați și verificați mai sus."
-#: flatcamTools/ToolCalibration.py:641
+#: flatcamTools/ToolCalibration.py:637
msgid "Adjusted object type"
msgstr "Tipul obiectului ajustat"
-#: flatcamTools/ToolCalibration.py:643
+#: flatcamTools/ToolCalibration.py:638
msgid "Type of the FlatCAM Object to be adjusted."
msgstr "Tipul obiectului FlatCAM care trebuie ajustat."
-#: flatcamTools/ToolCalibration.py:654
+#: flatcamTools/ToolCalibration.py:651
msgid "Adjusted object selection"
msgstr "Selectarea obiectului ajustat"
-#: flatcamTools/ToolCalibration.py:656
+#: flatcamTools/ToolCalibration.py:653
msgid "The FlatCAM Object to be adjusted."
msgstr "Obiectul FlatCAM care trebuie ajustat."
-#: flatcamTools/ToolCalibration.py:663
+#: flatcamTools/ToolCalibration.py:660
msgid "Calibrate"
msgstr "Calibreaza"
-#: flatcamTools/ToolCalibration.py:665
+#: flatcamTools/ToolCalibration.py:662
msgid ""
"Adjust (scale and/or skew) the objects\n"
"with the factors determined above."
@@ -13345,81 +14137,61 @@ msgstr ""
"Reglați (Scalați și / sau Deformați) obiectele\n"
"cu factorii determinați mai sus."
-#: flatcamTools/ToolCalibration.py:686 flatcamTools/ToolCopperThieving.py:482
-#: flatcamTools/ToolCutOut.py:362 flatcamTools/ToolDblSided.py:405
-#: flatcamTools/ToolFiducials.py:316 flatcamTools/ToolFilm.py:518
-#: flatcamTools/ToolNonCopperClear.py:486 flatcamTools/ToolOptimal.py:237
-#: flatcamTools/ToolPaint.py:372 flatcamTools/ToolPanelize.py:266
-#: flatcamTools/ToolQRCode.py:314 flatcamTools/ToolRulesCheck.py:507
-#: flatcamTools/ToolSolderPaste.py:470 flatcamTools/ToolSub.py:170
-msgid "Reset Tool"
-msgstr "Resetați Unealta"
+#: flatcamTools/ToolCalibration.py:770 flatcamTools/ToolCalibration.py:771
+msgid "Origin"
+msgstr "Originea"
-#: flatcamTools/ToolCalibration.py:688 flatcamTools/ToolCopperThieving.py:484
-#: flatcamTools/ToolCutOut.py:364 flatcamTools/ToolDblSided.py:407
-#: flatcamTools/ToolFiducials.py:318 flatcamTools/ToolFilm.py:520
-#: flatcamTools/ToolNonCopperClear.py:488 flatcamTools/ToolOptimal.py:239
-#: flatcamTools/ToolPaint.py:374 flatcamTools/ToolPanelize.py:268
-#: flatcamTools/ToolQRCode.py:316 flatcamTools/ToolRulesCheck.py:509
-#: flatcamTools/ToolSolderPaste.py:472 flatcamTools/ToolSub.py:172
-msgid "Will reset the tool parameters."
-msgstr "Va reseta parametrii uneltei."
-
-#: flatcamTools/ToolCalibration.py:792
+#: flatcamTools/ToolCalibration.py:800
msgid "Tool initialized"
msgstr "Unealtă initializată"
-#: flatcamTools/ToolCalibration.py:824
+#: flatcamTools/ToolCalibration.py:838
msgid "There is no source FlatCAM object selected..."
msgstr "Nu a fost selectat niciun obiect FlatCAM sursă ..."
-#: flatcamTools/ToolCalibration.py:845
+#: flatcamTools/ToolCalibration.py:859
msgid "Get First calibration point. Bottom Left..."
msgstr "Obțineți primul punct de calibrare. Stânga jos..."
-#: flatcamTools/ToolCalibration.py:906
-msgid "Cancelled by user request."
-msgstr "Anulat prin solicitarea utilizatorului."
-
-#: flatcamTools/ToolCalibration.py:912
+#: flatcamTools/ToolCalibration.py:926
msgid "Get Second calibration point. Bottom Right (Top Left)..."
msgstr ""
"Obțineți al doilea punct de calibrare. Dreapta jos (sau în stânga sus) ..."
-#: flatcamTools/ToolCalibration.py:916
+#: flatcamTools/ToolCalibration.py:930
msgid "Get Third calibration point. Top Left (Bottom Right)..."
msgstr ""
"Obțineți al treilea punct de calibrare. Sus stanga (sau în jos dreapta)..."
-#: flatcamTools/ToolCalibration.py:920
+#: flatcamTools/ToolCalibration.py:934
msgid "Get Forth calibration point. Top Right..."
msgstr "Obțineți punctul de calibrare Forth. Sus în dreapta..."
-#: flatcamTools/ToolCalibration.py:924
+#: flatcamTools/ToolCalibration.py:938
msgid "Done. All four points have been acquired."
msgstr "Terminat. Toate cele patru puncte au fost obținute."
-#: flatcamTools/ToolCalibration.py:955
+#: flatcamTools/ToolCalibration.py:969
msgid "Verification GCode for FlatCAM Calibration Tool"
msgstr "GCode de verificare pentru Unealta FlatCAM de Calibrare"
-#: flatcamTools/ToolCalibration.py:967 flatcamTools/ToolCalibration.py:1053
+#: flatcamTools/ToolCalibration.py:981 flatcamTools/ToolCalibration.py:1067
msgid "Gcode Viewer"
msgstr "Gcode Viewer"
-#: flatcamTools/ToolCalibration.py:983
+#: flatcamTools/ToolCalibration.py:997
msgid "Cancelled. Four points are needed for GCode generation."
msgstr "Anulat. Patru puncte sunt necesare pentru generarea GCode."
-#: flatcamTools/ToolCalibration.py:1239 flatcamTools/ToolCalibration.py:1335
+#: flatcamTools/ToolCalibration.py:1253 flatcamTools/ToolCalibration.py:1349
msgid "There is no FlatCAM object selected..."
msgstr "Nu a fost selectat niciun obiect FlatCAM ..."
-#: flatcamTools/ToolCopperThieving.py:76 flatcamTools/ToolFiducials.py:260
+#: flatcamTools/ToolCopperThieving.py:77 flatcamTools/ToolFiducials.py:261
msgid "Gerber Object to which will be added a copper thieving."
msgstr "Obiect Gerber căruia i se va adăuga Copper Thieving."
-#: flatcamTools/ToolCopperThieving.py:98
+#: flatcamTools/ToolCopperThieving.py:99
msgid ""
"This set the distance between the copper thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
@@ -13429,7 +14201,7 @@ msgstr ""
"(umplutura poligonului poate fi împărțită în mai multe poligoane)\n"
"si traseele de cupru din fisierul Gerber."
-#: flatcamTools/ToolCopperThieving.py:131
+#: flatcamTools/ToolCopperThieving.py:132
msgid ""
"- 'Itself' - the copper thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be "
@@ -13443,12 +14215,12 @@ msgstr ""
"- „Obiect de referință” - va face Copper Thieving în zona specificată de un "
"alt obiect."
-#: flatcamTools/ToolCopperThieving.py:138
-#: flatcamTools/ToolNonCopperClear.py:445 flatcamTools/ToolPaint.py:326
+#: flatcamTools/ToolCopperThieving.py:139 flatcamTools/ToolNCC.py:552
+#: flatcamTools/ToolPaint.py:496
msgid "Ref. Type"
msgstr "Tip Ref"
-#: flatcamTools/ToolCopperThieving.py:140
+#: flatcamTools/ToolCopperThieving.py:141
msgid ""
"The type of FlatCAM object to be used as copper thieving reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -13457,37 +14229,22 @@ msgstr ""
"Thieving.\n"
"Poate fi Gerber, Excellon sau Geometrie."
-#: flatcamTools/ToolCopperThieving.py:144 flatcamTools/ToolDblSided.py:215
-#: flatcamTools/ToolNonCopperClear.py:451 flatcamTools/ToolPaint.py:332
-msgid "Reference Gerber"
-msgstr "Referință Gerber"
-
-#: flatcamTools/ToolCopperThieving.py:145 flatcamTools/ToolDblSided.py:216
-#: flatcamTools/ToolNonCopperClear.py:452 flatcamTools/ToolPaint.py:333
-msgid "Reference Excellon"
-msgstr "Referință Excellon"
-
-#: flatcamTools/ToolCopperThieving.py:146 flatcamTools/ToolDblSided.py:217
-#: flatcamTools/ToolNonCopperClear.py:453 flatcamTools/ToolPaint.py:334
-msgid "Reference Geometry"
-msgstr "Referință Geometrie"
-
-#: flatcamTools/ToolCopperThieving.py:151
-#: flatcamTools/ToolNonCopperClear.py:456 flatcamTools/ToolPaint.py:337
+#: flatcamTools/ToolCopperThieving.py:150 flatcamTools/ToolNCC.py:562
+#: flatcamTools/ToolPaint.py:506
msgid "Ref. Object"
msgstr "Obiect Ref"
-#: flatcamTools/ToolCopperThieving.py:153
-#: flatcamTools/ToolNonCopperClear.py:458 flatcamTools/ToolPaint.py:339
+#: flatcamTools/ToolCopperThieving.py:152 flatcamTools/ToolNCC.py:564
+#: flatcamTools/ToolPaint.py:508
msgid "The FlatCAM object to be used as non copper clearing reference."
msgstr ""
"Obiectul FlatCAM pentru a fi utilizat ca referință pt. curățarea de cupru."
-#: flatcamTools/ToolCopperThieving.py:326
+#: flatcamTools/ToolCopperThieving.py:328
msgid "Insert Copper thieving"
msgstr "Inserați Copper Thieving"
-#: flatcamTools/ToolCopperThieving.py:328
+#: flatcamTools/ToolCopperThieving.py:330
msgid ""
"Will add a polygon (may be split in multiple parts)\n"
"that will surround the actual Gerber traces at a certain distance."
@@ -13495,11 +14252,11 @@ msgstr ""
"Se va adăuga un poligon (poate fi împărțit în mai multe părți)\n"
"care va înconjura traseele Gerber la o anumită distanță."
-#: flatcamTools/ToolCopperThieving.py:387
+#: flatcamTools/ToolCopperThieving.py:389
msgid "Insert Robber Bar"
msgstr "Inserați Rober Bar"
-#: flatcamTools/ToolCopperThieving.py:389
+#: flatcamTools/ToolCopperThieving.py:391
msgid ""
"Will add a polygon with a defined thickness\n"
"that will surround the actual Gerber object\n"
@@ -13511,11 +14268,11 @@ msgstr ""
"la o anumită distanță.\n"
"Necesar atunci când faceți placare găuri cu model."
-#: flatcamTools/ToolCopperThieving.py:413
+#: flatcamTools/ToolCopperThieving.py:415
msgid "Select Soldermask object"
msgstr "Selectați obiectul Soldermask"
-#: flatcamTools/ToolCopperThieving.py:415
+#: flatcamTools/ToolCopperThieving.py:417
msgid ""
"Gerber Object with the soldermask.\n"
"It will be used as a base for\n"
@@ -13525,11 +14282,11 @@ msgstr ""
"Acesta va fi folosit ca bază pentru\n"
"generarea de masca pentru placare cu model."
-#: flatcamTools/ToolCopperThieving.py:443
+#: flatcamTools/ToolCopperThieving.py:446
msgid "Plated area"
msgstr "Zona placată"
-#: flatcamTools/ToolCopperThieving.py:445
+#: flatcamTools/ToolCopperThieving.py:448
msgid ""
"The area to be plated by pattern plating.\n"
"Basically is made from the openings in the plating mask.\n"
@@ -13547,19 +14304,19 @@ msgstr ""
"un pic mai mari decât padurile de cupru, iar această zonă este\n"
"calculată din deschiderile soldermask."
-#: flatcamTools/ToolCopperThieving.py:456
+#: flatcamTools/ToolCopperThieving.py:459
msgid "mm"
msgstr "mm"
-#: flatcamTools/ToolCopperThieving.py:458
+#: flatcamTools/ToolCopperThieving.py:461
msgid "in"
msgstr "in"
-#: flatcamTools/ToolCopperThieving.py:465
+#: flatcamTools/ToolCopperThieving.py:468
msgid "Generate pattern plating mask"
msgstr "Generați mască de placare cu model"
-#: flatcamTools/ToolCopperThieving.py:467
+#: flatcamTools/ToolCopperThieving.py:470
msgid ""
"Will add to the soldermask gerber geometry\n"
"the geometries of the copper thieving and/or\n"
@@ -13569,136 +14326,137 @@ msgstr ""
"geometriile Copper Thieving și / sau\n"
"Robber Bar dacă acestea au fost generate."
-#: flatcamTools/ToolCopperThieving.py:620
-#: flatcamTools/ToolCopperThieving.py:645
+#: flatcamTools/ToolCopperThieving.py:626
+#: flatcamTools/ToolCopperThieving.py:651
msgid "Lines Grid works only for 'itself' reference ..."
msgstr "Gridul de Linii funcționează numai pentru referința „în sine” ..."
-#: flatcamTools/ToolCopperThieving.py:631
+#: flatcamTools/ToolCopperThieving.py:637
msgid "Solid fill selected."
msgstr "Umplere solidă selectată."
-#: flatcamTools/ToolCopperThieving.py:636
+#: flatcamTools/ToolCopperThieving.py:642
msgid "Dots grid fill selected."
msgstr "Umplere Grila de Puncte selectată."
-#: flatcamTools/ToolCopperThieving.py:641
+#: flatcamTools/ToolCopperThieving.py:647
msgid "Squares grid fill selected."
msgstr "Umplere Grila de Pătrate selectată."
-#: flatcamTools/ToolCopperThieving.py:662
-#: flatcamTools/ToolCopperThieving.py:744
-#: flatcamTools/ToolCopperThieving.py:1340 flatcamTools/ToolDblSided.py:564
-#: flatcamTools/ToolFiducials.py:464 flatcamTools/ToolFiducials.py:741
-#: flatcamTools/ToolOptimal.py:342 flatcamTools/ToolQRCode.py:424
+#: flatcamTools/ToolCopperThieving.py:668
+#: flatcamTools/ToolCopperThieving.py:750
+#: flatcamTools/ToolCopperThieving.py:1346 flatcamTools/ToolDblSided.py:658
+#: flatcamTools/ToolExtractDrills.py:436 flatcamTools/ToolFiducials.py:466
+#: flatcamTools/ToolFiducials.py:743 flatcamTools/ToolOptimal.py:343
+#: flatcamTools/ToolPunchGerber.py:512 flatcamTools/ToolQRCode.py:426
msgid "There is no Gerber object loaded ..."
msgstr "Nu este nici-un obiect Gerber incărcat ..."
-#: flatcamTools/ToolCopperThieving.py:675
-#: flatcamTools/ToolCopperThieving.py:1268
+#: flatcamTools/ToolCopperThieving.py:681
+#: flatcamTools/ToolCopperThieving.py:1274
msgid "Append geometry"
msgstr "Adăugați geometria"
-#: flatcamTools/ToolCopperThieving.py:719
-#: flatcamTools/ToolCopperThieving.py:1301
-#: flatcamTools/ToolCopperThieving.py:1454
+#: flatcamTools/ToolCopperThieving.py:725
+#: flatcamTools/ToolCopperThieving.py:1307
+#: flatcamTools/ToolCopperThieving.py:1460
msgid "Append source file"
msgstr "Adăugați fișierul sursă"
-#: flatcamTools/ToolCopperThieving.py:727
-#: flatcamTools/ToolCopperThieving.py:1309
+#: flatcamTools/ToolCopperThieving.py:733
+#: flatcamTools/ToolCopperThieving.py:1315
msgid "Copper Thieving Tool done."
msgstr "Unealta Copper Thieving efectuata."
-#: flatcamTools/ToolCopperThieving.py:754
-#: flatcamTools/ToolCopperThieving.py:787 flatcamTools/ToolCutOut.py:468
-#: flatcamTools/ToolCutOut.py:642 flatcamTools/ToolNonCopperClear.py:1151
-#: flatcamTools/ToolNonCopperClear.py:1192
-#: flatcamTools/ToolNonCopperClear.py:1224 flatcamTools/ToolPaint.py:1074
-#: flatcamTools/ToolPanelize.py:401 flatcamTools/ToolPanelize.py:416
-#: flatcamTools/ToolSub.py:288 flatcamTools/ToolSub.py:301
-#: flatcamTools/ToolSub.py:492 flatcamTools/ToolSub.py:507
-#: tclCommands/TclCommandCopperClear.py:97
-#: tclCommands/TclCommandCopperClear.py:146 tclCommands/TclCommandPaint.py:97
+#: flatcamTools/ToolCopperThieving.py:760
+#: flatcamTools/ToolCopperThieving.py:793 flatcamTools/ToolCutOut.py:480
+#: flatcamTools/ToolCutOut.py:667 flatcamTools/ToolInvertGerber.py:208
+#: flatcamTools/ToolNCC.py:1594 flatcamTools/ToolNCC.py:1635
+#: flatcamTools/ToolNCC.py:1664 flatcamTools/ToolPaint.py:1469
+#: flatcamTools/ToolPanelize.py:413 flatcamTools/ToolPanelize.py:428
+#: flatcamTools/ToolSub.py:294 flatcamTools/ToolSub.py:307
+#: flatcamTools/ToolSub.py:498 flatcamTools/ToolSub.py:513
+#: tclCommands/TclCommandCopperClear.py:97 tclCommands/TclCommandPaint.py:99
msgid "Could not retrieve object"
msgstr "Nu s-a putut incărca obiectul"
-#: flatcamTools/ToolCopperThieving.py:764
-#: flatcamTools/ToolNonCopperClear.py:1205
+#: flatcamTools/ToolCopperThieving.py:770 flatcamTools/ToolNCC.py:1643
msgid "Click the start point of the area."
msgstr "Faceți clic pe punctul de pornire al zonei."
-#: flatcamTools/ToolCopperThieving.py:815
+#: flatcamTools/ToolCopperThieving.py:821
msgid "Click the end point of the filling area."
msgstr "Faceți clic pe punctul final al zonei de umplere."
-#: flatcamTools/ToolCopperThieving.py:821
-#: flatcamTools/ToolNonCopperClear.py:1261 flatcamTools/ToolPaint.py:1201
+#: flatcamTools/ToolCopperThieving.py:827 flatcamTools/ToolNCC.py:1705
+#: flatcamTools/ToolNCC.py:1757 flatcamTools/ToolPaint.py:1601
+#: flatcamTools/ToolPaint.py:1652
msgid "Zone added. Click to start adding next zone or right click to finish."
msgstr ""
"Zona adăugată. Faceți clic stanga pt a continua adăugarea de zone sau click "
"dreapta pentru a termina."
-#: flatcamTools/ToolCopperThieving.py:937
-#: flatcamTools/ToolCopperThieving.py:941
-#: flatcamTools/ToolCopperThieving.py:1002
+#: flatcamTools/ToolCopperThieving.py:943
+#: flatcamTools/ToolCopperThieving.py:947
+#: flatcamTools/ToolCopperThieving.py:1008
msgid "Thieving"
msgstr "Thieving"
-#: flatcamTools/ToolCopperThieving.py:948
+#: flatcamTools/ToolCopperThieving.py:954
msgid "Copper Thieving Tool started. Reading parameters."
msgstr "Unealta Thieving Tool a pornit. Se citesc parametrii."
-#: flatcamTools/ToolCopperThieving.py:973
+#: flatcamTools/ToolCopperThieving.py:979
msgid "Copper Thieving Tool. Preparing isolation polygons."
msgstr "Unealta Thieving Tool. Se pregătesc poligoanele de isolare."
-#: flatcamTools/ToolCopperThieving.py:1018
+#: flatcamTools/ToolCopperThieving.py:1024
msgid "Copper Thieving Tool. Preparing areas to fill with copper."
msgstr "Unealta Thieving Tool. Se pregătesc zonele de umplut cu cupru."
-#: flatcamTools/ToolCopperThieving.py:1029 flatcamTools/ToolOptimal.py:349
-#: flatcamTools/ToolPanelize.py:793 flatcamTools/ToolRulesCheck.py:1118
+#: flatcamTools/ToolCopperThieving.py:1035 flatcamTools/ToolOptimal.py:350
+#: flatcamTools/ToolPanelize.py:802 flatcamTools/ToolRulesCheck.py:1127
msgid "Working..."
msgstr "Se lucrează..."
-#: flatcamTools/ToolCopperThieving.py:1056
+#: flatcamTools/ToolCopperThieving.py:1062
msgid "Geometry not supported for bounding box"
msgstr "Geometria nu este acceptată pentru caseta de delimitare"
-#: flatcamTools/ToolCopperThieving.py:1062
-#: flatcamTools/ToolNonCopperClear.py:1513 flatcamTools/ToolPaint.py:2673
+#: flatcamTools/ToolCopperThieving.py:1068 flatcamTools/ToolNCC.py:1928
+#: flatcamTools/ToolNCC.py:1983 flatcamTools/ToolNCC.py:2987
+#: flatcamTools/ToolPaint.py:3375
msgid "No object available."
msgstr "Nici-un obiect disponibil."
-#: flatcamTools/ToolCopperThieving.py:1099
-#: flatcamTools/ToolNonCopperClear.py:1555
+#: flatcamTools/ToolCopperThieving.py:1105 flatcamTools/ToolNCC.py:1953
+#: flatcamTools/ToolNCC.py:2006 flatcamTools/ToolNCC.py:3029
msgid "The reference object type is not supported."
msgstr "Tipul de obiect de referintă nu este acceptat."
-#: flatcamTools/ToolCopperThieving.py:1104
+#: flatcamTools/ToolCopperThieving.py:1110
msgid "Copper Thieving Tool. Appending new geometry and buffering."
msgstr ""
"Unealta Copper Thieving. Se adauga o noua geometrie si se fuzioneaza acestea."
-#: flatcamTools/ToolCopperThieving.py:1120
+#: flatcamTools/ToolCopperThieving.py:1126
msgid "Create geometry"
msgstr "Creați geometrie"
-#: flatcamTools/ToolCopperThieving.py:1320
-#: flatcamTools/ToolCopperThieving.py:1324
+#: flatcamTools/ToolCopperThieving.py:1326
+#: flatcamTools/ToolCopperThieving.py:1330
msgid "P-Plating Mask"
msgstr "Mască M-Placare"
-#: flatcamTools/ToolCopperThieving.py:1346
+#: flatcamTools/ToolCopperThieving.py:1352
msgid "Append PP-M geometry"
msgstr "Adaugă geometrie mască PM"
-#: flatcamTools/ToolCopperThieving.py:1472
+#: flatcamTools/ToolCopperThieving.py:1478
msgid "Generating Pattern Plating Mask done."
msgstr "Generarea măștii de placare cu model efectuată."
-#: flatcamTools/ToolCopperThieving.py:1544
+#: flatcamTools/ToolCopperThieving.py:1550
msgid "Copper Thieving Tool exit."
msgstr "Unealta Copper Thieving terminata."
@@ -13706,7 +14464,19 @@ msgstr "Unealta Copper Thieving terminata."
msgid "Cutout PCB"
msgstr "Decupare PCB"
-#: flatcamTools/ToolCutOut.py:82
+#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:54
+msgid "Source Object"
+msgstr "Obiect Sursă"
+
+#: flatcamTools/ToolCutOut.py:71
+msgid "Object to be cutout"
+msgstr "Obiect care trebuie decupat"
+
+#: flatcamTools/ToolCutOut.py:76
+msgid "Kind"
+msgstr "Fel"
+
+#: flatcamTools/ToolCutOut.py:98
msgid ""
"Specify the type of object to be cutout.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -13719,21 +14489,21 @@ msgstr ""
"obiecte care vor aparea in combobox-ul\n"
"numit >Obiect<."
-#: flatcamTools/ToolCutOut.py:91 flatcamTools/ToolCutOut.py:92
-msgid "Object to be cutout"
-msgstr "Obiect care trebuie decupat"
+#: flatcamTools/ToolCutOut.py:122
+msgid "Tool Parameters"
+msgstr "Parametrii Unealtă"
-#: flatcamTools/ToolCutOut.py:230
+#: flatcamTools/ToolCutOut.py:239
msgid "A. Automatic Bridge Gaps"
msgstr "A. Punţi realiz. automat"
-#: flatcamTools/ToolCutOut.py:232
+#: flatcamTools/ToolCutOut.py:241
msgid "This section handle creation of automatic bridge gaps."
msgstr ""
"Aceasta sectiune va permite crearea in mod automat\n"
"a pana la 8 punţi."
-#: flatcamTools/ToolCutOut.py:243
+#: flatcamTools/ToolCutOut.py:252
msgid ""
"Number of gaps used for the Automatic cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -13757,11 +14527,11 @@ msgstr ""
"- 2tb = 2* sus - 2* jos\n"
"- 8 = 2* stânga - 2* dreapta - 2* sus - 2* jos"
-#: flatcamTools/ToolCutOut.py:264
+#: flatcamTools/ToolCutOut.py:273
msgid "Generate Freeform Geometry"
msgstr "Generați geometrie cu formă liberă"
-#: flatcamTools/ToolCutOut.py:266
+#: flatcamTools/ToolCutOut.py:275
msgid ""
"Cutout the selected object.\n"
"The cutout shape can be of any shape.\n"
@@ -13771,11 +14541,11 @@ msgstr ""
"Forma decupajului poate avea orice forma.\n"
"Folositor când PCB-ul are o forma neregulata."
-#: flatcamTools/ToolCutOut.py:278
+#: flatcamTools/ToolCutOut.py:287
msgid "Generate Rectangular Geometry"
msgstr "Generați geometrie dreptunghiulară"
-#: flatcamTools/ToolCutOut.py:280
+#: flatcamTools/ToolCutOut.py:289
msgid ""
"Cutout the selected object.\n"
"The resulting cutout shape is\n"
@@ -13785,11 +14555,11 @@ msgstr ""
"Decupează obiectul selectat.\n"
"Forma decupajului este tot timpul dreptunghiulara.."
-#: flatcamTools/ToolCutOut.py:299
+#: flatcamTools/ToolCutOut.py:308
msgid "B. Manual Bridge Gaps"
msgstr "B. Punţi realiz. manual"
-#: flatcamTools/ToolCutOut.py:301
+#: flatcamTools/ToolCutOut.py:310
msgid ""
"This section handle creation of manual bridge gaps.\n"
"This is done by mouse clicking on the perimeter of the\n"
@@ -13801,15 +14571,15 @@ msgstr ""
"apasarea tastei CTRL, operatia se va repeta automat pana când\n"
"se va apasa tasta 'Escape'. "
-#: flatcamTools/ToolCutOut.py:319
+#: flatcamTools/ToolCutOut.py:329
msgid "Geometry object used to create the manual cutout."
msgstr "Obiect tip Geometrie folosit pentru crearea decupajului manual."
-#: flatcamTools/ToolCutOut.py:328
+#: flatcamTools/ToolCutOut.py:338
msgid "Generate Manual Geometry"
msgstr "Generați geometrie manuală"
-#: flatcamTools/ToolCutOut.py:330
+#: flatcamTools/ToolCutOut.py:340
msgid ""
"If the object to be cutout is a Gerber\n"
"first create a Geometry that surrounds it,\n"
@@ -13822,11 +14592,11 @@ msgstr ""
"Selectează obiectul sursa Gerber in combobox-ul de mai sus,\n"
"numit >Obiect<."
-#: flatcamTools/ToolCutOut.py:343
+#: flatcamTools/ToolCutOut.py:353
msgid "Manual Add Bridge Gaps"
msgstr "Adaugă punţi manual"
-#: flatcamTools/ToolCutOut.py:345
+#: flatcamTools/ToolCutOut.py:355
msgid ""
"Use the left mouse button (LMB) click\n"
"to create a bridge gap to separate the PCB from\n"
@@ -13840,7 +14610,7 @@ msgstr ""
"apasarea tastei CTRL, operatia se va repeta automat pana când\n"
"se va apasa tasta 'Escape'."
-#: flatcamTools/ToolCutOut.py:473
+#: flatcamTools/ToolCutOut.py:485
msgid ""
"There is no object selected for Cutout.\n"
"Select one and try again."
@@ -13848,18 +14618,19 @@ msgstr ""
"Nu este nici-un obiect selectat pentru decupaj.\n"
"Selectează unul și încearcă din nou."
-#: flatcamTools/ToolCutOut.py:479 flatcamTools/ToolCutOut.py:651
-#: flatcamTools/ToolCutOut.py:795 flatcamTools/ToolCutOut.py:877
+#: flatcamTools/ToolCutOut.py:491 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:839 flatcamTools/ToolCutOut.py:921
+#: tclCommands/TclCommandGeoCutout.py:185
msgid "Tool Diameter is zero value. Change it to a positive real number."
msgstr "Diametrul uneltei este zero. Schimbă intr-o valoare pozitivă Reală."
-#: flatcamTools/ToolCutOut.py:493 flatcamTools/ToolCutOut.py:666
+#: flatcamTools/ToolCutOut.py:505 flatcamTools/ToolCutOut.py:691
msgid "Number of gaps value is missing. Add it and retry."
msgstr ""
"Numărul de punţi lipseste sau este in format gresit. Adaugă din nou și "
"reîncearcă."
-#: flatcamTools/ToolCutOut.py:498 flatcamTools/ToolCutOut.py:670
+#: flatcamTools/ToolCutOut.py:510 flatcamTools/ToolCutOut.py:695
msgid ""
"Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. "
"Fill in a correct value and retry. "
@@ -13867,7 +14638,7 @@ msgstr ""
"Valoarea spatiilor poate fi doar una dintre: „Niciuna”, „lr”, „tb”, „2lr”, "
"„2tb”, 4 sau 8. Completați o valoare corectă și încercați din nou. "
-#: flatcamTools/ToolCutOut.py:503 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:515 flatcamTools/ToolCutOut.py:701
msgid ""
"Cutout operation cannot be done on a multi-geo Geometry.\n"
"Optionally, this Multi-geo Geometry can be converted to Single-geo "
@@ -13879,40 +14650,45 @@ msgstr ""
"Se poate insa converti MultiGeo in tip SingleGeo și apoi se poate efectua "
"decupajul."
-#: flatcamTools/ToolCutOut.py:625 flatcamTools/ToolCutOut.py:784
+#: flatcamTools/ToolCutOut.py:650 flatcamTools/ToolCutOut.py:828
msgid "Any form CutOut operation finished."
msgstr "Operatia de decupaj cu formă liberă s-a terminat."
-#: flatcamTools/ToolCutOut.py:646 flatcamTools/ToolNonCopperClear.py:1155
-#: flatcamTools/ToolPaint.py:994 flatcamTools/ToolPanelize.py:406
-#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:70
+#: flatcamTools/ToolCutOut.py:671 flatcamTools/ToolInvertGerber.py:214
+#: flatcamTools/ToolNCC.py:1598 flatcamTools/ToolPaint.py:1392
+#: flatcamTools/ToolPanelize.py:418 tclCommands/TclCommandBbox.py:72
+#: tclCommands/TclCommandNregions.py:72
msgid "Object not found"
msgstr "Obiectul nu a fost gasit"
-#: flatcamTools/ToolCutOut.py:789
+#: flatcamTools/ToolCutOut.py:814
+msgid "Rectangular cutout with negative margin is not possible."
+msgstr "Tăierea rectangulară cu marginea negativă nu este posibilă."
+
+#: flatcamTools/ToolCutOut.py:833
msgid ""
"Click on the selected geometry object perimeter to create a bridge gap ..."
msgstr ""
"Click pe perimetrul obiectului tip Geometrie selectat\n"
"pentru a crea o punte separatoare."
-#: flatcamTools/ToolCutOut.py:806 flatcamTools/ToolCutOut.py:832
+#: flatcamTools/ToolCutOut.py:850 flatcamTools/ToolCutOut.py:876
msgid "Could not retrieve Geometry object"
msgstr "Nu s-a putut incărca obiectul Geometrie"
-#: flatcamTools/ToolCutOut.py:837
+#: flatcamTools/ToolCutOut.py:881
msgid "Geometry object for manual cutout not found"
msgstr "Obiectul Geometrie pentru decupaj manual nu este găsit"
-#: flatcamTools/ToolCutOut.py:847
+#: flatcamTools/ToolCutOut.py:891
msgid "Added manual Bridge Gap."
msgstr "O punte a fost adăugată in mod manual."
-#: flatcamTools/ToolCutOut.py:859
+#: flatcamTools/ToolCutOut.py:903
msgid "Could not retrieve Gerber object"
msgstr "Nu s-a putut incărca obiectul Gerber"
-#: flatcamTools/ToolCutOut.py:864
+#: flatcamTools/ToolCutOut.py:908
msgid ""
"There is no Gerber object selected for Cutout.\n"
"Select one and try again."
@@ -13920,7 +14696,7 @@ msgstr ""
"Nu există obiect selectat pt operatia de decupare.\n"
"Selectează un obiect si incearcă din nou."
-#: flatcamTools/ToolCutOut.py:870
+#: flatcamTools/ToolCutOut.py:914
msgid ""
"The selected object has to be of Gerber type.\n"
"Select a Gerber file and try again."
@@ -13928,11 +14704,11 @@ msgstr ""
"Obiectul selectat trebuie să fie de tip Gerber.\n"
"Selectează un obiect Gerber si incearcă din nou."
-#: flatcamTools/ToolCutOut.py:905
+#: flatcamTools/ToolCutOut.py:949
msgid "Geometry not supported for cutout"
msgstr "Geometria nu este acceptată pentru decupaj"
-#: flatcamTools/ToolCutOut.py:960
+#: flatcamTools/ToolCutOut.py:1007
msgid "Making manual bridge gap..."
msgstr "Se generează o punte separatoare in mod manual..."
@@ -13940,12 +14716,20 @@ msgstr "Se generează o punte separatoare in mod manual..."
msgid "2-Sided PCB"
msgstr "2-fețe PCB"
-#: flatcamTools/ToolDblSided.py:60
+#: flatcamTools/ToolDblSided.py:53
+msgid "Mirror Operation"
+msgstr "Operațiune Oglindire"
+
+#: flatcamTools/ToolDblSided.py:54
+msgid "Objects to be mirrored"
+msgstr "Obiecte care vor fi Oglindite"
+
+#: flatcamTools/ToolDblSided.py:66
msgid "Gerber to be mirrored"
msgstr "Gerber pentru oglindit"
-#: flatcamTools/ToolDblSided.py:64 flatcamTools/ToolDblSided.py:92
-#: flatcamTools/ToolDblSided.py:122
+#: flatcamTools/ToolDblSided.py:70 flatcamTools/ToolDblSided.py:98
+#: flatcamTools/ToolDblSided.py:128
msgid ""
"Mirrors (flips) the specified object around \n"
"the specified axis. Does not create a new \n"
@@ -13954,102 +14738,141 @@ msgstr ""
"Oglindește obiectul specificat pe axa specificata.\n"
"Nu crează un obiect nou ci il modifica."
-#: flatcamTools/ToolDblSided.py:88
+#: flatcamTools/ToolDblSided.py:94
msgid "Excellon Object to be mirrored."
msgstr "Obiectul Excellon care va fi oglindit."
-#: flatcamTools/ToolDblSided.py:117
+#: flatcamTools/ToolDblSided.py:123
msgid "Geometry Obj to be mirrored."
msgstr "Obiectul Geometrie care va fi oglindit."
-#: flatcamTools/ToolDblSided.py:179
-msgid "Point/Box Reference"
-msgstr "Referință Punct/Container"
+#: flatcamTools/ToolDblSided.py:159
+msgid "Mirror Parameters"
+msgstr "Parametrii Oglindire"
-#: flatcamTools/ToolDblSided.py:181
+#: flatcamTools/ToolDblSided.py:160
+msgid "Parameters for the mirror operation"
+msgstr "Parametri pt operația de Oglindire"
+
+#: flatcamTools/ToolDblSided.py:165
+msgid "Mirror Axis"
+msgstr "Axa Oglindire"
+
+#: flatcamTools/ToolDblSided.py:176
msgid ""
-"If 'Point' is selected above it store the coordinates (x, y) through which\n"
-"the mirroring axis passes.\n"
-"If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
-"Geo).\n"
-"Through the center of this object pass the mirroring axis selected above."
+"The coordinates used as reference for the mirror operation.\n"
+"Can be:\n"
+"- Point -> a set of coordinates (x,y) around which the object is mirrored\n"
+"- Box -> a set of coordinates (x, y) obtained from the center of the\n"
+"bounding box of another object selected below"
msgstr ""
-"Daca 'Punct' este selectat mai sus, atunci va stoca coordonatele (x,y) prin "
-"care\n"
-"axa de oglindire trece.\n"
-"Daca 'Container' este selectat mai sus atunci va fi disponibila aici o lista "
-"de obiecte\n"
-"FlatCAM: Gerber, Excellon sau Geometrie. Prin mijocul geometric al acestor "
-"obiecte\n"
-"va trece axa de oglindire selectată mai sus."
+"Coordinatele folosite ca referintă pentru operatia de Oglindire.\n"
+"Pot fi:\n"
+"- Punct -> un set de coordinate (x,y) in jurul cărora se va face oglindirea\n"
+"- Cuie -> un set de coordinate (x,y) obtinute din centrul formei "
+"inconjurătoare\n"
+"al unui alt obiect, selectat mai jos"
-#: flatcamTools/ToolDblSided.py:189
+#: flatcamTools/ToolDblSided.py:190
+msgid "Point coordinates"
+msgstr "Coordonatele Punct"
+
+#: flatcamTools/ToolDblSided.py:195
msgid ""
"Add the coordinates in format (x, y) through which the mirroring "
"axis \n"
" selected in 'MIRROR AXIS' pass.\n"
"The (x, y) coordinates are captured by pressing SHIFT key\n"
-"and left mouse button click on canvas or you can enter the coords manually."
+"and left mouse button click on canvas or you can enter the coordinates "
+"manually."
msgstr ""
-"Adaugă coordonatele in formatul (x, y) ale punctului prin care trece\n"
-"axa de oglindire selectată mai sus.\n"
+"Adaugă coordonatele in formatul (x, y) prin care trece\n"
+"axa de oglindire selectată mai sus, in pasul 'AXA OGLINDIRE'.\n"
"Coordonatele (x,y) pot fi obtinute prin combinatia tasta SHIFT + click mouse "
"pe\n"
-"canvas sau le puteti introduce manual."
+"suprafata de afisare sau le puteti introduce manual."
-#: flatcamTools/ToolDblSided.py:230
-msgid "Alignment Drill Coordinates"
-msgstr "Dia. găuri de aliniere"
-
-#: flatcamTools/ToolDblSided.py:232
+#: flatcamTools/ToolDblSided.py:219
msgid ""
-"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
-"each set of (x, y) coordinates\n"
-"entered here, a pair of drills will be created:\n"
-"\n"
-"- one drill at the coordinates from the field\n"
-"- one drill in mirror position over the axis selected above in the 'Mirror "
-"Axis'."
+"It can be of type: Gerber or Excellon or Geometry.\n"
+"The coordinates of the center of the bounding box are used\n"
+"as reference for mirror operation."
msgstr ""
-"Găuri de aliniere in formatul unei liste: (x1, y1), (x2, y2) samd.\n"
-"Pentru fiecare punct din lista de mai sus (cu coord. (x,y) )\n"
-"un alt punct va fi creat in oglinda.\n"
-"- un punct cu coord. specificate\n"
-"- un punct cu coord. in poziţia oglindita pe axa selectată mai sus."
+"Poate fi de tipul: Gerber, Excellon sau Geometrie.\n"
+"Coordonatele centrului formei inconjurătoare sunt folosite\n"
+"ca si referintă pentru operatiunea de Oglindire."
-#: flatcamTools/ToolDblSided.py:247
+#: flatcamTools/ToolDblSided.py:253
+msgid "Bounds Values"
+msgstr "Valorile Limitelor"
+
+#: flatcamTools/ToolDblSided.py:255
msgid ""
-"Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n"
-"on one side of the mirror axis.\n"
-"\n"
-"The coordinates set can be obtained:\n"
-"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the "
-"field.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
-"field and click Paste.\n"
-"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+"Select on canvas the object(s)\n"
+"for which to calculate bounds values."
msgstr ""
-"Adăugă coordonatele pt găurile de aliniere in formatul: (x1,y1), (x2,y2) "
-"samd\n"
-"\n"
-"Coordonatele pot fi obtinute prin urmatoarele metoda:\n"
-"- apasare tasta SHIFT + click mouse pe canvas. Apoi apasa butonul 'Adaugă'.\n"
-"- apasare tasta SHIFT + click mouse pe canvas. Apoi CTRL + V combo in câmpul "
-"de editare\n"
-"- apasare tasta SHIFT + click mouse pe canvas. Apoi click dreapta și Paste "
-"in câmpul de edit.\n"
-"- se intorduc manual in formatul (x1,y1), (x2,y2) ..."
+"Selectati pe suprafata de afisare obiectul(e)\n"
+"pentru care se calculează valorile limitelor."
-#: flatcamTools/ToolDblSided.py:272
-msgid "Alignment Drill Diameter"
-msgstr "Dia. găuri de aliniere"
+#: flatcamTools/ToolDblSided.py:265
+msgid "X min"
+msgstr "X min"
-#: flatcamTools/ToolDblSided.py:292
-msgid "Create Excellon Object"
-msgstr "Crează un obiect Excellon"
+#: flatcamTools/ToolDblSided.py:267 flatcamTools/ToolDblSided.py:281
+msgid "Minimum location."
+msgstr "Locație minimă."
-#: flatcamTools/ToolDblSided.py:294
+#: flatcamTools/ToolDblSided.py:279
+msgid "Y min"
+msgstr "Y min"
+
+#: flatcamTools/ToolDblSided.py:293
+msgid "X max"
+msgstr "X max"
+
+#: flatcamTools/ToolDblSided.py:295 flatcamTools/ToolDblSided.py:309
+msgid "Maximum location."
+msgstr "Locație maximă."
+
+#: flatcamTools/ToolDblSided.py:307
+msgid "Y max"
+msgstr "Y max"
+
+#: flatcamTools/ToolDblSided.py:318
+msgid "Center point coordinates"
+msgstr "Coordonatele punctului central"
+
+#: flatcamTools/ToolDblSided.py:320
+msgid "Centroid"
+msgstr "Centroid"
+
+#: flatcamTools/ToolDblSided.py:322
+msgid ""
+"The center point location for the rectangular\n"
+"bounding shape. Centroid. Format is (x, y)."
+msgstr ""
+"Locația punctului central pentru dreptunghiul\n"
+"formă de delimitare. Centroid. Formatul este (x, y)."
+
+#: flatcamTools/ToolDblSided.py:331
+msgid "Calculate Bounds Values"
+msgstr "Calculați valorile limitelor"
+
+#: flatcamTools/ToolDblSided.py:333
+msgid ""
+"Calculate the enveloping rectangular shape coordinates,\n"
+"for the selection of objects.\n"
+"The envelope shape is parallel with the X, Y axis."
+msgstr ""
+"Calculați coordonatele pt forma dreptunghiulară învelitoare,\n"
+"pentru selectarea obiectelor.\n"
+"Forma este paralelă cu axele X, Y."
+
+#: flatcamTools/ToolDblSided.py:353
+msgid "PCB Alignment"
+msgstr "Aliniere PCB"
+
+#: flatcamTools/ToolDblSided.py:355 flatcamTools/ToolDblSided.py:457
msgid ""
"Creates an Excellon Object containing the\n"
"specified alignment holes and their mirror\n"
@@ -14058,61 +14881,87 @@ msgstr ""
"Crează un obiect Excellon care contine găurile\n"
"de aliniere specificate cat și cele in oglinda."
-#: flatcamTools/ToolDblSided.py:323
-msgid "X min"
-msgstr "X min"
+#: flatcamTools/ToolDblSided.py:362
+msgid "Drill Diameter"
+msgstr "Dia Găurire"
-#: flatcamTools/ToolDblSided.py:325 flatcamTools/ToolDblSided.py:339
-msgid "Minimum location."
-msgstr "Locație minimă."
-
-#: flatcamTools/ToolDblSided.py:337
-msgid "Y min"
-msgstr "Y min"
-
-#: flatcamTools/ToolDblSided.py:351
-msgid "X max"
-msgstr "X max"
-
-#: flatcamTools/ToolDblSided.py:353 flatcamTools/ToolDblSided.py:367
-msgid "Maximum location."
-msgstr "Locație maximă."
-
-#: flatcamTools/ToolDblSided.py:365
-msgid "Y max"
-msgstr "Y max"
-
-#: flatcamTools/ToolDblSided.py:377
-msgid "Centroid"
-msgstr "Centroid"
-
-#: flatcamTools/ToolDblSided.py:379
+#: flatcamTools/ToolDblSided.py:391 flatcamTools/ToolDblSided.py:398
msgid ""
-"The center point location for the rectangular\n"
-"bounding shape. Centroid. Format is (x, y)."
+"The reference point used to create the second alignment drill\n"
+"from the first alignment drill, by doing mirror.\n"
+"It can be modified in the Mirror Parameters -> Reference section"
msgstr ""
-"Locația punctului central pentru dreptunghiul\n"
-"formă de delimitare. Centroid. Formatul este (x, y)."
+"Punctul de referintă folosit pentru crearea găurii de aliniere secundară,\n"
+"din prima gaură de aliniere prin oglindire.\n"
+"Poate fi modificat in Parametri Oglindire -> Sectiunea Referintă"
-#: flatcamTools/ToolDblSided.py:388
-msgid "Calculate Bounds Values"
-msgstr "Calculați valorile limitelor"
+#: flatcamTools/ToolDblSided.py:411
+msgid "Alignment Drill Coordinates"
+msgstr "Dia. găuri de aliniere"
-#: flatcamTools/ToolDblSided.py:390
+#: flatcamTools/ToolDblSided.py:413
msgid ""
-"Calculate the enveloping rectangular shape coordinates,\n"
-"for the selection of objects.\n"
-"The envelope shape is parallel with the X, Y axis."
+"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For "
+"each set of (x, y) coordinates\n"
+"entered here, a pair of drills will be created:\n"
+"\n"
+"- one drill at the coordinates from the field\n"
+"- one drill in mirror position over the axis selected above in the 'Align "
+"Axis'."
msgstr ""
-"Calculați coordonatele pt forma dreptunghiulară învelitoare,\n"
-"pentru selectarea obiectelor.\n"
-"Forma este paralelă cu axa X, Y"
+"Găuri de aliniere in formatul unei liste: (x1, y1), (x2, y2) samd.\n"
+"Pentru fiecare punct din lista de mai sus (cu coord. (x,y) )\n"
+"vor fi create o pereche de găuri:\n"
+"- o gaură cu coord. specificate in campul de editare\n"
+"- o gaură cu coord. in poziţia oglindită pe axa selectată mai sus in 'Axa "
+"Aliniere'."
-#: flatcamTools/ToolDblSided.py:462
+#: flatcamTools/ToolDblSided.py:421
+msgid "Drill coordinates"
+msgstr "Coordonatele găuri"
+
+#: flatcamTools/ToolDblSided.py:428
+msgid ""
+"Add alignment drill holes coordinates in the format: (x1, y1), (x2, "
+"y2), ... \n"
+"on one side of the alignment axis.\n"
+"\n"
+"The coordinates set can be obtained:\n"
+"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the "
+"field.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
+"field and click Paste.\n"
+"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+msgstr ""
+"Adăugă coordonatele pt găurile de aliniere in formatul: (x1,y1), (x2,y2) "
+"samd\n"
+"\n"
+"Coordonatele pot fi obtinute prin urmatoarele metodă:\n"
+"- apăsare tasta SHIFT + click mouse pe canvas. Apoi apasa butonul 'Adaugă'.\n"
+"- apăsare tasta SHIFT + click mouse pe canvas. Apoi CTRL + V combo in câmpul "
+"de editare\n"
+"- apăsare tasta SHIFT + click mouse pe canvas. Apoi click dreapta și Paste "
+"in câmpul de edit.\n"
+"- se introduc manual in formatul (x1,y1), (x2,y2) ..."
+
+#: flatcamTools/ToolDblSided.py:443
+msgid "Delete Last"
+msgstr "Șterge Ultima"
+
+#: flatcamTools/ToolDblSided.py:445
+msgid "Delete the last coordinates tuple in the list."
+msgstr "Șterge ultimul set de coordinate din listă."
+
+#: flatcamTools/ToolDblSided.py:455
+msgid "Create Excellon Object"
+msgstr "Crează un obiect Excellon"
+
+#: flatcamTools/ToolDblSided.py:542
msgid "2-Sided Tool"
msgstr "Unealta 2-fețe"
-#: flatcamTools/ToolDblSided.py:493
+#: flatcamTools/ToolDblSided.py:582
msgid ""
"'Point' reference is selected and 'Point' coordinates are missing. Add them "
"and retry."
@@ -14120,151 +14969,170 @@ msgstr ""
"Referința 'Punct' este selectată dar coordonatele sale lipsesc. Adăugă-le si "
"încearcă din nou."
-#: flatcamTools/ToolDblSided.py:512
+#: flatcamTools/ToolDblSided.py:601
msgid "There is no Box reference object loaded. Load one and retry."
msgstr ""
"Nici-un obiect container nu este incărcat. Încarcă unul și încearcă din nou."
-#: flatcamTools/ToolDblSided.py:524
+#: flatcamTools/ToolDblSided.py:613
msgid "No value or wrong format in Drill Dia entry. Add it and retry."
msgstr ""
"Val. pt dia burghiu lipseste sau este in format gresit. Adaugă una și "
"încearcă din nou."
-#: flatcamTools/ToolDblSided.py:532
+#: flatcamTools/ToolDblSided.py:624
msgid "There are no Alignment Drill Coordinates to use. Add them and retry."
msgstr ""
"Nu exista coord. pentru găurile de aliniere. Adaugă-le și încearcă din nou."
-#: flatcamTools/ToolDblSided.py:555
+#: flatcamTools/ToolDblSided.py:649
msgid "Excellon object with alignment drills created..."
msgstr "Obiectul Excellon conținând găurile de aliniere a fost creat ..."
-#: flatcamTools/ToolDblSided.py:568 flatcamTools/ToolDblSided.py:611
-#: flatcamTools/ToolDblSided.py:655
+#: flatcamTools/ToolDblSided.py:662 flatcamTools/ToolDblSided.py:705
+#: flatcamTools/ToolDblSided.py:749
msgid "Only Gerber, Excellon and Geometry objects can be mirrored."
msgstr "Doar obiectele de tip Geometrie, Excellon și Gerber pot fi oglindite."
-#: flatcamTools/ToolDblSided.py:578
-msgid ""
-"'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
-msgstr ""
-"Coord. 'Punct'-ului lipsesc. Se folosesc coord. punctului Origine (0,0) ca "
-"ref. pt oglindire."
-
-#: flatcamTools/ToolDblSided.py:588 flatcamTools/ToolDblSided.py:632
-#: flatcamTools/ToolDblSided.py:669
-msgid "There is no Box object loaded ..."
-msgstr "Nu este incărcat nici-un obiect container ..."
-
-#: flatcamTools/ToolDblSided.py:598 flatcamTools/ToolDblSided.py:642
-#: flatcamTools/ToolDblSided.py:679
-msgid "was mirrored"
-msgstr "a fost oglindit"
-
-#: flatcamTools/ToolDblSided.py:607
-msgid "There is no Excellon object loaded ..."
-msgstr "Nici-un obiect tip Excellon nu este incărcat ..."
-
-#: flatcamTools/ToolDblSided.py:622
+#: flatcamTools/ToolDblSided.py:672 flatcamTools/ToolDblSided.py:716
msgid ""
"There are no Point coordinates in the Point field. Add coords and try "
"again ..."
msgstr ""
"Nu există coord. in câmpul 'Punct'. Adaugă coord. și încearcă din nou..."
-#: flatcamTools/ToolDblSided.py:651
+#: flatcamTools/ToolDblSided.py:682 flatcamTools/ToolDblSided.py:726
+#: flatcamTools/ToolDblSided.py:763
+msgid "There is no Box object loaded ..."
+msgstr "Nu este incărcat nici-un obiect container ..."
+
+#: flatcamTools/ToolDblSided.py:692 flatcamTools/ToolDblSided.py:736
+#: flatcamTools/ToolDblSided.py:773
+msgid "was mirrored"
+msgstr "a fost oglindit"
+
+#: flatcamTools/ToolDblSided.py:701 flatcamTools/ToolPunchGerber.py:533
+msgid "There is no Excellon object loaded ..."
+msgstr "Nici-un obiect tip Excellon nu este incărcat ..."
+
+#: flatcamTools/ToolDblSided.py:745
msgid "There is no Geometry object loaded ..."
msgstr "Nici-un obiect tip Geometrie nu este incărcat ..."
-#: flatcamTools/ToolDistance.py:50 flatcamTools/ToolDistanceMin.py:50
+#: flatcamTools/ToolDistance.py:57 flatcamTools/ToolDistanceMin.py:51
msgid "Those are the units in which the distance is measured."
msgstr "Unitatile de masura in care se masoara distanța."
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "METRIC (mm)"
msgstr "Metric (mm)"
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "INCH (in)"
msgstr "INCH (in)"
-#: flatcamTools/ToolDistance.py:54
+#: flatcamTools/ToolDistance.py:64
+msgid "Snap to center"
+msgstr "Sari in Centru"
+
+#: flatcamTools/ToolDistance.py:66
+msgid ""
+"Mouse cursor will snap to the center of the pad/drill\n"
+"when it is hovering over the geometry of the pad/drill."
+msgstr ""
+"Cursorul mouse-ului va sari (automat) pozitionandu-se in centrul padului/"
+"găurii\n"
+"atunci cand se găseste deasupra geometriei acelui pad/gaură."
+
+#: flatcamTools/ToolDistance.py:76
msgid "Start Coords"
msgstr "Coordonate Start"
-#: flatcamTools/ToolDistance.py:55 flatcamTools/ToolDistance.py:75
+#: flatcamTools/ToolDistance.py:77 flatcamTools/ToolDistance.py:82
msgid "This is measuring Start point coordinates."
msgstr "Coordonatele punctului de Start."
-#: flatcamTools/ToolDistance.py:57
+#: flatcamTools/ToolDistance.py:87
msgid "Stop Coords"
msgstr "Coordonate Stop"
-#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistance.py:80
+#: flatcamTools/ToolDistance.py:88 flatcamTools/ToolDistance.py:93
msgid "This is the measuring Stop point coordinates."
msgstr "Coordonatele punctului de Stop."
-#: flatcamTools/ToolDistance.py:60 flatcamTools/ToolDistanceMin.py:62
+#: flatcamTools/ToolDistance.py:98 flatcamTools/ToolDistanceMin.py:63
msgid "Dx"
msgstr "Dx"
-#: flatcamTools/ToolDistance.py:61 flatcamTools/ToolDistance.py:85
-#: flatcamTools/ToolDistanceMin.py:63 flatcamTools/ToolDistanceMin.py:92
+#: flatcamTools/ToolDistance.py:99 flatcamTools/ToolDistance.py:104
+#: flatcamTools/ToolDistanceMin.py:64 flatcamTools/ToolDistanceMin.py:93
msgid "This is the distance measured over the X axis."
msgstr "Distanta masurata pe axa X."
-#: flatcamTools/ToolDistance.py:63 flatcamTools/ToolDistanceMin.py:65
+#: flatcamTools/ToolDistance.py:109 flatcamTools/ToolDistanceMin.py:66
msgid "Dy"
msgstr "Dy"
-#: flatcamTools/ToolDistance.py:64 flatcamTools/ToolDistance.py:90
-#: flatcamTools/ToolDistanceMin.py:66 flatcamTools/ToolDistanceMin.py:97
+#: flatcamTools/ToolDistance.py:110 flatcamTools/ToolDistance.py:115
+#: flatcamTools/ToolDistanceMin.py:67 flatcamTools/ToolDistanceMin.py:98
msgid "This is the distance measured over the Y axis."
msgstr "Distanta masurata pe axa Y."
-#: flatcamTools/ToolDistance.py:67 flatcamTools/ToolDistance.py:95
-#: flatcamTools/ToolDistanceMin.py:69 flatcamTools/ToolDistanceMin.py:102
+#: flatcamTools/ToolDistance.py:121 flatcamTools/ToolDistance.py:126
+#: flatcamTools/ToolDistanceMin.py:70 flatcamTools/ToolDistanceMin.py:103
msgid "This is orientation angle of the measuring line."
msgstr "Acesta este unghiul de orientare al liniei de măsurare."
-#: flatcamTools/ToolDistance.py:69 flatcamTools/ToolDistanceMin.py:71
+#: flatcamTools/ToolDistance.py:131 flatcamTools/ToolDistanceMin.py:72
msgid "DISTANCE"
msgstr "DISTANTA"
-#: flatcamTools/ToolDistance.py:70 flatcamTools/ToolDistance.py:100
+#: flatcamTools/ToolDistance.py:132 flatcamTools/ToolDistance.py:137
msgid "This is the point to point Euclidian distance."
msgstr "Distanta euclidiana de la punct la punct."
-#: flatcamTools/ToolDistance.py:102 flatcamTools/ToolDistanceMin.py:114
+#: flatcamTools/ToolDistance.py:142 flatcamTools/ToolDistance.py:337
+#: flatcamTools/ToolDistanceMin.py:115
msgid "Measure"
msgstr "Măsoară"
-#: flatcamTools/ToolDistance.py:212
+#: flatcamTools/ToolDistance.py:272
+msgid "Working"
+msgstr "Se lucrează"
+
+#: flatcamTools/ToolDistance.py:277
msgid "MEASURING: Click on the Start point ..."
msgstr "Masoara: Click pe punctul de Start ..."
-#: flatcamTools/ToolDistance.py:345
+#: flatcamTools/ToolDistance.py:387
+msgid "Distance Tool finished."
+msgstr "Măsurătoarea s-a terminat."
+
+#: flatcamTools/ToolDistance.py:455
+msgid "Pads overlapped. Aborting."
+msgstr "Pad-urile sunt suprapuse. Operatie anulată."
+
+#: flatcamTools/ToolDistance.py:485
msgid "MEASURING: Click on the Destination point ..."
msgstr "Masoara: Click pe punctul Destinaţie..."
-#: flatcamTools/ToolDistance.py:353 flatcamTools/ToolDistanceMin.py:282
+#: flatcamTools/ToolDistance.py:494 flatcamTools/ToolDistanceMin.py:285
msgid "MEASURING"
msgstr "MĂSURARE"
-#: flatcamTools/ToolDistance.py:354 flatcamTools/ToolDistanceMin.py:283
+#: flatcamTools/ToolDistance.py:495 flatcamTools/ToolDistanceMin.py:286
msgid "Result"
msgstr "Rezultat"
-#: flatcamTools/ToolDistanceMin.py:31 flatcamTools/ToolDistanceMin.py:152
+#: flatcamTools/ToolDistanceMin.py:32 flatcamTools/ToolDistanceMin.py:144
msgid "Minimum Distance Tool"
msgstr "Unealta de distanță minimă"
-#: flatcamTools/ToolDistanceMin.py:54
+#: flatcamTools/ToolDistanceMin.py:55
msgid "First object point"
msgstr "Primul punct"
-#: flatcamTools/ToolDistanceMin.py:55 flatcamTools/ToolDistanceMin.py:80
+#: flatcamTools/ToolDistanceMin.py:56 flatcamTools/ToolDistanceMin.py:81
msgid ""
"This is first object point coordinates.\n"
"This is the start point for measuring distance."
@@ -14272,11 +15140,11 @@ msgstr ""
"Aceasta este prima coordonată a punctelor obiectului.\n"
"Acesta este punctul de pornire pentru măsurarea distanței."
-#: flatcamTools/ToolDistanceMin.py:58
+#: flatcamTools/ToolDistanceMin.py:59
msgid "Second object point"
msgstr "Al doilea punct"
-#: flatcamTools/ToolDistanceMin.py:59 flatcamTools/ToolDistanceMin.py:86
+#: flatcamTools/ToolDistanceMin.py:60 flatcamTools/ToolDistanceMin.py:87
msgid ""
"This is second object point coordinates.\n"
"This is the end point for measuring distance."
@@ -14284,43 +15152,60 @@ msgstr ""
"Aceasta este a doua coordonata a punctelor obiectului.\n"
"Acesta este punctul final pentru măsurarea distanței."
-#: flatcamTools/ToolDistanceMin.py:72 flatcamTools/ToolDistanceMin.py:107
+#: flatcamTools/ToolDistanceMin.py:73 flatcamTools/ToolDistanceMin.py:108
msgid "This is the point to point Euclidean distance."
msgstr "Distanta euclidiana de la punct la punct."
-#: flatcamTools/ToolDistanceMin.py:74
+#: flatcamTools/ToolDistanceMin.py:75
msgid "Half Point"
msgstr "Punctul de mijloc"
-#: flatcamTools/ToolDistanceMin.py:75 flatcamTools/ToolDistanceMin.py:112
+#: flatcamTools/ToolDistanceMin.py:76 flatcamTools/ToolDistanceMin.py:113
msgid "This is the middle point of the point to point Euclidean distance."
msgstr "Acesta este punctul de mijloc al distanței euclidiană."
-#: flatcamTools/ToolDistanceMin.py:117
+#: flatcamTools/ToolDistanceMin.py:118
msgid "Jump to Half Point"
msgstr "Sari la Punctul de Mijloc"
-#: flatcamTools/ToolDistanceMin.py:163
+#: flatcamTools/ToolDistanceMin.py:155
msgid ""
"Select two objects and no more, to measure the distance between them ..."
msgstr ""
"Selectați două obiecte și nu mai mult, pentru a măsura distanța dintre "
"ele ..."
-#: flatcamTools/ToolDistanceMin.py:204 flatcamTools/ToolDistanceMin.py:214
-#: flatcamTools/ToolDistanceMin.py:223 flatcamTools/ToolDistanceMin.py:244
+#: flatcamTools/ToolDistanceMin.py:196 flatcamTools/ToolDistanceMin.py:217
+#: flatcamTools/ToolDistanceMin.py:226 flatcamTools/ToolDistanceMin.py:247
msgid "Select two objects and no more. Currently the selection has objects: "
msgstr ""
"Selectați două obiecte și nu mai mult. În prezent, selecția are nr obiecte: "
-#: flatcamTools/ToolDistanceMin.py:291
+#: flatcamTools/ToolDistanceMin.py:294
msgid "Objects intersects or touch at"
msgstr "Obiectele se intersectează sau ating la"
-#: flatcamTools/ToolDistanceMin.py:297
+#: flatcamTools/ToolDistanceMin.py:300
msgid "Jumped to the half point between the two selected objects"
msgstr "A sărit la jumătatea punctului dintre cele două obiecte selectate"
+#: flatcamTools/ToolExtractDrills.py:29 flatcamTools/ToolExtractDrills.py:295
+msgid "Extract Drills"
+msgstr "Extrage Găuri"
+
+#: flatcamTools/ToolExtractDrills.py:62
+msgid "Gerber from which to extract drill holes"
+msgstr "Obiect Gerber din care se vor extrage găurile"
+
+#: flatcamTools/ToolExtractDrills.py:297
+msgid "Extract drills from a given Gerber file."
+msgstr "Extrage găuri dintr-un fisier Gerber."
+
+#: flatcamTools/ToolExtractDrills.py:478 flatcamTools/ToolExtractDrills.py:563
+#: flatcamTools/ToolExtractDrills.py:648
+msgid "No drills extracted. Try different parameters."
+msgstr "Nu s-au extras găuri. Incearcă alti parametri."
+
#: flatcamTools/ToolFiducials.py:56
msgid "Fiducials Coordinates"
msgstr "Coordonatele Fiducials"
@@ -14337,10 +15222,6 @@ msgstr ""
msgid "Top Right"
msgstr "Dreapta-sus"
-#: flatcamTools/ToolFiducials.py:111
-msgid "Second Point"
-msgstr "Al doilea punct"
-
#: flatcamTools/ToolFiducials.py:191
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding "
@@ -14351,32 +15232,32 @@ msgstr ""
"delimitare.\n"
" - „Manual” - plasarea manuală a fiduciarelor."
-#: flatcamTools/ToolFiducials.py:258
+#: flatcamTools/ToolFiducials.py:259
msgid "Copper Gerber"
msgstr "Gerber Cupru"
-#: flatcamTools/ToolFiducials.py:267
+#: flatcamTools/ToolFiducials.py:268
msgid "Add Fiducial"
msgstr "Adaugă Fiducial"
-#: flatcamTools/ToolFiducials.py:269
+#: flatcamTools/ToolFiducials.py:270
msgid "Will add a polygon on the copper layer to serve as fiducial."
msgstr ""
"Va adăuga un poligon pe stratul de cupru pentru a servi drept fiduciar."
-#: flatcamTools/ToolFiducials.py:285
+#: flatcamTools/ToolFiducials.py:286
msgid "Soldermask Gerber"
msgstr "Gerber Soldermask"
-#: flatcamTools/ToolFiducials.py:287
+#: flatcamTools/ToolFiducials.py:288
msgid "The Soldermask Gerber object."
msgstr "Obiectul Soldermask Gerber."
-#: flatcamTools/ToolFiducials.py:298
-msgid "Add Soldermask Opening"
-msgstr "Adăugați deschidere Soldermask."
-
#: flatcamTools/ToolFiducials.py:300
+msgid "Add Soldermask Opening"
+msgstr "Adăugați deschidere Soldermask"
+
+#: flatcamTools/ToolFiducials.py:302
msgid ""
"Will add a polygon on the soldermask layer\n"
"to serve as fiducial opening.\n"
@@ -14388,25 +15269,25 @@ msgstr ""
"Diametrul este întotdeauna dublu față de diametrul\n"
"pentru fiduciarul de cupru."
-#: flatcamTools/ToolFiducials.py:514
+#: flatcamTools/ToolFiducials.py:516
msgid "Click to add first Fiducial. Bottom Left..."
msgstr "Faceți clic pentru a adăuga primul Fiducial. Stânga jos..."
-#: flatcamTools/ToolFiducials.py:778
+#: flatcamTools/ToolFiducials.py:780
msgid "Click to add the last fiducial. Top Right..."
msgstr "Faceți clic pentru a adăuga ultimul Fiducial. Dreapta Sus..."
-#: flatcamTools/ToolFiducials.py:783
+#: flatcamTools/ToolFiducials.py:785
msgid "Click to add the second fiducial. Top Left or Bottom Right..."
msgstr ""
"Faceți clic pentru a adăuga cel de-al doilea Fiducial. Stânga sus sau "
"dreapta jos ..."
-#: flatcamTools/ToolFiducials.py:786 flatcamTools/ToolFiducials.py:795
+#: flatcamTools/ToolFiducials.py:788 flatcamTools/ToolFiducials.py:797
msgid "Done. All fiducials have been added."
msgstr "Terminat. Au fost adăugate toate Fiducials."
-#: flatcamTools/ToolFiducials.py:872
+#: flatcamTools/ToolFiducials.py:874
msgid "Fiducials Tool exit."
msgstr "Unealta Fiducials terminate."
@@ -14414,7 +15295,7 @@ msgstr "Unealta Fiducials terminate."
msgid "Film PCB"
msgstr "Film PCB"
-#: flatcamTools/ToolFilm.py:80
+#: flatcamTools/ToolFilm.py:78
msgid ""
"Specify the type of object for which to create the film.\n"
"The object can be of type: Gerber or Geometry.\n"
@@ -14426,11 +15307,11 @@ msgstr ""
"Selectia facuta aici controlează ce obiecte vor fi \n"
"gasite in combobox-ul >Obiect Film<."
-#: flatcamTools/ToolFilm.py:94
+#: flatcamTools/ToolFilm.py:92
msgid "Film Object"
msgstr "Obiect Film"
-#: flatcamTools/ToolFilm.py:96
+#: flatcamTools/ToolFilm.py:94
msgid "Object for which to create the film."
msgstr "Obiectul pt care se crează filmul."
@@ -14446,7 +15327,7 @@ msgstr ""
"Selectia facuta aici controlează ce obiecte vor fi \n"
"gasite in combobox-ul >Container<."
-#: flatcamTools/ToolFilm.py:129 flatcamTools/ToolPanelize.py:136
+#: flatcamTools/ToolFilm.py:129
msgid "Box Object"
msgstr "Container"
@@ -14508,20 +15389,20 @@ msgid ""
msgstr ""
"Îndepărtați geometria Excellon din film pentru a crea găurile din pad-uri."
-#: flatcamTools/ToolFilm.py:379
+#: flatcamTools/ToolFilm.py:381
msgid "Punch Size"
msgstr "Mărimea Perforatii"
-#: flatcamTools/ToolFilm.py:380
+#: flatcamTools/ToolFilm.py:382
msgid "The value here will control how big is the punch hole in the pads."
msgstr ""
"Valoarea de aici va controla cât de mare este gaura de perforare în pad-uri."
-#: flatcamTools/ToolFilm.py:500
+#: flatcamTools/ToolFilm.py:502
msgid "Save Film"
msgstr "Salveaa filmul"
-#: flatcamTools/ToolFilm.py:502
+#: flatcamTools/ToolFilm.py:504
msgid ""
"Create a Film for the selected object, within\n"
"the specified box. Does not create a new \n"
@@ -14532,7 +15413,7 @@ msgstr ""
"container selectat. Nu crează un obiect nou FlatCAM ci\n"
"salvează pe HDD un fişier in formatul selectat."
-#: flatcamTools/ToolFilm.py:652
+#: flatcamTools/ToolFilm.py:664
msgid ""
"Using the Pad center does not work on Geometry objects. Only a Gerber object "
"has pads."
@@ -14540,42 +15421,38 @@ msgstr ""
"Utilizarea centrului Pad nu funcționează pe obiecte de Geometrie. Doar un "
"obiect Gerber are pad-uri."
-#: flatcamTools/ToolFilm.py:662
+#: flatcamTools/ToolFilm.py:674
msgid "No FlatCAM object selected. Load an object for Film and retry."
msgstr ""
"Nici-un obiect FlaCAM nu este selectat. Incarcă un obiect pt Film și "
"încearcă din nou."
-#: flatcamTools/ToolFilm.py:669
+#: flatcamTools/ToolFilm.py:681
msgid "No FlatCAM object selected. Load an object for Box and retry."
msgstr ""
"Nici-un obiect FlatCAM nu este selectat. Încarcă un obiect container și "
"încearcă din nou."
-#: flatcamTools/ToolFilm.py:673
+#: flatcamTools/ToolFilm.py:685
msgid "No FlatCAM object selected."
msgstr "Nici-un obiect nu este selectat."
-#: flatcamTools/ToolFilm.py:684
+#: flatcamTools/ToolFilm.py:696
msgid "Generating Film ..."
msgstr "Se generează Film-ul ..."
-#: flatcamTools/ToolFilm.py:733 flatcamTools/ToolFilm.py:737
+#: flatcamTools/ToolFilm.py:745 flatcamTools/ToolFilm.py:749
msgid "Export positive film"
msgstr "Export film pozitiv"
-#: flatcamTools/ToolFilm.py:742
-msgid "Export positive film cancelled."
-msgstr "Exportul filmului pozitiv a fost anulat."
-
-#: flatcamTools/ToolFilm.py:770
+#: flatcamTools/ToolFilm.py:782
msgid ""
"No Excellon object selected. Load an object for punching reference and retry."
msgstr ""
"Nici-un obiect Excellon nu este selectat. Incarcă un obiect ca referinta "
"pentru perforare și încearcă din nou."
-#: flatcamTools/ToolFilm.py:794
+#: flatcamTools/ToolFilm.py:806
msgid ""
" Could not generate punched hole film because the punch hole sizeis bigger "
"than some of the apertures in the Gerber object."
@@ -14583,7 +15460,7 @@ msgstr ""
" Nu a putut genera un film cu găuri perforate, deoarece dimensiunea găurii "
"de perforare este mai mare decât unele dintre aperturile din obiectul Gerber."
-#: flatcamTools/ToolFilm.py:806
+#: flatcamTools/ToolFilm.py:818
msgid ""
"Could not generate punched hole film because the punch hole sizeis bigger "
"than some of the apertures in the Gerber object."
@@ -14591,7 +15468,7 @@ msgstr ""
"Nu s-a putut genera un film cu găuri perforate, deoarece dimensiunea găurii "
"de perforare este mai mare decât unele dintre aperturile din obiectul Gerber."
-#: flatcamTools/ToolFilm.py:824
+#: flatcamTools/ToolFilm.py:836
msgid ""
"Could not generate punched hole film because the newly created object "
"geometry is the same as the one in the source object geometry..."
@@ -14599,24 +15476,20 @@ msgstr ""
"Nu s-a putut genera Film cu găuri perforate, deoarece geometria obiectului "
"nou creat este aceeași cu cea din geometria obiectului sursă ..."
-#: flatcamTools/ToolFilm.py:879 flatcamTools/ToolFilm.py:883
+#: flatcamTools/ToolFilm.py:891 flatcamTools/ToolFilm.py:895
msgid "Export negative film"
msgstr "Export film negativ"
-#: flatcamTools/ToolFilm.py:888
-msgid "Export negative film cancelled."
-msgstr "Exportul filmului negativ a fost anulat."
-
-#: flatcamTools/ToolFilm.py:944 flatcamTools/ToolFilm.py:1122
-#: flatcamTools/ToolPanelize.py:421
+#: flatcamTools/ToolFilm.py:956 flatcamTools/ToolFilm.py:1139
+#: flatcamTools/ToolPanelize.py:433
msgid "No object Box. Using instead"
msgstr "Nu exista container. Se foloseşte in schimb"
-#: flatcamTools/ToolFilm.py:1060 flatcamTools/ToolFilm.py:1235
+#: flatcamTools/ToolFilm.py:1072 flatcamTools/ToolFilm.py:1252
msgid "Film file exported to"
msgstr "Fișierul Film exportat în"
-#: flatcamTools/ToolFilm.py:1063 flatcamTools/ToolFilm.py:1238
+#: flatcamTools/ToolFilm.py:1075 flatcamTools/ToolFilm.py:1255
msgid "Generating Film ... Please wait."
msgstr "Filmul se generează ... Aşteaptă."
@@ -14628,7 +15501,7 @@ msgstr "Imagine ca Obiect"
msgid "Image to PCB"
msgstr "Imagine -> PCB"
-#: flatcamTools/ToolImage.py:57
+#: flatcamTools/ToolImage.py:56
msgid ""
"Specify the type of object to create from the image.\n"
"It can be of type: Gerber or Geometry."
@@ -14636,23 +15509,23 @@ msgstr ""
"Specifica tipul de obiect care se vrea a fi creat din imagine.\n"
"Tipul sau poate să fie ori Gerber ori Geometrie."
-#: flatcamTools/ToolImage.py:66
+#: flatcamTools/ToolImage.py:65
msgid "DPI value"
msgstr "Val. DPI"
-#: flatcamTools/ToolImage.py:67
+#: flatcamTools/ToolImage.py:66
msgid "Specify a DPI value for the image."
msgstr "Specifica o valoare DPI pt imagine."
-#: flatcamTools/ToolImage.py:73
+#: flatcamTools/ToolImage.py:72
msgid "Level of detail"
msgstr "Nivel Detaliu"
-#: flatcamTools/ToolImage.py:82
+#: flatcamTools/ToolImage.py:81
msgid "Image type"
msgstr "Tip imagine"
-#: flatcamTools/ToolImage.py:84
+#: flatcamTools/ToolImage.py:83
msgid ""
"Choose a method for the image interpretation.\n"
"B/W means a black & white image. Color means a colored image."
@@ -14661,12 +15534,12 @@ msgstr ""
"B/W = imagine alb-negru\n"
"Color = imagine in culori."
-#: flatcamTools/ToolImage.py:93 flatcamTools/ToolImage.py:108
-#: flatcamTools/ToolImage.py:121 flatcamTools/ToolImage.py:134
+#: flatcamTools/ToolImage.py:92 flatcamTools/ToolImage.py:107
+#: flatcamTools/ToolImage.py:120 flatcamTools/ToolImage.py:133
msgid "Mask value"
msgstr "Val. masca"
-#: flatcamTools/ToolImage.py:95
+#: flatcamTools/ToolImage.py:94
msgid ""
"Mask for monochrome image.\n"
"Takes values between [0 ... 255].\n"
@@ -14683,7 +15556,7 @@ msgstr ""
"255 = include totul (ceeace ce inseamna\n"
"negru complet)."
-#: flatcamTools/ToolImage.py:110
+#: flatcamTools/ToolImage.py:109
msgid ""
"Mask for RED color.\n"
"Takes values between [0 ... 255].\n"
@@ -14695,7 +15568,7 @@ msgstr ""
"Decide nivelul de detalii care să fie\n"
"incluse in obiectul rezultat."
-#: flatcamTools/ToolImage.py:123
+#: flatcamTools/ToolImage.py:122
msgid ""
"Mask for GREEN color.\n"
"Takes values between [0 ... 255].\n"
@@ -14707,7 +15580,7 @@ msgstr ""
"Decide nivelul de detalii care să fie\n"
"incluse in obiectul rezultat."
-#: flatcamTools/ToolImage.py:136
+#: flatcamTools/ToolImage.py:135
msgid ""
"Mask for BLUE color.\n"
"Takes values between [0 ... 255].\n"
@@ -14719,34 +15592,60 @@ msgstr ""
"Decide nivelul de detalii care să fie\n"
"incluse in obiectul rezultat."
-#: flatcamTools/ToolImage.py:144
+#: flatcamTools/ToolImage.py:143
msgid "Import image"
msgstr "Importa imagine"
-#: flatcamTools/ToolImage.py:146
+#: flatcamTools/ToolImage.py:145
msgid "Open a image of raster type and then import it in FlatCAM."
msgstr "Deschide o imagine tip raster și importa aceasta in FlatCAM."
-#: flatcamTools/ToolImage.py:183
+#: flatcamTools/ToolImage.py:182
msgid "Image Tool"
msgstr "Unealta Imagine"
-#: flatcamTools/ToolImage.py:235 flatcamTools/ToolImage.py:238
+#: flatcamTools/ToolImage.py:234 flatcamTools/ToolImage.py:237
msgid "Import IMAGE"
msgstr "Importa Imagine"
-#: flatcamTools/ToolImage.py:286
+#: flatcamTools/ToolImage.py:285
msgid "Importing Image"
msgstr "Imaginea in curs de a fi importata"
+#: flatcamTools/ToolInvertGerber.py:74
+msgid "Gerber object that will be inverted."
+msgstr ""
+"Obiect Gerber care va fi inversat\n"
+"(din pozitiv in negativ)."
+
+#: flatcamTools/ToolInvertGerber.py:83
+msgid "Parameters for this tool"
+msgstr "Parametrii pt această unealtă"
+
+#: flatcamTools/ToolInvertGerber.py:123
+msgid "Invert Gerber"
+msgstr "Inversează Gerber"
+
+#: flatcamTools/ToolInvertGerber.py:125
+msgid ""
+"Will invert the Gerber object: areas that have copper\n"
+"will be empty of copper and previous empty area will be\n"
+"filled with copper."
+msgstr ""
+"Va inversa obiectul Gerber: ariile care contin cupru vor devein goale,\n"
+"iar ariile care nu aveau cupru vor fi pline."
+
+#: flatcamTools/ToolInvertGerber.py:184
+msgid "Invert Tool"
+msgstr "Unealta Inversie"
+
#: flatcamTools/ToolMove.py:103
msgid "MOVE: Click on the Start point ..."
msgstr "MUTARE: Click pe punctul de Start ..."
#: flatcamTools/ToolMove.py:114
-msgid "MOVE action cancelled. No object(s) to move."
-msgstr ""
-"Actiunea de Mutare a fost anulată. Nu sunt obiecte care să fie mutate ..."
+msgid "Cancelled. No object(s) to move."
+msgstr "Anulat. Nu sunt obiecte care să fie mutate."
#: flatcamTools/ToolMove.py:141
msgid "MOVE: Click on the Destination point ..."
@@ -14760,19 +15659,15 @@ msgstr "In mișcare ..."
msgid "No object(s) selected."
msgstr "Nici-un obiect nu este selectat."
-#: flatcamTools/ToolMove.py:212
+#: flatcamTools/ToolMove.py:222
msgid "Error when mouse left click."
msgstr "Eroare atunci când faceți clic pe butonul stânga al mouse-ului."
-#: flatcamTools/ToolMove.py:260
-msgid "Move action cancelled."
-msgstr "Actiunea de mutare a fost anulată."
-
-#: flatcamTools/ToolNonCopperClear.py:38
+#: flatcamTools/ToolNCC.py:42
msgid "Non-Copper Clearing"
msgstr "Curățăre Non-Cu"
-#: flatcamTools/ToolNonCopperClear.py:84
+#: flatcamTools/ToolNCC.py:88
msgid ""
"Specify the type of object to be cleared of excess copper.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -14784,11 +15679,11 @@ msgstr ""
"Ceea ce este selectat aici va dicta genul\n"
"de obiecte care vor popula combobox-ul „Obiect”."
-#: flatcamTools/ToolNonCopperClear.py:101
+#: flatcamTools/ToolNCC.py:110
msgid "Object to be cleared of excess copper."
msgstr "Obiect care trebuie curatat de excesul de cupru."
-#: flatcamTools/ToolNonCopperClear.py:111
+#: flatcamTools/ToolNCC.py:122
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for copper clearing."
@@ -14796,11 +15691,7 @@ msgstr ""
"Un număr de unelte din care algoritmul va alege\n"
"pe acelea care vor fi folosite pentru curățarea de Cu."
-#: flatcamTools/ToolNonCopperClear.py:120
-msgid "Operation"
-msgstr "Operațiuni"
-
-#: flatcamTools/ToolNonCopperClear.py:126
+#: flatcamTools/ToolNCC.py:138
msgid ""
"This is the Tool Number.\n"
"Non copper clearing will start with the tool with the biggest \n"
@@ -14816,7 +15707,7 @@ msgstr ""
"Doar uneltele care efectiv au creat geometrie vor fi prezente in obiectul\n"
"final. Aceasta deaorece unele unelte nu vor putea genera geometrie."
-#: flatcamTools/ToolNonCopperClear.py:134
+#: flatcamTools/ToolNCC.py:146
msgid ""
"Tool Diameter. It's value (in current FlatCAM units)\n"
"is the cut width into the material."
@@ -14824,7 +15715,7 @@ msgstr ""
"Diametrul uneltei. Valoarea să (in unitati curente FlatCAM)\n"
"reprezintă lăţimea tăieturii in material."
-#: flatcamTools/ToolNonCopperClear.py:138
+#: flatcamTools/ToolNCC.py:150
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n"
@@ -14857,34 +15748,7 @@ msgstr ""
"operare\n"
"în geometria rezultată ca fiind Izolare."
-#: flatcamTools/ToolNonCopperClear.py:151
-msgid ""
-"The 'Operation' can be:\n"
-"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
-"If it's not successful then the non-copper clearing will fail, too.\n"
-"- Clear -> the regular non-copper clearing."
-msgstr ""
-"„Operațiunea” poate fi:\n"
-"- Izolare -> se va asigura că curățarea non-cupru este întotdeauna "
-"completă.\n"
-"Dacă nu are succes, atunci curățarea din cupru nu va reuși.\n"
-"- Curățare -> curățarea obișnuită de cupru."
-
-#: flatcamTools/ToolNonCopperClear.py:209
-msgid "Tool Selection"
-msgstr "Selecţie Unealtă"
-
-#: flatcamTools/ToolNonCopperClear.py:273
-msgid ""
-"Diameter for the new tool to add in the Tool Table.\n"
-"If the tool is V-shape type then this value is automatically\n"
-"calculated from the other parameters."
-msgstr ""
-"Diametru pentru Unealta nouă de adăugat în Tabelul Uneltelor.\n"
-"Dacă instrumentul este în formă de V, atunci această valoare este automat\n"
-"calculată din ceilalți parametri."
-
-#: flatcamTools/ToolNonCopperClear.py:288 flatcamTools/ToolPaint.py:190
+#: flatcamTools/ToolNCC.py:296 flatcamTools/ToolPaint.py:279
msgid ""
"Add a new tool to the Tool Table\n"
"with the diameter specified above."
@@ -14892,8 +15756,8 @@ msgstr ""
"Adaugă o noua unelata in Tabela de Unelte,\n"
"cu diametrul specificat mai sus."
-#: flatcamTools/ToolNonCopperClear.py:300 flatcamTools/ToolPaint.py:202
-#: flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolNCC.py:318 flatcamTools/ToolPaint.py:301
+#: flatcamTools/ToolSolderPaste.py:131
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table."
@@ -14901,23 +15765,7 @@ msgstr ""
"Șterge o selecţie de unelte in Tabela de Unelte,\n"
"efectuata prin selectia liniilot din Tabela de Unelte."
-#: flatcamTools/ToolNonCopperClear.py:435
-msgid ""
-"- 'Itself' - the non copper clearing extent is based on the object that is "
-"copper cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be "
-"painted.\n"
-"- 'Reference Object' - will do non copper clearing within the area specified "
-"by another object."
-msgstr ""
-"- „Însuși” - suprafața de curățare a cuprului se bazează pe obiectul care "
-"este curățat de cupru.\n"
-"- „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe selecția "
-"zonei care va fi pictată.\n"
-"- „Obiect de referință” - va face o curățare fără cupru în zona specificată "
-"de un alt obiect."
-
-#: flatcamTools/ToolNonCopperClear.py:447
+#: flatcamTools/ToolNCC.py:554
msgid ""
"The type of FlatCAM object to be used as non copper clearing reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -14926,120 +15774,124 @@ msgstr ""
"non-cupru.\n"
"Poate fi Gerber, Excellon sau Geometry."
-#: flatcamTools/ToolNonCopperClear.py:471
+#: flatcamTools/ToolNCC.py:597 flatcamTools/ToolPaint.py:537
msgid "Generate Geometry"
msgstr "Genereza Geometrie"
-#: flatcamTools/ToolNonCopperClear.py:582 flatcamTools/ToolPaint.py:493
-#: flatcamTools/ToolSolderPaste.py:553
-msgid "New Tool"
-msgstr "O Noua Unealtă"
-
-#: flatcamTools/ToolNonCopperClear.py:981 flatcamTools/ToolPaint.py:766
-#: flatcamTools/ToolSolderPaste.py:887
+#: flatcamTools/ToolNCC.py:1420 flatcamTools/ToolPaint.py:1179
+#: flatcamTools/ToolSolderPaste.py:888
msgid "Please enter a tool diameter to add, in Float format."
msgstr "Introduce diametrul unei unelte pt a fi adăugată, in format Real."
-#: flatcamTools/ToolNonCopperClear.py:1012 flatcamTools/ToolPaint.py:791
-msgid "Adding tool cancelled. Tool already in Tool Table."
-msgstr ""
-"Adăugarea unei unelte noi este anulată. Unealta există deja in Tabela de "
-"Unelte."
+#: flatcamTools/ToolNCC.py:1451 flatcamTools/ToolNCC.py:4008
+#: flatcamTools/ToolPaint.py:1203 flatcamTools/ToolPaint.py:3598
+#: flatcamTools/ToolSolderPaste.py:917
+msgid "Cancelled. Tool already in Tool Table."
+msgstr "Anulat. Unealta există deja in Tabela de Unelte."
-#: flatcamTools/ToolNonCopperClear.py:1017 flatcamTools/ToolPaint.py:797
+#: flatcamTools/ToolNCC.py:1458 flatcamTools/ToolNCC.py:4025
+#: flatcamTools/ToolPaint.py:1208 flatcamTools/ToolPaint.py:3615
msgid "New tool added to Tool Table."
msgstr "O noua unealtă a fost adăugată in Tabela de Unelte."
-#: flatcamTools/ToolNonCopperClear.py:1061 flatcamTools/ToolPaint.py:843
+#: flatcamTools/ToolNCC.py:1502 flatcamTools/ToolPaint.py:1252
msgid "Tool from Tool Table was edited."
msgstr "O unealtă din Tabela de Unelte a fost editata."
-#: flatcamTools/ToolNonCopperClear.py:1072 flatcamTools/ToolPaint.py:855
-#: flatcamTools/ToolSolderPaste.py:978
-msgid "Edit cancelled. New diameter value is already in the Tool Table."
+#: flatcamTools/ToolNCC.py:1514 flatcamTools/ToolPaint.py:1264
+#: flatcamTools/ToolSolderPaste.py:977
+msgid "Cancelled. New diameter value is already in the Tool Table."
msgstr ""
-"Editare eșuată. Noua valoare pt diametrul uneltei este deja in Tabela de "
-"Unelte."
+"Anulat. Noua valoare pt diametrul uneltei este deja in Tabela de Unelte."
-#: flatcamTools/ToolNonCopperClear.py:1119 flatcamTools/ToolPaint.py:953
+#: flatcamTools/ToolNCC.py:1566 flatcamTools/ToolPaint.py:1362
msgid "Delete failed. Select a tool to delete."
msgstr "Ștergere eșuată. Selectează o unealtă pt ștergere."
-#: flatcamTools/ToolNonCopperClear.py:1124 flatcamTools/ToolPaint.py:959
+#: flatcamTools/ToolNCC.py:1572 flatcamTools/ToolPaint.py:1368
msgid "Tool(s) deleted from Tool Table."
msgstr "Au fost șterse unelte din Tabela de Unelte."
-#: flatcamTools/ToolNonCopperClear.py:1171
+#: flatcamTools/ToolNCC.py:1614
msgid "Wrong Tool Dia value format entered, use a number."
msgstr "Diametrul uneltei este in format gresit, foloseşte un număr Real."
-#: flatcamTools/ToolNonCopperClear.py:1180 flatcamTools/ToolPaint.py:1023
+#: flatcamTools/ToolNCC.py:1623 flatcamTools/ToolPaint.py:1419
msgid "No selected tools in Tool Table."
msgstr "Nu sunt unelte selectate in Tabela de Unelte."
-#: flatcamTools/ToolNonCopperClear.py:1255 flatcamTools/ToolPaint.py:1195
+#: flatcamTools/ToolNCC.py:1699 flatcamTools/ToolPaint.py:1595
msgid "Click the end point of the paint area."
msgstr "Faceți clic pe punctul final al zonei de pictat."
-#: flatcamTools/ToolNonCopperClear.py:1410
-#: flatcamTools/ToolNonCopperClear.py:1412
-msgid "Non-Copper clearing ..."
-msgstr "Curățare Non-Cupru ..."
-
-#: flatcamTools/ToolNonCopperClear.py:1422
-msgid "NCC Tool started. Reading parameters."
-msgstr "Unealta NCC a pornit. Se citesc parametrii."
-
-#: flatcamTools/ToolNonCopperClear.py:1485
+#: flatcamTools/ToolNCC.py:1971 flatcamTools/ToolNCC.py:2959
msgid "NCC Tool. Preparing non-copper polygons."
msgstr "Unealta NCC. Se pregătesc poligoanele non-cupru."
-#: flatcamTools/ToolNonCopperClear.py:1581
+#: flatcamTools/ToolNCC.py:2030 flatcamTools/ToolNCC.py:3087
+msgid "NCC Tool. Calculate 'empty' area."
+msgstr "Unealta NCC. Calculează aria 'goală'."
+
+#: flatcamTools/ToolNCC.py:2049 flatcamTools/ToolNCC.py:2155
+#: flatcamTools/ToolNCC.py:2169 flatcamTools/ToolNCC.py:3100
+#: flatcamTools/ToolNCC.py:3205 flatcamTools/ToolNCC.py:3220
+#: flatcamTools/ToolNCC.py:3486 flatcamTools/ToolNCC.py:3587
+#: flatcamTools/ToolNCC.py:3602
+msgid "Buffering finished"
+msgstr "Buferarea terminată"
+
+#: flatcamTools/ToolNCC.py:2057 flatcamTools/ToolNCC.py:2176
+#: flatcamTools/ToolNCC.py:3108 flatcamTools/ToolNCC.py:3227
+#: flatcamTools/ToolNCC.py:3493 flatcamTools/ToolNCC.py:3609
+msgid "Could not get the extent of the area to be non copper cleared."
+msgstr ""
+"Nu s-a putut obtine intinderea suprafaței care să fie curățată de cupru."
+
+#: flatcamTools/ToolNCC.py:2084 flatcamTools/ToolNCC.py:2162
+#: flatcamTools/ToolNCC.py:3135 flatcamTools/ToolNCC.py:3212
+#: flatcamTools/ToolNCC.py:3513 flatcamTools/ToolNCC.py:3594
+msgid ""
+"Isolation geometry is broken. Margin is less than isolation tool diameter."
+msgstr ""
+"Geometria de Izolare este discontinuă.\n"
+"Marginea este mai mic decat diametrul uneltei de izolare."
+
+#: flatcamTools/ToolNCC.py:2179 flatcamTools/ToolNCC.py:3231
+#: flatcamTools/ToolNCC.py:3612
+msgid "The selected object is not suitable for copper clearing."
+msgstr "Obiectul selectat nu este potrivit pentru curățarea cuprului."
+
+#: flatcamTools/ToolNCC.py:2186 flatcamTools/ToolNCC.py:3238
+msgid "NCC Tool. Finished calculation of 'empty' area."
+msgstr "Unealta NCC. S-a terminat calculul suprafetei 'goale'."
+
+#: flatcamTools/ToolNCC.py:2217 flatcamTools/ToolNCC.py:2219
+#: flatcamTools/ToolNCC.py:2911 flatcamTools/ToolNCC.py:2913
+msgid "Non-Copper clearing ..."
+msgstr "Curățare Non-Cupru ..."
+
+#: flatcamTools/ToolNCC.py:2273 flatcamTools/ToolNCC.py:3055
msgid ""
"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
msgstr ""
"Unelata NCC. S-a terminat pregătirea poligoanelor non-cupru. Taskul de "
"curatare normal de cupru a inceput."
-#: flatcamTools/ToolNonCopperClear.py:1613
-msgid "NCC Tool. Calculate 'empty' area."
-msgstr "Unealta NCC. Calculează aria 'goală'."
+#: flatcamTools/ToolNCC.py:2307 flatcamTools/ToolNCC.py:2587
+msgid "NCC Tool failed creating bounding box."
+msgstr "Unealta NCC a esuat in a crea forma inconjurătoare."
-#: flatcamTools/ToolNonCopperClear.py:1626
-#: flatcamTools/ToolNonCopperClear.py:1723
-#: flatcamTools/ToolNonCopperClear.py:1735
-#: flatcamTools/ToolNonCopperClear.py:2018
-#: flatcamTools/ToolNonCopperClear.py:2114
-#: flatcamTools/ToolNonCopperClear.py:2126
-msgid "Buffering finished"
-msgstr "Buferarea terminată"
+#: flatcamTools/ToolNCC.py:2321 flatcamTools/ToolNCC.py:2604
+#: flatcamTools/ToolNCC.py:3251 flatcamTools/ToolNCC.py:3637
+msgid "NCC Tool clearing with tool diameter"
+msgstr "Unealta NCC cu diametrul uneltei"
-#: flatcamTools/ToolNonCopperClear.py:1742
-#: flatcamTools/ToolNonCopperClear.py:2132
-msgid "The selected object is not suitable for copper clearing."
-msgstr "Obiectul selectat nu este potrivit pentru curățarea cuprului."
-
-#: flatcamTools/ToolNonCopperClear.py:1747
-#: flatcamTools/ToolNonCopperClear.py:2137
-msgid "Could not get the extent of the area to be non copper cleared."
-msgstr ""
-"Nu s-a putut obtine intinderea suprafaței care să fie curățată de cupru."
-
-#: flatcamTools/ToolNonCopperClear.py:1754
-msgid "NCC Tool. Finished calculation of 'empty' area."
-msgstr "Unealta NCC. S-a terminat calculul suprafetei 'goale'."
-
-#: flatcamTools/ToolNonCopperClear.py:1768
-#: flatcamTools/ToolNonCopperClear.py:2162
-msgid "NCC Tool clearing with tool diameter = "
-msgstr "Unealta NCC cu diametrul uneltei = "
-
-#: flatcamTools/ToolNonCopperClear.py:1771
-#: flatcamTools/ToolNonCopperClear.py:2165
+#: flatcamTools/ToolNCC.py:2321 flatcamTools/ToolNCC.py:2604
+#: flatcamTools/ToolNCC.py:3251 flatcamTools/ToolNCC.py:3637
msgid "started."
msgstr "a inceput."
-#: flatcamTools/ToolNonCopperClear.py:1947
+#: flatcamTools/ToolNCC.py:2513 flatcamTools/ToolNCC.py:3412
msgid ""
"There is no NCC Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted "
@@ -15051,25 +15903,25 @@ msgstr ""
"pictată.\n"
"Schimbați parametrii Paint și încercați din nou."
-#: flatcamTools/ToolNonCopperClear.py:1967
+#: flatcamTools/ToolNCC.py:2522 flatcamTools/ToolNCC.py:3421
msgid "NCC Tool clear all done."
msgstr "Unealta NCC curătare toate efectuată."
-#: flatcamTools/ToolNonCopperClear.py:1969
+#: flatcamTools/ToolNCC.py:2525 flatcamTools/ToolNCC.py:3424
msgid "NCC Tool clear all done but the copper features isolation is broken for"
msgstr ""
"Unealta NCC curătare toate efectuată dar izolatia este intreruptă pentru"
-#: flatcamTools/ToolNonCopperClear.py:1972
-#: flatcamTools/ToolNonCopperClear.py:2341
+#: flatcamTools/ToolNCC.py:2527 flatcamTools/ToolNCC.py:2812
+#: flatcamTools/ToolNCC.py:3426 flatcamTools/ToolNCC.py:3809
msgid "tools"
msgstr "unelte"
-#: flatcamTools/ToolNonCopperClear.py:2337
+#: flatcamTools/ToolNCC.py:2808 flatcamTools/ToolNCC.py:3805
msgid "NCC Tool Rest Machining clear all done."
msgstr "Unealta NCC curătare cu prelucrare tip 'rest' efectuată."
-#: flatcamTools/ToolNonCopperClear.py:2340
+#: flatcamTools/ToolNCC.py:2811 flatcamTools/ToolNCC.py:3808
msgid ""
"NCC Tool Rest Machining clear all done but the copper features isolation is "
"broken for"
@@ -15077,7 +15929,11 @@ msgstr ""
"Unealta NCC curătare toate cu prelucrare tip 'rest' efectuată dar izolatia "
"este intreruptă pentru"
-#: flatcamTools/ToolNonCopperClear.py:2787
+#: flatcamTools/ToolNCC.py:2923
+msgid "NCC Tool started. Reading parameters."
+msgstr "Unealta NCC a pornit. Se citesc parametrii."
+
+#: flatcamTools/ToolNCC.py:3901
msgid ""
"Try to use the Buffering Type = Full in Preferences -> Gerber General. "
"Reload the Gerber file after this change."
@@ -15085,43 +15941,43 @@ msgstr ""
"Incearcă să folosesti optiunea Tipul de buffering = Complet in Preferinte -> "
"Gerber General. Reincarcă fisierul Gerber după această schimbare."
-#: flatcamTools/ToolOptimal.py:79
+#: flatcamTools/ToolOptimal.py:80
msgid "Number of decimals kept for found distances."
msgstr "Numărul de zecimale păstrate pentru distanțele găsite."
-#: flatcamTools/ToolOptimal.py:87
+#: flatcamTools/ToolOptimal.py:88
msgid "Minimum distance"
msgstr "Distanta minima"
-#: flatcamTools/ToolOptimal.py:88
+#: flatcamTools/ToolOptimal.py:89
msgid "Display minimum distance between copper features."
msgstr "Afișează distanța minimă între caracteristicile de cupru."
-#: flatcamTools/ToolOptimal.py:92
+#: flatcamTools/ToolOptimal.py:93
msgid "Determined"
msgstr "Determinat"
-#: flatcamTools/ToolOptimal.py:106
+#: flatcamTools/ToolOptimal.py:107
msgid "Occurring"
msgstr "Aparute"
-#: flatcamTools/ToolOptimal.py:107
+#: flatcamTools/ToolOptimal.py:108
msgid "How many times this minimum is found."
msgstr "De câte ori este găsit acest minim."
-#: flatcamTools/ToolOptimal.py:113
+#: flatcamTools/ToolOptimal.py:114
msgid "Minimum points coordinates"
msgstr "Coordonatele punctelor minime"
-#: flatcamTools/ToolOptimal.py:114 flatcamTools/ToolOptimal.py:120
+#: flatcamTools/ToolOptimal.py:115 flatcamTools/ToolOptimal.py:121
msgid "Coordinates for points where minimum distance was found."
msgstr "Coordonate pentru puncte în care a fost găsită distanța minimă."
-#: flatcamTools/ToolOptimal.py:133 flatcamTools/ToolOptimal.py:209
+#: flatcamTools/ToolOptimal.py:134 flatcamTools/ToolOptimal.py:210
msgid "Jump to selected position"
msgstr "Salt la poziția selectată"
-#: flatcamTools/ToolOptimal.py:135 flatcamTools/ToolOptimal.py:211
+#: flatcamTools/ToolOptimal.py:136 flatcamTools/ToolOptimal.py:212
msgid ""
"Select a position in the Locations text box and then\n"
"click this button."
@@ -15129,11 +15985,11 @@ msgstr ""
"Selectați o poziție în caseta de text Locații, apoi\n"
"faceți clic pe acest buton."
-#: flatcamTools/ToolOptimal.py:143
+#: flatcamTools/ToolOptimal.py:144
msgid "Other distances"
msgstr "Alte distanțe"
-#: flatcamTools/ToolOptimal.py:144
+#: flatcamTools/ToolOptimal.py:145
msgid ""
"Will display other distances in the Gerber file ordered from\n"
"the minimum to the maximum, not including the absolute minimum."
@@ -15141,13 +15997,13 @@ msgstr ""
"Va afișa alte distanțe din fișierul Gerber ordonate de la\n"
"minim până la maxim, neincluzând minimul absolut."
-#: flatcamTools/ToolOptimal.py:149
+#: flatcamTools/ToolOptimal.py:150
msgid "Other distances points coordinates"
msgstr "Coordonatele altor puncte distanțe"
-#: flatcamTools/ToolOptimal.py:150 flatcamTools/ToolOptimal.py:164
-#: flatcamTools/ToolOptimal.py:171 flatcamTools/ToolOptimal.py:188
-#: flatcamTools/ToolOptimal.py:195
+#: flatcamTools/ToolOptimal.py:151 flatcamTools/ToolOptimal.py:165
+#: flatcamTools/ToolOptimal.py:172 flatcamTools/ToolOptimal.py:189
+#: flatcamTools/ToolOptimal.py:196
msgid ""
"Other distances and the coordinates for points\n"
"where the distance was found."
@@ -15155,19 +16011,19 @@ msgstr ""
"Alte distanțe și coordonatele pentru puncte\n"
"unde a fost găsită distanța."
-#: flatcamTools/ToolOptimal.py:163
+#: flatcamTools/ToolOptimal.py:164
msgid "Gerber distances"
msgstr "Distanțele Gerber"
-#: flatcamTools/ToolOptimal.py:187
+#: flatcamTools/ToolOptimal.py:188
msgid "Points coordinates"
msgstr "Coordonatele punctelor"
-#: flatcamTools/ToolOptimal.py:219
+#: flatcamTools/ToolOptimal.py:220
msgid "Find Minimum"
msgstr "Găsiți Minim"
-#: flatcamTools/ToolOptimal.py:221
+#: flatcamTools/ToolOptimal.py:222
msgid ""
"Calculate the minimum distance between copper features,\n"
"this will allow the determination of the right tool to\n"
@@ -15177,11 +16033,11 @@ msgstr ""
"acest lucru va permite determinarea uneltei potrivite\n"
"pentru izolare sau curatare de cupru."
-#: flatcamTools/ToolOptimal.py:346
+#: flatcamTools/ToolOptimal.py:347
msgid "Only Gerber objects can be evaluated."
msgstr "Doar obiecte tip Gerber pot fi folosite."
-#: flatcamTools/ToolOptimal.py:352
+#: flatcamTools/ToolOptimal.py:353
msgid ""
"Optimal Tool. Started to search for the minimum distance between copper "
"features."
@@ -15189,16 +16045,16 @@ msgstr ""
"Unealta Optim. A început să caute distanța minimă între caracteristicile de "
"cupru."
-#: flatcamTools/ToolOptimal.py:362
+#: flatcamTools/ToolOptimal.py:363
msgid "Optimal Tool. Parsing geometry for aperture"
msgstr "Unealta Optim. Analiza geometriei pentru apertura"
-#: flatcamTools/ToolOptimal.py:373
+#: flatcamTools/ToolOptimal.py:374
msgid "Optimal Tool. Creating a buffer for the object geometry."
msgstr ""
"Unealta Optim. Se creeaza o Geometrie la o distanta de geometria obiectului."
-#: flatcamTools/ToolOptimal.py:383
+#: flatcamTools/ToolOptimal.py:384
msgid ""
"The Gerber object has one Polygon as geometry.\n"
"There are no distances between geometry elements to be found."
@@ -15206,17 +16062,17 @@ msgstr ""
"Obiectul Gerber are un poligon ca geometrie.\n"
"Nu există distanțe între elementele de geometrie care sa poata fi gasite."
-#: flatcamTools/ToolOptimal.py:388
+#: flatcamTools/ToolOptimal.py:389
msgid ""
"Optimal Tool. Finding the distances between each two elements. Iterations"
msgstr ""
"Unealta Optim. Se caută distanțele dintre fiecare două elemente. Iterații"
-#: flatcamTools/ToolOptimal.py:423
+#: flatcamTools/ToolOptimal.py:424
msgid "Optimal Tool. Finding the minimum distance."
msgstr "Unealta Optim. Se caută distanța minimă."
-#: flatcamTools/ToolOptimal.py:439
+#: flatcamTools/ToolOptimal.py:440
msgid "Optimal Tool. Finished successfully."
msgstr "Unealta Optim. Procesul s-a terminat cu succes."
@@ -15245,7 +16101,7 @@ msgstr "Deschiderea fişierului PDF a eşuat."
msgid "Rendered"
msgstr "Randat"
-#: flatcamTools/ToolPaint.py:87
+#: flatcamTools/ToolPaint.py:82
msgid ""
"Specify the type of object to be painted.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -15261,7 +16117,7 @@ msgstr ""
msgid "Object to be painted."
msgstr "Obiect care trebuie pictat."
-#: flatcamTools/ToolPaint.py:114
+#: flatcamTools/ToolPaint.py:117
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for painting."
@@ -15269,7 +16125,7 @@ msgstr ""
"O suma de unelte din care algoritmul va alege pe acelea\n"
"care vor fi folosite pentru 'pictare'."
-#: flatcamTools/ToolPaint.py:129
+#: flatcamTools/ToolPaint.py:134
msgid ""
"This is the Tool Number.\n"
"Painting will start with the tool with the biggest diameter,\n"
@@ -15285,7 +16141,7 @@ msgstr ""
"Doar uneltele care efectiv au creat geometrie vor fi prezente in obiectul\n"
"final. Aceasta deaorece unele unelte nu vor putea genera geometrie."
-#: flatcamTools/ToolPaint.py:141
+#: flatcamTools/ToolPaint.py:146
msgid ""
"The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is "
"informative only. Being circular,
the cut width in material is exactly "
@@ -15308,51 +16164,7 @@ msgstr ""
"unealtă< din coloana tabelei de Unelte.
Alegerea tipului V-Shape "
"va selecta automat Tipul Operaţiei ca fiind Izolare."
-#: flatcamTools/ToolPaint.py:178
-msgid "Diameter for the new tool."
-msgstr "Diametrul pt noua unealtă."
-
-#: flatcamTools/ToolPaint.py:253
-msgid ""
-"Algorithm for painting:\n"
-"- Standard: Fixed step inwards.\n"
-"- Seed-based: Outwards from seed.\n"
-"- Line-based: Parallel lines."
-msgstr ""
-"Algoritm pentru pictură:\n"
-"- Standard: pas fix spre interior.\n"
-"- Semințe: înspre exterior porning de la punctul sămanță.\n"
-"- Linii: linii paralele."
-
-#: flatcamTools/ToolPaint.py:283
-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"
-"\n"
-"If not checked, use the standard algorithm."
-msgstr ""
-"Daca este bifat, foloste 'rest machining'.\n"
-"Mai exact, se va curăța cuprul din afara traseelor,\n"
-"folosind mai intai unealta cu diametrul cel mai mare\n"
-"apoi folosindu-se progresiv unelte cu diametrul tot\n"
-"mai mic, din cele disponibile in tabela de unelte, pt a\n"
-"curăța zonele care nu s-au putut curăța cu unealta\n"
-"precedenta.\n"
-"Daca nu este bifat, foloseşte algoritmul standard."
-
-#: flatcamTools/ToolPaint.py:307
-msgid "Polygon Selection"
-msgstr "Selecție Poligon"
-
-#: flatcamTools/ToolPaint.py:309
-msgid "All Polygons"
-msgstr "Toate Poligoanele"
-
-#: flatcamTools/ToolPaint.py:328
+#: flatcamTools/ToolPaint.py:498
msgid ""
"The type of FlatCAM object to be used as paint reference.\n"
"It can be Gerber, Excellon or Geometry."
@@ -15360,11 +16172,7 @@ msgstr ""
"Tipul de obiect FlatCAM care trebuie utilizat ca referință pt. pictare.\n"
"Poate fi Gerber, Excellon sau Geometry."
-#: flatcamTools/ToolPaint.py:353
-msgid "Create Paint Geometry"
-msgstr "Crează un obiect Geometrie tip 'Paint'"
-
-#: flatcamTools/ToolPaint.py:355
+#: flatcamTools/ToolPaint.py:539
msgid ""
"- 'Area Selection' - left mouse click to start selection of the area to be "
"painted.\n"
@@ -15382,72 +16190,99 @@ msgstr ""
"- „Obiect de referință” - va face o curățare fără cupru în zona specificată "
"de un alt obiect."
-#: flatcamTools/ToolPaint.py:973
-msgid "Paint Tool. Reading parameters."
-msgstr "Unealta Paint. Se citesc parametrii."
-
-#: flatcamTools/ToolPaint.py:988
+#: flatcamTools/ToolPaint.py:1388
#, python-format
msgid "Could not retrieve object: %s"
msgstr "Nu s-a putut incărca obiectul: %s"
-#: flatcamTools/ToolPaint.py:1002
+#: flatcamTools/ToolPaint.py:1398
msgid "Can't do Paint on MultiGeo geometries"
msgstr "Nu se poate face 'pictare' pe geometrii MultiGeo"
-#: flatcamTools/ToolPaint.py:1035
+#: flatcamTools/ToolPaint.py:1428
msgid "Click on a polygon to paint it."
msgstr "Faceți clic pe un poligon pentru a-l picta."
-#: flatcamTools/ToolPaint.py:1054
+#: flatcamTools/ToolPaint.py:1448
msgid "Click the start point of the paint area."
msgstr "Faceți clic pe punctul de pornire al zonei de pictat."
-#: flatcamTools/ToolPaint.py:1122
+#: flatcamTools/ToolPaint.py:1513
msgid "Click to add next polygon or right click to start painting."
msgstr ""
"Faceți clic pentru a adăuga următorul poligon sau faceți clic dreapta pentru "
"a începe Paint."
-#: flatcamTools/ToolPaint.py:1135
+#: flatcamTools/ToolPaint.py:1526
msgid "Click to add/remove next polygon or right click to start painting."
msgstr ""
"Faceți clic pentru a adăuga / elimina următorul poligon sau faceți clic "
"dreapta pentru a începe Paint."
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349 flatcamTools/ToolPaint.py:1987
-#: flatcamTools/ToolPaint.py:1991 flatcamTools/ToolPaint.py:1994
-#: flatcamTools/ToolPaint.py:2276 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284 flatcamTools/ToolPaint.py:2458
-#: flatcamTools/ToolPaint.py:2465
-msgid "Paint Tool."
-msgstr "Unealta Paint."
+#: flatcamTools/ToolPaint.py:2024
+msgid "Painting polygon with method: lines."
+msgstr "Se pictează poligonul cu metoda: linii."
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349
-msgid "Normal painting polygon task started."
-msgstr "Taskul de pictare normal a unui polygon a inceput."
+#: flatcamTools/ToolPaint.py:2036
+msgid "Failed. Painting polygon with method: seed."
+msgstr "Esuat. Se pictează poligonul cu metoda: sămantă."
-#: flatcamTools/ToolPaint.py:1345 flatcamTools/ToolPaint.py:1706
-#: flatcamTools/ToolPaint.py:1988 flatcamTools/ToolPaint.py:2278
-#: flatcamTools/ToolPaint.py:2460
-msgid "Buffering geometry..."
-msgstr "Crează o geometrie de tipul Bufer..."
+#: flatcamTools/ToolPaint.py:2047
+msgid "Failed. Painting polygon with method: standard."
+msgstr "Esuat. Se picteaza poligonul cu metoda: standard."
-#: flatcamTools/ToolPaint.py:1367
-msgid "No polygon found."
-msgstr "Nu s-a gasit nici-un poligon."
-
-#: flatcamTools/ToolPaint.py:1401
-msgid "Painting polygon..."
-msgstr "Se 'pictează' un poligon..."
-
-#: flatcamTools/ToolPaint.py:1448
+#: flatcamTools/ToolPaint.py:2063
msgid "Geometry could not be painted completely"
msgstr "Geometria nu a fost posibil să fie 'pictată' complet"
-#: flatcamTools/ToolPaint.py:1481
+#: flatcamTools/ToolPaint.py:2092 flatcamTools/ToolPaint.py:2095
+#: flatcamTools/ToolPaint.py:2103 flatcamTools/ToolPaint.py:2406
+#: flatcamTools/ToolPaint.py:2409 flatcamTools/ToolPaint.py:2417
+#: flatcamTools/ToolPaint.py:2905 flatcamTools/ToolPaint.py:2908
+#: flatcamTools/ToolPaint.py:2914
+msgid "Paint Tool."
+msgstr "Unealta Paint."
+
+#: flatcamTools/ToolPaint.py:2092 flatcamTools/ToolPaint.py:2095
+#: flatcamTools/ToolPaint.py:2103
+msgid "Normal painting polygon task started."
+msgstr "Taskul de pictare normal a unui polygon a inceput."
+
+#: flatcamTools/ToolPaint.py:2093 flatcamTools/ToolPaint.py:2407
+#: flatcamTools/ToolPaint.py:2906
+msgid "Buffering geometry..."
+msgstr "Crează o geometrie de tipul Bufer..."
+
+#: flatcamTools/ToolPaint.py:2115 flatcamTools/ToolPaint.py:2424
+#: flatcamTools/ToolPaint.py:2922
+msgid "No polygon found."
+msgstr "Nu s-a gasit nici-un poligon."
+
+#: flatcamTools/ToolPaint.py:2145
+msgid "Painting polygon..."
+msgstr "Se 'pictează' un poligon..."
+
+#: flatcamTools/ToolPaint.py:2155 flatcamTools/ToolPaint.py:2470
+#: flatcamTools/ToolPaint.py:2660 flatcamTools/ToolPaint.py:2968
+#: flatcamTools/ToolPaint.py:3147
+msgid "Painting with tool diameter = "
+msgstr "Pictand cu o unealtă cu diametrul = "
+
+#: flatcamTools/ToolPaint.py:2156 flatcamTools/ToolPaint.py:2471
+#: flatcamTools/ToolPaint.py:2661 flatcamTools/ToolPaint.py:2969
+#: flatcamTools/ToolPaint.py:3148
+msgid "started"
+msgstr "a inceput"
+
+#: flatcamTools/ToolPaint.py:2181 flatcamTools/ToolPaint.py:2497
+#: flatcamTools/ToolPaint.py:2687 flatcamTools/ToolPaint.py:2995
+#: flatcamTools/ToolPaint.py:3174
+msgid "Margin parameter too big. Tool is not used"
+msgstr "Parametrul Margine este prea mare. Unealta nu este folosită"
+
+#: flatcamTools/ToolPaint.py:2239 flatcamTools/ToolPaint.py:2566
+#: flatcamTools/ToolPaint.py:2744 flatcamTools/ToolPaint.py:3058
+#: flatcamTools/ToolPaint.py:3236
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a "
"different strategy of paint"
@@ -15455,9 +16290,9 @@ msgstr ""
"Nu s-a putut face operatia de 'pictare'. Incearcă o combinaţie diferita de "
"parametri. Sau o strategie diferita de 'pictare'"
-#: flatcamTools/ToolPaint.py:1533 flatcamTools/ToolPaint.py:1967
-#: flatcamTools/ToolPaint.py:2117 flatcamTools/ToolPaint.py:2438
-#: flatcamTools/ToolPaint.py:2592
+#: flatcamTools/ToolPaint.py:2296 flatcamTools/ToolPaint.py:2632
+#: flatcamTools/ToolPaint.py:2801 flatcamTools/ToolPaint.py:3119
+#: flatcamTools/ToolPaint.py:3298
msgid ""
"There is no Painting Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted "
@@ -15469,82 +16304,66 @@ msgstr ""
"geometrice.\n"
"Schimbă parametrii de 'pictare' și încearcă din nou."
-#: flatcamTools/ToolPaint.py:1539
+#: flatcamTools/ToolPaint.py:2319
+msgid "Paint Single failed."
+msgstr "Pictarea unui polygon a esuat."
+
+#: flatcamTools/ToolPaint.py:2325
msgid "Paint Single Done."
msgstr "Pictarea unui polygon efectuată."
-#: flatcamTools/ToolPaint.py:1571 flatcamTools/ToolPaint.py:2145
-#: flatcamTools/ToolPaint.py:2620
+#: flatcamTools/ToolPaint.py:2327 flatcamTools/ToolPaint.py:2837
+#: flatcamTools/ToolPaint.py:3334
msgid "Polygon Paint started ..."
msgstr "Paint pt poligon a inceput ..."
-#: flatcamTools/ToolPaint.py:1623 flatcamTools/ToolPaint.py:2207
+#: flatcamTools/ToolPaint.py:2406 flatcamTools/ToolPaint.py:2409
+#: flatcamTools/ToolPaint.py:2417
+msgid "Paint all polygons task started."
+msgstr "Taskul de pictare pt toate poligoanele a inceput."
+
+#: flatcamTools/ToolPaint.py:2448 flatcamTools/ToolPaint.py:2946
msgid "Painting polygons..."
msgstr "Se 'pictează' poligoane..."
-#: flatcamTools/ToolPaint.py:1705 flatcamTools/ToolPaint.py:1708
-#: flatcamTools/ToolPaint.py:1710
-msgid "Paint Tool. Normal painting all task started."
-msgstr "Unealta Paint. Taskul de pictare a tuturor poligoanelor a inceput."
-
-#: flatcamTools/ToolPaint.py:1744 flatcamTools/ToolPaint.py:2023
-#: flatcamTools/ToolPaint.py:2325 flatcamTools/ToolPaint.py:2501
-msgid "Painting with tool diameter = "
-msgstr "Pictand cu o unealtă cu diametrul = "
-
-#: flatcamTools/ToolPaint.py:1747 flatcamTools/ToolPaint.py:2026
-#: flatcamTools/ToolPaint.py:2328 flatcamTools/ToolPaint.py:2504
-msgid "started"
-msgstr "a inceput"
-
-#: flatcamTools/ToolPaint.py:1976
+#: flatcamTools/ToolPaint.py:2641
msgid "Paint All Done."
msgstr "Pictarea Tuturor poligoanelor efectuată."
-#: flatcamTools/ToolPaint.py:1987 flatcamTools/ToolPaint.py:1991
-#: flatcamTools/ToolPaint.py:1994
-msgid "Rest machining painting all task started."
-msgstr ""
-"Taskul de pictare prin prelucrare 'rest' a tuturor poligoanelor a inceput."
-
-#: flatcamTools/ToolPaint.py:2072 flatcamTools/ToolPaint.py:2388
-#: flatcamTools/ToolPaint.py:2548
-msgid ""
-"Could not do Paint All. Try a different combination of parameters. Or a "
-"different Method of paint"
-msgstr ""
-"Nu s-a efectuat op. 'Paint' pt toate poligoanele. Incearcă o combinaţie "
-"diferită de parametri. Sau încearcă o alta metoda de 'pictat'"
-
-#: flatcamTools/ToolPaint.py:2126 flatcamTools/ToolPaint.py:2601
+#: flatcamTools/ToolPaint.py:2810 flatcamTools/ToolPaint.py:3307
msgid "Paint All with Rest-Machining done."
msgstr "'Paint' pentru toate poligoanele cu strategia Rest a fost efectuată."
-#: flatcamTools/ToolPaint.py:2277 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284
-msgid "Normal painting area task started."
-msgstr "Taskul de pictare normal a unei arii a inceput."
+#: flatcamTools/ToolPaint.py:2829
+msgid "Paint All failed."
+msgstr "Pictarea pt toate poligoanele a easuat."
-#: flatcamTools/ToolPaint.py:2447
+#: flatcamTools/ToolPaint.py:2835
+msgid "Paint Poly All Done."
+msgstr "Pictarea pt toate poligoanele efectuată."
+
+#: flatcamTools/ToolPaint.py:2905 flatcamTools/ToolPaint.py:2908
+#: flatcamTools/ToolPaint.py:2914
+msgid "Painting area task started."
+msgstr "Taskul de pictare a unei arii a inceput."
+
+#: flatcamTools/ToolPaint.py:3128
msgid "Paint Area Done."
msgstr "Paint pt o zona efectuata."
-#: flatcamTools/ToolPaint.py:2459 flatcamTools/ToolPaint.py:2465
-msgid "Rest machining painting area task started."
-msgstr ""
-"Taskul de pictare a unei arii cu strategia de masinare 'rest' a inceput."
+#: flatcamTools/ToolPaint.py:3326
+msgid "Paint Area failed."
+msgstr "Pictarea unei Zone a esuat."
-#: flatcamTools/ToolPaint.py:2462
-msgid "Paint Tool. Rest machining painting area task started."
-msgstr ""
-"Unealta Paint. Taskul de pictare a unei arii cu strategia de masinare 'rest' "
-"a inceput."
+#: flatcamTools/ToolPaint.py:3332
+msgid "Paint Poly Area Done."
+msgstr "Paint pt o Zonă efectuat."
#: flatcamTools/ToolPanelize.py:34
msgid "Panelize PCB"
msgstr "Panelizează PCB"
-#: flatcamTools/ToolPanelize.py:68
+#: flatcamTools/ToolPanelize.py:56
msgid ""
"Specify the type of object to be panelized\n"
"It can be of type: Gerber, Excellon or Geometry.\n"
@@ -15556,7 +16375,7 @@ msgstr ""
"Selectia facuta aici va dicta tipul de obiecte care se vor\n"
"regasi in combobox-ul >Obiect<."
-#: flatcamTools/ToolPanelize.py:83
+#: flatcamTools/ToolPanelize.py:89
msgid ""
"Object to be panelized. This means that it will\n"
"be duplicated in an array of rows and columns."
@@ -15565,11 +16384,11 @@ msgstr ""
"Acesta va fi multiplicat intr-o arie\n"
"de linii și coloane."
-#: flatcamTools/ToolPanelize.py:96
+#: flatcamTools/ToolPanelize.py:102
msgid "Penelization Reference"
msgstr "Referintă panelizare"
-#: flatcamTools/ToolPanelize.py:98
+#: flatcamTools/ToolPanelize.py:104
msgid ""
"Choose the reference for panelization:\n"
"- Object = the bounding box of a different object\n"
@@ -15591,11 +16410,11 @@ msgstr ""
"referintă,\n"
"prin urmare mentinand obiectele paenlizate in sincronizare unul cu altul."
-#: flatcamTools/ToolPanelize.py:121
+#: flatcamTools/ToolPanelize.py:125
msgid "Box Type"
msgstr "Tip container"
-#: flatcamTools/ToolPanelize.py:123
+#: flatcamTools/ToolPanelize.py:127
msgid ""
"Specify the type of object to be used as an container for\n"
"panelization. It can be: Gerber or Geometry type.\n"
@@ -15607,7 +16426,7 @@ msgstr ""
"Selectia facuta aici va dicta tipul de obiecte care se vor\n"
"regasi in combobox-ul >Container<."
-#: flatcamTools/ToolPanelize.py:138
+#: flatcamTools/ToolPanelize.py:141
msgid ""
"The actual object that is used a container for the\n"
" selected object that is to be panelized."
@@ -15615,11 +16434,11 @@ msgstr ""
"Obiectul care este folosit ca și container \n"
"pt obiectul care va fi panelizat."
-#: flatcamTools/ToolPanelize.py:144
+#: flatcamTools/ToolPanelize.py:147
msgid "Panel Data"
msgstr "Date panel"
-#: flatcamTools/ToolPanelize.py:146
+#: flatcamTools/ToolPanelize.py:149
msgid ""
"This informations will shape the resulting panel.\n"
"The number of rows and columns will set how many\n"
@@ -15635,7 +16454,7 @@ msgstr ""
"Spatierile sunt de fapt distante intre oricare două elemente ale \n"
"ariei panelului."
-#: flatcamTools/ToolPanelize.py:205
+#: flatcamTools/ToolPanelize.py:208
msgid ""
"Choose the type of object for the panel object:\n"
"- Geometry\n"
@@ -15645,15 +16464,15 @@ msgstr ""
"- Geometrie\n"
"-Gerber"
-#: flatcamTools/ToolPanelize.py:213
+#: flatcamTools/ToolPanelize.py:216
msgid "Constrain panel within"
msgstr "Mentine panelul in"
-#: flatcamTools/ToolPanelize.py:249
+#: flatcamTools/ToolPanelize.py:252
msgid "Panelize Object"
msgstr "Panelizează obiectul"
-#: flatcamTools/ToolPanelize.py:251 flatcamTools/ToolRulesCheck.py:492
+#: flatcamTools/ToolPanelize.py:254 flatcamTools/ToolRulesCheck.py:501
msgid ""
"Panelize the specified object around the specified box.\n"
"In other words it creates multiple copies of the source object,\n"
@@ -15663,33 +16482,33 @@ msgstr ""
"Cu alte cuvinte se crează copii multiple ale obiectului sursa,\n"
"aranjate intr-o arie 2D de linii și coloane."
-#: flatcamTools/ToolPanelize.py:319
+#: flatcamTools/ToolPanelize.py:322
msgid "Panel. Tool"
msgstr "Unealta Panel"
-#: flatcamTools/ToolPanelize.py:448
+#: flatcamTools/ToolPanelize.py:460
msgid "Columns or Rows are zero value. Change them to a positive integer."
msgstr ""
"Val. coloane sau linii este zero. Schimbă aceasta val. intr-un număr pozitiv "
"intreg."
-#: flatcamTools/ToolPanelize.py:485
+#: flatcamTools/ToolPanelize.py:497
msgid "Generating panel ... "
msgstr "Se generează Panel-ul… "
-#: flatcamTools/ToolPanelize.py:768
+#: flatcamTools/ToolPanelize.py:777
msgid "Generating panel ... Adding the Gerber code."
msgstr "Generarea panelului ... Adăugarea codului Gerber."
-#: flatcamTools/ToolPanelize.py:779
+#: flatcamTools/ToolPanelize.py:788
msgid "Generating panel... Spawning copies"
msgstr "Generarea panelului ... Se fac copii"
-#: flatcamTools/ToolPanelize.py:786
+#: flatcamTools/ToolPanelize.py:795
msgid "Panel done..."
msgstr "Panel executat ..."
-#: flatcamTools/ToolPanelize.py:789
+#: flatcamTools/ToolPanelize.py:798
#, python-brace-format
msgid ""
"{text} Too big for the constrain area. Final panel has {col} columns and "
@@ -15698,7 +16517,7 @@ msgstr ""
"{text} Prea mare pt aria desemnată. Panelul final are {col} coloane si {row} "
"linii"
-#: flatcamTools/ToolPanelize.py:798
+#: flatcamTools/ToolPanelize.py:807
msgid "Panel created successfully."
msgstr "Panel creat cu succes."
@@ -15772,7 +16591,7 @@ msgstr "Fără supresie"
#: flatcamTools/ToolPcbWizard.py:114
msgid "Zeros supp."
-msgstr "Supresie Zerouri"
+msgstr "Supresie Zero"
#: flatcamTools/ToolPcbWizard.py:116
msgid ""
@@ -15843,164 +16662,215 @@ msgstr "Fisierul .INF tip PCBWizard a fost incărcat."
msgid "Main PcbWizard Excellon file loaded."
msgstr "Fişierul Excellon tip PCBWizard a fost incărcat."
-#: flatcamTools/ToolPcbWizard.py:431
+#: flatcamTools/ToolPcbWizard.py:428
msgid "Cannot parse file"
msgstr "Nu se poate parsa fişierul"
-#: flatcamTools/ToolPcbWizard.py:456
+#: flatcamTools/ToolPcbWizard.py:452
msgid "Importing Excellon."
msgstr "Excellon in curs de import."
-#: flatcamTools/ToolPcbWizard.py:463
+#: flatcamTools/ToolPcbWizard.py:459
msgid "Import Excellon file failed."
msgstr "Fişierul Excellon nu a fost posibil să fie importat."
-#: flatcamTools/ToolPcbWizard.py:471
+#: flatcamTools/ToolPcbWizard.py:467
msgid "Imported"
msgstr "Importat"
-#: flatcamTools/ToolPcbWizard.py:475
+#: flatcamTools/ToolPcbWizard.py:471
msgid "Excellon merging is in progress. Please wait..."
msgstr "Fuziunea fisiere Excellon este in curs. Vă rugăm aşteptați ..."
-#: flatcamTools/ToolPcbWizard.py:478
+#: flatcamTools/ToolPcbWizard.py:474
msgid "The imported Excellon file is None."
msgstr "Fişierul Excellon importat este gol."
-#: flatcamTools/ToolProperties.py:119
-msgid "Properties Tool was not displayed. No object selected."
-msgstr ""
-"Unealta Proprietati nu a fost afișată. Nici-un obiect nu este selectat."
-
-#: flatcamTools/ToolProperties.py:134
+#: flatcamTools/ToolProperties.py:131
msgid "Object Properties are displayed."
msgstr "Proprietatile obiectului sunt afisate in Tab-ul Unealta."
-#: flatcamTools/ToolProperties.py:135
+#: flatcamTools/ToolProperties.py:136
msgid "Properties Tool"
msgstr "Unealta Proprietati"
-#: flatcamTools/ToolProperties.py:149
+#: flatcamTools/ToolProperties.py:150
msgid "TYPE"
msgstr "TIP"
-#: flatcamTools/ToolProperties.py:150
+#: flatcamTools/ToolProperties.py:151
msgid "NAME"
msgstr "NUME"
-#: flatcamTools/ToolProperties.py:151
+#: flatcamTools/ToolProperties.py:153
msgid "Dimensions"
msgstr "Dimensiuni"
-#: flatcamTools/ToolProperties.py:165
-msgid "Others"
-msgstr "Alții"
-
-#: flatcamTools/ToolProperties.py:172
+#: flatcamTools/ToolProperties.py:181
msgid "Geo Type"
msgstr "Tip Geo"
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:184
msgid "Single-Geo"
msgstr "Geo-Unică"
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:185
msgid "Multi-Geo"
msgstr "Geo-Multi"
-#: flatcamTools/ToolProperties.py:181
+#: flatcamTools/ToolProperties.py:196
msgid "Calculating dimensions ... Please wait."
msgstr "Se calculează dimensiunile ... Aşteaptă."
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:325
-#: flatcamTools/ToolProperties.py:327
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:343
+#: flatcamTools/ToolProperties.py:345
msgid "Inch"
msgstr "Inch"
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:326
-#: flatcamTools/ToolProperties.py:328
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:344
+#: flatcamTools/ToolProperties.py:346
msgid "Metric"
msgstr "Metric"
-#: flatcamTools/ToolProperties.py:401 flatcamTools/ToolProperties.py:459
+#: flatcamTools/ToolProperties.py:421 flatcamTools/ToolProperties.py:486
msgid "Drills number"
msgstr "Numărul de găuri"
-#: flatcamTools/ToolProperties.py:402 flatcamTools/ToolProperties.py:461
+#: flatcamTools/ToolProperties.py:422 flatcamTools/ToolProperties.py:488
msgid "Slots number"
msgstr "Numărul de sloturi"
-#: flatcamTools/ToolProperties.py:404
+#: flatcamTools/ToolProperties.py:424
msgid "Drills total number:"
msgstr "Număr total de gauri:"
-#: flatcamTools/ToolProperties.py:405
+#: flatcamTools/ToolProperties.py:425
msgid "Slots total number:"
msgstr "Număr total de sloturi:"
-#: flatcamTools/ToolProperties.py:411 flatcamTools/ToolProperties.py:426
-#: flatcamTools/ToolProperties.py:429 flatcamTools/ToolProperties.py:432
-#: flatcamTools/ToolProperties.py:456
+#: flatcamTools/ToolProperties.py:452 flatcamTools/ToolProperties.py:455
+#: flatcamTools/ToolProperties.py:458 flatcamTools/ToolProperties.py:483
msgid "Present"
msgstr "Prezent"
-#: flatcamTools/ToolProperties.py:427 flatcamTools/ToolProperties.py:457
+#: flatcamTools/ToolProperties.py:453 flatcamTools/ToolProperties.py:484
msgid "Solid Geometry"
msgstr "Geometrie Solidă"
-#: flatcamTools/ToolProperties.py:430
+#: flatcamTools/ToolProperties.py:456
msgid "GCode Text"
msgstr "Text GCode"
-#: flatcamTools/ToolProperties.py:433
+#: flatcamTools/ToolProperties.py:459
msgid "GCode Geometry"
msgstr "Geometrie GCode"
-#: flatcamTools/ToolProperties.py:435
+#: flatcamTools/ToolProperties.py:462
msgid "Data"
msgstr "Date"
-#: flatcamTools/ToolProperties.py:468
+#: flatcamTools/ToolProperties.py:495
msgid "Depth of Cut"
msgstr "Adâncimea de Tăiere"
-#: flatcamTools/ToolProperties.py:480
+#: flatcamTools/ToolProperties.py:507
msgid "Clearance Height"
msgstr "Înălțime Sigură"
-#: flatcamTools/ToolProperties.py:512
+#: flatcamTools/ToolProperties.py:539
msgid "Routing time"
msgstr "Timpul de rutare"
-#: flatcamTools/ToolProperties.py:519
+#: flatcamTools/ToolProperties.py:546
msgid "Travelled distance"
msgstr "Distanța parcursă"
-#: flatcamTools/ToolProperties.py:560
+#: flatcamTools/ToolProperties.py:564
msgid "Width"
msgstr "Lătime"
-#: flatcamTools/ToolProperties.py:566 flatcamTools/ToolProperties.py:574
+#: flatcamTools/ToolProperties.py:570 flatcamTools/ToolProperties.py:578
msgid "Box Area"
msgstr "Arie pătratică"
-#: flatcamTools/ToolProperties.py:569 flatcamTools/ToolProperties.py:577
+#: flatcamTools/ToolProperties.py:573 flatcamTools/ToolProperties.py:581
msgid "Convex_Hull Area"
msgstr "Arie convexă"
-#: flatcamTools/ToolProperties.py:583 flatcamTools/ToolProperties.py:585
+#: flatcamTools/ToolProperties.py:588 flatcamTools/ToolProperties.py:591
msgid "Copper Area"
msgstr "Aria de Cupru"
-#: flatcamTools/ToolQRCode.py:79
+#: flatcamTools/ToolPunchGerber.py:30 flatcamTools/ToolPunchGerber.py:323
+msgid "Punch Gerber"
+msgstr "Punctează Gerber"
+
+#: flatcamTools/ToolPunchGerber.py:65
+msgid "Gerber into which to punch holes"
+msgstr "Obiect Gerber pentru Punctare găuri"
+
+#: flatcamTools/ToolPunchGerber.py:85
+msgid "ALL"
+msgstr "TOATE"
+
+#: flatcamTools/ToolPunchGerber.py:166
+msgid ""
+"Remove the geometry of Excellon from the Gerber to create the holes in pads."
+msgstr ""
+"Îndepărtați geometria Excellon din obiectul Gerber pentru a crea găurile din "
+"pad-uri."
+
+#: flatcamTools/ToolPunchGerber.py:325
+msgid ""
+"Create a Gerber object from the selected object, within\n"
+"the specified box."
+msgstr ""
+"Creează un obiect Gerber din obiectul selectat, in cadrul\n"
+"formei 'cutie' specificate."
+
+#: flatcamTools/ToolPunchGerber.py:425
+msgid "Punch Tool"
+msgstr "Unealta Punctare"
+
+#: flatcamTools/ToolPunchGerber.py:599
+msgid "The value of the fixed diameter is 0.0. Aborting."
+msgstr "Valoarea pentru diametrul fix ste 0.0. Renuntăm."
+
+#: flatcamTools/ToolPunchGerber.py:607
+msgid ""
+" Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+" Nu a putut genera un obiect Gerber cu găuri punctate, deoarece dimensiunea "
+"găurii de perforare este mai mare decât unele dintre aperturile din obiectul "
+"Gerber."
+
+#: flatcamTools/ToolPunchGerber.py:619
+msgid ""
+"Could not generate punched hole Gerber because the punch hole sizeis bigger "
+"than some of the apertures in the Gerber object."
+msgstr ""
+"Nu s-a putut genera un obiect Gerber cu găuri punctate, deoarece dimensiunea "
+"găurii de perforare este mai mare decât unele dintre aperturile din obiectul "
+"Gerber."
+
+#: flatcamTools/ToolPunchGerber.py:656
+msgid ""
+"Could not generate punched hole Gerber because the newly created object "
+"geometry is the same as the one in the source object geometry..."
+msgstr ""
+"Nu s-a putut genera un obiect cu găuri puctate, deoarece geometria "
+"obiectului nou creat este aceeași cu cea din geometria obiectului sursă ..."
+
+#: flatcamTools/ToolQRCode.py:80
msgid "Gerber Object to which the QRCode will be added."
msgstr "Obiect Gerber la care se va adăuga codul QR."
-#: flatcamTools/ToolQRCode.py:92
+#: flatcamTools/ToolQRCode.py:93
msgid "QRCode Parameters"
msgstr "Parametrii QRCode"
-#: flatcamTools/ToolQRCode.py:94
+#: flatcamTools/ToolQRCode.py:95
msgid "The parameters used to shape the QRCode."
msgstr "Parametrii utilizați pentru modelarea codului QR."
@@ -16044,31 +16914,27 @@ msgstr "Inserați codul QR"
msgid "Create the QRCode object."
msgstr "Creați obiectul QRCode."
-#: flatcamTools/ToolQRCode.py:413 flatcamTools/ToolQRCode.py:748
-#: flatcamTools/ToolQRCode.py:797
+#: flatcamTools/ToolQRCode.py:415 flatcamTools/ToolQRCode.py:750
+#: flatcamTools/ToolQRCode.py:799
msgid "Cancelled. There is no QRCode Data in the text box."
msgstr "Anulat. Nu există date QRCode în caseta de text."
-#: flatcamTools/ToolQRCode.py:432
+#: flatcamTools/ToolQRCode.py:434
msgid "Generating QRCode geometry"
msgstr "Generarea geometriei QRCode"
-#: flatcamTools/ToolQRCode.py:472
+#: flatcamTools/ToolQRCode.py:474
msgid "Click on the Destination point ..."
msgstr "Click pe punctul de Destinaţie ..."
-#: flatcamTools/ToolQRCode.py:587
+#: flatcamTools/ToolQRCode.py:589
msgid "QRCode Tool done."
msgstr "Unealta QRCode efectuata."
-#: flatcamTools/ToolQRCode.py:780 flatcamTools/ToolQRCode.py:784
+#: flatcamTools/ToolQRCode.py:782 flatcamTools/ToolQRCode.py:786
msgid "Export PNG"
msgstr "Exporta PNG"
-#: flatcamTools/ToolQRCode.py:789
-msgid " Export PNG cancelled."
-msgstr " Exportul PNG a fost anulat."
-
#: flatcamTools/ToolRulesCheck.py:33
msgid "Check Rules"
msgstr "Verificați regulile"
@@ -16081,77 +16947,77 @@ msgstr "Fișiere Gerber"
msgid "Gerber objects for which to check rules."
msgstr "Obiecte Gerber pentru care trebuie verificate regulile."
-#: flatcamTools/ToolRulesCheck.py:77
+#: flatcamTools/ToolRulesCheck.py:78
msgid "Top"
msgstr "Top"
-#: flatcamTools/ToolRulesCheck.py:79
+#: flatcamTools/ToolRulesCheck.py:80
msgid "The Top Gerber Copper object for which rules are checked."
msgstr "Obiectul Top Gerber cupru pentru care sunt verificate regulile."
-#: flatcamTools/ToolRulesCheck.py:94
+#: flatcamTools/ToolRulesCheck.py:96
msgid "Bottom"
msgstr "Bottom"
-#: flatcamTools/ToolRulesCheck.py:96
+#: flatcamTools/ToolRulesCheck.py:98
msgid "The Bottom Gerber Copper object for which rules are checked."
msgstr "Obiectul Bottom Gerber cupru pentru care sunt verificate regulile."
-#: flatcamTools/ToolRulesCheck.py:111
+#: flatcamTools/ToolRulesCheck.py:114
msgid "SM Top"
msgstr "SM Top"
-#: flatcamTools/ToolRulesCheck.py:113
+#: flatcamTools/ToolRulesCheck.py:116
msgid "The Top Gerber Solder Mask object for which rules are checked."
msgstr ""
"Obiectul Top (superior) Gerber Solder Mask pentru care sunt verificate "
"regulile."
-#: flatcamTools/ToolRulesCheck.py:128
+#: flatcamTools/ToolRulesCheck.py:132
msgid "SM Bottom"
msgstr "SM Bottom"
-#: flatcamTools/ToolRulesCheck.py:130
+#: flatcamTools/ToolRulesCheck.py:134
msgid "The Bottom Gerber Solder Mask object for which rules are checked."
msgstr ""
"Obiectul Bottom (inferior) Gerber Solder Mask pentru care sunt verificate "
"regulile."
-#: flatcamTools/ToolRulesCheck.py:145
+#: flatcamTools/ToolRulesCheck.py:150
msgid "Silk Top"
msgstr "Silk Top"
-#: flatcamTools/ToolRulesCheck.py:147
+#: flatcamTools/ToolRulesCheck.py:152
msgid "The Top Gerber Silkscreen object for which rules are checked."
msgstr "Obiectul Top Gerber Silkscreen pentru care sunt verificate regulile."
-#: flatcamTools/ToolRulesCheck.py:162
+#: flatcamTools/ToolRulesCheck.py:168
msgid "Silk Bottom"
msgstr "Silk Bottom"
-#: flatcamTools/ToolRulesCheck.py:164
+#: flatcamTools/ToolRulesCheck.py:170
msgid "The Bottom Gerber Silkscreen object for which rules are checked."
msgstr ""
"Obiectul Bottom Gerber Silkscreen pentru care sunt verificate regulile."
-#: flatcamTools/ToolRulesCheck.py:181
+#: flatcamTools/ToolRulesCheck.py:188
msgid "The Gerber Outline (Cutout) object for which rules are checked."
msgstr ""
"Obiectul Gerber Outline (decupaj) pentru care sunt verificate regulile."
-#: flatcamTools/ToolRulesCheck.py:192
+#: flatcamTools/ToolRulesCheck.py:199
msgid "Excellon Objects"
msgstr "Obiecte Excellon"
-#: flatcamTools/ToolRulesCheck.py:194
+#: flatcamTools/ToolRulesCheck.py:201
msgid "Excellon objects for which to check rules."
msgstr "Obiecte Excellon pentru care trebuie verificate regulile."
-#: flatcamTools/ToolRulesCheck.py:205
+#: flatcamTools/ToolRulesCheck.py:213
msgid "Excellon 1"
msgstr "Excellon 1"
-#: flatcamTools/ToolRulesCheck.py:207
+#: flatcamTools/ToolRulesCheck.py:215
msgid ""
"Excellon object for which to check rules.\n"
"Holds the plated holes or a general Excellon file content."
@@ -16159,11 +17025,11 @@ msgstr ""
"Obiect Excellon pentru care trebuie verificate regulile.\n"
"Contine găurile placate sau un conținut general Excellon."
-#: flatcamTools/ToolRulesCheck.py:223
+#: flatcamTools/ToolRulesCheck.py:232
msgid "Excellon 2"
msgstr "Excellon 2"
-#: flatcamTools/ToolRulesCheck.py:225
+#: flatcamTools/ToolRulesCheck.py:234
msgid ""
"Excellon object for which to check rules.\n"
"Holds the non-plated holes."
@@ -16171,35 +17037,35 @@ msgstr ""
"Obiect Excellon pentru care trebuie verificate regulile.\n"
"Contine găurile ne-placate."
-#: flatcamTools/ToolRulesCheck.py:238
+#: flatcamTools/ToolRulesCheck.py:247
msgid "All Rules"
msgstr "Totate Regulile"
-#: flatcamTools/ToolRulesCheck.py:240
+#: flatcamTools/ToolRulesCheck.py:249
msgid "This check/uncheck all the rules below."
msgstr "Aceasta bifează/debifează toate regulile de mai jos."
-#: flatcamTools/ToolRulesCheck.py:490
+#: flatcamTools/ToolRulesCheck.py:499
msgid "Run Rules Check"
msgstr "Executați Verificarea regulilor"
-#: flatcamTools/ToolRulesCheck.py:1149 flatcamTools/ToolRulesCheck.py:1209
-#: flatcamTools/ToolRulesCheck.py:1246 flatcamTools/ToolRulesCheck.py:1318
-#: flatcamTools/ToolRulesCheck.py:1372 flatcamTools/ToolRulesCheck.py:1410
-#: flatcamTools/ToolRulesCheck.py:1475
+#: flatcamTools/ToolRulesCheck.py:1158 flatcamTools/ToolRulesCheck.py:1218
+#: flatcamTools/ToolRulesCheck.py:1255 flatcamTools/ToolRulesCheck.py:1327
+#: flatcamTools/ToolRulesCheck.py:1381 flatcamTools/ToolRulesCheck.py:1419
+#: flatcamTools/ToolRulesCheck.py:1484
msgid "Value is not valid."
msgstr "Valoarea nu este valabilă."
-#: flatcamTools/ToolRulesCheck.py:1163
+#: flatcamTools/ToolRulesCheck.py:1172
msgid "TOP -> Copper to Copper clearance"
msgstr "TOP -> Distanta de la Cupru la Cupru"
-#: flatcamTools/ToolRulesCheck.py:1174
+#: flatcamTools/ToolRulesCheck.py:1183
msgid "BOTTOM -> Copper to Copper clearance"
msgstr "BOTTOM -> Distanta de la Cupru la Cupru"
-#: flatcamTools/ToolRulesCheck.py:1179 flatcamTools/ToolRulesCheck.py:1273
-#: flatcamTools/ToolRulesCheck.py:1437
+#: flatcamTools/ToolRulesCheck.py:1188 flatcamTools/ToolRulesCheck.py:1282
+#: flatcamTools/ToolRulesCheck.py:1446
msgid ""
"At least one Gerber object has to be selected for this rule but none is "
"selected."
@@ -16207,14 +17073,14 @@ msgstr ""
"Pentru această regulă trebuie selectat cel puțin un obiect Gerber, dar "
"niciunul nu este selectat."
-#: flatcamTools/ToolRulesCheck.py:1215
+#: flatcamTools/ToolRulesCheck.py:1224
msgid ""
"One of the copper Gerber objects or the Outline Gerber object is not valid."
msgstr ""
"Unul dintre obiectele Gerber din cupru sau obiectul Gerber contur nu este "
"valid."
-#: flatcamTools/ToolRulesCheck.py:1228 flatcamTools/ToolRulesCheck.py:1392
+#: flatcamTools/ToolRulesCheck.py:1237 flatcamTools/ToolRulesCheck.py:1401
msgid ""
"Outline Gerber object presence is mandatory for this rule but it is not "
"selected."
@@ -16222,31 +17088,31 @@ msgstr ""
"Prezenta obiectului Gerber contur este obligatorie pentru această regulă, "
"dar nu este selectată."
-#: flatcamTools/ToolRulesCheck.py:1245 flatcamTools/ToolRulesCheck.py:1272
+#: flatcamTools/ToolRulesCheck.py:1254 flatcamTools/ToolRulesCheck.py:1281
msgid "Silk to Silk clearance"
msgstr "Distanta Silk la Silk"
-#: flatcamTools/ToolRulesCheck.py:1258
+#: flatcamTools/ToolRulesCheck.py:1267
msgid "TOP -> Silk to Silk clearance"
msgstr "TOP -> Distanta Silk la Silk"
-#: flatcamTools/ToolRulesCheck.py:1268
+#: flatcamTools/ToolRulesCheck.py:1277
msgid "BOTTOM -> Silk to Silk clearance"
msgstr "BOTTOM -> Distanta Silk la Silk"
-#: flatcamTools/ToolRulesCheck.py:1324
+#: flatcamTools/ToolRulesCheck.py:1333
msgid "One or more of the Gerber objects is not valid."
msgstr "Unul sau mai multe dintre obiectele Gerber nu sunt valabile."
-#: flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1341
msgid "TOP -> Silk to Solder Mask Clearance"
msgstr "TOP -> Distanta Silk la Solder mask"
-#: flatcamTools/ToolRulesCheck.py:1338
+#: flatcamTools/ToolRulesCheck.py:1347
msgid "BOTTOM -> Silk to Solder Mask Clearance"
msgstr "BOTTOM -> Distanta Silk la Solder mask"
-#: flatcamTools/ToolRulesCheck.py:1342
+#: flatcamTools/ToolRulesCheck.py:1351
msgid ""
"Both Silk and Solder Mask Gerber objects has to be either both Top or both "
"Bottom."
@@ -16254,62 +17120,62 @@ msgstr ""
"Atât obiectele Silk cat si cele Solder Mask trebuie ori ambele TOP ori "
"ambele BOTTOM."
-#: flatcamTools/ToolRulesCheck.py:1378
+#: flatcamTools/ToolRulesCheck.py:1387
msgid ""
"One of the Silk Gerber objects or the Outline Gerber object is not valid."
msgstr ""
"Unul dintre obiectele Silk Gerber sau obiectul Contur Gerber nu este valid."
-#: flatcamTools/ToolRulesCheck.py:1422
+#: flatcamTools/ToolRulesCheck.py:1431
msgid "TOP -> Minimum Solder Mask Sliver"
msgstr "TOP -> Distanta minima intre elementele Solder Mask"
-#: flatcamTools/ToolRulesCheck.py:1432
+#: flatcamTools/ToolRulesCheck.py:1441
msgid "BOTTOM -> Minimum Solder Mask Sliver"
msgstr "BOTTOM -> Distanta minima intre elementele Solder Mask"
-#: flatcamTools/ToolRulesCheck.py:1481
+#: flatcamTools/ToolRulesCheck.py:1490
msgid "One of the Copper Gerber objects or the Excellon objects is not valid."
msgstr ""
"Unul dintre obiectele Gerber Cupru sau obiectele Excellon nu este valabil."
-#: flatcamTools/ToolRulesCheck.py:1497
+#: flatcamTools/ToolRulesCheck.py:1506
msgid ""
"Excellon object presence is mandatory for this rule but none is selected."
msgstr ""
"Prezența obiectului Excellon este obligatorie pentru această regulă, dar "
"niciunul nu este selectat."
-#: flatcamTools/ToolRulesCheck.py:1570 flatcamTools/ToolRulesCheck.py:1583
-#: flatcamTools/ToolRulesCheck.py:1594 flatcamTools/ToolRulesCheck.py:1607
+#: flatcamTools/ToolRulesCheck.py:1579 flatcamTools/ToolRulesCheck.py:1592
+#: flatcamTools/ToolRulesCheck.py:1603 flatcamTools/ToolRulesCheck.py:1616
msgid "STATUS"
msgstr "STARE"
-#: flatcamTools/ToolRulesCheck.py:1573 flatcamTools/ToolRulesCheck.py:1597
+#: flatcamTools/ToolRulesCheck.py:1582 flatcamTools/ToolRulesCheck.py:1606
msgid "FAILED"
msgstr "A EȘUAT"
-#: flatcamTools/ToolRulesCheck.py:1586 flatcamTools/ToolRulesCheck.py:1610
+#: flatcamTools/ToolRulesCheck.py:1595 flatcamTools/ToolRulesCheck.py:1619
msgid "PASSED"
msgstr "A TRECUT"
-#: flatcamTools/ToolRulesCheck.py:1587 flatcamTools/ToolRulesCheck.py:1611
+#: flatcamTools/ToolRulesCheck.py:1596 flatcamTools/ToolRulesCheck.py:1620
msgid "Violations: There are no violations for the current rule."
msgstr "Încălcări: nu există încălcări pentru regula actuală."
-#: flatcamTools/ToolShell.py:70 flatcamTools/ToolShell.py:72
-msgid "...proccessing..."
+#: flatcamTools/ToolShell.py:72 flatcamTools/ToolShell.py:74
+msgid "...processing..."
msgstr "...in procesare..."
-#: flatcamTools/ToolSolderPaste.py:37
+#: flatcamTools/ToolSolderPaste.py:38
msgid "Solder Paste Tool"
msgstr "Unealta DispensorPF"
-#: flatcamTools/ToolSolderPaste.py:68
+#: flatcamTools/ToolSolderPaste.py:70
msgid "Gerber Solder paste object. "
msgstr "Obiect Gerber cu masca pt dispensarea de pastă de fludor. "
-#: flatcamTools/ToolSolderPaste.py:75
+#: flatcamTools/ToolSolderPaste.py:77
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for dispensing solder paste."
@@ -16317,7 +17183,7 @@ msgstr ""
"Un număr de unelte (nozzle) din care algoritmul va alege pe acelea\n"
"care vor fi folosite pentru dispensarea pastei de fludor."
-#: flatcamTools/ToolSolderPaste.py:90
+#: flatcamTools/ToolSolderPaste.py:92
msgid ""
"This is the Tool Number.\n"
"The solder dispensing will start with the tool with the biggest \n"
@@ -16332,7 +17198,7 @@ msgstr ""
"Daca numai sunt unelte dar mai sunt inca paduri neacoperite de pastă de \n"
"fludor, aplicaţia va afisa un mesaj de avertizare in Status Bar."
-#: flatcamTools/ToolSolderPaste.py:97
+#: flatcamTools/ToolSolderPaste.py:99
msgid ""
"Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
"is the width of the solder paste dispensed."
@@ -16340,11 +17206,11 @@ msgstr ""
"Diametrul uneltei Nozzle. Valoarea sa (in unitati de maura curente)\n"
"este lăţimea cantiatii de pastă de fludor dispensata."
-#: flatcamTools/ToolSolderPaste.py:104
+#: flatcamTools/ToolSolderPaste.py:106
msgid "New Nozzle Tool"
msgstr "Unealtă noua"
-#: flatcamTools/ToolSolderPaste.py:123
+#: flatcamTools/ToolSolderPaste.py:125
msgid ""
"Add a new nozzle tool to the Tool Table\n"
"with the diameter specified above."
@@ -16352,15 +17218,15 @@ msgstr ""
"Adaugă o unealtă nouă tip Nozzle in Tabela de Unelte\n"
"cu diametrul specificat mai sus."
-#: flatcamTools/ToolSolderPaste.py:135
+#: flatcamTools/ToolSolderPaste.py:137
msgid "Generate solder paste dispensing geometry."
msgstr "Generează un obiect Geometrie pt dispensarea de pastă de fludor."
-#: flatcamTools/ToolSolderPaste.py:154
+#: flatcamTools/ToolSolderPaste.py:156
msgid "STEP 1"
msgstr "PAS 1"
-#: flatcamTools/ToolSolderPaste.py:156
+#: flatcamTools/ToolSolderPaste.py:158
msgid ""
"First step is to select a number of nozzle tools for usage\n"
"and then optionally modify the GCode parameters bellow."
@@ -16369,7 +17235,7 @@ msgstr ""
"utilizare și apoi in mod optional, să se modifice parametrii\n"
"GCode de mai jos."
-#: flatcamTools/ToolSolderPaste.py:159
+#: flatcamTools/ToolSolderPaste.py:161
msgid ""
"Select tools.\n"
"Modify parameters."
@@ -16377,7 +17243,7 @@ msgstr ""
"Selectează unelte.\n"
"Modifica parametri."
-#: flatcamTools/ToolSolderPaste.py:279
+#: flatcamTools/ToolSolderPaste.py:281
msgid ""
"Feedrate (speed) while moving up vertically\n"
" to Dispense position (on Z plane)."
@@ -16385,7 +17251,7 @@ msgstr ""
"Viteza de deplasare la mișcarea pe verticala spre\n"
"poziţia de dispensare (in planul Z)."
-#: flatcamTools/ToolSolderPaste.py:349
+#: flatcamTools/ToolSolderPaste.py:351
msgid ""
"Generate GCode for Solder Paste dispensing\n"
"on PCB pads."
@@ -16393,11 +17259,11 @@ msgstr ""
"Generează GCode pt dispensarea\n"
"de pastă de fludor pe padurile PCB."
-#: flatcamTools/ToolSolderPaste.py:370
+#: flatcamTools/ToolSolderPaste.py:372
msgid "STEP 2"
msgstr "PAS 2"
-#: flatcamTools/ToolSolderPaste.py:372
+#: flatcamTools/ToolSolderPaste.py:374
msgid ""
"Second step is to create a solder paste dispensing\n"
"geometry out of an Solder Paste Mask Gerber file."
@@ -16406,11 +17272,11 @@ msgstr ""
"de pastă de fludor, dintr-un fişier Gerber cu datele mastii de plasare\n"
"a pastei de fludor."
-#: flatcamTools/ToolSolderPaste.py:388
+#: flatcamTools/ToolSolderPaste.py:391
msgid "Geo Result"
msgstr "Rezultat Geo"
-#: flatcamTools/ToolSolderPaste.py:390
+#: flatcamTools/ToolSolderPaste.py:393
msgid ""
"Geometry Solder Paste object.\n"
"The name of the object has to end in:\n"
@@ -16420,11 +17286,11 @@ msgstr ""
"Numele obiectului trebuie să se termine obligatoriu\n"
"in: '_solderpaste'."
-#: flatcamTools/ToolSolderPaste.py:399
+#: flatcamTools/ToolSolderPaste.py:402
msgid "STEP 3"
msgstr "PAS 3"
-#: flatcamTools/ToolSolderPaste.py:401
+#: flatcamTools/ToolSolderPaste.py:404
msgid ""
"Third step is to select a solder paste dispensing geometry,\n"
"and then generate a CNCJob object.\n"
@@ -16440,11 +17306,11 @@ msgstr ""
"mai intai trebuie generat obiectul Geometrie cu acei parametri noi și abia\n"
"apoi se poate genera un obiect CNCJob actualizat."
-#: flatcamTools/ToolSolderPaste.py:421
+#: flatcamTools/ToolSolderPaste.py:425
msgid "CNC Result"
msgstr "Rezultat CNC"
-#: flatcamTools/ToolSolderPaste.py:423
+#: flatcamTools/ToolSolderPaste.py:427
msgid ""
"CNCJob Solder paste object.\n"
"In order to enable the GCode save section,\n"
@@ -16456,11 +17322,11 @@ msgstr ""
"numele obiectului trebuie să se termine obligatoriu in:\n"
"'_solderpaste'."
-#: flatcamTools/ToolSolderPaste.py:433
+#: flatcamTools/ToolSolderPaste.py:437
msgid "View GCode"
msgstr "Vizualiz. GCode"
-#: flatcamTools/ToolSolderPaste.py:435
+#: flatcamTools/ToolSolderPaste.py:439
msgid ""
"View the generated GCode for Solder Paste dispensing\n"
"on PCB pads."
@@ -16468,11 +17334,11 @@ msgstr ""
"Vizualizează codul GCode generat pt dispensarea de \n"
"pastă de fludor pe padurile PCB-ului."
-#: flatcamTools/ToolSolderPaste.py:445
+#: flatcamTools/ToolSolderPaste.py:449
msgid "Save GCode"
msgstr "Salvează GCode"
-#: flatcamTools/ToolSolderPaste.py:447
+#: flatcamTools/ToolSolderPaste.py:451
msgid ""
"Save the generated GCode for Solder Paste dispensing\n"
"on PCB pads, to a file."
@@ -16480,11 +17346,11 @@ msgstr ""
"Salvează codul GCode generat pt dispensare pastă de fludor\n"
"pe padurile unui PCB, intr-un fişier pe HDD."
-#: flatcamTools/ToolSolderPaste.py:457
+#: flatcamTools/ToolSolderPaste.py:461
msgid "STEP 4"
msgstr "PAS 4"
-#: flatcamTools/ToolSolderPaste.py:459
+#: flatcamTools/ToolSolderPaste.py:463
msgid ""
"Fourth step (and last) is to select a CNCJob made from \n"
"a solder paste dispensing geometry, and then view/save it's GCode."
@@ -16494,95 +17360,89 @@ msgstr ""
"avand posibilitatea de a vizualiza continutul acestuia sau de a-l salva\n"
"intr-un fişier GCode pe HDD."
-#: flatcamTools/ToolSolderPaste.py:917
-msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
-msgstr ""
-"Adăugarea unei unelte Nozzle a fost anulată. Unealta există deja in Tabela "
-"de Unelte."
-
-#: flatcamTools/ToolSolderPaste.py:923
+#: flatcamTools/ToolSolderPaste.py:922
msgid "New Nozzle tool added to Tool Table."
msgstr "A fost adăugată o noua unealtă Nozzle in Tabela de Unelte."
-#: flatcamTools/ToolSolderPaste.py:966
+#: flatcamTools/ToolSolderPaste.py:965
msgid "Nozzle tool from Tool Table was edited."
msgstr "Unealta Nozzle din Tabela de Unelte a fost editată."
-#: flatcamTools/ToolSolderPaste.py:1024
+#: flatcamTools/ToolSolderPaste.py:1023
msgid "Delete failed. Select a Nozzle tool to delete."
msgstr "Ștergerea a eșuat. Selectează o unealtă Nozzle pt a o șterge."
-#: flatcamTools/ToolSolderPaste.py:1030
+#: flatcamTools/ToolSolderPaste.py:1029
msgid "Nozzle tool(s) deleted from Tool Table."
msgstr "Uneltele (nozzle) au fost șterse din Tabela de Unelte."
-#: flatcamTools/ToolSolderPaste.py:1086
+#: flatcamTools/ToolSolderPaste.py:1085
msgid "No SolderPaste mask Gerber object loaded."
msgstr ""
"Nu este incărcat ni-un obiect Gerber cu informatia măstii pt pasta de fludor."
-#: flatcamTools/ToolSolderPaste.py:1104
+#: flatcamTools/ToolSolderPaste.py:1103
msgid "Creating Solder Paste dispensing geometry."
msgstr "Se creează Geometrie pt dispensare pastă de fludor."
-#: flatcamTools/ToolSolderPaste.py:1117
+#: flatcamTools/ToolSolderPaste.py:1116
msgid "No Nozzle tools in the tool table."
msgstr "Nu sunt unelte Nozzle in Tabela de Unelte."
-#: flatcamTools/ToolSolderPaste.py:1244
+#: flatcamTools/ToolSolderPaste.py:1242
msgid "Cancelled. Empty file, it has no geometry..."
msgstr "Anulat. Fişier gol, nu are geometrie ..."
-#: flatcamTools/ToolSolderPaste.py:1248
+#: flatcamTools/ToolSolderPaste.py:1245
msgid "Solder Paste geometry generated successfully"
msgstr ""
"Obiectul Geometrie pt dispens. de pastă de fludor a fost generat cu succes"
-#: flatcamTools/ToolSolderPaste.py:1255
+#: flatcamTools/ToolSolderPaste.py:1252
msgid "Some or all pads have no solder due of inadequate nozzle diameters..."
msgstr ""
"Cel puțin unele pad-uri nu au pastă de fludor datorita diametrelor uneltelor "
"(nozzle) ne adecvate."
-#: flatcamTools/ToolSolderPaste.py:1269
+#: flatcamTools/ToolSolderPaste.py:1266
msgid "Generating Solder Paste dispensing geometry..."
msgstr "Se generează Geometria de dispensare a pastei de fludor ..."
-#: flatcamTools/ToolSolderPaste.py:1289
+#: flatcamTools/ToolSolderPaste.py:1286
msgid "There is no Geometry object available."
msgstr "Nu există obiect Geometrie disponibil."
-#: flatcamTools/ToolSolderPaste.py:1294
+#: flatcamTools/ToolSolderPaste.py:1291
msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry."
msgstr ""
"Acest obiect Geometrie nu poate fi procesat Nu este o Geometrie tip "
"solder_paste_tool."
-#: flatcamTools/ToolSolderPaste.py:1401
+#: flatcamTools/ToolSolderPaste.py:1392
msgid "ToolSolderPaste CNCjob created"
msgstr "ToolSolderPaste CNCjob a fost creat"
-#: flatcamTools/ToolSolderPaste.py:1422
+#: flatcamTools/ToolSolderPaste.py:1411
msgid "SP GCode Editor"
msgstr "Editor GCode SP"
-#: flatcamTools/ToolSolderPaste.py:1434 flatcamTools/ToolSolderPaste.py:1439
-#: flatcamTools/ToolSolderPaste.py:1494
+#: flatcamTools/ToolSolderPaste.py:1423 flatcamTools/ToolSolderPaste.py:1428
+#: flatcamTools/ToolSolderPaste.py:1483
msgid ""
"This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object."
msgstr ""
"Acest obiect CNCJob nu poate fi procesat. Nu este un obiect CNCJob tip "
"'solder_paste_tool'."
-#: flatcamTools/ToolSolderPaste.py:1464
+#: flatcamTools/ToolSolderPaste.py:1453
msgid "No Gcode in the object"
msgstr "Nu există cod GCode in acest obiect"
-#: flatcamTools/ToolSolderPaste.py:1504
+#: flatcamTools/ToolSolderPaste.py:1493
msgid "Export GCode ..."
msgstr "Exporta GCode ..."
-#: flatcamTools/ToolSolderPaste.py:1552
+#: flatcamTools/ToolSolderPaste.py:1541
msgid "Solder paste dispenser GCode file saved to"
msgstr "Fişierul GCode pt dispensare pastă de fludor este salvat in"
@@ -16590,7 +17450,7 @@ msgstr "Fişierul GCode pt dispensare pastă de fludor este salvat in"
msgid "Gerber Objects"
msgstr "Obiecte Gerber"
-#: flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:78
msgid ""
"Gerber object from which to subtract\n"
"the subtractor Gerber object."
@@ -16598,11 +17458,11 @@ msgstr ""
"Obiectul Gerber din care se scade \n"
"obiectul Gerber substractor."
-#: flatcamTools/ToolSub.py:88 flatcamTools/ToolSub.py:140
+#: flatcamTools/ToolSub.py:91 flatcamTools/ToolSub.py:146
msgid "Subtractor"
msgstr "Substractor"
-#: flatcamTools/ToolSub.py:90
+#: flatcamTools/ToolSub.py:93
msgid ""
"Gerber object that will be subtracted\n"
"from the target Gerber object."
@@ -16610,11 +17470,11 @@ msgstr ""
"Obiectul Gerber care se scade din \n"
"obiectul Gerber tintă."
-#: flatcamTools/ToolSub.py:97
+#: flatcamTools/ToolSub.py:100
msgid "Substract Gerber"
msgstr "Execută"
-#: flatcamTools/ToolSub.py:99
+#: flatcamTools/ToolSub.py:102
msgid ""
"Will remove the area occupied by the subtractor\n"
"Gerber from the Target Gerber.\n"
@@ -16626,11 +17486,11 @@ msgstr ""
"Poate fi utilizat pt. a indepărta silkscreen-ul\n"
"care se suprapune peste soldermask."
-#: flatcamTools/ToolSub.py:117
+#: flatcamTools/ToolSub.py:120
msgid "Geometry Objects"
msgstr "Obiecte Geometrie"
-#: flatcamTools/ToolSub.py:128
+#: flatcamTools/ToolSub.py:133
msgid ""
"Geometry object from which to subtract\n"
"the subtractor Geometry object."
@@ -16638,7 +17498,7 @@ msgstr ""
"Obiectul Geometrie din care se scade \n"
"obiectul Geometrie substractor."
-#: flatcamTools/ToolSub.py:142
+#: flatcamTools/ToolSub.py:148
msgid ""
"Geometry object that will be subtracted\n"
"from the target Geometry object."
@@ -16646,18 +17506,18 @@ msgstr ""
"Obiectul Geometrie care se va scădea \n"
"din obiectul Geometrie tintă."
-#: flatcamTools/ToolSub.py:150
+#: flatcamTools/ToolSub.py:156
msgid ""
"Checking this will close the paths cut by the Geometry subtractor object."
msgstr ""
"Verificând aceasta, se vor închide căile tăiate de obiectul tăietor de tip "
"Geometrie."
-#: flatcamTools/ToolSub.py:153
+#: flatcamTools/ToolSub.py:159
msgid "Subtract Geometry"
msgstr "Scadeti Geometria"
-#: flatcamTools/ToolSub.py:155
+#: flatcamTools/ToolSub.py:161
msgid ""
"Will remove the area occupied by the subtractor\n"
"Geometry from the Target Geometry."
@@ -16665,56 +17525,56 @@ msgstr ""
"Va indepărta aria ocupată de obiectul Geometrie \n"
"substractor din obiectul Geometrie tintă."
-#: flatcamTools/ToolSub.py:262
+#: flatcamTools/ToolSub.py:263
msgid "Sub Tool"
msgstr "Unealta Scădere"
-#: flatcamTools/ToolSub.py:278 flatcamTools/ToolSub.py:483
+#: flatcamTools/ToolSub.py:284 flatcamTools/ToolSub.py:489
msgid "No Target object loaded."
msgstr "Nu este incărcat un obiect Tintă."
-#: flatcamTools/ToolSub.py:281
+#: flatcamTools/ToolSub.py:287
msgid "Loading geometry from Gerber objects."
msgstr "Se Încarcă geometria din obiectele Gerber."
-#: flatcamTools/ToolSub.py:293 flatcamTools/ToolSub.py:498
+#: flatcamTools/ToolSub.py:299 flatcamTools/ToolSub.py:504
msgid "No Subtractor object loaded."
msgstr "Nu este incărcat obiect Substractor (scăzător)."
-#: flatcamTools/ToolSub.py:325
+#: flatcamTools/ToolSub.py:331
msgid "Processing geometry from Subtractor Gerber object."
msgstr "Procesarea geometriei din obiectul Gerber Scăzător."
-#: flatcamTools/ToolSub.py:346
+#: flatcamTools/ToolSub.py:352
msgid "Parsing geometry for aperture"
msgstr "Se analizează Geometria pt apertura"
-#: flatcamTools/ToolSub.py:407
+#: flatcamTools/ToolSub.py:413
msgid "Finished parsing geometry for aperture"
msgstr "S-a terminat analiza geometriei pt apertura"
-#: flatcamTools/ToolSub.py:452 flatcamTools/ToolSub.py:655
+#: flatcamTools/ToolSub.py:458 flatcamTools/ToolSub.py:661
msgid "Generating new object ..."
msgstr "Se generează un obiect nou ..."
-#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:659
-#: flatcamTools/ToolSub.py:740
+#: flatcamTools/ToolSub.py:462 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:746
msgid "Generating new object failed."
msgstr "Generarea unui obiect nou a esuat."
-#: flatcamTools/ToolSub.py:461 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:467 flatcamTools/ToolSub.py:671
msgid "Created"
msgstr "Creat"
-#: flatcamTools/ToolSub.py:512
+#: flatcamTools/ToolSub.py:518
msgid "Currently, the Subtractor geometry cannot be of type Multigeo."
msgstr "Momentan, obiectul substractor Geometrie nu poate fi de tip Multigeo."
-#: flatcamTools/ToolSub.py:557
+#: flatcamTools/ToolSub.py:563
msgid "Parsing solid_geometry ..."
msgstr "Analizează geometria solidă..."
-#: flatcamTools/ToolSub.py:559
+#: flatcamTools/ToolSub.py:565
msgid "Parsing solid_geometry for tool"
msgstr "Se analizează Geometria pt unealta"
@@ -16722,7 +17582,7 @@ msgstr "Se analizează Geometria pt unealta"
msgid "Object Transform"
msgstr "Transformare Obiect"
-#: flatcamTools/ToolTransform.py:82
+#: flatcamTools/ToolTransform.py:79
msgid ""
"Rotate the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16732,7 +17592,7 @@ msgstr ""
"Punctul de referinţă este mijlocul \n"
"formei înconjurătoare pt toate obiectele."
-#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:122
+#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:121
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 360."
@@ -16740,7 +17600,7 @@ msgstr ""
"Valoarea unghiului de Deformare, in grade.\n"
"Ia valori Reale între -360 si 360 grade."
-#: flatcamTools/ToolTransform.py:111 flatcamTools/ToolTransform.py:133
+#: flatcamTools/ToolTransform.py:110 flatcamTools/ToolTransform.py:131
msgid ""
"Skew/shear the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16750,7 +17610,7 @@ msgstr ""
"Punctul de referinţă este mijlocul \n"
"formei înconjurătoare pt toate obiectele."
-#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:181
+#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:180
msgid ""
"Scale the selected object(s).\n"
"The point of reference depends on \n"
@@ -16760,7 +17620,7 @@ msgstr ""
"Punctul de referinţă depinde de\n"
"starea checkbox-ului >Referința Scalare<."
-#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:250
+#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:249
msgid ""
"Offset the selected object(s).\n"
"The point of reference is the middle of\n"
@@ -16770,200 +17630,621 @@ msgstr ""
"Punctul de referinţă este mijlocul formei înconjurătoare\n"
"pentru toate obiectele selectate.\n"
-#: flatcamTools/ToolTransform.py:268 flatcamTools/ToolTransform.py:274
+#: flatcamTools/ToolTransform.py:269 flatcamTools/ToolTransform.py:274
msgid "Flip the selected object(s) over the X axis."
msgstr "Oglindește obiectele selectate pe axa X."
-#: flatcamTools/ToolTransform.py:299
+#: flatcamTools/ToolTransform.py:298
msgid "Ref. Point"
msgstr "Pt. Ref"
-#: flatcamTools/ToolTransform.py:351
+#: flatcamTools/ToolTransform.py:349
msgid ""
"Create the buffer effect on each geometry,\n"
-"element from the selected object."
+"element from the selected object, using the distance."
msgstr ""
"Creați efectul buffer pe fiecare geometrie,\n"
-"element din obiectul selectat."
+"element din obiectul selectat, folosind distanta."
-#: flatcamTools/ToolTransform.py:498
+#: flatcamTools/ToolTransform.py:375
+msgid ""
+"Create the buffer effect on each geometry,\n"
+"element from the selected object, using the factor."
+msgstr ""
+"Creați efectul buffer pe fiecare geometrie,\n"
+"element din obiectul selectat, folosing un factor."
+
+#: flatcamTools/ToolTransform.py:480
+msgid "Buffer D"
+msgstr "Bufer D"
+
+#: flatcamTools/ToolTransform.py:481
+msgid "Buffer F"
+msgstr "Bufer F"
+
+#: flatcamTools/ToolTransform.py:558
msgid "Rotate transformation can not be done for a value of 0."
msgstr "Transformarea Rotire nu se poate face pentru o valoare de 0."
-#: flatcamTools/ToolTransform.py:537 flatcamTools/ToolTransform.py:560
+#: flatcamTools/ToolTransform.py:597 flatcamTools/ToolTransform.py:620
msgid "Scale transformation can not be done for a factor of 0 or 1."
msgstr "Transformarea Scalare nu se poate face pentru un factor de 0 sau 1."
-#: flatcamTools/ToolTransform.py:575 flatcamTools/ToolTransform.py:585
+#: flatcamTools/ToolTransform.py:635 flatcamTools/ToolTransform.py:645
msgid "Offset transformation can not be done for a value of 0."
msgstr "Transformarea Deplasare nu se poate face pentru o valoare de 0."
-#: flatcamTools/ToolTransform.py:608
+#: flatcamTools/ToolTransform.py:677
msgid "No object selected. Please Select an object to rotate!"
msgstr ""
"Nici-un obiect nu este selectat. Selectează un obiect pentru a fi Rotit!"
-#: flatcamTools/ToolTransform.py:636
+#: flatcamTools/ToolTransform.py:703
msgid "CNCJob objects can't be rotated."
msgstr "Obiectele tip CNCJob nu pot fi Rotite."
-#: flatcamTools/ToolTransform.py:644
+#: flatcamTools/ToolTransform.py:711
msgid "Rotate done"
msgstr "Rotaţie efectuată"
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "Due of"
msgstr "Datorită"
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "action was not executed."
msgstr "actiunea nu a fost efectuată."
-#: flatcamTools/ToolTransform.py:661
+#: flatcamTools/ToolTransform.py:726
msgid "No object selected. Please Select an object to flip"
msgstr ""
"Nici-un obiect nu este selectat. Selectează un obiect pentru a fi Oglindit"
-#: flatcamTools/ToolTransform.py:696
+#: flatcamTools/ToolTransform.py:759
msgid "CNCJob objects can't be mirrored/flipped."
msgstr "Obiectele tip CNCJob nu pot fi Oglindite."
-#: flatcamTools/ToolTransform.py:734
+#: flatcamTools/ToolTransform.py:794
msgid "Skew transformation can not be done for 0, 90 and 180 degrees."
msgstr "Transformarea Inclinare nu se poate face la 0, 90 și 180 de grade."
-#: flatcamTools/ToolTransform.py:739
+#: flatcamTools/ToolTransform.py:799
msgid "No object selected. Please Select an object to shear/skew!"
msgstr ""
"Nici-un obiect nu este selectat. Selectează un obiect pentru a fi Deformat!"
-#: flatcamTools/ToolTransform.py:761
+#: flatcamTools/ToolTransform.py:819
msgid "CNCJob objects can't be skewed."
msgstr "Obiectele tip CNCJob nu pot fi deformate."
-#: flatcamTools/ToolTransform.py:774
+#: flatcamTools/ToolTransform.py:831
msgid "Skew on the"
msgstr "Deformează pe"
-#: flatcamTools/ToolTransform.py:774 flatcamTools/ToolTransform.py:834
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:831 flatcamTools/ToolTransform.py:887
+#: flatcamTools/ToolTransform.py:919
msgid "axis done"
msgstr "axa efectuată"
-#: flatcamTools/ToolTransform.py:791
+#: flatcamTools/ToolTransform.py:846
msgid "No object selected. Please Select an object to scale!"
msgstr ""
"Nici-un obiect nu este selectat. Selectează un obiect pentru a fi Scalat!"
-#: flatcamTools/ToolTransform.py:824
+#: flatcamTools/ToolTransform.py:877
msgid "CNCJob objects can't be scaled."
msgstr "Obiectele tip CNCJob nu pot fi scalate."
-#: flatcamTools/ToolTransform.py:834
+#: flatcamTools/ToolTransform.py:887
msgid "Scale on the"
msgstr "Scalează pe"
-#: flatcamTools/ToolTransform.py:846
+#: flatcamTools/ToolTransform.py:898
msgid "No object selected. Please Select an object to offset!"
msgstr ""
"Nici-un obiect nu este selectat. Selectează un obiect pentru a fi Ofsetat!"
-#: flatcamTools/ToolTransform.py:855
+#: flatcamTools/ToolTransform.py:905
msgid "CNCJob objects can't be offset."
msgstr "Obiectele tip CNCJob nu pot fi deplasate."
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:919
msgid "Offset on the"
msgstr "Ofset pe"
-#: flatcamTools/ToolTransform.py:881
+#: flatcamTools/ToolTransform.py:929
msgid "No object selected. Please Select an object to buffer!"
msgstr ""
"Nu a fost selectat niciun obiect. Vă rugăm să selectați un obiect de "
"tamponat (buffer)"
-#: flatcamTools/ToolTransform.py:884
+#: flatcamTools/ToolTransform.py:932
msgid "Applying Buffer"
msgstr "Aplicarea tampon (Buffer)"
-#: flatcamTools/ToolTransform.py:888
+#: flatcamTools/ToolTransform.py:936
msgid "CNCJob objects can't be buffered."
msgstr "CNCJob objects can't be buffered (buffer)."
-#: flatcamTools/ToolTransform.py:905
+#: flatcamTools/ToolTransform.py:953
msgid "Buffer done"
msgstr "Buffer finalizat"
-#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73
+#: tclCommands/TclCommandBbox.py:76 tclCommands/TclCommandNregions.py:75
msgid "Expected FlatCAMGerber or FlatCAMGeometry, got"
msgstr "Se astepta un obiect FlatCAMGerber sau FlatCAMGeometry, s-a primit"
-#: tclCommands/TclCommandBounds.py:64 tclCommands/TclCommandBounds.py:68
+#: tclCommands/TclCommandBounds.py:67 tclCommands/TclCommandBounds.py:71
msgid "Expected a list of objects names separated by comma. Got"
msgstr ""
"Se aștepta o listă de nume de obiecte separate prin virgulă. S-au primit"
-#: tclCommands/TclCommandBounds.py:79
+#: tclCommands/TclCommandBounds.py:82
msgid "TclCommand Bounds done."
msgstr "TclCommand Bounds executata."
-#: tclCommands/TclCommandCopperClear.py:242 tclCommands/TclCommandPaint.py:240
-msgid "Expected -box ."
-msgstr "Asteptăm -box ."
-
-#: tclCommands/TclCommandCopperClear.py:251 tclCommands/TclCommandPaint.py:249
-#: tclCommands/TclCommandScale.py:75
+#: tclCommands/TclCommandCopperClear.py:276 tclCommands/TclCommandPaint.py:272
+#: tclCommands/TclCommandScale.py:81
msgid "Could not retrieve box object"
msgstr "Nu s-a putut incărca obiectul"
-#: tclCommands/TclCommandCopperClear.py:273
-msgid ""
-"None of the following args: 'ref', 'all' were found or none was set to 1.\n"
-"Copper clearing failed."
-msgstr ""
-"Niciunul din următoarele argumente: „ref”, „toate” nu au fost găsite sau "
-"nici unul nu a fost setat la 1.\n"
-"Curatarea de cupru a eșuat."
+#: tclCommands/TclCommandCopperClear.py:299
+msgid "Expected either -box or -all."
+msgstr "Asteptăm -box sau -all."
-#: tclCommands/TclCommandPaint.py:217
+#: tclCommands/TclCommandGeoCutout.py:148
+msgid ""
+"The name of the object for which cutout is done is missing. Add it and retry."
+msgstr ""
+"Numele obiectului pentru care se efectuează tăierea lipseste. Adaugă din nou "
+"și reîncearcă."
+
+#: tclCommands/TclCommandGeoCutout.py:190
+msgid "Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8."
+msgstr ""
+"Valoarea spatiilor poate fi doar una dintre: „Niciuna”, „lr”, „tb”, „2lr”, "
+"„2tb”, 4 sau 8."
+
+#: tclCommands/TclCommandGeoCutout.py:302
+#: tclCommands/TclCommandGeoCutout.py:360
+msgid "Any-form Cutout operation finished."
+msgstr "Operatia de tăiere cu formă liberă s-a terminat."
+
+#: tclCommands/TclCommandGeoCutout.py:366
+msgid "Cancelled. Object type is not supported."
+msgstr "Anulat. Tipul de obiect nu este acceptat."
+
+#: tclCommands/TclCommandHelp.py:74
+msgid "Available commands:"
+msgstr "Comenzi disponibile:"
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Type help for usage."
+msgstr "Introduceți help pentru utilizare."
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Example: help open_gerber"
+msgstr "Exemplu: help open_gerber"
+
+#: tclCommands/TclCommandPaint.py:244
msgid "Expected -x and -y ."
msgstr "Asteptam -x si -y ."
-#: tclCommands/TclCommandPaint.py:268
+#: tclCommands/TclCommandPaint.py:265
+msgid "Expected -box ."
+msgstr "Asteptăm -box ."
+
+#: tclCommands/TclCommandPaint.py:286
msgid ""
-"There was none of the following args: 'ref', 'single', 'all'.\n"
+"None of the following args: 'box', 'single', 'all' were used.\n"
"Paint failed."
msgstr ""
-"Nu a existat niciunul din următoarele argumente: „ref”, „single”, „all”.\n"
+"Nu s-a folosit niciunul din următoarele argumente: „box”, „single”, „all”.\n"
"Pictura nu a reușit."
-#: tclCommands/TclCommandScale.py:95
-msgid "Expected -origin or -origin or -origin ."
+#: tclCommands/TclCommandScale.py:106
+msgid ""
+"Expected -origin or -origin or -origin or - "
+"origin 3.0,4.2."
msgstr ""
-"Asteptam -origin sau -origin sau -origin ."
+"Asteptam -origin sau -origin sau -origin or -"
+"origin 3.0,4.2."
-#: tclCommands/TclCommandScale.py:104
+#: tclCommands/TclCommandScale.py:119
msgid "Expected -x -y ."
msgstr "Asteptam -x -y ."
-#: tclCommands/TclCommandSetOrigin.py:91
+#: tclCommands/TclCommandSetOrigin.py:95
msgid "Expected a pair of (x, y) coordinates. Got"
msgstr "Se așteaptă o pereche de coordonate (x, y). S-au primit"
-#: tclCommands/TclCommandSetOrigin.py:98
+#: tclCommands/TclCommandSetOrigin.py:102
msgid "Origin set by offsetting all loaded objects with "
msgstr "Originea setată prin ofsetarea tuturor obiectelor încărcate cu "
-#: tclCommands/TclCommandSubtractRectangle.py:58
+#: tclCommands/TclCommandSubtractRectangle.py:62
msgid "No Geometry name in args. Provide a name and try again."
msgstr ""
"Nici-un nume de Geometrie in argumente. Furnizați un nume și încercați din "
"nou."
+#~ msgid "Paint Tool. Normal painting all task started."
+#~ msgstr "Unealta Paint. Taskul de pictare a tuturor poligoanelor a inceput."
+
+#~ msgid "Rest machining painting all task started."
+#~ msgstr ""
+#~ "Taskul de pictare prin prelucrare 'rest' a tuturor poligoanelor a inceput."
+
+#~ msgid "Painting polygons with method: lines."
+#~ msgstr "Se pictează poligoane aflat icu metoda: linii."
+
+#~ msgid "Failed. Painting polygons with method: seed."
+#~ msgstr "Esuat. Se pictează poligoanele cu metoda: sămantă."
+
+#~ msgid "Failed. Painting polygons with method: standard."
+#~ msgstr "Esuat. Se pictează poligoanele cu metoda: standard."
+
+#~ msgid ""
+#~ "Could not do Paint All. Try a different combination of parameters. Or a "
+#~ "different Method of paint"
+#~ msgstr ""
+#~ "Nu s-a efectuat op. 'Paint' pt toate poligoanele. Incearcă o combinaţie "
+#~ "diferită de parametri. Sau încearcă o alta metoda de 'pictat'"
+
+#~ msgid "Paint Tool. Normal painting area task started."
+#~ msgstr "Unealta Paint. Taskul de pictare a unei arii a inceput."
+
+#~ msgid "Rest machining painting area task started."
+#~ msgstr ""
+#~ "Taskul de pictare a unei arii cu strategia de masinare 'rest' a inceput."
+
+#~ msgid "Executing Tcl Script ..."
+#~ msgstr "Rulează Tcl Script..."
+
+#~ msgid "Open cancelled."
+#~ msgstr "Deschidere anulată."
+
+#~ msgid "Preferences default restore was cancelled."
+#~ msgstr "Restaurarea preferințelor implicite a fost anulată."
+
+#~ msgid "FlatCAM preferences import cancelled."
+#~ msgstr "Importul preferințelor FlatCAM a eșuat."
+
+#~ msgid "FlatCAM preferences export cancelled."
+#~ msgstr "Exportul preferințelor FlatCAM este anulat."
+
+#~ msgid "Multigeo. Geometry merging finished"
+#~ msgstr "Multigeo. Fuziunea geometriei s-a terminat"
+
+#~ msgid "Units conversion cancelled."
+#~ msgstr "Conversia unitătilor este anulată."
+
+#~ msgid "Open Gerber cancelled."
+#~ msgstr "Incărcarea unui fişier Gerber este anulată."
+
+#~ msgid " Open Excellon cancelled."
+#~ msgstr " Incărcarea unui fişier Excellon este anulată."
+
+#~ msgid "Open G-Code cancelled."
+#~ msgstr "Incărcarea unui fişier G-Code este anulată."
+
+#~ msgid "Open Project cancelled."
+#~ msgstr "Incărcarea unui fişier Proiect FlatCAM este anulată."
+
+#~ msgid "Open HPGL2 file cancelled."
+#~ msgstr "Incărcarea fișierului HPGL2 a fost anulată."
+
+#~ msgid "Open Config cancelled."
+#~ msgstr "Incărcarea unui fişier configurare FlatCAM este anulată."
+
+#~ msgid " Export SVG cancelled."
+#~ msgstr " Exportul fisierului SVG a fost anulat."
+
+#~ msgid "Export PNG cancelled."
+#~ msgstr "Exportul imagine PNG este anulat."
+
+#~ msgid "No object selected. Please select an Gerber object to export."
+#~ msgstr "Nici-un obiect selectat. Selectează un obiect Gerber pentru export."
+
+#~ msgid "Save Gerber source file cancelled."
+#~ msgstr "Salvarea codului sursa Gerber este anulată."
+
+#~ msgid "No object selected. Please select an Script object to export."
+#~ msgstr "Nici-un obiect selectat. Selectează un obiect Script pentru export."
+
+#~ msgid "Save Script source file cancelled."
+#~ msgstr "Salvarea codului sursa Script este anulată."
+
+#~ msgid "No object selected. Please select an Document object to export."
+#~ msgstr ""
+#~ "Nici-un obiect selectat. Selectează un obiect Document pentru export."
+
+#~ msgid "Save Document source file cancelled."
+#~ msgstr "Salvarea codului sursa Document este anulată."
+
+#~ msgid "No object selected. Please select an Excellon object to export."
+#~ msgstr ""
+#~ "Nici-un obiect selectat. Selectează un obiect Excellon pentru export."
+
+#~ msgid "Saving Excellon source file cancelled."
+#~ msgstr "Salvarea codului sursa Excellon este anulată."
+
+#~ msgid "No object selected. Please Select an Excellon object to export."
+#~ msgstr ""
+#~ "Nici-un obiect selectat. Selectează un obiect Excellon pentru export."
+
+#~ msgid "Export Excellon cancelled."
+#~ msgstr "Exportul fișierului Excellon a fost anulat."
+
+#~ msgid "No object selected. Please Select an Gerber object to export."
+#~ msgstr "Nici-un obiect selectat. Selectează un obiect Gerber pentru export."
+
+#~ msgid "Export Gerber cancelled."
+#~ msgstr "Exportul fișierului Gerber a fost anulat."
+
+#~ msgid "Export DXF cancelled."
+#~ msgstr "Exportul fișierului DXF a fost anulat."
+
+#~ msgid "Open SVG cancelled."
+#~ msgstr "Incărcarea fișierului SVG a fost anulată."
+
+#~ msgid "Open DXF cancelled."
+#~ msgstr "Incărcarea fișierului DXF a fost anulată."
+
+#~ msgid "Open TCL script cancelled."
+#~ msgstr "Incărcarea fisierului TCL script anulată."
+
+#~ msgid "Run TCL script cancelled."
+#~ msgstr "Executarea fisierului Script a fost anulată."
+
+#~ msgid "Save Project cancelled."
+#~ msgstr "Salvarea Proiect anulată."
+
+#~ msgid "Save Object PDF cancelled."
+#~ msgstr "Salvarea obiectului PDF anulată."
+
+#~ msgid "Shows list of commands."
+#~ msgstr "Arata o lista de comenzi."
+
+#~ msgid "FlatCAM bookmarks export cancelled."
+#~ msgstr "Exportul de bookmark-uri FlatCAM este anulat."
+
+#~ msgid "FlatCAM bookmarks import cancelled."
+#~ msgstr "Importul de Bookmark-uri FlatCAM a eșuat."
+
+#~ msgid "FlatCAM Tools DB export cancelled."
+#~ msgstr "Exportul DB Unelte a fost anulat."
+
+#~ msgid "FlatCAM Tools DB import cancelled."
+#~ msgstr "Importul DB Unelte a fost anulat."
+
+#~ msgid ""
+#~ "Wrong value format for self.defaults[\"z_pdepth\"] or self."
+#~ "options[\"z_pdepth\"]"
+#~ msgstr ""
+#~ "Valoare gresita pt self.defaults[\"z_pdepth\"] sau self.options[\"z_pdepth"
+#~ "\"]"
+
+#~ msgid ""
+#~ "Wrong value format for self.defaults[\"feedrate_probe\"] or self."
+#~ "options[\"feedrate_probe\"]"
+#~ msgstr ""
+#~ "Valoare gresita pt self.defaults[\"feedrate_probe\"] sau self."
+#~ "options[\"feedrate_probe\"]"
+
+#~ msgid "Starting G-Code..."
+#~ msgstr "Pornirea G-Code ..."
+
+#~ msgid ""
+#~ "Algorithm to paint the polygon:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed."
+#~ msgstr ""
+#~ "Algoritm pentru a picta poligonul
Standard: Pas fix spre "
+#~ "interior.
Samanta: Spre exterior pornind de la un punct-samanta."
+
+#~ msgid "Seed-based"
+#~ msgstr "Punct-samanta"
+
+#~ msgid "Straight lines"
+#~ msgstr "Linii drepte"
+
+#~ msgid "Paint cancelled. No shape selected."
+#~ msgstr "Operaţie Paint anulată. Nici-o forma selectată."
+
+#~ msgid "Transformation cancelled. No shape selected."
+#~ msgstr "Transformare anulată. Nici-o formă nu este selectată."
+
+#~ msgid "Buffer cancelled. No shape selected."
+#~ msgstr ""
+#~ "Crearea de geometrie Bufer anulată. Nici-o forma geometrică nu este "
+#~ "selectată."
+
+#~ msgid "Export Code cancelled."
+#~ msgstr "Exportul Codului este anulat."
+
+#~ msgid "&Save Project ..."
+#~ msgstr "&Salvează Proiect ..."
+
+#~ msgid "Save Project C&opy ..."
+#~ msgstr "Salvează o C&opie Proiect..."
+
+#~ msgid "Change the size of the object."
+#~ msgstr "Schimbă dimensiunea obiectului."
+
+#~ msgid "Change the position of this object."
+#~ msgstr "Schimbă poziţia acestui obiect."
+
+#~ msgid "Vector"
+#~ msgstr "Vector"
+
+#~ msgid ""
+#~ "Create a CNC Job object\n"
+#~ "for this drill object."
+#~ msgstr ""
+#~ "Crează un obiect CNCJob din\n"
+#~ "acest obiect."
+
+#~ msgid ""
+#~ "Choose what to use for GCode generation:\n"
+#~ "'Drills', 'Slots' or 'Both'.\n"
+#~ "When choosing 'Slots' or 'Both', slots will be\n"
+#~ "converted to a series of drills."
+#~ msgstr ""
+#~ "Alege ce să folosești pentru generarea de G-Code:\n"
+#~ "- Găuri\n"
+#~ "- Sloturi\n"
+#~ "- Ambele\n"
+#~ "Când se alege >Sloturi< sau >Ambele<, sloturile\n"
+#~ "vor fi convertite intr-o serie de găuriri."
+
+#~ msgid "Generate the CNC Job."
+#~ msgstr "Generează un obiect CNCJob."
+
+#~ msgid "Add Tool from DataBase"
+#~ msgstr "Adăugați Unealta din DB Unelte"
+
+#~ msgid "Select a theme for FlatCAM."
+#~ msgstr "Selectați o temă pentru FlatCAM."
+
+#~ msgid "Conv."
+#~ msgstr "Conv."
+
+#~ msgid "Diameters of the cutting tools, separated by ','"
+#~ msgstr "Diametrele pentru unelte tăietoare, separate cu virgula"
+
+#~ msgid "Tools dia"
+#~ msgstr "Dia unealtă"
+
+#~ msgid "The new tool diameter (cut width) to add in the tool table."
+#~ msgstr ""
+#~ "Noul diametru al sculei (lățimea tăiată) pt adăugare în tabelul Unelte."
+
+#~ msgid ""
+#~ "Algorithm for non-copper clearing:
Standard: Fixed step inwards."
+#~ "
Seed-based: Outwards from seed.
Line-based: Parallel "
+#~ "lines."
+#~ msgstr ""
+#~ "Algoritm pt curățare de cupru:
Standard: Pas fix spre interior."
+#~ "
Punct-samanta: De la punctul samanta, spre expterior."
+#~ "
Linii drepte: Linii paralele."
+
+#~ msgid "Area"
+#~ msgstr "Aria"
+
+#~ msgid "Ref"
+#~ msgstr "Ref"
+
+#~ msgid ""
+#~ "- 'Itself' - the non copper clearing extent\n"
+#~ "is based on the object that is copper cleared.\n"
+#~ " - 'Area Selection' - left mouse click to start selection of the area to "
+#~ "be painted.\n"
+#~ "Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple "
+#~ "areas.\n"
+#~ "- 'Reference Object' - will do non copper clearing within the area\n"
+#~ "specified by another object."
+#~ msgstr ""
+#~ "- „Însuși” - suprafața de curățare a cuprului\n"
+#~ "se bazează pe obiectul care este curățat de cupru.\n"
+#~ " - „Selecție zonă” - faceți clic stânga cu mouse-ul pentru a începe "
+#~ "selecția zonei care va fi pictată.\n"
+#~ "Menținerea unei taste de modificare apăsată (CTRL sau SHIFT) va permite "
+#~ "adăugarea mai multor zone.\n"
+#~ "- „Obiect de referință” - va face o curățare fără cupru în zona\n"
+#~ "specificată de un alt obiect."
+
+#~ msgid "Sel"
+#~ msgstr "Selectează"
+
+#~ msgid "Diameters of nozzle tools, separated by ','"
+#~ msgstr "Diametrele uneltelor (nozzle), separate prin virgula."
+
+#~ msgid "Reference Gerber"
+#~ msgstr "Referință Gerber"
+
+#~ msgid "Reference Excellon"
+#~ msgstr "Referință Excellon"
+
+#~ msgid "Reference Geometry"
+#~ msgstr "Referință Geometrie"
+
+#~ msgid "Point/Box Reference"
+#~ msgstr "Referință Punct/Container"
+
+#~ msgid ""
+#~ "If 'Point' is selected above it store the coordinates (x, y) through "
+#~ "which\n"
+#~ "the mirroring axis passes.\n"
+#~ "If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or "
+#~ "Geo).\n"
+#~ "Through the center of this object pass the mirroring axis selected above."
+#~ msgstr ""
+#~ "Daca 'Punct' este selectat mai sus, atunci va stoca coordonatele (x,y) "
+#~ "prin care\n"
+#~ "axa de oglindire trece.\n"
+#~ "Daca 'Container' este selectat mai sus atunci va fi disponibila aici o "
+#~ "lista de obiecte\n"
+#~ "FlatCAM: Gerber, Excellon sau Geometrie. Prin mijocul geometric al "
+#~ "acestor obiecte\n"
+#~ "va trece axa de oglindire selectată mai sus."
+
+#~ msgid "Alignment Drill Diameter"
+#~ msgstr "Dia. găuri de aliniere"
+
+#~ msgid ""
+#~ "'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
+#~ msgstr ""
+#~ "Coord. 'Punct'-ului lipsesc. Se folosesc coord. punctului Origine (0,0) "
+#~ "ca ref. pt oglindire."
+
+#~ msgid "Export positive film cancelled."
+#~ msgstr "Exportul filmului pozitiv a fost anulat."
+
+#~ msgid "Export negative film cancelled."
+#~ msgstr "Exportul filmului negativ a fost anulat."
+
+#~ msgid "Move action cancelled."
+#~ msgstr "Actiunea de mutare a fost anulată."
+
+#~ msgid "Diameter for the new tool."
+#~ msgstr "Diametrul pt noua unealtă."
+
+#~ msgid "Create Paint Geometry"
+#~ msgstr "Crează un obiect Geometrie tip 'Paint'"
+
+#~ msgid "Paint Tool. Reading parameters."
+#~ msgstr "Unealta Paint. Se citesc parametrii."
+
+#~ msgid "Paint Tool. Rest machining painting area task started."
+#~ msgstr ""
+#~ "Unealta Paint. Taskul de pictare a unei arii cu strategia de masinare "
+#~ "'rest' a inceput."
+
+#~ msgid "Properties Tool was not displayed. No object selected."
+#~ msgstr ""
+#~ "Unealta Proprietati nu a fost afișată. Nici-un obiect nu este selectat."
+
+#~ msgid " Export PNG cancelled."
+#~ msgstr " Exportul PNG a fost anulat."
+
+#~ msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
+#~ msgstr ""
+#~ "Adăugarea unei unelte Nozzle a fost anulată. Unealta există deja in "
+#~ "Tabela de Unelte."
+
+#~ msgid ""
+#~ "None of the following args: 'ref', 'all' were found or none was set to "
+#~ "1.\n"
+#~ "Copper clearing failed."
+#~ msgstr ""
+#~ "Niciunul din următoarele argumente: „ref”, „toate” nu au fost găsite sau "
+#~ "nici unul nu a fost setat la 1.\n"
+#~ "Curatarea de cupru a eșuat."
+
#~ msgid "PostProcessor"
#~ msgstr "Postprocesor"
@@ -16994,9 +18275,6 @@ msgstr ""
#~ msgid "Optimization Time"
#~ msgstr "Durata optimizare"
-#~ msgid "Defaults"
-#~ msgstr "Val. Implicite"
-
#~ msgid "Coordinates decimals"
#~ msgstr "Coord. zecimale"
@@ -17065,9 +18343,6 @@ msgstr ""
#~ msgid "Wk. size"
#~ msgstr "Dim. Sp. Lucru"
-#~ msgid "Plot Line"
-#~ msgstr "Culoare contur"
-
#~ msgid "Sel. Fill"
#~ msgstr "Culoare Selecţie"
@@ -17104,12 +18379,6 @@ msgstr ""
#~ msgid "Project at StartUp"
#~ msgstr "Proiect la pornire"
-#~ msgid "Project AutoHide"
-#~ msgstr "Ascundere Proiect"
-
-#~ msgid "Enable ToolTips"
-#~ msgstr "Activează ToolTip-uri"
-
#~ msgid "Mouse Cursor"
#~ msgstr "Cursor de mouse"
@@ -17131,9 +18400,6 @@ msgstr ""
#~ msgid "G-code does not have a units code: either G20 or G21"
#~ msgstr "G-code nu contine codul pt unitati: G20 sau G21"
-#~ msgid "No shape selected. Select a shape to explode"
-#~ msgstr "Nicio formă selectată. Selectați o formă pentru a o exploda"
-
#~ msgid ""
#~ "- 'Rectangular' - the bounding box will be of rectangular shape.\n"
#~ " - 'Minimal' - the bounding box will be the convex hull shape."
@@ -17425,9 +18691,6 @@ msgstr ""
#~ "Valoarea de suprapunere trebuie sa ia valori intre 0 (inclusiv) si 1 "
#~ "(exclusiv), "
-#~ msgid "Single Polygon"
-#~ msgstr "Poligon unic"
-
#~ msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive)"
#~ msgstr ""
#~ "Valoarea de suprapunere trrebuie sa ia valori intre 0 (inclusiv) si 1 "
@@ -17436,9 +18699,6 @@ msgstr ""
#~ msgid "Click inside the desired polygon."
#~ msgstr "Click in interiorul poligonului care se dorește să fie 'pictat'."
-#~ msgid "Painting polygon at location"
-#~ msgstr "Se pictează poligonul aflat in pozitia"
-
#~ msgid "Program Author"
#~ msgstr "Autorul Programului"
@@ -17706,9 +18966,6 @@ msgstr ""
#~ msgid "FILE ASSOCIATIONS"
#~ msgstr "ASOCIERI FISIERE"
-#~ msgid "Advanced Param."
-#~ msgstr "Param. Avansați"
-
#~ msgid "MH"
#~ msgstr "MH"
@@ -17836,8 +19093,8 @@ msgstr ""
#~ "\n"
#~ " "
-#~ msgid "Run Script ...\tSHIFT+S"
-#~ msgstr "Rulează Script ...\tSHIFT+S"
+#~ msgid "Run Script ...\tShift+S"
+#~ msgstr "Rulează Script ...\tShift+S"
#~ msgid ""
#~ "FlatCAM
Version {version} {beta} ({date}) - "
@@ -18010,39 +19267,39 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Select All | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Copy Obj | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Open Excellon File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Open Gerber File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " New Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Open Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Project As | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Toggle Plot Area | \n"
#~ "
\n"
#~ " \n"
@@ -18050,39 +19307,39 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Copy Obj_Name | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Toggle Code Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Toggle the axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Open Preferences Window | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Rotate by 90 degree CCW | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Run a Script | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Toggle the workspace | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18090,59 +19347,59 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Calculators Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " 2-Sided PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Solder Paste Dispensing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Film PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Non-Copper Clearing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Paint Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " PDF Import Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformations Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " View File Source | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Cutout PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Enable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Disable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Disable Non-selected Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Toggle Full Screen | \n"
#~ "
\n"
#~ " \n"
@@ -18150,7 +19407,7 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+ALT+X"
+#~ " | Ctrl+Alt+X"
#~ "td>\n"
#~ " | Abort current task (gracefully) | \n"
#~ "
\n"
@@ -18304,39 +19561,39 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Selectează Tot | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Copiază Obiect | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Deschide fişier Excellon | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Deschide fişier Gerber | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " Proiect Nou | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Unealta de Masurare | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Deschide Proiect | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Salvează Proiect ca | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Comută Aria de Afișare | \n"
#~ "
\n"
#~ " \n"
@@ -18344,39 +19601,39 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Copiază Nume Obiect | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Comută Editor Cod | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Comută Axele | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Deschide Preferințe | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Rotește cu 90 grade CCW | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Rulează un Script | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Comută Spatiul de Lucru | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Deformează pe axa X | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Deformează pe axa Y | \n"
#~ "
\n"
#~ " \n"
@@ -18384,60 +19641,60 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Unealta Calculatoare | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " Unealta 2-Layer | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Unealta Dispensare Pasta Fludor | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Unealta Film PCB | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Unealta de curățare zone cupru | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Unealta Paint | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " Unealta de import PDF | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Unealta Transformări | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " Vizualiz. Codul Sursa | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Unealta de Decupare | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Activează toate Afișările | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Dezactivează toate afişările/td>\n"
#~ " |
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Dezactivează toate afişările "
#~ "neselectate | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Comută Full Screen | \n"
#~ "
\n"
#~ " \n"
@@ -18445,7 +19702,7 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+ALT+X"
+#~ " | Ctrl+Alt+X"
#~ "td>\n"
#~ " | Anuleaza taskul curent | \n"
#~ "
\n"
@@ -18580,11 +19837,11 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18592,15 +19849,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18608,15 +19865,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18708,7 +19965,7 @@ msgstr ""
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18796,11 +20053,11 @@ msgstr ""
#~ " Abort and return to Select | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Eraser Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18808,15 +20065,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Mark Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Poligonize Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformation Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18915,11 +20172,11 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Deformeaza pe axa X | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Deformeaza pe axa Y | \n"
#~ "
\n"
#~ " \n"
@@ -18927,15 +20184,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Unealta Transformare din Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Deplaseaza pe axa X | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Deplaseaza pe axa Y | \n"
#~ "
\n"
#~ " \n"
@@ -18943,15 +20200,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Unealta de masurare | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Inchide Editorul | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Unealta de Decupare Poligoane | \n"
#~ "
\n"
#~ " \n"
@@ -19048,7 +20305,7 @@ msgstr ""
#~ "Selectie\n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Inchide Editorul | \n"
#~ "
\n"
#~ " \n"
@@ -19134,11 +20391,11 @@ msgstr ""
#~ "td>\n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Unealta Radieră | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Inchide Editorul | \n"
#~ "
\n"
#~ " \n"
@@ -19146,15 +20403,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Unealta Marcare Arii | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Unealta Poligonizare | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Unealta Transformare | \n"
#~ "
\n"
#~ " \n"
@@ -19929,9 +21186,6 @@ msgstr ""
#~ msgid "Save &Defaults"
#~ msgstr "Salvează valori &Default"
-#~ msgid "Line"
-#~ msgstr "Linie"
-
#~ msgid "Tool dia: "
#~ msgstr "Dia Unealtă:"
@@ -20087,11 +21341,11 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20099,15 +21353,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -20115,15 +21369,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -20205,7 +21459,7 @@ msgstr ""
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -20294,11 +21548,11 @@ msgstr ""
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Deformează forma geo pe axa X/td>\n"
#~ " |
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Deformează forma geo pe axa Y | \n"
#~ "
\n"
#~ " \n"
@@ -20306,15 +21560,15 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Unealta de Trasformări din Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Deplasează forma geo pe axa X | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Deplasează forma geo pe axa Y | \n"
#~ "
\n"
#~ " \n"
@@ -20322,16 +21576,16 @@ msgstr ""
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Unealta de Masurare | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Salvează obiectul și ieși din Editor"
#~ "td>\n"
#~ " |
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Unealta de tăiere Poligoane | \n"
#~ "
\n"
#~ " \n"
@@ -20415,7 +21669,7 @@ msgstr ""
#~ " | Renunta și intoarce-te la Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Salvează obiectul și ieși din Editor"
#~ "td>\n"
#~ " |
\n"
diff --git a/locale/ru/LC_MESSAGES/strings.po b/locale/ru/LC_MESSAGES/strings.po
index 45b2e9ec..9bd41bb0 100644
--- a/locale/ru/LC_MESSAGES/strings.po
+++ b/locale/ru/LC_MESSAGES/strings.po
@@ -5210,8 +5210,8 @@ msgid "File"
msgstr "Файл"
#: flatcamGUI/FlatCAMGUI.py:69
-msgid "&New Project ...\tCTRL+N"
-msgstr "&Новый проект ...\tCTRL+N"
+msgid "&New Project ...\tCtrl+N"
+msgstr "&Новый проект ...\tCtrl+N"
#: flatcamGUI/FlatCAMGUI.py:71
msgid "Will create a new, blank project"
@@ -5263,12 +5263,12 @@ msgid "Open &Project ..."
msgstr "Открыть &проект..."
#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121
-msgid "Open &Gerber ...\tCTRL+G"
-msgstr "Открыть &Gerber...\tCTRL+G"
+msgid "Open &Gerber ...\tCtrl+G"
+msgstr "Открыть &Gerber...\tCtrl+G"
#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126
-msgid "Open &Excellon ...\tCTRL+E"
-msgstr "Открыть &Excellon ...\tCTRL+E"
+msgid "Open &Excellon ...\tCtrl+E"
+msgstr "Открыть &Excellon ...\tCtrl+E"
#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131
msgid "Open G-&Code ..."
@@ -5419,8 +5419,8 @@ msgid "&Save Project ..."
msgstr "&Сохранить проект ..."
#: flatcamGUI/FlatCAMGUI.py:256
-msgid "Save Project &As ...\tCTRL+S"
-msgstr "Сохранить проект &как ...\tCTRL+S"
+msgid "Save Project &As ...\tCtrl+S"
+msgstr "Сохранить проект &как ...\tCtrl+S"
#: flatcamGUI/FlatCAMGUI.py:261
msgid "Save Project C&opy ..."
@@ -5440,8 +5440,8 @@ msgid "Edit Object\tE"
msgstr "Редактировать объект\tE"
#: flatcamGUI/FlatCAMGUI.py:285
-msgid "Close Editor\tCTRL+S"
-msgstr "Закрыть редактор\tCTRL+S"
+msgid "Close Editor\tCtrl+S"
+msgstr "Закрыть редактор\tCtrl+S"
#: flatcamGUI/FlatCAMGUI.py:294
msgid "Conversion"
@@ -5517,8 +5517,8 @@ msgid "Convert Any to Gerber"
msgstr "Конвертировать любой объект в Gerber"
#: flatcamGUI/FlatCAMGUI.py:341
-msgid "&Copy\tCTRL+C"
-msgstr "&Копировать\tCTRL+C"
+msgid "&Copy\tCtrl+C"
+msgstr "&Копировать\tCtrl+C"
#: flatcamGUI/FlatCAMGUI.py:346
msgid "&Delete\tDEL"
@@ -5537,28 +5537,28 @@ msgid "Toggle Units\tQ"
msgstr "Единицы измерения\tQ"
#: flatcamGUI/FlatCAMGUI.py:360
-msgid "&Select All\tCTRL+A"
-msgstr "&Выбрать все\tCTRL+A"
+msgid "&Select All\tCtrl+A"
+msgstr "&Выбрать все\tCtrl+A"
#: flatcamGUI/FlatCAMGUI.py:365
-msgid "&Preferences\tSHIFT+P"
-msgstr "&Настройки\tSHIFT+P"
+msgid "&Preferences\tShift+P"
+msgstr "&Настройки\tShift+P"
#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153
msgid "Options"
msgstr "Опции"
#: flatcamGUI/FlatCAMGUI.py:373
-msgid "&Rotate Selection\tSHIFT+(R)"
-msgstr "&Вращение\tSHIFT+(R)"
+msgid "&Rotate Selection\tShift+(R)"
+msgstr "&Вращение\tShift+(R)"
#: flatcamGUI/FlatCAMGUI.py:378
-msgid "&Skew on X axis\tSHIFT+X"
-msgstr "&Наклон по оси X\tSHIFT+X"
+msgid "&Skew on X axis\tShift+X"
+msgstr "&Наклон по оси X\tShift+X"
#: flatcamGUI/FlatCAMGUI.py:380
-msgid "S&kew on Y axis\tSHIFT+Y"
-msgstr "Н&аклон по оси Y\tSHIFT+Y"
+msgid "S&kew on Y axis\tShift+Y"
+msgstr "Н&аклон по оси Y\tShift+Y"
#: flatcamGUI/FlatCAMGUI.py:385
msgid "Flip on &X axis\tX"
@@ -5569,28 +5569,28 @@ msgid "Flip on &Y axis\tY"
msgstr "Отразить по оси &Y\tY"
#: flatcamGUI/FlatCAMGUI.py:392
-msgid "View source\tALT+S"
-msgstr "Просмотреть код\tALT+S"
+msgid "View source\tAlt+S"
+msgstr "Просмотреть код\tAlt+S"
#: flatcamGUI/FlatCAMGUI.py:394
-msgid "Tools DataBase\tCTRL+D"
-msgstr "База данных\tCTRL+D"
+msgid "Tools DataBase\tCtrl+D"
+msgstr "База данных\tCtrl+D"
#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060
msgid "View"
msgstr "Вид"
#: flatcamGUI/FlatCAMGUI.py:403
-msgid "Enable all plots\tALT+1"
-msgstr "Включить все участки\tALT+1"
+msgid "Enable all plots\tAlt+1"
+msgstr "Включить все участки\tAlt+1"
#: flatcamGUI/FlatCAMGUI.py:405
-msgid "Disable all plots\tALT+2"
-msgstr "Отключить все участки\tALT+2"
+msgid "Disable all plots\tAlt+2"
+msgstr "Отключить все участки\tAlt+2"
#: flatcamGUI/FlatCAMGUI.py:407
-msgid "Disable non-selected\tALT+3"
-msgstr "Отключить не выбранные\tALT+3"
+msgid "Disable non-selected\tAlt+3"
+msgstr "Отключить не выбранные\tAlt+3"
#: flatcamGUI/FlatCAMGUI.py:411
msgid "&Zoom Fit\tV"
@@ -5609,16 +5609,16 @@ msgid "Redraw All\tF5"
msgstr "Перерисовать всё\tF5"
#: flatcamGUI/FlatCAMGUI.py:424
-msgid "Toggle Code Editor\tSHIFT+E"
-msgstr "Переключить редактор кода\tSHIFT+E"
+msgid "Toggle Code Editor\tShift+E"
+msgstr "Переключить редактор кода\tShift+E"
#: flatcamGUI/FlatCAMGUI.py:427
-msgid "&Toggle FullScreen\tALT+F10"
-msgstr "&Во весь экран\tALT+F10"
+msgid "&Toggle FullScreen\tAlt+F10"
+msgstr "&Во весь экран\tAlt+F10"
#: flatcamGUI/FlatCAMGUI.py:429
-msgid "&Toggle Plot Area\tCTRL+F10"
-msgstr "&Рабочая область\tCTRL+F10"
+msgid "&Toggle Plot Area\tCtrl+F10"
+msgstr "&Рабочая область\tCtrl+F10"
#: flatcamGUI/FlatCAMGUI.py:431
msgid "&Toggle Project/Sel/Tool\t`"
@@ -5629,16 +5629,21 @@ msgid "&Toggle Grid Snap\tG"
msgstr "&Привязка к сетке\tG"
#: flatcamGUI/FlatCAMGUI.py:437
+<<<<<<< HEAD
msgid "&Toggle Grid Lines\tALT+G"
msgstr "&Сетка вкл/откл\tALT+G"
+=======
+msgid "&Toggle Grid Lines\tAlt+G"
+msgstr "&Переключить линии сетки \tAlt+G"
+>>>>>>> remotes/jpcgt/flatcam/Beta
#: flatcamGUI/FlatCAMGUI.py:439
-msgid "&Toggle Axis\tSHIFT+G"
-msgstr "&Оси\tSHIFT+G"
+msgid "&Toggle Axis\tShift+G"
+msgstr "&Оси\tShift+G"
#: flatcamGUI/FlatCAMGUI.py:441
-msgid "Toggle Workspace\tSHIFT+W"
-msgstr "Границы рабочего пространства\tSHIFT+W"
+msgid "Toggle Workspace\tShift+W"
+msgstr "Границы рабочего пространства\tShift+W"
#: flatcamGUI/FlatCAMGUI.py:446
msgid "Objects"
@@ -5737,8 +5742,8 @@ msgid "Paint Tool\tI"
msgstr "Рисование\tI"
#: flatcamGUI/FlatCAMGUI.py:543
-msgid "Transform Tool\tALT+R"
-msgstr "Трансформация\tALT+R"
+msgid "Transform Tool\tAlt+R"
+msgstr "Трансформация\tAlt+R"
#: flatcamGUI/FlatCAMGUI.py:547
msgid "Toggle Corner Snap\tK"
@@ -5801,8 +5806,8 @@ msgid "Add Region\tN"
msgstr "Добавить регион\tN"
#: flatcamGUI/FlatCAMGUI.py:598
-msgid "Poligonize\tALT+N"
-msgstr "Полигонизация\tALT+N"
+msgid "Poligonize\tAlt+N"
+msgstr "Полигонизация\tAlt+N"
#: flatcamGUI/FlatCAMGUI.py:600
msgid "Add SemiDisc\tE"
@@ -5821,16 +5826,16 @@ msgid "Scale\tS"
msgstr "Масштабировать\tS"
#: flatcamGUI/FlatCAMGUI.py:608
-msgid "Mark Area\tALT+A"
-msgstr "Обозначить области\tALT+A"
+msgid "Mark Area\tAlt+A"
+msgstr "Обозначить области\tAlt+A"
#: flatcamGUI/FlatCAMGUI.py:610
-msgid "Eraser\tCTRL+E"
-msgstr "Ластик\tCTRL+E"
+msgid "Eraser\tCtrl+E"
+msgstr "Ластик\tCtrl+E"
#: flatcamGUI/FlatCAMGUI.py:612
-msgid "Transform\tALT+R"
-msgstr "Трансформировать\tALT+R"
+msgid "Transform\tAlt+R"
+msgstr "Трансформировать\tAlt+R"
#: flatcamGUI/FlatCAMGUI.py:639
msgid "Enable Plot"
@@ -13903,7 +13908,7 @@ msgid ""
"\n"
"The coordinates set can be obtained:\n"
"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the "
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the "
"field.\n"
"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the "
"field and click Paste.\n"
@@ -17736,8 +17741,8 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ msgid "[success] Paint done."
#~ msgstr "[success] Окраска выполнена."
-#~ msgid "Run Script ...\tSHIFT+S"
-#~ msgstr "Выполнить сценарий ...\tSHIFT+S"
+#~ msgid "Run Script ...\tShift+S"
+#~ msgstr "Выполнить сценарий ...\tShift+S"
#~ msgid "About"
#~ msgstr "О программе"
@@ -17853,39 +17858,39 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Select All | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Copy Obj | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Open Excellon File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Open Gerber File | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " New Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Open Project | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Project As | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Toggle Plot Area | \n"
#~ "
\n"
#~ " \n"
@@ -17893,39 +17898,39 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Copy Obj_Name | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Toggle Code Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Toggle the axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Open Preferences Window | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Rotate by 90 degree CCW | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Run a Script | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Toggle the workspace | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -17933,59 +17938,59 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Calculators Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " 2-Sided PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Solder Paste Dispensing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Film PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Non-Copper Clearing Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Paint Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " PDF Import Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformations Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " View File Source | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Cutout PCB Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Enable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Disable all Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Disable Non-selected Plots | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Toggle Full Screen | \n"
#~ "
\n"
#~ " \n"
@@ -17993,7 +17998,7 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+ALT+X"
+#~ " | Ctrl+Alt+X"
#~ "td>\n"
#~ " | Abort current task (gracefully) | \n"
#~ "
\n"
@@ -18151,39 +18156,39 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+A | \n"
+#~ " Ctrl+A | \n"
#~ " Выбрать всё | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+C | \n"
+#~ " Ctrl+C | \n"
#~ " Копировать | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Открыть Excellon | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+G | \n"
+#~ " Ctrl+G | \n"
#~ " Открыть Gerber | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+N | \n"
+#~ " Ctrl+N | \n"
#~ " Новый проект | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Измеритель | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+O | \n"
+#~ " Ctrl+O | \n"
#~ " Открыть проект | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Сохранить проект как | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+F10 | \n"
+#~ " Ctrl+F10 | \n"
#~ " Переключить рабочую область | \n"
#~ "
\n"
#~ " \n"
@@ -18191,40 +18196,40 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+C | \n"
+#~ " Shift+C | \n"
#~ " Копировать имя объекта | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+E | \n"
+#~ " Shift+E | \n"
#~ " Редактор кода | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+G | \n"
+#~ " Shift+G | \n"
#~ " Оси | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+P | \n"
+#~ " Shift+P | \n"
#~ " Настройки | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+R | \n"
+#~ " Shift+R | \n"
#~ " Поворот на 90 градусов против часовой "
#~ "стрелки | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+S | \n"
+#~ " Shift+S | \n"
#~ " Выполнить сценарий | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+W | \n"
+#~ " Shift+W | \n"
#~ " Границы рабочего пространства | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Наклон по оси X | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Наклон по оси Y | \n"
#~ "
\n"
#~ " \n"
@@ -18232,59 +18237,59 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+C | \n"
+#~ " Alt+C | \n"
#~ " Калькуляторы | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+D | \n"
+#~ " Alt+D | \n"
#~ " 2-х сторонняя плата | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+K | \n"
+#~ " Alt+K | \n"
#~ " Паяльная паста | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+L | \n"
+#~ " Alt+L | \n"
#~ " Плёнка | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Очистка от меди | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+P | \n"
+#~ " Alt+P | \n"
#~ " Область рисования | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Q | \n"
+#~ " Alt+Q | \n"
#~ " Импорт PDF | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Трансформация | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+S | \n"
+#~ " Alt+S | \n"
#~ " Просмотреть код | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+U | \n"
+#~ " Alt+U | \n"
#~ " Обрезка платы | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+1 | \n"
+#~ " Alt+1 | \n"
#~ " Включить все участки | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+2 | \n"
+#~ " Alt+2 | \n"
#~ " Отключить все участки | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+3 | \n"
+#~ " Alt+3 | \n"
#~ " Отключить не выбранные | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+F10 | \n"
+#~ " Alt+F10 | \n"
#~ " Во весь экран | \n"
#~ "
\n"
#~ " \n"
@@ -18418,11 +18423,11 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Skew shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Skew shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18430,15 +18435,15 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Editor Transformation Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Offset shape on X axis | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Offset shape on Y axis | \n"
#~ "
\n"
#~ " \n"
@@ -18446,15 +18451,15 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Measurement Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Polygon Cut Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18546,7 +18551,7 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | Abort and return to Select | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18634,11 +18639,11 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " Abort and return to Select | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Eraser Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Save Object and Exit Editor | \n"
#~ "
\n"
#~ " \n"
@@ -18646,15 +18651,15 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Mark Area Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Poligonize Tool | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Transformation Tool | \n"
#~ "
\n"
#~ " \n"
@@ -18753,11 +18758,11 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | SHIFT+X | \n"
+#~ " Shift+X | \n"
#~ " Наклонить форму по оси X | \n"
#~ "
\n"
#~ " \n"
-#~ " | SHIFT+Y | \n"
+#~ " Shift+Y | \n"
#~ " Наклонить форму по оси Y | \n"
#~ "
\n"
#~ " \n"
@@ -18765,15 +18770,15 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Трансформация | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+X | \n"
+#~ " Alt+X | \n"
#~ " Смещение формы по оси X | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+Y | \n"
+#~ " Alt+Y | \n"
#~ " Смещение формы по оси Y | \n"
#~ "
\n"
#~ " \n"
@@ -18781,16 +18786,16 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+M | \n"
+#~ " Ctrl+M | \n"
#~ " Измеритель | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Сохранить объект и закрыть редактор"
#~ "td>\n"
#~ " |
\n"
#~ " \n"
-#~ " | CTRL+X | \n"
+#~ " Ctrl+X | \n"
#~ " Обрезка полигонов | \n"
#~ "
\n"
#~ " \n"
@@ -18886,7 +18891,7 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | Прервать и вернуться к выбору | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Сохранить объект и закрыть редактор"
#~ "td>\n"
#~ " |
\n"
@@ -18976,11 +18981,11 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " Прервать и вернуться к выбору | \n"
#~ " \n"
#~ " \n"
-#~ " | CTRL+E | \n"
+#~ " Ctrl+E | \n"
#~ " Ластик | \n"
#~ "
\n"
#~ " \n"
-#~ " | CTRL+S | \n"
+#~ " Ctrl+S | \n"
#~ " Сохранить объект и закрыть редактор"
#~ "td>\n"
#~ " |
\n"
@@ -18989,15 +18994,15 @@ msgstr "Нет имени геометрии в аргументах. Укажи
#~ " | \n"
#~ " \n"
#~ " \n"
-#~ " | ALT+A | \n"
+#~ " Alt+A | \n"
#~ " Обозначить области | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+N | \n"
+#~ " Alt+N | \n"
#~ " Полигонизация | \n"
#~ "
\n"
#~ " \n"
-#~ " | ALT+R | \n"
+#~ " Alt+R | \n"
#~ " Трансформация | \n"
#~ "
\n"
#~ " \n"
diff --git a/locale_template/strings.pot b/locale_template/strings.pot
index 50ee46f4..0856f258 100644
--- a/locale_template/strings.pot
+++ b/locale_template/strings.pot
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2019-12-28 23:09+0400\n"
+"POT-Creation-Date: 2020-04-24 21:10+0300\n"
"PO-Revision-Date: 2019-03-25 15:08+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: pygettext.py 1.5\n"
-"X-Generator: Poedit 2.2.3\n"
+"X-Generator: Poedit 2.2.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-SearchPath-0: .\n"
@@ -23,283 +23,307 @@ msgstr ""
"X-Poedit-SearchPathExcluded-1: doc\n"
"X-Poedit-SearchPathExcluded-2: tests\n"
-#: FlatCAMApp.py:1040
+#: FlatCAMApp.py:784 FlatCAMApp.py:816 FlatCAMCommon.py:1925 FlatCAMCommon.py:2040
+#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamEditors/FlatCAMGeoEditor.py:570
+#: flatcamEditors/FlatCAMGeoEditor.py:5152 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431 flatcamTools/ToolNCC.py:2401
+#: flatcamTools/ToolNCC.py:2429 flatcamTools/ToolNCC.py:2699 flatcamTools/ToolNCC.py:2731
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:1836
+#: tclCommands/TclCommandCopperClear.py:128 tclCommands/TclCommandCopperClear.py:136
+#: tclCommands/TclCommandPaint.py:127
+msgid "Seed"
+msgstr ""
+
+#: FlatCAMApp.py:790 flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:7695
+#: flatcamTools/ToolCopperThieving.py:126 flatcamTools/ToolNCC.py:535
+#: flatcamTools/ToolNCC.py:1299 flatcamTools/ToolNCC.py:1638 flatcamTools/ToolNCC.py:1919
+#: flatcamTools/ToolNCC.py:1983 flatcamTools/ToolNCC.py:2967 flatcamTools/ToolNCC.py:2976
+#: tclCommands/TclCommandCopperClear.py:190
+msgid "Itself"
+msgstr ""
+
+#: FlatCAMApp.py:817 flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:1415 tclCommands/TclCommandPaint.py:162
+msgid "All Polygons"
+msgstr ""
+
+#: FlatCAMApp.py:1124
msgid "FlatCAM is initializing ..."
msgstr ""
-#: FlatCAMApp.py:1669
+#: FlatCAMApp.py:1809
msgid "Could not find the Language files. The App strings are missing."
msgstr ""
-#: FlatCAMApp.py:1763
+#: FlatCAMApp.py:1903
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started."
msgstr ""
-#: FlatCAMApp.py:1781
+#: FlatCAMApp.py:1923
msgid ""
"FlatCAM is initializing ...\n"
"Canvas initialization started.\n"
"Canvas initialization finished in"
msgstr ""
-#: FlatCAMApp.py:2401
-msgid ""
-"Type >help< to get started\n"
-"\n"
+#: FlatCAMApp.py:2565 flatcamGUI/GUIElements.py:2592
+msgid "Type >help< to get started"
msgstr ""
-#: FlatCAMApp.py:2627 FlatCAMApp.py:9020
+#: FlatCAMApp.py:2817 FlatCAMApp.py:9393
msgid "New Project - Not saved"
msgstr ""
-#: FlatCAMApp.py:2702 FlatCAMApp.py:9088 FlatCAMApp.py:9125 FlatCAMApp.py:9166
-#: FlatCAMApp.py:9237 FlatCAMApp.py:9991 FlatCAMApp.py:11174 FlatCAMApp.py:11233
-msgid ""
-"Canvas initialization started.\n"
-"Canvas initialization finished in"
-msgstr ""
-
-#: FlatCAMApp.py:2704
-msgid "Executing Tcl Script ..."
-msgstr ""
-
-#: FlatCAMApp.py:2719
+#: FlatCAMApp.py:2913
msgid "Found old default preferences files. Please reboot the application to update."
msgstr ""
-#: FlatCAMApp.py:2763 ObjectCollection.py:90 flatcamTools/ToolImage.py:248
-#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324
-msgid "Open cancelled."
+#: FlatCAMApp.py:2964 FlatCAMApp.py:3884 FlatCAMApp.py:3933 FlatCAMApp.py:3988
+#: FlatCAMApp.py:4063 FlatCAMApp.py:6111 FlatCAMApp.py:9477 FlatCAMApp.py:9514
+#: FlatCAMApp.py:9556 FlatCAMApp.py:9585 FlatCAMApp.py:9625 FlatCAMApp.py:9650
+#: FlatCAMApp.py:9702 FlatCAMApp.py:9738 FlatCAMApp.py:9784 FlatCAMApp.py:9825
+#: FlatCAMApp.py:9866 FlatCAMApp.py:9907 FlatCAMApp.py:9948 FlatCAMApp.py:9992
+#: FlatCAMApp.py:10048 FlatCAMApp.py:10080 FlatCAMApp.py:10112 FlatCAMApp.py:10349
+#: FlatCAMApp.py:10393 FlatCAMApp.py:10470 FlatCAMApp.py:10525 FlatCAMCommon.py:371
+#: FlatCAMCommon.py:413 FlatCAMCommon.py:1107 FlatCAMCommon.py:1153 FlatCAMCommon.py:2537
+#: FlatCAMCommon.py:2583 ObjectCollection.py:122 flatcamEditors/FlatCAMExcEditor.py:1024
+#: flatcamEditors/FlatCAMExcEditor.py:1092 flatcamEditors/FlatCAMTextEditor.py:223
+#: flatcamGUI/FlatCAMGUI.py:3389 flatcamGUI/FlatCAMGUI.py:3601 flatcamGUI/FlatCAMGUI.py:3812
+#: flatcamTools/ToolFilm.py:754 flatcamTools/ToolFilm.py:900 flatcamTools/ToolImage.py:247
+#: flatcamTools/ToolMove.py:270 flatcamTools/ToolPcbWizard.py:301
+#: flatcamTools/ToolPcbWizard.py:324 flatcamTools/ToolQRCode.py:791
+#: flatcamTools/ToolQRCode.py:838
+msgid "Cancelled."
msgstr ""
-#: FlatCAMApp.py:2779
+#: FlatCAMApp.py:2980
msgid "Open Config file failed."
msgstr ""
-#: FlatCAMApp.py:2794
+#: FlatCAMApp.py:2995
msgid "Open Script file failed."
msgstr ""
-#: FlatCAMApp.py:2820
+#: FlatCAMApp.py:3021
msgid "Open Excellon file failed."
msgstr ""
-#: FlatCAMApp.py:2833
+#: FlatCAMApp.py:3034
msgid "Open GCode file failed."
msgstr ""
-#: FlatCAMApp.py:2846
+#: FlatCAMApp.py:3047
msgid "Open Gerber file failed."
msgstr ""
-#: FlatCAMApp.py:3201
+#: FlatCAMApp.py:3424
msgid "Select a Geometry, Gerber or Excellon Object to edit."
msgstr ""
-#: FlatCAMApp.py:3216
+#: FlatCAMApp.py:3439
msgid ""
"Simultaneous editing of tools geometry in a MultiGeo Geometry is not possible.\n"
"Edit only one geometry at a time."
msgstr ""
-#: FlatCAMApp.py:3271
+#: FlatCAMApp.py:3497
msgid "Editor is activated ..."
msgstr ""
-#: FlatCAMApp.py:3292
+#: FlatCAMApp.py:3518
msgid "Do you want to save the edited object?"
msgstr ""
-#: FlatCAMApp.py:3293 flatcamGUI/FlatCAMGUI.py:2165
+#: FlatCAMApp.py:3519 flatcamGUI/FlatCAMGUI.py:2273
msgid "Close Editor"
msgstr ""
-#: FlatCAMApp.py:3296 FlatCAMApp.py:4014 FlatCAMApp.py:5067 FlatCAMApp.py:7724
-#: FlatCAMApp.py:7750 FlatCAMApp.py:8927 FlatCAMTranslation.py:108 FlatCAMTranslation.py:193
+#: FlatCAMApp.py:3522 FlatCAMApp.py:5163 FlatCAMApp.py:8023 FlatCAMApp.py:8049
+#: FlatCAMApp.py:9298 FlatCAMTranslation.py:108 FlatCAMTranslation.py:199
+#: flatcamGUI/FlatCAMGUI.py:2479
msgid "Yes"
msgstr ""
-#: FlatCAMApp.py:3297 FlatCAMApp.py:4015 FlatCAMApp.py:5068 FlatCAMApp.py:7725
-#: FlatCAMApp.py:7751 FlatCAMApp.py:8928 FlatCAMTranslation.py:109 FlatCAMTranslation.py:194
-#: flatcamGUI/PreferencesUI.py:5139 flatcamGUI/PreferencesUI.py:5554
-#: flatcamTools/ToolNonCopperClear.py:189 flatcamTools/ToolPaint.py:161
+#: FlatCAMApp.py:3523 FlatCAMApp.py:5164 FlatCAMApp.py:8024 FlatCAMApp.py:8050
+#: FlatCAMApp.py:9299 FlatCAMTranslation.py:109 FlatCAMTranslation.py:200
+#: flatcamGUI/FlatCAMGUI.py:2480 flatcamGUI/PreferencesUI.py:5443
+#: flatcamGUI/PreferencesUI.py:5989 flatcamTools/ToolNCC.py:182
+#: flatcamTools/ToolPaint.py:166
msgid "No"
msgstr ""
-#: FlatCAMApp.py:3298 FlatCAMApp.py:5069 FlatCAMApp.py:5925 FlatCAMApp.py:7006
-#: FlatCAMApp.py:8929 FlatCAMCommon.py:571 flatcamGUI/FlatCAMGUI.py:1260
+#: FlatCAMApp.py:3524 FlatCAMApp.py:5165 FlatCAMApp.py:6049 FlatCAMApp.py:7000
+#: FlatCAMApp.py:9300 FlatCAMCommon.py:572 FlatCAMCommon.py:2127
+#: flatcamGUI/FlatCAMGUI.py:1332
msgid "Cancel"
msgstr ""
-#: FlatCAMApp.py:3326
+#: FlatCAMApp.py:3556
msgid "Object empty after edit."
msgstr ""
-#: FlatCAMApp.py:3375 FlatCAMApp.py:3395 FlatCAMApp.py:3410
+#: FlatCAMApp.py:3560 FlatCAMApp.py:3581 FlatCAMApp.py:3603
+msgid "Editor exited. Editor content saved."
+msgstr ""
+
+#: FlatCAMApp.py:3607 FlatCAMApp.py:3630 FlatCAMApp.py:3648
msgid "Select a Gerber, Geometry or Excellon Object to update."
msgstr ""
-#: FlatCAMApp.py:3379
+#: FlatCAMApp.py:3610
msgid "is updated, returning to App..."
msgstr ""
-#: FlatCAMApp.py:3774 FlatCAMApp.py:3888 FlatCAMApp.py:4929
+#: FlatCAMApp.py:3617
+msgid "Editor exited. Editor content was not saved."
+msgstr ""
+
+#: FlatCAMApp.py:3810 FlatCAMApp.py:3941 FlatCAMApp.py:5012
msgid "Could not load defaults file."
msgstr ""
-#: FlatCAMApp.py:3786 FlatCAMApp.py:3896 FlatCAMApp.py:4938
+#: FlatCAMApp.py:3822 FlatCAMApp.py:3949 FlatCAMApp.py:5021
msgid "Failed to parse defaults file."
msgstr ""
-#: FlatCAMApp.py:3831
-msgid "Preferences default restore was cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:3839 FlatCAMApp.py:5017
+#: FlatCAMApp.py:3892 FlatCAMApp.py:5113
msgid "Could not load factory defaults file."
msgstr ""
-#: FlatCAMApp.py:3847 FlatCAMApp.py:5027
+#: FlatCAMApp.py:3900 FlatCAMApp.py:5123
msgid "Failed to parse factory defaults file."
msgstr ""
-#: FlatCAMApp.py:3855
+#: FlatCAMApp.py:3908
msgid "Preferences default values are restored."
msgstr ""
-#: FlatCAMApp.py:3870 FlatCAMApp.py:3874
+#: FlatCAMApp.py:3923 FlatCAMApp.py:3927
msgid "Import FlatCAM Preferences"
msgstr ""
-#: FlatCAMApp.py:3880
-msgid "FlatCAM preferences import cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:3904
+#: FlatCAMApp.py:3957
msgid "Imported Defaults from"
msgstr ""
-#: FlatCAMApp.py:3924 FlatCAMApp.py:3929
+#: FlatCAMApp.py:3977 FlatCAMApp.py:3982
msgid "Export FlatCAM Preferences"
msgstr ""
-#: FlatCAMApp.py:3936
-msgid "FlatCAM preferences export cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:3945 FlatCAMApp.py:10389 FlatCAMApp.py:10437 FlatCAMApp.py:10560
-#: FlatCAMApp.py:10699 FlatCAMCommon.py:378 FlatCAMCommon.py:1114 FlatCAMObj.py:6903
-#: flatcamEditors/FlatCAMTextEditor.py:274 flatcamTools/ToolFilm.py:1019
-#: flatcamTools/ToolFilm.py:1195 flatcamTools/ToolSolderPaste.py:1544
+#: FlatCAMApp.py:3997 FlatCAMApp.py:4071 FlatCAMApp.py:10769 FlatCAMApp.py:10817
+#: FlatCAMApp.py:10943 FlatCAMApp.py:11080 FlatCAMCommon.py:379 FlatCAMCommon.py:1115
+#: FlatCAMCommon.py:2545 FlatCAMObj.py:7484 flatcamEditors/FlatCAMTextEditor.py:276
+#: flatcamTools/ToolFilm.py:1031 flatcamTools/ToolFilm.py:1212
+#: flatcamTools/ToolSolderPaste.py:1533
msgid ""
"Permission denied, saving not possible.\n"
"Most likely another app is holding the file open and not accessible."
msgstr ""
-#: FlatCAMApp.py:3957
+#: FlatCAMApp.py:4009
msgid "Could not load preferences file."
msgstr ""
-#: FlatCAMApp.py:3976 FlatCAMApp.py:4985
+#: FlatCAMApp.py:4028 FlatCAMApp.py:4095 FlatCAMApp.py:5040
msgid "Failed to write defaults to file."
msgstr ""
-#: FlatCAMApp.py:3981
+#: FlatCAMApp.py:4033
msgid "Exported preferences to"
msgstr ""
-#: FlatCAMApp.py:3998
-msgid "FlatCAM Preferences Folder opened."
+#: FlatCAMApp.py:4053 FlatCAMApp.py:4058
+msgid "Save to file"
msgstr ""
-#: FlatCAMApp.py:4009
-msgid "Are you sure you want to delete the GUI Settings? \n"
+#: FlatCAMApp.py:4082
+msgid "Could not load the file."
msgstr ""
-#: FlatCAMApp.py:4012 flatcamGUI/FlatCAMGUI.py:1230
-msgid "Clear GUI Settings"
+#: FlatCAMApp.py:4098
+msgid "Exported file to"
msgstr ""
-#: FlatCAMApp.py:4109
+#: FlatCAMApp.py:4181
msgid "Failed to open recent files file for writing."
msgstr ""
-#: FlatCAMApp.py:4120
+#: FlatCAMApp.py:4192
msgid "Failed to open recent projects file for writing."
msgstr ""
-#: FlatCAMApp.py:4205 FlatCAMApp.py:10900 FlatCAMApp.py:10961 FlatCAMApp.py:11090
-#: FlatCAMObj.py:5050 flatcamEditors/FlatCAMGrbEditor.py:4187
-#: flatcamTools/ToolPcbWizard.py:437
+#: FlatCAMApp.py:4277 FlatCAMApp.py:11276 FlatCAMApp.py:11335 FlatCAMApp.py:11463
+#: FlatCAMApp.py:12189 FlatCAMObj.py:5605 flatcamEditors/FlatCAMGrbEditor.py:4231
+#: flatcamTools/ToolPcbWizard.py:433
msgid "An internal error has occurred. See shell.\n"
msgstr ""
-#: FlatCAMApp.py:4206
+#: FlatCAMApp.py:4278
#, python-brace-format
msgid ""
"Object ({kind}) failed because: {error} \n"
"\n"
msgstr ""
-#: FlatCAMApp.py:4221
+#: FlatCAMApp.py:4293
msgid "Converting units to "
msgstr ""
-#: FlatCAMApp.py:4324
+#: FlatCAMApp.py:4406
msgid "CREATE A NEW FLATCAM TCL SCRIPT"
msgstr ""
-#: FlatCAMApp.py:4325
+#: FlatCAMApp.py:4407
msgid "TCL Tutorial is here"
msgstr ""
-#: FlatCAMApp.py:4327
+#: FlatCAMApp.py:4409
msgid "FlatCAM commands list"
msgstr ""
-#: FlatCAMApp.py:4378 FlatCAMApp.py:4384 FlatCAMApp.py:4390 FlatCAMApp.py:4396
-#: FlatCAMApp.py:4402 FlatCAMApp.py:4408
+#: FlatCAMApp.py:4460 FlatCAMApp.py:4466 FlatCAMApp.py:4472 FlatCAMApp.py:4478
+#: FlatCAMApp.py:4484 FlatCAMApp.py:4490
msgid "created/selected"
msgstr ""
-#: FlatCAMApp.py:4423 FlatCAMApp.py:7086 FlatCAMObj.py:271 FlatCAMObj.py:302
-#: FlatCAMObj.py:318 FlatCAMObj.py:398 flatcamTools/ToolCopperThieving.py:1476
-#: flatcamTools/ToolFiducials.py:807 flatcamTools/ToolMove.py:220
-#: flatcamTools/ToolQRCode.py:726
+#: FlatCAMApp.py:4505 FlatCAMApp.py:7086 FlatCAMObj.py:278 FlatCAMObj.py:309
+#: FlatCAMObj.py:325 FlatCAMObj.py:405 flatcamTools/ToolCopperThieving.py:1482
+#: flatcamTools/ToolFiducials.py:809 flatcamTools/ToolMove.py:230
+#: flatcamTools/ToolQRCode.py:728
msgid "Plotting"
msgstr ""
-#: FlatCAMApp.py:4486 flatcamGUI/FlatCAMGUI.py:491
+#: FlatCAMApp.py:4568 flatcamGUI/FlatCAMGUI.py:530
msgid "About FlatCAM"
msgstr ""
-#: FlatCAMApp.py:4512
+#: FlatCAMApp.py:4594
msgid "2D Computer-Aided Printed Circuit Board Manufacturing"
msgstr ""
-#: FlatCAMApp.py:4513
+#: FlatCAMApp.py:4595
msgid "Development"
msgstr ""
-#: FlatCAMApp.py:4514
+#: FlatCAMApp.py:4596
msgid "DOWNLOAD"
msgstr ""
-#: FlatCAMApp.py:4515
+#: FlatCAMApp.py:4597
msgid "Issue tracker"
msgstr ""
-#: FlatCAMApp.py:4519 FlatCAMApp.py:4860
+#: FlatCAMApp.py:4601 FlatCAMApp.py:4942 flatcamGUI/GUIElements.py:2583
msgid "Close"
msgstr ""
-#: FlatCAMApp.py:4534
+#: FlatCAMApp.py:4616
msgid "Licensed under the MIT license"
msgstr ""
-#: FlatCAMApp.py:4543
+#: FlatCAMApp.py:4625
msgid ""
"Permission is hereby granted, free of charge, to any person obtaining a copy\n"
"of this software and associated documentation files (the \"Software\"), to deal\n"
@@ -320,7 +344,7 @@ msgid ""
"THE SOFTWARE."
msgstr ""
-#: FlatCAMApp.py:4565
+#: FlatCAMApp.py:4647
msgid ""
"Some of the icons used are from the following sources:
Icons by
Freepik from
oNline Web Fonts"
msgstr ""
-#: FlatCAMApp.py:4597
+#: FlatCAMApp.py:4679
msgid "Splash"
msgstr ""
-#: FlatCAMApp.py:4603
+#: FlatCAMApp.py:4685
msgid "Programmers"
msgstr ""
-#: FlatCAMApp.py:4609
+#: FlatCAMApp.py:4691
msgid "Translators"
msgstr ""
-#: FlatCAMApp.py:4615
+#: FlatCAMApp.py:4697
msgid "License"
msgstr ""
-#: FlatCAMApp.py:4621
+#: FlatCAMApp.py:4703
msgid "Attributions"
msgstr ""
-#: FlatCAMApp.py:4644
+#: FlatCAMApp.py:4726
msgid "Programmer"
msgstr ""
-#: FlatCAMApp.py:4645
+#: FlatCAMApp.py:4727
msgid "Status"
msgstr ""
-#: FlatCAMApp.py:4646 FlatCAMApp.py:4724
+#: FlatCAMApp.py:4728 FlatCAMApp.py:4806
msgid "E-mail"
msgstr ""
-#: FlatCAMApp.py:4654
+#: FlatCAMApp.py:4736
msgid "BETA Maintainer >= 2019"
msgstr ""
-#: FlatCAMApp.py:4721
+#: FlatCAMApp.py:4803
msgid "Language"
msgstr ""
-#: FlatCAMApp.py:4722
+#: FlatCAMApp.py:4804
msgid "Translator"
msgstr ""
-#: FlatCAMApp.py:4723
+#: FlatCAMApp.py:4805
msgid "Corrections"
msgstr ""
-#: FlatCAMApp.py:4832 FlatCAMApp.py:4840 FlatCAMApp.py:7769 flatcamGUI/FlatCAMGUI.py:473
+#: FlatCAMApp.py:4914 FlatCAMApp.py:4922 FlatCAMApp.py:8068 flatcamGUI/FlatCAMGUI.py:512
msgid "Bookmarks Manager"
msgstr ""
-#: FlatCAMApp.py:4851
+#: FlatCAMApp.py:4933
msgid ""
"This entry will resolve to another website if:\n"
"\n"
@@ -393,53 +417,53 @@ msgid ""
"use the YouTube channel link from the Help menu."
msgstr ""
-#: FlatCAMApp.py:4858
+#: FlatCAMApp.py:4940
msgid "Alternative website"
msgstr ""
-#: FlatCAMApp.py:4989 FlatCAMApp.py:7733
+#: FlatCAMApp.py:5044 FlatCAMApp.py:8032
msgid "Preferences saved."
msgstr ""
-#: FlatCAMApp.py:5043
+#: FlatCAMApp.py:5139
msgid "Failed to write factory defaults to file."
msgstr ""
-#: FlatCAMApp.py:5047
+#: FlatCAMApp.py:5143
msgid "Factory defaults saved."
msgstr ""
-#: FlatCAMApp.py:5057 flatcamGUI/FlatCAMGUI.py:3962
+#: FlatCAMApp.py:5153 flatcamGUI/FlatCAMGUI.py:4178
msgid "Application is saving the project. Please wait ..."
msgstr ""
-#: FlatCAMApp.py:5062 FlatCAMTranslation.py:188
+#: FlatCAMApp.py:5158 FlatCAMTranslation.py:194
msgid ""
"There are files/objects modified in FlatCAM. \n"
"Do you want to Save the project?"
msgstr ""
-#: FlatCAMApp.py:5065 FlatCAMApp.py:8925 FlatCAMTranslation.py:191
+#: FlatCAMApp.py:5161 FlatCAMApp.py:9296 FlatCAMTranslation.py:197
msgid "Save changes"
msgstr ""
-#: FlatCAMApp.py:5306
+#: FlatCAMApp.py:5417
msgid "Selected Excellon file extensions registered with FlatCAM."
msgstr ""
-#: FlatCAMApp.py:5328
+#: FlatCAMApp.py:5439
msgid "Selected GCode file extensions registered with FlatCAM."
msgstr ""
-#: FlatCAMApp.py:5350
+#: FlatCAMApp.py:5461
msgid "Selected Gerber file extensions registered with FlatCAM."
msgstr ""
-#: FlatCAMApp.py:5538 FlatCAMApp.py:5595 FlatCAMApp.py:5623
+#: FlatCAMApp.py:5649 FlatCAMApp.py:5708 FlatCAMApp.py:5736
msgid "At least two objects are required for join. Objects currently selected"
msgstr ""
-#: FlatCAMApp.py:5547
+#: FlatCAMApp.py:5658
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 is to "
@@ -449,51 +473,47 @@ msgid ""
"Check the generated GCODE."
msgstr ""
-#: FlatCAMApp.py:5559
-msgid "Multigeo. Geometry merging finished"
-msgstr ""
-
-#: FlatCAMApp.py:5568
+#: FlatCAMApp.py:5670 FlatCAMApp.py:5680
msgid "Geometry merging finished"
msgstr ""
-#: FlatCAMApp.py:5590
+#: FlatCAMApp.py:5703
msgid "Failed. Excellon joining works only on Excellon objects."
msgstr ""
-#: FlatCAMApp.py:5600
+#: FlatCAMApp.py:5713
msgid "Excellon merging finished"
msgstr ""
-#: FlatCAMApp.py:5618
+#: FlatCAMApp.py:5731
msgid "Failed. Gerber joining works only on Gerber objects."
msgstr ""
-#: FlatCAMApp.py:5628
+#: FlatCAMApp.py:5741
msgid "Gerber merging finished"
msgstr ""
-#: FlatCAMApp.py:5648 FlatCAMApp.py:5683
+#: FlatCAMApp.py:5761 FlatCAMApp.py:5796
msgid "Failed. Select a Geometry Object and try again."
msgstr ""
-#: FlatCAMApp.py:5652 FlatCAMApp.py:5688
+#: FlatCAMApp.py:5765 FlatCAMApp.py:5801
msgid "Expected a FlatCAMGeometry, got"
msgstr ""
-#: FlatCAMApp.py:5665
+#: FlatCAMApp.py:5778
msgid "A Geometry object was converted to MultiGeo type."
msgstr ""
-#: FlatCAMApp.py:5703
+#: FlatCAMApp.py:5816
msgid "A Geometry object was converted to SingleGeo type."
msgstr ""
-#: FlatCAMApp.py:5919
+#: FlatCAMApp.py:6043
msgid "Toggle Units"
msgstr ""
-#: FlatCAMApp.py:5921
+#: FlatCAMApp.py:6045
msgid ""
"Changing the units of the project\n"
"will scale all objects.\n"
@@ -501,72 +521,68 @@ msgid ""
"Do you want to continue?"
msgstr ""
-#: FlatCAMApp.py:5924 FlatCAMApp.py:6929 FlatCAMApp.py:7005 FlatCAMApp.py:9290
-#: FlatCAMApp.py:9304 FlatCAMApp.py:9658 FlatCAMApp.py:9669
+#: FlatCAMApp.py:6048 FlatCAMApp.py:6922 FlatCAMApp.py:6999 FlatCAMApp.py:9669
+#: FlatCAMApp.py:9683 FlatCAMApp.py:10018 FlatCAMApp.py:10028
msgid "Ok"
msgstr ""
-#: FlatCAMApp.py:5973
+#: FlatCAMApp.py:6097
msgid "Converted units to"
msgstr ""
-#: FlatCAMApp.py:5987
-msgid "Units conversion cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:6613
+#: FlatCAMApp.py:6737
msgid "Detachable Tabs"
msgstr ""
-#: FlatCAMApp.py:6828 FlatCAMApp.py:6889 FlatCAMApp.py:7560 FlatCAMApp.py:7622
-#: FlatCAMApp.py:7688
+#: FlatCAMApp.py:6811 FlatCAMApp.py:6855 FlatCAMApp.py:6883 FlatCAMApp.py:7815
+#: FlatCAMApp.py:7883 FlatCAMApp.py:7987
msgid "Preferences"
msgstr ""
-#: FlatCAMApp.py:6831
+#: FlatCAMApp.py:6817
msgid "Preferences applied."
msgstr ""
-#: FlatCAMApp.py:6894
+#: FlatCAMApp.py:6888
msgid "Preferences closed without saving."
msgstr ""
-#: FlatCAMApp.py:6917 flatcamTools/ToolNonCopperClear.py:591
-#: flatcamTools/ToolNonCopperClear.py:987 flatcamTools/ToolPaint.py:502
-#: flatcamTools/ToolSolderPaste.py:562 flatcamTools/ToolSolderPaste.py:892
+#: FlatCAMApp.py:6911 flatcamTools/ToolNCC.py:930 flatcamTools/ToolNCC.py:1435
+#: flatcamTools/ToolPaint.py:855 flatcamTools/ToolSolderPaste.py:568
+#: flatcamTools/ToolSolderPaste.py:893
msgid "Please enter a tool diameter with non-zero value, in Float format."
msgstr ""
-#: FlatCAMApp.py:6922 flatcamTools/ToolNonCopperClear.py:595 flatcamTools/ToolPaint.py:506
-#: flatcamTools/ToolSolderPaste.py:566
+#: FlatCAMApp.py:6915 flatcamTools/ToolNCC.py:934 flatcamTools/ToolPaint.py:859
+#: flatcamTools/ToolSolderPaste.py:572
msgid "Adding Tool cancelled"
msgstr ""
-#: FlatCAMApp.py:6925
+#: FlatCAMApp.py:6918
msgid ""
"Adding Tool works only when Advanced is checked.\n"
"Go to Preferences -> General - Show Advanced Options."
msgstr ""
-#: FlatCAMApp.py:7000
+#: FlatCAMApp.py:6994
msgid "Delete objects"
msgstr ""
-#: FlatCAMApp.py:7003
+#: FlatCAMApp.py:6997
msgid ""
"Are you sure you want to permanently delete\n"
"the selected objects?"
msgstr ""
-#: FlatCAMApp.py:7034
+#: FlatCAMApp.py:7035
msgid "Object(s) deleted"
msgstr ""
-#: FlatCAMApp.py:7038 flatcamTools/ToolDblSided.py:713
+#: FlatCAMApp.py:7039 FlatCAMApp.py:7194 flatcamTools/ToolDblSided.py:819
msgid "Failed. No object(s) selected..."
msgstr ""
-#: FlatCAMApp.py:7040
+#: FlatCAMApp.py:7041
msgid "Save the work in Editor and try again ..."
msgstr ""
@@ -582,811 +598,738 @@ msgstr ""
msgid "Setting Origin..."
msgstr ""
-#: FlatCAMApp.py:7131
+#: FlatCAMApp.py:7132 FlatCAMApp.py:7234
msgid "Origin set"
msgstr ""
-#: FlatCAMApp.py:7138
+#: FlatCAMApp.py:7149
msgid "Origin coordinates specified but incomplete."
msgstr ""
-#: FlatCAMApp.py:7197
+#: FlatCAMApp.py:7190
+msgid "Moving to Origin..."
+msgstr ""
+
+#: FlatCAMApp.py:7271
msgid "Jump to ..."
msgstr ""
-#: FlatCAMApp.py:7198
+#: FlatCAMApp.py:7272
msgid "Enter the coordinates in format X,Y:"
msgstr ""
-#: FlatCAMApp.py:7208
+#: FlatCAMApp.py:7282
msgid "Wrong coordinates. Enter coordinates in format: X,Y"
msgstr ""
-#: FlatCAMApp.py:7288 flatcamEditors/FlatCAMExcEditor.py:3599
-#: flatcamEditors/FlatCAMExcEditor.py:3607 flatcamEditors/FlatCAMGeoEditor.py:4036
-#: flatcamEditors/FlatCAMGeoEditor.py:4051 flatcamEditors/FlatCAMGrbEditor.py:1086
-#: flatcamEditors/FlatCAMGrbEditor.py:1203 flatcamEditors/FlatCAMGrbEditor.py:1489
-#: flatcamEditors/FlatCAMGrbEditor.py:1758 flatcamEditors/FlatCAMGrbEditor.py:4445
-#: flatcamEditors/FlatCAMGrbEditor.py:4460 flatcamGUI/FlatCAMGUI.py:3145
-#: flatcamGUI/FlatCAMGUI.py:3157
+#: FlatCAMApp.py:7360 FlatCAMApp.py:7509 flatcamEditors/FlatCAMExcEditor.py:3622
+#: flatcamEditors/FlatCAMExcEditor.py:3630 flatcamEditors/FlatCAMGeoEditor.py:4349
+#: flatcamEditors/FlatCAMGeoEditor.py:4363 flatcamEditors/FlatCAMGrbEditor.py:1085
+#: flatcamEditors/FlatCAMGrbEditor.py:1202 flatcamEditors/FlatCAMGrbEditor.py:1488
+#: flatcamEditors/FlatCAMGrbEditor.py:1757 flatcamEditors/FlatCAMGrbEditor.py:4489
+#: flatcamEditors/FlatCAMGrbEditor.py:4504 flatcamGUI/FlatCAMGUI.py:3370
+#: flatcamGUI/FlatCAMGUI.py:3382 flatcamTools/ToolAlignObjects.py:393
+#: flatcamTools/ToolAlignObjects.py:415
msgid "Done."
msgstr ""
-#: FlatCAMApp.py:7440 FlatCAMApp.py:7511
+#: FlatCAMApp.py:7375 FlatCAMApp.py:9665 FlatCAMApp.py:9761 FlatCAMApp.py:9803
+#: FlatCAMApp.py:9844 FlatCAMApp.py:9885 FlatCAMApp.py:9926 FlatCAMApp.py:9970
+#: FlatCAMApp.py:10014 FlatCAMApp.py:10503 FlatCAMApp.py:10507
+#: flatcamTools/ToolProperties.py:116
+msgid "No object selected."
+msgstr ""
+
+#: FlatCAMApp.py:7394
+msgid "Bottom-Left"
+msgstr ""
+
+#: FlatCAMApp.py:7395 flatcamGUI/PreferencesUI.py:8111 flatcamTools/ToolCalibration.py:159
+msgid "Top-Left"
+msgstr ""
+
+#: FlatCAMApp.py:7396 flatcamGUI/PreferencesUI.py:8112 flatcamTools/ToolCalibration.py:160
+msgid "Bottom-Right"
+msgstr ""
+
+#: FlatCAMApp.py:7397
+msgid "Top-Right"
+msgstr ""
+
+#: FlatCAMApp.py:7398 flatcamGUI/ObjectUI.py:2624
+msgid "Center"
+msgstr ""
+
+#: FlatCAMApp.py:7418
+msgid "Locate ..."
+msgstr ""
+
+#: FlatCAMApp.py:7679 FlatCAMApp.py:7756
msgid "No object is selected. Select an object and try again."
msgstr ""
-#: FlatCAMApp.py:7531
+#: FlatCAMApp.py:7782
msgid "Aborting. The current task will be gracefully closed as soon as possible..."
msgstr ""
-#: FlatCAMApp.py:7537
+#: FlatCAMApp.py:7787
msgid "The current task was gracefully closed on user request..."
msgstr ""
-#: FlatCAMApp.py:7619
+#: FlatCAMApp.py:7880
msgid "Preferences edited but not saved."
msgstr ""
-#: FlatCAMApp.py:7633 FlatCAMApp.py:7645 FlatCAMApp.py:7662 FlatCAMApp.py:7679
-#: FlatCAMApp.py:7739 FlatCAMCommon.py:1181 FlatCAMCommon.py:1356 FlatCAMObj.py:4256
+#: FlatCAMApp.py:7897 FlatCAMApp.py:7925 FlatCAMApp.py:7952 FlatCAMApp.py:7971
+#: FlatCAMApp.py:8038 FlatCAMCommon.py:1182 FlatCAMCommon.py:1357 FlatCAMCommon.py:2612
+#: FlatCAMCommon.py:2820 FlatCAMObj.py:4798 flatcamTools/ToolNCC.py:3963
+#: flatcamTools/ToolNCC.py:4047 flatcamTools/ToolPaint.py:3537
+#: flatcamTools/ToolPaint.py:3622
msgid "Tools Database"
msgstr ""
-#: FlatCAMApp.py:7659
+#: FlatCAMApp.py:7949
msgid "Tools in Tools Database edited but not saved."
msgstr ""
-#: FlatCAMApp.py:7683
+#: FlatCAMApp.py:7975 flatcamTools/ToolNCC.py:3970 flatcamTools/ToolPaint.py:3544
msgid "Tool from DB added in Tool Table."
msgstr ""
-#: FlatCAMApp.py:7685
+#: FlatCAMApp.py:7977
msgid "Adding tool from DB is not allowed for this object."
msgstr ""
-#: FlatCAMApp.py:7719
+#: FlatCAMApp.py:8018
msgid ""
"One or more values are changed.\n"
"Do you want to save the Preferences?"
msgstr ""
-#: FlatCAMApp.py:7721 flatcamGUI/FlatCAMGUI.py:222
+#: FlatCAMApp.py:8020 flatcamGUI/FlatCAMGUI.py:291
msgid "Save Preferences"
msgstr ""
-#: FlatCAMApp.py:7745
+#: FlatCAMApp.py:8044
msgid ""
"One or more Tools are edited.\n"
"Do you want to update the Tools Database?"
msgstr ""
-#: FlatCAMApp.py:7747
+#: FlatCAMApp.py:8046
msgid "Save Tools Database"
msgstr ""
-#: FlatCAMApp.py:7766 FlatCAMApp.py:9897 FlatCAMObj.py:6509
+#: FlatCAMApp.py:8065 FlatCAMApp.py:10252 FlatCAMObj.py:7089
msgid "Code Editor"
msgstr ""
-#: FlatCAMApp.py:7784
+#: FlatCAMApp.py:8087
msgid "No object selected to Flip on Y axis."
msgstr ""
-#: FlatCAMApp.py:7810
+#: FlatCAMApp.py:8113
msgid "Flip on Y axis done."
msgstr ""
-#: FlatCAMApp.py:7812 FlatCAMApp.py:7854 flatcamEditors/FlatCAMGrbEditor.py:5858
+#: FlatCAMApp.py:8115 FlatCAMApp.py:8163 flatcamEditors/FlatCAMGrbEditor.py:5893
msgid "Flip action was not executed."
msgstr ""
-#: FlatCAMApp.py:7826
+#: FlatCAMApp.py:8135
msgid "No object selected to Flip on X axis."
msgstr ""
-#: FlatCAMApp.py:7852
+#: FlatCAMApp.py:8161
msgid "Flip on X axis done."
msgstr ""
-#: FlatCAMApp.py:7868
+#: FlatCAMApp.py:8183
msgid "No object selected to Rotate."
msgstr ""
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
+#: FlatCAMApp.py:8186 FlatCAMApp.py:8239 FlatCAMApp.py:8278
msgid "Transform"
msgstr ""
-#: FlatCAMApp.py:7871 FlatCAMApp.py:7918 FlatCAMApp.py:7951
+#: FlatCAMApp.py:8186 FlatCAMApp.py:8239 FlatCAMApp.py:8278
msgid "Enter the Angle value:"
msgstr ""
-#: FlatCAMApp.py:7902
+#: FlatCAMApp.py:8217
msgid "Rotation done."
msgstr ""
-#: FlatCAMApp.py:7904
+#: FlatCAMApp.py:8219
msgid "Rotation movement was not executed."
msgstr ""
-#: FlatCAMApp.py:7916
+#: FlatCAMApp.py:8237
msgid "No object selected to Skew/Shear on X axis."
msgstr ""
-#: FlatCAMApp.py:7938
+#: FlatCAMApp.py:8259
msgid "Skew on X axis done."
msgstr ""
-#: FlatCAMApp.py:7949
+#: FlatCAMApp.py:8276
msgid "No object selected to Skew/Shear on Y axis."
msgstr ""
-#: FlatCAMApp.py:7971
+#: FlatCAMApp.py:8298
msgid "Skew on Y axis done."
msgstr ""
-#: FlatCAMApp.py:8119 FlatCAMApp.py:8166 flatcamGUI/FlatCAMGUI.py:449
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: FlatCAMApp.py:8451 FlatCAMApp.py:8498 flatcamGUI/FlatCAMGUI.py:488
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Select All"
msgstr ""
-#: FlatCAMApp.py:8123 FlatCAMApp.py:8170 flatcamGUI/FlatCAMGUI.py:451
+#: FlatCAMApp.py:8455 FlatCAMApp.py:8502 flatcamGUI/FlatCAMGUI.py:490
msgid "Deselect All"
msgstr ""
-#: FlatCAMApp.py:8186
+#: FlatCAMApp.py:8518
msgid "All objects are selected."
msgstr ""
-#: FlatCAMApp.py:8196
+#: FlatCAMApp.py:8528
msgid "Objects selection is cleared."
msgstr ""
-#: FlatCAMApp.py:8216 flatcamGUI/FlatCAMGUI.py:1605
+#: FlatCAMApp.py:8548 flatcamGUI/FlatCAMGUI.py:1706
msgid "Grid On/Off"
msgstr ""
-#: FlatCAMApp.py:8228 flatcamEditors/FlatCAMGeoEditor.py:940
-#: flatcamEditors/FlatCAMGrbEditor.py:2574 flatcamEditors/FlatCAMGrbEditor.py:5431
-#: flatcamGUI/ObjectUI.py:1304 flatcamTools/ToolDblSided.py:187
-#: flatcamTools/ToolDblSided.py:245 flatcamTools/ToolNonCopperClear.py:286
-#: flatcamTools/ToolPaint.py:188 flatcamTools/ToolSolderPaste.py:121
-#: flatcamTools/ToolSolderPaste.py:591 flatcamTools/ToolTransform.py:310
+#: FlatCAMApp.py:8560 flatcamEditors/FlatCAMGeoEditor.py:940
+#: flatcamEditors/FlatCAMGrbEditor.py:2580 flatcamEditors/FlatCAMGrbEditor.py:5475
+#: flatcamGUI/ObjectUI.py:1593 flatcamTools/ToolDblSided.py:193
+#: flatcamTools/ToolDblSided.py:426 flatcamTools/ToolNCC.py:294 flatcamTools/ToolNCC.py:631
+#: flatcamTools/ToolPaint.py:277 flatcamTools/ToolPaint.py:673
+#: flatcamTools/ToolSolderPaste.py:123 flatcamTools/ToolSolderPaste.py:597
+#: flatcamTools/ToolTransform.py:479
msgid "Add"
msgstr ""
-#: FlatCAMApp.py:8230 FlatCAMObj.py:3963 flatcamEditors/FlatCAMGrbEditor.py:2579
-#: flatcamEditors/FlatCAMGrbEditor.py:2727 flatcamGUI/FlatCAMGUI.py:680
-#: flatcamGUI/FlatCAMGUI.py:991 flatcamGUI/FlatCAMGUI.py:2018 flatcamGUI/FlatCAMGUI.py:2161
-#: flatcamGUI/FlatCAMGUI.py:2559 flatcamGUI/ObjectUI.py:1330
-#: flatcamTools/ToolNonCopperClear.py:298 flatcamTools/ToolPaint.py:200
-#: flatcamTools/ToolSolderPaste.py:127 flatcamTools/ToolSolderPaste.py:594
+#: FlatCAMApp.py:8562 FlatCAMObj.py:4416 flatcamEditors/FlatCAMGrbEditor.py:2585
+#: flatcamEditors/FlatCAMGrbEditor.py:2733 flatcamGUI/FlatCAMGUI.py:736
+#: flatcamGUI/FlatCAMGUI.py:1059 flatcamGUI/FlatCAMGUI.py:2126 flatcamGUI/FlatCAMGUI.py:2269
+#: flatcamGUI/FlatCAMGUI.py:2733 flatcamGUI/ObjectUI.py:1621 flatcamTools/ToolNCC.py:316
+#: flatcamTools/ToolNCC.py:637 flatcamTools/ToolPaint.py:299 flatcamTools/ToolPaint.py:679
+#: flatcamTools/ToolSolderPaste.py:129 flatcamTools/ToolSolderPaste.py:600
msgid "Delete"
msgstr ""
-#: FlatCAMApp.py:8243
+#: FlatCAMApp.py:8575
msgid "New Grid ..."
msgstr ""
-#: FlatCAMApp.py:8244
+#: FlatCAMApp.py:8576
msgid "Enter a Grid Value:"
msgstr ""
-#: FlatCAMApp.py:8252 FlatCAMApp.py:8279
+#: FlatCAMApp.py:8584 FlatCAMApp.py:8611
msgid "Please enter a grid value with non-zero value, in Float format."
msgstr ""
-#: FlatCAMApp.py:8258
+#: FlatCAMApp.py:8590
msgid "New Grid added"
msgstr ""
-#: FlatCAMApp.py:8261
+#: FlatCAMApp.py:8593
msgid "Grid already exists"
msgstr ""
-#: FlatCAMApp.py:8264
+#: FlatCAMApp.py:8596
msgid "Adding New Grid cancelled"
msgstr ""
-#: FlatCAMApp.py:8286
+#: FlatCAMApp.py:8618
msgid " Grid Value does not exist"
msgstr ""
-#: FlatCAMApp.py:8289
+#: FlatCAMApp.py:8621
msgid "Grid Value deleted"
msgstr ""
-#: FlatCAMApp.py:8292
+#: FlatCAMApp.py:8624
msgid "Delete Grid value cancelled"
msgstr ""
-#: FlatCAMApp.py:8298
+#: FlatCAMApp.py:8630
msgid "Key Shortcut List"
msgstr ""
-#: FlatCAMApp.py:8332
+#: FlatCAMApp.py:8664
msgid " No object selected to copy it's name"
msgstr ""
-#: FlatCAMApp.py:8336
+#: FlatCAMApp.py:8668
msgid "Name copied on clipboard ..."
msgstr ""
-#: FlatCAMApp.py:8534 flatcamEditors/FlatCAMGrbEditor.py:4377
+#: FlatCAMApp.py:8881 flatcamEditors/FlatCAMGrbEditor.py:4421
msgid "Coordinates copied to clipboard."
msgstr ""
-#: FlatCAMApp.py:8762 FlatCAMApp.py:8768 FlatCAMApp.py:8774 FlatCAMApp.py:8780
-#: ObjectCollection.py:797 ObjectCollection.py:803 ObjectCollection.py:809
-#: ObjectCollection.py:815 ObjectCollection.py:821 ObjectCollection.py:827
+#: FlatCAMApp.py:9120 FlatCAMApp.py:9126 FlatCAMApp.py:9132 FlatCAMApp.py:9138
+#: ObjectCollection.py:911 ObjectCollection.py:917 ObjectCollection.py:923
+#: ObjectCollection.py:929 ObjectCollection.py:935 ObjectCollection.py:941
msgid "selected"
msgstr ""
-#: FlatCAMApp.py:8922
+#: FlatCAMApp.py:9293
msgid ""
"There are files/objects opened in FlatCAM.\n"
"Creating a New project will delete them.\n"
"Do you want to Save the project?"
msgstr ""
-#: FlatCAMApp.py:8944
+#: FlatCAMApp.py:9314
msgid "New Project created"
msgstr ""
-#: FlatCAMApp.py:9079 FlatCAMApp.py:9083 flatcamGUI/FlatCAMGUI.py:767
-#: flatcamGUI/FlatCAMGUI.py:2352
+#: FlatCAMApp.py:9461 FlatCAMApp.py:9465 flatcamGUI/FlatCAMGUI.py:821
+#: flatcamGUI/FlatCAMGUI.py:2504
msgid "Open Gerber"
msgstr ""
-#: FlatCAMApp.py:9090
-msgid "Opening Gerber file."
-msgstr ""
-
-#: FlatCAMApp.py:9096
-msgid "Open Gerber cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9117 FlatCAMApp.py:9121 flatcamGUI/FlatCAMGUI.py:769
-#: flatcamGUI/FlatCAMGUI.py:2354
-msgid "Open Excellon"
-msgstr ""
-
-#: FlatCAMApp.py:9127
-msgid "Opening Excellon file."
-msgstr ""
-
-#: FlatCAMApp.py:9133
-msgid " Open Excellon cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9157 FlatCAMApp.py:9161
-msgid "Open G-Code"
-msgstr ""
-
-#: FlatCAMApp.py:9168
-msgid "Opening G-Code file."
-msgstr ""
-
-#: FlatCAMApp.py:9174
-msgid "Open G-Code cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9192 FlatCAMApp.py:9195 flatcamGUI/FlatCAMGUI.py:1614
-msgid "Open Project"
-msgstr ""
-
-#: FlatCAMApp.py:9204
-msgid "Open Project cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9228 FlatCAMApp.py:9232
-msgid "Open HPGL2"
-msgstr ""
-
-#: FlatCAMApp.py:9239
-msgid "Opening HPGL2 file."
-msgstr ""
-
-#: FlatCAMApp.py:9244
-msgid "Open HPGL2 file cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9262 FlatCAMApp.py:9265
-msgid "Open Configuration File"
-msgstr ""
-
-#: FlatCAMApp.py:9270
-msgid "Open Config cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9286 FlatCAMApp.py:9654 FlatCAMApp.py:10124 FlatCAMApp.py:10128
-msgid "No object selected."
-msgstr ""
-
-#: FlatCAMApp.py:9287 FlatCAMApp.py:9655
-msgid "Please Select a Geometry object to export"
-msgstr ""
-
-#: FlatCAMApp.py:9301
-msgid "Only Geometry, Gerber and CNCJob objects can be used."
-msgstr ""
-
-#: FlatCAMApp.py:9314 FlatCAMApp.py:9318 flatcamTools/ToolQRCode.py:827
-#: flatcamTools/ToolQRCode.py:831
-msgid "Export SVG"
-msgstr ""
-
-#: FlatCAMApp.py:9324 flatcamTools/ToolQRCode.py:836
-msgid " Export SVG cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9345
-msgid "Data must be a 3D array with last dimension 3 or 4"
-msgstr ""
-
-#: FlatCAMApp.py:9351 FlatCAMApp.py:9355
-msgid "Export PNG Image"
-msgstr ""
-
-#: FlatCAMApp.py:9360
-msgid "Export PNG cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9384
-msgid "No object selected. Please select an Gerber object to export."
-msgstr ""
-
-#: FlatCAMApp.py:9390 FlatCAMApp.py:9613
-msgid "Failed. Only Gerber objects can be saved as Gerber files..."
-msgstr ""
-
-#: FlatCAMApp.py:9402
-msgid "Save Gerber source file"
-msgstr ""
-
-#: FlatCAMApp.py:9408
-msgid "Save Gerber source file cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9428
-msgid "No object selected. Please select an Script object to export."
-msgstr ""
-
-#: FlatCAMApp.py:9434
-msgid "Failed. Only Script objects can be saved as TCL Script files..."
-msgstr ""
-
-#: FlatCAMApp.py:9446
-msgid "Save Script source file"
-msgstr ""
-
-#: FlatCAMApp.py:9452
-msgid "Save Script source file cancelled."
+#: FlatCAMApp.py:9470 FlatCAMApp.py:9507 FlatCAMApp.py:9549 FlatCAMApp.py:9618
+#: FlatCAMApp.py:10371 FlatCAMApp.py:11546 FlatCAMApp.py:11607
+msgid ""
+"Canvas initialization started.\n"
+"Canvas initialization finished in"
msgstr ""
#: FlatCAMApp.py:9472
-msgid "No object selected. Please select an Document object to export."
+msgid "Opening Gerber file."
msgstr ""
-#: FlatCAMApp.py:9478
+#: FlatCAMApp.py:9499 FlatCAMApp.py:9503 flatcamGUI/FlatCAMGUI.py:823
+#: flatcamGUI/FlatCAMGUI.py:2506
+msgid "Open Excellon"
+msgstr ""
+
+#: FlatCAMApp.py:9509
+msgid "Opening Excellon file."
+msgstr ""
+
+#: FlatCAMApp.py:9540 FlatCAMApp.py:9544
+msgid "Open G-Code"
+msgstr ""
+
+#: FlatCAMApp.py:9551
+msgid "Opening G-Code file."
+msgstr ""
+
+#: FlatCAMApp.py:9574 FlatCAMApp.py:9577 flatcamGUI/FlatCAMGUI.py:1715
+msgid "Open Project"
+msgstr ""
+
+#: FlatCAMApp.py:9609 FlatCAMApp.py:9613
+msgid "Open HPGL2"
+msgstr ""
+
+#: FlatCAMApp.py:9620
+msgid "Opening HPGL2 file."
+msgstr ""
+
+#: FlatCAMApp.py:9643 FlatCAMApp.py:9646
+msgid "Open Configuration File"
+msgstr ""
+
+#: FlatCAMApp.py:9666 FlatCAMApp.py:10015
+msgid "Please Select a Geometry object to export"
+msgstr ""
+
+#: FlatCAMApp.py:9680
+msgid "Only Geometry, Gerber and CNCJob objects can be used."
+msgstr ""
+
+#: FlatCAMApp.py:9693 FlatCAMApp.py:9697 flatcamTools/ToolQRCode.py:829
+#: flatcamTools/ToolQRCode.py:833
+msgid "Export SVG"
+msgstr ""
+
+#: FlatCAMApp.py:9723
+msgid "Data must be a 3D array with last dimension 3 or 4"
+msgstr ""
+
+#: FlatCAMApp.py:9729 FlatCAMApp.py:9733
+msgid "Export PNG Image"
+msgstr ""
+
+#: FlatCAMApp.py:9767 FlatCAMApp.py:9975
+msgid "Failed. Only Gerber objects can be saved as Gerber files..."
+msgstr ""
+
+#: FlatCAMApp.py:9779
+msgid "Save Gerber source file"
+msgstr ""
+
+#: FlatCAMApp.py:9808
+msgid "Failed. Only Script objects can be saved as TCL Script files..."
+msgstr ""
+
+#: FlatCAMApp.py:9820
+msgid "Save Script source file"
+msgstr ""
+
+#: FlatCAMApp.py:9849
msgid "Failed. Only Document objects can be saved as Document files..."
msgstr ""
-#: FlatCAMApp.py:9490
+#: FlatCAMApp.py:9861
msgid "Save Document source file"
msgstr ""
-#: FlatCAMApp.py:9496
-msgid "Save Document source file cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9516
-msgid "No object selected. Please select an Excellon object to export."
-msgstr ""
-
-#: FlatCAMApp.py:9522 FlatCAMApp.py:9566 FlatCAMApp.py:10473
+#: FlatCAMApp.py:9890 FlatCAMApp.py:9931 FlatCAMApp.py:10856
msgid "Failed. Only Excellon objects can be saved as Excellon files..."
msgstr ""
-#: FlatCAMApp.py:9530 FlatCAMApp.py:9534
+#: FlatCAMApp.py:9898 FlatCAMApp.py:9902
msgid "Save Excellon source file"
msgstr ""
-#: FlatCAMApp.py:9540
-msgid "Saving Excellon source file cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9560
-msgid "No object selected. Please Select an Excellon object to export."
-msgstr ""
-
-#: FlatCAMApp.py:9574 FlatCAMApp.py:9578
+#: FlatCAMApp.py:9939 FlatCAMApp.py:9943
msgid "Export Excellon"
msgstr ""
-#: FlatCAMApp.py:9584
-msgid "Export Excellon cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9607
-msgid "No object selected. Please Select an Gerber object to export."
-msgstr ""
-
-#: FlatCAMApp.py:9621 FlatCAMApp.py:9625
+#: FlatCAMApp.py:9983 FlatCAMApp.py:9987
msgid "Export Gerber"
msgstr ""
-#: FlatCAMApp.py:9631
-msgid "Export Gerber cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9666
+#: FlatCAMApp.py:10025
msgid "Only Geometry objects can be used."
msgstr ""
-#: FlatCAMApp.py:9680 FlatCAMApp.py:9684
+#: FlatCAMApp.py:10039 FlatCAMApp.py:10043
msgid "Export DXF"
msgstr ""
-#: FlatCAMApp.py:9691
-msgid "Export DXF cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9711 FlatCAMApp.py:9714
+#: FlatCAMApp.py:10068 FlatCAMApp.py:10071
msgid "Import SVG"
msgstr ""
-#: FlatCAMApp.py:9724
-msgid "Open SVG cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9743 FlatCAMApp.py:9747
+#: FlatCAMApp.py:10099 FlatCAMApp.py:10103
msgid "Import DXF"
msgstr ""
-#: FlatCAMApp.py:9757
-msgid "Open DXF cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9799
+#: FlatCAMApp.py:10154
msgid "Viewing the source code of the selected object."
msgstr ""
-#: FlatCAMApp.py:9800 FlatCAMObj.py:6495 FlatCAMObj.py:7225
+#: FlatCAMApp.py:10155 FlatCAMObj.py:7075 FlatCAMObj.py:7852
msgid "Loading..."
msgstr ""
-#: FlatCAMApp.py:9806 FlatCAMApp.py:9810
+#: FlatCAMApp.py:10161 FlatCAMApp.py:10165
msgid "Select an Gerber or Excellon file to view it's source file."
msgstr ""
-#: FlatCAMApp.py:9824
+#: FlatCAMApp.py:10179
msgid "Source Editor"
msgstr ""
-#: FlatCAMApp.py:9864 FlatCAMApp.py:9871
+#: FlatCAMApp.py:10219 FlatCAMApp.py:10226
msgid "There is no selected object for which to see it's source file code."
msgstr ""
-#: FlatCAMApp.py:9883
+#: FlatCAMApp.py:10238
msgid "Failed to load the source code for the selected object"
msgstr ""
-#: FlatCAMApp.py:9925
+#: FlatCAMApp.py:10274
+msgid "Go to Line ..."
+msgstr ""
+
+#: FlatCAMApp.py:10275
+msgid "Line:"
+msgstr ""
+
+#: FlatCAMApp.py:10304
msgid "New TCL script file created in Code Editor."
msgstr ""
-#: FlatCAMApp.py:9963 FlatCAMApp.py:9965
+#: FlatCAMApp.py:10343 FlatCAMApp.py:10345
msgid "Open TCL script"
msgstr ""
-#: FlatCAMApp.py:9969
-msgid "Open TCL script cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:9993
+#: FlatCAMApp.py:10373
msgid "Executing FlatCAMScript file."
msgstr ""
-#: FlatCAMApp.py:10000 FlatCAMApp.py:10003
+#: FlatCAMApp.py:10381 FlatCAMApp.py:10384
msgid "Run TCL script"
msgstr ""
-#: FlatCAMApp.py:10013
-msgid "Run TCL script cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:10029
+#: FlatCAMApp.py:10408
msgid "TCL script file opened in Code Editor and executed."
msgstr ""
-#: FlatCAMApp.py:10080 FlatCAMApp.py:10086
+#: FlatCAMApp.py:10459 FlatCAMApp.py:10465
msgid "Save Project As ..."
msgstr ""
-#: FlatCAMApp.py:10082 flatcamGUI/FlatCAMGUI.py:1051 flatcamGUI/FlatCAMGUI.py:2053
+#: FlatCAMApp.py:10461 flatcamGUI/FlatCAMGUI.py:1119 flatcamGUI/FlatCAMGUI.py:2161
msgid "Project"
msgstr ""
-#: FlatCAMApp.py:10091
-msgid "Save Project cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:10121
+#: FlatCAMApp.py:10500
msgid "FlatCAM objects print"
msgstr ""
-#: FlatCAMApp.py:10134 FlatCAMApp.py:10141
+#: FlatCAMApp.py:10513 FlatCAMApp.py:10520
msgid "Save Object as PDF ..."
msgstr ""
-#: FlatCAMApp.py:10146
-msgid "Save Object PDF cancelled."
-msgstr ""
-
-#: FlatCAMApp.py:10150
+#: FlatCAMApp.py:10529
msgid "Printing PDF ... Please wait."
msgstr ""
-#: FlatCAMApp.py:10329
+#: FlatCAMApp.py:10708
msgid "PDF file saved to"
msgstr ""
-#: FlatCAMApp.py:10353
+#: FlatCAMApp.py:10733
msgid "Exporting SVG"
msgstr ""
-#: FlatCAMApp.py:10397
+#: FlatCAMApp.py:10776
msgid "SVG file exported to"
msgstr ""
-#: FlatCAMApp.py:10422
+#: FlatCAMApp.py:10802
msgid "Save cancelled because source file is empty. Try to export the Gerber file."
msgstr ""
-#: FlatCAMApp.py:10568
+#: FlatCAMApp.py:10950
msgid "Excellon file exported to"
msgstr ""
-#: FlatCAMApp.py:10577
+#: FlatCAMApp.py:10959
msgid "Exporting Excellon"
msgstr ""
-#: FlatCAMApp.py:10583 FlatCAMApp.py:10591
+#: FlatCAMApp.py:10964 FlatCAMApp.py:10971
msgid "Could not export Excellon file."
msgstr ""
-#: FlatCAMApp.py:10707
+#: FlatCAMApp.py:11087
msgid "Gerber file exported to"
msgstr ""
-#: FlatCAMApp.py:10715
+#: FlatCAMApp.py:11095
msgid "Exporting Gerber"
msgstr ""
-#: FlatCAMApp.py:10721 FlatCAMApp.py:10729
+#: FlatCAMApp.py:11100 FlatCAMApp.py:11107
msgid "Could not export Gerber file."
msgstr ""
-#: FlatCAMApp.py:10763
+#: FlatCAMApp.py:11142
msgid "DXF file exported to"
msgstr ""
-#: FlatCAMApp.py:10769
+#: FlatCAMApp.py:11148
msgid "Exporting DXF"
msgstr ""
-#: FlatCAMApp.py:10774 FlatCAMApp.py:10781
+#: FlatCAMApp.py:11153 FlatCAMApp.py:11160
msgid "Could not export DXF file."
msgstr ""
-#: FlatCAMApp.py:10804 FlatCAMApp.py:10847 flatcamTools/ToolImage.py:278
+#: FlatCAMApp.py:11183 FlatCAMApp.py:11225 flatcamTools/ToolImage.py:277
msgid "Not supported type is picked as parameter. Only Geometry and Gerber are supported"
msgstr ""
-#: FlatCAMApp.py:10814
+#: FlatCAMApp.py:11193
msgid "Importing SVG"
msgstr ""
-#: FlatCAMApp.py:10825 FlatCAMApp.py:10867 FlatCAMApp.py:10926 FlatCAMApp.py:10993
-#: FlatCAMApp.py:11056 FlatCAMApp.py:11123 FlatCAMApp.py:11161 flatcamTools/ToolImage.py:298
+#: FlatCAMApp.py:11204 FlatCAMApp.py:11244 FlatCAMApp.py:11302 FlatCAMApp.py:11367
+#: FlatCAMApp.py:11431 FlatCAMApp.py:11496 FlatCAMApp.py:11533 flatcamTools/ToolImage.py:297
#: flatcamTools/ToolPDF.py:225
msgid "Opened"
msgstr ""
-#: FlatCAMApp.py:10856
+#: FlatCAMApp.py:11234
msgid "Importing DXF"
msgstr ""
-#: FlatCAMApp.py:10892 FlatCAMApp.py:11082
+#: FlatCAMApp.py:11268 FlatCAMApp.py:11455
msgid "Failed to open file"
msgstr ""
-#: FlatCAMApp.py:10895 FlatCAMApp.py:11085
+#: FlatCAMApp.py:11271 FlatCAMApp.py:11458
msgid "Failed to parse file"
msgstr ""
-#: FlatCAMApp.py:10907
+#: FlatCAMApp.py:11283
msgid "Object is not Gerber file or empty. Aborting object creation."
msgstr ""
-#: FlatCAMApp.py:10912
+#: FlatCAMApp.py:11288
msgid "Opening Gerber"
msgstr ""
-#: FlatCAMApp.py:10919
+#: FlatCAMApp.py:11295
msgid " Open Gerber failed. Probable not a Gerber file."
msgstr ""
-#: FlatCAMApp.py:10951 flatcamTools/ToolPcbWizard.py:427
+#: FlatCAMApp.py:11326 flatcamTools/ToolPcbWizard.py:425
msgid "This is not Excellon file."
msgstr ""
-#: FlatCAMApp.py:10955
+#: FlatCAMApp.py:11330
msgid "Cannot open file"
msgstr ""
-#: FlatCAMApp.py:10975 flatcamTools/ToolPDF.py:275 flatcamTools/ToolPcbWizard.py:451
+#: FlatCAMApp.py:11349 flatcamTools/ToolPDF.py:275 flatcamTools/ToolPcbWizard.py:447
msgid "No geometry found in file"
msgstr ""
-#: FlatCAMApp.py:10978
+#: FlatCAMApp.py:11352
msgid "Opening Excellon."
msgstr ""
-#: FlatCAMApp.py:10985
+#: FlatCAMApp.py:11359
msgid "Open Excellon file failed. Probable not an Excellon file."
msgstr ""
-#: FlatCAMApp.py:11016
+#: FlatCAMApp.py:11391
msgid "Reading GCode file"
msgstr ""
-#: FlatCAMApp.py:11023
+#: FlatCAMApp.py:11398
msgid "Failed to open"
msgstr ""
-#: FlatCAMApp.py:11031
+#: FlatCAMApp.py:11406
msgid "This is not GCODE"
msgstr ""
-#: FlatCAMApp.py:11036
+#: FlatCAMApp.py:11411
msgid "Opening G-Code."
msgstr ""
-#: FlatCAMApp.py:11045
+#: FlatCAMApp.py:11420
msgid ""
"Failed to create CNCJob Object. Probable not a GCode file. Try to load it from File "
"menu.\n"
" Attempting to create a FlatCAM CNCJob Object from G-Code file failed during processing"
msgstr ""
-#: FlatCAMApp.py:11104
+#: FlatCAMApp.py:11477
msgid "Object is not HPGL2 file or empty. Aborting object creation."
msgstr ""
-#: FlatCAMApp.py:11109
+#: FlatCAMApp.py:11482
msgid "Opening HPGL2"
msgstr ""
-#: FlatCAMApp.py:11116
+#: FlatCAMApp.py:11489
msgid " Open HPGL2 failed. Probable not a HPGL2 file."
msgstr ""
-#: FlatCAMApp.py:11137
+#: FlatCAMApp.py:11509
msgid "Opening TCL Script..."
msgstr ""
-#: FlatCAMApp.py:11145
+#: FlatCAMApp.py:11517
msgid "TCL script file opened in Code Editor."
msgstr ""
-#: FlatCAMApp.py:11148
+#: FlatCAMApp.py:11520
msgid "Failed to open TCL Script."
msgstr ""
-#: FlatCAMApp.py:11176
+#: FlatCAMApp.py:11548
msgid "Opening FlatCAM Config file."
msgstr ""
-#: FlatCAMApp.py:11204
+#: FlatCAMApp.py:11576
msgid "Failed to open config file"
msgstr ""
-#: FlatCAMApp.py:11230
+#: FlatCAMApp.py:11604
msgid "Loading Project ... Please Wait ..."
msgstr ""
-#: FlatCAMApp.py:11235
+#: FlatCAMApp.py:11609
msgid "Opening FlatCAM Project file."
msgstr ""
-#: FlatCAMApp.py:11245 FlatCAMApp.py:11263
+#: FlatCAMApp.py:11619 FlatCAMApp.py:11637
msgid "Failed to open project file"
msgstr ""
-#: FlatCAMApp.py:11300
+#: FlatCAMApp.py:11674
msgid "Loading Project ... restoring"
msgstr ""
-#: FlatCAMApp.py:11310
+#: FlatCAMApp.py:11684
msgid "Project loaded from"
msgstr ""
-#: FlatCAMApp.py:11373
+#: FlatCAMApp.py:11753
msgid "Redrawing all objects"
msgstr ""
-#: FlatCAMApp.py:11405
-msgid "Available commands:\n"
-msgstr ""
-
-#: FlatCAMApp.py:11407
-msgid ""
-"\n"
-"\n"
-"Type help
for usage.\n"
-" Example: help open_gerber"
-msgstr ""
-
-#: FlatCAMApp.py:11557
-msgid "Shows list of commands."
-msgstr ""
-
-#: FlatCAMApp.py:11619
+#: FlatCAMApp.py:11842
msgid "Failed to load recent item list."
msgstr ""
-#: FlatCAMApp.py:11627
+#: FlatCAMApp.py:11849
msgid "Failed to parse recent item list."
msgstr ""
-#: FlatCAMApp.py:11638
+#: FlatCAMApp.py:11859
msgid "Failed to load recent projects item list."
msgstr ""
-#: FlatCAMApp.py:11646
+#: FlatCAMApp.py:11866
msgid "Failed to parse recent project item list."
msgstr ""
-#: FlatCAMApp.py:11706
+#: FlatCAMApp.py:11927
msgid "Clear Recent projects"
msgstr ""
-#: FlatCAMApp.py:11730
+#: FlatCAMApp.py:11951
msgid "Clear Recent files"
msgstr ""
-#: FlatCAMApp.py:11747 flatcamGUI/FlatCAMGUI.py:1276
+#: FlatCAMApp.py:11973 flatcamGUI/FlatCAMGUI.py:1348
msgid "Shortcut Key List"
msgstr ""
-#: FlatCAMApp.py:11821
+#: FlatCAMApp.py:12047
msgid "Selected Tab - Choose an Item from Project Tab"
msgstr ""
-#: FlatCAMApp.py:11822
+#: FlatCAMApp.py:12048
msgid "Details"
msgstr ""
-#: FlatCAMApp.py:11824
+#: FlatCAMApp.py:12050
msgid "The normal flow when working in FlatCAM is the following:"
msgstr ""
-#: FlatCAMApp.py:11825
+#: FlatCAMApp.py:12051
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."
msgstr ""
-#: FlatCAMApp.py:11828
+#: FlatCAMApp.py:12054
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."
msgstr ""
-#: FlatCAMApp.py:11831
+#: FlatCAMApp.py:12057
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 the Project Tab, "
@@ -1394,7 +1337,7 @@ msgid ""
"Excellon, Geometry or CNCJob object."
msgstr ""
-#: FlatCAMApp.py:11835
+#: FlatCAMApp.py:12061
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 be displayed into the Selected "
@@ -1402,11 +1345,11 @@ msgid ""
"TAB and populate it even if it was out of focus."
msgstr ""
-#: FlatCAMApp.py:11839
+#: FlatCAMApp.py:12065
msgid "You can change the parameters in this screen and the flow direction is like this:"
msgstr ""
-#: FlatCAMApp.py:11840
+#: FlatCAMApp.py:12066
msgid ""
"Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> Geometry Object --> "
"Add tools (change param in Selected Tab) --> Generate CNCJob --> CNCJob Object --> Verify "
@@ -1414,389 +1357,447 @@ msgid ""
"TAB) --> Save GCode."
msgstr ""
-#: FlatCAMApp.py:11844
+#: FlatCAMApp.py:12070
msgid ""
"A list of key shortcuts is available through an menu entry in Help --> Shortcuts List or "
"through its own key shortcut: F3."
msgstr ""
-#: FlatCAMApp.py:11906
+#: FlatCAMApp.py:12134
msgid "Failed checking for latest version. Could not connect."
msgstr ""
-#: FlatCAMApp.py:11914
+#: FlatCAMApp.py:12141
msgid "Could not parse information about latest version."
msgstr ""
-#: FlatCAMApp.py:11925
+#: FlatCAMApp.py:12151
msgid "FlatCAM is up to date!"
msgstr ""
-#: FlatCAMApp.py:11930
+#: FlatCAMApp.py:12156
msgid "Newer Version Available"
msgstr ""
-#: FlatCAMApp.py:11931
-msgid ""
-"There is a newer version of FlatCAM available for download:\n"
-"\n"
+#: FlatCAMApp.py:12158
+msgid "There is a newer version of FlatCAM available for download:"
msgstr ""
-#: FlatCAMApp.py:11933
+#: FlatCAMApp.py:12162
msgid "info"
msgstr ""
-#: FlatCAMApp.py:12012
+#: FlatCAMApp.py:12190
+msgid ""
+"OpenGL canvas initialization failed. HW or HW configuration not supported.Change the "
+"graphic engine to Legacy(2D) in Edit -> Preferences -> General tab.\n"
+"\n"
+msgstr ""
+
+#: FlatCAMApp.py:12269
msgid "All plots disabled."
msgstr ""
-#: FlatCAMApp.py:12019
+#: FlatCAMApp.py:12276
msgid "All non selected plots disabled."
msgstr ""
-#: FlatCAMApp.py:12026
+#: FlatCAMApp.py:12283
msgid "All plots enabled."
msgstr ""
-#: FlatCAMApp.py:12033
+#: FlatCAMApp.py:12289
msgid "Selected plots enabled..."
msgstr ""
-#: FlatCAMApp.py:12042
+#: FlatCAMApp.py:12297
msgid "Selected plots disabled..."
msgstr ""
-#: FlatCAMApp.py:12061
+#: FlatCAMApp.py:12330
msgid "Enabling plots ..."
msgstr ""
-#: FlatCAMApp.py:12101
+#: FlatCAMApp.py:12382
msgid "Disabling plots ..."
msgstr ""
-#: FlatCAMApp.py:12123
+#: FlatCAMApp.py:12405
msgid "Working ..."
msgstr ""
-#: FlatCAMApp.py:12224
+#: FlatCAMApp.py:12460 flatcamGUI/FlatCAMGUI.py:688
+msgid "Red"
+msgstr ""
+
+#: FlatCAMApp.py:12462 flatcamGUI/FlatCAMGUI.py:691
+msgid "Blue"
+msgstr ""
+
+#: FlatCAMApp.py:12465 flatcamGUI/FlatCAMGUI.py:694
+msgid "Yellow"
+msgstr ""
+
+#: FlatCAMApp.py:12467 flatcamGUI/FlatCAMGUI.py:697
+msgid "Green"
+msgstr ""
+
+#: FlatCAMApp.py:12469 flatcamGUI/FlatCAMGUI.py:700
+msgid "Purple"
+msgstr ""
+
+#: FlatCAMApp.py:12471 flatcamGUI/FlatCAMGUI.py:703
+msgid "Brown"
+msgstr ""
+
+#: FlatCAMApp.py:12473 FlatCAMApp.py:12529 flatcamGUI/FlatCAMGUI.py:706
+msgid "White"
+msgstr ""
+
+#: FlatCAMApp.py:12475 flatcamGUI/FlatCAMGUI.py:709
+msgid "Black"
+msgstr ""
+
+#: FlatCAMApp.py:12478 flatcamGUI/FlatCAMGUI.py:714
+msgid "Custom"
+msgstr ""
+
+#: FlatCAMApp.py:12488 flatcamGUI/FlatCAMGUI.py:722
+msgid "Default"
+msgstr ""
+
+#: FlatCAMApp.py:12512 flatcamGUI/FlatCAMGUI.py:719
+msgid "Opacity"
+msgstr ""
+
+#: FlatCAMApp.py:12514
+msgid "Set alpha level ..."
+msgstr ""
+
+#: FlatCAMApp.py:12514 flatcamGUI/PreferencesUI.py:6900 flatcamGUI/PreferencesUI.py:8230
+#: flatcamGUI/PreferencesUI.py:8444 flatcamTools/ToolExtractDrills.py:164
+#: flatcamTools/ToolExtractDrills.py:285 flatcamTools/ToolPunchGerber.py:192
+#: flatcamTools/ToolPunchGerber.py:308 flatcamTools/ToolTransform.py:358
+msgid "Value"
+msgstr ""
+
+#: FlatCAMApp.py:12590
msgid "Saving FlatCAM Project"
msgstr ""
-#: FlatCAMApp.py:12243 FlatCAMApp.py:12280
+#: FlatCAMApp.py:12611 FlatCAMApp.py:12647
msgid "Project saved to"
msgstr ""
-#: FlatCAMApp.py:12250
+#: FlatCAMApp.py:12618
msgid "The object is used by another application."
msgstr ""
-#: FlatCAMApp.py:12264
+#: FlatCAMApp.py:12632
msgid "Failed to verify project file"
msgstr ""
-#: FlatCAMApp.py:12264 FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12632 FlatCAMApp.py:12640 FlatCAMApp.py:12650
msgid "Retry to save it."
msgstr ""
-#: FlatCAMApp.py:12272 FlatCAMApp.py:12283
+#: FlatCAMApp.py:12640 FlatCAMApp.py:12650
msgid "Failed to parse saved project file"
msgstr ""
-#: FlatCAMApp.py:12398
+#: FlatCAMApp.py:13132
msgid "The user requested a graceful exit of the current task."
msgstr ""
-#: FlatCAMCommon.py:136 FlatCAMCommon.py:163
+#: FlatCAMCommon.py:137 FlatCAMCommon.py:164
msgid "Title"
msgstr ""
-#: FlatCAMCommon.py:137 FlatCAMCommon.py:167
+#: FlatCAMCommon.py:138 FlatCAMCommon.py:168
msgid "Web Link"
msgstr ""
-#: FlatCAMCommon.py:141
+#: FlatCAMCommon.py:142
msgid ""
"Index.\n"
"The rows in gray color will populate the Bookmarks menu.\n"
"The number of gray colored rows is set in Preferences."
msgstr ""
-#: FlatCAMCommon.py:145
+#: FlatCAMCommon.py:146
msgid ""
"Description of the link that is set as an menu action.\n"
"Try to keep it short because it is installed as a menu item."
msgstr ""
-#: FlatCAMCommon.py:148
+#: FlatCAMCommon.py:149
msgid "Web Link. E.g: https://your_website.org "
msgstr ""
-#: FlatCAMCommon.py:157
+#: FlatCAMCommon.py:158
msgid "New Bookmark"
msgstr ""
-#: FlatCAMCommon.py:176
+#: FlatCAMCommon.py:177
msgid "Add Entry"
msgstr ""
-#: FlatCAMCommon.py:177
+#: FlatCAMCommon.py:178
msgid "Remove Entry"
msgstr ""
-#: FlatCAMCommon.py:178
+#: FlatCAMCommon.py:179
msgid "Export List"
msgstr ""
-#: FlatCAMCommon.py:179
+#: FlatCAMCommon.py:180
msgid "Import List"
msgstr ""
-#: FlatCAMCommon.py:260
+#: FlatCAMCommon.py:261
msgid "Title entry is empty."
msgstr ""
-#: FlatCAMCommon.py:269
+#: FlatCAMCommon.py:270
msgid "Web link entry is empty."
msgstr ""
-#: FlatCAMCommon.py:277
+#: FlatCAMCommon.py:278
msgid "Either the Title or the Weblink already in the table."
msgstr ""
-#: FlatCAMCommon.py:297
+#: FlatCAMCommon.py:298
msgid "Bookmark added."
msgstr ""
-#: FlatCAMCommon.py:314
+#: FlatCAMCommon.py:315
msgid "This bookmark can not be removed"
msgstr ""
-#: FlatCAMCommon.py:345
+#: FlatCAMCommon.py:346
msgid "Bookmark removed."
msgstr ""
-#: FlatCAMCommon.py:360
+#: FlatCAMCommon.py:361
msgid "Export FlatCAM Bookmarks"
msgstr ""
-#: FlatCAMCommon.py:363 flatcamGUI/FlatCAMGUI.py:470
+#: FlatCAMCommon.py:364 flatcamGUI/FlatCAMGUI.py:509
msgid "Bookmarks"
msgstr ""
-#: FlatCAMCommon.py:370
-msgid "FlatCAM bookmarks export cancelled."
-msgstr ""
-
-#: FlatCAMCommon.py:389 FlatCAMCommon.py:419
+#: FlatCAMCommon.py:390 FlatCAMCommon.py:420
msgid "Could not load bookmarks file."
msgstr ""
-#: FlatCAMCommon.py:399
+#: FlatCAMCommon.py:400
msgid "Failed to write bookmarks to file."
msgstr ""
-#: FlatCAMCommon.py:401
+#: FlatCAMCommon.py:402
msgid "Exported bookmarks to"
msgstr ""
-#: FlatCAMCommon.py:407
+#: FlatCAMCommon.py:408
msgid "Import FlatCAM Bookmarks"
msgstr ""
-#: FlatCAMCommon.py:412
-msgid "FlatCAM bookmarks import cancelled."
-msgstr ""
-
-#: FlatCAMCommon.py:426
+#: FlatCAMCommon.py:427
msgid "Imported Bookmarks from"
msgstr ""
-#: FlatCAMCommon.py:529
+#: FlatCAMCommon.py:530
msgid "Add Geometry Tool in DB"
msgstr ""
-#: FlatCAMCommon.py:531
+#: FlatCAMCommon.py:532 FlatCAMCommon.py:2087
msgid ""
"Add a new tool in the Tools Database.\n"
"It will be used in the Geometry UI.\n"
"You can edit it after it is added."
msgstr ""
-#: FlatCAMCommon.py:545
+#: FlatCAMCommon.py:546 FlatCAMCommon.py:2101
msgid "Delete Tool from DB"
msgstr ""
-#: FlatCAMCommon.py:547
+#: FlatCAMCommon.py:548 FlatCAMCommon.py:2103
msgid "Remove a selection of tools in the Tools Database."
msgstr ""
-#: FlatCAMCommon.py:551
+#: FlatCAMCommon.py:552 FlatCAMCommon.py:2107
msgid "Export DB"
msgstr ""
-#: FlatCAMCommon.py:553
+#: FlatCAMCommon.py:554 FlatCAMCommon.py:2109
msgid "Save the Tools Database to a custom text file."
msgstr ""
-#: FlatCAMCommon.py:557
+#: FlatCAMCommon.py:558 FlatCAMCommon.py:2113
msgid "Import DB"
msgstr ""
-#: FlatCAMCommon.py:559
+#: FlatCAMCommon.py:560 FlatCAMCommon.py:2115
msgid "Load the Tools Database information's from a custom text file."
msgstr ""
-#: FlatCAMCommon.py:563
+#: FlatCAMCommon.py:564 FlatCAMCommon.py:2119
msgid "Add Tool from Tools DB"
msgstr ""
-#: FlatCAMCommon.py:565
+#: FlatCAMCommon.py:566 FlatCAMCommon.py:2121
msgid ""
"Add a new tool in the Tools Table of the\n"
"active Geometry object after selecting a tool\n"
"in the Tools Database."
msgstr ""
-#: FlatCAMCommon.py:601 FlatCAMCommon.py:1276
+#: FlatCAMCommon.py:602 FlatCAMCommon.py:1277 FlatCAMCommon.py:1531
msgid "Tool Name"
msgstr ""
-#: FlatCAMCommon.py:602 FlatCAMCommon.py:1278 flatcamEditors/FlatCAMExcEditor.py:1602
-#: flatcamGUI/ObjectUI.py:1295 flatcamTools/ToolNonCopperClear.py:271
-#: flatcamTools/ToolPaint.py:176
+#: FlatCAMCommon.py:603 FlatCAMCommon.py:1279 FlatCAMCommon.py:1544
+#: flatcamEditors/FlatCAMExcEditor.py:1605 flatcamGUI/ObjectUI.py:1343
+#: flatcamGUI/ObjectUI.py:1581 flatcamGUI/PreferencesUI.py:5971 flatcamTools/ToolNCC.py:278
+#: flatcamTools/ToolNCC.py:287 flatcamTools/ToolPaint.py:261
msgid "Tool Dia"
msgstr ""
-#: FlatCAMCommon.py:603 FlatCAMCommon.py:1280 flatcamGUI/ObjectUI.py:1278
+#: FlatCAMCommon.py:604 FlatCAMCommon.py:1281 FlatCAMCommon.py:1725
+#: flatcamGUI/ObjectUI.py:1556
msgid "Tool Offset"
msgstr ""
-#: FlatCAMCommon.py:604 FlatCAMCommon.py:1282
+#: FlatCAMCommon.py:605 FlatCAMCommon.py:1283 FlatCAMCommon.py:1742
msgid "Custom Offset"
msgstr ""
-#: FlatCAMCommon.py:605 FlatCAMCommon.py:1284 flatcamGUI/ObjectUI.py:304
-#: flatcamGUI/PreferencesUI.py:2217 flatcamGUI/PreferencesUI.py:5036
-#: flatcamTools/ToolNonCopperClear.py:213
+#: FlatCAMCommon.py:606 FlatCAMCommon.py:1285 FlatCAMCommon.py:1709
+#: flatcamGUI/ObjectUI.py:308 flatcamGUI/PreferencesUI.py:2397
+#: flatcamGUI/PreferencesUI.py:5332 flatcamGUI/PreferencesUI.py:5901
+#: flatcamGUI/PreferencesUI.py:5911 flatcamTools/ToolNCC.py:213 flatcamTools/ToolNCC.py:227
+#: flatcamTools/ToolPaint.py:196
msgid "Tool Type"
msgstr ""
-#: FlatCAMCommon.py:606 FlatCAMCommon.py:1286
+#: FlatCAMCommon.py:607 FlatCAMCommon.py:1287 FlatCAMCommon.py:1557
msgid "Tool Shape"
msgstr ""
-#: FlatCAMCommon.py:607 FlatCAMCommon.py:1289 flatcamGUI/ObjectUI.py:345
-#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1405 flatcamGUI/ObjectUI.py:1926
-#: flatcamGUI/PreferencesUI.py:2257 flatcamGUI/PreferencesUI.py:3082
-#: flatcamGUI/PreferencesUI.py:3961 flatcamGUI/PreferencesUI.py:5081
-#: flatcamGUI/PreferencesUI.py:5327 flatcamGUI/PreferencesUI.py:6145
-#: flatcamTools/ToolCalculators.py:114 flatcamTools/ToolCutOut.py:132
-#: flatcamTools/ToolNonCopperClear.py:254
+#: FlatCAMCommon.py:608 FlatCAMCommon.py:1290 FlatCAMCommon.py:1573
+#: flatcamGUI/ObjectUI.py:349 flatcamGUI/ObjectUI.py:899 flatcamGUI/ObjectUI.py:1701
+#: flatcamGUI/ObjectUI.py:2254 flatcamGUI/PreferencesUI.py:2437
+#: flatcamGUI/PreferencesUI.py:3311 flatcamGUI/PreferencesUI.py:4241
+#: flatcamGUI/PreferencesUI.py:5377 flatcamGUI/PreferencesUI.py:5666
+#: flatcamGUI/PreferencesUI.py:5944 flatcamGUI/PreferencesUI.py:5952
+#: flatcamGUI/PreferencesUI.py:6635 flatcamTools/ToolCalculators.py:114
+#: flatcamTools/ToolCutOut.py:139 flatcamTools/ToolNCC.py:260 flatcamTools/ToolNCC.py:268
+#: flatcamTools/ToolPaint.py:243
msgid "Cut Z"
msgstr ""
-#: FlatCAMCommon.py:608 FlatCAMCommon.py:1291
+#: FlatCAMCommon.py:609 FlatCAMCommon.py:1292 FlatCAMCommon.py:1587
msgid "MultiDepth"
msgstr ""
-#: FlatCAMCommon.py:609 FlatCAMCommon.py:1293
+#: FlatCAMCommon.py:610 FlatCAMCommon.py:1294 FlatCAMCommon.py:1600
msgid "DPP"
msgstr ""
-#: FlatCAMCommon.py:610 FlatCAMCommon.py:1295
+#: FlatCAMCommon.py:611 FlatCAMCommon.py:1296 FlatCAMCommon.py:1756
msgid "V-Dia"
msgstr ""
-#: FlatCAMCommon.py:611 FlatCAMCommon.py:1297
+#: FlatCAMCommon.py:612 FlatCAMCommon.py:1298 FlatCAMCommon.py:1770
msgid "V-Angle"
msgstr ""
-#: FlatCAMCommon.py:612 FlatCAMCommon.py:1299 flatcamGUI/ObjectUI.py:839
-#: flatcamGUI/ObjectUI.py:1452 flatcamGUI/PreferencesUI.py:3100
-#: flatcamGUI/PreferencesUI.py:4014 flatcamGUI/PreferencesUI.py:7535
-#: flatcamTools/ToolCalibration.py:74
+#: FlatCAMCommon.py:613 FlatCAMCommon.py:1300 FlatCAMCommon.py:1614 FlatCAMObj.py:3661
+#: FlatCAMObj.py:5486 flatcamGUI/ObjectUI.py:945 flatcamGUI/ObjectUI.py:1748
+#: flatcamGUI/PreferencesUI.py:3352 flatcamGUI/PreferencesUI.py:4294
+#: flatcamGUI/PreferencesUI.py:8041 flatcamTools/ToolCalibration.py:74
msgid "Travel Z"
msgstr ""
-#: FlatCAMCommon.py:613 FlatCAMCommon.py:1301
+#: FlatCAMCommon.py:614 FlatCAMCommon.py:1302
msgid "FR"
msgstr ""
-#: FlatCAMCommon.py:614 FlatCAMCommon.py:1303
+#: FlatCAMCommon.py:615 FlatCAMCommon.py:1304
msgid "FR Z"
msgstr ""
-#: FlatCAMCommon.py:615 FlatCAMCommon.py:1305
+#: FlatCAMCommon.py:616 FlatCAMCommon.py:1306 FlatCAMCommon.py:1784
msgid "FR Rapids"
msgstr ""
-#: FlatCAMCommon.py:616 FlatCAMCommon.py:1307 flatcamGUI/PreferencesUI.py:3173
+#: FlatCAMCommon.py:617 FlatCAMCommon.py:1308 FlatCAMCommon.py:1657
+#: flatcamGUI/PreferencesUI.py:3440
msgid "Spindle Speed"
msgstr ""
-#: FlatCAMCommon.py:617 FlatCAMCommon.py:1309 flatcamGUI/ObjectUI.py:963
-#: flatcamGUI/ObjectUI.py:1619
+#: FlatCAMCommon.py:618 FlatCAMCommon.py:1310 FlatCAMCommon.py:1672
+#: flatcamGUI/ObjectUI.py:1063 flatcamGUI/ObjectUI.py:1855
msgid "Dwell"
msgstr ""
-#: FlatCAMCommon.py:618 FlatCAMCommon.py:1311
+#: FlatCAMCommon.py:619 FlatCAMCommon.py:1312 FlatCAMCommon.py:1685
msgid "Dwelltime"
msgstr ""
-#: FlatCAMCommon.py:619 FlatCAMCommon.py:1313 flatcamGUI/ObjectUI.py:982
-#: flatcamGUI/ObjectUI.py:1640 flatcamGUI/PreferencesUI.py:3204
-#: flatcamGUI/PreferencesUI.py:4155 flatcamGUI/PreferencesUI.py:6642
-#: flatcamTools/ToolSolderPaste.py:334
+#: FlatCAMCommon.py:620 FlatCAMCommon.py:1314 flatcamGUI/ObjectUI.py:2012
+#: flatcamGUI/PreferencesUI.py:3475 flatcamGUI/PreferencesUI.py:4447
+#: flatcamGUI/PreferencesUI.py:7148 flatcamTools/ToolSolderPaste.py:336
msgid "Preprocessor"
msgstr ""
-#: FlatCAMCommon.py:620 FlatCAMCommon.py:1315
+#: FlatCAMCommon.py:621 FlatCAMCommon.py:1316 FlatCAMCommon.py:1800
msgid "ExtraCut"
msgstr ""
-#: FlatCAMCommon.py:621 FlatCAMCommon.py:1317
+#: FlatCAMCommon.py:622 FlatCAMCommon.py:1318 FlatCAMCommon.py:1815
msgid "E-Cut Length"
msgstr ""
-#: FlatCAMCommon.py:622 FlatCAMCommon.py:1319
+#: FlatCAMCommon.py:623 FlatCAMCommon.py:1320
msgid "Toolchange"
msgstr ""
-#: FlatCAMCommon.py:623 FlatCAMCommon.py:1321
+#: FlatCAMCommon.py:624 FlatCAMCommon.py:1322
msgid "Toolchange XY"
msgstr ""
-#: FlatCAMCommon.py:624 FlatCAMCommon.py:1323 flatcamGUI/PreferencesUI.py:3124
-#: flatcamGUI/PreferencesUI.py:4044 flatcamGUI/PreferencesUI.py:7572
+#: FlatCAMCommon.py:625 FlatCAMCommon.py:1324 flatcamGUI/PreferencesUI.py:3378
+#: flatcamGUI/PreferencesUI.py:4324 flatcamGUI/PreferencesUI.py:8078
#: flatcamTools/ToolCalibration.py:111
msgid "Toolchange Z"
msgstr ""
-#: FlatCAMCommon.py:625 FlatCAMCommon.py:1325 flatcamGUI/ObjectUI.py:886
-#: flatcamGUI/PreferencesUI.py:3309 flatcamGUI/PreferencesUI.py:4200
+#: FlatCAMCommon.py:626 FlatCAMCommon.py:1326 flatcamGUI/ObjectUI.py:1192
+#: flatcamGUI/PreferencesUI.py:3586 flatcamGUI/PreferencesUI.py:4493
msgid "Start Z"
msgstr ""
-#: FlatCAMCommon.py:626 FlatCAMCommon.py:1328
+#: FlatCAMCommon.py:627 FlatCAMCommon.py:1329
msgid "End Z"
msgstr ""
-#: FlatCAMCommon.py:630
+#: FlatCAMCommon.py:631
msgid "Tool Index."
msgstr ""
-#: FlatCAMCommon.py:632
+#: FlatCAMCommon.py:633 FlatCAMCommon.py:1533
msgid ""
"Tool name.\n"
"This is not used in the app, it's function\n"
"is to serve as a note for the user."
msgstr ""
-#: FlatCAMCommon.py:636
+#: FlatCAMCommon.py:637 FlatCAMCommon.py:1546
msgid "Tool Diameter."
msgstr ""
-#: FlatCAMCommon.py:638
+#: FlatCAMCommon.py:639 FlatCAMCommon.py:1727
msgid ""
"Tool Offset.\n"
"Can be of a few types:\n"
@@ -1806,13 +1807,13 @@ msgid ""
"Custom = custom offset using the Custom Offset value"
msgstr ""
-#: FlatCAMCommon.py:645
+#: FlatCAMCommon.py:646 FlatCAMCommon.py:1744
msgid ""
"Custom Offset.\n"
"A value to be used as offset from the current path."
msgstr ""
-#: FlatCAMCommon.py:648
+#: FlatCAMCommon.py:649 FlatCAMCommon.py:1711
msgid ""
"Tool Type.\n"
"Can be:\n"
@@ -1821,7 +1822,7 @@ msgid ""
"Finish = finishing cut, high feedrate"
msgstr ""
-#: FlatCAMCommon.py:654
+#: FlatCAMCommon.py:655 FlatCAMCommon.py:1559
msgid ""
"Tool Shape. \n"
"Can be:\n"
@@ -1830,57 +1831,57 @@ msgid ""
"V = v-shape milling tool"
msgstr ""
-#: FlatCAMCommon.py:660
+#: FlatCAMCommon.py:661 FlatCAMCommon.py:1575
msgid ""
"Cutting Depth.\n"
"The depth at which to cut into material."
msgstr ""
-#: FlatCAMCommon.py:663
+#: FlatCAMCommon.py:664 FlatCAMCommon.py:1589
msgid ""
"Multi Depth.\n"
"Selecting this will allow cutting in multiple passes,\n"
"each pass adding a DPP parameter depth."
msgstr ""
-#: FlatCAMCommon.py:667
+#: FlatCAMCommon.py:668 FlatCAMCommon.py:1602
msgid ""
"DPP. Depth per Pass.\n"
"The value used to cut into material on each pass."
msgstr ""
-#: FlatCAMCommon.py:670
+#: FlatCAMCommon.py:671 FlatCAMCommon.py:1758
msgid ""
"V-Dia.\n"
"Diameter of the tip for V-Shape Tools."
msgstr ""
-#: FlatCAMCommon.py:673
+#: FlatCAMCommon.py:674 FlatCAMCommon.py:1772
msgid ""
"V-Agle.\n"
"Angle at the tip for the V-Shape Tools."
msgstr ""
-#: FlatCAMCommon.py:676
+#: FlatCAMCommon.py:677 FlatCAMCommon.py:1616
msgid ""
"Clearance Height.\n"
"Height at which the milling bit will travel between cuts,\n"
"above the surface of the material, avoiding all fixtures."
msgstr ""
-#: FlatCAMCommon.py:680
+#: FlatCAMCommon.py:681
msgid ""
"FR. Feedrate\n"
"The speed on XY plane used while cutting into material."
msgstr ""
-#: FlatCAMCommon.py:683
+#: FlatCAMCommon.py:684
msgid ""
"FR Z. Feedrate Z\n"
"The speed on Z plane."
msgstr ""
-#: FlatCAMCommon.py:686
+#: FlatCAMCommon.py:687 FlatCAMCommon.py:1786
msgid ""
"FR Rapids. Feedrate Rapids\n"
"Speed used while moving as fast as possible.\n"
@@ -1888,34 +1889,34 @@ msgid ""
"the G0 g-code command. Mostly 3D printers."
msgstr ""
-#: FlatCAMCommon.py:691
+#: FlatCAMCommon.py:692 FlatCAMCommon.py:1659
msgid ""
"Spindle Speed.\n"
"If it's left empty it will not be used.\n"
"The speed of the spindle in RPM."
msgstr ""
-#: FlatCAMCommon.py:695
+#: FlatCAMCommon.py:696 FlatCAMCommon.py:1674
msgid ""
"Dwell.\n"
"Check this if a delay is needed to allow\n"
"the spindle motor to reach it's set speed."
msgstr ""
-#: FlatCAMCommon.py:699
+#: FlatCAMCommon.py:700 FlatCAMCommon.py:1687
msgid ""
"Dwell Time.\n"
"A delay used to allow the motor spindle reach it's set speed."
msgstr ""
-#: FlatCAMCommon.py:702
+#: FlatCAMCommon.py:703
msgid ""
"Preprocessor.\n"
"A selection of files that will alter the generated G-code\n"
"to fit for a number of use cases."
msgstr ""
-#: FlatCAMCommon.py:706
+#: FlatCAMCommon.py:707 FlatCAMCommon.py:1802
msgid ""
"Extra Cut.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -1924,7 +1925,7 @@ msgid ""
"ensure a complete isolation."
msgstr ""
-#: FlatCAMCommon.py:712
+#: FlatCAMCommon.py:713 FlatCAMCommon.py:1817
msgid ""
"Extra Cut length.\n"
"If checked, after a isolation is finished an extra cut\n"
@@ -1934,7 +1935,7 @@ msgid ""
"the extra cut."
msgstr ""
-#: FlatCAMCommon.py:719
+#: FlatCAMCommon.py:720
msgid ""
"Toolchange.\n"
"It will create a toolchange event.\n"
@@ -1942,7 +1943,7 @@ msgid ""
"the preprocessor file."
msgstr ""
-#: FlatCAMCommon.py:724
+#: FlatCAMCommon.py:725
msgid ""
"Toolchange XY.\n"
"A set of coordinates in the format (x, y).\n"
@@ -1950,476 +1951,784 @@ msgid ""
"where the tool change event take place."
msgstr ""
-#: FlatCAMCommon.py:729
+#: FlatCAMCommon.py:730
msgid ""
"Toolchange Z.\n"
"The position on Z plane where the tool change event take place."
msgstr ""
-#: FlatCAMCommon.py:732
+#: FlatCAMCommon.py:733
msgid ""
"Start Z.\n"
"If it's left empty it will not be used.\n"
"A position on Z plane to move immediately after job start."
msgstr ""
-#: FlatCAMCommon.py:736
+#: FlatCAMCommon.py:737
msgid ""
"End Z.\n"
"A position on Z plane to move immediately after job stop."
msgstr ""
-#: FlatCAMCommon.py:748 FlatCAMCommon.py:1125 FlatCAMCommon.py:1159
+#: FlatCAMCommon.py:749 FlatCAMCommon.py:1126 FlatCAMCommon.py:1160 FlatCAMCommon.py:2335
+#: FlatCAMCommon.py:2556 FlatCAMCommon.py:2590
msgid "Could not load Tools DB file."
msgstr ""
-#: FlatCAMCommon.py:756 FlatCAMCommon.py:1167
+#: FlatCAMCommon.py:757 FlatCAMCommon.py:1168 FlatCAMCommon.py:2343 FlatCAMCommon.py:2598
msgid "Failed to parse Tools DB file."
msgstr ""
-#: FlatCAMCommon.py:759 FlatCAMCommon.py:1170
+#: FlatCAMCommon.py:760 FlatCAMCommon.py:1171 FlatCAMCommon.py:2346 FlatCAMCommon.py:2601
msgid "Loaded FlatCAM Tools DB from"
msgstr ""
-#: FlatCAMCommon.py:765
+#: FlatCAMCommon.py:766 FlatCAMCommon.py:2260
msgid "Add to DB"
msgstr ""
-#: FlatCAMCommon.py:767
+#: FlatCAMCommon.py:768 FlatCAMCommon.py:2263
msgid "Copy from DB"
msgstr ""
-#: FlatCAMCommon.py:769
+#: FlatCAMCommon.py:770 FlatCAMCommon.py:2266
msgid "Delete from DB"
msgstr ""
-#: FlatCAMCommon.py:1046
+#: FlatCAMCommon.py:1047 FlatCAMCommon.py:2473
msgid "Tool added to DB."
msgstr ""
-#: FlatCAMCommon.py:1067
+#: FlatCAMCommon.py:1068 FlatCAMCommon.py:2497
msgid "Tool copied from Tools DB."
msgstr ""
-#: FlatCAMCommon.py:1085
+#: FlatCAMCommon.py:1086 FlatCAMCommon.py:2516
msgid "Tool removed from Tools DB."
msgstr ""
-#: FlatCAMCommon.py:1096
+#: FlatCAMCommon.py:1097 FlatCAMCommon.py:2527
msgid "Export Tools Database"
msgstr ""
-#: FlatCAMCommon.py:1099
+#: FlatCAMCommon.py:1100 FlatCAMCommon.py:2530
msgid "Tools_Database"
msgstr ""
-#: FlatCAMCommon.py:1106
-msgid "FlatCAM Tools DB export cancelled."
-msgstr ""
-
-#: FlatCAMCommon.py:1136 FlatCAMCommon.py:1139 FlatCAMCommon.py:1191
+#: FlatCAMCommon.py:1137 FlatCAMCommon.py:1140 FlatCAMCommon.py:1192 FlatCAMCommon.py:2567
+#: FlatCAMCommon.py:2570 FlatCAMCommon.py:2622
msgid "Failed to write Tools DB to file."
msgstr ""
-#: FlatCAMCommon.py:1142
+#: FlatCAMCommon.py:1143 FlatCAMCommon.py:2573
msgid "Exported Tools DB to"
msgstr ""
-#: FlatCAMCommon.py:1149
+#: FlatCAMCommon.py:1150 FlatCAMCommon.py:2580
msgid "Import FlatCAM Tools DB"
msgstr ""
-#: FlatCAMCommon.py:1152
-msgid "FlatCAM Tools DB import cancelled."
-msgstr ""
-
-#: FlatCAMCommon.py:1195
+#: FlatCAMCommon.py:1196 FlatCAMCommon.py:2626
msgid "Saved Tools DB."
msgstr ""
-#: FlatCAMCommon.py:1342
+#: FlatCAMCommon.py:1343 FlatCAMCommon.py:2807
msgid "No Tool/row selected in the Tools Database table"
msgstr ""
-#: FlatCAMCommon.py:1360
+#: FlatCAMCommon.py:1361 FlatCAMCommon.py:2824
msgid "Cancelled adding tool from DB."
msgstr ""
-#: FlatCAMObj.py:257
+#: FlatCAMCommon.py:1462
+msgid "Basic Geo Parameters"
+msgstr ""
+
+#: FlatCAMCommon.py:1474
+msgid "Advanced Geo Parameters"
+msgstr ""
+
+#: FlatCAMCommon.py:1486
+msgid "NCC Parameters"
+msgstr ""
+
+#: FlatCAMCommon.py:1498
+msgid "Paint Parameters"
+msgstr ""
+
+#: FlatCAMCommon.py:1629 flatcamGUI/ObjectUI.py:966 flatcamGUI/ObjectUI.py:1767
+#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:7059
+#: flatcamTools/ToolSolderPaste.py:254
+msgid "Feedrate X-Y"
+msgstr ""
+
+#: FlatCAMCommon.py:1631
+msgid ""
+"Feedrate X-Y. Feedrate\n"
+"The speed on XY plane used while cutting into material."
+msgstr ""
+
+#: FlatCAMCommon.py:1643 flatcamGUI/ObjectUI.py:981 flatcamGUI/ObjectUI.py:1781
+#: flatcamGUI/PreferencesUI.py:3425 flatcamGUI/PreferencesUI.py:4393
+#: flatcamGUI/PreferencesUI.py:7072 flatcamTools/ToolSolderPaste.py:266
+msgid "Feedrate Z"
+msgstr ""
+
+#: FlatCAMCommon.py:1645
+msgid ""
+"Feedrate Z\n"
+"The speed on Z plane."
+msgstr ""
+
+#: FlatCAMCommon.py:1843 flatcamGUI/ObjectUI.py:844 flatcamGUI/PreferencesUI.py:3264
+#: flatcamTools/ToolNCC.py:341
+msgid "Operation"
+msgstr ""
+
+#: FlatCAMCommon.py:1845 flatcamTools/ToolNCC.py:343
+msgid ""
+"The 'Operation' can be:\n"
+"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
+"If it's not successful then the non-copper clearing will fail, too.\n"
+"- Clear -> the regular non-copper clearing."
+msgstr ""
+
+#: FlatCAMCommon.py:1852 flatcamEditors/FlatCAMGrbEditor.py:2739
+#: flatcamGUI/GUIElements.py:2577 flatcamTools/ToolNCC.py:350
+msgid "Clear"
+msgstr ""
+
+#: FlatCAMCommon.py:1853 flatcamTools/ToolNCC.py:351 flatcamTools/ToolNCC.py:1627
+msgid "Isolation"
+msgstr ""
+
+#: FlatCAMCommon.py:1861 flatcamGUI/ObjectUI.py:408 flatcamGUI/ObjectUI.py:866
+#: flatcamGUI/PreferencesUI.py:2257 flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:4665 flatcamGUI/PreferencesUI.py:5416
+#: flatcamTools/ToolNCC.py:359
+msgid "Milling Type"
+msgstr ""
+
+#: FlatCAMCommon.py:1863 FlatCAMCommon.py:1871 flatcamGUI/PreferencesUI.py:5418
+#: flatcamGUI/PreferencesUI.py:5426 flatcamTools/ToolNCC.py:361 flatcamTools/ToolNCC.py:369
+msgid ""
+"Milling type when the selected tool is of type: 'iso_op':\n"
+"- climb / best for precision milling and to reduce tool usage\n"
+"- conventional / useful when there is no backlash compensation"
+msgstr ""
+
+#: FlatCAMCommon.py:1868 flatcamGUI/ObjectUI.py:414 flatcamGUI/PreferencesUI.py:2264
+#: flatcamGUI/PreferencesUI.py:4671 flatcamGUI/PreferencesUI.py:5423
+#: flatcamTools/ToolNCC.py:366
+msgid "Climb"
+msgstr ""
+
+#: FlatCAMCommon.py:1869 flatcamGUI/ObjectUI.py:415 flatcamGUI/PreferencesUI.py:2265
+#: flatcamGUI/PreferencesUI.py:4672 flatcamGUI/PreferencesUI.py:5424
+#: flatcamTools/ToolNCC.py:367
+msgid "Conventional"
+msgstr ""
+
+#: FlatCAMCommon.py:1881 FlatCAMCommon.py:1990 flatcamEditors/FlatCAMGeoEditor.py:452
+#: flatcamGUI/PreferencesUI.py:5461 flatcamGUI/PreferencesUI.py:6002
+#: flatcamTools/ToolNCC.py:382 flatcamTools/ToolPaint.py:329
+msgid "Overlap"
+msgstr ""
+
+#: FlatCAMCommon.py:1883 flatcamGUI/PreferencesUI.py:5463 flatcamTools/ToolNCC.py:384
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be cleared are still \n"
+"not cleared.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+
+#: FlatCAMCommon.py:1902 FlatCAMCommon.py:2011 flatcamEditors/FlatCAMGeoEditor.py:472
+#: flatcamGUI/PreferencesUI.py:5481 flatcamGUI/PreferencesUI.py:5723
+#: flatcamGUI/PreferencesUI.py:6022 flatcamGUI/PreferencesUI.py:7681
+#: flatcamGUI/PreferencesUI.py:7838 flatcamGUI/PreferencesUI.py:7923
+#: flatcamGUI/PreferencesUI.py:8570 flatcamGUI/PreferencesUI.py:8578
+#: flatcamTools/ToolCopperThieving.py:112 flatcamTools/ToolCopperThieving.py:363
+#: flatcamTools/ToolCutOut.py:191 flatcamTools/ToolFiducials.py:172
+#: flatcamTools/ToolInvertGerber.py:88 flatcamTools/ToolInvertGerber.py:96
+#: flatcamTools/ToolNCC.py:403 flatcamTools/ToolPaint.py:350
+msgid "Margin"
+msgstr ""
+
+#: FlatCAMCommon.py:1904 flatcamGUI/PreferencesUI.py:5483 flatcamGUI/PreferencesUI.py:7683
+#: flatcamGUI/PreferencesUI.py:7925 flatcamGUI/PreferencesUI.py:7989
+#: flatcamTools/ToolCopperThieving.py:114 flatcamTools/ToolFiducials.py:174
+#: flatcamTools/ToolFiducials.py:237 flatcamTools/ToolNCC.py:405
+msgid "Bounding box margin."
+msgstr ""
+
+#: FlatCAMCommon.py:1915 FlatCAMCommon.py:2026 flatcamEditors/FlatCAMGeoEditor.py:486
+#: flatcamGUI/PreferencesUI.py:5494 flatcamGUI/PreferencesUI.py:6037
+#: flatcamGUI/PreferencesUI.py:8204 flatcamGUI/PreferencesUI.py:8417
+#: flatcamTools/ToolExtractDrills.py:128 flatcamTools/ToolNCC.py:416
+#: flatcamTools/ToolPaint.py:365 flatcamTools/ToolPunchGerber.py:139
+msgid "Method"
+msgstr ""
+
+#: FlatCAMCommon.py:1917 flatcamGUI/PreferencesUI.py:5496 flatcamTools/ToolNCC.py:418
+msgid ""
+"Algorithm for copper clearing:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
+msgstr ""
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040 flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamGUI/PreferencesUI.py:5509 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolNCC.py:431 flatcamTools/ToolNCC.py:2395 flatcamTools/ToolNCC.py:2424
+#: flatcamTools/ToolNCC.py:2693 flatcamTools/ToolNCC.py:2725 flatcamTools/ToolPaint.py:390
+#: flatcamTools/ToolPaint.py:1822 tclCommands/TclCommandCopperClear.py:126
+#: tclCommands/TclCommandCopperClear.py:134 tclCommands/TclCommandPaint.py:125
+msgid "Standard"
+msgstr ""
+
+#: FlatCAMCommon.py:1925 FlatCAMCommon.py:2040 flatcamEditors/FlatCAMGeoEditor.py:500
+#: flatcamEditors/FlatCAMGeoEditor.py:5156 flatcamGUI/PreferencesUI.py:5509
+#: flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolNCC.py:431
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:696
+#: flatcamTools/ToolPaint.py:1850 tclCommands/TclCommandCopperClear.py:130
+#: tclCommands/TclCommandPaint.py:129
+msgid "Lines"
+msgstr ""
+
+#: FlatCAMCommon.py:1933 FlatCAMCommon.py:2051 flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:6063 flatcamTools/ToolNCC.py:439
+#: flatcamTools/ToolPaint.py:401
+msgid "Connect"
+msgstr ""
+
+#: FlatCAMCommon.py:1937 FlatCAMCommon.py:2054 flatcamEditors/FlatCAMGeoEditor.py:509
+#: flatcamGUI/PreferencesUI.py:5518 flatcamGUI/PreferencesUI.py:6065
+#: flatcamTools/ToolNCC.py:443 flatcamTools/ToolPaint.py:404
+msgid ""
+"Draw lines between resulting\n"
+"segments to minimize tool lifts."
+msgstr ""
+
+#: FlatCAMCommon.py:1943 FlatCAMCommon.py:2058 flatcamGUI/PreferencesUI.py:5525
+#: flatcamGUI/PreferencesUI.py:6071 flatcamTools/ToolNCC.py:449
+#: flatcamTools/ToolPaint.py:408
+msgid "Contour"
+msgstr ""
+
+#: FlatCAMCommon.py:1947 FlatCAMCommon.py:2061 flatcamEditors/FlatCAMGeoEditor.py:519
+#: flatcamGUI/PreferencesUI.py:5527 flatcamGUI/PreferencesUI.py:6073
+#: flatcamTools/ToolNCC.py:453 flatcamTools/ToolPaint.py:411
+msgid ""
+"Cut around the perimeter of the polygon\n"
+"to trim rough edges."
+msgstr ""
+
+#: FlatCAMCommon.py:1953 flatcamEditors/FlatCAMGeoEditor.py:613
+#: flatcamEditors/FlatCAMGrbEditor.py:5145 flatcamGUI/ObjectUI.py:142
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244 flatcamGUI/PreferencesUI.py:5534
+#: flatcamGUI/PreferencesUI.py:6822 flatcamTools/ToolNCC.py:459
+#: flatcamTools/ToolTransform.py:29
+msgid "Offset"
+msgstr ""
+
+#: FlatCAMCommon.py:1957 flatcamGUI/PreferencesUI.py:5536 flatcamTools/ToolNCC.py:463
+msgid ""
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0 and 10 FlatCAM units."
+msgstr ""
+
+#: FlatCAMCommon.py:1992 flatcamEditors/FlatCAMGeoEditor.py:454
+#: flatcamGUI/PreferencesUI.py:6004 flatcamTools/ToolPaint.py:331
+msgid ""
+"How much (percentage) of the tool width to overlap each tool pass.\n"
+"Adjust the value starting with lower values\n"
+"and increasing it if areas that should be painted are still \n"
+"not painted.\n"
+"Lower values = faster processing, faster execution on CNC.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+
+#: FlatCAMCommon.py:2013 flatcamEditors/FlatCAMGeoEditor.py:474
+#: flatcamGUI/PreferencesUI.py:6024 flatcamTools/ToolPaint.py:352
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the polygon to\n"
+"be painted."
+msgstr ""
+
+#: FlatCAMCommon.py:2028 flatcamGUI/PreferencesUI.py:6039 flatcamTools/ToolPaint.py:367
+msgid ""
+"Algorithm for painting:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines.\n"
+"- Laser-lines: Active only for Gerber objects.\n"
+"Will create lines that follow the traces.\n"
+"- Combo: In case of failure a new method will be picked from the above\n"
+"in the order specified."
+msgstr ""
+
+#: FlatCAMCommon.py:2040 FlatCAMCommon.py:2042 flatcamGUI/PreferencesUI.py:6056
+#: flatcamTools/ToolPaint.py:390 flatcamTools/ToolPaint.py:392 flatcamTools/ToolPaint.py:690
+#: flatcamTools/ToolPaint.py:695 flatcamTools/ToolPaint.py:1864
+#: tclCommands/TclCommandPaint.py:131
+msgid "Laser_lines"
+msgstr ""
+
+#: FlatCAMCommon.py:2040 flatcamGUI/PreferencesUI.py:6056 flatcamTools/ToolPaint.py:390
+#: flatcamTools/ToolPaint.py:2015 tclCommands/TclCommandPaint.py:133
+msgid "Combo"
+msgstr ""
+
+#: FlatCAMCommon.py:2085
+msgid "Add Tool in DB"
+msgstr ""
+
+#: FlatCAMObj.py:264
msgid "Name changed from"
msgstr ""
-#: FlatCAMObj.py:257
+#: FlatCAMObj.py:264
msgid "to"
msgstr ""
-#: FlatCAMObj.py:268
+#: FlatCAMObj.py:275
msgid "Offsetting..."
msgstr ""
-#: FlatCAMObj.py:282 FlatCAMObj.py:287
+#: FlatCAMObj.py:289 FlatCAMObj.py:294
msgid "Scaling could not be executed."
msgstr ""
-#: FlatCAMObj.py:291 FlatCAMObj.py:299
+#: FlatCAMObj.py:298 FlatCAMObj.py:306
msgid "Scale done."
msgstr ""
-#: FlatCAMObj.py:297
+#: FlatCAMObj.py:304
msgid "Scaling..."
msgstr ""
-#: FlatCAMObj.py:315
+#: FlatCAMObj.py:322
msgid "Skewing..."
msgstr ""
-#: FlatCAMObj.py:736 FlatCAMObj.py:2746 FlatCAMObj.py:3968 flatcamGUI/PreferencesUI.py:1470
-#: flatcamGUI/PreferencesUI.py:2859
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/ObjectUI.py:449
+#: flatcamGUI/PreferencesUI.py:6527 flatcamTools/ToolAlignObjects.py:73
+#: flatcamTools/ToolAlignObjects.py:109 flatcamTools/ToolCalibration.py:196
+#: flatcamTools/ToolCalibration.py:631 flatcamTools/ToolCalibration.py:648
+#: flatcamTools/ToolCalibration.py:807 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145 flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:92
+#: flatcamTools/ToolDblSided.py:225 flatcamTools/ToolFilm.py:69 flatcamTools/ToolFilm.py:102
+#: flatcamTools/ToolFilm.py:549 flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:252 flatcamTools/ToolImage.py:273 flatcamTools/ToolNCC.py:96
+#: flatcamTools/ToolNCC.py:558 flatcamTools/ToolNCC.py:1293 flatcamTools/ToolPaint.py:502
+#: flatcamTools/ToolPaint.py:703 flatcamTools/ToolPanelize.py:118
+#: flatcamTools/ToolPanelize.py:204 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Gerber"
+msgstr ""
+
+#: FlatCAMObj.py:743 FlatCAMObj.py:831 flatcamGUI/FlatCAMGUI.py:2154
+#: flatcamGUI/ObjectUI.py:449 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:815
+#: flatcamTools/ToolCopperThieving.py:145 flatcamTools/ToolCopperThieving.py:159
+#: flatcamTools/ToolCopperThieving.py:605 flatcamTools/ToolCutOut.py:93
+#: flatcamTools/ToolDblSided.py:227 flatcamTools/ToolFilm.py:69 flatcamTools/ToolFilm.py:102
+#: flatcamTools/ToolFilm.py:549 flatcamTools/ToolFilm.py:557 flatcamTools/ToolImage.py:49
+#: flatcamTools/ToolImage.py:271 flatcamTools/ToolNCC.py:95 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1293 flatcamTools/ToolPaint.py:502 flatcamTools/ToolPaint.py:703
+#: flatcamTools/ToolPanelize.py:118 flatcamTools/ToolPanelize.py:374
+#: flatcamTools/ToolPanelize.py:391
+msgid "Geometry"
+msgstr ""
+
+#: FlatCAMObj.py:755 FlatCAMObj.py:2957 FlatCAMObj.py:4421 flatcamGUI/PreferencesUI.py:1646
+#: flatcamGUI/PreferencesUI.py:3041
msgid "Basic"
msgstr ""
-#: FlatCAMObj.py:763 FlatCAMObj.py:2758 FlatCAMObj.py:3989 flatcamGUI/PreferencesUI.py:1471
+#: FlatCAMObj.py:782 FlatCAMObj.py:2970 FlatCAMObj.py:4442 flatcamGUI/PreferencesUI.py:1647
msgid "Advanced"
msgstr ""
-#: FlatCAMObj.py:980
+#: FlatCAMObj.py:998
msgid "Buffering solid geometry"
msgstr ""
-#: FlatCAMObj.py:983 camlib.py:965 flatcamGUI/PreferencesUI.py:2296
-#: flatcamTools/ToolCopperThieving.py:1011 flatcamTools/ToolCopperThieving.py:1200
-#: flatcamTools/ToolCopperThieving.py:1212 flatcamTools/ToolNonCopperClear.py:1624
-#: flatcamTools/ToolNonCopperClear.py:1721 flatcamTools/ToolNonCopperClear.py:1732
-#: flatcamTools/ToolNonCopperClear.py:2015 flatcamTools/ToolNonCopperClear.py:2111
-#: flatcamTools/ToolNonCopperClear.py:2123
+#: FlatCAMObj.py:1001 camlib.py:979 flatcamGUI/PreferencesUI.py:2476
+#: flatcamTools/ToolCopperThieving.py:1017 flatcamTools/ToolCopperThieving.py:1206
+#: flatcamTools/ToolCopperThieving.py:1218 flatcamTools/ToolNCC.py:2050
+#: flatcamTools/ToolNCC.py:2158 flatcamTools/ToolNCC.py:2172 flatcamTools/ToolNCC.py:3103
+#: flatcamTools/ToolNCC.py:3208 flatcamTools/ToolNCC.py:3223 flatcamTools/ToolNCC.py:3489
+#: flatcamTools/ToolNCC.py:3590 flatcamTools/ToolNCC.py:3605
msgid "Buffering"
msgstr ""
-#: FlatCAMObj.py:989
+#: FlatCAMObj.py:1007
msgid "Done"
msgstr ""
-#: FlatCAMObj.py:1040
+#: FlatCAMObj.py:1032 FlatCAMObj.py:1058
+msgid "Operation could not be done."
+msgstr ""
+
+#: FlatCAMObj.py:1075
msgid "Isolating..."
msgstr ""
-#: FlatCAMObj.py:1099
+#: FlatCAMObj.py:1134
msgid "Click on a polygon to isolate it."
msgstr ""
-#: FlatCAMObj.py:1138 FlatCAMObj.py:1243 flatcamTools/ToolPaint.py:1120
+#: FlatCAMObj.py:1173 FlatCAMObj.py:1277 flatcamTools/ToolPaint.py:1504
msgid "Added polygon"
msgstr ""
-#: FlatCAMObj.py:1140 FlatCAMObj.py:1245
+#: FlatCAMObj.py:1174 FlatCAMObj.py:1279
msgid "Click to add next polygon or right click to start isolation."
msgstr ""
-#: FlatCAMObj.py:1152 flatcamTools/ToolPaint.py:1134
+#: FlatCAMObj.py:1186 flatcamTools/ToolPaint.py:1518
msgid "Removed polygon"
msgstr ""
-#: FlatCAMObj.py:1153
+#: FlatCAMObj.py:1187
msgid "Click to add/remove next polygon or right click to start isolation."
msgstr ""
-#: FlatCAMObj.py:1158 flatcamTools/ToolPaint.py:1140
+#: FlatCAMObj.py:1192 flatcamTools/ToolPaint.py:1524
msgid "No polygon detected under click position."
msgstr ""
-#: FlatCAMObj.py:1179 flatcamTools/ToolPaint.py:1169
+#: FlatCAMObj.py:1213 flatcamTools/ToolPaint.py:1553
msgid "List of single polygons is empty. Aborting."
msgstr ""
-#: FlatCAMObj.py:1248
+#: FlatCAMObj.py:1282
msgid "No polygon in selection."
msgstr ""
-#: FlatCAMObj.py:1324 FlatCAMObj.py:1457 flatcamTools/ToolNonCopperClear.py:1653
-#: flatcamTools/ToolNonCopperClear.py:2039
-msgid "Isolation geometry could not be generated."
-msgstr ""
-
-#: FlatCAMObj.py:1374 FlatCAMObj.py:3637 FlatCAMObj.py:3922 FlatCAMObj.py:4221
+#: FlatCAMObj.py:1394 FlatCAMObj.py:1542 FlatCAMObj.py:4055 FlatCAMObj.py:4375
+#: FlatCAMObj.py:4762
msgid "Rough"
msgstr ""
-#: FlatCAMObj.py:1400 FlatCAMObj.py:1480
+#: FlatCAMObj.py:1410 FlatCAMObj.py:1489 flatcamTools/ToolNCC.py:2086
+#: flatcamTools/ToolNCC.py:3137 flatcamTools/ToolNCC.py:3516
+msgid "Isolation geometry could not be generated."
+msgstr ""
+
+#: FlatCAMObj.py:1435 FlatCAMObj.py:1567
msgid "Isolation geometry created"
msgstr ""
-#: FlatCAMObj.py:1409 FlatCAMObj.py:1487
+#: FlatCAMObj.py:1444 FlatCAMObj.py:1574
msgid "Subtracting Geo"
msgstr ""
-#: FlatCAMObj.py:1807
+#: FlatCAMObj.py:1899
msgid "Plotting Apertures"
msgstr ""
-#: FlatCAMObj.py:2573 flatcamEditors/FlatCAMExcEditor.py:2427
+#: FlatCAMObj.py:2753 flatcamEditors/FlatCAMExcEditor.py:2453
msgid "Total Drills"
msgstr ""
-#: FlatCAMObj.py:2605 flatcamEditors/FlatCAMExcEditor.py:2459
+#: FlatCAMObj.py:2784 flatcamEditors/FlatCAMExcEditor.py:2485
msgid "Total Slots"
msgstr ""
-#: FlatCAMObj.py:3060 FlatCAMObj.py:3155 FlatCAMObj.py:3276
-msgid "Please select one or more tools from the list and try again."
-msgstr ""
-
-#: FlatCAMObj.py:3067
-msgid "Milling tool for DRILLS is larger than hole size. Cancelled."
-msgstr ""
-
-#: FlatCAMObj.py:3068 FlatCAMObj.py:4533 flatcamEditors/FlatCAMGeoEditor.py:408
-#: flatcamGUI/FlatCAMGUI.py:457 flatcamGUI/FlatCAMGUI.py:1072 flatcamGUI/ObjectUI.py:1353
-msgid "Tool"
-msgstr ""
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-msgid "Tool_nr"
-msgstr ""
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-#: flatcamEditors/FlatCAMExcEditor.py:1582 flatcamEditors/FlatCAMExcEditor.py:3048
-#: flatcamGUI/ObjectUI.py:777 flatcamTools/ToolNonCopperClear.py:120
-#: flatcamTools/ToolPaint.py:123 flatcamTools/ToolPcbWizard.py:76
-#: flatcamTools/ToolProperties.py:396 flatcamTools/ToolProperties.py:449
-#: flatcamTools/ToolSolderPaste.py:84
-msgid "Diameter"
-msgstr ""
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-msgid "Drills_Nr"
-msgstr ""
-
-#: FlatCAMObj.py:3084 FlatCAMObj.py:3177 FlatCAMObj.py:3295
-msgid "Slots_Nr"
-msgstr ""
-
-#: FlatCAMObj.py:3164
-msgid "Milling tool for SLOTS is larger than hole size. Cancelled."
-msgstr ""
-
-#: FlatCAMObj.py:3336
-msgid "Wrong value format for self.defaults[\"z_pdepth\"] or self.options[\"z_pdepth\"]"
-msgstr ""
-
-#: FlatCAMObj.py:3347
-msgid ""
-"Wrong value format for self.defaults[\"feedrate_probe\"] or self.options[\"feedrate_probe"
-"\"]"
-msgstr ""
-
-#: FlatCAMObj.py:3377 FlatCAMObj.py:5354 FlatCAMObj.py:5358 FlatCAMObj.py:5493
-msgid "Generating CNC Code"
-msgstr ""
-
-#: FlatCAMObj.py:3637 FlatCAMObj.py:4632 FlatCAMObj.py:4633 FlatCAMObj.py:4642
-msgid "Iso"
-msgstr ""
-
-#: FlatCAMObj.py:3637
-msgid "Finish"
-msgstr ""
-
-#: FlatCAMObj.py:3957
-msgid "Add from Tool DB"
-msgstr ""
-
-#: FlatCAMObj.py:3960 flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:794
-#: flatcamGUI/FlatCAMGUI.py:989 flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2159
-#: flatcamGUI/FlatCAMGUI.py:2378 flatcamGUI/FlatCAMGUI.py:2557 flatcamGUI/ObjectUI.py:1324
-#: flatcamTools/ToolPanelize.py:534 flatcamTools/ToolPanelize.py:561
-#: flatcamTools/ToolPanelize.py:660 flatcamTools/ToolPanelize.py:694
-#: flatcamTools/ToolPanelize.py:759
-msgid "Copy"
-msgstr ""
-
-#: FlatCAMObj.py:4054 FlatCAMObj.py:4397 FlatCAMObj.py:5107 FlatCAMObj.py:5744
-#: flatcamEditors/FlatCAMExcEditor.py:2534 flatcamEditors/FlatCAMGeoEditor.py:1078
-#: flatcamEditors/FlatCAMGeoEditor.py:1112 flatcamEditors/FlatCAMGeoEditor.py:1133
-#: flatcamEditors/FlatCAMGeoEditor.py:1154 flatcamEditors/FlatCAMGeoEditor.py:1191
-#: flatcamEditors/FlatCAMGeoEditor.py:1219 flatcamEditors/FlatCAMGeoEditor.py:1240
-#: flatcamTools/ToolNonCopperClear.py:1052 flatcamTools/ToolNonCopperClear.py:1461
-#: flatcamTools/ToolPaint.py:835 flatcamTools/ToolPaint.py:1019
-#: flatcamTools/ToolPaint.py:2198 flatcamTools/ToolSolderPaste.py:882
-#: flatcamTools/ToolSolderPaste.py:957
-msgid "Wrong value format entered, use a number."
-msgstr ""
-
-#: FlatCAMObj.py:4240
-msgid "Tool added in Tool Table."
-msgstr ""
-
-#: FlatCAMObj.py:4347 FlatCAMObj.py:4356
-msgid "Failed. Select a tool to copy."
-msgstr ""
-
-#: FlatCAMObj.py:4383
-msgid "Tool was copied in Tool Table."
-msgstr ""
-
-#: FlatCAMObj.py:4411
-msgid "Tool was edited in Tool Table."
-msgstr ""
-
-#: FlatCAMObj.py:4440 FlatCAMObj.py:4449
-msgid "Failed. Select a tool to delete."
-msgstr ""
-
-#: FlatCAMObj.py:4472
-msgid "Tool was deleted in Tool Table."
-msgstr ""
-
-#: FlatCAMObj.py:4533 flatcamGUI/ObjectUI.py:1353
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3069 FlatCAMObj.py:3085 FlatCAMObj.py:3089
+#: FlatCAMObj.py:4242 FlatCAMObj.py:4667 FlatCAMObj.py:4703 flatcamGUI/ObjectUI.py:817
+#: flatcamGUI/ObjectUI.py:1660 flatcamTools/ToolNCC.py:331 flatcamTools/ToolNCC.py:794
+#: flatcamTools/ToolNCC.py:808 flatcamTools/ToolNCC.py:1189 flatcamTools/ToolPaint.py:314
+#: flatcamTools/ToolPaint.py:764 flatcamTools/ToolPaint.py:776
+#: flatcamTools/ToolPaint.py:1159
msgid "Parameters for"
msgstr ""
-#: FlatCAMObj.py:4967
+#: FlatCAMObj.py:2857 FlatCAMObj.py:3089 FlatCAMObj.py:4242 FlatCAMObj.py:4703
+#: flatcamTools/ToolNCC.py:808 flatcamTools/ToolNCC.py:1189 flatcamTools/ToolPaint.py:776
+#: flatcamTools/ToolPaint.py:1159
+msgid "Multiple Tools"
+msgstr ""
+
+#: FlatCAMObj.py:3069
+msgid "No Tool Selected"
+msgstr ""
+
+#: FlatCAMObj.py:3085 FlatCAMObj.py:3427 FlatCAMObj.py:4667
+#: flatcamEditors/FlatCAMGeoEditor.py:406 flatcamGUI/FlatCAMGUI.py:496
+#: flatcamGUI/FlatCAMGUI.py:1143 flatcamGUI/ObjectUI.py:817 flatcamGUI/ObjectUI.py:1660
+#: flatcamTools/ToolNCC.py:331 flatcamTools/ToolNCC.py:794 flatcamTools/ToolPaint.py:314
+#: flatcamTools/ToolPaint.py:764
+msgid "Tool"
+msgstr ""
+
+#: FlatCAMObj.py:3419 FlatCAMObj.py:3512 FlatCAMObj.py:3700
+msgid "Please select one or more tools from the list and try again."
+msgstr ""
+
+#: FlatCAMObj.py:3426
+msgid "Milling tool for DRILLS is larger than hole size. Cancelled."
+msgstr ""
+
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
+msgid "Tool_nr"
+msgstr ""
+
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: flatcamEditors/FlatCAMExcEditor.py:1585 flatcamEditors/FlatCAMExcEditor.py:3069
+#: flatcamGUI/ObjectUI.py:780 flatcamTools/ToolNCC.py:132 flatcamTools/ToolPaint.py:128
+#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolProperties.py:416
+#: flatcamTools/ToolProperties.py:476 flatcamTools/ToolSolderPaste.py:86
+#: tclCommands/TclCommandDrillcncjob.py:194
+msgid "Diameter"
+msgstr ""
+
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
+msgid "Drills_Nr"
+msgstr ""
+
+#: FlatCAMObj.py:3442 FlatCAMObj.py:3533 FlatCAMObj.py:3719
+#: tclCommands/TclCommandDrillcncjob.py:194
+msgid "Slots_Nr"
+msgstr ""
+
+#: FlatCAMObj.py:3521
+msgid "Milling tool for SLOTS is larger than hole size. Cancelled."
+msgstr ""
+
+#: FlatCAMObj.py:3626 FlatCAMObj.py:5451
+msgid "Focus Z"
+msgstr ""
+
+#: FlatCAMObj.py:3645 FlatCAMObj.py:5470
+msgid "Laser Power"
+msgstr ""
+
+#: FlatCAMObj.py:3677 FlatCAMObj.py:5502 flatcamGUI/ObjectUI.py:1048
+#: flatcamGUI/ObjectUI.py:1839 flatcamGUI/PreferencesUI.py:4409
+msgid "Spindle speed"
+msgstr ""
+
+#: FlatCAMObj.py:3776 FlatCAMObj.py:5911 FlatCAMObj.py:5915 FlatCAMObj.py:6060
+msgid "Generating CNC Code"
+msgstr ""
+
+#: FlatCAMObj.py:3966 flatcamTools/ToolNCC.py:916 flatcamTools/ToolPaint.py:841
+msgid "Current Tool parameters were applied to all tools."
+msgstr ""
+
+#: FlatCAMObj.py:4055 FlatCAMObj.py:5115 FlatCAMObj.py:5116 FlatCAMObj.py:5125
+msgid "Iso"
+msgstr ""
+
+#: FlatCAMObj.py:4055
+msgid "Finish"
+msgstr ""
+
+#: FlatCAMObj.py:4410
+msgid "Add from Tool DB"
+msgstr ""
+
+#: FlatCAMObj.py:4413 flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:848
+#: flatcamGUI/FlatCAMGUI.py:1057 flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2267
+#: flatcamGUI/FlatCAMGUI.py:2532 flatcamGUI/FlatCAMGUI.py:2731 flatcamGUI/ObjectUI.py:1615
+#: flatcamTools/ToolPanelize.py:543 flatcamTools/ToolPanelize.py:570
+#: flatcamTools/ToolPanelize.py:669 flatcamTools/ToolPanelize.py:703
+#: flatcamTools/ToolPanelize.py:768
+msgid "Copy"
+msgstr ""
+
+#: FlatCAMObj.py:4507 FlatCAMObj.py:4941 FlatCAMObj.py:5661 FlatCAMObj.py:6307
+#: flatcamEditors/FlatCAMExcEditor.py:2560 flatcamEditors/FlatCAMGeoEditor.py:1077
+#: flatcamEditors/FlatCAMGeoEditor.py:1118 flatcamEditors/FlatCAMGeoEditor.py:1146
+#: flatcamEditors/FlatCAMGeoEditor.py:1174 flatcamEditors/FlatCAMGeoEditor.py:1218
+#: flatcamEditors/FlatCAMGeoEditor.py:1253 flatcamEditors/FlatCAMGeoEditor.py:1281
+#: flatcamTools/ToolNCC.py:1502 flatcamTools/ToolPaint.py:1237
+#: flatcamTools/ToolPaint.py:1408 flatcamTools/ToolSolderPaste.py:883
+#: flatcamTools/ToolSolderPaste.py:956
+msgid "Wrong value format entered, use a number."
+msgstr ""
+
+#: FlatCAMObj.py:4781
+msgid "Tool added in Tool Table."
+msgstr ""
+
+#: FlatCAMObj.py:4890 FlatCAMObj.py:4899
+msgid "Failed. Select a tool to copy."
+msgstr ""
+
+#: FlatCAMObj.py:4928
+msgid "Tool was copied in Tool Table."
+msgstr ""
+
+#: FlatCAMObj.py:4955
+msgid "Tool was edited in Tool Table."
+msgstr ""
+
+#: FlatCAMObj.py:4984 FlatCAMObj.py:4993
+msgid "Failed. Select a tool to delete."
+msgstr ""
+
+#: FlatCAMObj.py:5017
+msgid "Tool was deleted in Tool Table."
+msgstr ""
+
+#: FlatCAMObj.py:5523
msgid "This Geometry can't be processed because it is"
msgstr ""
-#: FlatCAMObj.py:4969
+#: FlatCAMObj.py:5523
msgid "geometry"
msgstr ""
-#: FlatCAMObj.py:5012
+#: FlatCAMObj.py:5564
msgid "Failed. No tool selected in the tool table ..."
msgstr ""
-#: FlatCAMObj.py:5112 FlatCAMObj.py:5264
+#: FlatCAMObj.py:5667 FlatCAMObj.py:5820
msgid ""
"Tool Offset is selected in Tool Table but no value is provided.\n"
"Add a Tool Offset or change the Offset Type."
msgstr ""
-#: FlatCAMObj.py:5177 FlatCAMObj.py:5325
+#: FlatCAMObj.py:5733 FlatCAMObj.py:5882
msgid "G-Code parsing in progress..."
msgstr ""
-#: FlatCAMObj.py:5179 FlatCAMObj.py:5327
+#: FlatCAMObj.py:5735 FlatCAMObj.py:5884
msgid "G-Code parsing finished..."
msgstr ""
-#: FlatCAMObj.py:5187
+#: FlatCAMObj.py:5743
msgid "Finished G-Code processing"
msgstr ""
-#: FlatCAMObj.py:5189 FlatCAMObj.py:5339
+#: FlatCAMObj.py:5745 FlatCAMObj.py:5896
msgid "G-Code processing failed with error"
msgstr ""
-#: FlatCAMObj.py:5234 flatcamTools/ToolSolderPaste.py:1303
+#: FlatCAMObj.py:5790 flatcamTools/ToolSolderPaste.py:1300
msgid "Cancelled. Empty file, it has no geometry"
msgstr ""
-#: FlatCAMObj.py:5337 FlatCAMObj.py:5486
+#: FlatCAMObj.py:5894 FlatCAMObj.py:6055
msgid "Finished G-Code processing..."
msgstr ""
-#: FlatCAMObj.py:5356 FlatCAMObj.py:5360 FlatCAMObj.py:5496
+#: FlatCAMObj.py:5913 FlatCAMObj.py:5917 FlatCAMObj.py:6062
msgid "CNCjob created"
msgstr ""
-#: FlatCAMObj.py:5527 FlatCAMObj.py:5536 flatcamParsers/ParseGerber.py:1794
-#: flatcamParsers/ParseGerber.py:1804
+#: FlatCAMObj.py:6092 FlatCAMObj.py:6101 flatcamParsers/ParseGerber.py:1866
+#: flatcamParsers/ParseGerber.py:1876
msgid "Scale factor has to be a number: integer or float."
msgstr ""
-#: FlatCAMObj.py:5600
+#: FlatCAMObj.py:6164
msgid "Geometry Scale done."
msgstr ""
-#: FlatCAMObj.py:5617 flatcamParsers/ParseGerber.py:1920
+#: FlatCAMObj.py:6181 flatcamParsers/ParseGerber.py:1992
msgid ""
"An (x,y) pair of values are needed. Probable you entered only one value in the Offset "
"field."
msgstr ""
-#: FlatCAMObj.py:5674
+#: FlatCAMObj.py:6237
msgid "Geometry Offset done."
msgstr ""
-#: FlatCAMObj.py:5703
+#: FlatCAMObj.py:6266
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, y)\n"
"but now there is only one value, not two."
msgstr ""
-#: FlatCAMObj.py:6388 FlatCAMObj.py:7175 FlatCAMObj.py:7371
+#: FlatCAMObj.py:6956 FlatCAMObj.py:7802 FlatCAMObj.py:7999
msgid "Basic"
msgstr ""
-#: FlatCAMObj.py:6394 FlatCAMObj.py:7179 FlatCAMObj.py:7375
+#: FlatCAMObj.py:6962 FlatCAMObj.py:7806 FlatCAMObj.py:8003
msgid "Advanced"
msgstr ""
-#: FlatCAMObj.py:6437
+#: FlatCAMObj.py:7005
msgid "Plotting..."
msgstr ""
-#: FlatCAMObj.py:6460 FlatCAMObj.py:6465 flatcamTools/ToolSolderPaste.py:1509
+#: FlatCAMObj.py:7034 FlatCAMObj.py:7039 flatcamTools/ToolSolderPaste.py:1498
msgid "Export Machine Code ..."
msgstr ""
-#: FlatCAMObj.py:6470 flatcamTools/ToolSolderPaste.py:1513
+#: FlatCAMObj.py:7044 flatcamTools/ToolSolderPaste.py:1502
msgid "Export Machine Code cancelled ..."
msgstr ""
-#: FlatCAMObj.py:6492
+#: FlatCAMObj.py:7065
msgid "Machine Code file saved to"
msgstr ""
-#: FlatCAMObj.py:6546 flatcamTools/ToolCalibration.py:1083
+#: FlatCAMObj.py:7126 flatcamTools/ToolCalibration.py:1097
msgid "Loaded Machine Code into Code Editor"
msgstr ""
-#: FlatCAMObj.py:6684
+#: FlatCAMObj.py:7265
msgid "This CNCJob object can't be processed because it is a"
msgstr ""
-#: FlatCAMObj.py:6686
+#: FlatCAMObj.py:7267
msgid "CNCJob object"
msgstr ""
-#: FlatCAMObj.py:6866
+#: FlatCAMObj.py:7447
msgid ""
"G-code does not have a G94 code and we will not include the code in the 'Prepend to "
"GCode' text box"
msgstr ""
-#: FlatCAMObj.py:6877
+#: FlatCAMObj.py:7458
msgid "Cancelled. The Toolchange Custom code is enabled but it's empty."
msgstr ""
-#: FlatCAMObj.py:6882
+#: FlatCAMObj.py:7463
msgid "Toolchange G-code was replaced by a custom code."
msgstr ""
-#: FlatCAMObj.py:6899 flatcamEditors/FlatCAMTextEditor.py:270
-#: flatcamTools/ToolSolderPaste.py:1540
+#: FlatCAMObj.py:7480 flatcamEditors/FlatCAMTextEditor.py:272
+#: flatcamTools/ToolSolderPaste.py:1529
msgid "No such file or directory"
msgstr ""
-#: FlatCAMObj.py:6913 flatcamEditors/FlatCAMTextEditor.py:282
+#: FlatCAMObj.py:7494 flatcamEditors/FlatCAMTextEditor.py:284
msgid "Saved to"
msgstr ""
-#: FlatCAMObj.py:6923 FlatCAMObj.py:6933
+#: FlatCAMObj.py:7511 FlatCAMObj.py:7521
msgid "The used preprocessor file has to have in it's name: 'toolchange_custom'"
msgstr ""
-#: FlatCAMObj.py:6937
+#: FlatCAMObj.py:7524
msgid "There is no preprocessor file."
msgstr ""
-#: FlatCAMObj.py:7194
+#: FlatCAMObj.py:7821
msgid "Script Editor"
msgstr ""
-#: FlatCAMObj.py:7475
+#: FlatCAMObj.py:8103
msgid "Document Editor"
msgstr ""
@@ -2427,6 +2736,16 @@ msgstr ""
msgid "processes running."
msgstr ""
+#: FlatCAMTool.py:245 FlatCAMTool.py:252 flatcamGUI/ObjectUI.py:156
+#: flatcamGUI/ObjectUI.py:163
+msgid "Edited value is out of range"
+msgstr ""
+
+#: FlatCAMTool.py:247 FlatCAMTool.py:254 flatcamGUI/ObjectUI.py:158
+#: flatcamGUI/ObjectUI.py:165
+msgid "Edited value is within limits."
+msgstr ""
+
#: FlatCAMTranslation.py:103
msgid "The application will restart."
msgstr ""
@@ -2439,130 +2758,136 @@ msgstr ""
msgid "Apply Language ..."
msgstr ""
-#: ObjectCollection.py:459
+#: ObjectCollection.py:506
#, python-brace-format
msgid "Object renamed from {old} to {new}"
msgstr ""
-#: ObjectCollection.py:858
+#: ObjectCollection.py:972
msgid "Cause of error"
msgstr ""
-#: camlib.py:590
+#: camlib.py:593
msgid "self.solid_geometry is neither BaseGeometry or list."
msgstr ""
-#: camlib.py:953
+#: camlib.py:968
msgid "Pass"
msgstr ""
-#: camlib.py:974
+#: camlib.py:988
msgid "Get Exteriors"
msgstr ""
-#: camlib.py:977
+#: camlib.py:991
msgid "Get Interiors"
msgstr ""
-#: camlib.py:1964
+#: camlib.py:2172
msgid "Object was mirrored"
msgstr ""
-#: camlib.py:1967
+#: camlib.py:2175
msgid "Failed to mirror. No object selected"
msgstr ""
-#: camlib.py:2036
+#: camlib.py:2244
msgid "Object was rotated"
msgstr ""
-#: camlib.py:2039
+#: camlib.py:2247
msgid "Failed to rotate. No object selected"
msgstr ""
-#: camlib.py:2107
+#: camlib.py:2314
msgid "Object was skewed"
msgstr ""
-#: camlib.py:2110
+#: camlib.py:2317
msgid "Failed to skew. No object selected"
msgstr ""
-#: camlib.py:2179
+#: camlib.py:2392
msgid "Object was buffered"
msgstr ""
-#: camlib.py:2181
+#: camlib.py:2394
msgid "Failed to buffer. No object selected"
msgstr ""
-#: camlib.py:2378
+#: camlib.py:2599
msgid "There is no such parameter"
msgstr ""
-#: camlib.py:2454
+#: camlib.py:2659 camlib.py:2892 camlib.py:3121 camlib.py:3343
msgid ""
"The Cut Z parameter has positive value. It is the depth value to drill into material.\n"
"The Cut Z parameter needs to have a negative value, assuming it is a typo therefore the "
"app will convert the value to negative. Check the resulting CNC code (Gcode etc)."
msgstr ""
-#: camlib.py:2462 camlib.py:3181 camlib.py:3539
+#: camlib.py:2667 camlib.py:2902 camlib.py:3131 camlib.py:3353 camlib.py:3639 camlib.py:4008
msgid "The Cut Z parameter is zero. There will be no cut, skipping file"
msgstr ""
-#: camlib.py:2475 camlib.py:3512
+#: camlib.py:2678 camlib.py:3976
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, y) \n"
"but now there is only one value, not two. "
msgstr ""
-#: camlib.py:2550
+#: camlib.py:2687 camlib.py:3590 camlib.py:3958
+msgid ""
+"The End Move X,Y field in Edit -> Preferences has to be in the format (x, y) but now "
+"there is only one value, not two."
+msgstr ""
+
+#: camlib.py:2775
msgid "Creating a list of points to drill..."
msgstr ""
-#: camlib.py:2632
+#: camlib.py:2865 camlib.py:3737 camlib.py:4112
msgid "Starting G-Code"
msgstr ""
-#: camlib.py:2727 camlib.py:2870 camlib.py:2972 camlib.py:3292 camlib.py:3653
+#: camlib.py:3006 camlib.py:3225 camlib.py:3389 camlib.py:3750 camlib.py:4123
msgid "Starting G-Code for tool with diameter"
msgstr ""
-#: camlib.py:2783 camlib.py:2926 camlib.py:3029
+#: camlib.py:3089 camlib.py:3307 camlib.py:3475
msgid "G91 coordinates not implemented"
msgstr ""
-#: camlib.py:2789 camlib.py:2933 camlib.py:3035
+#: camlib.py:3095 camlib.py:3314 camlib.py:3481
msgid "The loaded Excellon file has no drills"
msgstr ""
-#: camlib.py:3058
+#: camlib.py:3504
msgid "Finished G-Code generation..."
msgstr ""
-#: camlib.py:3153
+#: camlib.py:3608
msgid ""
"The Toolchange X,Y field in Edit -> Preferences has to be in the format (x, y) \n"
"but now there is only one value, not two."
msgstr ""
-#: camlib.py:3166 camlib.py:3525
+#: camlib.py:3622 camlib.py:3991
msgid "Cut_Z parameter is None or zero. Most likely a bad combinations of other parameters."
msgstr ""
-#: camlib.py:3173 camlib.py:3531
+#: camlib.py:3631 camlib.py:4000
msgid ""
"The Cut Z parameter has positive value. It is the depth value to cut into material.\n"
"The Cut Z parameter needs to have a negative value, assuming it is a typo therefore the "
"app will convert the value to negative.Check the resulting CNC code (Gcode etc)."
msgstr ""
-#: camlib.py:3186 camlib.py:3545
+#: camlib.py:3644 camlib.py:4014
msgid "Travel Z parameter is None or zero."
msgstr ""
-#: camlib.py:3191 camlib.py:3550
+#: camlib.py:3649 camlib.py:4019
msgid ""
"The Travel Z parameter has negative value. It is the height value to travel between "
"cuts.\n"
@@ -2570,69 +2895,65 @@ msgid ""
"the app will convert the value to positive.Check the resulting CNC code (Gcode etc)."
msgstr ""
-#: camlib.py:3199 camlib.py:3558
+#: camlib.py:3657 camlib.py:4027
msgid "The Z Travel parameter is zero. This is dangerous, skipping file"
msgstr ""
-#: camlib.py:3218 camlib.py:3580
+#: camlib.py:3676 camlib.py:4050
msgid "Indexing geometry before generating G-Code..."
msgstr ""
-#: camlib.py:3279 camlib.py:3642
-msgid "Starting G-Code..."
-msgstr ""
-
-#: camlib.py:3362 camlib.py:3724
+#: camlib.py:3820 camlib.py:4192
msgid "Finished G-Code generation"
msgstr ""
-#: camlib.py:3364
+#: camlib.py:3820
msgid "paths traced"
msgstr ""
-#: camlib.py:3399
+#: camlib.py:3853
msgid "Expected a Geometry, got"
msgstr ""
-#: camlib.py:3406
+#: camlib.py:3860
msgid "Trying to generate a CNC Job from a Geometry object without solid_geometry."
msgstr ""
-#: camlib.py:3446
+#: camlib.py:3901
msgid ""
"The Tool Offset value is too negative to use for the current_geometry.\n"
"Raise the value (in module) and try again."
msgstr ""
-#: camlib.py:3724
+#: camlib.py:4192
msgid " paths traced."
msgstr ""
-#: camlib.py:3752
+#: camlib.py:4220
msgid "There is no tool data in the SolderPaste geometry."
msgstr ""
-#: camlib.py:3839
+#: camlib.py:4306
msgid "Finished SolderPste G-Code generation"
msgstr ""
-#: camlib.py:3841
+#: camlib.py:4306
msgid "paths traced."
msgstr ""
-#: camlib.py:4097
+#: camlib.py:4566
msgid "Parsing GCode file. Number of lines"
msgstr ""
-#: camlib.py:4204
+#: camlib.py:4673
msgid "Creating Geometry from the parsed GCode file. "
msgstr ""
-#: camlib.py:4345 camlib.py:4629 camlib.py:4732 camlib.py:4801
+#: camlib.py:4816 camlib.py:5101 camlib.py:5204 camlib.py:5360
msgid "G91 coordinates not implemented ..."
msgstr ""
-#: camlib.py:4476
+#: camlib.py:4948
msgid "Unifying Geometry from parsed Geometry segments"
msgstr ""
@@ -2656,9 +2977,9 @@ msgid "To add an Drill Array first select a tool in Tool Table"
msgstr ""
#: flatcamEditors/FlatCAMExcEditor.py:193 flatcamEditors/FlatCAMExcEditor.py:416
-#: flatcamEditors/FlatCAMExcEditor.py:637 flatcamEditors/FlatCAMExcEditor.py:1155
-#: flatcamEditors/FlatCAMExcEditor.py:1182 flatcamEditors/FlatCAMGrbEditor.py:471
-#: flatcamEditors/FlatCAMGrbEditor.py:1936 flatcamEditors/FlatCAMGrbEditor.py:1966
+#: flatcamEditors/FlatCAMExcEditor.py:637 flatcamEditors/FlatCAMExcEditor.py:1152
+#: flatcamEditors/FlatCAMExcEditor.py:1179 flatcamEditors/FlatCAMGrbEditor.py:471
+#: flatcamEditors/FlatCAMGrbEditor.py:1935 flatcamEditors/FlatCAMGrbEditor.py:1965
msgid "Click on target location ..."
msgstr ""
@@ -2688,7 +3009,7 @@ msgid "To add a slot first select a tool"
msgstr ""
#: flatcamEditors/FlatCAMExcEditor.py:455 flatcamEditors/FlatCAMExcEditor.py:462
-#: flatcamEditors/FlatCAMExcEditor.py:744 flatcamEditors/FlatCAMExcEditor.py:751
+#: flatcamEditors/FlatCAMExcEditor.py:743 flatcamEditors/FlatCAMExcEditor.py:750
msgid "Value is missing or wrong format. Add it and retry."
msgstr ""
@@ -2704,176 +3025,176 @@ msgstr ""
msgid "Click on the Slot Circular Array Start position"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:682 flatcamEditors/FlatCAMGrbEditor.py:520
+#: flatcamEditors/FlatCAMExcEditor.py:681 flatcamEditors/FlatCAMGrbEditor.py:519
msgid "The value is mistyped. Check the value."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:861
+#: flatcamEditors/FlatCAMExcEditor.py:860
msgid "Too many Slots for the selected spacing angle."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:884
+#: flatcamEditors/FlatCAMExcEditor.py:883
msgid "Done. Slot Array added."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:906
+#: flatcamEditors/FlatCAMExcEditor.py:905
msgid "Click on the Drill(s) to resize ..."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:936
+#: flatcamEditors/FlatCAMExcEditor.py:935
msgid "Resize drill(s) failed. Please enter a diameter for resize."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1026 flatcamEditors/FlatCAMExcEditor.py:1095
-#: flatcamGUI/FlatCAMGUI.py:3165 flatcamGUI/FlatCAMGUI.py:3377 flatcamGUI/FlatCAMGUI.py:3591
-msgid "Cancelled."
-msgstr ""
-
-#: flatcamEditors/FlatCAMExcEditor.py:1116
+#: flatcamEditors/FlatCAMExcEditor.py:1113
msgid "Done. Drill/Slot Resize completed."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1119
+#: flatcamEditors/FlatCAMExcEditor.py:1116
msgid "Cancelled. No drills/slots selected for resize ..."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1157 flatcamEditors/FlatCAMGrbEditor.py:1938
+#: flatcamEditors/FlatCAMExcEditor.py:1154 flatcamEditors/FlatCAMGrbEditor.py:1937
msgid "Click on reference location ..."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1214
+#: flatcamEditors/FlatCAMExcEditor.py:1211
msgid "Done. Drill(s) Move completed."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1322
+#: flatcamEditors/FlatCAMExcEditor.py:1319
msgid "Done. Drill(s) copied."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1555 flatcamGUI/PreferencesUI.py:3551
+#: flatcamEditors/FlatCAMExcEditor.py:1558 flatcamGUI/PreferencesUI.py:3829
msgid "Excellon Editor"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1562 flatcamEditors/FlatCAMGrbEditor.py:2454
+#: flatcamEditors/FlatCAMExcEditor.py:1565 flatcamEditors/FlatCAMGrbEditor.py:2460
msgid "Name:"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1568 flatcamGUI/ObjectUI.py:757
-#: flatcamGUI/ObjectUI.py:1184 flatcamTools/ToolNonCopperClear.py:109
-#: flatcamTools/ToolPaint.py:112 flatcamTools/ToolSolderPaste.py:73
+#: flatcamEditors/FlatCAMExcEditor.py:1571 flatcamGUI/ObjectUI.py:760
+#: flatcamGUI/ObjectUI.py:1463 flatcamTools/ToolNCC.py:120 flatcamTools/ToolPaint.py:115
+#: flatcamTools/ToolSolderPaste.py:75
msgid "Tools Table"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1570 flatcamGUI/ObjectUI.py:759
+#: flatcamEditors/FlatCAMExcEditor.py:1573 flatcamGUI/ObjectUI.py:762
msgid ""
"Tools in this Excellon object\n"
"when are used for drilling."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1590
+#: flatcamEditors/FlatCAMExcEditor.py:1593
msgid "Add/Delete Tool"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1592
+#: flatcamEditors/FlatCAMExcEditor.py:1595
msgid ""
"Add/Delete a tool to the tool list\n"
"for this Excellon object."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1604 flatcamGUI/ObjectUI.py:1297
-#: flatcamGUI/PreferencesUI.py:3582
+#: flatcamEditors/FlatCAMExcEditor.py:1607 flatcamGUI/ObjectUI.py:1583
+#: flatcamGUI/PreferencesUI.py:3860
msgid "Diameter for the new tool"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1614
+#: flatcamEditors/FlatCAMExcEditor.py:1617
msgid "Add Tool"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1616
+#: flatcamEditors/FlatCAMExcEditor.py:1619
msgid ""
"Add a new tool to the tool list\n"
"with the diameter specified above."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1628
+#: flatcamEditors/FlatCAMExcEditor.py:1631
msgid "Delete Tool"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1630
+#: flatcamEditors/FlatCAMExcEditor.py:1633
msgid ""
"Delete a tool in the tool list\n"
"by selecting a row in the tool table."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1648 flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamEditors/FlatCAMExcEditor.py:1651 flatcamGUI/FlatCAMGUI.py:2004
msgid "Resize Drill(s)"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1650
+#: flatcamEditors/FlatCAMExcEditor.py:1653
msgid "Resize a drill or a selection of drills."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1657
+#: flatcamEditors/FlatCAMExcEditor.py:1660
msgid "Resize Dia"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1659
+#: flatcamEditors/FlatCAMExcEditor.py:1662
msgid "Diameter to resize to."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1670
+#: flatcamEditors/FlatCAMExcEditor.py:1673
msgid "Resize"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1672
+#: flatcamEditors/FlatCAMExcEditor.py:1675
msgid "Resize drill(s)"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1697 flatcamGUI/FlatCAMGUI.py:1895
-#: flatcamGUI/FlatCAMGUI.py:2147
+#: flatcamEditors/FlatCAMExcEditor.py:1700 flatcamGUI/FlatCAMGUI.py:2003
+#: flatcamGUI/FlatCAMGUI.py:2255
msgid "Add Drill Array"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1699
+#: flatcamEditors/FlatCAMExcEditor.py:1702
msgid "Add an array of drills (linear or circular array)"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1705
+#: flatcamEditors/FlatCAMExcEditor.py:1708
msgid ""
"Select the type of drills array to create.\n"
"It can be Linear X(Y) or Circular"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1708 flatcamEditors/FlatCAMExcEditor.py:1922
-#: flatcamEditors/FlatCAMGrbEditor.py:2766
+#: flatcamEditors/FlatCAMExcEditor.py:1711 flatcamEditors/FlatCAMExcEditor.py:1925
+#: flatcamEditors/FlatCAMGrbEditor.py:2772
msgid "Linear"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1709 flatcamEditors/FlatCAMExcEditor.py:1923
-#: flatcamEditors/FlatCAMGrbEditor.py:2767 flatcamGUI/ObjectUI.py:311
-#: flatcamGUI/PreferencesUI.py:5044 flatcamGUI/PreferencesUI.py:7465
-#: flatcamTools/ToolFiducials.py:220 flatcamTools/ToolNonCopperClear.py:221
+#: flatcamEditors/FlatCAMExcEditor.py:1712 flatcamEditors/FlatCAMExcEditor.py:1926
+#: flatcamEditors/FlatCAMGrbEditor.py:2773 flatcamGUI/ObjectUI.py:315
+#: flatcamGUI/PreferencesUI.py:5340 flatcamGUI/PreferencesUI.py:5909
+#: flatcamGUI/PreferencesUI.py:7971 flatcamGUI/PreferencesUI.py:8151
+#: flatcamGUI/PreferencesUI.py:8248 flatcamGUI/PreferencesUI.py:8363
+#: flatcamGUI/PreferencesUI.py:8462 flatcamTools/ToolExtractDrills.py:78
+#: flatcamTools/ToolExtractDrills.py:201 flatcamTools/ToolFiducials.py:220
+#: flatcamTools/ToolNCC.py:221 flatcamTools/ToolPaint.py:204
+#: flatcamTools/ToolPunchGerber.py:89 flatcamTools/ToolPunchGerber.py:229
msgid "Circular"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1717 flatcamGUI/PreferencesUI.py:3593
+#: flatcamEditors/FlatCAMExcEditor.py:1720 flatcamGUI/PreferencesUI.py:3871
msgid "Nr of drills"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1718 flatcamGUI/PreferencesUI.py:3595
+#: flatcamEditors/FlatCAMExcEditor.py:1721 flatcamGUI/PreferencesUI.py:3873
msgid "Specify how many drills to be in the array."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1736 flatcamEditors/FlatCAMExcEditor.py:1786
-#: flatcamEditors/FlatCAMExcEditor.py:1858 flatcamEditors/FlatCAMExcEditor.py:1951
-#: flatcamEditors/FlatCAMExcEditor.py:2002 flatcamEditors/FlatCAMGrbEditor.py:1572
-#: flatcamEditors/FlatCAMGrbEditor.py:2795 flatcamEditors/FlatCAMGrbEditor.py:2844
-#: flatcamGUI/PreferencesUI.py:3703
+#: flatcamEditors/FlatCAMExcEditor.py:1739 flatcamEditors/FlatCAMExcEditor.py:1789
+#: flatcamEditors/FlatCAMExcEditor.py:1861 flatcamEditors/FlatCAMExcEditor.py:1954
+#: flatcamEditors/FlatCAMExcEditor.py:2005 flatcamEditors/FlatCAMGrbEditor.py:1571
+#: flatcamEditors/FlatCAMGrbEditor.py:2801 flatcamEditors/FlatCAMGrbEditor.py:2850
+#: flatcamGUI/PreferencesUI.py:3981
msgid "Direction"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1738 flatcamEditors/FlatCAMExcEditor.py:1953
-#: flatcamEditors/FlatCAMGrbEditor.py:2797 flatcamGUI/PreferencesUI.py:2536
-#: flatcamGUI/PreferencesUI.py:3611 flatcamGUI/PreferencesUI.py:3759
+#: flatcamEditors/FlatCAMExcEditor.py:1741 flatcamEditors/FlatCAMExcEditor.py:1956
+#: flatcamEditors/FlatCAMGrbEditor.py:2803 flatcamGUI/PreferencesUI.py:2718
+#: flatcamGUI/PreferencesUI.py:3889 flatcamGUI/PreferencesUI.py:4037
msgid ""
"Direction on which the linear array is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -2881,50 +3202,50 @@ msgid ""
"- 'Angle' - a custom angle for the array inclination"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1745 flatcamEditors/FlatCAMExcEditor.py:1867
-#: flatcamEditors/FlatCAMExcEditor.py:1960 flatcamEditors/FlatCAMGrbEditor.py:2804
-#: flatcamGUI/PreferencesUI.py:2542 flatcamGUI/PreferencesUI.py:3617
-#: flatcamGUI/PreferencesUI.py:3712 flatcamGUI/PreferencesUI.py:3765
-#: flatcamGUI/PreferencesUI.py:5853 flatcamTools/ToolFilm.py:256
+#: flatcamEditors/FlatCAMExcEditor.py:1748 flatcamEditors/FlatCAMExcEditor.py:1870
+#: flatcamEditors/FlatCAMExcEditor.py:1963 flatcamEditors/FlatCAMGrbEditor.py:2810
+#: flatcamGUI/PreferencesUI.py:2724 flatcamGUI/PreferencesUI.py:3895
+#: flatcamGUI/PreferencesUI.py:3990 flatcamGUI/PreferencesUI.py:4043
+#: flatcamGUI/PreferencesUI.py:6341 flatcamTools/ToolFilm.py:256
msgid "X"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1746 flatcamEditors/FlatCAMExcEditor.py:1868
-#: flatcamEditors/FlatCAMExcEditor.py:1961 flatcamEditors/FlatCAMGrbEditor.py:2805
-#: flatcamGUI/PreferencesUI.py:2543 flatcamGUI/PreferencesUI.py:3618
-#: flatcamGUI/PreferencesUI.py:3713 flatcamGUI/PreferencesUI.py:3766
-#: flatcamGUI/PreferencesUI.py:5854 flatcamTools/ToolFilm.py:257
+#: flatcamEditors/FlatCAMExcEditor.py:1749 flatcamEditors/FlatCAMExcEditor.py:1871
+#: flatcamEditors/FlatCAMExcEditor.py:1964 flatcamEditors/FlatCAMGrbEditor.py:2811
+#: flatcamGUI/PreferencesUI.py:2725 flatcamGUI/PreferencesUI.py:3896
+#: flatcamGUI/PreferencesUI.py:3991 flatcamGUI/PreferencesUI.py:4044
+#: flatcamGUI/PreferencesUI.py:6342 flatcamTools/ToolFilm.py:257
msgid "Y"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1747 flatcamEditors/FlatCAMExcEditor.py:1764
-#: flatcamEditors/FlatCAMExcEditor.py:1798 flatcamEditors/FlatCAMExcEditor.py:1869
-#: flatcamEditors/FlatCAMExcEditor.py:1873 flatcamEditors/FlatCAMExcEditor.py:1962
-#: flatcamEditors/FlatCAMExcEditor.py:1980 flatcamEditors/FlatCAMExcEditor.py:2014
-#: flatcamEditors/FlatCAMGrbEditor.py:2806 flatcamEditors/FlatCAMGrbEditor.py:2823
-#: flatcamEditors/FlatCAMGrbEditor.py:2859 flatcamGUI/PreferencesUI.py:2544
-#: flatcamGUI/PreferencesUI.py:2562 flatcamGUI/PreferencesUI.py:3619
-#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:3714
-#: flatcamGUI/PreferencesUI.py:3719 flatcamGUI/PreferencesUI.py:3767
-#: flatcamGUI/PreferencesUI.py:3788 flatcamGUI/PreferencesUI.py:6246
-#: flatcamTools/ToolDistance.py:66 flatcamTools/ToolDistanceMin.py:68
-#: flatcamTools/ToolTransform.py:63
+#: flatcamEditors/FlatCAMExcEditor.py:1750 flatcamEditors/FlatCAMExcEditor.py:1767
+#: flatcamEditors/FlatCAMExcEditor.py:1801 flatcamEditors/FlatCAMExcEditor.py:1872
+#: flatcamEditors/FlatCAMExcEditor.py:1876 flatcamEditors/FlatCAMExcEditor.py:1965
+#: flatcamEditors/FlatCAMExcEditor.py:1983 flatcamEditors/FlatCAMExcEditor.py:2017
+#: flatcamEditors/FlatCAMGrbEditor.py:2812 flatcamEditors/FlatCAMGrbEditor.py:2829
+#: flatcamEditors/FlatCAMGrbEditor.py:2865 flatcamGUI/PreferencesUI.py:2726
+#: flatcamGUI/PreferencesUI.py:2744 flatcamGUI/PreferencesUI.py:3897
+#: flatcamGUI/PreferencesUI.py:3916 flatcamGUI/PreferencesUI.py:3992
+#: flatcamGUI/PreferencesUI.py:3997 flatcamGUI/PreferencesUI.py:4045
+#: flatcamGUI/PreferencesUI.py:4066 flatcamGUI/PreferencesUI.py:6733
+#: flatcamTools/ToolDistance.py:120 flatcamTools/ToolDistanceMin.py:69
+#: flatcamTools/ToolTransform.py:61
msgid "Angle"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1751 flatcamEditors/FlatCAMExcEditor.py:1966
-#: flatcamEditors/FlatCAMGrbEditor.py:2810 flatcamGUI/PreferencesUI.py:2550
-#: flatcamGUI/PreferencesUI.py:3625 flatcamGUI/PreferencesUI.py:3773
+#: flatcamEditors/FlatCAMExcEditor.py:1754 flatcamEditors/FlatCAMExcEditor.py:1969
+#: flatcamEditors/FlatCAMGrbEditor.py:2816 flatcamGUI/PreferencesUI.py:2732
+#: flatcamGUI/PreferencesUI.py:3903 flatcamGUI/PreferencesUI.py:4051
msgid "Pitch"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1753 flatcamEditors/FlatCAMExcEditor.py:1968
-#: flatcamEditors/FlatCAMGrbEditor.py:2812 flatcamGUI/PreferencesUI.py:2552
-#: flatcamGUI/PreferencesUI.py:3627 flatcamGUI/PreferencesUI.py:3775
+#: flatcamEditors/FlatCAMExcEditor.py:1756 flatcamEditors/FlatCAMExcEditor.py:1971
+#: flatcamEditors/FlatCAMGrbEditor.py:2818 flatcamGUI/PreferencesUI.py:2734
+#: flatcamGUI/PreferencesUI.py:3905 flatcamGUI/PreferencesUI.py:4053
msgid "Pitch = Distance between elements of the array."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1766 flatcamEditors/FlatCAMExcEditor.py:1982
+#: flatcamEditors/FlatCAMExcEditor.py:1769 flatcamEditors/FlatCAMExcEditor.py:1985
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -2932,53 +3253,53 @@ msgid ""
"Max value is: 360.00 degrees."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1787 flatcamEditors/FlatCAMExcEditor.py:2003
-#: flatcamEditors/FlatCAMGrbEditor.py:2846
+#: flatcamEditors/FlatCAMExcEditor.py:1790 flatcamEditors/FlatCAMExcEditor.py:2006
+#: flatcamEditors/FlatCAMGrbEditor.py:2852
msgid "Direction for circular array.Can be CW = clockwise or CCW = counter clockwise."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1794 flatcamEditors/FlatCAMExcEditor.py:2010
-#: flatcamEditors/FlatCAMGrbEditor.py:2854 flatcamGUI/PreferencesUI.py:2584
-#: flatcamGUI/PreferencesUI.py:3368 flatcamGUI/PreferencesUI.py:3661
-#: flatcamGUI/PreferencesUI.py:3811 flatcamGUI/PreferencesUI.py:4288
+#: flatcamEditors/FlatCAMExcEditor.py:1797 flatcamEditors/FlatCAMExcEditor.py:2013
+#: flatcamEditors/FlatCAMGrbEditor.py:2860 flatcamGUI/PreferencesUI.py:2766
+#: flatcamGUI/PreferencesUI.py:3646 flatcamGUI/PreferencesUI.py:3939
+#: flatcamGUI/PreferencesUI.py:4089 flatcamGUI/PreferencesUI.py:4581
msgid "CW"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1795 flatcamEditors/FlatCAMExcEditor.py:2011
-#: flatcamEditors/FlatCAMGrbEditor.py:2855 flatcamGUI/PreferencesUI.py:2585
-#: flatcamGUI/PreferencesUI.py:3369 flatcamGUI/PreferencesUI.py:3662
-#: flatcamGUI/PreferencesUI.py:3812 flatcamGUI/PreferencesUI.py:4289
+#: flatcamEditors/FlatCAMExcEditor.py:1798 flatcamEditors/FlatCAMExcEditor.py:2014
+#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2767
+#: flatcamGUI/PreferencesUI.py:3647 flatcamGUI/PreferencesUI.py:3940
+#: flatcamGUI/PreferencesUI.py:4090 flatcamGUI/PreferencesUI.py:4582
msgid "CCW"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1799 flatcamEditors/FlatCAMExcEditor.py:2015
-#: flatcamEditors/FlatCAMGrbEditor.py:2861 flatcamGUI/PreferencesUI.py:2564
-#: flatcamGUI/PreferencesUI.py:2593 flatcamGUI/PreferencesUI.py:3640
-#: flatcamGUI/PreferencesUI.py:3670 flatcamGUI/PreferencesUI.py:3790
-#: flatcamGUI/PreferencesUI.py:3820
+#: flatcamEditors/FlatCAMExcEditor.py:1802 flatcamEditors/FlatCAMExcEditor.py:2018
+#: flatcamEditors/FlatCAMGrbEditor.py:2867 flatcamGUI/PreferencesUI.py:2746
+#: flatcamGUI/PreferencesUI.py:2775 flatcamGUI/PreferencesUI.py:3918
+#: flatcamGUI/PreferencesUI.py:3948 flatcamGUI/PreferencesUI.py:4068
+#: flatcamGUI/PreferencesUI.py:4098
msgid "Angle at which each element in circular array is placed."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1833
+#: flatcamEditors/FlatCAMExcEditor.py:1836
msgid "Slot Parameters"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1835
+#: flatcamEditors/FlatCAMExcEditor.py:1838
msgid ""
"Parameters for adding a slot (hole with oval shape)\n"
"either single or as an part of an array."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1844 flatcamGUI/PreferencesUI.py:3687
-#: flatcamTools/ToolProperties.py:555
+#: flatcamEditors/FlatCAMExcEditor.py:1847 flatcamGUI/PreferencesUI.py:3965
+#: flatcamTools/ToolProperties.py:559
msgid "Length"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1846 flatcamGUI/PreferencesUI.py:3689
+#: flatcamEditors/FlatCAMExcEditor.py:1849 flatcamGUI/PreferencesUI.py:3967
msgid "Length = The length of the slot."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1860 flatcamGUI/PreferencesUI.py:3705
+#: flatcamEditors/FlatCAMExcEditor.py:1863 flatcamGUI/PreferencesUI.py:3983
msgid ""
"Direction on which the slot is oriented:\n"
"- 'X' - horizontal axis \n"
@@ -2986,7 +3307,7 @@ msgid ""
"- 'Angle' - a custom angle for the slot inclination"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1875
+#: flatcamEditors/FlatCAMExcEditor.py:1878
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -2994,76 +3315,76 @@ msgid ""
"Max value is: 360.00 degrees."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1908
+#: flatcamEditors/FlatCAMExcEditor.py:1911
msgid "Slot Array Parameters"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1910
+#: flatcamEditors/FlatCAMExcEditor.py:1913
msgid "Parameters for the array of slots (linear or circular array)"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1919
+#: flatcamEditors/FlatCAMExcEditor.py:1922
msgid ""
"Select the type of slot array to create.\n"
"It can be Linear X(Y) or Circular"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1931 flatcamGUI/PreferencesUI.py:3744
+#: flatcamEditors/FlatCAMExcEditor.py:1934 flatcamGUI/PreferencesUI.py:4022
msgid "Nr of slots"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:1932 flatcamGUI/PreferencesUI.py:3746
+#: flatcamEditors/FlatCAMExcEditor.py:1935 flatcamGUI/PreferencesUI.py:4024
msgid "Specify how many slots to be in the array."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:2546
+#: flatcamEditors/FlatCAMExcEditor.py:2571
msgid ""
"Tool already in the original or actual tool list.\n"
"Save and reedit Excellon if you need to add this tool. "
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:2555 flatcamGUI/FlatCAMGUI.py:3792
+#: flatcamEditors/FlatCAMExcEditor.py:2580 flatcamGUI/FlatCAMGUI.py:4009
msgid "Added new tool with dia"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:2589
+#: flatcamEditors/FlatCAMExcEditor.py:2613
msgid "Select a tool in Tool Table"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:2622
+#: flatcamEditors/FlatCAMExcEditor.py:2643
msgid "Deleted tool with diameter"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:2772
+#: flatcamEditors/FlatCAMExcEditor.py:2793
msgid "Done. Tool edit completed."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:3324
+#: flatcamEditors/FlatCAMExcEditor.py:3350
msgid "There are no Tools definitions in the file. Aborting Excellon creation."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:3328
+#: flatcamEditors/FlatCAMExcEditor.py:3354
msgid "An internal error has ocurred. See Shell.\n"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:3333
+#: flatcamEditors/FlatCAMExcEditor.py:3359
msgid "Creating Excellon."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:3347
+#: flatcamEditors/FlatCAMExcEditor.py:3371
msgid "Excellon editing finished."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:3365
+#: flatcamEditors/FlatCAMExcEditor.py:3388
msgid "Cancelled. There is no Tool/Drill selected"
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:3978
+#: flatcamEditors/FlatCAMExcEditor.py:4001
msgid "Done. Drill(s) deleted."
msgstr ""
-#: flatcamEditors/FlatCAMExcEditor.py:4051 flatcamEditors/FlatCAMExcEditor.py:4061
-#: flatcamEditors/FlatCAMGrbEditor.py:4853
+#: flatcamEditors/FlatCAMExcEditor.py:4074 flatcamEditors/FlatCAMExcEditor.py:4084
+#: flatcamEditors/FlatCAMGrbEditor.py:4897
msgid "Click on the circular array Center position"
msgstr ""
@@ -3084,16 +3405,22 @@ msgid ""
"corner"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:95 flatcamEditors/FlatCAMGrbEditor.py:2622
+#: flatcamEditors/FlatCAMGeoEditor.py:95 flatcamEditors/FlatCAMGrbEditor.py:2628
msgid "Round"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:96 flatcamEditors/FlatCAMGrbEditor.py:2623
-#: flatcamGUI/PreferencesUI.py:7058 flatcamTools/ToolQRCode.py:198
+#: flatcamEditors/FlatCAMGeoEditor.py:96 flatcamEditors/FlatCAMGrbEditor.py:2629
+#: flatcamGUI/PreferencesUI.py:5606 flatcamGUI/PreferencesUI.py:6130
+#: flatcamGUI/PreferencesUI.py:7564 flatcamGUI/PreferencesUI.py:8167
+#: flatcamGUI/PreferencesUI.py:8274 flatcamGUI/PreferencesUI.py:8379
+#: flatcamGUI/PreferencesUI.py:8488 flatcamTools/ToolExtractDrills.py:94
+#: flatcamTools/ToolExtractDrills.py:227 flatcamTools/ToolNCC.py:583
+#: flatcamTools/ToolPaint.py:527 flatcamTools/ToolPunchGerber.py:105
+#: flatcamTools/ToolPunchGerber.py:255 flatcamTools/ToolQRCode.py:198
msgid "Square"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:97 flatcamEditors/FlatCAMGrbEditor.py:2624
+#: flatcamEditors/FlatCAMGeoEditor.py:97 flatcamEditors/FlatCAMGrbEditor.py:2630
msgid "Beveled"
msgstr ""
@@ -3109,15 +3436,15 @@ msgstr ""
msgid "Full Buffer"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:133 flatcamEditors/FlatCAMGeoEditor.py:2885
-#: flatcamGUI/FlatCAMGUI.py:1805 flatcamGUI/PreferencesUI.py:2604
+#: flatcamEditors/FlatCAMGeoEditor.py:133 flatcamEditors/FlatCAMGeoEditor.py:3018
+#: flatcamGUI/FlatCAMGUI.py:1913 flatcamGUI/PreferencesUI.py:2786
msgid "Buffer Tool"
msgstr ""
#: flatcamEditors/FlatCAMGeoEditor.py:145 flatcamEditors/FlatCAMGeoEditor.py:162
-#: flatcamEditors/FlatCAMGeoEditor.py:179 flatcamEditors/FlatCAMGeoEditor.py:2904
-#: flatcamEditors/FlatCAMGeoEditor.py:2934 flatcamEditors/FlatCAMGeoEditor.py:2964
-#: flatcamEditors/FlatCAMGrbEditor.py:4906
+#: flatcamEditors/FlatCAMGeoEditor.py:179 flatcamEditors/FlatCAMGeoEditor.py:3037
+#: flatcamEditors/FlatCAMGeoEditor.py:3065 flatcamEditors/FlatCAMGeoEditor.py:3093
+#: flatcamEditors/FlatCAMGrbEditor.py:4950
msgid "Buffer distance value is missing or wrong format. Add it and retry."
msgstr ""
@@ -3125,7 +3452,7 @@ msgstr ""
msgid "Font"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2085
+#: flatcamEditors/FlatCAMGeoEditor.py:324 flatcamGUI/FlatCAMGUI.py:2193
msgid "Text"
msgstr ""
@@ -3133,180 +3460,98 @@ msgstr ""
msgid "Text Tool"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:442 flatcamGUI/ObjectUI.py:359
-#: flatcamGUI/PreferencesUI.py:2025 flatcamGUI/PreferencesUI.py:3875
-#: flatcamGUI/PreferencesUI.py:5535
+#: flatcamEditors/FlatCAMGeoEditor.py:440 flatcamGUI/ObjectUI.py:363
+#: flatcamGUI/PreferencesUI.py:2205
msgid "Tool dia"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:444 flatcamGUI/PreferencesUI.py:5537
+#: flatcamEditors/FlatCAMGeoEditor.py:442
+msgid "Diameter of the tool to be used in the operation."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:488
msgid ""
-"Diameter of the tool to\n"
-"be used in the operation."
+"Algorithm to paint the polygons:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:455 flatcamGUI/PreferencesUI.py:5152
-#: flatcamGUI/PreferencesUI.py:5567 flatcamTools/ToolNonCopperClear.py:319
-#: flatcamTools/ToolPaint.py:219
-msgid "Overlap Rate"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:457 flatcamGUI/PreferencesUI.py:5569
-#: flatcamTools/ToolPaint.py:221
-msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be painted are still \n"
-"not painted.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:475 flatcamGUI/PreferencesUI.py:5171
-#: flatcamGUI/PreferencesUI.py:5384 flatcamGUI/PreferencesUI.py:5587
-#: flatcamGUI/PreferencesUI.py:7175 flatcamGUI/PreferencesUI.py:7332
-#: flatcamGUI/PreferencesUI.py:7417 flatcamTools/ToolCopperThieving.py:111
-#: flatcamTools/ToolCopperThieving.py:361 flatcamTools/ToolCutOut.py:184
-#: flatcamTools/ToolFiducials.py:172 flatcamTools/ToolNonCopperClear.py:337
-#: flatcamTools/ToolPaint.py:238
-msgid "Margin"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:477 flatcamGUI/PreferencesUI.py:5589
-#: flatcamTools/ToolPaint.py:240
-msgid ""
-"Distance by which to avoid\n"
-"the edges of the polygon to\n"
-"be painted."
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:489 flatcamGUI/PreferencesUI.py:5184
-#: flatcamGUI/PreferencesUI.py:5602 flatcamTools/ToolNonCopperClear.py:348
-#: flatcamTools/ToolPaint.py:251
-msgid "Method"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:491
-msgid ""
-"Algorithm to paint the polygon:
Standard: Fixed step inwards.
Seed-based"
-"B>: Outwards from seed."
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:496 flatcamGUI/PreferencesUI.py:5193
-#: flatcamGUI/PreferencesUI.py:5611 flatcamTools/ToolNonCopperClear.py:357
-#: flatcamTools/ToolPaint.py:260
-msgid "Standard"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:497 flatcamGUI/PreferencesUI.py:5194
-#: flatcamGUI/PreferencesUI.py:5612 flatcamTools/ToolNonCopperClear.py:358
-#: flatcamTools/ToolPaint.py:261
-msgid "Seed-based"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:498 flatcamGUI/PreferencesUI.py:5195
-#: flatcamGUI/PreferencesUI.py:5613 flatcamTools/ToolNonCopperClear.py:359
-#: flatcamTools/ToolPaint.py:262
-msgid "Straight lines"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:505
+#: flatcamEditors/FlatCAMGeoEditor.py:507
msgid "Connect:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:507 flatcamGUI/PreferencesUI.py:5204
-#: flatcamGUI/PreferencesUI.py:5620 flatcamTools/ToolNonCopperClear.py:366
-#: flatcamTools/ToolPaint.py:269
-msgid ""
-"Draw lines between resulting\n"
-"segments to minimize tool lifts."
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:515
+#: flatcamEditors/FlatCAMGeoEditor.py:517
msgid "Contour:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:517 flatcamGUI/PreferencesUI.py:5213
-#: flatcamGUI/PreferencesUI.py:5628 flatcamTools/ToolNonCopperClear.py:373
-#: flatcamTools/ToolPaint.py:276
-msgid ""
-"Cut around the perimeter of the polygon\n"
-"to trim rough edges."
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:2089
+#: flatcamEditors/FlatCAMGeoEditor.py:530 flatcamGUI/FlatCAMGUI.py:2197
msgid "Paint"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:547 flatcamGUI/FlatCAMGUI.py:845
-#: flatcamGUI/FlatCAMGUI.py:2423 flatcamGUI/ObjectUI.py:1731 flatcamTools/ToolPaint.py:41
-#: flatcamTools/ToolPaint.py:533
+#: flatcamEditors/FlatCAMGeoEditor.py:548 flatcamGUI/FlatCAMGUI.py:909
+#: flatcamGUI/FlatCAMGUI.py:2588 flatcamGUI/ObjectUI.py:2057 flatcamTools/ToolPaint.py:43
+#: flatcamTools/ToolPaint.py:735
msgid "Paint Tool"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:584
-msgid "Paint cancelled. No shape selected."
+#: flatcamEditors/FlatCAMGeoEditor.py:584 flatcamEditors/FlatCAMGeoEditor.py:1056
+#: flatcamEditors/FlatCAMGeoEditor.py:3025 flatcamEditors/FlatCAMGeoEditor.py:3053
+#: flatcamEditors/FlatCAMGeoEditor.py:3081 flatcamEditors/FlatCAMGeoEditor.py:4502
+#: flatcamEditors/FlatCAMGrbEditor.py:5601
+msgid "Cancelled. No shape selected."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:597 flatcamEditors/FlatCAMGeoEditor.py:2910
-#: flatcamEditors/FlatCAMGeoEditor.py:2940 flatcamEditors/FlatCAMGeoEditor.py:2970
-#: flatcamGUI/PreferencesUI.py:3871 flatcamTools/ToolProperties.py:120
-#: flatcamTools/ToolProperties.py:158
+#: flatcamEditors/FlatCAMGeoEditor.py:597 flatcamEditors/FlatCAMGeoEditor.py:3043
+#: flatcamEditors/FlatCAMGeoEditor.py:3071 flatcamEditors/FlatCAMGeoEditor.py:3099
+#: flatcamGUI/PreferencesUI.py:4149 flatcamTools/ToolProperties.py:117
+#: flatcamTools/ToolProperties.py:162
msgid "Tools"
msgstr ""
#: flatcamEditors/FlatCAMGeoEditor.py:608 flatcamEditors/FlatCAMGeoEditor.py:992
-#: flatcamEditors/FlatCAMGrbEditor.py:5096 flatcamEditors/FlatCAMGrbEditor.py:5493
-#: flatcamGUI/FlatCAMGUI.py:866 flatcamGUI/FlatCAMGUI.py:2441
-#: flatcamTools/ToolTransform.py:422
+#: flatcamEditors/FlatCAMGrbEditor.py:5140 flatcamEditors/FlatCAMGrbEditor.py:5537
+#: flatcamGUI/FlatCAMGUI.py:930 flatcamGUI/FlatCAMGUI.py:2609
+#: flatcamTools/ToolTransform.py:461
msgid "Transform Tool"
msgstr ""
#: flatcamEditors/FlatCAMGeoEditor.py:609 flatcamEditors/FlatCAMGeoEditor.py:674
-#: flatcamEditors/FlatCAMGrbEditor.py:5097 flatcamEditors/FlatCAMGrbEditor.py:5162
-#: flatcamGUI/PreferencesUI.py:6238 flatcamTools/ToolTransform.py:25
-#: flatcamTools/ToolTransform.py:80
+#: flatcamEditors/FlatCAMGrbEditor.py:5141 flatcamEditors/FlatCAMGrbEditor.py:5206
+#: flatcamGUI/PreferencesUI.py:6725 flatcamTools/ToolTransform.py:25
+#: flatcamTools/ToolTransform.py:467
msgid "Rotate"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:610 flatcamEditors/FlatCAMGrbEditor.py:5098
+#: flatcamEditors/FlatCAMGeoEditor.py:610 flatcamEditors/FlatCAMGrbEditor.py:5142
#: flatcamTools/ToolTransform.py:26
msgid "Skew/Shear"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:611 flatcamEditors/FlatCAMGrbEditor.py:2671
-#: flatcamEditors/FlatCAMGrbEditor.py:5099 flatcamGUI/FlatCAMGUI.py:980
-#: flatcamGUI/FlatCAMGUI.py:2017 flatcamGUI/FlatCAMGUI.py:2132 flatcamGUI/FlatCAMGUI.py:2549
-#: flatcamGUI/ObjectUI.py:103 flatcamGUI/ObjectUI.py:121 flatcamGUI/PreferencesUI.py:6288
+#: flatcamEditors/FlatCAMGeoEditor.py:611 flatcamEditors/FlatCAMGrbEditor.py:2677
+#: flatcamEditors/FlatCAMGrbEditor.py:5143 flatcamGUI/FlatCAMGUI.py:1048
+#: flatcamGUI/FlatCAMGUI.py:2125 flatcamGUI/FlatCAMGUI.py:2240 flatcamGUI/FlatCAMGUI.py:2723
+#: flatcamGUI/ObjectUI.py:124 flatcamGUI/PreferencesUI.py:6775
#: flatcamTools/ToolTransform.py:27
msgid "Scale"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:612 flatcamEditors/FlatCAMGrbEditor.py:5100
+#: flatcamEditors/FlatCAMGeoEditor.py:612 flatcamEditors/FlatCAMGrbEditor.py:5144
#: flatcamTools/ToolTransform.py:28
msgid "Mirror (Flip)"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:613 flatcamEditors/FlatCAMGrbEditor.py:5101
-#: flatcamGUI/ObjectUI.py:132 flatcamGUI/ObjectUI.py:148 flatcamGUI/ObjectUI.py:1217
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/PreferencesUI.py:5234
-#: flatcamGUI/PreferencesUI.py:6335 flatcamTools/ToolNonCopperClear.py:393
-#: flatcamTools/ToolTransform.py:29
-msgid "Offset"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:626 flatcamEditors/FlatCAMGrbEditor.py:5114
-#: flatcamGUI/FlatCAMGUI.py:787 flatcamGUI/FlatCAMGUI.py:2370
+#: flatcamEditors/FlatCAMGeoEditor.py:626 flatcamEditors/FlatCAMGrbEditor.py:5158
+#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/FlatCAMGUI.py:2524
msgid "Editor"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:658 flatcamEditors/FlatCAMGrbEditor.py:5146
+#: flatcamEditors/FlatCAMGeoEditor.py:658 flatcamEditors/FlatCAMGrbEditor.py:5190
msgid "Angle:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:660 flatcamEditors/FlatCAMGrbEditor.py:5148
-#: flatcamGUI/PreferencesUI.py:6248 flatcamTools/ToolTransform.py:65
+#: flatcamEditors/FlatCAMGeoEditor.py:660 flatcamEditors/FlatCAMGrbEditor.py:5192
+#: flatcamGUI/PreferencesUI.py:6735 flatcamTools/ToolTransform.py:63
msgid ""
"Angle for Rotation action, in degrees.\n"
"Float number between -360 and 359.\n"
@@ -3314,101 +3559,101 @@ msgid ""
"Negative numbers for CCW motion."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:676 flatcamEditors/FlatCAMGrbEditor.py:5164
+#: flatcamEditors/FlatCAMGeoEditor.py:676 flatcamEditors/FlatCAMGrbEditor.py:5208
msgid ""
"Rotate the selected shape(s).\n"
"The point of reference is the middle of\n"
"the bounding box for all selected shapes."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:699 flatcamEditors/FlatCAMGrbEditor.py:5187
+#: flatcamEditors/FlatCAMGeoEditor.py:699 flatcamEditors/FlatCAMGrbEditor.py:5231
msgid "Angle X:"
msgstr ""
#: flatcamEditors/FlatCAMGeoEditor.py:701 flatcamEditors/FlatCAMGeoEditor.py:721
-#: flatcamEditors/FlatCAMGrbEditor.py:5189 flatcamEditors/FlatCAMGrbEditor.py:5209
-#: flatcamGUI/PreferencesUI.py:6267 flatcamGUI/PreferencesUI.py:6281
-#: flatcamTools/ToolCalibration.py:508 flatcamTools/ToolCalibration.py:521
+#: flatcamEditors/FlatCAMGrbEditor.py:5233 flatcamEditors/FlatCAMGrbEditor.py:5253
+#: flatcamGUI/PreferencesUI.py:6754 flatcamGUI/PreferencesUI.py:6768
+#: flatcamTools/ToolCalibration.py:505 flatcamTools/ToolCalibration.py:518
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 359."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:712 flatcamEditors/FlatCAMGrbEditor.py:5200
-#: flatcamTools/ToolTransform.py:109
+#: flatcamEditors/FlatCAMGeoEditor.py:712 flatcamEditors/FlatCAMGrbEditor.py:5244
+#: flatcamTools/ToolTransform.py:468
msgid "Skew X"
msgstr ""
#: flatcamEditors/FlatCAMGeoEditor.py:714 flatcamEditors/FlatCAMGeoEditor.py:734
-#: flatcamEditors/FlatCAMGrbEditor.py:5202 flatcamEditors/FlatCAMGrbEditor.py:5222
+#: flatcamEditors/FlatCAMGrbEditor.py:5246 flatcamEditors/FlatCAMGrbEditor.py:5266
msgid ""
"Skew/shear the selected shape(s).\n"
"The point of reference is the middle of\n"
"the bounding box for all selected shapes."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:719 flatcamEditors/FlatCAMGrbEditor.py:5207
+#: flatcamEditors/FlatCAMGeoEditor.py:719 flatcamEditors/FlatCAMGrbEditor.py:5251
msgid "Angle Y:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:732 flatcamEditors/FlatCAMGrbEditor.py:5220
-#: flatcamTools/ToolTransform.py:131
+#: flatcamEditors/FlatCAMGeoEditor.py:732 flatcamEditors/FlatCAMGrbEditor.py:5264
+#: flatcamTools/ToolTransform.py:469
msgid "Skew Y"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:760 flatcamEditors/FlatCAMGrbEditor.py:5248
+#: flatcamEditors/FlatCAMGeoEditor.py:760 flatcamEditors/FlatCAMGrbEditor.py:5292
msgid "Factor X:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:762 flatcamEditors/FlatCAMGrbEditor.py:5250
-#: flatcamTools/ToolCalibration.py:472
+#: flatcamEditors/FlatCAMGeoEditor.py:762 flatcamEditors/FlatCAMGrbEditor.py:5294
+#: flatcamTools/ToolCalibration.py:469
msgid "Factor for Scale action over X axis."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:772 flatcamEditors/FlatCAMGrbEditor.py:5260
-#: flatcamTools/ToolTransform.py:158
+#: flatcamEditors/FlatCAMGeoEditor.py:772 flatcamEditors/FlatCAMGrbEditor.py:5304
+#: flatcamTools/ToolTransform.py:470
msgid "Scale X"
msgstr ""
#: flatcamEditors/FlatCAMGeoEditor.py:774 flatcamEditors/FlatCAMGeoEditor.py:793
-#: flatcamEditors/FlatCAMGrbEditor.py:5262 flatcamEditors/FlatCAMGrbEditor.py:5281
+#: flatcamEditors/FlatCAMGrbEditor.py:5306 flatcamEditors/FlatCAMGrbEditor.py:5325
msgid ""
"Scale the selected shape(s).\n"
"The point of reference depends on \n"
"the Scale reference checkbox state."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:779 flatcamEditors/FlatCAMGrbEditor.py:5267
+#: flatcamEditors/FlatCAMGeoEditor.py:779 flatcamEditors/FlatCAMGrbEditor.py:5311
msgid "Factor Y:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:781 flatcamEditors/FlatCAMGrbEditor.py:5269
-#: flatcamTools/ToolCalibration.py:484
+#: flatcamEditors/FlatCAMGeoEditor.py:781 flatcamEditors/FlatCAMGrbEditor.py:5313
+#: flatcamTools/ToolCalibration.py:481
msgid "Factor for Scale action over Y axis."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:791 flatcamEditors/FlatCAMGrbEditor.py:5279
-#: flatcamTools/ToolTransform.py:179
+#: flatcamEditors/FlatCAMGeoEditor.py:791 flatcamEditors/FlatCAMGrbEditor.py:5323
+#: flatcamTools/ToolTransform.py:471
msgid "Scale Y"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:800 flatcamEditors/FlatCAMGrbEditor.py:5288
-#: flatcamGUI/PreferencesUI.py:6317 flatcamTools/ToolTransform.py:192
+#: flatcamEditors/FlatCAMGeoEditor.py:800 flatcamEditors/FlatCAMGrbEditor.py:5332
+#: flatcamGUI/PreferencesUI.py:6804 flatcamTools/ToolTransform.py:190
msgid "Link"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:802 flatcamEditors/FlatCAMGrbEditor.py:5290
+#: flatcamEditors/FlatCAMGeoEditor.py:802 flatcamEditors/FlatCAMGrbEditor.py:5334
msgid ""
"Scale the selected shape(s)\n"
"using the Scale Factor X for both axis."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:808 flatcamEditors/FlatCAMGrbEditor.py:5296
-#: flatcamGUI/PreferencesUI.py:6325 flatcamTools/ToolTransform.py:200
+#: flatcamEditors/FlatCAMGeoEditor.py:808 flatcamEditors/FlatCAMGrbEditor.py:5340
+#: flatcamGUI/PreferencesUI.py:6812 flatcamTools/ToolTransform.py:197
msgid "Scale Reference"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:810 flatcamEditors/FlatCAMGrbEditor.py:5298
+#: flatcamEditors/FlatCAMGeoEditor.py:810 flatcamEditors/FlatCAMGrbEditor.py:5342
msgid ""
"Scale the selected shape(s)\n"
"using the origin reference when checked,\n"
@@ -3416,62 +3661,62 @@ msgid ""
"of the selected shapes when unchecked."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:838 flatcamEditors/FlatCAMGrbEditor.py:5327
+#: flatcamEditors/FlatCAMGeoEditor.py:838 flatcamEditors/FlatCAMGrbEditor.py:5371
msgid "Value X:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:840 flatcamEditors/FlatCAMGrbEditor.py:5329
+#: flatcamEditors/FlatCAMGeoEditor.py:840 flatcamEditors/FlatCAMGrbEditor.py:5373
msgid "Value for Offset action on X axis."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:850 flatcamEditors/FlatCAMGrbEditor.py:5339
-#: flatcamTools/ToolTransform.py:227
+#: flatcamEditors/FlatCAMGeoEditor.py:850 flatcamEditors/FlatCAMGrbEditor.py:5383
+#: flatcamTools/ToolTransform.py:474
msgid "Offset X"
msgstr ""
#: flatcamEditors/FlatCAMGeoEditor.py:852 flatcamEditors/FlatCAMGeoEditor.py:872
-#: flatcamEditors/FlatCAMGrbEditor.py:5341 flatcamEditors/FlatCAMGrbEditor.py:5361
+#: flatcamEditors/FlatCAMGrbEditor.py:5385 flatcamEditors/FlatCAMGrbEditor.py:5405
msgid ""
"Offset the selected shape(s).\n"
"The point of reference is the middle of\n"
"the bounding box for all selected shapes.\n"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:858 flatcamEditors/FlatCAMGrbEditor.py:5347
+#: flatcamEditors/FlatCAMGeoEditor.py:858 flatcamEditors/FlatCAMGrbEditor.py:5391
msgid "Value Y:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:860 flatcamEditors/FlatCAMGrbEditor.py:5349
+#: flatcamEditors/FlatCAMGeoEditor.py:860 flatcamEditors/FlatCAMGrbEditor.py:5393
msgid "Value for Offset action on Y axis."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:870 flatcamEditors/FlatCAMGrbEditor.py:5359
-#: flatcamTools/ToolTransform.py:248
+#: flatcamEditors/FlatCAMGeoEditor.py:870 flatcamEditors/FlatCAMGrbEditor.py:5403
+#: flatcamTools/ToolTransform.py:475
msgid "Offset Y"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:901 flatcamEditors/FlatCAMGrbEditor.py:5390
-#: flatcamTools/ToolTransform.py:266
+#: flatcamEditors/FlatCAMGeoEditor.py:901 flatcamEditors/FlatCAMGrbEditor.py:5434
+#: flatcamTools/ToolTransform.py:476
msgid "Flip on X"
msgstr ""
#: flatcamEditors/FlatCAMGeoEditor.py:903 flatcamEditors/FlatCAMGeoEditor.py:910
-#: flatcamEditors/FlatCAMGrbEditor.py:5392 flatcamEditors/FlatCAMGrbEditor.py:5399
+#: flatcamEditors/FlatCAMGrbEditor.py:5436 flatcamEditors/FlatCAMGrbEditor.py:5443
msgid ""
"Flip the selected shape(s) over the X axis.\n"
"Does not create a new shape."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:908 flatcamEditors/FlatCAMGrbEditor.py:5397
-#: flatcamTools/ToolTransform.py:272
+#: flatcamEditors/FlatCAMGeoEditor.py:908 flatcamEditors/FlatCAMGrbEditor.py:5441
+#: flatcamTools/ToolTransform.py:477
msgid "Flip on Y"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:916 flatcamEditors/FlatCAMGrbEditor.py:5405
+#: flatcamEditors/FlatCAMGeoEditor.py:916 flatcamEditors/FlatCAMGrbEditor.py:5449
msgid "Ref Pt"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:918 flatcamEditors/FlatCAMGrbEditor.py:5407
+#: flatcamEditors/FlatCAMGeoEditor.py:918 flatcamEditors/FlatCAMGrbEditor.py:5451
msgid ""
"Flip the selected shape(s)\n"
"around the point in Point Entry Field.\n"
@@ -3484,458 +3729,493 @@ msgid ""
"Point Entry field and click Flip on X(Y)"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:930 flatcamEditors/FlatCAMGrbEditor.py:5419
+#: flatcamEditors/FlatCAMGeoEditor.py:930 flatcamEditors/FlatCAMGrbEditor.py:5463
msgid "Point:"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:932 flatcamEditors/FlatCAMGrbEditor.py:5421
-#: flatcamTools/ToolTransform.py:301
+#: flatcamEditors/FlatCAMGeoEditor.py:932 flatcamEditors/FlatCAMGrbEditor.py:5465
+#: flatcamTools/ToolTransform.py:300
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
"the 'y' in (x, y) will be used when using Flip on Y."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:942 flatcamEditors/FlatCAMGrbEditor.py:5433
-#: flatcamTools/ToolTransform.py:312
+#: flatcamEditors/FlatCAMGeoEditor.py:942 flatcamEditors/FlatCAMGrbEditor.py:5477
+#: flatcamTools/ToolTransform.py:310
msgid ""
"The point coordinates can be captured by\n"
"left click on canvas together with pressing\n"
"SHIFT key. Then click Add button to insert."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1057 flatcamEditors/FlatCAMGrbEditor.py:5558
-msgid "Transformation cancelled. No shape selected."
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:1258 flatcamEditors/FlatCAMGrbEditor.py:5742
+#: flatcamEditors/FlatCAMGeoEditor.py:1305 flatcamEditors/FlatCAMGrbEditor.py:5785
msgid "No shape selected. Please Select a shape to rotate!"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1261 flatcamEditors/FlatCAMGrbEditor.py:5745
-#: flatcamTools/ToolTransform.py:611
+#: flatcamEditors/FlatCAMGeoEditor.py:1308 flatcamEditors/FlatCAMGrbEditor.py:5788
+#: flatcamTools/ToolTransform.py:680
msgid "Appying Rotate"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1290 flatcamEditors/FlatCAMGrbEditor.py:5779
+#: flatcamEditors/FlatCAMGeoEditor.py:1334 flatcamEditors/FlatCAMGrbEditor.py:5820
msgid "Done. Rotate completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1295
+#: flatcamEditors/FlatCAMGeoEditor.py:1336
msgid "Rotation action was not executed"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1307 flatcamEditors/FlatCAMGrbEditor.py:5800
+#: flatcamEditors/FlatCAMGeoEditor.py:1355 flatcamEditors/FlatCAMGrbEditor.py:5839
msgid "No shape selected. Please Select a shape to flip!"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1310 flatcamEditors/FlatCAMGrbEditor.py:5803
-#: flatcamTools/ToolTransform.py:664
+#: flatcamEditors/FlatCAMGeoEditor.py:1358 flatcamEditors/FlatCAMGrbEditor.py:5842
+#: flatcamTools/ToolTransform.py:729
msgid "Applying Flip"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1341 flatcamEditors/FlatCAMGrbEditor.py:5843
-#: flatcamTools/ToolTransform.py:707
+#: flatcamEditors/FlatCAMGeoEditor.py:1387 flatcamEditors/FlatCAMGrbEditor.py:5880
+#: flatcamTools/ToolTransform.py:770
msgid "Flip on the Y axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1345 flatcamEditors/FlatCAMGrbEditor.py:5852
-#: flatcamTools/ToolTransform.py:717
+#: flatcamEditors/FlatCAMGeoEditor.py:1391 flatcamEditors/FlatCAMGrbEditor.py:5889
+#: flatcamTools/ToolTransform.py:779
msgid "Flip on the X axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1355
+#: flatcamEditors/FlatCAMGeoEditor.py:1399
msgid "Flip action was not executed"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1365 flatcamEditors/FlatCAMGrbEditor.py:5874
+#: flatcamEditors/FlatCAMGeoEditor.py:1417 flatcamEditors/FlatCAMGrbEditor.py:5909
msgid "No shape selected. Please Select a shape to shear/skew!"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1368 flatcamEditors/FlatCAMGrbEditor.py:5877
-#: flatcamTools/ToolTransform.py:742
+#: flatcamEditors/FlatCAMGeoEditor.py:1420 flatcamEditors/FlatCAMGrbEditor.py:5912
+#: flatcamTools/ToolTransform.py:802
msgid "Applying Skew"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1394 flatcamEditors/FlatCAMGrbEditor.py:5913
+#: flatcamEditors/FlatCAMGeoEditor.py:1443 flatcamEditors/FlatCAMGrbEditor.py:5946
msgid "Skew on the X axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1397 flatcamEditors/FlatCAMGrbEditor.py:5915
+#: flatcamEditors/FlatCAMGeoEditor.py:1445 flatcamEditors/FlatCAMGrbEditor.py:5948
msgid "Skew on the Y axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1401
+#: flatcamEditors/FlatCAMGeoEditor.py:1448
msgid "Skew action was not executed"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1413 flatcamEditors/FlatCAMGrbEditor.py:5939
+#: flatcamEditors/FlatCAMGeoEditor.py:1470 flatcamEditors/FlatCAMGrbEditor.py:5970
msgid "No shape selected. Please Select a shape to scale!"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1416 flatcamEditors/FlatCAMGrbEditor.py:5942
-#: flatcamTools/ToolTransform.py:794
+#: flatcamEditors/FlatCAMGeoEditor.py:1473 flatcamEditors/FlatCAMGrbEditor.py:5973
+#: flatcamTools/ToolTransform.py:849
msgid "Applying Scale"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1451 flatcamEditors/FlatCAMGrbEditor.py:5981
+#: flatcamEditors/FlatCAMGeoEditor.py:1505 flatcamEditors/FlatCAMGrbEditor.py:6010
msgid "Scale on the X axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1454 flatcamEditors/FlatCAMGrbEditor.py:5983
+#: flatcamEditors/FlatCAMGeoEditor.py:1507 flatcamEditors/FlatCAMGrbEditor.py:6012
msgid "Scale on the Y axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1457
+#: flatcamEditors/FlatCAMGeoEditor.py:1509
msgid "Scale action was not executed"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1467 flatcamEditors/FlatCAMGrbEditor.py:6000
+#: flatcamEditors/FlatCAMGeoEditor.py:1524 flatcamEditors/FlatCAMGrbEditor.py:6029
msgid "No shape selected. Please Select a shape to offset!"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1470 flatcamEditors/FlatCAMGrbEditor.py:6003
-#: flatcamTools/ToolTransform.py:849
+#: flatcamEditors/FlatCAMGeoEditor.py:1527 flatcamEditors/FlatCAMGrbEditor.py:6032
+#: flatcamTools/ToolTransform.py:901
msgid "Applying Offset"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1483 flatcamEditors/FlatCAMGrbEditor.py:6024
+#: flatcamEditors/FlatCAMGeoEditor.py:1537 flatcamEditors/FlatCAMGrbEditor.py:6053
msgid "Offset on the X axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1486 flatcamEditors/FlatCAMGrbEditor.py:6026
+#: flatcamEditors/FlatCAMGeoEditor.py:1539 flatcamEditors/FlatCAMGrbEditor.py:6055
msgid "Offset on the Y axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1490
+#: flatcamEditors/FlatCAMGeoEditor.py:1542
msgid "Offset action was not executed"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1494 flatcamEditors/FlatCAMGrbEditor.py:6033
+#: flatcamEditors/FlatCAMGeoEditor.py:1546 flatcamEditors/FlatCAMGrbEditor.py:6062
msgid "Rotate ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1495 flatcamEditors/FlatCAMGeoEditor.py:1550
-#: flatcamEditors/FlatCAMGeoEditor.py:1567 flatcamEditors/FlatCAMGrbEditor.py:6034
-#: flatcamEditors/FlatCAMGrbEditor.py:6083 flatcamEditors/FlatCAMGrbEditor.py:6098
+#: flatcamEditors/FlatCAMGeoEditor.py:1547 flatcamEditors/FlatCAMGeoEditor.py:1602
+#: flatcamEditors/FlatCAMGeoEditor.py:1619 flatcamEditors/FlatCAMGrbEditor.py:6063
+#: flatcamEditors/FlatCAMGrbEditor.py:6112 flatcamEditors/FlatCAMGrbEditor.py:6127
msgid "Enter an Angle Value (degrees)"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1504 flatcamEditors/FlatCAMGrbEditor.py:6042
+#: flatcamEditors/FlatCAMGeoEditor.py:1556 flatcamEditors/FlatCAMGrbEditor.py:6071
msgid "Geometry shape rotate done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1508 flatcamEditors/FlatCAMGrbEditor.py:6045
+#: flatcamEditors/FlatCAMGeoEditor.py:1560 flatcamEditors/FlatCAMGrbEditor.py:6074
msgid "Geometry shape rotate cancelled"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1513 flatcamEditors/FlatCAMGrbEditor.py:6050
+#: flatcamEditors/FlatCAMGeoEditor.py:1565 flatcamEditors/FlatCAMGrbEditor.py:6079
msgid "Offset on X axis ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1514 flatcamEditors/FlatCAMGeoEditor.py:1533
-#: flatcamEditors/FlatCAMGrbEditor.py:6051 flatcamEditors/FlatCAMGrbEditor.py:6068
+#: flatcamEditors/FlatCAMGeoEditor.py:1566 flatcamEditors/FlatCAMGeoEditor.py:1585
+#: flatcamEditors/FlatCAMGrbEditor.py:6080 flatcamEditors/FlatCAMGrbEditor.py:6097
msgid "Enter a distance Value"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1523 flatcamEditors/FlatCAMGrbEditor.py:6059
+#: flatcamEditors/FlatCAMGeoEditor.py:1575 flatcamEditors/FlatCAMGrbEditor.py:6088
msgid "Geometry shape offset on X axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1527 flatcamEditors/FlatCAMGrbEditor.py:6062
+#: flatcamEditors/FlatCAMGeoEditor.py:1579 flatcamEditors/FlatCAMGrbEditor.py:6091
msgid "Geometry shape offset X cancelled"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1532 flatcamEditors/FlatCAMGrbEditor.py:6067
+#: flatcamEditors/FlatCAMGeoEditor.py:1584 flatcamEditors/FlatCAMGrbEditor.py:6096
msgid "Offset on Y axis ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1542 flatcamEditors/FlatCAMGrbEditor.py:6076
+#: flatcamEditors/FlatCAMGeoEditor.py:1594 flatcamEditors/FlatCAMGrbEditor.py:6105
msgid "Geometry shape offset on Y axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1546
+#: flatcamEditors/FlatCAMGeoEditor.py:1598
msgid "Geometry shape offset on Y axis canceled"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1549 flatcamEditors/FlatCAMGrbEditor.py:6082
+#: flatcamEditors/FlatCAMGeoEditor.py:1601 flatcamEditors/FlatCAMGrbEditor.py:6111
msgid "Skew on X axis ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1559 flatcamEditors/FlatCAMGrbEditor.py:6091
+#: flatcamEditors/FlatCAMGeoEditor.py:1611 flatcamEditors/FlatCAMGrbEditor.py:6120
msgid "Geometry shape skew on X axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1563
+#: flatcamEditors/FlatCAMGeoEditor.py:1615
msgid "Geometry shape skew on X axis canceled"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1566 flatcamEditors/FlatCAMGrbEditor.py:6097
+#: flatcamEditors/FlatCAMGeoEditor.py:1618 flatcamEditors/FlatCAMGrbEditor.py:6126
msgid "Skew on Y axis ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1576 flatcamEditors/FlatCAMGrbEditor.py:6106
+#: flatcamEditors/FlatCAMGeoEditor.py:1628 flatcamEditors/FlatCAMGrbEditor.py:6135
msgid "Geometry shape skew on Y axis done"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1580
+#: flatcamEditors/FlatCAMGeoEditor.py:1632
msgid "Geometry shape skew on Y axis canceled"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1951 flatcamEditors/FlatCAMGeoEditor.py:2016
-#: flatcamEditors/FlatCAMGrbEditor.py:1436 flatcamEditors/FlatCAMGrbEditor.py:1514
+#: flatcamEditors/FlatCAMGeoEditor.py:2009 flatcamEditors/FlatCAMGeoEditor.py:2080
+#: flatcamEditors/FlatCAMGrbEditor.py:1435 flatcamEditors/FlatCAMGrbEditor.py:1513
msgid "Click on Center point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1958 flatcamEditors/FlatCAMGrbEditor.py:1446
+#: flatcamEditors/FlatCAMGeoEditor.py:2022 flatcamEditors/FlatCAMGrbEditor.py:1445
msgid "Click on Perimeter point to complete ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:1990
+#: flatcamEditors/FlatCAMGeoEditor.py:2054
msgid "Done. Adding Circle completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2038 flatcamEditors/FlatCAMGrbEditor.py:1547
+#: flatcamEditors/FlatCAMGeoEditor.py:2108 flatcamEditors/FlatCAMGrbEditor.py:1546
msgid "Click on Start point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2040 flatcamEditors/FlatCAMGrbEditor.py:1549
+#: flatcamEditors/FlatCAMGeoEditor.py:2110 flatcamEditors/FlatCAMGrbEditor.py:1548
msgid "Click on Point3 ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2042 flatcamEditors/FlatCAMGrbEditor.py:1551
+#: flatcamEditors/FlatCAMGeoEditor.py:2112 flatcamEditors/FlatCAMGrbEditor.py:1550
msgid "Click on Stop point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2047 flatcamEditors/FlatCAMGrbEditor.py:1556
+#: flatcamEditors/FlatCAMGeoEditor.py:2117 flatcamEditors/FlatCAMGrbEditor.py:1555
msgid "Click on Stop point to complete ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2049 flatcamEditors/FlatCAMGrbEditor.py:1558
+#: flatcamEditors/FlatCAMGeoEditor.py:2119 flatcamEditors/FlatCAMGrbEditor.py:1557
msgid "Click on Point2 to complete ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2051 flatcamEditors/FlatCAMGrbEditor.py:1560
+#: flatcamEditors/FlatCAMGeoEditor.py:2121 flatcamEditors/FlatCAMGrbEditor.py:1559
msgid "Click on Center point to complete ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2063
+#: flatcamEditors/FlatCAMGeoEditor.py:2133
#, python-format
msgid "Direction: %s"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2077 flatcamEditors/FlatCAMGrbEditor.py:1586
+#: flatcamEditors/FlatCAMGeoEditor.py:2147 flatcamEditors/FlatCAMGrbEditor.py:1585
msgid "Mode: Start -> Stop -> Center. Click on Start point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2080 flatcamEditors/FlatCAMGrbEditor.py:1589
+#: flatcamEditors/FlatCAMGeoEditor.py:2150 flatcamEditors/FlatCAMGrbEditor.py:1588
msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2083 flatcamEditors/FlatCAMGrbEditor.py:1592
+#: flatcamEditors/FlatCAMGeoEditor.py:2153 flatcamEditors/FlatCAMGrbEditor.py:1591
msgid "Mode: Center -> Start -> Stop. Click on Center point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2224
+#: flatcamEditors/FlatCAMGeoEditor.py:2294
msgid "Done. Arc completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2255 flatcamEditors/FlatCAMGeoEditor.py:2322
+#: flatcamEditors/FlatCAMGeoEditor.py:2325 flatcamEditors/FlatCAMGeoEditor.py:2398
msgid "Click on 1st corner ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2261
+#: flatcamEditors/FlatCAMGeoEditor.py:2337
msgid "Click on opposite corner to complete ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2291
+#: flatcamEditors/FlatCAMGeoEditor.py:2367
msgid "Done. Rectangle completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2329
+#: flatcamEditors/FlatCAMGeoEditor.py:2411 flatcamTools/ToolNCC.py:1737
+#: flatcamTools/ToolPaint.py:1616
msgid "Click on next Point or click right mouse button to complete ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2360
+#: flatcamEditors/FlatCAMGeoEditor.py:2442
msgid "Done. Polygon completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2374 flatcamEditors/FlatCAMGeoEditor.py:2439
-#: flatcamEditors/FlatCAMGrbEditor.py:1112 flatcamEditors/FlatCAMGrbEditor.py:1323
+#: flatcamEditors/FlatCAMGeoEditor.py:2456 flatcamEditors/FlatCAMGeoEditor.py:2521
+#: flatcamEditors/FlatCAMGrbEditor.py:1111 flatcamEditors/FlatCAMGrbEditor.py:1322
msgid "Backtracked one point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2417
+#: flatcamEditors/FlatCAMGeoEditor.py:2499
msgid "Done. Path completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2580
+#: flatcamEditors/FlatCAMGeoEditor.py:2658
+msgid "No shape selected. Select a shape to explode"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2691
msgid "Done. Polygons exploded into lines."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2612
+#: flatcamEditors/FlatCAMGeoEditor.py:2723
msgid "MOVE: No shape selected. Select a shape to move"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2615 flatcamEditors/FlatCAMGeoEditor.py:2628
+#: flatcamEditors/FlatCAMGeoEditor.py:2726 flatcamEditors/FlatCAMGeoEditor.py:2746
msgid " MOVE: Click on reference point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2619
+#: flatcamEditors/FlatCAMGeoEditor.py:2731
msgid " Click on destination point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2653
+#: flatcamEditors/FlatCAMGeoEditor.py:2771
msgid "Done. Geometry(s) Move completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2783
+#: flatcamEditors/FlatCAMGeoEditor.py:2904
msgid "Done. Geometry(s) Copy completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2811 flatcamEditors/FlatCAMGrbEditor.py:898
+#: flatcamEditors/FlatCAMGeoEditor.py:2935 flatcamEditors/FlatCAMGrbEditor.py:897
msgid "Click on 1st point ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2829
+#: flatcamEditors/FlatCAMGeoEditor.py:2959
msgid "Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. Error"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2837
+#: flatcamEditors/FlatCAMGeoEditor.py:2967
msgid "No text to add."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2844
+#: flatcamEditors/FlatCAMGeoEditor.py:2977
msgid " Done. Adding Text completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2881
+#: flatcamEditors/FlatCAMGeoEditor.py:3014
msgid "Create buffer geometry ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2892 flatcamEditors/FlatCAMGeoEditor.py:2922
-#: flatcamEditors/FlatCAMGeoEditor.py:2952
-msgid "Buffer cancelled. No shape selected."
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:2917 flatcamEditors/FlatCAMGrbEditor.py:4950
+#: flatcamEditors/FlatCAMGeoEditor.py:3049 flatcamEditors/FlatCAMGrbEditor.py:4994
msgid "Done. Buffer Tool completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2947
+#: flatcamEditors/FlatCAMGeoEditor.py:3077
msgid "Done. Buffer Int Tool completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:2977
+#: flatcamEditors/FlatCAMGeoEditor.py:3105
msgid "Done. Buffer Ext Tool completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:3023 flatcamEditors/FlatCAMGrbEditor.py:2152
+#: flatcamEditors/FlatCAMGeoEditor.py:3154 flatcamEditors/FlatCAMGrbEditor.py:2151
msgid "Select a shape to act as deletion area ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:3025 flatcamEditors/FlatCAMGeoEditor.py:3045
-#: flatcamEditors/FlatCAMGeoEditor.py:3051 flatcamEditors/FlatCAMGrbEditor.py:2154
+#: flatcamEditors/FlatCAMGeoEditor.py:3156 flatcamEditors/FlatCAMGeoEditor.py:3182
+#: flatcamEditors/FlatCAMGeoEditor.py:3188 flatcamEditors/FlatCAMGrbEditor.py:2153
msgid "Click to pick-up the erase shape..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:3055 flatcamEditors/FlatCAMGrbEditor.py:2213
+#: flatcamEditors/FlatCAMGeoEditor.py:3192 flatcamEditors/FlatCAMGrbEditor.py:2212
msgid "Click to erase ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:3084 flatcamEditors/FlatCAMGrbEditor.py:2246
+#: flatcamEditors/FlatCAMGeoEditor.py:3221 flatcamEditors/FlatCAMGrbEditor.py:2245
msgid "Done. Eraser tool action completed."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:3131
+#: flatcamEditors/FlatCAMGeoEditor.py:3271
msgid "Create Paint geometry ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:3144 flatcamEditors/FlatCAMGrbEditor.py:2402
+#: flatcamEditors/FlatCAMGeoEditor.py:3284 flatcamEditors/FlatCAMGrbEditor.py:2408
msgid "Shape transformations ..."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:3763
+#: flatcamEditors/FlatCAMGeoEditor.py:3340 flatcamGUI/PreferencesUI.py:4636
+msgid "Geometry Editor"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346 flatcamEditors/FlatCAMGrbEditor.py:2486
+#: flatcamEditors/FlatCAMGrbEditor.py:3846 flatcamGUI/ObjectUI.py:262
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244 flatcamTools/ToolCutOut.py:96
+msgid "Type"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3346 flatcamGUI/ObjectUI.py:217
+#: flatcamGUI/ObjectUI.py:741 flatcamGUI/ObjectUI.py:1431 flatcamGUI/ObjectUI.py:2153
+#: flatcamGUI/ObjectUI.py:2457 flatcamGUI/ObjectUI.py:2524
+#: flatcamTools/ToolCalibration.py:234 flatcamTools/ToolFiducials.py:73
+msgid "Name"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3588
+msgid "Ring"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3590
+msgid "Line"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3592 flatcamGUI/FlatCAMGUI.py:2187
+#: flatcamGUI/PreferencesUI.py:5607 flatcamGUI/PreferencesUI.py:6131
+#: flatcamTools/ToolNCC.py:584 flatcamTools/ToolPaint.py:528
+msgid "Polygon"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3594
+msgid "Multi-Line"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3596
+msgid "Multi-Polygon"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3603
+msgid "Geo Elem"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4076
msgid "Editing MultiGeo Geometry, tool"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:3765
+#: flatcamEditors/FlatCAMGeoEditor.py:4078
msgid "with diameter"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4169
-msgid "Copy cancelled. No shape selected."
-msgstr ""
-
-#: flatcamEditors/FlatCAMGeoEditor.py:4176 flatcamGUI/FlatCAMGUI.py:3472
-#: flatcamGUI/FlatCAMGUI.py:3519 flatcamGUI/FlatCAMGUI.py:3538 flatcamGUI/FlatCAMGUI.py:3679
-#: flatcamGUI/FlatCAMGUI.py:3719 flatcamGUI/FlatCAMGUI.py:3732 flatcamGUI/FlatCAMGUI.py:3749
+#: flatcamEditors/FlatCAMGeoEditor.py:4509 flatcamGUI/FlatCAMGUI.py:3695
+#: flatcamGUI/FlatCAMGUI.py:3741 flatcamGUI/FlatCAMGUI.py:3759 flatcamGUI/FlatCAMGUI.py:3899
+#: flatcamGUI/FlatCAMGUI.py:3938 flatcamGUI/FlatCAMGUI.py:3950 flatcamGUI/FlatCAMGUI.py:3967
msgid "Click on target point."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4479 flatcamEditors/FlatCAMGeoEditor.py:4514
+#: flatcamEditors/FlatCAMGeoEditor.py:4823 flatcamEditors/FlatCAMGeoEditor.py:4858
msgid "A selection of at least 2 geo items is required to do Intersection."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4600 flatcamEditors/FlatCAMGeoEditor.py:4704
+#: flatcamEditors/FlatCAMGeoEditor.py:4944 flatcamEditors/FlatCAMGeoEditor.py:5048
msgid ""
"Negative buffer value is not accepted. Use Buffer interior to generate an 'inside' shape"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4610 flatcamEditors/FlatCAMGeoEditor.py:4663
-#: flatcamEditors/FlatCAMGeoEditor.py:4713
+#: flatcamEditors/FlatCAMGeoEditor.py:4954 flatcamEditors/FlatCAMGeoEditor.py:5007
+#: flatcamEditors/FlatCAMGeoEditor.py:5057
msgid "Nothing selected for buffering."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4615 flatcamEditors/FlatCAMGeoEditor.py:4667
-#: flatcamEditors/FlatCAMGeoEditor.py:4718
+#: flatcamEditors/FlatCAMGeoEditor.py:4959 flatcamEditors/FlatCAMGeoEditor.py:5011
+#: flatcamEditors/FlatCAMGeoEditor.py:5062
msgid "Invalid distance for buffering."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4639 flatcamEditors/FlatCAMGeoEditor.py:4738
+#: flatcamEditors/FlatCAMGeoEditor.py:4983 flatcamEditors/FlatCAMGeoEditor.py:5082
msgid "Failed, the result is empty. Choose a different buffer value."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4650
+#: flatcamEditors/FlatCAMGeoEditor.py:4994
msgid "Full buffer geometry created."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4656
+#: flatcamEditors/FlatCAMGeoEditor.py:5000
msgid "Negative buffer value is not accepted."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4687
+#: flatcamEditors/FlatCAMGeoEditor.py:5031
msgid "Failed, the result is empty. Choose a smaller buffer value."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4697
+#: flatcamEditors/FlatCAMGeoEditor.py:5041
msgid "Interior buffer geometry created."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4748
+#: flatcamEditors/FlatCAMGeoEditor.py:5092
msgid "Exterior buffer geometry created."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4754
+#: flatcamEditors/FlatCAMGeoEditor.py:5098
#, python-format
-msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)."
+msgid "Could not do Paint. Overlap value has to be less than 100%%."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4761
+#: flatcamEditors/FlatCAMGeoEditor.py:5105
msgid "Nothing selected for painting."
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4767
+#: flatcamEditors/FlatCAMGeoEditor.py:5111
msgid "Invalid value for"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4826
+#: flatcamEditors/FlatCAMGeoEditor.py:5170
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a different method of "
"Paint"
msgstr ""
-#: flatcamEditors/FlatCAMGeoEditor.py:4840
+#: flatcamEditors/FlatCAMGeoEditor.py:5181
msgid "Paint done."
msgstr ""
@@ -3947,7 +4227,7 @@ msgstr ""
msgid "Aperture size is zero. It needs to be greater than zero."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:371 flatcamEditors/FlatCAMGrbEditor.py:685
+#: flatcamEditors/FlatCAMGrbEditor.py:371 flatcamEditors/FlatCAMGrbEditor.py:684
msgid "Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'."
msgstr ""
@@ -3963,170 +4243,165 @@ msgstr ""
msgid "Click on the Pad Circular Array Start position"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:711
+#: flatcamEditors/FlatCAMGrbEditor.py:710
msgid "Too many Pads for the selected spacing angle."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:734
+#: flatcamEditors/FlatCAMGrbEditor.py:733
msgid "Done. Pad Array added."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:759
+#: flatcamEditors/FlatCAMGrbEditor.py:758
msgid "Select shape(s) and then click ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:771
+#: flatcamEditors/FlatCAMGrbEditor.py:770
msgid "Failed. Nothing selected."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:787
+#: flatcamEditors/FlatCAMGrbEditor.py:786
msgid "Failed. Poligonize works only on geometries belonging to the same aperture."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:841
+#: flatcamEditors/FlatCAMGrbEditor.py:840
msgid "Done. Poligonize completed."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:896 flatcamEditors/FlatCAMGrbEditor.py:1129
-#: flatcamEditors/FlatCAMGrbEditor.py:1153
+#: flatcamEditors/FlatCAMGrbEditor.py:895 flatcamEditors/FlatCAMGrbEditor.py:1128
+#: flatcamEditors/FlatCAMGrbEditor.py:1152
msgid "Corner Mode 1: 45 degrees ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:908 flatcamEditors/FlatCAMGrbEditor.py:1238
+#: flatcamEditors/FlatCAMGrbEditor.py:907 flatcamEditors/FlatCAMGrbEditor.py:1237
msgid "Click on next Point or click Right mouse button to complete ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1117 flatcamEditors/FlatCAMGrbEditor.py:1150
+#: flatcamEditors/FlatCAMGrbEditor.py:1116 flatcamEditors/FlatCAMGrbEditor.py:1149
msgid "Corner Mode 2: Reverse 45 degrees ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1120 flatcamEditors/FlatCAMGrbEditor.py:1147
+#: flatcamEditors/FlatCAMGrbEditor.py:1119 flatcamEditors/FlatCAMGrbEditor.py:1146
msgid "Corner Mode 3: 90 degrees ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1123 flatcamEditors/FlatCAMGrbEditor.py:1144
+#: flatcamEditors/FlatCAMGrbEditor.py:1122 flatcamEditors/FlatCAMGrbEditor.py:1143
msgid "Corner Mode 4: Reverse 90 degrees ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1126 flatcamEditors/FlatCAMGrbEditor.py:1141
+#: flatcamEditors/FlatCAMGrbEditor.py:1125 flatcamEditors/FlatCAMGrbEditor.py:1140
msgid "Corner Mode 5: Free angle ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1183 flatcamEditors/FlatCAMGrbEditor.py:1359
-#: flatcamEditors/FlatCAMGrbEditor.py:1398
+#: flatcamEditors/FlatCAMGrbEditor.py:1182 flatcamEditors/FlatCAMGrbEditor.py:1358
+#: flatcamEditors/FlatCAMGrbEditor.py:1397
msgid "Track Mode 1: 45 degrees ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1339 flatcamEditors/FlatCAMGrbEditor.py:1393
+#: flatcamEditors/FlatCAMGrbEditor.py:1338 flatcamEditors/FlatCAMGrbEditor.py:1392
msgid "Track Mode 2: Reverse 45 degrees ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1344 flatcamEditors/FlatCAMGrbEditor.py:1388
+#: flatcamEditors/FlatCAMGrbEditor.py:1343 flatcamEditors/FlatCAMGrbEditor.py:1387
msgid "Track Mode 3: 90 degrees ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1349 flatcamEditors/FlatCAMGrbEditor.py:1383
+#: flatcamEditors/FlatCAMGrbEditor.py:1348 flatcamEditors/FlatCAMGrbEditor.py:1382
msgid "Track Mode 4: Reverse 90 degrees ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1354 flatcamEditors/FlatCAMGrbEditor.py:1378
+#: flatcamEditors/FlatCAMGrbEditor.py:1353 flatcamEditors/FlatCAMGrbEditor.py:1377
msgid "Track Mode 5: Free angle ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1779
+#: flatcamEditors/FlatCAMGrbEditor.py:1778
msgid "Scale the selected Gerber apertures ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1821
+#: flatcamEditors/FlatCAMGrbEditor.py:1820
msgid "Buffer the selected apertures ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1863
+#: flatcamEditors/FlatCAMGrbEditor.py:1862
msgid "Mark polygon areas in the edited Gerber ..."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:1929
+#: flatcamEditors/FlatCAMGrbEditor.py:1928
msgid "Nothing selected to move"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2054
+#: flatcamEditors/FlatCAMGrbEditor.py:2053
msgid "Done. Apertures Move completed."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2136
+#: flatcamEditors/FlatCAMGrbEditor.py:2135
msgid "Done. Apertures copied."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2447 flatcamGUI/FlatCAMGUI.py:2110
-#: flatcamGUI/PreferencesUI.py:2443
+#: flatcamEditors/FlatCAMGrbEditor.py:2453 flatcamGUI/FlatCAMGUI.py:2218
+#: flatcamGUI/PreferencesUI.py:2623
msgid "Gerber Editor"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2467 flatcamGUI/ObjectUI.py:223
-#: flatcamTools/ToolProperties.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2473 flatcamGUI/ObjectUI.py:227
+#: flatcamTools/ToolProperties.py:159
msgid "Apertures"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2469 flatcamGUI/ObjectUI.py:225
+#: flatcamEditors/FlatCAMGrbEditor.py:2475 flatcamGUI/ObjectUI.py:229
msgid "Apertures Table for the Gerber Object."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2480 flatcamEditors/FlatCAMGrbEditor.py:3832
-#: flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486 flatcamEditors/FlatCAMGrbEditor.py:3846
+#: flatcamGUI/ObjectUI.py:262
msgid "Code"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2480 flatcamEditors/FlatCAMGrbEditor.py:3832
-#: flatcamGUI/ObjectUI.py:258 flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-msgid "Type"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2480 flatcamEditors/FlatCAMGrbEditor.py:3832
-#: flatcamGUI/ObjectUI.py:258 flatcamGUI/PreferencesUI.py:1009
-#: flatcamGUI/PreferencesUI.py:7270 flatcamGUI/PreferencesUI.py:7299
-#: flatcamGUI/PreferencesUI.py:7401 flatcamTools/ToolCopperThieving.py:260
-#: flatcamTools/ToolCopperThieving.py:300 flatcamTools/ToolFiducials.py:156
+#: flatcamEditors/FlatCAMGrbEditor.py:2486 flatcamEditors/FlatCAMGrbEditor.py:3846
+#: flatcamGUI/ObjectUI.py:262 flatcamGUI/PreferencesUI.py:1184
+#: flatcamGUI/PreferencesUI.py:7776 flatcamGUI/PreferencesUI.py:7805
+#: flatcamGUI/PreferencesUI.py:7907 flatcamTools/ToolCopperThieving.py:262
+#: flatcamTools/ToolCopperThieving.py:302 flatcamTools/ToolFiducials.py:156
msgid "Size"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2480 flatcamEditors/FlatCAMGrbEditor.py:3832
-#: flatcamGUI/ObjectUI.py:258
+#: flatcamEditors/FlatCAMGrbEditor.py:2486 flatcamEditors/FlatCAMGrbEditor.py:3846
+#: flatcamGUI/ObjectUI.py:262
msgid "Dim"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2484 flatcamGUI/ObjectUI.py:262
+#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:266
msgid "Index"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2486 flatcamEditors/FlatCAMGrbEditor.py:2515
-#: flatcamGUI/ObjectUI.py:264
+#: flatcamEditors/FlatCAMGrbEditor.py:2492 flatcamEditors/FlatCAMGrbEditor.py:2521
+#: flatcamGUI/ObjectUI.py:268
msgid "Aperture Code"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2488 flatcamGUI/ObjectUI.py:266
+#: flatcamEditors/FlatCAMGrbEditor.py:2494 flatcamGUI/ObjectUI.py:270
msgid "Type of aperture: circular, rectangle, macros etc"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2490 flatcamGUI/ObjectUI.py:268
+#: flatcamEditors/FlatCAMGrbEditor.py:2496 flatcamGUI/ObjectUI.py:272
msgid "Aperture Size:"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2492 flatcamGUI/ObjectUI.py:270
+#: flatcamEditors/FlatCAMGrbEditor.py:2498 flatcamGUI/ObjectUI.py:274
msgid ""
"Aperture Dimensions:\n"
" - (width, height) for R, O type.\n"
" - (dia, nVertices) for P type"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2516 flatcamGUI/PreferencesUI.py:2474
+#: flatcamEditors/FlatCAMGrbEditor.py:2522 flatcamGUI/PreferencesUI.py:2654
msgid "Code for the new aperture"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2525
+#: flatcamEditors/FlatCAMGrbEditor.py:2531
msgid "Aperture Size"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2527
+#: flatcamEditors/FlatCAMGrbEditor.py:2533
msgid ""
"Size for the new aperture.\n"
"If aperture type is 'R' or 'O' then\n"
@@ -4135,11 +4410,11 @@ msgid ""
"sqrt(width**2 + height**2)"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2541
+#: flatcamEditors/FlatCAMGrbEditor.py:2547
msgid "Aperture Type"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2543
+#: flatcamEditors/FlatCAMGrbEditor.py:2549
msgid ""
"Select the type of new aperture. Can be:\n"
"C = circular\n"
@@ -4147,50 +4422,50 @@ msgid ""
"O = oblong"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2554
+#: flatcamEditors/FlatCAMGrbEditor.py:2560
msgid "Aperture Dim"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2556
+#: flatcamEditors/FlatCAMGrbEditor.py:2562
msgid ""
"Dimensions for the new aperture.\n"
"Active only for rectangular apertures (type R).\n"
"The format is (width, height)"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2565
+#: flatcamEditors/FlatCAMGrbEditor.py:2571
msgid "Add/Delete Aperture"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2567
+#: flatcamEditors/FlatCAMGrbEditor.py:2573
msgid "Add/Delete an aperture in the aperture table"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2576
+#: flatcamEditors/FlatCAMGrbEditor.py:2582
msgid "Add a new aperture to the aperture list."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2581
+#: flatcamEditors/FlatCAMGrbEditor.py:2587
msgid "Delete a aperture in the aperture list"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2598
+#: flatcamEditors/FlatCAMGrbEditor.py:2604
msgid "Buffer Aperture"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2600
+#: flatcamEditors/FlatCAMGrbEditor.py:2606
msgid "Buffer a aperture in the aperture list"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2613 flatcamGUI/PreferencesUI.py:2608
+#: flatcamEditors/FlatCAMGrbEditor.py:2619 flatcamGUI/PreferencesUI.py:2790
msgid "Buffer distance"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2614
+#: flatcamEditors/FlatCAMGrbEditor.py:2620
msgid "Buffer corner"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2616
+#: flatcamEditors/FlatCAMGrbEditor.py:2622
msgid ""
"There are 3 types of corners:\n"
" - 'Round': the corner is rounded.\n"
@@ -4199,103 +4474,99 @@ msgid ""
"corner"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2631 flatcamGUI/FlatCAMGUI.py:978
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2087 flatcamGUI/FlatCAMGUI.py:2130
-#: flatcamGUI/FlatCAMGUI.py:2547 flatcamGUI/PreferencesUI.py:6393
-#: flatcamTools/ToolTransform.py:30 flatcamTools/ToolTransform.py:349
+#: flatcamEditors/FlatCAMGrbEditor.py:2637 flatcamGUI/FlatCAMGUI.py:1046
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2195 flatcamGUI/FlatCAMGUI.py:2238
+#: flatcamGUI/FlatCAMGUI.py:2721 flatcamGUI/PreferencesUI.py:6880
+#: flatcamTools/ToolTransform.py:30
msgid "Buffer"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2646
+#: flatcamEditors/FlatCAMGrbEditor.py:2652
msgid "Scale Aperture"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2648
+#: flatcamEditors/FlatCAMGrbEditor.py:2654
msgid "Scale a aperture in the aperture list"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2656 flatcamGUI/PreferencesUI.py:2623
+#: flatcamEditors/FlatCAMGrbEditor.py:2662 flatcamGUI/PreferencesUI.py:2805
msgid "Scale factor"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2658
+#: flatcamEditors/FlatCAMGrbEditor.py:2664
msgid ""
"The factor by which to scale the selected aperture.\n"
"Values can be between 0.0000 and 999.9999"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2686
+#: flatcamEditors/FlatCAMGrbEditor.py:2692
msgid "Mark polygons"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2688
+#: flatcamEditors/FlatCAMGrbEditor.py:2694
msgid "Mark the polygon areas."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2696
+#: flatcamEditors/FlatCAMGrbEditor.py:2702
msgid "Area UPPER threshold"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2698
+#: flatcamEditors/FlatCAMGrbEditor.py:2704
msgid ""
"The threshold value, all areas less than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2705
+#: flatcamEditors/FlatCAMGrbEditor.py:2711
msgid "Area LOWER threshold"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2707
+#: flatcamEditors/FlatCAMGrbEditor.py:2713
msgid ""
"The threshold value, all areas more than this are marked.\n"
"Can have a value between 0.0000 and 9999.9999"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2721
+#: flatcamEditors/FlatCAMGrbEditor.py:2727
msgid "Mark"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2723
+#: flatcamEditors/FlatCAMGrbEditor.py:2729
msgid "Mark the polygons that fit within limits."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2729
+#: flatcamEditors/FlatCAMGrbEditor.py:2735
msgid "Delete all the marked polygons."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2733
-msgid "Clear"
-msgstr ""
-
-#: flatcamEditors/FlatCAMGrbEditor.py:2735
+#: flatcamEditors/FlatCAMGrbEditor.py:2741
msgid "Clear all the markings."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2755 flatcamGUI/FlatCAMGUI.py:963
-#: flatcamGUI/FlatCAMGUI.py:2015 flatcamGUI/FlatCAMGUI.py:2532
+#: flatcamEditors/FlatCAMGrbEditor.py:2761 flatcamGUI/FlatCAMGUI.py:1031
+#: flatcamGUI/FlatCAMGUI.py:2123 flatcamGUI/FlatCAMGUI.py:2706
msgid "Add Pad Array"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2757
+#: flatcamEditors/FlatCAMGrbEditor.py:2763
msgid "Add an array of pads (linear or circular array)"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2763
+#: flatcamEditors/FlatCAMGrbEditor.py:2769
msgid ""
"Select the type of pads array to create.\n"
"It can be Linear X(Y) or Circular"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2774 flatcamGUI/PreferencesUI.py:2511
+#: flatcamEditors/FlatCAMGrbEditor.py:2780 flatcamGUI/PreferencesUI.py:2691
msgid "Nr of pads"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2776 flatcamGUI/PreferencesUI.py:2513
+#: flatcamEditors/FlatCAMGrbEditor.py:2782 flatcamGUI/PreferencesUI.py:2693
msgid "Specify how many pads to be in the array."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:2825
+#: flatcamEditors/FlatCAMGrbEditor.py:2831
msgid ""
"Angle at which the linear array is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -4303,471 +4574,463 @@ msgid ""
"Max value is: 360.00 degrees."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3307 flatcamEditors/FlatCAMGrbEditor.py:3311
+#: flatcamEditors/FlatCAMGrbEditor.py:3321 flatcamEditors/FlatCAMGrbEditor.py:3325
msgid "Aperture code value is missing or wrong format. Add it and retry."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3347
+#: flatcamEditors/FlatCAMGrbEditor.py:3361
msgid ""
"Aperture dimensions value is missing or wrong format. Add it in format (width, height) "
"and retry."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3360
+#: flatcamEditors/FlatCAMGrbEditor.py:3374
msgid "Aperture size value is missing or wrong format. Add it and retry."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3371
+#: flatcamEditors/FlatCAMGrbEditor.py:3385
msgid "Aperture already in the aperture table."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3379
+#: flatcamEditors/FlatCAMGrbEditor.py:3393
msgid "Added new aperture with code"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3408
+#: flatcamEditors/FlatCAMGrbEditor.py:3422
msgid " Select an aperture in Aperture Table"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3416
+#: flatcamEditors/FlatCAMGrbEditor.py:3430
msgid "Select an aperture in Aperture Table -->"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3439
+#: flatcamEditors/FlatCAMGrbEditor.py:3453
msgid "Deleted aperture with code"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:3924
+#: flatcamEditors/FlatCAMGrbEditor.py:3950
msgid "Loading Gerber into Editor"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4034
+#: flatcamEditors/FlatCAMGrbEditor.py:4078
msgid "Setting up the UI"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4035
+#: flatcamEditors/FlatCAMGrbEditor.py:4079
msgid "Adding geometry finished. Preparing the GUI"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4044
+#: flatcamEditors/FlatCAMGrbEditor.py:4088
msgid "Finished loading the Gerber object into the editor."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4184
+#: flatcamEditors/FlatCAMGrbEditor.py:4228
msgid "There are no Aperture definitions in the file. Aborting Gerber creation."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4194
+#: flatcamEditors/FlatCAMGrbEditor.py:4238
msgid "Creating Gerber."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4203
+#: flatcamEditors/FlatCAMGrbEditor.py:4247
msgid "Done. Gerber editing finished."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4222
+#: flatcamEditors/FlatCAMGrbEditor.py:4265
msgid "Cancelled. No aperture is selected"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4782
+#: flatcamEditors/FlatCAMGrbEditor.py:4826
msgid "Failed. No aperture geometry is selected."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4791 flatcamEditors/FlatCAMGrbEditor.py:5062
+#: flatcamEditors/FlatCAMGrbEditor.py:4835 flatcamEditors/FlatCAMGrbEditor.py:5106
msgid "Done. Apertures geometry deleted."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4934
+#: flatcamEditors/FlatCAMGrbEditor.py:4978
msgid "No aperture to buffer. Select at least one aperture and try again."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4946
+#: flatcamEditors/FlatCAMGrbEditor.py:4990
msgid "Failed."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4965
+#: flatcamEditors/FlatCAMGrbEditor.py:5009
msgid "Scale factor value is missing or wrong format. Add it and retry."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:4997
+#: flatcamEditors/FlatCAMGrbEditor.py:5041
msgid "No aperture to scale. Select at least one aperture and try again."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:5013
+#: flatcamEditors/FlatCAMGrbEditor.py:5057
msgid "Done. Scale Tool completed."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:5051
+#: flatcamEditors/FlatCAMGrbEditor.py:5095
msgid "Polygons marked."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:5054
+#: flatcamEditors/FlatCAMGrbEditor.py:5098
msgid "No polygons were marked. None fit within the limits."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:5783
+#: flatcamEditors/FlatCAMGrbEditor.py:5822
msgid "Rotation action was not executed."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:5919
+#: flatcamEditors/FlatCAMGrbEditor.py:5950
msgid "Skew action was not executed."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:5986
+#: flatcamEditors/FlatCAMGrbEditor.py:6015
msgid "Scale action was not executed."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:6029
+#: flatcamEditors/FlatCAMGrbEditor.py:6058
msgid "Offset action was not executed."
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:6079
+#: flatcamEditors/FlatCAMGrbEditor.py:6108
msgid "Geometry shape offset Y cancelled"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:6094
+#: flatcamEditors/FlatCAMGrbEditor.py:6123
msgid "Geometry shape skew X cancelled"
msgstr ""
-#: flatcamEditors/FlatCAMGrbEditor.py:6109
+#: flatcamEditors/FlatCAMGrbEditor.py:6138
msgid "Geometry shape skew Y cancelled"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:72
+#: flatcamEditors/FlatCAMTextEditor.py:74
msgid "Print Preview"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:73
+#: flatcamEditors/FlatCAMTextEditor.py:75
msgid "Open a OS standard Preview Print window."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:76
+#: flatcamEditors/FlatCAMTextEditor.py:78
msgid "Print Code"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:77
+#: flatcamEditors/FlatCAMTextEditor.py:79
msgid "Open a OS standard Print window."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:79
+#: flatcamEditors/FlatCAMTextEditor.py:81
msgid "Find in Code"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:80
+#: flatcamEditors/FlatCAMTextEditor.py:82
msgid "Will search and highlight in yellow the string in the Find box."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:84
+#: flatcamEditors/FlatCAMTextEditor.py:86
msgid "Find box. Enter here the strings to be searched in the text."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:86
+#: flatcamEditors/FlatCAMTextEditor.py:88
msgid "Replace With"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:87
+#: flatcamEditors/FlatCAMTextEditor.py:89
msgid "Will replace the string from the Find box with the one in the Replace box."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:91
+#: flatcamEditors/FlatCAMTextEditor.py:93
msgid "String to replace the one in the Find box throughout the text."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:93 flatcamGUI/ObjectUI.py:482
-#: flatcamGUI/ObjectUI.py:1809 flatcamGUI/PreferencesUI.py:2070
-#: flatcamGUI/PreferencesUI.py:4419 flatcamGUI/PreferencesUI.py:5647
+#: flatcamEditors/FlatCAMTextEditor.py:95 flatcamGUI/ObjectUI.py:485
+#: flatcamGUI/ObjectUI.py:2137 flatcamGUI/PreferencesUI.py:2250
+#: flatcamGUI/PreferencesUI.py:4712
msgid "All"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:94
+#: flatcamEditors/FlatCAMTextEditor.py:96
msgid ""
"When checked it will replace all instances in the 'Find' box\n"
"with the text in the 'Replace' box.."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:97
+#: flatcamEditors/FlatCAMTextEditor.py:99
msgid "Copy All"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:98
+#: flatcamEditors/FlatCAMTextEditor.py:100
msgid "Will copy all the text in the Code Editor to the clipboard."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:101
+#: flatcamEditors/FlatCAMTextEditor.py:103
msgid "Open Code"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:102
+#: flatcamEditors/FlatCAMTextEditor.py:104
msgid "Will open a text file in the editor."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:104
+#: flatcamEditors/FlatCAMTextEditor.py:106
msgid "Save Code"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:105
+#: flatcamEditors/FlatCAMTextEditor.py:107
msgid "Will save the text in the editor into a file."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:107
+#: flatcamEditors/FlatCAMTextEditor.py:109
msgid "Run Code"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:108
+#: flatcamEditors/FlatCAMTextEditor.py:110
msgid "Will run the TCL commands found in the text file, one by one."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:182
+#: flatcamEditors/FlatCAMTextEditor.py:184
msgid "Open file"
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:213 flatcamEditors/FlatCAMTextEditor.py:218
+#: flatcamEditors/FlatCAMTextEditor.py:215 flatcamEditors/FlatCAMTextEditor.py:220
msgid "Export Code ..."
msgstr ""
-#: flatcamEditors/FlatCAMTextEditor.py:221
-msgid "Export Code cancelled."
-msgstr ""
-
-#: flatcamEditors/FlatCAMTextEditor.py:332
+#: flatcamEditors/FlatCAMTextEditor.py:334
msgid "Code Editor content copied to clipboard ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:52 flatcamGUI/FlatCAMGUI.py:54 flatcamGUI/FlatCAMGUI.py:2040
+#: flatcamGUI/FlatCAMGUI.py:66 flatcamGUI/FlatCAMGUI.py:68 flatcamGUI/FlatCAMGUI.py:2148
msgid "Toggle Panel"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:64
+#: flatcamGUI/FlatCAMGUI.py:78
msgid "File"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:69
-msgid "&New Project ...\tCTRL+N"
+#: flatcamGUI/FlatCAMGUI.py:83
+msgid "&New Project ...\tCtrl+N"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:71
+#: flatcamGUI/FlatCAMGUI.py:85
msgid "Will create a new, blank project"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:76
+#: flatcamGUI/FlatCAMGUI.py:90
msgid "&New"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:80
+#: flatcamGUI/FlatCAMGUI.py:94
msgid "Geometry\tN"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:82
+#: flatcamGUI/FlatCAMGUI.py:96
msgid "Will create a new, empty Geometry Object."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:84
+#: flatcamGUI/FlatCAMGUI.py:99
msgid "Gerber\tB"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:86
+#: flatcamGUI/FlatCAMGUI.py:101
msgid "Will create a new, empty Gerber Object."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:88
+#: flatcamGUI/FlatCAMGUI.py:104
msgid "Excellon\tL"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:90
+#: flatcamGUI/FlatCAMGUI.py:106
msgid "Will create a new, empty Excellon Object."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:94
+#: flatcamGUI/FlatCAMGUI.py:111
msgid "Document\tD"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:96
+#: flatcamGUI/FlatCAMGUI.py:113
msgid "Will create a new, empty Document Object."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:99 flatcamGUI/FlatCAMGUI.py:4111
+#: flatcamGUI/FlatCAMGUI.py:117 flatcamGUI/FlatCAMGUI.py:4327
#: flatcamTools/ToolPcbWizard.py:62 flatcamTools/ToolPcbWizard.py:69
msgid "Open"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:103
+#: flatcamGUI/FlatCAMGUI.py:122
msgid "Open &Project ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:109 flatcamGUI/FlatCAMGUI.py:4121
-msgid "Open &Gerber ...\tCTRL+G"
+#: flatcamGUI/FlatCAMGUI.py:128 flatcamGUI/FlatCAMGUI.py:4337
+msgid "Open &Gerber ...\tCtrl+G"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:4126
-msgid "Open &Excellon ...\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:133 flatcamGUI/FlatCAMGUI.py:4342
+msgid "Open &Excellon ...\tCtrl+E"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:118 flatcamGUI/FlatCAMGUI.py:4131
+#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:4347
msgid "Open G-&Code ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:124
+#: flatcamGUI/FlatCAMGUI.py:145
msgid "Open Config ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:128
+#: flatcamGUI/FlatCAMGUI.py:150
msgid "Recent projects"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:129
+#: flatcamGUI/FlatCAMGUI.py:152
msgid "Recent files"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:135
+#: flatcamGUI/FlatCAMGUI.py:155 flatcamGUI/FlatCAMGUI.py:738 flatcamGUI/FlatCAMGUI.py:1324
+msgid "Save"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:159
+msgid "&Save Project ...\tCtrl+S"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:164
+msgid "Save Project &As ...\tCtrl+Shift+S"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:179
msgid "Scripting"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:138 flatcamGUI/FlatCAMGUI.py:829 flatcamGUI/FlatCAMGUI.py:2409
+#: flatcamGUI/FlatCAMGUI.py:183 flatcamGUI/FlatCAMGUI.py:888 flatcamGUI/FlatCAMGUI.py:2567
msgid "New Script ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:139 flatcamGUI/FlatCAMGUI.py:831 flatcamGUI/FlatCAMGUI.py:2411
+#: flatcamGUI/FlatCAMGUI.py:185 flatcamGUI/FlatCAMGUI.py:890 flatcamGUI/FlatCAMGUI.py:2569
msgid "Open Script ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:141 flatcamGUI/FlatCAMGUI.py:833 flatcamGUI/FlatCAMGUI.py:2413
-#: flatcamGUI/FlatCAMGUI.py:4100
+#: flatcamGUI/FlatCAMGUI.py:187 flatcamGUI/FlatCAMGUI.py:892 flatcamGUI/FlatCAMGUI.py:2571
+#: flatcamGUI/FlatCAMGUI.py:4316
msgid "Run Script ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:143 flatcamGUI/FlatCAMGUI.py:4102
+#: flatcamGUI/FlatCAMGUI.py:189 flatcamGUI/FlatCAMGUI.py:4318
msgid ""
"Will run the opened Tcl Script thus\n"
"enabling the automation of certain\n"
"functions of FlatCAM."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:156
+#: flatcamGUI/FlatCAMGUI.py:203
msgid "Import"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:158
+#: flatcamGUI/FlatCAMGUI.py:205
msgid "&SVG as Geometry Object ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:161
+#: flatcamGUI/FlatCAMGUI.py:208
msgid "&SVG as Gerber Object ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:166
+#: flatcamGUI/FlatCAMGUI.py:213
msgid "&DXF as Geometry Object ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:169
+#: flatcamGUI/FlatCAMGUI.py:216
msgid "&DXF as Gerber Object ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:173
+#: flatcamGUI/FlatCAMGUI.py:220
msgid "HPGL2 as Geometry Object ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:178
+#: flatcamGUI/FlatCAMGUI.py:226
msgid "Export"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:181
+#: flatcamGUI/FlatCAMGUI.py:230
msgid "Export &SVG ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:184
+#: flatcamGUI/FlatCAMGUI.py:234
msgid "Export DXF ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:189
+#: flatcamGUI/FlatCAMGUI.py:240
msgid "Export &PNG ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:191
+#: flatcamGUI/FlatCAMGUI.py:242
msgid ""
"Will export an image in PNG format,\n"
"the saved image will contain the visual \n"
"information currently in FlatCAM Plot Area."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:200
+#: flatcamGUI/FlatCAMGUI.py:251
msgid "Export &Excellon ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:202
+#: flatcamGUI/FlatCAMGUI.py:253
msgid ""
"Will export an Excellon Object as Excellon file,\n"
"the coordinates format, the file units and zeros\n"
"are set in Preferences -> Excellon Export."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:209
+#: flatcamGUI/FlatCAMGUI.py:260
msgid "Export &Gerber ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:211
+#: flatcamGUI/FlatCAMGUI.py:262
msgid ""
"Will export an Gerber Object as Gerber file,\n"
"the coordinates format, the file units and zeros\n"
"are set in Preferences -> Gerber Export."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:229
+#: flatcamGUI/FlatCAMGUI.py:272
msgid "Backup"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:233
+#: flatcamGUI/FlatCAMGUI.py:277
msgid "Import Preferences from file ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:238
+#: flatcamGUI/FlatCAMGUI.py:283
msgid "Export Preferences to file ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:244 flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:297 flatcamGUI/FlatCAMGUI.py:1715
msgid "Print (PDF)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:247 flatcamGUI/FlatCAMGUI.py:682 flatcamGUI/FlatCAMGUI.py:1252
-msgid "Save"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:251
-msgid "&Save Project ..."
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:256
-msgid "Save Project &As ...\tCTRL+S"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:261
-msgid "Save Project C&opy ..."
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:271
+#: flatcamGUI/FlatCAMGUI.py:305
msgid "E&xit"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:279 flatcamGUI/FlatCAMGUI.py:676 flatcamGUI/FlatCAMGUI.py:2163
+#: flatcamGUI/FlatCAMGUI.py:313 flatcamGUI/FlatCAMGUI.py:732 flatcamGUI/FlatCAMGUI.py:2271
msgid "Edit"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:283
+#: flatcamGUI/FlatCAMGUI.py:317
msgid "Edit Object\tE"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:285
-msgid "Close Editor\tCTRL+S"
+#: flatcamGUI/FlatCAMGUI.py:319
+msgid "Close Editor\tCtrl+S"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:294
+#: flatcamGUI/FlatCAMGUI.py:328
msgid "Conversion"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:296
+#: flatcamGUI/FlatCAMGUI.py:330
msgid "&Join Geo/Gerber/Exc -> Geo"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:298
+#: flatcamGUI/FlatCAMGUI.py:332
msgid ""
"Merge a selection of objects, which can be of type:\n"
"- Gerber\n"
@@ -4776,1390 +5039,1418 @@ msgid ""
"into a new combo Geometry object."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:305
+#: flatcamGUI/FlatCAMGUI.py:339
msgid "Join Excellon(s) -> Excellon"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:307
+#: flatcamGUI/FlatCAMGUI.py:341
msgid "Merge a selection of Excellon objects into a new combo Excellon object."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:310
+#: flatcamGUI/FlatCAMGUI.py:344
msgid "Join Gerber(s) -> Gerber"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:312
+#: flatcamGUI/FlatCAMGUI.py:346
msgid "Merge a selection of Gerber objects into a new combo Gerber object."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:317
+#: flatcamGUI/FlatCAMGUI.py:351
msgid "Convert Single to MultiGeo"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:319
+#: flatcamGUI/FlatCAMGUI.py:353
msgid ""
"Will convert a Geometry object from single_geometry type\n"
"to a multi_geometry type."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:323
+#: flatcamGUI/FlatCAMGUI.py:357
msgid "Convert Multi to SingleGeo"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:325
+#: flatcamGUI/FlatCAMGUI.py:359
msgid ""
"Will convert a Geometry object from multi_geometry type\n"
"to a single_geometry type."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:332
+#: flatcamGUI/FlatCAMGUI.py:366
msgid "Convert Any to Geo"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:335
+#: flatcamGUI/FlatCAMGUI.py:369
msgid "Convert Any to Gerber"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:341
-msgid "&Copy\tCTRL+C"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:346
-msgid "&Delete\tDEL"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:351
-msgid "Se&t Origin\tO"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:353
-msgid "Jump to Location\tJ"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:358
-msgid "Toggle Units\tQ"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:360
-msgid "&Select All\tCTRL+A"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:365
-msgid "&Preferences\tSHIFT+P"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:371 flatcamTools/ToolProperties.py:153
-msgid "Options"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:373
-msgid "&Rotate Selection\tSHIFT+(R)"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:378
-msgid "&Skew on X axis\tSHIFT+X"
+#: flatcamGUI/FlatCAMGUI.py:375
+msgid "&Copy\tCtrl+C"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:380
-msgid "S&kew on Y axis\tSHIFT+Y"
+msgid "&Delete\tDEL"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:385
-msgid "Flip on &X axis\tX"
+msgid "Se&t Origin\tO"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:387
-msgid "Flip on &Y axis\tY"
+msgid "Move to Origin\tShift+O"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:390
+msgid "Jump to Location\tJ"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:392
-msgid "View source\tALT+S"
+msgid "Locate in Object\tShift+J"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:394
-msgid "Tools DataBase\tCTRL+D"
+#: flatcamGUI/FlatCAMGUI.py:397
+msgid "Toggle Units\tQ"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:401 flatcamGUI/FlatCAMGUI.py:2060
-msgid "View"
+#: flatcamGUI/FlatCAMGUI.py:399
+msgid "&Select All\tCtrl+A"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:403
-msgid "Enable all plots\tALT+1"
+#: flatcamGUI/FlatCAMGUI.py:404
+msgid "&Preferences\tShift+P"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:405
-msgid "Disable all plots\tALT+2"
+#: flatcamGUI/FlatCAMGUI.py:410 flatcamTools/ToolProperties.py:155
+msgid "Options"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:407
-msgid "Disable non-selected\tALT+3"
+#: flatcamGUI/FlatCAMGUI.py:412
+msgid "&Rotate Selection\tShift+(R)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:411
-msgid "&Zoom Fit\tV"
+#: flatcamGUI/FlatCAMGUI.py:417
+msgid "&Skew on X axis\tShift+X"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:413
-msgid "&Zoom In\t="
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:415
-msgid "&Zoom Out\t-"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:420
-msgid "Redraw All\tF5"
+#: flatcamGUI/FlatCAMGUI.py:419
+msgid "S&kew on Y axis\tShift+Y"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:424
-msgid "Toggle Code Editor\tSHIFT+E"
+msgid "Flip on &X axis\tX"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:427
-msgid "&Toggle FullScreen\tALT+F10"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:429
-msgid "&Toggle Plot Area\tCTRL+F10"
+#: flatcamGUI/FlatCAMGUI.py:426
+msgid "Flip on &Y axis\tY"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:431
-msgid "&Toggle Project/Sel/Tool\t`"
+msgid "View source\tAlt+S"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:435
-msgid "&Toggle Grid Snap\tG"
+#: flatcamGUI/FlatCAMGUI.py:433
+msgid "Tools DataBase\tCtrl+D"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:437
-msgid "&Toggle Grid Lines\tALT+G"
+#: flatcamGUI/FlatCAMGUI.py:440 flatcamGUI/FlatCAMGUI.py:2168
+msgid "View"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:439
-msgid "&Toggle Axis\tSHIFT+G"
+#: flatcamGUI/FlatCAMGUI.py:442
+msgid "Enable all plots\tAlt+1"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:441
-msgid "Toggle Workspace\tSHIFT+W"
+#: flatcamGUI/FlatCAMGUI.py:444
+msgid "Disable all plots\tAlt+2"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:446
-msgid "Objects"
+msgid "Disable non-selected\tAlt+3"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:460
-msgid "&Command Line\tS"
+#: flatcamGUI/FlatCAMGUI.py:450
+msgid "&Zoom Fit\tV"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:465
-msgid "Help"
+#: flatcamGUI/FlatCAMGUI.py:452
+msgid "&Zoom In\t="
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:467
-msgid "Online Help\tF1"
+#: flatcamGUI/FlatCAMGUI.py:454
+msgid "&Zoom Out\t-"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:477
-msgid "Report a bug"
+#: flatcamGUI/FlatCAMGUI.py:459
+msgid "Redraw All\tF5"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:463
+msgid "Toggle Code Editor\tShift+E"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:466
+msgid "&Toggle FullScreen\tAlt+F10"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:468
+msgid "&Toggle Plot Area\tCtrl+F10"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:470
+msgid "&Toggle Project/Sel/Tool\t`"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:474
+msgid "&Toggle Grid Snap\tG"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:476
+msgid "&Toggle Grid Lines\tAlt+G"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:478
+msgid "&Toggle Axis\tShift+G"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:480
-msgid "Excellon Specification"
+msgid "Toggle Workspace\tShift+W"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:482
-msgid "Gerber Specification"
+#: flatcamGUI/FlatCAMGUI.py:485
+msgid "Objects"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:487
-msgid "Shortcuts List\tF3"
+#: flatcamGUI/FlatCAMGUI.py:499
+msgid "&Command Line\tS"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:489
-msgid "YouTube Channel\tF4"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:500
-msgid "Add Circle\tO"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:503
-msgid "Add Arc\tA"
+#: flatcamGUI/FlatCAMGUI.py:504
+msgid "Help"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:506
-msgid "Add Rectangle\tR"
+msgid "Online Help\tF1"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:509
-msgid "Add Polygon\tN"
+#: flatcamGUI/FlatCAMGUI.py:516
+msgid "Report a bug"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:512
-msgid "Add Path\tP"
+#: flatcamGUI/FlatCAMGUI.py:519
+msgid "Excellon Specification"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:515
-msgid "Add Text\tT"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:518
-msgid "Polygon Union\tU"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:520
-msgid "Polygon Intersection\tE"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:522
-msgid "Polygon Subtraction\tS"
+#: flatcamGUI/FlatCAMGUI.py:521
+msgid "Gerber Specification"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:526
-msgid "Cut Path\tX"
+msgid "Shortcuts List\tF3"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:529
-msgid "Copy Geom\tC"
+#: flatcamGUI/FlatCAMGUI.py:528
+msgid "YouTube Channel\tF4"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:531
-msgid "Delete Shape\tDEL"
+#: flatcamGUI/FlatCAMGUI.py:539
+msgid "Add Circle\tO"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:535 flatcamGUI/FlatCAMGUI.py:622
-msgid "Move\tM"
+#: flatcamGUI/FlatCAMGUI.py:542
+msgid "Add Arc\tA"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:537
-msgid "Buffer Tool\tB"
+#: flatcamGUI/FlatCAMGUI.py:545
+msgid "Add Rectangle\tR"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:540
-msgid "Paint Tool\tI"
+#: flatcamGUI/FlatCAMGUI.py:548
+msgid "Add Polygon\tN"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:543
-msgid "Transform Tool\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:551
+msgid "Add Path\tP"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:547
-msgid "Toggle Corner Snap\tK"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:553
-msgid ">Excellon Editor<"
+#: flatcamGUI/FlatCAMGUI.py:554
+msgid "Add Text\tT"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:557
-msgid "Add Drill Array\tA"
+msgid "Polygon Union\tU"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:559
-msgid "Add Drill\tD"
+msgid "Polygon Intersection\tE"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:563
-msgid "Add Slot Array\tQ"
+#: flatcamGUI/FlatCAMGUI.py:561
+msgid "Polygon Subtraction\tS"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:565
-msgid "Add Slot\tW"
+msgid "Cut Path\tX"
msgstr ""
#: flatcamGUI/FlatCAMGUI.py:569
+msgid "Copy Geom\tC"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:571
+msgid "Delete Shape\tDEL"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:575 flatcamGUI/FlatCAMGUI.py:662
+msgid "Move\tM"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:577
+msgid "Buffer Tool\tB"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:580
+msgid "Paint Tool\tI"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:583
+msgid "Transform Tool\tAlt+R"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:587
+msgid "Toggle Corner Snap\tK"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:593
+msgid ">Excellon Editor<"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:597
+msgid "Add Drill Array\tA"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:599
+msgid "Add Drill\tD"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:603
+msgid "Add Slot Array\tQ"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:605
+msgid "Add Slot\tW"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:609
msgid "Resize Drill(S)\tR"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:572 flatcamGUI/FlatCAMGUI.py:616
+#: flatcamGUI/FlatCAMGUI.py:612 flatcamGUI/FlatCAMGUI.py:656
msgid "Copy\tC"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:574 flatcamGUI/FlatCAMGUI.py:618
+#: flatcamGUI/FlatCAMGUI.py:614 flatcamGUI/FlatCAMGUI.py:658
msgid "Delete\tDEL"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:579
+#: flatcamGUI/FlatCAMGUI.py:619
msgid "Move Drill(s)\tM"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:584
+#: flatcamGUI/FlatCAMGUI.py:624
msgid ">Gerber Editor<"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:588
+#: flatcamGUI/FlatCAMGUI.py:628
msgid "Add Pad\tP"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:590
+#: flatcamGUI/FlatCAMGUI.py:630
msgid "Add Pad Array\tA"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:592
+#: flatcamGUI/FlatCAMGUI.py:632
msgid "Add Track\tT"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:594
+#: flatcamGUI/FlatCAMGUI.py:634
msgid "Add Region\tN"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:598
-msgid "Poligonize\tALT+N"
+#: flatcamGUI/FlatCAMGUI.py:638
+msgid "Poligonize\tAlt+N"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:600
+#: flatcamGUI/FlatCAMGUI.py:640
msgid "Add SemiDisc\tE"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:602
+#: flatcamGUI/FlatCAMGUI.py:642
msgid "Add Disc\tD"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:604
+#: flatcamGUI/FlatCAMGUI.py:644
msgid "Buffer\tB"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:606
+#: flatcamGUI/FlatCAMGUI.py:646
msgid "Scale\tS"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:608
-msgid "Mark Area\tALT+A"
+#: flatcamGUI/FlatCAMGUI.py:648
+msgid "Mark Area\tAlt+A"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:610
-msgid "Eraser\tCTRL+E"
+#: flatcamGUI/FlatCAMGUI.py:650
+msgid "Eraser\tCtrl+E"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:612
-msgid "Transform\tALT+R"
+#: flatcamGUI/FlatCAMGUI.py:652
+msgid "Transform\tAlt+R"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:639
+#: flatcamGUI/FlatCAMGUI.py:679
msgid "Enable Plot"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:641
+#: flatcamGUI/FlatCAMGUI.py:681
msgid "Disable Plot"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:645
+#: flatcamGUI/FlatCAMGUI.py:685
msgid "Set Color"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:648
-msgid "Red"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:651
-msgid "Blue"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:654
-msgid "Yellow"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:657
-msgid "Green"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:660
-msgid "Purple"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:663
-msgid "Brown"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:666
-msgid "Custom"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:671
+#: flatcamGUI/FlatCAMGUI.py:727
msgid "Generate CNC"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:673
+#: flatcamGUI/FlatCAMGUI.py:729
msgid "View Source"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:686 flatcamGUI/FlatCAMGUI.py:2172
-#: flatcamTools/ToolProperties.py:30
+#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:2280
+#: flatcamTools/ToolProperties.py:31
msgid "Properties"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:715
+#: flatcamGUI/FlatCAMGUI.py:771
msgid "File Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:719
+#: flatcamGUI/FlatCAMGUI.py:775
msgid "Edit Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:723
+#: flatcamGUI/FlatCAMGUI.py:779
msgid "View Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:727
+#: flatcamGUI/FlatCAMGUI.py:783
msgid "Shell Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:731
+#: flatcamGUI/FlatCAMGUI.py:787
msgid "Tools Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:735
+#: flatcamGUI/FlatCAMGUI.py:791
msgid "Excellon Editor Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:741
+#: flatcamGUI/FlatCAMGUI.py:797
msgid "Geometry Editor Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:745
+#: flatcamGUI/FlatCAMGUI.py:801
msgid "Gerber Editor Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:749
+#: flatcamGUI/FlatCAMGUI.py:805
msgid "Grid Toolbar"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:772 flatcamGUI/FlatCAMGUI.py:2357
+#: flatcamGUI/FlatCAMGUI.py:826 flatcamGUI/FlatCAMGUI.py:2509
msgid "Open project"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:774 flatcamGUI/FlatCAMGUI.py:2359
+#: flatcamGUI/FlatCAMGUI.py:828 flatcamGUI/FlatCAMGUI.py:2511
msgid "Save project"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:780 flatcamGUI/FlatCAMGUI.py:2363
+#: flatcamGUI/FlatCAMGUI.py:834 flatcamGUI/FlatCAMGUI.py:2517
msgid "New Blank Geometry"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:782 flatcamGUI/FlatCAMGUI.py:2365
+#: flatcamGUI/FlatCAMGUI.py:836 flatcamGUI/FlatCAMGUI.py:2519
msgid "New Blank Gerber"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:784 flatcamGUI/FlatCAMGUI.py:2367
+#: flatcamGUI/FlatCAMGUI.py:838 flatcamGUI/FlatCAMGUI.py:2521
msgid "New Blank Excellon"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:789 flatcamGUI/FlatCAMGUI.py:2373
+#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2527
msgid "Save Object and close the Editor"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:796 flatcamGUI/FlatCAMGUI.py:2380
+#: flatcamGUI/FlatCAMGUI.py:850 flatcamGUI/FlatCAMGUI.py:2534
msgid "&Delete"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:799 flatcamGUI/FlatCAMGUI.py:1613 flatcamGUI/FlatCAMGUI.py:1812
-#: flatcamGUI/FlatCAMGUI.py:2383 flatcamTools/ToolDistance.py:30
-#: flatcamTools/ToolDistance.py:160
+#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:1714 flatcamGUI/FlatCAMGUI.py:1920
+#: flatcamGUI/FlatCAMGUI.py:2537 flatcamTools/ToolDistance.py:35
+#: flatcamTools/ToolDistance.py:195
msgid "Distance Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:801 flatcamGUI/FlatCAMGUI.py:2385
+#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2539
msgid "Distance Min Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:803 flatcamGUI/FlatCAMGUI.py:1606 flatcamGUI/FlatCAMGUI.py:2387
+#: flatcamGUI/FlatCAMGUI.py:857 flatcamGUI/FlatCAMGUI.py:1707 flatcamGUI/FlatCAMGUI.py:2541
msgid "Set Origin"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:805 flatcamGUI/FlatCAMGUI.py:2389
+#: flatcamGUI/FlatCAMGUI.py:859
+msgid "Move to Origin"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:862 flatcamGUI/FlatCAMGUI.py:2543
msgid "Jump to Location"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:811 flatcamGUI/FlatCAMGUI.py:2393
+#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1719 flatcamGUI/FlatCAMGUI.py:2545
+msgid "Locate in Object"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2551
msgid "&Replot"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:813 flatcamGUI/FlatCAMGUI.py:2395
+#: flatcamGUI/FlatCAMGUI.py:872 flatcamGUI/FlatCAMGUI.py:2553
msgid "&Clear plot"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:815 flatcamGUI/FlatCAMGUI.py:1609 flatcamGUI/FlatCAMGUI.py:2397
+#: flatcamGUI/FlatCAMGUI.py:874 flatcamGUI/FlatCAMGUI.py:1710 flatcamGUI/FlatCAMGUI.py:2555
msgid "Zoom In"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:817 flatcamGUI/FlatCAMGUI.py:1609 flatcamGUI/FlatCAMGUI.py:2399
+#: flatcamGUI/FlatCAMGUI.py:876 flatcamGUI/FlatCAMGUI.py:1710 flatcamGUI/FlatCAMGUI.py:2557
msgid "Zoom Out"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:819 flatcamGUI/FlatCAMGUI.py:1608 flatcamGUI/FlatCAMGUI.py:2062
-#: flatcamGUI/FlatCAMGUI.py:2401
+#: flatcamGUI/FlatCAMGUI.py:878 flatcamGUI/FlatCAMGUI.py:1709 flatcamGUI/FlatCAMGUI.py:2170
+#: flatcamGUI/FlatCAMGUI.py:2559
msgid "Zoom Fit"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:827 flatcamGUI/FlatCAMGUI.py:2407
+#: flatcamGUI/FlatCAMGUI.py:886 flatcamGUI/FlatCAMGUI.py:2565
msgid "&Command Line"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:839 flatcamGUI/FlatCAMGUI.py:2417
+#: flatcamGUI/FlatCAMGUI.py:898 flatcamGUI/FlatCAMGUI.py:2577
msgid "2Sided Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:841 flatcamGUI/ObjectUI.py:588 flatcamTools/ToolCutOut.py:436
+#: flatcamGUI/FlatCAMGUI.py:900 flatcamGUI/FlatCAMGUI.py:1725 flatcamGUI/FlatCAMGUI.py:2579
+msgid "Align Objects Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:902 flatcamGUI/FlatCAMGUI.py:1726 flatcamGUI/FlatCAMGUI.py:2581
+#: flatcamTools/ToolExtractDrills.py:393
+msgid "Extract Drills Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:905 flatcamGUI/ObjectUI.py:595 flatcamTools/ToolCutOut.py:447
msgid "Cutout Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:843 flatcamGUI/FlatCAMGUI.py:2421 flatcamGUI/ObjectUI.py:566
-#: flatcamGUI/ObjectUI.py:1749 flatcamTools/ToolNonCopperClear.py:632
+#: flatcamGUI/FlatCAMGUI.py:907 flatcamGUI/FlatCAMGUI.py:2586 flatcamGUI/ObjectUI.py:573
+#: flatcamGUI/ObjectUI.py:2075 flatcamTools/ToolNCC.py:972
msgid "NCC Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:849 flatcamGUI/FlatCAMGUI.py:2427
+#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2592
msgid "Panel Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:851 flatcamGUI/FlatCAMGUI.py:2429 flatcamTools/ToolFilm.py:578
+#: flatcamGUI/FlatCAMGUI.py:915 flatcamGUI/FlatCAMGUI.py:2594 flatcamTools/ToolFilm.py:586
msgid "Film Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:853 flatcamGUI/FlatCAMGUI.py:2432
-#: flatcamTools/ToolSolderPaste.py:547
+#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2596
+#: flatcamTools/ToolSolderPaste.py:553
msgid "SolderPaste Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:855 flatcamGUI/FlatCAMGUI.py:2434 flatcamTools/ToolSub.py:35
+#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2598 flatcamTools/ToolSub.py:35
msgid "Subtract Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:857 flatcamTools/ToolRulesCheck.py:607
+#: flatcamGUI/FlatCAMGUI.py:921 flatcamGUI/FlatCAMGUI.py:2600
+#: flatcamTools/ToolRulesCheck.py:616
msgid "Rules Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:859 flatcamGUI/FlatCAMGUI.py:1624 flatcamTools/ToolOptimal.py:34
-#: flatcamTools/ToolOptimal.py:310
+#: flatcamGUI/FlatCAMGUI.py:923 flatcamGUI/FlatCAMGUI.py:1728 flatcamGUI/FlatCAMGUI.py:2602
+#: flatcamTools/ToolOptimal.py:34 flatcamTools/ToolOptimal.py:308
msgid "Optimal Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:864 flatcamGUI/FlatCAMGUI.py:1622 flatcamGUI/FlatCAMGUI.py:2439
+#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:1725 flatcamGUI/FlatCAMGUI.py:2607
msgid "Calculators Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:868 flatcamGUI/FlatCAMGUI.py:1625 flatcamGUI/FlatCAMGUI.py:2443
+#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:1729 flatcamGUI/FlatCAMGUI.py:2611
#: flatcamTools/ToolQRCode.py:43 flatcamTools/ToolQRCode.py:382
msgid "QRCode Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:870 flatcamGUI/FlatCAMGUI.py:2445
-#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:566
+#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2613
+#: flatcamTools/ToolCopperThieving.py:40 flatcamTools/ToolCopperThieving.py:569
msgid "Copper Thieving Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:873 flatcamGUI/FlatCAMGUI.py:1622 flatcamGUI/FlatCAMGUI.py:2448
-#: flatcamTools/ToolFiducials.py:33 flatcamTools/ToolFiducials.py:393
+#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:1726 flatcamGUI/FlatCAMGUI.py:2616
+#: flatcamTools/ToolFiducials.py:33 flatcamTools/ToolFiducials.py:395
msgid "Fiducials Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:875 flatcamGUI/FlatCAMGUI.py:2450
-#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:762
+#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2618
+#: flatcamTools/ToolCalibration.py:37 flatcamTools/ToolCalibration.py:759
msgid "Calibration Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:881 flatcamGUI/FlatCAMGUI.py:907 flatcamGUI/FlatCAMGUI.py:959
-#: flatcamGUI/FlatCAMGUI.py:2454 flatcamGUI/FlatCAMGUI.py:2528
+#: flatcamGUI/FlatCAMGUI.py:941 flatcamGUI/FlatCAMGUI.py:1726
+msgid "Punch Gerber Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:943 flatcamTools/ToolInvertGerber.py:31
+msgid "Invert Gerber Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:949 flatcamGUI/FlatCAMGUI.py:975 flatcamGUI/FlatCAMGUI.py:1027
+#: flatcamGUI/FlatCAMGUI.py:2624 flatcamGUI/FlatCAMGUI.py:2702
msgid "Select"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:883 flatcamGUI/FlatCAMGUI.py:2456
+#: flatcamGUI/FlatCAMGUI.py:951 flatcamGUI/FlatCAMGUI.py:2626
msgid "Add Drill Hole"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:885 flatcamGUI/FlatCAMGUI.py:2458
+#: flatcamGUI/FlatCAMGUI.py:953 flatcamGUI/FlatCAMGUI.py:2628
msgid "Add Drill Hole Array"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:887 flatcamGUI/FlatCAMGUI.py:1897 flatcamGUI/FlatCAMGUI.py:2150
-#: flatcamGUI/FlatCAMGUI.py:2462
+#: flatcamGUI/FlatCAMGUI.py:955 flatcamGUI/FlatCAMGUI.py:2005 flatcamGUI/FlatCAMGUI.py:2258
+#: flatcamGUI/FlatCAMGUI.py:2632
msgid "Add Slot"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:889 flatcamGUI/FlatCAMGUI.py:1896 flatcamGUI/FlatCAMGUI.py:2152
-#: flatcamGUI/FlatCAMGUI.py:2464
+#: flatcamGUI/FlatCAMGUI.py:957 flatcamGUI/FlatCAMGUI.py:2004 flatcamGUI/FlatCAMGUI.py:2260
+#: flatcamGUI/FlatCAMGUI.py:2634
msgid "Add Slot Array"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:891 flatcamGUI/FlatCAMGUI.py:2155 flatcamGUI/FlatCAMGUI.py:2460
+#: flatcamGUI/FlatCAMGUI.py:959 flatcamGUI/FlatCAMGUI.py:2263 flatcamGUI/FlatCAMGUI.py:2630
msgid "Resize Drill"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:895 flatcamGUI/FlatCAMGUI.py:2468
+#: flatcamGUI/FlatCAMGUI.py:963 flatcamGUI/FlatCAMGUI.py:2638
msgid "Copy Drill"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:897 flatcamGUI/FlatCAMGUI.py:2470
+#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2640
msgid "Delete Drill"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:901 flatcamGUI/FlatCAMGUI.py:2474
+#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2644
msgid "Move Drill"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:909 flatcamGUI/FlatCAMGUI.py:2480
+#: flatcamGUI/FlatCAMGUI.py:977 flatcamGUI/FlatCAMGUI.py:2652
msgid "Add Circle"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:911 flatcamGUI/FlatCAMGUI.py:2482
+#: flatcamGUI/FlatCAMGUI.py:979 flatcamGUI/FlatCAMGUI.py:2654
msgid "Add Arc"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:913 flatcamGUI/FlatCAMGUI.py:2484
+#: flatcamGUI/FlatCAMGUI.py:981 flatcamGUI/FlatCAMGUI.py:2656
msgid "Add Rectangle"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:917 flatcamGUI/FlatCAMGUI.py:2488
+#: flatcamGUI/FlatCAMGUI.py:985 flatcamGUI/FlatCAMGUI.py:2660
msgid "Add Path"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:919 flatcamGUI/FlatCAMGUI.py:2490
+#: flatcamGUI/FlatCAMGUI.py:987 flatcamGUI/FlatCAMGUI.py:2662
msgid "Add Polygon"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:922 flatcamGUI/FlatCAMGUI.py:2493
+#: flatcamGUI/FlatCAMGUI.py:990 flatcamGUI/FlatCAMGUI.py:2665
msgid "Add Text"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:924 flatcamGUI/FlatCAMGUI.py:2495
+#: flatcamGUI/FlatCAMGUI.py:992 flatcamGUI/FlatCAMGUI.py:2667
msgid "Add Buffer"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:926 flatcamGUI/FlatCAMGUI.py:2497
+#: flatcamGUI/FlatCAMGUI.py:994 flatcamGUI/FlatCAMGUI.py:2669
msgid "Paint Shape"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:928 flatcamGUI/FlatCAMGUI.py:985 flatcamGUI/FlatCAMGUI.py:2091
-#: flatcamGUI/FlatCAMGUI.py:2136 flatcamGUI/FlatCAMGUI.py:2499 flatcamGUI/FlatCAMGUI.py:2553
+#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:1053 flatcamGUI/FlatCAMGUI.py:2199
+#: flatcamGUI/FlatCAMGUI.py:2244 flatcamGUI/FlatCAMGUI.py:2671 flatcamGUI/FlatCAMGUI.py:2727
msgid "Eraser"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:932 flatcamGUI/FlatCAMGUI.py:2503
+#: flatcamGUI/FlatCAMGUI.py:1000 flatcamGUI/FlatCAMGUI.py:2675
msgid "Polygon Union"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:934 flatcamGUI/FlatCAMGUI.py:2505
+#: flatcamGUI/FlatCAMGUI.py:1002 flatcamGUI/FlatCAMGUI.py:2677
msgid "Polygon Explode"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:937 flatcamGUI/FlatCAMGUI.py:2508
+#: flatcamGUI/FlatCAMGUI.py:1005 flatcamGUI/FlatCAMGUI.py:2680
msgid "Polygon Intersection"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:939 flatcamGUI/FlatCAMGUI.py:2510
+#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2682
msgid "Polygon Subtraction"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:943 flatcamGUI/FlatCAMGUI.py:2514
+#: flatcamGUI/FlatCAMGUI.py:1011 flatcamGUI/FlatCAMGUI.py:2686
msgid "Cut Path"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:945
+#: flatcamGUI/FlatCAMGUI.py:1013
msgid "Copy Shape(s)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:948
+#: flatcamGUI/FlatCAMGUI.py:1016
msgid "Delete Shape '-'"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:950 flatcamGUI/FlatCAMGUI.py:993 flatcamGUI/FlatCAMGUI.py:2103
-#: flatcamGUI/FlatCAMGUI.py:2140 flatcamGUI/FlatCAMGUI.py:2520 flatcamGUI/FlatCAMGUI.py:2561
+#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:1061 flatcamGUI/FlatCAMGUI.py:2211
+#: flatcamGUI/FlatCAMGUI.py:2248 flatcamGUI/FlatCAMGUI.py:2692 flatcamGUI/FlatCAMGUI.py:2735
+#: flatcamGUI/ObjectUI.py:108
msgid "Transformations"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:953
+#: flatcamGUI/FlatCAMGUI.py:1021
msgid "Move Objects "
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:961 flatcamGUI/FlatCAMGUI.py:2016 flatcamGUI/FlatCAMGUI.py:2530
+#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2124 flatcamGUI/FlatCAMGUI.py:2704
msgid "Add Pad"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:965 flatcamGUI/FlatCAMGUI.py:2017 flatcamGUI/FlatCAMGUI.py:2534
+#: flatcamGUI/FlatCAMGUI.py:1033 flatcamGUI/FlatCAMGUI.py:2125 flatcamGUI/FlatCAMGUI.py:2708
msgid "Add Track"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:967 flatcamGUI/FlatCAMGUI.py:2016 flatcamGUI/FlatCAMGUI.py:2536
+#: flatcamGUI/FlatCAMGUI.py:1035 flatcamGUI/FlatCAMGUI.py:2124 flatcamGUI/FlatCAMGUI.py:2710
msgid "Add Region"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:969 flatcamGUI/FlatCAMGUI.py:2122 flatcamGUI/FlatCAMGUI.py:2538
+#: flatcamGUI/FlatCAMGUI.py:1037 flatcamGUI/FlatCAMGUI.py:2230 flatcamGUI/FlatCAMGUI.py:2712
msgid "Poligonize"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:972 flatcamGUI/FlatCAMGUI.py:2124 flatcamGUI/FlatCAMGUI.py:2541
+#: flatcamGUI/FlatCAMGUI.py:1040 flatcamGUI/FlatCAMGUI.py:2232 flatcamGUI/FlatCAMGUI.py:2715
msgid "SemiDisc"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:974 flatcamGUI/FlatCAMGUI.py:2126 flatcamGUI/FlatCAMGUI.py:2543
+#: flatcamGUI/FlatCAMGUI.py:1042 flatcamGUI/FlatCAMGUI.py:2234 flatcamGUI/FlatCAMGUI.py:2717
msgid "Disc"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:982 flatcamGUI/FlatCAMGUI.py:2134 flatcamGUI/FlatCAMGUI.py:2551
+#: flatcamGUI/FlatCAMGUI.py:1050 flatcamGUI/FlatCAMGUI.py:2242 flatcamGUI/FlatCAMGUI.py:2725
msgid "Mark Area"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:996 flatcamGUI/FlatCAMGUI.py:2016 flatcamGUI/FlatCAMGUI.py:2107
-#: flatcamGUI/FlatCAMGUI.py:2170 flatcamGUI/FlatCAMGUI.py:2564 flatcamTools/ToolMove.py:28
+#: flatcamGUI/FlatCAMGUI.py:1064 flatcamGUI/FlatCAMGUI.py:2124 flatcamGUI/FlatCAMGUI.py:2215
+#: flatcamGUI/FlatCAMGUI.py:2278 flatcamGUI/FlatCAMGUI.py:2738 flatcamTools/ToolMove.py:28
msgid "Move"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1004 flatcamGUI/FlatCAMGUI.py:2571
+#: flatcamGUI/FlatCAMGUI.py:1072 flatcamGUI/FlatCAMGUI.py:2747
msgid "Snap to grid"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1007 flatcamGUI/FlatCAMGUI.py:2574
+#: flatcamGUI/FlatCAMGUI.py:1075 flatcamGUI/FlatCAMGUI.py:2750
msgid "Grid X snapping distance"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1012 flatcamGUI/FlatCAMGUI.py:2579
+#: flatcamGUI/FlatCAMGUI.py:1080 flatcamGUI/FlatCAMGUI.py:2755
msgid "Grid Y snapping distance"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1018 flatcamGUI/FlatCAMGUI.py:2585
+#: flatcamGUI/FlatCAMGUI.py:1086 flatcamGUI/FlatCAMGUI.py:2761
msgid ""
"When active, value on Grid_X\n"
"is copied to the Grid_Y value."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1025 flatcamGUI/FlatCAMGUI.py:2592
+#: flatcamGUI/FlatCAMGUI.py:1093 flatcamGUI/FlatCAMGUI.py:2768
msgid "Snap to corner"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1029 flatcamGUI/FlatCAMGUI.py:2596
-#: flatcamGUI/PreferencesUI.py:984
+#: flatcamGUI/FlatCAMGUI.py:1097 flatcamGUI/FlatCAMGUI.py:2772
+#: flatcamGUI/PreferencesUI.py:1159
msgid "Max. magnet distance"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1063
+#: flatcamGUI/FlatCAMGUI.py:1134
msgid "Selected"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1090 flatcamGUI/FlatCAMGUI.py:1098
+#: flatcamGUI/FlatCAMGUI.py:1162 flatcamGUI/FlatCAMGUI.py:1170
msgid "Plot Area"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1125
+#: flatcamGUI/FlatCAMGUI.py:1197
msgid "General"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1140 flatcamTools/ToolCopperThieving.py:74
-#: flatcamTools/ToolDblSided.py:59 flatcamTools/ToolOptimal.py:71
-#: flatcamTools/ToolQRCode.py:77
+#: flatcamGUI/FlatCAMGUI.py:1212 flatcamTools/ToolCopperThieving.py:75
+#: flatcamTools/ToolDblSided.py:65 flatcamTools/ToolExtractDrills.py:61
+#: flatcamTools/ToolInvertGerber.py:72 flatcamTools/ToolOptimal.py:72
+#: flatcamTools/ToolPunchGerber.py:64
msgid "GERBER"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1150 flatcamTools/ToolDblSided.py:87
+#: flatcamGUI/FlatCAMGUI.py:1222 flatcamTools/ToolDblSided.py:93
msgid "EXCELLON"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1160 flatcamTools/ToolDblSided.py:115
+#: flatcamGUI/FlatCAMGUI.py:1232 flatcamTools/ToolDblSided.py:121
msgid "GEOMETRY"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1170
+#: flatcamGUI/FlatCAMGUI.py:1242
msgid "CNC-JOB"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1179 flatcamGUI/ObjectUI.py:555 flatcamGUI/ObjectUI.py:1724
+#: flatcamGUI/FlatCAMGUI.py:1251 flatcamGUI/ObjectUI.py:562 flatcamGUI/ObjectUI.py:2050
msgid "TOOLS"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1188
+#: flatcamGUI/FlatCAMGUI.py:1260
msgid "TOOLS 2"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1198
+#: flatcamGUI/FlatCAMGUI.py:1270
msgid "UTILITIES"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1215 flatcamGUI/PreferencesUI.py:2833
+#: flatcamGUI/FlatCAMGUI.py:1287 flatcamGUI/PreferencesUI.py:3015
msgid "Restore Defaults"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1218
+#: flatcamGUI/FlatCAMGUI.py:1290
msgid ""
"Restore the entire set of default values\n"
"to the initial values loaded after first launch."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1223
+#: flatcamGUI/FlatCAMGUI.py:1295
msgid "Open Pref Folder"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1226
+#: flatcamGUI/FlatCAMGUI.py:1298
msgid "Open the folder where FlatCAM save the preferences files."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1234
+#: flatcamGUI/FlatCAMGUI.py:1302 flatcamGUI/FlatCAMGUI.py:2477
+msgid "Clear GUI Settings"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1306
msgid ""
"Clear the GUI settings for FlatCAM,\n"
"such as: layout, gui state, style, hdpi support etc."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1245
+#: flatcamGUI/FlatCAMGUI.py:1317
msgid "Apply"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1248
+#: flatcamGUI/FlatCAMGUI.py:1320
msgid "Apply the current preferences without saving to a file."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1255
+#: flatcamGUI/FlatCAMGUI.py:1327
msgid ""
"Save the current settings in the 'current_defaults' file\n"
"which is the file storing the working default preferences."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1263
+#: flatcamGUI/FlatCAMGUI.py:1335
msgid "Will not save the changes and will close the preferences window."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "SHOW SHORTCUT LIST"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Project Tab"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1603
+#: flatcamGUI/FlatCAMGUI.py:1704
msgid "Switch to Selected Tab"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1604
+#: flatcamGUI/FlatCAMGUI.py:1705
msgid "Switch to Tool Tab"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "New Gerber"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Edit Object (if selected)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1605
+#: flatcamGUI/FlatCAMGUI.py:1706
msgid "Jump to Coordinates"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Excellon"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Move Obj"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "New Geometry"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1606
+#: flatcamGUI/FlatCAMGUI.py:1707
msgid "Change Units"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Open Properties Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Rotate by 90 degree CW"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1607
+#: flatcamGUI/FlatCAMGUI.py:1708
msgid "Shell Toggle"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1608
+#: flatcamGUI/FlatCAMGUI.py:1709
msgid "Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on X_axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1609
+#: flatcamGUI/FlatCAMGUI.py:1710
msgid "Flip on Y_axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Copy Obj"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1612
+#: flatcamGUI/FlatCAMGUI.py:1713
msgid "Open Tools Database"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Excellon File"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "Open Gerber File"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1613
+#: flatcamGUI/FlatCAMGUI.py:1714
msgid "New Project"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1614 flatcamTools/ToolPDF.py:42
+#: flatcamGUI/FlatCAMGUI.py:1715 flatcamTools/ToolPDF.py:42
msgid "PDF Import Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1614
-msgid "Save Project As"
+#: flatcamGUI/FlatCAMGUI.py:1715
+msgid "Save Project"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1614
+#: flatcamGUI/FlatCAMGUI.py:1715
msgid "Toggle Plot Area"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1617
+#: flatcamGUI/FlatCAMGUI.py:1718
msgid "Copy Obj_Name"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle Code Editor"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1719
msgid "Toggle the axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1618 flatcamGUI/FlatCAMGUI.py:1810 flatcamGUI/FlatCAMGUI.py:1897
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1719 flatcamGUI/FlatCAMGUI.py:1918 flatcamGUI/FlatCAMGUI.py:2005
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Distance Minimum Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1618
+#: flatcamGUI/FlatCAMGUI.py:1720
msgid "Open Preferences Window"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Rotate by 90 degree CCW"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Run a Script"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Toggle the workspace"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1619
+#: flatcamGUI/FlatCAMGUI.py:1721
msgid "Skew on X axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1620
+#: flatcamGUI/FlatCAMGUI.py:1722
msgid "Skew on Y axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "2-Sided PCB Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1622
+#: flatcamGUI/FlatCAMGUI.py:1725
msgid "Transformations Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1623
+#: flatcamGUI/FlatCAMGUI.py:1727
msgid "Solder Paste Dispensing Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Film PCB Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1624
+#: flatcamGUI/FlatCAMGUI.py:1728
msgid "Non-Copper Clearing Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Paint Area Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1625
+#: flatcamGUI/FlatCAMGUI.py:1729
msgid "Rules Check Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1626
+#: flatcamGUI/FlatCAMGUI.py:1730
msgid "View File Source"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Cutout PCB Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Enable all Plots"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable all Plots"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1627
+#: flatcamGUI/FlatCAMGUI.py:1731
msgid "Disable Non-selected Plots"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1628
+#: flatcamGUI/FlatCAMGUI.py:1732
msgid "Toggle Full Screen"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1631
+#: flatcamGUI/FlatCAMGUI.py:1735
msgid "Abort current task (gracefully)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1634
+#: flatcamGUI/FlatCAMGUI.py:1738
+msgid "Save Project As"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1739
+msgid "Paste Special. Will convert a Windows path style to the one required in Tcl Shell"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1742
msgid "Open Online Manual"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Open Online Tutorials"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Refresh Plots"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1635 flatcamTools/ToolSolderPaste.py:503
+#: flatcamGUI/FlatCAMGUI.py:1743 flatcamTools/ToolSolderPaste.py:509
msgid "Delete Object"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1635
+#: flatcamGUI/FlatCAMGUI.py:1743
msgid "Alternate: Delete Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "(left to Key_1)Toogle Notebook Area (Left Side)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1636
+#: flatcamGUI/FlatCAMGUI.py:1744
msgid "En(Dis)able Obj Plot"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1637
+#: flatcamGUI/FlatCAMGUI.py:1745
msgid "Deselects all objects"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1651
+#: flatcamGUI/FlatCAMGUI.py:1759
msgid "Editor Shortcut list"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "GEOMETRY EDITOR"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Draw an Arc"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1805
+#: flatcamGUI/FlatCAMGUI.py:1913
msgid "Copy Geo Item"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Within Add Arc will toogle the ARC direction: CW or CCW"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1806
+#: flatcamGUI/FlatCAMGUI.py:1914
msgid "Polygon Intersection Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Geo Paint Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1807 flatcamGUI/FlatCAMGUI.py:1896 flatcamGUI/FlatCAMGUI.py:2016
+#: flatcamGUI/FlatCAMGUI.py:1915 flatcamGUI/FlatCAMGUI.py:2004 flatcamGUI/FlatCAMGUI.py:2124
msgid "Jump to Location (x, y)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Toggle Corner Snap"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1807
+#: flatcamGUI/FlatCAMGUI.py:1915
msgid "Move Geo Item"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Within Add Arc will cycle through the ARC modes"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Polygon"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1808
+#: flatcamGUI/FlatCAMGUI.py:1916
msgid "Draw a Circle"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw a Path"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Draw Rectangle"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Polygon Subtraction Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1809
+#: flatcamGUI/FlatCAMGUI.py:1917
msgid "Add Text Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Polygon Union Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on X axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1810
+#: flatcamGUI/FlatCAMGUI.py:1918
msgid "Flip shape on Y axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on X axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Skew shape on Y axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1811
+#: flatcamGUI/FlatCAMGUI.py:1919
msgid "Editor Transformation Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on X axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1812
+#: flatcamGUI/FlatCAMGUI.py:1920
msgid "Offset shape on Y axis"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1813 flatcamGUI/FlatCAMGUI.py:1899 flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:1921 flatcamGUI/FlatCAMGUI.py:2007 flatcamGUI/FlatCAMGUI.py:2129
msgid "Save Object and Exit Editor"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1813
+#: flatcamGUI/FlatCAMGUI.py:1921
msgid "Polygon Cut Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Rotate Geometry"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1814
+#: flatcamGUI/FlatCAMGUI.py:1922
msgid "Finish drawing for certain tools"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1814 flatcamGUI/FlatCAMGUI.py:1899 flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:1922 flatcamGUI/FlatCAMGUI.py:2007 flatcamGUI/FlatCAMGUI.py:2127
msgid "Abort and return to Select"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1815 flatcamGUI/FlatCAMGUI.py:2518
+#: flatcamGUI/FlatCAMGUI.py:1923 flatcamGUI/FlatCAMGUI.py:2690
msgid "Delete Shape"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "EXCELLON EDITOR"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1895
+#: flatcamGUI/FlatCAMGUI.py:2003
msgid "Copy Drill(s)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1895 flatcamGUI/FlatCAMGUI.py:2145
+#: flatcamGUI/FlatCAMGUI.py:2003 flatcamGUI/FlatCAMGUI.py:2253
msgid "Add Drill"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1896
+#: flatcamGUI/FlatCAMGUI.py:2004
msgid "Move Drill(s)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1897
+#: flatcamGUI/FlatCAMGUI.py:2005
msgid "Add a new Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Delete Drill(s)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:1898
+#: flatcamGUI/FlatCAMGUI.py:2006
msgid "Alternate: Delete Tool(s)"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "GERBER EDITOR"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add Disc"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2015
+#: flatcamGUI/FlatCAMGUI.py:2123
msgid "Add SemiDisc"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2017
+#: flatcamGUI/FlatCAMGUI.py:2125
msgid "Within Track & Region Tools will cycle in REVERSE the bend modes"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2018
+#: flatcamGUI/FlatCAMGUI.py:2126
msgid "Within Track & Region Tools will cycle FORWARD the bend modes"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2019
+#: flatcamGUI/FlatCAMGUI.py:2127
msgid "Alternate: Delete Apertures"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2020
+#: flatcamGUI/FlatCAMGUI.py:2128
msgid "Eraser Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2021 flatcamGUI/PreferencesUI.py:2634
+#: flatcamGUI/FlatCAMGUI.py:2129 flatcamGUI/PreferencesUI.py:2816
msgid "Mark Area Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Poligonize Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2021
+#: flatcamGUI/FlatCAMGUI.py:2129
msgid "Transformation Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2038
+#: flatcamGUI/FlatCAMGUI.py:2146
msgid "Toggle Visibility"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2044
+#: flatcamGUI/FlatCAMGUI.py:2152
msgid "New"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2046 flatcamTools/ToolCalibration.py:634
-msgid "Geometry"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:2050 flatcamTools/ToolCalibration.py:197
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolFilm.py:359
+#: flatcamGUI/FlatCAMGUI.py:2158 flatcamGUI/PreferencesUI.py:8410
+#: flatcamTools/ToolAlignObjects.py:74 flatcamTools/ToolAlignObjects.py:110
+#: flatcamTools/ToolCalibration.py:197 flatcamTools/ToolCalibration.py:631
+#: flatcamTools/ToolCalibration.py:648 flatcamTools/ToolCalibration.py:807
+#: flatcamTools/ToolCalibration.py:815 flatcamTools/ToolCopperThieving.py:145
+#: flatcamTools/ToolCopperThieving.py:159 flatcamTools/ToolCopperThieving.py:605
+#: flatcamTools/ToolDblSided.py:226 flatcamTools/ToolFilm.py:359 flatcamTools/ToolNCC.py:558
+#: flatcamTools/ToolNCC.py:1293 flatcamTools/ToolPaint.py:502 flatcamTools/ToolPaint.py:703
+#: flatcamTools/ToolPanelize.py:374 flatcamTools/ToolPunchGerber.py:149
+#: flatcamTools/ToolPunchGerber.py:164
msgid "Excellon"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2057
+#: flatcamGUI/FlatCAMGUI.py:2165
msgid "Grids"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2064
+#: flatcamGUI/FlatCAMGUI.py:2172
msgid "Clear Plot"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2066
+#: flatcamGUI/FlatCAMGUI.py:2174
msgid "Replot"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2070
+#: flatcamGUI/FlatCAMGUI.py:2178
msgid "Geo Editor"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2072
+#: flatcamGUI/FlatCAMGUI.py:2180
msgid "Path"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2074
+#: flatcamGUI/FlatCAMGUI.py:2182
msgid "Rectangle"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2077
+#: flatcamGUI/FlatCAMGUI.py:2185
msgid "Circle"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2079
-msgid "Polygon"
-msgstr ""
-
-#: flatcamGUI/FlatCAMGUI.py:2081
+#: flatcamGUI/FlatCAMGUI.py:2189
msgid "Arc"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2095
+#: flatcamGUI/FlatCAMGUI.py:2203
msgid "Union"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2097
+#: flatcamGUI/FlatCAMGUI.py:2205
msgid "Intersection"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2099
+#: flatcamGUI/FlatCAMGUI.py:2207
msgid "Subtraction"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2101 flatcamGUI/ObjectUI.py:1811
-#: flatcamGUI/PreferencesUI.py:4421
+#: flatcamGUI/FlatCAMGUI.py:2209 flatcamGUI/ObjectUI.py:2139
+#: flatcamGUI/PreferencesUI.py:4714
msgid "Cut"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2112
+#: flatcamGUI/FlatCAMGUI.py:2220
msgid "Pad"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2114
+#: flatcamGUI/FlatCAMGUI.py:2222
msgid "Pad Array"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2118
+#: flatcamGUI/FlatCAMGUI.py:2226
msgid "Track"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2120
+#: flatcamGUI/FlatCAMGUI.py:2228
msgid "Region"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2143
+#: flatcamGUI/FlatCAMGUI.py:2251
msgid "Exc Editor"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2188
+#: flatcamGUI/FlatCAMGUI.py:2296
msgid ""
"Relative neasurement.\n"
"Reference is last click position"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2194
+#: flatcamGUI/FlatCAMGUI.py:2302
msgid ""
"Absolute neasurement.\n"
"Reference is (X=0, Y= 0) position"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2301
+#: flatcamGUI/FlatCAMGUI.py:2406
msgid "Lock Toolbars"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2419
+#: flatcamGUI/FlatCAMGUI.py:2465
+msgid "FlatCAM Preferences Folder opened."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2476
+msgid "Are you sure you want to delete the GUI Settings? \n"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2584
msgid "&Cutout Tool"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2478
+#: flatcamGUI/FlatCAMGUI.py:2650
msgid "Select 'Esc'"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2516
+#: flatcamGUI/FlatCAMGUI.py:2688
msgid "Copy Objects"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:2524
+#: flatcamGUI/FlatCAMGUI.py:2696
msgid "Move Objects"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3087
+#: flatcamGUI/FlatCAMGUI.py:3312
msgid ""
"Please first select a geometry item to be cutted\n"
"then select the geometry item that will be cutted\n"
@@ -6167,103 +6458,104 @@ msgid ""
"the toolbar button."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3094 flatcamGUI/FlatCAMGUI.py:3254 flatcamGUI/FlatCAMGUI.py:3299
-#: flatcamGUI/FlatCAMGUI.py:3319
+#: flatcamGUI/FlatCAMGUI.py:3319 flatcamGUI/FlatCAMGUI.py:3478 flatcamGUI/FlatCAMGUI.py:3523
+#: flatcamGUI/FlatCAMGUI.py:3543
msgid "Warning"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3249
+#: flatcamGUI/FlatCAMGUI.py:3473
msgid ""
"Please select geometry items \n"
"on which to perform Intersection Tool."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3294
+#: flatcamGUI/FlatCAMGUI.py:3518
msgid ""
"Please select geometry items \n"
"on which to perform Substraction Tool."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3314
+#: flatcamGUI/FlatCAMGUI.py:3538
msgid ""
"Please select geometry items \n"
"on which to perform union."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3394 flatcamGUI/FlatCAMGUI.py:3608
+#: flatcamGUI/FlatCAMGUI.py:3617 flatcamGUI/FlatCAMGUI.py:3828
msgid "Cancelled. Nothing selected to delete."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3479 flatcamGUI/FlatCAMGUI.py:3726
+#: flatcamGUI/FlatCAMGUI.py:3701 flatcamGUI/FlatCAMGUI.py:3944
msgid "Cancelled. Nothing selected to copy."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3526 flatcamGUI/FlatCAMGUI.py:3756
+#: flatcamGUI/FlatCAMGUI.py:3747 flatcamGUI/FlatCAMGUI.py:3973
msgid "Cancelled. Nothing selected to move."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3782
+#: flatcamGUI/FlatCAMGUI.py:3999
msgid "New Tool ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3783 flatcamTools/ToolNonCopperClear.py:583
-#: flatcamTools/ToolPaint.py:494 flatcamTools/ToolSolderPaste.py:554
+#: flatcamGUI/FlatCAMGUI.py:4000 flatcamTools/ToolNCC.py:922 flatcamTools/ToolPaint.py:847
+#: flatcamTools/ToolSolderPaste.py:560
msgid "Enter a Tool Diameter"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3795
+#: flatcamGUI/FlatCAMGUI.py:4012
msgid "Adding Tool cancelled ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:3808
+#: flatcamGUI/FlatCAMGUI.py:4025
msgid "Distance Tool exit..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:4018 flatcamGUI/FlatCAMGUI.py:4025
+#: flatcamGUI/FlatCAMGUI.py:4234 flatcamGUI/FlatCAMGUI.py:4241
msgid "Idle."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:4056
+#: flatcamGUI/FlatCAMGUI.py:4272
msgid "Application started ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:4057
+#: flatcamGUI/FlatCAMGUI.py:4273
msgid "Hello!"
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:4115
+#: flatcamGUI/FlatCAMGUI.py:4331
msgid "Open Project ..."
msgstr ""
-#: flatcamGUI/FlatCAMGUI.py:4141
+#: flatcamGUI/FlatCAMGUI.py:4357
msgid "Exit"
msgstr ""
-#: flatcamGUI/GUIElements.py:2261 flatcamGUI/PreferencesUI.py:5265
-#: flatcamGUI/PreferencesUI.py:5825 flatcamTools/ToolFilm.py:219
+#: flatcamGUI/GUIElements.py:2513 flatcamGUI/PreferencesUI.py:6313
+#: flatcamTools/ToolDblSided.py:174 flatcamTools/ToolDblSided.py:389
+#: flatcamTools/ToolFilm.py:219
msgid "Reference"
msgstr ""
-#: flatcamGUI/GUIElements.py:2263
+#: flatcamGUI/GUIElements.py:2515
msgid ""
"The reference can be:\n"
"- Absolute -> the reference point is point (0,0)\n"
"- Relative -> the reference point is the mouse position before Jump"
msgstr ""
-#: flatcamGUI/GUIElements.py:2268
+#: flatcamGUI/GUIElements.py:2520
msgid "Abs"
msgstr ""
-#: flatcamGUI/GUIElements.py:2269
+#: flatcamGUI/GUIElements.py:2521
msgid "Relative"
msgstr ""
-#: flatcamGUI/GUIElements.py:2279
+#: flatcamGUI/GUIElements.py:2531
msgid "Location"
msgstr ""
-#: flatcamGUI/GUIElements.py:2281
+#: flatcamGUI/GUIElements.py:2533
msgid ""
"The Location value is a tuple (x,y).\n"
"If the reference is Absolute then the Jump will be at the position (x,y).\n"
@@ -6271,6 +6563,10 @@ msgid ""
"from the current mouse location point."
msgstr ""
+#: flatcamGUI/GUIElements.py:2573
+msgid "Save Log"
+msgstr ""
+
#: flatcamGUI/ObjectUI.py:38
msgid "FlatCAM Object"
msgstr ""
@@ -6286,123 +6582,105 @@ msgid ""
"'APP. LEVEL' radio button."
msgstr ""
-#: flatcamGUI/ObjectUI.py:105
-msgid "Change the size of the object."
+#: flatcamGUI/ObjectUI.py:110
+msgid "Geometrical transformations of the current object."
msgstr ""
-#: flatcamGUI/ObjectUI.py:111
-msgid "Factor"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:113
+#: flatcamGUI/ObjectUI.py:119
msgid ""
"Factor by which to multiply\n"
"geometric features of this object.\n"
"Expressions are allowed. E.g: 1/25.4"
msgstr ""
-#: flatcamGUI/ObjectUI.py:123
+#: flatcamGUI/ObjectUI.py:126
msgid "Perform scaling operation."
msgstr ""
-#: flatcamGUI/ObjectUI.py:134
-msgid "Change the position of this object."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:139
-msgid "Vector"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:141
+#: flatcamGUI/ObjectUI.py:137
msgid ""
"Amount by which to move the object\n"
"in the x and y axes in (x, y) format.\n"
"Expressions are allowed. E.g: (1/3.2, 0.5*3)"
msgstr ""
-#: flatcamGUI/ObjectUI.py:150
+#: flatcamGUI/ObjectUI.py:144
msgid "Perform the offset operation."
msgstr ""
-#: flatcamGUI/ObjectUI.py:167
+#: flatcamGUI/ObjectUI.py:177
msgid "Gerber Object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:767 flatcamGUI/ObjectUI.py:1205
-#: flatcamGUI/ObjectUI.py:1905 flatcamGUI/PreferencesUI.py:1783
-#: flatcamGUI/PreferencesUI.py:3849 flatcamGUI/PreferencesUI.py:4406
-msgid "Plot (show) this object."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:184 flatcamGUI/ObjectUI.py:765 flatcamGUI/PreferencesUI.py:1781
-#: flatcamGUI/PreferencesUI.py:2680 flatcamGUI/PreferencesUI.py:3847
-msgid "Plot"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:189 flatcamGUI/ObjectUI.py:726 flatcamGUI/ObjectUI.py:1159
-#: flatcamGUI/ObjectUI.py:1795 flatcamGUI/PreferencesUI.py:1760
-#: flatcamGUI/PreferencesUI.py:2674 flatcamGUI/PreferencesUI.py:3843
-#: flatcamGUI/PreferencesUI.py:4395
+#: flatcamGUI/ObjectUI.py:186 flatcamGUI/ObjectUI.py:729 flatcamGUI/ObjectUI.py:1424
+#: flatcamGUI/ObjectUI.py:2123 flatcamGUI/PreferencesUI.py:1940
+#: flatcamGUI/PreferencesUI.py:2856 flatcamGUI/PreferencesUI.py:4121
+#: flatcamGUI/PreferencesUI.py:4688
msgid "Plot Options"
msgstr ""
-#: flatcamGUI/ObjectUI.py:195 flatcamGUI/ObjectUI.py:727 flatcamGUI/PreferencesUI.py:1767
-#: flatcamGUI/PreferencesUI.py:2686 flatcamGUI/PreferencesUI.py:7222
-#: flatcamTools/ToolCopperThieving.py:190
+#: flatcamGUI/ObjectUI.py:192 flatcamGUI/ObjectUI.py:730 flatcamGUI/PreferencesUI.py:1947
+#: flatcamGUI/PreferencesUI.py:2868 flatcamGUI/PreferencesUI.py:7728
+#: flatcamTools/ToolCopperThieving.py:192
msgid "Solid"
msgstr ""
-#: flatcamGUI/ObjectUI.py:197 flatcamGUI/PreferencesUI.py:1769
+#: flatcamGUI/ObjectUI.py:194 flatcamGUI/PreferencesUI.py:1949
msgid "Solid color polygons."
msgstr ""
-#: flatcamGUI/ObjectUI.py:203
+#: flatcamGUI/ObjectUI.py:200
msgid "Multi-Color"
msgstr ""
-#: flatcamGUI/ObjectUI.py:205 flatcamGUI/PreferencesUI.py:1776
+#: flatcamGUI/ObjectUI.py:202 flatcamGUI/PreferencesUI.py:1956
msgid "Draw polygons in different colors."
msgstr ""
-#: flatcamGUI/ObjectUI.py:213 flatcamGUI/ObjectUI.py:738 flatcamGUI/ObjectUI.py:1165
-#: flatcamGUI/ObjectUI.py:1825 flatcamGUI/ObjectUI.py:2128 flatcamGUI/ObjectUI.py:2194
-#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolFiducials.py:73
-msgid "Name"
+#: flatcamGUI/ObjectUI.py:208 flatcamGUI/ObjectUI.py:768 flatcamGUI/PreferencesUI.py:1961
+#: flatcamGUI/PreferencesUI.py:2862 flatcamGUI/PreferencesUI.py:4125
+msgid "Plot"
msgstr ""
-#: flatcamGUI/ObjectUI.py:234
+#: flatcamGUI/ObjectUI.py:210 flatcamGUI/ObjectUI.py:770 flatcamGUI/ObjectUI.py:1484
+#: flatcamGUI/ObjectUI.py:2233 flatcamGUI/PreferencesUI.py:1963
+#: flatcamGUI/PreferencesUI.py:4127 flatcamGUI/PreferencesUI.py:4699
+msgid "Plot (show) this object."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:238
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"When unchecked, it will delete all mark shapes\n"
"that are drawn on canvas."
msgstr ""
-#: flatcamGUI/ObjectUI.py:244
+#: flatcamGUI/ObjectUI.py:248
msgid "Mark All"
msgstr ""
-#: flatcamGUI/ObjectUI.py:246
+#: flatcamGUI/ObjectUI.py:250
msgid ""
"When checked it will display all the apertures.\n"
"When unchecked, it will delete all mark shapes\n"
"that are drawn on canvas."
msgstr ""
-#: flatcamGUI/ObjectUI.py:274
+#: flatcamGUI/ObjectUI.py:278
msgid "Mark the aperture instances on canvas."
msgstr ""
-#: flatcamGUI/ObjectUI.py:286 flatcamGUI/PreferencesUI.py:2014
+#: flatcamGUI/ObjectUI.py:290 flatcamGUI/PreferencesUI.py:2194
msgid "Isolation Routing"
msgstr ""
-#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:2016
+#: flatcamGUI/ObjectUI.py:292 flatcamGUI/PreferencesUI.py:2196
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut outside polygons."
msgstr ""
-#: flatcamGUI/ObjectUI.py:306 flatcamGUI/PreferencesUI.py:2219
+#: flatcamGUI/ObjectUI.py:310 flatcamGUI/PreferencesUI.py:2399
msgid ""
"Choose what tool to use for Gerber isolation:\n"
"'Circular' or 'V-shape'.\n"
@@ -6410,41 +6688,47 @@ msgid ""
"diameter will depend on the chosen cut depth."
msgstr ""
-#: flatcamGUI/ObjectUI.py:312
+#: flatcamGUI/ObjectUI.py:316
msgid "V-Shape"
msgstr ""
-#: flatcamGUI/ObjectUI.py:318 flatcamGUI/ObjectUI.py:1374 flatcamGUI/PreferencesUI.py:2231
-#: flatcamGUI/PreferencesUI.py:5055 flatcamTools/ToolNonCopperClear.py:231
+#: flatcamGUI/ObjectUI.py:322 flatcamGUI/ObjectUI.py:1670 flatcamGUI/PreferencesUI.py:2411
+#: flatcamGUI/PreferencesUI.py:5351 flatcamGUI/PreferencesUI.py:5917
+#: flatcamGUI/PreferencesUI.py:5924 flatcamTools/ToolNCC.py:233 flatcamTools/ToolNCC.py:240
+#: flatcamTools/ToolPaint.py:216
msgid "V-Tip Dia"
msgstr ""
-#: flatcamGUI/ObjectUI.py:320 flatcamGUI/ObjectUI.py:1377 flatcamGUI/PreferencesUI.py:2233
-#: flatcamGUI/PreferencesUI.py:5057 flatcamTools/ToolNonCopperClear.py:233
+#: flatcamGUI/ObjectUI.py:324 flatcamGUI/ObjectUI.py:1673 flatcamGUI/PreferencesUI.py:2413
+#: flatcamGUI/PreferencesUI.py:5353 flatcamGUI/PreferencesUI.py:5919
+#: flatcamTools/ToolNCC.py:235 flatcamTools/ToolPaint.py:218
msgid "The tip diameter for V-Shape Tool"
msgstr ""
-#: flatcamGUI/ObjectUI.py:331 flatcamGUI/ObjectUI.py:1389 flatcamGUI/PreferencesUI.py:2244
-#: flatcamGUI/PreferencesUI.py:5067 flatcamTools/ToolNonCopperClear.py:242
+#: flatcamGUI/ObjectUI.py:335 flatcamGUI/ObjectUI.py:1685 flatcamGUI/PreferencesUI.py:2424
+#: flatcamGUI/PreferencesUI.py:5363 flatcamGUI/PreferencesUI.py:5930
+#: flatcamGUI/PreferencesUI.py:5938 flatcamTools/ToolNCC.py:246 flatcamTools/ToolNCC.py:254
+#: flatcamTools/ToolPaint.py:229
msgid "V-Tip Angle"
msgstr ""
-#: flatcamGUI/ObjectUI.py:333 flatcamGUI/ObjectUI.py:1392 flatcamGUI/PreferencesUI.py:2246
-#: flatcamGUI/PreferencesUI.py:5069 flatcamTools/ToolNonCopperClear.py:244
+#: flatcamGUI/ObjectUI.py:337 flatcamGUI/ObjectUI.py:1688 flatcamGUI/PreferencesUI.py:2426
+#: flatcamGUI/PreferencesUI.py:5365 flatcamGUI/PreferencesUI.py:5932
+#: flatcamTools/ToolNCC.py:248 flatcamTools/ToolPaint.py:231
msgid ""
"The tip angle for V-Shape Tool.\n"
"In degree."
msgstr ""
-#: flatcamGUI/ObjectUI.py:347 flatcamGUI/ObjectUI.py:1408 flatcamGUI/PreferencesUI.py:2259
-#: flatcamGUI/PreferencesUI.py:3963 flatcamGUI/PreferencesUI.py:5330
-#: flatcamTools/ToolCutOut.py:135
+#: flatcamGUI/ObjectUI.py:351 flatcamGUI/ObjectUI.py:1704 flatcamGUI/PreferencesUI.py:2439
+#: flatcamGUI/PreferencesUI.py:4243 flatcamGUI/PreferencesUI.py:5669
+#: flatcamTools/ToolCutOut.py:142
msgid ""
"Cutting depth (negative)\n"
"below the copper surface."
msgstr ""
-#: flatcamGUI/ObjectUI.py:361
+#: flatcamGUI/ObjectUI.py:365
msgid ""
"Diameter of the cutting tool.\n"
"If you want to have an isolation path\n"
@@ -6453,84 +6737,67 @@ msgid ""
"this parameter."
msgstr ""
-#: flatcamGUI/ObjectUI.py:377 flatcamGUI/PreferencesUI.py:2038
+#: flatcamGUI/ObjectUI.py:381 flatcamGUI/PreferencesUI.py:2218
msgid "# Passes"
msgstr ""
-#: flatcamGUI/ObjectUI.py:379 flatcamGUI/PreferencesUI.py:2040
+#: flatcamGUI/ObjectUI.py:383 flatcamGUI/PreferencesUI.py:2220
msgid ""
"Width of the isolation gap in\n"
"number (integer) of tool widths."
msgstr ""
-#: flatcamGUI/ObjectUI.py:389 flatcamGUI/PreferencesUI.py:2050
+#: flatcamGUI/ObjectUI.py:394 flatcamGUI/PreferencesUI.py:2230
msgid "Pass overlap"
msgstr ""
-#: flatcamGUI/ObjectUI.py:391 flatcamGUI/PreferencesUI.py:2052
-msgid "How much (fraction) of the tool width to overlap each tool pass."
+#: flatcamGUI/ObjectUI.py:396 flatcamGUI/PreferencesUI.py:2232
+msgid "How much (percentage) of the tool width to overlap each tool pass."
msgstr ""
-#: flatcamGUI/ObjectUI.py:403 flatcamGUI/PreferencesUI.py:2077
-#: flatcamGUI/PreferencesUI.py:4372 flatcamGUI/PreferencesUI.py:5112
-#: flatcamTools/ToolNonCopperClear.py:162
-msgid "Milling Type"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:405 flatcamGUI/PreferencesUI.py:2079
-#: flatcamGUI/PreferencesUI.py:4374
+#: flatcamGUI/ObjectUI.py:410 flatcamGUI/PreferencesUI.py:2259
+#: flatcamGUI/PreferencesUI.py:4667
msgid ""
"Milling type:\n"
"- climb / best for precision milling and to reduce tool usage\n"
"- conventional / useful when there is no backlash compensation"
msgstr ""
-#: flatcamGUI/ObjectUI.py:409 flatcamGUI/PreferencesUI.py:2084
-#: flatcamGUI/PreferencesUI.py:4378 flatcamGUI/PreferencesUI.py:5119
-#: flatcamTools/ToolNonCopperClear.py:169
-msgid "Climb"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:410
-msgid "Conventional"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:415
+#: flatcamGUI/ObjectUI.py:420
msgid "Combine"
msgstr ""
-#: flatcamGUI/ObjectUI.py:417 flatcamGUI/PreferencesUI.py:2091
+#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2271
msgid "Combine all passes into one object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:421 flatcamGUI/PreferencesUI.py:2193
+#: flatcamGUI/ObjectUI.py:426 flatcamGUI/PreferencesUI.py:2373
msgid "\"Follow\""
msgstr ""
-#: flatcamGUI/ObjectUI.py:422 flatcamGUI/PreferencesUI.py:2195
+#: flatcamGUI/ObjectUI.py:427 flatcamGUI/PreferencesUI.py:2375
msgid ""
"Generate a 'Follow' geometry.\n"
"This means that it will cut through\n"
"the middle of the trace."
msgstr ""
-#: flatcamGUI/ObjectUI.py:428
+#: flatcamGUI/ObjectUI.py:433
msgid "Except"
msgstr ""
-#: flatcamGUI/ObjectUI.py:431
+#: flatcamGUI/ObjectUI.py:436
msgid ""
"When the isolation geometry is generated,\n"
"by checking this, the area of the object bellow\n"
"will be subtracted from the isolation geometry."
msgstr ""
-#: flatcamGUI/ObjectUI.py:453 flatcamTools/ToolNonCopperClear.py:82
-#: flatcamTools/ToolPaint.py:85
+#: flatcamGUI/ObjectUI.py:456 flatcamTools/ToolNCC.py:86 flatcamTools/ToolPaint.py:80
msgid "Obj Type"
msgstr ""
-#: flatcamGUI/ObjectUI.py:455
+#: flatcamGUI/ObjectUI.py:458
msgid ""
"Specify the type of object to be excepted from isolation.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -6538,39 +6805,40 @@ msgid ""
"of objects that will populate the 'Object' combobox."
msgstr ""
-#: flatcamGUI/ObjectUI.py:468 flatcamGUI/PreferencesUI.py:7522
-#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNonCopperClear.py:100
-#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:81
-#: flatcamTools/ToolPanelize.py:94
+#: flatcamGUI/ObjectUI.py:471 flatcamGUI/PreferencesUI.py:8028
+#: flatcamTools/ToolCalibration.py:186 flatcamTools/ToolNCC.py:109
+#: flatcamTools/ToolPaint.py:103 flatcamTools/ToolPanelize.py:100
+#: flatcamTools/ToolQRCode.py:78
msgid "Object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:469
+#: flatcamGUI/ObjectUI.py:472
msgid "Object whose area will be removed from isolation geometry."
msgstr ""
-#: flatcamGUI/ObjectUI.py:476 flatcamGUI/PreferencesUI.py:2064
+#: flatcamGUI/ObjectUI.py:479 flatcamGUI/PreferencesUI.py:2244
msgid "Scope"
msgstr ""
-#: flatcamGUI/ObjectUI.py:478 flatcamGUI/PreferencesUI.py:2066
+#: flatcamGUI/ObjectUI.py:481 flatcamGUI/PreferencesUI.py:2246
msgid ""
"Isolation scope. Choose what to isolate:\n"
"- 'All' -> Isolate all the polygons in the object\n"
"- 'Selection' -> Isolate a selection of polygons."
msgstr ""
-#: flatcamGUI/ObjectUI.py:483 flatcamGUI/PreferencesUI.py:602
-#: flatcamGUI/PreferencesUI.py:2071 flatcamGUI/PreferencesUI.py:5634
-#: flatcamTools/ToolPaint.py:294
+#: flatcamGUI/ObjectUI.py:486 flatcamGUI/PreferencesUI.py:624
+#: flatcamGUI/PreferencesUI.py:2251 flatcamGUI/PreferencesUI.py:5590
+#: flatcamGUI/PreferencesUI.py:6097 flatcamTools/ToolNCC.py:539
+#: flatcamTools/ToolPaint.py:456
msgid "Selection"
msgstr ""
-#: flatcamGUI/ObjectUI.py:491 flatcamGUI/PreferencesUI.py:2272
+#: flatcamGUI/ObjectUI.py:494 flatcamGUI/PreferencesUI.py:2452
msgid "Isolation Type"
msgstr ""
-#: flatcamGUI/ObjectUI.py:493 flatcamGUI/PreferencesUI.py:2274
+#: flatcamGUI/ObjectUI.py:496 flatcamGUI/PreferencesUI.py:2454
msgid ""
"Choose how the isolation will be executed:\n"
"- 'Full' -> complete isolation of polygons\n"
@@ -6582,24 +6850,24 @@ msgid ""
"inside of the polygon (e.g polygon is a 'doughnut' shape)."
msgstr ""
-#: flatcamGUI/ObjectUI.py:502 flatcamGUI/PreferencesUI.py:2283
-#: flatcamGUI/PreferencesUI.py:2304
+#: flatcamGUI/ObjectUI.py:505 flatcamGUI/PreferencesUI.py:2463
+#: flatcamGUI/PreferencesUI.py:2484
msgid "Full"
msgstr ""
-#: flatcamGUI/ObjectUI.py:503
+#: flatcamGUI/ObjectUI.py:506
msgid "Ext"
msgstr ""
-#: flatcamGUI/ObjectUI.py:504
+#: flatcamGUI/ObjectUI.py:507
msgid "Int"
msgstr ""
-#: flatcamGUI/ObjectUI.py:509
+#: flatcamGUI/ObjectUI.py:512
msgid "Generate Isolation Geometry"
msgstr ""
-#: flatcamGUI/ObjectUI.py:517
+#: flatcamGUI/ObjectUI.py:520
msgid ""
"Create a Geometry object with toolpaths to cut \n"
"isolation outside, inside or on both sides of the\n"
@@ -6612,11 +6880,11 @@ msgid ""
"diameter above."
msgstr ""
-#: flatcamGUI/ObjectUI.py:529
+#: flatcamGUI/ObjectUI.py:532
msgid "Buffer Solid Geometry"
msgstr ""
-#: flatcamGUI/ObjectUI.py:531
+#: flatcamGUI/ObjectUI.py:534
msgid ""
"This button is shown only when the Gerber file\n"
"is loaded without buffering.\n"
@@ -6624,45 +6892,44 @@ msgid ""
"required for isolation."
msgstr ""
-#: flatcamGUI/ObjectUI.py:559
+#: flatcamGUI/ObjectUI.py:566
msgid "Clear N-copper"
msgstr ""
-#: flatcamGUI/ObjectUI.py:561 flatcamGUI/PreferencesUI.py:5019
+#: flatcamGUI/ObjectUI.py:568 flatcamGUI/PreferencesUI.py:5312
msgid ""
"Create a Geometry object with\n"
"toolpaths to cut all non-copper regions."
msgstr ""
-#: flatcamGUI/ObjectUI.py:568 flatcamGUI/ObjectUI.py:1751
-#: flatcamTools/ToolNonCopperClear.py:473
+#: flatcamGUI/ObjectUI.py:575 flatcamGUI/ObjectUI.py:2077 flatcamTools/ToolNCC.py:599
msgid ""
"Create the Geometry Object\n"
"for non-copper routing."
msgstr ""
-#: flatcamGUI/ObjectUI.py:581
+#: flatcamGUI/ObjectUI.py:588
msgid "Board cutout"
msgstr ""
-#: flatcamGUI/ObjectUI.py:583 flatcamGUI/PreferencesUI.py:5303
+#: flatcamGUI/ObjectUI.py:590 flatcamGUI/PreferencesUI.py:5642
msgid ""
"Create toolpaths to cut around\n"
"the PCB and separate it from\n"
"the original board."
msgstr ""
-#: flatcamGUI/ObjectUI.py:590
+#: flatcamGUI/ObjectUI.py:597
msgid ""
"Generate the geometry for\n"
"the board cutout."
msgstr ""
-#: flatcamGUI/ObjectUI.py:608 flatcamGUI/PreferencesUI.py:2101
+#: flatcamGUI/ObjectUI.py:615 flatcamGUI/PreferencesUI.py:2281
msgid "Non-copper regions"
msgstr ""
-#: flatcamGUI/ObjectUI.py:610 flatcamGUI/PreferencesUI.py:2103
+#: flatcamGUI/ObjectUI.py:617 flatcamGUI/PreferencesUI.py:2283
msgid ""
"Create polygons covering the\n"
"areas without copper on the PCB.\n"
@@ -6671,12 +6938,12 @@ msgid ""
"copper from a specified region."
msgstr ""
-#: flatcamGUI/ObjectUI.py:620 flatcamGUI/ObjectUI.py:661 flatcamGUI/PreferencesUI.py:2115
-#: flatcamGUI/PreferencesUI.py:2148
+#: flatcamGUI/ObjectUI.py:627 flatcamGUI/ObjectUI.py:668 flatcamGUI/PreferencesUI.py:2295
+#: flatcamGUI/PreferencesUI.py:2328
msgid "Boundary Margin"
msgstr ""
-#: flatcamGUI/ObjectUI.py:622 flatcamGUI/PreferencesUI.py:2117
+#: flatcamGUI/ObjectUI.py:629 flatcamGUI/PreferencesUI.py:2297
msgid ""
"Specify the edge of the PCB\n"
"by drawing a box around all\n"
@@ -6684,38 +6951,38 @@ msgid ""
"distance."
msgstr ""
-#: flatcamGUI/ObjectUI.py:637 flatcamGUI/ObjectUI.py:675 flatcamGUI/PreferencesUI.py:2130
-#: flatcamGUI/PreferencesUI.py:2161
+#: flatcamGUI/ObjectUI.py:644 flatcamGUI/ObjectUI.py:682 flatcamGUI/PreferencesUI.py:2310
+#: flatcamGUI/PreferencesUI.py:2341
msgid "Rounded Geo"
msgstr ""
-#: flatcamGUI/ObjectUI.py:639 flatcamGUI/PreferencesUI.py:2132
+#: flatcamGUI/ObjectUI.py:646 flatcamGUI/PreferencesUI.py:2312
msgid "Resulting geometry will have rounded corners."
msgstr ""
-#: flatcamGUI/ObjectUI.py:643 flatcamGUI/ObjectUI.py:684 flatcamTools/ToolSolderPaste.py:133
+#: flatcamGUI/ObjectUI.py:650 flatcamGUI/ObjectUI.py:691 flatcamTools/ToolSolderPaste.py:135
msgid "Generate Geo"
msgstr ""
-#: flatcamGUI/ObjectUI.py:653 flatcamGUI/PreferencesUI.py:2142
-#: flatcamGUI/PreferencesUI.py:7052 flatcamTools/ToolPanelize.py:95
+#: flatcamGUI/ObjectUI.py:660 flatcamGUI/PreferencesUI.py:2322
+#: flatcamGUI/PreferencesUI.py:7558 flatcamTools/ToolPanelize.py:101
#: flatcamTools/ToolQRCode.py:192
msgid "Bounding Box"
msgstr ""
-#: flatcamGUI/ObjectUI.py:655
+#: flatcamGUI/ObjectUI.py:662
msgid ""
"Create a geometry surrounding the Gerber object.\n"
"Square shape."
msgstr ""
-#: flatcamGUI/ObjectUI.py:663 flatcamGUI/PreferencesUI.py:2150
+#: flatcamGUI/ObjectUI.py:670 flatcamGUI/PreferencesUI.py:2330
msgid ""
"Distance of the edges of the box\n"
"to the nearest polygon."
msgstr ""
-#: flatcamGUI/ObjectUI.py:677 flatcamGUI/PreferencesUI.py:2163
+#: flatcamGUI/ObjectUI.py:684 flatcamGUI/PreferencesUI.py:2343
msgid ""
"If the bounding box is \n"
"to have rounded corners\n"
@@ -6723,32 +6990,30 @@ msgid ""
"the margin."
msgstr ""
-#: flatcamGUI/ObjectUI.py:686
+#: flatcamGUI/ObjectUI.py:693
msgid "Generate the Geometry object."
msgstr ""
-#: flatcamGUI/ObjectUI.py:715
+#: flatcamGUI/ObjectUI.py:720
msgid "Excellon Object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:729
+#: flatcamGUI/ObjectUI.py:732
msgid "Solid circles."
msgstr ""
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926 flatcamTools/ToolProperties.py:161
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:875 flatcamGUI/ObjectUI.py:2254
+#: flatcamGUI/PreferencesUI.py:3289 flatcamTools/ToolProperties.py:166
msgid "Drills"
msgstr ""
-#: flatcamGUI/ObjectUI.py:777 flatcamGUI/ObjectUI.py:1926 flatcamGUI/PreferencesUI.py:3683
-#: flatcamTools/ToolProperties.py:162
+#: flatcamGUI/ObjectUI.py:780 flatcamGUI/ObjectUI.py:876 flatcamGUI/ObjectUI.py:2254
+#: flatcamGUI/PreferencesUI.py:3290 flatcamGUI/PreferencesUI.py:3961
+#: flatcamTools/ToolProperties.py:168
msgid "Slots"
msgstr ""
-#: flatcamGUI/ObjectUI.py:778 flatcamGUI/PreferencesUI.py:3289
-msgid "Offset Z"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:782
+#: flatcamGUI/ObjectUI.py:785
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
@@ -6757,107 +7022,113 @@ msgid ""
"Here the tools are selected for G-code generation."
msgstr ""
-#: flatcamGUI/ObjectUI.py:787 flatcamGUI/ObjectUI.py:1230 flatcamTools/ToolPaint.py:137
+#: flatcamGUI/ObjectUI.py:790 flatcamGUI/ObjectUI.py:1508 flatcamTools/ToolPaint.py:142
msgid ""
"Tool Diameter. It's value (in current FlatCAM units) \n"
"is the cut width into the material."
msgstr ""
-#: flatcamGUI/ObjectUI.py:790
+#: flatcamGUI/ObjectUI.py:793
msgid ""
"The number of Drill holes. Holes that are drilled with\n"
"a drill bit."
msgstr ""
-#: flatcamGUI/ObjectUI.py:793
+#: flatcamGUI/ObjectUI.py:796
msgid ""
"The number of Slot holes. Holes that are created by\n"
"milling them with an endmill bit."
msgstr ""
-#: flatcamGUI/ObjectUI.py:796 flatcamGUI/PreferencesUI.py:3291
-msgid ""
-"Some drill bits (the larger ones) need to drill deeper\n"
-"to create the desired exit hole diameter due of the tip shape.\n"
-"The value here can compensate the Cut Z parameter."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:800
+#: flatcamGUI/ObjectUI.py:799
msgid ""
"Toggle display of the drills for the current tool.\n"
"This does not select the tools for G-code generation."
msgstr ""
-#: flatcamGUI/ObjectUI.py:807 flatcamGUI/PreferencesUI.py:3069
-#: flatcamGUI/PreferencesUI.py:3947
-msgid "Create CNC Job"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:809
+#: flatcamGUI/ObjectUI.py:820 flatcamGUI/ObjectUI.py:1663 flatcamTools/ToolNCC.py:334
+#: flatcamTools/ToolPaint.py:317
msgid ""
-"Create a CNC Job object\n"
-"for this drill object."
+"The data used for creating GCode.\n"
+"Each tool store it's own set of such data."
msgstr ""
-#: flatcamGUI/ObjectUI.py:822 flatcamGUI/PreferencesUI.py:3084
+#: flatcamGUI/ObjectUI.py:846 flatcamGUI/PreferencesUI.py:3266
+msgid ""
+"Operation type:\n"
+"- Drilling -> will drill the drills/slots associated with this tool\n"
+"- Milling -> will mill the drills/slots"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:852 flatcamGUI/PreferencesUI.py:3272
+msgid "Drilling"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:853 flatcamGUI/PreferencesUI.py:3273
+msgid "Milling"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:868 flatcamGUI/PreferencesUI.py:3282
+msgid ""
+"Milling type:\n"
+"- Drills -> will mill the drills associated with this tool\n"
+"- Slots -> will mill the slots associated with this tool\n"
+"- Both -> will mill both drills and mills or whatever is available"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:877 flatcamGUI/PreferencesUI.py:3291
+#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolFilm.py:258
+msgid "Both"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:885 flatcamGUI/PreferencesUI.py:3298
+msgid "Milling Diameter"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:887 flatcamGUI/PreferencesUI.py:3300
+msgid "The diameter of the tool who will do the milling"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:901 flatcamGUI/PreferencesUI.py:3313
msgid ""
"Drill depth (negative)\n"
"below the copper surface."
msgstr ""
-#: flatcamGUI/ObjectUI.py:841 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/ObjectUI.py:920 flatcamGUI/ObjectUI.py:1722 flatcamGUI/PreferencesUI.py:3331
+#: flatcamGUI/PreferencesUI.py:4261 flatcamGUI/PreferencesUI.py:5687
+#: flatcamTools/ToolCutOut.py:160
+msgid "Multi-Depth"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:923 flatcamGUI/ObjectUI.py:1725 flatcamGUI/PreferencesUI.py:3334
+#: flatcamGUI/PreferencesUI.py:4264 flatcamGUI/PreferencesUI.py:5690
+#: flatcamTools/ToolCutOut.py:163
+msgid ""
+"Use multiple passes to limit\n"
+"the cut depth in each pass. Will\n"
+"cut multiple times until Cut Z is\n"
+"reached."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:936 flatcamGUI/ObjectUI.py:1739 flatcamGUI/PreferencesUI.py:3346
+#: flatcamGUI/PreferencesUI.py:5702 flatcamTools/ToolCutOut.py:177
+msgid "Depth of each pass (positive)."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:947 flatcamGUI/PreferencesUI.py:3354
msgid ""
"Tool height when travelling\n"
"across the XY plane."
msgstr ""
-#: flatcamGUI/ObjectUI.py:858 flatcamGUI/ObjectUI.py:1478 flatcamGUI/PreferencesUI.py:3117
-#: flatcamGUI/PreferencesUI.py:4034
-msgid "Tool change"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:860 flatcamGUI/PreferencesUI.py:3119
+#: flatcamGUI/ObjectUI.py:968 flatcamGUI/ObjectUI.py:1769 flatcamGUI/PreferencesUI.py:4380
msgid ""
-"Include tool-change sequence\n"
-"in G-Code (Pause for tool change)."
+"Cutting speed in the XY\n"
+"plane in units per minute"
msgstr ""
-#: flatcamGUI/ObjectUI.py:866 flatcamGUI/ObjectUI.py:1471
-msgid "Tool change Z"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:868 flatcamGUI/ObjectUI.py:1474 flatcamGUI/PreferencesUI.py:3126
-#: flatcamGUI/PreferencesUI.py:4047
-msgid ""
-"Z-axis position (height) for\n"
-"tool change."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:888 flatcamGUI/PreferencesUI.py:3311
-msgid ""
-"Height of the tool just after start.\n"
-"Delete the value if you don't need this feature."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:896 flatcamGUI/ObjectUI.py:1512 flatcamGUI/PreferencesUI.py:3141
-#: flatcamGUI/PreferencesUI.py:4066
-msgid "End move Z"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:898 flatcamGUI/ObjectUI.py:1514 flatcamGUI/PreferencesUI.py:3143
-#: flatcamGUI/PreferencesUI.py:4068
-msgid ""
-"Height of the tool after\n"
-"the last move at the end of the job."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:915 flatcamGUI/ObjectUI.py:1545 flatcamGUI/PreferencesUI.py:3158
-#: flatcamGUI/PreferencesUI.py:4101 flatcamGUI/PreferencesUI.py:6566
-#: flatcamTools/ToolSolderPaste.py:264
-msgid "Feedrate Z"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:917 flatcamGUI/PreferencesUI.py:3160
+#: flatcamGUI/ObjectUI.py:983 flatcamGUI/PreferencesUI.py:3427
msgid ""
"Tool speed while drilling\n"
"(in units per minute).\n"
@@ -6865,12 +7136,12 @@ msgid ""
"This is for linear move G01."
msgstr ""
-#: flatcamGUI/ObjectUI.py:931 flatcamGUI/ObjectUI.py:1560 flatcamGUI/PreferencesUI.py:3319
-#: flatcamGUI/PreferencesUI.py:4210
+#: flatcamGUI/ObjectUI.py:998 flatcamGUI/ObjectUI.py:1796 flatcamGUI/PreferencesUI.py:3597
+#: flatcamGUI/PreferencesUI.py:4503
msgid "Feedrate Rapids"
msgstr ""
-#: flatcamGUI/ObjectUI.py:933 flatcamGUI/PreferencesUI.py:3321
+#: flatcamGUI/ObjectUI.py:1000 flatcamGUI/PreferencesUI.py:3599
msgid ""
"Tool speed while drilling\n"
"(in units per minute).\n"
@@ -6879,131 +7150,223 @@ msgid ""
"ignore for any other cases."
msgstr ""
-#: flatcamGUI/ObjectUI.py:951 flatcamGUI/ObjectUI.py:1603 flatcamGUI/PreferencesUI.py:4117
-msgid "Spindle speed"
+#: flatcamGUI/ObjectUI.py:1020 flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:4521
+msgid "Re-cut"
msgstr ""
-#: flatcamGUI/ObjectUI.py:953 flatcamGUI/PreferencesUI.py:3175
+#: flatcamGUI/ObjectUI.py:1022 flatcamGUI/ObjectUI.py:1035 flatcamGUI/ObjectUI.py:1818
+#: flatcamGUI/ObjectUI.py:1830 flatcamGUI/PreferencesUI.py:4523
+#: flatcamGUI/PreferencesUI.py:4535
+msgid ""
+"In order to remove possible\n"
+"copper leftovers where first cut\n"
+"meet with last cut, we generate an\n"
+"extended cut over the first cut section."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1050 flatcamGUI/PreferencesUI.py:3442
msgid ""
"Speed of the spindle\n"
"in RPM (optional)"
msgstr ""
-#: flatcamGUI/ObjectUI.py:965 flatcamGUI/ObjectUI.py:1622 flatcamGUI/PreferencesUI.py:3187
-#: flatcamGUI/PreferencesUI.py:4135
+#: flatcamGUI/ObjectUI.py:1065 flatcamGUI/ObjectUI.py:1858 flatcamGUI/PreferencesUI.py:3456
+#: flatcamGUI/PreferencesUI.py:4427
msgid ""
"Pause to allow the spindle to reach its\n"
"speed before cutting."
msgstr ""
-#: flatcamGUI/ObjectUI.py:974 flatcamGUI/ObjectUI.py:1632 flatcamGUI/PreferencesUI.py:3193
-#: flatcamGUI/PreferencesUI.py:4140
+#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/ObjectUI.py:1868 flatcamGUI/PreferencesUI.py:3464
+#: flatcamGUI/PreferencesUI.py:4432
msgid "Number of time units for spindle to dwell."
msgstr ""
-#: flatcamGUI/ObjectUI.py:984 flatcamGUI/PreferencesUI.py:3206
-msgid ""
-"The preprocessor JSON file that dictates\n"
-"Gcode output."
+#: flatcamGUI/ObjectUI.py:1086 flatcamGUI/PreferencesUI.py:3563
+msgid "Offset Z"
msgstr ""
-#: flatcamGUI/ObjectUI.py:993 flatcamGUI/ObjectUI.py:1652 flatcamGUI/PreferencesUI.py:3335
-#: flatcamGUI/PreferencesUI.py:4251
+#: flatcamGUI/ObjectUI.py:1088 flatcamGUI/PreferencesUI.py:3565
+msgid ""
+"Some drill bits (the larger ones) need to drill deeper\n"
+"to create the desired exit hole diameter due of the tip shape.\n"
+"The value here can compensate the Cut Z parameter."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1148 flatcamGUI/ObjectUI.py:1922 flatcamTools/ToolNCC.py:492
+#: flatcamTools/ToolPaint.py:423
+msgid "Apply parameters to all tools"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1150 flatcamGUI/ObjectUI.py:1924 flatcamTools/ToolNCC.py:494
+#: flatcamTools/ToolPaint.py:425
+msgid ""
+"The parameters in the current form will be applied\n"
+"on all the tools from the Tool Table."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1161 flatcamGUI/ObjectUI.py:1935 flatcamTools/ToolNCC.py:505
+#: flatcamTools/ToolPaint.py:436
+msgid "Common Parameters"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1163 flatcamGUI/ObjectUI.py:1937 flatcamTools/ToolNCC.py:507
+#: flatcamTools/ToolPaint.py:438
+msgid "Parameters that are common for all tools."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1168 flatcamGUI/ObjectUI.py:1942
+msgid "Tool change Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1170 flatcamGUI/PreferencesUI.py:3372
+msgid ""
+"Include tool-change sequence\n"
+"in G-Code (Pause for tool change)."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1177 flatcamGUI/ObjectUI.py:1953 flatcamGUI/PreferencesUI.py:3380
+#: flatcamGUI/PreferencesUI.py:4327
+msgid ""
+"Z-axis position (height) for\n"
+"tool change."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1194 flatcamGUI/PreferencesUI.py:3588
+msgid ""
+"Height of the tool just after start.\n"
+"Delete the value if you don't need this feature."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1981 flatcamGUI/PreferencesUI.py:3396
+#: flatcamGUI/PreferencesUI.py:4346
+msgid "End move Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1205 flatcamGUI/ObjectUI.py:1983 flatcamGUI/PreferencesUI.py:3398
+#: flatcamGUI/PreferencesUI.py:4348
+msgid ""
+"Height of the tool after\n"
+"the last move at the end of the job."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1222 flatcamGUI/ObjectUI.py:2000 flatcamGUI/PreferencesUI.py:3413
+#: flatcamGUI/PreferencesUI.py:4366
+msgid "End move X,Y"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1224 flatcamGUI/ObjectUI.py:2002 flatcamGUI/PreferencesUI.py:3415
+#: flatcamGUI/PreferencesUI.py:4368
+msgid ""
+"End move X,Y position. In format (x,y).\n"
+"If no value is entered then there is no move\n"
+"on X,Y plane at the end of the job."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1234 flatcamGUI/ObjectUI.py:1876 flatcamGUI/PreferencesUI.py:3613
+#: flatcamGUI/PreferencesUI.py:4544
msgid "Probe Z depth"
msgstr ""
-#: flatcamGUI/ObjectUI.py:995 flatcamGUI/ObjectUI.py:1654 flatcamGUI/PreferencesUI.py:3337
-#: flatcamGUI/PreferencesUI.py:4253
+#: flatcamGUI/ObjectUI.py:1236 flatcamGUI/ObjectUI.py:1878 flatcamGUI/PreferencesUI.py:3615
+#: flatcamGUI/PreferencesUI.py:4546
msgid ""
"The maximum depth that the probe is allowed\n"
"to probe. Negative value, in current units."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1009 flatcamGUI/ObjectUI.py:1669 flatcamGUI/PreferencesUI.py:3348
-#: flatcamGUI/PreferencesUI.py:4266
+#: flatcamGUI/ObjectUI.py:1252 flatcamGUI/ObjectUI.py:1893 flatcamGUI/PreferencesUI.py:3626
+#: flatcamGUI/PreferencesUI.py:4559
msgid "Feedrate Probe"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1011 flatcamGUI/ObjectUI.py:1671 flatcamGUI/PreferencesUI.py:3350
-#: flatcamGUI/PreferencesUI.py:4268
+#: flatcamGUI/ObjectUI.py:1254 flatcamGUI/ObjectUI.py:1895 flatcamGUI/PreferencesUI.py:3628
+#: flatcamGUI/PreferencesUI.py:4561
msgid "The feedrate used while the probe is probing."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1037 flatcamGUI/PreferencesUI.py:3215
-msgid "Gcode"
+#: flatcamGUI/ObjectUI.py:1261
+msgid "e_fr_probe"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1039
+#: flatcamGUI/ObjectUI.py:1270
+msgid "Preprocessor E"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1272
msgid ""
-"Choose what to use for GCode generation:\n"
-"'Drills', 'Slots' or 'Both'.\n"
-"When choosing 'Slots' or 'Both', slots will be\n"
-"converted to a series of drills."
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Excellon Objects."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1053
-msgid "Create Drills GCode"
+#: flatcamGUI/ObjectUI.py:1282
+msgid "Preprocessor G"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1055
-msgid "Generate the CNC Job."
+#: flatcamGUI/ObjectUI.py:1284
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output for Geometry (Milling) Objects."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1066 flatcamGUI/PreferencesUI.py:3233
-msgid "Mill Holes"
+#: flatcamGUI/ObjectUI.py:1308 flatcamGUI/ObjectUI.py:2026
+msgid ""
+"Add / Select at least one tool in the tool-table.\n"
+"Click the # header to select all, or Ctrl + LMB\n"
+"for custom selection of tools."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1068
+#: flatcamGUI/ObjectUI.py:1316 flatcamGUI/ObjectUI.py:2033
+msgid "Generate CNCJob object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1318
+msgid ""
+"Generate the CNC Job.\n"
+"If milling then an additional Geometry object will be created"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1335
+msgid "Milling Geometry"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1337
msgid ""
"Create Geometry for milling holes.\n"
"Select from the Tools Table above the hole dias to be\n"
"milled. Use the # column to make the selection."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1074 flatcamGUI/PreferencesUI.py:3239
-msgid "Drill Tool dia"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1076 flatcamGUI/PreferencesUI.py:2027
-#: flatcamGUI/PreferencesUI.py:3241
+#: flatcamGUI/ObjectUI.py:1345 flatcamGUI/PreferencesUI.py:2207
+#: flatcamGUI/PreferencesUI.py:3514
msgid "Diameter of the cutting tool."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1083
-msgid "Mill Drills Geo"
+#: flatcamGUI/ObjectUI.py:1355
+msgid "Mill Drills"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1085
+#: flatcamGUI/ObjectUI.py:1357
msgid ""
"Create the Geometry Object\n"
"for milling DRILLS toolpaths."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1099 flatcamGUI/PreferencesUI.py:3250
-msgid "Slot Tool dia"
+#: flatcamGUI/ObjectUI.py:1375
+msgid "Mill Slots"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1101 flatcamGUI/PreferencesUI.py:3252
-msgid ""
-"Diameter of the cutting tool\n"
-"when milling slots."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1110
-msgid "Mill Slots Geo"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1112
+#: flatcamGUI/ObjectUI.py:1377
msgid ""
"Create the Geometry Object\n"
"for milling SLOTS toolpaths."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1152 flatcamTools/ToolCutOut.py:317
+#: flatcamGUI/ObjectUI.py:1419 flatcamTools/ToolCutOut.py:327
msgid "Geometry Object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1186
+#: flatcamGUI/ObjectUI.py:1465
msgid ""
"Tools in this Geometry object used for cutting.\n"
"The 'Offset' entry will set an offset for the cut.\n"
@@ -7019,28 +7382,28 @@ msgid ""
"showed UI form entries named V-Tip Dia and V-Tip Angle."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1203 flatcamGUI/ObjectUI.py:1903 flatcamGUI/PreferencesUI.py:4405
+#: flatcamGUI/ObjectUI.py:1482 flatcamGUI/ObjectUI.py:2231 flatcamGUI/PreferencesUI.py:4698
msgid "Plot Object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916 flatcamGUI/ObjectUI.py:1926
-#: flatcamGUI/PreferencesUI.py:7241 flatcamTools/ToolCopperThieving.py:220
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244 flatcamGUI/ObjectUI.py:2254
+#: flatcamGUI/PreferencesUI.py:7747 flatcamTools/ToolCopperThieving.py:222
msgid "Dia"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1217 flatcamGUI/ObjectUI.py:1916
-#: flatcamTools/ToolNonCopperClear.py:120 flatcamTools/ToolPaint.py:123
+#: flatcamGUI/ObjectUI.py:1495 flatcamGUI/ObjectUI.py:2244 flatcamTools/ToolNCC.py:132
+#: flatcamTools/ToolPaint.py:128
msgid "TT"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1224
+#: flatcamGUI/ObjectUI.py:1502
msgid ""
"This is the Tool Number.\n"
"When ToolChange is checked, on toolchange event this value\n"
"will be showed as a T1, T2 ... Tn"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1235
+#: flatcamGUI/ObjectUI.py:1513
msgid ""
"The value for the Offset can be:\n"
"- Path -> There is no offset, the tool cut will be done through the geometry line.\n"
@@ -7048,7 +7411,7 @@ msgid ""
"- Out(side) -> The tool cut will follow the geometry line on the outside."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1242
+#: flatcamGUI/ObjectUI.py:1520
msgid ""
"The (Operation) Type has only informative value. Usually the UI form values \n"
"are choose based on the operation type and this will serve as a reminder.\n"
@@ -7058,7 +7421,7 @@ msgid ""
"For Isolation we need a lower Feedrate as it use a milling bit with a fine tip."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1251
+#: flatcamGUI/ObjectUI.py:1529
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular the cut width in "
@@ -7074,7 +7437,7 @@ msgid ""
"Choosing the V-Shape Tool Type automatically will select the Operation Type as Isolation."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1263
+#: flatcamGUI/ObjectUI.py:1541
msgid ""
"Plot column. It is visible only for MultiGeo geometries, meaning geometries that holds "
"the geometry\n"
@@ -7085,7 +7448,7 @@ msgid ""
"for the corresponding tool."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1281
+#: flatcamGUI/ObjectUI.py:1559
msgid ""
"The value to offset the cut when \n"
"the Offset type selected is 'Offset'.\n"
@@ -7093,90 +7456,55 @@ msgid ""
"cut and negative for 'inside' cut."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1306
+#: flatcamGUI/ObjectUI.py:1578 flatcamTools/ToolNCC.py:209 flatcamTools/ToolNCC.py:921
+#: flatcamTools/ToolPaint.py:192 flatcamTools/ToolPaint.py:846
+#: flatcamTools/ToolSolderPaste.py:559
+msgid "New Tool"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1595
msgid ""
"Add a new tool to the Tool Table\n"
"with the specified diameter."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1314
-msgid "Add Tool from DataBase"
+#: flatcamGUI/ObjectUI.py:1600 flatcamTools/ToolNCC.py:300 flatcamTools/ToolNCC.py:634
+#: flatcamTools/ToolPaint.py:283 flatcamTools/ToolPaint.py:676
+msgid "Add from DB"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1316
+#: flatcamGUI/ObjectUI.py:1602 flatcamTools/ToolNCC.py:302 flatcamTools/ToolPaint.py:285
msgid ""
"Add a new tool to the Tool Table\n"
"from the Tool DataBase."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1326
+#: flatcamGUI/ObjectUI.py:1617
msgid ""
"Copy a selection of tools in the Tool Table\n"
"by first selecting a row in the Tool Table."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1332
+#: flatcamGUI/ObjectUI.py:1623
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row in the Tool Table."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1356
-msgid ""
-"The data used for creating GCode.\n"
-"Each tool store it's own set of such data."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1426 flatcamGUI/PreferencesUI.py:3981
-#: flatcamGUI/PreferencesUI.py:5348 flatcamTools/ToolCutOut.py:153
-msgid "Multi-Depth"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1429 flatcamGUI/PreferencesUI.py:3984
-#: flatcamGUI/PreferencesUI.py:5351 flatcamTools/ToolCutOut.py:156
-msgid ""
-"Use multiple passes to limit\n"
-"the cut depth in each pass. Will\n"
-"cut multiple times until Cut Z is\n"
-"reached."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1443 flatcamGUI/PreferencesUI.py:5363
-#: flatcamTools/ToolCutOut.py:170
-msgid "Depth of each pass (positive)."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1454 flatcamGUI/PreferencesUI.py:4016
+#: flatcamGUI/ObjectUI.py:1750 flatcamGUI/PreferencesUI.py:4296
msgid ""
"Height of the tool when\n"
"moving without cutting."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1481 flatcamGUI/PreferencesUI.py:4037
-msgid ""
-"Include tool-change sequence\n"
-"in the Machine Code (Pause for tool change)."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1531 flatcamGUI/PreferencesUI.py:4086
-#: flatcamGUI/PreferencesUI.py:6553 flatcamTools/ToolSolderPaste.py:252
-msgid "Feedrate X-Y"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1533 flatcamGUI/PreferencesUI.py:4088
-msgid ""
-"Cutting speed in the XY\n"
-"plane in units per minute"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1547 flatcamGUI/PreferencesUI.py:4103
+#: flatcamGUI/ObjectUI.py:1783 flatcamGUI/PreferencesUI.py:4395
msgid ""
"Cutting speed in the XY\n"
"plane in units per minute.\n"
"It is called also Plunge."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1562 flatcamGUI/PreferencesUI.py:4212
+#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4505
msgid ""
"Cutting speed in the XY plane\n"
"(in units per minute).\n"
@@ -7185,62 +7513,34 @@ msgid ""
"ignore for any other cases."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1580 flatcamGUI/PreferencesUI.py:4228
-msgid "Re-cut"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1582 flatcamGUI/ObjectUI.py:1594 flatcamGUI/PreferencesUI.py:4230
-#: flatcamGUI/PreferencesUI.py:4242
-msgid ""
-"In order to remove possible\n"
-"copper leftovers where first cut\n"
-"meet with last cut, we generate an\n"
-"extended cut over the first cut section."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1606 flatcamGUI/PreferencesUI.py:4120
+#: flatcamGUI/ObjectUI.py:1842 flatcamGUI/PreferencesUI.py:4412
msgid ""
"Speed of the spindle in RPM (optional).\n"
"If LASER preprocessor is used,\n"
"this value is the power of laser."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1642 flatcamGUI/PreferencesUI.py:4157
+#: flatcamGUI/ObjectUI.py:1945 flatcamGUI/PreferencesUI.py:4317
+msgid ""
+"Include tool-change sequence\n"
+"in the Machine Code (Pause for tool change)."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:2014 flatcamGUI/PreferencesUI.py:4449
msgid ""
"The Preprocessor file that dictates\n"
"the Machine Code (like GCode, RML, HPGL) output."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1689
-msgid "Apply parameters to all tools"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1691
-msgid ""
-"The parameters in the current form will be applied\n"
-"on all the tools from the Tool Table."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1700
-msgid ""
-"Add at least one tool in the tool-table.\n"
-"Click the header to select all, or Ctrl + LMB\n"
-"for custom selection of tools."
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1707
-msgid "Generate CNCJob object"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:1709
+#: flatcamGUI/ObjectUI.py:2035
msgid "Generate the CNC Job object."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1726
+#: flatcamGUI/ObjectUI.py:2052
msgid "Launch Paint Tool in Tools Tab."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1734 flatcamGUI/PreferencesUI.py:5524
+#: flatcamGUI/ObjectUI.py:2060 flatcamGUI/PreferencesUI.py:5874
msgid ""
"Creates tool paths to cover the\n"
"whole area of a polygon (remove\n"
@@ -7248,15 +7548,15 @@ msgid ""
"to click on the desired polygon."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1786
+#: flatcamGUI/ObjectUI.py:2115
msgid "CNC Job Object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1798 flatcamGUI/PreferencesUI.py:4410
+#: flatcamGUI/ObjectUI.py:2126 flatcamGUI/PreferencesUI.py:4703
msgid "Plot kind"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1801 flatcamGUI/PreferencesUI.py:4412
+#: flatcamGUI/ObjectUI.py:2129 flatcamGUI/PreferencesUI.py:4705
msgid ""
"This selects the kind of geometries on the canvas to plot.\n"
"Those can be either of type 'Travel' which means the moves\n"
@@ -7264,46 +7564,46 @@ msgid ""
"which means the moves that cut into the material."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1810 flatcamGUI/PreferencesUI.py:4420
+#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/PreferencesUI.py:4713
msgid "Travel"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1814 flatcamGUI/PreferencesUI.py:4429
+#: flatcamGUI/ObjectUI.py:2142 flatcamGUI/PreferencesUI.py:4722
msgid "Display Annotation"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1816 flatcamGUI/PreferencesUI.py:4431
+#: flatcamGUI/ObjectUI.py:2144 flatcamGUI/PreferencesUI.py:4724
msgid ""
"This selects if to display text annotation on the plot.\n"
"When checked it will display numbers in order for each end\n"
"of a travel line."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1831
+#: flatcamGUI/ObjectUI.py:2159
msgid "Travelled dist."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1833 flatcamGUI/ObjectUI.py:1838
+#: flatcamGUI/ObjectUI.py:2161 flatcamGUI/ObjectUI.py:2166
msgid ""
"This is the total travelled distance on X-Y plane.\n"
"In current units."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1843
+#: flatcamGUI/ObjectUI.py:2171
msgid "Estimated time"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1845 flatcamGUI/ObjectUI.py:1850
+#: flatcamGUI/ObjectUI.py:2173 flatcamGUI/ObjectUI.py:2178
msgid ""
"This is the estimated time to do the routing/drilling,\n"
"without the time spent in ToolChange events."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1885
+#: flatcamGUI/ObjectUI.py:2213
msgid "CNC Tools Table"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1888
+#: flatcamGUI/ObjectUI.py:2216
msgid ""
"Tools in this CNCJob object used for cutting.\n"
"The tool diameter is used for plotting on canvas.\n"
@@ -7316,55 +7616,55 @@ msgid ""
"ball(B), or V-Shaped(V)."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1916 flatcamGUI/ObjectUI.py:1927
+#: flatcamGUI/ObjectUI.py:2244 flatcamGUI/ObjectUI.py:2255
msgid "P"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1937
+#: flatcamGUI/ObjectUI.py:2265
msgid "Update Plot"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1939
+#: flatcamGUI/ObjectUI.py:2267
msgid "Update the plot."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1946 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/ObjectUI.py:2274 flatcamGUI/PreferencesUI.py:5120
msgid "Export CNC Code"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1948 flatcamGUI/PreferencesUI.py:4768
-#: flatcamGUI/PreferencesUI.py:4829
+#: flatcamGUI/ObjectUI.py:2276 flatcamGUI/PreferencesUI.py:5061
+#: flatcamGUI/PreferencesUI.py:5122
msgid ""
"Export and save G-Code to\n"
"make this object to a file."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1954
+#: flatcamGUI/ObjectUI.py:2282
msgid "Prepend to CNC Code"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1956 flatcamGUI/ObjectUI.py:1963 flatcamGUI/PreferencesUI.py:4784
+#: flatcamGUI/ObjectUI.py:2284 flatcamGUI/ObjectUI.py:2291 flatcamGUI/PreferencesUI.py:5077
msgid ""
"Type here any G-Code commands you would\n"
"like to add at the beginning of the G-Code file."
msgstr ""
-#: flatcamGUI/ObjectUI.py:1969
+#: flatcamGUI/ObjectUI.py:2297
msgid "Append to CNC Code"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1971 flatcamGUI/ObjectUI.py:1979 flatcamGUI/PreferencesUI.py:4800
+#: flatcamGUI/ObjectUI.py:2299 flatcamGUI/ObjectUI.py:2307 flatcamGUI/PreferencesUI.py:5093
msgid ""
"Type here any G-Code commands you would\n"
"like to append to the generated file.\n"
"I.e.: M2 (End of program)"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1993 flatcamGUI/PreferencesUI.py:4835
+#: flatcamGUI/ObjectUI.py:2321 flatcamGUI/PreferencesUI.py:5128
msgid "Toolchange G-Code"
msgstr ""
-#: flatcamGUI/ObjectUI.py:1996 flatcamGUI/PreferencesUI.py:4838
+#: flatcamGUI/ObjectUI.py:2324 flatcamGUI/PreferencesUI.py:5131
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -7377,7 +7677,7 @@ msgid ""
"having as template the 'Toolchange Custom' posprocessor file."
msgstr ""
-#: flatcamGUI/ObjectUI.py:2011
+#: flatcamGUI/ObjectUI.py:2339
msgid ""
"Type here any G-Code commands you would\n"
"like to be executed when Toolchange event is encountered.\n"
@@ -7388,270 +7688,271 @@ msgid ""
"that has 'toolchange_custom' in it's name."
msgstr ""
-#: flatcamGUI/ObjectUI.py:2026 flatcamGUI/PreferencesUI.py:4877
+#: flatcamGUI/ObjectUI.py:2354 flatcamGUI/PreferencesUI.py:5170
msgid "Use Toolchange Macro"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2028 flatcamGUI/PreferencesUI.py:4879
+#: flatcamGUI/ObjectUI.py:2356 flatcamGUI/PreferencesUI.py:5172
msgid ""
"Check this box if you want to use\n"
"a Custom Toolchange GCode (macro)."
msgstr ""
-#: flatcamGUI/ObjectUI.py:2036 flatcamGUI/PreferencesUI.py:4891
+#: flatcamGUI/ObjectUI.py:2364 flatcamGUI/PreferencesUI.py:5184
msgid ""
"A list of the FlatCAM variables that can be used\n"
"in the Toolchange event.\n"
"They have to be surrounded by the '%' symbol"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2043 flatcamGUI/PreferencesUI.py:2447
-#: flatcamGUI/PreferencesUI.py:3555 flatcamGUI/PreferencesUI.py:4347
-#: flatcamGUI/PreferencesUI.py:4898 flatcamGUI/PreferencesUI.py:5017
-#: flatcamGUI/PreferencesUI.py:5301 flatcamGUI/PreferencesUI.py:5458
-#: flatcamGUI/PreferencesUI.py:5676 flatcamGUI/PreferencesUI.py:5973
-#: flatcamGUI/PreferencesUI.py:6224 flatcamGUI/PreferencesUI.py:6438
-#: flatcamGUI/PreferencesUI.py:6663 flatcamGUI/PreferencesUI.py:6685
-#: flatcamGUI/PreferencesUI.py:6909 flatcamGUI/PreferencesUI.py:6946
-#: flatcamGUI/PreferencesUI.py:7140 flatcamGUI/PreferencesUI.py:7394
-#: flatcamGUI/PreferencesUI.py:7510 flatcamTools/ToolCopperThieving.py:89
-#: flatcamTools/ToolFiducials.py:149 flatcamTools/ToolNonCopperClear.py:315
+#: flatcamGUI/ObjectUI.py:2371 flatcamGUI/PreferencesUI.py:2627
+#: flatcamGUI/PreferencesUI.py:3833 flatcamGUI/PreferencesUI.py:4640
+#: flatcamGUI/PreferencesUI.py:5191 flatcamGUI/PreferencesUI.py:5310
+#: flatcamGUI/PreferencesUI.py:5640 flatcamGUI/PreferencesUI.py:5797
+#: flatcamGUI/PreferencesUI.py:6164 flatcamGUI/PreferencesUI.py:6461
+#: flatcamGUI/PreferencesUI.py:6711 flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7169 flatcamGUI/PreferencesUI.py:7191
+#: flatcamGUI/PreferencesUI.py:7415 flatcamGUI/PreferencesUI.py:7452
+#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7900
+#: flatcamGUI/PreferencesUI.py:8016 flatcamGUI/PreferencesUI.py:8135
+#: flatcamGUI/PreferencesUI.py:8347 flatcamGUI/PreferencesUI.py:8556
+#: flatcamTools/ToolCopperThieving.py:90 flatcamTools/ToolFiducials.py:149
+#: flatcamTools/ToolInvertGerber.py:82
msgid "Parameters"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2046 flatcamGUI/PreferencesUI.py:4903
+#: flatcamGUI/ObjectUI.py:2374 flatcamGUI/PreferencesUI.py:5196
msgid "FlatCAM CNC parameters"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2047 flatcamGUI/PreferencesUI.py:4908
+#: flatcamGUI/ObjectUI.py:2375 flatcamGUI/PreferencesUI.py:5201
msgid "tool number"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2048 flatcamGUI/PreferencesUI.py:4909
+#: flatcamGUI/ObjectUI.py:2376 flatcamGUI/PreferencesUI.py:5202
msgid "tool diameter"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2049 flatcamGUI/PreferencesUI.py:4910
+#: flatcamGUI/ObjectUI.py:2377 flatcamGUI/PreferencesUI.py:5203
msgid "for Excellon, total number of drills"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2051 flatcamGUI/PreferencesUI.py:4912
+#: flatcamGUI/ObjectUI.py:2379 flatcamGUI/PreferencesUI.py:5205
msgid "X coord for Toolchange"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2052 flatcamGUI/PreferencesUI.py:4913
+#: flatcamGUI/ObjectUI.py:2380 flatcamGUI/PreferencesUI.py:5206
msgid "Y coord for Toolchange"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2053 flatcamGUI/PreferencesUI.py:4915
+#: flatcamGUI/ObjectUI.py:2381 flatcamGUI/PreferencesUI.py:5208
msgid "Z coord for Toolchange"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2054
+#: flatcamGUI/ObjectUI.py:2382
msgid "depth where to cut"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2055
+#: flatcamGUI/ObjectUI.py:2383
msgid "height where to travel"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2056 flatcamGUI/PreferencesUI.py:4918
+#: flatcamGUI/ObjectUI.py:2384 flatcamGUI/PreferencesUI.py:5211
msgid "the step value for multidepth cut"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2058 flatcamGUI/PreferencesUI.py:4920
+#: flatcamGUI/ObjectUI.py:2386 flatcamGUI/PreferencesUI.py:5213
msgid "the value for the spindle speed"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2060
+#: flatcamGUI/ObjectUI.py:2388
msgid "time to dwell to allow the spindle to reach it's set RPM"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2076
+#: flatcamGUI/ObjectUI.py:2404
msgid "View CNC Code"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2078
+#: flatcamGUI/ObjectUI.py:2406
msgid ""
"Opens TAB to view/modify/print G-Code\n"
"file."
msgstr ""
-#: flatcamGUI/ObjectUI.py:2083
+#: flatcamGUI/ObjectUI.py:2411
msgid "Save CNC Code"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2085
+#: flatcamGUI/ObjectUI.py:2413
msgid ""
"Opens dialog to save G-Code\n"
"file."
msgstr ""
-#: flatcamGUI/ObjectUI.py:2116
+#: flatcamGUI/ObjectUI.py:2447
msgid "Script Object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2138 flatcamGUI/ObjectUI.py:2211
+#: flatcamGUI/ObjectUI.py:2467 flatcamGUI/ObjectUI.py:2541
msgid "Auto Completer"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2140
+#: flatcamGUI/ObjectUI.py:2469
msgid "This selects if the auto completer is enabled in the Script Editor."
msgstr ""
-#: flatcamGUI/ObjectUI.py:2182
+#: flatcamGUI/ObjectUI.py:2514
msgid "Document Object"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2213
+#: flatcamGUI/ObjectUI.py:2543
msgid "This selects if the auto completer is enabled in the Document Editor."
msgstr ""
-#: flatcamGUI/ObjectUI.py:2231
+#: flatcamGUI/ObjectUI.py:2561
msgid "Font Type"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2248 flatcamGUI/PreferencesUI.py:1103
+#: flatcamGUI/ObjectUI.py:2578 flatcamGUI/PreferencesUI.py:1278
msgid "Font Size"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2284
+#: flatcamGUI/ObjectUI.py:2614
msgid "Alignment"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2289
+#: flatcamGUI/ObjectUI.py:2619
msgid "Align Left"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2294
-msgid "Center"
-msgstr ""
-
-#: flatcamGUI/ObjectUI.py:2299
+#: flatcamGUI/ObjectUI.py:2629
msgid "Align Right"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2304
+#: flatcamGUI/ObjectUI.py:2634
msgid "Justify"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2311
+#: flatcamGUI/ObjectUI.py:2641
msgid "Font Color"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2313
+#: flatcamGUI/ObjectUI.py:2643
msgid "Set the font color for the selected text"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2327
+#: flatcamGUI/ObjectUI.py:2657
msgid "Selection Color"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2329
+#: flatcamGUI/ObjectUI.py:2659
msgid "Set the selection color when doing text selection."
msgstr ""
-#: flatcamGUI/ObjectUI.py:2343
+#: flatcamGUI/ObjectUI.py:2673
msgid "Tab Size"
msgstr ""
-#: flatcamGUI/ObjectUI.py:2345
+#: flatcamGUI/ObjectUI.py:2675
msgid "Set the tab size. In pixels. Default value is 80 pixels."
msgstr ""
-#: flatcamGUI/PlotCanvasLegacy.py:1254
+#: flatcamGUI/PlotCanvasLegacy.py:1301
msgid ""
"Could not annotate due of a difference between the number of text elements and the number "
"of text positions."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:324
+#: flatcamGUI/PreferencesUI.py:343
msgid "GUI Preferences"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:334
+#: flatcamGUI/PreferencesUI.py:353
msgid "Theme"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:336
-msgid "Select a theme for FlatCAM."
+#: flatcamGUI/PreferencesUI.py:355
+msgid ""
+"Select a theme for FlatCAM.\n"
+"It will theme the plot area."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:340
+#: flatcamGUI/PreferencesUI.py:360
msgid "Light"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:341
+#: flatcamGUI/PreferencesUI.py:361
msgid "Dark"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:348
+#: flatcamGUI/PreferencesUI.py:368
msgid "Use Gray Icons"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:350
+#: flatcamGUI/PreferencesUI.py:370
msgid ""
"Check this box to use a set of icons with\n"
"a lighter (gray) color. To be used when a\n"
"full dark theme is applied."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:356
+#: flatcamGUI/PreferencesUI.py:376
msgid "Apply Theme"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:358
+#: flatcamGUI/PreferencesUI.py:378
msgid ""
"Select a theme for FlatCAM.\n"
+"It will theme the plot area.\n"
"The application will restart after change."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:369
+#: flatcamGUI/PreferencesUI.py:390
msgid "Layout"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:371
+#: flatcamGUI/PreferencesUI.py:392
msgid ""
"Select an layout for FlatCAM.\n"
"It is applied immediately."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:390
+#: flatcamGUI/PreferencesUI.py:412
msgid "Style"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:392
+#: flatcamGUI/PreferencesUI.py:414
msgid ""
"Select an style for FlatCAM.\n"
"It will be applied at the next app start."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:406
+#: flatcamGUI/PreferencesUI.py:428
msgid "Activate HDPI Support"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:408
+#: flatcamGUI/PreferencesUI.py:430
msgid ""
"Enable High DPI support for FlatCAM.\n"
"It will be applied at the next app start."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:422
+#: flatcamGUI/PreferencesUI.py:444
msgid "Display Hover Shape"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:424
+#: flatcamGUI/PreferencesUI.py:446
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."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:431
+#: flatcamGUI/PreferencesUI.py:453
msgid "Display Selection Shape"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:433
+#: flatcamGUI/PreferencesUI.py:455
msgid ""
"Enable the display of a selection shape for FlatCAM objects.\n"
"It is displayed whenever the mouse selects an object\n"
@@ -7659,28 +7960,28 @@ msgid ""
"right to left."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:446
+#: flatcamGUI/PreferencesUI.py:468
msgid "Left-Right Selection Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:449 flatcamGUI/PreferencesUI.py:515
-#: flatcamGUI/PreferencesUI.py:1882 flatcamGUI/PreferencesUI.py:2903
-#: flatcamGUI/PreferencesUI.py:3894 flatcamGUI/PreferencesUI.py:4534
-#: flatcamGUI/PreferencesUI.py:4600 flatcamTools/ToolRulesCheck.py:179
+#: flatcamGUI/PreferencesUI.py:471 flatcamGUI/PreferencesUI.py:537
+#: flatcamGUI/PreferencesUI.py:2062 flatcamGUI/PreferencesUI.py:3085
+#: flatcamGUI/PreferencesUI.py:4174 flatcamGUI/PreferencesUI.py:4827
+#: flatcamGUI/PreferencesUI.py:4893 flatcamTools/ToolRulesCheck.py:186
msgid "Outline"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:451
+#: flatcamGUI/PreferencesUI.py:473
msgid "Set the line color for the 'left to right' selection box."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:465 flatcamGUI/PreferencesUI.py:532
-#: flatcamGUI/PreferencesUI.py:1899 flatcamGUI/PreferencesUI.py:2920
-#: flatcamGUI/PreferencesUI.py:4551 flatcamGUI/PreferencesUI.py:4617
+#: flatcamGUI/PreferencesUI.py:487 flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:2079 flatcamGUI/PreferencesUI.py:3102
+#: flatcamGUI/PreferencesUI.py:4844 flatcamGUI/PreferencesUI.py:4910
msgid "Fill"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:467
+#: flatcamGUI/PreferencesUI.py:489
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from left to right.\n"
@@ -7688,25 +7989,25 @@ msgid ""
"digits are for alpha (transparency) level."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:485 flatcamGUI/PreferencesUI.py:552
-#: flatcamGUI/PreferencesUI.py:1918 flatcamGUI/PreferencesUI.py:2939
-#: flatcamGUI/PreferencesUI.py:4570
+#: flatcamGUI/PreferencesUI.py:507 flatcamGUI/PreferencesUI.py:574
+#: flatcamGUI/PreferencesUI.py:2098 flatcamGUI/PreferencesUI.py:3121
+#: flatcamGUI/PreferencesUI.py:4863
msgid "Alpha"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:487
+#: flatcamGUI/PreferencesUI.py:509
msgid "Set the fill transparency for the 'left to right' selection box."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:511
+#: flatcamGUI/PreferencesUI.py:533
msgid "Right-Left Selection Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:517
+#: flatcamGUI/PreferencesUI.py:539
msgid "Set the line color for the 'right to left' selection box."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:534
+#: flatcamGUI/PreferencesUI.py:556
msgid ""
"Set the fill color for the selection box\n"
"in case that the selection is done from right to left.\n"
@@ -7714,260 +8015,260 @@ msgid ""
"digits are for alpha (transparency) level."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:554
+#: flatcamGUI/PreferencesUI.py:576
msgid "Set the fill transparency for selection 'right to left' box."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:581
+#: flatcamGUI/PreferencesUI.py:603
msgid "Editor Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:585
+#: flatcamGUI/PreferencesUI.py:607
msgid "Drawing"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:587
+#: flatcamGUI/PreferencesUI.py:609
msgid "Set the color for the shape."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:604
+#: flatcamGUI/PreferencesUI.py:626
msgid "Set the color of the shape when selected."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:627
+#: flatcamGUI/PreferencesUI.py:649
msgid "Project Items Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:631
+#: flatcamGUI/PreferencesUI.py:653
msgid "Enabled"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:633
+#: flatcamGUI/PreferencesUI.py:655
msgid "Set the color of the items in Project Tab Tree."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:647
+#: flatcamGUI/PreferencesUI.py:669
msgid "Disabled"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:649
+#: flatcamGUI/PreferencesUI.py:671
msgid ""
"Set the color of the items in Project Tab Tree,\n"
"for the case when the items are disabled."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:665
+#: flatcamGUI/PreferencesUI.py:687
msgid "Project AutoHide"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:667
+#: flatcamGUI/PreferencesUI.py:689
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"hide automatically when there are no objects loaded and\n"
"to show whenever a new object is created."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:934
+#: flatcamGUI/PreferencesUI.py:1109
msgid "App Settings"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:955
+#: flatcamGUI/PreferencesUI.py:1130
msgid "Grid Settings"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:959
+#: flatcamGUI/PreferencesUI.py:1134
msgid "X value"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:961
+#: flatcamGUI/PreferencesUI.py:1136
msgid "This is the Grid snap value on X axis."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:971
+#: flatcamGUI/PreferencesUI.py:1146
msgid "Y value"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:973
+#: flatcamGUI/PreferencesUI.py:1148
msgid "This is the Grid snap value on Y axis."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:983
+#: flatcamGUI/PreferencesUI.py:1158
msgid "Snap Max"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:998
+#: flatcamGUI/PreferencesUI.py:1173
msgid "Workspace Settings"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1001
+#: flatcamGUI/PreferencesUI.py:1176
msgid "Active"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1003
+#: flatcamGUI/PreferencesUI.py:1178
msgid ""
"Draw a delimiting rectangle on canvas.\n"
"The purpose is to illustrate the limits for our work."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1011
+#: flatcamGUI/PreferencesUI.py:1186
msgid ""
"Select the type of rectangle to be used on canvas,\n"
"as valid workspace."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1077
+#: flatcamGUI/PreferencesUI.py:1252
msgid "Orientation"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1078 flatcamGUI/PreferencesUI.py:5884
-#: flatcamTools/ToolFilm.py:420
+#: flatcamGUI/PreferencesUI.py:1253 flatcamGUI/PreferencesUI.py:6372
+#: flatcamTools/ToolFilm.py:422
msgid ""
"Can be:\n"
"- Portrait\n"
"- Landscape"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1082 flatcamGUI/PreferencesUI.py:5888
-#: flatcamTools/ToolFilm.py:424
+#: flatcamGUI/PreferencesUI.py:1257 flatcamGUI/PreferencesUI.py:6376
+#: flatcamTools/ToolFilm.py:426
msgid "Portrait"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1083 flatcamGUI/PreferencesUI.py:5889
-#: flatcamTools/ToolFilm.py:425
+#: flatcamGUI/PreferencesUI.py:1258 flatcamGUI/PreferencesUI.py:6377
+#: flatcamTools/ToolFilm.py:427
msgid "Landscape"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1107
+#: flatcamGUI/PreferencesUI.py:1282
msgid "Notebook"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1109
+#: flatcamGUI/PreferencesUI.py:1284
msgid ""
"This sets the font size for the elements found in the Notebook.\n"
"The notebook is the collapsible area in the left side of the GUI,\n"
"and include the Project, Selected and Tool tabs."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1128
+#: flatcamGUI/PreferencesUI.py:1303
msgid "Axis"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1130
+#: flatcamGUI/PreferencesUI.py:1305
msgid "This sets the font size for canvas axis."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1147
+#: flatcamGUI/PreferencesUI.py:1322
msgid "Textbox"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1149
+#: flatcamGUI/PreferencesUI.py:1324
msgid ""
"This sets the font size for the Textbox GUI\n"
"elements that are used in FlatCAM."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1175
+#: flatcamGUI/PreferencesUI.py:1350
msgid "Mouse Settings"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1179
+#: flatcamGUI/PreferencesUI.py:1354
msgid "Cursor Shape"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1181
+#: flatcamGUI/PreferencesUI.py:1356
msgid ""
"Choose a mouse cursor shape.\n"
"- Small -> with a customizable size.\n"
"- Big -> Infinite lines"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1187
+#: flatcamGUI/PreferencesUI.py:1362
msgid "Small"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1188
+#: flatcamGUI/PreferencesUI.py:1363
msgid "Big"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1195
+#: flatcamGUI/PreferencesUI.py:1370
msgid "Cursor Size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1197
+#: flatcamGUI/PreferencesUI.py:1372
msgid "Set the size of the mouse cursor, in pixels."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1208
+#: flatcamGUI/PreferencesUI.py:1383
msgid "Cursor Width"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1210
+#: flatcamGUI/PreferencesUI.py:1385
msgid "Set the line width of the mouse cursor, in pixels."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1221 flatcamGUI/PreferencesUI.py:1228
+#: flatcamGUI/PreferencesUI.py:1396 flatcamGUI/PreferencesUI.py:1403
msgid "Cursor Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1223
+#: flatcamGUI/PreferencesUI.py:1398
msgid "Check this box to color mouse cursor."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1230
+#: flatcamGUI/PreferencesUI.py:1405
msgid "Set the color of the mouse cursor."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1253
+#: flatcamGUI/PreferencesUI.py:1428
msgid "Pan Button"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1255
+#: flatcamGUI/PreferencesUI.py:1430
msgid ""
"Select the mouse button to use for panning:\n"
"- MMB --> Middle Mouse Button\n"
"- RMB --> Right Mouse Button"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1259
+#: flatcamGUI/PreferencesUI.py:1434
msgid "MMB"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1260
+#: flatcamGUI/PreferencesUI.py:1435
msgid "RMB"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1266
+#: flatcamGUI/PreferencesUI.py:1441
msgid "Multiple Selection"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1268
+#: flatcamGUI/PreferencesUI.py:1443
msgid "Select the key used for multiple selection."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1270
+#: flatcamGUI/PreferencesUI.py:1445
msgid "CTRL"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1271
+#: flatcamGUI/PreferencesUI.py:1446
msgid "SHIFT"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1282
+#: flatcamGUI/PreferencesUI.py:1457
msgid "Delete object confirmation"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1284
+#: flatcamGUI/PreferencesUI.py:1459
msgid ""
"When checked the application will ask for user confirmation\n"
"whenever the Delete object(s) event is triggered, either by\n"
"menu shortcut or key shortcut."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1291
+#: flatcamGUI/PreferencesUI.py:1466
msgid "\"Open\" behavior"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1293
+#: flatcamGUI/PreferencesUI.py:1468
msgid ""
"When checked the path for the last saved file is used when saving files,\n"
"and the path for the last opened file is used when opening files.\n"
@@ -7976,21 +8277,21 @@ msgid ""
"path for saving files or the path for opening files."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1302
+#: flatcamGUI/PreferencesUI.py:1477
msgid "Enable ToolTips"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1304
+#: flatcamGUI/PreferencesUI.py:1479
msgid ""
"Check this box if you want to have toolTips displayed\n"
"when hovering with mouse over items throughout the App."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1311
+#: flatcamGUI/PreferencesUI.py:1486
msgid "Allow Machinist Unsafe Settings"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1313
+#: flatcamGUI/PreferencesUI.py:1488
msgid ""
"If checked, some of the application settings will be allowed\n"
"to have values that are usually unsafe to use.\n"
@@ -7999,82 +8300,82 @@ msgid ""
"<>: Don't change this unless you know what you are doing !!!"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1324
+#: flatcamGUI/PreferencesUI.py:1500
msgid "Bookmarks limit"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1326
+#: flatcamGUI/PreferencesUI.py:1502
msgid ""
"The maximum number of bookmarks that may be installed in the menu.\n"
"The number of bookmarks in the bookmark manager may be greater\n"
"but the menu will hold only so much."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1335
+#: flatcamGUI/PreferencesUI.py:1511
msgid "Activity Icon"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1337
+#: flatcamGUI/PreferencesUI.py:1513
msgid "Select the GIF that show activity when FlatCAM is active."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1395
+#: flatcamGUI/PreferencesUI.py:1571
msgid "App Preferences"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1405 flatcamGUI/PreferencesUI.py:1811
-#: flatcamGUI/PreferencesUI.py:2359 flatcamGUI/PreferencesUI.py:2804
-#: flatcamGUI/PreferencesUI.py:3417 flatcamTools/ToolDistance.py:49
-#: flatcamTools/ToolDistanceMin.py:49 flatcamTools/ToolPcbWizard.py:127
-#: flatcamTools/ToolProperties.py:152
+#: flatcamGUI/PreferencesUI.py:1581 flatcamGUI/PreferencesUI.py:1991
+#: flatcamGUI/PreferencesUI.py:2539 flatcamGUI/PreferencesUI.py:2986
+#: flatcamGUI/PreferencesUI.py:3695 flatcamTools/ToolDistance.py:56
+#: flatcamTools/ToolDistanceMin.py:50 flatcamTools/ToolPcbWizard.py:127
+#: flatcamTools/ToolProperties.py:154
msgid "Units"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1406
+#: flatcamGUI/PreferencesUI.py:1582
msgid ""
"The default value for FlatCAM units.\n"
"Whatever is selected here is set every time\n"
"FLatCAM is started."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1409 flatcamGUI/PreferencesUI.py:1817
-#: flatcamGUI/PreferencesUI.py:2365 flatcamGUI/PreferencesUI.py:2815
-#: flatcamGUI/PreferencesUI.py:3423 flatcamTools/ToolCalculators.py:62
+#: flatcamGUI/PreferencesUI.py:1585 flatcamGUI/PreferencesUI.py:1997
+#: flatcamGUI/PreferencesUI.py:2545 flatcamGUI/PreferencesUI.py:2997
+#: flatcamGUI/PreferencesUI.py:3701 flatcamTools/ToolCalculators.py:62
#: flatcamTools/ToolPcbWizard.py:126
msgid "MM"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1410
+#: flatcamGUI/PreferencesUI.py:1586
msgid "IN"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1416
+#: flatcamGUI/PreferencesUI.py:1592
msgid "Precision MM"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1418
+#: flatcamGUI/PreferencesUI.py:1594
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in METRIC system.\n"
"Any change here require an application restart."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1430
+#: flatcamGUI/PreferencesUI.py:1606
msgid "Precision INCH"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1432
+#: flatcamGUI/PreferencesUI.py:1608
msgid ""
"The number of decimals used throughout the application\n"
"when the set units are in INCH system.\n"
"Any change here require an application restart."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1444
+#: flatcamGUI/PreferencesUI.py:1620
msgid "Graphic Engine"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1445
+#: flatcamGUI/PreferencesUI.py:1621
msgid ""
"Choose what graphic engine to use in FlatCAM.\n"
"Legacy(2D) -> reduced functionality, slow performance but enhanced compatibility.\n"
@@ -8084,19 +8385,19 @@ msgid ""
"use the Legacy(2D) mode."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1451
+#: flatcamGUI/PreferencesUI.py:1627
msgid "Legacy(2D)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1452
+#: flatcamGUI/PreferencesUI.py:1628
msgid "OpenGL(3D)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1464
+#: flatcamGUI/PreferencesUI.py:1640
msgid "APP. LEVEL"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1465
+#: flatcamGUI/PreferencesUI.py:1641
msgid ""
"Choose the default level of usage for FlatCAM.\n"
"BASIC level -> reduced functionality, best for beginner's.\n"
@@ -8106,11 +8407,11 @@ msgid ""
"the Selected Tab for all kinds of FlatCAM objects."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1477
+#: flatcamGUI/PreferencesUI.py:1653
msgid "Portable app"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1478
+#: flatcamGUI/PreferencesUI.py:1654
msgid ""
"Choose if the application should run as portable.\n"
"\n"
@@ -8119,89 +8420,89 @@ msgid ""
"in the application folder, in the lib\\config subfolder."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1491
+#: flatcamGUI/PreferencesUI.py:1667
msgid "Languages"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1492
+#: flatcamGUI/PreferencesUI.py:1668
msgid "Set the language used throughout FlatCAM."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1498
+#: flatcamGUI/PreferencesUI.py:1674
msgid "Apply Language"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1499
+#: flatcamGUI/PreferencesUI.py:1675
msgid ""
"Set the language used throughout FlatCAM.\n"
"The app will restart after click."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1513
+#: flatcamGUI/PreferencesUI.py:1689
msgid "Startup Settings"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1517
+#: flatcamGUI/PreferencesUI.py:1693
msgid "Splash Screen"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1519
+#: flatcamGUI/PreferencesUI.py:1695
msgid "Enable display of the splash screen at application startup."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1531
+#: flatcamGUI/PreferencesUI.py:1707
msgid "Sys Tray Icon"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1533
+#: flatcamGUI/PreferencesUI.py:1709
msgid "Enable display of FlatCAM icon in Sys Tray."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1538
+#: flatcamGUI/PreferencesUI.py:1714
msgid "Show Shell"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1540
+#: flatcamGUI/PreferencesUI.py:1716
msgid ""
"Check this box if you want the shell to\n"
"start automatically at startup."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1547
+#: flatcamGUI/PreferencesUI.py:1723
msgid "Show Project"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1549
+#: flatcamGUI/PreferencesUI.py:1725
msgid ""
"Check this box if you want the project/selected/tool tab area to\n"
"to be shown automatically at startup."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1555
+#: flatcamGUI/PreferencesUI.py:1731
msgid "Version Check"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1557
+#: flatcamGUI/PreferencesUI.py:1733
msgid ""
"Check this box if you want to check\n"
"for a new version automatically at startup."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1564
+#: flatcamGUI/PreferencesUI.py:1740
msgid "Send Statistics"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1566
+#: flatcamGUI/PreferencesUI.py:1742
msgid ""
"Check this box if you agree to send anonymous\n"
"stats automatically at startup, to help improve FlatCAM."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1580
+#: flatcamGUI/PreferencesUI.py:1756
msgid "Workers number"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1582 flatcamGUI/PreferencesUI.py:1591
+#: flatcamGUI/PreferencesUI.py:1758
msgid ""
"The number of Qthreads made available to the App.\n"
"A bigger number may finish the jobs more quickly but\n"
@@ -8211,133 +8512,156 @@ msgid ""
"After change, it will be applied at next App start."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1604
+#: flatcamGUI/PreferencesUI.py:1772
msgid "Geo Tolerance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1606 flatcamGUI/PreferencesUI.py:1615
+#: flatcamGUI/PreferencesUI.py:1774
msgid ""
"This value can counter the effect of the Circle Steps\n"
-"parameter. Default value is 0.01.\n"
+"parameter. Default value is 0.005.\n"
"A lower value will increase the detail both in image\n"
"and in Gcode for the circles, with a higher cost in\n"
"performance. Higher value will provide more\n"
"performance at the expense of level of detail."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1634
+#: flatcamGUI/PreferencesUI.py:1794
msgid "Save Settings"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1638
+#: flatcamGUI/PreferencesUI.py:1798
msgid "Save Compressed Project"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1640
+#: flatcamGUI/PreferencesUI.py:1800
msgid ""
"Whether to save a compressed or uncompressed project.\n"
"When checked it will save a compressed FlatCAM project."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1649
+#: flatcamGUI/PreferencesUI.py:1809
msgid "Compression"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1651
+#: flatcamGUI/PreferencesUI.py:1811
msgid ""
"The level of compression used when saving\n"
"a FlatCAM project. Higher value means better compression\n"
"but require more RAM usage and more processing time."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1671
+#: flatcamGUI/PreferencesUI.py:1822
+msgid "Enable Auto Save"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1824
+msgid ""
+"Check to enable the autosave feature.\n"
+"When enabled, the application will try to save a project\n"
+"at the set interval."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1834
+msgid "Interval"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1836
+msgid ""
+"Time interval for autosaving. In milliseconds.\n"
+"The application will try to save periodically but only\n"
+"if the project was saved manually at least once.\n"
+"While active, some operations may block this feature."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1852
msgid "Text to PDF parameters"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1673
+#: flatcamGUI/PreferencesUI.py:1854
msgid "Used when saving text in Code Editor or in FlatCAM Document objects."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1682
+#: flatcamGUI/PreferencesUI.py:1863
msgid "Top Margin"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1684
+#: flatcamGUI/PreferencesUI.py:1865
msgid "Distance between text body and the top of the PDF file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1695
+#: flatcamGUI/PreferencesUI.py:1876
msgid "Bottom Margin"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1697
+#: flatcamGUI/PreferencesUI.py:1878
msgid "Distance between text body and the bottom of the PDF file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1708
+#: flatcamGUI/PreferencesUI.py:1889
msgid "Left Margin"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1710
+#: flatcamGUI/PreferencesUI.py:1891
msgid "Distance between text body and the left of the PDF file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1721
+#: flatcamGUI/PreferencesUI.py:1902
msgid "Right Margin"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1723
+#: flatcamGUI/PreferencesUI.py:1904
msgid "Distance between text body and the right of the PDF file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1756
+#: flatcamGUI/PreferencesUI.py:1936
msgid "Gerber General"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1774
+#: flatcamGUI/PreferencesUI.py:1954
msgid "M-Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1788 flatcamGUI/PreferencesUI.py:3859
-#: flatcamGUI/PreferencesUI.py:4442 flatcamGUI/PreferencesUI.py:7148
+#: flatcamGUI/PreferencesUI.py:1968 flatcamGUI/PreferencesUI.py:4137
+#: flatcamGUI/PreferencesUI.py:4735 flatcamGUI/PreferencesUI.py:7654
msgid "Circle Steps"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1790
+#: flatcamGUI/PreferencesUI.py:1970
msgid ""
"The number of circle steps for Gerber \n"
"circular aperture linear approximation."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1802
+#: flatcamGUI/PreferencesUI.py:1982
msgid "Default Values"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1804
+#: flatcamGUI/PreferencesUI.py:1984
msgid ""
"Those values will be used as fallback values\n"
"in case that they are not found in the Gerber file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1813 flatcamGUI/PreferencesUI.py:1819
-#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:2367
+#: flatcamGUI/PreferencesUI.py:1993 flatcamGUI/PreferencesUI.py:1999
+#: flatcamGUI/PreferencesUI.py:2541 flatcamGUI/PreferencesUI.py:2547
msgid "The units used in the Gerber file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1816 flatcamGUI/PreferencesUI.py:2364
-#: flatcamGUI/PreferencesUI.py:2728 flatcamGUI/PreferencesUI.py:2814
-#: flatcamGUI/PreferencesUI.py:3422 flatcamTools/ToolCalculators.py:61
+#: flatcamGUI/PreferencesUI.py:1996 flatcamGUI/PreferencesUI.py:2544
+#: flatcamGUI/PreferencesUI.py:2910 flatcamGUI/PreferencesUI.py:2996
+#: flatcamGUI/PreferencesUI.py:3700 flatcamTools/ToolCalculators.py:61
#: flatcamTools/ToolPcbWizard.py:125
msgid "INCH"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1826 flatcamGUI/PreferencesUI.py:2413
-#: flatcamGUI/PreferencesUI.py:2786 flatcamGUI/PreferencesUI.py:3490
+#: flatcamGUI/PreferencesUI.py:2006 flatcamGUI/PreferencesUI.py:2593
+#: flatcamGUI/PreferencesUI.py:2968 flatcamGUI/PreferencesUI.py:3768
msgid "Zeros"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1829 flatcamGUI/PreferencesUI.py:1839
-#: flatcamGUI/PreferencesUI.py:2416 flatcamGUI/PreferencesUI.py:2426
+#: flatcamGUI/PreferencesUI.py:2009 flatcamGUI/PreferencesUI.py:2019
+#: flatcamGUI/PreferencesUI.py:2596 flatcamGUI/PreferencesUI.py:2606
msgid ""
"This sets the type of Gerber zeros.\n"
"If LZ then Leading Zeros are removed and\n"
@@ -8346,33 +8670,33 @@ msgid ""
"and Leading Zeros are kept."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1836 flatcamGUI/PreferencesUI.py:2423
-#: flatcamGUI/PreferencesUI.py:2799 flatcamGUI/PreferencesUI.py:3500
+#: flatcamGUI/PreferencesUI.py:2016 flatcamGUI/PreferencesUI.py:2603
+#: flatcamGUI/PreferencesUI.py:2981 flatcamGUI/PreferencesUI.py:3778
#: flatcamTools/ToolPcbWizard.py:111
msgid "LZ"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1837 flatcamGUI/PreferencesUI.py:2424
-#: flatcamGUI/PreferencesUI.py:2800 flatcamGUI/PreferencesUI.py:3501
+#: flatcamGUI/PreferencesUI.py:2017 flatcamGUI/PreferencesUI.py:2604
+#: flatcamGUI/PreferencesUI.py:2982 flatcamGUI/PreferencesUI.py:3779
#: flatcamTools/ToolPcbWizard.py:112
msgid "TZ"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1855
+#: flatcamGUI/PreferencesUI.py:2035
msgid "Clean Apertures"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1857
+#: flatcamGUI/PreferencesUI.py:2037
msgid ""
"Will remove apertures that do not have geometry\n"
"thus lowering the number of apertures in the Gerber object."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1863
+#: flatcamGUI/PreferencesUI.py:2043
msgid "Polarity change buffer"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1865
+#: flatcamGUI/PreferencesUI.py:2045
msgid ""
"Will apply extra buffering for the\n"
"solid geometry when we have polarity changes.\n"
@@ -8380,77 +8704,72 @@ msgid ""
"do not load correctly."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1878
+#: flatcamGUI/PreferencesUI.py:2058
msgid "Gerber Object Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1884 flatcamGUI/PreferencesUI.py:2905
-#: flatcamGUI/PreferencesUI.py:3896
+#: flatcamGUI/PreferencesUI.py:2064 flatcamGUI/PreferencesUI.py:3087
+#: flatcamGUI/PreferencesUI.py:4176
msgid "Set the line color for plotted objects."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1901 flatcamGUI/PreferencesUI.py:2922
-#: flatcamGUI/PreferencesUI.py:4553 flatcamGUI/PreferencesUI.py:4619
+#: flatcamGUI/PreferencesUI.py:2081 flatcamGUI/PreferencesUI.py:3104
+#: flatcamGUI/PreferencesUI.py:4846 flatcamGUI/PreferencesUI.py:4912
msgid ""
"Set the fill color for plotted objects.\n"
"First 6 digits are the color and the last 2\n"
"digits are for alpha (transparency) level."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:1920 flatcamGUI/PreferencesUI.py:2941
-#: flatcamGUI/PreferencesUI.py:4572
+#: flatcamGUI/PreferencesUI.py:2100 flatcamGUI/PreferencesUI.py:3123
+#: flatcamGUI/PreferencesUI.py:4865
msgid "Set the fill transparency for plotted objects."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2011
+#: flatcamGUI/PreferencesUI.py:2191
msgid "Gerber Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2085 flatcamGUI/PreferencesUI.py:4379
-#: flatcamGUI/PreferencesUI.py:5120 flatcamTools/ToolNonCopperClear.py:170
-msgid "Conv."
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:2089
+#: flatcamGUI/PreferencesUI.py:2269
msgid "Combine Passes"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2177
+#: flatcamGUI/PreferencesUI.py:2357
msgid "Gerber Adv. Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2181 flatcamGUI/PreferencesUI.py:3278
-#: flatcamGUI/PreferencesUI.py:4179
+#: flatcamGUI/PreferencesUI.py:2361 flatcamGUI/PreferencesUI.py:3551
+#: flatcamGUI/PreferencesUI.py:4472
msgid "Advanced Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2183
+#: flatcamGUI/PreferencesUI.py:2363
msgid ""
"A list of Gerber advanced parameters.\n"
"Those parameters are available only for\n"
"Advanced App. Level."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2202
+#: flatcamGUI/PreferencesUI.py:2382
msgid "Table Show/Hide"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2204
+#: flatcamGUI/PreferencesUI.py:2384
msgid ""
"Toggle the display of the Gerber Apertures Table.\n"
"Also, on hide, it will delete all mark shapes\n"
"that are drawn on canvas."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2284
+#: flatcamGUI/PreferencesUI.py:2464
msgid "Exterior"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2285
+#: flatcamGUI/PreferencesUI.py:2465
msgid "Interior"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2298
+#: flatcamGUI/PreferencesUI.py:2478
msgid ""
"Buffering type:\n"
"- None --> best performance, fast file loading but no so good display\n"
@@ -8458,79 +8777,79 @@ msgid ""
"<>: Don't change this unless you know what you are doing !!!"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2303 flatcamGUI/PreferencesUI.py:5852
-#: flatcamGUI/PreferencesUI.py:7446 flatcamTools/ToolFiducials.py:201
-#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:411
-#: flatcamTools/ToolProperties.py:426 flatcamTools/ToolProperties.py:429
-#: flatcamTools/ToolProperties.py:432 flatcamTools/ToolProperties.py:456
+#: flatcamGUI/PreferencesUI.py:2483 flatcamGUI/PreferencesUI.py:6340
+#: flatcamGUI/PreferencesUI.py:7952 flatcamTools/ToolFiducials.py:201
+#: flatcamTools/ToolFilm.py:255 flatcamTools/ToolProperties.py:452
+#: flatcamTools/ToolProperties.py:455 flatcamTools/ToolProperties.py:458
+#: flatcamTools/ToolProperties.py:483
msgid "None"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2309
+#: flatcamGUI/PreferencesUI.py:2489
msgid "Simplify"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2311
+#: flatcamGUI/PreferencesUI.py:2491
msgid ""
"When checked all the Gerber polygons will be\n"
"loaded with simplification having a set tolerance.\n"
"<>: Don't change this unless you know what you are doing !!!"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2318
+#: flatcamGUI/PreferencesUI.py:2498
msgid "Tolerance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2319
+#: flatcamGUI/PreferencesUI.py:2499
msgid "Tolerance for polygon simplification."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2344
+#: flatcamGUI/PreferencesUI.py:2524
msgid "Gerber Export"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2348 flatcamGUI/PreferencesUI.py:3406
+#: flatcamGUI/PreferencesUI.py:2528 flatcamGUI/PreferencesUI.py:3684
msgid "Export Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2350
+#: flatcamGUI/PreferencesUI.py:2530
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Gerber menu entry."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2373 flatcamGUI/PreferencesUI.py:3431
+#: flatcamGUI/PreferencesUI.py:2553 flatcamGUI/PreferencesUI.py:3709
msgid "Int/Decimals"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2375
+#: flatcamGUI/PreferencesUI.py:2555
msgid ""
"The number of digits in the whole part of the number\n"
"and in the fractional part of the number."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2388
+#: flatcamGUI/PreferencesUI.py:2568
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Gerber coordinates."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2404
+#: flatcamGUI/PreferencesUI.py:2584
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Gerber coordinates."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2449
+#: flatcamGUI/PreferencesUI.py:2629
msgid "A list of Gerber Editor parameters."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2457 flatcamGUI/PreferencesUI.py:3565
-#: flatcamGUI/PreferencesUI.py:4357 flatcamGUI/PreferencesUI.py:7109
+#: flatcamGUI/PreferencesUI.py:2637 flatcamGUI/PreferencesUI.py:3843
+#: flatcamGUI/PreferencesUI.py:4650 flatcamGUI/PreferencesUI.py:7615
msgid "Selection limit"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2459
+#: flatcamGUI/PreferencesUI.py:2639
msgid ""
"Set the number of selected Gerber geometry\n"
"items above which the utility geometry\n"
@@ -8539,104 +8858,108 @@ msgid ""
"large number of geometric elements."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2472
+#: flatcamGUI/PreferencesUI.py:2652
msgid "New Aperture code"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2485
+#: flatcamGUI/PreferencesUI.py:2665
msgid "New Aperture size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2487
+#: flatcamGUI/PreferencesUI.py:2667
msgid "Size for the new aperture"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2498
+#: flatcamGUI/PreferencesUI.py:2678
msgid "New Aperture type"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2500
+#: flatcamGUI/PreferencesUI.py:2680
msgid ""
"Type for the new aperture.\n"
"Can be 'C', 'R' or 'O'."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2522
+#: flatcamGUI/PreferencesUI.py:2702
msgid "Aperture Dimensions"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2524 flatcamGUI/PreferencesUI.py:3877
-#: flatcamGUI/PreferencesUI.py:5029
-msgid "Diameters of the cutting tools, separated by ','"
+#: flatcamGUI/PreferencesUI.py:2704 flatcamGUI/PreferencesUI.py:4155
+#: flatcamGUI/PreferencesUI.py:5322 flatcamGUI/PreferencesUI.py:5889
+#: flatcamGUI/PreferencesUI.py:6955
+msgid ""
+"Diameters of the tools, separated by comma.\n"
+"The value of the diameter has to use the dot decimals separator.\n"
+"Valid values: 0.3, 1.0"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2530
+#: flatcamGUI/PreferencesUI.py:2712
msgid "Linear Pad Array"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2534 flatcamGUI/PreferencesUI.py:3609
-#: flatcamGUI/PreferencesUI.py:3757
+#: flatcamGUI/PreferencesUI.py:2716 flatcamGUI/PreferencesUI.py:3887
+#: flatcamGUI/PreferencesUI.py:4035
msgid "Linear Direction"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2574
+#: flatcamGUI/PreferencesUI.py:2756
msgid "Circular Pad Array"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2578 flatcamGUI/PreferencesUI.py:3655
-#: flatcamGUI/PreferencesUI.py:3805
+#: flatcamGUI/PreferencesUI.py:2760 flatcamGUI/PreferencesUI.py:3933
+#: flatcamGUI/PreferencesUI.py:4083
msgid "Circular Direction"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2580 flatcamGUI/PreferencesUI.py:3657
-#: flatcamGUI/PreferencesUI.py:3807
+#: flatcamGUI/PreferencesUI.py:2762 flatcamGUI/PreferencesUI.py:3935
+#: flatcamGUI/PreferencesUI.py:4085
msgid ""
"Direction for circular array.\n"
"Can be CW = clockwise or CCW = counter clockwise."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2591 flatcamGUI/PreferencesUI.py:3668
-#: flatcamGUI/PreferencesUI.py:3818
+#: flatcamGUI/PreferencesUI.py:2773 flatcamGUI/PreferencesUI.py:3946
+#: flatcamGUI/PreferencesUI.py:4096
msgid "Circular Angle"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2610
+#: flatcamGUI/PreferencesUI.py:2792
msgid "Distance at which to buffer the Gerber element."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2619
+#: flatcamGUI/PreferencesUI.py:2801
msgid "Scale Tool"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2625
+#: flatcamGUI/PreferencesUI.py:2807
msgid "Factor to scale the Gerber element."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2638
+#: flatcamGUI/PreferencesUI.py:2820
msgid "Threshold low"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2640
+#: flatcamGUI/PreferencesUI.py:2822
msgid "Threshold value under which the apertures are not marked."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2650
+#: flatcamGUI/PreferencesUI.py:2832
msgid "Threshold high"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2652
+#: flatcamGUI/PreferencesUI.py:2834
msgid "Threshold value over which the apertures are not marked."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2670
+#: flatcamGUI/PreferencesUI.py:2852
msgid "Excellon General"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2703
+#: flatcamGUI/PreferencesUI.py:2885
msgid "Excellon Format"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2705
+#: flatcamGUI/PreferencesUI.py:2887
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -8659,33 +8982,33 @@ msgid ""
"KiCAD 3:5 INCH TZ"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2729
+#: flatcamGUI/PreferencesUI.py:2911
msgid "Default values for INCH are 2:4"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2736 flatcamGUI/PreferencesUI.py:2765
-#: flatcamGUI/PreferencesUI.py:3445
+#: flatcamGUI/PreferencesUI.py:2918 flatcamGUI/PreferencesUI.py:2947
+#: flatcamGUI/PreferencesUI.py:3723
msgid ""
"This numbers signify the number of digits in\n"
"the whole part of Excellon coordinates."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2749 flatcamGUI/PreferencesUI.py:2778
-#: flatcamGUI/PreferencesUI.py:3458
+#: flatcamGUI/PreferencesUI.py:2931 flatcamGUI/PreferencesUI.py:2960
+#: flatcamGUI/PreferencesUI.py:3736
msgid ""
"This numbers signify the number of digits in\n"
"the decimal part of Excellon coordinates."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2757
+#: flatcamGUI/PreferencesUI.py:2939
msgid "METRIC"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2758
+#: flatcamGUI/PreferencesUI.py:2940
msgid "Default values for METRIC are 3:3"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2789
+#: flatcamGUI/PreferencesUI.py:2971
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -8697,7 +9020,7 @@ msgid ""
"stored in the Excellon file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2807
+#: flatcamGUI/PreferencesUI.py:2989
msgid ""
"This sets the default units of Excellon files.\n"
"If it is not detected in the parsed file the value here\n"
@@ -8705,26 +9028,26 @@ msgid ""
"therefore this parameter will be used."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2817
+#: flatcamGUI/PreferencesUI.py:2999
msgid ""
"This sets the units of Excellon files.\n"
"Some Excellon files don't have an header\n"
"therefore this parameter will be used."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2825
+#: flatcamGUI/PreferencesUI.py:3007
msgid "Update Export settings"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2842
+#: flatcamGUI/PreferencesUI.py:3024
msgid "Excellon Optimization"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2845
+#: flatcamGUI/PreferencesUI.py:3027
msgid "Algorithm:"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2847 flatcamGUI/PreferencesUI.py:2863
+#: flatcamGUI/PreferencesUI.py:3029 flatcamGUI/PreferencesUI.py:3045
msgid ""
"This sets the optimization type for the Excellon drill path.\n"
"If <> is checked then Google OR-Tools algorithm with\n"
@@ -8737,20 +9060,20 @@ msgid ""
"Travelling Salesman algorithm for path optimization."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2858
+#: flatcamGUI/PreferencesUI.py:3040
msgid "MetaHeuristic"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2860
+#: flatcamGUI/PreferencesUI.py:3042
msgid "TSA"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2877 flatcamGUI/PreferencesUI.py:3192
-#: flatcamGUI/PreferencesUI.py:4138
+#: flatcamGUI/PreferencesUI.py:3059 flatcamGUI/PreferencesUI.py:3463
+#: flatcamGUI/PreferencesUI.py:4430
msgid "Duration"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2880
+#: flatcamGUI/PreferencesUI.py:3062
msgid ""
"When OR-Tools Metaheuristic (MH) is enabled there is a\n"
"maximum threshold for how much time is spent doing the\n"
@@ -8758,25 +9081,43 @@ msgid ""
"In seconds."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:2899
+#: flatcamGUI/PreferencesUI.py:3081
msgid "Excellon Object Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3065
+#: flatcamGUI/PreferencesUI.py:3247
msgid "Excellon Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3071
+#: flatcamGUI/PreferencesUI.py:3251 flatcamGUI/PreferencesUI.py:4227
+msgid "Create CNC Job"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3253
msgid ""
"Parameters used to create a CNC Job object\n"
"for this drill object."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3185 flatcamGUI/PreferencesUI.py:4133
+#: flatcamGUI/PreferencesUI.py:3370 flatcamGUI/PreferencesUI.py:4314
+msgid "Tool change"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3454 flatcamGUI/PreferencesUI.py:4425
msgid "Enable Dwell"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3217
+#: flatcamGUI/PreferencesUI.py:3477
+msgid ""
+"The preprocessor JSON file that dictates\n"
+"Gcode output."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3488
+msgid "Gcode"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3490
msgid ""
"Choose what to use for GCode generation:\n"
"'Drills', 'Slots' or 'Both'.\n"
@@ -8784,34 +9125,52 @@ msgid ""
"converted to drills."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3235
+#: flatcamGUI/PreferencesUI.py:3506
+msgid "Mill Holes"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3508
msgid "Create Geometry for milling holes."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3271
+#: flatcamGUI/PreferencesUI.py:3512
+msgid "Drill Tool dia"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3523
+msgid "Slot Tool dia"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3525
+msgid ""
+"Diameter of the cutting tool\n"
+"when milling slots."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3544
msgid "Excellon Adv. Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3280
+#: flatcamGUI/PreferencesUI.py:3553
msgid ""
"A list of Excellon advanced parameters.\n"
"Those parameters are available only for\n"
"Advanced App. Level."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3301
+#: flatcamGUI/PreferencesUI.py:3576
msgid "Toolchange X,Y"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3303 flatcamGUI/PreferencesUI.py:4193
+#: flatcamGUI/PreferencesUI.py:3578 flatcamGUI/PreferencesUI.py:4486
msgid "Toolchange X,Y position."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3360 flatcamGUI/PreferencesUI.py:4280
+#: flatcamGUI/PreferencesUI.py:3638 flatcamGUI/PreferencesUI.py:4573
msgid "Spindle direction"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3362 flatcamGUI/PreferencesUI.py:4282
+#: flatcamGUI/PreferencesUI.py:3640 flatcamGUI/PreferencesUI.py:4575
msgid ""
"This sets the direction that the spindle is rotating.\n"
"It can be either:\n"
@@ -8819,11 +9178,11 @@ msgid ""
"- CCW = counter clockwise"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3373 flatcamGUI/PreferencesUI.py:4294
+#: flatcamGUI/PreferencesUI.py:3651 flatcamGUI/PreferencesUI.py:4587
msgid "Fast Plunge"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3375 flatcamGUI/PreferencesUI.py:4296
+#: flatcamGUI/PreferencesUI.py:3653 flatcamGUI/PreferencesUI.py:4589
msgid ""
"By checking this, the vertical move from\n"
"Z_Toolchange to Z_move is done with G0,\n"
@@ -8831,11 +9190,11 @@ msgid ""
"WARNING: the move is done at Toolchange X,Y coords."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3382
+#: flatcamGUI/PreferencesUI.py:3660
msgid "Fast Retract"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3384
+#: flatcamGUI/PreferencesUI.py:3662
msgid ""
"Exit hole strategy.\n"
" - When uncheked, while exiting the drilled hole the drill bit\n"
@@ -8845,21 +9204,21 @@ msgid ""
"(travel height) is done as fast as possible (G0) in one move."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3402
+#: flatcamGUI/PreferencesUI.py:3680
msgid "Excellon Export"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3408
+#: flatcamGUI/PreferencesUI.py:3686
msgid ""
"The parameters set here are used in the file exported\n"
"when using the File -> Export -> Export Excellon menu entry."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3419 flatcamGUI/PreferencesUI.py:3425
+#: flatcamGUI/PreferencesUI.py:3697 flatcamGUI/PreferencesUI.py:3703
msgid "The units used in the Excellon file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3433
+#: flatcamGUI/PreferencesUI.py:3711
msgid ""
"The NC drill files, usually named Excellon files\n"
"are files that can be found in different formats.\n"
@@ -8867,11 +9226,11 @@ msgid ""
"coordinates are not using period."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3467
+#: flatcamGUI/PreferencesUI.py:3745
msgid "Format"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3469 flatcamGUI/PreferencesUI.py:3479
+#: flatcamGUI/PreferencesUI.py:3747 flatcamGUI/PreferencesUI.py:3757
msgid ""
"Select the kind of coordinates format used.\n"
"Coordinates can be saved with decimal point or without.\n"
@@ -8881,15 +9240,15 @@ msgid ""
"or TZ = trailing zeros are kept."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3476
+#: flatcamGUI/PreferencesUI.py:3754
msgid "Decimal"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3477
+#: flatcamGUI/PreferencesUI.py:3755
msgid "No-Decimal"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3493
+#: flatcamGUI/PreferencesUI.py:3771
msgid ""
"This sets the type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -8898,7 +9257,7 @@ msgid ""
"and Leading Zeros are removed."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3503
+#: flatcamGUI/PreferencesUI.py:3781
msgid ""
"This sets the default type of Excellon zeros.\n"
"If LZ then Leading Zeros are kept and\n"
@@ -8907,11 +9266,11 @@ msgid ""
"and Leading Zeros are removed."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3513
+#: flatcamGUI/PreferencesUI.py:3791
msgid "Slot type"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3516 flatcamGUI/PreferencesUI.py:3526
+#: flatcamGUI/PreferencesUI.py:3794 flatcamGUI/PreferencesUI.py:3804
msgid ""
"This sets how the slots will be exported.\n"
"If ROUTED then the slots will be routed\n"
@@ -8920,19 +9279,19 @@ msgid ""
"using the Drilled slot command (G85)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3523
+#: flatcamGUI/PreferencesUI.py:3801
msgid "Routed"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3524
+#: flatcamGUI/PreferencesUI.py:3802
msgid "Drilled(G85)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3557
+#: flatcamGUI/PreferencesUI.py:3835
msgid "A list of Excellon Editor parameters."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3567
+#: flatcamGUI/PreferencesUI.py:3845
msgid ""
"Set the number of selected Excellon geometry\n"
"items above which the utility geometry\n"
@@ -8941,19 +9300,20 @@ msgid ""
"large number of geometric elements."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3580 flatcamGUI/PreferencesUI.py:5100
-msgid "New Tool Dia"
+#: flatcamGUI/PreferencesUI.py:3858 flatcamGUI/PreferencesUI.py:5396
+#: flatcamGUI/PreferencesUI.py:5962
+msgid "New Dia"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3605
+#: flatcamGUI/PreferencesUI.py:3883
msgid "Linear Drill Array"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3651
+#: flatcamGUI/PreferencesUI.py:3929
msgid "Circular Drill Array"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3721
+#: flatcamGUI/PreferencesUI.py:3999
msgid ""
"Angle at which the slot is placed.\n"
"The precision is of max 2 decimals.\n"
@@ -8961,44 +9321,49 @@ msgid ""
"Max value is: 360.00 degrees."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3740
+#: flatcamGUI/PreferencesUI.py:4018
msgid "Linear Slot Array"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3801
+#: flatcamGUI/PreferencesUI.py:4079
msgid "Circular Slot Array"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3839
+#: flatcamGUI/PreferencesUI.py:4117
msgid "Geometry General"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3861
+#: flatcamGUI/PreferencesUI.py:4139
msgid ""
"The number of circle steps for Geometry \n"
"circle and arc shapes linear approximation."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3890
+#: flatcamGUI/PreferencesUI.py:4153 flatcamGUI/PreferencesUI.py:5320
+#: flatcamGUI/PreferencesUI.py:5887 flatcamGUI/PreferencesUI.py:6953
+msgid "Tools Dia"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4170
msgid "Geometry Object Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3941
+#: flatcamGUI/PreferencesUI.py:4221
msgid "Geometry Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3949
+#: flatcamGUI/PreferencesUI.py:4229
msgid ""
"Create a CNC Job object\n"
"tracing the contours of this\n"
"Geometry object."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3993
+#: flatcamGUI/PreferencesUI.py:4273
msgid "Depth/Pass"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:3995
+#: flatcamGUI/PreferencesUI.py:4275
msgid ""
"The depth to cut on each pass,\n"
"when multidepth is enabled.\n"
@@ -9007,60 +9372,56 @@ msgid ""
"which has negative value."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4173
+#: flatcamGUI/PreferencesUI.py:4466
msgid "Geometry Adv. Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4181
+#: flatcamGUI/PreferencesUI.py:4474
msgid ""
"A list of Geometry advanced parameters.\n"
"Those parameters are available only for\n"
"Advanced App. Level."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4191 flatcamGUI/PreferencesUI.py:6539
-#: flatcamGUI/PreferencesUI.py:7586 flatcamTools/ToolCalibration.py:125
-#: flatcamTools/ToolSolderPaste.py:239
+#: flatcamGUI/PreferencesUI.py:4484 flatcamGUI/PreferencesUI.py:7045
+#: flatcamGUI/PreferencesUI.py:8092 flatcamTools/ToolCalibration.py:125
+#: flatcamTools/ToolSolderPaste.py:241
msgid "Toolchange X-Y"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4202
+#: flatcamGUI/PreferencesUI.py:4495
msgid ""
"Height of the tool just after starting the work.\n"
"Delete the value if you don't need this feature."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4304
+#: flatcamGUI/PreferencesUI.py:4597
msgid "Segment X size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4306
+#: flatcamGUI/PreferencesUI.py:4599
msgid ""
"The size of the trace segment on the X axis.\n"
"Useful for auto-leveling.\n"
"A value of 0 means no segmentation on the X axis."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4320
+#: flatcamGUI/PreferencesUI.py:4613
msgid "Segment Y size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4322
+#: flatcamGUI/PreferencesUI.py:4615
msgid ""
"The size of the trace segment on the Y axis.\n"
"Useful for auto-leveling.\n"
"A value of 0 means no segmentation on the Y axis."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4343
-msgid "Geometry Editor"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:4349
+#: flatcamGUI/PreferencesUI.py:4642
msgid "A list of Geometry Editor parameters."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4359 flatcamGUI/PreferencesUI.py:7111
+#: flatcamGUI/PreferencesUI.py:4652 flatcamGUI/PreferencesUI.py:7617
msgid ""
"Set the number of selected geometry\n"
"items above which the utility geometry\n"
@@ -9069,55 +9430,55 @@ msgid ""
"large number of geometric elements."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4391
+#: flatcamGUI/PreferencesUI.py:4684
msgid "CNC Job General"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4444
+#: flatcamGUI/PreferencesUI.py:4737
msgid ""
"The number of circle steps for GCode \n"
"circle and arc shapes linear approximation."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4453
+#: flatcamGUI/PreferencesUI.py:4746
msgid "Travel dia"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4455
+#: flatcamGUI/PreferencesUI.py:4748
msgid ""
"The width of the travel lines to be\n"
"rendered in the plot."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4468
+#: flatcamGUI/PreferencesUI.py:4761
msgid "G-code Decimals"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4471 flatcamTools/ToolFiducials.py:74
+#: flatcamGUI/PreferencesUI.py:4764 flatcamTools/ToolFiducials.py:74
msgid "Coordinates"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4473
+#: flatcamGUI/PreferencesUI.py:4766
msgid ""
"The number of decimals to be used for \n"
"the X, Y, Z coordinates in CNC code (GCODE, etc.)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4484 flatcamTools/ToolProperties.py:492
+#: flatcamGUI/PreferencesUI.py:4777 flatcamTools/ToolProperties.py:519
msgid "Feedrate"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4486
+#: flatcamGUI/PreferencesUI.py:4779
msgid ""
"The number of decimals to be used for \n"
"the Feedrate parameter in CNC code (GCODE, etc.)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4497
+#: flatcamGUI/PreferencesUI.py:4790
msgid "Coordinates type"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4499
+#: flatcamGUI/PreferencesUI.py:4792
msgid ""
"The type of coordinates to be used in Gcode.\n"
"Can be:\n"
@@ -9125,72 +9486,72 @@ msgid ""
"- Incremental G91 -> the reference is the previous position"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4505
+#: flatcamGUI/PreferencesUI.py:4798
msgid "Absolute G90"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4506
+#: flatcamGUI/PreferencesUI.py:4799
msgid "Incremental G91"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4516
+#: flatcamGUI/PreferencesUI.py:4809
msgid "Force Windows style line-ending"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4518
+#: flatcamGUI/PreferencesUI.py:4811
msgid ""
"When checked will force a Windows style line-ending\n"
"(\\r\\n) on non-Windows OS's."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4530
+#: flatcamGUI/PreferencesUI.py:4823
msgid "Travel Line Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4536
+#: flatcamGUI/PreferencesUI.py:4829
msgid "Set the travel line color for plotted objects."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4596
+#: flatcamGUI/PreferencesUI.py:4889
msgid "CNCJob Object Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4602
+#: flatcamGUI/PreferencesUI.py:4895
msgid "Set the color for plotted objects."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4762
+#: flatcamGUI/PreferencesUI.py:5055
msgid "CNC Job Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4766
+#: flatcamGUI/PreferencesUI.py:5059
msgid "Export G-Code"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4782
+#: flatcamGUI/PreferencesUI.py:5075
msgid "Prepend to G-Code"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4791
+#: flatcamGUI/PreferencesUI.py:5084
msgid ""
"Type here any G-Code commands you would like to add at the beginning of the G-Code file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4798
+#: flatcamGUI/PreferencesUI.py:5091
msgid "Append to G-Code"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4808
+#: flatcamGUI/PreferencesUI.py:5101
msgid ""
"Type here any G-Code commands you would like to append to the generated file.\n"
"I.e.: M2 (End of program)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4824
+#: flatcamGUI/PreferencesUI.py:5117
msgid "CNC Job Adv. Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4861
+#: flatcamGUI/PreferencesUI.py:5154
msgid ""
"Type here any G-Code commands you would like to be executed when Toolchange event is "
"encountered.\n"
@@ -9200,82 +9561,81 @@ msgid ""
"it's name."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4916
+#: flatcamGUI/PreferencesUI.py:5209
msgid "Z depth for the cut"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4917
+#: flatcamGUI/PreferencesUI.py:5210
msgid "Z height for travel"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4923
+#: flatcamGUI/PreferencesUI.py:5216
msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4942
+#: flatcamGUI/PreferencesUI.py:5235
msgid "Annotation Size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4944
+#: flatcamGUI/PreferencesUI.py:5237
msgid "The font size of the annotation text. In pixels."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4954
+#: flatcamGUI/PreferencesUI.py:5247
msgid "Annotation Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:4956
+#: flatcamGUI/PreferencesUI.py:5249
msgid "Set the font color for the annotation texts."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5013
+#: flatcamGUI/PreferencesUI.py:5306
msgid "NCC Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5027 flatcamGUI/PreferencesUI.py:6449
-msgid "Tools dia"
+#: flatcamGUI/PreferencesUI.py:5328 flatcamGUI/PreferencesUI.py:5896
+msgid "Comma separated values"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5038 flatcamGUI/PreferencesUI.py:5046
-#: flatcamTools/ToolNonCopperClear.py:215 flatcamTools/ToolNonCopperClear.py:223
+#: flatcamGUI/PreferencesUI.py:5334 flatcamGUI/PreferencesUI.py:5342
+#: flatcamGUI/PreferencesUI.py:5903 flatcamTools/ToolNCC.py:215 flatcamTools/ToolNCC.py:223
+#: flatcamTools/ToolPaint.py:198 flatcamTools/ToolPaint.py:206
msgid ""
"Default tool type:\n"
"- 'V-shape'\n"
"- Circular"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5043 flatcamTools/ToolNonCopperClear.py:220
+#: flatcamGUI/PreferencesUI.py:5339 flatcamGUI/PreferencesUI.py:5908
+#: flatcamTools/ToolNCC.py:220 flatcamTools/ToolPaint.py:203
msgid "V-shape"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5083 flatcamGUI/PreferencesUI.py:5092
-#: flatcamTools/ToolNonCopperClear.py:256 flatcamTools/ToolNonCopperClear.py:264
+#: flatcamGUI/PreferencesUI.py:5379 flatcamGUI/PreferencesUI.py:5388
+#: flatcamGUI/PreferencesUI.py:5946 flatcamGUI/PreferencesUI.py:5955
+#: flatcamTools/ToolNCC.py:262 flatcamTools/ToolNCC.py:271 flatcamTools/ToolPaint.py:245
+#: flatcamTools/ToolPaint.py:254
msgid ""
"Depth of cut into material. Negative value.\n"
"In FlatCAM units."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5102
-msgid "The new tool diameter (cut width) to add in the tool table."
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5114 flatcamGUI/PreferencesUI.py:5122
-#: flatcamTools/ToolNonCopperClear.py:164 flatcamTools/ToolNonCopperClear.py:172
+#: flatcamGUI/PreferencesUI.py:5398 flatcamGUI/PreferencesUI.py:5964
+#: flatcamTools/ToolNCC.py:280 flatcamTools/ToolPaint.py:263
msgid ""
-"Milling type when the selected tool is of type: 'iso_op':\n"
-"- climb / best for precision milling and to reduce tool usage\n"
-"- conventional / useful when there is no backlash compensation"
+"Diameter for the new tool to add in the Tool Table.\n"
+"If the tool is V-shape type then this value is automatically\n"
+"calculated from the other parameters."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5131 flatcamGUI/PreferencesUI.py:5546
-#: flatcamTools/ToolNonCopperClear.py:181 flatcamTools/ToolPaint.py:153
+#: flatcamGUI/PreferencesUI.py:5435 flatcamGUI/PreferencesUI.py:5981
+#: flatcamTools/ToolNCC.py:174 flatcamTools/ToolPaint.py:158
msgid "Tool order"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5132 flatcamGUI/PreferencesUI.py:5142
-#: flatcamGUI/PreferencesUI.py:5547 flatcamGUI/PreferencesUI.py:5557
-#: flatcamTools/ToolNonCopperClear.py:182 flatcamTools/ToolNonCopperClear.py:192
-#: flatcamTools/ToolPaint.py:154 flatcamTools/ToolPaint.py:164
+#: flatcamGUI/PreferencesUI.py:5436 flatcamGUI/PreferencesUI.py:5446
+#: flatcamGUI/PreferencesUI.py:5982 flatcamTools/ToolNCC.py:175 flatcamTools/ToolNCC.py:185
+#: flatcamTools/ToolPaint.py:159 flatcamTools/ToolPaint.py:169
msgid ""
"This set the way that the tools in the tools table are used.\n"
"'No' --> means that the used order is the one in the tool table\n"
@@ -9286,57 +9646,35 @@ msgid ""
"in reverse and disable this control."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5140 flatcamGUI/PreferencesUI.py:5555
-#: flatcamTools/ToolNonCopperClear.py:190 flatcamTools/ToolPaint.py:162
+#: flatcamGUI/PreferencesUI.py:5444 flatcamGUI/PreferencesUI.py:5990
+#: flatcamTools/ToolNCC.py:183 flatcamTools/ToolPaint.py:167
msgid "Forward"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5141 flatcamGUI/PreferencesUI.py:5556
-#: flatcamTools/ToolNonCopperClear.py:191 flatcamTools/ToolPaint.py:163
+#: flatcamGUI/PreferencesUI.py:5445 flatcamGUI/PreferencesUI.py:5991
+#: flatcamTools/ToolNCC.py:184 flatcamTools/ToolPaint.py:168
msgid "Reverse"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5154 flatcamTools/ToolNonCopperClear.py:321
+#: flatcamGUI/PreferencesUI.py:5545
+msgid "Offset value"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:5547
msgid ""
-"How much (fraction) of the tool width to overlap each tool pass.\n"
-"Adjust the value starting with lower values\n"
-"and increasing it if areas that should be cleared are still \n"
-"not cleared.\n"
-"Lower values = faster processing, faster execution on CNC.\n"
-"Higher values = slow processing and slow execution on CNC\n"
-"due of too many paths."
+"If used, it will add an offset to the copper features.\n"
+"The copper clearing will finish to a distance\n"
+"from the copper features.\n"
+"The value can be between 0.0 and 9999.9 FlatCAM units."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5173 flatcamGUI/PreferencesUI.py:7177
-#: flatcamGUI/PreferencesUI.py:7419 flatcamGUI/PreferencesUI.py:7483
-#: flatcamTools/ToolCopperThieving.py:113 flatcamTools/ToolFiducials.py:174
-#: flatcamTools/ToolFiducials.py:237 flatcamTools/ToolNonCopperClear.py:339
-msgid "Bounding box margin."
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5186 flatcamGUI/PreferencesUI.py:5604
-#: flatcamTools/ToolNonCopperClear.py:350
-msgid ""
-"Algorithm for non-copper clearing:
Standard: Fixed step inwards.
Seed-"
-"based: Outwards from seed.
Line-based: Parallel lines."
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5202 flatcamGUI/PreferencesUI.py:5618
-#: flatcamTools/ToolNonCopperClear.py:364 flatcamTools/ToolPaint.py:267
-msgid "Connect"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5211 flatcamGUI/PreferencesUI.py:5626
-#: flatcamTools/ToolNonCopperClear.py:371 flatcamTools/ToolPaint.py:274
-msgid "Contour"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5220 flatcamTools/ToolNonCopperClear.py:379
-#: flatcamTools/ToolPaint.py:281
+#: flatcamGUI/PreferencesUI.py:5567 flatcamGUI/PreferencesUI.py:6083
+#: flatcamGUI/PreferencesUI.py:6084 flatcamTools/ToolNCC.py:512
+#: flatcamTools/ToolPaint.py:442
msgid "Rest Machining"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5222 flatcamTools/ToolNonCopperClear.py:381
+#: flatcamGUI/PreferencesUI.py:5569 flatcamTools/ToolNCC.py:516
msgid ""
"If checked, use 'rest machining'.\n"
"Basically it will clear copper outside PCB features,\n"
@@ -9347,114 +9685,106 @@ msgid ""
"If not checked, use the standard algorithm."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5236 flatcamTools/ToolNonCopperClear.py:395
-#: flatcamTools/ToolNonCopperClear.py:405
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7696 flatcamTools/ToolCopperThieving.py:127
+#: flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1309 flatcamTools/ToolNCC.py:1651
+#: flatcamTools/ToolNCC.py:1935 flatcamTools/ToolNCC.py:1990 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:939 flatcamTools/ToolPaint.py:1440
+msgid "Area Selection"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:5588 flatcamGUI/PreferencesUI.py:6119
+#: flatcamGUI/PreferencesUI.py:7697 flatcamTools/ToolCopperThieving.py:128
+#: flatcamTools/ToolDblSided.py:217 flatcamTools/ToolNCC.py:535 flatcamTools/ToolNCC.py:1667
+#: flatcamTools/ToolNCC.py:1941 flatcamTools/ToolNCC.py:1998 flatcamTools/ToolNCC.py:2306
+#: flatcamTools/ToolNCC.py:2586 flatcamTools/ToolNCC.py:3012 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:924 flatcamTools/ToolPaint.py:1456
+#: tclCommands/TclCommandCopperClear.py:192 tclCommands/TclCommandPaint.py:166
+msgid "Reference Object"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:5592 flatcamTools/ToolNCC.py:541
msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0 and 10 FlatCAM units."
+"Selection of area to be processed.\n"
+"- 'Itself' - the processing extent is based on the object that is processed.\n"
+" - 'Area Selection' - left mouse click to start selection of the area to be processed.\n"
+"- 'Reference Object' - will process the area specified by another object."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5245 flatcamTools/ToolNonCopperClear.py:403
-msgid "Offset value"
+#: flatcamGUI/PreferencesUI.py:5601 flatcamGUI/PreferencesUI.py:6125
+#: flatcamTools/ToolNCC.py:578 flatcamTools/ToolPaint.py:522
+msgid "Shape"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5247
-msgid ""
-"If used, it will add an offset to the copper features.\n"
-"The copper clearing will finish to a distance\n"
-"from the copper features.\n"
-"The value can be between 0.0 and 9999.9 FlatCAM units."
+#: flatcamGUI/PreferencesUI.py:5603 flatcamGUI/PreferencesUI.py:6127
+#: flatcamTools/ToolNCC.py:580 flatcamTools/ToolPaint.py:524
+msgid "The kind of selection shape used for area selection."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5262 flatcamGUI/PreferencesUI.py:7189
-#: flatcamTools/ToolCopperThieving.py:125 flatcamTools/ToolNonCopperClear.py:429
-msgid "Itself"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5263 flatcamGUI/PreferencesUI.py:5646
-msgid "Area"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5264 flatcamGUI/PreferencesUI.py:5648
-msgid "Ref"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5267
-msgid ""
-"- 'Itself' - the non copper clearing extent\n"
-"is based on the object that is copper cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be painted.\n"
-"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5279 flatcamGUI/PreferencesUI.py:5654
+#: flatcamGUI/PreferencesUI.py:5618 flatcamGUI/PreferencesUI.py:6142
msgid "Normal"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5280 flatcamGUI/PreferencesUI.py:5655
+#: flatcamGUI/PreferencesUI.py:5619 flatcamGUI/PreferencesUI.py:6143
msgid "Progressive"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5281
+#: flatcamGUI/PreferencesUI.py:5620
msgid "NCC Plotting"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5283
+#: flatcamGUI/PreferencesUI.py:5622
msgid ""
"- 'Normal' - normal plotting, done at the end of the NCC job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5297
+#: flatcamGUI/PreferencesUI.py:5636
msgid "Cutout Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5312 flatcamTools/ToolCalculators.py:123
-#: flatcamTools/ToolCutOut.py:123
+#: flatcamGUI/PreferencesUI.py:5651 flatcamTools/ToolCalculators.py:123
+#: flatcamTools/ToolCutOut.py:130
msgid "Tool Diameter"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5314 flatcamTools/ToolCutOut.py:125
+#: flatcamGUI/PreferencesUI.py:5653 flatcamTools/ToolCutOut.py:132
msgid ""
"Diameter of the tool used to cutout\n"
"the PCB shape out of the surrounding material."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5369 flatcamTools/ToolCutOut.py:104
+#: flatcamGUI/PreferencesUI.py:5708
msgid "Object kind"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5371 flatcamTools/ToolCutOut.py:106
+#: flatcamGUI/PreferencesUI.py:5710 flatcamTools/ToolCutOut.py:78
msgid ""
"Choice of what kind the object we want to cutout is.
- Single: contain a single "
"PCB Gerber outline object.
- Panel: a panel PCB Gerber object, which is made\n"
"out of many individual PCB outlines."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5378 flatcamTools/ToolCutOut.py:112
+#: flatcamGUI/PreferencesUI.py:5717 flatcamTools/ToolCutOut.py:84
msgid "Single"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5379 flatcamTools/ToolCutOut.py:113
+#: flatcamGUI/PreferencesUI.py:5718 flatcamTools/ToolCutOut.py:85
msgid "Panel"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5386 flatcamTools/ToolCutOut.py:186
+#: flatcamGUI/PreferencesUI.py:5725 flatcamTools/ToolCutOut.py:193
msgid ""
"Margin over bounds. A positive value here\n"
"will make the cutout of the PCB further from\n"
"the actual PCB border"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5399 flatcamTools/ToolCutOut.py:197
+#: flatcamGUI/PreferencesUI.py:5738 flatcamTools/ToolCutOut.py:204
msgid "Gap size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5401 flatcamTools/ToolCutOut.py:199
+#: flatcamGUI/PreferencesUI.py:5740 flatcamTools/ToolCutOut.py:206
msgid ""
"The size of the bridge gaps in the cutout\n"
"used to keep the board connected to\n"
@@ -9462,11 +9792,11 @@ msgid ""
"from which the PCB is cutout)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5415 flatcamTools/ToolCutOut.py:241
+#: flatcamGUI/PreferencesUI.py:5754 flatcamTools/ToolCutOut.py:250
msgid "Gaps"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5417
+#: flatcamGUI/PreferencesUI.py:5756
msgid ""
"Number of gaps used for the cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -9480,112 +9810,129 @@ msgid ""
"- 8 - 2*left + 2*right +2*top + 2*bottom"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5439 flatcamTools/ToolCutOut.py:216
+#: flatcamGUI/PreferencesUI.py:5778 flatcamTools/ToolCutOut.py:223
msgid "Convex Shape"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5441 flatcamTools/ToolCutOut.py:219
+#: flatcamGUI/PreferencesUI.py:5780 flatcamTools/ToolCutOut.py:226
msgid ""
"Create a convex shape surrounding the entire PCB.\n"
"Used only if the source object type is Gerber."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5454
+#: flatcamGUI/PreferencesUI.py:5793
msgid "2Sided Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5460
+#: flatcamGUI/PreferencesUI.py:5799
msgid ""
"A tool to help in creating a double sided\n"
"PCB using alignment holes."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5474
+#: flatcamGUI/PreferencesUI.py:5813
msgid "Drill dia"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5476 flatcamTools/ToolDblSided.py:274
-#: flatcamTools/ToolDblSided.py:285
+#: flatcamGUI/PreferencesUI.py:5815 flatcamTools/ToolDblSided.py:364
+#: flatcamTools/ToolDblSided.py:369
msgid "Diameter of the drill for the alignment holes."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5485 flatcamTools/ToolDblSided.py:146
-msgid "Mirror Axis:"
+#: flatcamGUI/PreferencesUI.py:5822 flatcamTools/ToolDblSided.py:378
+msgid "Align Axis"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5487 flatcamTools/ToolDblSided.py:147
+#: flatcamGUI/PreferencesUI.py:5824 flatcamGUI/PreferencesUI.py:5837
+#: flatcamTools/ToolDblSided.py:166 flatcamTools/ToolDblSided.py:380
msgid "Mirror vertically (X) or horizontally (Y)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5496 flatcamTools/ToolDblSided.py:156
+#: flatcamGUI/PreferencesUI.py:5835
+msgid "Mirror Axis:"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:5846 flatcamTools/ToolDblSided.py:182
msgid "Point"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5497 flatcamTools/ToolDblSided.py:157
+#: flatcamGUI/PreferencesUI.py:5847 flatcamTools/ToolDblSided.py:183
msgid "Box"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5498 flatcamTools/ToolDblSided.py:158
+#: flatcamGUI/PreferencesUI.py:5848
msgid "Axis Ref"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5500 flatcamTools/ToolDblSided.py:160
+#: flatcamGUI/PreferencesUI.py:5850
msgid ""
"The axis should pass through a point or cut\n"
" a specified box (in a FlatCAM object) through \n"
"the center."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5516
+#: flatcamGUI/PreferencesUI.py:5866
msgid "Paint Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5522
+#: flatcamGUI/PreferencesUI.py:5872
msgid "Parameters:"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5636 flatcamTools/ToolPaint.py:296
-#: flatcamTools/ToolPaint.py:313
+#: flatcamGUI/PreferencesUI.py:6086 flatcamTools/ToolPaint.py:445
msgid ""
-"How to select Polygons to be painted.\n"
-"- 'Polygon Selection' - left mouse click to add/remove polygons to be painted.\n"
-"- 'Area Selection' - left mouse click to start selection of the area to be painted.\n"
+"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"
+"\n"
+"If not checked, use the standard algorithm."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:6099 flatcamTools/ToolPaint.py:458
+msgid ""
+"Selection of area to be processed.\n"
+"- 'Polygon Selection' - left mouse click to add/remove polygons to be processed.\n"
+"- 'Area Selection' - left mouse click to start selection of the area to be processed.\n"
"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n"
-"- 'All Polygons' - the Paint will start after click.\n"
-"- 'Reference Object' - will do non copper clearing within the area\n"
-"specified by another object."
+"- 'All Polygons' - the process will start after click.\n"
+"- 'Reference Object' - will process the area specified by another object."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5645
-msgid "Sel"
+#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolPaint.py:486
+#: flatcamTools/ToolPaint.py:935 flatcamTools/ToolPaint.py:1420
+#: tclCommands/TclCommandPaint.py:164
+msgid "Polygon Selection"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5656
+#: flatcamGUI/PreferencesUI.py:6144
msgid "Paint Plotting"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5658
+#: flatcamGUI/PreferencesUI.py:6146
msgid ""
"- 'Normal' - normal plotting, done at the end of the Paint job\n"
"- 'Progressive' - after each shape is generated it will be plotted."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5672
+#: flatcamGUI/PreferencesUI.py:6160
msgid "Film Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5678
+#: flatcamGUI/PreferencesUI.py:6166
msgid ""
"Create a PCB film from a Gerber or Geometry\n"
"FlatCAM object.\n"
"The file is saved in SVG format."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5689
+#: flatcamGUI/PreferencesUI.py:6177
msgid "Film Type"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5691 flatcamTools/ToolFilm.py:300
+#: flatcamGUI/PreferencesUI.py:6179 flatcamTools/ToolFilm.py:300
msgid ""
"Generate a Positive black film or a Negative film.\n"
"Positive means that it will print the features\n"
@@ -9595,19 +9942,19 @@ msgid ""
"The Film format is SVG."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5702
+#: flatcamGUI/PreferencesUI.py:6190
msgid "Film Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5704
+#: flatcamGUI/PreferencesUI.py:6192
msgid "Set the film color when positive film is selected."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5727 flatcamTools/ToolFilm.py:316
+#: flatcamGUI/PreferencesUI.py:6215 flatcamTools/ToolFilm.py:316
msgid "Border"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5729 flatcamTools/ToolFilm.py:318
+#: flatcamGUI/PreferencesUI.py:6217 flatcamTools/ToolFilm.py:318
msgid ""
"Specify a border around the object.\n"
"Only for negative film.\n"
@@ -9619,124 +9966,120 @@ msgid ""
"surroundings if not for this border."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5746 flatcamTools/ToolFilm.py:283
+#: flatcamGUI/PreferencesUI.py:6234 flatcamTools/ToolFilm.py:283
msgid "Scale Stroke"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5748 flatcamTools/ToolFilm.py:285
+#: flatcamGUI/PreferencesUI.py:6236 flatcamTools/ToolFilm.py:285
msgid ""
"Scale the line stroke thickness of each feature in the SVG file.\n"
"It means that the line that envelope each SVG feature will be thicker or thinner,\n"
"therefore the fine features may be more affected by this parameter."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5755 flatcamTools/ToolFilm.py:141
+#: flatcamGUI/PreferencesUI.py:6243 flatcamTools/ToolFilm.py:141
msgid "Film Adjustments"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5757 flatcamTools/ToolFilm.py:143
+#: flatcamGUI/PreferencesUI.py:6245 flatcamTools/ToolFilm.py:143
msgid ""
"Sometime the printers will distort the print shape, especially the Laser types.\n"
"This section provide the tools to compensate for the print distortions."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5764 flatcamTools/ToolFilm.py:150
+#: flatcamGUI/PreferencesUI.py:6252 flatcamTools/ToolFilm.py:150
msgid "Scale Film geometry"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5766 flatcamTools/ToolFilm.py:152
+#: flatcamGUI/PreferencesUI.py:6254 flatcamTools/ToolFilm.py:152
msgid ""
"A value greater than 1 will stretch the film\n"
"while a value less than 1 will jolt it."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5776 flatcamGUI/PreferencesUI.py:6296
-#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:148
+#: flatcamGUI/PreferencesUI.py:6264 flatcamGUI/PreferencesUI.py:6783
+#: flatcamTools/ToolFilm.py:162 flatcamTools/ToolTransform.py:149
msgid "X factor"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5785 flatcamGUI/PreferencesUI.py:6309
+#: flatcamGUI/PreferencesUI.py:6273 flatcamGUI/PreferencesUI.py:6796
#: flatcamTools/ToolFilm.py:171 flatcamTools/ToolTransform.py:169
msgid "Y factor"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5795 flatcamTools/ToolFilm.py:189
+#: flatcamGUI/PreferencesUI.py:6283 flatcamTools/ToolFilm.py:189
msgid "Skew Film geometry"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5797 flatcamTools/ToolFilm.py:191
+#: flatcamGUI/PreferencesUI.py:6285 flatcamTools/ToolFilm.py:191
msgid ""
"Positive values will skew to the right\n"
"while negative values will skew to the left."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5807 flatcamGUI/PreferencesUI.py:6265
+#: flatcamGUI/PreferencesUI.py:6295 flatcamGUI/PreferencesUI.py:6752
#: flatcamTools/ToolFilm.py:201 flatcamTools/ToolTransform.py:98
msgid "X angle"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5816 flatcamGUI/PreferencesUI.py:6279
-#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:120
+#: flatcamGUI/PreferencesUI.py:6304 flatcamGUI/PreferencesUI.py:6766
+#: flatcamTools/ToolFilm.py:210 flatcamTools/ToolTransform.py:119
msgid "Y angle"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5827 flatcamTools/ToolFilm.py:221
+#: flatcamGUI/PreferencesUI.py:6315 flatcamTools/ToolFilm.py:221
msgid ""
"The reference point to be used as origin for the skew.\n"
"It can be one of the four points of the geometry bounding box."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5830 flatcamTools/ToolFiducials.py:87
+#: flatcamGUI/PreferencesUI.py:6318 flatcamTools/ToolFiducials.py:87
#: flatcamTools/ToolFilm.py:224
msgid "Bottom Left"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5831 flatcamTools/ToolFilm.py:225
+#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolFilm.py:225
msgid "Top Left"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5832 flatcamTools/ToolFilm.py:226
+#: flatcamGUI/PreferencesUI.py:6320 flatcamTools/ToolFilm.py:226
msgid "Bottom Right"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5833 flatcamTools/ToolFilm.py:227
+#: flatcamGUI/PreferencesUI.py:6321 flatcamTools/ToolFilm.py:227
msgid "Top right"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5841 flatcamTools/ToolFilm.py:244
+#: flatcamGUI/PreferencesUI.py:6329 flatcamTools/ToolFilm.py:244
msgid "Mirror Film geometry"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5843 flatcamTools/ToolFilm.py:246
+#: flatcamGUI/PreferencesUI.py:6331 flatcamTools/ToolFilm.py:246
msgid "Mirror the film geometry on the selected axis or on both."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5855 flatcamTools/ToolFilm.py:258
-msgid "Both"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:5857 flatcamTools/ToolFilm.py:260
+#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolFilm.py:260
msgid "Mirror axis"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5867 flatcamTools/ToolFilm.py:403
+#: flatcamGUI/PreferencesUI.py:6355 flatcamTools/ToolFilm.py:405
msgid "SVG"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5868 flatcamTools/ToolFilm.py:404
+#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolFilm.py:406
msgid "PNG"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5869 flatcamTools/ToolFilm.py:405
+#: flatcamGUI/PreferencesUI.py:6357 flatcamTools/ToolFilm.py:407
msgid "PDF"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5872 flatcamTools/ToolFilm.py:298
-#: flatcamTools/ToolFilm.py:408
+#: flatcamGUI/PreferencesUI.py:6360 flatcamTools/ToolFilm.py:298
+#: flatcamTools/ToolFilm.py:410
msgid "Film Type:"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5874 flatcamTools/ToolFilm.py:410
+#: flatcamGUI/PreferencesUI.py:6362 flatcamTools/ToolFilm.py:412
msgid ""
"The file type of the saved film. Can be:\n"
"- 'SVG' -> open-source vectorial format\n"
@@ -9744,90 +10087,85 @@ msgid ""
"- 'PDF' -> portable document format"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5883 flatcamTools/ToolFilm.py:419
+#: flatcamGUI/PreferencesUI.py:6371 flatcamTools/ToolFilm.py:421
msgid "Page Orientation"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5896 flatcamTools/ToolFilm.py:432
+#: flatcamGUI/PreferencesUI.py:6384 flatcamTools/ToolFilm.py:434
msgid "Page Size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5897 flatcamTools/ToolFilm.py:433
+#: flatcamGUI/PreferencesUI.py:6385 flatcamTools/ToolFilm.py:435
msgid "A selection of standard ISO 216 page sizes."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5969
+#: flatcamGUI/PreferencesUI.py:6457
msgid "Panelize Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5975
+#: flatcamGUI/PreferencesUI.py:6463
msgid ""
"Create an object that contains an array of (x, y) elements,\n"
"each element is a copy of the source object spaced\n"
"at a X distance, Y distance of each other."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5992 flatcamTools/ToolPanelize.py:160
+#: flatcamGUI/PreferencesUI.py:6480 flatcamTools/ToolPanelize.py:163
msgid "Spacing cols"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:5994 flatcamTools/ToolPanelize.py:162
+#: flatcamGUI/PreferencesUI.py:6482 flatcamTools/ToolPanelize.py:165
msgid ""
"Spacing between columns of the desired panel.\n"
"In current units."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6006 flatcamTools/ToolPanelize.py:172
+#: flatcamGUI/PreferencesUI.py:6494 flatcamTools/ToolPanelize.py:175
msgid "Spacing rows"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6008 flatcamTools/ToolPanelize.py:174
+#: flatcamGUI/PreferencesUI.py:6496 flatcamTools/ToolPanelize.py:177
msgid ""
"Spacing between rows of the desired panel.\n"
"In current units."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6019 flatcamTools/ToolPanelize.py:183
+#: flatcamGUI/PreferencesUI.py:6507 flatcamTools/ToolPanelize.py:186
msgid "Columns"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6021 flatcamTools/ToolPanelize.py:185
+#: flatcamGUI/PreferencesUI.py:6509 flatcamTools/ToolPanelize.py:188
msgid "Number of columns of the desired panel"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6031 flatcamTools/ToolPanelize.py:193
+#: flatcamGUI/PreferencesUI.py:6519 flatcamTools/ToolPanelize.py:196
msgid "Rows"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6033 flatcamTools/ToolPanelize.py:195
+#: flatcamGUI/PreferencesUI.py:6521 flatcamTools/ToolPanelize.py:198
msgid "Number of rows of the desired panel"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6039 flatcamTools/ToolCalibration.py:196
-#: flatcamTools/ToolCalibration.py:634 flatcamTools/ToolPanelize.py:201
-msgid "Gerber"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:6040 flatcamTools/ToolPanelize.py:202
+#: flatcamGUI/PreferencesUI.py:6528 flatcamTools/ToolPanelize.py:205
msgid "Geo"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6041 flatcamTools/ToolPanelize.py:203
+#: flatcamGUI/PreferencesUI.py:6529 flatcamTools/ToolPanelize.py:206
msgid "Panel Type"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6043
+#: flatcamGUI/PreferencesUI.py:6531
msgid ""
"Choose the type of object for the panel object:\n"
"- Gerber\n"
"- Geometry"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6052
+#: flatcamGUI/PreferencesUI.py:6540
msgid "Constrain within"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6054 flatcamTools/ToolPanelize.py:215
+#: flatcamGUI/PreferencesUI.py:6542 flatcamTools/ToolPanelize.py:218
msgid ""
"Area define by DX and DY within to constrain the panel.\n"
"DX and DY values are in current units.\n"
@@ -9836,142 +10174,142 @@ msgid ""
"they fit completely within selected area."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6067 flatcamTools/ToolPanelize.py:227
+#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolPanelize.py:230
msgid "Width (DX)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6069 flatcamTools/ToolPanelize.py:229
+#: flatcamGUI/PreferencesUI.py:6557 flatcamTools/ToolPanelize.py:232
msgid ""
"The width (DX) within which the panel must fit.\n"
"In current units."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6080 flatcamTools/ToolPanelize.py:238
+#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolPanelize.py:241
msgid "Height (DY)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6082 flatcamTools/ToolPanelize.py:240
+#: flatcamGUI/PreferencesUI.py:6570 flatcamTools/ToolPanelize.py:243
msgid ""
"The height (DY)within which the panel must fit.\n"
"In current units."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6096
+#: flatcamGUI/PreferencesUI.py:6584
msgid "Calculators Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6100 flatcamTools/ToolCalculators.py:25
+#: flatcamGUI/PreferencesUI.py:6588 flatcamTools/ToolCalculators.py:25
msgid "V-Shape Tool Calculator"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6102
+#: flatcamGUI/PreferencesUI.py:6590
msgid ""
"Calculate the tool diameter for a given V-shape tool,\n"
"having the tip diameter, tip angle and\n"
"depth-of-cut as parameters."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6117 flatcamTools/ToolCalculators.py:94
+#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolCalculators.py:94
msgid "Tip Diameter"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6119 flatcamTools/ToolCalculators.py:102
+#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolCalculators.py:102
msgid ""
"This is the tool tip diameter.\n"
"It is specified by manufacturer."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6131 flatcamTools/ToolCalculators.py:105
+#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolCalculators.py:105
msgid "Tip Angle"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6133
+#: flatcamGUI/PreferencesUI.py:6623
msgid ""
"This is the angle on the tip of the tool.\n"
"It is specified by manufacturer."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6147
+#: flatcamGUI/PreferencesUI.py:6637
msgid ""
"This is depth to cut into material.\n"
"In the CNCJob object it is the CutZ parameter."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6154 flatcamTools/ToolCalculators.py:27
+#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolCalculators.py:27
msgid "ElectroPlating Calculator"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6156 flatcamTools/ToolCalculators.py:158
+#: flatcamGUI/PreferencesUI.py:6646 flatcamTools/ToolCalculators.py:158
msgid ""
"This calculator is useful for those who plate the via/pad/drill holes,\n"
"using a method like grahite ink or calcium hypophosphite ink or palladium chloride."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6170 flatcamTools/ToolCalculators.py:167
+#: flatcamGUI/PreferencesUI.py:6657 flatcamTools/ToolCalculators.py:167
msgid "Board Length"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6172 flatcamTools/ToolCalculators.py:173
+#: flatcamGUI/PreferencesUI.py:6659 flatcamTools/ToolCalculators.py:173
msgid "This is the board length. In centimeters."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6182 flatcamTools/ToolCalculators.py:175
+#: flatcamGUI/PreferencesUI.py:6669 flatcamTools/ToolCalculators.py:175
msgid "Board Width"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6184 flatcamTools/ToolCalculators.py:181
+#: flatcamGUI/PreferencesUI.py:6671 flatcamTools/ToolCalculators.py:181
msgid "This is the board width.In centimeters."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6189 flatcamTools/ToolCalculators.py:183
+#: flatcamGUI/PreferencesUI.py:6676 flatcamTools/ToolCalculators.py:183
msgid "Current Density"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6195 flatcamTools/ToolCalculators.py:190
+#: flatcamGUI/PreferencesUI.py:6682 flatcamTools/ToolCalculators.py:190
msgid ""
"Current density to pass through the board. \n"
"In Amps per Square Feet ASF."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6201 flatcamTools/ToolCalculators.py:193
+#: flatcamGUI/PreferencesUI.py:6688 flatcamTools/ToolCalculators.py:193
msgid "Copper Growth"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6207 flatcamTools/ToolCalculators.py:200
+#: flatcamGUI/PreferencesUI.py:6694 flatcamTools/ToolCalculators.py:200
msgid ""
"How thick the copper growth is intended to be.\n"
"In microns."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6220
+#: flatcamGUI/PreferencesUI.py:6707
msgid "Transform Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6226
+#: flatcamGUI/PreferencesUI.py:6713
msgid ""
"Various transformations that can be applied\n"
"on a FlatCAM object."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6257
+#: flatcamGUI/PreferencesUI.py:6744
msgid "Skew"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6298 flatcamTools/ToolTransform.py:150
+#: flatcamGUI/PreferencesUI.py:6785 flatcamTools/ToolTransform.py:151
msgid "Factor for scaling on X axis."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6311 flatcamTools/ToolTransform.py:171
+#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolTransform.py:171
msgid "Factor for scaling on Y axis."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6319 flatcamTools/ToolTransform.py:194
+#: flatcamGUI/PreferencesUI.py:6806 flatcamTools/ToolTransform.py:192
msgid ""
"Scale the selected object(s)\n"
"using the Scale_X factor for both axis."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6327 flatcamTools/ToolTransform.py:202
+#: flatcamGUI/PreferencesUI.py:6814 flatcamTools/ToolTransform.py:199
msgid ""
"Scale the selected object(s)\n"
"using the origin reference when checked,\n"
@@ -9979,32 +10317,32 @@ msgid ""
"of the selected objects when unchecked."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6343 flatcamTools/ToolTransform.py:217
+#: flatcamGUI/PreferencesUI.py:6830 flatcamTools/ToolTransform.py:218
msgid "X val"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6345 flatcamTools/ToolTransform.py:219
+#: flatcamGUI/PreferencesUI.py:6832 flatcamTools/ToolTransform.py:220
msgid "Distance to offset on X axis. In current units."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6356 flatcamTools/ToolTransform.py:238
+#: flatcamGUI/PreferencesUI.py:6843 flatcamTools/ToolTransform.py:238
msgid "Y val"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6358 flatcamTools/ToolTransform.py:240
+#: flatcamGUI/PreferencesUI.py:6845 flatcamTools/ToolTransform.py:240
msgid "Distance to offset on Y axis. In current units."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6364 flatcamTools/ToolDblSided.py:62
-#: flatcamTools/ToolDblSided.py:90 flatcamTools/ToolDblSided.py:120
+#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolDblSided.py:68
+#: flatcamTools/ToolDblSided.py:96 flatcamTools/ToolDblSided.py:126
msgid "Mirror"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6368 flatcamTools/ToolTransform.py:285
+#: flatcamGUI/PreferencesUI.py:6855 flatcamTools/ToolTransform.py:284
msgid "Mirror Reference"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6370 flatcamTools/ToolTransform.py:287
+#: flatcamGUI/PreferencesUI.py:6857 flatcamTools/ToolTransform.py:286
msgid ""
"Flip the selected object(s)\n"
"around the point in Point Entry Field.\n"
@@ -10017,23 +10355,23 @@ msgid ""
"Point Entry field and click Flip on X(Y)"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6381
+#: flatcamGUI/PreferencesUI.py:6868
msgid "Mirror Reference point"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6383
+#: flatcamGUI/PreferencesUI.py:6870
msgid ""
"Coordinates in format (x, y) used as reference for mirroring.\n"
"The 'x' in (x, y) will be used when using Flip on X and\n"
"the 'y' in (x, y) will be used when using Flip on Y and"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6396 flatcamTools/ToolDistance.py:355
-#: flatcamTools/ToolDistanceMin.py:284 flatcamTools/ToolTransform.py:332
+#: flatcamGUI/PreferencesUI.py:6883 flatcamTools/ToolDistance.py:496
+#: flatcamTools/ToolDistanceMin.py:287 flatcamTools/ToolTransform.py:333
msgid "Distance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6398 flatcamTools/ToolTransform.py:334
+#: flatcamGUI/PreferencesUI.py:6885 flatcamTools/ToolTransform.py:335
msgid ""
"A positive value will create the effect of dilation,\n"
"while a negative value will create the effect of erosion.\n"
@@ -10041,12 +10379,21 @@ msgid ""
"or decreased with the 'distance'."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6414 flatcamGUI/PreferencesUI.py:7057
-#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:361
+#: flatcamGUI/PreferencesUI.py:6902 flatcamTools/ToolTransform.py:360
+msgid ""
+"A positive value will create the effect of dilation,\n"
+"while a negative value will create the effect of erosion.\n"
+"Each geometry element of the object will be increased\n"
+"or decreased to fit the 'Value'. Value is a percentage\n"
+"of the initial dimension."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:6919 flatcamGUI/PreferencesUI.py:7563
+#: flatcamTools/ToolQRCode.py:197 flatcamTools/ToolTransform.py:384
msgid "Rounded"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6416 flatcamTools/ToolTransform.py:363
+#: flatcamGUI/PreferencesUI.py:6921 flatcamTools/ToolTransform.py:386
msgid ""
"If checked then the buffer will surround the buffered shape,\n"
"every corner will be rounded.\n"
@@ -10054,356 +10401,352 @@ msgid ""
"of the buffered shape."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6434
+#: flatcamGUI/PreferencesUI.py:6938
msgid "SolderPaste Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6440
+#: flatcamGUI/PreferencesUI.py:6944
msgid ""
"A tool to create GCode for dispensing\n"
"solder paste onto a PCB."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6451
-msgid "Diameters of nozzle tools, separated by ','"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:6459
+#: flatcamGUI/PreferencesUI.py:6965
msgid "New Nozzle Dia"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6461 flatcamTools/ToolSolderPaste.py:106
+#: flatcamGUI/PreferencesUI.py:6967 flatcamTools/ToolSolderPaste.py:108
msgid "Diameter for the new Nozzle tool to add in the Tool Table"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6477 flatcamTools/ToolSolderPaste.py:182
+#: flatcamGUI/PreferencesUI.py:6983 flatcamTools/ToolSolderPaste.py:184
msgid "Z Dispense Start"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6479 flatcamTools/ToolSolderPaste.py:184
+#: flatcamGUI/PreferencesUI.py:6985 flatcamTools/ToolSolderPaste.py:186
msgid "The height (Z) when solder paste dispensing starts."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6490 flatcamTools/ToolSolderPaste.py:194
+#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolSolderPaste.py:196
msgid "Z Dispense"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6492 flatcamTools/ToolSolderPaste.py:196
+#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolSolderPaste.py:198
msgid "The height (Z) when doing solder paste dispensing."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6503 flatcamTools/ToolSolderPaste.py:206
+#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolSolderPaste.py:208
msgid "Z Dispense Stop"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6505 flatcamTools/ToolSolderPaste.py:208
+#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolSolderPaste.py:210
msgid "The height (Z) when solder paste dispensing stops."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6516 flatcamTools/ToolSolderPaste.py:218
+#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolSolderPaste.py:220
msgid "Z Travel"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6518 flatcamTools/ToolSolderPaste.py:220
+#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolSolderPaste.py:222
msgid ""
"The height (Z) for travel between pads\n"
"(without dispensing solder paste)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6530 flatcamTools/ToolSolderPaste.py:231
+#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolSolderPaste.py:233
msgid "Z Toolchange"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6532 flatcamTools/ToolSolderPaste.py:233
+#: flatcamGUI/PreferencesUI.py:7038 flatcamTools/ToolSolderPaste.py:235
msgid "The height (Z) for tool (nozzle) change."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6541 flatcamTools/ToolSolderPaste.py:241
+#: flatcamGUI/PreferencesUI.py:7047 flatcamTools/ToolSolderPaste.py:243
msgid ""
"The X,Y location for tool (nozzle) change.\n"
"The format is (x, y) where x and y are real numbers."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6555 flatcamTools/ToolSolderPaste.py:254
+#: flatcamGUI/PreferencesUI.py:7061 flatcamTools/ToolSolderPaste.py:256
msgid "Feedrate (speed) while moving on the X-Y plane."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6568 flatcamTools/ToolSolderPaste.py:266
+#: flatcamGUI/PreferencesUI.py:7074 flatcamTools/ToolSolderPaste.py:268
msgid ""
"Feedrate (speed) while moving vertically\n"
"(on Z plane)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6580 flatcamTools/ToolSolderPaste.py:277
+#: flatcamGUI/PreferencesUI.py:7086 flatcamTools/ToolSolderPaste.py:279
msgid "Feedrate Z Dispense"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6582
+#: flatcamGUI/PreferencesUI.py:7088
msgid ""
"Feedrate (speed) while moving up vertically\n"
"to Dispense position (on Z plane)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6593 flatcamTools/ToolSolderPaste.py:289
+#: flatcamGUI/PreferencesUI.py:7099 flatcamTools/ToolSolderPaste.py:291
msgid "Spindle Speed FWD"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6595 flatcamTools/ToolSolderPaste.py:291
+#: flatcamGUI/PreferencesUI.py:7101 flatcamTools/ToolSolderPaste.py:293
msgid ""
"The dispenser speed while pushing solder paste\n"
"through the dispenser nozzle."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6607 flatcamTools/ToolSolderPaste.py:302
+#: flatcamGUI/PreferencesUI.py:7113 flatcamTools/ToolSolderPaste.py:304
msgid "Dwell FWD"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6609 flatcamTools/ToolSolderPaste.py:304
+#: flatcamGUI/PreferencesUI.py:7115 flatcamTools/ToolSolderPaste.py:306
msgid "Pause after solder dispensing."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6619 flatcamTools/ToolSolderPaste.py:313
+#: flatcamGUI/PreferencesUI.py:7125 flatcamTools/ToolSolderPaste.py:315
msgid "Spindle Speed REV"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6621 flatcamTools/ToolSolderPaste.py:315
+#: flatcamGUI/PreferencesUI.py:7127 flatcamTools/ToolSolderPaste.py:317
msgid ""
"The dispenser speed while retracting solder paste\n"
"through the dispenser nozzle."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6633 flatcamTools/ToolSolderPaste.py:326
+#: flatcamGUI/PreferencesUI.py:7139 flatcamTools/ToolSolderPaste.py:328
msgid "Dwell REV"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6635 flatcamTools/ToolSolderPaste.py:328
+#: flatcamGUI/PreferencesUI.py:7141 flatcamTools/ToolSolderPaste.py:330
msgid ""
"Pause after solder paste dispenser retracted,\n"
"to allow pressure equilibrium."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6644 flatcamTools/ToolSolderPaste.py:336
+#: flatcamGUI/PreferencesUI.py:7150 flatcamTools/ToolSolderPaste.py:338
msgid "Files that control the GCode generation."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6659
+#: flatcamGUI/PreferencesUI.py:7165
msgid "Substractor Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6665
+#: flatcamGUI/PreferencesUI.py:7171
msgid ""
"A tool to substract one Gerber or Geometry object\n"
"from another of the same type."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6670 flatcamTools/ToolSub.py:149
+#: flatcamGUI/PreferencesUI.py:7176 flatcamTools/ToolSub.py:155
msgid "Close paths"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6671
+#: flatcamGUI/PreferencesUI.py:7177
msgid "Checking this will close the paths cut by the Geometry substractor object."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6682
+#: flatcamGUI/PreferencesUI.py:7188
msgid "Check Rules Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6687
+#: flatcamGUI/PreferencesUI.py:7193
msgid ""
"A tool to check if Gerber files are within a set\n"
"of Manufacturing Rules."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6697 flatcamTools/ToolRulesCheck.py:256
-#: flatcamTools/ToolRulesCheck.py:920
+#: flatcamGUI/PreferencesUI.py:7203 flatcamTools/ToolRulesCheck.py:265
+#: flatcamTools/ToolRulesCheck.py:929
msgid "Trace Size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6699 flatcamTools/ToolRulesCheck.py:258
+#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolRulesCheck.py:267
msgid "This checks if the minimum size for traces is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6709 flatcamGUI/PreferencesUI.py:6729
-#: flatcamGUI/PreferencesUI.py:6749 flatcamGUI/PreferencesUI.py:6769
-#: flatcamGUI/PreferencesUI.py:6789 flatcamGUI/PreferencesUI.py:6809
-#: flatcamGUI/PreferencesUI.py:6829 flatcamGUI/PreferencesUI.py:6849
-#: flatcamGUI/PreferencesUI.py:6871 flatcamGUI/PreferencesUI.py:6891
-#: flatcamTools/ToolRulesCheck.py:268 flatcamTools/ToolRulesCheck.py:290
-#: flatcamTools/ToolRulesCheck.py:313 flatcamTools/ToolRulesCheck.py:336
-#: flatcamTools/ToolRulesCheck.py:359 flatcamTools/ToolRulesCheck.py:382
-#: flatcamTools/ToolRulesCheck.py:405 flatcamTools/ToolRulesCheck.py:428
-#: flatcamTools/ToolRulesCheck.py:453 flatcamTools/ToolRulesCheck.py:476
+#: flatcamGUI/PreferencesUI.py:7215 flatcamGUI/PreferencesUI.py:7235
+#: flatcamGUI/PreferencesUI.py:7255 flatcamGUI/PreferencesUI.py:7275
+#: flatcamGUI/PreferencesUI.py:7295 flatcamGUI/PreferencesUI.py:7315
+#: flatcamGUI/PreferencesUI.py:7335 flatcamGUI/PreferencesUI.py:7355
+#: flatcamGUI/PreferencesUI.py:7377 flatcamGUI/PreferencesUI.py:7397
+#: flatcamTools/ToolRulesCheck.py:277 flatcamTools/ToolRulesCheck.py:299
+#: flatcamTools/ToolRulesCheck.py:322 flatcamTools/ToolRulesCheck.py:345
+#: flatcamTools/ToolRulesCheck.py:368 flatcamTools/ToolRulesCheck.py:391
+#: flatcamTools/ToolRulesCheck.py:414 flatcamTools/ToolRulesCheck.py:437
+#: flatcamTools/ToolRulesCheck.py:462 flatcamTools/ToolRulesCheck.py:485
msgid "Min value"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6711 flatcamTools/ToolRulesCheck.py:270
+#: flatcamGUI/PreferencesUI.py:7217 flatcamTools/ToolRulesCheck.py:279
msgid "Minimum acceptable trace size."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6716 flatcamTools/ToolRulesCheck.py:277
-#: flatcamTools/ToolRulesCheck.py:1148 flatcamTools/ToolRulesCheck.py:1178
+#: flatcamGUI/PreferencesUI.py:7222 flatcamTools/ToolRulesCheck.py:286
+#: flatcamTools/ToolRulesCheck.py:1157 flatcamTools/ToolRulesCheck.py:1187
msgid "Copper to Copper clearance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6718 flatcamTools/ToolRulesCheck.py:279
+#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolRulesCheck.py:288
msgid ""
"This checks if the minimum clearance between copper\n"
"features is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6731 flatcamGUI/PreferencesUI.py:6751
-#: flatcamGUI/PreferencesUI.py:6771 flatcamGUI/PreferencesUI.py:6791
-#: flatcamGUI/PreferencesUI.py:6811 flatcamGUI/PreferencesUI.py:6831
-#: flatcamGUI/PreferencesUI.py:6893 flatcamTools/ToolRulesCheck.py:292
-#: flatcamTools/ToolRulesCheck.py:315 flatcamTools/ToolRulesCheck.py:338
-#: flatcamTools/ToolRulesCheck.py:361 flatcamTools/ToolRulesCheck.py:384
-#: flatcamTools/ToolRulesCheck.py:407 flatcamTools/ToolRulesCheck.py:455
+#: flatcamGUI/PreferencesUI.py:7237 flatcamGUI/PreferencesUI.py:7257
+#: flatcamGUI/PreferencesUI.py:7277 flatcamGUI/PreferencesUI.py:7297
+#: flatcamGUI/PreferencesUI.py:7317 flatcamGUI/PreferencesUI.py:7337
+#: flatcamGUI/PreferencesUI.py:7399 flatcamTools/ToolRulesCheck.py:301
+#: flatcamTools/ToolRulesCheck.py:324 flatcamTools/ToolRulesCheck.py:347
+#: flatcamTools/ToolRulesCheck.py:370 flatcamTools/ToolRulesCheck.py:393
+#: flatcamTools/ToolRulesCheck.py:416 flatcamTools/ToolRulesCheck.py:464
msgid "Minimum acceptable clearance value."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6736 flatcamTools/ToolRulesCheck.py:300
-#: flatcamTools/ToolRulesCheck.py:1208 flatcamTools/ToolRulesCheck.py:1214
-#: flatcamTools/ToolRulesCheck.py:1227 flatcamTools/ToolRulesCheck.py:1234
+#: flatcamGUI/PreferencesUI.py:7242 flatcamTools/ToolRulesCheck.py:309
+#: flatcamTools/ToolRulesCheck.py:1217 flatcamTools/ToolRulesCheck.py:1223
+#: flatcamTools/ToolRulesCheck.py:1236 flatcamTools/ToolRulesCheck.py:1243
msgid "Copper to Outline clearance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6738 flatcamTools/ToolRulesCheck.py:302
+#: flatcamGUI/PreferencesUI.py:7244 flatcamTools/ToolRulesCheck.py:311
msgid ""
"This checks if the minimum clearance between copper\n"
"features and the outline is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6756 flatcamTools/ToolRulesCheck.py:323
+#: flatcamGUI/PreferencesUI.py:7262 flatcamTools/ToolRulesCheck.py:332
msgid "Silk to Silk Clearance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6758 flatcamTools/ToolRulesCheck.py:325
+#: flatcamGUI/PreferencesUI.py:7264 flatcamTools/ToolRulesCheck.py:334
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and silkscreen features is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6776 flatcamTools/ToolRulesCheck.py:346
-#: flatcamTools/ToolRulesCheck.py:1317 flatcamTools/ToolRulesCheck.py:1323
-#: flatcamTools/ToolRulesCheck.py:1341
+#: flatcamGUI/PreferencesUI.py:7282 flatcamTools/ToolRulesCheck.py:355
+#: flatcamTools/ToolRulesCheck.py:1326 flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1350
msgid "Silk to Solder Mask Clearance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6778 flatcamTools/ToolRulesCheck.py:348
+#: flatcamGUI/PreferencesUI.py:7284 flatcamTools/ToolRulesCheck.py:357
msgid ""
"This checks if the minimum clearance between silkscreen\n"
"features and soldermask features is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6796 flatcamTools/ToolRulesCheck.py:369
-#: flatcamTools/ToolRulesCheck.py:1371 flatcamTools/ToolRulesCheck.py:1377
-#: flatcamTools/ToolRulesCheck.py:1391 flatcamTools/ToolRulesCheck.py:1398
+#: flatcamGUI/PreferencesUI.py:7302 flatcamTools/ToolRulesCheck.py:378
+#: flatcamTools/ToolRulesCheck.py:1380 flatcamTools/ToolRulesCheck.py:1386
+#: flatcamTools/ToolRulesCheck.py:1400 flatcamTools/ToolRulesCheck.py:1407
msgid "Silk to Outline Clearance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6798 flatcamTools/ToolRulesCheck.py:371
+#: flatcamGUI/PreferencesUI.py:7304 flatcamTools/ToolRulesCheck.py:380
msgid ""
"This checks if the minimum clearance between silk\n"
"features and the outline is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6816 flatcamTools/ToolRulesCheck.py:392
-#: flatcamTools/ToolRulesCheck.py:1409 flatcamTools/ToolRulesCheck.py:1436
+#: flatcamGUI/PreferencesUI.py:7322 flatcamTools/ToolRulesCheck.py:401
+#: flatcamTools/ToolRulesCheck.py:1418 flatcamTools/ToolRulesCheck.py:1445
msgid "Minimum Solder Mask Sliver"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6818 flatcamTools/ToolRulesCheck.py:394
+#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolRulesCheck.py:403
msgid ""
"This checks if the minimum clearance between soldermask\n"
"features and soldermask features is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6836 flatcamTools/ToolRulesCheck.py:415
-#: flatcamTools/ToolRulesCheck.py:1474 flatcamTools/ToolRulesCheck.py:1480
-#: flatcamTools/ToolRulesCheck.py:1496 flatcamTools/ToolRulesCheck.py:1503
+#: flatcamGUI/PreferencesUI.py:7342 flatcamTools/ToolRulesCheck.py:424
+#: flatcamTools/ToolRulesCheck.py:1483 flatcamTools/ToolRulesCheck.py:1489
+#: flatcamTools/ToolRulesCheck.py:1505 flatcamTools/ToolRulesCheck.py:1512
msgid "Minimum Annular Ring"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6838 flatcamTools/ToolRulesCheck.py:417
+#: flatcamGUI/PreferencesUI.py:7344 flatcamTools/ToolRulesCheck.py:426
msgid ""
"This checks if the minimum copper ring left by drilling\n"
"a hole into a pad is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6851 flatcamTools/ToolRulesCheck.py:430
+#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolRulesCheck.py:439
msgid "Minimum acceptable ring value."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6858 flatcamTools/ToolRulesCheck.py:440
-#: flatcamTools/ToolRulesCheck.py:864
+#: flatcamGUI/PreferencesUI.py:7364 flatcamTools/ToolRulesCheck.py:449
+#: flatcamTools/ToolRulesCheck.py:873
msgid "Hole to Hole Clearance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6860 flatcamTools/ToolRulesCheck.py:442
+#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolRulesCheck.py:451
msgid ""
"This checks if the minimum clearance between a drill hole\n"
"and another drill hole is met."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6873 flatcamTools/ToolRulesCheck.py:478
+#: flatcamGUI/PreferencesUI.py:7379 flatcamTools/ToolRulesCheck.py:487
msgid "Minimum acceptable drill size."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6878 flatcamTools/ToolRulesCheck.py:463
-#: flatcamTools/ToolRulesCheck.py:838
+#: flatcamGUI/PreferencesUI.py:7384 flatcamTools/ToolRulesCheck.py:472
+#: flatcamTools/ToolRulesCheck.py:847
msgid "Hole Size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6880 flatcamTools/ToolRulesCheck.py:465
+#: flatcamGUI/PreferencesUI.py:7386 flatcamTools/ToolRulesCheck.py:474
msgid ""
"This checks if the drill holes\n"
"sizes are above the threshold."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6905
+#: flatcamGUI/PreferencesUI.py:7411
msgid "Optimal Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6911
+#: flatcamGUI/PreferencesUI.py:7417
msgid ""
"A tool to find the minimum distance between\n"
"every two Gerber geometric elements"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6926 flatcamTools/ToolOptimal.py:78
+#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolOptimal.py:79
msgid "Precision"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6928
+#: flatcamGUI/PreferencesUI.py:7434
msgid "Number of decimals for the distances and coordinates in this tool."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6942
+#: flatcamGUI/PreferencesUI.py:7448
msgid "QRCode Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6948
+#: flatcamGUI/PreferencesUI.py:7454
msgid ""
"A tool to create a QRCode that can be inserted\n"
"into a selected Gerber file, or it can be exported as a file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6960 flatcamTools/ToolQRCode.py:99
+#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolQRCode.py:100
msgid "Version"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6962 flatcamTools/ToolQRCode.py:101
+#: flatcamGUI/PreferencesUI.py:7468 flatcamTools/ToolQRCode.py:102
msgid ""
"QRCode version can have values from 1 (21x21 boxes)\n"
"to 40 (177x177 boxes)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6973 flatcamTools/ToolQRCode.py:112
+#: flatcamGUI/PreferencesUI.py:7479 flatcamTools/ToolQRCode.py:113
msgid "Error correction"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6975 flatcamGUI/PreferencesUI.py:6986
-#: flatcamTools/ToolQRCode.py:114 flatcamTools/ToolQRCode.py:125
+#: flatcamGUI/PreferencesUI.py:7481 flatcamGUI/PreferencesUI.py:7492
+#: flatcamTools/ToolQRCode.py:115 flatcamTools/ToolQRCode.py:126
#, python-format
msgid ""
"Parameter that controls the error correction used for the QR Code.\n"
@@ -10413,60 +10756,60 @@ msgid ""
"H = maximum 30%% errors can be corrected."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6996 flatcamTools/ToolQRCode.py:135
+#: flatcamGUI/PreferencesUI.py:7502 flatcamTools/ToolQRCode.py:136
msgid "Box Size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:6998 flatcamTools/ToolQRCode.py:137
+#: flatcamGUI/PreferencesUI.py:7504 flatcamTools/ToolQRCode.py:138
msgid ""
"Box size control the overall size of the QRcode\n"
"by adjusting the size of each box in the code."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7009 flatcamTools/ToolQRCode.py:148
+#: flatcamGUI/PreferencesUI.py:7515 flatcamTools/ToolQRCode.py:149
msgid "Border Size"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7011 flatcamTools/ToolQRCode.py:150
+#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolQRCode.py:151
msgid ""
"Size of the QRCode border. How many boxes thick is the border.\n"
"Default value is 4. The width of the clearance around the QRCode."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7022 flatcamTools/ToolQRCode.py:162
+#: flatcamGUI/PreferencesUI.py:7528 flatcamTools/ToolQRCode.py:162
msgid "QRCode Data"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7024 flatcamTools/ToolQRCode.py:164
+#: flatcamGUI/PreferencesUI.py:7530 flatcamTools/ToolQRCode.py:164
msgid "QRCode Data. Alphanumeric text to be encoded in the QRCode."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7028 flatcamTools/ToolQRCode.py:168
+#: flatcamGUI/PreferencesUI.py:7534 flatcamTools/ToolQRCode.py:168
msgid "Add here the text to be included in the QRCode..."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7034 flatcamTools/ToolQRCode.py:174
+#: flatcamGUI/PreferencesUI.py:7540 flatcamTools/ToolQRCode.py:174
msgid "Polarity"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7036 flatcamTools/ToolQRCode.py:176
+#: flatcamGUI/PreferencesUI.py:7542 flatcamTools/ToolQRCode.py:176
msgid ""
"Choose the polarity of the QRCode.\n"
"It can be drawn in a negative way (squares are clear)\n"
"or in a positive way (squares are opaque)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7040 flatcamTools/ToolFilm.py:296
+#: flatcamGUI/PreferencesUI.py:7546 flatcamTools/ToolFilm.py:296
#: flatcamTools/ToolQRCode.py:180
msgid "Negative"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7041 flatcamTools/ToolFilm.py:295
+#: flatcamGUI/PreferencesUI.py:7547 flatcamTools/ToolFilm.py:295
#: flatcamTools/ToolQRCode.py:181
msgid "Positive"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7043 flatcamTools/ToolQRCode.py:183
+#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolQRCode.py:183
msgid ""
"Choose the type of QRCode to be created.\n"
"If added on a Silkscreen Gerber file the QRCode may\n"
@@ -10474,71 +10817,60 @@ msgid ""
"file then perhaps the QRCode can be added as negative."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7054 flatcamGUI/PreferencesUI.py:7060
+#: flatcamGUI/PreferencesUI.py:7560 flatcamGUI/PreferencesUI.py:7566
#: flatcamTools/ToolQRCode.py:194 flatcamTools/ToolQRCode.py:200
msgid ""
"The bounding box, meaning the empty space that surrounds\n"
"the QRCode geometry, can have a rounded or a square shape."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7067 flatcamTools/ToolQRCode.py:228
+#: flatcamGUI/PreferencesUI.py:7573 flatcamTools/ToolQRCode.py:228
msgid "Fill Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7069 flatcamTools/ToolQRCode.py:230
+#: flatcamGUI/PreferencesUI.py:7575 flatcamTools/ToolQRCode.py:230
msgid "Set the QRCode fill color (squares color)."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7088 flatcamTools/ToolQRCode.py:252
+#: flatcamGUI/PreferencesUI.py:7594 flatcamTools/ToolQRCode.py:252
msgid "Back Color"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7090 flatcamTools/ToolQRCode.py:254
+#: flatcamGUI/PreferencesUI.py:7596 flatcamTools/ToolQRCode.py:254
msgid "Set the QRCode background color."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7130
+#: flatcamGUI/PreferencesUI.py:7636
msgid "Copper Thieving Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7142
+#: flatcamGUI/PreferencesUI.py:7648
msgid ""
"A tool to generate a Copper Thieving that can be added\n"
"to a selected Gerber file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7150
+#: flatcamGUI/PreferencesUI.py:7656
msgid "Number of steps (lines) used to interpolate circles."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7160 flatcamGUI/PreferencesUI.py:7364
-#: flatcamTools/ToolCopperThieving.py:96 flatcamTools/ToolCopperThieving.py:429
+#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7870
+#: flatcamTools/ToolCopperThieving.py:97 flatcamTools/ToolCopperThieving.py:432
msgid "Clearance"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7162
+#: flatcamGUI/PreferencesUI.py:7668
msgid ""
"This set the distance between the copper Thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
"and the copper traces in the Gerber file."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7190 flatcamTools/ToolCopperThieving.py:126
-#: flatcamTools/ToolNonCopperClear.py:430 flatcamTools/ToolPaint.py:308
-msgid "Area Selection"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:7191 flatcamTools/ToolCopperThieving.py:127
-#: flatcamTools/ToolNonCopperClear.py:431 flatcamTools/ToolPaint.py:310
-msgid "Reference Object"
-msgstr ""
-
-#: flatcamGUI/PreferencesUI.py:7193 flatcamTools/ToolCopperThieving.py:129
-#: flatcamTools/ToolNonCopperClear.py:433
+#: flatcamGUI/PreferencesUI.py:7699 flatcamTools/ToolCopperThieving.py:130
msgid "Reference:"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7195
+#: flatcamGUI/PreferencesUI.py:7701
msgid ""
"- 'Itself' - the copper Thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be filled.\n"
@@ -10546,42 +10878,46 @@ msgid ""
"object."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7204 flatcamTools/ToolCopperThieving.py:170
+#: flatcamGUI/PreferencesUI.py:7710 flatcamGUI/PreferencesUI.py:8175
+#: flatcamGUI/PreferencesUI.py:8287 flatcamGUI/PreferencesUI.py:8387
+#: flatcamGUI/PreferencesUI.py:8501 flatcamTools/ToolCopperThieving.py:172
+#: flatcamTools/ToolExtractDrills.py:102 flatcamTools/ToolExtractDrills.py:240
+#: flatcamTools/ToolPunchGerber.py:113 flatcamTools/ToolPunchGerber.py:268
msgid "Rectangular"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7205 flatcamTools/ToolCopperThieving.py:171
+#: flatcamGUI/PreferencesUI.py:7711 flatcamTools/ToolCopperThieving.py:173
msgid "Minimal"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7207 flatcamTools/ToolCopperThieving.py:173
+#: flatcamGUI/PreferencesUI.py:7713 flatcamTools/ToolCopperThieving.py:175
#: flatcamTools/ToolFilm.py:113
msgid "Box Type:"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7209 flatcamTools/ToolCopperThieving.py:175
+#: flatcamGUI/PreferencesUI.py:7715 flatcamTools/ToolCopperThieving.py:177
msgid ""
"- 'Rectangular' - the bounding box will be of rectangular shape.\n"
"- 'Minimal' - the bounding box will be the convex hull shape."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7223 flatcamTools/ToolCopperThieving.py:191
+#: flatcamGUI/PreferencesUI.py:7729 flatcamTools/ToolCopperThieving.py:193
msgid "Dots Grid"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7224 flatcamTools/ToolCopperThieving.py:192
+#: flatcamGUI/PreferencesUI.py:7730 flatcamTools/ToolCopperThieving.py:194
msgid "Squares Grid"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7225 flatcamTools/ToolCopperThieving.py:193
+#: flatcamGUI/PreferencesUI.py:7731 flatcamTools/ToolCopperThieving.py:195
msgid "Lines Grid"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7227 flatcamTools/ToolCopperThieving.py:195
+#: flatcamGUI/PreferencesUI.py:7733 flatcamTools/ToolCopperThieving.py:197
msgid "Fill Type:"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7229 flatcamTools/ToolCopperThieving.py:197
+#: flatcamGUI/PreferencesUI.py:7735 flatcamTools/ToolCopperThieving.py:199
msgid ""
"- 'Solid' - copper thieving will be a solid polygon.\n"
"- 'Dots Grid' - the empty area will be filled with a pattern of dots.\n"
@@ -10589,131 +10925,132 @@ msgid ""
"- 'Lines Grid' - the empty area will be filled with a pattern of lines."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7237 flatcamTools/ToolCopperThieving.py:216
+#: flatcamGUI/PreferencesUI.py:7743 flatcamTools/ToolCopperThieving.py:218
msgid "Dots Grid Parameters"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7243 flatcamTools/ToolCopperThieving.py:222
+#: flatcamGUI/PreferencesUI.py:7749 flatcamTools/ToolCopperThieving.py:224
msgid "Dot diameter in Dots Grid."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7254 flatcamGUI/PreferencesUI.py:7283
-#: flatcamGUI/PreferencesUI.py:7312 flatcamTools/ToolCopperThieving.py:233
-#: flatcamTools/ToolCopperThieving.py:273 flatcamTools/ToolCopperThieving.py:313
+#: flatcamGUI/PreferencesUI.py:7760 flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:7818 flatcamTools/ToolCopperThieving.py:235
+#: flatcamTools/ToolCopperThieving.py:275 flatcamTools/ToolCopperThieving.py:315
msgid "Spacing"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7256 flatcamTools/ToolCopperThieving.py:235
+#: flatcamGUI/PreferencesUI.py:7762 flatcamTools/ToolCopperThieving.py:237
msgid "Distance between each two dots in Dots Grid."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7266 flatcamTools/ToolCopperThieving.py:256
+#: flatcamGUI/PreferencesUI.py:7772 flatcamTools/ToolCopperThieving.py:258
msgid "Squares Grid Parameters"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7272 flatcamTools/ToolCopperThieving.py:262
+#: flatcamGUI/PreferencesUI.py:7778 flatcamTools/ToolCopperThieving.py:264
msgid "Square side size in Squares Grid."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7285 flatcamTools/ToolCopperThieving.py:275
+#: flatcamGUI/PreferencesUI.py:7791 flatcamTools/ToolCopperThieving.py:277
msgid "Distance between each two squares in Squares Grid."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7295 flatcamTools/ToolCopperThieving.py:296
+#: flatcamGUI/PreferencesUI.py:7801 flatcamTools/ToolCopperThieving.py:298
msgid "Lines Grid Parameters"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7301 flatcamTools/ToolCopperThieving.py:302
+#: flatcamGUI/PreferencesUI.py:7807 flatcamTools/ToolCopperThieving.py:304
msgid "Line thickness size in Lines Grid."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7314 flatcamTools/ToolCopperThieving.py:315
+#: flatcamGUI/PreferencesUI.py:7820 flatcamTools/ToolCopperThieving.py:317
msgid "Distance between each two lines in Lines Grid."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7324 flatcamTools/ToolCopperThieving.py:353
+#: flatcamGUI/PreferencesUI.py:7830 flatcamTools/ToolCopperThieving.py:355
msgid "Robber Bar Parameters"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7326 flatcamTools/ToolCopperThieving.py:355
+#: flatcamGUI/PreferencesUI.py:7832 flatcamTools/ToolCopperThieving.py:357
msgid ""
"Parameters used for the robber bar.\n"
"Robber bar = copper border to help in pattern hole plating."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7334 flatcamTools/ToolCopperThieving.py:363
+#: flatcamGUI/PreferencesUI.py:7840 flatcamTools/ToolCopperThieving.py:365
msgid "Bounding box margin for robber bar."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7345 flatcamTools/ToolCopperThieving.py:374
+#: flatcamGUI/PreferencesUI.py:7851 flatcamTools/ToolCopperThieving.py:376
msgid "Thickness"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7347 flatcamTools/ToolCopperThieving.py:376
+#: flatcamGUI/PreferencesUI.py:7853 flatcamTools/ToolCopperThieving.py:378
msgid "The robber bar thickness."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7357 flatcamTools/ToolCopperThieving.py:407
+#: flatcamGUI/PreferencesUI.py:7863 flatcamTools/ToolCopperThieving.py:409
msgid "Pattern Plating Mask"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7359 flatcamTools/ToolCopperThieving.py:409
+#: flatcamGUI/PreferencesUI.py:7865 flatcamTools/ToolCopperThieving.py:411
msgid "Generate a mask for pattern plating."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7366 flatcamTools/ToolCopperThieving.py:431
+#: flatcamGUI/PreferencesUI.py:7872 flatcamTools/ToolCopperThieving.py:434
msgid ""
"The distance between the possible copper thieving elements\n"
"and/or robber bar and the actual openings in the mask."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7385
+#: flatcamGUI/PreferencesUI.py:7891
msgid "Fiducials Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7396 flatcamGUI/PreferencesUI.py:7512
-#: flatcamTools/ToolCopperThieving.py:91 flatcamTools/ToolFiducials.py:151
+#: flatcamGUI/PreferencesUI.py:7902 flatcamGUI/PreferencesUI.py:8018
+#: flatcamGUI/PreferencesUI.py:8137 flatcamGUI/PreferencesUI.py:8349
+#: flatcamTools/ToolCopperThieving.py:92 flatcamTools/ToolFiducials.py:151
msgid "Parameters used for this tool."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7403 flatcamTools/ToolFiducials.py:158
+#: flatcamGUI/PreferencesUI.py:7909 flatcamTools/ToolFiducials.py:158
msgid ""
"This set the fiducial diameter if fiducial type is circular,\n"
"otherwise is the size of the fiducial.\n"
"The soldermask opening is double than that."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7431 flatcamTools/ToolFiducials.py:186
+#: flatcamGUI/PreferencesUI.py:7937 flatcamTools/ToolFiducials.py:186
msgid "Auto"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7432 flatcamTools/ToolFiducials.py:187
+#: flatcamGUI/PreferencesUI.py:7938 flatcamTools/ToolFiducials.py:187
msgid "Manual"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7434 flatcamTools/ToolFiducials.py:189
+#: flatcamGUI/PreferencesUI.py:7940 flatcamTools/ToolFiducials.py:189
msgid "Mode:"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7436
+#: flatcamGUI/PreferencesUI.py:7942
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding box.\n"
"- 'Manual' - manual placement of fiducials."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7444 flatcamTools/ToolFiducials.py:199
+#: flatcamGUI/PreferencesUI.py:7950 flatcamTools/ToolFiducials.py:199
msgid "Up"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7445 flatcamTools/ToolFiducials.py:200
+#: flatcamGUI/PreferencesUI.py:7951 flatcamTools/ToolFiducials.py:200
msgid "Down"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7448 flatcamTools/ToolFiducials.py:203
+#: flatcamGUI/PreferencesUI.py:7954 flatcamTools/ToolFiducials.py:203
msgid "Second fiducial"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7450 flatcamTools/ToolFiducials.py:205
+#: flatcamGUI/PreferencesUI.py:7956 flatcamTools/ToolFiducials.py:205
msgid ""
"The position for the second fiducial.\n"
"- 'Up' - the order is: bottom-left, top-left, top-right.\n"
@@ -10721,19 +11058,19 @@ msgid ""
"- 'None' - there is no second fiducial. The order is: bottom-left, top-right."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7466 flatcamTools/ToolFiducials.py:221
+#: flatcamGUI/PreferencesUI.py:7972 flatcamTools/ToolFiducials.py:221
msgid "Cross"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7467 flatcamTools/ToolFiducials.py:222
+#: flatcamGUI/PreferencesUI.py:7973 flatcamTools/ToolFiducials.py:222
msgid "Chess"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7470 flatcamTools/ToolFiducials.py:224
+#: flatcamGUI/PreferencesUI.py:7976 flatcamTools/ToolFiducials.py:224
msgid "Fiducial Type"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7472 flatcamTools/ToolFiducials.py:226
+#: flatcamGUI/PreferencesUI.py:7978 flatcamTools/ToolFiducials.py:226
msgid ""
"The type of fiducial.\n"
"- 'Circular' - this is the regular fiducial.\n"
@@ -10741,19 +11078,19 @@ msgid ""
"- 'Chess' - chess pattern fiducial."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7481 flatcamTools/ToolFiducials.py:235
+#: flatcamGUI/PreferencesUI.py:7987 flatcamTools/ToolFiducials.py:235
msgid "Line thickness"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7501
+#: flatcamGUI/PreferencesUI.py:8007
msgid "Calibration Tool Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7517 flatcamTools/ToolCalibration.py:181
+#: flatcamGUI/PreferencesUI.py:8023 flatcamTools/ToolCalibration.py:181
msgid "Source Type"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7518 flatcamTools/ToolCalibration.py:182
+#: flatcamGUI/PreferencesUI.py:8024 flatcamTools/ToolCalibration.py:182
msgid ""
"The source of calibration points.\n"
"It can be:\n"
@@ -10761,135 +11098,309 @@ msgid ""
"- Free -> click freely on canvas to acquire the calibration points"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7523 flatcamTools/ToolCalibration.py:187
+#: flatcamGUI/PreferencesUI.py:8029 flatcamTools/ToolCalibration.py:187
msgid "Free"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7537 flatcamTools/ToolCalibration.py:76
+#: flatcamGUI/PreferencesUI.py:8043 flatcamTools/ToolCalibration.py:76
msgid "Height (Z) for travelling between the points."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7549 flatcamTools/ToolCalibration.py:88
+#: flatcamGUI/PreferencesUI.py:8055 flatcamTools/ToolCalibration.py:88
msgid "Verification Z"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7551 flatcamTools/ToolCalibration.py:90
+#: flatcamGUI/PreferencesUI.py:8057 flatcamTools/ToolCalibration.py:90
msgid "Height (Z) for checking the point."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7563 flatcamTools/ToolCalibration.py:102
+#: flatcamGUI/PreferencesUI.py:8069 flatcamTools/ToolCalibration.py:102
msgid "Zero Z tool"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7565 flatcamTools/ToolCalibration.py:104
+#: flatcamGUI/PreferencesUI.py:8071 flatcamTools/ToolCalibration.py:104
msgid ""
"Include a sequence to zero the height (Z)\n"
"of the verification tool."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7574 flatcamTools/ToolCalibration.py:113
+#: flatcamGUI/PreferencesUI.py:8080 flatcamTools/ToolCalibration.py:113
msgid "Height (Z) for mounting the verification probe."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7588 flatcamTools/ToolCalibration.py:127
+#: flatcamGUI/PreferencesUI.py:8094 flatcamTools/ToolCalibration.py:127
msgid ""
"Toolchange X,Y position.\n"
"If no value is entered then the current\n"
"(x, y) point will be used,"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7599 flatcamTools/ToolCalibration.py:153
+#: flatcamGUI/PreferencesUI.py:8105 flatcamTools/ToolCalibration.py:153
msgid "Second point"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7601 flatcamTools/ToolCalibration.py:155
+#: flatcamGUI/PreferencesUI.py:8107 flatcamTools/ToolCalibration.py:155
msgid ""
"Second point in the Gcode verification can be:\n"
"- top-left -> the user will align the PCB vertically\n"
"- bottom-right -> the user will align the PCB horizontally"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7605 flatcamTools/ToolCalibration.py:159
-msgid "Top-Left"
+#: flatcamGUI/PreferencesUI.py:8126
+msgid "Extract Drills Options"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7606 flatcamTools/ToolCalibration.py:160
-msgid "Bottom-Right"
+#: flatcamGUI/PreferencesUI.py:8141 flatcamGUI/PreferencesUI.py:8353
+#: flatcamTools/ToolExtractDrills.py:68 flatcamTools/ToolPunchGerber.py:75
+msgid "Processed Pads Type"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7620
+#: flatcamGUI/PreferencesUI.py:8143 flatcamGUI/PreferencesUI.py:8355
+#: flatcamTools/ToolExtractDrills.py:70 flatcamTools/ToolPunchGerber.py:77
+msgid ""
+"The type of pads shape to be processed.\n"
+"If the PCB has many SMD pads with rectangular pads,\n"
+"disable the Rectangular aperture."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8153 flatcamGUI/PreferencesUI.py:8365
+#: flatcamTools/ToolExtractDrills.py:80 flatcamTools/ToolPunchGerber.py:91
+msgid "Process Circular Pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8159 flatcamGUI/PreferencesUI.py:8261
+#: flatcamGUI/PreferencesUI.py:8371 flatcamGUI/PreferencesUI.py:8475
+#: flatcamTools/ToolExtractDrills.py:86 flatcamTools/ToolExtractDrills.py:214
+#: flatcamTools/ToolPunchGerber.py:97 flatcamTools/ToolPunchGerber.py:242
+msgid "Oblong"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8161 flatcamGUI/PreferencesUI.py:8373
+#: flatcamTools/ToolExtractDrills.py:88 flatcamTools/ToolPunchGerber.py:99
+msgid "Process Oblong Pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8169 flatcamGUI/PreferencesUI.py:8381
+#: flatcamTools/ToolExtractDrills.py:96 flatcamTools/ToolPunchGerber.py:107
+msgid "Process Square Pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8177 flatcamGUI/PreferencesUI.py:8389
+#: flatcamTools/ToolExtractDrills.py:104 flatcamTools/ToolPunchGerber.py:115
+msgid "Process Rectangular Pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8183 flatcamGUI/PreferencesUI.py:8300
+#: flatcamGUI/PreferencesUI.py:8395 flatcamGUI/PreferencesUI.py:8514
+#: flatcamTools/ToolExtractDrills.py:110 flatcamTools/ToolExtractDrills.py:253
+#: flatcamTools/ToolProperties.py:172 flatcamTools/ToolPunchGerber.py:121
+#: flatcamTools/ToolPunchGerber.py:281
+msgid "Others"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8185 flatcamGUI/PreferencesUI.py:8397
+#: flatcamTools/ToolExtractDrills.py:112 flatcamTools/ToolPunchGerber.py:123
+msgid "Process pads not in the categories above."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8198 flatcamGUI/PreferencesUI.py:8222
+#: flatcamGUI/PreferencesUI.py:8411 flatcamGUI/PreferencesUI.py:8436
+#: flatcamTools/ToolExtractDrills.py:139 flatcamTools/ToolExtractDrills.py:156
+#: flatcamTools/ToolPunchGerber.py:150 flatcamTools/ToolPunchGerber.py:184
+msgid "Fixed Diameter"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8199 flatcamGUI/PreferencesUI.py:8239
+#: flatcamGUI/PreferencesUI.py:8412 flatcamGUI/PreferencesUI.py:8453
+#: flatcamTools/ToolExtractDrills.py:140 flatcamTools/ToolExtractDrills.py:192
+#: flatcamTools/ToolPunchGerber.py:151 flatcamTools/ToolPunchGerber.py:214
+msgid "Fixed Annular Ring"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8200 flatcamGUI/PreferencesUI.py:8413
+#: flatcamTools/ToolExtractDrills.py:141 flatcamTools/ToolPunchGerber.py:152
+msgid "Proportional"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8206 flatcamTools/ToolExtractDrills.py:130
+msgid ""
+"The method for processing pads. Can be:\n"
+"- Fixed Diameter -> all holes will have a set size\n"
+"- Fixed Annular Ring -> all holes will have a set annular ring\n"
+"- Proportional -> each hole size will be a fraction of the pad size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8232 flatcamGUI/PreferencesUI.py:8446
+#: flatcamTools/ToolExtractDrills.py:166 flatcamTools/ToolPunchGerber.py:194
+msgid "Fixed hole diameter."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8241 flatcamGUI/PreferencesUI.py:8455
+#: flatcamTools/ToolExtractDrills.py:194 flatcamTools/ToolPunchGerber.py:216
+msgid ""
+"The size of annular ring.\n"
+"The copper sliver between the hole exterior\n"
+"and the margin of the copper pad."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8250 flatcamGUI/PreferencesUI.py:8464
+#: flatcamTools/ToolExtractDrills.py:203 flatcamTools/ToolPunchGerber.py:231
+msgid "The size of annular ring for circular pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8263 flatcamGUI/PreferencesUI.py:8477
+#: flatcamTools/ToolExtractDrills.py:216 flatcamTools/ToolPunchGerber.py:244
+msgid "The size of annular ring for oblong pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8276 flatcamGUI/PreferencesUI.py:8490
+#: flatcamTools/ToolExtractDrills.py:229 flatcamTools/ToolPunchGerber.py:257
+msgid "The size of annular ring for square pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8289 flatcamGUI/PreferencesUI.py:8503
+#: flatcamTools/ToolExtractDrills.py:242 flatcamTools/ToolPunchGerber.py:270
+msgid "The size of annular ring for rectangular pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8302 flatcamGUI/PreferencesUI.py:8516
+#: flatcamTools/ToolExtractDrills.py:255 flatcamTools/ToolPunchGerber.py:283
+msgid "The size of annular ring for other pads."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8312 flatcamGUI/PreferencesUI.py:8526
+#: flatcamTools/ToolExtractDrills.py:276 flatcamTools/ToolPunchGerber.py:299
+msgid "Proportional Diameter"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8321 flatcamGUI/PreferencesUI.py:8535
+msgid "Factor"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8323 flatcamGUI/PreferencesUI.py:8537
+#: flatcamTools/ToolExtractDrills.py:287 flatcamTools/ToolPunchGerber.py:310
+msgid ""
+"Proportional Diameter.\n"
+"The hole diameter will be a fraction of the pad size."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8338
+msgid "Punch Gerber Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8419 flatcamTools/ToolPunchGerber.py:141
+msgid ""
+"The punch hole source can be:\n"
+"- Excellon Object-> the Excellon object drills center will serve as reference.\n"
+"- Fixed Diameter -> will try to use the pads center as reference adding fixed diameter "
+"holes.\n"
+"- Fixed Annular Ring -> will try to keep a set annular ring.\n"
+"- Proportional -> will make a Gerber punch hole having the diameter a percentage of the "
+"pad diameter.\n"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8552
+msgid "Invert Gerber Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8558
+msgid ""
+"A tool to invert Gerber geometry from positive to negative\n"
+"and in revers."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8572 flatcamTools/ToolInvertGerber.py:90
+msgid ""
+"Distance by which to avoid\n"
+"the edges of the Gerber object."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8583 flatcamTools/ToolInvertGerber.py:101
+msgid "Lines Join Style"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8585 flatcamTools/ToolInvertGerber.py:103
+msgid ""
+"The way that the lines in the object outline will be joined.\n"
+"Can be:\n"
+"- rounded -> an arc is added between two joining lines\n"
+"- square -> the lines meet in 90 degrees angle\n"
+"- bevel -> the lines are joined by a third line"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:8608
msgid "Excellon File associations"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7633 flatcamGUI/PreferencesUI.py:7706
-#: flatcamGUI/PreferencesUI.py:7776 flatcamGUI/PreferencesUI.py:7846
+#: flatcamGUI/PreferencesUI.py:8621 flatcamGUI/PreferencesUI.py:8694
+#: flatcamGUI/PreferencesUI.py:8764 flatcamGUI/PreferencesUI.py:8834
msgid "Restore"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7634 flatcamGUI/PreferencesUI.py:7707
-#: flatcamGUI/PreferencesUI.py:7777
+#: flatcamGUI/PreferencesUI.py:8622 flatcamGUI/PreferencesUI.py:8695
+#: flatcamGUI/PreferencesUI.py:8765
msgid "Restore the extension list to the default state."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7635 flatcamGUI/PreferencesUI.py:7708
-#: flatcamGUI/PreferencesUI.py:7778 flatcamGUI/PreferencesUI.py:7848
+#: flatcamGUI/PreferencesUI.py:8623 flatcamGUI/PreferencesUI.py:8696
+#: flatcamGUI/PreferencesUI.py:8766 flatcamGUI/PreferencesUI.py:8836
msgid "Delete All"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7636 flatcamGUI/PreferencesUI.py:7709
-#: flatcamGUI/PreferencesUI.py:7779
+#: flatcamGUI/PreferencesUI.py:8624 flatcamGUI/PreferencesUI.py:8697
+#: flatcamGUI/PreferencesUI.py:8767
msgid "Delete all extensions from the list."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7644 flatcamGUI/PreferencesUI.py:7717
-#: flatcamGUI/PreferencesUI.py:7787
+#: flatcamGUI/PreferencesUI.py:8632 flatcamGUI/PreferencesUI.py:8705
+#: flatcamGUI/PreferencesUI.py:8775
msgid "Extensions list"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7646 flatcamGUI/PreferencesUI.py:7719
-#: flatcamGUI/PreferencesUI.py:7789
+#: flatcamGUI/PreferencesUI.py:8634 flatcamGUI/PreferencesUI.py:8707
+#: flatcamGUI/PreferencesUI.py:8777
msgid ""
"List of file extensions to be\n"
"associated with FlatCAM."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7666 flatcamGUI/PreferencesUI.py:7739
-#: flatcamGUI/PreferencesUI.py:7808 flatcamGUI/PreferencesUI.py:7880
+#: flatcamGUI/PreferencesUI.py:8654 flatcamGUI/PreferencesUI.py:8727
+#: flatcamGUI/PreferencesUI.py:8796 flatcamGUI/PreferencesUI.py:8868
msgid "Extension"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7667 flatcamGUI/PreferencesUI.py:7740
-#: flatcamGUI/PreferencesUI.py:7809
+#: flatcamGUI/PreferencesUI.py:8655 flatcamGUI/PreferencesUI.py:8728
+#: flatcamGUI/PreferencesUI.py:8797
msgid "A file extension to be added or deleted to the list."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7675 flatcamGUI/PreferencesUI.py:7748
-#: flatcamGUI/PreferencesUI.py:7817
+#: flatcamGUI/PreferencesUI.py:8663 flatcamGUI/PreferencesUI.py:8736
+#: flatcamGUI/PreferencesUI.py:8805
msgid "Add Extension"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7676 flatcamGUI/PreferencesUI.py:7749
-#: flatcamGUI/PreferencesUI.py:7818
+#: flatcamGUI/PreferencesUI.py:8664 flatcamGUI/PreferencesUI.py:8737
+#: flatcamGUI/PreferencesUI.py:8806
msgid "Add a file extension to the list"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7677 flatcamGUI/PreferencesUI.py:7750
-#: flatcamGUI/PreferencesUI.py:7819
+#: flatcamGUI/PreferencesUI.py:8665 flatcamGUI/PreferencesUI.py:8738
+#: flatcamGUI/PreferencesUI.py:8807
msgid "Delete Extension"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7678 flatcamGUI/PreferencesUI.py:7751
-#: flatcamGUI/PreferencesUI.py:7820
+#: flatcamGUI/PreferencesUI.py:8666 flatcamGUI/PreferencesUI.py:8739
+#: flatcamGUI/PreferencesUI.py:8808
msgid "Delete a file extension from the list"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7685 flatcamGUI/PreferencesUI.py:7758
-#: flatcamGUI/PreferencesUI.py:7827
+#: flatcamGUI/PreferencesUI.py:8673 flatcamGUI/PreferencesUI.py:8746
+#: flatcamGUI/PreferencesUI.py:8815
msgid "Apply Association"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7686 flatcamGUI/PreferencesUI.py:7759
-#: flatcamGUI/PreferencesUI.py:7828
+#: flatcamGUI/PreferencesUI.py:8674 flatcamGUI/PreferencesUI.py:8747
+#: flatcamGUI/PreferencesUI.py:8816
msgid ""
"Apply the file associations between\n"
"FlatCAM and the files with above extensions.\n"
@@ -10897,31 +11408,31 @@ msgid ""
"This work only in Windows."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7703
+#: flatcamGUI/PreferencesUI.py:8691
msgid "GCode File associations"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7773
+#: flatcamGUI/PreferencesUI.py:8761
msgid "Gerber File associations"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7843
+#: flatcamGUI/PreferencesUI.py:8831
msgid "Autocompleter Keywords"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7847
+#: flatcamGUI/PreferencesUI.py:8835
msgid "Restore the autocompleter keywords list to the default state."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7849
+#: flatcamGUI/PreferencesUI.py:8837
msgid "Delete all autocompleter keywords from the list."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7857
+#: flatcamGUI/PreferencesUI.py:8845
msgid "Keywords list"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7859
+#: flatcamGUI/PreferencesUI.py:8847
msgid ""
"List of keywords used by\n"
"the autocompleter in FlatCAM.\n"
@@ -10929,37 +11440,37 @@ msgid ""
"in the Code Editor and for the Tcl Shell."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7881
+#: flatcamGUI/PreferencesUI.py:8869
msgid "A keyword to be added or deleted to the list."
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7889
+#: flatcamGUI/PreferencesUI.py:8877
msgid "Add keyword"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7890
+#: flatcamGUI/PreferencesUI.py:8878
msgid "Add a keyword to the list"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7891
+#: flatcamGUI/PreferencesUI.py:8879
msgid "Delete keyword"
msgstr ""
-#: flatcamGUI/PreferencesUI.py:7892
+#: flatcamGUI/PreferencesUI.py:8880
msgid "Delete a keyword from the list"
msgstr ""
-#: flatcamParsers/ParseExcellon.py:314
+#: flatcamParsers/ParseExcellon.py:315
msgid "This is GCODE mark"
msgstr ""
-#: flatcamParsers/ParseExcellon.py:431
+#: flatcamParsers/ParseExcellon.py:432
msgid ""
"No tool diameter info's. See shell.\n"
"A tool change event: T"
msgstr ""
-#: flatcamParsers/ParseExcellon.py:434
+#: flatcamParsers/ParseExcellon.py:435
msgid ""
"was found but the Excellon file have no informations regarding the tool diameters "
"therefore the application will try to load it by using some 'fake' diameters.\n"
@@ -10967,17 +11478,17 @@ msgid ""
"the real diameters."
msgstr ""
-#: flatcamParsers/ParseExcellon.py:886 flatcamTools/ToolSolderPaste.py:1330
+#: flatcamParsers/ParseExcellon.py:897 flatcamTools/ToolSolderPaste.py:1327
msgid "An internal error has ocurred. See shell.\n"
msgstr ""
-#: flatcamParsers/ParseExcellon.py:889
+#: flatcamParsers/ParseExcellon.py:900
msgid ""
"Excellon Parser error.\n"
"Parsing Failed. Line"
msgstr ""
-#: flatcamParsers/ParseExcellon.py:973
+#: flatcamParsers/ParseExcellon.py:982
msgid ""
"Excellon.create_geometry() -> a drill location was skipped due of not having a tool "
"associated.\n"
@@ -10992,87 +11503,218 @@ msgstr ""
msgid "Gerber processing. Parsing"
msgstr ""
-#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseGerber.py:426 flatcamParsers/ParseHPGL2.py:178
msgid "lines"
msgstr ""
-#: flatcamParsers/ParseGerber.py:970 flatcamParsers/ParseGerber.py:1065
-#: flatcamParsers/ParseHPGL2.py:269 flatcamParsers/ParseHPGL2.py:283
-#: flatcamParsers/ParseHPGL2.py:302 flatcamParsers/ParseHPGL2.py:326
-#: flatcamParsers/ParseHPGL2.py:361
+#: flatcamParsers/ParseGerber.py:1002 flatcamParsers/ParseGerber.py:1102
+#: flatcamParsers/ParseHPGL2.py:271 flatcamParsers/ParseHPGL2.py:285
+#: flatcamParsers/ParseHPGL2.py:304 flatcamParsers/ParseHPGL2.py:328
+#: flatcamParsers/ParseHPGL2.py:363
msgid "Coordinates missing, line ignored"
msgstr ""
-#: flatcamParsers/ParseGerber.py:972 flatcamParsers/ParseGerber.py:1067
+#: flatcamParsers/ParseGerber.py:1004 flatcamParsers/ParseGerber.py:1104
msgid "GERBER file might be CORRUPT. Check the file !!!"
msgstr ""
-#: flatcamParsers/ParseGerber.py:1021
+#: flatcamParsers/ParseGerber.py:1058
msgid ""
"Region does not have enough points. File will be processed but there are parser errors. "
"Line number"
msgstr ""
-#: flatcamParsers/ParseGerber.py:1421 flatcamParsers/ParseHPGL2.py:396
+#: flatcamParsers/ParseGerber.py:1488 flatcamParsers/ParseHPGL2.py:398
msgid "Gerber processing. Joining polygons"
msgstr ""
-#: flatcamParsers/ParseGerber.py:1438
+#: flatcamParsers/ParseGerber.py:1505
msgid "Gerber processing. Applying Gerber polarity."
msgstr ""
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line"
msgstr ""
-#: flatcamParsers/ParseGerber.py:1498
+#: flatcamParsers/ParseGerber.py:1565
msgid "Gerber Line Content"
msgstr ""
-#: flatcamParsers/ParseGerber.py:1500
+#: flatcamParsers/ParseGerber.py:1567
msgid "Gerber Parser ERROR"
msgstr ""
-#: flatcamParsers/ParseGerber.py:1884
+#: flatcamParsers/ParseGerber.py:1956
msgid "Gerber Scale done."
msgstr ""
-#: flatcamParsers/ParseGerber.py:1977
+#: flatcamParsers/ParseGerber.py:2049
msgid "Gerber Offset done."
msgstr ""
-#: flatcamParsers/ParseGerber.py:2054
+#: flatcamParsers/ParseGerber.py:2126
msgid "Gerber Mirror done."
msgstr ""
-#: flatcamParsers/ParseGerber.py:2128
+#: flatcamParsers/ParseGerber.py:2200
msgid "Gerber Skew done."
msgstr ""
-#: flatcamParsers/ParseGerber.py:2192
+#: flatcamParsers/ParseGerber.py:2263
msgid "Gerber Rotate done."
msgstr ""
-#: flatcamParsers/ParseGerber.py:2273
+#: flatcamParsers/ParseGerber.py:2419
msgid "Gerber Buffer done."
msgstr ""
-#: flatcamParsers/ParseHPGL2.py:176
+#: flatcamParsers/ParseHPGL2.py:178
msgid "HPGL2 processing. Parsing"
msgstr ""
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line"
msgstr ""
-#: flatcamParsers/ParseHPGL2.py:408
+#: flatcamParsers/ParseHPGL2.py:410
msgid "HPGL2 Line Content"
msgstr ""
-#: flatcamParsers/ParseHPGL2.py:409
+#: flatcamParsers/ParseHPGL2.py:411
msgid "HPGL2 Parser ERROR"
msgstr ""
+#: flatcamTools/ToolAlignObjects.py:32
+msgid "Align Objects"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:61
+msgid "MOVING object"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:65
+msgid ""
+"Specify the type of object to be aligned.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:86
+msgid "Object to be aligned."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:98
+msgid "TARGET object"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:100
+msgid ""
+"Specify the type of object to be aligned to.\n"
+"It can be of type: Gerber or Excellon.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:122
+msgid "Object to be aligned to. Aligner."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:135
+msgid "Alignment Type"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:137
+msgid ""
+"The type of alignment can be:\n"
+"- Single Point -> it require a single point of sync, the action will be a translation\n"
+"- Dual Point -> it require two points of sync, the action will be translation followed by "
+"rotation"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:143
+msgid "Single Point"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:144
+msgid "Dual Point"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:159
+msgid "Align Object"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:161
+msgid ""
+"Align the specified object to the aligner object.\n"
+"If only one point is used then it assumes translation.\n"
+"If tho points are used it assume translation and rotation."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:176 flatcamTools/ToolCalculators.py:246
+#: flatcamTools/ToolCalibration.py:683 flatcamTools/ToolCopperThieving.py:485
+#: flatcamTools/ToolCutOut.py:372 flatcamTools/ToolDblSided.py:472
+#: flatcamTools/ToolExtractDrills.py:310 flatcamTools/ToolFiducials.py:318
+#: flatcamTools/ToolFilm.py:520 flatcamTools/ToolInvertGerber.py:140
+#: flatcamTools/ToolNCC.py:612 flatcamTools/ToolOptimal.py:238 flatcamTools/ToolPaint.py:556
+#: flatcamTools/ToolPanelize.py:269 flatcamTools/ToolPunchGerber.py:339
+#: flatcamTools/ToolQRCode.py:314 flatcamTools/ToolRulesCheck.py:516
+#: flatcamTools/ToolSolderPaste.py:474 flatcamTools/ToolSub.py:176
+#: flatcamTools/ToolTransform.py:399
+msgid "Reset Tool"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:178 flatcamTools/ToolCalculators.py:248
+#: flatcamTools/ToolCalibration.py:685 flatcamTools/ToolCopperThieving.py:487
+#: flatcamTools/ToolCutOut.py:374 flatcamTools/ToolDblSided.py:474
+#: flatcamTools/ToolExtractDrills.py:312 flatcamTools/ToolFiducials.py:320
+#: flatcamTools/ToolFilm.py:522 flatcamTools/ToolInvertGerber.py:142
+#: flatcamTools/ToolNCC.py:614 flatcamTools/ToolOptimal.py:240 flatcamTools/ToolPaint.py:558
+#: flatcamTools/ToolPanelize.py:271 flatcamTools/ToolPunchGerber.py:341
+#: flatcamTools/ToolQRCode.py:316 flatcamTools/ToolRulesCheck.py:518
+#: flatcamTools/ToolSolderPaste.py:476 flatcamTools/ToolSub.py:178
+#: flatcamTools/ToolTransform.py:401
+msgid "Will reset the tool parameters."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:244
+msgid "Align Tool"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:289
+msgid "There is no aligned FlatCAM object selected..."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:299
+msgid "There is no aligner FlatCAM object selected..."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:385
+msgid "First Point"
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:325 flatcamTools/ToolAlignObjects.py:400
+msgid "Click on the START point."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:380 flatcamTools/ToolCalibration.py:920
+msgid "Cancelled by user request."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:407
+msgid "Click on the DESTINATION point."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:385 flatcamTools/ToolAlignObjects.py:400
+#: flatcamTools/ToolAlignObjects.py:407
+msgid " Or right click to cancel."
+msgstr ""
+
+#: flatcamTools/ToolAlignObjects.py:400 flatcamTools/ToolAlignObjects.py:407
+#: flatcamTools/ToolFiducials.py:111
+msgid "Second Point"
+msgstr ""
+
#: flatcamTools/ToolCalculators.py:24
msgid "Calculators"
msgstr ""
@@ -11144,7 +11786,7 @@ msgid ""
"depending on the parameters above"
msgstr ""
-#: flatcamTools/ToolCalculators.py:285
+#: flatcamTools/ToolCalculators.py:299
msgid "Calc. Tool"
msgstr ""
@@ -11167,80 +11809,76 @@ msgid ""
"(as much as possible) corners of the object."
msgstr ""
-#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolCutOut.py:80
-#: flatcamTools/ToolFilm.py:78 flatcamTools/ToolImage.py:55 flatcamTools/ToolPanelize.py:66
-#: flatcamTools/ToolProperties.py:169
+#: flatcamTools/ToolCalibration.py:193 flatcamTools/ToolFilm.py:76
+#: flatcamTools/ToolImage.py:54 flatcamTools/ToolPanelize.py:78
+#: flatcamTools/ToolProperties.py:177
msgid "Object Type"
msgstr ""
-#: flatcamTools/ToolCalibration.py:211
+#: flatcamTools/ToolCalibration.py:210
msgid "Source object selection"
msgstr ""
-#: flatcamTools/ToolCalibration.py:213
+#: flatcamTools/ToolCalibration.py:212
msgid "FlatCAM Object to be used as a source for reference points."
msgstr ""
-#: flatcamTools/ToolCalibration.py:219
+#: flatcamTools/ToolCalibration.py:218
msgid "Calibration Points"
msgstr ""
-#: flatcamTools/ToolCalibration.py:221
+#: flatcamTools/ToolCalibration.py:220
msgid ""
"Contain the expected calibration points and the\n"
"ones measured."
msgstr ""
-#: flatcamTools/ToolCalibration.py:236 flatcamTools/ToolSub.py:74
-#: flatcamTools/ToolSub.py:126
+#: flatcamTools/ToolCalibration.py:235 flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:131
msgid "Target"
msgstr ""
-#: flatcamTools/ToolCalibration.py:237
+#: flatcamTools/ToolCalibration.py:236
msgid "Found Delta"
msgstr ""
-#: flatcamTools/ToolCalibration.py:249
+#: flatcamTools/ToolCalibration.py:248
msgid "Bot Left X"
msgstr ""
-#: flatcamTools/ToolCalibration.py:258
+#: flatcamTools/ToolCalibration.py:257
msgid "Bot Left Y"
msgstr ""
-#: flatcamTools/ToolCalibration.py:266 flatcamTools/ToolCalibration.py:267
-msgid "Origin"
-msgstr ""
-
-#: flatcamTools/ToolCalibration.py:278
+#: flatcamTools/ToolCalibration.py:275
msgid "Bot Right X"
msgstr ""
-#: flatcamTools/ToolCalibration.py:288
+#: flatcamTools/ToolCalibration.py:285
msgid "Bot Right Y"
msgstr ""
-#: flatcamTools/ToolCalibration.py:303
+#: flatcamTools/ToolCalibration.py:300
msgid "Top Left X"
msgstr ""
-#: flatcamTools/ToolCalibration.py:312
+#: flatcamTools/ToolCalibration.py:309
msgid "Top Left Y"
msgstr ""
-#: flatcamTools/ToolCalibration.py:327
+#: flatcamTools/ToolCalibration.py:324
msgid "Top Right X"
msgstr ""
-#: flatcamTools/ToolCalibration.py:337
+#: flatcamTools/ToolCalibration.py:334
msgid "Top Right Y"
msgstr ""
-#: flatcamTools/ToolCalibration.py:370
+#: flatcamTools/ToolCalibration.py:367
msgid "Get Points"
msgstr ""
-#: flatcamTools/ToolCalibration.py:372
+#: flatcamTools/ToolCalibration.py:369
msgid ""
"Pick four points by clicking on canvas if the source choice\n"
"is 'free' or inside the object geometry if the source is 'object'.\n"
@@ -11248,11 +11886,11 @@ msgid ""
"the object."
msgstr ""
-#: flatcamTools/ToolCalibration.py:393
+#: flatcamTools/ToolCalibration.py:390
msgid "STEP 2: Verification GCode"
msgstr ""
-#: flatcamTools/ToolCalibration.py:395 flatcamTools/ToolCalibration.py:408
+#: flatcamTools/ToolCalibration.py:392 flatcamTools/ToolCalibration.py:405
msgid ""
"Generate GCode file to locate and align the PCB by using\n"
"the four points acquired above.\n"
@@ -11263,72 +11901,72 @@ msgid ""
"- forth point -> final verification point. Just for evaluation."
msgstr ""
-#: flatcamTools/ToolCalibration.py:406 flatcamTools/ToolSolderPaste.py:347
+#: flatcamTools/ToolCalibration.py:403 flatcamTools/ToolSolderPaste.py:349
msgid "Generate GCode"
msgstr ""
-#: flatcamTools/ToolCalibration.py:432
+#: flatcamTools/ToolCalibration.py:429
msgid "STEP 3: Adjustments"
msgstr ""
-#: flatcamTools/ToolCalibration.py:434 flatcamTools/ToolCalibration.py:443
+#: flatcamTools/ToolCalibration.py:431 flatcamTools/ToolCalibration.py:440
msgid ""
"Calculate Scale and Skew factors based on the differences (delta)\n"
"found when checking the PCB pattern. The differences must be filled\n"
"in the fields Found (Delta)."
msgstr ""
-#: flatcamTools/ToolCalibration.py:441
+#: flatcamTools/ToolCalibration.py:438
msgid "Calculate Factors"
msgstr ""
-#: flatcamTools/ToolCalibration.py:463
+#: flatcamTools/ToolCalibration.py:460
msgid "STEP 4: Adjusted GCode"
msgstr ""
-#: flatcamTools/ToolCalibration.py:465
+#: flatcamTools/ToolCalibration.py:462
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors above."
msgstr ""
-#: flatcamTools/ToolCalibration.py:470
+#: flatcamTools/ToolCalibration.py:467
msgid "Scale Factor X:"
msgstr ""
-#: flatcamTools/ToolCalibration.py:482
+#: flatcamTools/ToolCalibration.py:479
msgid "Scale Factor Y:"
msgstr ""
-#: flatcamTools/ToolCalibration.py:494
+#: flatcamTools/ToolCalibration.py:491
msgid "Apply Scale Factors"
msgstr ""
-#: flatcamTools/ToolCalibration.py:496
+#: flatcamTools/ToolCalibration.py:493
msgid "Apply Scale factors on the calibration points."
msgstr ""
-#: flatcamTools/ToolCalibration.py:506
+#: flatcamTools/ToolCalibration.py:503
msgid "Skew Angle X:"
msgstr ""
-#: flatcamTools/ToolCalibration.py:519
+#: flatcamTools/ToolCalibration.py:516
msgid "Skew Angle Y:"
msgstr ""
-#: flatcamTools/ToolCalibration.py:532
+#: flatcamTools/ToolCalibration.py:529
msgid "Apply Skew Factors"
msgstr ""
-#: flatcamTools/ToolCalibration.py:534
+#: flatcamTools/ToolCalibration.py:531
msgid "Apply Skew factors on the calibration points."
msgstr ""
-#: flatcamTools/ToolCalibration.py:603
+#: flatcamTools/ToolCalibration.py:600
msgid "Generate Adjusted GCode"
msgstr ""
-#: flatcamTools/ToolCalibration.py:605
+#: flatcamTools/ToolCalibration.py:602
msgid ""
"Generate verification GCode file adjusted with\n"
"the factors set above.\n"
@@ -11336,122 +11974,102 @@ msgid ""
"before clicking this button."
msgstr ""
-#: flatcamTools/ToolCalibration.py:626
+#: flatcamTools/ToolCalibration.py:623
msgid "STEP 5: Calibrate FlatCAM Objects"
msgstr ""
-#: flatcamTools/ToolCalibration.py:628
+#: flatcamTools/ToolCalibration.py:625
msgid ""
"Adjust the FlatCAM objects\n"
"with the factors determined and verified above."
msgstr ""
-#: flatcamTools/ToolCalibration.py:641
+#: flatcamTools/ToolCalibration.py:637
msgid "Adjusted object type"
msgstr ""
-#: flatcamTools/ToolCalibration.py:643
+#: flatcamTools/ToolCalibration.py:638
msgid "Type of the FlatCAM Object to be adjusted."
msgstr ""
-#: flatcamTools/ToolCalibration.py:654
+#: flatcamTools/ToolCalibration.py:651
msgid "Adjusted object selection"
msgstr ""
-#: flatcamTools/ToolCalibration.py:656
+#: flatcamTools/ToolCalibration.py:653
msgid "The FlatCAM Object to be adjusted."
msgstr ""
-#: flatcamTools/ToolCalibration.py:663
+#: flatcamTools/ToolCalibration.py:660
msgid "Calibrate"
msgstr ""
-#: flatcamTools/ToolCalibration.py:665
+#: flatcamTools/ToolCalibration.py:662
msgid ""
"Adjust (scale and/or skew) the objects\n"
"with the factors determined above."
msgstr ""
-#: flatcamTools/ToolCalibration.py:686 flatcamTools/ToolCopperThieving.py:482
-#: flatcamTools/ToolCutOut.py:362 flatcamTools/ToolDblSided.py:405
-#: flatcamTools/ToolFiducials.py:316 flatcamTools/ToolFilm.py:518
-#: flatcamTools/ToolNonCopperClear.py:486 flatcamTools/ToolOptimal.py:237
-#: flatcamTools/ToolPaint.py:372 flatcamTools/ToolPanelize.py:266
-#: flatcamTools/ToolQRCode.py:314 flatcamTools/ToolRulesCheck.py:507
-#: flatcamTools/ToolSolderPaste.py:470 flatcamTools/ToolSub.py:170
-msgid "Reset Tool"
+#: flatcamTools/ToolCalibration.py:770 flatcamTools/ToolCalibration.py:771
+msgid "Origin"
msgstr ""
-#: flatcamTools/ToolCalibration.py:688 flatcamTools/ToolCopperThieving.py:484
-#: flatcamTools/ToolCutOut.py:364 flatcamTools/ToolDblSided.py:407
-#: flatcamTools/ToolFiducials.py:318 flatcamTools/ToolFilm.py:520
-#: flatcamTools/ToolNonCopperClear.py:488 flatcamTools/ToolOptimal.py:239
-#: flatcamTools/ToolPaint.py:374 flatcamTools/ToolPanelize.py:268
-#: flatcamTools/ToolQRCode.py:316 flatcamTools/ToolRulesCheck.py:509
-#: flatcamTools/ToolSolderPaste.py:472 flatcamTools/ToolSub.py:172
-msgid "Will reset the tool parameters."
-msgstr ""
-
-#: flatcamTools/ToolCalibration.py:792
+#: flatcamTools/ToolCalibration.py:800
msgid "Tool initialized"
msgstr ""
-#: flatcamTools/ToolCalibration.py:824
+#: flatcamTools/ToolCalibration.py:838
msgid "There is no source FlatCAM object selected..."
msgstr ""
-#: flatcamTools/ToolCalibration.py:845
+#: flatcamTools/ToolCalibration.py:859
msgid "Get First calibration point. Bottom Left..."
msgstr ""
-#: flatcamTools/ToolCalibration.py:906
-msgid "Cancelled by user request."
-msgstr ""
-
-#: flatcamTools/ToolCalibration.py:912
+#: flatcamTools/ToolCalibration.py:926
msgid "Get Second calibration point. Bottom Right (Top Left)..."
msgstr ""
-#: flatcamTools/ToolCalibration.py:916
+#: flatcamTools/ToolCalibration.py:930
msgid "Get Third calibration point. Top Left (Bottom Right)..."
msgstr ""
-#: flatcamTools/ToolCalibration.py:920
+#: flatcamTools/ToolCalibration.py:934
msgid "Get Forth calibration point. Top Right..."
msgstr ""
-#: flatcamTools/ToolCalibration.py:924
+#: flatcamTools/ToolCalibration.py:938
msgid "Done. All four points have been acquired."
msgstr ""
-#: flatcamTools/ToolCalibration.py:955
+#: flatcamTools/ToolCalibration.py:969
msgid "Verification GCode for FlatCAM Calibration Tool"
msgstr ""
-#: flatcamTools/ToolCalibration.py:967 flatcamTools/ToolCalibration.py:1053
+#: flatcamTools/ToolCalibration.py:981 flatcamTools/ToolCalibration.py:1067
msgid "Gcode Viewer"
msgstr ""
-#: flatcamTools/ToolCalibration.py:983
+#: flatcamTools/ToolCalibration.py:997
msgid "Cancelled. Four points are needed for GCode generation."
msgstr ""
-#: flatcamTools/ToolCalibration.py:1239 flatcamTools/ToolCalibration.py:1335
+#: flatcamTools/ToolCalibration.py:1253 flatcamTools/ToolCalibration.py:1349
msgid "There is no FlatCAM object selected..."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:76 flatcamTools/ToolFiducials.py:260
+#: flatcamTools/ToolCopperThieving.py:77 flatcamTools/ToolFiducials.py:261
msgid "Gerber Object to which will be added a copper thieving."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:98
+#: flatcamTools/ToolCopperThieving.py:99
msgid ""
"This set the distance between the copper thieving components\n"
"(the polygon fill may be split in multiple polygons)\n"
"and the copper traces in the Gerber file."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:131
+#: flatcamTools/ToolCopperThieving.py:132
msgid ""
"- 'Itself' - the copper thieving extent is based on the object extent.\n"
"- 'Area Selection' - left mouse click to start selection of the area to be filled.\n"
@@ -11459,57 +12077,42 @@ msgid ""
"object."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:138 flatcamTools/ToolNonCopperClear.py:445
-#: flatcamTools/ToolPaint.py:326
+#: flatcamTools/ToolCopperThieving.py:139 flatcamTools/ToolNCC.py:552
+#: flatcamTools/ToolPaint.py:496
msgid "Ref. Type"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:140
+#: flatcamTools/ToolCopperThieving.py:141
msgid ""
"The type of FlatCAM object to be used as copper thieving reference.\n"
"It can be Gerber, Excellon or Geometry."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:144 flatcamTools/ToolDblSided.py:215
-#: flatcamTools/ToolNonCopperClear.py:451 flatcamTools/ToolPaint.py:332
-msgid "Reference Gerber"
-msgstr ""
-
-#: flatcamTools/ToolCopperThieving.py:145 flatcamTools/ToolDblSided.py:216
-#: flatcamTools/ToolNonCopperClear.py:452 flatcamTools/ToolPaint.py:333
-msgid "Reference Excellon"
-msgstr ""
-
-#: flatcamTools/ToolCopperThieving.py:146 flatcamTools/ToolDblSided.py:217
-#: flatcamTools/ToolNonCopperClear.py:453 flatcamTools/ToolPaint.py:334
-msgid "Reference Geometry"
-msgstr ""
-
-#: flatcamTools/ToolCopperThieving.py:151 flatcamTools/ToolNonCopperClear.py:456
-#: flatcamTools/ToolPaint.py:337
+#: flatcamTools/ToolCopperThieving.py:150 flatcamTools/ToolNCC.py:562
+#: flatcamTools/ToolPaint.py:506
msgid "Ref. Object"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:153 flatcamTools/ToolNonCopperClear.py:458
-#: flatcamTools/ToolPaint.py:339
+#: flatcamTools/ToolCopperThieving.py:152 flatcamTools/ToolNCC.py:564
+#: flatcamTools/ToolPaint.py:508
msgid "The FlatCAM object to be used as non copper clearing reference."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:326
+#: flatcamTools/ToolCopperThieving.py:328
msgid "Insert Copper thieving"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:328
+#: flatcamTools/ToolCopperThieving.py:330
msgid ""
"Will add a polygon (may be split in multiple parts)\n"
"that will surround the actual Gerber traces at a certain distance."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:387
+#: flatcamTools/ToolCopperThieving.py:389
msgid "Insert Robber Bar"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:389
+#: flatcamTools/ToolCopperThieving.py:391
msgid ""
"Will add a polygon with a defined thickness\n"
"that will surround the actual Gerber object\n"
@@ -11517,22 +12120,22 @@ msgid ""
"Required when doing holes pattern plating."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:413
+#: flatcamTools/ToolCopperThieving.py:415
msgid "Select Soldermask object"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:415
+#: flatcamTools/ToolCopperThieving.py:417
msgid ""
"Gerber Object with the soldermask.\n"
"It will be used as a base for\n"
"the pattern plating mask."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:443
+#: flatcamTools/ToolCopperThieving.py:446
msgid "Plated area"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:445
+#: flatcamTools/ToolCopperThieving.py:448
msgid ""
"The area to be plated by pattern plating.\n"
"Basically is made from the openings in the plating mask.\n"
@@ -11543,141 +12146,144 @@ msgid ""
"calculated from the soldermask openings."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:456
+#: flatcamTools/ToolCopperThieving.py:459
msgid "mm"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:458
+#: flatcamTools/ToolCopperThieving.py:461
msgid "in"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:465
+#: flatcamTools/ToolCopperThieving.py:468
msgid "Generate pattern plating mask"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:467
+#: flatcamTools/ToolCopperThieving.py:470
msgid ""
"Will add to the soldermask gerber geometry\n"
"the geometries of the copper thieving and/or\n"
"the robber bar if those were generated."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:620 flatcamTools/ToolCopperThieving.py:645
+#: flatcamTools/ToolCopperThieving.py:626 flatcamTools/ToolCopperThieving.py:651
msgid "Lines Grid works only for 'itself' reference ..."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:631
+#: flatcamTools/ToolCopperThieving.py:637
msgid "Solid fill selected."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:636
+#: flatcamTools/ToolCopperThieving.py:642
msgid "Dots grid fill selected."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:641
+#: flatcamTools/ToolCopperThieving.py:647
msgid "Squares grid fill selected."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:662 flatcamTools/ToolCopperThieving.py:744
-#: flatcamTools/ToolCopperThieving.py:1340 flatcamTools/ToolDblSided.py:564
-#: flatcamTools/ToolFiducials.py:464 flatcamTools/ToolFiducials.py:741
-#: flatcamTools/ToolOptimal.py:342 flatcamTools/ToolQRCode.py:424
+#: flatcamTools/ToolCopperThieving.py:668 flatcamTools/ToolCopperThieving.py:750
+#: flatcamTools/ToolCopperThieving.py:1346 flatcamTools/ToolDblSided.py:658
+#: flatcamTools/ToolExtractDrills.py:436 flatcamTools/ToolFiducials.py:466
+#: flatcamTools/ToolFiducials.py:743 flatcamTools/ToolOptimal.py:343
+#: flatcamTools/ToolPunchGerber.py:512 flatcamTools/ToolQRCode.py:426
msgid "There is no Gerber object loaded ..."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:675 flatcamTools/ToolCopperThieving.py:1268
+#: flatcamTools/ToolCopperThieving.py:681 flatcamTools/ToolCopperThieving.py:1274
msgid "Append geometry"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:719 flatcamTools/ToolCopperThieving.py:1301
-#: flatcamTools/ToolCopperThieving.py:1454
+#: flatcamTools/ToolCopperThieving.py:725 flatcamTools/ToolCopperThieving.py:1307
+#: flatcamTools/ToolCopperThieving.py:1460
msgid "Append source file"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:727 flatcamTools/ToolCopperThieving.py:1309
+#: flatcamTools/ToolCopperThieving.py:733 flatcamTools/ToolCopperThieving.py:1315
msgid "Copper Thieving Tool done."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:754 flatcamTools/ToolCopperThieving.py:787
-#: flatcamTools/ToolCutOut.py:468 flatcamTools/ToolCutOut.py:642
-#: flatcamTools/ToolNonCopperClear.py:1151 flatcamTools/ToolNonCopperClear.py:1192
-#: flatcamTools/ToolNonCopperClear.py:1224 flatcamTools/ToolPaint.py:1074
-#: flatcamTools/ToolPanelize.py:401 flatcamTools/ToolPanelize.py:416
-#: flatcamTools/ToolSub.py:288 flatcamTools/ToolSub.py:301 flatcamTools/ToolSub.py:492
-#: flatcamTools/ToolSub.py:507 tclCommands/TclCommandCopperClear.py:97
-#: tclCommands/TclCommandCopperClear.py:146 tclCommands/TclCommandPaint.py:97
+#: flatcamTools/ToolCopperThieving.py:760 flatcamTools/ToolCopperThieving.py:793
+#: flatcamTools/ToolCutOut.py:480 flatcamTools/ToolCutOut.py:667
+#: flatcamTools/ToolInvertGerber.py:208 flatcamTools/ToolNCC.py:1603
+#: flatcamTools/ToolNCC.py:1644 flatcamTools/ToolNCC.py:1673 flatcamTools/ToolPaint.py:1462
+#: flatcamTools/ToolPanelize.py:413 flatcamTools/ToolPanelize.py:428
+#: flatcamTools/ToolSub.py:294 flatcamTools/ToolSub.py:307 flatcamTools/ToolSub.py:498
+#: flatcamTools/ToolSub.py:513 tclCommands/TclCommandCopperClear.py:97
+#: tclCommands/TclCommandPaint.py:99
msgid "Could not retrieve object"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:764 flatcamTools/ToolNonCopperClear.py:1205
+#: flatcamTools/ToolCopperThieving.py:770 flatcamTools/ToolNCC.py:1652
msgid "Click the start point of the area."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:815
+#: flatcamTools/ToolCopperThieving.py:821
msgid "Click the end point of the filling area."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:821 flatcamTools/ToolNonCopperClear.py:1261
-#: flatcamTools/ToolPaint.py:1201
+#: flatcamTools/ToolCopperThieving.py:827 flatcamTools/ToolNCC.py:1714
+#: flatcamTools/ToolNCC.py:1766 flatcamTools/ToolPaint.py:1594
+#: flatcamTools/ToolPaint.py:1645
msgid "Zone added. Click to start adding next zone or right click to finish."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:937 flatcamTools/ToolCopperThieving.py:941
-#: flatcamTools/ToolCopperThieving.py:1002
+#: flatcamTools/ToolCopperThieving.py:943 flatcamTools/ToolCopperThieving.py:947
+#: flatcamTools/ToolCopperThieving.py:1008
msgid "Thieving"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:948
+#: flatcamTools/ToolCopperThieving.py:954
msgid "Copper Thieving Tool started. Reading parameters."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:973
+#: flatcamTools/ToolCopperThieving.py:979
msgid "Copper Thieving Tool. Preparing isolation polygons."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1018
+#: flatcamTools/ToolCopperThieving.py:1024
msgid "Copper Thieving Tool. Preparing areas to fill with copper."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1029 flatcamTools/ToolOptimal.py:349
-#: flatcamTools/ToolPanelize.py:793 flatcamTools/ToolRulesCheck.py:1118
+#: flatcamTools/ToolCopperThieving.py:1035 flatcamTools/ToolOptimal.py:350
+#: flatcamTools/ToolPanelize.py:802 flatcamTools/ToolRulesCheck.py:1127
msgid "Working..."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1056
+#: flatcamTools/ToolCopperThieving.py:1062
msgid "Geometry not supported for bounding box"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1062 flatcamTools/ToolNonCopperClear.py:1513
-#: flatcamTools/ToolPaint.py:2673
+#: flatcamTools/ToolCopperThieving.py:1068 flatcamTools/ToolNCC.py:1933
+#: flatcamTools/ToolNCC.py:1988 flatcamTools/ToolNCC.py:2992 flatcamTools/ToolPaint.py:3368
msgid "No object available."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1099 flatcamTools/ToolNonCopperClear.py:1555
+#: flatcamTools/ToolCopperThieving.py:1105 flatcamTools/ToolNCC.py:1958
+#: flatcamTools/ToolNCC.py:2011 flatcamTools/ToolNCC.py:3034
msgid "The reference object type is not supported."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1104
+#: flatcamTools/ToolCopperThieving.py:1110
msgid "Copper Thieving Tool. Appending new geometry and buffering."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1120
+#: flatcamTools/ToolCopperThieving.py:1126
msgid "Create geometry"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1320 flatcamTools/ToolCopperThieving.py:1324
+#: flatcamTools/ToolCopperThieving.py:1326 flatcamTools/ToolCopperThieving.py:1330
msgid "P-Plating Mask"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1346
+#: flatcamTools/ToolCopperThieving.py:1352
msgid "Append PP-M geometry"
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1472
+#: flatcamTools/ToolCopperThieving.py:1478
msgid "Generating Pattern Plating Mask done."
msgstr ""
-#: flatcamTools/ToolCopperThieving.py:1544
+#: flatcamTools/ToolCopperThieving.py:1550
msgid "Copper Thieving Tool exit."
msgstr ""
@@ -11685,7 +12291,19 @@ msgstr ""
msgid "Cutout PCB"
msgstr ""
-#: flatcamTools/ToolCutOut.py:82
+#: flatcamTools/ToolCutOut.py:70 flatcamTools/ToolPanelize.py:54
+msgid "Source Object"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:71
+msgid "Object to be cutout"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:76
+msgid "Kind"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:98
msgid ""
"Specify the type of object to be cutout.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -11693,19 +12311,19 @@ msgid ""
"of objects that will populate the 'Object' combobox."
msgstr ""
-#: flatcamTools/ToolCutOut.py:91 flatcamTools/ToolCutOut.py:92
-msgid "Object to be cutout"
+#: flatcamTools/ToolCutOut.py:122
+msgid "Tool Parameters"
msgstr ""
-#: flatcamTools/ToolCutOut.py:230
+#: flatcamTools/ToolCutOut.py:239
msgid "A. Automatic Bridge Gaps"
msgstr ""
-#: flatcamTools/ToolCutOut.py:232
+#: flatcamTools/ToolCutOut.py:241
msgid "This section handle creation of automatic bridge gaps."
msgstr ""
-#: flatcamTools/ToolCutOut.py:243
+#: flatcamTools/ToolCutOut.py:252
msgid ""
"Number of gaps used for the Automatic cutout.\n"
"There can be maximum 8 bridges/gaps.\n"
@@ -11719,22 +12337,22 @@ msgid ""
"- 8 - 2*left + 2*right +2*top + 2*bottom"
msgstr ""
-#: flatcamTools/ToolCutOut.py:264
+#: flatcamTools/ToolCutOut.py:273
msgid "Generate Freeform Geometry"
msgstr ""
-#: flatcamTools/ToolCutOut.py:266
+#: flatcamTools/ToolCutOut.py:275
msgid ""
"Cutout the selected object.\n"
"The cutout shape can be of any shape.\n"
"Useful when the PCB has a non-rectangular shape."
msgstr ""
-#: flatcamTools/ToolCutOut.py:278
+#: flatcamTools/ToolCutOut.py:287
msgid "Generate Rectangular Geometry"
msgstr ""
-#: flatcamTools/ToolCutOut.py:280
+#: flatcamTools/ToolCutOut.py:289
msgid ""
"Cutout the selected object.\n"
"The resulting cutout shape is\n"
@@ -11742,26 +12360,26 @@ msgid ""
"the bounding box of the Object."
msgstr ""
-#: flatcamTools/ToolCutOut.py:299
+#: flatcamTools/ToolCutOut.py:308
msgid "B. Manual Bridge Gaps"
msgstr ""
-#: flatcamTools/ToolCutOut.py:301
+#: flatcamTools/ToolCutOut.py:310
msgid ""
"This section handle creation of manual bridge gaps.\n"
"This is done by mouse clicking on the perimeter of the\n"
"Geometry object that is used as a cutout object. "
msgstr ""
-#: flatcamTools/ToolCutOut.py:319
+#: flatcamTools/ToolCutOut.py:329
msgid "Geometry object used to create the manual cutout."
msgstr ""
-#: flatcamTools/ToolCutOut.py:328
+#: flatcamTools/ToolCutOut.py:338
msgid "Generate Manual Geometry"
msgstr ""
-#: flatcamTools/ToolCutOut.py:330
+#: flatcamTools/ToolCutOut.py:340
msgid ""
"If the object to be cutout is a Gerber\n"
"first create a Geometry that surrounds it,\n"
@@ -11769,11 +12387,11 @@ msgid ""
"Select the source Gerber file in the top object combobox."
msgstr ""
-#: flatcamTools/ToolCutOut.py:343
+#: flatcamTools/ToolCutOut.py:353
msgid "Manual Add Bridge Gaps"
msgstr ""
-#: flatcamTools/ToolCutOut.py:345
+#: flatcamTools/ToolCutOut.py:355
msgid ""
"Use the left mouse button (LMB) click\n"
"to create a bridge gap to separate the PCB from\n"
@@ -11782,81 +12400,87 @@ msgid ""
"the Geometry object used as a cutout geometry."
msgstr ""
-#: flatcamTools/ToolCutOut.py:473
+#: flatcamTools/ToolCutOut.py:485
msgid ""
"There is no object selected for Cutout.\n"
"Select one and try again."
msgstr ""
-#: flatcamTools/ToolCutOut.py:479 flatcamTools/ToolCutOut.py:651
-#: flatcamTools/ToolCutOut.py:795 flatcamTools/ToolCutOut.py:877
+#: flatcamTools/ToolCutOut.py:491 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:839 flatcamTools/ToolCutOut.py:921
+#: tclCommands/TclCommandGeoCutout.py:185
msgid "Tool Diameter is zero value. Change it to a positive real number."
msgstr ""
-#: flatcamTools/ToolCutOut.py:493 flatcamTools/ToolCutOut.py:666
+#: flatcamTools/ToolCutOut.py:505 flatcamTools/ToolCutOut.py:691
msgid "Number of gaps value is missing. Add it and retry."
msgstr ""
-#: flatcamTools/ToolCutOut.py:498 flatcamTools/ToolCutOut.py:670
+#: flatcamTools/ToolCutOut.py:510 flatcamTools/ToolCutOut.py:695
msgid ""
"Gaps value can be only one of: 'None', 'lr', 'tb', '2lr', '2tb', 4 or 8. Fill in a "
"correct value and retry. "
msgstr ""
-#: flatcamTools/ToolCutOut.py:503 flatcamTools/ToolCutOut.py:676
+#: flatcamTools/ToolCutOut.py:515 flatcamTools/ToolCutOut.py:701
msgid ""
"Cutout operation cannot be done on a multi-geo Geometry.\n"
"Optionally, this Multi-geo Geometry can be converted to Single-geo Geometry,\n"
"and after that perform Cutout."
msgstr ""
-#: flatcamTools/ToolCutOut.py:625 flatcamTools/ToolCutOut.py:784
+#: flatcamTools/ToolCutOut.py:650 flatcamTools/ToolCutOut.py:828
msgid "Any form CutOut operation finished."
msgstr ""
-#: flatcamTools/ToolCutOut.py:646 flatcamTools/ToolNonCopperClear.py:1155
-#: flatcamTools/ToolPaint.py:994 flatcamTools/ToolPanelize.py:406
-#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:70
+#: flatcamTools/ToolCutOut.py:671 flatcamTools/ToolInvertGerber.py:214
+#: flatcamTools/ToolNCC.py:1607 flatcamTools/ToolPaint.py:1385
+#: flatcamTools/ToolPanelize.py:418 tclCommands/TclCommandBbox.py:72
+#: tclCommands/TclCommandNregions.py:72
msgid "Object not found"
msgstr ""
-#: flatcamTools/ToolCutOut.py:789
+#: flatcamTools/ToolCutOut.py:814
+msgid "Rectangular cutout with negative margin is not possible."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:833
msgid "Click on the selected geometry object perimeter to create a bridge gap ..."
msgstr ""
-#: flatcamTools/ToolCutOut.py:806 flatcamTools/ToolCutOut.py:832
+#: flatcamTools/ToolCutOut.py:850 flatcamTools/ToolCutOut.py:876
msgid "Could not retrieve Geometry object"
msgstr ""
-#: flatcamTools/ToolCutOut.py:837
+#: flatcamTools/ToolCutOut.py:881
msgid "Geometry object for manual cutout not found"
msgstr ""
-#: flatcamTools/ToolCutOut.py:847
+#: flatcamTools/ToolCutOut.py:891
msgid "Added manual Bridge Gap."
msgstr ""
-#: flatcamTools/ToolCutOut.py:859
+#: flatcamTools/ToolCutOut.py:903
msgid "Could not retrieve Gerber object"
msgstr ""
-#: flatcamTools/ToolCutOut.py:864
+#: flatcamTools/ToolCutOut.py:908
msgid ""
"There is no Gerber object selected for Cutout.\n"
"Select one and try again."
msgstr ""
-#: flatcamTools/ToolCutOut.py:870
+#: flatcamTools/ToolCutOut.py:914
msgid ""
"The selected object has to be of Gerber type.\n"
"Select a Gerber file and try again."
msgstr ""
-#: flatcamTools/ToolCutOut.py:905
+#: flatcamTools/ToolCutOut.py:949
msgid "Geometry not supported for cutout"
msgstr ""
-#: flatcamTools/ToolCutOut.py:960
+#: flatcamTools/ToolCutOut.py:1007
msgid "Making manual bridge gap..."
msgstr ""
@@ -11864,325 +12488,426 @@ msgstr ""
msgid "2-Sided PCB"
msgstr ""
-#: flatcamTools/ToolDblSided.py:60
+#: flatcamTools/ToolDblSided.py:53
+msgid "Mirror Operation"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:54
+msgid "Objects to be mirrored"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:66
msgid "Gerber to be mirrored"
msgstr ""
-#: flatcamTools/ToolDblSided.py:64 flatcamTools/ToolDblSided.py:92
-#: flatcamTools/ToolDblSided.py:122
+#: flatcamTools/ToolDblSided.py:70 flatcamTools/ToolDblSided.py:98
+#: flatcamTools/ToolDblSided.py:128
msgid ""
"Mirrors (flips) the specified object around \n"
"the specified axis. Does not create a new \n"
"object, but modifies it."
msgstr ""
-#: flatcamTools/ToolDblSided.py:88
+#: flatcamTools/ToolDblSided.py:94
msgid "Excellon Object to be mirrored."
msgstr ""
-#: flatcamTools/ToolDblSided.py:117
+#: flatcamTools/ToolDblSided.py:123
msgid "Geometry Obj to be mirrored."
msgstr ""
-#: flatcamTools/ToolDblSided.py:179
-msgid "Point/Box Reference"
+#: flatcamTools/ToolDblSided.py:159
+msgid "Mirror Parameters"
msgstr ""
-#: flatcamTools/ToolDblSided.py:181
+#: flatcamTools/ToolDblSided.py:160
+msgid "Parameters for the mirror operation"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:165
+msgid "Mirror Axis"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:176
msgid ""
-"If 'Point' is selected above it store the coordinates (x, y) through which\n"
-"the mirroring axis passes.\n"
-"If 'Box' is selected above, select here a FlatCAM object (Gerber, Exc or Geo).\n"
-"Through the center of this object pass the mirroring axis selected above."
+"The coordinates used as reference for the mirror operation.\n"
+"Can be:\n"
+"- Point -> a set of coordinates (x,y) around which the object is mirrored\n"
+"- Box -> a set of coordinates (x, y) obtained from the center of the\n"
+"bounding box of another object selected below"
msgstr ""
-#: flatcamTools/ToolDblSided.py:189
+#: flatcamTools/ToolDblSided.py:190
+msgid "Point coordinates"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:195
msgid ""
"Add the coordinates in format (x, y) through which the mirroring axis \n"
" selected in 'MIRROR AXIS' pass.\n"
"The (x, y) coordinates are captured by pressing SHIFT key\n"
-"and left mouse button click on canvas or you can enter the coords manually."
+"and left mouse button click on canvas or you can enter the coordinates manually."
msgstr ""
-#: flatcamTools/ToolDblSided.py:230
-msgid "Alignment Drill Coordinates"
-msgstr ""
-
-#: flatcamTools/ToolDblSided.py:232
+#: flatcamTools/ToolDblSided.py:219
msgid ""
-"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For each set of "
-"(x, y) coordinates\n"
-"entered here, a pair of drills will be created:\n"
-"\n"
-"- one drill at the coordinates from the field\n"
-"- one drill in mirror position over the axis selected above in the 'Mirror Axis'."
+"It can be of type: Gerber or Excellon or Geometry.\n"
+"The coordinates of the center of the bounding box are used\n"
+"as reference for mirror operation."
msgstr ""
-#: flatcamTools/ToolDblSided.py:247
+#: flatcamTools/ToolDblSided.py:253
+msgid "Bounds Values"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:255
msgid ""
-"Add alignment drill holes coords in the format: (x1, y1), (x2, y2), ... \n"
-"on one side of the mirror axis.\n"
-"\n"
-"The coordinates set can be obtained:\n"
-"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then CTRL+V in the field.\n"
-"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the field and "
-"click Paste.\n"
-"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+"Select on canvas the object(s)\n"
+"for which to calculate bounds values."
msgstr ""
-#: flatcamTools/ToolDblSided.py:272
-msgid "Alignment Drill Diameter"
-msgstr ""
-
-#: flatcamTools/ToolDblSided.py:292
-msgid "Create Excellon Object"
-msgstr ""
-
-#: flatcamTools/ToolDblSided.py:294
-msgid ""
-"Creates an Excellon Object containing the\n"
-"specified alignment holes and their mirror\n"
-"images."
-msgstr ""
-
-#: flatcamTools/ToolDblSided.py:323
+#: flatcamTools/ToolDblSided.py:265
msgid "X min"
msgstr ""
-#: flatcamTools/ToolDblSided.py:325 flatcamTools/ToolDblSided.py:339
+#: flatcamTools/ToolDblSided.py:267 flatcamTools/ToolDblSided.py:281
msgid "Minimum location."
msgstr ""
-#: flatcamTools/ToolDblSided.py:337
+#: flatcamTools/ToolDblSided.py:279
msgid "Y min"
msgstr ""
-#: flatcamTools/ToolDblSided.py:351
+#: flatcamTools/ToolDblSided.py:293
msgid "X max"
msgstr ""
-#: flatcamTools/ToolDblSided.py:353 flatcamTools/ToolDblSided.py:367
+#: flatcamTools/ToolDblSided.py:295 flatcamTools/ToolDblSided.py:309
msgid "Maximum location."
msgstr ""
-#: flatcamTools/ToolDblSided.py:365
+#: flatcamTools/ToolDblSided.py:307
msgid "Y max"
msgstr ""
-#: flatcamTools/ToolDblSided.py:377
+#: flatcamTools/ToolDblSided.py:318
+msgid "Center point coordinates"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:320
msgid "Centroid"
msgstr ""
-#: flatcamTools/ToolDblSided.py:379
+#: flatcamTools/ToolDblSided.py:322
msgid ""
"The center point location for the rectangular\n"
"bounding shape. Centroid. Format is (x, y)."
msgstr ""
-#: flatcamTools/ToolDblSided.py:388
+#: flatcamTools/ToolDblSided.py:331
msgid "Calculate Bounds Values"
msgstr ""
-#: flatcamTools/ToolDblSided.py:390
+#: flatcamTools/ToolDblSided.py:333
msgid ""
"Calculate the enveloping rectangular shape coordinates,\n"
"for the selection of objects.\n"
"The envelope shape is parallel with the X, Y axis."
msgstr ""
-#: flatcamTools/ToolDblSided.py:462
+#: flatcamTools/ToolDblSided.py:353
+msgid "PCB Alignment"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:355 flatcamTools/ToolDblSided.py:457
+msgid ""
+"Creates an Excellon Object containing the\n"
+"specified alignment holes and their mirror\n"
+"images."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:362
+msgid "Drill Diameter"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:391 flatcamTools/ToolDblSided.py:398
+msgid ""
+"The reference point used to create the second alignment drill\n"
+"from the first alignment drill, by doing mirror.\n"
+"It can be modified in the Mirror Parameters -> Reference section"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:411
+msgid "Alignment Drill Coordinates"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:413
+msgid ""
+"Alignment holes (x1, y1), (x2, y2), ... on one side of the mirror axis. For each set of "
+"(x, y) coordinates\n"
+"entered here, a pair of drills will be created:\n"
+"\n"
+"- one drill at the coordinates from the field\n"
+"- one drill in mirror position over the axis selected above in the 'Align Axis'."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:421
+msgid "Drill coordinates"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:428
+msgid ""
+"Add alignment drill holes coordinates in the format: (x1, y1), (x2, y2), ... \n"
+"on one side of the alignment axis.\n"
+"\n"
+"The coordinates set can be obtained:\n"
+"- press SHIFT key and left mouse clicking on canvas. Then click Add.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then Ctrl+V in the field.\n"
+"- press SHIFT key and left mouse clicking on canvas. Then RMB click in the field and "
+"click Paste.\n"
+"- by entering the coords manually in the format: (x1, y1), (x2, y2), ..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:443
+msgid "Delete Last"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:445
+msgid "Delete the last coordinates tuple in the list."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:455
+msgid "Create Excellon Object"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:542
msgid "2-Sided Tool"
msgstr ""
-#: flatcamTools/ToolDblSided.py:493
+#: flatcamTools/ToolDblSided.py:582
msgid ""
"'Point' reference is selected and 'Point' coordinates are missing. Add them and retry."
msgstr ""
-#: flatcamTools/ToolDblSided.py:512
+#: flatcamTools/ToolDblSided.py:601
msgid "There is no Box reference object loaded. Load one and retry."
msgstr ""
-#: flatcamTools/ToolDblSided.py:524
+#: flatcamTools/ToolDblSided.py:613
msgid "No value or wrong format in Drill Dia entry. Add it and retry."
msgstr ""
-#: flatcamTools/ToolDblSided.py:532
+#: flatcamTools/ToolDblSided.py:624
msgid "There are no Alignment Drill Coordinates to use. Add them and retry."
msgstr ""
-#: flatcamTools/ToolDblSided.py:555
+#: flatcamTools/ToolDblSided.py:649
msgid "Excellon object with alignment drills created..."
msgstr ""
-#: flatcamTools/ToolDblSided.py:568 flatcamTools/ToolDblSided.py:611
-#: flatcamTools/ToolDblSided.py:655
+#: flatcamTools/ToolDblSided.py:662 flatcamTools/ToolDblSided.py:705
+#: flatcamTools/ToolDblSided.py:749
msgid "Only Gerber, Excellon and Geometry objects can be mirrored."
msgstr ""
-#: flatcamTools/ToolDblSided.py:578
-msgid "'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
-msgstr ""
-
-#: flatcamTools/ToolDblSided.py:588 flatcamTools/ToolDblSided.py:632
-#: flatcamTools/ToolDblSided.py:669
-msgid "There is no Box object loaded ..."
-msgstr ""
-
-#: flatcamTools/ToolDblSided.py:598 flatcamTools/ToolDblSided.py:642
-#: flatcamTools/ToolDblSided.py:679
-msgid "was mirrored"
-msgstr ""
-
-#: flatcamTools/ToolDblSided.py:607
-msgid "There is no Excellon object loaded ..."
-msgstr ""
-
-#: flatcamTools/ToolDblSided.py:622
+#: flatcamTools/ToolDblSided.py:672 flatcamTools/ToolDblSided.py:716
msgid "There are no Point coordinates in the Point field. Add coords and try again ..."
msgstr ""
-#: flatcamTools/ToolDblSided.py:651
+#: flatcamTools/ToolDblSided.py:682 flatcamTools/ToolDblSided.py:726
+#: flatcamTools/ToolDblSided.py:763
+msgid "There is no Box object loaded ..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:692 flatcamTools/ToolDblSided.py:736
+#: flatcamTools/ToolDblSided.py:773
+msgid "was mirrored"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:701 flatcamTools/ToolPunchGerber.py:533
+msgid "There is no Excellon object loaded ..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:745
msgid "There is no Geometry object loaded ..."
msgstr ""
-#: flatcamTools/ToolDistance.py:50 flatcamTools/ToolDistanceMin.py:50
+#: flatcamTools/ToolDistance.py:57 flatcamTools/ToolDistanceMin.py:51
msgid "Those are the units in which the distance is measured."
msgstr ""
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "METRIC (mm)"
msgstr ""
-#: flatcamTools/ToolDistance.py:51 flatcamTools/ToolDistanceMin.py:51
+#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistanceMin.py:52
msgid "INCH (in)"
msgstr ""
-#: flatcamTools/ToolDistance.py:54
+#: flatcamTools/ToolDistance.py:64
+msgid "Snap to center"
+msgstr ""
+
+#: flatcamTools/ToolDistance.py:66
+msgid ""
+"Mouse cursor will snap to the center of the pad/drill\n"
+"when it is hovering over the geometry of the pad/drill."
+msgstr ""
+
+#: flatcamTools/ToolDistance.py:76
msgid "Start Coords"
msgstr ""
-#: flatcamTools/ToolDistance.py:55 flatcamTools/ToolDistance.py:75
+#: flatcamTools/ToolDistance.py:77 flatcamTools/ToolDistance.py:82
msgid "This is measuring Start point coordinates."
msgstr ""
-#: flatcamTools/ToolDistance.py:57
+#: flatcamTools/ToolDistance.py:87
msgid "Stop Coords"
msgstr ""
-#: flatcamTools/ToolDistance.py:58 flatcamTools/ToolDistance.py:80
+#: flatcamTools/ToolDistance.py:88 flatcamTools/ToolDistance.py:93
msgid "This is the measuring Stop point coordinates."
msgstr ""
-#: flatcamTools/ToolDistance.py:60 flatcamTools/ToolDistanceMin.py:62
+#: flatcamTools/ToolDistance.py:98 flatcamTools/ToolDistanceMin.py:63
msgid "Dx"
msgstr ""
-#: flatcamTools/ToolDistance.py:61 flatcamTools/ToolDistance.py:85
-#: flatcamTools/ToolDistanceMin.py:63 flatcamTools/ToolDistanceMin.py:92
+#: flatcamTools/ToolDistance.py:99 flatcamTools/ToolDistance.py:104
+#: flatcamTools/ToolDistanceMin.py:64 flatcamTools/ToolDistanceMin.py:93
msgid "This is the distance measured over the X axis."
msgstr ""
-#: flatcamTools/ToolDistance.py:63 flatcamTools/ToolDistanceMin.py:65
+#: flatcamTools/ToolDistance.py:109 flatcamTools/ToolDistanceMin.py:66
msgid "Dy"
msgstr ""
-#: flatcamTools/ToolDistance.py:64 flatcamTools/ToolDistance.py:90
-#: flatcamTools/ToolDistanceMin.py:66 flatcamTools/ToolDistanceMin.py:97
+#: flatcamTools/ToolDistance.py:110 flatcamTools/ToolDistance.py:115
+#: flatcamTools/ToolDistanceMin.py:67 flatcamTools/ToolDistanceMin.py:98
msgid "This is the distance measured over the Y axis."
msgstr ""
-#: flatcamTools/ToolDistance.py:67 flatcamTools/ToolDistance.py:95
-#: flatcamTools/ToolDistanceMin.py:69 flatcamTools/ToolDistanceMin.py:102
+#: flatcamTools/ToolDistance.py:121 flatcamTools/ToolDistance.py:126
+#: flatcamTools/ToolDistanceMin.py:70 flatcamTools/ToolDistanceMin.py:103
msgid "This is orientation angle of the measuring line."
msgstr ""
-#: flatcamTools/ToolDistance.py:69 flatcamTools/ToolDistanceMin.py:71
+#: flatcamTools/ToolDistance.py:131 flatcamTools/ToolDistanceMin.py:72
msgid "DISTANCE"
msgstr ""
-#: flatcamTools/ToolDistance.py:70 flatcamTools/ToolDistance.py:100
+#: flatcamTools/ToolDistance.py:132 flatcamTools/ToolDistance.py:137
msgid "This is the point to point Euclidian distance."
msgstr ""
-#: flatcamTools/ToolDistance.py:102 flatcamTools/ToolDistanceMin.py:114
+#: flatcamTools/ToolDistance.py:142 flatcamTools/ToolDistance.py:337
+#: flatcamTools/ToolDistanceMin.py:115
msgid "Measure"
msgstr ""
-#: flatcamTools/ToolDistance.py:212
+#: flatcamTools/ToolDistance.py:272
+msgid "Working"
+msgstr ""
+
+#: flatcamTools/ToolDistance.py:277
msgid "MEASURING: Click on the Start point ..."
msgstr ""
-#: flatcamTools/ToolDistance.py:345
+#: flatcamTools/ToolDistance.py:387
+msgid "Distance Tool finished."
+msgstr ""
+
+#: flatcamTools/ToolDistance.py:455
+msgid "Pads overlapped. Aborting."
+msgstr ""
+
+#: flatcamTools/ToolDistance.py:485
msgid "MEASURING: Click on the Destination point ..."
msgstr ""
-#: flatcamTools/ToolDistance.py:353 flatcamTools/ToolDistanceMin.py:282
+#: flatcamTools/ToolDistance.py:494 flatcamTools/ToolDistanceMin.py:285
msgid "MEASURING"
msgstr ""
-#: flatcamTools/ToolDistance.py:354 flatcamTools/ToolDistanceMin.py:283
+#: flatcamTools/ToolDistance.py:495 flatcamTools/ToolDistanceMin.py:286
msgid "Result"
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:31 flatcamTools/ToolDistanceMin.py:152
+#: flatcamTools/ToolDistanceMin.py:32 flatcamTools/ToolDistanceMin.py:144
msgid "Minimum Distance Tool"
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:54
+#: flatcamTools/ToolDistanceMin.py:55
msgid "First object point"
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:55 flatcamTools/ToolDistanceMin.py:80
+#: flatcamTools/ToolDistanceMin.py:56 flatcamTools/ToolDistanceMin.py:81
msgid ""
"This is first object point coordinates.\n"
"This is the start point for measuring distance."
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:58
+#: flatcamTools/ToolDistanceMin.py:59
msgid "Second object point"
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:59 flatcamTools/ToolDistanceMin.py:86
+#: flatcamTools/ToolDistanceMin.py:60 flatcamTools/ToolDistanceMin.py:87
msgid ""
"This is second object point coordinates.\n"
"This is the end point for measuring distance."
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:72 flatcamTools/ToolDistanceMin.py:107
+#: flatcamTools/ToolDistanceMin.py:73 flatcamTools/ToolDistanceMin.py:108
msgid "This is the point to point Euclidean distance."
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:74
+#: flatcamTools/ToolDistanceMin.py:75
msgid "Half Point"
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:75 flatcamTools/ToolDistanceMin.py:112
+#: flatcamTools/ToolDistanceMin.py:76 flatcamTools/ToolDistanceMin.py:113
msgid "This is the middle point of the point to point Euclidean distance."
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:117
+#: flatcamTools/ToolDistanceMin.py:118
msgid "Jump to Half Point"
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:163
+#: flatcamTools/ToolDistanceMin.py:155
msgid "Select two objects and no more, to measure the distance between them ..."
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:204 flatcamTools/ToolDistanceMin.py:214
-#: flatcamTools/ToolDistanceMin.py:223 flatcamTools/ToolDistanceMin.py:244
+#: flatcamTools/ToolDistanceMin.py:196 flatcamTools/ToolDistanceMin.py:217
+#: flatcamTools/ToolDistanceMin.py:226 flatcamTools/ToolDistanceMin.py:247
msgid "Select two objects and no more. Currently the selection has objects: "
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:291
+#: flatcamTools/ToolDistanceMin.py:294
msgid "Objects intersects or touch at"
msgstr ""
-#: flatcamTools/ToolDistanceMin.py:297
+#: flatcamTools/ToolDistanceMin.py:300
msgid "Jumped to the half point between the two selected objects"
msgstr ""
+#: flatcamTools/ToolExtractDrills.py:29 flatcamTools/ToolExtractDrills.py:295
+msgid "Extract Drills"
+msgstr ""
+
+#: flatcamTools/ToolExtractDrills.py:62
+msgid "Gerber from which to extract drill holes"
+msgstr ""
+
+#: flatcamTools/ToolExtractDrills.py:297
+msgid "Extract drills from a given Gerber file."
+msgstr ""
+
+#: flatcamTools/ToolExtractDrills.py:478 flatcamTools/ToolExtractDrills.py:563
+#: flatcamTools/ToolExtractDrills.py:648
+msgid "No drills extracted. Try different parameters."
+msgstr ""
+
#: flatcamTools/ToolFiducials.py:56
msgid "Fiducials Coordinates"
msgstr ""
@@ -12197,41 +12922,37 @@ msgstr ""
msgid "Top Right"
msgstr ""
-#: flatcamTools/ToolFiducials.py:111
-msgid "Second Point"
-msgstr ""
-
#: flatcamTools/ToolFiducials.py:191
msgid ""
"- 'Auto' - automatic placement of fiducials in the corners of the bounding box.\n"
" - 'Manual' - manual placement of fiducials."
msgstr ""
-#: flatcamTools/ToolFiducials.py:258
+#: flatcamTools/ToolFiducials.py:259
msgid "Copper Gerber"
msgstr ""
-#: flatcamTools/ToolFiducials.py:267
+#: flatcamTools/ToolFiducials.py:268
msgid "Add Fiducial"
msgstr ""
-#: flatcamTools/ToolFiducials.py:269
+#: flatcamTools/ToolFiducials.py:270
msgid "Will add a polygon on the copper layer to serve as fiducial."
msgstr ""
-#: flatcamTools/ToolFiducials.py:285
+#: flatcamTools/ToolFiducials.py:286
msgid "Soldermask Gerber"
msgstr ""
-#: flatcamTools/ToolFiducials.py:287
+#: flatcamTools/ToolFiducials.py:288
msgid "The Soldermask Gerber object."
msgstr ""
-#: flatcamTools/ToolFiducials.py:298
+#: flatcamTools/ToolFiducials.py:300
msgid "Add Soldermask Opening"
msgstr ""
-#: flatcamTools/ToolFiducials.py:300
+#: flatcamTools/ToolFiducials.py:302
msgid ""
"Will add a polygon on the soldermask layer\n"
"to serve as fiducial opening.\n"
@@ -12239,23 +12960,23 @@ msgid ""
"for the copper fiducial."
msgstr ""
-#: flatcamTools/ToolFiducials.py:514
+#: flatcamTools/ToolFiducials.py:516
msgid "Click to add first Fiducial. Bottom Left..."
msgstr ""
-#: flatcamTools/ToolFiducials.py:778
+#: flatcamTools/ToolFiducials.py:780
msgid "Click to add the last fiducial. Top Right..."
msgstr ""
-#: flatcamTools/ToolFiducials.py:783
+#: flatcamTools/ToolFiducials.py:785
msgid "Click to add the second fiducial. Top Left or Bottom Right..."
msgstr ""
-#: flatcamTools/ToolFiducials.py:786 flatcamTools/ToolFiducials.py:795
+#: flatcamTools/ToolFiducials.py:788 flatcamTools/ToolFiducials.py:797
msgid "Done. All fiducials have been added."
msgstr ""
-#: flatcamTools/ToolFiducials.py:872
+#: flatcamTools/ToolFiducials.py:874
msgid "Fiducials Tool exit."
msgstr ""
@@ -12263,7 +12984,7 @@ msgstr ""
msgid "Film PCB"
msgstr ""
-#: flatcamTools/ToolFilm.py:80
+#: flatcamTools/ToolFilm.py:78
msgid ""
"Specify the type of object for which to create the film.\n"
"The object can be of type: Gerber or Geometry.\n"
@@ -12271,11 +12992,11 @@ msgid ""
"in the Film Object combobox."
msgstr ""
-#: flatcamTools/ToolFilm.py:94
+#: flatcamTools/ToolFilm.py:92
msgid "Film Object"
msgstr ""
-#: flatcamTools/ToolFilm.py:96
+#: flatcamTools/ToolFilm.py:94
msgid "Object for which to create the film."
msgstr ""
@@ -12287,7 +13008,7 @@ msgid ""
"in the Box Object combobox."
msgstr ""
-#: flatcamTools/ToolFilm.py:129 flatcamTools/ToolPanelize.py:136
+#: flatcamTools/ToolFilm.py:129
msgid "Box Object"
msgstr ""
@@ -12337,19 +13058,19 @@ msgstr ""
msgid "Remove the geometry of Excellon from the Film to create the holes in pads."
msgstr ""
-#: flatcamTools/ToolFilm.py:379
+#: flatcamTools/ToolFilm.py:381
msgid "Punch Size"
msgstr ""
-#: flatcamTools/ToolFilm.py:380
+#: flatcamTools/ToolFilm.py:382
msgid "The value here will control how big is the punch hole in the pads."
msgstr ""
-#: flatcamTools/ToolFilm.py:500
+#: flatcamTools/ToolFilm.py:502
msgid "Save Film"
msgstr ""
-#: flatcamTools/ToolFilm.py:502
+#: flatcamTools/ToolFilm.py:504
msgid ""
"Create a Film for the selected object, within\n"
"the specified box. Does not create a new \n"
@@ -12357,75 +13078,67 @@ msgid ""
"selected format."
msgstr ""
-#: flatcamTools/ToolFilm.py:652
+#: flatcamTools/ToolFilm.py:664
msgid ""
"Using the Pad center does not work on Geometry objects. Only a Gerber object has pads."
msgstr ""
-#: flatcamTools/ToolFilm.py:662
+#: flatcamTools/ToolFilm.py:674
msgid "No FlatCAM object selected. Load an object for Film and retry."
msgstr ""
-#: flatcamTools/ToolFilm.py:669
+#: flatcamTools/ToolFilm.py:681
msgid "No FlatCAM object selected. Load an object for Box and retry."
msgstr ""
-#: flatcamTools/ToolFilm.py:673
+#: flatcamTools/ToolFilm.py:685
msgid "No FlatCAM object selected."
msgstr ""
-#: flatcamTools/ToolFilm.py:684
+#: flatcamTools/ToolFilm.py:696
msgid "Generating Film ..."
msgstr ""
-#: flatcamTools/ToolFilm.py:733 flatcamTools/ToolFilm.py:737
+#: flatcamTools/ToolFilm.py:745 flatcamTools/ToolFilm.py:749
msgid "Export positive film"
msgstr ""
-#: flatcamTools/ToolFilm.py:742
-msgid "Export positive film cancelled."
-msgstr ""
-
-#: flatcamTools/ToolFilm.py:770
+#: flatcamTools/ToolFilm.py:782
msgid "No Excellon object selected. Load an object for punching reference and retry."
msgstr ""
-#: flatcamTools/ToolFilm.py:794
+#: flatcamTools/ToolFilm.py:806
msgid ""
" Could not generate punched hole film because the punch hole sizeis bigger than some of "
"the apertures in the Gerber object."
msgstr ""
-#: flatcamTools/ToolFilm.py:806
+#: flatcamTools/ToolFilm.py:818
msgid ""
"Could not generate punched hole film because the punch hole sizeis bigger than some of "
"the apertures in the Gerber object."
msgstr ""
-#: flatcamTools/ToolFilm.py:824
+#: flatcamTools/ToolFilm.py:836
msgid ""
"Could not generate punched hole film because the newly created object geometry is the "
"same as the one in the source object geometry..."
msgstr ""
-#: flatcamTools/ToolFilm.py:879 flatcamTools/ToolFilm.py:883
+#: flatcamTools/ToolFilm.py:891 flatcamTools/ToolFilm.py:895
msgid "Export negative film"
msgstr ""
-#: flatcamTools/ToolFilm.py:888
-msgid "Export negative film cancelled."
-msgstr ""
-
-#: flatcamTools/ToolFilm.py:944 flatcamTools/ToolFilm.py:1122
-#: flatcamTools/ToolPanelize.py:421
+#: flatcamTools/ToolFilm.py:956 flatcamTools/ToolFilm.py:1139
+#: flatcamTools/ToolPanelize.py:433
msgid "No object Box. Using instead"
msgstr ""
-#: flatcamTools/ToolFilm.py:1060 flatcamTools/ToolFilm.py:1235
+#: flatcamTools/ToolFilm.py:1072 flatcamTools/ToolFilm.py:1252
msgid "Film file exported to"
msgstr ""
-#: flatcamTools/ToolFilm.py:1063 flatcamTools/ToolFilm.py:1238
+#: flatcamTools/ToolFilm.py:1075 flatcamTools/ToolFilm.py:1255
msgid "Generating Film ... Please wait."
msgstr ""
@@ -12437,40 +13150,40 @@ msgstr ""
msgid "Image to PCB"
msgstr ""
-#: flatcamTools/ToolImage.py:57
+#: flatcamTools/ToolImage.py:56
msgid ""
"Specify the type of object to create from the image.\n"
"It can be of type: Gerber or Geometry."
msgstr ""
-#: flatcamTools/ToolImage.py:66
+#: flatcamTools/ToolImage.py:65
msgid "DPI value"
msgstr ""
-#: flatcamTools/ToolImage.py:67
+#: flatcamTools/ToolImage.py:66
msgid "Specify a DPI value for the image."
msgstr ""
-#: flatcamTools/ToolImage.py:73
+#: flatcamTools/ToolImage.py:72
msgid "Level of detail"
msgstr ""
-#: flatcamTools/ToolImage.py:82
+#: flatcamTools/ToolImage.py:81
msgid "Image type"
msgstr ""
-#: flatcamTools/ToolImage.py:84
+#: flatcamTools/ToolImage.py:83
msgid ""
"Choose a method for the image interpretation.\n"
"B/W means a black & white image. Color means a colored image."
msgstr ""
-#: flatcamTools/ToolImage.py:93 flatcamTools/ToolImage.py:108 flatcamTools/ToolImage.py:121
-#: flatcamTools/ToolImage.py:134
+#: flatcamTools/ToolImage.py:92 flatcamTools/ToolImage.py:107 flatcamTools/ToolImage.py:120
+#: flatcamTools/ToolImage.py:133
msgid "Mask value"
msgstr ""
-#: flatcamTools/ToolImage.py:95
+#: flatcamTools/ToolImage.py:94
msgid ""
"Mask for monochrome image.\n"
"Takes values between [0 ... 255].\n"
@@ -12480,7 +13193,7 @@ msgid ""
"(which is totally black)."
msgstr ""
-#: flatcamTools/ToolImage.py:110
+#: flatcamTools/ToolImage.py:109
msgid ""
"Mask for RED color.\n"
"Takes values between [0 ... 255].\n"
@@ -12488,7 +13201,7 @@ msgid ""
"in the resulting geometry."
msgstr ""
-#: flatcamTools/ToolImage.py:123
+#: flatcamTools/ToolImage.py:122
msgid ""
"Mask for GREEN color.\n"
"Takes values between [0 ... 255].\n"
@@ -12496,7 +13209,7 @@ msgid ""
"in the resulting geometry."
msgstr ""
-#: flatcamTools/ToolImage.py:136
+#: flatcamTools/ToolImage.py:135
msgid ""
"Mask for BLUE color.\n"
"Takes values between [0 ... 255].\n"
@@ -12504,32 +13217,55 @@ msgid ""
"in the resulting geometry."
msgstr ""
-#: flatcamTools/ToolImage.py:144
+#: flatcamTools/ToolImage.py:143
msgid "Import image"
msgstr ""
-#: flatcamTools/ToolImage.py:146
+#: flatcamTools/ToolImage.py:145
msgid "Open a image of raster type and then import it in FlatCAM."
msgstr ""
-#: flatcamTools/ToolImage.py:183
+#: flatcamTools/ToolImage.py:182
msgid "Image Tool"
msgstr ""
-#: flatcamTools/ToolImage.py:235 flatcamTools/ToolImage.py:238
+#: flatcamTools/ToolImage.py:234 flatcamTools/ToolImage.py:237
msgid "Import IMAGE"
msgstr ""
-#: flatcamTools/ToolImage.py:286
+#: flatcamTools/ToolImage.py:285
msgid "Importing Image"
msgstr ""
+#: flatcamTools/ToolInvertGerber.py:74
+msgid "Gerber object that will be inverted."
+msgstr ""
+
+#: flatcamTools/ToolInvertGerber.py:83
+msgid "Parameters for this tool"
+msgstr ""
+
+#: flatcamTools/ToolInvertGerber.py:123
+msgid "Invert Gerber"
+msgstr ""
+
+#: flatcamTools/ToolInvertGerber.py:125
+msgid ""
+"Will invert the Gerber object: areas that have copper\n"
+"will be empty of copper and previous empty area will be\n"
+"filled with copper."
+msgstr ""
+
+#: flatcamTools/ToolInvertGerber.py:184
+msgid "Invert Tool"
+msgstr ""
+
#: flatcamTools/ToolMove.py:103
msgid "MOVE: Click on the Start point ..."
msgstr ""
#: flatcamTools/ToolMove.py:114
-msgid "MOVE action cancelled. No object(s) to move."
+msgid "Cancelled. No object(s) to move."
msgstr ""
#: flatcamTools/ToolMove.py:141
@@ -12544,19 +13280,15 @@ msgstr ""
msgid "No object(s) selected."
msgstr ""
-#: flatcamTools/ToolMove.py:212
+#: flatcamTools/ToolMove.py:222
msgid "Error when mouse left click."
msgstr ""
-#: flatcamTools/ToolMove.py:260
-msgid "Move action cancelled."
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:38
+#: flatcamTools/ToolNCC.py:42
msgid "Non-Copper Clearing"
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:84
+#: flatcamTools/ToolNCC.py:88
msgid ""
"Specify the type of object to be cleared of excess copper.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -12564,21 +13296,17 @@ msgid ""
"of objects that will populate the 'Object' combobox."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:101
+#: flatcamTools/ToolNCC.py:110
msgid "Object to be cleared of excess copper."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:111
+#: flatcamTools/ToolNCC.py:122
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for copper clearing."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:120
-msgid "Operation"
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:126
+#: flatcamTools/ToolNCC.py:138
msgid ""
"This is the Tool Number.\n"
"Non copper clearing will start with the tool with the biggest \n"
@@ -12588,13 +13316,13 @@ msgid ""
"this function will not be able to create painting geometry."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:134
+#: flatcamTools/ToolNCC.py:146
msgid ""
"Tool Diameter. It's value (in current FlatCAM units)\n"
"is the cut width into the material."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:138
+#: flatcamTools/ToolNCC.py:150
msgid ""
"The Tool Type (TT) can be:\n"
"- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n"
@@ -12609,298 +13337,281 @@ msgid ""
"in the resulting geometry as Isolation."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:151
-msgid ""
-"The 'Operation' can be:\n"
-"- Isolation -> will ensure that the non-copper clearing is always complete.\n"
-"If it's not successful then the non-copper clearing will fail, too.\n"
-"- Clear -> the regular non-copper clearing."
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:209
-msgid "Tool Selection"
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:273
-msgid ""
-"Diameter for the new tool to add in the Tool Table.\n"
-"If the tool is V-shape type then this value is automatically\n"
-"calculated from the other parameters."
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:288 flatcamTools/ToolPaint.py:190
+#: flatcamTools/ToolNCC.py:296 flatcamTools/ToolPaint.py:279
msgid ""
"Add a new tool to the Tool Table\n"
"with the diameter specified above."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:300 flatcamTools/ToolPaint.py:202
-#: flatcamTools/ToolSolderPaste.py:129
+#: flatcamTools/ToolNCC.py:318 flatcamTools/ToolPaint.py:301
+#: flatcamTools/ToolSolderPaste.py:131
msgid ""
"Delete a selection of tools in the Tool Table\n"
"by first selecting a row(s) in the Tool Table."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:435
-msgid ""
-"- 'Itself' - the non copper clearing extent is based on the object that is copper "
-"cleared.\n"
-" - 'Area Selection' - left mouse click to start selection of the area to be painted.\n"
-"- 'Reference Object' - will do non copper clearing within the area specified by another "
-"object."
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:447
+#: flatcamTools/ToolNCC.py:554
msgid ""
"The type of FlatCAM object to be used as non copper clearing reference.\n"
"It can be Gerber, Excellon or Geometry."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:471
+#: flatcamTools/ToolNCC.py:597 flatcamTools/ToolPaint.py:537
msgid "Generate Geometry"
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:582 flatcamTools/ToolPaint.py:493
-#: flatcamTools/ToolSolderPaste.py:553
-msgid "New Tool"
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:981 flatcamTools/ToolPaint.py:766
-#: flatcamTools/ToolSolderPaste.py:887
+#: flatcamTools/ToolNCC.py:1429 flatcamTools/ToolPaint.py:1172
+#: flatcamTools/ToolSolderPaste.py:888
msgid "Please enter a tool diameter to add, in Float format."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1012 flatcamTools/ToolPaint.py:791
-msgid "Adding tool cancelled. Tool already in Tool Table."
+#: flatcamTools/ToolNCC.py:1460 flatcamTools/ToolNCC.py:4013 flatcamTools/ToolPaint.py:1196
+#: flatcamTools/ToolPaint.py:3587 flatcamTools/ToolSolderPaste.py:917
+msgid "Cancelled. Tool already in Tool Table."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1017 flatcamTools/ToolPaint.py:797
+#: flatcamTools/ToolNCC.py:1467 flatcamTools/ToolNCC.py:4030 flatcamTools/ToolPaint.py:1201
+#: flatcamTools/ToolPaint.py:3604
msgid "New tool added to Tool Table."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1061 flatcamTools/ToolPaint.py:843
+#: flatcamTools/ToolNCC.py:1511 flatcamTools/ToolPaint.py:1245
msgid "Tool from Tool Table was edited."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1072 flatcamTools/ToolPaint.py:855
-#: flatcamTools/ToolSolderPaste.py:978
-msgid "Edit cancelled. New diameter value is already in the Tool Table."
+#: flatcamTools/ToolNCC.py:1523 flatcamTools/ToolPaint.py:1257
+#: flatcamTools/ToolSolderPaste.py:977
+msgid "Cancelled. New diameter value is already in the Tool Table."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1119 flatcamTools/ToolPaint.py:953
+#: flatcamTools/ToolNCC.py:1575 flatcamTools/ToolPaint.py:1355
msgid "Delete failed. Select a tool to delete."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1124 flatcamTools/ToolPaint.py:959
+#: flatcamTools/ToolNCC.py:1581 flatcamTools/ToolPaint.py:1361
msgid "Tool(s) deleted from Tool Table."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1171
+#: flatcamTools/ToolNCC.py:1623
msgid "Wrong Tool Dia value format entered, use a number."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1180 flatcamTools/ToolPaint.py:1023
+#: flatcamTools/ToolNCC.py:1632 flatcamTools/ToolPaint.py:1412
msgid "No selected tools in Tool Table."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1255 flatcamTools/ToolPaint.py:1195
+#: flatcamTools/ToolNCC.py:1708 flatcamTools/ToolPaint.py:1588
msgid "Click the end point of the paint area."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1410 flatcamTools/ToolNonCopperClear.py:1412
-msgid "Non-Copper clearing ..."
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:1422
-msgid "NCC Tool started. Reading parameters."
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:1485
+#: flatcamTools/ToolNCC.py:1976 flatcamTools/ToolNCC.py:2964
msgid "NCC Tool. Preparing non-copper polygons."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1581
-msgid "NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:1613
+#: flatcamTools/ToolNCC.py:2035 flatcamTools/ToolNCC.py:3092
msgid "NCC Tool. Calculate 'empty' area."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1626 flatcamTools/ToolNonCopperClear.py:1723
-#: flatcamTools/ToolNonCopperClear.py:1735 flatcamTools/ToolNonCopperClear.py:2018
-#: flatcamTools/ToolNonCopperClear.py:2114 flatcamTools/ToolNonCopperClear.py:2126
+#: flatcamTools/ToolNCC.py:2054 flatcamTools/ToolNCC.py:2160 flatcamTools/ToolNCC.py:2174
+#: flatcamTools/ToolNCC.py:3105 flatcamTools/ToolNCC.py:3210 flatcamTools/ToolNCC.py:3225
+#: flatcamTools/ToolNCC.py:3491 flatcamTools/ToolNCC.py:3592 flatcamTools/ToolNCC.py:3607
msgid "Buffering finished"
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1742 flatcamTools/ToolNonCopperClear.py:2132
-msgid "The selected object is not suitable for copper clearing."
-msgstr ""
-
-#: flatcamTools/ToolNonCopperClear.py:1747 flatcamTools/ToolNonCopperClear.py:2137
+#: flatcamTools/ToolNCC.py:2062 flatcamTools/ToolNCC.py:2181 flatcamTools/ToolNCC.py:3113
+#: flatcamTools/ToolNCC.py:3232 flatcamTools/ToolNCC.py:3498 flatcamTools/ToolNCC.py:3614
msgid "Could not get the extent of the area to be non copper cleared."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1754
+#: flatcamTools/ToolNCC.py:2089 flatcamTools/ToolNCC.py:2167 flatcamTools/ToolNCC.py:3140
+#: flatcamTools/ToolNCC.py:3217 flatcamTools/ToolNCC.py:3518 flatcamTools/ToolNCC.py:3599
+msgid "Isolation geometry is broken. Margin is less than isolation tool diameter."
+msgstr ""
+
+#: flatcamTools/ToolNCC.py:2184 flatcamTools/ToolNCC.py:3236 flatcamTools/ToolNCC.py:3617
+msgid "The selected object is not suitable for copper clearing."
+msgstr ""
+
+#: flatcamTools/ToolNCC.py:2191 flatcamTools/ToolNCC.py:3243
msgid "NCC Tool. Finished calculation of 'empty' area."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1768 flatcamTools/ToolNonCopperClear.py:2162
-msgid "NCC Tool clearing with tool diameter = "
+#: flatcamTools/ToolNCC.py:2222 flatcamTools/ToolNCC.py:2224 flatcamTools/ToolNCC.py:2916
+#: flatcamTools/ToolNCC.py:2918
+msgid "Non-Copper clearing ..."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1771 flatcamTools/ToolNonCopperClear.py:2165
+#: flatcamTools/ToolNCC.py:2278 flatcamTools/ToolNCC.py:3060
+msgid "NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
+msgstr ""
+
+#: flatcamTools/ToolNCC.py:2312 flatcamTools/ToolNCC.py:2592
+msgid "NCC Tool failed creating bounding box."
+msgstr ""
+
+#: flatcamTools/ToolNCC.py:2326 flatcamTools/ToolNCC.py:2609 flatcamTools/ToolNCC.py:3256
+#: flatcamTools/ToolNCC.py:3642
+msgid "NCC Tool clearing with tool diameter"
+msgstr ""
+
+#: flatcamTools/ToolNCC.py:2326 flatcamTools/ToolNCC.py:2609 flatcamTools/ToolNCC.py:3256
+#: flatcamTools/ToolNCC.py:3642
msgid "started."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1947
+#: flatcamTools/ToolNCC.py:2518 flatcamTools/ToolNCC.py:3417
msgid ""
"There is no NCC Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted geometry.\n"
"Change the painting parameters and try again."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1967
+#: flatcamTools/ToolNCC.py:2527 flatcamTools/ToolNCC.py:3426
msgid "NCC Tool clear all done."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1969
+#: flatcamTools/ToolNCC.py:2530 flatcamTools/ToolNCC.py:3429
msgid "NCC Tool clear all done but the copper features isolation is broken for"
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:1972 flatcamTools/ToolNonCopperClear.py:2341
+#: flatcamTools/ToolNCC.py:2532 flatcamTools/ToolNCC.py:2817 flatcamTools/ToolNCC.py:3431
+#: flatcamTools/ToolNCC.py:3814
msgid "tools"
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:2337
+#: flatcamTools/ToolNCC.py:2813 flatcamTools/ToolNCC.py:3810
msgid "NCC Tool Rest Machining clear all done."
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:2340
+#: flatcamTools/ToolNCC.py:2816 flatcamTools/ToolNCC.py:3813
msgid ""
"NCC Tool Rest Machining clear all done but the copper features isolation is broken for"
msgstr ""
-#: flatcamTools/ToolNonCopperClear.py:2787
+#: flatcamTools/ToolNCC.py:2928
+msgid "NCC Tool started. Reading parameters."
+msgstr ""
+
+#: flatcamTools/ToolNCC.py:3906
msgid ""
"Try to use the Buffering Type = Full in Preferences -> Gerber General. Reload the Gerber "
"file after this change."
msgstr ""
-#: flatcamTools/ToolOptimal.py:79
+#: flatcamTools/ToolOptimal.py:80
msgid "Number of decimals kept for found distances."
msgstr ""
-#: flatcamTools/ToolOptimal.py:87
+#: flatcamTools/ToolOptimal.py:88
msgid "Minimum distance"
msgstr ""
-#: flatcamTools/ToolOptimal.py:88
+#: flatcamTools/ToolOptimal.py:89
msgid "Display minimum distance between copper features."
msgstr ""
-#: flatcamTools/ToolOptimal.py:92
+#: flatcamTools/ToolOptimal.py:93
msgid "Determined"
msgstr ""
-#: flatcamTools/ToolOptimal.py:106
+#: flatcamTools/ToolOptimal.py:107
msgid "Occurring"
msgstr ""
-#: flatcamTools/ToolOptimal.py:107
+#: flatcamTools/ToolOptimal.py:108
msgid "How many times this minimum is found."
msgstr ""
-#: flatcamTools/ToolOptimal.py:113
+#: flatcamTools/ToolOptimal.py:114
msgid "Minimum points coordinates"
msgstr ""
-#: flatcamTools/ToolOptimal.py:114 flatcamTools/ToolOptimal.py:120
+#: flatcamTools/ToolOptimal.py:115 flatcamTools/ToolOptimal.py:121
msgid "Coordinates for points where minimum distance was found."
msgstr ""
-#: flatcamTools/ToolOptimal.py:133 flatcamTools/ToolOptimal.py:209
+#: flatcamTools/ToolOptimal.py:134 flatcamTools/ToolOptimal.py:210
msgid "Jump to selected position"
msgstr ""
-#: flatcamTools/ToolOptimal.py:135 flatcamTools/ToolOptimal.py:211
+#: flatcamTools/ToolOptimal.py:136 flatcamTools/ToolOptimal.py:212
msgid ""
"Select a position in the Locations text box and then\n"
"click this button."
msgstr ""
-#: flatcamTools/ToolOptimal.py:143
+#: flatcamTools/ToolOptimal.py:144
msgid "Other distances"
msgstr ""
-#: flatcamTools/ToolOptimal.py:144
+#: flatcamTools/ToolOptimal.py:145
msgid ""
"Will display other distances in the Gerber file ordered from\n"
"the minimum to the maximum, not including the absolute minimum."
msgstr ""
-#: flatcamTools/ToolOptimal.py:149
+#: flatcamTools/ToolOptimal.py:150
msgid "Other distances points coordinates"
msgstr ""
-#: flatcamTools/ToolOptimal.py:150 flatcamTools/ToolOptimal.py:164
-#: flatcamTools/ToolOptimal.py:171 flatcamTools/ToolOptimal.py:188
-#: flatcamTools/ToolOptimal.py:195
+#: flatcamTools/ToolOptimal.py:151 flatcamTools/ToolOptimal.py:165
+#: flatcamTools/ToolOptimal.py:172 flatcamTools/ToolOptimal.py:189
+#: flatcamTools/ToolOptimal.py:196
msgid ""
"Other distances and the coordinates for points\n"
"where the distance was found."
msgstr ""
-#: flatcamTools/ToolOptimal.py:163
+#: flatcamTools/ToolOptimal.py:164
msgid "Gerber distances"
msgstr ""
-#: flatcamTools/ToolOptimal.py:187
+#: flatcamTools/ToolOptimal.py:188
msgid "Points coordinates"
msgstr ""
-#: flatcamTools/ToolOptimal.py:219
+#: flatcamTools/ToolOptimal.py:220
msgid "Find Minimum"
msgstr ""
-#: flatcamTools/ToolOptimal.py:221
+#: flatcamTools/ToolOptimal.py:222
msgid ""
"Calculate the minimum distance between copper features,\n"
"this will allow the determination of the right tool to\n"
"use for isolation or copper clearing."
msgstr ""
-#: flatcamTools/ToolOptimal.py:346
+#: flatcamTools/ToolOptimal.py:347
msgid "Only Gerber objects can be evaluated."
msgstr ""
-#: flatcamTools/ToolOptimal.py:352
+#: flatcamTools/ToolOptimal.py:353
msgid "Optimal Tool. Started to search for the minimum distance between copper features."
msgstr ""
-#: flatcamTools/ToolOptimal.py:362
+#: flatcamTools/ToolOptimal.py:363
msgid "Optimal Tool. Parsing geometry for aperture"
msgstr ""
-#: flatcamTools/ToolOptimal.py:373
+#: flatcamTools/ToolOptimal.py:374
msgid "Optimal Tool. Creating a buffer for the object geometry."
msgstr ""
-#: flatcamTools/ToolOptimal.py:383
+#: flatcamTools/ToolOptimal.py:384
msgid ""
"The Gerber object has one Polygon as geometry.\n"
"There are no distances between geometry elements to be found."
msgstr ""
-#: flatcamTools/ToolOptimal.py:388
+#: flatcamTools/ToolOptimal.py:389
msgid "Optimal Tool. Finding the distances between each two elements. Iterations"
msgstr ""
-#: flatcamTools/ToolOptimal.py:423
+#: flatcamTools/ToolOptimal.py:424
msgid "Optimal Tool. Finding the minimum distance."
msgstr ""
-#: flatcamTools/ToolOptimal.py:439
+#: flatcamTools/ToolOptimal.py:440
msgid "Optimal Tool. Finished successfully."
msgstr ""
@@ -12929,7 +13640,7 @@ msgstr ""
msgid "Rendered"
msgstr ""
-#: flatcamTools/ToolPaint.py:87
+#: flatcamTools/ToolPaint.py:82
msgid ""
"Specify the type of object to be painted.\n"
"It can be of type: Gerber or Geometry.\n"
@@ -12941,13 +13652,13 @@ msgstr ""
msgid "Object to be painted."
msgstr ""
-#: flatcamTools/ToolPaint.py:114
+#: flatcamTools/ToolPaint.py:117
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for painting."
msgstr ""
-#: flatcamTools/ToolPaint.py:129
+#: flatcamTools/ToolPaint.py:134
msgid ""
"This is the Tool Number.\n"
"Painting will start with the tool with the biggest diameter,\n"
@@ -12957,7 +13668,7 @@ msgid ""
"this function will not be able to create painting geometry."
msgstr ""
-#: flatcamTools/ToolPaint.py:141
+#: flatcamTools/ToolPaint.py:146
msgid ""
"The Tool Type (TT) can be:
- Circular with 1 ... 4 teeth -> it is informative "
"only. Being circular,
the cut width in material is exactly the tool diameter.
- "
@@ -12970,49 +13681,13 @@ msgid ""
"the resulting geometry as Isolation."
msgstr ""
-#: flatcamTools/ToolPaint.py:178
-msgid "Diameter for the new tool."
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:253
-msgid ""
-"Algorithm for painting:\n"
-"- Standard: Fixed step inwards.\n"
-"- Seed-based: Outwards from seed.\n"
-"- Line-based: Parallel lines."
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:283
-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"
-"\n"
-"If not checked, use the standard algorithm."
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:307
-msgid "Polygon Selection"
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:309
-msgid "All Polygons"
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:328
+#: flatcamTools/ToolPaint.py:498
msgid ""
"The type of FlatCAM object to be used as paint reference.\n"
"It can be Gerber, Excellon or Geometry."
msgstr ""
-#: flatcamTools/ToolPaint.py:353
-msgid "Create Paint Geometry"
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:355
+#: flatcamTools/ToolPaint.py:539
msgid ""
"- 'Area Selection' - left mouse click to start selection of the area to be painted.\n"
"Keeping a modifier key pressed (CTRL or SHIFT) will allow to add multiple areas.\n"
@@ -13021,152 +13696,169 @@ msgid ""
"specified by another object."
msgstr ""
-#: flatcamTools/ToolPaint.py:973
-msgid "Paint Tool. Reading parameters."
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:988
+#: flatcamTools/ToolPaint.py:1381
#, python-format
msgid "Could not retrieve object: %s"
msgstr ""
-#: flatcamTools/ToolPaint.py:1002
+#: flatcamTools/ToolPaint.py:1391
msgid "Can't do Paint on MultiGeo geometries"
msgstr ""
-#: flatcamTools/ToolPaint.py:1035
+#: flatcamTools/ToolPaint.py:1421
msgid "Click on a polygon to paint it."
msgstr ""
-#: flatcamTools/ToolPaint.py:1054
+#: flatcamTools/ToolPaint.py:1441
msgid "Click the start point of the paint area."
msgstr ""
-#: flatcamTools/ToolPaint.py:1122
+#: flatcamTools/ToolPaint.py:1506
msgid "Click to add next polygon or right click to start painting."
msgstr ""
-#: flatcamTools/ToolPaint.py:1135
+#: flatcamTools/ToolPaint.py:1519
msgid "Click to add/remove next polygon or right click to start painting."
msgstr ""
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349 flatcamTools/ToolPaint.py:1987
-#: flatcamTools/ToolPaint.py:1991 flatcamTools/ToolPaint.py:1994
-#: flatcamTools/ToolPaint.py:2276 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284 flatcamTools/ToolPaint.py:2458
-#: flatcamTools/ToolPaint.py:2465
-msgid "Paint Tool."
+#: flatcamTools/ToolPaint.py:2017
+msgid "Painting polygon with method: lines."
msgstr ""
-#: flatcamTools/ToolPaint.py:1344 flatcamTools/ToolPaint.py:1347
-#: flatcamTools/ToolPaint.py:1349
-msgid "Normal painting polygon task started."
+#: flatcamTools/ToolPaint.py:2029
+msgid "Failed. Painting polygon with method: seed."
msgstr ""
-#: flatcamTools/ToolPaint.py:1345 flatcamTools/ToolPaint.py:1706
-#: flatcamTools/ToolPaint.py:1988 flatcamTools/ToolPaint.py:2278
-#: flatcamTools/ToolPaint.py:2460
-msgid "Buffering geometry..."
+#: flatcamTools/ToolPaint.py:2040
+msgid "Failed. Painting polygon with method: standard."
msgstr ""
-#: flatcamTools/ToolPaint.py:1367
-msgid "No polygon found."
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:1401
-msgid "Painting polygon..."
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:1448
+#: flatcamTools/ToolPaint.py:2056
msgid "Geometry could not be painted completely"
msgstr ""
-#: flatcamTools/ToolPaint.py:1481
+#: flatcamTools/ToolPaint.py:2085 flatcamTools/ToolPaint.py:2088
+#: flatcamTools/ToolPaint.py:2096 flatcamTools/ToolPaint.py:2399
+#: flatcamTools/ToolPaint.py:2402 flatcamTools/ToolPaint.py:2410
+#: flatcamTools/ToolPaint.py:2898 flatcamTools/ToolPaint.py:2901
+#: flatcamTools/ToolPaint.py:2907
+msgid "Paint Tool."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2085 flatcamTools/ToolPaint.py:2088
+#: flatcamTools/ToolPaint.py:2096
+msgid "Normal painting polygon task started."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2086 flatcamTools/ToolPaint.py:2400
+#: flatcamTools/ToolPaint.py:2899
+msgid "Buffering geometry..."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2108 flatcamTools/ToolPaint.py:2417
+#: flatcamTools/ToolPaint.py:2915
+msgid "No polygon found."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2138
+msgid "Painting polygon..."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2148 flatcamTools/ToolPaint.py:2463
+#: flatcamTools/ToolPaint.py:2653 flatcamTools/ToolPaint.py:2961
+#: flatcamTools/ToolPaint.py:3140
+msgid "Painting with tool diameter = "
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2149 flatcamTools/ToolPaint.py:2464
+#: flatcamTools/ToolPaint.py:2654 flatcamTools/ToolPaint.py:2962
+#: flatcamTools/ToolPaint.py:3141
+msgid "started"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2174 flatcamTools/ToolPaint.py:2490
+#: flatcamTools/ToolPaint.py:2680 flatcamTools/ToolPaint.py:2988
+#: flatcamTools/ToolPaint.py:3167
+msgid "Margin parameter too big. Tool is not used"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2232 flatcamTools/ToolPaint.py:2559
+#: flatcamTools/ToolPaint.py:2737 flatcamTools/ToolPaint.py:3051
+#: flatcamTools/ToolPaint.py:3229
msgid ""
"Could not do Paint. Try a different combination of parameters. Or a different strategy of "
"paint"
msgstr ""
-#: flatcamTools/ToolPaint.py:1533 flatcamTools/ToolPaint.py:1967
-#: flatcamTools/ToolPaint.py:2117 flatcamTools/ToolPaint.py:2438
-#: flatcamTools/ToolPaint.py:2592
+#: flatcamTools/ToolPaint.py:2289 flatcamTools/ToolPaint.py:2625
+#: flatcamTools/ToolPaint.py:2794 flatcamTools/ToolPaint.py:3112
+#: flatcamTools/ToolPaint.py:3291
msgid ""
"There is no Painting Geometry in the file.\n"
"Usually it means that the tool diameter is too big for the painted geometry.\n"
"Change the painting parameters and try again."
msgstr ""
-#: flatcamTools/ToolPaint.py:1539
+#: flatcamTools/ToolPaint.py:2312
+msgid "Paint Single failed."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2318
msgid "Paint Single Done."
msgstr ""
-#: flatcamTools/ToolPaint.py:1571 flatcamTools/ToolPaint.py:2145
-#: flatcamTools/ToolPaint.py:2620
+#: flatcamTools/ToolPaint.py:2320 flatcamTools/ToolPaint.py:2830
+#: flatcamTools/ToolPaint.py:3327
msgid "Polygon Paint started ..."
msgstr ""
-#: flatcamTools/ToolPaint.py:1623 flatcamTools/ToolPaint.py:2207
+#: flatcamTools/ToolPaint.py:2399 flatcamTools/ToolPaint.py:2402
+#: flatcamTools/ToolPaint.py:2410
+msgid "Paint all polygons task started."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2441 flatcamTools/ToolPaint.py:2939
msgid "Painting polygons..."
msgstr ""
-#: flatcamTools/ToolPaint.py:1705 flatcamTools/ToolPaint.py:1708
-#: flatcamTools/ToolPaint.py:1710
-msgid "Paint Tool. Normal painting all task started."
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:1744 flatcamTools/ToolPaint.py:2023
-#: flatcamTools/ToolPaint.py:2325 flatcamTools/ToolPaint.py:2501
-msgid "Painting with tool diameter = "
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:1747 flatcamTools/ToolPaint.py:2026
-#: flatcamTools/ToolPaint.py:2328 flatcamTools/ToolPaint.py:2504
-msgid "started"
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:1976
+#: flatcamTools/ToolPaint.py:2634
msgid "Paint All Done."
msgstr ""
-#: flatcamTools/ToolPaint.py:1987 flatcamTools/ToolPaint.py:1991
-#: flatcamTools/ToolPaint.py:1994
-msgid "Rest machining painting all task started."
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:2072 flatcamTools/ToolPaint.py:2388
-#: flatcamTools/ToolPaint.py:2548
-msgid ""
-"Could not do Paint All. Try a different combination of parameters. Or a different Method "
-"of paint"
-msgstr ""
-
-#: flatcamTools/ToolPaint.py:2126 flatcamTools/ToolPaint.py:2601
+#: flatcamTools/ToolPaint.py:2803 flatcamTools/ToolPaint.py:3300
msgid "Paint All with Rest-Machining done."
msgstr ""
-#: flatcamTools/ToolPaint.py:2277 flatcamTools/ToolPaint.py:2281
-#: flatcamTools/ToolPaint.py:2284
-msgid "Normal painting area task started."
+#: flatcamTools/ToolPaint.py:2822
+msgid "Paint All failed."
msgstr ""
-#: flatcamTools/ToolPaint.py:2447
+#: flatcamTools/ToolPaint.py:2828
+msgid "Paint Poly All Done."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2898 flatcamTools/ToolPaint.py:2901
+#: flatcamTools/ToolPaint.py:2907
+msgid "Painting area task started."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:3121
msgid "Paint Area Done."
msgstr ""
-#: flatcamTools/ToolPaint.py:2459 flatcamTools/ToolPaint.py:2465
-msgid "Rest machining painting area task started."
+#: flatcamTools/ToolPaint.py:3319
+msgid "Paint Area failed."
msgstr ""
-#: flatcamTools/ToolPaint.py:2462
-msgid "Paint Tool. Rest machining painting area task started."
+#: flatcamTools/ToolPaint.py:3325
+msgid "Paint Poly Area Done."
msgstr ""
#: flatcamTools/ToolPanelize.py:34
msgid "Panelize PCB"
msgstr ""
-#: flatcamTools/ToolPanelize.py:68
+#: flatcamTools/ToolPanelize.py:56
msgid ""
"Specify the type of object to be panelized\n"
"It can be of type: Gerber, Excellon or Geometry.\n"
@@ -13174,17 +13866,17 @@ msgid ""
"in the Object combobox."
msgstr ""
-#: flatcamTools/ToolPanelize.py:83
+#: flatcamTools/ToolPanelize.py:89
msgid ""
"Object to be panelized. This means that it will\n"
"be duplicated in an array of rows and columns."
msgstr ""
-#: flatcamTools/ToolPanelize.py:96
+#: flatcamTools/ToolPanelize.py:102
msgid "Penelization Reference"
msgstr ""
-#: flatcamTools/ToolPanelize.py:98
+#: flatcamTools/ToolPanelize.py:104
msgid ""
"Choose the reference for panelization:\n"
"- Object = the bounding box of a different object\n"
@@ -13196,11 +13888,11 @@ msgid ""
"objects in sync."
msgstr ""
-#: flatcamTools/ToolPanelize.py:121
+#: flatcamTools/ToolPanelize.py:125
msgid "Box Type"
msgstr ""
-#: flatcamTools/ToolPanelize.py:123
+#: flatcamTools/ToolPanelize.py:127
msgid ""
"Specify the type of object to be used as an container for\n"
"panelization. It can be: Gerber or Geometry type.\n"
@@ -13208,17 +13900,17 @@ msgid ""
"in the Box Object combobox."
msgstr ""
-#: flatcamTools/ToolPanelize.py:138
+#: flatcamTools/ToolPanelize.py:141
msgid ""
"The actual object that is used a container for the\n"
" selected object that is to be panelized."
msgstr ""
-#: flatcamTools/ToolPanelize.py:144
+#: flatcamTools/ToolPanelize.py:147
msgid "Panel Data"
msgstr ""
-#: flatcamTools/ToolPanelize.py:146
+#: flatcamTools/ToolPanelize.py:149
msgid ""
"This informations will shape the resulting panel.\n"
"The number of rows and columns will set how many\n"
@@ -13228,58 +13920,58 @@ msgid ""
"elements of the panel array."
msgstr ""
-#: flatcamTools/ToolPanelize.py:205
+#: flatcamTools/ToolPanelize.py:208
msgid ""
"Choose the type of object for the panel object:\n"
"- Geometry\n"
"- Gerber"
msgstr ""
-#: flatcamTools/ToolPanelize.py:213
+#: flatcamTools/ToolPanelize.py:216
msgid "Constrain panel within"
msgstr ""
-#: flatcamTools/ToolPanelize.py:249
+#: flatcamTools/ToolPanelize.py:252
msgid "Panelize Object"
msgstr ""
-#: flatcamTools/ToolPanelize.py:251 flatcamTools/ToolRulesCheck.py:492
+#: flatcamTools/ToolPanelize.py:254 flatcamTools/ToolRulesCheck.py:501
msgid ""
"Panelize the specified object around the specified box.\n"
"In other words it creates multiple copies of the source object,\n"
"arranged in a 2D array of rows and columns."
msgstr ""
-#: flatcamTools/ToolPanelize.py:319
+#: flatcamTools/ToolPanelize.py:322
msgid "Panel. Tool"
msgstr ""
-#: flatcamTools/ToolPanelize.py:448
+#: flatcamTools/ToolPanelize.py:460
msgid "Columns or Rows are zero value. Change them to a positive integer."
msgstr ""
-#: flatcamTools/ToolPanelize.py:485
+#: flatcamTools/ToolPanelize.py:497
msgid "Generating panel ... "
msgstr ""
-#: flatcamTools/ToolPanelize.py:768
+#: flatcamTools/ToolPanelize.py:777
msgid "Generating panel ... Adding the Gerber code."
msgstr ""
-#: flatcamTools/ToolPanelize.py:779
+#: flatcamTools/ToolPanelize.py:788
msgid "Generating panel... Spawning copies"
msgstr ""
-#: flatcamTools/ToolPanelize.py:786
+#: flatcamTools/ToolPanelize.py:795
msgid "Panel done..."
msgstr ""
-#: flatcamTools/ToolPanelize.py:789
+#: flatcamTools/ToolPanelize.py:798
#, python-brace-format
msgid "{text} Too big for the constrain area. Final panel has {col} columns and {row} rows"
msgstr ""
-#: flatcamTools/ToolPanelize.py:798
+#: flatcamTools/ToolPanelize.py:807
msgid "Panel created successfully."
msgstr ""
@@ -13403,163 +14095,202 @@ msgstr ""
msgid "Main PcbWizard Excellon file loaded."
msgstr ""
-#: flatcamTools/ToolPcbWizard.py:431
+#: flatcamTools/ToolPcbWizard.py:428
msgid "Cannot parse file"
msgstr ""
-#: flatcamTools/ToolPcbWizard.py:456
+#: flatcamTools/ToolPcbWizard.py:452
msgid "Importing Excellon."
msgstr ""
-#: flatcamTools/ToolPcbWizard.py:463
+#: flatcamTools/ToolPcbWizard.py:459
msgid "Import Excellon file failed."
msgstr ""
-#: flatcamTools/ToolPcbWizard.py:471
+#: flatcamTools/ToolPcbWizard.py:467
msgid "Imported"
msgstr ""
-#: flatcamTools/ToolPcbWizard.py:475
+#: flatcamTools/ToolPcbWizard.py:471
msgid "Excellon merging is in progress. Please wait..."
msgstr ""
-#: flatcamTools/ToolPcbWizard.py:478
+#: flatcamTools/ToolPcbWizard.py:474
msgid "The imported Excellon file is None."
msgstr ""
-#: flatcamTools/ToolProperties.py:119
-msgid "Properties Tool was not displayed. No object selected."
-msgstr ""
-
-#: flatcamTools/ToolProperties.py:134
+#: flatcamTools/ToolProperties.py:131
msgid "Object Properties are displayed."
msgstr ""
-#: flatcamTools/ToolProperties.py:135
+#: flatcamTools/ToolProperties.py:136
msgid "Properties Tool"
msgstr ""
-#: flatcamTools/ToolProperties.py:149
+#: flatcamTools/ToolProperties.py:150
msgid "TYPE"
msgstr ""
-#: flatcamTools/ToolProperties.py:150
+#: flatcamTools/ToolProperties.py:151
msgid "NAME"
msgstr ""
-#: flatcamTools/ToolProperties.py:151
+#: flatcamTools/ToolProperties.py:153
msgid "Dimensions"
msgstr ""
-#: flatcamTools/ToolProperties.py:165
-msgid "Others"
-msgstr ""
-
-#: flatcamTools/ToolProperties.py:172
+#: flatcamTools/ToolProperties.py:181
msgid "Geo Type"
msgstr ""
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:184
msgid "Single-Geo"
msgstr ""
-#: flatcamTools/ToolProperties.py:173
+#: flatcamTools/ToolProperties.py:185
msgid "Multi-Geo"
msgstr ""
-#: flatcamTools/ToolProperties.py:181
+#: flatcamTools/ToolProperties.py:196
msgid "Calculating dimensions ... Please wait."
msgstr ""
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:325
-#: flatcamTools/ToolProperties.py:327
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:343
+#: flatcamTools/ToolProperties.py:345
msgid "Inch"
msgstr ""
-#: flatcamTools/ToolProperties.py:321 flatcamTools/ToolProperties.py:326
-#: flatcamTools/ToolProperties.py:328
+#: flatcamTools/ToolProperties.py:339 flatcamTools/ToolProperties.py:344
+#: flatcamTools/ToolProperties.py:346
msgid "Metric"
msgstr ""
-#: flatcamTools/ToolProperties.py:401 flatcamTools/ToolProperties.py:459
+#: flatcamTools/ToolProperties.py:421 flatcamTools/ToolProperties.py:486
msgid "Drills number"
msgstr ""
-#: flatcamTools/ToolProperties.py:402 flatcamTools/ToolProperties.py:461
+#: flatcamTools/ToolProperties.py:422 flatcamTools/ToolProperties.py:488
msgid "Slots number"
msgstr ""
-#: flatcamTools/ToolProperties.py:404
+#: flatcamTools/ToolProperties.py:424
msgid "Drills total number:"
msgstr ""
-#: flatcamTools/ToolProperties.py:405
+#: flatcamTools/ToolProperties.py:425
msgid "Slots total number:"
msgstr ""
-#: flatcamTools/ToolProperties.py:411 flatcamTools/ToolProperties.py:426
-#: flatcamTools/ToolProperties.py:429 flatcamTools/ToolProperties.py:432
-#: flatcamTools/ToolProperties.py:456
+#: flatcamTools/ToolProperties.py:452 flatcamTools/ToolProperties.py:455
+#: flatcamTools/ToolProperties.py:458 flatcamTools/ToolProperties.py:483
msgid "Present"
msgstr ""
-#: flatcamTools/ToolProperties.py:427 flatcamTools/ToolProperties.py:457
+#: flatcamTools/ToolProperties.py:453 flatcamTools/ToolProperties.py:484
msgid "Solid Geometry"
msgstr ""
-#: flatcamTools/ToolProperties.py:430
+#: flatcamTools/ToolProperties.py:456
msgid "GCode Text"
msgstr ""
-#: flatcamTools/ToolProperties.py:433
+#: flatcamTools/ToolProperties.py:459
msgid "GCode Geometry"
msgstr ""
-#: flatcamTools/ToolProperties.py:435
+#: flatcamTools/ToolProperties.py:462
msgid "Data"
msgstr ""
-#: flatcamTools/ToolProperties.py:468
+#: flatcamTools/ToolProperties.py:495
msgid "Depth of Cut"
msgstr ""
-#: flatcamTools/ToolProperties.py:480
+#: flatcamTools/ToolProperties.py:507
msgid "Clearance Height"
msgstr ""
-#: flatcamTools/ToolProperties.py:512
+#: flatcamTools/ToolProperties.py:539
msgid "Routing time"
msgstr ""
-#: flatcamTools/ToolProperties.py:519
+#: flatcamTools/ToolProperties.py:546
msgid "Travelled distance"
msgstr ""
-#: flatcamTools/ToolProperties.py:560
+#: flatcamTools/ToolProperties.py:564
msgid "Width"
msgstr ""
-#: flatcamTools/ToolProperties.py:566 flatcamTools/ToolProperties.py:574
+#: flatcamTools/ToolProperties.py:570 flatcamTools/ToolProperties.py:578
msgid "Box Area"
msgstr ""
-#: flatcamTools/ToolProperties.py:569 flatcamTools/ToolProperties.py:577
+#: flatcamTools/ToolProperties.py:573 flatcamTools/ToolProperties.py:581
msgid "Convex_Hull Area"
msgstr ""
-#: flatcamTools/ToolProperties.py:583 flatcamTools/ToolProperties.py:585
+#: flatcamTools/ToolProperties.py:588 flatcamTools/ToolProperties.py:591
msgid "Copper Area"
msgstr ""
-#: flatcamTools/ToolQRCode.py:79
+#: flatcamTools/ToolPunchGerber.py:30 flatcamTools/ToolPunchGerber.py:323
+msgid "Punch Gerber"
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:65
+msgid "Gerber into which to punch holes"
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:85
+msgid "ALL"
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:166
+msgid "Remove the geometry of Excellon from the Gerber to create the holes in pads."
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:325
+msgid ""
+"Create a Gerber object from the selected object, within\n"
+"the specified box."
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:425
+msgid "Punch Tool"
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:599
+msgid "The value of the fixed diameter is 0.0. Aborting."
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:607
+msgid ""
+" Could not generate punched hole Gerber because the punch hole sizeis bigger than some of "
+"the apertures in the Gerber object."
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:619
+msgid ""
+"Could not generate punched hole Gerber because the punch hole sizeis bigger than some of "
+"the apertures in the Gerber object."
+msgstr ""
+
+#: flatcamTools/ToolPunchGerber.py:656
+msgid ""
+"Could not generate punched hole Gerber because the newly created object geometry is the "
+"same as the one in the source object geometry..."
+msgstr ""
+
+#: flatcamTools/ToolQRCode.py:80
msgid "Gerber Object to which the QRCode will be added."
msgstr ""
-#: flatcamTools/ToolQRCode.py:92
+#: flatcamTools/ToolQRCode.py:93
msgid "QRCode Parameters"
msgstr ""
-#: flatcamTools/ToolQRCode.py:94
+#: flatcamTools/ToolQRCode.py:95
msgid "The parameters used to shape the QRCode."
msgstr ""
@@ -13601,31 +14332,27 @@ msgstr ""
msgid "Create the QRCode object."
msgstr ""
-#: flatcamTools/ToolQRCode.py:413 flatcamTools/ToolQRCode.py:748
-#: flatcamTools/ToolQRCode.py:797
+#: flatcamTools/ToolQRCode.py:415 flatcamTools/ToolQRCode.py:750
+#: flatcamTools/ToolQRCode.py:799
msgid "Cancelled. There is no QRCode Data in the text box."
msgstr ""
-#: flatcamTools/ToolQRCode.py:432
+#: flatcamTools/ToolQRCode.py:434
msgid "Generating QRCode geometry"
msgstr ""
-#: flatcamTools/ToolQRCode.py:472
+#: flatcamTools/ToolQRCode.py:474
msgid "Click on the Destination point ..."
msgstr ""
-#: flatcamTools/ToolQRCode.py:587
+#: flatcamTools/ToolQRCode.py:589
msgid "QRCode Tool done."
msgstr ""
-#: flatcamTools/ToolQRCode.py:780 flatcamTools/ToolQRCode.py:784
+#: flatcamTools/ToolQRCode.py:782 flatcamTools/ToolQRCode.py:786
msgid "Export PNG"
msgstr ""
-#: flatcamTools/ToolQRCode.py:789
-msgid " Export PNG cancelled."
-msgstr ""
-
#: flatcamTools/ToolRulesCheck.py:33
msgid "Check Rules"
msgstr ""
@@ -13638,210 +14365,210 @@ msgstr ""
msgid "Gerber objects for which to check rules."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:77
+#: flatcamTools/ToolRulesCheck.py:78
msgid "Top"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:79
+#: flatcamTools/ToolRulesCheck.py:80
msgid "The Top Gerber Copper object for which rules are checked."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:94
+#: flatcamTools/ToolRulesCheck.py:96
msgid "Bottom"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:96
+#: flatcamTools/ToolRulesCheck.py:98
msgid "The Bottom Gerber Copper object for which rules are checked."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:111
+#: flatcamTools/ToolRulesCheck.py:114
msgid "SM Top"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:113
+#: flatcamTools/ToolRulesCheck.py:116
msgid "The Top Gerber Solder Mask object for which rules are checked."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:128
+#: flatcamTools/ToolRulesCheck.py:132
msgid "SM Bottom"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:130
+#: flatcamTools/ToolRulesCheck.py:134
msgid "The Bottom Gerber Solder Mask object for which rules are checked."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:145
+#: flatcamTools/ToolRulesCheck.py:150
msgid "Silk Top"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:147
+#: flatcamTools/ToolRulesCheck.py:152
msgid "The Top Gerber Silkscreen object for which rules are checked."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:162
+#: flatcamTools/ToolRulesCheck.py:168
msgid "Silk Bottom"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:164
+#: flatcamTools/ToolRulesCheck.py:170
msgid "The Bottom Gerber Silkscreen object for which rules are checked."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:181
+#: flatcamTools/ToolRulesCheck.py:188
msgid "The Gerber Outline (Cutout) object for which rules are checked."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:192
+#: flatcamTools/ToolRulesCheck.py:199
msgid "Excellon Objects"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:194
+#: flatcamTools/ToolRulesCheck.py:201
msgid "Excellon objects for which to check rules."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:205
+#: flatcamTools/ToolRulesCheck.py:213
msgid "Excellon 1"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:207
+#: flatcamTools/ToolRulesCheck.py:215
msgid ""
"Excellon object for which to check rules.\n"
"Holds the plated holes or a general Excellon file content."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:223
+#: flatcamTools/ToolRulesCheck.py:232
msgid "Excellon 2"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:225
+#: flatcamTools/ToolRulesCheck.py:234
msgid ""
"Excellon object for which to check rules.\n"
"Holds the non-plated holes."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:238
+#: flatcamTools/ToolRulesCheck.py:247
msgid "All Rules"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:240
+#: flatcamTools/ToolRulesCheck.py:249
msgid "This check/uncheck all the rules below."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:490
+#: flatcamTools/ToolRulesCheck.py:499
msgid "Run Rules Check"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1149 flatcamTools/ToolRulesCheck.py:1209
-#: flatcamTools/ToolRulesCheck.py:1246 flatcamTools/ToolRulesCheck.py:1318
-#: flatcamTools/ToolRulesCheck.py:1372 flatcamTools/ToolRulesCheck.py:1410
-#: flatcamTools/ToolRulesCheck.py:1475
+#: flatcamTools/ToolRulesCheck.py:1158 flatcamTools/ToolRulesCheck.py:1218
+#: flatcamTools/ToolRulesCheck.py:1255 flatcamTools/ToolRulesCheck.py:1327
+#: flatcamTools/ToolRulesCheck.py:1381 flatcamTools/ToolRulesCheck.py:1419
+#: flatcamTools/ToolRulesCheck.py:1484
msgid "Value is not valid."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1163
+#: flatcamTools/ToolRulesCheck.py:1172
msgid "TOP -> Copper to Copper clearance"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1174
+#: flatcamTools/ToolRulesCheck.py:1183
msgid "BOTTOM -> Copper to Copper clearance"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1179 flatcamTools/ToolRulesCheck.py:1273
-#: flatcamTools/ToolRulesCheck.py:1437
+#: flatcamTools/ToolRulesCheck.py:1188 flatcamTools/ToolRulesCheck.py:1282
+#: flatcamTools/ToolRulesCheck.py:1446
msgid "At least one Gerber object has to be selected for this rule but none is selected."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1215
+#: flatcamTools/ToolRulesCheck.py:1224
msgid "One of the copper Gerber objects or the Outline Gerber object is not valid."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1228 flatcamTools/ToolRulesCheck.py:1392
+#: flatcamTools/ToolRulesCheck.py:1237 flatcamTools/ToolRulesCheck.py:1401
msgid "Outline Gerber object presence is mandatory for this rule but it is not selected."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1245 flatcamTools/ToolRulesCheck.py:1272
+#: flatcamTools/ToolRulesCheck.py:1254 flatcamTools/ToolRulesCheck.py:1281
msgid "Silk to Silk clearance"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1258
+#: flatcamTools/ToolRulesCheck.py:1267
msgid "TOP -> Silk to Silk clearance"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1268
+#: flatcamTools/ToolRulesCheck.py:1277
msgid "BOTTOM -> Silk to Silk clearance"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1324
+#: flatcamTools/ToolRulesCheck.py:1333
msgid "One or more of the Gerber objects is not valid."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1332
+#: flatcamTools/ToolRulesCheck.py:1341
msgid "TOP -> Silk to Solder Mask Clearance"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1338
+#: flatcamTools/ToolRulesCheck.py:1347
msgid "BOTTOM -> Silk to Solder Mask Clearance"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1342
+#: flatcamTools/ToolRulesCheck.py:1351
msgid "Both Silk and Solder Mask Gerber objects has to be either both Top or both Bottom."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1378
+#: flatcamTools/ToolRulesCheck.py:1387
msgid "One of the Silk Gerber objects or the Outline Gerber object is not valid."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1422
+#: flatcamTools/ToolRulesCheck.py:1431
msgid "TOP -> Minimum Solder Mask Sliver"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1432
+#: flatcamTools/ToolRulesCheck.py:1441
msgid "BOTTOM -> Minimum Solder Mask Sliver"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1481
+#: flatcamTools/ToolRulesCheck.py:1490
msgid "One of the Copper Gerber objects or the Excellon objects is not valid."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1497
+#: flatcamTools/ToolRulesCheck.py:1506
msgid "Excellon object presence is mandatory for this rule but none is selected."
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1570 flatcamTools/ToolRulesCheck.py:1583
-#: flatcamTools/ToolRulesCheck.py:1594 flatcamTools/ToolRulesCheck.py:1607
+#: flatcamTools/ToolRulesCheck.py:1579 flatcamTools/ToolRulesCheck.py:1592
+#: flatcamTools/ToolRulesCheck.py:1603 flatcamTools/ToolRulesCheck.py:1616
msgid "STATUS"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1573 flatcamTools/ToolRulesCheck.py:1597
+#: flatcamTools/ToolRulesCheck.py:1582 flatcamTools/ToolRulesCheck.py:1606
msgid "FAILED"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1586 flatcamTools/ToolRulesCheck.py:1610
+#: flatcamTools/ToolRulesCheck.py:1595 flatcamTools/ToolRulesCheck.py:1619
msgid "PASSED"
msgstr ""
-#: flatcamTools/ToolRulesCheck.py:1587 flatcamTools/ToolRulesCheck.py:1611
+#: flatcamTools/ToolRulesCheck.py:1596 flatcamTools/ToolRulesCheck.py:1620
msgid "Violations: There are no violations for the current rule."
msgstr ""
-#: flatcamTools/ToolShell.py:70 flatcamTools/ToolShell.py:72
-msgid "...proccessing..."
+#: flatcamTools/ToolShell.py:72 flatcamTools/ToolShell.py:74
+msgid "...processing..."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:37
+#: flatcamTools/ToolSolderPaste.py:38
msgid "Solder Paste Tool"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:68
+#: flatcamTools/ToolSolderPaste.py:70
msgid "Gerber Solder paste object. "
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:75
+#: flatcamTools/ToolSolderPaste.py:77
msgid ""
"Tools pool from which the algorithm\n"
"will pick the ones used for dispensing solder paste."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:90
+#: flatcamTools/ToolSolderPaste.py:92
msgid ""
"This is the Tool Number.\n"
"The solder dispensing will start with the tool with the biggest \n"
@@ -13850,80 +14577,80 @@ msgid ""
" with solder paste, the app will issue a warning message box."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:97
+#: flatcamTools/ToolSolderPaste.py:99
msgid ""
"Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
"is the width of the solder paste dispensed."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:104
+#: flatcamTools/ToolSolderPaste.py:106
msgid "New Nozzle Tool"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:123
+#: flatcamTools/ToolSolderPaste.py:125
msgid ""
"Add a new nozzle tool to the Tool Table\n"
"with the diameter specified above."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:135
+#: flatcamTools/ToolSolderPaste.py:137
msgid "Generate solder paste dispensing geometry."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:154
+#: flatcamTools/ToolSolderPaste.py:156
msgid "STEP 1"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:156
+#: flatcamTools/ToolSolderPaste.py:158
msgid ""
"First step is to select a number of nozzle tools for usage\n"
"and then optionally modify the GCode parameters bellow."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:159
+#: flatcamTools/ToolSolderPaste.py:161
msgid ""
"Select tools.\n"
"Modify parameters."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:279
+#: flatcamTools/ToolSolderPaste.py:281
msgid ""
"Feedrate (speed) while moving up vertically\n"
" to Dispense position (on Z plane)."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:349
+#: flatcamTools/ToolSolderPaste.py:351
msgid ""
"Generate GCode for Solder Paste dispensing\n"
"on PCB pads."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:370
+#: flatcamTools/ToolSolderPaste.py:372
msgid "STEP 2"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:372
+#: flatcamTools/ToolSolderPaste.py:374
msgid ""
"Second step is to create a solder paste dispensing\n"
"geometry out of an Solder Paste Mask Gerber file."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:388
+#: flatcamTools/ToolSolderPaste.py:391
msgid "Geo Result"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:390
+#: flatcamTools/ToolSolderPaste.py:393
msgid ""
"Geometry Solder Paste object.\n"
"The name of the object has to end in:\n"
"'_solderpaste' as a protection."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:399
+#: flatcamTools/ToolSolderPaste.py:402
msgid "STEP 3"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:401
+#: flatcamTools/ToolSolderPaste.py:404
msgid ""
"Third step is to select a solder paste dispensing geometry,\n"
"and then generate a CNCJob object.\n"
@@ -13933,11 +14660,11 @@ msgid ""
"and only after that you can generate an updated CNCJob."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:421
+#: flatcamTools/ToolSolderPaste.py:425
msgid "CNC Result"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:423
+#: flatcamTools/ToolSolderPaste.py:427
msgid ""
"CNCJob Solder paste object.\n"
"In order to enable the GCode save section,\n"
@@ -13945,114 +14672,110 @@ msgid ""
"'_solderpaste' as a protection."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:433
+#: flatcamTools/ToolSolderPaste.py:437
msgid "View GCode"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:435
+#: flatcamTools/ToolSolderPaste.py:439
msgid ""
"View the generated GCode for Solder Paste dispensing\n"
"on PCB pads."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:445
+#: flatcamTools/ToolSolderPaste.py:449
msgid "Save GCode"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:447
+#: flatcamTools/ToolSolderPaste.py:451
msgid ""
"Save the generated GCode for Solder Paste dispensing\n"
"on PCB pads, to a file."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:457
+#: flatcamTools/ToolSolderPaste.py:461
msgid "STEP 4"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:459
+#: flatcamTools/ToolSolderPaste.py:463
msgid ""
"Fourth step (and last) is to select a CNCJob made from \n"
"a solder paste dispensing geometry, and then view/save it's GCode."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:917
-msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
-msgstr ""
-
-#: flatcamTools/ToolSolderPaste.py:923
+#: flatcamTools/ToolSolderPaste.py:922
msgid "New Nozzle tool added to Tool Table."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:966
+#: flatcamTools/ToolSolderPaste.py:965
msgid "Nozzle tool from Tool Table was edited."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1024
+#: flatcamTools/ToolSolderPaste.py:1023
msgid "Delete failed. Select a Nozzle tool to delete."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1030
+#: flatcamTools/ToolSolderPaste.py:1029
msgid "Nozzle tool(s) deleted from Tool Table."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1086
+#: flatcamTools/ToolSolderPaste.py:1085
msgid "No SolderPaste mask Gerber object loaded."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1104
+#: flatcamTools/ToolSolderPaste.py:1103
msgid "Creating Solder Paste dispensing geometry."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1117
+#: flatcamTools/ToolSolderPaste.py:1116
msgid "No Nozzle tools in the tool table."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1244
+#: flatcamTools/ToolSolderPaste.py:1242
msgid "Cancelled. Empty file, it has no geometry..."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1248
+#: flatcamTools/ToolSolderPaste.py:1245
msgid "Solder Paste geometry generated successfully"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1255
+#: flatcamTools/ToolSolderPaste.py:1252
msgid "Some or all pads have no solder due of inadequate nozzle diameters..."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1269
+#: flatcamTools/ToolSolderPaste.py:1266
msgid "Generating Solder Paste dispensing geometry..."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1289
+#: flatcamTools/ToolSolderPaste.py:1286
msgid "There is no Geometry object available."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1294
+#: flatcamTools/ToolSolderPaste.py:1291
msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1401
+#: flatcamTools/ToolSolderPaste.py:1392
msgid "ToolSolderPaste CNCjob created"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1422
+#: flatcamTools/ToolSolderPaste.py:1411
msgid "SP GCode Editor"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1434 flatcamTools/ToolSolderPaste.py:1439
-#: flatcamTools/ToolSolderPaste.py:1494
+#: flatcamTools/ToolSolderPaste.py:1423 flatcamTools/ToolSolderPaste.py:1428
+#: flatcamTools/ToolSolderPaste.py:1483
msgid "This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1464
+#: flatcamTools/ToolSolderPaste.py:1453
msgid "No Gcode in the object"
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1504
+#: flatcamTools/ToolSolderPaste.py:1493
msgid "Export GCode ..."
msgstr ""
-#: flatcamTools/ToolSolderPaste.py:1552
+#: flatcamTools/ToolSolderPaste.py:1541
msgid "Solder paste dispenser GCode file saved to"
msgstr ""
@@ -14060,27 +14783,27 @@ msgstr ""
msgid "Gerber Objects"
msgstr ""
-#: flatcamTools/ToolSub.py:76
+#: flatcamTools/ToolSub.py:78
msgid ""
"Gerber object from which to subtract\n"
"the subtractor Gerber object."
msgstr ""
-#: flatcamTools/ToolSub.py:88 flatcamTools/ToolSub.py:140
+#: flatcamTools/ToolSub.py:91 flatcamTools/ToolSub.py:146
msgid "Subtractor"
msgstr ""
-#: flatcamTools/ToolSub.py:90
+#: flatcamTools/ToolSub.py:93
msgid ""
"Gerber object that will be subtracted\n"
"from the target Gerber object."
msgstr ""
-#: flatcamTools/ToolSub.py:97
+#: flatcamTools/ToolSub.py:100
msgid "Substract Gerber"
msgstr ""
-#: flatcamTools/ToolSub.py:99
+#: flatcamTools/ToolSub.py:102
msgid ""
"Will remove the area occupied by the subtractor\n"
"Gerber from the Target Gerber.\n"
@@ -14088,85 +14811,85 @@ msgid ""
"over the soldermask."
msgstr ""
-#: flatcamTools/ToolSub.py:117
+#: flatcamTools/ToolSub.py:120
msgid "Geometry Objects"
msgstr ""
-#: flatcamTools/ToolSub.py:128
+#: flatcamTools/ToolSub.py:133
msgid ""
"Geometry object from which to subtract\n"
"the subtractor Geometry object."
msgstr ""
-#: flatcamTools/ToolSub.py:142
+#: flatcamTools/ToolSub.py:148
msgid ""
"Geometry object that will be subtracted\n"
"from the target Geometry object."
msgstr ""
-#: flatcamTools/ToolSub.py:150
+#: flatcamTools/ToolSub.py:156
msgid "Checking this will close the paths cut by the Geometry subtractor object."
msgstr ""
-#: flatcamTools/ToolSub.py:153
+#: flatcamTools/ToolSub.py:159
msgid "Subtract Geometry"
msgstr ""
-#: flatcamTools/ToolSub.py:155
+#: flatcamTools/ToolSub.py:161
msgid ""
"Will remove the area occupied by the subtractor\n"
"Geometry from the Target Geometry."
msgstr ""
-#: flatcamTools/ToolSub.py:262
+#: flatcamTools/ToolSub.py:263
msgid "Sub Tool"
msgstr ""
-#: flatcamTools/ToolSub.py:278 flatcamTools/ToolSub.py:483
+#: flatcamTools/ToolSub.py:284 flatcamTools/ToolSub.py:489
msgid "No Target object loaded."
msgstr ""
-#: flatcamTools/ToolSub.py:281
+#: flatcamTools/ToolSub.py:287
msgid "Loading geometry from Gerber objects."
msgstr ""
-#: flatcamTools/ToolSub.py:293 flatcamTools/ToolSub.py:498
+#: flatcamTools/ToolSub.py:299 flatcamTools/ToolSub.py:504
msgid "No Subtractor object loaded."
msgstr ""
-#: flatcamTools/ToolSub.py:325
+#: flatcamTools/ToolSub.py:331
msgid "Processing geometry from Subtractor Gerber object."
msgstr ""
-#: flatcamTools/ToolSub.py:346
+#: flatcamTools/ToolSub.py:352
msgid "Parsing geometry for aperture"
msgstr ""
-#: flatcamTools/ToolSub.py:407
+#: flatcamTools/ToolSub.py:413
msgid "Finished parsing geometry for aperture"
msgstr ""
-#: flatcamTools/ToolSub.py:452 flatcamTools/ToolSub.py:655
+#: flatcamTools/ToolSub.py:458 flatcamTools/ToolSub.py:661
msgid "Generating new object ..."
msgstr ""
-#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:659 flatcamTools/ToolSub.py:740
+#: flatcamTools/ToolSub.py:462 flatcamTools/ToolSub.py:665 flatcamTools/ToolSub.py:746
msgid "Generating new object failed."
msgstr ""
-#: flatcamTools/ToolSub.py:461 flatcamTools/ToolSub.py:665
+#: flatcamTools/ToolSub.py:467 flatcamTools/ToolSub.py:671
msgid "Created"
msgstr ""
-#: flatcamTools/ToolSub.py:512
+#: flatcamTools/ToolSub.py:518
msgid "Currently, the Subtractor geometry cannot be of type Multigeo."
msgstr ""
-#: flatcamTools/ToolSub.py:557
+#: flatcamTools/ToolSub.py:563
msgid "Parsing solid_geometry ..."
msgstr ""
-#: flatcamTools/ToolSub.py:559
+#: flatcamTools/ToolSub.py:565
msgid "Parsing solid_geometry for tool"
msgstr ""
@@ -14174,213 +14897,254 @@ msgstr ""
msgid "Object Transform"
msgstr ""
-#: flatcamTools/ToolTransform.py:82
+#: flatcamTools/ToolTransform.py:79
msgid ""
"Rotate the selected object(s).\n"
"The point of reference is the middle of\n"
"the bounding box for all selected objects."
msgstr ""
-#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:122
+#: flatcamTools/ToolTransform.py:100 flatcamTools/ToolTransform.py:121
msgid ""
"Angle for Skew action, in degrees.\n"
"Float number between -360 and 360."
msgstr ""
-#: flatcamTools/ToolTransform.py:111 flatcamTools/ToolTransform.py:133
+#: flatcamTools/ToolTransform.py:110 flatcamTools/ToolTransform.py:131
msgid ""
"Skew/shear the selected object(s).\n"
"The point of reference is the middle of\n"
"the bounding box for all selected objects."
msgstr ""
-#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:181
+#: flatcamTools/ToolTransform.py:160 flatcamTools/ToolTransform.py:180
msgid ""
"Scale the selected object(s).\n"
"The point of reference depends on \n"
"the Scale reference checkbox state."
msgstr ""
-#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:250
+#: flatcamTools/ToolTransform.py:229 flatcamTools/ToolTransform.py:249
msgid ""
"Offset the selected object(s).\n"
"The point of reference is the middle of\n"
"the bounding box for all selected objects.\n"
msgstr ""
-#: flatcamTools/ToolTransform.py:268 flatcamTools/ToolTransform.py:274
+#: flatcamTools/ToolTransform.py:269 flatcamTools/ToolTransform.py:274
msgid "Flip the selected object(s) over the X axis."
msgstr ""
-#: flatcamTools/ToolTransform.py:299
+#: flatcamTools/ToolTransform.py:298
msgid "Ref. Point"
msgstr ""
-#: flatcamTools/ToolTransform.py:351
+#: flatcamTools/ToolTransform.py:349
msgid ""
"Create the buffer effect on each geometry,\n"
-"element from the selected object."
+"element from the selected object, using the distance."
msgstr ""
-#: flatcamTools/ToolTransform.py:498
+#: flatcamTools/ToolTransform.py:375
+msgid ""
+"Create the buffer effect on each geometry,\n"
+"element from the selected object, using the factor."
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:480
+msgid "Buffer D"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:481
+msgid "Buffer F"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:558
msgid "Rotate transformation can not be done for a value of 0."
msgstr ""
-#: flatcamTools/ToolTransform.py:537 flatcamTools/ToolTransform.py:560
+#: flatcamTools/ToolTransform.py:597 flatcamTools/ToolTransform.py:620
msgid "Scale transformation can not be done for a factor of 0 or 1."
msgstr ""
-#: flatcamTools/ToolTransform.py:575 flatcamTools/ToolTransform.py:585
+#: flatcamTools/ToolTransform.py:635 flatcamTools/ToolTransform.py:645
msgid "Offset transformation can not be done for a value of 0."
msgstr ""
-#: flatcamTools/ToolTransform.py:608
+#: flatcamTools/ToolTransform.py:677
msgid "No object selected. Please Select an object to rotate!"
msgstr ""
-#: flatcamTools/ToolTransform.py:636
+#: flatcamTools/ToolTransform.py:703
msgid "CNCJob objects can't be rotated."
msgstr ""
-#: flatcamTools/ToolTransform.py:644
+#: flatcamTools/ToolTransform.py:711
msgid "Rotate done"
msgstr ""
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "Due of"
msgstr ""
-#: flatcamTools/ToolTransform.py:649 flatcamTools/ToolTransform.py:724
-#: flatcamTools/ToolTransform.py:779 flatcamTools/ToolTransform.py:838
-#: flatcamTools/ToolTransform.py:874 flatcamTools/ToolTransform.py:910
+#: flatcamTools/ToolTransform.py:714 flatcamTools/ToolTransform.py:784
+#: flatcamTools/ToolTransform.py:834 flatcamTools/ToolTransform.py:890
+#: flatcamTools/ToolTransform.py:922 flatcamTools/ToolTransform.py:958
msgid "action was not executed."
msgstr ""
-#: flatcamTools/ToolTransform.py:661
+#: flatcamTools/ToolTransform.py:726
msgid "No object selected. Please Select an object to flip"
msgstr ""
-#: flatcamTools/ToolTransform.py:696
+#: flatcamTools/ToolTransform.py:759
msgid "CNCJob objects can't be mirrored/flipped."
msgstr ""
-#: flatcamTools/ToolTransform.py:734
+#: flatcamTools/ToolTransform.py:794
msgid "Skew transformation can not be done for 0, 90 and 180 degrees."
msgstr ""
-#: flatcamTools/ToolTransform.py:739
+#: flatcamTools/ToolTransform.py:799
msgid "No object selected. Please Select an object to shear/skew!"
msgstr ""
-#: flatcamTools/ToolTransform.py:761
+#: flatcamTools/ToolTransform.py:819
msgid "CNCJob objects can't be skewed."
msgstr ""
-#: flatcamTools/ToolTransform.py:774
+#: flatcamTools/ToolTransform.py:831
msgid "Skew on the"
msgstr ""
-#: flatcamTools/ToolTransform.py:774 flatcamTools/ToolTransform.py:834
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:831 flatcamTools/ToolTransform.py:887
+#: flatcamTools/ToolTransform.py:919
msgid "axis done"
msgstr ""
-#: flatcamTools/ToolTransform.py:791
+#: flatcamTools/ToolTransform.py:846
msgid "No object selected. Please Select an object to scale!"
msgstr ""
-#: flatcamTools/ToolTransform.py:824
+#: flatcamTools/ToolTransform.py:877
msgid "CNCJob objects can't be scaled."
msgstr ""
-#: flatcamTools/ToolTransform.py:834
+#: flatcamTools/ToolTransform.py:887
msgid "Scale on the"
msgstr ""
-#: flatcamTools/ToolTransform.py:846
+#: flatcamTools/ToolTransform.py:898
msgid "No object selected. Please Select an object to offset!"
msgstr ""
-#: flatcamTools/ToolTransform.py:855
+#: flatcamTools/ToolTransform.py:905
msgid "CNCJob objects can't be offset."
msgstr ""
-#: flatcamTools/ToolTransform.py:869
+#: flatcamTools/ToolTransform.py:919
msgid "Offset on the"
msgstr ""
-#: flatcamTools/ToolTransform.py:881
+#: flatcamTools/ToolTransform.py:929
msgid "No object selected. Please Select an object to buffer!"
msgstr ""
-#: flatcamTools/ToolTransform.py:884
+#: flatcamTools/ToolTransform.py:932
msgid "Applying Buffer"
msgstr ""
-#: flatcamTools/ToolTransform.py:888
+#: flatcamTools/ToolTransform.py:936
msgid "CNCJob objects can't be buffered."
msgstr ""
-#: flatcamTools/ToolTransform.py:905
+#: flatcamTools/ToolTransform.py:953
msgid "Buffer done"
msgstr ""
-#: tclCommands/TclCommandBbox.py:74 tclCommands/TclCommandNregions.py:73
+#: tclCommands/TclCommandBbox.py:76 tclCommands/TclCommandNregions.py:75
msgid "Expected FlatCAMGerber or FlatCAMGeometry, got"
msgstr ""
-#: tclCommands/TclCommandBounds.py:64 tclCommands/TclCommandBounds.py:68
+#: tclCommands/TclCommandBounds.py:67 tclCommands/TclCommandBounds.py:71
msgid "Expected a list of objects names separated by comma. Got"
msgstr ""
-#: tclCommands/TclCommandBounds.py:79
+#: tclCommands/TclCommandBounds.py:82
msgid "TclCommand Bounds done."
msgstr ""
-#: tclCommands/TclCommandCopperClear.py:242 tclCommands/TclCommandPaint.py:240
-msgid "Expected -box ."
-msgstr ""
-
-#: tclCommands/TclCommandCopperClear.py:251 tclCommands/TclCommandPaint.py:249
-#: tclCommands/TclCommandScale.py:75
+#: tclCommands/TclCommandCopperClear.py:276 tclCommands/TclCommandPaint.py:272
+#: tclCommands/TclCommandScale.py:81
msgid "Could not retrieve box object"
msgstr ""
-#: tclCommands/TclCommandCopperClear.py:273
-msgid ""
-"None of the following args: 'ref', 'all' were found or none was set to 1.\n"
-"Copper clearing failed."
+#: tclCommands/TclCommandCopperClear.py:299
+msgid "Expected either -box or -all."
msgstr ""
-#: tclCommands/TclCommandPaint.py:217
+#: tclCommands/TclCommandGeoCutout.py:148
+msgid "The name of the object for which cutout is done is missing. Add it and retry."
+msgstr ""
+
+#: tclCommands/TclCommandGeoCutout.py:190
+msgid "Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8."
+msgstr ""
+
+#: tclCommands/TclCommandGeoCutout.py:302 tclCommands/TclCommandGeoCutout.py:360
+msgid "Any-form Cutout operation finished."
+msgstr ""
+
+#: tclCommands/TclCommandGeoCutout.py:366
+msgid "Cancelled. Object type is not supported."
+msgstr ""
+
+#: tclCommands/TclCommandHelp.py:74
+msgid "Available commands:"
+msgstr ""
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Type help for usage."
+msgstr ""
+
+#: tclCommands/TclCommandHelp.py:112
+msgid "Example: help open_gerber"
+msgstr ""
+
+#: tclCommands/TclCommandPaint.py:244
msgid "Expected -x and -y ."
msgstr ""
-#: tclCommands/TclCommandPaint.py:268
+#: tclCommands/TclCommandPaint.py:265
+msgid "Expected -box ."
+msgstr ""
+
+#: tclCommands/TclCommandPaint.py:286
msgid ""
-"There was none of the following args: 'ref', 'single', 'all'.\n"
+"None of the following args: 'box', 'single', 'all' were used.\n"
"Paint failed."
msgstr ""
-#: tclCommands/TclCommandScale.py:95
-msgid "Expected -origin or -origin or -origin ."
+#: tclCommands/TclCommandScale.py:106
+msgid ""
+"Expected -origin or -origin or -origin or - origin 3.0,4.2."
msgstr ""
-#: tclCommands/TclCommandScale.py:104
+#: tclCommands/TclCommandScale.py:119
msgid "Expected -x -y ."
msgstr ""
-#: tclCommands/TclCommandSetOrigin.py:91
+#: tclCommands/TclCommandSetOrigin.py:95
msgid "Expected a pair of (x, y) coordinates. Got"
msgstr ""
-#: tclCommands/TclCommandSetOrigin.py:98
+#: tclCommands/TclCommandSetOrigin.py:102
msgid "Origin set by offsetting all loaded objects with "
msgstr ""
-#: tclCommands/TclCommandSubtractRectangle.py:58
+#: tclCommands/TclCommandSubtractRectangle.py:62
msgid "No Geometry name in args. Provide a name and try again."
msgstr ""
diff --git a/make_freezed.py b/make_freezed.py
index 72c86be4..75f1c7eb 100644
--- a/make_freezed.py
+++ b/make_freezed.py
@@ -108,9 +108,9 @@ exe = Executable("FlatCAM.py", icon='share/flatcam_icon48.ico', base=base, targe
setup(
name="FlatCAM",
- author="Juan Pablo Caram",
+ author="Community effort",
version="8.9",
- description="FlatCAM: 2D Computer Aided PCB Manufacturing",
+ description="FlatCAM Evo: 2D Computer Aided PCB Manufacturing",
options=dict(build_exe=buildOptions),
executables=[exe]
)
diff --git a/preprocessors/Berta_CNC.py b/preprocessors/Berta_CNC.py
index 784f0cd0..8239d0e9 100644
--- a/preprocessors/Berta_CNC.py
+++ b/preprocessors/Berta_CNC.py
@@ -22,7 +22,7 @@ class Berta_CNC(FlatCAMPostProc):
def start_code(self, p):
units = ' ' + str(p['units']).lower()
coords_xy = p['xy_toolchange']
- gcode = ''
+ gcode = '(This preprocessor is used with a BERTA CNC router.)\n\n'
xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
@@ -35,24 +35,57 @@ class Berta_CNC(FlatCAMPostProc):
gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
if str(p['options']['type']) == 'Geometry':
+ gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n'
+ gcode += '(Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + ')\n'
gcode += '(Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + ')\n'
-
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
- gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
if p['multidepth'] is True:
gcode += '(DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + ')\n'
+ gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n(TOOLS DIAMETER: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + ')\n'
- if coords_xy is not None:
- gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + ')\n'
- else:
- gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
+ gcode += '\n(FEEDRATE Z: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + ')\n'
+
+ gcode += '\n(FEEDRATE RAPIDS: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + ')\n'
+
+ gcode += '\n(Z_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + ')\n'
+
+ gcode += '\n(Tools Offset: )\n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + ')\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n(DEPTH_PER_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + ')\n'
+
+ gcode += '\n(Z_MOVE: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + ')\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+
+ if coords_xy is not None:
+ gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + ')\n'
+ else:
+ gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
gcode += '(Z Start: ' + str(p['startz']) + units + ')\n'
gcode += '(Z End: ' + str(p['z_end']) + units + ')\n'
@@ -80,7 +113,7 @@ class Berta_CNC(FlatCAMPostProc):
gcode += 'G54\n'
gcode += 'G0\n'
gcode += '(Berta)\n'
- gcode += 'G94\n'
+ gcode += 'G94'
return gcode
@@ -194,10 +227,10 @@ M0""".format(z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolcha
return ('G01 ' + self.position_code(p)).format(**p)
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
gcode += '(Berta)\n'
diff --git a/preprocessors/grbl_laser.py b/preprocessors/GRBL_laser.py
similarity index 80%
rename from preprocessors/grbl_laser.py
rename to preprocessors/GRBL_laser.py
index a95708ca..9caf4f39 100644
--- a/preprocessors/grbl_laser.py
+++ b/preprocessors/GRBL_laser.py
@@ -12,7 +12,7 @@ from FlatCAMPostProc import *
# is compatible with almost any version of Grbl.
-class grbl_laser(FlatCAMPostProc):
+class GRBL_laser(FlatCAMPostProc):
include_header = True
coordinate_format = "%.*f"
@@ -20,7 +20,8 @@ class grbl_laser(FlatCAMPostProc):
def start_code(self, p):
units = ' ' + str(p['units']).lower()
- gcode = ''
+ gcode = '(This preprocessor is used with a motion controller loaded with GRBL firmware. )\n'
+ gcode += '(It is for the case when it is used together with a LASER connected on the SPINDLE connector.)\n\n'
xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
@@ -28,7 +29,9 @@ class grbl_laser(FlatCAMPostProc):
ymax = '%.*f' % (p.coords_decimals, p['options']['ymax'])
gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Feedrate rapids: ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+
+ gcode += '(Z Focus: ' + str(p['z_move']) + units + ')\n'
gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
@@ -40,10 +43,12 @@ class grbl_laser(FlatCAMPostProc):
gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'
+ gcode += '(Laser Power (Spindle Speed): ' + str(p['spindlespeed']) + ')\n\n'
+
gcode += ('G20' if p.units.upper() == 'IN' else 'G21') + "\n"
gcode += 'G90\n'
gcode += 'G17\n'
- gcode += 'G94\n'
+ gcode += 'G94'
return gcode
@@ -51,19 +56,20 @@ class grbl_laser(FlatCAMPostProc):
return ''
def lift_code(self, p):
- return 'M05 S0'
+ return 'M5'
def down_code(self, p):
+ sdir = {'CW': 'M03', 'CCW': 'M04'}[p.spindledir]
if p.spindlespeed:
- return 'M03 S%d' % p.spindlespeed
+ return '%s S%s' % (sdir, str(p.spindlespeed))
else:
- return 'M03'
+ return sdir
def toolchange_code(self, p):
return ''
def up_to_zero_code(self, p):
- return 'M05'
+ return 'M5'
def position_code(self, p):
return ('X' + self.coordinate_format + ' Y' + self.coordinate_format) % \
@@ -77,10 +83,10 @@ class grbl_laser(FlatCAMPostProc):
' F' + str(self.feedrate_format % (p.fr_decimals, p.feedrate))
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
return gcode
@@ -101,4 +107,4 @@ class grbl_laser(FlatCAMPostProc):
return ''
def spindle_stop_code(self, p):
- return 'M05'
+ return 'M5'
diff --git a/preprocessors/ISEL_CNC.py b/preprocessors/ISEL_CNC.py
index 7753669c..8c7c9ed0 100644
--- a/preprocessors/ISEL_CNC.py
+++ b/preprocessors/ISEL_CNC.py
@@ -17,7 +17,7 @@ class ISEL_CNC(FlatCAMPostProc):
def start_code(self, p):
units = ' ' + str(p['units']).lower()
coords_xy = p['xy_toolchange']
- gcode = ''
+ gcode = '(This preprocessor is used with a ISEL CNC router.)\n\n'
xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
@@ -26,28 +26,56 @@ class ISEL_CNC(FlatCAMPostProc):
if str(p['options']['type']) == 'Geometry':
gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n'
-
- gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + ')\n'
gcode += '(Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + ')\n'
-
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
- gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
if p['multidepth'] is True:
gcode += '(DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + ')\n'
+ gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n(TOOLS DIAMETER: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + ')\n'
- if coords_xy is not None:
- gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + ')\n'
- else:
- gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
+ gcode += '\n(FEEDRATE Z: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + ')\n'
+
+ gcode += '\n(FEEDRATE RAPIDS: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + ')\n'
+
+ gcode += '\n(Z_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + ')\n'
+
+ gcode += '\n(Tools Offset: )\n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + ')\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n(DEPTH_PER_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + ')\n'
+
+ gcode += '\n(Z_MOVE: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + ')\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+
+ if coords_xy is not None:
+ gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + ')\n'
+ else:
+ gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
gcode += '(Z Start: ' + str(p['startz']) + units + ')\n'
gcode += '(Z End: ' + str(p['z_end']) + units + ')\n'
@@ -129,10 +157,10 @@ M01""".format(tool=int(p.tool), toolC=toolC_formatted)
return ('G01 ' + self.position_code(p)).format(**p)
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
return gcode
diff --git a/preprocessors/ISEL_ICP_CNC.py b/preprocessors/ISEL_ICP_CNC.py
index 5898437e..a6a137f8 100644
--- a/preprocessors/ISEL_ICP_CNC.py
+++ b/preprocessors/ISEL_ICP_CNC.py
@@ -15,7 +15,7 @@ class ISEL_ICP_CNC(FlatCAMPostProc):
def start_code(self, p):
units = ' ' + str(p['units']).lower()
coords_xy = p['xy_toolchange']
- gcode = ''
+ gcode = '; This preprocessor is used with a ISEL ICP CNC router.\n\n'
xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
@@ -25,36 +25,71 @@ class ISEL_ICP_CNC(FlatCAMPostProc):
gcode += 'IMF_PBL flatcam\n\n'
if str(p['options']['type']) == 'Geometry':
- gcode += '; TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + '\n'
- gcode += '; Spindle Speed: %s RPM\n' % str(p['spindlespeed'])
- gcode += '; Feedrate: ' + str(p['feedrate']) + units + '/min' + '\n'
- if str(p['options']['type']) == 'Geometry':
- gcode += '; Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + '\n'
- gcode += '\n'
- gcode += '; Z_Cut: ' + str(p['z_cut']) + units + '\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += ';TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + '\n'
+ gcode += ';Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + '\n'
+ gcode += ';Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + '\n'
+ gcode += ';Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + '\n' + '\n'
+ gcode += ';Z_Cut: ' + str(p['z_cut']) + units + '\n'
if p['multidepth'] is True:
- gcode += '; DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
+ gcode += ';DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + '\n'
- gcode += '; Z_Move: ' + str(p['z_move']) + units + '\n'
- gcode += '; Z Toolchange: ' + str(p['z_toolchange']) + units + '\n'
- if coords_xy is not None:
- gcode += '; X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + '\n'
- else:
- gcode += '; X,Y Toolchange: ' + "None" + units + '\n'
- gcode += '; Z Start: ' + str(p['startz']) + units + '\n'
- gcode += '; Z End: ' + str(p['z_end']) + units + '\n'
- gcode += '; Steps per circle: ' + str(p['steps_per_circle']) + '\n'
- if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
- gcode += '; Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
- else:
- gcode += '; Preprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n'
- gcode += '\n'
+ gcode += ';Z_Move: ' + str(p['z_move']) + units + '\n'
- gcode += '; X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + '\n'
- gcode += '; Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + '\n'
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n;TOOLS DIAMETER: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + '\n'
+
+ gcode += '\n;FEEDRATE Z: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + '\n'
+
+ gcode += '\n;FEEDRATE RAPIDS: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + '\n'
+
+ gcode += '\n;Z_CUT: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + '\n'
+
+ gcode += '\n;Tools Offset: \n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + '\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n;DEPTH_PER_CUT: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + '\n'
+
+ gcode += '\n;Z_MOVE: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + '\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += ';Z Toolchange: ' + str(p['z_toolchange']) + units + '\n'
+
+ if coords_xy is not None:
+ gcode += ';X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + '\n'
+ else:
+ gcode += ';X,Y Toolchange: ' + "None" + units + '\n'
+
+ gcode += ';Z Start: ' + str(p['startz']) + units + '\n'
+ gcode += ';Z End: ' + str(p['z_end']) + units + '\n'
+ gcode += ';Steps per circle: ' + str(p['steps_per_circle']) + '\n'
+
+ if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
+ gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n' + '\n'
+ else:
+ gcode += ';Preprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
+
+ gcode += ';X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + '\n'
+ gcode += ';Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + '\n\n'
+
+ gcode += ';Spindle Speed: %s RPM)\n' % str(p['spindlespeed'])
return gcode
diff --git a/preprocessors/marlin.py b/preprocessors/Marlin.py
similarity index 72%
rename from preprocessors/marlin.py
rename to preprocessors/Marlin.py
index 5eafd92d..d53a257f 100644
--- a/preprocessors/marlin.py
+++ b/preprocessors/Marlin.py
@@ -9,7 +9,7 @@
from FlatCAMPostProc import *
-class marlin(FlatCAMPostProc):
+class Marlin(FlatCAMPostProc):
include_header = True
coordinate_format = "%.*f"
@@ -27,47 +27,74 @@ class marlin(FlatCAMPostProc):
ymax = '%.*f' % (p.coords_decimals, p['options']['ymax'])
if str(p['options']['type']) == 'Geometry':
- gcode += ';TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + '\n' + '\n'
-
- gcode += ';Feedrate: ' + str(p['feedrate']) + units + '/min' + '\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += ';TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + '\n'
+ gcode += ';Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + '\n'
gcode += ';Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + '\n'
-
- gcode += ';Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + '\n' + '\n'
- gcode += ';Z_Cut: ' + str(p['z_cut']) + units + '\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += ';Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + '\n' + '\n'
+ gcode += ';Z_Cut: ' + str(p['z_cut']) + units + '\n'
if p['multidepth'] is True:
gcode += ';DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + '\n'
+ gcode += ';Z_Move: ' + str(p['z_move']) + units + '\n'
- gcode += ';Z_Move: ' + str(p['z_move']) + units + '\n'
- gcode += ';Z Toolchange: ' + str(p['z_toolchange']) + units + '\n'
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n;TOOLS DIAMETER: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + '\n'
- if coords_xy is not None:
- gcode += ';X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + '\n'
- else:
- gcode += ';X,Y Toolchange: ' + "None" + units + '\n'
+ gcode += '\n;FEEDRATE Z: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + '\n'
+
+ gcode += '\n;FEEDRATE RAPIDS: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + '\n'
+
+ gcode += '\n;Z_CUT: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + '\n'
+
+ gcode += '\n;Tools Offset: \n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + '\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n;DEPTH_PER_CUT: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + '\n'
+
+ gcode += '\n;Z_MOVE: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + '\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += ';Z Toolchange: ' + str(p['z_toolchange']) + units + '\n'
+
+ if coords_xy is not None:
+ gcode += ';X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + '\n'
+ else:
+ gcode += ';X,Y Toolchange: ' + "None" + units + '\n'
gcode += ';Z Start: ' + str(p['startz']) + units + '\n'
gcode += ';Z End: ' + str(p['z_end']) + units + '\n'
gcode += ';Steps per circle: ' + str(p['steps_per_circle']) + '\n'
if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
- gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
+ gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n' + '\n'
else:
gcode += ';Preprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
gcode += ';X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + '\n'
gcode += ';Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + '\n\n'
- gcode += ';Spindle Speed: ' + str(p['spindlespeed']) + ' RPM' + '\n' + '\n'
+ gcode += ';Spindle Speed: %s RPM)\n' % str(p['spindlespeed'])
gcode += ('G20' if p.units.upper() == 'IN' else 'G21') + "\n"
- gcode += 'G90\n'
- gcode += 'G94\n'
+ gcode += 'G90'
return gcode
@@ -188,10 +215,10 @@ G0 Z{z_toolchange}
return ('G1 ' + self.position_code(p)).format(**p) + " " + self.inline_feedrate_code(p)
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G0 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + " " + self.feedrate_rapid_code(p) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G0 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + " " + self.feedrate_rapid_code(p) + "\n"
return gcode
@@ -219,8 +246,11 @@ G0 Z{z_toolchange}
return sdir
def dwell_code(self, p):
+ gcode = 'G4 P' + str(p.dwelltime)
if p.dwelltime:
- return 'G4 P' + str(p.dwelltime)
+ return gcode
def spindle_stop_code(self, p):
- return 'M5'
+ gcode = 'M400\n'
+ gcode += 'M5'
+ return gcode
diff --git a/preprocessors/Marlin_laser_FAN_pin.py b/preprocessors/Marlin_laser_FAN_pin.py
new file mode 100644
index 00000000..2d06d23d
--- /dev/null
+++ b/preprocessors/Marlin_laser_FAN_pin.py
@@ -0,0 +1,120 @@
+# ##########################################################
+# FlatCAM: 2D Post-processing for Manufacturing #
+# Website: http://flatcam.org #
+# File Author: Marius Adrian Stanciu (c) #
+# Date: 8-Feb-2020 #
+# License: MIT Licence #
+# ##########################################################
+
+from FlatCAMPostProc import *
+
+
+class Marlin_laser_FAN_pin(FlatCAMPostProc):
+
+ include_header = True
+ coordinate_format = "%.*f"
+ feedrate_format = '%.*f'
+ feedrate_rapid_format = feedrate_format
+
+ def start_code(self, p):
+ units = ' ' + str(p['units']).lower()
+ coords_xy = p['xy_toolchange']
+ gcode = ';This preprocessor is used with a motion controller loaded with MARLIN firmware.\n'
+ gcode += ';It is for the case when it is used together with a LASER connected on one of the FAN pins.\n\n'
+
+ xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
+ xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
+ ymin = '%.*f' % (p.coords_decimals, p['options']['ymin'])
+ ymax = '%.*f' % (p.coords_decimals, p['options']['ymax'])
+
+ gcode += ';Feedrate: ' + str(p['feedrate']) + units + '/min' + '\n'
+ gcode += ';Feedrate rapids: ' + str(p['feedrate_rapid']) + units + '/min' + '\n\n'
+
+ gcode += ';Z Focus: ' + str(p['z_move']) + units + '\n'
+
+ gcode += ';Steps per circle: ' + str(p['steps_per_circle']) + '\n'
+
+ if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
+ gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
+ else:
+ gcode += ';Preprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
+
+ gcode += ';X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + '\n'
+ gcode += ';Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + '\n\n'
+
+ gcode += ';Laser Power (Spindle Speed): ' + str(p['spindlespeed']) + '\n' + '\n'
+
+ gcode += ('G20' if p.units.upper() == 'IN' else 'G21') + "\n"
+ gcode += 'G90'
+
+ return gcode
+
+ def startz_code(self, p):
+ if p.startz is not None:
+ return 'G0 Z' + self.coordinate_format % (p.coords_decimals, p.z_move)
+ else:
+ return ''
+
+ def lift_code(self, p):
+ gcode = 'M400\n'
+ gcode += 'M107'
+ return gcode
+
+ def down_code(self, p):
+ if p.spindlespeed:
+ return '%s S%s' % ('M106', str(p.spindlespeed))
+ else:
+ return 'M106'
+
+ def toolchange_code(self, p):
+ return ''
+
+ def up_to_zero_code(self, p):
+ gcode = 'M400\n'
+ gcode += 'M107'
+ return gcode
+
+ def position_code(self, p):
+ return ('X' + self.coordinate_format + ' Y' + self.coordinate_format) % \
+ (p.coords_decimals, p.x, p.coords_decimals, p.y)
+
+ def rapid_code(self, p):
+ return ('G0 ' + self.position_code(p)).format(**p) + " " + self.feedrate_rapid_code(p)
+
+ def linear_code(self, p):
+ return ('G1 ' + self.position_code(p)).format(**p) + " " + self.inline_feedrate_code(p)
+
+ def end_code(self, p):
+ coords_xy = p['xy_end']
+ gcode = ('G0 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + " " + self.feedrate_rapid_code(p) + "\n")
+
+ if coords_xy and coords_xy != '':
+ gcode += 'G0 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + " " + self.feedrate_rapid_code(p) + "\n"
+
+ return gcode
+
+ def feedrate_code(self, p):
+ return 'G1 F' + str(self.feedrate_format % (p.fr_decimals, p.feedrate))
+
+ def z_feedrate_code(self, p):
+ return 'G1 F' + str(self.feedrate_format % (p.fr_decimals, p.z_feedrate))
+
+ def inline_feedrate_code(self, p):
+ return 'F' + self.feedrate_format % (p.fr_decimals, p.feedrate)
+
+ def feedrate_rapid_code(self, p):
+ return 'F' + self.feedrate_rapid_format % (p.fr_decimals, p.feedrate_rapid)
+
+ def spindle_code(self, p):
+ if p.spindlespeed:
+ return 'M106 S%s' % str(p.spindlespeed)
+ else:
+ return 'M106'
+
+ def dwell_code(self, p):
+ return ''
+
+ def spindle_stop_code(self, p):
+ gcode = 'M400\n'
+ gcode += 'M106 S0'
+ return gcode
diff --git a/preprocessors/Marlin_laser_Spindle_pin.py b/preprocessors/Marlin_laser_Spindle_pin.py
new file mode 100644
index 00000000..151e9dc4
--- /dev/null
+++ b/preprocessors/Marlin_laser_Spindle_pin.py
@@ -0,0 +1,122 @@
+# ##########################################################
+# FlatCAM: 2D Post-processing for Manufacturing #
+# Website: http://flatcam.org #
+# File Author: Marius Adrian Stanciu (c) #
+# Date: 8-Feb-2020 #
+# License: MIT Licence #
+# ##########################################################
+
+from FlatCAMPostProc import *
+
+
+class Marlin_laser_Spindle_pin(FlatCAMPostProc):
+
+ include_header = True
+ coordinate_format = "%.*f"
+ feedrate_format = '%.*f'
+ feedrate_rapid_format = feedrate_format
+
+ def start_code(self, p):
+ units = ' ' + str(p['units']).lower()
+ coords_xy = p['xy_toolchange']
+ gcode = ';This preprocessor is used with a motion controller loaded with MARLIN firmware.\n'
+ gcode += ';It is for the case when it is used together with a LASER connected on the SPINDLE connector.\n\n'
+
+ xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
+ xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
+ ymin = '%.*f' % (p.coords_decimals, p['options']['ymin'])
+ ymax = '%.*f' % (p.coords_decimals, p['options']['ymax'])
+
+ gcode += ';Feedrate: ' + str(p['feedrate']) + units + '/min' + '\n'
+ gcode += ';Feedrate rapids: ' + str(p['feedrate_rapid']) + units + '/min' + '\n' + '\n'
+
+ gcode += ';Z Focus: ' + str(p['z_move']) + units + '\n'
+
+ gcode += ';Steps per circle: ' + str(p['steps_per_circle']) + '\n'
+
+ if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
+ gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
+ else:
+ gcode += ';Preprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
+
+ gcode += ';X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + '\n'
+ gcode += ';Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + '\n\n'
+
+ gcode += ';Laser Power (Spindle Speed): ' + str(p['spindlespeed']) + '\n' + '\n'
+
+ gcode += ('G20' if p.units.upper() == 'IN' else 'G21') + "\n"
+ gcode += 'G90'
+
+ return gcode
+
+ def startz_code(self, p):
+ if p.startz is not None:
+ return 'G0 Z' + self.coordinate_format % (p.coords_decimals, p.z_move)
+ else:
+ return ''
+
+ def lift_code(self, p):
+ gcode = 'M400\n'
+ gcode += 'M5'
+ return gcode
+
+ def down_code(self, p):
+ sdir = {'CW': 'M3', 'CCW': 'M4'}[p.spindledir]
+ if p.spindlespeed:
+ return '%s S%s' % (sdir, str(p.spindlespeed))
+ else:
+ return sdir
+
+ def toolchange_code(self, p):
+ return ''
+
+ def up_to_zero_code(self, p):
+ gcode = 'M400\n'
+ gcode += 'M5'
+ return gcode
+
+ def position_code(self, p):
+ return ('X' + self.coordinate_format + ' Y' + self.coordinate_format) % \
+ (p.coords_decimals, p.x, p.coords_decimals, p.y)
+
+ def rapid_code(self, p):
+ return ('G0 ' + self.position_code(p)).format(**p) + " " + self.feedrate_rapid_code(p)
+
+ def linear_code(self, p):
+ return ('G1 ' + self.position_code(p)).format(**p) + " " + self.inline_feedrate_code(p)
+
+ def end_code(self, p):
+ coords_xy = p['xy_end']
+ gcode = ('G0 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + " " + self.feedrate_rapid_code(p) + "\n")
+
+ if coords_xy and coords_xy != '':
+ gcode += 'G0 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + " " + self.feedrate_rapid_code(p) + "\n"
+
+ return gcode
+
+ def feedrate_code(self, p):
+ return 'G1 F' + str(self.feedrate_format % (p.fr_decimals, p.feedrate))
+
+ def z_feedrate_code(self, p):
+ return 'G1 F' + str(self.feedrate_format % (p.fr_decimals, p.z_feedrate))
+
+ def inline_feedrate_code(self, p):
+ return 'F' + self.feedrate_format % (p.fr_decimals, p.feedrate)
+
+ def feedrate_rapid_code(self, p):
+ return 'F' + self.feedrate_rapid_format % (p.fr_decimals, p.feedrate_rapid)
+
+ def spindle_code(self, p):
+ sdir = {'CW': 'M3', 'CCW': 'M4'}[p.spindledir]
+ if p.spindlespeed:
+ return '%s S%s' % (sdir, str(p.spindlespeed))
+ else:
+ return sdir
+
+ def dwell_code(self, p):
+ return ''
+
+ def spindle_stop_code(self, p):
+ gcode = 'M400\n'
+ gcode += 'M5'
+ return gcode
diff --git a/preprocessors/Paste_1.py b/preprocessors/Paste_1.py
index 87403017..cbb0b19f 100644
--- a/preprocessors/Paste_1.py
+++ b/preprocessors/Paste_1.py
@@ -122,10 +122,10 @@ G00 Z{z_toolchange}
return ('G01 ' + self.position_code(p)).format(**p)
def end_code(self, p):
- coords_xy = [float(eval(a)) for a in p['xy_toolchange'].split(",") if a != '']
+ coords_xy = [float(eval(a)) for a in p['xy_end'].split(",") if a != '']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, float(p['z_toolchange'])) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
return gcode
diff --git a/preprocessors/Repetier.py b/preprocessors/Repetier.py
index c149513c..bb17f9ee 100644
--- a/preprocessors/Repetier.py
+++ b/preprocessors/Repetier.py
@@ -19,7 +19,7 @@ class Repetier(FlatCAMPostProc):
def start_code(self, p):
units = ' ' + str(p['units']).lower()
coords_xy = p['xy_toolchange']
- gcode = ''
+ gcode = ';This preprocessor is used with a motion controller loaded with REPETIER firmware.\n\n'
xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
@@ -27,43 +27,71 @@ class Repetier(FlatCAMPostProc):
ymax = '%.*f' % (p.coords_decimals, p['options']['ymax'])
if str(p['options']['type']) == 'Geometry':
- gcode += ';TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + '\n' + '\n'
-
- gcode += ';Feedrate: ' + str(p['feedrate']) + units + '/min' + '\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += ';TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + '\n'
+ gcode += ';Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + '\n'
gcode += ';Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + '\n'
-
- gcode += ';Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + '\n' + '\n'
- gcode += ';Z_Cut: ' + str(p['z_cut']) + units + '\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += ';Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + '\n' + '\n'
+ gcode += ';Z_Cut: ' + str(p['z_cut']) + units + '\n'
if p['multidepth'] is True:
gcode += ';DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + '\n'
+ gcode += ';Z_Move: ' + str(p['z_move']) + units + '\n'
- gcode += ';Z_Move: ' + str(p['z_move']) + units + '\n'
- gcode += ';Z Toolchange: ' + str(p['z_toolchange']) + units + '\n'
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n;TOOLS DIAMETER: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + '\n'
- if coords_xy is not None:
- gcode += ';X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + '\n'
- else:
- gcode += ';X,Y Toolchange: ' + "None" + units + '\n'
+ gcode += '\n;FEEDRATE Z: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + '\n'
+
+ gcode += '\n;FEEDRATE RAPIDS: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + '\n'
+
+ gcode += '\n;Z_CUT: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + '\n'
+
+ gcode += '\n;Tools Offset: \n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + '\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n;DEPTH_PER_CUT: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + '\n'
+
+ gcode += '\n;Z_MOVE: \n'
+ for tool, val in p['exc_tools'].items():
+ gcode += ';Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + '\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += ';Z Toolchange: ' + str(p['z_toolchange']) + units + '\n'
+
+ if coords_xy is not None:
+ gcode += ';X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + '\n'
+ else:
+ gcode += ';X,Y Toolchange: ' + "None" + units + '\n'
gcode += ';Z Start: ' + str(p['startz']) + units + '\n'
gcode += ';Z End: ' + str(p['z_end']) + units + '\n'
gcode += ';Steps per circle: ' + str(p['steps_per_circle']) + '\n'
if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
- gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n'
+ gcode += ';Preprocessor Excellon: ' + str(p['pp_excellon_name']) + '\n' + '\n'
else:
gcode += ';Preprocessor Geometry: ' + str(p['pp_geometry_name']) + '\n' + '\n'
gcode += ';X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + '\n'
gcode += ';Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + '\n\n'
- gcode += ';Spindle Speed: ' + str(p['spindlespeed']) + ' RPM' + '\n' + '\n'
+ gcode += ';Spindle Speed: %s RPM)\n' % str(p['spindlespeed'])
gcode += ('G20' if p.units.upper() == 'IN' else 'G21') + "\n"
gcode += 'G90\n'
@@ -178,10 +206,10 @@ G0 Z{z_toolchange}
return ('G1 ' + self.position_code(p)).format(**p) + " " + self.inline_feedrate_code(p)
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G0 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + " " + self.feedrate_rapid_code(p) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G0 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + " " + self.feedrate_rapid_code(p) + "\n"
return gcode
diff --git a/preprocessors/Toolchange_Custom.py b/preprocessors/Toolchange_Custom.py
index ce6814b9..1c2eeffc 100644
--- a/preprocessors/Toolchange_Custom.py
+++ b/preprocessors/Toolchange_Custom.py
@@ -27,35 +27,63 @@ class Toolchange_Custom(FlatCAMPostProc):
if str(p['options']['type']) == 'Geometry':
gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n'
-
- gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + ')\n'
gcode += '(Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + ')\n'
-
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
- gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
if p['multidepth'] is True:
gcode += '(DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + ')\n'
+ gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n(TOOLS DIAMETER: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + ')\n'
- if coords_xy is not None:
- gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + ')\n'
- else:
- gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
+ gcode += '\n(FEEDRATE Z: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + ')\n'
+
+ gcode += '\n(FEEDRATE RAPIDS: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + ')\n'
+
+ gcode += '\n(Z_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + ')\n'
+
+ gcode += '\n(Tools Offset: )\n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + ')\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n(DEPTH_PER_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + ')\n'
+
+ gcode += '\n(Z_MOVE: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + ')\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+
+ if coords_xy is not None:
+ gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + ')\n'
+ else:
+ gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
gcode += '(Z Start: ' + str(p['startz']) + units + ')\n'
gcode += '(Z End: ' + str(p['z_end']) + units + ')\n'
gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
- gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+ gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
else:
gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
@@ -145,10 +173,10 @@ M6
return ('G01 ' + self.position_code(p)).format(**p)
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
return gcode
diff --git a/preprocessors/Toolchange_manual.py b/preprocessors/Toolchange_Manual.py
similarity index 73%
rename from preprocessors/Toolchange_manual.py
rename to preprocessors/Toolchange_Manual.py
index dc7a304d..27aaec22 100644
--- a/preprocessors/Toolchange_manual.py
+++ b/preprocessors/Toolchange_Manual.py
@@ -9,7 +9,7 @@
from FlatCAMPostProc import *
-class Toolchange_manual(FlatCAMPostProc):
+class Toolchange_Manual(FlatCAMPostProc):
include_header = True
coordinate_format = "%.*f"
@@ -27,27 +27,57 @@ class Toolchange_manual(FlatCAMPostProc):
if str(p['options']['type']) == 'Geometry':
gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n'
-
- gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + ')\n'
gcode += '(Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + ')\n'
-
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
- gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
if p['multidepth'] is True:
gcode += '(DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + ')\n'
+ gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
+
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n(TOOLS DIAMETER: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + ')\n'
+
+ gcode += '\n(FEEDRATE Z: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + ')\n'
+
+ gcode += '\n(FEEDRATE RAPIDS: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + ')\n'
+
+ gcode += '\n(Z_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + ')\n'
+
+ gcode += '\n(Tools Offset: )\n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + ')\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n(DEPTH_PER_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + ')\n'
+
+ gcode += '\n(Z_MOVE: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + ')\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+
+ if coords_xy is not None:
+ gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + ')\n'
+ else:
+ gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
- gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
- if coords_xy is not None:
- gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + ')\n'
- else:
- gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
gcode += '(Z Start: ' + str(p['startz']) + units + ')\n'
gcode += '(Z End: ' + str(p['z_end']) + units + ')\n'
gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
@@ -119,6 +149,7 @@ M0
G00 Z{z_toolchange}
(MSG, Now the tool can be tightened more securely.)
M0
+(MSG, Drilling with Tool Dia = {toolC} ||| Total drills for tool T{tool} = {t_drills})
""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
@@ -139,6 +170,7 @@ M0
G00 Z{z_toolchange}
(MSG, Now the tool can be tightened more securely.)
M0
+(MSG, Milling with Tool Dia = {toolC} ||| Total drills for tool T{tool} = {t_drills})
""".format(
z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
tool=int(p.tool),
@@ -203,12 +235,11 @@ M0
return ('G01 ' + self.position_code(p)).format(**p)
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + "\n")
- if coords_xy is not None:
+
+ if coords_xy and coords_xy != '':
gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
- else:
- gcode += 'G00 X0 Y0' + "\n"
return gcode
def feedrate_code(self, p):
diff --git a/preprocessors/Toolchange_Probe_MACH3.py b/preprocessors/Toolchange_Probe_MACH3.py
index 38371154..f5f8c9c3 100644
--- a/preprocessors/Toolchange_Probe_MACH3.py
+++ b/preprocessors/Toolchange_Probe_MACH3.py
@@ -18,7 +18,7 @@ class Toolchange_Probe_MACH3(FlatCAMPostProc):
def start_code(self, p):
units = ' ' + str(p['units']).lower()
coords_xy = p['xy_toolchange']
- gcode = ''
+ gcode = '(This preprocessor is used with MACH3 with probing height.)\n\n'
xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
@@ -27,37 +27,63 @@ class Toolchange_Probe_MACH3(FlatCAMPostProc):
if str(p['options']['type']) == 'Geometry':
gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n'
-
- gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + ')\n'
gcode += '(Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + ')\n'
-
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
- gcode += '(Feedrate Probe ' + str(p['feedrate_probe']) + units + '/min' + ')\n' + '\n'
- gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
if p['multidepth'] is True:
gcode += '(DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + ')\n'
+ gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n(TOOLS DIAMETER: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + ')\n'
- if coords_xy is not None:
- gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + ')\n'
- else:
- gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
+ gcode += '\n(FEEDRATE Z: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + ')\n'
+
+ gcode += '\n(FEEDRATE RAPIDS: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + ')\n'
+
+ gcode += '\n(Z_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + ')\n'
+
+ gcode += '\n(Tools Offset: )\n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + ')\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n(DEPTH_PER_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + ')\n'
+
+ gcode += '\n(Z_MOVE: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + ')\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+
+ if coords_xy is not None:
+ gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + ')\n'
+ else:
+ gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
gcode += '(Z Start: ' + str(p['startz']) + units + ')\n'
gcode += '(Z End: ' + str(p['z_end']) + units + ')\n'
- gcode += '(Z Probe Depth: ' + str(p['z_pdepth']) + units + ')\n'
gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
- gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+ gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
else:
gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
@@ -246,10 +272,10 @@ M0
return ('G01 ' + self.position_code(p)).format(**p)
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
return gcode
diff --git a/preprocessors/default.py b/preprocessors/default.py
index d1ddf6ad..7c5cf1c6 100644
--- a/preprocessors/default.py
+++ b/preprocessors/default.py
@@ -18,7 +18,8 @@ class default(FlatCAMPostProc):
def start_code(self, p):
units = ' ' + str(p['units']).lower()
coords_xy = p['xy_toolchange']
- gcode = ''
+ gcode = '(This preprocessor is the default preprocessor used by FlatCAM.)\n'
+ gcode += '(It is made to work with MACH3 compatible motion controllers.)\n\n'
xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
@@ -27,28 +28,56 @@ class default(FlatCAMPostProc):
if str(p['options']['type']) == 'Geometry':
gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n'
-
- gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + ')\n'
gcode += '(Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + ')\n'
-
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
- gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
if p['multidepth'] is True:
gcode += '(DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + ')\n'
+ gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n(TOOLS DIAMETER: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + ')\n'
- if coords_xy is not None:
- gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + ')\n'
- else:
- gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
+ gcode += '\n(FEEDRATE Z: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + ')\n'
+
+ gcode += '\n(FEEDRATE RAPIDS: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + ')\n'
+
+ gcode += '\n(Z_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + ')\n'
+
+ gcode += '\n(Tools Offset: )\n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + ')\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n(DEPTH_PER_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + ')\n'
+
+ gcode += '\n(Z_MOVE: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + ')\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+
+ if coords_xy is not None:
+ gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + ')\n'
+ else:
+ gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
gcode += '(Z Start: ' + str(p['startz']) + units + ')\n'
gcode += '(Z End: ' + str(p['z_end']) + units + ')\n'
@@ -66,7 +95,7 @@ class default(FlatCAMPostProc):
gcode += ('G20\n' if p.units.upper() == 'IN' else 'G21\n')
gcode += 'G90\n'
- gcode += 'G94\n'
+ gcode += 'G94'
return gcode
@@ -117,11 +146,11 @@ M6
M0
G00 Z{z_toolchange}
""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolchange),
- y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
- z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
- tool=int(p.tool),
- t_drills=no_drills,
- toolC=toolC_formatted)
+ y_toolchange=self.coordinate_format % (p.coords_decimals, y_toolchange),
+ z_toolchange=self.coordinate_format % (p.coords_decimals, z_toolchange),
+ tool=int(p.tool),
+ t_drills=no_drills,
+ toolC=toolC_formatted)
else:
gcode = """
M5
@@ -188,11 +217,11 @@ G00 Z{z_toolchange}
return ('G01 ' + self.position_code(p)).format(**p)
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ end_coords_xy = p['xy_end']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + "\n")
- if coords_xy is not None:
- gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
+ if end_coords_xy and end_coords_xy != '':
+ gcode += 'G00 X{x} Y{y}'.format(x=end_coords_xy[0], y=end_coords_xy[1]) + "\n"
return gcode
def feedrate_code(self, p):
diff --git a/preprocessors/grbl_11.py b/preprocessors/grbl_11.py
index 9a53c0ab..b002b2b2 100644
--- a/preprocessors/grbl_11.py
+++ b/preprocessors/grbl_11.py
@@ -18,7 +18,8 @@ class grbl_11(FlatCAMPostProc):
def start_code(self, p):
units = ' ' + str(p['units']).lower()
coords_xy = p['xy_toolchange']
- gcode = ''
+ gcode = '(This preprocessor is used with a motion controller loaded with GRBL firmware.)\n'
+ gcode += '(It is configured to be compatible with almost any version of GRBL firmware.)\n\n'
xmin = '%.*f' % (p.coords_decimals, p['options']['xmin'])
xmax = '%.*f' % (p.coords_decimals, p['options']['xmax'])
@@ -26,41 +27,71 @@ class grbl_11(FlatCAMPostProc):
ymax = '%.*f' % (p.coords_decimals, p['options']['ymax'])
if str(p['options']['type']) == 'Geometry':
- gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n' + '\n'
-
- gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n'
+ gcode += '(Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + ')\n'
gcode += '(Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + ')\n'
-
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
- gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
if p['multidepth'] is True:
gcode += '(DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + ')\n'
+ gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
+
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n(TOOLS DIAMETER: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + ')\n'
+
+ gcode += '\n(FEEDRATE Z: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + ')\n'
+
+ gcode += '\n(FEEDRATE RAPIDS: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + ')\n'
+
+ gcode += '\n(Z_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + ')\n'
+
+ gcode += '\n(Tools Offset: )\n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + ')\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n(DEPTH_PER_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + ')\n'
+
+ gcode += '\n(Z_MOVE: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + ')\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+
+ if coords_xy is not None:
+ gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + ')\n'
+ else:
+ gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
- gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
- if coords_xy is not None:
- gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + ')\n'
- else:
- gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
gcode += '(Z Start: ' + str(p['startz']) + units + ')\n'
gcode += '(Z End: ' + str(p['z_end']) + units + ')\n'
gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
- gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+ gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
else:
gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
gcode += '(X range: ' + '{: >9s}'.format(xmin) + ' ... ' + '{: >9s}'.format(xmax) + ' ' + units + ')\n'
gcode += '(Y range: ' + '{: >9s}'.format(ymin) + ' ... ' + '{: >9s}'.format(ymax) + ' ' + units + ')\n\n'
- gcode += '(Spindle Speed: ' + str(p['spindlespeed']) + ' RPM' + ')\n' + '\n'
+ gcode += '(Spindle Speed: %s RPM)\n' % str(p['spindlespeed'])
gcode += ('G20' if p.units.upper() == 'IN' else 'G21') + "\n"
gcode += 'G90\n'
@@ -187,10 +218,10 @@ G00 Z{z_toolchange}
' F' + str(self.feedrate_format % (p.fr_decimals, p.feedrate))
def end_code(self, p):
- coords_xy = p['xy_toolchange']
+ coords_xy = p['xy_end']
gcode = ('G00 Z' + self.feedrate_format % (p.fr_decimals, p.z_end) + "\n")
- if coords_xy is not None:
+ if coords_xy and coords_xy != '':
gcode += 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
return gcode
diff --git a/preprocessors/line_xyz.py b/preprocessors/line_xyz.py
index b3beacdd..900d7fab 100644
--- a/preprocessors/line_xyz.py
+++ b/preprocessors/line_xyz.py
@@ -27,33 +27,63 @@ class line_xyz(FlatCAMPostProc):
if str(p['options']['type']) == 'Geometry':
gcode += '(TOOL DIAMETER: ' + str(p['options']['tool_dia']) + units + ')\n'
-
- gcode += '(Feedrate: ' + str(p['feedrate']) + units + '/min' + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate_XY: ' + str(p['feedrate']) + units + '/min' + ')\n'
gcode += '(Feedrate_Z: ' + str(p['z_feedrate']) + units + '/min' + ')\n'
-
- gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
- gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
-
- if str(p['options']['type']) == 'Geometry':
+ gcode += '(Feedrate rapids ' + str(p['feedrate_rapid']) + units + '/min' + ')\n' + '\n'
+ gcode += '(Z_Cut: ' + str(p['z_cut']) + units + ')\n'
if p['multidepth'] is True:
gcode += '(DepthPerCut: ' + str(p['z_depthpercut']) + units + ' <=>' + \
str(math.ceil(abs(p['z_cut']) / p['z_depthpercut'])) + ' passes' + ')\n'
+ gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
+
+ elif str(p['options']['type']) == 'Excellon' and p['use_ui'] is True:
+ gcode += '\n(TOOLS DIAMETER: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Dia: %s' % str(val["C"]) + ')\n'
+
+ gcode += '\n(FEEDRATE Z: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate: %s' % str(val['data']["feedrate_z"]) + ')\n'
+
+ gcode += '\n(FEEDRATE RAPIDS: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Feedrate Rapids: %s' % \
+ str(val['data']["feedrate_rapid"]) + ')\n'
+
+ gcode += '\n(Z_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Cut: %s' % str(val['data']["cutz"]) + ')\n'
+
+ gcode += '\n(Tools Offset: )\n'
+ for tool, val in p['exc_cnc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(val['tool']) + 'Offset Z: %s' % str(val['offset_z']) + ')\n'
+
+ if p['multidepth'] is True:
+ gcode += '\n(DEPTH_PER_CUT: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'DeptPerCut: %s' % \
+ str(val['data']["depthperpass"]) + ')\n'
+
+ gcode += '\n(Z_MOVE: )\n'
+ for tool, val in p['exc_tools'].items():
+ gcode += '(Tool: %s -> ' % str(tool) + 'Z_Move: %s' % str(val['data']["travelz"]) + ')\n'
+ gcode += '\n'
+
+ if p['toolchange'] is True:
+ gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
+
+ if coords_xy is not None:
+ gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
+ p.decimals, coords_xy[1]) + units + ')\n'
+ else:
+ gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
- gcode += '(Z_Move: ' + str(p['z_move']) + units + ')\n'
- gcode += '(Z Toolchange: ' + str(p['z_toolchange']) + units + ')\n'
- if coords_xy is not None:
- gcode += '(X,Y Toolchange: ' + "%.*f, %.*f" % (p.decimals, coords_xy[0],
- p.decimals, coords_xy[1]) + units + ')\n'
- else:
- gcode += '(X,Y Toolchange: ' + "None" + units + ')\n'
gcode += '(Z Start: ' + str(p['startz']) + units + ')\n'
gcode += '(Z End: ' + str(p['z_end']) + units + ')\n'
gcode += '(Steps per circle: ' + str(p['steps_per_circle']) + ')\n'
if str(p['options']['type']) == 'Excellon' or str(p['options']['type']) == 'Excellon Geometry':
- gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n'
+ gcode += '(Preprocessor Excellon: ' + str(p['pp_excellon_name']) + ')\n' + '\n'
else:
gcode += '(Preprocessor Geometry: ' + str(p['pp_geometry_name']) + ')\n' + '\n'
@@ -176,8 +206,8 @@ M0""".format(x_toolchange=self.coordinate_format % (p.coords_decimals, x_toolcha
return g
def end_code(self, p):
- coords_xy = p['xy_toolchange']
- if coords_xy is not None:
+ coords_xy = p['xy_end']
+ if coords_xy and coords_xy != '':
g = 'G00 X{x} Y{y}'.format(x=coords_xy[0], y=coords_xy[1]) + "\n"
else:
g = ('G00 ' + self.position_code(p)).format(**p)
diff --git a/requirements.txt b/requirements.txt
index 259ef455..89cda8e4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,7 +1,10 @@
# This file contains python only requirements to be installed with pip
# Python packages that cannot be installed with pip (e.g. PyQt5, GDAL) are not included.
+# For Windows GDAL wheel can be found here: https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
# Usage: pip3 install -r requirements.txt
-numpy >=1.16
+
+pyqt5>=5.12.1
+numpy>=1.16
matplotlib>=3.1
cycler>=0.10
python-dateutil>=2.1
@@ -12,7 +15,7 @@ dill
rtree
pyopengl
vispy
-ortools
+ortools>=7.0
svg.path
simplejson
shapely>=1.3
@@ -23,4 +26,5 @@ lxml
ezdxf
qrcode>=6.1
reportlab>=3.5
-svglib
\ No newline at end of file
+svglib
+gdal
\ No newline at end of file
diff --git a/setup_ubuntu.sh b/setup_ubuntu.sh
index 4830b383..50da3fdf 100644
--- a/setup_ubuntu.sh
+++ b/setup_ubuntu.sh
@@ -1,8 +1,9 @@
#!/bin/bash
sudo apt install --reinstall libpng-dev libfreetype6 libfreetype6-dev libgeos-dev libspatialindex-dev
sudo apt install --reinstall python3-dev python3-pyqt5 python3-pyqt5.qtopengl python3-gdal python3-simplejson
-sudo apt install --reinstall python3-pip python3-tk python3-imaging
+sudo apt install --reinstall python3-pip python3-tk
-sudo python3 -m pip install --upgrade pip numpy scipy shapely rtree tk lxml cycler python-dateutil kiwisolver dill
+sudo python3 -m pip install --upgrade pyqt5
+sudo python3 -m pip install --upgrade pip numpy shapely rtree tk lxml cycler python-dateutil kiwisolver dill
sudo python3 -m pip install --upgrade vispy pyopengl setuptools svg.path ortools freetype-py fontTools rasterio ezdxf
sudo python3 -m pip install --upgrade matplotlib qrcode reportlab svglib
\ No newline at end of file
diff --git a/share/align16.png b/share/align16.png
new file mode 100644
index 00000000..d21f1cec
Binary files /dev/null and b/share/align16.png differ
diff --git a/share/align32.png b/share/align32.png
new file mode 100644
index 00000000..b81511a2
Binary files /dev/null and b/share/align32.png differ
diff --git a/share/black32.png b/share/black32.png
new file mode 100644
index 00000000..ff19e7ad
Binary files /dev/null and b/share/black32.png differ
diff --git a/share/dark_resources/Makefile b/share/dark_resources/Makefile
new file mode 100644
index 00000000..460545c0
--- /dev/null
+++ b/share/dark_resources/Makefile
@@ -0,0 +1,296 @@
+#addarray16.png
+#addarray20.png
+#addarray32.png
+#aero_arc.png
+#aero_array.png
+#aero_buffer.png
+#aero_circle_geo.png
+#aero_circle.png
+#aero_disc.png
+#aero_drill_array.png
+#aero_drill.png
+#aero_path1.png
+#aero_path2.png
+#aero_path3.png
+#aero_path4.png
+#aero_path5.png
+#aero.png
+#aero_semidisc.png
+#aero_slot.png
+#aero_text.png
+#align_center32.png
+#align_justify32.png
+#align_left32.png
+#align_right32.png
+#aperture16.png
+#aperture32.png
+#arc16.png
+#arc24.png
+#arc32.png
+#axis32.png
+#backup24.png
+#backup_export24.png
+#backup_import24.png
+#blocked16.png
+#bold32.png
+#bookmarks16.png
+#bookmarks32.png
+#buffer16-2.png
+#buffer16.png
+#buffer20.png
+#buffer24.png
+#bug16.png
+#bug32.png
+#calculator16.png
+#calculator24.png
+#calibrate_16.png
+#calibrate_32.png
+#cancel_edit16.png
+#cancel_edit32.png
+#circle32.png
+#clear_plot16.png
+#clear_plot32.png
+#close_edit_file16.png
+#close_edit_file32.png
+#cnc16.png
+#cnc32.png
+#code_editor32.png
+#code.png
+#convert24.png
+#copperfill16.png
+#copperfill32.png
+#copy_16.png
+#copy16.png
+#copy32.png
+#copy_file16.png
+#copy_file32.png
+#copy_geo.png
+#copy.png
+#corner32.png
+#cut16_bis.png
+#cut16.png
+#cut32_bis.png
+#cut32.png
+#cutpath16.png
+#cutpath24.png
+#cutpath32.png
+#database32.png
+#defaults.png
+#delete32.png
+#delete_file16.png
+#delete_file32.png
+#deleteshape16.png
+#deleteshape24.png
+#deleteshape32.png
+#deselect_all32.png
+#disable16.png
+#disable32.png
+#disc32.png
+#distance16.png
+#distance32.png
+#distance_min16.png
+#distance_min32.png
+#doubleside16.png
+#doubleside32.png
+#draw32.png
+#drill16.png
+#drill32.png
+#dxf16.png
+#edit16.png
+#edit32.png
+#edit_file16.png
+#edit_file32.png
+#edit_ok16.png
+#edit_ok32_bis.png
+#edit_ok32.png
+#eraser26.png
+#explode32.png
+#export.png
+#export_png32.png
+#fiducials_32.png
+#file16.png
+#file32.png
+#film16.png
+#film32.png
+#flatcam_icon128.png
+#flatcam_icon16.png
+#flatcam_icon24.png
+#flatcam_icon256.png
+#flatcam_icon32.png
+#flatcam_icon48.png
+#flipx.png
+#flipy.png
+#floppy16.png
+#floppy32.png
+#folder16.png
+#folder32_bis.png
+#folder32_Excellon.png
+#folder32_gerber.png
+#folder32.png
+#fscreen32.png
+#gear32.png
+#gear48.png
+#geometry16.png
+#globe16.png
+#goemetry32.png
+#graylight12.png
+#grid16.png
+#grid32_menu.png
+#grid32.png
+#help.png
+#home16.png
+#icons.txt
+#image16.png
+#image32.png
+#import.png
+#info16.png
+#intersection16.png
+#intersection24.png
+#intersection32.png
+#italic32.png
+#join16.png
+#join32.png
+#jump_to16.png
+#jump_to32.png
+#language32.png
+#letter_t_32.png
+#link16.png
+#machine16.png
+#markarea32.png
+#move16.png
+#move32_bis.png
+#move32.png
+#ncc16.png
+#new_exc32.png
+#new_file16.png
+#new_file32.png
+#new_file_exc16.png
+#new_file_exc32.png
+#new_file_geo16.png
+#new_file_geo32.png
+#new_file_grb16.png
+#new_file_grb32.png
+#new_geo16.png
+#new_geo32_bis.png
+#new_geo32.png
+#notebook16.png
+#notebook32.png
+#notes16_1.png
+#notes16.png
+#offset32.png
+#offsetx32.png
+#offsety32.png
+#open_excellon32.png
+#open_script32.png
+#origin16.png
+#origin32.png
+#origin.png
+#padarray32.png
+#paint16.png
+#paint20_1.png
+#paint20.png
+#panel16.png
+#panel32.png
+#panelize16.png
+#panelize32.png
+#path32.png
+#pdf32.png
+#pdf_link16.png
+#plot32.png
+#plus16.png
+#plus32.png
+#pointer32.png
+#pointer.png
+#poligonize32.png
+#polygon32.png
+#power16.png
+#pref.png
+#printer16.png
+#printer32.png
+#project16.png
+#project_save16.png
+#project_save32.png
+#properties32.png
+#qrcode32.png
+#recent_files.png
+#rectangle32.png
+#recycle16.png
+#replot16.png
+#replot32.png
+#resize16.png
+#rotate.png
+#rules32.png
+#save_as.png
+#scale32.png
+#script14.png
+#script16.png
+#script_new16.png
+#script_new24.png
+#script_open16.png
+#script_open18.png
+#script_open24.png
+#select_all.png
+#semidisc32.png
+#shell16.png
+#shell32.png
+#shortcuts24.png
+#skewX.png
+#skewY.png
+#slot26.png
+#slot_array26.png
+#snap_16.png
+#solderpaste32.png
+#solderpastebis32.png
+#source32.png
+#splash.png
+#sub32.png
+#subtract16.png
+#subtract24.png
+#subtract32.png
+#svg16.png
+#svg32.png
+#text32.png
+#toggle_units16.png
+#toggle_units32.png
+#track32.png
+#transform.png
+#trash16.png
+#trash32.png
+#tv16.png
+#underline32.png
+#union16.png
+#union32.png
+#videohelp24.png
+#view64.png
+#workspace24.png
+#zoom_fit32.png
+#zoom_in32.png
+#zoom_out32.png
+
+images = $(shell find -name "*.png")
+
+ls:
+ @ echo $(images) | tr " " "\n"
+
+.PHONY: all
+
+all: $(images)
+
+%.png:
+ @ echo "\nProcessing $@ $(prefix ../,$@)"
+ @ convert $(addprefix ../,$@) -fuzz 20% -transparent white $@
+ @ convert $@ -channel RGB -negate $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque white $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#f7f7f7" $@
+ # # teste converte cinzas intermediarias
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#000000" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#040404" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#212121" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#262626" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#3b3b3b" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#3e3e3e" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#4c4c4c" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#505050" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#555555" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#575757" $@
+ @ convert $@ -fuzz 10% -fill "#F3F3F3" -opaque "#919191" $@
diff --git a/share/dark_resources/active_static.png b/share/dark_resources/active_static.png
index 6c98a7ec..d583dbf5 100644
Binary files a/share/dark_resources/active_static.png and b/share/dark_resources/active_static.png differ
diff --git a/share/dark_resources/addarray16.png b/share/dark_resources/addarray16.png
index 8b26c310..170c3aeb 100644
Binary files a/share/dark_resources/addarray16.png and b/share/dark_resources/addarray16.png differ
diff --git a/share/dark_resources/addarray20.png b/share/dark_resources/addarray20.png
index f5892d5c..ce121e34 100644
Binary files a/share/dark_resources/addarray20.png and b/share/dark_resources/addarray20.png differ
diff --git a/share/dark_resources/addarray32.png b/share/dark_resources/addarray32.png
index 7e855a71..b4682112 100644
Binary files a/share/dark_resources/addarray32.png and b/share/dark_resources/addarray32.png differ
diff --git a/share/dark_resources/aero.png b/share/dark_resources/aero.png
index 4b17865e..ad251cc0 100644
Binary files a/share/dark_resources/aero.png and b/share/dark_resources/aero.png differ
diff --git a/share/dark_resources/aero_arc.png b/share/dark_resources/aero_arc.png
index 729f6523..612858ac 100644
Binary files a/share/dark_resources/aero_arc.png and b/share/dark_resources/aero_arc.png differ
diff --git a/share/dark_resources/aero_array.png b/share/dark_resources/aero_array.png
index b8efdcb2..011f5c75 100644
Binary files a/share/dark_resources/aero_array.png and b/share/dark_resources/aero_array.png differ
diff --git a/share/dark_resources/aero_buffer.png b/share/dark_resources/aero_buffer.png
index 41f26dd7..95778e3a 100644
Binary files a/share/dark_resources/aero_buffer.png and b/share/dark_resources/aero_buffer.png differ
diff --git a/share/dark_resources/aero_circle.png b/share/dark_resources/aero_circle.png
index 63e0c9ba..73d4f76d 100644
Binary files a/share/dark_resources/aero_circle.png and b/share/dark_resources/aero_circle.png differ
diff --git a/share/dark_resources/aero_circle_geo.png b/share/dark_resources/aero_circle_geo.png
index e8fe8029..f85966ad 100644
Binary files a/share/dark_resources/aero_circle_geo.png and b/share/dark_resources/aero_circle_geo.png differ
diff --git a/share/dark_resources/aero_disc.png b/share/dark_resources/aero_disc.png
index 59f32773..0f75fe53 100644
Binary files a/share/dark_resources/aero_disc.png and b/share/dark_resources/aero_disc.png differ
diff --git a/share/dark_resources/aero_drill.png b/share/dark_resources/aero_drill.png
index 0f166d95..46760ea3 100644
Binary files a/share/dark_resources/aero_drill.png and b/share/dark_resources/aero_drill.png differ
diff --git a/share/dark_resources/aero_drill_array.png b/share/dark_resources/aero_drill_array.png
index 0cd39bc3..f8203bad 100644
Binary files a/share/dark_resources/aero_drill_array.png and b/share/dark_resources/aero_drill_array.png differ
diff --git a/share/dark_resources/aero_path1.png b/share/dark_resources/aero_path1.png
index e3b24dfd..b1ca4013 100644
Binary files a/share/dark_resources/aero_path1.png and b/share/dark_resources/aero_path1.png differ
diff --git a/share/dark_resources/aero_path2.png b/share/dark_resources/aero_path2.png
index 80a83881..cd95994c 100644
Binary files a/share/dark_resources/aero_path2.png and b/share/dark_resources/aero_path2.png differ
diff --git a/share/dark_resources/aero_path3.png b/share/dark_resources/aero_path3.png
index 4a7da0d5..d712ec73 100644
Binary files a/share/dark_resources/aero_path3.png and b/share/dark_resources/aero_path3.png differ
diff --git a/share/dark_resources/aero_path4.png b/share/dark_resources/aero_path4.png
index 5cca6e2e..155b0329 100644
Binary files a/share/dark_resources/aero_path4.png and b/share/dark_resources/aero_path4.png differ
diff --git a/share/dark_resources/aero_path5.png b/share/dark_resources/aero_path5.png
index 1185bbbb..3dd9f14b 100644
Binary files a/share/dark_resources/aero_path5.png and b/share/dark_resources/aero_path5.png differ
diff --git a/share/dark_resources/aero_semidisc.png b/share/dark_resources/aero_semidisc.png
index 498d6fee..a4a23e8a 100644
Binary files a/share/dark_resources/aero_semidisc.png and b/share/dark_resources/aero_semidisc.png differ
diff --git a/share/dark_resources/aero_slot.png b/share/dark_resources/aero_slot.png
index 19fc6f42..8773de07 100644
Binary files a/share/dark_resources/aero_slot.png and b/share/dark_resources/aero_slot.png differ
diff --git a/share/dark_resources/aero_text.png b/share/dark_resources/aero_text.png
index 62862d14..59fd5a1b 100644
Binary files a/share/dark_resources/aero_text.png and b/share/dark_resources/aero_text.png differ
diff --git a/share/dark_resources/align16.png b/share/dark_resources/align16.png
new file mode 100644
index 00000000..500537f9
Binary files /dev/null and b/share/dark_resources/align16.png differ
diff --git a/share/dark_resources/align32.png b/share/dark_resources/align32.png
new file mode 100644
index 00000000..4249e35a
Binary files /dev/null and b/share/dark_resources/align32.png differ
diff --git a/share/dark_resources/align_center32.png b/share/dark_resources/align_center32.png
index 3abaae9c..6e7570f8 100644
Binary files a/share/dark_resources/align_center32.png and b/share/dark_resources/align_center32.png differ
diff --git a/share/dark_resources/align_justify32.png b/share/dark_resources/align_justify32.png
index a2e329a3..be35b0e5 100644
Binary files a/share/dark_resources/align_justify32.png and b/share/dark_resources/align_justify32.png differ
diff --git a/share/dark_resources/align_left32.png b/share/dark_resources/align_left32.png
index 14aafdf8..9cd3ca91 100644
Binary files a/share/dark_resources/align_left32.png and b/share/dark_resources/align_left32.png differ
diff --git a/share/dark_resources/align_right32.png b/share/dark_resources/align_right32.png
index 3044f6ac..480b1d59 100644
Binary files a/share/dark_resources/align_right32.png and b/share/dark_resources/align_right32.png differ
diff --git a/share/dark_resources/aperture16.png b/share/dark_resources/aperture16.png
index f836c9b0..9a510f15 100644
Binary files a/share/dark_resources/aperture16.png and b/share/dark_resources/aperture16.png differ
diff --git a/share/dark_resources/aperture32.png b/share/dark_resources/aperture32.png
index c155cf1a..3c9156ab 100644
Binary files a/share/dark_resources/aperture32.png and b/share/dark_resources/aperture32.png differ
diff --git a/share/dark_resources/arc16.png b/share/dark_resources/arc16.png
index 658b41f6..c5215403 100644
Binary files a/share/dark_resources/arc16.png and b/share/dark_resources/arc16.png differ
diff --git a/share/dark_resources/arc24.png b/share/dark_resources/arc24.png
index a6e15d91..202cbb06 100644
Binary files a/share/dark_resources/arc24.png and b/share/dark_resources/arc24.png differ
diff --git a/share/dark_resources/arc32.png b/share/dark_resources/arc32.png
index 391325ed..29f355a6 100644
Binary files a/share/dark_resources/arc32.png and b/share/dark_resources/arc32.png differ
diff --git a/share/dark_resources/axis32.png b/share/dark_resources/axis32.png
index 2d4259eb..03ec1806 100644
Binary files a/share/dark_resources/axis32.png and b/share/dark_resources/axis32.png differ
diff --git a/share/dark_resources/backup24.png b/share/dark_resources/backup24.png
index 6ed19d28..6f8b1553 100644
Binary files a/share/dark_resources/backup24.png and b/share/dark_resources/backup24.png differ
diff --git a/share/dark_resources/backup_export24.png b/share/dark_resources/backup_export24.png
index 5e12a21c..0dd0cbe3 100644
Binary files a/share/dark_resources/backup_export24.png and b/share/dark_resources/backup_export24.png differ
diff --git a/share/dark_resources/backup_import24.png b/share/dark_resources/backup_import24.png
index 9c510a76..f81e20b4 100644
Binary files a/share/dark_resources/backup_import24.png and b/share/dark_resources/backup_import24.png differ
diff --git a/share/dark_resources/black32.png b/share/dark_resources/black32.png
new file mode 100644
index 00000000..c2a42e8d
Binary files /dev/null and b/share/dark_resources/black32.png differ
diff --git a/share/dark_resources/blocked16.png b/share/dark_resources/blocked16.png
index 79e31c3f..270a727a 100644
Binary files a/share/dark_resources/blocked16.png and b/share/dark_resources/blocked16.png differ
diff --git a/share/dark_resources/bold32.png b/share/dark_resources/bold32.png
index 46a46d9a..774d0f93 100644
Binary files a/share/dark_resources/bold32.png and b/share/dark_resources/bold32.png differ
diff --git a/share/dark_resources/bookmarks16.png b/share/dark_resources/bookmarks16.png
index 63304362..71e82914 100644
Binary files a/share/dark_resources/bookmarks16.png and b/share/dark_resources/bookmarks16.png differ
diff --git a/share/dark_resources/bookmarks32.png b/share/dark_resources/bookmarks32.png
index 5bf9f698..1394db58 100644
Binary files a/share/dark_resources/bookmarks32.png and b/share/dark_resources/bookmarks32.png differ
diff --git a/share/dark_resources/buffer16-2.png b/share/dark_resources/buffer16-2.png
index 7ac3b940..c2e352c5 100644
Binary files a/share/dark_resources/buffer16-2.png and b/share/dark_resources/buffer16-2.png differ
diff --git a/share/dark_resources/buffer16.png b/share/dark_resources/buffer16.png
index 1e215e85..ae5b8021 100644
Binary files a/share/dark_resources/buffer16.png and b/share/dark_resources/buffer16.png differ
diff --git a/share/dark_resources/buffer20.png b/share/dark_resources/buffer20.png
index 27208f5c..0b1685c7 100644
Binary files a/share/dark_resources/buffer20.png and b/share/dark_resources/buffer20.png differ
diff --git a/share/dark_resources/buffer24.png b/share/dark_resources/buffer24.png
index 1f71ecb2..8b05a949 100644
Binary files a/share/dark_resources/buffer24.png and b/share/dark_resources/buffer24.png differ
diff --git a/share/dark_resources/bug16.png b/share/dark_resources/bug16.png
index 3fb1429a..5261297f 100644
Binary files a/share/dark_resources/bug16.png and b/share/dark_resources/bug16.png differ
diff --git a/share/dark_resources/bug32.png b/share/dark_resources/bug32.png
index 166aeca0..489166e7 100644
Binary files a/share/dark_resources/bug32.png and b/share/dark_resources/bug32.png differ
diff --git a/share/dark_resources/calculator16.png b/share/dark_resources/calculator16.png
index 2ed0b8ce..3bfb06dd 100644
Binary files a/share/dark_resources/calculator16.png and b/share/dark_resources/calculator16.png differ
diff --git a/share/dark_resources/calculator24.png b/share/dark_resources/calculator24.png
index b539177d..22ccd524 100644
Binary files a/share/dark_resources/calculator24.png and b/share/dark_resources/calculator24.png differ
diff --git a/share/dark_resources/calibrate_16.png b/share/dark_resources/calibrate_16.png
index a05ce1d3..b0d71ed3 100644
Binary files a/share/dark_resources/calibrate_16.png and b/share/dark_resources/calibrate_16.png differ
diff --git a/share/dark_resources/calibrate_32.png b/share/dark_resources/calibrate_32.png
index 182e8a99..d90df948 100644
Binary files a/share/dark_resources/calibrate_32.png and b/share/dark_resources/calibrate_32.png differ
diff --git a/share/dark_resources/cancel_edit16.png b/share/dark_resources/cancel_edit16.png
index 6e20773f..5185e04a 100644
Binary files a/share/dark_resources/cancel_edit16.png and b/share/dark_resources/cancel_edit16.png differ
diff --git a/share/dark_resources/cancel_edit32.png b/share/dark_resources/cancel_edit32.png
index 64a2a7eb..99cc1e08 100644
Binary files a/share/dark_resources/cancel_edit32.png and b/share/dark_resources/cancel_edit32.png differ
diff --git a/share/dark_resources/circle32.png b/share/dark_resources/circle32.png
index e0cb877d..e91e1b2e 100644
Binary files a/share/dark_resources/circle32.png and b/share/dark_resources/circle32.png differ
diff --git a/share/dark_resources/clear_plot16.png b/share/dark_resources/clear_plot16.png
index 9c5332e8..1264993e 100644
Binary files a/share/dark_resources/clear_plot16.png and b/share/dark_resources/clear_plot16.png differ
diff --git a/share/dark_resources/clear_plot32.png b/share/dark_resources/clear_plot32.png
index 10274a2f..9c2054ce 100644
Binary files a/share/dark_resources/clear_plot32.png and b/share/dark_resources/clear_plot32.png differ
diff --git a/share/dark_resources/close_edit_file16.png b/share/dark_resources/close_edit_file16.png
index 9ace7014..2195bcd0 100644
Binary files a/share/dark_resources/close_edit_file16.png and b/share/dark_resources/close_edit_file16.png differ
diff --git a/share/dark_resources/close_edit_file32.png b/share/dark_resources/close_edit_file32.png
index 1b3f4777..a137a662 100644
Binary files a/share/dark_resources/close_edit_file32.png and b/share/dark_resources/close_edit_file32.png differ
diff --git a/share/dark_resources/cnc16.png b/share/dark_resources/cnc16.png
index 3e4f1583..66704cbd 100644
Binary files a/share/dark_resources/cnc16.png and b/share/dark_resources/cnc16.png differ
diff --git a/share/dark_resources/cnc32.png b/share/dark_resources/cnc32.png
index c8028727..28b98fd7 100644
Binary files a/share/dark_resources/cnc32.png and b/share/dark_resources/cnc32.png differ
diff --git a/share/dark_resources/code.png b/share/dark_resources/code.png
index 0d75a631..5fae26d0 100644
Binary files a/share/dark_resources/code.png and b/share/dark_resources/code.png differ
diff --git a/share/dark_resources/code_editor32.png b/share/dark_resources/code_editor32.png
index 9a301ee5..6f03e946 100644
Binary files a/share/dark_resources/code_editor32.png and b/share/dark_resources/code_editor32.png differ
diff --git a/share/dark_resources/convert24.png b/share/dark_resources/convert24.png
index ccfb3255..ba5b3327 100644
Binary files a/share/dark_resources/convert24.png and b/share/dark_resources/convert24.png differ
diff --git a/share/dark_resources/copperfill16.png b/share/dark_resources/copperfill16.png
index 15fec13e..83cddef8 100644
Binary files a/share/dark_resources/copperfill16.png and b/share/dark_resources/copperfill16.png differ
diff --git a/share/dark_resources/copperfill32.png b/share/dark_resources/copperfill32.png
index 3df2a768..5f420827 100644
Binary files a/share/dark_resources/copperfill32.png and b/share/dark_resources/copperfill32.png differ
diff --git a/share/dark_resources/copy.png b/share/dark_resources/copy.png
index 70f8aff3..db1ccfac 100644
Binary files a/share/dark_resources/copy.png and b/share/dark_resources/copy.png differ
diff --git a/share/dark_resources/copy16.png b/share/dark_resources/copy16.png
index fec837b7..86743c9a 100644
Binary files a/share/dark_resources/copy16.png and b/share/dark_resources/copy16.png differ
diff --git a/share/dark_resources/copy32.png b/share/dark_resources/copy32.png
index ec949509..1c43766e 100644
Binary files a/share/dark_resources/copy32.png and b/share/dark_resources/copy32.png differ
diff --git a/share/dark_resources/copy_16.png b/share/dark_resources/copy_16.png
index fec837b7..a8824408 100644
Binary files a/share/dark_resources/copy_16.png and b/share/dark_resources/copy_16.png differ
diff --git a/share/dark_resources/copy_file16.png b/share/dark_resources/copy_file16.png
index e2440052..9fff7cce 100644
Binary files a/share/dark_resources/copy_file16.png and b/share/dark_resources/copy_file16.png differ
diff --git a/share/dark_resources/copy_file32.png b/share/dark_resources/copy_file32.png
index 480325ad..d1f08ddf 100644
Binary files a/share/dark_resources/copy_file32.png and b/share/dark_resources/copy_file32.png differ
diff --git a/share/dark_resources/copy_geo.png b/share/dark_resources/copy_geo.png
index 994999ee..c9dc599f 100644
Binary files a/share/dark_resources/copy_geo.png and b/share/dark_resources/copy_geo.png differ
diff --git a/share/dark_resources/corner32.png b/share/dark_resources/corner32.png
index a8998182..f2697135 100644
Binary files a/share/dark_resources/corner32.png and b/share/dark_resources/corner32.png differ
diff --git a/share/dark_resources/cut16.png b/share/dark_resources/cut16.png
index a33fe87f..7a4a4419 100644
Binary files a/share/dark_resources/cut16.png and b/share/dark_resources/cut16.png differ
diff --git a/share/dark_resources/cut16_bis.png b/share/dark_resources/cut16_bis.png
index 28066699..8e5e5e7b 100644
Binary files a/share/dark_resources/cut16_bis.png and b/share/dark_resources/cut16_bis.png differ
diff --git a/share/dark_resources/cut32.png b/share/dark_resources/cut32.png
index fa1ce92a..80556310 100644
Binary files a/share/dark_resources/cut32.png and b/share/dark_resources/cut32.png differ
diff --git a/share/dark_resources/cut32_bis.png b/share/dark_resources/cut32_bis.png
index b669d007..67d5ca97 100644
Binary files a/share/dark_resources/cut32_bis.png and b/share/dark_resources/cut32_bis.png differ
diff --git a/share/dark_resources/cutpath16.png b/share/dark_resources/cutpath16.png
index 9c92c0a2..34640f67 100644
Binary files a/share/dark_resources/cutpath16.png and b/share/dark_resources/cutpath16.png differ
diff --git a/share/dark_resources/cutpath24.png b/share/dark_resources/cutpath24.png
index 68d283de..a6df309e 100644
Binary files a/share/dark_resources/cutpath24.png and b/share/dark_resources/cutpath24.png differ
diff --git a/share/dark_resources/cutpath32.png b/share/dark_resources/cutpath32.png
index e0d7a6fb..41ec263c 100644
Binary files a/share/dark_resources/cutpath32.png and b/share/dark_resources/cutpath32.png differ
diff --git a/share/dark_resources/database32.png b/share/dark_resources/database32.png
index 131dc8ac..6f054e9f 100644
Binary files a/share/dark_resources/database32.png and b/share/dark_resources/database32.png differ
diff --git a/share/dark_resources/defaults.png b/share/dark_resources/defaults.png
index a4402b82..423ff50c 100644
Binary files a/share/dark_resources/defaults.png and b/share/dark_resources/defaults.png differ
diff --git a/share/dark_resources/delete32.png b/share/dark_resources/delete32.png
index 76ab5ce9..736330af 100644
Binary files a/share/dark_resources/delete32.png and b/share/dark_resources/delete32.png differ
diff --git a/share/dark_resources/delete_file16.png b/share/dark_resources/delete_file16.png
index b2391fbd..4f8605d9 100644
Binary files a/share/dark_resources/delete_file16.png and b/share/dark_resources/delete_file16.png differ
diff --git a/share/dark_resources/delete_file32.png b/share/dark_resources/delete_file32.png
index 9eeaa32d..d1c7cb17 100644
Binary files a/share/dark_resources/delete_file32.png and b/share/dark_resources/delete_file32.png differ
diff --git a/share/dark_resources/deleteshape16.png b/share/dark_resources/deleteshape16.png
index 03f99dd9..c11edf2b 100644
Binary files a/share/dark_resources/deleteshape16.png and b/share/dark_resources/deleteshape16.png differ
diff --git a/share/dark_resources/deleteshape24.png b/share/dark_resources/deleteshape24.png
index b0c1afcd..1d7bc7f3 100644
Binary files a/share/dark_resources/deleteshape24.png and b/share/dark_resources/deleteshape24.png differ
diff --git a/share/dark_resources/deleteshape32.png b/share/dark_resources/deleteshape32.png
index c06640a5..f81c5701 100644
Binary files a/share/dark_resources/deleteshape32.png and b/share/dark_resources/deleteshape32.png differ
diff --git a/share/dark_resources/deselect_all32.png b/share/dark_resources/deselect_all32.png
index 9071fac1..762e2fd0 100644
Binary files a/share/dark_resources/deselect_all32.png and b/share/dark_resources/deselect_all32.png differ
diff --git a/share/dark_resources/disable16.png b/share/dark_resources/disable16.png
index fe65737a..926583fe 100644
Binary files a/share/dark_resources/disable16.png and b/share/dark_resources/disable16.png differ
diff --git a/share/dark_resources/disable32.png b/share/dark_resources/disable32.png
index 762a9270..f004b13a 100644
Binary files a/share/dark_resources/disable32.png and b/share/dark_resources/disable32.png differ
diff --git a/share/dark_resources/disc32.png b/share/dark_resources/disc32.png
index bdbbaa8e..b3e122bf 100644
Binary files a/share/dark_resources/disc32.png and b/share/dark_resources/disc32.png differ
diff --git a/share/dark_resources/distance16.png b/share/dark_resources/distance16.png
index 8355b17b..ec805d90 100644
Binary files a/share/dark_resources/distance16.png and b/share/dark_resources/distance16.png differ
diff --git a/share/dark_resources/distance32.png b/share/dark_resources/distance32.png
index f61d0900..1aa556f4 100644
Binary files a/share/dark_resources/distance32.png and b/share/dark_resources/distance32.png differ
diff --git a/share/dark_resources/distance_min16.png b/share/dark_resources/distance_min16.png
index 8e1c8520..8e5953c0 100644
Binary files a/share/dark_resources/distance_min16.png and b/share/dark_resources/distance_min16.png differ
diff --git a/share/dark_resources/distance_min32.png b/share/dark_resources/distance_min32.png
index cfc8c020..a3ff60af 100644
Binary files a/share/dark_resources/distance_min32.png and b/share/dark_resources/distance_min32.png differ
diff --git a/share/dark_resources/doubleside16.png b/share/dark_resources/doubleside16.png
index 92e873fc..cea43331 100644
Binary files a/share/dark_resources/doubleside16.png and b/share/dark_resources/doubleside16.png differ
diff --git a/share/dark_resources/doubleside32.png b/share/dark_resources/doubleside32.png
index a159a4c5..fa79cdf8 100644
Binary files a/share/dark_resources/doubleside32.png and b/share/dark_resources/doubleside32.png differ
diff --git a/share/dark_resources/draw32.png b/share/dark_resources/draw32.png
index 58f7edb2..9a3f151f 100644
Binary files a/share/dark_resources/draw32.png and b/share/dark_resources/draw32.png differ
diff --git a/share/dark_resources/drill16.png b/share/dark_resources/drill16.png
index 496fa44e..1b6992e6 100644
Binary files a/share/dark_resources/drill16.png and b/share/dark_resources/drill16.png differ
diff --git a/share/dark_resources/drill32.png b/share/dark_resources/drill32.png
index 6b0696b3..5e451469 100644
Binary files a/share/dark_resources/drill32.png and b/share/dark_resources/drill32.png differ
diff --git a/share/dark_resources/dxf16.png b/share/dark_resources/dxf16.png
index 97f3c3f2..0c395dd2 100644
Binary files a/share/dark_resources/dxf16.png and b/share/dark_resources/dxf16.png differ
diff --git a/share/dark_resources/edit16.png b/share/dark_resources/edit16.png
index a8e5661b..6e7f5a63 100644
Binary files a/share/dark_resources/edit16.png and b/share/dark_resources/edit16.png differ
diff --git a/share/dark_resources/edit32.png b/share/dark_resources/edit32.png
index 18bdd611..dcd69fbf 100644
Binary files a/share/dark_resources/edit32.png and b/share/dark_resources/edit32.png differ
diff --git a/share/dark_resources/edit_file16.png b/share/dark_resources/edit_file16.png
index 6b58fa5e..05185539 100644
Binary files a/share/dark_resources/edit_file16.png and b/share/dark_resources/edit_file16.png differ
diff --git a/share/dark_resources/edit_file32.png b/share/dark_resources/edit_file32.png
index 8a78241b..98f49fde 100644
Binary files a/share/dark_resources/edit_file32.png and b/share/dark_resources/edit_file32.png differ
diff --git a/share/dark_resources/edit_ok16.png b/share/dark_resources/edit_ok16.png
index 5af14cf2..5b2cb6d9 100644
Binary files a/share/dark_resources/edit_ok16.png and b/share/dark_resources/edit_ok16.png differ
diff --git a/share/dark_resources/edit_ok32.png b/share/dark_resources/edit_ok32.png
index 710ccd5f..0a7dce36 100644
Binary files a/share/dark_resources/edit_ok32.png and b/share/dark_resources/edit_ok32.png differ
diff --git a/share/dark_resources/edit_ok32_bis.png b/share/dark_resources/edit_ok32_bis.png
index 5a554def..f89d5b3d 100644
Binary files a/share/dark_resources/edit_ok32_bis.png and b/share/dark_resources/edit_ok32_bis.png differ
diff --git a/share/dark_resources/eraser26.png b/share/dark_resources/eraser26.png
index 561a3605..c69973c1 100644
Binary files a/share/dark_resources/eraser26.png and b/share/dark_resources/eraser26.png differ
diff --git a/share/dark_resources/explode32.png b/share/dark_resources/explode32.png
index d1753113..38d35576 100644
Binary files a/share/dark_resources/explode32.png and b/share/dark_resources/explode32.png differ
diff --git a/share/dark_resources/export.png b/share/dark_resources/export.png
index c1034ac7..a1a51d1e 100644
Binary files a/share/dark_resources/export.png and b/share/dark_resources/export.png differ
diff --git a/share/dark_resources/export_png32.png b/share/dark_resources/export_png32.png
index 9bff090f..b27a1162 100644
Binary files a/share/dark_resources/export_png32.png and b/share/dark_resources/export_png32.png differ
diff --git a/share/dark_resources/extract_drill16.png b/share/dark_resources/extract_drill16.png
new file mode 100644
index 00000000..ca38b16d
Binary files /dev/null and b/share/dark_resources/extract_drill16.png differ
diff --git a/share/dark_resources/extract_drill32.png b/share/dark_resources/extract_drill32.png
new file mode 100644
index 00000000..16f1dd72
Binary files /dev/null and b/share/dark_resources/extract_drill32.png differ
diff --git a/share/dark_resources/fiducials_32.png b/share/dark_resources/fiducials_32.png
index 8df8779c..b7ffcae8 100644
Binary files a/share/dark_resources/fiducials_32.png and b/share/dark_resources/fiducials_32.png differ
diff --git a/share/dark_resources/file16.png b/share/dark_resources/file16.png
index 4f219db2..b56f78cf 100644
Binary files a/share/dark_resources/file16.png and b/share/dark_resources/file16.png differ
diff --git a/share/dark_resources/file32.png b/share/dark_resources/file32.png
index 2ea2f86b..a62c6730 100644
Binary files a/share/dark_resources/file32.png and b/share/dark_resources/file32.png differ
diff --git a/share/dark_resources/film16.png b/share/dark_resources/film16.png
index d54ad486..97a4c0d3 100644
Binary files a/share/dark_resources/film16.png and b/share/dark_resources/film16.png differ
diff --git a/share/dark_resources/film32.png b/share/dark_resources/film32.png
index 8b5bf323..0dab924a 100644
Binary files a/share/dark_resources/film32.png and b/share/dark_resources/film32.png differ
diff --git a/share/dark_resources/flatcam_icon128.png b/share/dark_resources/flatcam_icon128.png
index 20e3d97a..2ad0261e 100644
Binary files a/share/dark_resources/flatcam_icon128.png and b/share/dark_resources/flatcam_icon128.png differ
diff --git a/share/dark_resources/flatcam_icon16.png b/share/dark_resources/flatcam_icon16.png
index 0bcc34ab..21a7c2f0 100644
Binary files a/share/dark_resources/flatcam_icon16.png and b/share/dark_resources/flatcam_icon16.png differ
diff --git a/share/dark_resources/flatcam_icon24.png b/share/dark_resources/flatcam_icon24.png
index 8125531e..e2ac7396 100644
Binary files a/share/dark_resources/flatcam_icon24.png and b/share/dark_resources/flatcam_icon24.png differ
diff --git a/share/dark_resources/flatcam_icon256.png b/share/dark_resources/flatcam_icon256.png
index 77d3840f..2cd088e6 100644
Binary files a/share/dark_resources/flatcam_icon256.png and b/share/dark_resources/flatcam_icon256.png differ
diff --git a/share/dark_resources/flatcam_icon32.png b/share/dark_resources/flatcam_icon32.png
index 13e40335..7a3e9f4a 100644
Binary files a/share/dark_resources/flatcam_icon32.png and b/share/dark_resources/flatcam_icon32.png differ
diff --git a/share/dark_resources/flatcam_icon32_green.png b/share/dark_resources/flatcam_icon32_green.png
index e100c6aa..e52b756a 100644
Binary files a/share/dark_resources/flatcam_icon32_green.png and b/share/dark_resources/flatcam_icon32_green.png differ
diff --git a/share/dark_resources/flatcam_icon48.png b/share/dark_resources/flatcam_icon48.png
index 2f86c7b2..bcf5469f 100644
Binary files a/share/dark_resources/flatcam_icon48.png and b/share/dark_resources/flatcam_icon48.png differ
diff --git a/share/dark_resources/flipx.png b/share/dark_resources/flipx.png
index b86b99c2..8ef66467 100644
Binary files a/share/dark_resources/flipx.png and b/share/dark_resources/flipx.png differ
diff --git a/share/dark_resources/flipy.png b/share/dark_resources/flipy.png
index a4a0392b..4861f5d2 100644
Binary files a/share/dark_resources/flipy.png and b/share/dark_resources/flipy.png differ
diff --git a/share/dark_resources/floppy16.png b/share/dark_resources/floppy16.png
index c3beb9c7..5c82a2ae 100644
Binary files a/share/dark_resources/floppy16.png and b/share/dark_resources/floppy16.png differ
diff --git a/share/dark_resources/floppy32.png b/share/dark_resources/floppy32.png
index 0c1e4852..2b49aca6 100644
Binary files a/share/dark_resources/floppy32.png and b/share/dark_resources/floppy32.png differ
diff --git a/share/dark_resources/folder16.png b/share/dark_resources/folder16.png
index 3da9da26..31c0e742 100644
Binary files a/share/dark_resources/folder16.png and b/share/dark_resources/folder16.png differ
diff --git a/share/dark_resources/folder32.png b/share/dark_resources/folder32.png
index 10eb3f36..af0da2d8 100644
Binary files a/share/dark_resources/folder32.png and b/share/dark_resources/folder32.png differ
diff --git a/share/dark_resources/folder32_Excellon.png b/share/dark_resources/folder32_Excellon.png
index 3467b86d..85fac5b7 100644
Binary files a/share/dark_resources/folder32_Excellon.png and b/share/dark_resources/folder32_Excellon.png differ
diff --git a/share/dark_resources/folder32_bis.png b/share/dark_resources/folder32_bis.png
index ce7b5720..2ebb9f7b 100644
Binary files a/share/dark_resources/folder32_bis.png and b/share/dark_resources/folder32_bis.png differ
diff --git a/share/dark_resources/folder32_gerber.png b/share/dark_resources/folder32_gerber.png
index a3a0763b..4d63db6d 100644
Binary files a/share/dark_resources/folder32_gerber.png and b/share/dark_resources/folder32_gerber.png differ
diff --git a/share/dark_resources/fscreen32.png b/share/dark_resources/fscreen32.png
index a7738ada..3d90ab0a 100644
Binary files a/share/dark_resources/fscreen32.png and b/share/dark_resources/fscreen32.png differ
diff --git a/share/dark_resources/gear32.png b/share/dark_resources/gear32.png
index 0977265b..a40b09e9 100644
Binary files a/share/dark_resources/gear32.png and b/share/dark_resources/gear32.png differ
diff --git a/share/dark_resources/gear48.png b/share/dark_resources/gear48.png
index 9f6ab714..c6319fb1 100644
Binary files a/share/dark_resources/gear48.png and b/share/dark_resources/gear48.png differ
diff --git a/share/dark_resources/geometry16.png b/share/dark_resources/geometry16.png
index 5c275bfb..14bdbe82 100644
Binary files a/share/dark_resources/geometry16.png and b/share/dark_resources/geometry16.png differ
diff --git a/share/dark_resources/geometry32.png b/share/dark_resources/geometry32.png
new file mode 100644
index 00000000..647bf48e
Binary files /dev/null and b/share/dark_resources/geometry32.png differ
diff --git a/share/dark_resources/globe16.png b/share/dark_resources/globe16.png
index e403b62b..1fc36f66 100644
Binary files a/share/dark_resources/globe16.png and b/share/dark_resources/globe16.png differ
diff --git a/share/dark_resources/goemetry32.png b/share/dark_resources/goemetry32.png
index a1f4fc68..88bc6573 100644
Binary files a/share/dark_resources/goemetry32.png and b/share/dark_resources/goemetry32.png differ
diff --git a/share/dark_resources/grid16.png b/share/dark_resources/grid16.png
index 0b4be5f5..5543d7f2 100644
Binary files a/share/dark_resources/grid16.png and b/share/dark_resources/grid16.png differ
diff --git a/share/dark_resources/grid32.png b/share/dark_resources/grid32.png
index d7ac5083..5929e363 100644
Binary files a/share/dark_resources/grid32.png and b/share/dark_resources/grid32.png differ
diff --git a/share/dark_resources/grid32_menu.png b/share/dark_resources/grid32_menu.png
index ae0952f5..76e48844 100644
Binary files a/share/dark_resources/grid32_menu.png and b/share/dark_resources/grid32_menu.png differ
diff --git a/share/dark_resources/help.png b/share/dark_resources/help.png
index 0bf6b9be..58a70814 100644
Binary files a/share/dark_resources/help.png and b/share/dark_resources/help.png differ
diff --git a/share/dark_resources/home16.png b/share/dark_resources/home16.png
index ac795df4..63993fb8 100644
Binary files a/share/dark_resources/home16.png and b/share/dark_resources/home16.png differ
diff --git a/share/dark_resources/image16.png b/share/dark_resources/image16.png
index dd546bed..c5f979ee 100644
Binary files a/share/dark_resources/image16.png and b/share/dark_resources/image16.png differ
diff --git a/share/dark_resources/image32.png b/share/dark_resources/image32.png
index 3503791a..ab4bffc0 100644
Binary files a/share/dark_resources/image32.png and b/share/dark_resources/image32.png differ
diff --git a/share/dark_resources/import.png b/share/dark_resources/import.png
index f42002d7..1e3a26a7 100644
Binary files a/share/dark_resources/import.png and b/share/dark_resources/import.png differ
diff --git a/share/dark_resources/info16.png b/share/dark_resources/info16.png
index 11847e5b..d1bbfd88 100644
Binary files a/share/dark_resources/info16.png and b/share/dark_resources/info16.png differ
diff --git a/share/dark_resources/intersection16.png b/share/dark_resources/intersection16.png
index f05e252f..ab41f3c5 100644
Binary files a/share/dark_resources/intersection16.png and b/share/dark_resources/intersection16.png differ
diff --git a/share/dark_resources/intersection24.png b/share/dark_resources/intersection24.png
index d89dd33d..43675e85 100644
Binary files a/share/dark_resources/intersection24.png and b/share/dark_resources/intersection24.png differ
diff --git a/share/dark_resources/intersection32.png b/share/dark_resources/intersection32.png
index 4ac94675..de6f4c61 100644
Binary files a/share/dark_resources/intersection32.png and b/share/dark_resources/intersection32.png differ
diff --git a/share/dark_resources/invert16.png b/share/dark_resources/invert16.png
new file mode 100644
index 00000000..52e8acbf
Binary files /dev/null and b/share/dark_resources/invert16.png differ
diff --git a/share/dark_resources/invert32.png b/share/dark_resources/invert32.png
new file mode 100644
index 00000000..7840e683
Binary files /dev/null and b/share/dark_resources/invert32.png differ
diff --git a/share/dark_resources/italic32.png b/share/dark_resources/italic32.png
index 85a77e27..325924b4 100644
Binary files a/share/dark_resources/italic32.png and b/share/dark_resources/italic32.png differ
diff --git a/share/dark_resources/join16.png b/share/dark_resources/join16.png
index 720e86e4..191ea560 100644
Binary files a/share/dark_resources/join16.png and b/share/dark_resources/join16.png differ
diff --git a/share/dark_resources/join32.png b/share/dark_resources/join32.png
index 266b104a..bc1d0a3a 100644
Binary files a/share/dark_resources/join32.png and b/share/dark_resources/join32.png differ
diff --git a/share/dark_resources/jump_to16.png b/share/dark_resources/jump_to16.png
index e0417351..8df33fe1 100644
Binary files a/share/dark_resources/jump_to16.png and b/share/dark_resources/jump_to16.png differ
diff --git a/share/dark_resources/jump_to32.png b/share/dark_resources/jump_to32.png
index bbef66ad..14e30613 100644
Binary files a/share/dark_resources/jump_to32.png and b/share/dark_resources/jump_to32.png differ
diff --git a/share/dark_resources/language32.png b/share/dark_resources/language32.png
index 2a6af89c..9244e76d 100644
Binary files a/share/dark_resources/language32.png and b/share/dark_resources/language32.png differ
diff --git a/share/dark_resources/letter_t_32.png b/share/dark_resources/letter_t_32.png
index 0f673c48..d2802310 100644
Binary files a/share/dark_resources/letter_t_32.png and b/share/dark_resources/letter_t_32.png differ
diff --git a/share/dark_resources/link16.png b/share/dark_resources/link16.png
index 5c9c0046..d46c2a2e 100644
Binary files a/share/dark_resources/link16.png and b/share/dark_resources/link16.png differ
diff --git a/share/dark_resources/locate16.png b/share/dark_resources/locate16.png
new file mode 100644
index 00000000..ab58e9be
Binary files /dev/null and b/share/dark_resources/locate16.png differ
diff --git a/share/dark_resources/locate32.png b/share/dark_resources/locate32.png
new file mode 100644
index 00000000..3ade490a
Binary files /dev/null and b/share/dark_resources/locate32.png differ
diff --git a/share/dark_resources/machine16.png b/share/dark_resources/machine16.png
index 40397a7c..1a044918 100644
Binary files a/share/dark_resources/machine16.png and b/share/dark_resources/machine16.png differ
diff --git a/share/dark_resources/markarea32.png b/share/dark_resources/markarea32.png
index 0a7dcade..ddde702a 100644
Binary files a/share/dark_resources/markarea32.png and b/share/dark_resources/markarea32.png differ
diff --git a/share/dark_resources/move16.png b/share/dark_resources/move16.png
index cbe0bbc7..5a6600e6 100644
Binary files a/share/dark_resources/move16.png and b/share/dark_resources/move16.png differ
diff --git a/share/dark_resources/move32.png b/share/dark_resources/move32.png
index 60f1063c..03755989 100644
Binary files a/share/dark_resources/move32.png and b/share/dark_resources/move32.png differ
diff --git a/share/dark_resources/move32_bis.png b/share/dark_resources/move32_bis.png
index f464fa53..66760b51 100644
Binary files a/share/dark_resources/move32_bis.png and b/share/dark_resources/move32_bis.png differ
diff --git a/share/dark_resources/ncc16.png b/share/dark_resources/ncc16.png
index d17e27b2..07ae5931 100644
Binary files a/share/dark_resources/ncc16.png and b/share/dark_resources/ncc16.png differ
diff --git a/share/dark_resources/new_exc32.png b/share/dark_resources/new_exc32.png
index 2410ecc3..e4e78890 100644
Binary files a/share/dark_resources/new_exc32.png and b/share/dark_resources/new_exc32.png differ
diff --git a/share/dark_resources/new_file16.png b/share/dark_resources/new_file16.png
index cc054b8e..b7447868 100644
Binary files a/share/dark_resources/new_file16.png and b/share/dark_resources/new_file16.png differ
diff --git a/share/dark_resources/new_file32.png b/share/dark_resources/new_file32.png
index 5e403c24..80421e92 100644
Binary files a/share/dark_resources/new_file32.png and b/share/dark_resources/new_file32.png differ
diff --git a/share/dark_resources/new_file_exc16.png b/share/dark_resources/new_file_exc16.png
index 4053f6dd..77d80ef2 100644
Binary files a/share/dark_resources/new_file_exc16.png and b/share/dark_resources/new_file_exc16.png differ
diff --git a/share/dark_resources/new_file_exc32.png b/share/dark_resources/new_file_exc32.png
index 4252d051..2c3949c0 100644
Binary files a/share/dark_resources/new_file_exc32.png and b/share/dark_resources/new_file_exc32.png differ
diff --git a/share/dark_resources/new_file_geo16.png b/share/dark_resources/new_file_geo16.png
index da9bcbed..0f9c4830 100644
Binary files a/share/dark_resources/new_file_geo16.png and b/share/dark_resources/new_file_geo16.png differ
diff --git a/share/dark_resources/new_file_geo32.png b/share/dark_resources/new_file_geo32.png
index 5d96f0c5..9e809d6e 100644
Binary files a/share/dark_resources/new_file_geo32.png and b/share/dark_resources/new_file_geo32.png differ
diff --git a/share/dark_resources/new_file_grb16.png b/share/dark_resources/new_file_grb16.png
index 49840289..4777955f 100644
Binary files a/share/dark_resources/new_file_grb16.png and b/share/dark_resources/new_file_grb16.png differ
diff --git a/share/dark_resources/new_file_grb32.png b/share/dark_resources/new_file_grb32.png
index a47b28a2..d2298aa6 100644
Binary files a/share/dark_resources/new_file_grb32.png and b/share/dark_resources/new_file_grb32.png differ
diff --git a/share/dark_resources/new_geo16.png b/share/dark_resources/new_geo16.png
index 286910c6..26e4dc1d 100644
Binary files a/share/dark_resources/new_geo16.png and b/share/dark_resources/new_geo16.png differ
diff --git a/share/dark_resources/new_geo32.png b/share/dark_resources/new_geo32.png
index 8030150c..c2adcf5c 100644
Binary files a/share/dark_resources/new_geo32.png and b/share/dark_resources/new_geo32.png differ
diff --git a/share/dark_resources/new_geo32_bis.png b/share/dark_resources/new_geo32_bis.png
index d21d8495..17e7b2ea 100644
Binary files a/share/dark_resources/new_geo32_bis.png and b/share/dark_resources/new_geo32_bis.png differ
diff --git a/share/dark_resources/notebook16.png b/share/dark_resources/notebook16.png
index 91dad310..85afa534 100644
Binary files a/share/dark_resources/notebook16.png and b/share/dark_resources/notebook16.png differ
diff --git a/share/dark_resources/notebook32.png b/share/dark_resources/notebook32.png
index 4f8ad4bb..7537b94b 100644
Binary files a/share/dark_resources/notebook32.png and b/share/dark_resources/notebook32.png differ
diff --git a/share/dark_resources/notes16.png b/share/dark_resources/notes16.png
index ac73e890..c3ebad9b 100644
Binary files a/share/dark_resources/notes16.png and b/share/dark_resources/notes16.png differ
diff --git a/share/dark_resources/notes16_1.png b/share/dark_resources/notes16_1.png
index bc9a6e02..0fde3995 100644
Binary files a/share/dark_resources/notes16_1.png and b/share/dark_resources/notes16_1.png differ
diff --git a/share/dark_resources/offset32.png b/share/dark_resources/offset32.png
index b32b117c..6f32dad2 100644
Binary files a/share/dark_resources/offset32.png and b/share/dark_resources/offset32.png differ
diff --git a/share/dark_resources/offsetx32.png b/share/dark_resources/offsetx32.png
index b32b117c..08e0a6f1 100644
Binary files a/share/dark_resources/offsetx32.png and b/share/dark_resources/offsetx32.png differ
diff --git a/share/dark_resources/offsety32.png b/share/dark_resources/offsety32.png
index 9174daad..954b3b36 100644
Binary files a/share/dark_resources/offsety32.png and b/share/dark_resources/offsety32.png differ
diff --git a/share/dark_resources/open_excellon32.png b/share/dark_resources/open_excellon32.png
index 4f71b3a7..518e5083 100644
Binary files a/share/dark_resources/open_excellon32.png and b/share/dark_resources/open_excellon32.png differ
diff --git a/share/dark_resources/open_script32.png b/share/dark_resources/open_script32.png
index f8b02677..478e77a5 100644
Binary files a/share/dark_resources/open_script32.png and b/share/dark_resources/open_script32.png differ
diff --git a/share/dark_resources/origin.png b/share/dark_resources/origin.png
index b8b4e317..46faa1fc 100644
Binary files a/share/dark_resources/origin.png and b/share/dark_resources/origin.png differ
diff --git a/share/dark_resources/origin16.png b/share/dark_resources/origin16.png
index 02dc6937..4a69f12c 100644
Binary files a/share/dark_resources/origin16.png and b/share/dark_resources/origin16.png differ
diff --git a/share/dark_resources/origin2_16.png b/share/dark_resources/origin2_16.png
new file mode 100644
index 00000000..ff699506
Binary files /dev/null and b/share/dark_resources/origin2_16.png differ
diff --git a/share/dark_resources/origin2_32.png b/share/dark_resources/origin2_32.png
new file mode 100644
index 00000000..b1ad7a0c
Binary files /dev/null and b/share/dark_resources/origin2_32.png differ
diff --git a/share/dark_resources/origin32.png b/share/dark_resources/origin32.png
index 423af08d..5cfd7cb5 100644
Binary files a/share/dark_resources/origin32.png and b/share/dark_resources/origin32.png differ
diff --git a/share/dark_resources/padarray32.png b/share/dark_resources/padarray32.png
index 6a2078bd..eb9ffcb9 100644
Binary files a/share/dark_resources/padarray32.png and b/share/dark_resources/padarray32.png differ
diff --git a/share/dark_resources/paint16.png b/share/dark_resources/paint16.png
index 038ca1f1..fef99a78 100644
Binary files a/share/dark_resources/paint16.png and b/share/dark_resources/paint16.png differ
diff --git a/share/dark_resources/paint20.png b/share/dark_resources/paint20.png
index 4f6ee1f9..093ce61e 100644
Binary files a/share/dark_resources/paint20.png and b/share/dark_resources/paint20.png differ
diff --git a/share/dark_resources/paint20_1.png b/share/dark_resources/paint20_1.png
index 25046740..1929e475 100644
Binary files a/share/dark_resources/paint20_1.png and b/share/dark_resources/paint20_1.png differ
diff --git a/share/dark_resources/panel16.png b/share/dark_resources/panel16.png
index 60878d09..a775f539 100644
Binary files a/share/dark_resources/panel16.png and b/share/dark_resources/panel16.png differ
diff --git a/share/dark_resources/panel32.png b/share/dark_resources/panel32.png
index 4f0aadff..330b9a22 100644
Binary files a/share/dark_resources/panel32.png and b/share/dark_resources/panel32.png differ
diff --git a/share/dark_resources/panelize16.png b/share/dark_resources/panelize16.png
index fdd3a40e..ce6afdee 100644
Binary files a/share/dark_resources/panelize16.png and b/share/dark_resources/panelize16.png differ
diff --git a/share/dark_resources/panelize32.png b/share/dark_resources/panelize32.png
index c9ce43a6..aa3479b2 100644
Binary files a/share/dark_resources/panelize32.png and b/share/dark_resources/panelize32.png differ
diff --git a/share/dark_resources/path32.png b/share/dark_resources/path32.png
index a83693df..edcbe2be 100644
Binary files a/share/dark_resources/path32.png and b/share/dark_resources/path32.png differ
diff --git a/share/dark_resources/pdf32.png b/share/dark_resources/pdf32.png
index 2f2b4f45..6faccc51 100644
Binary files a/share/dark_resources/pdf32.png and b/share/dark_resources/pdf32.png differ
diff --git a/share/dark_resources/pdf_link16.png b/share/dark_resources/pdf_link16.png
index acec32fc..9bf29c1f 100644
Binary files a/share/dark_resources/pdf_link16.png and b/share/dark_resources/pdf_link16.png differ
diff --git a/share/dark_resources/plot32.png b/share/dark_resources/plot32.png
index 4e61b5af..e4170a5d 100644
Binary files a/share/dark_resources/plot32.png and b/share/dark_resources/plot32.png differ
diff --git a/share/dark_resources/plus16.png b/share/dark_resources/plus16.png
index bc2b71e1..c6c42b21 100644
Binary files a/share/dark_resources/plus16.png and b/share/dark_resources/plus16.png differ
diff --git a/share/dark_resources/plus32.png b/share/dark_resources/plus32.png
index ff0f9472..4e6b88b2 100644
Binary files a/share/dark_resources/plus32.png and b/share/dark_resources/plus32.png differ
diff --git a/share/dark_resources/pointer.png b/share/dark_resources/pointer.png
index c1f410e4..8df14501 100644
Binary files a/share/dark_resources/pointer.png and b/share/dark_resources/pointer.png differ
diff --git a/share/dark_resources/pointer32.png b/share/dark_resources/pointer32.png
index 99e0ce51..61b134af 100644
Binary files a/share/dark_resources/pointer32.png and b/share/dark_resources/pointer32.png differ
diff --git a/share/dark_resources/poligonize32.png b/share/dark_resources/poligonize32.png
index 2f454536..4bfd1482 100644
Binary files a/share/dark_resources/poligonize32.png and b/share/dark_resources/poligonize32.png differ
diff --git a/share/dark_resources/polygon32.png b/share/dark_resources/polygon32.png
index afa05504..16656db5 100644
Binary files a/share/dark_resources/polygon32.png and b/share/dark_resources/polygon32.png differ
diff --git a/share/dark_resources/power16.png b/share/dark_resources/power16.png
index 04cc2c6b..5946e231 100644
Binary files a/share/dark_resources/power16.png and b/share/dark_resources/power16.png differ
diff --git a/share/dark_resources/pref.png b/share/dark_resources/pref.png
index 3bd655ed..fe15f4bf 100644
Binary files a/share/dark_resources/pref.png and b/share/dark_resources/pref.png differ
diff --git a/share/dark_resources/printer16.png b/share/dark_resources/printer16.png
index 1b98d2fb..e93dcc88 100644
Binary files a/share/dark_resources/printer16.png and b/share/dark_resources/printer16.png differ
diff --git a/share/dark_resources/printer32.png b/share/dark_resources/printer32.png
index 9d952ff3..b72a7695 100644
Binary files a/share/dark_resources/printer32.png and b/share/dark_resources/printer32.png differ
diff --git a/share/dark_resources/project16.png b/share/dark_resources/project16.png
index 5290735a..7e2003d4 100644
Binary files a/share/dark_resources/project16.png and b/share/dark_resources/project16.png differ
diff --git a/share/dark_resources/project_save16.png b/share/dark_resources/project_save16.png
index 1690afac..8dea1b1c 100644
Binary files a/share/dark_resources/project_save16.png and b/share/dark_resources/project_save16.png differ
diff --git a/share/dark_resources/project_save32.png b/share/dark_resources/project_save32.png
index f6369880..6ed7fb3f 100644
Binary files a/share/dark_resources/project_save32.png and b/share/dark_resources/project_save32.png differ
diff --git a/share/dark_resources/properties32.png b/share/dark_resources/properties32.png
index 362759aa..e5acda48 100644
Binary files a/share/dark_resources/properties32.png and b/share/dark_resources/properties32.png differ
diff --git a/share/dark_resources/punch16.png b/share/dark_resources/punch16.png
new file mode 100644
index 00000000..dd4c7723
Binary files /dev/null and b/share/dark_resources/punch16.png differ
diff --git a/share/dark_resources/punch32.png b/share/dark_resources/punch32.png
new file mode 100644
index 00000000..ef0541a9
Binary files /dev/null and b/share/dark_resources/punch32.png differ
diff --git a/share/dark_resources/qrcode32.png b/share/dark_resources/qrcode32.png
index 80c1c65c..acc56384 100644
Binary files a/share/dark_resources/qrcode32.png and b/share/dark_resources/qrcode32.png differ
diff --git a/share/dark_resources/recent_files.png b/share/dark_resources/recent_files.png
index 15ac385d..f63ecd34 100644
Binary files a/share/dark_resources/recent_files.png and b/share/dark_resources/recent_files.png differ
diff --git a/share/dark_resources/rectangle32.png b/share/dark_resources/rectangle32.png
index a95ba1ec..ac813b29 100644
Binary files a/share/dark_resources/rectangle32.png and b/share/dark_resources/rectangle32.png differ
diff --git a/share/dark_resources/recycle16.png b/share/dark_resources/recycle16.png
index cc32de8e..1d15d0ab 100644
Binary files a/share/dark_resources/recycle16.png and b/share/dark_resources/recycle16.png differ
diff --git a/share/dark_resources/replot16.png b/share/dark_resources/replot16.png
index c48abc04..9f2f4d7a 100644
Binary files a/share/dark_resources/replot16.png and b/share/dark_resources/replot16.png differ
diff --git a/share/dark_resources/replot32.png b/share/dark_resources/replot32.png
index 7d4f47dd..052f61fa 100644
Binary files a/share/dark_resources/replot32.png and b/share/dark_resources/replot32.png differ
diff --git a/share/dark_resources/resize16.png b/share/dark_resources/resize16.png
index 2694b84a..f9d71f11 100644
Binary files a/share/dark_resources/resize16.png and b/share/dark_resources/resize16.png differ
diff --git a/share/dark_resources/rotate.png b/share/dark_resources/rotate.png
index 21efb72a..755a0b20 100644
Binary files a/share/dark_resources/rotate.png and b/share/dark_resources/rotate.png differ
diff --git a/share/dark_resources/rules32.png b/share/dark_resources/rules32.png
index 6df220b7..a861406d 100644
Binary files a/share/dark_resources/rules32.png and b/share/dark_resources/rules32.png differ
diff --git a/share/dark_resources/save_as.png b/share/dark_resources/save_as.png
index 10a63091..2d3ae02b 100644
Binary files a/share/dark_resources/save_as.png and b/share/dark_resources/save_as.png differ
diff --git a/share/dark_resources/scale32.png b/share/dark_resources/scale32.png
index c959b49c..079fe539 100644
Binary files a/share/dark_resources/scale32.png and b/share/dark_resources/scale32.png differ
diff --git a/share/dark_resources/script14.png b/share/dark_resources/script14.png
index b35fc125..d5385f98 100644
Binary files a/share/dark_resources/script14.png and b/share/dark_resources/script14.png differ
diff --git a/share/dark_resources/script16.png b/share/dark_resources/script16.png
index e4e5c545..2f03cdd9 100644
Binary files a/share/dark_resources/script16.png and b/share/dark_resources/script16.png differ
diff --git a/share/dark_resources/script_new16.png b/share/dark_resources/script_new16.png
index 3b583fba..d6e1a45c 100644
Binary files a/share/dark_resources/script_new16.png and b/share/dark_resources/script_new16.png differ
diff --git a/share/dark_resources/script_new24.png b/share/dark_resources/script_new24.png
index f8e14ad8..a4e37c0a 100644
Binary files a/share/dark_resources/script_new24.png and b/share/dark_resources/script_new24.png differ
diff --git a/share/dark_resources/script_open16.png b/share/dark_resources/script_open16.png
index 190cd041..a41dbce0 100644
Binary files a/share/dark_resources/script_open16.png and b/share/dark_resources/script_open16.png differ
diff --git a/share/dark_resources/script_open18.png b/share/dark_resources/script_open18.png
index 6df220b7..d7406d21 100644
Binary files a/share/dark_resources/script_open18.png and b/share/dark_resources/script_open18.png differ
diff --git a/share/dark_resources/script_open24.png b/share/dark_resources/script_open24.png
index 28c5b15e..e7f97b6a 100644
Binary files a/share/dark_resources/script_open24.png and b/share/dark_resources/script_open24.png differ
diff --git a/share/dark_resources/select_all.png b/share/dark_resources/select_all.png
index efa8eb31..a1631040 100644
Binary files a/share/dark_resources/select_all.png and b/share/dark_resources/select_all.png differ
diff --git a/share/dark_resources/semidisc32.png b/share/dark_resources/semidisc32.png
index 8bce9b13..562585b9 100644
Binary files a/share/dark_resources/semidisc32.png and b/share/dark_resources/semidisc32.png differ
diff --git a/share/dark_resources/shell16.png b/share/dark_resources/shell16.png
index 37201d70..7a472207 100644
Binary files a/share/dark_resources/shell16.png and b/share/dark_resources/shell16.png differ
diff --git a/share/dark_resources/shell32.png b/share/dark_resources/shell32.png
index c930c890..670dfb3e 100644
Binary files a/share/dark_resources/shell32.png and b/share/dark_resources/shell32.png differ
diff --git a/share/dark_resources/shortcuts24.png b/share/dark_resources/shortcuts24.png
index 56b5217f..15eafe48 100644
Binary files a/share/dark_resources/shortcuts24.png and b/share/dark_resources/shortcuts24.png differ
diff --git a/share/dark_resources/skewX.png b/share/dark_resources/skewX.png
index 7d9571f0..43002b43 100644
Binary files a/share/dark_resources/skewX.png and b/share/dark_resources/skewX.png differ
diff --git a/share/dark_resources/skewY.png b/share/dark_resources/skewY.png
index 7f02f9be..2e3261d8 100644
Binary files a/share/dark_resources/skewY.png and b/share/dark_resources/skewY.png differ
diff --git a/share/dark_resources/slot26.png b/share/dark_resources/slot26.png
index 58168047..1c83ef0a 100644
Binary files a/share/dark_resources/slot26.png and b/share/dark_resources/slot26.png differ
diff --git a/share/dark_resources/slot_array26.png b/share/dark_resources/slot_array26.png
index 6bef0951..a8871684 100644
Binary files a/share/dark_resources/slot_array26.png and b/share/dark_resources/slot_array26.png differ
diff --git a/share/dark_resources/snap_16.png b/share/dark_resources/snap_16.png
index 25bf01dd..c8666a1a 100644
Binary files a/share/dark_resources/snap_16.png and b/share/dark_resources/snap_16.png differ
diff --git a/share/dark_resources/snap_filled_16.png b/share/dark_resources/snap_filled_16.png
index 0db6956a..229c91fe 100644
Binary files a/share/dark_resources/snap_filled_16.png and b/share/dark_resources/snap_filled_16.png differ
diff --git a/share/dark_resources/solderpaste32.png b/share/dark_resources/solderpaste32.png
index c93c0711..65831a55 100644
Binary files a/share/dark_resources/solderpaste32.png and b/share/dark_resources/solderpaste32.png differ
diff --git a/share/dark_resources/solderpastebis32.png b/share/dark_resources/solderpastebis32.png
index 8e1ea130..41ba7c51 100644
Binary files a/share/dark_resources/solderpastebis32.png and b/share/dark_resources/solderpastebis32.png differ
diff --git a/share/dark_resources/source32.png b/share/dark_resources/source32.png
index b04fab9b..7c01c7bb 100644
Binary files a/share/dark_resources/source32.png and b/share/dark_resources/source32.png differ
diff --git a/share/dark_resources/sub32.png b/share/dark_resources/sub32.png
index 73540a29..5e008d1e 100644
Binary files a/share/dark_resources/sub32.png and b/share/dark_resources/sub32.png differ
diff --git a/share/dark_resources/subtract16.png b/share/dark_resources/subtract16.png
index 8fd86055..8f7a9a04 100644
Binary files a/share/dark_resources/subtract16.png and b/share/dark_resources/subtract16.png differ
diff --git a/share/dark_resources/subtract24.png b/share/dark_resources/subtract24.png
index 09ab3aa4..3ea2b4c4 100644
Binary files a/share/dark_resources/subtract24.png and b/share/dark_resources/subtract24.png differ
diff --git a/share/dark_resources/subtract32.png b/share/dark_resources/subtract32.png
index b460e0d2..8bb30d49 100644
Binary files a/share/dark_resources/subtract32.png and b/share/dark_resources/subtract32.png differ
diff --git a/share/dark_resources/svg16.png b/share/dark_resources/svg16.png
index 05962ac8..68feb35e 100644
Binary files a/share/dark_resources/svg16.png and b/share/dark_resources/svg16.png differ
diff --git a/share/dark_resources/svg32.png b/share/dark_resources/svg32.png
index 3e9e6d21..f43d6038 100644
Binary files a/share/dark_resources/svg32.png and b/share/dark_resources/svg32.png differ
diff --git a/share/dark_resources/text32.png b/share/dark_resources/text32.png
index 7cc4998f..8f47ebd1 100644
Binary files a/share/dark_resources/text32.png and b/share/dark_resources/text32.png differ
diff --git a/share/dark_resources/toggle_units16.png b/share/dark_resources/toggle_units16.png
index 2da61f42..892b5808 100644
Binary files a/share/dark_resources/toggle_units16.png and b/share/dark_resources/toggle_units16.png differ
diff --git a/share/dark_resources/toggle_units32.png b/share/dark_resources/toggle_units32.png
index dddacdf5..83dfe57c 100644
Binary files a/share/dark_resources/toggle_units32.png and b/share/dark_resources/toggle_units32.png differ
diff --git a/share/dark_resources/track32.png b/share/dark_resources/track32.png
index d9ae2ebe..0a6c25d8 100644
Binary files a/share/dark_resources/track32.png and b/share/dark_resources/track32.png differ
diff --git a/share/dark_resources/transform.png b/share/dark_resources/transform.png
index b8950bf1..d3846d0c 100644
Binary files a/share/dark_resources/transform.png and b/share/dark_resources/transform.png differ
diff --git a/share/dark_resources/trash16.png b/share/dark_resources/trash16.png
index 137f8392..eb76cf26 100644
Binary files a/share/dark_resources/trash16.png and b/share/dark_resources/trash16.png differ
diff --git a/share/dark_resources/trash32.png b/share/dark_resources/trash32.png
index b9a4f14b..8ba6f690 100644
Binary files a/share/dark_resources/trash32.png and b/share/dark_resources/trash32.png differ
diff --git a/share/dark_resources/tv16.png b/share/dark_resources/tv16.png
index d21417f7..501ad7d7 100644
Binary files a/share/dark_resources/tv16.png and b/share/dark_resources/tv16.png differ
diff --git a/share/dark_resources/underline32.png b/share/dark_resources/underline32.png
index f3ec119a..4c0c17ad 100644
Binary files a/share/dark_resources/underline32.png and b/share/dark_resources/underline32.png differ
diff --git a/share/dark_resources/union16.png b/share/dark_resources/union16.png
index d1766607..f74231d0 100644
Binary files a/share/dark_resources/union16.png and b/share/dark_resources/union16.png differ
diff --git a/share/dark_resources/union32.png b/share/dark_resources/union32.png
index 07d4bd69..6a12eb38 100644
Binary files a/share/dark_resources/union32.png and b/share/dark_resources/union32.png differ
diff --git a/share/dark_resources/videohelp24.png b/share/dark_resources/videohelp24.png
index 6676a417..92e4d1ef 100644
Binary files a/share/dark_resources/videohelp24.png and b/share/dark_resources/videohelp24.png differ
diff --git a/share/dark_resources/view64.png b/share/dark_resources/view64.png
index 63d2cbca..de3a6c37 100644
Binary files a/share/dark_resources/view64.png and b/share/dark_resources/view64.png differ
diff --git a/share/dark_resources/white32.png b/share/dark_resources/white32.png
new file mode 100644
index 00000000..4a731fa5
Binary files /dev/null and b/share/dark_resources/white32.png differ
diff --git a/share/dark_resources/workspace24.png b/share/dark_resources/workspace24.png
index 4ca990e7..1a76d29e 100644
Binary files a/share/dark_resources/workspace24.png and b/share/dark_resources/workspace24.png differ
diff --git a/share/dark_resources/zoom_fit32.png b/share/dark_resources/zoom_fit32.png
index 6145c1b2..9858387f 100644
Binary files a/share/dark_resources/zoom_fit32.png and b/share/dark_resources/zoom_fit32.png differ
diff --git a/share/dark_resources/zoom_in32.png b/share/dark_resources/zoom_in32.png
index 6d5cc2e2..e71a15fa 100644
Binary files a/share/dark_resources/zoom_in32.png and b/share/dark_resources/zoom_in32.png differ
diff --git a/share/dark_resources/zoom_out32.png b/share/dark_resources/zoom_out32.png
index 38c13e2b..3f3ce4ca 100644
Binary files a/share/dark_resources/zoom_out32.png and b/share/dark_resources/zoom_out32.png differ
diff --git a/share/extract_drill16.png b/share/extract_drill16.png
new file mode 100644
index 00000000..4b3a29ab
Binary files /dev/null and b/share/extract_drill16.png differ
diff --git a/share/extract_drill32.png b/share/extract_drill32.png
new file mode 100644
index 00000000..41f740f2
Binary files /dev/null and b/share/extract_drill32.png differ
diff --git a/share/invert16.png b/share/invert16.png
new file mode 100644
index 00000000..4246eb5b
Binary files /dev/null and b/share/invert16.png differ
diff --git a/share/invert32.png b/share/invert32.png
new file mode 100644
index 00000000..76e19dff
Binary files /dev/null and b/share/invert32.png differ
diff --git a/share/locate16.png b/share/locate16.png
new file mode 100644
index 00000000..1cdc85ed
Binary files /dev/null and b/share/locate16.png differ
diff --git a/share/locate32.png b/share/locate32.png
new file mode 100644
index 00000000..66d630b0
Binary files /dev/null and b/share/locate32.png differ
diff --git a/share/origin16.png b/share/origin16.png
index e9fa7940..2c0374d8 100644
Binary files a/share/origin16.png and b/share/origin16.png differ
diff --git a/share/origin2_16.png b/share/origin2_16.png
new file mode 100644
index 00000000..0940f28b
Binary files /dev/null and b/share/origin2_16.png differ
diff --git a/share/origin2_32.png b/share/origin2_32.png
new file mode 100644
index 00000000..b4c6c721
Binary files /dev/null and b/share/origin2_32.png differ
diff --git a/share/origin32.png b/share/origin32.png
index 20228f57..f208af48 100644
Binary files a/share/origin32.png and b/share/origin32.png differ
diff --git a/share/punch16.png b/share/punch16.png
new file mode 100644
index 00000000..679b1b75
Binary files /dev/null and b/share/punch16.png differ
diff --git a/share/punch32.png b/share/punch32.png
new file mode 100644
index 00000000..5c1efec1
Binary files /dev/null and b/share/punch32.png differ
diff --git a/share/white32.png b/share/white32.png
new file mode 100644
index 00000000..c92281e4
Binary files /dev/null and b/share/white32.png differ
diff --git a/tclCommands/TclCommand.py b/tclCommands/TclCommand.py
index 719b3c71..45378180 100644
--- a/tclCommands/TclCommand.py
+++ b/tclCommands/TclCommand.py
@@ -3,8 +3,7 @@ import re
import FlatCAMApp
import abc
import collections
-from PyQt5 import QtCore, QtGui
-from PyQt5.QtCore import Qt
+from PyQt5 import QtCore
from contextlib import contextmanager
@@ -58,6 +57,8 @@ class TclCommand(object):
raise TypeError('Expected FlatCAMApp, got %s.' % type(app))
self.log = self.app.log
+ self.error_info = None
+ self.error = None
def raise_tcl_error(self, text):
"""
@@ -78,7 +79,7 @@ class TclCommand(object):
:return: current command
"""
- command_string = list()
+ command_string = []
command_string.append(self.aliases[0])
if self.original_args is not None:
@@ -288,7 +289,7 @@ class TclCommand(object):
# self.worker_task.emit({'fcn': self.exec_command_test, 'params': [text, False]})
try:
- self.log.debug("TCL command '%s' executed." % str(self.__class__))
+ self.log.debug("TCL command '%s' executed." % str(type(self).__name__))
self.original_args = args
args, unnamed_args = self.check_args(args)
return self.execute(args, unnamed_args)
@@ -387,7 +388,8 @@ class TclCommandSignaled(TclCommand):
# Terminate on timeout
if timeout is not None:
- QtCore.QTimer.singleShot(timeout, report_quit)
+ time_val = int(timeout)
+ QtCore.QTimer.singleShot(time_val, report_quit)
# Block
loop.exec_()
@@ -403,7 +405,7 @@ class TclCommandSignaled(TclCommand):
"'set_sys global_background_timeout '.")
try:
- self.log.debug("TCL command '%s' executed." % str(self.__class__))
+ self.log.debug("TCL command '%s' executed." % str(type(self).__name__))
self.original_args = args
args, unnamed_args = self.check_args(args)
if 'timeout' in args:
diff --git a/tclCommands/TclCommandAddCircle.py b/tclCommands/TclCommandAddCircle.py
index 181484d6..f0cd87aa 100644
--- a/tclCommands/TclCommandAddCircle.py
+++ b/tclCommands/TclCommandAddCircle.py
@@ -13,6 +13,8 @@ class TclCommandAddCircle(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['add_circle']
+ description = '%s %s' % ("--", "Creates a circle in the given Geometry object.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -38,7 +40,7 @@ class TclCommandAddCircle(TclCommand):
('center_y', 'Y coordinates of the center of the circle.'),
('radius', 'Radius of the circle.')
]),
- 'examples': []
+ 'examples': ['add_circle geo_name 1.0 2.0 3']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandAddPolygon.py b/tclCommands/TclCommandAddPolygon.py
index 08ec3798..88fea588 100644
--- a/tclCommands/TclCommandAddPolygon.py
+++ b/tclCommands/TclCommandAddPolygon.py
@@ -10,6 +10,8 @@ class TclCommandAddPolygon(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['add_polygon', 'add_poly']
+ description = '%s %s' % ("--", "Creates a polygon in the given Geometry object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
diff --git a/tclCommands/TclCommandAddPolyline.py b/tclCommands/TclCommandAddPolyline.py
index b7c0a47b..79de3790 100644
--- a/tclCommands/TclCommandAddPolyline.py
+++ b/tclCommands/TclCommandAddPolyline.py
@@ -11,6 +11,8 @@ class TclCommandAddPolyline(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['add_polyline']
+ description = '%s %s' % ("--", "Creates a polyline in the given Geometry object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
diff --git a/tclCommands/TclCommandAddRectangle.py b/tclCommands/TclCommandAddRectangle.py
index fa26ae02..eff36327 100644
--- a/tclCommands/TclCommandAddRectangle.py
+++ b/tclCommands/TclCommandAddRectangle.py
@@ -10,6 +10,8 @@ class TclCommandAddRectangle(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['add_rectangle']
+ description = '%s %s' % ("--", "Creates a rectangle in the given Geometry object.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -31,13 +33,13 @@ class TclCommandAddRectangle(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Add a rectange to the given Geometry object.",
+ 'main': "Creates a rectangle in the given Geometry object.",
'args': collections.OrderedDict([
('name', 'Name of the Geometry object in which to add the rectangle.'),
('x0 y0', 'Bottom left corner coordinates.'),
('x1 y1', 'Top right corner coordinates.')
]),
- 'examples': []
+ 'examples': ["add_rectangle geo_name 0 0 10 10"]
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandAlignDrill.py b/tclCommands/TclCommandAlignDrill.py
index e34c8afd..8ed877eb 100644
--- a/tclCommands/TclCommandAlignDrill.py
+++ b/tclCommands/TclCommandAlignDrill.py
@@ -15,6 +15,8 @@ class TclCommandAlignDrill(TclCommandSignaled):
# backward compatibility (add_poly, add_polygon)
aliases = ['aligndrill']
+ description = '%s %s' % ("--", "Create an Excellon object with drills for alignment.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -41,7 +43,7 @@ class TclCommandAlignDrill(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Create excellon with drills for aligment.",
+ 'main': "Create an Excellon object with drills for alignment.",
'args': collections.OrderedDict([
('name', 'Name of the object (Gerber or Excellon) to mirror.'),
('dia', 'Tool diameter'),
diff --git a/tclCommands/TclCommandAlignDrillGrid.py b/tclCommands/TclCommandAlignDrillGrid.py
index e15bd840..6fe6188b 100644
--- a/tclCommands/TclCommandAlignDrillGrid.py
+++ b/tclCommands/TclCommandAlignDrillGrid.py
@@ -15,6 +15,8 @@ class TclCommandAlignDrillGrid(TclCommandSignaled):
# backward compatibility (add_poly, add_polygon)
aliases = ['aligndrillgrid']
+ description = '%s %s' % ("--", "Create an Excellon object with drills for alignment arranged in a grid.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -39,9 +41,8 @@ class TclCommandAlignDrillGrid(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Create excellon with drills for aligment grid.",
+ 'main': "Create an Excellon object with drills for alignment arranged in a grid.",
'args': collections.OrderedDict([
- ('outname', 'Name of the object to create.'),
('dia', 'Tool diameter.'),
('gridx', 'Grid size in X axis.'),
('gridoffsetx', 'Move grid from origin.'),
@@ -49,6 +50,7 @@ class TclCommandAlignDrillGrid(TclCommandSignaled):
('gridoffsety', 'Move grid from origin.'),
('colums', 'Number of grid holes on X axis.'),
('rows', 'Number of grid holes on Y axis.'),
+ ('outname', 'Name of the object to create.')
]),
'examples': ['aligndrillgrid -rows 2 -columns 2 -gridoffsetx 10 -gridoffsety 10 -gridx 2.54 -gridy 5.08']
}
diff --git a/tclCommands/TclCommandBbox.py b/tclCommands/TclCommandBbox.py
index 06cef7d8..ada78b4f 100644
--- a/tclCommands/TclCommandBbox.py
+++ b/tclCommands/TclCommandBbox.py
@@ -21,6 +21,8 @@ class TclCommandBbox(TclCommand):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['bounding_box', 'bbox']
+ description = '%s %s' % ("--", "Creates a rectangular Geometry object that surrounds the object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -30,7 +32,7 @@ class TclCommandBbox(TclCommand):
option_types = collections.OrderedDict([
('outname', str),
('margin', float),
- ('rounded', bool)
+ ('rounded', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -38,14 +40,14 @@ class TclCommandBbox(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Creates a Geometry object that surrounds the object.",
+ 'main': "Creates a rectangular Geometry object that surrounds the object.",
'args': collections.OrderedDict([
('name', 'Object name for which to create bounding box. String'),
- ('outname', 'Name of the resulting Geometry object. String.'),
('margin', "Distance of the edges of the box to the nearest polygon."
"Float number."),
('rounded', "If the bounding box is to have rounded corners their radius is equal to the margin. "
- "True or False.")
+ "True (1) or False (0)."),
+ ('outname', 'Name of the resulting Geometry object. String.')
]),
'examples': ['bbox name -outname name_bbox']
}
@@ -77,9 +79,14 @@ class TclCommandBbox(TclCommand):
args['margin'] = float(self.app.defaults["gerber_bboxmargin"])
margin = args['margin']
- if 'rounded' not in args:
- args['rounded'] = self.app.defaults["gerber_bboxrounded"]
- rounded = bool(args['rounded'])
+ if 'rounded' in args:
+ try:
+ par = args['rounded'].capitalize()
+ except AttributeError:
+ par = args['rounded']
+ rounded = bool(eval(par))
+ else:
+ rounded = bool(eval(self.app.defaults["gerber_bboxrounded"]))
del args['name']
diff --git a/tclCommands/TclCommandBounds.py b/tclCommands/TclCommandBounds.py
index 6736f458..0401938e 100644
--- a/tclCommands/TclCommandBounds.py
+++ b/tclCommands/TclCommandBounds.py
@@ -12,6 +12,7 @@ if '_' not in builtins.__dict__:
log = logging.getLogger('base')
+
class TclCommandBounds(TclCommand):
"""
Tcl shell command to return the bounds values for a supplied list of objects (identified by their names).
@@ -22,6 +23,8 @@ class TclCommandBounds(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['get_bounds', 'bounds']
+ description = '%s %s' % ("--", "Return in the console a list of bounds values for a list of objects.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('objects', str)
@@ -37,7 +40,7 @@ class TclCommandBounds(TclCommand):
# structured help for current command, args needs to be ordered
help = {
'main': "Will return a list of bounds values, each set of bound values is "
- "a list itself: [xmin, ymin, xmax, ymax].",
+ "a list itself: [xmin, ymin, xmax, ymax] corresponding to each of the provided objects.",
'args': collections.OrderedDict([
('objects', 'A list of object names separated by comma without spaces.'),
]),
@@ -52,7 +55,7 @@ class TclCommandBounds(TclCommand):
:return:
"""
- obj_list = list()
+ obj_list = []
if 'objects' in args:
try:
obj_list = [str(obj_name) for obj_name in str(args['objects']).split(",") if obj_name != '']
@@ -68,7 +71,7 @@ class TclCommandBounds(TclCommand):
_("Expected a list of objects names separated by comma. Got"), str(args['objects'])))
return 'fail'
- result_list = list()
+ result_list = []
for name in obj_list:
obj = self.app.collection.get_by_name(name)
diff --git a/tclCommands/TclCommandClearShell.py b/tclCommands/TclCommandClearShell.py
index d765367a..3297017f 100644
--- a/tclCommands/TclCommandClearShell.py
+++ b/tclCommands/TclCommandClearShell.py
@@ -20,6 +20,8 @@ class TclCommandClearShell(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['clear']
+ description = '%s %s' % ("--", "Clear the text in the Tcl Shell.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
@@ -35,10 +37,10 @@ class TclCommandClearShell(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Clear the text in the Tcl Shell browser.",
+ 'main': "Clear the text in the Tcl Shell.",
'args': collections.OrderedDict([
]),
- 'examples': []
+ 'examples': ['clear']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandCncjob.py b/tclCommands/TclCommandCncjob.py
index eeaa4321..0c897654 100644
--- a/tclCommands/TclCommandCncjob.py
+++ b/tclCommands/TclCommandCncjob.py
@@ -20,6 +20,8 @@ class TclCommandCncjob(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['cncjob']
+ description = '%s %s' % ("--", "Generates a CNC Job object from a Geometry Object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -34,7 +36,7 @@ class TclCommandCncjob(TclCommandSignaled):
('feedrate_z', float),
('feedrate_rapid', float),
('extracut_length', float),
- ('depthperpass', float),
+ ('dpp', float),
('toolchangez', float),
('toolchangexy', tuple),
('startz', float),
@@ -42,7 +44,7 @@ class TclCommandCncjob(TclCommandSignaled):
('spindlespeed', int),
('dwelltime', float),
('pp', str),
- ('muted', int),
+ ('muted', str),
('outname', str)
])
@@ -51,7 +53,7 @@ class TclCommandCncjob(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Generates a CNC Job from a Geometry Object.",
+ 'main': "Generates a CNC Job object from a Geometry Object.",
'args': collections.OrderedDict([
('name', 'Name of the source object.'),
('dia', 'Tool diameter to show on screen.'),
@@ -61,7 +63,7 @@ class TclCommandCncjob(TclCommandSignaled):
('feedrate_z', 'Moving speed on Z plane when cutting.'),
('feedrate_rapid', 'Rapid moving at speed when cutting.'),
('extracut_length', 'The value for extra cnccut over the first point in path,in the job end; float'),
- ('depthperpass', 'If present then use multidepth cnc cut. Height of one layer for multidepth.'),
+ ('dpp', 'If present then use multidepth cnc cut. Height of one layer for multidepth.'),
('toolchangez', 'Z distance for toolchange (example: 30.0).\n'
'If used in the command then a toolchange event will be included in gcode'),
('toolchangexy', 'X, Y coordonates for toolchange in format (x, y) (example: (2.0, 3.1) ).'),
@@ -72,7 +74,7 @@ class TclCommandCncjob(TclCommandSignaled):
'If it is not used in command then it will not be included'),
('outname', 'Name of the resulting Geometry object.'),
('pp', 'Name of the Geometry preprocessor. No quotes, case sensitive'),
- ('muted', 'It will not put errors in the Shell.')
+ ('muted', 'It will not put errors in the Shell. Can be True (1) or False (0)')
]),
'examples': ['cncjob geo_name -dia 0.5 -z_cut -1.7 -z_move 2 -feedrate 120 -pp default']
}
@@ -90,14 +92,18 @@ class TclCommandCncjob(TclCommandSignaled):
name = ''
if 'muted' in args:
- muted = args['muted']
+ try:
+ par = args['muted'].capitalize()
+ except AttributeError:
+ par = args['muted']
+ muted = bool(eval(par))
else:
- muted = 0
+ muted = False
try:
name = args['name']
except KeyError:
- if muted == 0:
+ if muted is False:
self.raise_tcl_error("Object name is missing")
else:
return "fail"
@@ -108,13 +114,13 @@ class TclCommandCncjob(TclCommandSignaled):
obj = self.app.collection.get_by_name(str(name), isCaseSensitive=False)
if obj is None:
- if muted == 0:
+ if muted is False:
self.raise_tcl_error("Object not found: %s" % str(name))
else:
return "fail"
if not isinstance(obj, FlatCAMGeometry):
- if muted == 0:
+ if muted is False:
self.raise_tcl_error('Expected FlatCAMGeometry, got %s %s.' % (str(name), type(obj)))
else:
return
@@ -139,12 +145,12 @@ class TclCommandCncjob(TclCommandSignaled):
else:
args["extracut"] = False
- if "depthperpass" in args:
+ if "dpp" in args:
args["multidepth"] = True
- if args["depthperpass"] is None:
- args["depthperpass"] = obj.options["depthperpass"]
+ if args["dpp"] is None:
+ args["dpp"] = obj.options["dpp"]
else:
- args["depthperpass"] = float(args["depthperpass"])
+ args["dpp"] = float(args["dpp"])
else:
args["multidepth"] = False
@@ -187,7 +193,7 @@ class TclCommandCncjob(TclCommandSignaled):
else:
if args[arg] is None:
print(arg, args[arg])
- if muted == 0:
+ if muted is False:
self.raise_tcl_error('One of the command parameters that have to be not None, is None.\n'
'The parameter that is None is in the default values found in the list \n'
'generated by the TclCommand "list_sys geom". or in the arguments.')
@@ -213,8 +219,13 @@ class TclCommandCncjob(TclCommandSignaled):
local_tools_dict[tool_uid]['data']['feedrate_rapid'] = args["feedrate_rapid"]
local_tools_dict[tool_uid]['data']['multidepth'] = args["multidepth"]
local_tools_dict[tool_uid]['data']['extracut'] = args["extracut"]
- local_tools_dict[tool_uid]['data']['extracut_length'] = args["extracut_length"]
- local_tools_dict[tool_uid]['data']['depthperpass'] = args["depthperpass"]
+
+ if args["extracut"] is True:
+ local_tools_dict[tool_uid]['data']['extracut_length'] = args["extracut_length"]
+ else:
+ local_tools_dict[tool_uid]['data']['extracut_length'] = None
+
+ local_tools_dict[tool_uid]['data']['depthperpass'] = args["dpp"]
local_tools_dict[tool_uid]['data']['toolchange'] = args["toolchange"]
local_tools_dict[tool_uid]['data']['toolchangez'] = args["toolchangez"]
local_tools_dict[tool_uid]['data']['toolchangexy'] = args["toolchangexy"]
diff --git a/tclCommands/TclCommandCopperClear.py b/tclCommands/TclCommandCopperClear.py
index c57aa8a2..b82efdfd 100644
--- a/tclCommands/TclCommandCopperClear.py
+++ b/tclCommands/TclCommandCopperClear.py
@@ -22,6 +22,8 @@ class TclCommandCopperClear(TclCommand):
# Array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['ncc_clear', 'ncc']
+ description = '%s %s' % ("--", "Clear excess copper.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -34,13 +36,12 @@ class TclCommandCopperClear(TclCommand):
('order', str),
('margin', float),
('method', str),
- ('connect', bool),
- ('contour', bool),
- ('has_offset', bool),
+ ('connect', str),
+ ('contour', str),
('offset', float),
- ('rest', bool),
+ ('rest', str),
('all', int),
- ('ref', int),
+ ('ref', str),
('box', str),
('outname', str),
])
@@ -64,18 +65,16 @@ class TclCommandCopperClear(TclCommand):
'"fwd" -> tools are ordered from smallest to biggest.'
'"rev" -> tools are ordered from biggest to smallest.'),
('method', 'Algorithm for copper clearing. Can be: "standard", "seed" or "lines".'),
- ('connect', 'Draw lines to minimize tool lifts. True or False'),
- ('contour', 'Cut around the perimeter of the painting. True or False'),
- ('rest', 'Use rest-machining. True or False'),
- ('has_offset', 'The offset will used only if this is set True or present in args. True or False.'),
- ('offset', 'The copper clearing will finish to a distance from copper features. Float number.'),
- ('all', 'Will copper clear the whole object. 1 or True = enabled, anything else = disabled'),
- ('ref', 'Will clear of extra copper all polygons within a specified object with the name in "box" '
- 'parameter. 1 or True = enabled, anything else = disabled'),
- ('box', 'Name of the object to be used as reference. Required when selecting "ref" = 1. String.'),
+ ('connect', 'Draw lines to minimize tool lifts. True (1) or False (0)'),
+ ('contour', 'Cut around the perimeter of the painting. True (1) or False (0)'),
+ ('rest', 'Use rest-machining. True (1) or False (0)'),
+ ('offset', 'If used, the copper clearing will finish to a distance from copper features. Float number.'),
+ ('all', 'If used will copper clear the whole object. Either "-all" or "-box " has to be used.'),
+ ('box', 'Name of the object to be used as reference. Either "-all" or "-box " has to be used. '
+ 'String.'),
('outname', 'Name of the resulting Geometry object. String.'),
]),
- 'examples': ["ncc obj_name -tooldia 0.3,1 -overlap 10 -margin 1.0 -method 'lines' -all True"]
+ 'examples': ["ncc obj_name -tooldia 0.3,1 -overlap 10 -margin 1.0 -method 'lines' -all"]
}
def execute(self, args, unnamed_args):
@@ -123,28 +122,44 @@ class TclCommandCopperClear(TclCommand):
if 'method' in args:
method = args['method']
+ if method == "standard":
+ method_data = _("Standard")
+ elif method == "seed":
+ method_data = _("Seed")
+ else:
+ method_data = _("Lines")
else:
method = str(self.app.defaults["tools_nccmethod"])
+ method_data = method
+ if method == _("Standard"):
+ method = "standard"
+ elif method == _("Seed"):
+ method = "seed"
+ else:
+ method = "lines"
if 'connect' in args:
- connect = bool(args['connect'])
+ try:
+ par = args['connect'].capitalize()
+ except AttributeError:
+ par = args['connect']
+ connect = bool(eval(par))
else:
- connect = eval(str(self.app.defaults["tools_nccconnect"]))
+ connect = bool(eval(str(self.app.defaults["tools_nccconnect"])))
if 'contour' in args:
- contour = bool(args['contour'])
+ try:
+ par = args['contour'].capitalize()
+ except AttributeError:
+ par = args['contour']
+ contour = bool(eval(par))
else:
- contour = eval(str(self.app.defaults["tools_ncccontour"]))
+ contour = bool(eval(str(self.app.defaults["tools_ncccontour"])))
offset = 0.0
- if 'has_offset' in args:
- has_offset = bool(args['has_offset'])
- if args['has_offset'] is True:
- if 'offset' in args:
- offset = float(args['margin'])
- else:
- # 'offset' has to be in args if 'has_offset' is and it is set True
- self.raise_tcl_error("%s: %s" % (_("Could not retrieve object"), name))
+ if 'offset' in args:
+ offset = float(args['offset'])
+ has_offset = True
else:
has_offset = False
@@ -153,11 +168,34 @@ class TclCommandCopperClear(TclCommand):
except AttributeError:
tools = [float(tooldia)]
+ if 'rest' in args:
+ try:
+ par = args['rest'].capitalize()
+ except AttributeError:
+ par = args['rest']
+ rest = bool(eval(par))
+ else:
+ rest = bool(eval(str(self.app.defaults["tools_nccrest"])))
+
+ if 'outname' in args:
+ outname = args['outname']
+ else:
+ if rest is True:
+ outname = name + "_ncc"
+ else:
+ outname = name + "_ncc_rm"
+
+ # used only to have correct information's in the obj.tools[tool]['data'] dict
+ if "all" in args:
+ select = _("Itself")
+ else:
+ select = _("Reference Object")
+
# store here the default data for Geometry Data
default_data = {}
default_data.update({
- "name": '_paint',
- "plot": self.app.defaults["geometry_plot"],
+ "name": outname,
+ "plot": False,
"cutz": self.app.defaults["geometry_cutz"],
"vtipdia": 0.1,
"vtipangle": 30,
@@ -175,19 +213,20 @@ class TclCommandCopperClear(TclCommand):
"toolchange": self.app.defaults["geometry_toolchange"],
"toolchangez": self.app.defaults["geometry_toolchangez"],
"endz": self.app.defaults["geometry_endz"],
+ "endxy": self.app.defaults["geometry_endxy"],
"spindlespeed": self.app.defaults["geometry_spindlespeed"],
"toolchangexy": self.app.defaults["geometry_toolchangexy"],
"startz": self.app.defaults["geometry_startz"],
"tooldia": self.app.defaults["tools_painttooldia"],
- "paintmargin": self.app.defaults["tools_paintmargin"],
- "paintmethod": self.app.defaults["tools_paintmethod"],
- "selectmethod": self.app.defaults["tools_selectmethod"],
- "pathconnect": self.app.defaults["tools_pathconnect"],
- "paintcontour": self.app.defaults["tools_paintcontour"],
- "paintoverlap": self.app.defaults["tools_paintoverlap"]
+ "tools_nccmargin": margin,
+ "tools_nccmethod": method_data,
+ "tools_nccref": select,
+ "tools_nccconnect": connect,
+ "tools_ncccontour": contour,
+ "tools_nccoverlap": overlap
})
- ncc_tools = dict()
+ ncc_tools = {}
tooluid = 0
for tool in tools:
@@ -203,22 +242,10 @@ class TclCommandCopperClear(TclCommand):
'solid_geometry': []
}
})
-
- if 'rest' in args:
- rest = bool(args['rest'])
- else:
- rest = eval(str(self.app.defaults["tools_nccrest"]))
-
- if 'outname' in args:
- outname = args['outname']
- else:
- if rest is True:
- outname = name + "_ncc"
- else:
- outname = name + "_ncc_rm"
+ ncc_tools[int(tooluid)]['data']['tooldia'] = float('%.*f' % (obj.decimals, tool))
# Non-Copper clear all polygons in the non-copper clear object
- if 'all' in args and bool(args['all']):
+ if 'all' in args:
self.app.ncclear_tool.clear_copper_tcl(ncc_obj=obj,
select_method='itself',
ncctooldia=tooldia,
@@ -238,40 +265,36 @@ class TclCommandCopperClear(TclCommand):
return
# Non-Copper clear all polygons found within the box object from the the non_copper cleared object
- elif 'ref' in args and bool(args['ref']):
- if 'box' not in args:
- self.raise_tcl_error('%s' % _("Expected -box ."))
- else:
- box_name = args['box']
+ if 'box' in args:
+ box_name = args['box']
- # Get box source object.
- try:
- box_obj = self.app.collection.get_by_name(str(box_name))
- except Exception as e:
- log.debug("TclCommandCopperClear.execute() --> %s" % str(e))
- self.raise_tcl_error("%s: %s" % (_("Could not retrieve box object"), name))
- return "Could not retrieve object: %s" % name
+ # Get box source object.
+ try:
+ box_obj = self.app.collection.get_by_name(str(box_name))
+ except Exception as e:
+ log.debug("TclCommandCopperClear.execute() --> %s" % str(e))
+ self.raise_tcl_error("%s: %s" % (_("Could not retrieve box object"), name))
+ return "Could not retrieve object: %s" % name
- self.app.ncclear_tool.clear_copper_tcl(ncc_obj=obj,
- sel_obj=box_obj,
- select_method='box',
- ncctooldia=tooldia,
- overlap=overlap,
- order=order,
- margin=margin,
- has_offset=has_offset,
- offset=offset,
- method=method,
- outname=outname,
- connect=connect,
- contour=contour,
- rest=rest,
- tools_storage=ncc_tools,
- plot=False,
- run_threaded=False)
+ self.app.ncclear_tool.clear_copper_tcl(ncc_obj=obj,
+ sel_obj=box_obj,
+ select_method='box',
+ ncctooldia=tooldia,
+ overlap=overlap,
+ order=order,
+ margin=margin,
+ has_offset=has_offset,
+ offset=offset,
+ method=method,
+ outname=outname,
+ connect=connect,
+ contour=contour,
+ rest=rest,
+ tools_storage=ncc_tools,
+ plot=False,
+ run_threaded=False)
return
- else:
- self.raise_tcl_error("%s:" % _("None of the following args: 'ref', 'all' were found or none was set to 1.\n"
- "Copper clearing failed."))
- return "None of the following args: 'ref', 'all' were found or none was set to 1.\n" \
- "Copper clearing failed."
+
+ # if the program reached this then it's an error because neither -all or -box was used.
+ self.raise_tcl_error('%s' % _("Expected either -box or -all."))
+ return "Expected either -box or -all. Copper clearing failed."
diff --git a/tclCommands/TclCommandCutout.py b/tclCommands/TclCommandCutout.py
index 3df71efb..f780a8cf 100644
--- a/tclCommands/TclCommandCutout.py
+++ b/tclCommands/TclCommandCutout.py
@@ -21,6 +21,8 @@ class TclCommandCutout(TclCommand):
# names for backward compatibility (add_poly, add_polygon)
aliases = ['cutout']
+ description = '%s %s' % ("--", "Creates board cutout from an object (Gerber or Geometry) with a rectangular shape.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -32,7 +34,8 @@ class TclCommandCutout(TclCommand):
('dia', float),
('margin', float),
('gapsize', float),
- ('gaps', str)
+ ('gaps', str),
+ ('outname', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -40,15 +43,16 @@ class TclCommandCutout(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': 'Creates board cutout from an object (Gerber or Geometry) with a rectangular shape',
+ 'main': 'Creates board cutout from an object (Gerber or Geometry) with a rectangular shape.',
'args': collections.OrderedDict([
('name', 'Name of the object.'),
- ('dia', 'Tool diameter. Default = 0.1'),
- ('margin', 'Margin over bounds. Default = 0.001'),
- ('gapsize', 'Size of gap. Default = 0.1'),
- ('gaps', "Type of gaps. Can be: 'tb' = top-bottom, 'lr' = left-right and '4' = one each side. Default = 4"),
+ ('dia', 'Tool diameter.'),
+ ('margin', 'Margin over bounds.'),
+ ('gapsize', 'Size of gap.'),
+ ('gaps', "Type of gaps. Can be: 'tb' = top-bottom, 'lr' = left-right and '4' = one each side."),
+ ('outname', 'Name of the object to create.')
]),
- 'examples': []
+ 'examples': ['cutout new_geo -dia 1.2 -margin 0.1 -gapsize 1 -gaps "tb" -outname cut_geo']
}
def execute(self, args, unnamed_args):
@@ -69,22 +73,27 @@ class TclCommandCutout(TclCommand):
if 'margin' in args:
margin_par = float(args['margin'])
else:
- margin_par = 0.001
+ margin_par = float(self.app.defaults["tools_cutoutmargin"])
if 'dia' in args:
dia_par = float(args['dia'])
else:
- dia_par = 0.1
+ dia_par = float(self.app.defaults["tools_cutouttooldia"])
if 'gaps' in args:
gaps_par = args['gaps']
else:
- gaps_par = "4"
+ gaps_par = str(self.app.defaults["tools_gaps_ff"])
if 'gapsize' in args:
gapsize_par = float(args['gapsize'])
else:
- gapsize_par = 0.1
+ gapsize_par = float(self.app.defaults["tools_cutoutgapsize"])
+
+ if 'outname' in args:
+ outname = args['outname']
+ else:
+ outname = name + "_cutout"
try:
obj = self.app.collection.get_by_name(str(name))
@@ -128,7 +137,7 @@ class TclCommandCutout(TclCommand):
geo_obj.solid_geometry = cascaded_union([LineString(segment) for segment in cuts])
try:
- self.app.new_object("geometry", name + "_cutout", geo_init_me, plot=False)
+ self.app.new_object("geometry", outname, geo_init_me, plot=False)
self.app.inform.emit("[success] Rectangular-form Cutout operation finished.")
except Exception as e:
return "Operation failed: %s" % str(e)
diff --git a/tclCommands/TclCommandDelete.py b/tclCommands/TclCommandDelete.py
index c5deb08d..1d8a71c1 100644
--- a/tclCommands/TclCommandDelete.py
+++ b/tclCommands/TclCommandDelete.py
@@ -12,7 +12,9 @@ class TclCommandDelete(TclCommand):
"""
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
- aliases = ['delete']
+ aliases = ['delete', 'del']
+
+ description = '%s %s' % ("--", "Deletes the given object. If no name is given will delete all objects.")
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
@@ -21,19 +23,25 @@ class TclCommandDelete(TclCommand):
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
option_types = collections.OrderedDict([
-
+ ('f', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
- required = ['name']
+ required = []
# structured help for current command, args needs to be ordered
help = {
- 'main': 'Deletes the given object.',
+ 'main': 'Deletes the given object. If no name is given will delete all objects.',
'args': collections.OrderedDict([
('name', 'Name of the Object.'),
+ ('f', 'Use this parameter to force deletion.\n'
+ 'Can be used without value which will be auto assumed to be True.\n'
+ 'Or it can have a value: True (1) or False (0).')
]),
- 'examples': []
+ 'examples': ['del new_geo -f True\n'
+ 'delete new_geo -f 1\n'
+ 'del new_geo -f\n'
+ 'del new_geo']
}
def execute(self, args, unnamed_args):
@@ -43,13 +51,39 @@ class TclCommandDelete(TclCommand):
:param unnamed_args:
:return:
"""
-
- obj_name = args['name']
+ obj_name = None
try:
- # deselect all to avoid delete selected object when run delete from shell
- self.app.collection.set_all_inactive()
- self.app.collection.set_active(str(obj_name))
- self.app.on_delete() # Todo: This is an event handler for the GUI... bad?
- except Exception as e:
- return "Command failed: %s" % str(e)
+ obj_name = args['name']
+ delete_all = False
+ except KeyError:
+ delete_all = True
+
+ is_forced = False
+ if 'f' in args:
+ try:
+ if args['f'] is None:
+ is_forced = True
+ else:
+ try:
+ par = args['f'].capitalize()
+ except AttributeError:
+ par = args['f']
+ is_forced = bool(eval(par))
+ except KeyError:
+ is_forced = True
+
+ if delete_all is False:
+ try:
+ # deselect all to avoid delete selected object when run delete from shell
+ self.app.collection.set_all_inactive()
+ self.app.collection.set_active(str(obj_name))
+ self.app.on_delete(force_deletion=is_forced)
+ except Exception as e:
+ return "Command failed: %s" % str(e)
+ else:
+ try:
+ self.app.collection.set_all_active()
+ self.app.on_delete(force_deletion=is_forced)
+ except Exception as e:
+ return "Command failed: %s" % str(e)
diff --git a/tclCommands/TclCommandDrillcncjob.py b/tclCommands/TclCommandDrillcncjob.py
index a815569c..fb114e1e 100644
--- a/tclCommands/TclCommandDrillcncjob.py
+++ b/tclCommands/TclCommandDrillcncjob.py
@@ -4,6 +4,14 @@ from FlatCAMObj import FlatCAMExcellon
import collections
import math
+import gettext
+import FlatCAMTranslation as fcTranslate
+import builtins
+
+fcTranslate.apply_language('strings')
+if '_' not in builtins.__dict__:
+ _ = gettext.gettext
+
class TclCommandDrillcncjob(TclCommandSignaled):
"""
@@ -13,6 +21,8 @@ class TclCommandDrillcncjob(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['drillcncjob']
+ description = '%s %s' % ("--", "Generates a Drill CNC Job object from a Excellon Object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -22,19 +32,22 @@ class TclCommandDrillcncjob(TclCommandSignaled):
option_types = collections.OrderedDict([
('drilled_dias', str),
('drillz', float),
+ ('dpp', float),
('travelz', float),
- ('feedrate', float),
+ ('feedrate_z', float),
('feedrate_rapid', float),
('spindlespeed', int),
('toolchangez', float),
('toolchangexy', tuple),
+ ('startz', float),
('endz', float),
+ ('endxy', tuple),
('dwelltime', float),
('pp', str),
- ('outname', str),
('opt_type', str),
('diatol', float),
- ('muted', int)
+ ('muted', str),
+ ('outname', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -48,19 +61,21 @@ class TclCommandDrillcncjob(TclCommandSignaled):
('drilled_dias',
'Comma separated tool diameters of the drills to be drilled (example: 0.6,1.0 or 3.125). '
'No space allowed'),
- ('drillz', 'Drill depth into material (example: -2.0).'),
+ ('drillz', 'Drill depth into material (example: -2.0). Negative value.'),
+ ('dpp', 'Progressive drilling into material with a specified step (example: 0.7). Positive value.'),
('travelz', 'Travel distance above material (example: 2.0).'),
- ('feedrate', 'Drilling feed rate.'),
+ ('feedrate_z', 'Drilling feed rate. It is the speed on the Z axis.'),
('feedrate_rapid', 'Rapid drilling feed rate.'),
('spindlespeed', 'Speed of the spindle in rpm (example: 4000).'),
('toolchangez', 'Z distance for toolchange (example: 30.0).\n'
'If used in the command then a toolchange event will be included in gcode'),
('toolchangexy', 'X, Y coordonates for toolchange in format (x, y) (example: (2.0, 3.1) ).'),
- ('endz', 'Z distance at job end (example: 30.0).'),
+ ('startz', 'The Z coordinate at job start (example: 30.0).'),
+ ('endz', 'The Z coordinate at job end (example: 30.0).'),
+ ('endxy', 'The X,Y coordinates at job end in format (x, y) (example: (30.0, 15.2)).'),
('dwelltime', 'Time to pause to allow the spindle to reach the full speed.\n'
'If it is not used in command then it will not be included'),
('pp', 'This is the Excellon preprocessor name: case_sensitive, no_quotes'),
- ('outname', 'Name of the resulting Geometry object.'),
('opt_type', 'Name of move optimization type. B by default for Basic OR-Tools, M for Metaheuristic OR-Tools'
'T from Travelling Salesman Algorithm. B and M works only for 64bit version of FlatCAM and '
'T works only for 32bit version of FlatCAM'),
@@ -69,11 +84,13 @@ class TclCommandDrillcncjob(TclCommandSignaled):
'diameter with value 1.0, in the Excellon we have a tool with dia = 1.05 and we set a tolerance '
'diatol = 5.0 then the drills with the dia = (0.95 ... 1.05) '
'in Excellon will be processed. Float number.'),
- ('muted', 'It will not put errors in the Shell or status bar.')
+ ('muted', 'It will not put errors in the Shell or status bar. Can be True (1) or False (0).'),
+ ('outname', 'Name of the resulting Geometry object.')
]),
- 'examples': ['drillcncjob test.TXT -drillz -1.5 -travelz 14 -feedrate 222 -feedrate_rapid 456 -spindlespeed 777'
- ' -toolchangez 33 -endz 22 -pp default\n'
- 'Usage of -feedrate_rapid matter only when the preprocessor is using it, like -marlin-.']
+ 'examples': ['drillcncjob test.TXT -drillz -1.5 -travelz 14 -feedrate_z 222 -feedrate_rapid 456 '
+ '-spindlespeed 777 -toolchangez 33 -endz 22 -pp default\n'
+ 'Usage of -feedrate_rapid matter only when the preprocessor is using it, like -marlin-.',
+ 'drillcncjob test.DRL -drillz -1.7 -dpp 0.5 -travelz 2 -feedrate_z 800 -endxy 3,3']
}
def execute(self, args, unnamed_args):
@@ -94,7 +111,11 @@ class TclCommandDrillcncjob(TclCommandSignaled):
args['outname'] = name + "_cnc"
if 'muted' in args:
- muted = bool(args['muted'])
+ try:
+ par = args['muted'].capitalize()
+ except AttributeError:
+ par = args['muted']
+ muted = bool(eval(par))
else:
muted = False
@@ -105,7 +126,7 @@ class TclCommandDrillcncjob(TclCommandSignaled):
return "fail"
if not isinstance(obj, FlatCAMExcellon):
- if muted == 0:
+ if muted is False:
self.raise_tcl_error('Expected FlatCAMExcellon, got %s %s.' % (name, type(obj)))
else:
return "fail"
@@ -143,7 +164,7 @@ class TclCommandDrillcncjob(TclCommandSignaled):
nr_diameters -= 1
if nr_diameters > 0:
- if muted == 0:
+ if muted is False:
self.raise_tcl_error("One or more tool diameters of the drills to be drilled passed to the "
"TclCommand are not actual tool diameters in the Excellon object.")
else:
@@ -164,12 +185,41 @@ class TclCommandDrillcncjob(TclCommandSignaled):
except Exception as e:
tools = 'all'
- if muted == 0:
+ if muted is False:
self.raise_tcl_error("Bad tools: %s" % str(e))
else:
return "fail"
- drillz = args["drillz"] if "drillz" in args and args["drillz"] is not None else obj.options["drillz"]
+ used_tools_info = []
+ used_tools_info.insert(0, [_("Tool_nr"), _("Diameter"), _("Drills_Nr"), _("Slots_Nr")])
+
+ # populate the information's list for used tools
+ if tools == 'all':
+ sort = []
+ for k, v in list(obj.tools.items()):
+ sort.append((k, v.get('C')))
+ sorted_tools = sorted(sort, key=lambda t1: t1[1])
+ use_tools = [i[0] for i in sorted_tools]
+
+ for tool_no in use_tools:
+ tool_dia_used = obj.tools[tool_no]['C']
+
+ drill_cnt = 0 # variable to store the nr of drills per tool
+ slot_cnt = 0 # variable to store the nr of slots per tool
+
+ # Find no of drills for the current tool
+ for drill in obj.drills:
+ if drill['tool'] == tool_no:
+ drill_cnt += 1
+
+ # Find no of slots for the current tool
+ for slot in obj.slots:
+ if slot['tool'] == tool_no:
+ slot_cnt += 1
+
+ used_tools_info.append([str(tool_no), str(tool_dia_used), str(drill_cnt), str(slot_cnt)])
+
+ drillz = args["drillz"] if "drillz" in args and args["drillz"] is not None else obj.options["cutz"]
if "toolchangez" in args:
toolchange = True
@@ -181,14 +231,48 @@ class TclCommandDrillcncjob(TclCommandSignaled):
toolchange = False
toolchangez = 0.0
+ xy_toolchange = args["toolchangexy"] if "toolchangexy" in args and args["toolchangexy"] else \
+ obj.options["toolchangexy"]
+ xy_toolchange = ','.join([xy_toolchange[0], xy_toolchange[2]])
+
endz = args["endz"] if "endz" in args and args["endz"] is not None else obj.options["endz"]
+ xy_end = args["endxy"] if "endxy" in args and args["endxy"] else '0,0'
+ xy_end = ','.join([xy_end[0], xy_end[2]])
+ print(xy_end)
opt_type = args["opt_type"] if "opt_type" in args and args["opt_type"] else 'B'
- job_obj.z_move = args["travelz"] if "travelz" in args and args["travelz"] else obj.options["travelz"]
- job_obj.feedrate = args["feedrate"] if "feedrate" in args and args["feedrate"] else obj.options["feedrate"]
- job_obj.feedrate_rapid = args["feedrate_rapid"] \
+ # ##########################################################################################
+ # ################# Set parameters #########################################################
+ # ##########################################################################################
+ job_obj.origin_kind = 'excellon'
+
+ job_obj.options['Tools_in_use'] = used_tools_info
+ job_obj.options['type'] = 'Excellon'
+
+ pp_excellon_name = args["pp"] if "pp" in args and args["pp"] else obj.options["ppname_e"]
+ job_obj.pp_excellon_name = pp_excellon_name
+ job_obj.options['ppname_e'] = pp_excellon_name
+
+ if 'dpp' in args:
+ job_obj.multidepth = True
+ if args['dpp'] is not None:
+ job_obj.z_depthpercut = float(args['dpp'])
+ else:
+ job_obj.z_depthpercut = float(obj.options["dpp"])
+ else:
+ job_obj.multidepth = False
+ job_obj.z_depthpercut = 0.0
+
+ job_obj.z_move = float(args["travelz"]) if "travelz" in args and args["travelz"] else obj.options["travelz"]
+ job_obj.feedrate = float(args["feedrate_z"]) if "feedrate_z" in args and args["feedrate_z"] else \
+ obj.options["feedrate_z"]
+ job_obj.z_feedrate = float(args["feedrate_z"]) if "feedrate_z" in args and args["feedrate_z"] else \
+ obj.options["feedrate_z"]
+ job_obj.feedrate_rapid = float(args["feedrate_rapid"]) \
if "feedrate_rapid" in args and args["feedrate_rapid"] else obj.options["feedrate_rapid"]
+ job_obj.spindlespeed = float(args["spindlespeed"]) if "spindlespeed" in args else None
+ job_obj.spindledir = self.app.defaults['excellon_spindledir']
if 'dwelltime' in args:
job_obj.dwell = True
if args['dwelltime'] is not None:
@@ -199,38 +283,34 @@ class TclCommandDrillcncjob(TclCommandSignaled):
job_obj.dwell = False
job_obj.dwelltime = 0.0
- job_obj.spindlespeed = args["spindlespeed"] if "spindlespeed" in args else None
- job_obj.pp_excellon_name = args["pp"] if "pp" in args and args["pp"] \
- else obj.options["ppname_e"]
-
+ job_obj.toolchange_xy_type = "excellon"
job_obj.coords_decimals = int(self.app.defaults["cncjob_coords_decimals"])
job_obj.fr_decimals = int(self.app.defaults["cncjob_fr_decimals"])
- job_obj.options['type'] = 'Excellon'
-
- job_obj.toolchangexy = args["toolchangexy"] if "toolchangexy" in args and args["toolchangexy"] else \
- obj.options["toolchangexy"]
-
- job_obj.toolchange_xy_type = "excellon"
-
job_obj.options['xmin'] = xmin
job_obj.options['ymin'] = ymin
job_obj.options['xmax'] = xmax
job_obj.options['ymax'] = ymax
- job_obj.generate_from_excellon_by_tool(obj, tools, drillz=drillz, toolchangez=toolchangez, endz=endz,
- toolchange=toolchange, excellon_optimization_type=opt_type)
+ job_obj.z_cut = float(drillz)
+ job_obj.toolchange = toolchange
+ job_obj.xy_toolchange = xy_toolchange
+ job_obj.z_toolchange = float(toolchangez)
+ job_obj.startz = float(args["startz"]) if "endz" in args and args["endz"] is not None else (0, 0)
+ job_obj.endz = float(endz)
+ job_obj.xy_end = xy_end
+ job_obj.excellon_optimization_type = opt_type
+
+ ret_val = job_obj.generate_from_excellon_by_tool(obj, tools, use_ui=False)
+
+ if ret_val == 'fail':
+ return 'fail'
for t_item in job_obj.exc_cnc_tools:
job_obj.exc_cnc_tools[t_item]['data']['offset'] = \
float(job_obj.exc_cnc_tools[t_item]['offset_z']) + float(drillz)
job_obj.exc_cnc_tools[t_item]['data']['ppname_e'] = obj.options['ppname_e']
- # for now there is no tool offset support in this Tcl Command so we write the 0.0 value here
- job_obj.tool_offset[t_item] = 0.0
-
- job_obj.origin_kind = 'excellon'
-
job_obj.gcode_parse()
job_obj.create_geometry()
diff --git a/tclCommands/TclCommandExportDXF.py b/tclCommands/TclCommandExportDXF.py
index 58aab483..1fe4a361 100644
--- a/tclCommands/TclCommandExportDXF.py
+++ b/tclCommands/TclCommandExportDXF.py
@@ -14,9 +14,11 @@ class TclCommandExportDXF(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['export_dxf', 'edxf']
+ description = '%s %s' % ("--", "Export a Geometry object as a DXF File.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
- ('obj_name', str),
+ ('name', str),
('filename', str)
])
@@ -29,12 +31,13 @@ class TclCommandExportDXF(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Export a Geometry Object as a DXF File.",
+ 'main': "Export a Geometry object as a DXF File.",
'args': collections.OrderedDict([
- ('obj_name', 'Name of the object to export.'),
- ('filename', 'Path to the file to export.')
+ ('name', 'Name of the Geometry object to export.'),
+ ('filename', 'Absolute path to file to export.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
]),
- 'examples': ['export_dxf my_geo path/my_file.dxf']
+ 'examples': ['export_dxf my_geo path/my_file.dxf', 'export_dxf my_geo D:/my_file.dxf']
}
def execute(self, args, unnamed_args):
@@ -44,6 +47,6 @@ class TclCommandExportDXF(TclCommand):
:param unnamed_args:
:return:
"""
- if 'filename' not in args:
- args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['obj_name']
- self.app.export_dxf(use_thread=False,**args)
+ if 'filename' not in args:
+ args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['name']
+ self.app.export_dxf(use_thread=False, **args)
diff --git a/tclCommands/TclCommandExportExcellon.py b/tclCommands/TclCommandExportExcellon.py
index 36e6e24c..a97ac054 100644
--- a/tclCommands/TclCommandExportExcellon.py
+++ b/tclCommands/TclCommandExportExcellon.py
@@ -14,9 +14,11 @@ class TclCommandExportExcellon(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['export_exc', 'ee', 'export_excellon']
+ description = '%s %s' % ("--", "Export a Excellon object as a Excellon File.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
- ('obj_name', str),
+ ('name', str),
('filename', str)
])
@@ -25,16 +27,17 @@ class TclCommandExportExcellon(TclCommand):
])
# array of mandatory options for current Tcl command: required = ['name','outname']
- required = ['obj_name']
+ required = ['name']
# structured help for current command, args needs to be ordered
help = {
- 'main': "Export a Excellon Object as a Excellon File.",
+ 'main': "Export a Excellon object as a Excellon File.",
'args': collections.OrderedDict([
- ('obj_name', 'Name of the object to export.'),
- ('filename', 'Path to the file to export.')
+ ('name', 'Name of the Excellon object to export.'),
+ ('filename', 'Absolute path to file to export.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
]),
- 'examples': ['export_excellon my_excellon path/my_file.drl']
+ 'examples': ['export_excellon my_excellon path/my_file.drl', 'export_excellon My_Excellon D:/drill_file.DRL']
}
def execute(self, args, unnamed_args):
@@ -44,6 +47,6 @@ class TclCommandExportExcellon(TclCommand):
:param unnamed_args:
:return:
"""
- if 'filename' not in args:
- args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['obj_name']
- self.app.export_excellon(use_thread=False,**args)
+ if 'filename' not in args:
+ args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['name']
+ self.app.export_excellon(use_thread=False, **args)
diff --git a/tclCommands/TclCommandExportGcode.py b/tclCommands/TclCommandExportGcode.py
index 23842c91..5572a285 100644
--- a/tclCommands/TclCommandExportGcode.py
+++ b/tclCommands/TclCommandExportGcode.py
@@ -13,7 +13,7 @@ class TclCommandExportGcode(TclCommandSignaled):
promises and send to background if there are promises.
- This export may be captured and passed as preable
+ This export may be captured and passed as preamble
to another "export_gcode" or "write_gcode" call to join G-Code.
example:
@@ -31,11 +31,13 @@ class TclCommandExportGcode(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['export_gcode']
+ description = '%s %s' % ("--", "Return Gcode into console output.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
('preamble', str),
- ('postamble', str)
+ ('postamble', str),
])
# dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
@@ -48,11 +50,11 @@ class TclCommandExportGcode(TclCommandSignaled):
help = {
'main': "Export gcode into console output.",
'args': collections.OrderedDict([
- ('name', 'Name of the source Geometry object.'),
- ('preamble', 'Prepend GCODE.'),
- ('postamble', 'Append GCODE.')
+ ('name', 'Name of the source Geometry object. Required.'),
+ ('preamble', 'Prepend GCode to the original GCode.'),
+ ('postamble', 'Append GCode o the original GCode.'),
]),
- 'examples': []
+ 'examples': ['export_gcode geo_name -preamble "G01 X10 Y10" -postamble "G00 X20 Y20\nM04"']
}
def execute(self, args, unnamed_args):
@@ -78,4 +80,5 @@ class TclCommandExportGcode(TclCommandSignaled):
self.raise_tcl_error('!!!Promises exists, but should not here!!!')
del args['name']
- return obj.get_gcode(**args)
+ modified_gcode = obj.get_gcode(**args)
+ return
diff --git a/tclCommands/TclCommandExportGerber.py b/tclCommands/TclCommandExportGerber.py
index a4d27152..a4f143d9 100644
--- a/tclCommands/TclCommandExportGerber.py
+++ b/tclCommands/TclCommandExportGerber.py
@@ -14,9 +14,11 @@ class TclCommandExportGerber(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['export_grb', 'egr', 'export_gerber']
+ description = '%s %s' % ("--", "Export a Gerber object as a Gerber File.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
- ('obj_name', str),
+ ('name', str),
('filename', str)
])
@@ -31,8 +33,9 @@ class TclCommandExportGerber(TclCommand):
help = {
'main': "Export a Gerber Object as a Gerber File.",
'args': collections.OrderedDict([
- ('obj_name', 'Name of the object to export.'),
- ('filename', 'Path to the file to export.')
+ ('name', 'Name of the object to export. Required.'),
+ ('filename', 'Absolute path to file to export.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
]),
'examples': ['export_gerber my_gerber path/my_file.gbr']
}
@@ -44,6 +47,6 @@ class TclCommandExportGerber(TclCommand):
:param unnamed_args:
:return:
"""
- if 'filename' not in args:
- args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['obj_name']
+ if 'filename' not in args:
+ args['filename'] = self.app.defaults["global_last_save_folder"] + '/' + args['name']
self.app.export_gerber(use_thread=False,**args)
diff --git a/tclCommands/TclCommandExportSVG.py b/tclCommands/TclCommandExportSVG.py
index ebe95bc6..ae5179c4 100644
--- a/tclCommands/TclCommandExportSVG.py
+++ b/tclCommands/TclCommandExportSVG.py
@@ -1,6 +1,7 @@
from tclCommands.TclCommand import TclCommand
import collections
+from copy import copy
class TclCommandExportSVG(TclCommand):
@@ -14,6 +15,8 @@ class TclCommandExportSVG(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['export_svg']
+ description = '%s %s' % ("--", "Export a Geometry object as a SVG File.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -31,10 +34,11 @@ class TclCommandExportSVG(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Export a Geometry Object as a SVG File.",
+ 'main': "Export a Geometry object as a SVG File.",
'args': collections.OrderedDict([
- ('name', 'Name of the object export.'),
- ('filename', 'Path to the file to export.'),
+ ('name', 'Name of the object export. Required.'),
+ ('filename', 'Absolute path to file to export.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
('scale_factor', 'Multiplication factor used for scaling line widths during export.')
]),
'examples': ['export_svg my_geometry my_file.svg']
diff --git a/tclCommands/TclCommandExteriors.py b/tclCommands/TclCommandExteriors.py
index e6a65503..de4e6901 100644
--- a/tclCommands/TclCommandExteriors.py
+++ b/tclCommands/TclCommandExteriors.py
@@ -12,6 +12,9 @@ class TclCommandExteriors(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['exteriors', 'ext']
+ description = '%s %s' % ("--", "Get exteriors of polygons from a Geometry object and "
+ "from them create a new Geometry object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -27,12 +30,12 @@ class TclCommandExteriors(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Get exteriors of polygons.",
+ 'main': "Get exteriors of polygons from a Geometry object and from them create a new Geometry object.",
'args': collections.OrderedDict([
- ('name', 'Name of the source Geometry object.'),
+ ('name', 'Name of the source Geometry object. Required.'),
('outname', 'Name of the resulting Geometry object.')
]),
- 'examples': []
+ 'examples': ['ext geo_source_name -outname "final_geo"']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandFollow.py b/tclCommands/TclCommandFollow.py
index 59ad53ee..e4e13359 100644
--- a/tclCommands/TclCommandFollow.py
+++ b/tclCommands/TclCommandFollow.py
@@ -12,6 +12,8 @@ class TclCommandFollow(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['follow']
+ description = '%s %s' % ("--", "Creates a Geometry object following Gerber paths.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -27,12 +29,12 @@ class TclCommandFollow(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Creates a geometry object following gerber paths.",
+ 'main': "Creates a Geometry object following Gerber paths.",
'args': collections.OrderedDict([
- ('name', 'Object name to follow.'),
+ ('name', 'Object name to follow. Required.'),
('outname', 'Name of the resulting Geometry object.')
]),
- 'examples': ['follow name -outname name_follow']
+ 'examples': ['follow name -outname "name_follow"']
}
def execute(self, args, unnamed_args):
@@ -64,4 +66,4 @@ class TclCommandFollow(TclCommandSignaled):
return "Operation failed: %s" % str(e)
# in the end toggle the visibility of the origin object so we can see the generated Geometry
- self.app.collection.get_by_name(name).ui.plot_cb.toggle()
\ No newline at end of file
+ # self.app.collection.get_by_name(name).ui.plot_cb.toggle()
\ No newline at end of file
diff --git a/tclCommands/TclCommandGeoCutout.py b/tclCommands/TclCommandGeoCutout.py
index f7df8108..7081be2c 100644
--- a/tclCommands/TclCommandGeoCutout.py
+++ b/tclCommands/TclCommandGeoCutout.py
@@ -7,8 +7,16 @@ from copy import deepcopy
from shapely.ops import cascaded_union
from shapely.geometry import Polygon, LineString, LinearRing
+import gettext
+import FlatCAMTranslation as fcTranslate
+import builtins
+
log = logging.getLogger('base')
+fcTranslate.apply_language('strings')
+if '_' not in builtins.__dict__:
+ _ = gettext.gettext
+
class TclCommandGeoCutout(TclCommandSignaled):
"""
@@ -24,6 +32,8 @@ class TclCommandGeoCutout(TclCommandSignaled):
# names for backward compatibility (add_poly, add_polygon)
aliases = ['geocutout', 'geoc']
+ description = '%s %s' % ("--", "Creates board cutout from an object (Gerber or Geometry) of any shape.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -35,7 +45,8 @@ class TclCommandGeoCutout(TclCommandSignaled):
('dia', float),
('margin', float),
('gapsize', float),
- ('gaps', str)
+ ('gaps', str),
+ ('outname', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -43,16 +54,17 @@ class TclCommandGeoCutout(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': 'Creates board cutout from an object (Gerber or Geometry) of any shape',
+ 'main': 'Creates board cutout from an object (Gerber or Geometry) of any shape.',
'args': collections.OrderedDict([
- ('name', 'Name of the object.'),
+ ('name', 'Name of the object to be cutout. Required'),
('dia', 'Tool diameter.'),
('margin', 'Margin over bounds.'),
('gapsize', 'size of gap.'),
('gaps', "type of gaps. Can be: 'tb' = top-bottom, 'lr' = left-right, '2tb' = 2top-2bottom, "
- "'2lr' = 2left-2right, '4' = 4 cuts, '8' = 8 cuts")
+ "'2lr' = 2left-2right, '4' = 4 cuts, '8' = 8 cuts"),
+ ('outname', 'Name of the resulting Geometry object.'),
]),
- 'examples': [" #isolate margin for example from fritzing arduino shield or any svg etc\n" +
+ 'examples': [" #isolate margin for example from Fritzing arduino shield or any svg etc\n" +
" isolate BCu_margin -dia 3 -overlap 1\n" +
"\n" +
" #create exteriors from isolated object\n" +
@@ -62,7 +74,7 @@ class TclCommandGeoCutout(TclCommandSignaled):
" delete BCu_margin_iso\n" +
"\n" +
" #finally cut holding gaps\n" +
- " geocutout BCu_margin_iso_exterior -dia 3 -gapsize 0.6 -gaps 4\n"]
+ " geocutout BCu_margin_iso_exterior -dia 3 -gapsize 0.6 -gaps 4 -outname cutout_geo\n"]
}
flat_geometry = []
@@ -133,28 +145,33 @@ class TclCommandGeoCutout(TclCommandSignaled):
name = args['name']
else:
self.app.inform.emit(
- "[WARNING]The name of the object for which cutout is done is missing. Add it and retry.")
+ "[WARNING] %s" % _("The name of the object for which cutout is done is missing. Add it and retry."))
return
if 'margin' in args:
margin = float(args['margin'])
else:
- margin = 0.001
+ margin = float(self.app.defaults["tools_cutoutmargin"])
if 'dia' in args:
dia = float(args['dia'])
else:
- dia = 0.1
+ dia = float(self.app.defaults["tools_cutouttooldia"])
if 'gaps' in args:
gaps = args['gaps']
else:
- gaps = 4
+ gaps = str(self.app.defaults["tools_gaps_ff"])
if 'gapsize' in args:
gapsize = float(args['gapsize'])
else:
- gapsize = 0.1
+ gapsize = float(self.app.defaults["tools_cutoutgapsize"])
+
+ if 'outname' in args:
+ outname = args['outname']
+ else:
+ outname = str(name) + "_cutout"
# Get source object.
try:
@@ -164,12 +181,13 @@ class TclCommandGeoCutout(TclCommandSignaled):
return "Could not retrieve object: %s" % name
if 0 in {dia}:
- self.app.inform.emit("[WARNING]Tool Diameter is zero value. Change it to a positive real number.")
+ self.app.inform.emit(
+ "[WARNING] %s" % _("Tool Diameter is zero value. Change it to a positive real number."))
return "Tool Diameter is zero value. Change it to a positive real number."
if gaps not in ['lr', 'tb', '2lr', '2tb', '4', '8']:
- self.app.inform.emit("[WARNING]Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8. "
- "Fill in a correct value and retry. ")
+ self.app.inform.emit(
+ "[WARNING] %s" % _("Gaps value can be only one of: 'lr', 'tb', '2lr', '2tb', 4 or 8."))
return
# Get min and max data for each object as we just cut rectangles across X or Y
@@ -281,9 +299,8 @@ class TclCommandGeoCutout(TclCommandSignaled):
app_obj.disable_plots(objects=[cutout_obj])
- app_obj.inform.emit("[success] Any-form Cutout operation finished.")
+ app_obj.inform.emit("[success] %s" % _("Any-form Cutout operation finished."))
- outname = cutout_obj.options["name"] + "_cutout"
self.app.new_object('geometry', outname, geo_init, plot=False)
# cutout_obj.plot()
@@ -340,12 +357,11 @@ class TclCommandGeoCutout(TclCommandSignaled):
geo_obj.options['ymin'] = cutout_obj.options['ymin']
geo_obj.options['xmax'] = cutout_obj.options['xmax']
geo_obj.options['ymax'] = cutout_obj.options['ymax']
- app_obj.inform.emit("[success] Any-form Cutout operation finished.")
+ app_obj.inform.emit("[success] %s" % _("Any-form Cutout operation finished."))
- outname = cutout_obj.options["name"] + "_cutout"
self.app.new_object('geometry', outname, geo_init, plot=False)
cutout_obj = self.app.collection.get_by_name(outname)
else:
- self.app.inform.emit("[ERROR]Cancelled. Object type is not supported.")
+ self.app.inform.emit("[ERROR] %s" % _("Cancelled. Object type is not supported."))
return
diff --git a/tclCommands/TclCommandGeoUnion.py b/tclCommands/TclCommandGeoUnion.py
index b0be4734..4a698a2d 100644
--- a/tclCommands/TclCommandGeoUnion.py
+++ b/tclCommands/TclCommandGeoUnion.py
@@ -15,6 +15,8 @@ class TclCommandGeoUnion(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['geo_union']
+ description = '%s %s' % ("--", "Run the Union (join) geometry operation on the elements of a Geometry object.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -32,12 +34,12 @@ class TclCommandGeoUnion(TclCommand):
help = {
'main': ('Runs a union operation (addition) on the components '
'of the geometry object. For example, if it contains '
- '2 intersecting polygons, this opperation adds them into'
+ '2 intersecting polygons, this operation adds them into'
'a single larger polygon.'),
'args': collections.OrderedDict([
- ('name', 'Name of the Geometry Object.'),
+ ('name', 'Name of the Geometry Object that contain the components to be joined. Required.'),
]),
- 'examples': []
+ 'examples': ['geo_union target_geo']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandGetNames.py b/tclCommands/TclCommandGetNames.py
index 6b597f6f..6bb45e14 100644
--- a/tclCommands/TclCommandGetNames.py
+++ b/tclCommands/TclCommandGetNames.py
@@ -14,6 +14,9 @@ class TclCommandGetNames(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['get_names']
+ description = '%s %s' % ("--", "Return to TCL the list of the project objects names "
+ "as a string with names separated by the '\\n' char.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
@@ -29,11 +32,12 @@ class TclCommandGetNames(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': 'Lists the names of objects in the project.',
+ 'main': 'Lists the names of objects in the project. '
+ 'It returns a string with names separated by "\\n" character',
'args': collections.OrderedDict([
]),
- 'examples': []
+ 'examples': ['get_names']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandGetSys.py b/tclCommands/TclCommandGetSys.py
index 915ac18e..d5032464 100644
--- a/tclCommands/TclCommandGetSys.py
+++ b/tclCommands/TclCommandGetSys.py
@@ -21,6 +21,8 @@ class TclCommandGetSys(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['get_sys', 'getsys']
+ description = '%s %s' % ("--", "Returns to TCL the value for the entered system variable.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -36,9 +38,9 @@ class TclCommandGetSys(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Returns the value of the system variable.",
+ 'main': "Returns to TCL the value for the entered system variable.",
'args': collections.OrderedDict([
- ('name', 'Name of the system variable.'),
+ ('name', 'Name of the system variable. Required.'),
]),
'examples': ['get_sys excellon_zeros']
}
diff --git a/tclCommands/TclCommandHelp.py b/tclCommands/TclCommandHelp.py
new file mode 100644
index 00000000..35348be0
--- /dev/null
+++ b/tclCommands/TclCommandHelp.py
@@ -0,0 +1,114 @@
+# ##########################################################
+# FlatCAM: 2D Post-processing for Manufacturing #
+# File Author: Marius Adrian Stanciu (c) #
+# Content was borrowed from FlatCAM proper #
+# Date: 4/22/2020 #
+# MIT Licence #
+# ##########################################################
+
+from tclCommands.TclCommand import TclCommand
+
+import collections
+
+import gettext
+import FlatCAMTranslation as fcTranslate
+import builtins
+
+fcTranslate.apply_language('strings')
+if '_' not in builtins.__dict__:
+ _ = gettext.gettext
+
+
+class TclCommandHelp(TclCommand):
+ """
+ Tcl shell command to show Help
+
+ example:
+ help add_circle
+ """
+
+ # List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
+ aliases = ['help']
+
+ description = '%s %s' % ("--", "PRINTS to TCL the HELP.")
+
+ # Dictionary of types from Tcl command, needs to be ordered
+ arg_names = collections.OrderedDict([
+ ('name', str)
+ ])
+
+ # Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
+ option_types = collections.OrderedDict([
+
+ ])
+
+ # array of mandatory options for current Tcl command: required = {'name','outname'}
+ required = []
+
+ # structured help for current command, args needs to be ordered
+ help = {
+ 'main': "Returns to TCL the value for the entered system variable.",
+ 'args': collections.OrderedDict([
+ ('name', 'Name of a Tcl Command for which to display the Help.'),
+ ]),
+ 'examples': ['help add_circle']
+ }
+
+ def execute(self, args, unnamed_args):
+ """
+
+ :param args: Without any argument will display the list of commands. Can have as a argument
+ a tcl command name to display the help for that command.
+ :param unnamed_args:
+ :return:
+ """
+
+ if 'name' in args:
+ name = args['name']
+ if name not in self.app.tcl_commands_storage:
+ return "Unknown command: %s" % name
+
+ self.app.shell.append_output(self.app.tcl_commands_storage[name]["help"])
+ else:
+ if not args:
+ cmd_enum = '%s\n' % _("Available commands:")
+
+ displayed_text = []
+ try:
+ # find the maximum length of a command name
+ max_len = 0
+ for cmd_name in self.app.tcl_commands_storage:
+ curr_len = len(cmd_name)
+ if curr_len > max_len:
+ max_len = curr_len
+
+ h_space = " "
+ cnt = 0
+ for cmd_name in sorted(self.app.tcl_commands_storage):
+ cmd_description = "%s" % self.app.tcl_commands_storage[cmd_name]['description']
+
+ curr_len = len(cmd_name)
+
+ cmd_name_colored = "%s" % str(cmd_name)
+
+ nr_chars = max_len - curr_len
+
+ cmd_line_txt = '%s%s %s' % (cmd_name_colored, nr_chars * h_space, cmd_description)
+
+ displayed_text.append(cmd_line_txt)
+
+ # group commands by 4 adding a line break after 4 commands
+ if cnt == 3:
+ cnt = 0
+ displayed_text.append(' ')
+ else:
+ cnt += 1
+ except Exception as err:
+ self.app.log.debug("App.setup_shell.shelp() when run as 'help' --> %s" % str(err))
+ displayed_text = ['> %s\n' % cmd for cmd in sorted(self.app.tcl_commands_storage)]
+
+ cmd_enum += '
'.join(displayed_text)
+ cmd_enum += '
%s
%s
' % (
+ _("Type help for usage."), _("Example: help open_gerber"))
+
+ self.app.shell.append_raw(cmd_enum)
diff --git a/tclCommands/TclCommandImportSvg.py b/tclCommands/TclCommandImportSvg.py
index 6489db15..9ef67e27 100644
--- a/tclCommands/TclCommandImportSvg.py
+++ b/tclCommands/TclCommandImportSvg.py
@@ -12,6 +12,8 @@ class TclCommandImportSvg(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['import_svg']
+ description = '%s %s' % ("--", "Import a SVG file as a Geometry (or Gerber) Object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('filename', str)
@@ -28,13 +30,14 @@ class TclCommandImportSvg(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Import an SVG file as a Geometry Object..",
+ 'main': "Import a SVG file as a Geometry (or Gerber) Object.",
'args': collections.OrderedDict([
- ('filename', 'Path to file to open.'),
- ('type', 'Import as gerber or geometry(default).'),
+ ('filename', 'Absolute path to file to open. Required.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
+ ('type', 'Import as a Gerber or Geometry (default) object. Values can be: "geometry" or "gerber"'),
('outname', 'Name of the resulting Geometry object.')
]),
- 'examples': []
+ 'examples': ['import_svg D:\\my_beautiful_svg_file.SVG']
}
def execute(self, args, unnamed_args):
@@ -63,12 +66,12 @@ class TclCommandImportSvg(TclCommandSignaled):
outname = filename.split('/')[-1].split('\\')[-1]
if 'type' in args:
- obj_type = args['type']
+ obj_type = args['type'].lower()
else:
obj_type = 'geometry'
if obj_type != "geometry" and obj_type != "gerber":
- self.raise_tcl_error("Option type can be 'geopmetry' or 'gerber' only, got '%s'." % obj_type)
+ self.raise_tcl_error("Option type can be 'geometry' or 'gerber' only, got '%s'." % obj_type)
with self.app.proc_container.new("Import SVG"):
diff --git a/tclCommands/TclCommandInteriors.py b/tclCommands/TclCommandInteriors.py
index d4a1adb3..a7655204 100644
--- a/tclCommands/TclCommandInteriors.py
+++ b/tclCommands/TclCommandInteriors.py
@@ -12,6 +12,9 @@ class TclCommandInteriors(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['interiors']
+ description = '%s %s' % ("--", "Create a new Geometry object with the 'interiors' geo "
+ "elements of the source object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -27,12 +30,13 @@ class TclCommandInteriors(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Get interiors of polygons.",
+ 'main': "Create a new Geometry object with the 'interiors' geometric elements of "
+ "the specified source Geometry object.",
'args': collections.OrderedDict([
- ('name', 'Name of the source Geometry object.'),
+ ('name', 'Name of the source Geometry object. Required.'),
('outname', 'Name of the resulting Geometry object.')
]),
- 'examples': []
+ 'examples': ['interiors my_geo_name -outname "outputed_geo"']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandIsolate.py b/tclCommands/TclCommandIsolate.py
index f2864303..9c1b874e 100644
--- a/tclCommands/TclCommandIsolate.py
+++ b/tclCommands/TclCommandIsolate.py
@@ -19,6 +19,8 @@ class TclCommandIsolate(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['isolate']
+ description = '%s %s' % ("--", "Creates isolation routing Geometry for the specified Gerber object.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -29,7 +31,7 @@ class TclCommandIsolate(TclCommandSignaled):
('dia', float),
('passes', int),
('overlap', float),
- ('combine', int),
+ ('combine', str),
('outname', str),
('follow', str),
('iso_type', int)
@@ -41,20 +43,20 @@ class TclCommandIsolate(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Creates isolation routing geometry for the given Gerber.",
+ 'main': "Creates isolation routing Geometry for the specified Gerber object.",
'args': collections.OrderedDict([
- ('name', 'Name of the source object.'),
+ ('name', 'Name of the source object. Required.'),
('dia', 'Tool diameter.'),
('passes', 'Passes of tool width.'),
('overlap', 'Percentage of tool diameter to overlap current pass over previous pass. Float [0, 99.9999]\n'
'E.g: for a 25% from tool diameter overlap use -overlap 25'),
- ('combine', 'Combine all passes into one geometry.'),
+ ('combine', 'Combine all passes into one geometry. Can be True (1) or False (0)'),
('outname', 'Name of the resulting Geometry object.'),
- ('follow', 'Create a Geometry that follows the Gerber path.'),
+ ('follow', 'Create a Geometry that follows the Gerber path. Can be True (1) or False (0).'),
('iso_type', 'A value of 0 will isolate exteriors, a value of 1 will isolate interiors '
'and a value of 2 will do full isolation.')
]),
- 'examples': []
+ 'examples': ['isolate my_geo -dia 0.1 -passes 2 -overlap 10 -combine True -iso_type 2 -outname out_geo']
}
def execute(self, args, unnamed_args):
@@ -80,6 +82,16 @@ class TclCommandIsolate(TclCommandSignaled):
if 'follow' not in args:
args['follow'] = None
+ # evaluate this parameter so True, False, 0 and 1 works
+ if 'combine' in args:
+ try:
+ par = args['combine'].capitalize()
+ except AttributeError:
+ par = args['combine']
+ args['combine'] = bool(eval(par))
+ else:
+ args['combine'] = bool(eval(self.app.defaults["gerber_combine_passes"]))
+
obj = self.app.collection.get_by_name(name)
if obj is None:
self.raise_tcl_error("Object not found: %s" % name)
diff --git a/tclCommands/TclCommandJoinExcellon.py b/tclCommands/TclCommandJoinExcellon.py
index efe6290e..efea9e7d 100644
--- a/tclCommands/TclCommandJoinExcellon.py
+++ b/tclCommands/TclCommandJoinExcellon.py
@@ -15,6 +15,9 @@ class TclCommandJoinExcellon(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['join_excellon', 'join_excellons']
+ description = '%s %s' % ("--", "Merge two or more Excellon objects drills and create "
+ "a new Excellon object with them.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('outname', str),
@@ -22,7 +25,6 @@ class TclCommandJoinExcellon(TclCommand):
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
option_types = collections.OrderedDict([
-
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -30,14 +32,14 @@ class TclCommandJoinExcellon(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Runs a merge operation (join) on the Excellon objects.",
+ 'main': "Runs a merge operation (join) on the Excellon objects.\n"
+ "The names of the Excellon objects to be merged will be entered after the outname,\n"
+ "separated by spaces. See the example bellow.\n"
+ "WARNING: if the name of an Excellon objects has spaces, enclose the name with quotes.",
'args': collections.OrderedDict([
- ('name', 'Name of the new Excellon Object.'),
- ('obj_name_0', 'Name of the first object'),
- ('obj_name_1', 'Name of the second object.'),
- ('obj_name_2...', 'Additional object names')
+ ('outname', 'Name of the new Excellon Object made by joining of other Excellon objects. Required'),
]),
- 'examples': []
+ 'examples': ['join_excellons merged_new_excellon exc_name_1 "exc name_2"']
}
def execute(self, args, unnamed_args):
@@ -48,7 +50,7 @@ class TclCommandJoinExcellon(TclCommand):
:return:
"""
- outname = args['name']
+ outname = args['outname']
obj_names = unnamed_args
objs = []
@@ -60,7 +62,9 @@ class TclCommandJoinExcellon(TclCommand):
objs.append(obj)
def initialize(obj_, app):
- FlatCAMExcellon.merge(objs, obj_)
+ FlatCAMExcellon.merge(self, objs, obj_)
- if objs is not None:
+ if objs and len(objs) >= 2:
self.app.new_object("excellon", outname, initialize, plot=False)
+ else:
+ return "No Excellon objects to be joined or less than two Excellon objects specified for merging."
diff --git a/tclCommands/TclCommandJoinGeometry.py b/tclCommands/TclCommandJoinGeometry.py
index 74036d80..25dcc26d 100644
--- a/tclCommands/TclCommandJoinGeometry.py
+++ b/tclCommands/TclCommandJoinGeometry.py
@@ -15,6 +15,8 @@ class TclCommandJoinGeometry(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['join_geometries', 'join_geometry']
+ description = '%s %s' % ("--", "Merge two or more Geometry objects and create a new Geometry object.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('outname', str),
@@ -30,14 +32,14 @@ class TclCommandJoinGeometry(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Runs a merge operation (join) on the Excellon objects.",
+ 'main': "Runs a merge operation (join) on the Geometry objects.\n"
+ "The names of the Geometry objects to be merged will be entered after the outname,\n"
+ "separated by spaces. See the example bellow.\n"
+ "WARNING: if the name of an Geometry objects has spaces, enclose the name with quotes.",
'args': collections.OrderedDict([
- ('outname', 'Name of the new Geometry Object.'),
- ('obj_name_0', 'Name of the first object'),
- ('obj_name_1', 'Name of the second object.'),
- ('obj_name_2...', 'Additional object names')
+ ('outname', 'Name of the new Geometry Object made by joining of other Geometry objects. Required'),
]),
- 'examples': []
+ 'examples': ['join_geometry merged_new_geo geo_name_1 "geo name_2"']
}
def execute(self, args, unnamed_args):
@@ -60,7 +62,9 @@ class TclCommandJoinGeometry(TclCommand):
objs.append(obj)
def initialize(obj_, app):
- FlatCAMGeometry.merge(objs, obj_)
+ FlatCAMGeometry.merge(self, objs, obj_)
- if objs is not None:
+ if objs and len(objs) >= 2:
self.app.new_object("geometry", outname, initialize, plot=False)
+ else:
+ return "No Geometry objects to be joined or less than two Geometry objects specified for merging."
diff --git a/tclCommands/TclCommandListSys.py b/tclCommands/TclCommandListSys.py
index 39fc6e22..d9e359c8 100644
--- a/tclCommands/TclCommandListSys.py
+++ b/tclCommands/TclCommandListSys.py
@@ -19,6 +19,8 @@ class TclCommandListSys(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['list_sys', 'listsys']
+ description = '%s %s' % ("--", "Outputs in Tcl Shell the list with the names of system variables.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('selection', str),
@@ -40,7 +42,7 @@ class TclCommandListSys(TclCommand):
"of the system variable.\n"
"In that case it will list only the system variables that starts with that string.\n"
"Main categories start with: gerber or excellon or geometry or cncjob or global.\n"
- "Note: Use get_sys TclCommand to get the value and set_sys TclCommand to set it.\n",
+ "Note: Use 'get_sys system variable' to get the value and 'set_sys system variable value' to set it.\n",
'args': collections.OrderedDict([
]),
'examples': ['list_sys',
@@ -60,4 +62,6 @@ class TclCommandListSys(TclCommand):
argument = args['selection']
return str([k for k in self.app.defaults.keys() if str(k).startswith(str(argument))])
else:
- return str([*self.app.defaults])
\ No newline at end of file
+ ret_val = list(self.app.defaults.keys())
+ return str(ret_val)
+ # return str([*self.app.defaults])
diff --git a/tclCommands/TclCommandMillDrills.py b/tclCommands/TclCommandMillDrills.py
index a7d607c2..c68117f1 100644
--- a/tclCommands/TclCommandMillDrills.py
+++ b/tclCommands/TclCommandMillDrills.py
@@ -23,6 +23,8 @@ class TclCommandMillDrills(TclCommandSignaled):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['milldrills', 'milld']
+ description = '%s %s' % ("--", "Create a Geometry Object for milling drill holes from Excellon.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -34,7 +36,7 @@ class TclCommandMillDrills(TclCommandSignaled):
('milled_dias', str),
('outname', str),
('tooldia', float),
- ('use_threads', bool),
+ ('use_thread', str),
('diatol', float)
])
@@ -43,20 +45,24 @@ class TclCommandMillDrills(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Create Geometry Object for milling drill holes from Excellon.",
+ 'main': "Create a Geometry Object for milling drill holes from Excellon.",
'args': collections.OrderedDict([
- ('name', 'Name of the Excellon Object.'),
- ('milled_dias', 'Comma separated tool diameters of the drills to be milled (example: 0.6, 1.0 or 3.125).'),
+ ('name', 'Name of the Excellon Object. Required.'),
+ ('milled_dias', 'Comma separated tool diameters of the drills to be milled (example: 0.6, 1.0 or 3.125).\n'
+ 'Exception: if you enter "all" then the drills for all tools will be milled.\n'
+ 'WARNING: no spaces are allowed in the list of tools.\n'
+ 'As a precaution you can enclose them with quotes.'),
('tooldia', 'Diameter of the milling tool (example: 0.1).'),
- ('outname', 'Name of object to create.'),
- ('use_thread', 'If to use multithreading: True or False.'),
+ ('outname', 'Name of Geometry object to be created holding the milled geometries.'),
+ ('use_thread', 'If to use multithreading: True (1) or False (0).'),
('diatol', 'Tolerance. Percentange (0.0 ... 100.0) within which dias in milled_dias will be judged to be '
'the same as the ones in the tools from the Excellon object. E.g: if in milled_dias we have a '
'diameter with value 1.0, in the Excellon we have a tool with dia = 1.05 and we set a tolerance '
'diatol = 5.0 then the drills with the dia = (0.95 ... 1.05) '
'in Excellon will be processed. Float number.')
]),
- 'examples': ['milldrills mydrills', 'milld my_excellon.drl']
+ 'examples': ['milldrills mydrills -milled_dias "0.6,0.8" -tooldia 0.1 -diatol 10 -outname milled_holes',
+ 'milld my_excellon.drl']
}
def execute(self, args, unnamed_args):
@@ -80,13 +86,17 @@ class TclCommandMillDrills(TclCommandSignaled):
args['outname'] = name + "_mill_drills"
if 'use_thread' in args:
- args['use_thread'] = bool(args['use_thread'])
+ try:
+ par = args['use_thread'].capitalize()
+ except AttributeError:
+ par = args['use_thread']
+ args['use_thread'] = bool(eval(par))
+ else:
+ args['use_thread'] = False
if not obj.drills:
self.raise_tcl_error("The Excellon object has no drills: %s" % name)
- units = self.app.defaults['units'].upper()
-
try:
if 'milled_dias' in args and args['milled_dias'] != 'all':
diameters = [x.strip() for x in args['milled_dias'].split(",") if x != '']
diff --git a/tclCommands/TclCommandMillSlots.py b/tclCommands/TclCommandMillSlots.py
index 9665c91d..74c06659 100644
--- a/tclCommands/TclCommandMillSlots.py
+++ b/tclCommands/TclCommandMillSlots.py
@@ -23,6 +23,8 @@ class TclCommandMillSlots(TclCommandSignaled):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['millslots', 'mills']
+ description = '%s %s' % ("--", "Create a Geometry Object for milling slot holes from Excellon.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -34,7 +36,7 @@ class TclCommandMillSlots(TclCommandSignaled):
('milled_dias', str),
('outname', str),
('tooldia', float),
- ('use_threads', bool),
+ ('use_thread', str),
('diatol', float)
])
@@ -43,20 +45,24 @@ class TclCommandMillSlots(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Create Geometry Object for milling slot holes from Excellon.",
+ 'main': "Create a Geometry Object for milling slot holes from Excellon.",
'args': collections.OrderedDict([
- ('name', 'Name of the Excellon Object.'),
- ('milled_dias', 'Comma separated tool diameters of the slots to be milled (example: 0.6, 1.0 or 3.125).'),
+ ('name', 'Name of the Excellon Object. Required.'),
+ ('milled_dias', 'Comma separated tool diameters of the slots to be milled (example: 0.6, 1.0 or 3.125).\n'
+ 'Exception: if you enter "all" then the slots for all tools will be milled.\n'
+ 'WARNING: no spaces are allowed in the list of tools.\n'
+ 'As a precaution you can enclose them with quotes.'),
('tooldia', 'Diameter of the milling tool (example: 0.1).'),
- ('outname', 'Name of object to create.'),
- ('use_thread', 'If to use multithreading: True or False.'),
+ ('outname', 'Name of object to be created holding the milled geometries.'),
+ ('use_thread', 'If to use multithreading: True (1) or False (0).'),
('diatol', 'Tolerance. Percentange (0.0 ... 100.0) within which dias in milled_dias will be judged to be '
'the same as the ones in the tools from the Excellon object. E.g: if in milled_dias we have a '
'diameter with value 1.0, in the Excellon we have a tool with dia = 1.05 and we set a tolerance '
'diatol = 5.0 then the slots with the dia = (0.95 ... 1.05) '
'in Excellon will be processed. Float number.')
]),
- 'examples': ['millslots mydrills', 'mills my_excellon.drl']
+ 'examples': ['millslots myslots -milled_dias "0.6,0.8" -tooldia 0.1 -diatol 10 -outname milled_slots',
+ 'mills my_excellon.drl']
}
def execute(self, args, unnamed_args):
@@ -80,12 +86,18 @@ class TclCommandMillSlots(TclCommandSignaled):
args['outname'] = name + "_mill_slots"
if 'use_thread' in args:
- args['use_thread'] = bool(args['use_thread'])
+ try:
+ par = args['use_thread'].capitalize()
+ except AttributeError:
+ par = args['use_thread']
+ args['use_thread'] = bool(eval(par))
+ else:
+ args['use_thread'] = False
if not obj.slots:
self.raise_tcl_error("The Excellon object has no slots: %s" % name)
- units = self.app.defaults['units'].upper()
+ # units = self.app.defaults['units'].upper()
try:
if 'milled_dias' in args and args['milled_dias'] != 'all':
diameters = [x.strip() for x in args['milled_dias'].split(",")]
diff --git a/tclCommands/TclCommandMirror.py b/tclCommands/TclCommandMirror.py
index 819f26ef..5d4425ab 100644
--- a/tclCommands/TclCommandMirror.py
+++ b/tclCommands/TclCommandMirror.py
@@ -13,6 +13,8 @@ class TclCommandMirror(TclCommandSignaled):
# old names for backward compatibility (add_poly, add_polygon)
aliases = ['mirror']
+ description = '%s %s' % ("--", "Will mirror the geometry of a named object. Does not create a new object.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -24,22 +26,25 @@ class TclCommandMirror(TclCommandSignaled):
option_types = collections.OrderedDict([
('axis', str),
('box', str),
- ('dist', float)
+ ('origin', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
- required = ['name', 'axis']
+ required = ['name']
# structured help for current command, args needs to be ordered
help = {
- 'main': "Opens an Excellon file.",
+ 'main': "Will mirror the geometry of a named object. Does not create a new object.",
'args': collections.OrderedDict([
- ('name', 'Name of the object (Gerber or Excellon) to mirror.'),
- ('box', 'Name of object which act as box (cutout for example.)'),
+ ('name', 'Name of the object (Gerber, Geometry or Excellon) to be mirrored. Required.'),
('axis', 'Mirror axis parallel to the X or Y axis.'),
- ('dist', 'Distance of the mirror axis to the X or Y axis.')
+ ('box', 'Name of object which act as box (cutout for example.)'),
+ ('origin', 'Reference point . It is used only if the box is not used. Format (x,y).\n'
+ 'Comma will separate the X and Y coordinates.\n'
+ 'WARNING: no spaces are allowed. If uncertain enclose the two values inside parenthesis.\n'
+ 'See the example.')
]),
- 'examples': []
+ 'examples': ['mirror obj_name -box box_geo -axis X -origin 3.2,4.7']
}
def execute(self, args, unnamed_args):
@@ -69,10 +74,13 @@ class TclCommandMirror(TclCommandSignaled):
return "ERROR: Only Gerber, Excellon and Geometry objects can be mirrored."
# Axis
- try:
- axis = args['axis'].upper()
- except KeyError:
- return "ERROR: Specify -axis X or -axis Y"
+ if 'axis' in args:
+ try:
+ axis = args['axis'].upper()
+ except KeyError:
+ axis = 'Y'
+ else:
+ axis = 'Y'
# Box
if 'box' in args:
@@ -91,19 +99,22 @@ class TclCommandMirror(TclCommandSignaled):
obj.mirror(axis, [px, py])
obj.plot()
-
+ return
except Exception as e:
return "Operation failed: %s" % str(e)
- else:
+ # Origin
+ if 'origin' in args:
try:
- dist = float(args['dist'])
+ origin_val = eval(args['origin'])
+ x = float(origin_val[0])
+ y = float(origin_val[1])
except KeyError:
- dist = 0.0
+ x, y = (0, 0)
except ValueError:
- return "Invalid distance: %s" % args['dist']
+ return "Invalid distance: %s" % str(args['origin'])
try:
- obj.mirror(axis, [dist, dist])
+ obj.mirror(axis, [x, y])
except Exception as e:
return "Operation failed: %s" % str(e)
diff --git a/tclCommands/TclCommandNew.py b/tclCommands/TclCommandNew.py
index 757412d3..9a2af1f2 100644
--- a/tclCommands/TclCommandNew.py
+++ b/tclCommands/TclCommandNew.py
@@ -11,6 +11,8 @@ class TclCommandNew(TclCommand):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['new']
+ description = '%s %s' % ("--", "Starts a new project. Clears objects from memory.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict()
@@ -24,7 +26,7 @@ class TclCommandNew(TclCommand):
help = {
'main': "Starts a new project. Clears objects from memory.",
'args': collections.OrderedDict(),
- 'examples': []
+ 'examples': ['new']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandNewExcellon.py b/tclCommands/TclCommandNewExcellon.py
index 2c540fe1..61689d6f 100644
--- a/tclCommands/TclCommandNewExcellon.py
+++ b/tclCommands/TclCommandNewExcellon.py
@@ -18,6 +18,8 @@ class TclCommandNewExcellon(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['new_excellon']
+ description = '%s %s' % ("--", "Creates a new empty Excellon object.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -39,7 +41,7 @@ class TclCommandNewExcellon(TclCommandSignaled):
'args': collections.OrderedDict([
('name', 'New object name.'),
]),
- 'examples': []
+ 'examples': ['new_excellon my_excellon', 'new_excellon']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandNewGeometry.py b/tclCommands/TclCommandNewGeometry.py
index 089b2c50..8fee996e 100644
--- a/tclCommands/TclCommandNewGeometry.py
+++ b/tclCommands/TclCommandNewGeometry.py
@@ -11,6 +11,8 @@ class TclCommandNewGeometry(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['new_geometry']
+ description = '%s %s' % ("--", "Creates a new empty Geometry object.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -28,11 +30,12 @@ class TclCommandNewGeometry(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Creates a new empty geometry object.",
+ 'main': "Creates a new empty Geometry object.",
'args': collections.OrderedDict([
('name', 'New object name.'),
]),
- 'examples': []
+ 'examples': ['new_geometry\n'
+ 'new_geometry my_new_geo']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandNewGerber.py b/tclCommands/TclCommandNewGerber.py
index bccbd923..9c162965 100644
--- a/tclCommands/TclCommandNewGerber.py
+++ b/tclCommands/TclCommandNewGerber.py
@@ -18,6 +18,8 @@ class TclCommandNewGerber(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['new_gerber']
+ description = '%s %s' % ("--", "Creates a new empty Gerber object.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -39,7 +41,7 @@ class TclCommandNewGerber(TclCommandSignaled):
'args': collections.OrderedDict([
('name', 'New object name.'),
]),
- 'examples': []
+ 'examples': ['new_gerber', 'new_gerber my_new_gerber_name']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandNregions.py b/tclCommands/TclCommandNregions.py
index 6dbb22d5..871db83c 100644
--- a/tclCommands/TclCommandNregions.py
+++ b/tclCommands/TclCommandNregions.py
@@ -22,6 +22,8 @@ class TclCommandNregions(TclCommand):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['non_copper_regions', 'ncr']
+ description = '%s %s' % ("--", "Creates a Geometry object with the non-copper regions.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str)
@@ -31,7 +33,7 @@ class TclCommandNregions(TclCommand):
option_types = collections.OrderedDict([
('outname', str),
('margin', float),
- ('rounded', bool)
+ ('rounded', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -39,15 +41,15 @@ class TclCommandNregions(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Creates a geometry object with the non-copper regions.",
+ 'main': "Creates a Geometry object with the non-copper regions.",
'args': collections.OrderedDict([
- ('name', 'Object name for which to create non-copper regions. String'),
+ ('name', 'Object name for which to create non-copper regions. String. Required.'),
('outname', 'Name of the resulting Geometry object. String.'),
('margin', "Specify the edge of the PCB by drawing a box around all objects with this minimum distance. "
"Float number."),
- ('rounded', "Resulting geometry will have rounded corners. True or False.")
+ ('rounded', "Resulting geometry will have rounded corners. True (1) or False (0).")
]),
- 'examples': ['ncr name -outname name_ncr']
+ 'examples': ['ncr name -margin 0.1 -rounded True -outname name_ncr']
}
def execute(self, args, unnamed_args):
@@ -76,9 +78,14 @@ class TclCommandNregions(TclCommand):
args['margin'] = float(self.app.defaults["gerber_noncoppermargin"])
margin = float(args['margin'])
- if 'rounded' not in args:
- args['rounded'] = self.app.defaults["gerber_noncopperrounded"]
- rounded = bool(args['rounded'])
+ if 'rounded' in args:
+ try:
+ par = args['rounded'].capitalize()
+ except AttributeError:
+ par = args['rounded']
+ rounded = bool(eval(par))
+ else:
+ rounded = bool(eval(self.app.defaults["gerber_noncopperrounded"]))
del args['name']
diff --git a/tclCommands/TclCommandOffset.py b/tclCommands/TclCommandOffset.py
index a7306db9..91fd46fc 100644
--- a/tclCommands/TclCommandOffset.py
+++ b/tclCommands/TclCommandOffset.py
@@ -14,6 +14,8 @@ class TclCommandOffset(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['offset']
+ description = '%s %s' % ("--", "Will offset the geometry of a named object. Does not create a new object.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -23,21 +25,22 @@ class TclCommandOffset(TclCommand):
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
option_types = collections.OrderedDict([
-
+ ('x', float),
+ ('y', float)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
- required = ['name', 'x', 'y']
+ required = ['name']
# structured help for current command, args needs to be ordered
help = {
- 'main': "Changes the position of the object.",
+ 'main': "Changes the position of the object on X and/or Y axis.",
'args': collections.OrderedDict([
- ('name', 'Name of the object to offset.'),
- ('x', 'Offset distance in the X axis.'),
- ('y', 'Offset distance in the Y axis')
+ ('name', 'Name of the object to offset. Required.'),
+ ('x', 'Offset distance in the X axis. If it is not used it will be assumed to be 0.0'),
+ ('y', 'Offset distance in the Y axis. If it is not used it will be assumed to be 0.0')
]),
- 'examples': ['offset my_geometry 1.2 -0.3']
+ 'examples': ['offset my_geometry -x 1.2 -y -0.3', 'offset my_geometry -x 1.0']
}
def execute(self, args, unnamed_args):
@@ -49,6 +52,12 @@ class TclCommandOffset(TclCommand):
"""
name = args['name']
- x, y = float(args['x']), float(args['y'])
+ off_x = args['x'] if 'x' in args else 0.0
+ off_y = args['y'] if 'y' in args else 0.0
+
+ x, y = float(off_x), float(off_y)
+
+ if (x, y) == (0.0, 0.0):
+ return
self.app.collection.get_by_name(name).offset((x, y))
diff --git a/tclCommands/TclCommandOpenExcellon.py b/tclCommands/TclCommandOpenExcellon.py
index c9f32409..5fc7cc64 100644
--- a/tclCommands/TclCommandOpenExcellon.py
+++ b/tclCommands/TclCommandOpenExcellon.py
@@ -11,6 +11,8 @@ class TclCommandOpenExcellon(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['open_excellon']
+ description = '%s %s' % ("--", "Opens an Excellon file, parse it and create a Excellon object from it.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -28,12 +30,15 @@ class TclCommandOpenExcellon(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Opens an Excellon file.",
+ 'main': "Opens an Excellon file, parse it and create a Excellon object from it.",
'args': collections.OrderedDict([
- ('filename', 'Path to file to open.'),
+ ('filename', 'Absolute path to file to open. Required.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
('outname', 'Name of the resulting Excellon object.')
]),
- 'examples': []
+ 'examples': ['open_excellon D:\\my_excellon_file.DRL',
+ 'open_excellon "D:\\my_excellon_file with spaces in the name.DRL"',
+ 'open_excellon path_to_file']
}
def execute(self, args, unnamed_args):
@@ -48,6 +53,9 @@ class TclCommandOpenExcellon(TclCommandSignaled):
filename = args.pop('filename')
# filename = filename.replace(' ', '')
+ if ' ' in filename:
+ return "The absolute path to the project file contain spaces which is not allowed.\n" \
+ "Please enclose the path within quotes."
args['plot'] = False
self.app.open_excellon(filename, **args)
diff --git a/tclCommands/TclCommandOpenGCode.py b/tclCommands/TclCommandOpenGCode.py
index d4da1423..9b5db715 100644
--- a/tclCommands/TclCommandOpenGCode.py
+++ b/tclCommands/TclCommandOpenGCode.py
@@ -12,6 +12,8 @@ class TclCommandOpenGCode(TclCommandSignaled):
# backward compatibility (add_poly, add_polygon)
aliases = ['open_gcode']
+ description = '%s %s' % ("--", "Opens an GCode file, parse it and create a GCode object from it.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -29,12 +31,14 @@ class TclCommandOpenGCode(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Opens a G-Code file.",
+ 'main': "Opens an GCode file, parse it and create a GCode object from it.",
'args': collections.OrderedDict([
- ('filename', 'Path to file to open.'),
+ ('filename', 'Absolute path to file to open. Required.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
('outname', 'Name of the resulting CNCJob object.')
]),
- 'examples': []
+ 'examples': ['open_gcode D:\\my_gcode_file.NC',
+ 'open_gcode "D:\\my_gcode_file with spaces in the name.TXT"']
}
def execute(self, args, unnamed_args):
@@ -48,6 +52,8 @@ class TclCommandOpenGCode(TclCommandSignaled):
"""
args['plot'] = False
filename = args["filename"]
- # filename = filename.replace(' ', '')
+ if ' ' in filename:
+ return "The absolute path to the project file contain spaces which is not allowed.\n" \
+ "Please enclose the path within quotes."
self.app.open_gcode(filename, **args)
diff --git a/tclCommands/TclCommandOpenGerber.py b/tclCommands/TclCommandOpenGerber.py
index 0b67f83c..c473d0de 100644
--- a/tclCommands/TclCommandOpenGerber.py
+++ b/tclCommands/TclCommandOpenGerber.py
@@ -13,6 +13,8 @@ class TclCommandOpenGerber(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['open_gerber']
+ description = '%s %s' % ("--", "Opens an Gerber file, parse it and create a Gerber object from it.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('filename', str)
@@ -30,10 +32,12 @@ class TclCommandOpenGerber(TclCommandSignaled):
help = {
'main': "Opens a Gerber file.",
'args': collections.OrderedDict([
- ('filename', 'Path to file to open.'),
+ ('filename', 'Absolute path to file to open. Required.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
('outname', 'Name of the resulting Gerber object.')
]),
- 'examples': ["open_gerber gerber_object_path -outname bla"]
+ 'examples': ["open_gerber gerber_object_path -outname bla",
+ 'open_gerber "D:\\my_gerber_file with spaces in the name.GRB"']
}
def execute(self, args, unnamed_args):
@@ -65,7 +69,10 @@ class TclCommandOpenGerber(TclCommandSignaled):
return
filename = args['filename']
- # filename = filename.replace(' ', '')
+
+ if ' ' in filename:
+ return "The absolute path to the project file contain spaces which is not allowed.\n" \
+ "Please enclose the path within quotes."
if 'outname' in args:
outname = args['outname']
diff --git a/tclCommands/TclCommandOpenProject.py b/tclCommands/TclCommandOpenProject.py
index ef0775af..e1e1cd05 100644
--- a/tclCommands/TclCommandOpenProject.py
+++ b/tclCommands/TclCommandOpenProject.py
@@ -11,6 +11,8 @@ class TclCommandOpenProject(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['open_project']
+ description = '%s %s' % ("--", "Opens an FlatCAm project file, parse it and recreate all the objects.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -28,11 +30,13 @@ class TclCommandOpenProject(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Opens a FlatCAM project.",
+ 'main': "Opens an FlatCAm project file, parse it and recreate all the objects.",
'args': collections.OrderedDict([
- ('filename', 'Path to file to open.'),
+ ('filename', 'Absolute path to file to open. Required.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
]),
- 'examples': []
+ 'examples': ['open_project D:\\my_project_file.FlatPrj',
+ 'open_project "D:\\my_project_file with spaces in the name.FlatPrj"']
}
def execute(self, args, unnamed_args):
@@ -45,6 +49,8 @@ class TclCommandOpenProject(TclCommandSignaled):
:return: None or exception
"""
filename = args['filename']
- filename = filename.replace(' ', '')
+ if ' ' in filename:
+ return "The absolute path to the project file contain spaces which is not allowed.\n" \
+ "Please enclose the path within quotes."
self.app.open_project(filename, cli=True, plot=False)
diff --git a/tclCommands/TclCommandOptions.py b/tclCommands/TclCommandOptions.py
index 4bc90b84..a6057bdc 100644
--- a/tclCommands/TclCommandOptions.py
+++ b/tclCommands/TclCommandOptions.py
@@ -11,6 +11,9 @@ class TclCommandOptions(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['options']
+ description = '%s %s' % ("--", "Will return the options (settings) for an object as a string "
+ "with values separated by \\n.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -28,11 +31,11 @@ class TclCommandOptions(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Shows the settings for an object.",
+ 'main': "Will return the options (settings) for an object as a string with values separated by \\n.",
'args': collections.OrderedDict([
- ('name', 'Object name.'),
+ ('name', 'Object name for which to return the options. Required.'),
]),
- 'examples': []
+ 'examples': ['options obj_name']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandPaint.py b/tclCommands/TclCommandPaint.py
index 2594904a..6b8a85ba 100644
--- a/tclCommands/TclCommandPaint.py
+++ b/tclCommands/TclCommandPaint.py
@@ -22,6 +22,8 @@ class TclCommandPaint(TclCommand):
# Array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['paint']
+ description = '%s %s' % ("--", "Paint polygons in the specified object by covering them with toolpaths.")
+
# dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -34,12 +36,12 @@ class TclCommandPaint(TclCommand):
('order', str),
('margin', float),
('method', str),
- ('connect', bool),
- ('contour', bool),
+ ('connect', str),
+ ('contour', str),
- ('all', bool),
- ('single', bool),
- ('ref', bool),
+ ('all', str),
+ ('single', str),
+ ('ref', str),
('box', str),
('x', float),
('y', float),
@@ -51,7 +53,7 @@ class TclCommandPaint(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Paint polygons",
+ 'main': "Paint polygons in the specified object by covering them with toolpaths.",
'args': collections.OrderedDict([
('name', 'Name of the source Geometry object. String.'),
('tooldia', 'Diameter of the tool to be used. Can be a comma separated list of diameters. No space is '
@@ -64,18 +66,17 @@ class TclCommandPaint(TclCommand):
'"no" -> the order used is the one provided.'
'"fwd" -> tools are ordered from smallest to biggest.'
'"rev" -> tools are ordered from biggest to smallest.'),
- ('method', 'Algorithm for painting. Can be: "standard", "seed" or "lines".'),
- ('connect', 'Draw lines to minimize tool lifts. True or False'),
- ('contour', 'Cut around the perimeter of the painting. True or False'),
- ('all', 'Paint all polygons in the object. True or False'),
- ('single', 'Paint a single polygon specified by "x" and "y" parameters. True or False'),
- ('ref', 'Paint all polygons within a specified object with the name in "box" parameter. True or False'),
- ('box', 'name of the object to be used as paint reference when selecting "ref"" True. String.'),
+ ('method', 'Algorithm for painting. Can be: "standard", "seed", "lines", "laser_lines", "combo".'),
+ ('connect', 'Draw lines to minimize tool lifts. True (1) or False (0)'),
+ ('contour', 'Cut around the perimeter of the painting. True (1) or False (0)'),
+ ('all', 'If used, paint all polygons in the object.'),
+ ('box', 'name of the object to be used as paint reference. String.'),
+ ('single', 'Paint a single polygon specified by "x" and "y" parameters. True (1) or False (0)'),
('x', 'X value of coordinate for the selection of a single polygon. Float number.'),
('y', 'Y value of coordinate for the selection of a single polygon. Float number.'),
('outname', 'Name of the resulting Geometry object. String.'),
]),
- 'examples': ["paint obj_name -tooldia 0.3 -margin 0.1 -method 'seed' -all True"]
+ 'examples': ["paint obj_name -tooldia 0.3 -margin 0.1 -method 'seed' -all"]
}
def execute(self, args, unnamed_args):
@@ -120,24 +121,50 @@ class TclCommandPaint(TclCommand):
if 'method' in args:
method = args['method']
+ if method == "standard":
+ method = _("Standard")
+ elif method == "seed":
+ method = _("Seed")
+ elif method == "lines":
+ method = _("Lines")
+ elif method == "laser_lines":
+ method = _("Laser_lines")
+ else:
+ method = _("Combo")
else:
method = str(self.app.defaults["tools_paintmethod"])
if 'connect' in args:
- connect = bool(args['connect'])
+ try:
+ par = args['connect'].capitalize()
+ except AttributeError:
+ par = args['connect']
+ connect = bool(eval(par))
else:
- connect = eval(str(self.app.defaults["tools_pathconnect"]))
+ connect = bool(eval(str(self.app.defaults["tools_pathconnect"])))
if 'contour' in args:
- contour = bool(args['contour'])
+ try:
+ par = args['contour'].capitalize()
+ except AttributeError:
+ par = args['contour']
+ contour = bool(eval(par))
else:
- contour = eval(str(self.app.defaults["tools_paintcontour"]))
+ contour = bool(eval(str(self.app.defaults["tools_paintcontour"])))
if 'outname' in args:
outname = args['outname']
else:
outname = name + "_paint"
+ # used only to have correct information's in the obj.tools[tool]['data'] dict
+ if "all" in args:
+ select = _("All Polygons")
+ elif "single" in args:
+ select = _("Polygon Selection")
+ else:
+ select = _("Reference Object")
+
try:
tools = [float(eval(dia)) for dia in tooldia.split(",") if dia != '']
except AttributeError:
@@ -145,8 +172,8 @@ class TclCommandPaint(TclCommand):
# store here the default data for Geometry Data
default_data = {}
default_data.update({
- "name": '_paint',
- "plot": self.app.defaults["geometry_plot"],
+ "name": outname,
+ "plot": False,
"cutz": self.app.defaults["geometry_cutz"],
"vtipdia": 0.1,
"vtipangle": 30,
@@ -164,19 +191,21 @@ class TclCommandPaint(TclCommand):
"toolchange": self.app.defaults["geometry_toolchange"],
"toolchangez": self.app.defaults["geometry_toolchangez"],
"endz": self.app.defaults["geometry_endz"],
+ "endxy": self.app.defaults["geometry_endxy"],
+
"spindlespeed": self.app.defaults["geometry_spindlespeed"],
"toolchangexy": self.app.defaults["geometry_toolchangexy"],
"startz": self.app.defaults["geometry_startz"],
"tooldia": self.app.defaults["tools_painttooldia"],
- "paintmargin": self.app.defaults["tools_paintmargin"],
- "paintmethod": self.app.defaults["tools_paintmethod"],
- "selectmethod": self.app.defaults["tools_selectmethod"],
- "pathconnect": self.app.defaults["tools_pathconnect"],
- "paintcontour": self.app.defaults["tools_paintcontour"],
- "paintoverlap": self.app.defaults["tools_paintoverlap"]
+ "paintmargin": margin,
+ "paintmethod": method,
+ "selectmethod": select,
+ "pathconnect": connect,
+ "paintcontour": contour,
+ "paintoverlap": overlap
})
- paint_tools = dict()
+ paint_tools = {}
tooluid = 0
for tool in tools:
@@ -192,29 +221,26 @@ class TclCommandPaint(TclCommand):
'solid_geometry': []
}
})
+ paint_tools[int(tooluid)]['data']['tooldia'] = float('%.*f' % (obj.decimals, tool))
if obj is None:
return "Object not found: %s" % name
# Paint all polygons in the painted object
- if 'all' in args and bool(args['all']) is True:
+ if 'all' in args:
self.app.paint_tool.paint_poly_all(obj=obj,
tooldia=tooldia,
- overlap=overlap,
order=order,
- margin=margin,
method=method,
outname=outname,
- connect=connect,
- contour=contour,
tools_storage=paint_tools,
plot=False,
run_threaded=False)
return
# Paint single polygon in the painted object
- elif 'single' in args and bool(args['single']) is True:
- if 'x' not in args or 'y' not in args:
+ if 'single' in args:
+ if 'x' not in args and 'y' not in args:
self.raise_tcl_error('%s' % _("Expected -x and -y ."))
else:
x = args['x']
@@ -223,50 +249,40 @@ class TclCommandPaint(TclCommand):
self.app.paint_tool.paint_poly(obj=obj,
inside_pt=[x, y],
tooldia=tooldia,
- overlap=overlap,
order=order,
- margin=margin,
method=method,
outname=outname,
- connect=connect,
- contour=contour,
tools_storage=paint_tools,
plot=False,
run_threaded=False)
return
# Paint all polygons found within the box object from the the painted object
- elif 'ref' in args and bool(args['ref']) is True:
- if 'box' not in args:
+ if 'box' in args:
+ box_name = args['box']
+
+ if box_name is None:
self.raise_tcl_error('%s' % _("Expected -box ."))
- else:
- box_name = args['box']
- # Get box source object.
- try:
- box_obj = self.app.collection.get_by_name(str(box_name))
- except Exception as e:
- log.debug("TclCommandPaint.execute() --> %s" % str(e))
- self.raise_tcl_error("%s: %s" % (_("Could not retrieve box object"), name))
- return "Could not retrieve object: %s" % name
+ # Get box source object.
+ try:
+ box_obj = self.app.collection.get_by_name(str(box_name))
+ except Exception as e:
+ log.debug("TclCommandPaint.execute() --> %s" % str(e))
+ self.raise_tcl_error("%s: %s" % (_("Could not retrieve box object"), name))
+ return "Could not retrieve object: %s" % name
- self.app.paint_tool.paint_poly_ref(obj=obj,
- sel_obj=box_obj,
- tooldia=tooldia,
- overlap=overlap,
- order=order,
- margin=margin,
- method=method,
- outname=outname,
- connect=connect,
- contour=contour,
- tools_storage=paint_tools,
- plot=False,
- run_threaded=False)
+ self.app.paint_tool.paint_poly_ref(obj=obj,
+ sel_obj=box_obj,
+ tooldia=tooldia,
+ order=order,
+ method=method,
+ outname=outname,
+ tools_storage=paint_tools,
+ plot=False,
+ run_threaded=False)
return
- else:
- self.raise_tcl_error("%s:" % _("There was none of the following args: 'ref', 'single', 'all'.\n"
- "Paint failed."))
- return "There was none of the following args: 'ref', 'single', 'all'.\n" \
- "Paint failed."
+ self.raise_tcl_error("%s:" % _("None of the following args: 'box', 'single', 'all' were used.\n"
+ "Paint failed."))
+ return "None of the following args: 'box', 'single', 'all' were used. Paint failed."
diff --git a/tclCommands/TclCommandPanelize.py b/tclCommands/TclCommandPanelize.py
index 2a8c7c05..142c1512 100644
--- a/tclCommands/TclCommandPanelize.py
+++ b/tclCommands/TclCommandPanelize.py
@@ -19,7 +19,10 @@ class TclCommandPanelize(TclCommand):
"""
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
- aliases = ['panelize','pan', 'panel']
+ aliases = ['panelize', 'pan', 'panel']
+
+ description = '%s %s' % ("--", "Create a new object with an array of duplicates of the original geometry, "
+ "arranged in a grid.")
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
@@ -34,15 +37,15 @@ class TclCommandPanelize(TclCommand):
('spacing_rows', float),
('box', str),
('outname', str),
- ('run_threaded', bool)
+ ('use_thread', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
- required = ['name', 'rows', 'columns']
+ required = ['name']
# structured help for current command, args needs to be ordered
help = {
- 'main': 'Rectangular panelizing.',
+ 'main': 'Create a new object with an array of duplicates of the original geometry, arranged in a grid.',
'args': collections.OrderedDict([
('name', 'Name of the object to panelize.'),
('box', 'Name of object which acts as box (cutout for example.)'
@@ -52,9 +55,16 @@ class TclCommandPanelize(TclCommand):
('columns', 'Number of columns.'),
('rows', 'Number of rows;'),
('outname', 'Name of the new geometry object.'),
- ('run_threaded', 'False = non-threaded || True = threaded')
+ ('use_thread', 'False (0) = non-threaded execution or True (1) = threaded execution')
]),
- 'examples': []
+ 'examples': [
+ 'panelize obj_name',
+
+ 'panel obj_name -rows 2 -columns 2 -spacing_columns 0.4 -spacing_rows 1.3 -box box_obj_name '
+ '-outname panelized_name',
+
+ 'panel obj_name -columns 2 -box box_obj_name -outname panelized_name',
+ ]
}
def execute(self, args, unnamed_args):
@@ -70,7 +80,7 @@ class TclCommandPanelize(TclCommand):
# Get source object.
try:
obj = self.app.collection.get_by_name(str(name))
- except Exception as e:
+ except Exception:
return "Could not retrieve object: %s" % name
if obj is None:
@@ -85,16 +95,30 @@ class TclCommandPanelize(TclCommand):
else:
box = obj
- if 'columns' not in args or 'rows' not in args:
- return "ERROR: Specify -columns and -rows"
+ if 'columns' in args:
+ columns = int(args['columns'])
+ else:
+ columns = int(0)
+
+ if 'rows' in args:
+ rows = int(args['rows'])
+ else:
+ rows = int(0)
+
+ if 'columns' not in args and 'rows' not in args:
+ return "ERROR: Specify either -columns or -rows. The one not specified it will assumed to be 0"
if 'outname' in args:
outname = args['outname']
else:
outname = name + '_panelized'
- if 'run_threaded' in args:
- threaded = bool(args['run_threaded'])
+ if 'use_thread' in args:
+ try:
+ par = args['use_thread'].capitalize()
+ except AttributeError:
+ par = args['use_thread']
+ threaded = bool(eval(par))
else:
threaded = False
@@ -108,9 +132,6 @@ class TclCommandPanelize(TclCommand):
else:
spacing_rows = 5
- rows = int(args['rows'])
- columns = int(args['columns'])
-
xmin, ymin, xmax, ymax = box.bounds()
lenghtx = xmax - xmin + spacing_columns
lenghty = ymax - ymin + spacing_rows
@@ -185,7 +206,7 @@ class TclCommandPanelize(TclCommand):
obj_fin.solid_geometry = []
for option in obj.options:
- if option is not 'name':
+ if option != 'name':
try:
obj_fin.options[option] = obj.options[option]
except Exception as e:
@@ -228,7 +249,7 @@ class TclCommandPanelize(TclCommand):
def translate_recursion(geom):
if type(geom) == list:
- geoms = list()
+ geoms = []
for local_geom in geom:
geoms.append(translate_recursion(local_geom))
return geoms
diff --git a/tclCommands/TclCommandPlotAll.py b/tclCommands/TclCommandPlotAll.py
index 2e8ead22..4e9f8277 100644
--- a/tclCommands/TclCommandPlotAll.py
+++ b/tclCommands/TclCommandPlotAll.py
@@ -1,9 +1,9 @@
-from tclCommands.TclCommand import TclCommand
+from tclCommands.TclCommand import TclCommandSignaled
import collections
-class TclCommandPlotAll(TclCommand):
+class TclCommandPlotAll(TclCommandSignaled):
"""
Tcl shell command to update the plot on the user interface.
@@ -14,6 +14,8 @@ class TclCommandPlotAll(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['plot_all']
+ description = '%s %s' % ("--", "Plots all objects on GUI.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
@@ -21,7 +23,8 @@ class TclCommandPlotAll(TclCommand):
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
option_types = collections.OrderedDict([
-
+ ('plot_status', str),
+ ('use_thread', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -29,11 +32,12 @@ class TclCommandPlotAll(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Updates the plot on the user interface.",
+ 'main': "Plots all objects on GUI.",
'args': collections.OrderedDict([
-
+ ('plot_status', 'If to display or not the objects: True (1) or False (0).'),
+ ('use_thread', 'If to use multithreading: True (1) or False (0).')
]),
- 'examples': []
+ 'examples': ['plot_all', 'plot_all -plot_status False']
}
def execute(self, args, unnamed_args):
@@ -43,5 +47,32 @@ class TclCommandPlotAll(TclCommand):
:param unnamed_args:
:return:
"""
+
+ if 'use_thread' in args:
+ try:
+ par = args['use_thread'].capitalize()
+ except AttributeError:
+ par = args['use_thread']
+ threaded = bool(eval(par))
+ else:
+ threaded = False
+
+ plot_status = True
+ if 'plot_status' in args:
+ try:
+ if args['plot_status'] is None:
+ plot_status = True
+ else:
+ try:
+ par = args['plot_status'].capitalize()
+ except AttributeError:
+ par = args['plot_status']
+ plot_status = bool(eval(par))
+ except KeyError:
+ plot_status = True
+
+ for obj in self.app.collection.get_list():
+ obj.options["plot"] = True if plot_status is True else False
+
if self.app.cmd_line_headless != 1:
- self.app.plot_all()
+ self.app.plot_all(use_thread=threaded)
diff --git a/tclCommands/TclCommandPlotObjects.py b/tclCommands/TclCommandPlotObjects.py
index bc3978a3..8a26e36c 100644
--- a/tclCommands/TclCommandPlotObjects.py
+++ b/tclCommands/TclCommandPlotObjects.py
@@ -21,6 +21,8 @@ class TclCommandPlotObjects(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['plot_objects']
+ description = '%s %s' % ("--", "Plot a specified list of objects in GUI.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('names', str)
@@ -28,19 +30,21 @@ class TclCommandPlotObjects(TclCommand):
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
option_types = collections.OrderedDict([
-
+ ('plot_status', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
- required = []
+ required = ['names']
# structured help for current command, args needs to be ordered
help = {
- 'main': "Plot a list of objects.",
+ 'main': "Plot a specified list of objects in GUI.",
'args': collections.OrderedDict([
- ('names', "UA list of object names to be plotted.")
+ ('names', "A list of object names to be plotted separated by comma. Required.\n"
+ "WARNING: no spaces are allowed. If unsure enclose the entire list with quotes."),
+ ('plot_status', 'If to display or not the objects: True (1) or False (0).')
]),
- 'examples': ["plot_objects"]
+ 'examples': ["plot_objects gerber_obj.GRB,excellon_obj.DRL"]
}
def execute(self, args, unnamed_args):
@@ -50,11 +54,22 @@ class TclCommandPlotObjects(TclCommand):
:param unnamed_args:
:return:
"""
+
+ if 'plot_status' in args:
+ if args['plot_status'] is None:
+ plot_status = True
+ else:
+ plot_status = bool(eval(args['plot_status']))
+ else:
+ plot_status = True
+
if self.app.cmd_line_headless != 1:
- names = [x.strip() for x in args['names'].split(",")]
+ names = [x.strip() for x in args['names'].split(",") if x != '']
objs = []
for name in names:
- objs.append(self.app.collection.get_by_name(name))
+ obj= self.app.collection.get_by_name(name)
+ obj.options["plot"] = True if plot_status is True else False
+ objs.append(obj)
for obj in objs:
obj.plot()
diff --git a/tclCommands/TclCommandQuit.py b/tclCommands/TclCommandQuit.py
index e0470bdb..34e5f687 100644
--- a/tclCommands/TclCommandQuit.py
+++ b/tclCommands/TclCommandQuit.py
@@ -21,6 +21,8 @@ class TclCommandQuit(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['quit_flatcam']
+ description = '%s %s' % ("--", "Tcl shell command to quit FlatCAM from Tcl shell.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
diff --git a/tclCommands/TclCommandSaveProject.py b/tclCommands/TclCommandSaveProject.py
index 9eaa1bbe..049d7e74 100644
--- a/tclCommands/TclCommandSaveProject.py
+++ b/tclCommands/TclCommandSaveProject.py
@@ -11,6 +11,8 @@ class TclCommandSaveProject(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['save_project']
+ description = '%s %s' % ("--", "Saves the FlatCAM project to file.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -30,9 +32,12 @@ class TclCommandSaveProject(TclCommandSignaled):
help = {
'main': "Saves the FlatCAM project to file.",
'args': collections.OrderedDict([
- ('filename', 'Path to file.'),
+ ('filename', 'Absolute path to file to save. Required.\n'
+ 'WARNING: no spaces are allowed. If unsure enclose the entire path with quotes.'),
]),
- 'examples': []
+ 'examples': ['save_project D:\\my_project_file.FlatPrj',
+ 'save_project "D:\\my_project_file with spaces in the name.FlatPrj"',
+ 'save_project path_to_where_the_file_is_stored']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandSaveSys.py b/tclCommands/TclCommandSaveSys.py
index 9b18ba80..137ca8e7 100644
--- a/tclCommands/TclCommandSaveSys.py
+++ b/tclCommands/TclCommandSaveSys.py
@@ -16,6 +16,8 @@ class TclCommandSaveSys(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['save_sys', 'save']
+ description = '%s %s' % ("--", "Saves the FlatCAM system parameters to defaults file.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -33,9 +35,9 @@ class TclCommandSaveSys(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Saves the FlatCAM system paramaters to defaults file.",
+ 'main': "Saves the FlatCAM system parameters to defaults file.",
'args': collections.OrderedDict([]),
- 'examples': []
+ 'examples': ['save_sys']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandScale.py b/tclCommands/TclCommandScale.py
index 8f68ee92..ac790842 100644
--- a/tclCommands/TclCommandScale.py
+++ b/tclCommands/TclCommandScale.py
@@ -25,6 +25,8 @@ class TclCommandScale(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['scale']
+ description = '%s %s' % ("--", "Will scale the geometry of a named object. Does not create a new object.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -45,18 +47,22 @@ class TclCommandScale(TclCommand):
help = {
'main': "Resizes the object by a factor on X axis and a factor on Y axis, having as scale origin the point ",
'args': collections.OrderedDict([
- ('name', 'Name of the object to resize.'),
- ('factor', 'Fraction by which to scale on both axis. '),
+ ('name', 'Name of the object (Gerber, Geometry or Excellon) to be resized. Required.'),
+ ('factor', 'Fraction by which to scale on both axis.'),
('x', 'Fraction by which to scale on X axis. If "factor" is used then this parameter is ignored'),
('y', 'Fraction by which to scale on Y axis. If "factor" is used then this parameter is ignored'),
- ('origin', 'Reference used for scale. It can be: "origin" which means point (0, 0) or "min_bounds" which '
- 'means the lower left point of the bounding box or it can be "center" which means the center '
- 'of the bounding box.')
+ ('origin', 'Reference used for scale.\n'
+ 'The reference point can be:\n'
+ '- "origin" which means point (0, 0)\n'
+ '- "min_bounds" which means the lower left point of the bounding box\n'
+ '- "center" which means the center point of the bounding box of the object.\n'
+ '- a tuple in format (x,y) with the X and Y coordinates separated by a comma. NO SPACES ALLOWED')
]),
'examples': ['scale my_geometry 4.2',
'scale my_geo -x 3.1 -y 2.8',
- 'scale my_geo 1.2 -origin min_bounds']
+ 'scale my_geo 1.2 -origin min_bounds',
+ 'scale my_geometry -x 2 -origin 3.0,2.1']
}
def execute(self, args, unnamed_args):
@@ -92,8 +98,17 @@ class TclCommandScale(TclCommand):
c_y = ymin + (ymax - ymin) / 2
point = (c_x, c_y)
else:
- self.raise_tcl_error('%s' % _("Expected -origin or -origin or -origin ."))
- return 'fail'
+ try:
+ point = eval(args['origin'])
+ if not isinstance(point, tuple):
+ raise Exception
+ except Exception as e:
+ self.raise_tcl_error('%s\n%s' % (_("Expected -origin or "
+ "-origin or "
+ "-origin or "
+ "- origin 3.0,4.2."), str(e))
+ )
+ return 'fail'
if 'factor' in args:
factor = float(args['factor'])
diff --git a/tclCommands/TclCommandSetActive.py b/tclCommands/TclCommandSetActive.py
index 2c51b72c..6dfecd00 100644
--- a/tclCommands/TclCommandSetActive.py
+++ b/tclCommands/TclCommandSetActive.py
@@ -14,6 +14,8 @@ class TclCommandSetActive(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['set_active']
+ description = '%s %s' % ("--", "Sets a FlatCAM object as active (selected).")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -29,11 +31,11 @@ class TclCommandSetActive(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': 'Sets an object as active.',
+ 'main': 'Sets a FlatCAM object as active (selected).',
'args': collections.OrderedDict([
- ('name', 'Name of the Object.'),
+ ('name', 'Name of the FlatCAM object to be set as active (selected). Required.'),
]),
- 'examples': []
+ 'examples': ['set_active object_name']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandSetOrigin.py b/tclCommands/TclCommandSetOrigin.py
index 27f883ce..e801fd13 100644
--- a/tclCommands/TclCommandSetOrigin.py
+++ b/tclCommands/TclCommandSetOrigin.py
@@ -34,6 +34,8 @@ class TclCommandSetOrigin(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['set_origin', 'origin']
+ description = '%s %s' % ("--", "Set the origin at the specified x,y location.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('loc', str)
@@ -41,7 +43,7 @@ class TclCommandSetOrigin(TclCommand):
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
option_types = collections.OrderedDict([
- ('auto', bool)
+ ('auto', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -49,13 +51,15 @@ class TclCommandSetOrigin(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Will set the origin at the specified x,y location.",
+ 'main': "Will set the origin at the specified x,y location.\n"
+ "If it is called without arguments it will set origin at (0, 0)",
'args': collections.OrderedDict([
- ('loc', 'Location to offset all the selected objects. No spaces between x and y pair. Use like this: 2,3'),
+ ('loc', 'Location to offset all the selected objects. NO SPACES ALLOWED in X and Y pair.\n'
+ 'Use like this: 2,3'),
('auto', 'If set to True it will set the origin to the minimum x, y of the object selection bounding box.'
- '-auto=True is not correct but -auto 1 or -auto True is correct.')
+ '-auto=True is not correct but -auto 1 or -auto True is correct. True (1) or False (0).')
]),
- 'examples': ['set_origin 3,2', 'set_origin -auto 1']
+ 'examples': ['set_origin 3,2', 'set_origin -auto 1', 'origin']
}
def execute(self, args, unnamed_args):
@@ -66,7 +70,7 @@ class TclCommandSetOrigin(TclCommand):
:return:
"""
- loc = list()
+ loc = []
if 'auto' in args:
if bool(args['auto']) is True:
objs = self.app.collection.get_list()
diff --git a/tclCommands/TclCommandSetSys.py b/tclCommands/TclCommandSetSys.py
index 9d477e27..8ef911bd 100644
--- a/tclCommands/TclCommandSetSys.py
+++ b/tclCommands/TclCommandSetSys.py
@@ -14,6 +14,8 @@ class TclCommandSetSys(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['set_sys', 'setsys']
+ description = '%s %s' % ("--", "Sets the value of the specified system variable.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
@@ -30,12 +32,12 @@ class TclCommandSetSys(TclCommand):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Sets the value of the system variable.",
+ 'main': "Sets the value of the specified system variable.",
'args': collections.OrderedDict([
- ('name', 'Name of the system variable.'),
+ ('name', 'Name of the system variable. Required.'),
('value', 'Value to set.')
]),
- 'examples': []
+ 'examples': ['set_sys global_gridx 1.0']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandSkew.py b/tclCommands/TclCommandSkew.py
index 60902b10..b181d9a2 100644
--- a/tclCommands/TclCommandSkew.py
+++ b/tclCommands/TclCommandSkew.py
@@ -14,31 +14,32 @@ class TclCommandSkew(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['skew']
+ description = '%s %s' % ("--", "Will deform (skew) the geometry of a named object. Does not create a new object.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
('name', str),
- ('angle_x', float),
- ('angle_y', float)
])
# Dictionary of types from Tcl command, needs to be ordered , this is for options like -optionname value
option_types = collections.OrderedDict([
-
+ ('x', float),
+ ('y', float)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
- required = ['name', 'angle_x', 'angle_y']
+ required = ['name']
# structured help for current command, args needs to be ordered
help = {
- 'main': "Shear/Skew an object by angles along x and y dimensions. The reference point is the left corner of "
+ 'main': "Shear/Skew an object along x and y dimensions. The reference point is the left corner of "
"the bounding box of the object.",
'args': collections.OrderedDict([
- ('name', 'Name of the object to skew.'),
- ('angle_x', 'Angle in degrees by which to skew on the X axis.'),
- ('angle_y', 'Angle in degrees by which to skew on the Y axis.')
+ ('name', 'Name of the object (Gerber, Geometry or Excellon) to be deformed (skewed). Required.'),
+ ('x', 'Angle in degrees by which to skew on the X axis. If it is not used it will be assumed to be 0.0'),
+ ('y', 'Angle in degrees by which to skew on the Y axis. If it is not used it will be assumed to be 0.0')
]),
- 'examples': ['skew my_geometry 10.2 3.5']
+ 'examples': ['skew my_geometry -x 10.2 -y 3.5', 'skew my_geo -x 3.0']
}
def execute(self, args, unnamed_args):
@@ -50,8 +51,20 @@ class TclCommandSkew(TclCommand):
"""
name = args['name']
- angle_x = float(args['angle_x'])
- angle_y = float(args['angle_y'])
+
+ if 'x' in args:
+ angle_x = float(args['x'])
+ else:
+ angle_x = 0.0
+
+ if 'y' in args:
+ angle_y = float(args['y'])
+ else:
+ angle_y = 0.0
+
+ if angle_x == 0.0 and angle_y == 0.0:
+ # nothing to be done
+ return
obj_to_skew = self.app.collection.get_by_name(name)
xmin, ymin, xmax, ymax = obj_to_skew.bounds()
diff --git a/tclCommands/TclCommandSubtractPoly.py b/tclCommands/TclCommandSubtractPoly.py
index f5b08fd1..74020f24 100644
--- a/tclCommands/TclCommandSubtractPoly.py
+++ b/tclCommands/TclCommandSubtractPoly.py
@@ -11,6 +11,9 @@ class TclCommandSubtractPoly(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['subtract_poly']
+ description = '%s %s' % ("--", "Subtract polygon from the given Geometry object. "
+ "The coordinates are provided in X Y pairs.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -28,12 +31,14 @@ class TclCommandSubtractPoly(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Subtract polygon from the given Geometry object.",
+ 'main': "Subtract polygon from the given Geometry object. The coordinates are provided in X Y pairs.\n"
+ "If the number of coordinates is not even then the 'Incomplete coordinate' error is raised.\n"
+ "If last coordinates are not the same as the first ones, the polygon will be completed automatically.",
'args': collections.OrderedDict([
- ('name', 'Name of the Geometry object from which to subtract.'),
+ ('name', 'Name of the Geometry object from which to subtract. Required.'),
('x0 y0 x1 y1 x2 y2 ...', 'Points defining the polygon.')
]),
- 'examples': []
+ 'examples': ['subtract_poly my_geo 0 0 2 1 3 3 4 4 0 0']
}
def execute(self, args, unnamed_args):
diff --git a/tclCommands/TclCommandSubtractRectangle.py b/tclCommands/TclCommandSubtractRectangle.py
index 53f99bf6..b50a2467 100644
--- a/tclCommands/TclCommandSubtractRectangle.py
+++ b/tclCommands/TclCommandSubtractRectangle.py
@@ -19,6 +19,9 @@ class TclCommandSubtractRectangle(TclCommandSignaled):
# array of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['subtract_rectangle']
+ description = '%s %s' % ("--", "Subtract a rectangle from the given Geometry object. "
+ "The coordinates are provided in X Y pairs.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -36,9 +39,10 @@ class TclCommandSubtractRectangle(TclCommandSignaled):
# structured help for current command, args needs to be ordered
help = {
- 'main': "Subtract rectange from the given Geometry object.",
+ 'main': "Subtract a rectangle from the given Geometry object. The coordinates are provided in X Y pairs.\n"
+ "If the number of coordinates is not even then the 'Incomplete coordinates' error is raised.",
'args': collections.OrderedDict([
- ('name', 'Name of the Geometry object from which to subtract.'),
+ ('name', 'Name of the Geometry object from which to subtract. Required.'),
('x0 y0', 'Bottom left corner coordinates.'),
('x1 y1', 'Top right corner coordinates.')
]),
diff --git a/tclCommands/TclCommandVersion.py b/tclCommands/TclCommandVersion.py
index 86dcc24a..e5653dad 100644
--- a/tclCommands/TclCommandVersion.py
+++ b/tclCommands/TclCommandVersion.py
@@ -14,6 +14,8 @@ class TclCommandVersion(TclCommand):
# List of all command aliases, to be able use old names for backward compatibility (add_poly, add_polygon)
aliases = ['version']
+ description = '%s %s' % ("--", "Checks the program version.")
+
# Dictionary of types from Tcl command, needs to be ordered
arg_names = collections.OrderedDict([
diff --git a/tclCommands/TclCommandWriteGCode.py b/tclCommands/TclCommandWriteGCode.py
index 7125706e..85b83627 100644
--- a/tclCommands/TclCommandWriteGCode.py
+++ b/tclCommands/TclCommandWriteGCode.py
@@ -12,6 +12,8 @@ class TclCommandWriteGCode(TclCommandSignaled):
# old names for backward compatibility (add_poly, add_polygon)
aliases = ['write_gcode']
+ description = '%s %s' % ("--", "Saves G-code of a CNC Job object to file.")
+
# Dictionary of types from Tcl command, needs to be ordered.
# For positional arguments
arg_names = collections.OrderedDict([
@@ -24,7 +26,7 @@ class TclCommandWriteGCode(TclCommandSignaled):
option_types = collections.OrderedDict([
('preamble', str),
('postamble', str),
- ('muted', int)
+ ('muted', str)
])
# array of mandatory options for current Tcl command: required = {'name','outname'}
@@ -34,11 +36,11 @@ class TclCommandWriteGCode(TclCommandSignaled):
help = {
'main': "Saves G-code of a CNC Job object to file.",
'args': collections.OrderedDict([
- ('name', 'Source CNC Job object.'),
- ('filename', 'Output filename.'),
+ ('name', 'Source CNC Job object. Required.'),
+ ('filename', 'Output filename. Required.'),
('preamble', 'Text to append at the beginning.'),
('postamble', 'Text to append at the end.'),
- ('muted', 'It will not put errors in the Shell or status bar.')
+ ('muted', 'It will not put errors in the Shell or status bar. True (1) or False (0)')
]),
'examples': ["write_gcode name c:\\\\gcode_repo"]
@@ -67,11 +69,15 @@ class TclCommandWriteGCode(TclCommandSignaled):
postamble = args['postamble'] if 'postamble' in args else ''
if 'muted' in args:
- muted = args['muted']
+ try:
+ par = args['muted'].capitalize()
+ except AttributeError:
+ par = args['muted']
+ muted = bool(eval(par))
else:
- muted = 0
+ muted = False
- # TODO: This is not needed any more? All targets should be present.
+ # This is not needed any more? All targets should be present.
# If there are promised objects, wait until all promises have been fulfilled.
# if self.collection.has_promises():
# def write_gcode_on_object(new_object):
@@ -91,7 +97,7 @@ class TclCommandWriteGCode(TclCommandSignaled):
try:
obj = self.app.collection.get_by_name(str(obj_name))
except Exception:
- if muted == 0:
+ if muted is False:
return "Could not retrieve object: %s" % obj_name
else:
return "fail"
@@ -99,7 +105,7 @@ class TclCommandWriteGCode(TclCommandSignaled):
try:
obj.export_gcode(str(filename), str(preamble), str(postamble))
except Exception as e:
- if not muted:
+ if muted is False:
return "Operation failed: %s" % str(e)
else:
return
diff --git a/tclCommands/__init__.py b/tclCommands/__init__.py
index a143eb30..b4a8d324 100644
--- a/tclCommands/__init__.py
+++ b/tclCommands/__init__.py
@@ -1,7 +1,6 @@
import pkgutil
import sys
-# Todo: I think these imports are not needed.
# allowed command modules (please append them alphabetically ordered)
import tclCommands.TclCommandAddCircle
import tclCommands.TclCommandAddPolygon
@@ -27,6 +26,7 @@ import tclCommands.TclCommandGeoCutout
import tclCommands.TclCommandGeoUnion
import tclCommands.TclCommandGetNames
import tclCommands.TclCommandGetSys
+import tclCommands.TclCommandHelp
import tclCommands.TclCommandImportSvg
import tclCommands.TclCommandInteriors
import tclCommands.TclCommandIsolate
@@ -99,7 +99,12 @@ def register_all_commands(app, commands):
command_instance = class_type(app)
for alias in command_instance.aliases:
+ try:
+ description = command_instance.description
+ except AttributeError:
+ description = ''
commands[alias] = {
'fcn': command_instance.execute_wrapper,
- 'help': command_instance.get_decorated_help()
+ 'help': command_instance.get_decorated_help(),
+ 'description': description
}