Просмотр исходного кода

Merged in marius_stanciu/flatcam_beta/Beta (pull request #229)

Beta
Marius Stanciu 6 лет назад
Родитель
Сommit
a264d04a24

+ 20 - 12
FlatCAMApp.py

@@ -4377,18 +4377,21 @@ class App(QtCore.QObject):
                 self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Brasilian - Portuguese"), 1, 0)
                 self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Carlos Stein"), 1, 1)
                 self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "),  1, 2)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "German"), 2, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "French"), 2, 0)
                 self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu (Google-Translation)"), 2, 1)
                 self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 2, 2)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Romanian"), 3, 0)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu"), 3, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "German"), 3, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu (Google-Translation)"), 3, 1)
                 self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 3, 2)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Russian"), 4, 0)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Andrey Kultyapov"), 4, 1)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "<camellan@yandex.ru>"), 4, 2)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Spanish"), 5, 0)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu (Google-Translation)"), 5, 1)
-                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 5, 2)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Romanian"), 4, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu"), 4, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 4, 2)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Russian"), 5, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Andrey Kultyapov"), 5, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "<camellan@yandex.ru>"), 5, 2)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Spanish"), 6, 0)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % "Marius Stanciu (Google-Translation)"), 6, 1)
+                self.translator_grid_lay.addWidget(QtWidgets.QLabel('%s' % " "), 6, 2)
                 self.translator_grid_lay.setColumnStretch(0, 0)
                 self.translators_tab_layout.addStretch()
 
@@ -5574,10 +5577,15 @@ class App(QtCore.QObject):
             # window drawn with OpenGL in fullscreen will not show any other windows on top which means that menus and
             # everything else will not work without this hack. This happen in Windows.
             # https://bugreports.qt.io/browse/QTBUG-41309
-            rec = QtWidgets.QApplication.desktop().screenGeometry()
+            desktop = QtWidgets.QApplication.desktop()
+            screen = desktop.screenNumber(QtGui.QCursor.pos())
+
+            rec = desktop.screenGeometry(screen)
+            x = rec.x() - 1
+            y = rec.y() - 1
             h = rec.height() + 2
             w = rec.width() + 2
-            self.ui.setGeometry(-1, -1, w, h)
+            self.ui.setGeometry(x, y, w, h)
             self.ui.show()
 
             for tb in self.ui.findChildren(QtWidgets.QToolBar):
@@ -9141,7 +9149,7 @@ class App(QtCore.QObject):
                         log.debug('App.on_fileopenscript() -->%s' % str(e))
                         if silent is False:
                             self.inform.emit('[ERROR] %s %s' %
-                                             (_('App.on_fileopenscript() -->'), str(e)))
+                                             ('App.on_fileopenscript() -->', str(e)))
                         return
 
                     self.ui.code_editor.moveCursor(QtGui.QTextCursor.Start)

+ 51 - 65
FlatCAMObj.py

@@ -608,9 +608,8 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
         self.ui.type_obj_combo.currentIndexChanged.connect(self.on_type_obj_index_changed)
         # Show/Hide Advanced Options
         if self.app.defaults["global_app_level"] == 'b':
-            self.ui.level.setText(_(
-                '<span style="color:green;"><b>%s</b></span>' % _('Basic')
-            ))
+            self.ui.level.setText('<span style="color:green;"><b>%s</b></span>' % _('Basic'))
+
             self.ui.apertures_table_label.hide()
             self.ui.aperture_table_visibility_cb.hide()
             self.ui.milling_type_label.hide()
@@ -621,9 +620,7 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
             self.ui.except_cb.setChecked(False)
             self.ui.except_cb.hide()
         else:
-            self.ui.level.setText(_(
-                '<span style="color:red;"><b>%s</b></span>' % _('Advanced')
-            ))
+            self.ui.level.setText('<span style="color:red;"><b>%s</b></span>' % _('Advanced'))
 
         if self.app.defaults["gerber_buffering"] == 'no':
             self.ui.create_buffer_button.show()
@@ -635,15 +632,6 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
         else:
             self.ui.create_buffer_button.hide()
 
-        # add the shapes storage for marking apertures
-        if self.app.is_legacy is False:
-            for ap_code in self.apertures:
-                self.mark_shapes[ap_code] = self.app.plotcanvas.new_shape_collection(layers=2)
-        else:
-            for ap_code in self.apertures:
-                self.mark_shapes[ap_code] = ShapeCollectionLegacy(obj=self, app=self.app,
-                                                                  name=self.options['name'] + str(ap_code))
-
         # set initial state of the aperture table and associated widgets
         self.on_aperture_table_visibility_change()
 
@@ -737,29 +725,6 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
 
             self.apertures_row += 1
 
-        # for ap_code in sorted_macros:
-        #     ap_code = str(ap_code)
-        #
-        #     ap_id_item = QtWidgets.QTableWidgetItem('%d' % int(self.apertures_row + 1))
-        #     ap_id_item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
-        #     self.ui.apertures_table.setItem(self.apertures_row, 0, ap_id_item)  # Tool name/id
-        #
-        #     ap_code_item = QtWidgets.QTableWidgetItem(ap_code)
-        #
-        #     ap_type_item = QtWidgets.QTableWidgetItem('AM')
-        #     ap_type_item.setFlags(QtCore.Qt.ItemIsEnabled)
-        #
-        #     mark_item = FCCheckBox()
-        #     mark_item.setLayoutDirection(QtCore.Qt.RightToLeft)
-        #     # if self.ui.aperture_table_visibility_cb.isChecked():
-        #     #     mark_item.setChecked(True)
-        #
-        #     self.ui.apertures_table.setItem(self.apertures_row, 1, ap_code_item)  # Aperture Code
-        #     self.ui.apertures_table.setItem(self.apertures_row, 2, ap_type_item)  # Aperture Type
-        #     self.ui.apertures_table.setCellWidget(self.apertures_row, 5, mark_item)
-        #
-        #     self.apertures_row += 1
-
         self.ui.apertures_table.selectColumn(0)
         self.ui.apertures_table.resizeColumnsToContents()
         self.ui.apertures_table.resizeRowsToContents()
@@ -799,8 +764,16 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
 
     def ui_connect(self):
         for row in range(self.ui.apertures_table.rowCount()):
+            try:
+                self.ui.apertures_table.cellWidget(row, 5).clicked.disconnect(self.on_mark_cb_click_table)
+            except (TypeError, AttributeError):
+                pass
             self.ui.apertures_table.cellWidget(row, 5).clicked.connect(self.on_mark_cb_click_table)
 
+        try:
+            self.ui.mark_all_cb.clicked.disconnect(self.on_mark_all_click)
+        except (TypeError, AttributeError):
+            pass
         self.ui.mark_all_cb.clicked.connect(self.on_mark_all_click)
 
     def ui_disconnect(self):
@@ -1280,6 +1253,15 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
 
     def on_aperture_table_visibility_change(self):
         if self.ui.aperture_table_visibility_cb.isChecked():
+            # add the shapes storage for marking apertures
+            if self.app.is_legacy is False:
+                for ap_code in self.apertures:
+                    self.mark_shapes[ap_code] = self.app.plotcanvas.new_shape_collection(layers=2)
+            else:
+                for ap_code in self.apertures:
+                    self.mark_shapes[ap_code] = ShapeCollectionLegacy(obj=self, app=self.app,
+                                                                      name=self.options['name'] + str(ap_code))
+
             self.ui.apertures_table.setVisible(True)
             for ap in self.mark_shapes:
                 self.mark_shapes[ap].enabled = True
@@ -1292,12 +1274,16 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
             self.ui.mark_all_cb.setVisible(False)
 
             # on hide disable all mark plots
-            for row in range(self.ui.apertures_table.rowCount()):
-                self.ui.apertures_table.cellWidget(row, 5).set_value(False)
-            self.clear_plot_apertures()
+            try:
+                for row in range(self.ui.apertures_table.rowCount()):
+                    self.ui.apertures_table.cellWidget(row, 5).set_value(False)
+                self.clear_plot_apertures()
 
-            for ap in self.mark_shapes:
-                self.mark_shapes[ap].enabled = False
+                for ap in list(self.mark_shapes.keys()):
+                    # self.mark_shapes[ap].enabled = False
+                    del self.mark_shapes[ap]
+            except Exception as e:
+                log.debug(" FlatCAMGerber.on_aperture_visibility_changed() --> %s" % str(e))
 
     def convert_units(self, units):
         """
@@ -1426,8 +1412,8 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
 
         # Does all the required setup and returns False
         # if the 'ptint' option is set to False.
-        if not FlatCAMObj.plot(self):
-            return
+        # if not FlatCAMObj.plot(self):
+        #     return
 
         # for marking apertures, line color and fill color are the same
         if 'color' in kwargs:
@@ -1469,7 +1455,7 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
                 except (ObjectDeleted, AttributeError):
                     self.clear_plot_apertures()
                 except Exception as e:
-                    print(str(e))
+                    log.debug("FlatCAMGerber.plot_aperture() --> %s" % str(e))
 
             if run_thread:
                 self.app.worker_task.emit({'fcn': job_thread, 'params': [self]})
@@ -1482,11 +1468,18 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
         :param aperture: string; aperture for which to clear the mark shapes
         :return:
         """
-        if aperture == 'all':
-            for apid in self.apertures:
-                self.mark_shapes[apid].clear(update=True)
-        else:
-            self.mark_shapes[aperture].clear(update=True)
+        try:
+            if aperture == 'all':
+                for apid in list(self.apertures.keys()):
+                    if self.app.is_legacy is True:
+                        self.mark_shapes[apid].clear(update=False)
+                    else:
+                        self.mark_shapes[apid].clear(update=True)
+
+            else:
+                self.mark_shapes[aperture].clear(update=True)
+        except Exception as e:
+            log.debug("FlatCAMGerber.clear_plot_apertures() --> %s" % str(e))
 
     def clear_mark_all(self):
         self.ui.mark_all_cb.set_value(False)
@@ -1563,6 +1556,7 @@ class FlatCAMGerber(FlatCAMObj, Gerber):
             self.app.ui.grid_snap_btn.trigger()
         else:
             self.clear_plot_apertures()
+            self.marked_rows[:] = []
 
         self.ui_connect()
 
@@ -2361,9 +2355,7 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
 
         # Show/Hide Advanced Options
         if self.app.defaults["global_app_level"] == 'b':
-            self.ui.level.setText(_(
-                '<span style="color:green;"><b>%s</b></span>' % _('Basic')
-            ))
+            self.ui.level.setText('<span style="color:green;"><b>%s</b></span>' % _('Basic'))
 
             self.ui.tools_table.setColumnHidden(4, True)
             self.ui.estartz_label.hide()
@@ -2375,9 +2367,7 @@ class FlatCAMExcellon(FlatCAMObj, Excellon):
             self.ui.feedrate_probe_label.hide()
             self.ui.feedrate_probe_entry.hide()
         else:
-            self.ui.level.setText(_(
-                '<span style="color:red;"><b>%s</b></span>' % _('Advanced')
-            ))
+            self.ui.level.setText('<span style="color:red;"><b>%s</b></span>' % _('Advanced'))
 
         assert isinstance(self.ui, ExcellonObjectUI), \
             "Expected a ExcellonObjectUI, got %s" % type(self.ui)
@@ -3639,9 +3629,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
 
         # Show/Hide Advanced Options
         if self.app.defaults["global_app_level"] == 'b':
-            self.ui.level.setText(_(
-                '<span style="color:green;"><b>%s</b></span>' % _('Basic')
-            ))
+            self.ui.level.setText('<span style="color:green;"><b>%s</b></span>' % _('Basic'))
 
             self.ui.geo_tools_table.setColumnHidden(2, True)
             self.ui.geo_tools_table.setColumnHidden(3, True)
@@ -3661,9 +3649,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
             self.ui.feedrate_probe_label.hide()
             self.ui.feedrate_probe_entry.hide()
         else:
-            self.ui.level.setText(_(
-                '<span style="color:red;"><b>%s</b></span>' % _('Advanced')
-            ))
+            self.ui.level.setText('<span style="color:red;"><b>%s</b></span>' % _('Advanced'))
         self.ui.plot_cb.stateChanged.connect(self.on_plot_cb_click)
         self.ui.generate_cnc_button.clicked.connect(self.on_generatecnc_button_click)
         self.ui.paint_tool_button.clicked.connect(lambda: self.app.paint_tool.run(toggle=False))
@@ -4601,7 +4587,7 @@ class FlatCAMGeometry(FlatCAMObj, Geometry):
             log.debug("FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() --> %s\n" % str(e))
 
             msg = '[ERROR] %s' % _("An internal error has occurred. See shell.\n")
-            msg += '%s %s' % (_('FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() -->'), str(e))
+            msg += '%s %s' % ('FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() -->', str(e))
             msg += traceback.format_exc()
             self.app.inform.emit(msg)
             return
@@ -5904,7 +5890,7 @@ class FlatCAMCNCjob(FlatCAMObj, CNCjob):
         except Exception as e:
             log.debug('FlatCAMCNNJob.on_edit_code_click() -->%s' % str(e))
             self.app.inform.emit('[ERROR] %s %s' %
-                                 (_('FlatCAMCNNJob.on_edit_code_click() -->'), str(e)))
+                                 ('FlatCAMCNNJob.on_edit_code_click() -->', str(e)))
             return
 
         self.app.ui.code_editor.moveCursor(QtGui.QTextCursor.Start)

+ 13 - 0
README.md

@@ -9,6 +9,14 @@ CAD program, and create G-Code for Isolation routing.
 
 =================================================
 
+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
+
 23.09.2019
 
 - in legacy graphic engine, fixed bug that made the old object disappear when a new object was loaded
@@ -20,6 +28,11 @@ CAD program, and create G-Code for Isolation routing.
 - 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
 

+ 5 - 1
flatcamGUI/FlatCAMGUI.py

@@ -2266,6 +2266,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
         active = self.app.collection.get_active()
         selected = self.app.collection.get_selected()
 
+        matplotlib_key_flag = False
+
         # events out of the self.app.collection view (it's about Project Tab) are of type int
         if type(event) is int:
             key = event
@@ -2273,6 +2275,8 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
         elif type(event) == QtGui.QKeyEvent:
             key = event.key()
         elif isinstance(event, mpl_key_event):  # MatPlotLib key events are trickier to interpret than the rest
+            matplotlib_key_flag = True
+
             key = event.key
             key = QtGui.QKeySequence(key)
 
@@ -2491,7 +2495,7 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
                 # Delete from PyQt
                 # It's meant to make a difference between delete objects and delete tools in
                 # Geometry Selected tool table
-                if key == QtCore.Qt.Key_Delete:
+                if key == QtCore.Qt.Key_Delete and matplotlib_key_flag is False:
                     self.app.on_delete_keypress()
 
                 # Delete from canvas

+ 97 - 12
flatcamGUI/PlotCanvasLegacy.py

@@ -8,12 +8,13 @@
 ############################################################
 
 from PyQt5 import QtGui, QtCore, QtWidgets
+from PyQt5.QtCore import pyqtSignal
 
 # Prevent conflict with Qt5 and above.
 from matplotlib import use as mpl_use
 mpl_use("Qt5Agg")
 from matplotlib.figure import Figure
-from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
+from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg
 from matplotlib.backends.backend_agg import FigureCanvasAgg
 from matplotlib.widgets import Cursor
 
@@ -26,6 +27,7 @@ from shapely.geometry import Polygon, LineString, LinearRing, Point, MultiPolygo
 import FlatCAMApp
 from copy import deepcopy
 import logging
+import traceback
 
 import gettext
 import FlatCAMTranslation as fcTranslate
@@ -113,6 +115,33 @@ class CanvasCache(QtCore.QObject):
     #     log.debug("A new object is available. Should plot it!")
 
 
+class FigureCanvas(FigureCanvasQTAgg):
+    """
+    Reimplemented this so I can emit a signal when the idle drawing is finished and display the mouse shape
+    """
+
+    idle_drawing_finished = pyqtSignal()
+
+    def __init__(self, figure):
+        super().__init__(figure=figure)
+
+    def _draw_idle(self):
+        if self.height() < 0 or self.width() < 0:
+            self._draw_pending = False
+        if not self._draw_pending:
+            return
+        try:
+            self.draw()
+        except Exception:
+            # Uncaught exceptions are fatal for PyQt5, so catch them instead.
+            traceback.print_exc()
+        finally:
+            self._draw_pending = False
+
+            # I reimplemented this class only to launch this signal
+            self.idle_drawing_finished.emit()
+
+
 class PlotCanvasLegacy(QtCore.QObject):
     """
     Class handling the plotting area in the application.
@@ -209,6 +238,9 @@ class PlotCanvasLegacy(QtCore.QObject):
         # signal if there is a doubleclick
         self.is_dblclk = False
 
+        # pay attention, this signal should be connected only after the self.canvas and self.mouse is declared
+        self.canvas.idle_drawing_finished.connect(lambda: self.draw_cursor(x_pos=self.mouse[0], y_pos=self.mouse[1]))
+
     def graph_event_connect(self, event_name, callback):
         """
         Attach an event handler to the canvas through the Matplotlib interface.
@@ -256,9 +288,20 @@ class PlotCanvasLegacy(QtCore.QObject):
         #     c = MplCursor(axes=axes, color='black', linewidth=1)
 
         c = FakeCursor()
-
+        try:
+            c.mouse_state_updated.connect(self.clear_cursor)
+        except Exception as e:
+            print(str(e))
         return c
 
+    def clear_cursor(self, state):
+
+        if state is True:
+            self.draw_cursor(x_pos=self.mouse[0], y_pos=self.mouse[1])
+        else:
+            self.canvas.restore_region(self.background)
+            self.canvas.blit(self.axes.bbox)
+
     def on_key_down(self, event):
         """
 
@@ -418,6 +461,7 @@ class PlotCanvasLegacy(QtCore.QObject):
 
         xmin, xmax = self.axes.get_xlim()
         ymin, ymax = self.axes.get_ylim()
+
         width = xmax - xmin
         height = ymax - ymin
 
@@ -475,6 +519,18 @@ class PlotCanvasLegacy(QtCore.QObject):
 
         return self.figure.add_axes([0.05, 0.05, 0.9, 0.9], label=name)
 
+    def remove_current_axes(self):
+        """
+
+        :return: The name of the deleted axes
+        """
+
+        axes_to_remove = self.figure.axes.gca()
+        current_axes_name = deepcopy(axes_to_remove._label)
+        self.figure.axes.remove(axes_to_remove)
+
+        return current_axes_name
+
     def on_scroll(self, event):
         """
         Scroll event handler.
@@ -558,9 +614,12 @@ class PlotCanvasLegacy(QtCore.QObject):
             # Clear pan flag
             self.panning = False
 
+            # And update the cursor
+            self.draw_cursor(x_pos=self.mouse[0], y_pos=self.mouse[1])
+
     def on_mouse_move(self, event):
         """
-        Mouse movement event hadler. Stores the coordinates. Updates view on pan.
+        Mouse movement event handler. Stores the coordinates. Updates view on pan.
 
         :param event: Contains information about the event.
         :return: None
@@ -578,23 +637,44 @@ class PlotCanvasLegacy(QtCore.QObject):
 
         # Update pan view on mouse move
         if self.panning is True:
-            # x_pan, y_pan = self.app.geo_editor.snap(event.xdata, event.ydata)
-            # self.app.app_cursor.set_data(event, (x_pan, y_pan))
             for a in self.pan_axes:
                 a.drag_pan(1, event.key, event.x, event.y)
 
+            # x_pan, y_pan = self.app.geo_editor.snap(event.xdata, event.ydata)
+            # self.draw_cursor(x_pos=x_pan, y_pos=y_pan)
+
             # Async re-draw (redraws only on thread idle state, uses timer on backend)
             self.canvas.draw_idle()
 
             # #### Temporary place-holder for cached update #####
             self.update_screen_request.emit([0, 0, 0, 0, 0])
 
-        x, y = self.app.geo_editor.snap(x, y)
-        if self.app.app_cursor.enabled is True:
-            # Pointer (snapped)
-            elements = self.axes.plot(x, y, 'k+', ms=40, mew=2, animated=True)
-            for el in elements:
-                self.axes.draw_artist(el)
+        self.draw_cursor(x_pos=x, y_pos=y)
+
+        # self.canvas.blit(self.axes.bbox)
+
+    def draw_cursor(self, x_pos, y_pos):
+        """
+        Draw a cursor at the mouse grid snapped position
+
+        :param x_pos: mouse x position
+        :param y_pos: mouse y position
+        :return:
+        """
+        # there is no point in drawing mouse cursor when panning as it jumps in a confusing way
+        if self.app.app_cursor.enabled is True and self.panning is False:
+            try:
+                x, y = self.app.geo_editor.snap(x_pos, y_pos)
+
+                # Pointer (snapped)
+                elements = self.axes.plot(x, y, 'k+', ms=40, mew=2, animated=True)
+                for el in elements:
+                    self.axes.draw_artist(el)
+            except Exception as e:
+                # this happen at app initialization since self.app.geo_editor does not exist yet
+                # I could reshuffle the object instantiating order but what's the point? I could crash something else
+                # and that's pythonic, too
+                pass
 
         self.canvas.blit(self.axes.bbox)
 
@@ -643,13 +723,17 @@ class PlotCanvasLegacy(QtCore.QObject):
         return width / xpx, height / ypx
 
 
-class FakeCursor:
+class FakeCursor(QtCore.QObject):
     """
     This is a fake cursor to ensure compatibility with the OpenGL engine (VisPy).
     This way I don't have to chane (disable) things related to the cursor all over when
     using the low performance Matplotlib 2D graphic engine.
     """
+
+    mouse_state_updated = pyqtSignal(bool)
+
     def __init__(self):
+        super().__init__()
         self._enabled = True
 
     @property
@@ -659,6 +743,7 @@ class FakeCursor:
     @enabled.setter
     def enabled(self, value):
         self._enabled = value
+        self.mouse_state_updated.emit(value)
 
     def set_data(self, pos, **kwargs):
         """Internal event handler to draw the cursor when the mouse moves."""

+ 4 - 1
flatcamTools/ToolMove.py

@@ -153,6 +153,9 @@ class ToolMove(FlatCAMTool):
                                     return "fail"
 
                                 for sel_obj in obj_list:
+                                    # if the Gerber mark shapes are enabled they need to be disabled before move
+                                    if isinstance(sel_obj, FlatCAMGerber):
+                                        sel_obj.ui.aperture_table_visibility_cb.setChecked(False)
 
                                     # offset solid_geometry
                                     sel_obj.offset((dx, dy))
@@ -312,7 +315,7 @@ class ToolMove(FlatCAMTool):
         # face = Color('blue')
         # face.alpha = 0.2
 
-        face = '#0000FFAF' + str(hex(int(0.2 * 255)))[2:]
+        face = '#0000FF' + str(hex(int(0.2 * 255)))[2:]
         outline = '#0000FFAF'
 
         self.sel_shapes.add(proc_shape, color=outline, face_color=face, update=True, layer=0, tolerance=None)

BIN
locale/de/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 187 - 191
locale/de/LC_MESSAGES/strings.po


BIN
locale/en/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 207 - 211
locale/en/LC_MESSAGES/strings.po


BIN
locale/es/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 187 - 191
locale/es/LC_MESSAGES/strings.po


BIN
locale/fr/LC_MESSAGES/strings.mo


+ 11754 - 0
locale/fr/LC_MESSAGES/strings.po

@@ -0,0 +1,11754 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR ORGANIZATION
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2019-09-23 19:12+0300\n"
+"PO-Revision-Date: 2019-09-23 20:16+0300\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"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"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Poedit-Basepath: ../../..\n"
+"X-Poedit-SearchPath-0: .\n"
+"X-Poedit-SearchPathExcluded-0: build\n"
+"X-Poedit-SearchPathExcluded-1: doc\n"
+"X-Poedit-SearchPathExcluded-2: tests\n"
+
+#: FlatCAMApp.py:405
+msgid "FlatCAM is initializing ..."
+msgstr "FlatCAM est en cours d'initialisation ..."
+
+#: FlatCAMApp.py:1229
+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:1616
+msgid ""
+"FlatCAM is initializing ...\n"
+"Canvas initialization started."
+msgstr ""
+"FlatCAM est en cours d'initialisation ...\n"
+"L'initialisation de la toile a commencé."
+
+#: FlatCAMApp.py:1632
+msgid ""
+"FlatCAM is initializing ...\n"
+"Canvas initialization started.\n"
+"Canvas initialization finished in"
+msgstr ""
+"FlatCAM est en cours d'initialisation ...\n"
+"L'initialisation de la toile a commencé.\n"
+"Initialisation de la toile terminée en"
+
+#: FlatCAMApp.py:1839
+msgid "Detachable Tabs"
+msgstr "Onglets détachables"
+
+#: FlatCAMApp.py:2334
+msgid ""
+"Open Source Software - Type help to get started\n"
+"\n"
+msgstr ""
+"Logiciel Open Source - Tapez help pour commencer\n"
+"\n"
+
+#: FlatCAMApp.py:2545 FlatCAMApp.py:8357
+msgid "New Project - Not saved"
+msgstr "Nouveau projet - Non enregistré"
+
+#: FlatCAMApp.py:2618 FlatCAMApp.py:8411 FlatCAMApp.py:8447 FlatCAMApp.py:8487
+#: FlatCAMApp.py:9174 FlatCAMApp.py:10363 FlatCAMApp.py:10416
+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:2620
+msgid "Executing Tcl Script ..."
+msgstr "Exécution du script Tcl ..."
+
+#: FlatCAMApp.py:2674 ObjectCollection.py:80 flatcamTools/ToolImage.py:218
+#: flatcamTools/ToolPcbWizard.py:301 flatcamTools/ToolPcbWizard.py:324
+msgid "Open cancelled."
+msgstr "Ouvert annulé."
+
+#: FlatCAMApp.py:2690
+msgid "Open Config file failed."
+msgstr "Le fichier de configuration ouvert a échoué."
+
+#: FlatCAMApp.py:2705
+msgid "Open Script file failed."
+msgstr "Le fichier de script ouvert a échoué."
+
+#: FlatCAMApp.py:2731
+msgid "Open Excellon file failed."
+msgstr "Le fichier de Excellon ouvert a échoué."
+
+#: FlatCAMApp.py:2745
+msgid "Open GCode file failed."
+msgstr "Le fichier de G-code ouvert a échoué."
+
+#: FlatCAMApp.py:2758
+msgid "Open Gerber file failed."
+msgstr "Le fichier de Gerber ouvert a échoué."
+
+#: FlatCAMApp.py:3031
+msgid "Select a Geometry, Gerber or Excellon Object to edit."
+msgstr "Sélectionnez un objet Geometry, Gerber ou Excellon à modifier."
+
+#: FlatCAMApp.py:3045
+msgid ""
+"Simultanoeus editing of tools geometry in a MultiGeo Geometry is not "
+"possible.\n"
+"Edit only one geometry at a time."
+msgstr ""
+"L'édition simultanée de la géométrie des outils dans une géométrie multi-"
+"géométrique n'est pas possible.\n"
+"N'éditez qu'une géométrie à la fois."
+
+#: FlatCAMApp.py:3100
+msgid "Editor is activated ..."
+msgstr "L'éditeur est activé ..."
+
+#: FlatCAMApp.py:3118
+msgid "Do you want to save the edited object?"
+msgstr "Voulez-vous enregistrer l'objet édité?"
+
+#: FlatCAMApp.py:3119 flatcamGUI/FlatCAMGUI.py:1792
+msgid "Close Editor"
+msgstr "Fermer l'éditeur"
+
+#: FlatCAMApp.py:3122 FlatCAMApp.py:4609 FlatCAMApp.py:7287 FlatCAMApp.py:8264
+#: FlatCAMTranslation.py:97 FlatCAMTranslation.py:171
+#: flatcamGUI/PreferencesUI.py:817
+msgid "Yes"
+msgstr "Oui"
+
+#: FlatCAMApp.py:3123 FlatCAMApp.py:4610 FlatCAMApp.py:7288 FlatCAMApp.py:8265
+#: FlatCAMTranslation.py:98 FlatCAMTranslation.py:172
+#: flatcamGUI/PreferencesUI.py:818 flatcamGUI/PreferencesUI.py:3360
+#: flatcamGUI/PreferencesUI.py:3724 flatcamTools/ToolNonCopperClear.py:171
+#: flatcamTools/ToolPaint.py:144
+msgid "No"
+msgstr "Non"
+
+#: FlatCAMApp.py:3124 FlatCAMApp.py:4611 FlatCAMApp.py:5480 FlatCAMApp.py:6718
+#: FlatCAMApp.py:8266
+msgid "Cancel"
+msgstr "Annuler"
+
+#: FlatCAMApp.py:3152
+msgid "Object empty after edit."
+msgstr "Objet vide après édition."
+
+#: FlatCAMApp.py:3195 FlatCAMApp.py:3216 FlatCAMApp.py:3229
+msgid "Select a Gerber, Geometry or Excellon Object to update."
+msgstr "Sélectionnez un objet Gerber, Geometry ou Excellon à mettre à jour."
+
+#: FlatCAMApp.py:3199
+msgid "is updated, returning to App..."
+msgstr "est mis à jour, revenant à l'App ..."
+
+#: FlatCAMApp.py:3594 FlatCAMApp.py:3648 FlatCAMApp.py:4469
+msgid "Could not load defaults file."
+msgstr "Impossible de charger le fichier par défaut."
+
+#: FlatCAMApp.py:3607 FlatCAMApp.py:3657 FlatCAMApp.py:4479
+msgid "Failed to parse defaults file."
+msgstr "Échec de l'analyse du fichier par défaut."
+
+#: FlatCAMApp.py:3628 FlatCAMApp.py:3632
+msgid "Import FlatCAM Preferences"
+msgstr "Importer les préférences FlatCAM"
+
+#: FlatCAMApp.py:3639
+msgid "FlatCAM preferences import cancelled."
+msgstr "Importation des préférences FlatCAM annulée."
+
+#: FlatCAMApp.py:3662
+msgid "Imported Defaults from"
+msgstr "Valeurs par défaut importées de"
+
+#: FlatCAMApp.py:3682 FlatCAMApp.py:3687
+msgid "Export FlatCAM Preferences"
+msgstr "Exporter les préférences FlatCAM"
+
+#: FlatCAMApp.py:3695
+msgid "FlatCAM preferences export cancelled."
+msgstr "Exportation des préférences FlatCAM annulée."
+
+#: FlatCAMApp.py:3704 FlatCAMApp.py:6483 FlatCAMApp.py:9355 FlatCAMApp.py:9466
+#: FlatCAMApp.py:9591 FlatCAMApp.py:9650 FlatCAMApp.py:9768 FlatCAMApp.py:9907
+#: FlatCAMObj.py:6102 flatcamTools/ToolSolderPaste.py:1428
+msgid ""
+"Permission denied, saving not possible.\n"
+"Most likely another app is holding the file open and not accessible."
+msgstr ""
+"Autorisation refusée, économie impossible.\n"
+"Très probablement, une autre application tient le fichier ouvert et n'est "
+"pas accessible."
+
+#: FlatCAMApp.py:3717
+msgid "Could not load preferences file."
+msgstr "Impossible de charger le fichier de préférences."
+
+#: FlatCAMApp.py:3737 FlatCAMApp.py:4526
+msgid "Failed to write defaults to file."
+msgstr "Échec d'écriture par défaut dans le fichier."
+
+#: FlatCAMApp.py:3743
+msgid "Exported preferences to"
+msgstr "Préférences exportées vers"
+
+#: FlatCAMApp.py:3760
+msgid "FlatCAM Preferences Folder opened."
+msgstr "Dossier Préférences FlatCAM ouvert."
+
+#: FlatCAMApp.py:3843
+msgid "Failed to open recent files file for writing."
+msgstr "Échec d'ouverture du fichier récent en écriture."
+
+#: FlatCAMApp.py:3854
+msgid "Failed to open recent projects file for writing."
+msgstr "Échec d'ouverture du fichier de projets récents en écriture."
+
+#: FlatCAMApp.py:3937 camlib.py:4904 flatcamTools/ToolSolderPaste.py:1214
+msgid "An internal error has ocurred. See shell.\n"
+msgstr "Une erreur interne s'est produite. Voir shell.\n"
+
+#: FlatCAMApp.py:3938
+#, python-brace-format
+msgid ""
+"Object ({kind}) failed because: {error} \n"
+"\n"
+msgstr "L'objet ({kind}) a échoué car: {error}\n"
+
+#: FlatCAMApp.py:3959
+msgid "Converting units to "
+msgstr "Conversion d'unités en "
+
+#: FlatCAMApp.py:4055 FlatCAMApp.py:4058 FlatCAMApp.py:4061 FlatCAMApp.py:4064
+#, python-brace-format
+msgid ""
+"[selected] {kind} created/selected: <span style=\"color:{color};\">{name}</"
+"span>"
+msgstr ""
+"[selected] {kind} créé/sélectionné: <span style=\"color: {color};\">{name}</"
+"span>"
+
+#: FlatCAMApp.py:4081 FlatCAMApp.py:6798 FlatCAMObj.py:236 FlatCAMObj.py:251
+#: FlatCAMObj.py:267 FlatCAMObj.py:347 flatcamTools/ToolMove.py:206
+msgid "Plotting"
+msgstr "Traçage"
+
+#: FlatCAMApp.py:4175 flatcamGUI/FlatCAMGUI.py:415
+msgid "About FlatCAM"
+msgstr "À propos de FlatCAM"
+
+#: FlatCAMApp.py:4204
+msgid "2D Computer-Aided Printed Circuit Board Manufacturing"
+msgstr "Fabrication de cartes de circuits imprimés 2D assistées par ordinateur"
+
+#: FlatCAMApp.py:4205
+msgid "Development"
+msgstr "Développement"
+
+#: FlatCAMApp.py:4206
+msgid "DOWNLOAD"
+msgstr "TÉLÉCHARGER"
+
+#: FlatCAMApp.py:4207
+msgid "Issue tracker"
+msgstr "Traqueur d'incidents"
+
+#: FlatCAMApp.py:4211
+msgid "Close"
+msgstr "Proche"
+
+#: FlatCAMApp.py:4226
+msgid ""
+"(c) Copyright 2014 Juan Pablo Caram.\n"
+"\n"
+"Licensed under the MIT license:\n"
+"http://www.opensource.org/licenses/mit-license.php\n"
+"\n"
+"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"
+"in the Software without restriction, including without limitation the "
+"rights\n"
+"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n"
+"copies of the Software, and to permit persons to whom the Software is\n"
+" furnished to do so, subject to the following conditions:\n"
+"\n"
+"The above copyright notice and this permission notice shall be included in\n"
+"all copies or substantial portions of the Software.\n"
+"\n"
+"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS "
+"OR\n"
+"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n"
+"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n"
+"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n"
+"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING "
+"FROM,\n"
+"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n"
+"THE SOFTWARE."
+msgstr ""
+"(c) Copyright 2014 Juan Pablo Caram.\n"
+"\n"
+"Sous licence MIT:\n"
+"http://www.opensource.org/licenses/mit-license.php\n"
+"\n"
+"Par la présente, une autorisation est accordée gratuitement à toute personne "
+"qui en obtient une copie.\n"
+"de ce logiciel et des fichiers de documentation associés (le \"Logiciel\"), "
+"pour traiter\n"
+"dans le logiciel sans restriction, y compris, sans limitation, les droits\n"
+"utiliser, copier, modifier, fusionner, publier, distribuer, concéder en sous-"
+"licence et / ou vendre\n"
+"copies du logiciel, et pour permettre aux personnes à qui le logiciel est\n"
+" meublé pour le faire, sous réserve des conditions suivantes:\n"
+"\n"
+"L'avis de copyright ci-dessus et cet avis de permission doivent être inclus "
+"dans\n"
+"toutes les copies ou parties substantielles du logiciel.\n"
+"\n"
+"LE LOGICIEL EST FOURNI \"TEL QUEL\", SANS AUCUNE GARANTIE, EXPRESSE OU\n"
+"IMPLICITE, Y COMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES DE QUALITÉ "
+"MARCHANDE,\n"
+"APTITUDE À UN USAGE PARTICULIER ET À L’ABSENCE DE VIOLATION. EN AUCUN CAS, "
+"LE\n"
+"LES AUTEURS OU LES TITULAIRES DE COPYRIGHT SONT RESPONSABLES DE TOUTE "
+"RÉCLAMATION, DE DOMMAGES OU D'AUTRES\n"
+"RESPONSABILITÉ, QU'IL SOIT DANS UN ACTION DE CONTRAT, DE TORT OU AUTREMENT, "
+"RÉSULTANT DE,\n"
+"HORS OU EN LIEN AVEC LE LOGICIEL OU L’UTILISATION OU D’AUTRES TRANSACTIONS "
+"DANS\n"
+"LES LOGICIELS."
+
+#: FlatCAMApp.py:4273
+msgid "Splash"
+msgstr "Éclaboussure"
+
+#: FlatCAMApp.py:4279
+msgid "Programmers"
+msgstr "Programmeurs"
+
+#: FlatCAMApp.py:4285
+msgid "Translators"
+msgstr "Traducteurs"
+
+#: FlatCAMApp.py:4291
+msgid "License"
+msgstr "Licence"
+
+#: FlatCAMApp.py:4312
+msgid "Programmer"
+msgstr "Programmeur"
+
+#: FlatCAMApp.py:4313
+msgid "Status"
+msgstr "Statut"
+
+#: FlatCAMApp.py:4315
+msgid "Program Author"
+msgstr "Auteur du programme"
+
+#: FlatCAMApp.py:4319
+msgid "Maintainer >=2019"
+msgstr "Mainteneur >= 2019"
+
+#: FlatCAMApp.py:4374
+msgid "Language"
+msgstr "La langue"
+
+#: FlatCAMApp.py:4375
+msgid "Translator"
+msgstr "Traducteur"
+
+#: FlatCAMApp.py:4376
+msgid "E-mail"
+msgstr "Email"
+
+#: FlatCAMApp.py:4531 FlatCAMApp.py:7297
+msgid "Preferences saved."
+msgstr "Préférences enregistrées."
+
+#: FlatCAMApp.py:4559
+msgid "Could not load factory defaults file."
+msgstr "Impossible de charger le fichier de paramètres d'usine."
+
+#: FlatCAMApp.py:4569
+msgid "Failed to parse factory defaults file."
+msgstr "Échec de l'analyse du fichier des paramètres d'usine."
+
+#: FlatCAMApp.py:4584
+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:4588
+msgid "Factory defaults saved."
+msgstr "Les paramètres d'usine par défaut ont été enregistrés."
+
+#: FlatCAMApp.py:4599 flatcamGUI/FlatCAMGUI.py:3451
+msgid "Application is saving the project. Please wait ..."
+msgstr "L'application enregistre le projet. S'il vous plaît, attendez ..."
+
+#: FlatCAMApp.py:4604 FlatCAMTranslation.py:166
+msgid ""
+"There are files/objects modified in FlatCAM. \n"
+"Do you want to Save the project?"
+msgstr ""
+"Il y a des fichiers / objets modifiés dans FlatCAM.\n"
+"Voulez-vous enregistrer le projet?"
+
+#: FlatCAMApp.py:4607 FlatCAMApp.py:8262 FlatCAMTranslation.py:169
+msgid "Save changes"
+msgstr "Sauvegarder les modifications"
+
+#: FlatCAMApp.py:4837
+msgid "Selected Excellon file extensions registered with FlatCAM."
+msgstr ""
+"Extensions de fichier Excellon sélectionnées enregistrées avec FlatCAM."
+
+#: FlatCAMApp.py:4859
+msgid "Selected GCode file extensions registered with FlatCAM."
+msgstr "Extensions de fichier GCode sélectionnées enregistrées avec FlatCAM."
+
+#: FlatCAMApp.py:4881
+msgid "Selected Gerber file extensions registered with FlatCAM."
+msgstr "Extensions de fichiers Gerber sélectionnées enregistrées avec FlatCAM."
+
+#: FlatCAMApp.py:5047 FlatCAMApp.py:5103 FlatCAMApp.py:5131
+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:5056
+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 convert from one to another and retry joining \n"
+"but in the case of converting from MultiGeo to SingleGeo, informations may "
+"be lost and the result may not be what was expected. \n"
+"Check the generated GCODE."
+msgstr ""
+"Échec de la participation Les objets de géométrie sont de types différents.\n"
+"Au moins un est de type MultiGeo et l'autre de type SingleGeo. Une "
+"possibilité est de convertir de l'un à l'autre et réessayer de rejoindre\n"
+"mais dans le cas d'une conversion de MultiGeo en SingleGeo, des informations "
+"risquent d'être perdues et le résultat risque d'être différent de celui "
+"attendu.\n"
+"Vérifiez le GCODE généré."
+
+#: FlatCAMApp.py:5098
+msgid "Failed. Excellon joining works only on Excellon objects."
+msgstr "Échoué. Excellon rejoindre ne travaille que sur des objets Excellon."
+
+#: FlatCAMApp.py:5126
+msgid "Failed. Gerber joining works only on Gerber objects."
+msgstr "Échoué. La jonction de Gerber ne fonctionne que sur des objets Gerber."
+
+#: FlatCAMApp.py:5156 FlatCAMApp.py:5193
+msgid "Failed. Select a Geometry Object and try again."
+msgstr "Échoué. Sélectionnez un objet de géométrie et réessayez."
+
+#: FlatCAMApp.py:5161 FlatCAMApp.py:5198
+msgid "Expected a FlatCAMGeometry, got"
+msgstr "Échoué. Sélectionnez un objet de géométrie et réessayez"
+
+#: FlatCAMApp.py:5175
+msgid "A Geometry object was converted to MultiGeo type."
+msgstr "Un objet Geometry a été converti en type MultiGeo."
+
+#: FlatCAMApp.py:5213
+msgid "A Geometry object was converted to SingleGeo type."
+msgstr "Un objet Geometry a été converti en type SingleGeo."
+
+#: FlatCAMApp.py:5474
+msgid "Toggle Units"
+msgstr "Basculer les Unités"
+
+#: FlatCAMApp.py:5476
+msgid "Change project units ..."
+msgstr "Changer les unités du projet ..."
+
+#: FlatCAMApp.py:5477
+msgid ""
+"Changing the units of the project causes all geometrical properties of all "
+"objects to be scaled accordingly.\n"
+"Continue?"
+msgstr ""
+"En modifiant les unités du projet, toutes les propriétés géométriques de "
+"tous les objets sont mises à l'échelle en conséquence.\n"
+"Continuez?"
+
+#: FlatCAMApp.py:5479 FlatCAMApp.py:6612 FlatCAMApp.py:6717 FlatCAMApp.py:8571
+#: FlatCAMApp.py:8585 FlatCAMApp.py:8840 FlatCAMApp.py:8851
+msgid "Ok"
+msgstr "D'accord"
+
+#: FlatCAMApp.py:5528
+msgid "Converted units to"
+msgstr "Unités converties en"
+
+#: FlatCAMApp.py:5540
+msgid " Units conversion cancelled."
+msgstr " Conversion des unités annulée."
+
+#: FlatCAMApp.py:6429
+msgid "Open file"
+msgstr "Fichier ouvert"
+
+#: FlatCAMApp.py:6460 FlatCAMApp.py:6465
+msgid "Export G-Code ..."
+msgstr "Exporter G-Code ..."
+
+#: FlatCAMApp.py:6469
+msgid "Export Code cancelled."
+msgstr "Code d'exportation annulé."
+
+#: FlatCAMApp.py:6479 FlatCAMObj.py:6098 flatcamTools/ToolSolderPaste.py:1424
+msgid "No such file or directory"
+msgstr "Aucun fichier ou répertoire de ce nom"
+
+#: FlatCAMApp.py:6491 FlatCAMObj.py:6112
+msgid "Saved to"
+msgstr "Enregistré dans"
+
+#: FlatCAMApp.py:6600 FlatCAMApp.py:6633 FlatCAMApp.py:6644 FlatCAMApp.py:6655
+#: flatcamTools/ToolNonCopperClear.py:930 flatcamTools/ToolSolderPaste.py:774
+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:6605 FlatCAMApp.py:6638 FlatCAMApp.py:6649 FlatCAMApp.py:6660
+msgid "Adding Tool cancelled"
+msgstr "Outil d'ajout annulé"
+
+#: FlatCAMApp.py:6608
+msgid ""
+"Adding Tool works only when Advanced is checked.\n"
+"Go to Preferences -> General - Show Advanced Options."
+msgstr ""
+"L'ajout d'outil ne fonctionne que lorsque l'option Avancé est cochée.\n"
+"Allez dans Préférences -> Général - Afficher les options avancées."
+
+#: FlatCAMApp.py:6712
+msgid "Delete objects"
+msgstr "Supprimer des objets"
+
+#: FlatCAMApp.py:6715
+msgid ""
+"Are you sure you want to permanently delete\n"
+"the selected objects?"
+msgstr ""
+"Êtes-vous sûr de vouloir supprimer définitivement\n"
+"les objets sélectionnés?"
+
+#: FlatCAMApp.py:6746
+msgid "Object(s) deleted"
+msgstr "Objet (s) supprimé (s)"
+
+#: FlatCAMApp.py:6750
+msgid "Failed. No object(s) selected..."
+msgstr "Échoué. Aucun objet sélectionné ..."
+
+#: FlatCAMApp.py:6752
+msgid "Save the work in Editor and try again ..."
+msgstr "Enregistrez le travail dans l'éditeur et réessayez ..."
+
+#: FlatCAMApp.py:6782
+msgid "Object deleted"
+msgstr "Objet supprimé"
+
+#: FlatCAMApp.py:6809
+msgid "Click to set the origin ..."
+msgstr "Cliquez pour définir l'origine ..."
+
+#: FlatCAMApp.py:6831
+msgid "Setting Origin..."
+msgstr "Réglage de l'Origine ..."
+
+#: FlatCAMApp.py:6843
+msgid "Origin set"
+msgstr "Ensemble d'origine"
+
+#: FlatCAMApp.py:6850
+msgid "Origin coordinates specified but incomplete."
+msgstr "Coordonnées d'origine spécifiées mais incomplètes."
+
+#: FlatCAMApp.py:6892 FlatCAMObj.py:6247
+msgid "Not available with the current Graphic Engine Legacy(2D)."
+msgstr "Non disponible avec le moteur graphique actuel Legacy (2D)."
+
+#: FlatCAMApp.py:6896
+msgid "Jump to ..."
+msgstr "Sauter à ..."
+
+#: FlatCAMApp.py:6897
+msgid "Enter the coordinates in format X,Y:"
+msgstr "Entrez les coordonnées au format X, Y:"
+
+#: FlatCAMApp.py:6904
+msgid "Wrong coordinates. Enter coordinates in format: X,Y"
+msgstr "Mauvaises coordonnées. Entrez les coordonnées au format: X, Y"
+
+#: FlatCAMApp.py:6936 flatcamEditors/FlatCAMExcEditor.py:3487
+#: flatcamEditors/FlatCAMExcEditor.py:3495
+#: flatcamEditors/FlatCAMGeoEditor.py:3832
+#: flatcamEditors/FlatCAMGeoEditor.py:3847
+#: flatcamEditors/FlatCAMGrbEditor.py:1067
+#: flatcamEditors/FlatCAMGrbEditor.py:1171
+#: flatcamEditors/FlatCAMGrbEditor.py:1445
+#: flatcamEditors/FlatCAMGrbEditor.py:1703
+#: flatcamEditors/FlatCAMGrbEditor.py:4255
+#: flatcamEditors/FlatCAMGrbEditor.py:4270 flatcamGUI/FlatCAMGUI.py:2687
+#: flatcamGUI/FlatCAMGUI.py:2699
+msgid "Done."
+msgstr "Terminé."
+
+#: FlatCAMApp.py:7070 FlatCAMApp.py:7138
+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:7158
+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:7164
+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:7181 flatcamGUI/GUIElements.py:1443
+msgid "Preferences"
+msgstr "Préférences"
+
+#: FlatCAMApp.py:7248
+msgid "Preferences edited but not saved."
+msgstr "Préférences modifiées mais non enregistrées."
+
+#: FlatCAMApp.py:7282
+msgid ""
+"One or more values are changed.\n"
+"Do you want to save the Preferences?"
+msgstr ""
+"Une ou plusieurs valeurs sont modifiées.\n"
+"Voulez-vous enregistrer les préférences?"
+
+#: FlatCAMApp.py:7284 flatcamGUI/FlatCAMGUI.py:193
+#: flatcamGUI/FlatCAMGUI.py:1002
+msgid "Save Preferences"
+msgstr "Enregistrer les préf."
+
+#: FlatCAMApp.py:7313
+msgid "No object selected to Flip on Y axis."
+msgstr "Aucun objet sélectionné pour basculer sur l’axe Y."
+
+#: FlatCAMApp.py:7339
+msgid "Flip on Y axis done."
+msgstr "Tournez sur l'axe des Y fait."
+
+#: FlatCAMApp.py:7342 FlatCAMApp.py:7385
+#: flatcamEditors/FlatCAMGrbEditor.py:5702
+msgid "Flip action was not executed."
+msgstr "L'Action de retournement n'a pas été exécutée."
+
+#: FlatCAMApp.py:7356
+msgid "No object selected to Flip on X axis."
+msgstr "Aucun objet sélectionné pour basculer sur l’axe X."
+
+#: FlatCAMApp.py:7382
+msgid "Flip on X axis done."
+msgstr "Tournez sur l'axe X fait."
+
+#: FlatCAMApp.py:7399
+msgid "No object selected to Rotate."
+msgstr "Aucun objet sélectionné pour faire pivoter."
+
+#: FlatCAMApp.py:7402 FlatCAMApp.py:7450 FlatCAMApp.py:7483
+msgid "Transform"
+msgstr "Transformer"
+
+#: FlatCAMApp.py:7402 FlatCAMApp.py:7450 FlatCAMApp.py:7483
+msgid "Enter the Angle value:"
+msgstr "Entrez la valeur de l'angle:"
+
+#: FlatCAMApp.py:7433
+msgid "Rotation done."
+msgstr "Rotation effectuée."
+
+#: FlatCAMApp.py:7436
+msgid "Rotation movement was not executed."
+msgstr "Le mouvement de rotation n'a pas été exécuté."
+
+#: FlatCAMApp.py:7448
+msgid "No object selected to Skew/Shear on X axis."
+msgstr "Aucun objet sélectionné pour incliner / cisailler sur l'axe X."
+
+#: FlatCAMApp.py:7470
+msgid "Skew on X axis done."
+msgstr "Inclinaison sur l'axe X terminée."
+
+#: FlatCAMApp.py:7481
+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:7503
+msgid "Skew on Y axis done."
+msgstr "Inclinaison sur l'axe des Y faite."
+
+#: FlatCAMApp.py:7558 flatcamGUI/FlatCAMGUI.py:1320
+msgid "Grid On/Off"
+msgstr "Grille On/Off"
+
+#: FlatCAMApp.py:7571 flatcamEditors/FlatCAMGeoEditor.py:941
+#: flatcamEditors/FlatCAMGrbEditor.py:2477
+#: flatcamEditors/FlatCAMGrbEditor.py:5212 flatcamGUI/ObjectUI.py:1058
+#: flatcamTools/ToolDblSided.py:160 flatcamTools/ToolDblSided.py:207
+#: flatcamTools/ToolNonCopperClear.py:237 flatcamTools/ToolPaint.py:176
+#: flatcamTools/ToolSolderPaste.py:115 flatcamTools/ToolSolderPaste.py:483
+#: flatcamTools/ToolTransform.py:338
+msgid "Add"
+msgstr "Ajouter"
+
+#: FlatCAMApp.py:7572 FlatCAMObj.py:3628
+#: flatcamEditors/FlatCAMGrbEditor.py:2482 flatcamGUI/FlatCAMGUI.py:553
+#: flatcamGUI/FlatCAMGUI.py:761 flatcamGUI/FlatCAMGUI.py:1695
+#: flatcamGUI/FlatCAMGUI.py:1790 flatcamGUI/FlatCAMGUI.py:2195
+#: flatcamGUI/ObjectUI.py:1074 flatcamTools/ToolNonCopperClear.py:249
+#: flatcamTools/ToolPaint.py:188 flatcamTools/ToolSolderPaste.py:121
+#: flatcamTools/ToolSolderPaste.py:485
+msgid "Delete"
+msgstr "Effacer"
+
+#: FlatCAMApp.py:7585
+msgid "New Grid ..."
+msgstr "Nouvelle grille ..."
+
+#: FlatCAMApp.py:7586
+msgid "Enter a Grid Value:"
+msgstr "Entrez une valeur de grille:"
+
+#: FlatCAMApp.py:7594 FlatCAMApp.py:7621
+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:7600
+msgid "New Grid added"
+msgstr "Nouvelle grille ajoutée"
+
+#: FlatCAMApp.py:7603
+msgid "Grid already exists"
+msgstr "La grille existe déjà"
+
+#: FlatCAMApp.py:7606
+msgid "Adding New Grid cancelled"
+msgstr "Ajout d'une nouvelle grille annulée"
+
+#: FlatCAMApp.py:7628
+msgid " Grid Value does not exist"
+msgstr "  Grid Value does not exist"
+
+#: FlatCAMApp.py:7631
+msgid "Grid Value deleted"
+msgstr "Valeur de grille supprimée"
+
+#: FlatCAMApp.py:7634
+msgid "Delete Grid value cancelled"
+msgstr "Supprimer la valeur de grille annulée"
+
+#: FlatCAMApp.py:7640
+msgid "Key Shortcut List"
+msgstr "Liste de raccourcis clavier"
+
+#: FlatCAMApp.py:7674
+msgid " No object selected to copy it's name"
+msgstr " Aucun objet sélectionné pour copier son nom"
+
+#: FlatCAMApp.py:7678
+msgid "Name copied on clipboard ..."
+msgstr "Nom copié dans le presse-papiers ..."
+
+#: FlatCAMApp.py:7733 flatcamEditors/FlatCAMGrbEditor.py:4187
+msgid "Coordinates copied to clipboard."
+msgstr "Coordonnées copiées dans le presse-papier."
+
+#: FlatCAMApp.py:8018 FlatCAMApp.py:8022 FlatCAMApp.py:8026 FlatCAMApp.py:8030
+#: FlatCAMApp.py:8046 FlatCAMApp.py:8050 FlatCAMApp.py:8054 FlatCAMApp.py:8058
+#: FlatCAMApp.py:8098 FlatCAMApp.py:8101 FlatCAMApp.py:8104 FlatCAMApp.py:8107
+#: ObjectCollection.py:725 ObjectCollection.py:728 ObjectCollection.py:731
+#: ObjectCollection.py:734
+#, python-brace-format
+msgid "[selected]<span style=\"color:{color};\">{name}</span> selected"
+msgstr "[selected]<span style=\"color:{color};\">{name}</span> choisi"
+
+#: FlatCAMApp.py:8259
+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 ""
+"Il y a des fichiers / objets ouverts dans FlatCAM.\n"
+"La création d'un nouveau projet les supprimera.\n"
+"Voulez-vous enregistrer le projet?"
+
+#: FlatCAMApp.py:8281
+msgid "New Project created"
+msgstr "Nouveau projet créé"
+
+#: FlatCAMApp.py:8402 FlatCAMApp.py:8406 flatcamGUI/FlatCAMGUI.py:636
+#: flatcamGUI/FlatCAMGUI.py:2068
+msgid "Open Gerber"
+msgstr "Gerber ouvert"
+
+#: FlatCAMApp.py:8413
+msgid "Opening Gerber file."
+msgstr "Ouvrir le fichier Gerber."
+
+#: FlatCAMApp.py:8419
+msgid "Open Gerber cancelled."
+msgstr "Ouvert Gerber annulé."
+
+#: FlatCAMApp.py:8439 FlatCAMApp.py:8443 flatcamGUI/FlatCAMGUI.py:637
+#: flatcamGUI/FlatCAMGUI.py:2069
+msgid "Open Excellon"
+msgstr "Excellon ouvert"
+
+#: FlatCAMApp.py:8449
+msgid "Opening Excellon file."
+msgstr "Ouverture du fichier Excellon."
+
+#: FlatCAMApp.py:8455
+msgid " Open Excellon cancelled."
+msgstr " Ouvert Excellon annulé."
+
+#: FlatCAMApp.py:8478 FlatCAMApp.py:8482
+msgid "Open G-Code"
+msgstr "G-code ouvert"
+
+#: FlatCAMApp.py:8489
+msgid "Opening G-Code file."
+msgstr "Ouverture du fichier G-Code."
+
+#: FlatCAMApp.py:8495
+msgid "Open G-Code cancelled."
+msgstr "Ouvert G-code annulé."
+
+#: FlatCAMApp.py:8512 FlatCAMApp.py:8515 flatcamGUI/FlatCAMGUI.py:1326
+msgid "Open Project"
+msgstr "Projet ouvert"
+
+#: FlatCAMApp.py:8524
+msgid "Open Project cancelled."
+msgstr "Projet ouvert annulé."
+
+#: FlatCAMApp.py:8543 FlatCAMApp.py:8546
+msgid "Open Configuration File"
+msgstr "Ouvrir le fichier de configuration"
+
+#: FlatCAMApp.py:8551
+msgid "Open Config cancelled."
+msgstr "Configuration ouverte annulée."
+
+#: FlatCAMApp.py:8567 FlatCAMApp.py:8836 FlatCAMApp.py:11479
+#: FlatCAMApp.py:11500 FlatCAMApp.py:11522 FlatCAMApp.py:11545
+msgid "No object selected."
+msgstr "Aucun objet sélectionné."
+
+#: FlatCAMApp.py:8568 FlatCAMApp.py:8837
+msgid "Please Select a Geometry object to export"
+msgstr "Veuillez sélectionner un objet de géométrie à exporter"
+
+#: FlatCAMApp.py:8582
+msgid "Only Geometry, Gerber and CNCJob objects can be used."
+msgstr "Seuls les objets Geometry, Gerber et CNCJob peuvent être utilisés."
+
+#: FlatCAMApp.py:8595 FlatCAMApp.py:8599
+msgid "Export SVG"
+msgstr "Exporter en SVG"
+
+#: FlatCAMApp.py:8605
+msgid " Export SVG cancelled."
+msgstr " Export SVG annulé."
+
+#: FlatCAMApp.py:8625
+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:8631 FlatCAMApp.py:8635
+msgid "Export PNG Image"
+msgstr "Exporter une image PNG"
+
+#: FlatCAMApp.py:8640
+msgid "Export PNG cancelled."
+msgstr "Exportation PNG annulée."
+
+#: FlatCAMApp.py:8660
+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:8666 FlatCAMApp.py:8798
+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:8678
+msgid "Save Gerber source file"
+msgstr "Enregistrer le fichier source Gerber"
+
+#: FlatCAMApp.py:8684
+msgid "Save Gerber source file cancelled."
+msgstr "Enregistrer le fichier source Gerber annulé."
+
+#: FlatCAMApp.py:8704
+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:8710 FlatCAMApp.py:8754
+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:8718 FlatCAMApp.py:8722
+msgid "Save Excellon source file"
+msgstr "Enregistrer le fichier source Excellon"
+
+#: FlatCAMApp.py:8728
+msgid "Saving Excellon source file cancelled."
+msgstr "Enregistrement du fichier source Excellon annulé."
+
+#: FlatCAMApp.py:8748
+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:8762 FlatCAMApp.py:8766
+msgid "Export Excellon"
+msgstr "Exporter Excellon"
+
+#: FlatCAMApp.py:8772
+msgid "Export Excellon cancelled."
+msgstr "Exporter Excellon annulé."
+
+#: FlatCAMApp.py:8792
+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:8806 FlatCAMApp.py:8810
+msgid "Export Gerber"
+msgstr "Export Gerber"
+
+#: FlatCAMApp.py:8816
+msgid "Export Gerber cancelled."
+msgstr "Export Gerber annulé."
+
+#: FlatCAMApp.py:8848
+msgid "Only Geometry objects can be used."
+msgstr "Seuls les objets de géométrie peuvent être utilisés."
+
+#: FlatCAMApp.py:8862 FlatCAMApp.py:8866
+msgid "Export DXF"
+msgstr "Exportation DXF"
+
+#: FlatCAMApp.py:8873
+msgid "Export DXF cancelled."
+msgstr "Exportation DXF annulée."
+
+#: FlatCAMApp.py:8893 FlatCAMApp.py:8896
+msgid "Import SVG"
+msgstr "Importer SVG"
+
+#: FlatCAMApp.py:8906
+msgid "Open SVG cancelled."
+msgstr "Ouvrir SVG annulé."
+
+#: FlatCAMApp.py:8925 FlatCAMApp.py:8929
+msgid "Import DXF"
+msgstr "Importation DXF"
+
+#: FlatCAMApp.py:8939
+msgid "Open DXF cancelled."
+msgstr "Ouvrir DXF annulé."
+
+#: FlatCAMApp.py:8986
+msgid "Viewing the source code of the selected object."
+msgstr "Affichage du code source de l'objet sélectionné."
+
+#: FlatCAMApp.py:8987
+msgid "Loading..."
+msgstr "Chargement..."
+
+#: FlatCAMApp.py:8994
+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:9006
+msgid "Source Editor"
+msgstr "Éditeur de source"
+
+#: FlatCAMApp.py:9021 FlatCAMApp.py:9028
+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:9040
+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:9054 FlatCAMApp.py:10369 FlatCAMObj.py:5881
+#: flatcamTools/ToolSolderPaste.py:1304
+msgid "Code Editor"
+msgstr "Éditeur de code"
+
+#: FlatCAMApp.py:9072
+msgid "New TCL script file created in Code Editor."
+msgstr "Nouveau fichier de script TCL créé dans l'éditeur de code."
+
+#: FlatCAMApp.py:9075
+msgid "Script Editor"
+msgstr "Éditeur de script"
+
+#: FlatCAMApp.py:9078
+msgid ""
+"#\n"
+"# CREATE A NEW FLATCAM TCL SCRIPT\n"
+"# TCL Tutorial here: https://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial."
+"html\n"
+"#\n"
+"\n"
+"# FlatCAM commands list:\n"
+"# AddCircle, AddPolygon, AddPolyline, AddRectangle, AlignDrill, "
+"AlignDrillGrid, ClearShell, ClearCopper,\n"
+"# Cncjob, Cutout, Delete, Drillcncjob, ExportGcode, ExportSVG, Exteriors, "
+"GeoCutout, GeoUnion, GetNames,\n"
+"# GetSys, ImportSvg, Interiors, Isolate, Follow, JoinExcellon, JoinGeometry, "
+"ListSys, MillDrills,\n"
+"# MillSlots, Mirror, New, NewGeometry, Offset, OpenExcellon, OpenGCode, "
+"OpenGerber, OpenProject,\n"
+"# Options, Paint, Panelize, Plot, SaveProject, SaveSys, Scale, SetActive, "
+"SetSys, Skew, SubtractPoly,\n"
+"# SubtractRectangle, Version, WriteGCode\n"
+"#\n"
+"\n"
+msgstr ""
+"#\n"
+"# CRÉER UN NOUVEAU SCRIPT FLATCAM TCL\n"
+"# Tutoriel TCL ici: https://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html\n"
+"#\n"
+"\n"
+"# Liste de commandes FlatCAM:\n"
+"# AddCircle, AddPolygon, AddPolyline, AddRectangle, AlignDrill, "
+"AlignDrillGrid, ClearShell, ClearCopper,\n"
+"# Cncjob, Cutout, Delete, Drillcncjob, ExportGcode, ExportSVG, Exteriors, "
+"GeoCutout, GeoUnion, GetNames,\n"
+"# GetSys, ImportSvg, Interiors, Isolate, Follow, JoinExcellon, JoinGeometry, "
+"ListSys, MillDrills,\n"
+"# MillSlots, Mirror, New, NewGeometry, Offset, OpenExcellon, OpenGCode, "
+"OpenGerber, OpenProject,\n"
+"# Options, Paint, Panelize, Plot, SaveProject, SaveSys, Scale, SetActive, "
+"SetSys, Skew, SubtractPoly,\n"
+"# SubtractRectangle, Version, WriteGCode\n"
+"#\n"
+"\n"
+
+#: FlatCAMApp.py:9117 FlatCAMApp.py:9120
+msgid "Open TCL script"
+msgstr "Ouvrir le script TCL"
+
+#: FlatCAMApp.py:9130
+msgid "Open TCL script cancelled."
+msgstr "Ouvrir le script TCL annulé."
+
+#: FlatCAMApp.py:9152
+msgid "TCL script file opened in Code Editor."
+msgstr "Fichier de script TCL ouvert dans l'éditeur de code."
+
+#: FlatCAMApp.py:9176
+msgid "Executing FlatCAMScript file."
+msgstr "Exécution du fichier FlatCAMScript."
+
+#: FlatCAMApp.py:9183 FlatCAMApp.py:9186
+msgid "Run TCL script"
+msgstr "Exécuter le script TCL"
+
+#: FlatCAMApp.py:9196
+msgid "Run TCL script cancelled."
+msgstr "Exécuter le script TCL annulé."
+
+#: FlatCAMApp.py:9212
+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:9263 FlatCAMApp.py:9267
+msgid "Save Project As ..."
+msgstr "Enregistrer le projet sous ..."
+
+#: FlatCAMApp.py:9264
+#, python-brace-format
+msgid "{l_save}/Project_{date}"
+msgstr "{l_save}/Projet_{date}"
+
+#: FlatCAMApp.py:9273
+msgid "Save Project cancelled."
+msgstr "Enregistrer le projet annulé."
+
+#: FlatCAMApp.py:9321
+msgid "Exporting SVG"
+msgstr "Exporter du SVG"
+
+#: FlatCAMApp.py:9363 FlatCAMApp.py:9474 FlatCAMApp.py:9600
+msgid "SVG file exported to"
+msgstr "Fichier SVG exporté vers"
+
+#: FlatCAMApp.py:9398 FlatCAMApp.py:9523 flatcamTools/ToolPanelize.py:381
+msgid "No object Box. Using instead"
+msgstr "Aucune Boîte d'objet. Utiliser à la place"
+
+#: FlatCAMApp.py:9477 FlatCAMApp.py:9603
+msgid "Generating Film ... Please wait."
+msgstr "Génération de film ... Veuillez patienter."
+
+#: FlatCAMApp.py:9776
+msgid "Excellon file exported to"
+msgstr "Fichier Excellon exporté vers"
+
+#: FlatCAMApp.py:9785
+msgid "Exporting Excellon"
+msgstr "Exporter Excellon"
+
+#: FlatCAMApp.py:9791 FlatCAMApp.py:9799
+msgid "Could not export Excellon file."
+msgstr "Impossible d'exporter le fichier Excellon."
+
+#: FlatCAMApp.py:9915
+msgid "Gerber file exported to"
+msgstr "Fichier Gerber exporté vers"
+
+#: FlatCAMApp.py:9923
+msgid "Exporting Gerber"
+msgstr "Exporter Gerber"
+
+#: FlatCAMApp.py:9929 FlatCAMApp.py:9937
+msgid "Could not export Gerber file."
+msgstr "Impossible d'exporter le fichier Gerber."
+
+#: FlatCAMApp.py:9982
+msgid "DXF file exported to"
+msgstr "Fichier DXF exporté vers"
+
+#: FlatCAMApp.py:9988
+msgid "Exporting DXF"
+msgstr "Exportation DXF"
+
+#: FlatCAMApp.py:9994 FlatCAMApp.py:10002
+msgid "Could not export DXF file."
+msgstr "Impossible d'exporter le fichier DXF."
+
+#: FlatCAMApp.py:10023 FlatCAMApp.py:10067 FlatCAMApp.py:10113
+msgid ""
+"Not supported type is picked as parameter. Only Geometry and Gerber are "
+"supported"
+msgstr ""
+"Le type non pris en charge est sélectionné en tant que paramètre. Seuls "
+"Geometry et Gerber sont supportés"
+
+#: FlatCAMApp.py:10033
+msgid "Importing SVG"
+msgstr "Importer du SVG"
+
+#: FlatCAMApp.py:10045 FlatCAMApp.py:10089 FlatCAMApp.py:10134
+#: FlatCAMApp.py:10215 FlatCAMApp.py:10282 FlatCAMApp.py:10349
+#: flatcamTools/ToolPDF.py:220
+msgid "Opened"
+msgstr "Ouvert"
+
+#: FlatCAMApp.py:10077
+msgid "Importing DXF"
+msgstr "Importation de DXF"
+
+#: FlatCAMApp.py:10121
+msgid "Importing Image"
+msgstr "Importation d'Image"
+
+#: FlatCAMApp.py:10164
+msgid "Failed to open file"
+msgstr "Échec de l'ouverture du fichier"
+
+#: FlatCAMApp.py:10169
+msgid "Failed to parse file"
+msgstr "Échec de l'analyse du fichier"
+
+#: FlatCAMApp.py:10176 FlatCAMApp.py:10250 FlatCAMObj.py:4589
+#: flatcamEditors/FlatCAMGrbEditor.py:3999 flatcamTools/ToolPcbWizard.py:437
+msgid "An internal error has occurred. See shell.\n"
+msgstr "Une erreur interne s'est produite. Voir shell.\n"
+
+#: FlatCAMApp.py:10186
+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:10194
+msgid "Opening Gerber"
+msgstr "Ouverture Gerber"
+
+#: FlatCAMApp.py:10205
+msgid " Open Gerber failed. Probable not a Gerber file."
+msgstr " Open Gerber a échoué. Probablement pas un fichier Gerber."
+
+#: FlatCAMApp.py:10240 flatcamTools/ToolPcbWizard.py:427
+msgid "This is not Excellon file."
+msgstr "Ce n'est pas un fichier Excellon."
+
+#: FlatCAMApp.py:10244
+msgid "Cannot open file"
+msgstr "Ne peut pas ouvrir le fichier"
+
+#: FlatCAMApp.py:10264 flatcamTools/ToolPDF.py:270
+#: flatcamTools/ToolPcbWizard.py:451
+msgid "No geometry found in file"
+msgstr "Aucune géométrie trouvée dans le fichier"
+
+#: FlatCAMApp.py:10267
+msgid "Opening Excellon."
+msgstr "Ouverture Excellon."
+
+#: FlatCAMApp.py:10274
+msgid "Open Excellon file failed. Probable not an Excellon file."
+msgstr ""
+"Le fichier Open Excellon a échoué. Probablement pas un fichier Excellon."
+
+#: FlatCAMApp.py:10313
+msgid "Failed to open"
+msgstr "Impossible d'ouvrir"
+
+#: FlatCAMApp.py:10324
+msgid "This is not GCODE"
+msgstr "Ce n'est pas GCODE"
+
+#: FlatCAMApp.py:10330
+msgid "Opening G-Code."
+msgstr "Ouverture G-Code."
+
+#: FlatCAMApp.py:10339
+msgid ""
+"Failed to create CNCJob Object. Probable not a GCode file.\n"
+" Attempting to create a FlatCAM CNCJob Object from G-Code file failed during "
+"processing"
+msgstr ""
+"Impossible de créer un objet CNCJob. Probablement pas un fichier GCode.\n"
+"La tentative de création d'un objet FlatCAM CNCJob à partir d'un fichier G-"
+"Code a échoué pendant le traitement."
+
+#: FlatCAMApp.py:10365
+msgid "Opening FlatCAM Config file."
+msgstr "Ouverture du fichier FlatCAM Config."
+
+#: FlatCAMApp.py:10387
+msgid "Failed to open config file"
+msgstr "Impossible d'ouvrir le fichier de configuration"
+
+#: FlatCAMApp.py:10413
+msgid "Loading Project ... Please Wait ..."
+msgstr "Chargement du projet ... Veuillez patienter ..."
+
+#: FlatCAMApp.py:10418
+msgid "Opening FlatCAM Project file."
+msgstr "Ouverture du fichier de projet FlatCAM."
+
+#: FlatCAMApp.py:10428 FlatCAMApp.py:10446
+msgid "Failed to open project file"
+msgstr "Impossible d'ouvrir le fichier de projet"
+
+#: FlatCAMApp.py:10480
+msgid "Loading Project ... restoring"
+msgstr "Chargement du projet ... en cours de restauration"
+
+#: FlatCAMApp.py:10489
+msgid "Project loaded from"
+msgstr "Projet chargé à partir de"
+
+#: FlatCAMApp.py:10552
+msgid "Redrawing all objects"
+msgstr "Redessiner tous les objets"
+
+#: FlatCAMApp.py:10584
+msgid "Available commands:\n"
+msgstr "Commandes disponibles:\n"
+
+#: FlatCAMApp.py:10586
+msgid ""
+"\n"
+"\n"
+"Type help <command_name> for usage.\n"
+" Example: help open_gerber"
+msgstr ""
+"\n"
+"\n"
+"Tapez help <nom_commande> pour l'utiliser.\n"
+" Exemple: help open_gerber"
+
+#: FlatCAMApp.py:10736
+msgid "Shows list of commands."
+msgstr "Affiche la liste des commandes."
+
+#: FlatCAMApp.py:10794
+msgid "Failed to load recent item list."
+msgstr "Échec du chargement de la liste des éléments récents."
+
+#: FlatCAMApp.py:10802
+msgid "Failed to parse recent item list."
+msgstr "Échec de l'analyse de la liste des éléments récents."
+
+#: FlatCAMApp.py:10813
+msgid "Failed to load recent projects item list."
+msgstr "Échec du chargement de la liste d'éléments des projets récents."
+
+#: FlatCAMApp.py:10821
+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:10880 FlatCAMApp.py:10903
+msgid "Clear Recent files"
+msgstr "Effacer les fichiers récents"
+
+#: FlatCAMApp.py:10920 flatcamGUI/FlatCAMGUI.py:1019
+msgid "<b>Shortcut Key List</b>"
+msgstr "<b>Liste des touches de raccourci</b>"
+
+#: FlatCAMApp.py:10994
+msgid "Selected Tab - Choose an Item from Project Tab"
+msgstr "Onglet sélectionné - Choisissez un élément dans l'onglet Projet"
+
+#: FlatCAMApp.py:10995
+msgid "Details"
+msgstr "Détails"
+
+#: FlatCAMApp.py:10997
+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:10998
+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 ""
+"Chargez / importez un fichier Gerber, Excellon, Gcode, DXF, Image raster ou "
+"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:11001
+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 ""
+"Vous pouvez également charger un projet FlatCAM en double-cliquant sur le "
+"fichier du projet, en le glissant-déposant dans l’interface graphique de "
+"FLATCAM ou par le biais du menu (ou de la barre d’outils) proposé dans "
+"l’application."
+
+#: FlatCAMApp.py:11004
+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, SELECTED TAB will be updated with the object properties "
+"according to its kind: Gerber, Excellon, Geometry or CNCJob object."
+msgstr ""
+"Une fois qu'un objet est disponible dans l'onglet Projet, en le "
+"sélectionnant puis en vous concentrant sur SELECTED TAB (il est plus simple "
+"de cliquer deux fois sur le nom de l'objet dans l'onglet Projet. SELECTED "
+"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:11008
+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 Tab. Alternatively, double clicking on the "
+"object on the canvas will bring the SELECTED TAB and populate it even if it "
+"was out of focus."
+msgstr ""
+"Si la sélection de l'objet est effectuée sur le canevas par un simple clic "
+"et que l'onglet sélectionné est activé, les propriétés de l'objet sont à "
+"nouveau affichées dans l'onglet sélectionné. Sinon, double-cliquez sur "
+"l'objet sur la toile pour amener l'onglet sélectionné et le renseigner même "
+"s'il n'était pas net."
+
+#: FlatCAMApp.py:11012
+msgid ""
+"You can change the parameters in this screen and the flow direction is like "
+"this:"
+msgstr ""
+"Vous pouvez modifier les paramètres dans cet écran et le sens du flux est le "
+"suivant:"
+
+#: FlatCAMApp.py:11013
+msgid ""
+"Gerber/Excellon Object --> Change Parameter --> Generate Geometry --> "
+"Geometry Object --> Add tools (change param in Selected Tab) --> Generate "
+"CNCJob --> CNCJob Object --> Verify GCode (through Edit CNC Code) and/or "
+"append/prepend to GCode (again, done in SELECTED TAB) --> Save GCode."
+msgstr ""
+"Objet Gerber / Excellon -> Paramètre de modification -> Générer une "
+"géométrie -> Objet de géométrie -> Ajouter des outils (changez le paramètre "
+"dans l'onglet Sélectionné) -> Génère un objet CNCJob -> Objet CNCJob -> "
+"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:11017
+msgid ""
+"A list of key shortcuts is available through an menu entry in Help --> "
+"Shortcuts List or through its own key shortcut: <b>F3</b>."
+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: <b>F3</b>."
+
+#: FlatCAMApp.py:11078
+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:11086
+msgid "Could not parse information about latest version."
+msgstr "Impossible d'analyser les informations sur la dernière version."
+
+#: FlatCAMApp.py:11097
+msgid "FlatCAM is up to date!"
+msgstr "FlatCAM est à jour!"
+
+#: FlatCAMApp.py:11102
+msgid "Newer Version Available"
+msgstr "Nouvelle version disponible"
+
+#: FlatCAMApp.py:11103
+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:11105
+msgid "info"
+msgstr "info"
+
+#: FlatCAMApp.py:11180
+msgid "All plots disabled."
+msgstr "Toutes les parcelles désactivées."
+
+#: FlatCAMApp.py:11187
+msgid "All non selected plots disabled."
+msgstr "Toutes les parcelles non sélectionnées sont désactivées."
+
+#: FlatCAMApp.py:11194
+msgid "All plots enabled."
+msgstr "Toutes les parcelles activées."
+
+#: FlatCAMApp.py:11201
+msgid "Selected plots enabled..."
+msgstr "Parcelles sélectionnées activées ..."
+
+#: FlatCAMApp.py:11210
+msgid "Selected plots disabled..."
+msgstr "Parcelles sélectionnées désactivées ..."
+
+#: FlatCAMApp.py:11228
+msgid "Enabling plots ..."
+msgstr "Activation des parcelles ..."
+
+#: FlatCAMApp.py:11267
+msgid "Disabling plots ..."
+msgstr "Désactiver les parcelles ..."
+
+#: FlatCAMApp.py:11289
+msgid "Working ..."
+msgstr "Travail ..."
+
+#: FlatCAMApp.py:11328
+msgid "Saving FlatCAM Project"
+msgstr "Enregistrement du projet FlatCAM"
+
+#: FlatCAMApp.py:11350 FlatCAMApp.py:11388
+msgid "Project saved to"
+msgstr "Projet enregistré dans"
+
+#: FlatCAMApp.py:11370
+msgid "Failed to verify project file"
+msgstr "Échec de la vérification du fichier de projet"
+
+#: FlatCAMApp.py:11370 FlatCAMApp.py:11379 FlatCAMApp.py:11391
+msgid "Retry to save it."
+msgstr "Réessayez de le sauvegarder."
+
+#: FlatCAMApp.py:11379 FlatCAMApp.py:11391
+msgid "Failed to parse saved project file"
+msgstr "Échec de l'analyse du fichier de projet enregistré"
+
+#: FlatCAMApp.py:11602
+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."
+
+#: FlatCAMObj.py:222
+msgid "Name changed from"
+msgstr "Nom changé de"
+
+#: FlatCAMObj.py:222
+msgid "to"
+msgstr "à"
+
+#: FlatCAMObj.py:233
+msgid "Offsetting..."
+msgstr "Compenser ..."
+
+#: FlatCAMObj.py:248
+msgid "Scaling..."
+msgstr "Mise à l'échelle..."
+
+#: FlatCAMObj.py:264
+msgid "Skewing..."
+msgstr "Fausser..."
+
+#: FlatCAMObj.py:611 FlatCAMObj.py:2358 FlatCAMObj.py:3632
+#: flatcamGUI/PreferencesUI.py:867 flatcamGUI/PreferencesUI.py:1821
+msgid "Basic"
+msgstr "De base"
+
+#: FlatCAMObj.py:623 FlatCAMObj.py:2370 FlatCAMObj.py:3652
+#: flatcamGUI/PreferencesUI.py:868
+msgid "Advanced"
+msgstr "Avancé"
+
+#: FlatCAMObj.py:792
+msgid "Buffering solid geometry"
+msgstr "Mise en tampon de la géométrie solide"
+
+#: FlatCAMObj.py:795 camlib.py:612 flatcamGUI/PreferencesUI.py:1269
+#: flatcamTools/ToolNonCopperClear.py:1562
+#: flatcamTools/ToolNonCopperClear.py:1656
+#: flatcamTools/ToolNonCopperClear.py:1668
+#: flatcamTools/ToolNonCopperClear.py:1895
+#: flatcamTools/ToolNonCopperClear.py:1987
+#: flatcamTools/ToolNonCopperClear.py:1999
+msgid "Buffering"
+msgstr "Mise en mémoire tampon"
+
+#: FlatCAMObj.py:801
+msgid "Done"
+msgstr "Terminé"
+
+#: FlatCAMObj.py:842 FlatCAMObj.py:858 FlatCAMObj.py:875
+msgid "Isolating..."
+msgstr "Isoler ..."
+
+#: FlatCAMObj.py:1079 FlatCAMObj.py:1195
+#: flatcamTools/ToolNonCopperClear.py:1591
+#: flatcamTools/ToolNonCopperClear.py:1919
+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:1116 FlatCAMObj.py:3323 FlatCAMObj.py:3590 FlatCAMObj.py:3862
+msgid "Rough"
+msgstr "Rugueux"
+
+#: FlatCAMObj.py:1141 FlatCAMObj.py:1218
+msgid "Isolation geometry created"
+msgstr "Géométrie d'isolement créée"
+
+#: FlatCAMObj.py:1150 FlatCAMObj.py:1225
+msgid "Subtracting Geo"
+msgstr "Soustraction Geo"
+
+#: FlatCAMObj.py:1436
+msgid "Plotting Apertures"
+msgstr "Traçage des ouvertures"
+
+#: FlatCAMObj.py:2187 flatcamEditors/FlatCAMExcEditor.py:2320
+msgid "Total Drills"
+msgstr "Total Forage"
+
+#: FlatCAMObj.py:2219 flatcamEditors/FlatCAMExcEditor.py:2352
+msgid "Total Slots"
+msgstr "Total de Fentes"
+
+#: FlatCAMObj.py:2427 FlatCAMObj.py:3702 FlatCAMObj.py:3996 FlatCAMObj.py:4187
+#: FlatCAMObj.py:4198 FlatCAMObj.py:4316 FlatCAMObj.py:4524 FlatCAMObj.py:4646
+#: FlatCAMObj.py:4809 FlatCAMObj.py:5328
+#: flatcamEditors/FlatCAMExcEditor.py:2427
+#: flatcamEditors/FlatCAMGeoEditor.py:1081
+#: flatcamEditors/FlatCAMGeoEditor.py:1118
+#: flatcamEditors/FlatCAMGeoEditor.py:1139
+#: flatcamEditors/FlatCAMGeoEditor.py:1160
+#: flatcamEditors/FlatCAMGeoEditor.py:1197
+#: flatcamEditors/FlatCAMGeoEditor.py:1229
+#: flatcamEditors/FlatCAMGeoEditor.py:1250
+#: flatcamEditors/FlatCAMGrbEditor.py:5361
+#: flatcamEditors/FlatCAMGrbEditor.py:5404
+#: flatcamEditors/FlatCAMGrbEditor.py:5431
+#: flatcamEditors/FlatCAMGrbEditor.py:5458
+#: flatcamEditors/FlatCAMGrbEditor.py:5499
+#: flatcamEditors/FlatCAMGrbEditor.py:5537
+#: flatcamEditors/FlatCAMGrbEditor.py:5563 flatcamTools/ToolCalculators.py:311
+#: flatcamTools/ToolCalculators.py:322 flatcamTools/ToolCalculators.py:334
+#: flatcamTools/ToolCalculators.py:349 flatcamTools/ToolCalculators.py:362
+#: flatcamTools/ToolCalculators.py:376 flatcamTools/ToolCalculators.py:387
+#: flatcamTools/ToolCalculators.py:398 flatcamTools/ToolCalculators.py:409
+#: flatcamTools/ToolFilm.py:248 flatcamTools/ToolFilm.py:254
+#: flatcamTools/ToolNonCopperClear.py:877
+#: flatcamTools/ToolNonCopperClear.py:888
+#: flatcamTools/ToolNonCopperClear.py:898
+#: flatcamTools/ToolNonCopperClear.py:916
+#: flatcamTools/ToolNonCopperClear.py:995
+#: flatcamTools/ToolNonCopperClear.py:1077
+#: flatcamTools/ToolNonCopperClear.py:1370
+#: flatcamTools/ToolNonCopperClear.py:1402 flatcamTools/ToolPaint.py:713
+#: flatcamTools/ToolPaint.py:788 flatcamTools/ToolPaint.py:936
+#: flatcamTools/ToolPaint.py:990 flatcamTools/ToolPaint.py:1275
+#: flatcamTools/ToolPaint.py:1552 flatcamTools/ToolPaint.py:2029
+#: flatcamTools/ToolPanelize.py:397 flatcamTools/ToolPanelize.py:409
+#: flatcamTools/ToolPanelize.py:422 flatcamTools/ToolPanelize.py:435
+#: flatcamTools/ToolPanelize.py:447 flatcamTools/ToolPanelize.py:458
+#: flatcamTools/ToolSolderPaste.py:764 flatcamTools/ToolSolderPaste.py:839
+#: flatcamTools/ToolTransform.py:474 flatcamTools/ToolTransform.py:508
+#: flatcamTools/ToolTransform.py:526 flatcamTools/ToolTransform.py:544
+#: flatcamTools/ToolTransform.py:578 flatcamTools/ToolTransform.py:607
+#: flatcamTools/ToolTransform.py:625
+msgid "Wrong value format entered, use a number."
+msgstr "Mauvais format de valeur entré, utilisez un nombre."
+
+#: FlatCAMObj.py:2668 FlatCAMObj.py:2760 FlatCAMObj.py:2881
+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:2674
+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:2689 FlatCAMObj.py:2782 FlatCAMObj.py:2900
+msgid "Tool_nr"
+msgstr "Numéro d'outil"
+
+#: FlatCAMObj.py:2689 FlatCAMObj.py:2782 FlatCAMObj.py:2900
+#: flatcamEditors/FlatCAMExcEditor.py:1500
+#: flatcamEditors/FlatCAMExcEditor.py:2935 flatcamGUI/ObjectUI.py:617
+#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106
+#: flatcamTools/ToolPcbWizard.py:76 flatcamTools/ToolSolderPaste.py:81
+msgid "Diameter"
+msgstr "Diamètre"
+
+#: FlatCAMObj.py:2689 FlatCAMObj.py:2782 FlatCAMObj.py:2900
+msgid "Drills_Nr"
+msgstr "Forets Nr"
+
+#: FlatCAMObj.py:2689 FlatCAMObj.py:2782 FlatCAMObj.py:2900
+msgid "Slots_Nr"
+msgstr "Fentes Nr"
+
+#: FlatCAMObj.py:2769
+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:2941 FlatCAMObj.py:5022
+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:2952 FlatCAMObj.py:5033
+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:2982 FlatCAMObj.py:4908 FlatCAMObj.py:4914 FlatCAMObj.py:5068
+msgid "Generating CNC Code"
+msgstr "Génération de code CNC"
+
+#: FlatCAMObj.py:3008 camlib.py:5757 camlib.py:6741
+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 ""
+"Le champ Toolchange X, Y dans Edition -> Préférences doit être au format (x, "
+"y)\n"
+"mais maintenant il n'y a qu'une seule valeur, pas deux."
+
+#: FlatCAMObj.py:3323 FlatCAMObj.py:4238 FlatCAMObj.py:4239 FlatCAMObj.py:4248
+msgid "Iso"
+msgstr "Iso"
+
+#: FlatCAMObj.py:3323
+msgid "Finish"
+msgstr "Finition"
+
+#: FlatCAMObj.py:3626 flatcamGUI/FlatCAMGUI.py:552 flatcamGUI/FlatCAMGUI.py:759
+#: flatcamGUI/FlatCAMGUI.py:1692 flatcamGUI/FlatCAMGUI.py:1789
+#: flatcamGUI/FlatCAMGUI.py:2193 flatcamGUI/ObjectUI.py:1066
+#: flatcamTools/ToolPanelize.py:540 flatcamTools/ToolPanelize.py:567
+#: flatcamTools/ToolPanelize.py:667 flatcamTools/ToolPanelize.py:701
+#: flatcamTools/ToolPanelize.py:766
+msgid "Copy"
+msgstr "Copie"
+
+#: FlatCAMObj.py:3833
+msgid "Please enter the desired tool diameter in Float format."
+msgstr "Veuillez saisir le diamètre de l'outil souhaité au format réel."
+
+#: FlatCAMObj.py:3907
+msgid "Tool added in Tool Table."
+msgstr "Outil ajouté dans la table d'outils."
+
+#: FlatCAMObj.py:3911
+msgid "Default Tool added. Wrong value format entered."
+msgstr "Outil par défaut ajouté. Format de valeur incorrect entré."
+
+#: FlatCAMObj.py:3944 FlatCAMObj.py:3953
+msgid "Failed. Select a tool to copy."
+msgstr "Échoué. Sélectionnez un outil à copier."
+
+#: FlatCAMObj.py:3981
+msgid "Tool was copied in Tool Table."
+msgstr "L'outil a été copié dans la table d'outils."
+
+#: FlatCAMObj.py:4011
+msgid "Tool was edited in Tool Table."
+msgstr "L'outil a été édité dans Tool Table."
+
+#: FlatCAMObj.py:4040 FlatCAMObj.py:4049
+msgid "Failed. Select a tool to delete."
+msgstr "Échoué. Sélectionnez un outil à supprimer."
+
+#: FlatCAMObj.py:4072
+msgid "Tool was deleted in Tool Table."
+msgstr "L'outil a été supprimé dans la table d'outils."
+
+#: FlatCAMObj.py:4504
+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:4506
+msgid "geometry"
+msgstr "geometry"
+
+#: FlatCAMObj.py:4549
+msgid "Failed. No tool selected in the tool table ..."
+msgstr "Échoué. Aucun outil sélectionné dans la table d'outils ..."
+
+#: FlatCAMObj.py:4651 FlatCAMObj.py:4815
+msgid ""
+"Tool Offset is selected in Tool Table but no value is provided.\n"
+"Add a Tool Offset or change the Offset Type."
+msgstr ""
+"Le décalage d’outil est sélectionné dans Tableau d’outils mais aucune valeur "
+"n’est fournie.\n"
+"Ajoutez un décalage d'outil ou changez le type de décalage."
+
+#: FlatCAMObj.py:4716 FlatCAMObj.py:4875
+msgid "G-Code parsing in progress..."
+msgstr "Analyse du code G en cours ..."
+
+#: FlatCAMObj.py:4718 FlatCAMObj.py:4877
+msgid "G-Code parsing finished..."
+msgstr "L'analyse du code G est terminée ..."
+
+#: FlatCAMObj.py:4726
+msgid "Finished G-Code processing"
+msgstr "Traitement du code G terminé"
+
+#: FlatCAMObj.py:4728 FlatCAMObj.py:4889
+msgid "G-Code processing failed with error"
+msgstr "Le traitement du code G a échoué avec une erreur"
+
+#: FlatCAMObj.py:4776 flatcamTools/ToolSolderPaste.py:1187
+msgid "Cancelled. Empty file, it has no geometry"
+msgstr "Annulé. Fichier vide, il n'a pas de géométrie"
+
+#: FlatCAMObj.py:4887 FlatCAMObj.py:5061
+msgid "Finished G-Code processing..."
+msgstr "Traitement terminé du code G ..."
+
+#: FlatCAMObj.py:4911 FlatCAMObj.py:4917 FlatCAMObj.py:5071
+msgid "CNCjob created"
+msgstr "CNCjob créé"
+
+#: FlatCAMObj.py:5103 FlatCAMObj.py:5113 camlib.py:3679 camlib.py:3689
+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:5187
+msgid "Geometry Scale done."
+msgstr "Échelle de géométrie terminée."
+
+#: FlatCAMObj.py:5204 camlib.py:3783
+msgid ""
+"An (x,y) pair of values are needed. Probable you entered only one value in "
+"the Offset field."
+msgstr ""
+"Une paire de valeurs (x, y) est nécessaire. Vous avez probablement entré une "
+"seule valeur dans le champ Décalage."
+
+#: FlatCAMObj.py:5258
+msgid "Geometry Offset done."
+msgstr "Décalage de géométrie effectué."
+
+#: FlatCAMObj.py:5287
+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 ""
+"Le champ Toolchange X, Y dans Edition -> Préférences doit être au format (x, "
+"y)\n"
+"mais maintenant il n'y a qu'une seule valeur, pas deux."
+
+#: FlatCAMObj.py:5766
+msgid "<span style=\"color:green;\"><b>Basic</b></span>"
+msgstr "<span style=\"color:green;\"><b>De base</b></span>"
+
+#: FlatCAMObj.py:5772
+msgid "<span style=\"color:red;\"><b>Advanced</b></span>"
+msgstr "<span style=\"color:red;\"><b>Avancé</b></span>"
+
+#: FlatCAMObj.py:5815
+msgid "Plotting..."
+msgstr "Traçage..."
+
+#: FlatCAMObj.py:5839 FlatCAMObj.py:5844 flatcamTools/ToolSolderPaste.py:1393
+msgid "Export Machine Code ..."
+msgstr "Exporter le code machine ..."
+
+#: FlatCAMObj.py:5850 flatcamTools/ToolSolderPaste.py:1397
+msgid "Export Machine Code cancelled ..."
+msgstr "Exporter le code machine annulé ..."
+
+#: FlatCAMObj.py:5868
+msgid "Machine Code file saved to"
+msgstr "Fichier de code machine enregistré dans"
+
+#: FlatCAMObj.py:5901
+msgid "Loaded Machine Code into Code Editor"
+msgstr "Code machine chargé dans l'éditeur de code"
+
+#: FlatCAMObj.py:6013
+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:6015
+msgid "CNCJob object"
+msgstr "Objet CNCJob"
+
+#: FlatCAMObj.py:6067
+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"
+
+#: FlatCAMObj.py:6079
+msgid "Cancelled. The Toolchange Custom code is enabled but it's empty."
+msgstr "Annulé. Le code personnalisé Toolchange est activé mais vide."
+
+#: FlatCAMObj.py:6085
+msgid "Toolchange G-code was replaced by a custom code."
+msgstr "Toolchange G-code a été remplacé par un code personnalisé."
+
+#: FlatCAMObj.py:6122 FlatCAMObj.py:6132
+msgid ""
+"The used postprocessor 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:6136
+msgid "There is no postprocessor file."
+msgstr "Il n'y a pas de fichier de post-processeur."
+
+#: FlatCAMProcess.py:172
+msgid "processes running."
+msgstr "processus en cours d'exécution."
+
+#: FlatCAMTranslation.py:92
+msgid "The application will restart."
+msgstr "L'application va redémarrer."
+
+#: FlatCAMTranslation.py:94
+msgid "Are you sure do you want to change the current language to"
+msgstr "Etes-vous sûr de vouloir changer la langue actuelle en"
+
+#: FlatCAMTranslation.py:95
+msgid "Apply Language ..."
+msgstr "Appliquer la langue ..."
+
+#: ObjectCollection.py:426
+#, python-brace-format
+msgid "Object renamed from <b>{old}</b> to <b>{new}</b>"
+msgstr "Objet renommé de <b>{old}</b> à <b>{new}</b>"
+
+#: ObjectCollection.py:766
+msgid "Cause of error"
+msgstr "Cause d'erreur"
+
+#: camlib.py:223
+msgid "self.solid_geometry is neither BaseGeometry or list."
+msgstr "self.solid_geometry n'est ni BaseGeometry ni une liste."
+
+#: camlib.py:602
+msgid "Pass"
+msgstr "Passer"
+
+#: camlib.py:622
+msgid "Get Exteriors"
+msgstr "Obtenir des Ext."
+
+#: camlib.py:625
+msgid "Get Interiors"
+msgstr "Obtenez des Int."
+
+#: camlib.py:1547
+msgid "Object was mirrored"
+msgstr "L'objet a été reflété"
+
+#: camlib.py:1550
+msgid "Failed to mirror. No object selected"
+msgstr "Impossible de refléter. Aucun objet sélectionné"
+
+#: camlib.py:1619
+msgid "Object was rotated"
+msgstr "L'objet a été tourné"
+
+#: camlib.py:1622
+msgid "Failed to rotate. No object selected"
+msgstr "Échec de la rotation. Aucun objet sélectionné"
+
+#: camlib.py:1690
+msgid "Object was skewed"
+msgstr "L'objet était de biaiser"
+
+#: camlib.py:1693
+msgid "Failed to skew. No object selected"
+msgstr "Impossible de biaiser. Aucun objet sélectionné"
+
+#: camlib.py:2470
+msgid "Gerber processing. Parsing"
+msgstr "Traitement Gerber. L'analyse"
+
+#: camlib.py:2470
+msgid "lines"
+msgstr "lignes"
+
+#: camlib.py:2991 camlib.py:3087
+msgid "Coordinates missing, line ignored"
+msgstr "Coordonnées manquantes, ligne ignorée"
+
+#: camlib.py:2993 camlib.py:3089
+msgid "GERBER file might be CORRUPT. Check the file !!!"
+msgstr "Le fichier GERBER est peut-être corrompu. Vérifiez le fichier !!!"
+
+#: camlib.py:3043
+msgid ""
+"Region does not have enough points. File will be processed but there are "
+"parser errors. Line number"
+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"
+
+#: camlib.py:3441
+msgid "Gerber processing. Joining polygons"
+msgstr "Traitement Gerber. Jointure de polygones"
+
+#: camlib.py:3458
+msgid "Gerber processing. Applying Gerber polarity."
+msgstr "Traitement Gerber. Appliquer la polarité de Gerber."
+
+#: camlib.py:3497
+msgid "Gerber Line"
+msgstr "Ligne Gerber"
+
+#: camlib.py:3497
+msgid "Gerber Line Content"
+msgstr "Contenu de la ligne Gerber"
+
+#: camlib.py:3499
+msgid "Gerber Parser ERROR"
+msgstr "Gerber Parser ERREUR"
+
+#: camlib.py:3747
+msgid "Gerber Scale done."
+msgstr "Échelle de Gerber fait."
+
+#: camlib.py:3837
+msgid "Gerber Offset done."
+msgstr "Gerber offset terminé."
+
+#: camlib.py:3914
+msgid "Gerber Mirror done."
+msgstr "Le miroir de Gerber est fait."
+
+#: camlib.py:3983
+msgid "Gerber Skew done."
+msgstr "Gerber incline fait."
+
+#: camlib.py:4044
+msgid "Gerber Rotate done."
+msgstr "La rotation de Gerber est terminée."
+
+#: camlib.py:4331
+msgid "This is GCODE mark"
+msgstr "C'est la marque GCODE"
+
+#: camlib.py:4447
+msgid ""
+"No tool diameter info's. See shell.\n"
+"A tool change event: T"
+msgstr ""
+"Aucune information sur le diamètre de l'outil. Voir shell.\n"
+"Un événement de changement d'outil: T"
+
+#: camlib.py:4450
+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"
+"The user needs to edit the resulting Excellon object and change the "
+"diameters to reflect the real diameters."
+msgstr ""
+"a été trouvé, mais le fichier Excellon ne contient aucune information sur "
+"les diamètres d’outil. Par conséquent, l’application essaiera de le charger "
+"en utilisant des diamètres «faux».\n"
+"L'utilisateur doit modifier l'objet Excellon résultant et modifier les "
+"diamètres pour refléter les diamètres réels."
+
+#: camlib.py:4905
+#, python-brace-format
+msgid ""
+"{e_code} Excellon Parser error.\n"
+"Parsing Failed. Line {l_nr}: {line}\n"
+msgstr ""
+"Erreur {e_code} Excellon Parser.\n"
+"Échec de l'analyse. Ligne {l_nr}: {line}\n"
+
+#: camlib.py:4988
+msgid ""
+"Excellon.create_geometry() -> a drill location was skipped due of not having "
+"a tool associated.\n"
+"Check the resulting GCode."
+msgstr ""
+"Excellon.create_geometry () -> un emplacement d’exploration a été ignoré car "
+"aucun outil n’était associé.\n"
+"Vérifiez le GCode résultant."
+
+#: camlib.py:5662
+msgid "There is no such parameter"
+msgstr "Il n'y a pas de tel paramètre"
+
+#: camlib.py:5734
+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 ""
+"Le paramètre Cut Z a une valeur positive. C'est la valeur de profondeur à "
+"percer dans le matériau.\n"
+"Le paramètre Cut Z doit avoir une valeur négative, en supposant qu'il "
+"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:5742 camlib.py:6417 camlib.py:6767
+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:5794
+msgid "Creating a list of points to drill..."
+msgstr "Création d'une liste de points à explorer ..."
+
+#: camlib.py:5877
+msgid "Starting G-Code"
+msgstr "Démarrer le GCode"
+
+#: camlib.py:5975 camlib.py:6122 camlib.py:6227 camlib.py:6533 camlib.py:6881
+msgid "Starting G-Code for tool with diameter"
+msgstr "Code G de départ pour outil avec diamètre"
+
+#: camlib.py:6032 camlib.py:6179 camlib.py:6285
+msgid "G91 coordinates not implemented"
+msgstr "Coordonnées G91 non implémentées"
+
+#: camlib.py:6038 camlib.py:6185 camlib.py:6291
+msgid "The loaded Excellon file has no drills"
+msgstr "Le fichier Excellon chargé n'a pas d'exercices"
+
+#: camlib.py:6313
+msgid "Finished G-Code generation..."
+msgstr "Fini la génération de code G ..."
+
+#: camlib.py:6390
+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 ""
+"Le champ Toolchange X, Y dans Edition -> Préférences doit être au format (x, "
+"y)\n"
+"mais maintenant il n'y a qu'une seule valeur, pas deux."
+
+#: camlib.py:6403 camlib.py:6753
+msgid ""
+"Cut_Z parameter is None or zero. Most likely a bad combinations of other "
+"parameters."
+msgstr ""
+"Le paramètre Cut_Z est Aucun ou zéro. Très probablement une mauvaise "
+"combinaison d'autres paramètres."
+
+#: camlib.py:6409 camlib.py:6759
+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 ""
+"Le paramètre Cut Z a une valeur positive. C'est la valeur de profondeur à "
+"couper dans le matériau.\n"
+"Le paramètre Cut Z doit avoir une valeur négative, en supposant qu'il "
+"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:6427 camlib.py:6773
+msgid "Travel Z parameter is None or zero."
+msgstr "Le paramètre Voyage Z est Aucun ou zéro."
+
+#: camlib.py:6432 camlib.py:6778
+msgid ""
+"The Travel Z parameter has negative value. It is the height value to travel "
+"between cuts.\n"
+"The Z Travel parameter needs to have a positive value, assuming it is a typo "
+"therefore the app will convert the value to positive.Check the resulting CNC "
+"code (Gcode etc)."
+msgstr ""
+"Le paramètre Travel Z a une valeur négative. C'est la valeur de hauteur pour "
+"voyager entre les coupes.\n"
+"Le paramètre Z voyage doit avoir une valeur positive, en supposant qu'il "
+"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:6440 camlib.py:6786
+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:6455 camlib.py:6805
+msgid "Indexing geometry before generating G-Code..."
+msgstr "Indexer la géométrie avant de générer le code G ..."
+
+#: camlib.py:6516 camlib.py:6867
+msgid "Starting G-Code..."
+msgstr "Démarrer G-Code ..."
+
+#: camlib.py:6603 camlib.py:6951
+msgid "Finished G-Code generation"
+msgstr "Génération de code G terminée"
+
+#: camlib.py:6605
+msgid "paths traced"
+msgstr "chemins tracés"
+
+#: camlib.py:6641
+msgid "Expected a Geometry, got"
+msgstr "Attendait une géométrie, eu"
+
+#: camlib.py:6648
+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:6688
+msgid ""
+"The Tool Offset value is too negative to use for the current_geometry.\n"
+"Raise the value (in module) and try again."
+msgstr ""
+"La valeur de décalage de l'outil est trop négative pour pouvoir être "
+"utilisée pour current_geometry.\n"
+"Augmentez la valeur (dans le module) et essayez à nouveau."
+
+#: camlib.py:6953
+msgid " paths traced."
+msgstr " chemins tracés."
+
+#: camlib.py:6982
+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:7069
+msgid "Finished SolderPste G-Code generation"
+msgstr "Génération de G-Code SolderPaste fini"
+
+#: camlib.py:7071
+msgid "paths traced."
+msgstr "chemins tracés."
+
+#: camlib.py:7544 camlib.py:7822 camlib.py:7925 camlib.py:7972
+msgid "G91 coordinates not implemented ..."
+msgstr "Coordonnées G91 non implémentées ..."
+
+#: flatcamEditors/FlatCAMExcEditor.py:45 flatcamEditors/FlatCAMExcEditor.py:70
+#: flatcamEditors/FlatCAMExcEditor.py:152
+#: flatcamEditors/FlatCAMExcEditor.py:356
+#: flatcamEditors/FlatCAMExcEditor.py:548
+#: flatcamEditors/FlatCAMGrbEditor.py:238
+#: flatcamEditors/FlatCAMGrbEditor.py:243
+msgid "Click to place ..."
+msgstr "Cliquez pour placer ..."
+
+#: flatcamEditors/FlatCAMExcEditor.py:54
+msgid "To add a drill first select a tool"
+msgstr "Pour ajouter une perceuse, sélectionnez d'abord un outil"
+
+#: flatcamEditors/FlatCAMExcEditor.py:117
+msgid "Done. Drill added."
+msgstr "Terminé. Drill ajouté."
+
+#: flatcamEditors/FlatCAMExcEditor.py:160
+msgid "To add an Drill Array first select a tool in Tool Table"
+msgstr ""
+"Pour ajouter une matrice de forage, sélectionnez d'abord un outil dans la "
+"table d'outils."
+
+#: flatcamEditors/FlatCAMExcEditor.py:176
+#: flatcamEditors/FlatCAMExcEditor.py:386
+#: flatcamEditors/FlatCAMExcEditor.py:596
+#: flatcamEditors/FlatCAMExcEditor.py:1098
+#: flatcamEditors/FlatCAMExcEditor.py:1123
+#: flatcamEditors/FlatCAMGrbEditor.py:462
+#: flatcamEditors/FlatCAMGrbEditor.py:1859
+#: flatcamEditors/FlatCAMGrbEditor.py:1887
+msgid "Click on target location ..."
+msgstr "Cliquez sur l'emplacement cible ..."
+
+#: flatcamEditors/FlatCAMExcEditor.py:193
+msgid "Click on the Drill Circular Array Start position"
+msgstr "Cliquez sur la position de départ du tableau de forage circulaire"
+
+#: flatcamEditors/FlatCAMExcEditor.py:215
+#: flatcamEditors/FlatCAMExcEditor.py:635
+#: flatcamEditors/FlatCAMGrbEditor.py:505
+msgid "The value is not Float. Check for comma instead of dot separator."
+msgstr ""
+"La valeur n'est pas réelle. Vérifiez la virgule au lieu du séparateur de "
+"points"
+
+#: flatcamEditors/FlatCAMExcEditor.py:219
+msgid "The value is mistyped. Check the value"
+msgstr "La valeur est mal typée. Vérifiez la valeur"
+
+#: flatcamEditors/FlatCAMExcEditor.py:318
+msgid "Too many drills for the selected spacing angle."
+msgstr "Trop de forages pour l'angle d'espacement sélectionné."
+
+#: flatcamEditors/FlatCAMExcEditor.py:336
+msgid "Done. Drill Array added."
+msgstr "Terminé. Tableau de forage ajouté."
+
+#: flatcamEditors/FlatCAMExcEditor.py:365
+msgid "To add a slot first select a tool"
+msgstr "Pour ajouter un trou de fente, sélectionnez d'abord un outil"
+
+#: flatcamEditors/FlatCAMExcEditor.py:423
+#: flatcamEditors/FlatCAMExcEditor.py:430
+#: flatcamEditors/FlatCAMExcEditor.py:701
+#: flatcamEditors/FlatCAMExcEditor.py:708
+msgid "Value is missing or wrong format. Add it and retry."
+msgstr "Valeur manquante ou format incorrect. Ajoutez-le et réessayez."
+
+#: flatcamEditors/FlatCAMExcEditor.py:529
+msgid "Done. Adding Slot completed."
+msgstr "Terminé. Ajout de la fente terminée."
+
+#: flatcamEditors/FlatCAMExcEditor.py:556
+msgid "To add an Slot Array first select a tool in Tool Table"
+msgstr ""
+"Pour ajouter un tableau de trous de fente, sélectionnez d'abord un outil "
+"dans la table d'outils."
+
+#: flatcamEditors/FlatCAMExcEditor.py:613
+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:639
+#: flatcamEditors/FlatCAMGrbEditor.py:509
+msgid "The value is mistyped. Check the value."
+msgstr "La valeur est mal typée. Vérifiez la valeur."
+
+#: flatcamEditors/FlatCAMExcEditor.py:818
+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:841
+msgid "Done. Slot Array added."
+msgstr "Terminé. Tableau de trous de fente ajouté."
+
+#: flatcamEditors/FlatCAMExcEditor.py:858
+msgid "Click on the Drill(s) to resize ..."
+msgstr "Cliquez sur les forets pour redimensionner ..."
+
+#: flatcamEditors/FlatCAMExcEditor.py:888
+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:978
+#: flatcamEditors/FlatCAMExcEditor.py:1048 flatcamGUI/FlatCAMGUI.py:2708
+#: flatcamGUI/FlatCAMGUI.py:2916 flatcamGUI/FlatCAMGUI.py:3130
+msgid "Cancelled."
+msgstr "Annulé."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1069
+msgid "Done. Drill/Slot Resize completed."
+msgstr ""
+"Terminé. Le redimensionnement des trous de forage / rainure est terminé."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1072
+msgid "Cancelled. No drills/slots selected for resize ..."
+msgstr ""
+"Annulé. Aucun trou de perçage / rainure sélectionné pour le "
+"redimensionnement ..."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1100
+#: flatcamEditors/FlatCAMGrbEditor.py:1861
+msgid "Click on reference location ..."
+msgstr "Cliquez sur l'emplacement de référence ..."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1156
+msgid "Done. Drill(s) Move completed."
+msgstr "Terminé. Foret (s) Déplacement terminé."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1254
+msgid "Done. Drill(s) copied."
+msgstr "Terminé. Percer des trous copiés."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1473 flatcamGUI/PreferencesUI.py:2328
+msgid "Excellon Editor"
+msgstr "Excellent éditeur"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1480
+#: flatcamEditors/FlatCAMGrbEditor.py:2361
+msgid "Name:"
+msgstr "Nom:"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1486 flatcamGUI/ObjectUI.py:597
+#: flatcamGUI/ObjectUI.py:924 flatcamTools/ToolNonCopperClear.py:96
+#: flatcamTools/ToolPaint.py:95 flatcamTools/ToolSolderPaste.py:70
+msgid "Tools Table"
+msgstr "Tableau des outils"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1488 flatcamGUI/ObjectUI.py:599
+msgid ""
+"Tools in this Excellon object\n"
+"when are used for drilling."
+msgstr ""
+"Outils dans cet objet Excellon\n"
+"quand sont utilisés pour le forage."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1508
+msgid "Add/Delete Tool"
+msgstr "Ajouter / Supprimer un outil"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1510
+msgid ""
+"Add/Delete a tool to the tool list\n"
+"for this Excellon object."
+msgstr ""
+"Ajouter / Supprimer un outil à la liste d'outils\n"
+"pour cet objet Excellon."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1518 flatcamGUI/ObjectUI.py:1042
+#: flatcamTools/ToolNonCopperClear.py:212 flatcamTools/ToolPaint.py:162
+msgid "Tool Dia"
+msgstr "Dia. de l'outil"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1520 flatcamGUI/ObjectUI.py:1045
+#: flatcamGUI/PreferencesUI.py:2357
+msgid "Diameter for the new tool"
+msgstr "Diamètre pour le nouvel outil"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1528
+msgid "Add Tool"
+msgstr "Ajouter un Outil"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1530
+msgid ""
+"Add a new tool to the tool list\n"
+"with the diameter specified above."
+msgstr ""
+"Ajouter un nouvel outil à la liste d'outils\n"
+"avec le diamètre spécifié ci-dessus."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1542
+msgid "Delete Tool"
+msgstr "Supprimer l'outil"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1544
+msgid ""
+"Delete a tool in the tool list\n"
+"by selecting a row in the tool table."
+msgstr ""
+"Supprimer un outil dans la liste des outils\n"
+"en sélectionnant une ligne dans la table d'outils."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1562 flatcamGUI/FlatCAMGUI.py:1582
+msgid "Resize Drill(s)"
+msgstr "Redim. les Forets"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1564
+msgid "Resize a drill or a selection of drills."
+msgstr "Redimensionnez une perceuse ou une sélection d'exercices."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1571
+msgid "Resize Dia"
+msgstr "Redim. le dia"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1573
+msgid "Diameter to resize to."
+msgstr "Diamètre à redimensionner."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1581
+msgid "Resize"
+msgstr "Redimensionner"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1583
+msgid "Resize drill(s)"
+msgstr "Redimensionner les forets"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1608 flatcamGUI/FlatCAMGUI.py:1581
+#: flatcamGUI/FlatCAMGUI.py:1781
+msgid "Add Drill Array"
+msgstr "Ajouter un Tableau de Forage"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1610
+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:1616
+msgid ""
+"Select the type of drills array to create.\n"
+"It can be Linear X(Y) or Circular"
+msgstr ""
+"Sélectionnez le type de matrice de trous à créer.\n"
+"Il peut être Linéaire X (Y) ou Circulaire"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1619
+#: flatcamEditors/FlatCAMExcEditor.py:1821
+#: flatcamEditors/FlatCAMGrbEditor.py:2647
+msgid "Linear"
+msgstr "Linéaire"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1620
+#: flatcamEditors/FlatCAMExcEditor.py:1822
+#: flatcamEditors/FlatCAMGrbEditor.py:2648 flatcamGUI/PreferencesUI.py:3303
+#: flatcamTools/ToolNonCopperClear.py:203
+msgid "Circular"
+msgstr "Circulaire"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1628 flatcamGUI/PreferencesUI.py:2367
+msgid "Nr of drills"
+msgstr "Nb de Forages"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1629 flatcamGUI/PreferencesUI.py:2369
+msgid "Specify how many drills to be in the array."
+msgstr "Spécifiez combien d'exercices doivent figurer dans le tableau."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1646
+#: flatcamEditors/FlatCAMExcEditor.py:1693
+#: flatcamEditors/FlatCAMExcEditor.py:1757
+#: flatcamEditors/FlatCAMExcEditor.py:1848
+#: flatcamEditors/FlatCAMExcEditor.py:1895
+#: flatcamEditors/FlatCAMGrbEditor.py:1523
+#: flatcamEditors/FlatCAMGrbEditor.py:2674
+#: flatcamEditors/FlatCAMGrbEditor.py:2719 flatcamGUI/PreferencesUI.py:2461
+msgid "Direction"
+msgstr "Direction"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1648
+#: flatcamEditors/FlatCAMExcEditor.py:1850
+#: flatcamEditors/FlatCAMGrbEditor.py:2676 flatcamGUI/PreferencesUI.py:1517
+#: flatcamGUI/PreferencesUI.py:2384 flatcamGUI/PreferencesUI.py:2515
+msgid ""
+"Direction on which the linear array is oriented:\n"
+"- 'X' - horizontal axis \n"
+"- 'Y' - vertical axis or \n"
+"- 'Angle' - a custom angle for the array inclination"
+msgstr ""
+"Direction sur laquelle le tableau linéaire est orienté:\n"
+"- 'X' - axe horizontal\n"
+"- 'Y' - axe vertical ou\n"
+"- 'Angle' - un angle personnalisé pour l'inclinaison du tableau"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1655
+#: flatcamEditors/FlatCAMExcEditor.py:1766
+#: flatcamEditors/FlatCAMExcEditor.py:1857
+#: flatcamEditors/FlatCAMGrbEditor.py:2683 flatcamGUI/PreferencesUI.py:1523
+#: flatcamGUI/PreferencesUI.py:2390 flatcamGUI/PreferencesUI.py:2470
+#: flatcamGUI/PreferencesUI.py:2521
+msgid "X"
+msgstr "X"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1656
+#: flatcamEditors/FlatCAMExcEditor.py:1767
+#: flatcamEditors/FlatCAMExcEditor.py:1858
+#: flatcamEditors/FlatCAMGrbEditor.py:2684 flatcamGUI/PreferencesUI.py:1524
+#: flatcamGUI/PreferencesUI.py:2391 flatcamGUI/PreferencesUI.py:2471
+#: flatcamGUI/PreferencesUI.py:2522
+msgid "Y"
+msgstr "Y"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1657
+#: flatcamEditors/FlatCAMExcEditor.py:1671
+#: flatcamEditors/FlatCAMExcEditor.py:1705
+#: flatcamEditors/FlatCAMExcEditor.py:1768
+#: flatcamEditors/FlatCAMExcEditor.py:1772
+#: flatcamEditors/FlatCAMExcEditor.py:1859
+#: flatcamEditors/FlatCAMExcEditor.py:1873
+#: flatcamEditors/FlatCAMExcEditor.py:1907
+#: flatcamEditors/FlatCAMGrbEditor.py:2685
+#: flatcamEditors/FlatCAMGrbEditor.py:2698
+#: flatcamEditors/FlatCAMGrbEditor.py:2734 flatcamGUI/PreferencesUI.py:1525
+#: flatcamGUI/PreferencesUI.py:1542 flatcamGUI/PreferencesUI.py:2392
+#: flatcamGUI/PreferencesUI.py:2409 flatcamGUI/PreferencesUI.py:2472
+#: flatcamGUI/PreferencesUI.py:2477 flatcamGUI/PreferencesUI.py:2523
+#: flatcamGUI/PreferencesUI.py:2540 flatcamTools/ToolTransform.py:68
+msgid "Angle"
+msgstr "Angle"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1661
+#: flatcamEditors/FlatCAMExcEditor.py:1863
+#: flatcamEditors/FlatCAMGrbEditor.py:2689 flatcamGUI/PreferencesUI.py:1531
+#: flatcamGUI/PreferencesUI.py:2398 flatcamGUI/PreferencesUI.py:2529
+msgid "Pitch"
+msgstr "Pas"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1663
+#: flatcamEditors/FlatCAMExcEditor.py:1865
+#: flatcamEditors/FlatCAMGrbEditor.py:2691 flatcamGUI/PreferencesUI.py:1533
+#: flatcamGUI/PreferencesUI.py:2400 flatcamGUI/PreferencesUI.py:2531
+msgid "Pitch = Distance between elements of the array."
+msgstr "Pas = Distance entre les éléments du tableau."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1673
+#: flatcamEditors/FlatCAMExcEditor.py:1875
+#: flatcamEditors/FlatCAMGrbEditor.py:2700
+msgid ""
+"Angle at which the linear array is placed.\n"
+"The precision is of max 2 decimals.\n"
+"Min value is: -359.99 degrees.\n"
+"Max value is:  360.00 degrees."
+msgstr ""
+"Angle auquel le tableau linéaire est placé.\n"
+"La précision est de 2 décimales maximum.\n"
+"La valeur minimale est: -359,99 degrés.\n"
+"La valeur maximale est: 360,00 degrés."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1694
+#: flatcamEditors/FlatCAMExcEditor.py:1896
+#: flatcamEditors/FlatCAMGrbEditor.py:2721
+msgid ""
+"Direction for circular array.Can be CW = clockwise or CCW = counter "
+"clockwise."
+msgstr ""
+"Direction pour tableau circulaire. Peut être CW = sens horaire ou CCW = sens "
+"antihoraire."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1701
+#: flatcamEditors/FlatCAMExcEditor.py:1903
+#: flatcamEditors/FlatCAMGrbEditor.py:2729 flatcamGUI/PreferencesUI.py:1561
+#: flatcamGUI/PreferencesUI.py:2141 flatcamGUI/PreferencesUI.py:2428
+#: flatcamGUI/PreferencesUI.py:2559 flatcamGUI/PreferencesUI.py:2884
+msgid "CW"
+msgstr "CW"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1702
+#: flatcamEditors/FlatCAMExcEditor.py:1904
+#: flatcamEditors/FlatCAMGrbEditor.py:2730 flatcamGUI/PreferencesUI.py:1562
+#: flatcamGUI/PreferencesUI.py:2142 flatcamGUI/PreferencesUI.py:2429
+#: flatcamGUI/PreferencesUI.py:2560 flatcamGUI/PreferencesUI.py:2885
+msgid "CCW"
+msgstr "CCW"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1706
+#: flatcamEditors/FlatCAMExcEditor.py:1908
+#: flatcamEditors/FlatCAMGrbEditor.py:2736 flatcamGUI/PreferencesUI.py:1544
+#: flatcamGUI/PreferencesUI.py:1570 flatcamGUI/PreferencesUI.py:2411
+#: flatcamGUI/PreferencesUI.py:2437 flatcamGUI/PreferencesUI.py:2542
+#: flatcamGUI/PreferencesUI.py:2568
+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:1736
+msgid "Slot Parameters"
+msgstr "Paramètres de Fente"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1738
+msgid ""
+"Parameters for adding a slot (hole with oval shape)\n"
+"either single or as an part of an array."
+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:1747 flatcamGUI/PreferencesUI.py:2450
+#: flatcamTools/ToolProperties.py:350
+msgid "Length"
+msgstr "Longueur"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1749 flatcamGUI/PreferencesUI.py:2452
+msgid "Length = The length of the slot."
+msgstr "Longueur = La longueur de la fente."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1759 flatcamGUI/PreferencesUI.py:2463
+msgid ""
+"Direction on which the slot is oriented:\n"
+"- 'X' - horizontal axis \n"
+"- 'Y' - vertical axis or \n"
+"- 'Angle' - a custom angle for the slot inclination"
+msgstr ""
+"Direction sur laquelle la fente est orientée:\n"
+"- 'X' - axe horizontal\n"
+"- 'Y' - axe vertical ou\n"
+"- 'Angle' - un angle personnalisé pour l'inclinaison de la fente"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1774 flatcamGUI/PreferencesUI.py:2479
+msgid ""
+"Angle at which the slot is placed.\n"
+"The precision is of max 2 decimals.\n"
+"Min value is: -359.99 degrees.\n"
+"Max value is:  360.00 degrees."
+msgstr ""
+"Angle auquel la fente est placée.\n"
+"La précision est de 2 décimales maximum.\n"
+"La valeur minimale est: -359,99 degrés.\n"
+"La valeur maximale est: 360,00 degrés."
+
+#: flatcamEditors/FlatCAMExcEditor.py:1807
+msgid "Slot Array Parameters"
+msgstr "Param. de la Matrice de Fentes"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1809
+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:1818
+msgid ""
+"Select the type of slot array to create.\n"
+"It can be Linear X(Y) or Circular"
+msgstr ""
+"Sélectionnez le type de matrice à percer.\n"
+"Il peut être linéaire X (Y) ou circulaire"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1830 flatcamGUI/PreferencesUI.py:2501
+msgid "Nr of slots"
+msgstr "Nb de Fentes"
+
+#: flatcamEditors/FlatCAMExcEditor.py:1831 flatcamGUI/PreferencesUI.py:2503
+msgid "Specify how many slots to be in the array."
+msgstr "Spécifiez le nombre de Fente dans le Tableau."
+
+#: flatcamEditors/FlatCAMExcEditor.py:2439
+msgid ""
+"Tool already in the original or actual tool list.\n"
+"Save and reedit Excellon if you need to add this tool. "
+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:2448 flatcamGUI/FlatCAMGUI.py:3299
+msgid "Added new tool with dia"
+msgstr "Ajout d'un nouvel outil avec dia"
+
+#: flatcamEditors/FlatCAMExcEditor.py:2482
+msgid "Select a tool in Tool Table"
+msgstr "Sélectionner un outil dans la table d'outils"
+
+#: flatcamEditors/FlatCAMExcEditor.py:2515
+msgid "Deleted tool with diameter"
+msgstr "Outil supprimé avec diamètre"
+
+#: flatcamEditors/FlatCAMExcEditor.py:2665
+msgid "Done. Tool edit completed."
+msgstr "Terminé. L'édition de l'outil est terminée."
+
+#: flatcamEditors/FlatCAMExcEditor.py:3211
+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:3215
+msgid "An internal error has ocurred. See Shell.\n"
+msgstr "Une erreur interne s'est produite. Voir Shell.\n"
+
+#: flatcamEditors/FlatCAMExcEditor.py:3221
+msgid "Creating Excellon."
+msgstr "Créer Excellon."
+
+#: flatcamEditors/FlatCAMExcEditor.py:3235
+msgid "Excellon editing finished."
+msgstr "Excellon édition terminée."
+
+#: flatcamEditors/FlatCAMExcEditor.py:3253
+msgid "Cancelled. There is no Tool/Drill selected"
+msgstr "Annulé. Aucun Outil/Foret sélectionné"
+
+#: flatcamEditors/FlatCAMExcEditor.py:3859
+msgid "Done. Drill(s) deleted."
+msgstr "Terminé. Percer des trous supprimés."
+
+#: flatcamEditors/FlatCAMExcEditor.py:3931
+#: flatcamEditors/FlatCAMExcEditor.py:3941
+#: flatcamEditors/FlatCAMGrbEditor.py:4654
+msgid "Click on the circular array Center position"
+msgstr "Cliquez sur le tableau circulaire Position centrale"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:82
+msgid "Buffer distance:"
+msgstr "Distance tampon:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:83
+msgid "Buffer corner:"
+msgstr "Coin tampon:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:85
+msgid ""
+"There are 3 types of corners:\n"
+" - 'Round': the corner is rounded for exterior buffer.\n"
+" - 'Square:' the corner is met in a sharp angle for exterior buffer.\n"
+" - 'Beveled:' the corner is a line that directly connects the features "
+"meeting in the corner"
+msgstr ""
+"Il existe 3 types de coins:\n"
+"  - 'Rond': le coin est arrondi pour le tampon extérieur.\n"
+"  - 'Carré': le coin est formé d'un angle vif pour le tampon extérieur.\n"
+"  - \"Biseauté:\" le coin est une ligne qui relie directement les "
+"fonctionnalités réunies dans le coin"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:91
+#: flatcamEditors/FlatCAMGrbEditor.py:2522
+msgid "Round"
+msgstr "Rond"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:92
+#: flatcamEditors/FlatCAMGrbEditor.py:2523
+msgid "Square"
+msgstr "Carré"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:93
+#: flatcamEditors/FlatCAMGrbEditor.py:2524
+msgid "Beveled"
+msgstr "Biseauté"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:100
+msgid "Buffer Interior"
+msgstr "Tampon Intérieur"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:102
+msgid "Buffer Exterior"
+msgstr "Tampon Extérieur"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:108
+msgid "Full Buffer"
+msgstr "Plein tampon"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:129
+#: flatcamEditors/FlatCAMGeoEditor.py:2721 flatcamGUI/FlatCAMGUI.py:1500
+#: flatcamGUI/PreferencesUI.py:1577
+msgid "Buffer Tool"
+msgstr "Outil Tampon"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:141
+#: flatcamEditors/FlatCAMGeoEditor.py:158
+#: flatcamEditors/FlatCAMGeoEditor.py:175
+#: flatcamEditors/FlatCAMGeoEditor.py:2741
+#: flatcamEditors/FlatCAMGeoEditor.py:2771
+#: flatcamEditors/FlatCAMGeoEditor.py:2801
+#: flatcamEditors/FlatCAMGrbEditor.py:4707
+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-"
+"le et réessayez."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:345
+msgid "Text Tool"
+msgstr "Outil Texte"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:403 flatcamGUI/FlatCAMGUI.py:839
+msgid "Tool"
+msgstr "Outil"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:434 flatcamGUI/ObjectUI.py:264
+#: flatcamGUI/PreferencesUI.py:1117 flatcamGUI/PreferencesUI.py:2614
+#: flatcamGUI/PreferencesUI.py:3546 flatcamGUI/PreferencesUI.py:3706
+#: flatcamTools/ToolCutOut.py:91
+msgid "Tool dia"
+msgstr "Outil dia"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:436 flatcamGUI/PreferencesUI.py:3708
+msgid ""
+"Diameter of the tool to\n"
+"be used in the operation."
+msgstr ""
+"Diamètre de l'outil à\n"
+"être utilisé dans l'opération."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:445 flatcamGUI/PreferencesUI.py:3388
+#: flatcamGUI/PreferencesUI.py:3737 flatcamTools/ToolNonCopperClear.py:283
+#: flatcamTools/ToolPaint.py:205
+msgid "Overlap Rate"
+msgstr "Taux de chevauchement"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:447 flatcamGUI/PreferencesUI.py:3739
+#: flatcamTools/ToolPaint.py:207
+#, python-format
+msgid ""
+"How much (fraction) of the tool width to overlap each tool pass.\n"
+"Example:\n"
+"A value here of 0.25 means 25%% from the tool diameter found above.\n"
+"\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 PCB.\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"
+"Exemple:\n"
+"Une valeur ici de 0,25 signifie 25%% du diamètre de l'outil trouvé ci-"
+"dessus.\n"
+"\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:463 flatcamGUI/PreferencesUI.py:3409
+#: flatcamGUI/PreferencesUI.py:3570 flatcamGUI/PreferencesUI.py:3758
+#: flatcamTools/ToolNonCopperClear.py:303 flatcamTools/ToolPaint.py:226
+msgid "Margin"
+msgstr "Marge"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:465 flatcamGUI/PreferencesUI.py:3760
+#: flatcamTools/ToolPaint.py:228
+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:474 flatcamGUI/PreferencesUI.py:3418
+#: flatcamGUI/PreferencesUI.py:3769 flatcamTools/ToolNonCopperClear.py:312
+#: flatcamTools/ToolPaint.py:237
+msgid "Method"
+msgstr "Méthode"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:476
+msgid ""
+"Algorithm to paint the polygon:<BR><B>Standard</B>: Fixed step inwards."
+"<BR><B>Seed-based</B>: Outwards from seed."
+msgstr ""
+"Algorithme pour peindre le polygone: <BR><B>Standard</B>: pas fixe vers "
+"l’intérieur. <BR><B>Basé sur les semences</B>:vers l’extérieur depuis les "
+"semences."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:482 flatcamGUI/PreferencesUI.py:3427
+#: flatcamGUI/PreferencesUI.py:3778 flatcamTools/ToolNonCopperClear.py:321
+#: flatcamTools/ToolPaint.py:246
+msgid "Standard"
+msgstr "La norme"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:483 flatcamGUI/PreferencesUI.py:3428
+#: flatcamGUI/PreferencesUI.py:3779 flatcamTools/ToolNonCopperClear.py:322
+#: flatcamTools/ToolPaint.py:247
+msgid "Seed-based"
+msgstr "À base de semences"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:484 flatcamGUI/PreferencesUI.py:3429
+#: flatcamGUI/PreferencesUI.py:3780 flatcamTools/ToolNonCopperClear.py:323
+#: flatcamTools/ToolPaint.py:248
+msgid "Straight lines"
+msgstr "Lignes droites"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:489
+msgid "Connect:"
+msgstr "Relier:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:491 flatcamGUI/PreferencesUI.py:3436
+#: flatcamGUI/PreferencesUI.py:3787 flatcamTools/ToolNonCopperClear.py:330
+#: flatcamTools/ToolPaint.py:255
+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:498
+msgid "Contour:"
+msgstr "Contour:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:500 flatcamGUI/PreferencesUI.py:3446
+#: flatcamGUI/PreferencesUI.py:3797 flatcamTools/ToolNonCopperClear.py:339
+#: flatcamTools/ToolPaint.py:264
+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:511 flatcamGUI/FlatCAMGUI.py:1744
+msgid "Paint"
+msgstr "Peindre"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:529 flatcamGUI/FlatCAMGUI.py:674
+#: flatcamGUI/FlatCAMGUI.py:2105 flatcamGUI/ObjectUI.py:1365
+#: flatcamTools/ToolPaint.py:25 flatcamTools/ToolPaint.py:462
+msgid "Paint Tool"
+msgstr "Outil de Peinture"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:566
+msgid "Paint cancelled. No shape selected."
+msgstr "Peinture annulée. Aucune forme sélectionnée."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:578 flatcamTools/ToolCutOut.py:392
+#: flatcamTools/ToolCutOut.py:590 flatcamTools/ToolCutOut.py:760
+#: flatcamTools/ToolCutOut.py:862 flatcamTools/ToolDblSided.py:367
+msgid "Tool diameter value is missing or wrong format. Add it and retry."
+msgstr ""
+"Le diamètre de l'outil est manquant ou le format est incorrect. Ajoutez-le "
+"et réessayez."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:589
+msgid "Overlap value is missing or wrong format. Add it and retry."
+msgstr ""
+"La valeur de chevauchement est manquante ou le format incorrect. Ajoutez-le "
+"et réessayez."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:601
+msgid "Margin distance value is missing or wrong format. Add it and retry."
+msgstr ""
+"La valeur de la distance de la marge est manquante ou un format incorrect. "
+"Ajoutez-le et réessayez."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:609
+#: flatcamEditors/FlatCAMGeoEditor.py:2747
+#: flatcamEditors/FlatCAMGeoEditor.py:2777
+#: flatcamEditors/FlatCAMGeoEditor.py:2807 flatcamGUI/PreferencesUI.py:2610
+#: flatcamTools/ToolProperties.py:113 flatcamTools/ToolProperties.py:139
+msgid "Tools"
+msgstr "Outils"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:620
+#: flatcamEditors/FlatCAMGeoEditor.py:994
+#: flatcamEditors/FlatCAMGrbEditor.py:4890
+#: flatcamEditors/FlatCAMGrbEditor.py:5275 flatcamGUI/FlatCAMGUI.py:685
+#: flatcamGUI/FlatCAMGUI.py:2118 flatcamTools/ToolTransform.py:403
+msgid "Transform Tool"
+msgstr "Outil de Transformation"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:621
+#: flatcamEditors/FlatCAMGeoEditor.py:683
+#: flatcamEditors/FlatCAMGrbEditor.py:4891
+#: flatcamEditors/FlatCAMGrbEditor.py:4953 flatcamTools/ToolTransform.py:24
+#: flatcamTools/ToolTransform.py:82
+msgid "Rotate"
+msgstr "Tourner"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:622
+#: flatcamEditors/FlatCAMGrbEditor.py:4892 flatcamTools/ToolTransform.py:25
+msgid "Skew/Shear"
+msgstr "Inclinaison/Cisaillement"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:623
+#: flatcamEditors/FlatCAMGrbEditor.py:2569
+#: flatcamEditors/FlatCAMGrbEditor.py:4893 flatcamGUI/FlatCAMGUI.py:752
+#: flatcamGUI/FlatCAMGUI.py:1694 flatcamGUI/FlatCAMGUI.py:1771
+#: flatcamGUI/FlatCAMGUI.py:2187 flatcamGUI/ObjectUI.py:79
+#: flatcamGUI/ObjectUI.py:100 flatcamTools/ToolTransform.py:26
+msgid "Scale"
+msgstr "Mise à l'échelle"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:624
+#: flatcamEditors/FlatCAMGrbEditor.py:4894 flatcamTools/ToolTransform.py:27
+msgid "Mirror (Flip)"
+msgstr "Miroir (flip)"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:625
+#: flatcamEditors/FlatCAMGrbEditor.py:4895 flatcamGUI/ObjectUI.py:108
+#: flatcamGUI/ObjectUI.py:127 flatcamGUI/ObjectUI.py:957
+#: flatcamGUI/ObjectUI.py:1522 flatcamGUI/PreferencesUI.py:3469
+#: flatcamTools/ToolNonCopperClear.py:361 flatcamTools/ToolTransform.py:28
+msgid "Offset"
+msgstr "Décalage"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:637
+#: flatcamEditors/FlatCAMGrbEditor.py:4907 flatcamGUI/FlatCAMGUI.py:647
+#: flatcamGUI/FlatCAMGUI.py:2078
+msgid "Editor"
+msgstr "Éditeur"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:669
+#: flatcamEditors/FlatCAMGrbEditor.py:4939
+msgid "Angle:"
+msgstr "Angle:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:671
+#: flatcamEditors/FlatCAMGrbEditor.py:4941 flatcamGUI/PreferencesUI.py:4139
+#: flatcamTools/ToolTransform.py:70
+msgid ""
+"Angle for Rotation action, in degrees.\n"
+"Float number between -360 and 359.\n"
+"Positive numbers for CW motion.\n"
+"Negative numbers for CCW motion."
+msgstr ""
+"Angle d'action en rotation, en degrés.\n"
+"Nombre flottant entre -360 et 359.\n"
+"Nombres positifs pour le mouvement en CW.\n"
+"Nombres négatifs pour le mouvement CCW."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:685
+#: flatcamEditors/FlatCAMGrbEditor.py:4955
+msgid ""
+"Rotate the selected shape(s).\n"
+"The point of reference is the middle of\n"
+"the bounding box for all selected shapes."
+msgstr ""
+"Faites pivoter la ou les formes sélectionnées.\n"
+"Le point de référence est le milieu de\n"
+"le cadre de sélection pour toutes les formes sélectionnées."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:708
+#: flatcamEditors/FlatCAMGrbEditor.py:4978
+msgid "Angle X:"
+msgstr "Angle X:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:710
+#: flatcamEditors/FlatCAMGeoEditor.py:728
+#: flatcamEditors/FlatCAMGrbEditor.py:4980
+#: flatcamEditors/FlatCAMGrbEditor.py:4998 flatcamGUI/PreferencesUI.py:4151
+#: flatcamGUI/PreferencesUI.py:4161 flatcamTools/ToolTransform.py:109
+#: flatcamTools/ToolTransform.py:127
+msgid ""
+"Angle for Skew action, in degrees.\n"
+"Float number between -360 and 359."
+msgstr ""
+"Angle pour l'action asymétrique, en degrés.\n"
+"Nombre flottant entre -360 et 359."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:719
+#: flatcamEditors/FlatCAMGrbEditor.py:4989 flatcamTools/ToolTransform.py:118
+msgid "Skew X"
+msgstr "Fausser X"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:721
+#: flatcamEditors/FlatCAMGeoEditor.py:739
+#: flatcamEditors/FlatCAMGrbEditor.py:4991
+#: flatcamEditors/FlatCAMGrbEditor.py:5009
+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 ""
+"Inclinez / cisaillez la ou les formes sélectionnées.\n"
+"Le point de référence est le milieu de\n"
+"le cadre de sélection pour toutes les formes sélectionnées."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:726
+#: flatcamEditors/FlatCAMGrbEditor.py:4996
+msgid "Angle Y:"
+msgstr "Angle Y:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:737
+#: flatcamEditors/FlatCAMGrbEditor.py:5007 flatcamTools/ToolTransform.py:136
+msgid "Skew Y"
+msgstr "Fausser Y"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:765
+#: flatcamEditors/FlatCAMGrbEditor.py:5035
+msgid "Factor X:"
+msgstr "Facteur X:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:767
+#: flatcamEditors/FlatCAMGrbEditor.py:5037
+msgid "Factor for Scale action over X axis."
+msgstr "Facteur pour l'action de mise à l'échelle sur l'axe X."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:775
+#: flatcamEditors/FlatCAMGrbEditor.py:5045 flatcamTools/ToolTransform.py:174
+msgid "Scale X"
+msgstr "Mise à l'échelle X"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:777
+#: flatcamEditors/FlatCAMGeoEditor.py:794
+#: flatcamEditors/FlatCAMGrbEditor.py:5047
+#: flatcamEditors/FlatCAMGrbEditor.py:5064
+msgid ""
+"Scale the selected shape(s).\n"
+"The point of reference depends on \n"
+"the Scale reference checkbox state."
+msgstr ""
+"Mettez à l'échelle la ou les formes sélectionnées.\n"
+"Le point de référence dépend de\n"
+"l'état de la case à cocher référence d'échelle."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:782
+#: flatcamEditors/FlatCAMGrbEditor.py:5052
+msgid "Factor Y:"
+msgstr "Facteur Y:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:784
+#: flatcamEditors/FlatCAMGrbEditor.py:5054
+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:792
+#: flatcamEditors/FlatCAMGrbEditor.py:5062 flatcamTools/ToolTransform.py:191
+msgid "Scale Y"
+msgstr "Mise à l'échelle Y"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:801
+#: flatcamEditors/FlatCAMGrbEditor.py:5071 flatcamGUI/PreferencesUI.py:4186
+#: flatcamTools/ToolTransform.py:200
+msgid "Link"
+msgstr "Lien"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:803
+#: flatcamEditors/FlatCAMGrbEditor.py:5073
+msgid ""
+"Scale the selected shape(s)\n"
+"using the Scale Factor X for both axis."
+msgstr ""
+"Mettre à l'échelle les formes sélectionnées\n"
+"en utilisant le facteur d'échelle X pour les deux axes."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:809
+#: flatcamEditors/FlatCAMGrbEditor.py:5079 flatcamGUI/PreferencesUI.py:4194
+#: flatcamTools/ToolTransform.py:209
+msgid "Scale Reference"
+msgstr "Référence d'échelle"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:811
+#: flatcamEditors/FlatCAMGrbEditor.py:5081
+msgid ""
+"Scale the selected shape(s)\n"
+"using the origin reference when checked,\n"
+"and the center of the biggest bounding box\n"
+"of the selected shapes when unchecked."
+msgstr ""
+"Mettre à l'échelle les formes sélectionnées\n"
+"en utilisant la référence d'origine lorsqu'elle est cochée,\n"
+"et le centre de la plus grande boîte englobante\n"
+"des formes sélectionnées quand elle est décochée."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:839
+#: flatcamEditors/FlatCAMGrbEditor.py:5110
+msgid "Value X:"
+msgstr "Valeur X:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:841
+#: flatcamEditors/FlatCAMGrbEditor.py:5112
+msgid "Value for Offset action on X axis."
+msgstr "Valeur pour l'action de décalage sur l'axe X."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:849
+#: flatcamEditors/FlatCAMGrbEditor.py:5120 flatcamTools/ToolTransform.py:249
+msgid "Offset X"
+msgstr "Décalage X"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:851
+#: flatcamEditors/FlatCAMGeoEditor.py:869
+#: flatcamEditors/FlatCAMGrbEditor.py:5122
+#: flatcamEditors/FlatCAMGrbEditor.py:5140
+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 ""
+"Décalez la forme sélectionnée.\n"
+"Le point de référence est le milieu de\n"
+"le cadre de sélection pour toutes les formes sélectionnées.\n"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:857
+#: flatcamEditors/FlatCAMGrbEditor.py:5128
+msgid "Value Y:"
+msgstr "Valeur Y:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:859
+#: flatcamEditors/FlatCAMGrbEditor.py:5130
+msgid "Value for Offset action on Y axis."
+msgstr "Valeur pour l'action offset sur Y axi"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:867
+#: flatcamEditors/FlatCAMGrbEditor.py:5138 flatcamTools/ToolTransform.py:266
+msgid "Offset Y"
+msgstr "Décalage Y"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:898
+#: flatcamEditors/FlatCAMGrbEditor.py:5169 flatcamTools/ToolTransform.py:296
+msgid "Flip on X"
+msgstr "Miroir sur X"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:900
+#: flatcamEditors/FlatCAMGeoEditor.py:908
+#: flatcamEditors/FlatCAMGrbEditor.py:5171
+#: flatcamEditors/FlatCAMGrbEditor.py:5179
+msgid ""
+"Flip the selected shape(s) over the X axis.\n"
+"Does not create a new shape."
+msgstr ""
+"Retournez la ou les formes sélectionnées sur l’axe X.\n"
+"Ne crée pas une nouvelle forme."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:906
+#: flatcamEditors/FlatCAMGrbEditor.py:5177 flatcamTools/ToolTransform.py:304
+msgid "Flip on Y"
+msgstr "Miroir sur Y"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:915
+#: flatcamEditors/FlatCAMGrbEditor.py:5186
+msgid "Ref Pt"
+msgstr "Point de réf"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:917
+#: flatcamEditors/FlatCAMGrbEditor.py:5188
+msgid ""
+"Flip the selected shape(s)\n"
+"around the point in Point Entry Field.\n"
+"\n"
+"The point coordinates can be captured by\n"
+"left click on canvas together with pressing\n"
+"SHIFT key. \n"
+"Then click Add button to insert coordinates.\n"
+"Or enter the coords in format (x, y) in the\n"
+"Point Entry field and click Flip on X(Y)"
+msgstr ""
+"Retourner la ou les formes sélectionnées\n"
+"autour du point dans le champ Entrée de point.\n"
+"\n"
+"Les coordonnées du point peuvent être capturées par\n"
+"clic gauche sur la toile avec appui\n"
+"Touche Majuscule.\n"
+"Cliquez ensuite sur le bouton Ajouter pour insérer les coordonnées.\n"
+"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)."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:929
+#: flatcamEditors/FlatCAMGrbEditor.py:5200
+msgid "Point:"
+msgstr "Point:"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:931
+#: flatcamEditors/FlatCAMGrbEditor.py:5202
+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 ""
+"Coordonnées au format (x, y) utilisées comme référence pour la mise en "
+"miroir.\n"
+"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."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:943
+#: flatcamEditors/FlatCAMGrbEditor.py:5214 flatcamTools/ToolTransform.py:340
+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 ""
+"Les coordonnées du point peuvent être capturées par\n"
+"clic gauche sur la toile avec appui\n"
+"Touche Majuscule. Puis cliquez sur le bouton Ajouter pour insérer."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1059
+#: flatcamEditors/FlatCAMGrbEditor.py:5340
+msgid "Transformation cancelled. No shape selected."
+msgstr "Transformation annulée. Aucune forme sélectionnée."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1268
+#: flatcamEditors/FlatCAMGrbEditor.py:5586
+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:1271
+#: flatcamEditors/FlatCAMGrbEditor.py:5589 flatcamTools/ToolTransform.py:646
+msgid "Appying Rotate"
+msgstr "Appliquer la Rotation"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1300
+#: flatcamEditors/FlatCAMGrbEditor.py:5623
+msgid "Done. Rotate completed."
+msgstr "Terminé. Rotation terminée."
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1306
+msgid "Rotation action was not executed"
+msgstr "L'action de rotation n'a pas été exécutée"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1318
+#: flatcamEditors/FlatCAMGrbEditor.py:5644
+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:1321
+#: flatcamEditors/FlatCAMGrbEditor.py:5647 flatcamTools/ToolTransform.py:699
+msgid "Applying Flip"
+msgstr "Appliquer Flip"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1352
+#: flatcamEditors/FlatCAMGrbEditor.py:5687 flatcamTools/ToolTransform.py:742
+msgid "Flip on the Y axis done"
+msgstr "Tournez sur l'axe des Y fait"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1356
+#: flatcamEditors/FlatCAMGrbEditor.py:5696 flatcamTools/ToolTransform.py:752
+msgid "Flip on the X axis done"
+msgstr "Tournez sur l'axe X terminé"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1367
+msgid "Flip action was not executed"
+msgstr "L'action Flip n'a pas été exécutée"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1377
+#: flatcamEditors/FlatCAMGrbEditor.py:5718
+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:1380
+#: flatcamEditors/FlatCAMGrbEditor.py:5721 flatcamTools/ToolTransform.py:772
+msgid "Applying Skew"
+msgstr "Application de l'inclinaison"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1406
+#: flatcamEditors/FlatCAMGrbEditor.py:5758
+msgid "Skew on the X axis done"
+msgstr "Inclinaison sur l'axe X terminée"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1409
+#: flatcamEditors/FlatCAMGrbEditor.py:5761
+msgid "Skew on the Y axis done"
+msgstr "Inclinaison sur l'axe des Y faite"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1414
+msgid "Skew action was not executed"
+msgstr "L'action de biais n'a pas été exécutée"
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1426
+#: flatcamEditors/FlatCAMGrbEditor.py:5786
+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:1429
+#: flatcamEditors/FlatCAMGrbEditor.py:5789 flatcamTools/ToolTransform.py:824
+msgid "Applying Scale"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1464
+#: flatcamEditors/FlatCAMGrbEditor.py:5829
+msgid "Scale on the X axis done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1467
+#: flatcamEditors/FlatCAMGrbEditor.py:5832
+msgid "Scale on the Y axis done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1471
+msgid "Scale action was not executed"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1481
+#: flatcamEditors/FlatCAMGrbEditor.py:5850
+msgid "No shape selected. Please Select a shape to offset!"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1484
+#: flatcamEditors/FlatCAMGrbEditor.py:5853 flatcamTools/ToolTransform.py:879
+msgid "Applying Offset"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1497
+#: flatcamEditors/FlatCAMGrbEditor.py:5877
+msgid "Offset on the X axis done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1500
+#: flatcamEditors/FlatCAMGrbEditor.py:5880
+msgid "Offset on the Y axis done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1505
+msgid "Offset action was not executed"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1509
+#: flatcamEditors/FlatCAMGrbEditor.py:5889
+msgid "Rotate ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1510
+#: flatcamEditors/FlatCAMGeoEditor.py:1565
+#: flatcamEditors/FlatCAMGeoEditor.py:1582
+#: flatcamEditors/FlatCAMGrbEditor.py:5890
+#: flatcamEditors/FlatCAMGrbEditor.py:5945
+#: flatcamEditors/FlatCAMGrbEditor.py:5962
+msgid "Enter an Angle Value (degrees)"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1519
+#: flatcamEditors/FlatCAMGrbEditor.py:5899
+msgid "Geometry shape rotate done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1523
+#: flatcamEditors/FlatCAMGrbEditor.py:5903
+msgid "Geometry shape rotate cancelled"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1528
+#: flatcamEditors/FlatCAMGrbEditor.py:5908
+msgid "Offset on X axis ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1529
+#: flatcamEditors/FlatCAMGeoEditor.py:1548
+#: flatcamEditors/FlatCAMGrbEditor.py:5909
+#: flatcamEditors/FlatCAMGrbEditor.py:5928
+msgid "Enter a distance Value"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1538
+#: flatcamEditors/FlatCAMGrbEditor.py:5918
+msgid "Geometry shape offset on X axis done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1542
+#: flatcamEditors/FlatCAMGrbEditor.py:5922
+msgid "Geometry shape offset X cancelled"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1547
+#: flatcamEditors/FlatCAMGrbEditor.py:5927
+msgid "Offset on Y axis ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1557
+#: flatcamEditors/FlatCAMGrbEditor.py:5937
+msgid "Geometry shape offset on Y axis done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1561
+msgid "Geometry shape offset on Y axis canceled"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1564
+#: flatcamEditors/FlatCAMGrbEditor.py:5944
+msgid "Skew on X axis ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1574
+#: flatcamEditors/FlatCAMGrbEditor.py:5954
+msgid "Geometry shape skew on X axis done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1578
+msgid "Geometry shape skew on X axis canceled"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1581
+#: flatcamEditors/FlatCAMGrbEditor.py:5961
+msgid "Skew on Y axis ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1591
+#: flatcamEditors/FlatCAMGrbEditor.py:5971
+msgid "Geometry shape skew on Y axis done"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1595
+msgid "Geometry shape skew on Y axis canceled"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1959
+#: flatcamEditors/FlatCAMGeoEditor.py:2011
+#: flatcamEditors/FlatCAMGrbEditor.py:1396
+#: flatcamEditors/FlatCAMGrbEditor.py:1466
+msgid "Click on Center point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1966
+#: flatcamEditors/FlatCAMGrbEditor.py:1404
+msgid "Click on Perimeter point to complete ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:1996
+msgid "Done. Adding Circle completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2031
+#: flatcamEditors/FlatCAMGrbEditor.py:1498
+msgid "Click on Start point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2033
+#: flatcamEditors/FlatCAMGrbEditor.py:1500
+msgid "Click on Point3 ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2035
+#: flatcamEditors/FlatCAMGrbEditor.py:1502
+msgid "Click on Stop point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2040
+#: flatcamEditors/FlatCAMGrbEditor.py:1507
+msgid "Click on Stop point to complete ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2042
+#: flatcamEditors/FlatCAMGrbEditor.py:1509
+msgid "Click on Point2 to complete ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2044
+#: flatcamEditors/FlatCAMGrbEditor.py:1511
+msgid "Click on Center point to complete ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2056
+#, python-format
+msgid "Direction: %s"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2066
+#: flatcamEditors/FlatCAMGrbEditor.py:1533
+msgid "Mode: Start -> Stop -> Center. Click on Start point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2069
+#: flatcamEditors/FlatCAMGrbEditor.py:1536
+msgid "Mode: Point1 -> Point3 -> Point2. Click on Point1 ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2072
+#: flatcamEditors/FlatCAMGrbEditor.py:1539
+msgid "Mode: Center -> Start -> Stop. Click on Center point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2211
+msgid "Done. Arc completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2230
+#: flatcamEditors/FlatCAMGeoEditor.py:2284
+#: flatcamEditors/FlatCAMGeoEditor.py:2657
+msgid "Click on 1st corner ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2236
+msgid "Click on opposite corner to complete ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2265
+msgid "Done. Rectangle completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2291
+msgid "Click on next Point or click right mouse button to complete ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2320
+msgid "Done. Polygon completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2330
+#: flatcamEditors/FlatCAMGeoEditor.py:2376
+#: flatcamEditors/FlatCAMGrbEditor.py:1085
+#: flatcamEditors/FlatCAMGrbEditor.py:1287
+msgid "Backtracked one point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2358
+msgid "Done. Path completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2476
+msgid "MOVE: No shape selected. Select a shape to move"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2478
+#: flatcamEditors/FlatCAMGeoEditor.py:2490
+msgid " MOVE: Click on reference point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2481
+msgid " Click on destination point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2516
+msgid "Done. Geometry(s) Move completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2637
+msgid "Done. Geometry(s) Copy completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2674
+msgid ""
+"Font not supported. Only Regular, Bold, Italic and BoldItalic are supported. "
+"Error"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2682
+msgid "No text to add."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2689
+msgid " Done. Adding Text completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2717
+msgid "Create buffer geometry ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2729
+#: flatcamEditors/FlatCAMGeoEditor.py:2759
+#: flatcamEditors/FlatCAMGeoEditor.py:2789
+msgid "Buffer cancelled. No shape selected."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2754
+#: flatcamEditors/FlatCAMGrbEditor.py:4752
+msgid "Done. Buffer Tool completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2784
+msgid "Done. Buffer Int Tool completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2814
+msgid "Done. Buffer Ext Tool completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2849
+#: flatcamEditors/FlatCAMGrbEditor.py:2068
+msgid "Select a shape to act as deletion area ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2851
+#: flatcamEditors/FlatCAMGeoEditor.py:2870
+#: flatcamEditors/FlatCAMGeoEditor.py:2876
+#: flatcamEditors/FlatCAMGrbEditor.py:2070
+msgid "Click to pick-up the erase shape..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2880
+#: flatcamEditors/FlatCAMGrbEditor.py:2127
+msgid "Click to erase ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2910
+#: flatcamEditors/FlatCAMGrbEditor.py:2161
+msgid "Done. Eraser tool action completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2953
+msgid "Create Paint geometry ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:2967
+#: flatcamEditors/FlatCAMGrbEditor.py:2312
+msgid "Shape transformations ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3570
+msgid "Editing MultiGeo Geometry, tool"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3572
+msgid "with diameter"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3965
+msgid "Copy cancelled. No shape selected."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:3972 flatcamGUI/FlatCAMGUI.py:3011
+#: flatcamGUI/FlatCAMGUI.py:3058 flatcamGUI/FlatCAMGUI.py:3077
+#: flatcamGUI/FlatCAMGUI.py:3209 flatcamGUI/FlatCAMGUI.py:3222
+#: flatcamGUI/FlatCAMGUI.py:3256 flatcamGUI/FlatCAMGUI.py:3318
+msgid "Click on target point."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4215
+#: flatcamEditors/FlatCAMGeoEditor.py:4250
+msgid "A selection of at least 2 geo items is required to do Intersection."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4336
+#: flatcamEditors/FlatCAMGeoEditor.py:4445
+msgid ""
+"Negative buffer value is not accepted. Use Buffer interior to generate an "
+"'inside' shape"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4346
+#: flatcamEditors/FlatCAMGeoEditor.py:4402
+#: flatcamEditors/FlatCAMGeoEditor.py:4454
+msgid "Nothing selected for buffering."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4351
+#: flatcamEditors/FlatCAMGeoEditor.py:4407
+#: flatcamEditors/FlatCAMGeoEditor.py:4459
+msgid "Invalid distance for buffering."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4375
+#: flatcamEditors/FlatCAMGeoEditor.py:4479
+msgid "Failed, the result is empty. Choose a different buffer value."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4386
+msgid "Full buffer geometry created."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4393
+msgid "Negative buffer value is not accepted."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4427
+msgid "Failed, the result is empty. Choose a smaller buffer value."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4438
+msgid "Interior buffer geometry created."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4490
+msgid "Exterior buffer geometry created."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4555
+msgid "Nothing selected for painting."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4562
+msgid "Invalid value for"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4568
+#, python-format
+msgid "Could not do Paint. Overlap value has to be less than 1.00 (100%%)."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4627
+msgid ""
+"Could not do Paint. Try a different combination of parameters. Or a "
+"different method of Paint"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGeoEditor.py:4641
+msgid "Paint done."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:208
+msgid "To add an Pad first select a aperture in Aperture Table"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:215
+#: flatcamEditors/FlatCAMGrbEditor.py:409
+msgid "Aperture size is zero. It needs to be greater than zero."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:366
+#: flatcamEditors/FlatCAMGrbEditor.py:674
+msgid ""
+"Incompatible aperture type. Select an aperture with type 'C', 'R' or 'O'."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:379
+msgid "Done. Adding Pad completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:401
+msgid "To add an Pad Array first select a aperture in Aperture Table"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:479
+msgid "Click on the Pad Circular Array Start position"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:700
+msgid "Too many Pads for the selected spacing angle."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:723
+msgid "Done. Pad Array added."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:744
+msgid "Select shape(s) and then click ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:756
+msgid "Failed. Nothing selected."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:772
+msgid ""
+"Failed. Poligonize works only on geometries belonging to the same aperture."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:826
+msgid "Done. Poligonize completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:879
+#: flatcamEditors/FlatCAMGrbEditor.py:1102
+#: flatcamEditors/FlatCAMGrbEditor.py:1126
+msgid "Corner Mode 1: 45 degrees ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:881
+msgid "Click on 1st point ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:891
+#: flatcamEditors/FlatCAMGrbEditor.py:1202
+msgid "Click on next Point or click Right mouse button to complete ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1090
+#: flatcamEditors/FlatCAMGrbEditor.py:1123
+msgid "Corner Mode 2: Reverse 45 degrees ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1093
+#: flatcamEditors/FlatCAMGrbEditor.py:1120
+msgid "Corner Mode 3: 90 degrees ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1096
+#: flatcamEditors/FlatCAMGrbEditor.py:1117
+msgid "Corner Mode 4: Reverse 90 degrees ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1099
+#: flatcamEditors/FlatCAMGrbEditor.py:1114
+msgid "Corner Mode 5: Free angle ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1153
+#: flatcamEditors/FlatCAMGrbEditor.py:1319
+#: flatcamEditors/FlatCAMGrbEditor.py:1358
+msgid "Track Mode 1: 45 degrees ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1299
+#: flatcamEditors/FlatCAMGrbEditor.py:1353
+msgid "Track Mode 2: Reverse 45 degrees ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1304
+#: flatcamEditors/FlatCAMGrbEditor.py:1348
+msgid "Track Mode 3: 90 degrees ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1309
+#: flatcamEditors/FlatCAMGrbEditor.py:1343
+msgid "Track Mode 4: Reverse 90 degrees ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1314
+#: flatcamEditors/FlatCAMGrbEditor.py:1338
+msgid "Track Mode 5: Free angle ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1720
+msgid "Scale the selected Gerber apertures ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1762
+msgid "Buffer the selected apertures ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1804
+msgid "Mark polygon areas in the edited Gerber ..."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1852
+msgid "Nothing selected to move"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:1976
+msgid "Done. Apertures Move completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2053
+msgid "Done. Apertures copied."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2354 flatcamGUI/FlatCAMGUI.py:1757
+#: flatcamGUI/PreferencesUI.py:1429
+msgid "Gerber Editor"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2374 flatcamGUI/ObjectUI.py:192
+#: flatcamTools/ToolProperties.py:137
+msgid "Apertures"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2376 flatcamGUI/ObjectUI.py:194
+msgid "Apertures Table for the Gerber Object."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2387
+#: flatcamEditors/FlatCAMGrbEditor.py:3687 flatcamGUI/ObjectUI.py:227
+msgid "Code"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2387
+#: flatcamEditors/FlatCAMGrbEditor.py:3687 flatcamGUI/ObjectUI.py:227
+#: flatcamGUI/ObjectUI.py:957 flatcamGUI/ObjectUI.py:1522
+msgid "Type"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2387
+#: flatcamEditors/FlatCAMGrbEditor.py:3687 flatcamGUI/ObjectUI.py:227
+msgid "Size"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2387
+#: flatcamEditors/FlatCAMGrbEditor.py:3687 flatcamGUI/ObjectUI.py:227
+msgid "Dim"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2391 flatcamGUI/ObjectUI.py:231
+msgid "Index"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2393
+#: flatcamEditors/FlatCAMGrbEditor.py:2420 flatcamGUI/ObjectUI.py:233
+msgid "Aperture Code"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2395 flatcamGUI/ObjectUI.py:235
+msgid "Type of aperture: circular, rectangle, macros etc"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2397 flatcamGUI/ObjectUI.py:237
+msgid "Aperture Size:"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2399 flatcamGUI/ObjectUI.py:239
+msgid ""
+"Aperture Dimensions:\n"
+" - (width, height) for R, O type.\n"
+" - (dia, nVertices) for P type"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2422 flatcamGUI/PreferencesUI.py:1458
+msgid "Code for the new aperture"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2430
+msgid "Aperture Size"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2432
+msgid ""
+"Size for the new aperture.\n"
+"If aperture type is 'R' or 'O' then\n"
+"this value is automatically\n"
+"calculated as:\n"
+"sqrt(width**2 + height**2)"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2444
+msgid "Aperture Type"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2446
+msgid ""
+"Select the type of new aperture. Can be:\n"
+"C = circular\n"
+"R = rectangular\n"
+"O = oblong"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2457
+msgid "Aperture Dim"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2459
+msgid ""
+"Dimensions for the new aperture.\n"
+"Active only for rectangular apertures (type R).\n"
+"The format is (width, height)"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2468
+msgid "Add/Delete Aperture"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2470
+msgid "Add/Delete an aperture in the aperture table"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2479
+msgid "Add a new aperture to the aperture list."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2484
+msgid "Delete a aperture in the aperture list"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2501
+msgid "Buffer Aperture"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2503
+msgid "Buffer a aperture in the aperture list"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2513 flatcamGUI/PreferencesUI.py:1581
+msgid "Buffer distance"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2514
+msgid "Buffer corner"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2516
+msgid ""
+"There are 3 types of corners:\n"
+" - 'Round': the corner is rounded.\n"
+" - 'Square:' the corner is met in a sharp angle.\n"
+" - 'Beveled:' the corner is a line that directly connects the features "
+"meeting in the corner"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2531 flatcamGUI/FlatCAMGUI.py:751
+#: flatcamGUI/FlatCAMGUI.py:1692 flatcamGUI/FlatCAMGUI.py:1743
+#: flatcamGUI/FlatCAMGUI.py:1770 flatcamGUI/FlatCAMGUI.py:2186
+msgid "Buffer"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2546
+msgid "Scale Aperture"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2548
+msgid "Scale a aperture in the aperture list"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2556 flatcamGUI/PreferencesUI.py:1594
+msgid "Scale factor"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2558
+msgid ""
+"The factor by which to scale the selected aperture.\n"
+"Values can be between 0.0000 and 999.9999"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2584
+msgid "Mark polygon areas"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2586
+msgid "Mark the polygon areas."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2594
+msgid "Area UPPER threshold"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2596
+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:2602
+msgid "Area LOWER threshold"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2604
+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:2617
+msgid "Go"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2636 flatcamGUI/FlatCAMGUI.py:741
+#: flatcamGUI/FlatCAMGUI.py:1692 flatcamGUI/FlatCAMGUI.py:2176
+msgid "Add Pad Array"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2638
+msgid "Add an array of pads (linear or circular array)"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2644
+msgid ""
+"Select the type of pads array to create.\n"
+"It can be Linear X(Y) or Circular"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2655 flatcamGUI/PreferencesUI.py:1493
+msgid "Nr of pads"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:2657 flatcamGUI/PreferencesUI.py:1495
+msgid "Specify how many pads to be in the array."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3168
+#: flatcamEditors/FlatCAMGrbEditor.py:3172
+msgid "Aperture code value is missing or wrong format. Add it and retry."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3208
+msgid ""
+"Aperture dimensions value is missing or wrong format. Add it in format "
+"(width, height) and retry."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3221
+msgid "Aperture size value is missing or wrong format. Add it and retry."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3232
+msgid "Aperture already in the aperture table."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3240
+msgid "Added new aperture with code"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3269
+msgid " Select an aperture in Aperture Table"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3276
+msgid "Select an aperture in Aperture Table -->"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3300
+msgid "Deleted aperture with code"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3813
+msgid "Adding geometry for aperture"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:3996
+msgid ""
+"There are no Aperture definitions in the file. Aborting Gerber creation."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4006
+msgid "Creating Gerber."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4015
+msgid "Done. Gerber editing finished."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4032
+msgid "Cancelled. No aperture is selected"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4583
+msgid "Failed. No aperture geometry is selected."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4592
+msgid "Done. Apertures geometry deleted."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4735
+msgid "No aperture to buffer. Select at least one aperture and try again."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4748
+msgid "Failed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4767
+msgid "Scale factor value is missing or wrong format. Add it and retry."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4799
+msgid "No aperture to scale. Select at least one aperture and try again."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4815
+msgid "Done. Scale Tool completed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4853
+msgid "Polygon areas marked."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:4856
+msgid "There are no polygons to mark area."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:5627
+msgid "Rotation action was not executed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:5766
+msgid "Skew action was not executed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:5836
+msgid "Scale action was not executed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:5885
+msgid "Offset action was not executed."
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:5941
+msgid "Geometry shape offset Y cancelled"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:5958
+msgid "Geometry shape skew X cancelled"
+msgstr ""
+
+#: flatcamEditors/FlatCAMGrbEditor.py:5975
+msgid "Geometry shape skew Y cancelled"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:47
+msgid "&File"
+msgstr "Fichier"
+
+#: flatcamGUI/FlatCAMGUI.py:52
+msgid "&New Project ...\tCTRL+N"
+msgstr "Nouveau projet ...\tCTRL+N"
+
+#: flatcamGUI/FlatCAMGUI.py:54
+msgid "Will create a new, blank project"
+msgstr "Va créer un nouveau projet vierge"
+
+#: flatcamGUI/FlatCAMGUI.py:59
+msgid "&New"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:62
+msgid "Geometry\tN"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:64
+msgid "Will create a new, empty Geometry Object."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:66
+msgid "Gerber\tB"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:68
+msgid "Will create a new, empty Gerber Object."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:70
+msgid "Excellon\tL"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:72
+msgid "Will create a new, empty Excellon Object."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:75 flatcamGUI/FlatCAMGUI.py:3570
+#: flatcamTools/ToolPcbWizard.py:62 flatcamTools/ToolPcbWizard.py:69
+msgid "Open"
+msgstr "Ouvert"
+
+#: flatcamGUI/FlatCAMGUI.py:79
+msgid "Open &Project ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:85 flatcamGUI/FlatCAMGUI.py:3579
+msgid "Open &Gerber ...\tCTRL+G"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:90 flatcamGUI/FlatCAMGUI.py:3584
+msgid "Open &Excellon ...\tCTRL+E"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:94 flatcamGUI/FlatCAMGUI.py:3588
+msgid "Open G-&Code ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:100
+msgid "Open Config ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:104
+msgid "Recent projects"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:105
+msgid "Recent files"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:111
+msgid "Scripting"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:114 flatcamGUI/FlatCAMGUI.py:666
+#: flatcamGUI/FlatCAMGUI.py:2097
+msgid "New Script ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:115 flatcamGUI/FlatCAMGUI.py:667
+#: flatcamGUI/FlatCAMGUI.py:2098
+msgid "Open Script ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:117 flatcamGUI/FlatCAMGUI.py:668
+#: flatcamGUI/FlatCAMGUI.py:2099 flatcamGUI/FlatCAMGUI.py:3559
+msgid "Run Script ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:119 flatcamGUI/FlatCAMGUI.py:3561
+msgid ""
+"Will run the opened Tcl Script thus\n"
+"enabling the automation of certain\n"
+"functions of FlatCAM."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:132
+msgid "Import"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:134
+msgid "&SVG as Geometry Object ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:137
+msgid "&SVG as Gerber Object ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:142
+msgid "&DXF as Geometry Object ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:145
+msgid "&DXF as Gerber Object ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:150
+msgid "Export"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:153
+msgid "Export &SVG ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:156
+msgid "Export DXF ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:161
+msgid "Export &PNG ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:163
+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:172
+msgid "Export &Excellon ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:174
+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:181
+msgid "Export &Gerber ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:183
+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:199
+msgid "Backup"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:203
+msgid "Import Preferences from file ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:208
+msgid "Export Preferences to file ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:214 flatcamGUI/FlatCAMGUI.py:554
+msgid "Save"
+msgstr "Sauver"
+
+#: flatcamGUI/FlatCAMGUI.py:217
+msgid "&Save Project ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:222
+msgid "Save Project &As ...\tCTRL+S"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:227
+msgid "Save Project C&opy ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:234
+msgid "E&xit"
+msgstr "Sortie"
+
+#: flatcamGUI/FlatCAMGUI.py:240
+msgid "&Edit"
+msgstr "Editer"
+
+#: flatcamGUI/FlatCAMGUI.py:243
+msgid "Edit Object\tE"
+msgstr "Editer un objet\tE"
+
+#: flatcamGUI/FlatCAMGUI.py:244
+msgid "Close Editor\tCTRL+S"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:252
+msgid "Conversion"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:254
+msgid "&Join Geo/Gerber/Exc -> Geo"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:256
+msgid ""
+"Merge a selection of objects, which can be of type:\n"
+"- Gerber\n"
+"- Excellon\n"
+"- Geometry\n"
+"into a new combo Geometry object."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:263
+msgid "Join Excellon(s) -> Excellon"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:265
+msgid "Merge a selection of Excellon objects into a new combo Excellon object."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:268
+msgid "Join Gerber(s) -> Gerber"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:270
+msgid "Merge a selection of Gerber objects into a new combo Gerber object."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:275
+msgid "Convert Single to MultiGeo"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:277
+msgid ""
+"Will convert a Geometry object from single_geometry type\n"
+"to a multi_geometry type."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:281
+msgid "Convert Multi to SingleGeo"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:283
+msgid ""
+"Will convert a Geometry object from multi_geometry type\n"
+"to a single_geometry type."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:289
+msgid "Convert Any to Geo"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:291
+msgid "Convert Any to Gerber"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:296
+msgid "&Copy\tCTRL+C"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:300
+msgid "&Delete\tDEL"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:304
+msgid "Se&t Origin\tO"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:305
+msgid "Jump to Location\tJ"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:310
+msgid "Toggle Units\tQ"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:311
+msgid "&Select All\tCTRL+A"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:315
+msgid "&Preferences\tSHIFT+P"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:318
+msgid "&Options"
+msgstr "Les options"
+
+#: flatcamGUI/FlatCAMGUI.py:333
+msgid "&Rotate Selection\tSHIFT+(R)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:338
+msgid "&Skew on X axis\tSHIFT+X"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:340
+msgid "S&kew on Y axis\tSHIFT+Y"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:345
+msgid "Flip on &X axis\tX"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:347
+msgid "Flip on &Y axis\tY"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:352
+msgid "View source\tALT+S"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:357
+msgid "&View"
+msgstr "&Vue"
+
+#: flatcamGUI/FlatCAMGUI.py:358
+msgid "Enable all plots\tALT+1"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:360
+msgid "Disable all plots\tALT+2"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:362
+msgid "Disable non-selected\tALT+3"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:365
+msgid "&Zoom Fit\tV"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:366
+msgid "&Zoom In\t="
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:367
+msgid "&Zoom Out\t-"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:371
+msgid "Redraw All\tF5"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:375
+msgid "Toggle Code Editor\tCTRL+E"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:378
+msgid "&Toggle FullScreen\tALT+F10"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:380
+msgid "&Toggle Plot Area\tCTRL+F10"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:382
+msgid "&Toggle Project/Sel/Tool\t`"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:385
+msgid "&Toggle Grid Snap\tG"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:387
+msgid "&Toggle Axis\tSHIFT+G"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:390
+msgid "Toggle Workspace\tSHIFT+W"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:393
+msgid "&Tool"
+msgstr "Outil"
+
+#: flatcamGUI/FlatCAMGUI.py:395
+msgid "&Command Line\tS"
+msgstr "&Command Line\tS"
+
+#: flatcamGUI/FlatCAMGUI.py:398
+msgid "&Help"
+msgstr "Aide"
+
+#: flatcamGUI/FlatCAMGUI.py:399
+msgid "Online Help\tF1"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:400
+msgid "FlatCAM.org"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:402
+msgid "Report a bug"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:405
+msgid "Excellon Specification"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:407
+msgid "Gerber Specification"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:412
+msgid "Shortcuts List\tF3"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:413
+msgid "YouTube Channel\tF4"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:422
+msgid "Add Circle\tO"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:424
+msgid "Add Arc\tA"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:427
+msgid "Add Rectangle\tR"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:430
+msgid "Add Polygon\tN"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:432
+msgid "Add Path\tP"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:434
+msgid "Add Text\tT"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:437
+msgid "Polygon Union\tU"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:439
+msgid "Polygon Intersection\tE"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:441
+msgid "Polygon Subtraction\tS"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:445
+msgid "Cut Path\tX"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:447
+msgid "Copy Geom\tC"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:449
+msgid "Delete Shape\tDEL"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:452 flatcamGUI/FlatCAMGUI.py:529
+msgid "Move\tM"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:454
+msgid "Buffer Tool\tB"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:457
+msgid "Paint Tool\tI"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:460
+msgid "Transform Tool\tALT+R"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:464
+msgid "Toggle Corner Snap\tK"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:467
+msgid ">Excellon Editor<"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:471
+msgid "Add Drill Array\tA"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:473
+msgid "Add Drill\tD"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:477
+msgid "Add Slot Array\tQ"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:479
+msgid "Add Slot\tW"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:483
+msgid "Resize Drill(S)\tR"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:485 flatcamGUI/FlatCAMGUI.py:524
+msgid "Copy\tC"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:487 flatcamGUI/FlatCAMGUI.py:526
+msgid "Delete\tDEL"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:492
+msgid "Move Drill(s)\tM"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:495
+msgid ">Gerber Editor<"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:499
+msgid "Add Pad\tP"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:501
+msgid "Add Pad Array\tA"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:503
+msgid "Add Track\tT"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:505
+msgid "Add Region\tN"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:509
+msgid "Poligonize\tALT+N"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:511
+msgid "Add SemiDisc\tE"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:512
+msgid "Add Disc\tD"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:514
+msgid "Buffer\tB"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:515
+msgid "Scale\tS"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:517
+msgid "Mark Area\tALT+A"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:519
+msgid "Eraser\tCTRL+E"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:521
+msgid "Transform\tALT+R"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:545
+msgid "Enable Plot"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:546
+msgid "Disable Plot"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:548
+msgid "Generate CNC"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:549
+msgid "View Source"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:551 flatcamGUI/FlatCAMGUI.py:1791
+msgid "Edit"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:557 flatcamGUI/FlatCAMGUI.py:1797
+#: flatcamTools/ToolProperties.py:24
+msgid "Properties"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:586
+msgid "File Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:590
+msgid "Edit Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:594
+msgid "View Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:598
+msgid "Shell Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:602
+msgid "Tools Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:606
+msgid "Excellon Editor Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:612
+msgid "Geometry Editor Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:616
+msgid "Gerber Editor Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:620
+msgid "Grid Toolbar"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:639 flatcamGUI/FlatCAMGUI.py:2071
+msgid "Open project"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:640 flatcamGUI/FlatCAMGUI.py:2072
+msgid "Save project"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:643 flatcamGUI/FlatCAMGUI.py:2075
+msgid "New Blank Geometry"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:644
+msgid "New Blank Gerber"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:645 flatcamGUI/FlatCAMGUI.py:2076
+msgid "New Blank Excellon"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:649 flatcamGUI/FlatCAMGUI.py:2080
+msgid "Save Object and close the Editor"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:653 flatcamGUI/FlatCAMGUI.py:2084
+msgid "&Delete"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:656 flatcamGUI/FlatCAMGUI.py:2087
+msgid "&Replot"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:657 flatcamGUI/FlatCAMGUI.py:2088
+msgid "&Clear plot"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:658 flatcamGUI/FlatCAMGUI.py:1324
+#: flatcamGUI/FlatCAMGUI.py:2089
+msgid "Zoom In"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:659 flatcamGUI/FlatCAMGUI.py:1324
+#: flatcamGUI/FlatCAMGUI.py:2090
+msgid "Zoom Out"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:660 flatcamGUI/FlatCAMGUI.py:1323
+#: flatcamGUI/FlatCAMGUI.py:1728 flatcamGUI/FlatCAMGUI.py:2091
+msgid "Zoom Fit"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:665 flatcamGUI/FlatCAMGUI.py:2096
+msgid "&Command Line"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:671 flatcamGUI/FlatCAMGUI.py:2102
+msgid "2Sided Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:672 flatcamGUI/FlatCAMGUI.py:2103
+msgid "&Cutout Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:673 flatcamGUI/FlatCAMGUI.py:2104
+#: flatcamGUI/ObjectUI.py:456 flatcamTools/ToolNonCopperClear.py:546
+msgid "NCC Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:677 flatcamGUI/FlatCAMGUI.py:2108
+msgid "Panel Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:678 flatcamGUI/FlatCAMGUI.py:2109
+#: flatcamTools/ToolFilm.py:209
+msgid "Film Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:679 flatcamGUI/FlatCAMGUI.py:2111
+#: flatcamTools/ToolSolderPaste.py:455
+msgid "SolderPaste Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:680 flatcamGUI/FlatCAMGUI.py:2112
+#: flatcamTools/ToolSub.py:28
+msgid "Substract Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:684 flatcamGUI/FlatCAMGUI.py:1329
+#: flatcamGUI/FlatCAMGUI.py:2117
+msgid "Calculators Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:688 flatcamGUI/FlatCAMGUI.py:705
+#: flatcamGUI/FlatCAMGUI.py:739 flatcamGUI/FlatCAMGUI.py:2121
+#: flatcamGUI/FlatCAMGUI.py:2174
+msgid "Select"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:689 flatcamGUI/FlatCAMGUI.py:2122
+msgid "Add Drill Hole"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:691 flatcamGUI/FlatCAMGUI.py:2124
+msgid "Add Drill Hole Array"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:692 flatcamGUI/FlatCAMGUI.py:1583
+#: flatcamGUI/FlatCAMGUI.py:1783 flatcamGUI/FlatCAMGUI.py:2126
+msgid "Add Slot"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:694 flatcamGUI/FlatCAMGUI.py:1582
+#: flatcamGUI/FlatCAMGUI.py:1784 flatcamGUI/FlatCAMGUI.py:2128
+msgid "Add Slot Array"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:695 flatcamGUI/FlatCAMGUI.py:1786
+#: flatcamGUI/FlatCAMGUI.py:2125
+msgid "Resize Drill"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:698 flatcamGUI/FlatCAMGUI.py:2131
+msgid "Copy Drill"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:699 flatcamGUI/FlatCAMGUI.py:2133
+msgid "Delete Drill"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:702 flatcamGUI/FlatCAMGUI.py:2136
+msgid "Move Drill"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:706 flatcamGUI/FlatCAMGUI.py:2140
+msgid "Add Circle"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:707 flatcamGUI/FlatCAMGUI.py:2141
+msgid "Add Arc"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:709 flatcamGUI/FlatCAMGUI.py:2143
+msgid "Add Rectangle"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:712 flatcamGUI/FlatCAMGUI.py:2146
+msgid "Add Path"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:713 flatcamGUI/FlatCAMGUI.py:2148
+msgid "Add Polygon"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:715 flatcamGUI/FlatCAMGUI.py:2150
+msgid "Add Text"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:716 flatcamGUI/FlatCAMGUI.py:2151
+msgid "Add Buffer"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:717 flatcamGUI/FlatCAMGUI.py:2152
+msgid "Paint Shape"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:718 flatcamGUI/FlatCAMGUI.py:756
+#: flatcamGUI/FlatCAMGUI.py:1745 flatcamGUI/FlatCAMGUI.py:1773
+#: flatcamGUI/FlatCAMGUI.py:2153 flatcamGUI/FlatCAMGUI.py:2190
+msgid "Eraser"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:721 flatcamGUI/FlatCAMGUI.py:2156
+msgid "Polygon Union"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:723 flatcamGUI/FlatCAMGUI.py:2158
+msgid "Polygon Intersection"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:725 flatcamGUI/FlatCAMGUI.py:2160
+msgid "Polygon Subtraction"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:728 flatcamGUI/FlatCAMGUI.py:2163
+msgid "Cut Path"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:729
+msgid "Copy Shape(s)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:732
+msgid "Delete Shape '-'"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:734 flatcamGUI/FlatCAMGUI.py:763
+#: flatcamGUI/FlatCAMGUI.py:1752 flatcamGUI/FlatCAMGUI.py:1777
+#: flatcamGUI/FlatCAMGUI.py:2168 flatcamGUI/FlatCAMGUI.py:2197
+msgid "Transformations"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:736
+msgid "Move Objects "
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:740 flatcamGUI/FlatCAMGUI.py:1693
+#: flatcamGUI/FlatCAMGUI.py:2175
+msgid "Add Pad"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:742 flatcamGUI/FlatCAMGUI.py:1694
+#: flatcamGUI/FlatCAMGUI.py:2177
+msgid "Add Track"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:743 flatcamGUI/FlatCAMGUI.py:1693
+#: flatcamGUI/FlatCAMGUI.py:2178
+msgid "Add Region"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:745 flatcamGUI/FlatCAMGUI.py:1765
+#: flatcamGUI/FlatCAMGUI.py:2180
+msgid "Poligonize"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:747 flatcamGUI/FlatCAMGUI.py:1766
+#: flatcamGUI/FlatCAMGUI.py:2182
+msgid "SemiDisc"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:748 flatcamGUI/FlatCAMGUI.py:1767
+#: flatcamGUI/FlatCAMGUI.py:2183
+msgid "Disc"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:754 flatcamGUI/FlatCAMGUI.py:1772
+#: flatcamGUI/FlatCAMGUI.py:2189
+msgid "Mark Area"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:765 flatcamGUI/FlatCAMGUI.py:1693
+#: flatcamGUI/FlatCAMGUI.py:1755 flatcamGUI/FlatCAMGUI.py:1796
+#: flatcamGUI/FlatCAMGUI.py:2199 flatcamTools/ToolMove.py:26
+msgid "Move"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:771 flatcamGUI/FlatCAMGUI.py:2205
+msgid "Snap to grid"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:774 flatcamGUI/FlatCAMGUI.py:2208
+msgid "Grid X snapping distance"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:779 flatcamGUI/FlatCAMGUI.py:2213
+msgid "Grid Y snapping distance"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:785 flatcamGUI/FlatCAMGUI.py:2219
+msgid ""
+"When active, value on Grid_X\n"
+"is copied to the Grid_Y value."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:791 flatcamGUI/FlatCAMGUI.py:2225
+msgid "Snap to corner"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:795 flatcamGUI/FlatCAMGUI.py:2229
+#: flatcamGUI/PreferencesUI.py:278
+msgid "Max. magnet distance"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:822 flatcamGUI/FlatCAMGUI.py:1722
+msgid "Project"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:832
+msgid "Selected"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:851 flatcamGUI/FlatCAMGUI.py:859
+msgid "Plot Area"
+msgstr "Zone de Dessin"
+
+#: flatcamGUI/FlatCAMGUI.py:885
+msgid "General"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:894
+msgid "APP.  DEFAULTS"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:895
+msgid "PROJ. OPTIONS "
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:907 flatcamTools/ToolDblSided.py:47
+msgid "GERBER"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:917 flatcamTools/ToolDblSided.py:71
+msgid "EXCELLON"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:927 flatcamTools/ToolDblSided.py:95
+msgid "GEOMETRY"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:937
+msgid "CNC-JOB"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:946 flatcamGUI/ObjectUI.py:445
+msgid "TOOLS"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:956
+msgid "UTILITIES"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:973
+msgid "Import Preferences"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:976
+msgid ""
+"Import a full set of FlatCAM settings from a file\n"
+"previously saved on HDD.\n"
+"\n"
+"FlatCAM automatically save a 'factory_defaults' file\n"
+"on the first start. Do not delete that file."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:983
+msgid "Export Preferences"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:986
+msgid ""
+"Export a full set of FlatCAM settings in a file\n"
+"that is saved on HDD."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:991
+msgid "Open Pref Folder"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:994
+msgid "Open the folder where FlatCAM save the preferences files."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1005
+msgid ""
+"Save the current settings in the 'current_defaults' file\n"
+"which is the file storing the working default preferences."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1318
+msgid "SHOW SHORTCUT LIST"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1318
+msgid "Switch to Project Tab"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1318
+msgid "Switch to Selected Tab"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1319
+msgid "Switch to Tool Tab"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1320
+msgid "New Gerber"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1320
+msgid "Edit Object (if selected)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1320
+msgid "Jump to Coordinates"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1321
+msgid "New Excellon"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1321
+msgid "Move Obj"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1321
+msgid "New Geometry"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1321
+msgid "Set Origin"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1321
+msgid "Change Units"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1322
+msgid "Open Properties Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1322
+msgid "Rotate by 90 degree CW"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1322
+msgid "Shell Toggle"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1323
+msgid ""
+"Add a Tool (when in Geometry Selected Tab or in Tools NCC or Tools Paint)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1324
+msgid "Flip on X_axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1324
+msgid "Flip on Y_axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1324
+msgid "Select All"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1324
+msgid "Copy Obj"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1325
+msgid "Open Excellon File"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1325
+msgid "Open Gerber File"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1325
+msgid "New Project"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1325 flatcamGUI/FlatCAMGUI.py:1507
+msgid "Measurement Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1326
+msgid "Save Project As"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1326
+msgid "Toggle Plot Area"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1326
+msgid "Copy Obj_Name"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1327
+msgid "Toggle Code Editor"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1327
+msgid "Toggle the axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1327
+msgid "Open Preferences Window"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1328
+msgid "Rotate by 90 degree CCW"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1328
+msgid "Run a Script"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1328
+msgid "Toggle the workspace"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1328
+msgid "Skew on X axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1329
+msgid "Skew on Y axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1329
+msgid "2-Sided PCB Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1329
+msgid "Solder Paste Dispensing Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1330
+msgid "Film PCB Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1330
+msgid "Non-Copper Clearing Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1331
+msgid "Paint Area Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1331 flatcamTools/ToolPDF.py:38
+msgid "PDF Import Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1331
+msgid "Transformations Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1331
+msgid "View File Source"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1332
+msgid "Cutout PCB Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1332
+msgid "Enable all Plots"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1332
+msgid "Disable all Plots"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1332
+msgid "Disable Non-selected Plots"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1333
+msgid "Toggle Full Screen"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1333
+msgid "Abort current task (gracefully)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1333
+msgid "Open Online Manual"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1334
+msgid "Open Online Tutorials"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1334
+msgid "Refresh Plots"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1334 flatcamTools/ToolSolderPaste.py:412
+msgid "Delete Object"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1334
+msgid "Alternate: Delete Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1335
+msgid "(left to Key_1)Toogle Notebook Area (Left Side)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1335
+msgid "En(Dis)able Obj Plot"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1336
+msgid "Deselects all objects"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1350
+msgid "Editor Shortcut list"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1500
+msgid "GEOMETRY EDITOR"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1500
+msgid "Draw an Arc"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1500
+msgid "Copy Geo Item"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1501
+msgid "Within Add Arc will toogle the ARC direction: CW or CCW"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1501
+msgid "Polygon Intersection Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1502
+msgid "Geo Paint Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1502 flatcamGUI/FlatCAMGUI.py:1582
+#: flatcamGUI/FlatCAMGUI.py:1693
+msgid "Jump to Location (x, y)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1502
+msgid "Toggle Corner Snap"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1502
+msgid "Move Geo Item"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1503
+msgid "Within Add Arc will cycle through the ARC modes"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1503
+msgid "Draw a Polygon"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1503
+msgid "Draw a Circle"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1504
+msgid "Draw a Path"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1504
+msgid "Draw Rectangle"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1504
+msgid "Polygon Subtraction Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1504
+msgid "Add Text Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1505
+msgid "Polygon Union Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1505
+msgid "Flip shape on X axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1505
+msgid "Flip shape on Y axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1505
+msgid "Skew shape on X axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1506
+msgid "Skew shape on Y axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1506
+msgid "Editor Transformation Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1506
+msgid "Offset shape on X axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1507
+msgid "Offset shape on Y axis"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1507 flatcamGUI/FlatCAMGUI.py:1584
+#: flatcamGUI/FlatCAMGUI.py:1697
+msgid "Save Object and Exit Editor"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1507
+msgid "Polygon Cut Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1508
+msgid "Rotate Geometry"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1508
+msgid "Finish drawing for certain tools"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1508 flatcamGUI/FlatCAMGUI.py:1584
+#: flatcamGUI/FlatCAMGUI.py:1696
+msgid "Abort and return to Select"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1509 flatcamGUI/FlatCAMGUI.py:2166
+msgid "Delete Shape"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1581
+msgid "EXCELLON EDITOR"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1581
+msgid "Copy Drill(s)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1581 flatcamGUI/FlatCAMGUI.py:1780
+msgid "Add Drill"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1582
+msgid "Move Drill(s)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1583
+msgid "Add a new Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1583
+msgid "Delete Drill(s)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1583
+msgid "Alternate: Delete Tool(s)"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1692
+msgid "GERBER EDITOR"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1692
+msgid "Add Disc"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1692
+msgid "Add SemiDisc"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1694
+msgid "Within Track & Region Tools will cycle in REVERSE the bend modes"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1695
+msgid "Within Track & Region Tools will cycle FORWARD the bend modes"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1696
+msgid "Alternate: Delete Apertures"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1696
+msgid "Eraser Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1697 flatcamGUI/PreferencesUI.py:1603
+msgid "Mark Area Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1697
+msgid "Poligonize Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1697
+msgid "Transformation Tool"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1713
+msgid "Toggle Visibility"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1714
+msgid "Toggle Panel"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1717
+msgid "New"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1718
+msgid "Geometry"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1720
+msgid "Excellon"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1725
+msgid "Grids"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1727
+msgid "View"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1729
+msgid "Clear Plot"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1730
+msgid "Replot"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1733
+msgid "Geo Editor"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1734
+msgid "Path"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1735
+msgid "Rectangle"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1737
+msgid "Circle"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1738
+msgid "Polygon"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1739
+msgid "Arc"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1742
+msgid "Text"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1748
+msgid "Union"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1749
+msgid "Intersection"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1750
+msgid "Substraction"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1751 flatcamGUI/ObjectUI.py:1414
+#: flatcamGUI/PreferencesUI.py:2994
+msgid "Cut"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1758
+msgid "Pad"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1759
+msgid "Pad Array"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1762
+msgid "Track"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1763
+msgid "Region"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1779
+msgid "Exc Editor"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1829
+msgid "Print Preview"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1830
+msgid "Open a OS standard Preview Print window."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1831
+msgid "Print Code"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1832
+msgid "Open a OS standard Print window."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1834
+msgid "Find in Code"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1835
+msgid "Will search and highlight in yellow the string in the Find box."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1841
+msgid "Find box. Enter here the strings to be searched in the text."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1843
+msgid "Replace With"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1844
+msgid ""
+"Will replace the string from the Find box with the one in the Replace box."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1848
+msgid "String to replace the one in the Find box throughout the text."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1850 flatcamGUI/ObjectUI.py:1412
+#: flatcamGUI/PreferencesUI.py:2992 flatcamGUI/PreferencesUI.py:3817
+msgid "All"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1851
+msgid ""
+"When checked it will replace all instances in the 'Find' box\n"
+"with the text in the 'Replace' box.."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1854
+msgid "Open Code"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1855
+msgid "Will open a text file in the editor."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1857
+msgid "Save Code"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1858
+msgid "Will save the text in the editor into a file."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1860
+msgid "Run Code"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1861
+msgid "Will run the TCL commands found in the text file, one by one."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1899
+msgid ""
+"Relative neasurement.\n"
+"Reference is last click position"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:1905
+msgid ""
+"Absolute neasurement.\n"
+"Reference is (X=0, Y= 0) position"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2031
+msgid "Lock Toolbars"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2139
+msgid "Select 'Esc'"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2164
+msgid "Copy Objects"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2171
+msgid "Move Objects"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2633
+msgid ""
+"Please first select a geometry item to be cutted\n"
+"then select the geometry item that will be cutted\n"
+"out of the first item. In the end press ~X~ key or\n"
+"the toolbar button."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2640 flatcamGUI/FlatCAMGUI.py:2778
+#: flatcamGUI/FlatCAMGUI.py:2837 flatcamGUI/FlatCAMGUI.py:2857
+msgid "Warning"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2773
+msgid ""
+"Please select geometry items \n"
+"on which to perform Intersection Tool."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2832
+msgid ""
+"Please select geometry items \n"
+"on which to perform Substraction Tool."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2852
+msgid ""
+"Please select geometry items \n"
+"on which to perform union."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:2933 flatcamGUI/FlatCAMGUI.py:3148
+msgid "Cancelled. Nothing selected to delete."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3018 flatcamGUI/FlatCAMGUI.py:3216
+msgid "Cancelled. Nothing selected to copy."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3065 flatcamGUI/FlatCAMGUI.py:3263
+msgid "Cancelled. Nothing selected to move."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3289
+msgid "New Tool ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3290
+msgid "Enter a Tool Diameter"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3306
+msgid "Adding Tool cancelled ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3349
+msgid "Measurement Tool exit..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3486 flatcamGUI/FlatCAMGUI.py:3493
+msgid "Idle."
+msgstr "Au repos."
+
+#: flatcamGUI/FlatCAMGUI.py:3519
+msgid "Application started ..."
+msgstr "L'application a commencé ..."
+
+#: flatcamGUI/FlatCAMGUI.py:3520
+msgid "Hello!"
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3573
+msgid "Open Project ..."
+msgstr ""
+
+#: flatcamGUI/FlatCAMGUI.py:3598
+msgid "Exit"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:33
+msgid "FlatCAM Object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:58
+msgid ""
+"BASIC is suitable for a beginner. Many parameters\n"
+"are hidden from the user in this mode.\n"
+"ADVANCED mode will make available all parameters.\n"
+"\n"
+"To change the application LEVEL, go to:\n"
+"Edit -> Preferences -> General and check:\n"
+"'APP. LEVEL' radio button."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:81
+msgid "Change the size of the object."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:89
+msgid "Factor"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:91
+msgid ""
+"Factor by which to multiply\n"
+"geometric features of this object."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:102
+msgid "Perform scaling operation."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:110
+msgid "Change the position of this object."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:117
+msgid "Vector"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:119
+msgid ""
+"Amount by which to move the object\n"
+"in the x and y axes in (x, y) format."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:129
+msgid "Perform the offset operation."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:143
+msgid "Gerber Object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:150 flatcamGUI/ObjectUI.py:566
+#: flatcamGUI/ObjectUI.py:899 flatcamGUI/ObjectUI.py:1398
+#: flatcamGUI/PreferencesUI.py:1058 flatcamGUI/PreferencesUI.py:1638
+#: flatcamGUI/PreferencesUI.py:2586 flatcamGUI/PreferencesUI.py:2968
+msgid "Plot Options"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:156 flatcamGUI/ObjectUI.py:567
+#: flatcamGUI/PreferencesUI.py:1065 flatcamGUI/PreferencesUI.py:1650
+msgid "Solid"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:158 flatcamGUI/PreferencesUI.py:1067
+msgid "Solid color polygons."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:164 flatcamGUI/PreferencesUI.py:1072
+msgid "M-Color"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:166 flatcamGUI/PreferencesUI.py:1074
+msgid "Draw polygons in different colors."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:172 flatcamGUI/ObjectUI.py:605
+#: flatcamGUI/PreferencesUI.py:1079 flatcamGUI/PreferencesUI.py:1644
+#: flatcamGUI/PreferencesUI.py:2590
+msgid "Plot"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:174 flatcamGUI/ObjectUI.py:607
+#: flatcamGUI/ObjectUI.py:945 flatcamGUI/ObjectUI.py:1508
+#: flatcamGUI/PreferencesUI.py:1081 flatcamGUI/PreferencesUI.py:2592
+#: flatcamGUI/PreferencesUI.py:2979
+msgid "Plot (show) this object."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:182 flatcamGUI/ObjectUI.py:578
+#: flatcamGUI/ObjectUI.py:905 flatcamGUI/ObjectUI.py:1428
+msgid "Name"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:203
+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:213
+msgid "Mark All"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:215
+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:243
+msgid "Mark the aperture instances on canvas."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:250 flatcamGUI/PreferencesUI.py:1106
+msgid "Isolation Routing"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:252 flatcamGUI/PreferencesUI.py:1108
+msgid ""
+"Create a Geometry object with\n"
+"toolpaths to cut outside polygons."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:266
+msgid ""
+"Diameter of the cutting tool.\n"
+"If you want to have an isolation path\n"
+"inside the actual shape of the Gerber\n"
+"feature, use a negative value for\n"
+"this parameter."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:277 flatcamGUI/PreferencesUI.py:1126
+msgid "# Passes"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:279 flatcamGUI/PreferencesUI.py:1128
+msgid ""
+"Width of the isolation gap in\n"
+"number (integer) of tool widths."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:288 flatcamGUI/PreferencesUI.py:1137
+msgid "Pass overlap"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:290 flatcamGUI/PreferencesUI.py:1139
+#, python-format
+msgid ""
+"How much (fraction) of the tool width to overlap each tool pass.\n"
+"Example:\n"
+"A value here of 0.25 means an overlap of 25%% from the tool diameter found "
+"above."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:304 flatcamGUI/PreferencesUI.py:1152
+#: flatcamGUI/PreferencesUI.py:3333 flatcamTools/ToolNonCopperClear.py:147
+msgid "Milling Type"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:306 flatcamGUI/PreferencesUI.py:1154
+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:310 flatcamGUI/PreferencesUI.py:1159
+#: flatcamGUI/PreferencesUI.py:3340 flatcamTools/ToolNonCopperClear.py:154
+msgid "Climb"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:311 flatcamGUI/PreferencesUI.py:1160
+#: flatcamGUI/PreferencesUI.py:3341 flatcamTools/ToolNonCopperClear.py:155
+msgid "Conv."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:316 flatcamGUI/PreferencesUI.py:1164
+msgid "Combine Passes"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:318 flatcamGUI/PreferencesUI.py:1166
+msgid "Combine all passes into one object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:322 flatcamGUI/PreferencesUI.py:1250
+msgid "\"Follow\""
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:323 flatcamGUI/PreferencesUI.py:1252
+msgid ""
+"Generate a 'Follow' geometry.\n"
+"This means that it will cut through\n"
+"the middle of the trace."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:328
+msgid "Except"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:329
+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:354 flatcamTools/ToolCutOut.py:53
+#: flatcamTools/ToolNonCopperClear.py:69 flatcamTools/ToolPaint.py:68
+msgid "Obj Type"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:356
+msgid ""
+"Specify the type of object to be excepted from isolation.\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 ""
+
+#: flatcamGUI/ObjectUI.py:369 flatcamTools/ToolCutOut.py:69
+#: flatcamTools/ToolNonCopperClear.py:87 flatcamTools/ToolPaint.py:86
+#: flatcamTools/ToolPanelize.py:71 flatcamTools/ToolPanelize.py:84
+msgid "Object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:370
+msgid "Object whose area will be removed from isolation geometry."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:374
+msgid "Generate Isolation Geometry"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:376
+msgid ""
+"Create a Geometry object with toolpaths to cut \n"
+"isolation outside, inside or on both sides of the\n"
+"object. For a Gerber object outside means outside\n"
+"of the Gerber feature and inside means inside of\n"
+"the Gerber feature, if possible at all. This means\n"
+"that only if the Gerber feature has openings inside, they\n"
+"will be isolated. If what is wanted is to cut isolation\n"
+"inside the actual Gerber feature, use a negative tool\n"
+"diameter above."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:388
+msgid "Buffer Solid Geometry"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:390
+msgid ""
+"This button is shown only when the Gerber file\n"
+"is loaded without buffering.\n"
+"Clicking this will create the buffered geometry\n"
+"required for isolation."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:397
+msgid "FULL Geo"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:399
+msgid ""
+"Create the Geometry Object\n"
+"for isolation routing. It contains both\n"
+"the interiors and exteriors geometry."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:408
+msgid "Ext Geo"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:410
+msgid ""
+"Create the Geometry Object\n"
+"for isolation routing containing\n"
+"only the exteriors geometry."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:417
+msgid "Int Geo"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:419
+msgid ""
+"Create the Geometry Object\n"
+"for isolation routing containing\n"
+"only the interiors geometry."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:449
+msgid "Clear N-copper"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:451 flatcamGUI/PreferencesUI.py:3278
+msgid ""
+"Create a Geometry object with\n"
+"toolpaths to cut all non-copper regions."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:458 flatcamTools/ToolNonCopperClear.py:446
+msgid ""
+"Create the Geometry Object\n"
+"for non-copper routing."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:465
+msgid "Board cutout"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:467 flatcamGUI/PreferencesUI.py:3537
+msgid ""
+"Create toolpaths to cut around\n"
+"the PCB and separate it from\n"
+"the original board."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:472 flatcamTools/ToolCutOut.py:348
+msgid "Cutout Tool"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:474
+msgid ""
+"Generate the geometry for\n"
+"the board cutout."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:481 flatcamGUI/PreferencesUI.py:1171
+msgid "Non-copper regions"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:483 flatcamGUI/PreferencesUI.py:1173
+msgid ""
+"Create polygons covering the\n"
+"areas without copper on the PCB.\n"
+"Equivalent to the inverse of this\n"
+"object. Can be used to remove all\n"
+"copper from a specified region."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:493 flatcamGUI/ObjectUI.py:525
+#: flatcamGUI/PreferencesUI.py:1185 flatcamGUI/PreferencesUI.py:1210
+msgid "Boundary Margin"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:495 flatcamGUI/PreferencesUI.py:1187
+msgid ""
+"Specify the edge of the PCB\n"
+"by drawing a box around all\n"
+"objects with this minimum\n"
+"distance."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:506 flatcamGUI/ObjectUI.py:535
+#: flatcamGUI/PreferencesUI.py:1197 flatcamGUI/PreferencesUI.py:1219
+msgid "Rounded Geo"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:508 flatcamGUI/PreferencesUI.py:1199
+msgid "Resulting geometry will have rounded corners."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:512 flatcamGUI/ObjectUI.py:544
+#: flatcamTools/ToolCutOut.py:183 flatcamTools/ToolCutOut.py:203
+#: flatcamTools/ToolCutOut.py:254 flatcamTools/ToolSolderPaste.py:127
+msgid "Generate Geo"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:517 flatcamGUI/PreferencesUI.py:1204
+#: flatcamTools/ToolPanelize.py:85
+msgid "Bounding Box"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:519
+msgid ""
+"Create a geometry surrounding the Gerber object.\n"
+"Square shape."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:527 flatcamGUI/PreferencesUI.py:1212
+msgid ""
+"Distance of the edges of the box\n"
+"to the nearest polygon."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:537 flatcamGUI/PreferencesUI.py:1221
+msgid ""
+"If the bounding box is \n"
+"to have rounded corners\n"
+"their radius is equal to\n"
+"the margin."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:546
+msgid "Generate the Geometry object."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:558
+msgid "Excellon Object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:569
+msgid "Solid circles."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:617
+msgid "Drills"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:617 flatcamGUI/PreferencesUI.py:2446
+msgid "Slots"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:618 flatcamGUI/PreferencesUI.py:2074
+msgid "Offset Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:622
+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 in the Machine Code.\n"
+"\n"
+"Here the tools are selected for G-code generation."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:627 flatcamGUI/ObjectUI.py:970
+#: flatcamTools/ToolPaint.py:120
+msgid ""
+"Tool Diameter. It's value (in current FlatCAM units) \n"
+"is the cut width into the material."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:630
+msgid ""
+"The number of Drill holes. Holes that are drilled with\n"
+"a drill bit."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:633
+msgid ""
+"The number of Slot holes. Holes that are created by\n"
+"milling them with an endmill bit."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:636 flatcamGUI/PreferencesUI.py:2076
+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:640
+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:647 flatcamGUI/PreferencesUI.py:1886
+#: flatcamGUI/PreferencesUI.py:2635
+msgid "Create CNC Job"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:649
+msgid ""
+"Create a CNC Job object\n"
+"for this drill object."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:658 flatcamGUI/ObjectUI.py:1137
+#: flatcamGUI/PreferencesUI.py:1897 flatcamGUI/PreferencesUI.py:2647
+#: flatcamGUI/PreferencesUI.py:3373 flatcamGUI/PreferencesUI.py:4061
+#: flatcamTools/ToolCalculators.py:107 flatcamTools/ToolNonCopperClear.py:269
+msgid "Cut Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:660 flatcamGUI/PreferencesUI.py:1899
+msgid ""
+"Drill depth (negative)\n"
+"below the copper surface."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:668 flatcamGUI/ObjectUI.py:1171
+#: flatcamGUI/PreferencesUI.py:1907 flatcamGUI/PreferencesUI.py:2685
+msgid "Travel Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:670 flatcamGUI/PreferencesUI.py:1909
+msgid ""
+"Tool height when travelling\n"
+"across the XY plane."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:678 flatcamGUI/ObjectUI.py:1189
+#: flatcamGUI/PreferencesUI.py:1917 flatcamGUI/PreferencesUI.py:2695
+msgid "Tool change"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:680 flatcamGUI/PreferencesUI.py:1919
+msgid ""
+"Include tool-change sequence\n"
+"in G-Code (Pause for tool change)."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:686 flatcamGUI/ObjectUI.py:1182
+msgid "Tool change Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:688 flatcamGUI/ObjectUI.py:1185
+#: flatcamGUI/PreferencesUI.py:1928 flatcamGUI/PreferencesUI.py:2710
+msgid ""
+"Z-axis position (height) for\n"
+"tool change."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:697 flatcamGUI/PreferencesUI.py:2091
+#: flatcamGUI/PreferencesUI.py:2824
+msgid "Start move Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:699 flatcamGUI/PreferencesUI.py:2093
+msgid ""
+"Height of the tool just after start.\n"
+"Delete the value if you don't need this feature."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:707 flatcamGUI/ObjectUI.py:1215
+#: flatcamGUI/PreferencesUI.py:1936 flatcamGUI/PreferencesUI.py:2719
+msgid "End move Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:709 flatcamGUI/ObjectUI.py:1217
+#: flatcamGUI/PreferencesUI.py:1938 flatcamGUI/PreferencesUI.py:2721
+msgid ""
+"Height of the tool after\n"
+"the last move at the end of the job."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:717 flatcamGUI/PreferencesUI.py:1946
+#: flatcamGUI/PreferencesUI.py:4352 flatcamTools/ToolSolderPaste.py:224
+msgid "Feedrate Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:719 flatcamGUI/PreferencesUI.py:1948
+msgid ""
+"Tool speed while drilling\n"
+"(in units per minute).\n"
+"So called 'Plunge' feedrate.\n"
+"This is for linear move G01."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:729 flatcamGUI/PreferencesUI.py:2101
+msgid "Feedrate Rapids"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:731 flatcamGUI/PreferencesUI.py:2103
+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 ""
+
+#: flatcamGUI/ObjectUI.py:745 flatcamGUI/ObjectUI.py:1272
+#: flatcamGUI/PreferencesUI.py:2750
+msgid "Spindle speed"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:747 flatcamGUI/PreferencesUI.py:1960
+msgid ""
+"Speed of the spindle\n"
+"in RPM (optional)"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:755 flatcamGUI/ObjectUI.py:1285
+#: flatcamGUI/PreferencesUI.py:1968 flatcamGUI/PreferencesUI.py:2763
+msgid "Dwell"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:757 flatcamGUI/ObjectUI.py:1288
+#: flatcamGUI/PreferencesUI.py:1970 flatcamGUI/PreferencesUI.py:2765
+msgid ""
+"Pause to allow the spindle to reach its\n"
+"speed before cutting."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:762 flatcamGUI/ObjectUI.py:1294
+#: flatcamGUI/PreferencesUI.py:1975 flatcamGUI/PreferencesUI.py:2770
+msgid "Number of time units for spindle to dwell."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:770 flatcamGUI/PreferencesUI.py:1988
+#: flatcamGUI/PreferencesUI.py:2780
+msgid "Postprocessor"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:772 flatcamGUI/PreferencesUI.py:1990
+msgid ""
+"The postprocessor JSON file that dictates\n"
+"Gcode output."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:781 flatcamGUI/ObjectUI.py:1313
+#: flatcamGUI/PreferencesUI.py:2114 flatcamGUI/PreferencesUI.py:2857
+msgid "Probe Z depth"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:783 flatcamGUI/ObjectUI.py:1315
+#: flatcamGUI/PreferencesUI.py:2116 flatcamGUI/PreferencesUI.py:2859
+msgid ""
+"The maximum depth that the probe is allowed\n"
+"to probe. Negative value, in current units."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:793 flatcamGUI/ObjectUI.py:1325
+#: flatcamGUI/PreferencesUI.py:2124 flatcamGUI/PreferencesUI.py:2867
+msgid "Feedrate Probe"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:795 flatcamGUI/ObjectUI.py:1327
+#: flatcamGUI/PreferencesUI.py:2126 flatcamGUI/PreferencesUI.py:2869
+msgid "The feedrate used while the probe is probing."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:804
+msgid ""
+"Select from the Tools Table above\n"
+"the hole dias that are to be drilled.\n"
+"Use the # column to make the selection."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:812 flatcamGUI/PreferencesUI.py:1999
+msgid "Gcode"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:814
+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 ""
+
+#: flatcamGUI/ObjectUI.py:829
+msgid "Create Drills GCode"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:831
+msgid "Generate the CNC Job."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:836 flatcamGUI/PreferencesUI.py:2017
+msgid "Mill Holes"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:838 flatcamGUI/PreferencesUI.py:2019
+msgid "Create Geometry for milling holes."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:843
+msgid ""
+"Select from the Tools Table above\n"
+"the hole dias that are to be milled.\n"
+"Use the # column to make the selection."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:851 flatcamGUI/PreferencesUI.py:2023
+msgid "Drill Tool dia"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:853 flatcamGUI/PreferencesUI.py:1119
+#: flatcamGUI/PreferencesUI.py:2025
+msgid "Diameter of the cutting tool."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:858
+msgid "Mill Drills Geo"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:860
+msgid ""
+"Create the Geometry Object\n"
+"for milling DRILLS toolpaths."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:867 flatcamGUI/PreferencesUI.py:2030
+msgid "Slot Tool dia"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:869 flatcamGUI/PreferencesUI.py:2032
+msgid ""
+"Diameter of the cutting tool\n"
+"when milling slots."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:875
+msgid "Mill Slots Geo"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:877
+msgid ""
+"Create the Geometry Object\n"
+"for milling SLOTS toolpaths."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:895
+msgid "Geometry Object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:926
+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 ""
+
+#: flatcamGUI/ObjectUI.py:943 flatcamGUI/ObjectUI.py:1506
+#: flatcamGUI/PreferencesUI.py:2978
+msgid "Plot Object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:957 flatcamGUI/ObjectUI.py:1522
+msgid "Dia"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:957 flatcamGUI/ObjectUI.py:1522
+#: flatcamTools/ToolNonCopperClear.py:107 flatcamTools/ToolPaint.py:106
+msgid "TT"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:964
+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:975
+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 ""
+
+#: flatcamGUI/ObjectUI.py:982
+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 ""
+
+#: flatcamGUI/ObjectUI.py:991
+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 ""
+
+#: flatcamGUI/ObjectUI.py:1003
+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 ""
+
+#: flatcamGUI/ObjectUI.py:1016
+msgid "Tool Offset"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1019
+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 ""
+
+#: flatcamGUI/ObjectUI.py:1061 flatcamTools/ToolNonCopperClear.py:239
+#: flatcamTools/ToolPaint.py:178
+msgid ""
+"Add a new tool to the Tool Table\n"
+"with the diameter specified above."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1069
+msgid ""
+"Copy a selection of tools in the Tool Table\n"
+"by first selecting a row in the Tool Table."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1077
+msgid ""
+"Delete a selection of tools in the Tool Table\n"
+"by first selecting a row in the Tool Table."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1093
+msgid "Tool Data"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1096
+msgid ""
+"The data used for creating GCode.\n"
+"Each tool store it's own set of such data."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1114 flatcamGUI/PreferencesUI.py:3314
+#: flatcamTools/ToolNonCopperClear.py:220
+msgid "V-Tip Dia"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1117 flatcamGUI/PreferencesUI.py:3316
+#: flatcamTools/ToolNonCopperClear.py:222
+msgid "The tip diameter for V-Shape Tool"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1125 flatcamGUI/PreferencesUI.py:3323
+#: flatcamTools/ToolNonCopperClear.py:227
+msgid "V-Tip Angle"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1128 flatcamGUI/PreferencesUI.py:3325
+#: flatcamTools/ToolNonCopperClear.py:229
+msgid ""
+"The tip angle for V-Shape Tool.\n"
+"In degree."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1140 flatcamGUI/PreferencesUI.py:2649
+msgid ""
+"Cutting depth (negative)\n"
+"below the copper surface."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1149 flatcamGUI/PreferencesUI.py:2657
+msgid "Multi-Depth"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1152 flatcamGUI/PreferencesUI.py:2660
+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:1163
+msgid "Depth of each pass (positive)."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1173 flatcamGUI/PreferencesUI.py:2687
+msgid ""
+"Height of the tool when\n"
+"moving without cutting."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1192 flatcamGUI/PreferencesUI.py:2698
+msgid ""
+"Include tool-change sequence\n"
+"in the Machine Code (Pause for tool change)."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1225 flatcamGUI/PreferencesUI.py:2729
+msgid "Feed Rate X-Y"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1227 flatcamGUI/PreferencesUI.py:2731
+msgid ""
+"Cutting speed in the XY\n"
+"plane in units per minute"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1235 flatcamGUI/PreferencesUI.py:2739
+msgid "Feed Rate Z"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1237 flatcamGUI/PreferencesUI.py:2741
+msgid ""
+"Cutting speed in the XY\n"
+"plane in units per minute.\n"
+"It is called also Plunge."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1246 flatcamGUI/PreferencesUI.py:2834
+msgid "Feed Rate Rapids"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1248 flatcamGUI/PreferencesUI.py:2836
+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 ""
+
+#: flatcamGUI/ObjectUI.py:1262 flatcamGUI/PreferencesUI.py:2847
+msgid "Re-cut 1st pt."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1264 flatcamGUI/PreferencesUI.py:2849
+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:1275 flatcamGUI/PreferencesUI.py:2753
+msgid ""
+"Speed of the spindle in RPM (optional).\n"
+"If LASER postprocessor is used,\n"
+"this value is the power of laser."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1302 flatcamGUI/PreferencesUI.py:4410
+#: flatcamTools/ToolSolderPaste.py:276
+msgid "PostProcessor"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1304 flatcamGUI/PreferencesUI.py:2782
+msgid ""
+"The Postprocessor file that dictates\n"
+"the Machine Code (like GCode, RML, HPGL) output."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1337
+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:1344
+msgid "Generate"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1346
+msgid "Generate the CNC Job object."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1353
+msgid "Paint Area"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1356 flatcamGUI/PreferencesUI.py:3695
+msgid ""
+"Creates tool paths to cover the\n"
+"whole area of a polygon (remove\n"
+"all copper). You will be asked\n"
+"to click on the desired polygon."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1367
+msgid "Launch Paint Tool in Tools Tab."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1383
+msgid "CNC Job Object"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1401 flatcamGUI/PreferencesUI.py:2983
+msgid "Plot kind"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1404 flatcamGUI/PreferencesUI.py:2985
+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"
+"above the work piece or it can be of type 'Cut',\n"
+"which means the moves that cut into the material."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1413 flatcamGUI/PreferencesUI.py:2993
+msgid "Travel"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1417 flatcamGUI/PreferencesUI.py:3002
+msgid "Display Annotation"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1419 flatcamGUI/PreferencesUI.py:3004
+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:1434
+msgid "Travelled dist."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1436 flatcamGUI/ObjectUI.py:1441
+msgid ""
+"This is the total travelled distance on X-Y plane.\n"
+"In current units."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1446
+msgid "Estimated time"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1448 flatcamGUI/ObjectUI.py:1453
+msgid ""
+"This is the estimated time to do the routing/drilling,\n"
+"without the time spent in ToolChange events."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1488
+msgid "CNC Tools Table"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1491
+msgid ""
+"Tools in this CNCJob object used for cutting.\n"
+"The tool diameter is used for plotting on canvas.\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)."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1523
+msgid "P"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1529
+msgid "Update Plot"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1531
+msgid "Update the plot."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1538 flatcamGUI/PreferencesUI.py:3141
+msgid "Export CNC Code"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1540 flatcamGUI/PreferencesUI.py:3092
+#: flatcamGUI/PreferencesUI.py:3143
+msgid ""
+"Export and save G-Code to\n"
+"make this object to a file."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1546
+msgid "Prepend to CNC Code"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1548 flatcamGUI/PreferencesUI.py:3108
+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:1557
+msgid "Append to CNC Code"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1559 flatcamGUI/PreferencesUI.py:3120
+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:1576 flatcamGUI/PreferencesUI.py:3149
+msgid "Toolchange G-Code"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1579 flatcamGUI/PreferencesUI.py:3152
+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"
+"\n"
+"WARNING: it can be used only with a postprocessor file\n"
+"that has 'toolchange_custom' in it's name and this is built\n"
+"having as template the 'Toolchange Custom' posprocessor file."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1598 flatcamGUI/PreferencesUI.py:3180
+msgid "Use Toolchange Macro"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1600 flatcamGUI/PreferencesUI.py:3182
+msgid ""
+"Check this box if you want to use\n"
+"a Custom Toolchange GCode (macro)."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1608 flatcamGUI/PreferencesUI.py:3194
+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:1615 flatcamGUI/PreferencesUI.py:1432
+#: flatcamGUI/PreferencesUI.py:2331 flatcamGUI/PreferencesUI.py:2934
+#: flatcamGUI/PreferencesUI.py:3201 flatcamGUI/PreferencesUI.py:3276
+#: flatcamGUI/PreferencesUI.py:3535 flatcamGUI/PreferencesUI.py:3634
+#: flatcamGUI/PreferencesUI.py:3845 flatcamGUI/PreferencesUI.py:3926
+#: flatcamGUI/PreferencesUI.py:4125 flatcamGUI/PreferencesUI.py:4257
+#: flatcamGUI/PreferencesUI.py:4430 flatcamTools/ToolNonCopperClear.py:265
+msgid "Parameters"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1618 flatcamGUI/PreferencesUI.py:3204
+msgid "FlatCAM CNC parameters"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1619 flatcamGUI/PreferencesUI.py:3205
+msgid "tool = tool number"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1620 flatcamGUI/PreferencesUI.py:3206
+msgid "tooldia = tool diameter"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1621 flatcamGUI/PreferencesUI.py:3207
+msgid "t_drills = for Excellon, total number of drills"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1622 flatcamGUI/PreferencesUI.py:3208
+msgid "x_toolchange = X coord for Toolchange"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1623 flatcamGUI/PreferencesUI.py:3209
+msgid "y_toolchange = Y coord for Toolchange"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1624 flatcamGUI/PreferencesUI.py:3210
+msgid "z_toolchange = Z coord for Toolchange"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1625
+msgid "z_cut = depth where to cut"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1626
+msgid "z_move = height where to travel"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1627 flatcamGUI/PreferencesUI.py:3213
+msgid "z_depthpercut = the step value for multidepth cut"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1628 flatcamGUI/PreferencesUI.py:3214
+msgid "spindlesspeed = the value for the spindle speed"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1629 flatcamGUI/PreferencesUI.py:3216
+msgid "dwelltime = time to dwell to allow the spindle to reach it's set RPM"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1645
+msgid "View CNC Code"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1647
+msgid ""
+"Opens TAB to view/modify/print G-Code\n"
+"file."
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1652
+msgid "Save CNC Code"
+msgstr ""
+
+#: flatcamGUI/ObjectUI.py:1654
+msgid ""
+"Opens dialog to save G-Code\n"
+"file."
+msgstr ""
+
+#: flatcamGUI/PlotCanvasLegacy.py:1000
+msgid ""
+"Could not annotate due of a difference between the number of text elements "
+"and the number of text positions."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:257
+msgid "GUI Preferences"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:263
+msgid "Grid X value"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:265
+msgid "This is the Grid snap value on X axis."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:270
+msgid "Grid Y value"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:272
+msgid "This is the Grid snap value on Y axis."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:277
+msgid "Snap Max"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:282
+msgid "Workspace"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:284
+msgid ""
+"Draw a delimiting rectangle on canvas.\n"
+"The purpose is to illustrate the limits for our work."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:287
+msgid "Wk. format"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:289
+msgid ""
+"Select the type of rectangle to be used on canvas,\n"
+"as valid workspace."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:302
+msgid "Plot Fill"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:304
+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:318 flatcamGUI/PreferencesUI.py:368
+#: flatcamGUI/PreferencesUI.py:418
+msgid "Alpha Level"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:320
+msgid "Set the fill transparency for plotted objects."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:337
+msgid "Plot Line"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:339
+msgid "Set the line color for plotted objects."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:351
+msgid "Sel. Fill"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:353
+msgid ""
+"Set the fill color for the selection box\n"
+"in case that the selection is done from left to right.\n"
+"First 6 digits are the color and the last 2\n"
+"digits are for alpha (transparency) level."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:370
+msgid "Set the fill transparency for the 'left to right' selection box."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:387
+msgid "Sel. Line"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:389
+msgid "Set the line color for the 'left to right' selection box."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:401
+msgid "Sel2. Fill"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:403
+msgid ""
+"Set the fill color for the selection box\n"
+"in case that the selection is done from right to left.\n"
+"First 6 digits are the color and the last 2\n"
+"digits are for alpha (transparency) level."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:420
+msgid "Set the fill transparency for selection 'right to left' box."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:437
+msgid "Sel2. Line"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:439
+msgid "Set the line color for the 'right to left' selection box."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:451
+msgid "Editor Draw"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:453
+msgid "Set the color for the shape."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:465
+msgid "Editor Draw Sel."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:467
+msgid "Set the color of the shape when selected."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:479
+msgid "Project Items"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:481
+msgid "Set the color of the items in Project Tab Tree."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:492
+msgid "Proj. Dis. Items"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:494
+msgid ""
+"Set the color of the items in Project Tab Tree,\n"
+"for the case when the items are disabled."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:507
+msgid "Activity Icon"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:509
+msgid "Select the GIF that show activity when FlatCAM is active."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:555
+msgid "GUI Settings"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:561
+msgid "Layout"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:563
+msgid ""
+"Select an layout for FlatCAM.\n"
+"It is applied immediately."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:579
+msgid "Style"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:581
+msgid ""
+"Select an style for FlatCAM.\n"
+"It will be applied at the next app start."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:592
+msgid "HDPI Support"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:594
+msgid ""
+"Enable High DPI support for FlatCAM.\n"
+"It will be applied at the next app start."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:607 flatcamGUI/PreferencesUI.py:815
+msgid "Clear GUI Settings"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:609
+msgid ""
+"Clear the GUI settings for FlatCAM,\n"
+"such as: layout, gui state, style, hdpi support etc."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:612
+msgid "Clear"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:616
+msgid "Hover Shape"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:618
+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:625
+msgid "Sel. Shape"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:627
+msgid ""
+"Enable the display of a selection shape for FlatCAM objects.\n"
+"It is displayed whenever the mouse selects an object\n"
+"either by clicking or dragging mouse from left to right or\n"
+"right to left."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:635
+msgid "NB Font Size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:637
+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:653
+msgid "Axis Font Size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:655
+msgid "This sets the font size for canvas axis."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:669
+msgid "Textbox Font Size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:671
+msgid ""
+"This sets the font size for the Textbox GUI\n"
+"elements that are used in FlatCAM."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:689
+msgid "Splash Screen"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:691
+msgid "Enable display of the splash screen at application startup."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:701
+msgid "Sys Tray Icon"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:703
+msgid "Enable display of FlatCAM icon in Sys Tray."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:708
+msgid "Shell at StartUp"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:710 flatcamGUI/PreferencesUI.py:715
+msgid ""
+"Check this box if you want the shell to\n"
+"start automatically at startup."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:720
+msgid "Project at StartUp"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:722 flatcamGUI/PreferencesUI.py:727
+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:732
+msgid "Project AutoHide"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:734 flatcamGUI/PreferencesUI.py:740
+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:746
+msgid "Enable ToolTips"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:748 flatcamGUI/PreferencesUI.py:753
+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:784
+msgid "Delete object confirmation"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:786
+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:812
+msgid "Are you sure you want to delete the GUI Settings? \n"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:836
+msgid "App Preferences"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:842 flatcamGUI/PreferencesUI.py:1349
+#: flatcamGUI/PreferencesUI.py:2192 flatcamTools/ToolMeasurement.py:43
+#: flatcamTools/ToolPcbWizard.py:127 flatcamTools/ToolProperties.py:133
+msgid "Units"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:843
+msgid ""
+"The default value for FlatCAM units.\n"
+"Whatever is selected here is set every time\n"
+"FLatCAM is started."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:846
+msgid "IN"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:847 flatcamGUI/PreferencesUI.py:1355
+#: flatcamGUI/PreferencesUI.py:1787 flatcamGUI/PreferencesUI.py:2198
+#: flatcamTools/ToolCalculators.py:61 flatcamTools/ToolPcbWizard.py:126
+msgid "MM"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:850
+msgid "Graphic Engine"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:851
+msgid ""
+"Choose what graphic engine to use in FlatCAM.\n"
+"Legacy(2D) -> reduced functionality, slow performance but enhanced "
+"compatibility.\n"
+"OpenGL(3D) -> full functionality, high performance\n"
+"Some graphic cards are too old and do not work in OpenGL(3D) mode, like:\n"
+"Intel HD3000 or older. In this case the plot area will be black therefore\n"
+"use the Legacy(2D) mode."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:857
+msgid "Legacy(2D)"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:858
+msgid "OpenGL(3D)"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:861
+msgid "APP. LEVEL"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:862
+msgid ""
+"Choose the default level of usage for FlatCAM.\n"
+"BASIC level -> reduced functionality, best for beginner's.\n"
+"ADVANCED level -> full functionality.\n"
+"\n"
+"The choice here will influence the parameters in\n"
+"the Selected Tab for all kinds of FlatCAM objects."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:871
+msgid "Portable app"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:872
+msgid ""
+"Choose if the application should run as portable.\n"
+"\n"
+"If Checked the application will run portable,\n"
+"which means that the preferences files will be saved\n"
+"in the application folder, in the lib\\config subfolder."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:879
+msgid "Languages"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:880
+msgid "Set the language used throughout FlatCAM."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:883
+msgid "Apply Language"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:884
+msgid ""
+"Set the language used throughout FlatCAM.\n"
+"The app will restart after click.Windows: When FlatCAM is installed in "
+"Program Files\n"
+"directory, it is possible that the app will not\n"
+"restart after the button is clicked due of Windows\n"
+"security features. In this case the language will be\n"
+"applied at the next app start."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:893
+msgid "Version Check"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:895 flatcamGUI/PreferencesUI.py:900
+msgid ""
+"Check this box if you want to check\n"
+"for a new version automatically at startup."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:905
+msgid "Send Stats"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:907 flatcamGUI/PreferencesUI.py:912
+msgid ""
+"Check this box if you agree to send anonymous\n"
+"stats automatically at startup, to help improve FlatCAM."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:919
+msgid "Pan Button"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:920
+msgid ""
+"Select the mouse button to use for panning:\n"
+"- MMB --> Middle Mouse Button\n"
+"- RMB --> Right Mouse Button"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:923
+msgid "MMB"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:924
+msgid "RMB"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:927
+msgid "Multiple Sel"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:928
+msgid "Select the key used for multiple selection."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:929
+msgid "CTRL"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:930
+msgid "SHIFT"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:933
+msgid "Workers number"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:935 flatcamGUI/PreferencesUI.py:944
+msgid ""
+"The number of Qthreads made available to the App.\n"
+"A bigger number may finish the jobs more quickly but\n"
+"depending on your computer speed, may make the App\n"
+"unresponsive. Can have a value between 2 and 16.\n"
+"Default value is 2.\n"
+"After change, it will be applied at next App start."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:954
+msgid "Geo Tolerance"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:956 flatcamGUI/PreferencesUI.py:965
+msgid ""
+"This value can counter the effect of the Circle Steps\n"
+"parameter. Default value is 0.01.\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:1002
+msgid "\"Open\" behavior"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1004
+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"
+"\n"
+"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."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1013
+msgid "Save Compressed Project"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1015
+msgid ""
+"Whether to save a compressed or uncompressed project.\n"
+"When checked it will save a compressed FlatCAM project."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1026
+msgid "Compression Level"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1028
+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:1055
+msgid "Gerber General"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1086 flatcamGUI/PreferencesUI.py:2600
+#: flatcamGUI/PreferencesUI.py:3018
+msgid "Circle Steps"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1088
+msgid ""
+"The number of circle steps for Gerber \n"
+"circular aperture linear approximation."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1103
+msgid "Gerber Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1235
+msgid "Gerber Adv. Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1238 flatcamGUI/PreferencesUI.py:2063
+#: flatcamGUI/PreferencesUI.py:2803
+msgid "Advanced Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1240
+msgid ""
+"A list of Gerber advanced parameters.\n"
+"Those parameters are available only for\n"
+"Advanced App. Level."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1259
+msgid "Table Show/Hide"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1261
+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:1271
+msgid ""
+"Buffering type:\n"
+"- None --> best performance, fast file loading but no so good display\n"
+"- Full --> slow file loading but good visuals. This is the default.\n"
+"<<WARNING>>: Don't change this unless you know what you are doing !!!"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1276 flatcamTools/ToolProperties.py:298
+#: flatcamTools/ToolProperties.py:312 flatcamTools/ToolProperties.py:315
+#: flatcamTools/ToolProperties.py:318
+msgid "None"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1277
+msgid "Full"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1282
+msgid "Simplify"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1283
+msgid ""
+"When checked all the Gerber polygons will be\n"
+"loaded with simplification having a set tolerance."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1288
+msgid "Tolerance"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1289
+msgid "Tolerance for poligon simplification."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1335
+msgid "Gerber Export"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1338 flatcamGUI/PreferencesUI.py:2181
+msgid "Export Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1340
+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:1351 flatcamGUI/PreferencesUI.py:1357
+msgid "The units used in the Gerber file."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1354 flatcamGUI/PreferencesUI.py:1684
+#: flatcamGUI/PreferencesUI.py:1786 flatcamGUI/PreferencesUI.py:2197
+#: flatcamTools/ToolCalculators.py:60 flatcamTools/ToolPcbWizard.py:125
+msgid "INCH"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1363 flatcamGUI/PreferencesUI.py:2206
+msgid "Int/Decimals"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1365
+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:1376
+msgid ""
+"This numbers signify the number of digits in\n"
+"the whole part of Gerber coordinates."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1390
+msgid ""
+"This numbers signify the number of digits in\n"
+"the decimal part of Gerber coordinates."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1399 flatcamGUI/PreferencesUI.py:2267
+msgid "Zeros"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1402 flatcamGUI/PreferencesUI.py:1412
+msgid ""
+"This sets the type of Gerber zeros.\n"
+"If LZ then Leading Zeros are removed and\n"
+"Trailing Zeros are kept.\n"
+"If TZ is checked then Trailing Zeros are removed\n"
+"and Leading Zeros are kept."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1409 flatcamGUI/PreferencesUI.py:1762
+#: flatcamGUI/PreferencesUI.py:2277 flatcamTools/ToolPcbWizard.py:111
+msgid "LZ"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1410 flatcamGUI/PreferencesUI.py:1763
+#: flatcamGUI/PreferencesUI.py:2278 flatcamTools/ToolPcbWizard.py:112
+msgid "TZ"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1434
+msgid "A list of Gerber Editor parameters."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1442 flatcamGUI/PreferencesUI.py:2341
+#: flatcamGUI/PreferencesUI.py:2944
+msgid "Selection limit"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1444
+msgid ""
+"Set the number of selected Gerber geometry\n"
+"items above which the utility geometry\n"
+"becomes just a selection rectangle.\n"
+"Increases the performance when moving a\n"
+"large number of geometric elements."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1456
+msgid "New Aperture code"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1468
+msgid "New Aperture size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1470
+msgid "Size for the new aperture"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1480
+msgid "New Aperture type"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1482
+msgid ""
+"Type for the new aperture.\n"
+"Can be 'C', 'R' or 'O'."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1503
+msgid "Aperture Dimensions"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1505 flatcamGUI/PreferencesUI.py:2616
+#: flatcamGUI/PreferencesUI.py:3288
+msgid "Diameters of the cutting tools, separated by ','"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1511
+msgid "Linear Pad Array"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1515 flatcamGUI/PreferencesUI.py:2382
+#: flatcamGUI/PreferencesUI.py:2513
+msgid "Linear Dir."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1551
+msgid "Circular Pad Array"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1555 flatcamGUI/PreferencesUI.py:2422
+#: flatcamGUI/PreferencesUI.py:2553
+msgid "Circular Dir."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1557 flatcamGUI/PreferencesUI.py:2424
+#: flatcamGUI/PreferencesUI.py:2555
+msgid ""
+"Direction for circular array.\n"
+"Can be CW = clockwise or CCW = counter clockwise."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1568 flatcamGUI/PreferencesUI.py:2435
+#: flatcamGUI/PreferencesUI.py:2566
+msgid "Circ. Angle"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1583
+msgid "Distance at which to buffer the Gerber element."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1590
+msgid "Scale Tool"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1596
+msgid "Factor to scale the Gerber element."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1607 flatcamGUI/PreferencesUI.py:1617
+msgid "Threshold low"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1609
+msgid "Threshold value under which the apertures are not marked."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1619
+msgid "Threshold value over which the apertures are not marked."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1635
+msgid "Excellon General"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1657
+msgid "Excellon Format"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1659
+msgid ""
+"The NC drill files, usually named Excellon files\n"
+"are files that can be found in different formats.\n"
+"Here we set the format used when the provided\n"
+"coordinates are not using period.\n"
+"\n"
+"Possible presets:\n"
+"\n"
+"PROTEUS 3:3 MM LZ\n"
+"DipTrace 5:2 MM TZ\n"
+"DipTrace 4:3 MM LZ\n"
+"\n"
+"EAGLE 3:3 MM TZ\n"
+"EAGLE 4:3 MM TZ\n"
+"EAGLE 2:5 INCH TZ\n"
+"EAGLE 3:5 INCH TZ\n"
+"\n"
+"ALTIUM 2:4 INCH LZ\n"
+"Sprint Layout 2:4 INCH LZ\n"
+"KiCAD 3:5 INCH TZ"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1687
+msgid "Default values for INCH are 2:4"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1695 flatcamGUI/PreferencesUI.py:1728
+#: flatcamGUI/PreferencesUI.py:2221
+msgid ""
+"This numbers signify the number of digits in\n"
+"the whole part of Excellon coordinates."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1709 flatcamGUI/PreferencesUI.py:1742
+#: flatcamGUI/PreferencesUI.py:2235
+msgid ""
+"This numbers signify the number of digits in\n"
+"the decimal part of Excellon coordinates."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1717
+msgid "METRIC"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1720
+msgid "Default values for METRIC are 3:3"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1751
+msgid "Default <b>Zeros</b>"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1754 flatcamGUI/PreferencesUI.py:2270
+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."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1765
+msgid ""
+"This sets the default type of Excellon zeros.\n"
+"If it is not detected in the parsed file the value here\n"
+"will be used.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."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1775
+msgid "Default <b>Units</b>"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1778
+msgid ""
+"This sets the default units of Excellon files.\n"
+"If it is not detected in the parsed file the value here\n"
+"will be used.Some Excellon files don't have an header\n"
+"therefore this parameter will be used."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1789
+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:1795
+msgid "Update Export settings"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1803
+msgid "Excellon Optimization"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1806
+msgid "Algorithm:"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1808 flatcamGUI/PreferencesUI.py:1825
+msgid ""
+"This sets the optimization type for the Excellon drill path.\n"
+"If <<MetaHeuristic>> is checked then Google OR-Tools algorithm with\n"
+"MetaHeuristic Guided Local Path is used. Default search time is 3sec.\n"
+"If <<Basic>> is checked then Google OR-Tools Basic algorithm is used.\n"
+"If <<TSA>> is checked then Travelling Salesman algorithm is used for\n"
+"drill path optimization.\n"
+"\n"
+"If this control is disabled, then FlatCAM works in 32bit mode and it uses\n"
+"Travelling Salesman algorithm for path optimization."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1820
+msgid "MetaHeuristic"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1822
+msgid "TSA"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1837
+msgid "Optimization Time"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1840
+msgid ""
+"When OR-Tools Metaheuristic (MH) is enabled there is a\n"
+"maximum threshold for how much time is spent doing the\n"
+"path optimization. This max duration is set here.\n"
+"In seconds."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1883
+msgid "Excellon Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1888
+msgid ""
+"Parameters used to create a CNC Job object\n"
+"for this drill object."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1926 flatcamGUI/PreferencesUI.py:2707
+msgid "Toolchange Z"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1958
+msgid "Spindle Speed"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:1973 flatcamGUI/PreferencesUI.py:2768
+msgid "Duration"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2001
+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 drills."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2044
+msgid "Defaults"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2057
+msgid "Excellon Adv. Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2065
+msgid ""
+"A list of Excellon advanced parameters.\n"
+"Those parameters are available only for\n"
+"Advanced App. Level."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2083
+msgid "Toolchange X,Y"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2085 flatcamGUI/PreferencesUI.py:2817
+msgid "Toolchange X,Y position."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2133 flatcamGUI/PreferencesUI.py:2876
+msgid "Spindle dir."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2135 flatcamGUI/PreferencesUI.py:2878
+msgid ""
+"This sets the direction that the spindle is rotating.\n"
+"It can be either:\n"
+"- CW = clockwise or\n"
+"- CCW = counter clockwise"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2146 flatcamGUI/PreferencesUI.py:2890
+msgid "Fast Plunge"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2148 flatcamGUI/PreferencesUI.py:2892
+msgid ""
+"By checking this, the vertical move from\n"
+"Z_Toolchange to Z_move is done with G0,\n"
+"meaning the fastest speed available.\n"
+"WARNING: the move is done at Toolchange X,Y coords."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2157
+msgid "Fast Retract"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2159
+msgid ""
+"Exit hole strategy.\n"
+" - When uncheked, while exiting the drilled hole the drill bit\n"
+"will travel slow, with set feedrate (G1), up to zero depth and then\n"
+"travel as fast as possible (G0) to the Z Move (travel height).\n"
+" - 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."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2178
+msgid "Excellon Export"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2183
+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:2194 flatcamGUI/PreferencesUI.py:2200
+msgid "The units used in the Excellon file."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2208
+msgid ""
+"The NC drill files, usually named Excellon files\n"
+"are files that can be found in different formats.\n"
+"Here we set the format used when the provided\n"
+"coordinates are not using period."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2244
+msgid "Format"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2246 flatcamGUI/PreferencesUI.py:2256
+msgid ""
+"Select the kind of coordinates format used.\n"
+"Coordinates can be saved with decimal point or without.\n"
+"When there is no decimal point, it is required to specify\n"
+"the number of digits for integer part and the number of decimals.\n"
+"Also it will have to be specified if LZ = leading zeros are kept\n"
+"or TZ = trailing zeros are kept."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2253
+msgid "Decimal"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2254
+msgid "No-Decimal"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2280
+msgid ""
+"This sets the default 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."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2290
+msgid "Slot type"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2293 flatcamGUI/PreferencesUI.py:2303
+msgid ""
+"This sets how the slots will be exported.\n"
+"If ROUTED then the slots will be routed\n"
+"using M15/M16 commands.\n"
+"If DRILLED(G85) the slots will be exported\n"
+"using the Drilled slot command (G85)."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2300
+msgid "Routed"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2301
+msgid "Drilled(G85)"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2333
+msgid "A list of Excellon Editor parameters."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2343
+msgid ""
+"Set the number of selected Excellon geometry\n"
+"items above which the utility geometry\n"
+"becomes just a selection rectangle.\n"
+"Increases the performance when moving a\n"
+"large number of geometric elements."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2355
+msgid "New Tool Dia"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2378
+msgid "Linear Drill Array"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2418
+msgid "Circular Drill Array"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2497
+msgid "Linear Slot Array"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2549
+msgid "Circular Slot Array"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2583
+msgid "Geometry General"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2602
+msgid ""
+"The number of circle steps for <b>Geometry</b> \n"
+"circle and arc shapes linear approximation."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2630
+msgid "Geometry Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2637
+msgid ""
+"Create a CNC Job object\n"
+"tracing the contours of this\n"
+"Geometry object."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2669
+msgid "Depth/Pass"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2671
+msgid ""
+"The depth to cut on each pass,\n"
+"when multidepth is enabled.\n"
+"It has positive value although\n"
+"it is a fraction from the depth\n"
+"which has negative value."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2798
+msgid "Geometry Adv. Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2805
+msgid ""
+"A list of Geometry advanced parameters.\n"
+"Those parameters are available only for\n"
+"Advanced App. Level."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2815 flatcamGUI/PreferencesUI.py:4333
+#: flatcamTools/ToolSolderPaste.py:207
+msgid "Toolchange X-Y"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2826
+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:2902
+msgid "Seg. X size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2904
+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:2913
+msgid "Seg. Y size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2915
+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:2931
+msgid "Geometry Editor"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2936
+msgid "A list of Geometry Editor parameters."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2946
+msgid ""
+"Set the number of selected geometry\n"
+"items above which the utility geometry\n"
+"becomes just a selection rectangle.\n"
+"Increases the performance when moving a\n"
+"large number of geometric elements."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:2965
+msgid "CNC Job General"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3020
+msgid ""
+"The number of circle steps for <b>GCode</b> \n"
+"circle and arc shapes linear approximation."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3028
+msgid "Travel dia"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3030
+msgid ""
+"The width of the travel lines to be\n"
+"rendered in the plot."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3041
+msgid "Coordinates decimals"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3043
+msgid ""
+"The number of decimals to be used for \n"
+"the X, Y, Z coordinates in CNC code (GCODE, etc.)"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3051
+msgid "Feedrate decimals"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3053
+msgid ""
+"The number of decimals to be used for \n"
+"the Feedrate parameter in CNC code (GCODE, etc.)"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3061
+msgid "Coordinates type"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3063
+msgid ""
+"The type of coordinates to be used in Gcode.\n"
+"Can be:\n"
+"- Absolute G90 -> the reference is the origin x=0, y=0\n"
+"- Incremental G91 -> the reference is the previous position"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3069
+msgid "Absolute G90"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3070
+msgid "Incremental G91"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3087
+msgid "CNC Job Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3090
+msgid "Export G-Code"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3106
+msgid "Prepend to G-Code"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3118
+msgid "Append to G-Code"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3138
+msgid "CNC Job Adv. Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3211
+msgid "z_cut = Z depth for the cut"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3212
+msgid "z_move = Z height for travel"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3235
+msgid "Annotation Size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3237
+msgid "The font size of the annotation text. In pixels."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3245
+msgid "Annotation Color"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3247
+msgid "Set the font color for the annotation texts."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3273
+msgid "NCC Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3286 flatcamGUI/PreferencesUI.py:4268
+msgid "Tools dia"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3295 flatcamTools/ToolNonCopperClear.py:195
+msgid "Tool Type"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3297 flatcamGUI/PreferencesUI.py:3305
+#: flatcamTools/ToolNonCopperClear.py:197
+#: flatcamTools/ToolNonCopperClear.py:205
+msgid ""
+"Default tool type:\n"
+"- 'V-shape'\n"
+"- Circular"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3302 flatcamTools/ToolNonCopperClear.py:202
+msgid "V-shape"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3335 flatcamGUI/PreferencesUI.py:3343
+#: flatcamTools/ToolNonCopperClear.py:149
+#: flatcamTools/ToolNonCopperClear.py:157
+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 ""
+
+#: flatcamGUI/PreferencesUI.py:3352 flatcamGUI/PreferencesUI.py:3716
+#: flatcamTools/ToolNonCopperClear.py:163 flatcamTools/ToolPaint.py:136
+msgid "Tool order"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3353 flatcamGUI/PreferencesUI.py:3363
+#: flatcamGUI/PreferencesUI.py:3717 flatcamGUI/PreferencesUI.py:3727
+#: flatcamTools/ToolNonCopperClear.py:164
+#: flatcamTools/ToolNonCopperClear.py:174 flatcamTools/ToolPaint.py:137
+#: flatcamTools/ToolPaint.py:147
+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"
+"'Forward' --> means that the tools will be ordered from small to big\n"
+"'Reverse' --> menas that the tools will ordered from big to small\n"
+"\n"
+"WARNING: using rest machining will automatically set the order\n"
+"in reverse and disable this control."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3361 flatcamGUI/PreferencesUI.py:3725
+#: flatcamTools/ToolNonCopperClear.py:172 flatcamTools/ToolPaint.py:145
+msgid "Forward"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3362 flatcamGUI/PreferencesUI.py:3726
+#: flatcamTools/ToolNonCopperClear.py:173 flatcamTools/ToolPaint.py:146
+msgid "Reverse"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3375 flatcamGUI/PreferencesUI.py:3380
+#: flatcamTools/ToolNonCopperClear.py:271
+#: flatcamTools/ToolNonCopperClear.py:276
+msgid ""
+"Depth of cut into material. Negative value.\n"
+"In FlatCAM units."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3390 flatcamTools/ToolNonCopperClear.py:285
+#, python-format
+msgid ""
+"How much (fraction) of the tool width to overlap each tool pass.\n"
+"Example:\n"
+"A value here of 0.25 means 25%% from the tool diameter found above.\n"
+"\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 PCB.\n"
+"Higher values = slow processing and slow execution on CNC\n"
+"due of too many paths."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3411 flatcamTools/ToolNonCopperClear.py:305
+msgid "Bounding box margin."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3420 flatcamGUI/PreferencesUI.py:3771
+#: flatcamTools/ToolNonCopperClear.py:314
+msgid ""
+"Algorithm for non-copper clearing:<BR><B>Standard</B>: Fixed step inwards."
+"<BR><B>Seed-based</B>: Outwards from seed.<BR><B>Line-based</B>: Parallel "
+"lines."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3434 flatcamGUI/PreferencesUI.py:3785
+#: flatcamTools/ToolNonCopperClear.py:328 flatcamTools/ToolPaint.py:253
+msgid "Connect"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3444 flatcamGUI/PreferencesUI.py:3795
+#: flatcamTools/ToolNonCopperClear.py:337 flatcamTools/ToolPaint.py:262
+msgid "Contour"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3454 flatcamTools/ToolNonCopperClear.py:346
+#: flatcamTools/ToolPaint.py:271
+msgid "Rest M."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3456 flatcamTools/ToolNonCopperClear.py:348
+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 ""
+
+#: flatcamGUI/PreferencesUI.py:3471 flatcamGUI/PreferencesUI.py:3483
+#: flatcamTools/ToolNonCopperClear.py:363
+#: flatcamTools/ToolNonCopperClear.py:375
+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 ""
+
+#: flatcamGUI/PreferencesUI.py:3481 flatcamTools/ToolNonCopperClear.py:373
+msgid "Offset value"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3498 flatcamTools/ToolNonCopperClear.py:399
+msgid "Itself"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3499 flatcamGUI/PreferencesUI.py:3816
+msgid "Area"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3500
+msgid "Ref"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3501
+msgid "Reference"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3503 flatcamTools/ToolNonCopperClear.py:405
+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:3514 flatcamGUI/PreferencesUI.py:3824
+msgid "Normal"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3515 flatcamGUI/PreferencesUI.py:3825
+msgid "Progressive"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3516
+msgid "NCC Plotting"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3518
+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:3532
+msgid "Cutout Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3548 flatcamTools/ToolCutOut.py:93
+msgid ""
+"Diameter of the tool used to cutout\n"
+"the PCB shape out of the surrounding material."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3556 flatcamTools/ToolCutOut.py:76
+msgid "Obj kind"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3558 flatcamTools/ToolCutOut.py:78
+msgid ""
+"Choice of what kind the object we want to cutout is.<BR>- <B>Single</B>: "
+"contain a single PCB Gerber outline object.<BR>- <B>Panel</B>: a panel PCB "
+"Gerber object, which is made\n"
+"out of many individual PCB outlines."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3565 flatcamGUI/PreferencesUI.py:3815
+#: flatcamTools/ToolCutOut.py:84
+msgid "Single"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3566 flatcamTools/ToolCutOut.py:85
+msgid "Panel"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3572 flatcamTools/ToolCutOut.py:102
+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:3580
+msgid "Gap size"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3582 flatcamTools/ToolCutOut.py:112
+msgid ""
+"The size of the bridge gaps in the cutout\n"
+"used to keep the board connected to\n"
+"the surrounding material (the one \n"
+"from which the PCB is cutout)."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3591 flatcamTools/ToolCutOut.py:148
+msgid "Gaps"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3593
+msgid ""
+"Number of gaps used for the cutout.\n"
+"There can be maximum 8 bridges/gaps.\n"
+"The choices are:\n"
+"- None  - no gaps\n"
+"- lr    - left + right\n"
+"- tb    - top + bottom\n"
+"- 4     - left + right +top + bottom\n"
+"- 2lr   - 2*left + 2*right\n"
+"- 2tb  - 2*top + 2*bottom\n"
+"- 8     - 2*left + 2*right +2*top + 2*bottom"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3615 flatcamTools/ToolCutOut.py:129
+msgid "Convex Sh."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3617 flatcamTools/ToolCutOut.py:131
+msgid ""
+"Create a convex shape surrounding the entire PCB.\n"
+"Used only if the source object type is Gerber."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3631
+msgid "2Sided Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3636
+msgid ""
+"A tool to help in creating a double sided\n"
+"PCB using alignment holes."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3646 flatcamTools/ToolDblSided.py:234
+msgid "Drill dia"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3648 flatcamTools/ToolDblSided.py:225
+#: flatcamTools/ToolDblSided.py:236
+msgid "Diameter of the drill for the alignment holes."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3657 flatcamTools/ToolDblSided.py:120
+msgid "Mirror Axis:"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3659 flatcamTools/ToolDblSided.py:122
+msgid "Mirror vertically (X) or horizontally (Y)."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3668 flatcamTools/ToolDblSided.py:131
+msgid "Point"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3669 flatcamTools/ToolDblSided.py:132
+msgid "Box"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3670
+msgid "Axis Ref"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3672 flatcamTools/ToolDblSided.py:135
+msgid ""
+"The axis should pass through a <b>point</b> or cut\n"
+" a specified <b>box</b> (in a FlatCAM object) through \n"
+"the center."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3688
+msgid "Paint Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3693
+msgid "<b>Parameters:</b>"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3805 flatcamTools/ToolPaint.py:286
+msgid "Selection"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3807 flatcamTools/ToolPaint.py:288
+#: flatcamTools/ToolPaint.py:304
+msgid ""
+"How to select Polygons to be painted.\n"
+"\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."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3818
+msgid "Ref."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3826
+msgid "Paint Plotting"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3828
+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:3842
+msgid "Film Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3847
+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:3858
+msgid "Film Type"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3860 flatcamTools/ToolFilm.py:118
+msgid ""
+"Generate a Positive black film or a Negative film.\n"
+"Positive means that it will print the features\n"
+"with black on a white canvas.\n"
+"Negative means that it will print the features\n"
+"with white on a black canvas.\n"
+"The Film format is SVG."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3871
+msgid "Film Color"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3873
+msgid "Set the film color when positive film is selected."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3891 flatcamTools/ToolFilm.py:130
+msgid "Border"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3893 flatcamTools/ToolFilm.py:132
+msgid ""
+"Specify a border around the object.\n"
+"Only for negative film.\n"
+"It helps if we use as a Box Object the same \n"
+"object as in Film Object. It will create a thick\n"
+"black bar around the actual print allowing for a\n"
+"better delimitation of the outline features which are of\n"
+"white color like the rest and which may confound with the\n"
+"surroundings if not for this border."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3906 flatcamTools/ToolFilm.py:144
+msgid "Scale Stroke"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3908 flatcamTools/ToolFilm.py:146
+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:3923
+msgid "Panelize Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3928
+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:3939 flatcamTools/ToolPanelize.py:147
+msgid "Spacing cols"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3941 flatcamTools/ToolPanelize.py:149
+msgid ""
+"Spacing between columns of the desired panel.\n"
+"In current units."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3949 flatcamTools/ToolPanelize.py:156
+msgid "Spacing rows"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3951 flatcamTools/ToolPanelize.py:158
+msgid ""
+"Spacing between rows of the desired panel.\n"
+"In current units."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3959 flatcamTools/ToolPanelize.py:165
+msgid "Columns"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3961 flatcamTools/ToolPanelize.py:167
+msgid "Number of columns of the desired panel"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3968 flatcamTools/ToolPanelize.py:173
+msgid "Rows"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3970 flatcamTools/ToolPanelize.py:175
+msgid "Number of rows of the desired panel"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3976 flatcamTools/ToolPanelize.py:181
+msgid "Gerber"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3977 flatcamTools/ToolPanelize.py:182
+msgid "Geo"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3978 flatcamTools/ToolPanelize.py:183
+msgid "Panel Type"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3980
+msgid ""
+"Choose the type of object for the panel object:\n"
+"- Gerber\n"
+"- Geometry"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3989
+msgid "Constrain within"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:3991 flatcamTools/ToolPanelize.py:195
+msgid ""
+"Area define by DX and DY within to constrain the panel.\n"
+"DX and DY values are in current units.\n"
+"Regardless of how many columns and rows are desired,\n"
+"the final panel will have as many columns and rows as\n"
+"they fit completely within selected area."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4000 flatcamTools/ToolPanelize.py:204
+msgid "Width (DX)"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4002 flatcamTools/ToolPanelize.py:206
+msgid ""
+"The width (DX) within which the panel must fit.\n"
+"In current units."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4009 flatcamTools/ToolPanelize.py:212
+msgid "Height (DY)"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4011 flatcamTools/ToolPanelize.py:214
+msgid ""
+"The height (DY)within which the panel must fit.\n"
+"In current units."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4025
+msgid "Calculators Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4028 flatcamTools/ToolCalculators.py:25
+msgid "V-Shape Tool Calculator"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4030
+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:4041 flatcamTools/ToolCalculators.py:92
+msgid "Tip Diameter"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4043 flatcamTools/ToolCalculators.py:97
+msgid ""
+"This is the tool tip diameter.\n"
+"It is specified by manufacturer."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4051 flatcamTools/ToolCalculators.py:100
+msgid "Tip Angle"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4053
+msgid ""
+"This is the angle on the tip of the tool.\n"
+"It is specified by manufacturer."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4063
+msgid ""
+"This is depth to cut into material.\n"
+"In the CNCJob object it is the CutZ parameter."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4070 flatcamTools/ToolCalculators.py:27
+msgid "ElectroPlating Calculator"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4072 flatcamTools/ToolCalculators.py:149
+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:4082 flatcamTools/ToolCalculators.py:158
+msgid "Board Length"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4084 flatcamTools/ToolCalculators.py:162
+msgid "This is the board length. In centimeters."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4090 flatcamTools/ToolCalculators.py:164
+msgid "Board Width"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4092 flatcamTools/ToolCalculators.py:168
+msgid "This is the board width.In centimeters."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4097 flatcamTools/ToolCalculators.py:170
+msgid "Current Density"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4100 flatcamTools/ToolCalculators.py:174
+msgid ""
+"Current density to pass through the board. \n"
+"In Amps per Square Feet ASF."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4106 flatcamTools/ToolCalculators.py:177
+msgid "Copper Growth"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4109 flatcamTools/ToolCalculators.py:181
+msgid ""
+"How thick the copper growth is intended to be.\n"
+"In microns."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4122
+msgid "Transform Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4127
+msgid ""
+"Various transformations that can be applied\n"
+"on a FlatCAM object."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4137
+msgid "Rotate Angle"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4149 flatcamTools/ToolTransform.py:107
+msgid "Skew_X angle"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4159 flatcamTools/ToolTransform.py:125
+msgid "Skew_Y angle"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4169 flatcamTools/ToolTransform.py:164
+msgid "Scale_X factor"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4171 flatcamTools/ToolTransform.py:166
+msgid "Factor for scaling on X axis."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4178 flatcamTools/ToolTransform.py:181
+msgid "Scale_Y factor"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4180 flatcamTools/ToolTransform.py:183
+msgid "Factor for scaling on Y axis."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4188 flatcamTools/ToolTransform.py:202
+msgid ""
+"Scale the selected object(s)\n"
+"using the Scale_X factor for both axis."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4196 flatcamTools/ToolTransform.py:211
+msgid ""
+"Scale the selected object(s)\n"
+"using the origin reference when checked,\n"
+"and the center of the biggest bounding box\n"
+"of the selected objects when unchecked."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4205 flatcamTools/ToolTransform.py:239
+msgid "Offset_X val"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4207 flatcamTools/ToolTransform.py:241
+msgid "Distance to offset on X axis. In current units."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4214 flatcamTools/ToolTransform.py:256
+msgid "Offset_Y val"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4216 flatcamTools/ToolTransform.py:258
+msgid "Distance to offset on Y axis. In current units."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4222 flatcamTools/ToolTransform.py:313
+msgid "Mirror Reference"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4224 flatcamTools/ToolTransform.py:315
+msgid ""
+"Flip the selected object(s)\n"
+"around the point in Point Entry Field.\n"
+"\n"
+"The point coordinates can be captured by\n"
+"left click on canvas together with pressing\n"
+"SHIFT key. \n"
+"Then click Add button to insert coordinates.\n"
+"Or enter the coords in format (x, y) in the\n"
+"Point Entry field and click Flip on X(Y)"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4235 flatcamTools/ToolTransform.py:326
+msgid " Mirror Ref. Point"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4237 flatcamTools/ToolTransform.py:328
+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:4254
+msgid "SolderPaste Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4259
+msgid ""
+"A tool to create GCode for dispensing\n"
+"solder paste onto a PCB."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4270
+msgid "Diameters of nozzle tools, separated by ','"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4277
+msgid "New Nozzle Dia"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4279 flatcamTools/ToolSolderPaste.py:103
+msgid "Diameter for the new Nozzle tool to add in the Tool Table"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4287 flatcamTools/ToolSolderPaste.py:166
+msgid "Z Dispense Start"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4289 flatcamTools/ToolSolderPaste.py:168
+msgid "The height (Z) when solder paste dispensing starts."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4296 flatcamTools/ToolSolderPaste.py:174
+msgid "Z Dispense"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4298 flatcamTools/ToolSolderPaste.py:176
+msgid "The height (Z) when doing solder paste dispensing."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4305 flatcamTools/ToolSolderPaste.py:182
+msgid "Z Dispense Stop"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4307 flatcamTools/ToolSolderPaste.py:184
+msgid "The height (Z) when solder paste dispensing stops."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4314 flatcamTools/ToolSolderPaste.py:190
+msgid "Z Travel"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4316 flatcamTools/ToolSolderPaste.py:192
+msgid ""
+"The height (Z) for travel between pads\n"
+"(without dispensing solder paste)."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4324 flatcamTools/ToolSolderPaste.py:199
+msgid "Z Toolchange"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4326 flatcamTools/ToolSolderPaste.py:201
+msgid "The height (Z) for tool (nozzle) change."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4335 flatcamTools/ToolSolderPaste.py:209
+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:4343 flatcamTools/ToolSolderPaste.py:216
+msgid "Feedrate X-Y"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4345 flatcamTools/ToolSolderPaste.py:218
+msgid "Feedrate (speed) while moving on the X-Y plane."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4354 flatcamTools/ToolSolderPaste.py:226
+msgid ""
+"Feedrate (speed) while moving vertically\n"
+"(on Z plane)."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4362 flatcamTools/ToolSolderPaste.py:233
+msgid "Feedrate Z Dispense"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4364
+msgid ""
+"Feedrate (speed) while moving up vertically\n"
+"to Dispense position (on Z plane)."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4372 flatcamTools/ToolSolderPaste.py:242
+msgid "Spindle Speed FWD"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4374 flatcamTools/ToolSolderPaste.py:244
+msgid ""
+"The dispenser speed while pushing solder paste\n"
+"through the dispenser nozzle."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4382 flatcamTools/ToolSolderPaste.py:251
+msgid "Dwell FWD"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4384 flatcamTools/ToolSolderPaste.py:253
+msgid "Pause after solder dispensing."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4391 flatcamTools/ToolSolderPaste.py:259
+msgid "Spindle Speed REV"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4393 flatcamTools/ToolSolderPaste.py:261
+msgid ""
+"The dispenser speed while retracting solder paste\n"
+"through the dispenser nozzle."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4401 flatcamTools/ToolSolderPaste.py:268
+msgid "Dwell REV"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4403 flatcamTools/ToolSolderPaste.py:270
+msgid ""
+"Pause after solder paste dispenser retracted,\n"
+"to allow pressure equilibrium."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4412 flatcamTools/ToolSolderPaste.py:278
+msgid "Files that control the GCode generation."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4427
+msgid "Substractor Tool Options"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4432
+msgid ""
+"A tool to substract one Gerber or Geometry object\n"
+"from another of the same type."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4437 flatcamTools/ToolSub.py:135
+msgid "Close paths"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4438 flatcamTools/ToolSub.py:136
+msgid ""
+"Checking this will close the paths cut by the Geometry substractor object."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4449
+msgid "Excellon File associations"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4461 flatcamGUI/PreferencesUI.py:4533
+#: flatcamGUI/PreferencesUI.py:4602 flatcamGUI/PreferencesUI.py:4671
+msgid "Restore"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4462 flatcamGUI/PreferencesUI.py:4534
+#: flatcamGUI/PreferencesUI.py:4603
+msgid "Restore the extension list to the default state."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4463 flatcamGUI/PreferencesUI.py:4535
+#: flatcamGUI/PreferencesUI.py:4604 flatcamGUI/PreferencesUI.py:4673
+msgid "Delete All"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4464 flatcamGUI/PreferencesUI.py:4536
+#: flatcamGUI/PreferencesUI.py:4605
+msgid "Delete all extensions from the list."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4472 flatcamGUI/PreferencesUI.py:4544
+#: flatcamGUI/PreferencesUI.py:4613
+msgid "Extensions list"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4474 flatcamGUI/PreferencesUI.py:4546
+#: flatcamGUI/PreferencesUI.py:4615
+msgid ""
+"List of file extensions to be\n"
+"associated with FlatCAM."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4494 flatcamGUI/PreferencesUI.py:4566
+#: flatcamGUI/PreferencesUI.py:4634 flatcamGUI/PreferencesUI.py:4705
+msgid "Extension"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4495 flatcamGUI/PreferencesUI.py:4567
+#: flatcamGUI/PreferencesUI.py:4635
+msgid "A file extension to be added or deleted to the list."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4503 flatcamGUI/PreferencesUI.py:4575
+#: flatcamGUI/PreferencesUI.py:4643
+msgid "Add Extension"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4504 flatcamGUI/PreferencesUI.py:4576
+#: flatcamGUI/PreferencesUI.py:4644
+msgid "Add a file extension to the list"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4505 flatcamGUI/PreferencesUI.py:4577
+#: flatcamGUI/PreferencesUI.py:4645
+msgid "Delete Extension"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4506 flatcamGUI/PreferencesUI.py:4578
+#: flatcamGUI/PreferencesUI.py:4646
+msgid "Delete a file extension from the list"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4513 flatcamGUI/PreferencesUI.py:4585
+#: flatcamGUI/PreferencesUI.py:4653
+msgid "Apply Association"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4514 flatcamGUI/PreferencesUI.py:4586
+#: flatcamGUI/PreferencesUI.py:4654
+msgid ""
+"Apply the file associations between\n"
+"FlatCAM and the files with above extensions.\n"
+"They will be active after next logon.\n"
+"This work only in Windows."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4531
+msgid "GCode File associations"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4600
+msgid "Gerber File associations"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4669
+msgid "Autocompleter Keywords"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4672
+msgid "Restore the autocompleter keywords list to the default state."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4674
+msgid "Delete all autocompleter keywords from the list."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4682
+msgid "Keywords list"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4684
+msgid ""
+"List of keywords used by\n"
+"the autocompleter in FlatCAM.\n"
+"The autocompleter is installed\n"
+"in the Code Editor and for the Tcl Shell."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4706
+msgid "A keyword to be added or deleted to the list."
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4714
+msgid "Add keyword"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4715
+msgid "Add a keyword to the list"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4716
+msgid "Delete keyword"
+msgstr ""
+
+#: flatcamGUI/PreferencesUI.py:4717
+msgid "Delete a keyword from the list"
+msgstr ""
+
+#: flatcamParsers/ParseFont.py:305
+msgid "Font not supported, try another one."
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:24
+msgid "Calculators"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:26
+msgid "Units Calculator"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:68
+msgid "Here you enter the value to be converted from INCH to MM"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:73
+msgid "Here you enter the value to be converted from MM to INCH"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:104
+msgid ""
+"This is the angle of the tip of the tool.\n"
+"It is specified by manufacturer."
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:111
+msgid ""
+"This is the depth to cut into the material.\n"
+"In the CNCJob is the CutZ parameter."
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:114
+msgid "Tool Diameter"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:118
+msgid ""
+"This is the tool diameter to be entered into\n"
+"FlatCAM Gerber section.\n"
+"In the CNCJob section it is called >Tool dia<."
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:129 flatcamTools/ToolCalculators.py:210
+msgid "Calculate"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:132
+msgid ""
+"Calculate either the Cut Z or the effective tool diameter,\n"
+"  depending on which is desired and which is known. "
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:186
+msgid "Current Value"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:190
+msgid ""
+"This is the current intensity value\n"
+"to be set on the Power Supply. In Amps."
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:194
+msgid "Time"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:198
+msgid ""
+"This is the calculated time required for the procedure.\n"
+"In minutes."
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:213
+msgid ""
+"Calculate the current intensity value and the procedure time,\n"
+"depending on the parameters above"
+msgstr ""
+
+#: flatcamTools/ToolCalculators.py:262
+msgid "Calc. Tool"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:18
+msgid "Cutout PCB"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:55
+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 ""
+
+#: flatcamTools/ToolCutOut.py:71
+msgid "Object to be cutout.                        "
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:100
+msgid "Margin:"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:110
+msgid "Gap size:"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:137
+msgid "A. Automatic Bridge Gaps"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:139
+msgid "This section handle creation of automatic bridge gaps."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:150
+msgid ""
+"Number of gaps used for the Automatic cutout.\n"
+"There can be maximum 8 bridges/gaps.\n"
+"The choices are:\n"
+"- None  - no gaps\n"
+"- lr    - left + right\n"
+"- tb    - top + bottom\n"
+"- 4     - left + right +top + bottom\n"
+"- 2lr   - 2*left + 2*right\n"
+"- 2tb  - 2*top + 2*bottom\n"
+"- 8     - 2*left + 2*right +2*top + 2*bottom"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:174
+msgid "FreeForm"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:176
+msgid ""
+"The cutout shape can be of ny shape.\n"
+"Useful when the PCB has a non-rectangular shape."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:185
+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:194
+msgid "Rectangular"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:196
+msgid ""
+"The resulting cutout shape is\n"
+"always a rectangle shape and it will be\n"
+"the bounding box of the Object."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:205
+msgid ""
+"Cutout the selected object.\n"
+"The resulting cutout shape is\n"
+"always a rectangle shape and it will be\n"
+"the bounding box of the Object."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:213
+msgid "B. Manual Bridge Gaps"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:215
+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:231
+msgid "Geo Obj"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:233
+msgid "Geometry object used to create the manual cutout."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:244
+msgid "Manual Geo"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:246 flatcamTools/ToolCutOut.py:256
+msgid ""
+"If the object to be cutout is a Gerber\n"
+"first create a Geometry that surrounds it,\n"
+"to be used as the cutout, if one doesn't exist yet.\n"
+"Select the source Gerber file in the top object combobox."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:266
+msgid "Manual Add Bridge Gaps"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:268
+msgid ""
+"Use the left mouse button (LMB) click\n"
+"to create a bridge gap to separate the PCB from\n"
+"the surrounding material."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:275
+msgid "Generate Gap"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:277
+msgid ""
+"Use the left mouse button (LMB) click\n"
+"to create a bridge gap to separate the PCB from\n"
+"the surrounding material.\n"
+"The LMB click has to be done on the perimeter of\n"
+"the Geometry object used as a cutout geometry."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:376 flatcamTools/ToolCutOut.py:576
+#: flatcamTools/ToolNonCopperClear.py:1098
+#: flatcamTools/ToolNonCopperClear.py:1139
+#: flatcamTools/ToolNonCopperClear.py:1171 flatcamTools/ToolPaint.py:1069
+#: flatcamTools/ToolPanelize.py:359 flatcamTools/ToolPanelize.py:376
+#: flatcamTools/ToolSub.py:254 flatcamTools/ToolSub.py:269
+#: flatcamTools/ToolSub.py:456 flatcamTools/ToolSub.py:471
+#: tclCommands/TclCommandCopperClear.py:131
+#: tclCommands/TclCommandCopperClear.py:208 tclCommands/TclCommandPaint.py:133
+msgid "Could not retrieve object"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:381
+msgid ""
+"There is no object selected for Cutout.\n"
+"Select one and try again."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:397 flatcamTools/ToolCutOut.py:595
+#: flatcamTools/ToolCutOut.py:765 flatcamTools/ToolCutOut.py:867
+msgid "Tool Diameter is zero value. Change it to a positive real number."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:413 flatcamTools/ToolCutOut.py:611
+#: flatcamTools/ToolCutOut.py:883
+msgid "Margin value is missing or wrong format. Add it and retry."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:424 flatcamTools/ToolCutOut.py:622
+#: flatcamTools/ToolCutOut.py:776
+msgid "Gap size value is missing or wrong format. Add it and retry."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:430 flatcamTools/ToolCutOut.py:629
+msgid "Number of gaps value is missing. Add it and retry."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:435 flatcamTools/ToolCutOut.py:633
+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:440 flatcamTools/ToolCutOut.py:639
+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:559 flatcamTools/ToolCutOut.py:744
+msgid "Any form CutOut operation finished."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:580 flatcamTools/ToolNonCopperClear.py:1102
+#: flatcamTools/ToolPaint.py:965 flatcamTools/ToolPanelize.py:366
+#: tclCommands/TclCommandBbox.py:66 tclCommands/TclCommandNregions.py:65
+msgid "Object not found"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:749
+msgid ""
+"Click on the selected geometry object perimeter to create a bridge gap ..."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:785 flatcamTools/ToolCutOut.py:812
+msgid "Could not retrieve Geometry object"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:817
+msgid "Geometry object for manual cutout not found"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:827
+msgid "Added manual Bridge Gap."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:839
+msgid "Could not retrieve Gerber object"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:844
+msgid ""
+"There is no Gerber object selected for Cutout.\n"
+"Select one and try again."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:850
+msgid ""
+"The selected object has to be of Gerber type.\n"
+"Select a Gerber file and try again."
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:905
+msgid "Geometry not supported for cutout"
+msgstr ""
+
+#: flatcamTools/ToolCutOut.py:957
+msgid "Making manual bridge gap..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:18
+msgid "2-Sided PCB"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:52 flatcamTools/ToolDblSided.py:76
+#: flatcamTools/ToolDblSided.py:100
+msgid "Mirror"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:54 flatcamTools/ToolDblSided.py:78
+#: flatcamTools/ToolDblSided.py:102
+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:73
+msgid "Excellon Object to be mirrored."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:97
+msgid "Geometry Obj to be mirrored."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:133
+msgid "Axis Ref:"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:152
+msgid "Point/Box Reference"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:154
+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 ""
+
+#: flatcamTools/ToolDblSided.py:162
+msgid ""
+"Add the coordinates in format <b>(x, y)</b> 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."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:182 flatcamTools/ToolNonCopperClear.py:424
+#: flatcamTools/ToolPaint.py:322
+msgid "Gerber   Reference Box Object"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:183 flatcamTools/ToolNonCopperClear.py:425
+#: flatcamTools/ToolPaint.py:323
+msgid "Excellon Reference Box Object"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:184 flatcamTools/ToolNonCopperClear.py:426
+#: flatcamTools/ToolPaint.py:324
+msgid "Geometry Reference Box Object"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:192
+msgid "Alignment Drill Coordinates"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:194
+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'."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:209
+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), ..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:223
+msgid "Alignment Drill Diameter"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:246
+msgid "Create Excellon Object"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:248
+msgid ""
+"Creates an Excellon Object containing the\n"
+"specified alignment holes and their mirror\n"
+"images."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:254
+msgid "Reset"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:256
+msgid "Resets all the fields."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:306
+msgid "2-Sided Tool"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:331
+msgid ""
+"'Point' reference is selected and 'Point' coordinates are missing. Add them "
+"and retry."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:350
+msgid "There is no Box reference object loaded. Load one and retry."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:373
+msgid "No value or wrong format in Drill Dia entry. Add it and retry."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:380
+msgid "There are no Alignment Drill Coordinates to use. Add them and retry."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:403
+msgid "Excellon object with alignment drills created..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:412
+msgid "There is no Gerber object loaded ..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:416 flatcamTools/ToolDblSided.py:459
+#: flatcamTools/ToolDblSided.py:503
+msgid "Only Gerber, Excellon and Geometry objects can be mirrored."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:426
+msgid ""
+"'Point' coordinates missing. Using Origin (0, 0) as mirroring reference."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:436 flatcamTools/ToolDblSided.py:480
+#: flatcamTools/ToolDblSided.py:517
+msgid "There is no Box object loaded ..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:446 flatcamTools/ToolDblSided.py:490
+#: flatcamTools/ToolDblSided.py:527
+msgid "was mirrored"
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:455
+msgid "There is no Excellon object loaded ..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:470
+msgid ""
+"There are no Point coordinates in the Point field. Add coords and try "
+"again ..."
+msgstr ""
+
+#: flatcamTools/ToolDblSided.py:499
+msgid "There is no Geometry object loaded ..."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:25
+msgid "Film PCB"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:56 flatcamTools/ToolImage.py:53
+#: flatcamTools/ToolPanelize.py:56 flatcamTools/ToolProperties.py:143
+msgid "Object Type"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:58
+msgid ""
+"Specify the type of object for which to create the film.\n"
+"The object can be of type: Gerber or Geometry.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Film Object combobox."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:71
+msgid "Film Object"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:73
+msgid "Object for which to create the film."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:89
+msgid "Box Type:"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:91
+msgid ""
+"Specify the type of object to be used as an container for\n"
+"film creation. It can be: Gerber or Geometry type.The selection here decide "
+"the type of objects that will be\n"
+"in the Box Object combobox."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:104 flatcamTools/ToolPanelize.py:126
+msgid "Box Object"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:106
+msgid ""
+"The actual object that is used a container for the\n"
+" selected object for which we create the film.\n"
+"Usually it is the PCB outline but it can be also the\n"
+"same object for which the film is created."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:114
+msgid "Positive"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:115
+msgid "Negative"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:116
+msgid "Film Type:"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:157
+msgid "Save Film"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:159
+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 SVG format\n"
+"which can be opened with Inkscape."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:231
+msgid "No FlatCAM object selected. Load an object for Film and retry."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:238
+msgid "No FlatCAM object selected. Load an object for Box and retry."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:260
+msgid "Generating Film ..."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:265 flatcamTools/ToolFilm.py:269
+msgid "Export SVG positive"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:274
+msgid "Export SVG positive cancelled."
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:281 flatcamTools/ToolFilm.py:285
+msgid "Export SVG negative"
+msgstr ""
+
+#: flatcamTools/ToolFilm.py:290
+msgid "Export SVG negative cancelled."
+msgstr ""
+
+#: flatcamTools/ToolImage.py:25
+msgid "Image as Object"
+msgstr ""
+
+#: flatcamTools/ToolImage.py:31
+msgid "Image to PCB"
+msgstr ""
+
+#: flatcamTools/ToolImage.py:55
+msgid ""
+"Specify the type of object to create from the image.\n"
+"It can be of type: Gerber or Geometry."
+msgstr ""
+
+#: flatcamTools/ToolImage.py:63
+msgid "DPI value"
+msgstr ""
+
+#: flatcamTools/ToolImage.py:65
+msgid "Specify a DPI value for the image."
+msgstr ""
+
+#: flatcamTools/ToolImage.py:72
+msgid "Level of detail"
+msgstr ""
+
+#: flatcamTools/ToolImage.py:81
+msgid "Image type"
+msgstr ""
+
+#: 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:90 flatcamTools/ToolImage.py:103
+#: flatcamTools/ToolImage.py:114 flatcamTools/ToolImage.py:125
+msgid "Mask value"
+msgstr ""
+
+#: flatcamTools/ToolImage.py:92
+msgid ""
+"Mask for monochrome image.\n"
+"Takes values between [0 ... 255].\n"
+"Decides the level of details to include\n"
+"in the resulting geometry.\n"
+"0 means no detail and 255 means everything \n"
+"(which is totally black)."
+msgstr ""
+
+#: flatcamTools/ToolImage.py:105
+msgid ""
+"Mask for RED color.\n"
+"Takes values between [0 ... 255].\n"
+"Decides the level of details to include\n"
+"in the resulting geometry."
+msgstr ""
+
+#: flatcamTools/ToolImage.py:116
+msgid ""
+"Mask for GREEN color.\n"
+"Takes values between [0 ... 255].\n"
+"Decides the level of details to include\n"
+"in the resulting geometry."
+msgstr ""
+
+#: flatcamTools/ToolImage.py:127
+msgid ""
+"Mask for BLUE color.\n"
+"Takes values between [0 ... 255].\n"
+"Decides the level of details to include\n"
+"in the resulting geometry."
+msgstr ""
+
+#: flatcamTools/ToolImage.py:139
+msgid "Import image"
+msgstr ""
+
+#: flatcamTools/ToolImage.py:141
+msgid "Open a image of raster type and then import it in FlatCAM."
+msgstr ""
+
+#: flatcamTools/ToolImage.py:175
+msgid "Image Tool"
+msgstr ""
+
+#: flatcamTools/ToolImage.py:205 flatcamTools/ToolImage.py:208
+msgid "Import IMAGE"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:26
+msgid "Measurement"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:44
+msgid "Those are the units in which the distance is measured."
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:45
+msgid "METRIC (mm)"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:45
+msgid "INCH (in)"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:48
+msgid "Start Coords"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:49 flatcamTools/ToolMeasurement.py:65
+msgid "This is measuring Start point coordinates."
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:51
+msgid "Stop Coords"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:52 flatcamTools/ToolMeasurement.py:69
+msgid "This is the measuring Stop point coordinates."
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:54
+msgid "Dx"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:55 flatcamTools/ToolMeasurement.py:73
+msgid "This is the distance measured over the X axis."
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:57
+msgid "Dy"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:58 flatcamTools/ToolMeasurement.py:77
+msgid "This is the distance measured over the Y axis."
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:60
+msgid "DISTANCE"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:61 flatcamTools/ToolMeasurement.py:81
+msgid "This is the point to point Euclidian distance."
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:83
+msgid "Measure"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:135
+msgid "Meas. Tool"
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:180
+msgid "MEASURING: Click on the Start point ..."
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:312
+msgid "MEASURING: Click on the Destination point ..."
+msgstr ""
+
+#: flatcamTools/ToolMeasurement.py:319
+#, python-brace-format
+msgid "MEASURING: Result D(x) = {d_x} | D(y) = {d_y} | Distance = {d_z}"
+msgstr ""
+
+#: flatcamTools/ToolMove.py:94
+msgid "MOVE: Click on the Start point ..."
+msgstr ""
+
+#: flatcamTools/ToolMove.py:101
+msgid "MOVE action cancelled. No object(s) to move."
+msgstr ""
+
+#: flatcamTools/ToolMove.py:128
+msgid "MOVE: Click on the Destination point ..."
+msgstr ""
+
+#: flatcamTools/ToolMove.py:149
+msgid "Moving..."
+msgstr ""
+
+#: flatcamTools/ToolMove.py:152
+msgid "No object(s) selected."
+msgstr ""
+
+#: flatcamTools/ToolMove.py:180
+msgid "ToolMove.on_left_click()"
+msgstr ""
+
+#: flatcamTools/ToolMove.py:198
+msgid "ToolMove.on_left_click() --> Error when mouse left click."
+msgstr ""
+
+#: flatcamTools/ToolMove.py:246
+msgid "Move action cancelled."
+msgstr ""
+
+#: flatcamTools/ToolMove.py:258
+msgid "Object(s) not selected"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:26
+msgid "Non-Copper Clearing"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:71
+msgid ""
+"Specify the type of object to be cleared of excess copper.\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 ""
+
+#: flatcamTools/ToolNonCopperClear.py:88
+msgid "Object to be cleared of excess copper."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:98
+msgid ""
+"Tools pool from which the algorithm\n"
+"will pick the ones used for copper clearing."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:107
+msgid "Operation"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:113
+msgid ""
+"This is the Tool Number.\n"
+"Non copper clearing will start with the tool with the biggest \n"
+"diameter, continuing until there are no more tools.\n"
+"Only tools that create NCC clearing geometry will still be present\n"
+"in the resulting geometry. This is because with some tools\n"
+"this function will not be able to create painting geometry."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:121
+msgid ""
+"Tool Diameter. It's value (in current FlatCAM units)\n"
+"is the cut width into the material."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:125
+msgid ""
+"The Tool Type (TT) can be:\n"
+"- Circular with 1 ... 4 teeth -> it is informative only. Being circular,\n"
+"the cut width in material 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 resulting geometry UI "
+"form\n"
+"and enable two additional UI form fields in the resulting geometry: V-Tip "
+"Dia and\n"
+"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\n"
+"column of this table.\n"
+"Choosing the 'V-Shape' Tool Type automatically will select the Operation "
+"Type\n"
+"in the resulting geometry as Isolation."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:138
+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:191
+msgid "Tool Selection"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:214
+msgid "Diameter for the new tool to add in the Tool Table"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:251 flatcamTools/ToolPaint.py:190
+#: flatcamTools/ToolSolderPaste.py:123
+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:400 flatcamTools/ToolPaint.py:299
+msgid "Area Selection"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:401 flatcamTools/ToolPaint.py:301
+msgid "Reference Object"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:403
+msgid "Reference:"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:418 flatcamTools/ToolPaint.py:316
+msgid "Ref. Type"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:420
+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:429 flatcamTools/ToolPaint.py:327
+msgid "Ref. Object"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:431 flatcamTools/ToolPaint.py:329
+msgid "The FlatCAM object to be used as non copper clearing reference."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:444
+msgid "Generate Geometry"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:921 flatcamTools/ToolPaint.py:719
+#: flatcamTools/ToolSolderPaste.py:769
+msgid "Please enter a tool diameter to add, in Float format."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:955 flatcamTools/ToolPaint.py:744
+msgid "Adding tool cancelled. Tool already in Tool Table."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:960 flatcamTools/ToolPaint.py:750
+msgid "New tool added to Tool Table."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1004 flatcamTools/ToolPaint.py:796
+msgid "Tool from Tool Table was edited."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1015 flatcamTools/ToolPaint.py:808
+#: flatcamTools/ToolSolderPaste.py:860
+msgid "Edit cancelled. New diameter value is already in the Tool Table."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1055 flatcamTools/ToolPaint.py:906
+msgid "Delete failed. Select a tool to delete."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1060 flatcamTools/ToolPaint.py:912
+msgid "Tool(s) deleted from Tool Table."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1068 flatcamTools/ToolPaint.py:920
+msgid "on_paint_button_click"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1082
+msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive), "
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1118
+msgid "Wrong Tool Dia value format entered, use a number."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1127 flatcamTools/ToolPaint.py:995
+msgid "No selected tools in Tool Table."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1152
+msgid "Click the start point of the area."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1202 flatcamTools/ToolPaint.py:1105
+msgid "Click the end point of the paint area."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1208 flatcamTools/ToolPaint.py:1111
+msgid "Zone added. Click to start adding next zone or right click to finish."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1347
+msgid "Non-Copper clearing ..."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1356
+msgid "NCC Tool started. Reading parameters."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1426
+msgid "NCC Tool. Preparing non-copper polygons."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1454 flatcamTools/ToolPaint.py:2504
+msgid "No object available."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1496
+msgid "The reference object type is not supported."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1518
+msgid ""
+"NCC Tool. Finished non-copper polygons. Normal copper clearing task started."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1550
+msgid "NCC Tool. Calculate 'empty' area."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1565
+#: flatcamTools/ToolNonCopperClear.py:1659
+#: flatcamTools/ToolNonCopperClear.py:1671
+#: flatcamTools/ToolNonCopperClear.py:1898
+#: flatcamTools/ToolNonCopperClear.py:1990
+#: flatcamTools/ToolNonCopperClear.py:2002
+msgid "Buffering finished"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1678
+#: flatcamTools/ToolNonCopperClear.py:2008
+msgid "The selected object is not suitable for copper clearing."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1683
+#: flatcamTools/ToolNonCopperClear.py:2013
+msgid "Could not get the extent of the area to be non copper cleared."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1690
+msgid "NCC Tool. Finished calculation of 'empty' area."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1700
+#: flatcamTools/ToolNonCopperClear.py:2038
+msgid "NCC Tool clearing with tool diameter = "
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1703
+#: flatcamTools/ToolNonCopperClear.py:2041
+msgid "started."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1841 flatcamTools/ToolPaint.py:1463
+#: flatcamTools/ToolPaint.py:1798 flatcamTools/ToolPaint.py:1948
+#: flatcamTools/ToolPaint.py:2269 flatcamTools/ToolPaint.py:2423
+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/ToolNonCopperClear.py:1851
+msgid "NCC Tool clear all done."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1853
+msgid "NCC Tool clear all done but the copper features isolation is broken for"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:1856
+#: flatcamTools/ToolNonCopperClear.py:2204
+msgid "tools"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:2200
+msgid "NCC Tool Rest Machining clear all done."
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:2203
+msgid ""
+"NCC Tool Rest Machining clear all done but the copper features isolation is "
+"broken for"
+msgstr ""
+
+#: flatcamTools/ToolNonCopperClear.py:2630
+msgid ""
+"Try to use the Buffering Type = Full in Preferences -> Gerber General. "
+"Reload the Gerber file after this change."
+msgstr ""
+
+#: flatcamTools/ToolPDF.py:152 flatcamTools/ToolPDF.py:156
+msgid "Open PDF"
+msgstr ""
+
+#: flatcamTools/ToolPDF.py:159
+msgid "Open PDF cancelled"
+msgstr ""
+
+#: flatcamTools/ToolPDF.py:190
+msgid "Parsing PDF file ..."
+msgstr ""
+
+#: flatcamTools/ToolPDF.py:273 flatcamTools/ToolPDF.py:348
+#, python-format
+msgid "Rendering PDF layer #%d ..."
+msgstr ""
+
+#: flatcamTools/ToolPDF.py:278 flatcamTools/ToolPDF.py:353
+msgid "Open PDF file failed."
+msgstr ""
+
+#: flatcamTools/ToolPDF.py:284 flatcamTools/ToolPDF.py:358
+msgid "Rendered"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:70
+msgid ""
+"Specify the type of object to be painted.\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 ""
+
+#: flatcamTools/ToolPaint.py:87
+msgid "Object to be painted."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:97
+msgid ""
+"Tools pool from which the algorithm\n"
+"will pick the ones used for painting."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:112
+msgid ""
+"This is the Tool Number.\n"
+"Painting will start with the tool with the biggest diameter,\n"
+"continuing until there are no more tools.\n"
+"Only tools that create painting geometry will still be present\n"
+"in the resulting geometry. This is because with some tools\n"
+"this function will not be able to create painting geometry."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:124
+msgid ""
+"The Tool Type (TT) can be:<BR>- <B>Circular</B> with 1 ... 4 teeth -> it is "
+"informative only. Being circular, <BR>the cut width in material is exactly "
+"the tool diameter.<BR>- <B>Ball</B> -> informative only and make reference "
+"to the Ball type endmill.<BR>- <B>V-Shape</B> -> it will disable de Z-Cut "
+"parameter in the resulting geometry UI form and enable two additional UI "
+"form fields in the resulting geometry: V-Tip Dia and V-Tip Angle. Adjusting "
+"those two values will adjust the Z-Cut parameter such as the cut width into "
+"material will be equal with the value in the Tool Diameter column of this "
+"table.<BR>Choosing the <B>V-Shape</B> Tool Type automatically will select "
+"the Operation Type in the resulting geometry as Isolation."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:164
+msgid "Diameter for the new tool."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:239
+msgid ""
+"Algorithm for painting:\n"
+"- Standard: Fixed step inwards.\n"
+"- Seed-based: Outwards from seed.\n"
+"- Line-based: Parallel lines."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:273
+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:298
+msgid "Single Polygon"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:300
+msgid "All Polygons"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:318
+msgid ""
+"The type of FlatCAM object to be used as paint reference.\n"
+"It can be Gerber, Excellon or Geometry."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:343
+msgid "Create Paint Geometry"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:345
+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"
+"- 'All Polygons' - the Paint will start after click.\n"
+"- 'Reference Object' -  will do non copper clearing within the area\n"
+"specified by another object."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:926
+msgid "Paint Tool. Reading parameters."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:941
+msgid "Overlap value must be between 0 (inclusive) and 1 (exclusive)"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:945 flatcamTools/ToolPaint.py:1008
+msgid "Click inside the desired polygon."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:959
+#, python-format
+msgid "Could not retrieve object: %s"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:973
+msgid "Can't do Paint on MultiGeo geometries"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1017 flatcamTools/ToolPaint.py:1289
+msgid "Painting polygon..."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1048
+msgid "Click the start point of the paint area."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1245 flatcamTools/ToolPaint.py:1249
+#: flatcamTools/ToolPaint.py:1252 flatcamTools/ToolPaint.py:1291
+#: flatcamTools/ToolPaint.py:1818 flatcamTools/ToolPaint.py:1822
+#: flatcamTools/ToolPaint.py:1825 flatcamTools/ToolPaint.py:2107
+#: flatcamTools/ToolPaint.py:2112 flatcamTools/ToolPaint.py:2115
+#: flatcamTools/ToolPaint.py:2289 flatcamTools/ToolPaint.py:2296
+msgid "Paint Tool."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1245 flatcamTools/ToolPaint.py:1249
+#: flatcamTools/ToolPaint.py:1252
+msgid "Normal painting polygon task started."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1246 flatcamTools/ToolPaint.py:1644
+#: flatcamTools/ToolPaint.py:1819 flatcamTools/ToolPaint.py:2109
+#: flatcamTools/ToolPaint.py:2291
+msgid "Buffering geometry..."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1286
+msgid "No polygon found."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1291
+msgid "Painting polygon at location"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1374
+msgid "Geometry could not be painted completely"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1419
+msgid ""
+"Could not do Paint. Try a different combination of parameters. Or a "
+"different strategy of paint"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1468
+msgid "Paint Single Done."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1493
+msgid "PaintTool.paint_poly()"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1500 flatcamTools/ToolPaint.py:1976
+#: flatcamTools/ToolPaint.py:2451
+msgid "Polygon Paint started ..."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1561 flatcamTools/ToolPaint.py:2038
+msgid "Painting polygons..."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1643 flatcamTools/ToolPaint.py:1646
+#: flatcamTools/ToolPaint.py:1648
+msgid "Paint Tool. Normal painting all task started."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1682 flatcamTools/ToolPaint.py:1854
+#: flatcamTools/ToolPaint.py:2156 flatcamTools/ToolPaint.py:2332
+msgid "Painting with tool diameter = "
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1685 flatcamTools/ToolPaint.py:1857
+#: flatcamTools/ToolPaint.py:2159 flatcamTools/ToolPaint.py:2335
+msgid "started"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1747 flatcamTools/ToolPaint.py:1903
+#: flatcamTools/ToolPaint.py:2219 flatcamTools/ToolPaint.py:2379
+msgid ""
+"Could not do Paint All. Try a different combination of parameters. Or a "
+"different Method of paint"
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1807
+msgid "Paint All Done."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1818 flatcamTools/ToolPaint.py:1822
+#: flatcamTools/ToolPaint.py:1825
+msgid "Rest machining painting all task started."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:1957 flatcamTools/ToolPaint.py:2432
+msgid "Paint All with Rest-Machining done."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2108 flatcamTools/ToolPaint.py:2112
+#: flatcamTools/ToolPaint.py:2115
+msgid "Normal painting area task started."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2278
+msgid "Paint Area Done."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2290 flatcamTools/ToolPaint.py:2296
+msgid "Rest machining painting area task started."
+msgstr ""
+
+#: flatcamTools/ToolPaint.py:2293
+msgid "Paint Tool. Rest machining painting area task started."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:25
+msgid "Panelize PCB"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:58
+msgid ""
+"Specify the type of object to be panelized\n"
+"It can be of type: Gerber, Excellon or Geometry.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Object combobox."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:73
+msgid ""
+"Object to be panelized. This means that it will\n"
+"be duplicated in an array of rows and columns."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:86
+msgid "Penelization Reference"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:88
+msgid ""
+"Choose the reference for panelization:\n"
+"- Object = the bounding box of a different object\n"
+"- Bounding Box = the bounding box of the object to be panelized\n"
+"\n"
+"The reference is useful when doing panelization for more than one\n"
+"object. The spacings (really offsets) will be applied in reference\n"
+"to this reference object therefore maintaining the panelized\n"
+"objects in sync."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:111
+msgid "Box Type"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:113
+msgid ""
+"Specify the type of object to be used as an container for\n"
+"panelization. It can be: Gerber or Geometry type.\n"
+"The selection here decide the type of objects that will be\n"
+"in the Box Object combobox."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:128
+msgid ""
+"The actual object that is used a container for the\n"
+" selected object that is to be panelized."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:134
+msgid "Panel Data"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:136
+msgid ""
+"This informations will shape the resulting panel.\n"
+"The number of rows and columns will set how many\n"
+"duplicates of the original geometry will be generated.\n"
+"\n"
+"The spacings will set the distance between any two\n"
+"elements of the panel array."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:185
+msgid ""
+"Choose the type of object for the panel object:\n"
+"- Geometry\n"
+"- Gerber"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:193
+msgid "Constrain panel within"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:227
+msgid "Panelize Object"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:229
+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:277
+msgid "Panel. Tool"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:465
+msgid "Columns or Rows are zero value. Change them to a positive integer."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:490
+msgid "Generating panel ... "
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:776
+msgid "Generating panel ... Adding the Gerber code."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:788
+msgid "Generating panel... Spawning copies"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:798
+msgid "Panel done..."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:801
+#, python-brace-format
+msgid ""
+"{text} Too big for the constrain area. Final panel has {col} columns and "
+"{row} rows"
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:805
+msgid "Working..."
+msgstr ""
+
+#: flatcamTools/ToolPanelize.py:810
+msgid "Panel created successfully."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:32
+msgid "PcbWizard Import Tool"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:40
+msgid "Import 2-file Excellon"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:51
+msgid "Load files"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:57
+msgid "Excellon file"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:59
+msgid ""
+"Load the Excellon file.\n"
+"Usually it has a .DRL extension"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:65
+msgid "INF file"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:67
+msgid "Load the INF file."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:79
+msgid "Tool Number"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:81
+msgid "Tool diameter in file units."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:87
+msgid "Excellon format"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:95
+msgid "Int. digits"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:97
+msgid "The number of digits for the integral part of the coordinates."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:104
+msgid "Frac. digits"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:106
+msgid "The number of digits for the fractional part of the coordinates."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:113
+msgid "No Suppression"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:114
+msgid "Zeros supp."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:116
+msgid ""
+"The type of zeros suppression used.\n"
+"Can be of type:\n"
+"- LZ = leading zeros are kept\n"
+"- TZ = trailing zeros are kept\n"
+"- No Suppression = no zero suppression"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:129
+msgid ""
+"The type of units that the coordinates and tool\n"
+"diameters are using. Can be INCH or MM."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:136
+msgid "Import Excellon"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:138
+msgid ""
+"Import in FlatCAM an Excellon file\n"
+"that store it's information's in 2 files.\n"
+"One usually has .DRL extension while\n"
+"the other has .INF extension."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:197
+msgid "PCBWizard Tool"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:291 flatcamTools/ToolPcbWizard.py:295
+msgid "Load PcbWizard Excellon file"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:314 flatcamTools/ToolPcbWizard.py:318
+msgid "Load PcbWizard INF file"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:366
+msgid ""
+"The INF file does not contain the tool table.\n"
+"Try to open the Excellon file from File -> Open -> Excellon\n"
+"and edit the drill diameters manually."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:387
+msgid "PcbWizard .INF file loaded."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:392
+msgid "Main PcbWizard Excellon file loaded."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:431
+msgid "Cannot parse file"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:456
+msgid "Importing Excellon."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:463
+msgid "Import Excellon file failed."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:471
+msgid "Imported"
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:475
+msgid "Excellon merging is in progress. Please wait..."
+msgstr ""
+
+#: flatcamTools/ToolPcbWizard.py:478
+msgid "The imported Excellon file is None."
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:112
+msgid "Properties Tool was not displayed. No object selected."
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:120
+msgid "Object Properties are displayed."
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:121
+msgid "Properties Tool"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:130
+msgid "TYPE"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:131
+msgid "NAME"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:132
+msgid "Dimensions"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:135
+msgid "Options"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:146
+msgid "Geo Type"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:147
+msgid "Single-Geo"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:147
+msgid "Multi-Geo"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:155
+msgid "Calculating dimensions ... Please wait."
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:246
+msgid "Inch"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:247
+msgid "Metric"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:298 flatcamTools/ToolProperties.py:312
+#: flatcamTools/ToolProperties.py:315 flatcamTools/ToolProperties.py:318
+msgid "Present"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:352
+msgid "Width"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:357 flatcamTools/ToolProperties.py:361
+msgid "Box Area"
+msgstr ""
+
+#: flatcamTools/ToolProperties.py:358 flatcamTools/ToolProperties.py:362
+msgid "Convex_Hull Area"
+msgstr ""
+
+#: flatcamTools/ToolShell.py:70 flatcamTools/ToolShell.py:72
+msgid "...proccessing..."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:37
+msgid "Solder Paste Tool"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:65
+msgid "Gerber Solder paste object.                        "
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:72
+msgid ""
+"Tools pool from which the algorithm\n"
+"will pick the ones used for dispensing solder paste."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:87
+msgid ""
+"This is the Tool Number.\n"
+"The solder dispensing will start with the tool with the biggest \n"
+"diameter, continuing until there are no more Nozzle tools.\n"
+"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."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:94
+msgid ""
+"Nozzle tool Diameter. It's value (in current FlatCAM units)\n"
+"is the width of the solder paste dispensed."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:101
+msgid "New Nozzle Tool"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:117
+msgid ""
+"Add a new nozzle tool to the Tool Table\n"
+"with the diameter specified above."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:129
+msgid "Generate solder paste dispensing geometry."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:142
+msgid "STEP 1"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:144
+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:147
+msgid ""
+"Select tools.\n"
+"Modify parameters."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:235
+msgid ""
+"Feedrate (speed) while moving up vertically\n"
+" to Dispense position (on Z plane)."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:289
+msgid "Generate GCode"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:291
+msgid ""
+"Generate GCode for Solder Paste dispensing\n"
+"on PCB pads."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:306
+msgid "STEP 2"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:308
+msgid ""
+"Second step is to create a solder paste dispensing\n"
+"geometry out of an Solder Paste Mask Gerber file."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:324
+msgid "Geo Result"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:326
+msgid ""
+"Geometry Solder Paste object.\n"
+"The name of the object has to end in:\n"
+"'_solderpaste' as a protection."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:335
+msgid "STEP 3"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:337
+msgid ""
+"Third step is to select a solder paste dispensing geometry,\n"
+"and then generate a CNCJob object.\n"
+"\n"
+"REMEMBER: if you want to create a CNCJob with new parameters,\n"
+"first you need to generate a geometry with those new params,\n"
+"and only after that you can generate an updated CNCJob."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:357
+msgid "CNC Result"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:359
+msgid ""
+"CNCJob Solder paste object.\n"
+"In order to enable the GCode save section,\n"
+"the name of the object has to end in:\n"
+"'_solderpaste' as a protection."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:369
+msgid "View GCode"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:371
+msgid ""
+"View the generated GCode for Solder Paste dispensing\n"
+"on PCB pads."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:375
+msgid "Save GCode"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:377
+msgid ""
+"Save the generated GCode for Solder Paste dispensing\n"
+"on PCB pads, to a file."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:381
+msgid "STEP 4"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:383
+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:799
+msgid "Adding Nozzle tool cancelled. Tool already in Tool Table."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:805
+msgid "New Nozzle tool added to Tool Table."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:848
+msgid "Nozzle tool from Tool Table was edited."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:906
+msgid "Delete failed. Select a Nozzle tool to delete."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:912
+msgid "Nozzle tool(s) deleted from Tool Table."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:968
+msgid "No SolderPaste mask Gerber object loaded."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:986
+msgid "Creating Solder Paste dispensing geometry."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:999
+msgid "No Nozzle tools in the tool table."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1126
+msgid "Cancelled. Empty file, it has no geometry..."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1130
+msgid "Solder Paste geometry generated successfully"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1137
+msgid "Some or all pads have no solder due of inadequate nozzle diameters..."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1151
+msgid "Generating Solder Paste dispensing geometry..."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1172
+msgid "There is no Geometry object available."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1177
+msgid "This Geometry can't be processed. NOT a solder_paste_tool geometry."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1285
+msgid "ToolSolderPaste CNCjob created"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1318 flatcamTools/ToolSolderPaste.py:1323
+#: flatcamTools/ToolSolderPaste.py:1378
+msgid ""
+"This CNCJob object can't be processed. NOT a solder_paste_tool CNCJob object."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1348
+msgid "No Gcode in the object"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1358
+msgid "ToolSolderPaste.on_view_gcode()"
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1388
+msgid "Export GCode ..."
+msgstr ""
+
+#: flatcamTools/ToolSolderPaste.py:1436
+msgid "Solder paste dispenser GCode file saved to"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:57
+msgid "Gerber Objects"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:66 flatcamTools/ToolSub.py:112
+msgid "Target"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:68
+msgid ""
+"Gerber object from which to substract\n"
+"the substractor Gerber object."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:80 flatcamTools/ToolSub.py:126
+msgid "Substractor"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:82
+msgid ""
+"Gerber object that will be substracted\n"
+"from the target Gerber object."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:89
+msgid "Substract Gerber"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:91
+msgid ""
+"Will remove the area occupied by the substractor\n"
+"Gerber from the Target Gerber.\n"
+"Can be used to remove the overlapping silkscreen\n"
+"over the soldermask."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:103
+msgid "Geometry Objects"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:114
+msgid ""
+"Geometry object from which to substract\n"
+"the substractor Geometry object."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:128
+msgid ""
+"Geometry object that will be substracted\n"
+"from the target Geometry object."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:139
+msgid "Substract Geometry"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:141
+msgid ""
+"Will remove the area occupied by the substractor\n"
+"Geometry from the Target Geometry."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:228
+msgid "Sub Tool"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:245 flatcamTools/ToolSub.py:447
+msgid "No Target object loaded."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:260 flatcamTools/ToolSub.py:462
+msgid "No Substractor object loaded."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:314
+msgid "Parsing geometry for aperture"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:416 flatcamTools/ToolSub.py:619
+msgid "Generating new object ..."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:420 flatcamTools/ToolSub.py:623
+#: flatcamTools/ToolSub.py:704
+msgid "Generating new object failed."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:425 flatcamTools/ToolSub.py:629
+msgid "Created"
+msgstr ""
+
+#: flatcamTools/ToolSub.py:476
+msgid "Currently, the Substractor geometry cannot be of type Multigeo."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:521
+msgid "Parsing solid_geometry ..."
+msgstr ""
+
+#: flatcamTools/ToolSub.py:523
+msgid "Parsing solid_geometry for tool"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:23
+msgid "Object Transform"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:84
+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:120 flatcamTools/ToolTransform.py:138
+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:176 flatcamTools/ToolTransform.py:193
+msgid ""
+"Scale the selected object(s).\n"
+"The point of reference depends on \n"
+"the Scale reference checkbox state."
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:251 flatcamTools/ToolTransform.py:268
+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:298 flatcamTools/ToolTransform.py:306
+msgid ""
+"Flip the selected object(s) over the X axis.\n"
+"Does not create a new object.\n"
+" "
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:643
+msgid "No object selected. Please Select an object to rotate!"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:671
+msgid "CNCJob objects can't be rotated."
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:679
+msgid "Rotate done"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:684 flatcamTools/ToolTransform.py:759
+#: flatcamTools/ToolTransform.py:809 flatcamTools/ToolTransform.py:868
+#: flatcamTools/ToolTransform.py:904
+msgid "Due of"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:684 flatcamTools/ToolTransform.py:759
+#: flatcamTools/ToolTransform.py:809 flatcamTools/ToolTransform.py:868
+#: flatcamTools/ToolTransform.py:904
+msgid "action was not executed."
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:696
+msgid "No object selected. Please Select an object to flip"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:731
+msgid "CNCJob objects can't be mirrored/flipped."
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:769
+msgid "No object selected. Please Select an object to shear/skew!"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:791
+msgid "CNCJob objects can't be skewed."
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:804
+msgid "Skew on the"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:804 flatcamTools/ToolTransform.py:864
+#: flatcamTools/ToolTransform.py:899
+msgid "axis done"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:821
+msgid "No object selected. Please Select an object to scale!"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:854
+msgid "CNCJob objects can't be scaled."
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:864
+msgid "Scale on the"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:876
+msgid "No object selected. Please Select an object to offset!"
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:885
+msgid "CNCJob objects can't be offset."
+msgstr ""
+
+#: flatcamTools/ToolTransform.py:899
+msgid "Offset on the"
+msgstr ""
+
+#: tclCommands/TclCommandBbox.py:70 tclCommands/TclCommandNregions.py:68
+msgid "Expected FlatCAMGerber or FlatCAMGeometry, got"
+msgstr ""
+
+#: tclCommands/TclCommandBounds.py:64 tclCommands/TclCommandBounds.py:68
+msgid "Expected a list of objects names separated by comma. Got"
+msgstr ""
+
+#: tclCommands/TclCommandBounds.py:79
+msgid "TclCommand Bounds done."
+msgstr ""
+
+#: tclCommands/TclCommandCopperClear.py:237 tclCommands/TclCommandPaint.py:235
+msgid "Expected -box <value>."
+msgstr ""
+
+#: tclCommands/TclCommandCopperClear.py:246 tclCommands/TclCommandPaint.py:244
+#: tclCommands/TclCommandScale.py:63
+msgid "Could not retrieve box object"
+msgstr ""
+
+#: tclCommands/TclCommandCopperClear.py:268
+msgid ""
+"None of the following args: 'ref', 'all' were found or none was set to 1.\n"
+"Copper clearing failed."
+msgstr ""
+
+#: tclCommands/TclCommandPaint.py:212
+msgid "Expected -x <value> and -y <value>."
+msgstr ""
+
+#: tclCommands/TclCommandPaint.py:263
+msgid ""
+"There was none of the following args: 'ref', 'single', 'all'.\n"
+"Paint failed."
+msgstr ""
+
+#: tclCommands/TclCommandScale.py:83
+msgid "Expected -origin <origin> or -origin <min_bounds> or -origin <center>."
+msgstr ""
+
+#: tclCommands/TclCommandScale.py:92
+msgid "Expected -x <value> -y <value>."
+msgstr ""
+
+#: tclCommands/TclCommandSetOrigin.py:80
+msgid "Expected a pair of (x, y) coordinates. Got"
+msgstr ""
+
+#: tclCommands/TclCommandSetOrigin.py:87
+msgid "Origin set by offsetting all loaded objects with "
+msgstr ""
+
+#: tclCommands/TclCommandSubtractRectangle.py:49
+msgid "No Geometry name in args. Provide a name and try again."
+msgstr ""
+
+#~ msgid "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() -->"
+#~ msgstr "FlatCAMObj.FlatCAMGeometry.mtool_gen_cncjob() -->"
+
+#~ msgid "App.on_fileopenscript() -->"
+#~ msgstr "App.on_fileopenscript() -->"
+
+#~ msgid "%s/Project_%s"
+#~ msgstr "%s/Project_%s"
+
+#~ msgid "tool_tab"
+#~ msgstr "tool_tab"

BIN
locale/pt_BR/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 187 - 191
locale/pt_BR/LC_MESSAGES/strings.po


BIN
locale/ro/LC_MESSAGES/strings.mo


Разница между файлами не показана из-за своего большого размера
+ 187 - 191
locale/ro/LC_MESSAGES/strings.po


+ 2 - 1
setup_ubuntu.sh

@@ -29,4 +29,5 @@ pip3 install --upgrade freetype-py
 pip3 install --upgrade fontTools
 pip3 install --upgrade rasterio
 pip3 install --upgrade lxml
-pip3 install --upgrade ezdxf
+pip3 install --upgrade ezdxf
+pip3 install --upgrade matplotlib

Некоторые файлы не были показаны из-за большого количества измененных файлов