From 1860730b79d288228724ba75586a93fa5ed671cb Mon Sep 17 00:00:00 2001 From: Marius Stanciu Date: Tue, 5 Oct 2021 02:56:56 +0300 Subject: [PATCH] - Check Rules Plugin - upgraded the UI to the new look and grouped better the rules - updated the language strings --- CHANGELOG.md | 2 + appGUI/MainGUI.py | 6 +- appPlugins/ToolFilm.py | 117 +++-- appPlugins/ToolRulesCheck.py | 505 ++++++++++++------- appPlugins/ToolSolderPaste.py | 11 +- locale/de/LC_MESSAGES/strings.mo | Bin 358106 -> 357507 bytes locale/de/LC_MESSAGES/strings.po | 719 ++++++++++++++------------- locale/en/LC_MESSAGES/strings.mo | Bin 351048 -> 350740 bytes locale/en/LC_MESSAGES/strings.po | 744 ++++++++++++++-------------- locale/es/LC_MESSAGES/strings.mo | Bin 348126 -> 347499 bytes locale/es/LC_MESSAGES/strings.po | 720 ++++++++++++++------------- locale/fr/LC_MESSAGES/strings.mo | Bin 348580 -> 348045 bytes locale/fr/LC_MESSAGES/strings.po | 720 ++++++++++++++------------- locale/it/LC_MESSAGES/strings.mo | Bin 367787 -> 367238 bytes locale/it/LC_MESSAGES/strings.po | 720 ++++++++++++++------------- locale/pt_BR/LC_MESSAGES/strings.mo | Bin 337063 -> 336487 bytes locale/pt_BR/LC_MESSAGES/strings.po | 716 +++++++++++++------------- locale/ro/LC_MESSAGES/strings.mo | Bin 377766 -> 377178 bytes locale/ro/LC_MESSAGES/strings.po | 716 +++++++++++++------------- locale/ru/LC_MESSAGES/strings.mo | Bin 444062 -> 443370 bytes locale/ru/LC_MESSAGES/strings.po | 714 +++++++++++++------------- locale/tr/LC_MESSAGES/strings.mo | Bin 370279 -> 369672 bytes locale/tr/LC_MESSAGES/strings.po | 716 +++++++++++++------------- locale/zh/LC_MESSAGES/strings.mo | Bin 335484 -> 334897 bytes locale/zh/LC_MESSAGES/strings.po | 716 +++++++++++++------------- locale_template/strings.pot | 661 ++++++++++++------------ 26 files changed, 4442 insertions(+), 4061 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c51ef30..721a727b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ CHANGELOG for FlatCAM beta 5.10.2021 - Corners Plugin made sure that Drill in Locations and Check in Locations functionality works for manual mode +- Check Rules Plugin - upgraded the UI to the new look and grouped better the rules +- updated the language strings 4.10.2021 diff --git a/appGUI/MainGUI.py b/appGUI/MainGUI.py index 0557f683..b90125f9 100644 --- a/appGUI/MainGUI.py +++ b/appGUI/MainGUI.py @@ -1510,7 +1510,7 @@ class MainGUI(QtWidgets.QMainWindow): self.gerber_tab = QtWidgets.QWidget() self.gerber_tab.setObjectName("gerber_tab") - self.pref_tab_area.addTab(self.gerber_tab, _("GERBER")) + self.pref_tab_area.addTab(self.gerber_tab, _("Gerber").upper()) self.gerber_tab_lay = QtWidgets.QVBoxLayout() self.gerber_tab_lay.setContentsMargins(2, 2, 2, 2) self.gerber_tab.setLayout(self.gerber_tab_lay) @@ -1520,7 +1520,7 @@ class MainGUI(QtWidgets.QMainWindow): self.excellon_tab = QtWidgets.QWidget() self.excellon_tab.setObjectName("excellon_tab") - self.pref_tab_area.addTab(self.excellon_tab, _("EXCELLON")) + self.pref_tab_area.addTab(self.excellon_tab, _("Excellon").upper()) self.excellon_tab_lay = QtWidgets.QVBoxLayout() self.excellon_tab_lay.setContentsMargins(2, 2, 2, 2) self.excellon_tab.setLayout(self.excellon_tab_lay) @@ -1530,7 +1530,7 @@ class MainGUI(QtWidgets.QMainWindow): self.geometry_tab = QtWidgets.QWidget() self.geometry_tab.setObjectName("geometry_tab") - self.pref_tab_area.addTab(self.geometry_tab, _("GEOMETRY")) + self.pref_tab_area.addTab(self.geometry_tab, _("Geometry").upper()) self.geometry_tab_lay = QtWidgets.QVBoxLayout() self.geometry_tab_lay.setContentsMargins(2, 2, 2, 2) self.geometry_tab.setLayout(self.geometry_tab_lay) diff --git a/appPlugins/ToolFilm.py b/appPlugins/ToolFilm.py index e35b4c11..42532c58 100644 --- a/appPlugins/ToolFilm.py +++ b/appPlugins/ToolFilm.py @@ -1248,9 +1248,8 @@ class FilmUI: obj_frame = FCFrame() self.tools_box.addWidget(obj_frame) - # Grid Layout - grid0 = FCGridLayout(v_spacing=5, h_spacing=3) - obj_frame.setLayout(grid0) + obj_grid = FCGridLayout(v_spacing=5, h_spacing=3) + obj_frame.setLayout(obj_grid) # Type of object for which to create the film self.tf_type_obj_combo = RadioSet([{'label': _('Gerber'), 'value': 'grb'}, @@ -1263,8 +1262,8 @@ class FilmUI: "The selection here decide the type of objects that will be\n" "in the Film Object combobox.") ) - grid0.addWidget(self.tf_type_obj_combo_label, 0, 0) - grid0.addWidget(self.tf_type_obj_combo, 0, 1) + obj_grid.addWidget(self.tf_type_obj_combo_label, 0, 0) + obj_grid.addWidget(self.tf_type_obj_combo, 0, 1) # List of objects for which we can create the film self.tf_object_combo = FCComboBox() @@ -1272,7 +1271,7 @@ class FilmUI: self.tf_object_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.tf_object_combo.is_last = True - grid0.addWidget(self.tf_object_combo, 2, 0, 1, 2) + obj_grid.addWidget(self.tf_object_combo, 2, 0, 1, 2) # Type of Box Object to be used as an envelope for film creation # Within this we can create negative @@ -1286,8 +1285,8 @@ class FilmUI: "The selection here decide the type of objects that will be\n" "in the Box Object combobox.") ) - grid0.addWidget(self.tf_type_box_combo_label, 4, 0) - grid0.addWidget(self.tf_type_box_combo, 4, 1) + obj_grid.addWidget(self.tf_type_box_combo_label, 4, 0) + obj_grid.addWidget(self.tf_type_box_combo, 4, 1) # Box self.tf_box_combo = FCComboBox() @@ -1295,12 +1294,12 @@ class FilmUI: self.tf_box_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.tf_box_combo.is_last = True - grid0.addWidget(self.tf_box_combo, 6, 0, 1, 2) - # + obj_grid.addWidget(self.tf_box_combo, 6, 0, 1, 2) + # separator_line = QtWidgets.QFrame() # separator_line.setFrameShape(QtWidgets.QFrame.Shape.HLine) # separator_line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - # grid0.addWidget(separator_line, 8, 0, 1, 2) + # obj_grid.addWidget(separator_line, 8, 0, 1, 2) # ############################################################################################################# # Adjustments Frame @@ -1315,9 +1314,8 @@ class FilmUI: self.adj_frame = FCFrame() self.tools_box.addWidget(self.adj_frame) - # Grid Layout - grid1 = FCGridLayout(v_spacing=5, h_spacing=3) - self.adj_frame.setLayout(grid1) + adj_grid = FCGridLayout(v_spacing=5, h_spacing=3) + self.adj_frame.setLayout(adj_grid) # Scale Geometry self.film_scale_cb = FCCheckBox('%s' % _("Scale")) @@ -1330,7 +1328,7 @@ class FilmUI: QCheckBox {font-weight: bold; color: black} """ ) - grid1.addWidget(self.film_scale_cb, 2, 0, 1, 2) + adj_grid.addWidget(self.film_scale_cb, 2, 0, 1, 2) # Scale X self.film_scalex_label = FCLabel('%s:' % _("X factor")) @@ -1339,8 +1337,8 @@ class FilmUI: self.film_scalex_entry.set_precision(self.decimals) self.film_scalex_entry.setSingleStep(0.01) - grid1.addWidget(self.film_scalex_label, 4, 0) - grid1.addWidget(self.film_scalex_entry, 4, 1) + adj_grid.addWidget(self.film_scalex_label, 4, 0) + adj_grid.addWidget(self.film_scalex_entry, 4, 1) # Scale Y self.film_scaley_label = FCLabel('%s:' % _("Y factor")) @@ -1349,8 +1347,8 @@ class FilmUI: self.film_scaley_entry.set_precision(self.decimals) self.film_scaley_entry.setSingleStep(0.01) - grid1.addWidget(self.film_scaley_label, 6, 0) - grid1.addWidget(self.film_scaley_entry, 6, 1) + adj_grid.addWidget(self.film_scaley_label, 6, 0) + adj_grid.addWidget(self.film_scaley_entry, 6, 1) # Scale reference self.scale_ref_label = FCLabel('%s:' % _("Reference")) @@ -1362,8 +1360,8 @@ class FilmUI: self.scale_ref_combo.addItems( [_('Center'), _('Bottom Left'), _('Top Left'), _('Bottom Right'), _('Top right')]) - grid1.addWidget(self.scale_ref_label, 8, 0) - grid1.addWidget(self.scale_ref_combo, 8, 1) + adj_grid.addWidget(self.scale_ref_label, 8, 0) + adj_grid.addWidget(self.scale_ref_combo, 8, 1) self.ois_scale = OptionalHideInputSection(self.film_scale_cb, [ @@ -1378,7 +1376,7 @@ class FilmUI: self.scale_separator_line = QtWidgets.QFrame() self.scale_separator_line.setFrameShape(QtWidgets.QFrame.Shape.HLine) self.scale_separator_line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - grid1.addWidget(self.scale_separator_line, 10, 0, 1, 2) + adj_grid.addWidget(self.scale_separator_line, 10, 0, 1, 2) # Skew Geometry self.film_skew_cb = FCCheckBox('%s' % _("Skew")) @@ -1391,7 +1389,7 @@ class FilmUI: QCheckBox {font-weight: bold; color: black} """ ) - grid1.addWidget(self.film_skew_cb, 12, 0, 1, 2) + adj_grid.addWidget(self.film_skew_cb, 12, 0, 1, 2) # Skew X self.film_skewx_label = FCLabel('%s:' % _("X angle")) @@ -1400,8 +1398,8 @@ class FilmUI: self.film_skewx_entry.set_precision(self.decimals) self.film_skewx_entry.setSingleStep(0.01) - grid1.addWidget(self.film_skewx_label, 14, 0) - grid1.addWidget(self.film_skewx_entry, 14, 1) + adj_grid.addWidget(self.film_skewx_label, 14, 0) + adj_grid.addWidget(self.film_skewx_entry, 14, 1) # Skew Y self.film_skewy_label = FCLabel('%s:' % _("Y angle")) @@ -1410,8 +1408,8 @@ class FilmUI: self.film_skewy_entry.set_precision(self.decimals) self.film_skewy_entry.setSingleStep(0.01) - grid1.addWidget(self.film_skewy_label, 16, 0) - grid1.addWidget(self.film_skewy_entry, 16, 1) + adj_grid.addWidget(self.film_skewy_label, 16, 0) + adj_grid.addWidget(self.film_skewy_entry, 16, 1) # Skew Reference self.skew_ref_label = FCLabel('%s:' % _("Reference")) @@ -1423,8 +1421,8 @@ class FilmUI: self.skew_ref_combo.addItems( [_('Center'), _('Bottom Left'), _('Top Left'), _('Bottom Right'), _('Top right')]) - grid1.addWidget(self.skew_ref_label, 18, 0) - grid1.addWidget(self.skew_ref_combo, 18, 1) + adj_grid.addWidget(self.skew_ref_label, 18, 0) + adj_grid.addWidget(self.skew_ref_combo, 18, 1) self.ois_skew = OptionalHideInputSection(self.film_skew_cb, [ @@ -1439,7 +1437,7 @@ class FilmUI: self.skew_separator_line1 = QtWidgets.QFrame() self.skew_separator_line1.setFrameShape(QtWidgets.QFrame.Shape.HLine) self.skew_separator_line1.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) - grid1.addWidget(self.skew_separator_line1, 20, 0, 1, 2) + adj_grid.addWidget(self.skew_separator_line1, 20, 0, 1, 2) # Mirror Geometry self.film_mirror_cb = FCCheckBox('%s' % _("Mirror")) @@ -1451,7 +1449,7 @@ class FilmUI: QCheckBox {font-weight: bold; color: black} """ ) - grid1.addWidget(self.film_mirror_cb, 22, 0, 1, 2) + adj_grid.addWidget(self.film_mirror_cb, 22, 0, 1, 2) self.film_mirror_axis = RadioSet([{'label': _('X'), 'value': 'x'}, {'label': _('Y'), 'value': 'y'}, @@ -1462,8 +1460,8 @@ class FilmUI: _("Mirror the film geometry on the selected axis or on both.") ) - grid1.addWidget(self.film_mirror_axis_label, 24, 0) - grid1.addWidget(self.film_mirror_axis, 24, 1) + adj_grid.addWidget(self.film_mirror_axis_label, 24, 0) + adj_grid.addWidget(self.film_mirror_axis, 24, 1) self.ois_mirror = OptionalHideInputSection(self.film_mirror_cb, [ @@ -1480,9 +1478,8 @@ class FilmUI: par_frame = FCFrame() self.tools_box.addWidget(par_frame) - # Grid Layout - grid_par = FCGridLayout(v_spacing=5, h_spacing=3) - par_frame.setLayout(grid_par) + param_grid = FCGridLayout(v_spacing=5, h_spacing=3) + par_frame.setLayout(param_grid) # Convex Shape # Surrounding convex box shape @@ -1493,8 +1490,8 @@ class FilmUI: ) self.convex_box_cb = FCCheckBox() - grid_par.addWidget(self.convex_box_label, 0, 0) - grid_par.addWidget(self.convex_box_cb, 0, 1) + param_grid.addWidget(self.convex_box_label, 0, 0) + param_grid.addWidget(self.convex_box_cb, 0, 1) # Rounded corners self.rounded_label = FCLabel('%s:' % _("Rounded")) @@ -1504,8 +1501,8 @@ class FilmUI: self.rounded_cb = FCCheckBox() - grid_par.addWidget(self.rounded_label, 2, 0) - grid_par.addWidget(self.rounded_cb, 2, 1) + param_grid.addWidget(self.rounded_label, 2, 0) + param_grid.addWidget(self.rounded_cb, 2, 1) # Scale Stroke size self.film_scale_stroke_entry = FCDoubleSpinner(callback=self.confirmation_message) @@ -1519,8 +1516,8 @@ class FilmUI: "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.") ) - grid_par.addWidget(self.film_scale_stroke_label, 4, 0) - grid_par.addWidget(self.film_scale_stroke_entry, 4, 1) + param_grid.addWidget(self.film_scale_stroke_label, 4, 0) + param_grid.addWidget(self.film_scale_stroke_entry, 4, 1) # Polarity self.film_type = RadioSet([{'label': _('Positive'), 'value': 'pos'}, @@ -1530,8 +1527,8 @@ class FilmUI: self.film_type_label.setToolTip( _("Generate a Positive black film or a Negative film.") ) - grid_par.addWidget(self.film_type_label, 6, 0) - grid_par.addWidget(self.film_type, 6, 1) + param_grid.addWidget(self.film_type_label, 6, 0) + param_grid.addWidget(self.film_type, 6, 1) # Border for negative film generation self.boundary_entry = FCDoubleSpinner(callback=self.confirmation_message) @@ -1550,8 +1547,8 @@ class FilmUI: "white color like the rest and which may confound with the\n" "surroundings if not for this border.") ) - grid_par.addWidget(self.boundary_label, 8, 0) - grid_par.addWidget(self.boundary_entry, 8, 1) + param_grid.addWidget(self.boundary_label, 8, 0) + param_grid.addWidget(self.boundary_entry, 8, 1) self.boundary_label.hide() self.boundary_entry.hide() @@ -1561,12 +1558,12 @@ class FilmUI: self.punch_cb.setToolTip(_("When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" "when done manually.")) - grid_par.addWidget(self.punch_cb, 10, 0, 1, 2) + param_grid.addWidget(self.punch_cb, 10, 0, 1, 2) # this way I can hide/show the frame self.punch_frame = QtWidgets.QFrame() self.punch_frame.setContentsMargins(0, 0, 0, 0) - grid_par.addWidget(self.punch_frame, 12, 0, 1, 2) + param_grid.addWidget(self.punch_frame, 12, 0, 1, 2) punch_grid = FCGridLayout(v_spacing=5, h_spacing=3) punch_grid.setContentsMargins(0, 0, 0, 0) @@ -1621,9 +1618,8 @@ class FilmUI: exp_frame = FCFrame() self.tools_box.addWidget(exp_frame) - # Grid Layout - grid3 = FCGridLayout(v_spacing=5, h_spacing=3) - exp_frame.setLayout(grid3) + export_grid = FCGridLayout(v_spacing=5, h_spacing=3) + exp_frame.setLayout(export_grid) self.file_type_label = FCLabel('%s:' % _("Film Type")) self.file_type_label.setToolTip( @@ -1639,8 +1635,8 @@ class FilmUI: {'label': _('PDF'), 'value': 'pdf'} ], compact=True) - grid3.addWidget(self.file_type_label, 0, 0) - grid3.addWidget(self.file_type_radio, 0, 1) + export_grid.addWidget(self.file_type_label, 0, 0) + export_grid.addWidget(self.file_type_radio, 0, 1) # Page orientation self.orientation_label = FCLabel('%s:' % _("Page Orientation")) @@ -1655,9 +1651,8 @@ class FilmUI: # ############################################################################################################# # ################################ New Grid ################################################################## # ############################################################################################################# - - grid3.addWidget(self.orientation_label, 2, 0) - grid3.addWidget(self.orientation_radio, 2, 1) + export_grid.addWidget(self.orientation_label, 2, 0) + export_grid.addWidget(self.orientation_radio, 2, 1) # Page Size self.pagesize_label = FCLabel('%s:' % _("Page Size")) @@ -1719,8 +1714,8 @@ class FilmUI: page_size_list = list(self.pagesize.keys()) self.pagesize_combo.addItems(page_size_list) - grid3.addWidget(self.pagesize_label, 4, 0) - grid3.addWidget(self.pagesize_combo, 4, 1) + export_grid.addWidget(self.pagesize_label, 4, 0) + export_grid.addWidget(self.pagesize_combo, 4, 1) self.on_film_type(val='hide') @@ -1732,13 +1727,13 @@ class FilmUI: self.png_dpi_spinner = FCSpinner(callback=self.confirmation_message_int) self.png_dpi_spinner.set_range(0, 100000) - grid3.addWidget(self.png_dpi_label, 6, 0) - grid3.addWidget(self.png_dpi_spinner, 6, 1) + export_grid.addWidget(self.png_dpi_label, 6, 0) + export_grid.addWidget(self.png_dpi_spinner, 6, 1) self.png_dpi_label.hide() self.png_dpi_spinner.hide() - FCGridLayout.set_common_column_size([grid1, grid_par, grid0, grid3, punch_grid], 0) + FCGridLayout.set_common_column_size([adj_grid, param_grid, obj_grid, export_grid, punch_grid], 0) # Buttons self.film_object_button = FCButton(_("Save Film")) diff --git a/appPlugins/ToolRulesCheck.py b/appPlugins/ToolRulesCheck.py index 91cbb0ca..e3e9a1e4 100644 --- a/appPlugins/ToolRulesCheck.py +++ b/appPlugins/ToolRulesCheck.py @@ -9,7 +9,7 @@ from PyQt6 import QtWidgets, QtGui from appTool import AppTool from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, OptionalInputSection, FCComboBox, FCLabel, FCButton, \ - VerticalScrollArea, FCGridLayout + VerticalScrollArea, FCGridLayout, FCFrame from copy import deepcopy from appPool import * @@ -136,8 +136,7 @@ class RulesCheck(AppTool): self.ui.e1_cb.stateChanged.connect(lambda st: self.ui.e1_object.setDisabled(not st)) self.ui.e2_cb.stateChanged.connect(lambda st: self.ui.e2_object.setDisabled(not st)) - self.ui.all_obj_cb.stateChanged.connect(self.ui.on_all_objects_cb_changed) - self.ui.all_cb.stateChanged.connect(self.ui.on_all_cb_changed) + self.ui.run_button.clicked.connect(self.execute) self.ui.reset_button.clicked.connect(self.set_tool_ui) @@ -1192,19 +1191,73 @@ class RulesUI: """) self.layout.addWidget(title_label) - # Form Layout - self.grid_layout = FCGridLayout(v_spacing=5, h_spacing=3, c_stretch=[0, 3, 0]) - self.layout.addLayout(self.grid_layout) + # https://www.w3schools.com/colors/colors_names.asp - self.gerber_title_lbl = FCLabel('%s:' % _("GERBER")) - self.gerber_title_lbl.setToolTip( - _("Gerber objects for which to check rules.") - ) + # ############################################################################################################# + # Select All Frame + # ############################################################################################################# + select_all_label = FCLabel('%s' % _("Select All")) + self.layout.addWidget(select_all_label) - self.all_obj_cb = FCCheckBox() + sel_frame = FCFrame() + self.layout.addWidget(sel_frame) - self.grid_layout.addWidget(self.gerber_title_lbl, 0, 0, 1, 2) - self.grid_layout.addWidget(self.all_obj_cb, 0, 2) + sel_grid = FCGridLayout(v_spacing=5, h_spacing=3, c_stretch=[1, 0]) + sel_frame.setLayout(sel_grid) + + # Select All Gerber + gerber_title_lbl = FCLabel('%s:' % _("Gerber")) + self.all_gerber_obj_cb = FCCheckBox() + + sel_grid.addWidget(gerber_title_lbl, 0, 0) + sel_grid.addWidget(self.all_gerber_obj_cb, 0, 1) + + # Select All Excellon + excellon_title_lbl = FCLabel('%s:' % _("Excellon")) + self.all_exc_obj_cb = FCCheckBox() + + sel_grid.addWidget(excellon_title_lbl, 2, 0) + sel_grid.addWidget(self.all_exc_obj_cb, 2, 1) + + # Select All Copper Rules + copper_rules_lbl = FCLabel('%s %s:' % (_("Copper"), _("Rules"))) + self.all_copper_rules_cb = FCCheckBox() + + sel_grid.addWidget(copper_rules_lbl, 4, 0) + sel_grid.addWidget(self.all_copper_rules_cb, 4, 1) + + # Select All Silk Rules + silk_rules_lbl = FCLabel('%s %s:' % (_("Silk"), _("Rules"))) + self.all_silk_rules_cb = FCCheckBox() + + sel_grid.addWidget(silk_rules_lbl, 6, 0) + sel_grid.addWidget(self.all_silk_rules_cb, 6, 1) + + # Select All Soldermask Rules + solder_rules_lbl = FCLabel('%s %s:' % (_("Soldermask"), _("Rules"))) + self.all_solder_rules_cb = FCCheckBox() + + sel_grid.addWidget(solder_rules_lbl, 8, 0) + sel_grid.addWidget(self.all_solder_rules_cb, 8, 1) + + # Select All Holes Rules + holes_rules_lbl = FCLabel('%s %s:' % (_("Holes"), _("Rules"))) + self.all_holes_rules_cb = FCCheckBox() + + sel_grid.addWidget(holes_rules_lbl, 10, 0) + sel_grid.addWidget(self.all_holes_rules_cb, 10, 1) + + # ############################################################################################################# + # Top Gerber Frame + # ############################################################################################################# + top_label = FCLabel('%s' % _("Top")) + self.layout.addWidget(top_label) + + top_frame = FCFrame() + self.layout.addWidget(top_frame) + + self.top_grid = FCGridLayout(v_spacing=5, h_spacing=3, c_stretch=[0, 3, 0]) + top_frame.setLayout(self.top_grid) # Copper Top object self.copper_t_object = FCComboBox() @@ -1213,34 +1266,16 @@ class RulesUI: self.copper_t_object.is_last = True self.copper_t_object.obj_type = "Gerber" - self.copper_t_object_lbl = FCLabel('%s:' % _("Top")) + self.copper_t_object_lbl = FCLabel('%s:' % _("Copper")) self.copper_t_object_lbl.setToolTip( _("The Top Gerber Copper object for which rules are checked.") ) self.copper_t_cb = FCCheckBox() - self.grid_layout.addWidget(self.copper_t_object_lbl, 1, 0) - self.grid_layout.addWidget(self.copper_t_object, 1, 1) - self.grid_layout.addWidget(self.copper_t_cb, 1, 2) - - # Copper Bottom object - self.copper_b_object = FCComboBox() - self.copper_b_object.setModel(self.app.collection) - self.copper_b_object.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) - self.copper_b_object.is_last = True - self.copper_b_object.obj_type = "Gerber" - - self.copper_b_object_lbl = FCLabel('%s:' % _("Bottom")) - self.copper_b_object_lbl.setToolTip( - _("The Bottom Gerber Copper object for which rules are checked.") - ) - - self.copper_b_cb = FCCheckBox() - - self.grid_layout.addWidget(self.copper_b_object_lbl, 2, 0) - self.grid_layout.addWidget(self.copper_b_object, 2, 1) - self.grid_layout.addWidget(self.copper_b_cb, 2, 2) + self.top_grid.addWidget(self.copper_t_object_lbl, 0, 0) + self.top_grid.addWidget(self.copper_t_object, 0, 1) + self.top_grid.addWidget(self.copper_t_cb, 0, 2) # SolderMask Top object self.sm_t_object = FCComboBox() @@ -1249,34 +1284,16 @@ class RulesUI: self.sm_t_object.is_last = True self.sm_t_object.obj_type = "Gerber" - self.sm_t_object_lbl = FCLabel('%s:' % _("SM Top")) + self.sm_t_object_lbl = FCLabel('%s:' % _("SM")) self.sm_t_object_lbl.setToolTip( _("The Top Gerber Solder Mask object for which rules are checked.") ) self.sm_t_cb = FCCheckBox() - self.grid_layout.addWidget(self.sm_t_object_lbl, 3, 0) - self.grid_layout.addWidget(self.sm_t_object, 3, 1) - self.grid_layout.addWidget(self.sm_t_cb, 3, 2) - - # SolderMask Bottom object - self.sm_b_object = FCComboBox() - self.sm_b_object.setModel(self.app.collection) - self.sm_b_object.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) - self.sm_b_object.is_last = True - self.sm_b_object.obj_type = "Gerber" - - self.sm_b_object_lbl = FCLabel('%s:' % _("SM Bottom")) - self.sm_b_object_lbl.setToolTip( - _("The Bottom Gerber Solder Mask object for which rules are checked.") - ) - - self.sm_b_cb = FCCheckBox() - - self.grid_layout.addWidget(self.sm_b_object_lbl, 4, 0) - self.grid_layout.addWidget(self.sm_b_object, 4, 1) - self.grid_layout.addWidget(self.sm_b_cb, 4, 2) + self.top_grid.addWidget(self.sm_t_object_lbl, 2, 0) + self.top_grid.addWidget(self.sm_t_object, 2, 1) + self.top_grid.addWidget(self.sm_t_cb, 2, 2) # SilkScreen Top object self.ss_t_object = FCComboBox() @@ -1285,16 +1302,64 @@ class RulesUI: self.ss_t_object.is_last = True self.ss_t_object.obj_type = "Gerber" - self.ss_t_object_lbl = FCLabel('%s:' % _("Silk Top")) + self.ss_t_object_lbl = FCLabel('%s:' % _("Silk")) self.ss_t_object_lbl.setToolTip( _("The Top Gerber Silkscreen object for which rules are checked.") ) self.ss_t_cb = FCCheckBox() - self.grid_layout.addWidget(self.ss_t_object_lbl, 5, 0) - self.grid_layout.addWidget(self.ss_t_object, 5, 1) - self.grid_layout.addWidget(self.ss_t_cb, 5, 2) + self.top_grid.addWidget(self.ss_t_object_lbl, 4, 0) + self.top_grid.addWidget(self.ss_t_object, 4, 1) + self.top_grid.addWidget(self.ss_t_cb, 4, 2) + + # ############################################################################################################# + # Bottom Gerber Frame + # ############################################################################################################# + bottom_label = FCLabel('%s' % _("Bottom")) + self.layout.addWidget(bottom_label) + + bottom_frame = FCFrame() + self.layout.addWidget(bottom_frame) + + self.bottom_grid = FCGridLayout(v_spacing=5, h_spacing=3, c_stretch=[0, 3, 0]) + bottom_frame.setLayout(self.bottom_grid) + + # Copper Bottom object + self.copper_b_object = FCComboBox() + self.copper_b_object.setModel(self.app.collection) + self.copper_b_object.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) + self.copper_b_object.is_last = True + self.copper_b_object.obj_type = "Gerber" + + self.copper_b_object_lbl = FCLabel('%s:' % _("Copper")) + self.copper_b_object_lbl.setToolTip( + _("The Bottom Gerber Copper object for which rules are checked.") + ) + + self.copper_b_cb = FCCheckBox() + + self.bottom_grid.addWidget(self.copper_b_object_lbl, 0, 0) + self.bottom_grid.addWidget(self.copper_b_object, 0, 1) + self.bottom_grid.addWidget(self.copper_b_cb, 0, 2) + + # SolderMask Bottom object + self.sm_b_object = FCComboBox() + self.sm_b_object.setModel(self.app.collection) + self.sm_b_object.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) + self.sm_b_object.is_last = True + self.sm_b_object.obj_type = "Gerber" + + self.sm_b_object_lbl = FCLabel('%s:' % _("SM")) + self.sm_b_object_lbl.setToolTip( + _("The Bottom Gerber Solder Mask object for which rules are checked.") + ) + + self.sm_b_cb = FCCheckBox() + + self.bottom_grid.addWidget(self.sm_b_object_lbl, 2, 0) + self.bottom_grid.addWidget(self.sm_b_object, 2, 1) + self.bottom_grid.addWidget(self.sm_b_cb, 2, 2) # SilkScreen Bottom object self.ss_b_object = FCComboBox() @@ -1303,18 +1368,29 @@ class RulesUI: self.ss_b_object.is_last = True self.ss_b_object.obj_type = "Gerber" - self.ss_b_object_lbl = FCLabel('%s:' % _("Silk Bottom")) + self.ss_b_object_lbl = FCLabel('%s:' % _("Silk")) self.ss_b_object_lbl.setToolTip( _("The Bottom Gerber Silkscreen object for which rules are checked.") ) self.ss_b_cb = FCCheckBox() - self.grid_layout.addWidget(self.ss_b_object_lbl, 6, 0) - self.grid_layout.addWidget(self.ss_b_object, 6, 1) - self.grid_layout.addWidget(self.ss_b_cb, 6, 2) + self.bottom_grid.addWidget(self.ss_b_object_lbl, 4, 0) + self.bottom_grid.addWidget(self.ss_b_object, 4, 1) + self.bottom_grid.addWidget(self.ss_b_cb, 4, 2) + + # ############################################################################################################# + # Outline Frame + # ############################################################################################################# + outline_label = FCLabel('%s' % _("Outline")) + self.layout.addWidget(outline_label) + + outline_frame = FCFrame() + self.layout.addWidget(outline_frame) + + self.outline_grid = FCGridLayout(v_spacing=5, h_spacing=3, c_stretch=[0, 3, 0]) + outline_frame.setLayout(self.outline_grid) - # Outline object self.outline_object = FCComboBox() self.outline_object.setModel(self.app.collection) self.outline_object.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) @@ -1328,27 +1404,33 @@ class RulesUI: self.out_cb = FCCheckBox() - self.grid_layout.addWidget(self.outline_object_lbl, 7, 0) - self.grid_layout.addWidget(self.outline_object, 7, 1) - self.grid_layout.addWidget(self.out_cb, 7, 2) + self.outline_grid.addWidget(self.outline_object_lbl, 0, 0) + self.outline_grid.addWidget(self.outline_object, 0, 1) + self.outline_grid.addWidget(self.out_cb, 0, 2) - self.grid_layout.addWidget(FCLabel(""), 8, 0, 1, 3) - - self.excellon_title_lbl = FCLabel('%s:' % _("EXCELLON")) - self.excellon_title_lbl.setToolTip( + # ############################################################################################################# + # Excellon Frame + # ############################################################################################################# + exc_label = FCLabel('%s' % _("Excellon")) + exc_label.setToolTip( _("Excellon objects for which to check rules.") ) + self.layout.addWidget(exc_label) - self.grid_layout.addWidget(self.excellon_title_lbl, 9, 0, 1, 3) + exc_frame = FCFrame() + self.layout.addWidget(exc_frame) - # Excellon 1 object + self.exc_grid = FCGridLayout(v_spacing=5, h_spacing=3, c_stretch=[0, 3, 0]) + exc_frame.setLayout(self.exc_grid) + + # Excellon PTH object self.e1_object = FCComboBox() self.e1_object.setModel(self.app.collection) self.e1_object.setRootModelIndex(self.app.collection.index(1, 0, QtCore.QModelIndex())) self.e1_object.is_last = True self.e1_object.obj_type = "Excellon" - self.e1_object_lbl = FCLabel('%s:' % _("Excellon 1")) + self.e1_object_lbl = FCLabel('%s:' % "PTH") self.e1_object_lbl.setToolTip( _("Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content.") @@ -1356,18 +1438,18 @@ class RulesUI: self.e1_cb = FCCheckBox() - self.grid_layout.addWidget(self.e1_object_lbl, 10, 0) - self.grid_layout.addWidget(self.e1_object, 10, 1) - self.grid_layout.addWidget(self.e1_cb, 10, 2) + self.exc_grid.addWidget(self.e1_object_lbl, 0, 0) + self.exc_grid.addWidget(self.e1_object, 0, 1) + self.exc_grid.addWidget(self.e1_cb, 0, 2) - # Excellon 2 object + # Excellon NPTH object self.e2_object = FCComboBox() self.e2_object.setModel(self.app.collection) self.e2_object.setRootModelIndex(self.app.collection.index(1, 0, QtCore.QModelIndex())) self.e2_object.is_last = True self.e2_object.obj_type = "Excellon" - self.e2_object_lbl = FCLabel('%s:' % _("Excellon 2")) + self.e2_object_lbl = FCLabel('%s:' % "NPTH") self.e2_object_lbl.setToolTip( _("Excellon object for which to check rules.\n" "Holds the non-plated holes.") @@ -1375,39 +1457,41 @@ class RulesUI: self.e2_cb = FCCheckBox() - self.grid_layout.addWidget(self.e2_object_lbl, 11, 0) - self.grid_layout.addWidget(self.e2_object, 11, 1) - self.grid_layout.addWidget(self.e2_cb, 11, 2) + self.exc_grid.addWidget(self.e2_object_lbl, 2, 0) + self.exc_grid.addWidget(self.e2_object, 2, 1) + self.exc_grid.addWidget(self.e2_cb, 2, 2) - self.grid_layout.addWidget(FCLabel(""), 12, 0, 1, 3) + separator_line = QtWidgets.QFrame() + separator_line.setFrameShape(QtWidgets.QFrame.Shape.HLine) + separator_line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) + self.layout.addWidget(separator_line) - # Control All - self.all_cb = FCCheckBox('%s' % _("All Rules")) - self.all_cb.setToolTip( - _("This check/uncheck all the rules below.") - ) - self.all_cb.setStyleSheet( - """ - QCheckBox {font-weight: bold; color: green} - """ - ) - self.layout.addWidget(self.all_cb) + separator_line = QtWidgets.QFrame() + separator_line.setFrameShape(QtWidgets.QFrame.Shape.HLine) + separator_line.setFrameShadow(QtWidgets.QFrame.Shadow.Sunken) + self.layout.addWidget(separator_line) - # Form Layout - self.grid_lay1 = FCGridLayout(v_spacing=5, h_spacing=3) - self.layout.addLayout(self.grid_lay1) + # ############################################################################################################# + # Rules Frame + # ############################################################################################################# + rules_copper_label = FCLabel('%s %s' % (_("Copper"), _("Rules"))) + self.layout.addWidget(rules_copper_label) + + copper_frame = FCFrame() + self.layout.addWidget(copper_frame) - self.grid_lay1.addWidget(FCLabel(""), 0, 0, 1, 2) + self.copper_grid = FCGridLayout(v_spacing=5, h_spacing=3) + copper_frame.setLayout(self.copper_grid) # Trace size self.trace_size_cb = FCCheckBox('%s:' % _("Trace Size")) self.trace_size_cb.setToolTip( _("This checks if the minimum size for traces is met.") ) - self.grid_lay1.addWidget(self.trace_size_cb, 2, 0, 1, 2) + self.copper_grid.addWidget(self.trace_size_cb, 0, 0, 1, 2) # Trace size value - self.trace_size_lbl = FCLabel('%s:' % _("Min value")) + self.trace_size_lbl = FCLabel('%s:' % _("Value")) self.trace_size_lbl.setToolTip( _("Minimum acceptable trace size.") ) @@ -1417,8 +1501,8 @@ class RulesUI: self.trace_size_entry.set_precision(self.decimals) self.trace_size_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.trace_size_lbl, 4, 0) - self.grid_lay1.addWidget(self.trace_size_entry, 4, 1) + self.copper_grid.addWidget(self.trace_size_lbl, 2, 0) + self.copper_grid.addWidget(self.trace_size_entry, 2, 1) self.ts = OptionalInputSection(self.trace_size_cb, [self.trace_size_lbl, self.trace_size_entry]) @@ -1428,10 +1512,10 @@ class RulesUI: _("This checks if the minimum clearance between copper\n" "features is met.") ) - self.grid_lay1.addWidget(self.clearance_copper2copper_cb, 6, 0, 1, 2) + self.copper_grid.addWidget(self.clearance_copper2copper_cb, 4, 0, 1, 2) # Copper2copper clearance value - self.clearance_copper2copper_lbl = FCLabel('%s:' % _("Min value")) + self.clearance_copper2copper_lbl = FCLabel('%s:' % _("Value")) self.clearance_copper2copper_lbl.setToolTip( _("Minimum acceptable clearance value.") ) @@ -1441,8 +1525,8 @@ class RulesUI: self.clearance_copper2copper_entry.set_precision(self.decimals) self.clearance_copper2copper_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.clearance_copper2copper_lbl, 8, 0) - self.grid_lay1.addWidget(self.clearance_copper2copper_entry, 8, 1) + self.copper_grid.addWidget(self.clearance_copper2copper_lbl, 6, 0) + self.copper_grid.addWidget(self.clearance_copper2copper_entry, 6, 1) self.c2c = OptionalInputSection( self.clearance_copper2copper_cb, [self.clearance_copper2copper_lbl, self.clearance_copper2copper_entry]) @@ -1453,10 +1537,10 @@ class RulesUI: _("This checks if the minimum clearance between copper\n" "features and the outline is met.") ) - self.grid_lay1.addWidget(self.clearance_copper2ol_cb, 10, 0, 1, 2) + self.copper_grid.addWidget(self.clearance_copper2ol_cb, 8, 0, 1, 2) # Copper2outline clearance value - self.clearance_copper2ol_lbl = FCLabel('%s:' % _("Min value")) + self.clearance_copper2ol_lbl = FCLabel('%s:' % _("Value")) self.clearance_copper2ol_lbl.setToolTip( _("Minimum acceptable clearance value.") ) @@ -1466,22 +1550,59 @@ class RulesUI: self.clearance_copper2ol_entry.set_precision(self.decimals) self.clearance_copper2ol_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.clearance_copper2ol_lbl, 12, 0) - self.grid_lay1.addWidget(self.clearance_copper2ol_entry, 12, 1) + self.copper_grid.addWidget(self.clearance_copper2ol_lbl, 10, 0) + self.copper_grid.addWidget(self.clearance_copper2ol_entry, 10, 1) self.c2ol = OptionalInputSection( self.clearance_copper2ol_cb, [self.clearance_copper2ol_lbl, self.clearance_copper2ol_entry]) + # Ring integrity check + self.ring_integrity_cb = FCCheckBox('%s:' % _("Minimum Annular Ring")) + self.ring_integrity_cb.setToolTip( + _("This checks if the minimum copper ring left by drilling\n" + "a hole into a pad is met.") + ) + self.copper_grid.addWidget(self.ring_integrity_cb, 12, 0, 1, 2) + + # Ring integrity value + self.ring_integrity_lbl = FCLabel('%s:' % _("Value")) + self.ring_integrity_lbl.setToolTip( + _("Minimum acceptable ring value.") + ) + + self.ring_integrity_entry = FCDoubleSpinner(callback=self.confirmation_message) + self.ring_integrity_entry.set_range(0.0000, 10000.0000) + self.ring_integrity_entry.set_precision(self.decimals) + self.ring_integrity_entry.setSingleStep(0.1) + + self.copper_grid.addWidget(self.ring_integrity_lbl, 14, 0) + self.copper_grid.addWidget(self.ring_integrity_entry, 14, 1) + + self.anr = OptionalInputSection( + self.ring_integrity_cb, [self.ring_integrity_lbl, self.ring_integrity_entry]) + + # ############################################################################################################# + # Silk Frame + # ############################################################################################################# + silk_copper_label = FCLabel('%s %s' % (_("Silk"), _("Rules"))) + self.layout.addWidget(silk_copper_label) + + silk_frame = FCFrame() + self.layout.addWidget(silk_frame) + + self.silk_grid = FCGridLayout(v_spacing=5, h_spacing=3) + silk_frame.setLayout(self.silk_grid) + # Silkscreen2silkscreen clearance self.clearance_silk2silk_cb = FCCheckBox('%s:' % _("Silk to Silk Clearance")) self.clearance_silk2silk_cb.setToolTip( _("This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met.") ) - self.grid_lay1.addWidget(self.clearance_silk2silk_cb, 14, 0, 1, 2) + self.silk_grid.addWidget(self.clearance_silk2silk_cb, 0, 0, 1, 2) # Copper2silkscreen clearance value - self.clearance_silk2silk_lbl = FCLabel('%s:' % _("Min value")) + self.clearance_silk2silk_lbl = FCLabel('%s:' % _("Value")) self.clearance_silk2silk_lbl.setToolTip( _("Minimum acceptable clearance value.") ) @@ -1491,8 +1612,8 @@ class RulesUI: self.clearance_silk2silk_entry.set_precision(self.decimals) self.clearance_silk2silk_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.clearance_silk2silk_lbl, 16, 0) - self.grid_lay1.addWidget(self.clearance_silk2silk_entry, 16, 1) + self.silk_grid.addWidget(self.clearance_silk2silk_lbl, 2, 0) + self.silk_grid.addWidget(self.clearance_silk2silk_entry, 2, 1) self.s2s = OptionalInputSection( self.clearance_silk2silk_cb, [self.clearance_silk2silk_lbl, self.clearance_silk2silk_entry]) @@ -1503,10 +1624,10 @@ class RulesUI: _("This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met.") ) - self.grid_lay1.addWidget(self.clearance_silk2sm_cb, 18, 0, 1, 2) + self.silk_grid.addWidget(self.clearance_silk2sm_cb, 4, 0, 1, 2) # Silkscreen2soldermask clearance value - self.clearance_silk2sm_lbl = FCLabel('%s:' % _("Min value")) + self.clearance_silk2sm_lbl = FCLabel('%s:' % _("Value")) self.clearance_silk2sm_lbl.setToolTip( _("Minimum acceptable clearance value.") ) @@ -1516,8 +1637,8 @@ class RulesUI: self.clearance_silk2sm_entry.set_precision(self.decimals) self.clearance_silk2sm_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.clearance_silk2sm_lbl, 20, 0) - self.grid_lay1.addWidget(self.clearance_silk2sm_entry, 20, 1) + self.silk_grid.addWidget(self.clearance_silk2sm_lbl, 6, 0) + self.silk_grid.addWidget(self.clearance_silk2sm_entry, 6, 1) self.s2sm = OptionalInputSection( self.clearance_silk2sm_cb, [self.clearance_silk2sm_lbl, self.clearance_silk2sm_entry]) @@ -1528,10 +1649,10 @@ class RulesUI: _("This checks if the minimum clearance between silk\n" "features and the outline is met.") ) - self.grid_lay1.addWidget(self.clearance_silk2ol_cb, 22, 0, 1, 2) + self.silk_grid.addWidget(self.clearance_silk2ol_cb, 8, 0, 1, 2) # Silk2outline clearance value - self.clearance_silk2ol_lbl = FCLabel('%s:' % _("Min value")) + self.clearance_silk2ol_lbl = FCLabel('%s:' % _("Value")) self.clearance_silk2ol_lbl.setToolTip( _("Minimum acceptable clearance value.") ) @@ -1541,23 +1662,35 @@ class RulesUI: self.clearance_silk2ol_entry.set_precision(self.decimals) self.clearance_silk2ol_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.clearance_silk2ol_lbl, 24, 0) - self.grid_lay1.addWidget(self.clearance_silk2ol_entry, 24, 1) + self.silk_grid.addWidget(self.clearance_silk2ol_lbl, 10, 0) + self.silk_grid.addWidget(self.clearance_silk2ol_entry, 10, 1) self.s2ol = OptionalInputSection( self.clearance_silk2ol_cb, [self.clearance_silk2ol_lbl, self.clearance_silk2ol_entry]) + # ############################################################################################################# + # Soldermask Frame + # ############################################################################################################# + sm_copper_label = FCLabel('%s %s' % (_("Soldermask"), _("Rules"))) + self.layout.addWidget(sm_copper_label) + + solder_frame = FCFrame() + self.layout.addWidget(solder_frame) + + self.solder_grid = FCGridLayout(v_spacing=5, h_spacing=3) + solder_frame.setLayout(self.solder_grid) + # Soldermask2soldermask clearance self.clearance_sm2sm_cb = FCCheckBox('%s:' % _("Minimum Solder Mask Sliver")) self.clearance_sm2sm_cb.setToolTip( _("This checks if the minimum clearance between soldermask\n" "features and soldermask features is met.") ) - self.grid_lay1.addWidget(self.clearance_sm2sm_cb, 26, 0, 1, 2) + self.solder_grid.addWidget(self.clearance_sm2sm_cb, 0, 0, 1, 2) # Soldermask2soldermask clearance value - self.clearance_sm2sm_lbl = FCLabel('%s:' % _("Min value")) + self.clearance_sm2sm_lbl = FCLabel('%s:' % _("Value")) self.clearance_sm2sm_lbl.setToolTip( _("Minimum acceptable clearance value.") ) @@ -1567,38 +1700,23 @@ class RulesUI: self.clearance_sm2sm_entry.set_precision(self.decimals) self.clearance_sm2sm_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.clearance_sm2sm_lbl, 28, 0) - self.grid_lay1.addWidget(self.clearance_sm2sm_entry, 28, 1) + self.solder_grid.addWidget(self.clearance_sm2sm_lbl, 2, 0) + self.solder_grid.addWidget(self.clearance_sm2sm_entry, 2, 1) self.sm2sm = OptionalInputSection( self.clearance_sm2sm_cb, [self.clearance_sm2sm_lbl, self.clearance_sm2sm_entry]) - # Ring integrity check - self.ring_integrity_cb = FCCheckBox('%s:' % _("Minimum Annular Ring")) - self.ring_integrity_cb.setToolTip( - _("This checks if the minimum copper ring left by drilling\n" - "a hole into a pad is met.") - ) - self.grid_lay1.addWidget(self.ring_integrity_cb, 30, 0, 1, 2) + # ############################################################################################################# + # Holes Frame + # ############################################################################################################# + holes_copper_label = FCLabel('%s %s' % (_("Holes"), _("Rules"))) + self.layout.addWidget(holes_copper_label) - # Ring integrity value - self.ring_integrity_lbl = FCLabel('%s:' % _("Min value")) - self.ring_integrity_lbl.setToolTip( - _("Minimum acceptable ring value.") - ) + holes_frame = FCFrame() + self.layout.addWidget(holes_frame) - self.ring_integrity_entry = FCDoubleSpinner(callback=self.confirmation_message) - self.ring_integrity_entry.set_range(0.0000, 10000.0000) - self.ring_integrity_entry.set_precision(self.decimals) - self.ring_integrity_entry.setSingleStep(0.1) - - self.grid_lay1.addWidget(self.ring_integrity_lbl, 32, 0) - self.grid_lay1.addWidget(self.ring_integrity_entry, 32, 1) - - self.anr = OptionalInputSection( - self.ring_integrity_cb, [self.ring_integrity_lbl, self.ring_integrity_entry]) - - self.grid_lay1.addWidget(FCLabel(''), 34, 0, 1, 2) + self.holes_grid = FCGridLayout(v_spacing=5, h_spacing=3) + holes_frame.setLayout(self.holes_grid) # Hole2Hole clearance self.clearance_d2d_cb = FCCheckBox('%s:' % _("Hole to Hole Clearance")) @@ -1606,10 +1724,10 @@ class RulesUI: _("This checks if the minimum clearance between a drill hole\n" "and another drill hole is met.") ) - self.grid_lay1.addWidget(self.clearance_d2d_cb, 36, 0, 1, 2) + self.holes_grid.addWidget(self.clearance_d2d_cb, 0, 0, 1, 2) # Hole2Hole clearance value - self.clearance_d2d_lbl = FCLabel('%s:' % _("Min value")) + self.clearance_d2d_lbl = FCLabel('%s:' % _("Value")) self.clearance_d2d_lbl.setToolTip( _("Minimum acceptable clearance value.") ) @@ -1619,8 +1737,8 @@ class RulesUI: self.clearance_d2d_entry.set_precision(self.decimals) self.clearance_d2d_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.clearance_d2d_lbl, 38, 0) - self.grid_lay1.addWidget(self.clearance_d2d_entry, 38, 1) + self.holes_grid.addWidget(self.clearance_d2d_lbl, 2, 0) + self.holes_grid.addWidget(self.clearance_d2d_entry, 2, 1) self.d2d = OptionalInputSection( self.clearance_d2d_cb, [self.clearance_d2d_lbl, self.clearance_d2d_entry]) @@ -1631,10 +1749,10 @@ class RulesUI: _("This checks if the drill holes\n" "sizes are above the threshold.") ) - self.grid_lay1.addWidget(self.drill_size_cb, 40, 0, 1, 2) + self.holes_grid.addWidget(self.drill_size_cb, 4, 0, 1, 2) # Drills holes value - self.drill_size_lbl = FCLabel('%s:' % _("Min value")) + self.drill_size_lbl = FCLabel('%s:' % _("Value")) self.drill_size_lbl.setToolTip( _("Minimum acceptable drill size.") ) @@ -1644,8 +1762,8 @@ class RulesUI: self.drill_size_entry.set_precision(self.decimals) self.drill_size_entry.setSingleStep(0.1) - self.grid_lay1.addWidget(self.drill_size_lbl, 42, 0) - self.grid_lay1.addWidget(self.drill_size_entry, 42, 1) + self.holes_grid.addWidget(self.drill_size_lbl, 6, 0) + self.holes_grid.addWidget(self.drill_size_entry, 6, 1) self.ds = OptionalInputSection( self.drill_size_cb, [self.drill_size_lbl, self.drill_size_entry]) @@ -1664,7 +1782,11 @@ class RulesUI: font-weight: bold; } """) - self.grid_lay1.addWidget(self.run_button, 44, 0, 1, 2) + self.layout.addWidget(self.run_button) + + FCGridLayout.set_common_column_size( + [self.copper_grid, self.solder_grid, self.silk_grid, self.exc_grid, self.top_grid, self.bottom_grid, + self.outline_grid, self.holes_grid], 0) self.layout.addStretch(1) @@ -1681,23 +1803,72 @@ class RulesUI: } """) self.layout.addWidget(self.reset_button) + + # ############################################################################################################# + # SIGNALS + # ############################################################################################################# + self.all_gerber_obj_cb.stateChanged.connect(self.on_all_gerber) + self.all_exc_obj_cb.stateChanged.connect(self.on_all_excellon) + self.all_copper_rules_cb.stateChanged.connect(self.on_all_copper_rules) + self.all_silk_rules_cb.stateChanged.connect(self.on_all_silk_rules) + self.all_solder_rules_cb.stateChanged.connect(self.on_all_solder_rules) + self.all_holes_rules_cb.stateChanged.connect(self.on_all_holes_rules) # #################################### FINSIHED GUI ########################### # ############################################################################# - def on_all_cb_changed(self, state): - cb_items = [self.grid_lay1.itemAt(i).widget() for i in range(self.grid_lay1.count()) - if isinstance(self.grid_lay1.itemAt(i).widget(), FCCheckBox)] + def on_all_gerber(self, state): + cb_items = [self.top_grid.itemAt(i).widget() for i in range(self.top_grid.count()) + if isinstance(self.top_grid.itemAt(i).widget(), FCCheckBox)] + \ + [self.bottom_grid.itemAt(i).widget() for i in range(self.bottom_grid.count()) + if isinstance(self.bottom_grid.itemAt(i).widget(), FCCheckBox)] + \ + [self.outline_grid.itemAt(i).widget() for i in range(self.outline_grid.count()) + if isinstance(self.outline_grid.itemAt(i).widget(), FCCheckBox)] + for cb in cb_items: + if state: + cb.setChecked(True) + else: + cb.setChecked(False) + + def on_all_excellon(self, state): + cb_items = [self.exc_grid.itemAt(i).widget() for i in range(self.exc_grid.count()) + if isinstance(self.exc_grid.itemAt(i).widget(), FCCheckBox)] for cb in cb_items: if state: cb.setChecked(True) else: cb.setChecked(False) - def on_all_objects_cb_changed(self, state): - cb_items = [self.grid_layout.itemAt(i).widget() for i in range(self.grid_layout.count()) - if isinstance(self.grid_layout.itemAt(i).widget(), FCCheckBox)] + def on_all_copper_rules(self, state): + cb_items = [self.copper_grid.itemAt(i).widget() for i in range(self.copper_grid.count()) + if isinstance(self.copper_grid.itemAt(i).widget(), FCCheckBox)] + for cb in cb_items: + if state: + cb.setChecked(True) + else: + cb.setChecked(False) + + def on_all_silk_rules(self, state): + cb_items = [self.silk_grid.itemAt(i).widget() for i in range(self.silk_grid.count()) + if isinstance(self.silk_grid.itemAt(i).widget(), FCCheckBox)] + for cb in cb_items: + if state: + cb.setChecked(True) + else: + cb.setChecked(False) + def on_all_solder_rules(self, state): + cb_items = [self.solder_grid.itemAt(i).widget() for i in range(self.solder_grid.count()) + if isinstance(self.solder_grid.itemAt(i).widget(), FCCheckBox)] + for cb in cb_items: + if state: + cb.setChecked(True) + else: + cb.setChecked(False) + + def on_all_holes_rules(self, state): + cb_items = [self.holes_grid.itemAt(i).widget() for i in range(self.holes_grid.count()) + if isinstance(self.holes_grid.itemAt(i).widget(), FCCheckBox)] for cb in cb_items: if state: cb.setChecked(True) diff --git a/appPlugins/ToolSolderPaste.py b/appPlugins/ToolSolderPaste.py index c6e896d1..b8615108 100644 --- a/appPlugins/ToolSolderPaste.py +++ b/appPlugins/ToolSolderPaste.py @@ -1232,20 +1232,13 @@ class SolderUI: self.object_label.setToolTip(_("Gerber Solderpaste object.")) self.tools_box.addWidget(self.object_label) - source_frame = FCFrame() - self.tools_box.addWidget(source_frame) - - # ## Grid Layout - obj_grid = FCGridLayout(v_spacing=5, h_spacing=3) - source_frame.setLayout(obj_grid) - self.obj_combo = FCComboBox(callback=solder_class.on_rmb_combo) self.obj_combo.setModel(self.app.collection) self.obj_combo.setRootModelIndex(self.app.collection.index(0, 0, QtCore.QModelIndex())) self.obj_combo.is_last = True self.obj_combo.obj_type = "Gerber" - obj_grid.addWidget(self.obj_combo, 0, 0, 1, 2) + self.tools_box.addWidget(self.obj_combo) # separator_line = QtWidgets.QFrame() # separator_line.setFrameShape(QtWidgets.QFrame.Shape.HLine) @@ -1690,7 +1683,7 @@ class SolderUI: self.tools_box.addLayout(buttons_hlay) FCGridLayout.set_common_column_size( - [geo_grid, fr_grid, tc_grid, disp_grid, tool_grid, sp_fw_grid, sp_rev_grid, param_grid, obj_grid, cnc_grid, + [geo_grid, fr_grid, tc_grid, disp_grid, tool_grid, sp_fw_grid, sp_rev_grid, param_grid, cnc_grid, pp_grid], 0) self.layout.addStretch(1) diff --git a/locale/de/LC_MESSAGES/strings.mo b/locale/de/LC_MESSAGES/strings.mo index 425ee8fe85868bbde6de7c4eb3c173ed82bbc734..a84bd577ffe57b767ad107d98fb2c4b0c2371033 100644 GIT binary patch delta 66128 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

C}a8oN)y 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 CQxy#W diff --git a/locale/de/LC_MESSAGES/strings.po b/locale/de/LC_MESSAGES/strings.po index a5daaea1..5a70bbcc 100644 --- a/locale/de/LC_MESSAGES/strings.po +++ b/locale/de/LC_MESSAGES/strings.po @@ -1,8 +1,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2021-10-04 20:55+0300\n" -"PO-Revision-Date: 2021-10-04 20:55+0300\n" +"POT-Creation-Date: 2021-10-05 02:54+0300\n" +"PO-Revision-Date: 2021-10-05 02:55+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -113,8 +113,8 @@ msgstr "Lesezeichen" #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 #: appGUI/MainGUI.py:3642 appGUI/MainGUI.py:3872 -#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 +#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 #: appPlugins/ToolFilm.py:407 appPlugins/ToolFilm.py:546 #: appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 @@ -315,7 +315,7 @@ msgstr "Ziel" #: appPlugins/ToolMilling.py:3656 appPlugins/ToolNCC.py:4146 #: appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "Durchmesser" @@ -618,7 +618,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 #: appPlugins/ToolCalibration.py:794 appPlugins/ToolDrilling.py:1559 #: appPlugins/ToolDrilling.py:2459 appPlugins/ToolMilling.py:3247 -#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "Bewegungshöhe Z (Travel)" @@ -718,7 +718,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 #: appPlugins/ToolDrilling.py:1573 appPlugins/ToolDrilling.py:2515 #: appPlugins/ToolMilling.py:3265 appPlugins/ToolMilling.py:4284 -#: appPlugins/ToolSolderPaste.py:1509 appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolSolderPaste.py:1502 appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "Spulengeschwindigkeit" @@ -733,8 +733,8 @@ msgstr "" "Wird nicht benutzt, wenn leer." #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "Warten zum Beschleunigen" @@ -878,7 +878,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 #: appPlugins/ToolCutOut.py:2725 appPlugins/ToolExtract.py:1351 #: appPlugins/ToolFiducials.py:992 appPlugins/ToolInvertGerber.py:269 #: appPlugins/ToolInvertGerber.py:277 appPlugins/ToolMilling.py:4039 @@ -892,7 +892,7 @@ msgstr "Marge" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 -#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:931 +#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:969 #: appPlugins/ToolFiducials.py:994 appPlugins/ToolMilling.py:4041 #: appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." @@ -1362,7 +1362,7 @@ msgstr "Der Abstand zwischen den Bohrlöchern bei <>." #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 -#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "Konvexe Form" @@ -1481,8 +1481,8 @@ msgstr "Abbrechen" #: appPlugins/ToolAlignObjects.py:584 appPlugins/ToolCalculators.py:1068 #: appPlugins/ToolCalculators.py:1079 appPlugins/ToolCalibration.py:1420 #: appPlugins/ToolCalibration.py:1431 appPlugins/ToolCopperThieving.py:1807 -#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1113 -#: appPlugins/ToolCorners.py:1124 appPlugins/ToolCutOut.py:2796 +#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1151 +#: appPlugins/ToolCorners.py:1162 appPlugins/ToolCutOut.py:2796 #: appPlugins/ToolCutOut.py:2807 appPlugins/ToolDblSided.py:1147 #: appPlugins/ToolDblSided.py:1158 appPlugins/ToolDistance.py:708 #: appPlugins/ToolDistance.py:719 appPlugins/ToolDistanceMin.py:398 @@ -1490,8 +1490,8 @@ msgstr "Abbrechen" #: appPlugins/ToolDrilling.py:2931 appPlugins/ToolEtchCompensation.py:531 #: appPlugins/ToolEtchCompensation.py:542 appPlugins/ToolExtract.py:1421 #: appPlugins/ToolExtract.py:1432 appPlugins/ToolFiducials.py:1137 -#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1832 -#: appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 #: appPlugins/ToolImage.py:376 appPlugins/ToolInvertGerber.py:338 #: appPlugins/ToolInvertGerber.py:349 appPlugins/ToolIsolation.py:3713 @@ -1504,9 +1504,9 @@ msgstr "Abbrechen" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 #: appPlugins/ToolSub.py:999 appPlugins/ToolTransform.py:1071 #: appPlugins/ToolTransform.py:1082 appTool.py:300 appTool.py:311 msgid "Edited value is out of range" @@ -1519,8 +1519,8 @@ msgstr "Der bearbeitete Wert liegt außerhalb des Bereichs" #: appPlugins/ToolAlignObjects.py:586 appPlugins/ToolCalculators.py:1074 #: appPlugins/ToolCalculators.py:1081 appPlugins/ToolCalibration.py:1426 #: appPlugins/ToolCalibration.py:1433 appPlugins/ToolCopperThieving.py:1813 -#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1119 -#: appPlugins/ToolCorners.py:1126 appPlugins/ToolCutOut.py:2802 +#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1157 +#: appPlugins/ToolCorners.py:1164 appPlugins/ToolCutOut.py:2802 #: appPlugins/ToolCutOut.py:2809 appPlugins/ToolDblSided.py:1153 #: appPlugins/ToolDblSided.py:1160 appPlugins/ToolDistance.py:714 #: appPlugins/ToolDistance.py:721 appPlugins/ToolDistanceMin.py:404 @@ -1528,8 +1528,8 @@ msgstr "Der bearbeitete Wert liegt außerhalb des Bereichs" #: appPlugins/ToolDrilling.py:2933 appPlugins/ToolEtchCompensation.py:537 #: appPlugins/ToolEtchCompensation.py:544 appPlugins/ToolExtract.py:1427 #: appPlugins/ToolExtract.py:1434 appPlugins/ToolFiducials.py:1143 -#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1838 -#: appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1833 +#: appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 #: appPlugins/ToolImage.py:378 appPlugins/ToolInvertGerber.py:344 #: appPlugins/ToolInvertGerber.py:351 appPlugins/ToolIsolation.py:3719 @@ -1542,9 +1542,9 @@ msgstr "Der bearbeitete Wert liegt außerhalb des Bereichs" #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 #: appPlugins/ToolSub.py:1001 appPlugins/ToolTransform.py:1077 #: appPlugins/ToolTransform.py:1084 appTool.py:306 appTool.py:313 msgid "Edited value is within limits." @@ -1751,9 +1751,9 @@ msgstr "Zu viele Elemente für den ausgewählten Abstandswinkel." #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 -#: appPlugins/ToolCorners.py:698 appPlugins/ToolCutOut.py:856 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 +#: appPlugins/ToolCorners.py:736 appPlugins/ToolCutOut.py:856 #: appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 #: appPlugins/ToolCutOut.py:1412 appPlugins/ToolCutOut.py:1430 @@ -1954,7 +1954,7 @@ msgstr "Excellon Editor" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 -#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:834 +#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:872 #: appPlugins/ToolCutOut.py:2215 appPlugins/ToolDblSided.py:695 #: appPlugins/ToolDrilling.py:2285 appPlugins/ToolFiducials.py:832 #: appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 @@ -1979,7 +1979,7 @@ msgstr "Name:" #: appGUI/ObjectUI.py:1435 appPlugins/ToolDrilling.py:2326 #: appPlugins/ToolIsolation.py:3189 appPlugins/ToolMilling.py:3626 #: appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "Werkzeugtabelle" @@ -2099,10 +2099,10 @@ msgstr "" #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 #: appPlugins/ToolNCC.py:4558 appPlugins/ToolPaint.py:2965 #: appPlugins/ToolPaint.py:3304 appPlugins/ToolPunchGerber.py:2089 @@ -2179,7 +2179,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1456 +#: appPlugins/ToolFilm.py:1454 msgid "X" msgstr "X" @@ -2192,7 +2192,7 @@ msgstr "X" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 -#: appPlugins/ToolFilm.py:1457 +#: appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "Y" @@ -2307,7 +2307,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 -#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:916 +#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:954 #: appPlugins/ToolReport.py:604 msgid "Length" msgstr "Länge" @@ -2610,7 +2610,7 @@ msgstr "Neigung/Schere" #: appGUI/MainGUI.py:5325 appGUI/ObjectUI.py:121 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 -#: appPlugins/ToolFilm.py:1323 appPlugins/ToolTransform.py:575 +#: appPlugins/ToolFilm.py:1321 appPlugins/ToolTransform.py:575 #: appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "Skalieren" @@ -2635,7 +2635,7 @@ msgstr "Puffer" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 #: appPlugins/ToolDblSided.py:871 appPlugins/ToolDblSided.py:1062 -#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "Referenz" @@ -2673,7 +2673,7 @@ msgstr "Ursprung" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 -#: appPlugins/ToolCorners.py:984 appPlugins/ToolFiducials.py:1061 +#: appPlugins/ToolCorners.py:1022 appPlugins/ToolFiducials.py:1061 #: appPlugins/ToolFollow.py:737 appPlugins/ToolIsolation.py:3573 #: appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 @@ -2701,6 +2701,11 @@ msgstr "Minimum" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 #: appPlugins/ToolExtract.py:1236 appPlugins/ToolExtract.py:1265 #: appPlugins/ToolPunchGerber.py:2168 appPlugins/ToolPunchGerber.py:2276 +#: appPlugins/ToolRulesCheck.py:1494 appPlugins/ToolRulesCheck.py:1518 +#: appPlugins/ToolRulesCheck.py:1543 appPlugins/ToolRulesCheck.py:1568 +#: appPlugins/ToolRulesCheck.py:1605 appPlugins/ToolRulesCheck.py:1630 +#: appPlugins/ToolRulesCheck.py:1655 appPlugins/ToolRulesCheck.py:1693 +#: appPlugins/ToolRulesCheck.py:1730 appPlugins/ToolRulesCheck.py:1755 #: appPlugins/ToolTransform.py:630 appPlugins/ToolTransform.py:995 #: app_Main.py:8905 msgid "Value" @@ -2763,7 +2768,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 -#: appPlugins/ToolFilm.py:1397 appPlugins/ToolTransform.py:746 +#: appPlugins/ToolFilm.py:1395 appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "X Winkel" @@ -2797,7 +2802,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1407 appPlugins/ToolTransform.py:767 +#: appPlugins/ToolFilm.py:1405 appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "Y Winkel" @@ -2809,7 +2814,7 @@ msgstr "Neigung Y" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 -#: appPlugins/ToolFilm.py:1336 appPlugins/ToolTransform.py:815 +#: appPlugins/ToolFilm.py:1334 appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "X Faktor" @@ -2839,7 +2844,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 -#: appPlugins/ToolFilm.py:1346 appPlugins/ToolTransform.py:835 +#: appPlugins/ToolFilm.py:1344 appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "Y Faktor" @@ -2922,7 +2927,7 @@ msgstr "Versatz Y" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 -#: appPlugins/ToolFilm.py:1500 appPlugins/ToolInvertGerber.py:291 +#: appPlugins/ToolFilm.py:1497 appPlugins/ToolInvertGerber.py:291 #: appPlugins/ToolQRCode.py:920 appPlugins/ToolTransform.py:954 msgid "Rounded" msgstr "Agberundet" @@ -3372,12 +3377,12 @@ msgstr "Auswahl vergrößern" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 #: appPlugins/ToolSub.py:814 appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "Parameters" @@ -3557,7 +3562,7 @@ msgstr "Klicken Sie auf den Zielpunkt." #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "Arbeiten..." @@ -3851,7 +3856,7 @@ msgstr "Koordinaten in die Zwischenablage kopiert." #: appObjects/FlatCAMGerber.py:1002 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 #: appPlugins/ToolMove.py:235 appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "Plotten" @@ -4472,6 +4477,7 @@ msgstr "Del" #: appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "Select All" @@ -4699,22 +4705,22 @@ msgstr "Erzeugt ein neues leeres Projekt" msgid "New" msgstr "Neu" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 -#: appPlugins/ToolFilm.py:1280 appPlugins/ToolImage.py:175 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 +#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:175 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:150 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolSolderPaste.py:1589 appPlugins/ToolSub.py:899 +#: appPlugins/ToolSolderPaste.py:1582 appPlugins/ToolSub.py:899 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "Geometrie" @@ -4728,7 +4734,7 @@ msgstr "N" msgid "Will create a new, empty Geometry Object." msgstr "Erzeugt ein neues, leeres Geometrieobjekt." -#: appGUI/MainGUI.py:107 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 @@ -4738,16 +4744,16 @@ msgstr "Erzeugt ein neues, leeres Geometrieobjekt." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 #: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 -#: appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 +#: appPlugins/ToolFilm.py:1255 appPlugins/ToolFilm.py:1278 #: appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:144 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 -#: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 -#: defaults.py:593 +#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolRulesCheck.py:1209 +#: appPlugins/ToolSub.py:834 appPlugins/ToolTransform.py:160 +#: appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "Gerber" @@ -4760,7 +4766,7 @@ msgstr "B" msgid "Will create a new, empty Gerber Object." msgstr "Erzeugt ein neues, leeres Gerber-Objekt." -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4770,11 +4776,12 @@ msgstr "Erzeugt ein neues, leeres Gerber-Objekt." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 #: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 -#: appPlugins/ToolFilm.py:1583 appPlugins/ToolIsolation.py:3594 +#: appPlugins/ToolFilm.py:1580 appPlugins/ToolIsolation.py:3594 #: appPlugins/ToolMilling.py:3595 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "Excellon" @@ -4881,7 +4888,7 @@ msgstr "DXF als Gerberobjekt" msgid "HPGL2 as Geometry Object" msgstr "HPGL2 als Geometrieobjekt" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "Exportieren" @@ -5804,7 +5811,7 @@ msgid "Copper Thieving" msgstr "Copper Thieving Werkzeug" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 #, fuzzy #| msgid "Corner Markers Tool" msgid "Corner Markers" @@ -5962,19 +5969,6 @@ msgstr "TCL Shell" msgid "Plot Area" msgstr "Grundstücksfläche" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 -#: appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "GERBER" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "EXCELLON" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "GEOMETRY" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "CNC-Auftrag" @@ -6203,7 +6197,7 @@ msgstr "" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 #: appPlugins/ToolNCC.py:1375 appPlugins/ToolPaint.py:664 -#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1291 +#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1284 #: app_Main.py:4995 msgid "New Tool" msgstr "Neues Werkzeug" @@ -6597,7 +6591,7 @@ msgstr "Öffnen Sie Online-Tutorials" msgid "Refresh Plots" msgstr "Zeichnungen aktualisieren" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "Objekt löschen" @@ -7066,14 +7060,14 @@ msgstr "" #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 -#: appPlugins/ToolFilm.py:1502 +#: appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "Die resultierende Geometrie hat abgerundete Ecken." #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 #: appPlugins/ToolNCC.py:4610 appPlugins/ToolPaint.py:3347 -#: appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "Geometrie erzeugen" @@ -7481,7 +7475,7 @@ msgstr "" "Öffnet den Dialog zum Speichern des G-Codes\n" "Datei." -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "Überprüfen Sie den CNC-Code." @@ -7528,7 +7522,7 @@ msgstr "Linksbündig" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5431 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5431 #: app_Main.py:5695 msgid "Center" msgstr "Center" @@ -7777,7 +7771,7 @@ msgstr "" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 #: appObjects/FlatCAMObj.py:843 appPlugins/ToolLevelling.py:2219 -#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "Vorschubgeschwindigkeit" @@ -7836,7 +7830,7 @@ msgstr "Reiselinienfarbe" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 -#: appPlugins/ToolRulesCheck.py:1324 +#: appPlugins/ToolRulesCheck.py:1385 appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "Gliederung" @@ -8511,7 +8505,7 @@ msgstr "Orientierung" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 -#: appPlugins/ToolFilm.py:1647 +#: appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -8524,14 +8518,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 -#: appPlugins/ToolFilm.py:1651 app_Main.py:8435 +#: appPlugins/ToolFilm.py:1647 app_Main.py:8435 msgid "Portrait" msgstr "Hochformat" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 -#: appPlugins/ToolFilm.py:1652 app_Main.py:8437 +#: appPlugins/ToolFilm.py:1648 app_Main.py:8437 msgid "Landscape" msgstr "Querformat" @@ -8553,7 +8547,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 -#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "Achse" @@ -9883,7 +9877,7 @@ msgid "Minimal" msgstr "Minimal" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "Box-Typ" @@ -9996,7 +9990,7 @@ msgstr "Begrenzungsrahmenrand der Robber Bar." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "Dicke" @@ -10046,7 +10040,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "Both" @@ -10073,9 +10067,9 @@ msgstr "Kalibrierungspunkte" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "Parameter für dieses Werkzeug." @@ -10151,23 +10145,23 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:956 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5692 +#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:994 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5692 msgid "Top Left" msgstr "Oben links" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:968 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5693 +#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:1006 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5693 msgid "Bottom Right" msgstr "Unten rechts" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 -#: appPlugins/ToolSolderPaste.py:1407 +#: appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "Werkzeugwechsel" @@ -10465,7 +10459,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 -#: appPlugins/ToolCorners.py:895 appPlugins/ToolFiducials.py:1035 +#: appPlugins/ToolCorners.py:933 appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "Kreuzförmig" @@ -10480,14 +10474,14 @@ msgid "Line thickness" msgstr "Liniendicke" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 -#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:1073 +#: appPlugins/ToolCorners.py:1040 appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "Auto" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 -#: appPlugins/ToolCorners.py:1003 appPlugins/ToolCutOut.py:2520 +#: appPlugins/ToolCorners.py:1041 appPlugins/ToolCutOut.py:2520 #: appPlugins/ToolDblSided.py:1053 appPlugins/ToolFiducials.py:1074 #: appPlugins/ToolLevelling.py:1918 appPlugins/ToolPunchGerber.py:2309 msgid "Manual" @@ -10495,7 +10489,7 @@ msgstr "Manuell" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 -#: appPlugins/ToolCorners.py:995 appPlugins/ToolLevelling.py:1911 +#: appPlugins/ToolCorners.py:1033 appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "Modus" @@ -10704,7 +10698,7 @@ msgstr "Geben Sie hier den Text in Ihrem QRCode an." #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 -#: appPlugins/ToolFilm.py:1529 appPlugins/ToolQRCode.py:897 +#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "Polarität" @@ -10721,13 +10715,13 @@ msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 -#: appPlugins/ToolFilm.py:1527 appPlugins/ToolQRCode.py:903 +#: appPlugins/ToolFilm.py:1524 appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "Negativ" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 -#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:904 +#: appPlugins/ToolFilm.py:1523 appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "Positiv" @@ -10790,12 +10784,12 @@ msgstr "" "von Herstellungsregeln." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "Spurengröße" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "Hiermit wird überprüft, ob die Mindestgröße für Traces erfüllt ist." @@ -10809,27 +10803,22 @@ msgstr "Hiermit wird überprüft, ob die Mindestgröße für Traces erfüllt ist #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "Min. Wert" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "Minimale akzeptable Trace-Größe." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "Mininalabstand Kupfer zu Kupfer" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10844,34 +10833,34 @@ msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "Minimaler akzeptabler Abstandswert." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "Mininalabstand Kupfer zum Rahmen" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." msgstr "Überprüft den Minimalabstand zwischen Kupfer und Rand." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "Siebdruck zu siebdruck Abstand" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." @@ -10880,13 +10869,13 @@ msgstr "" "Objekte und Silkscreen-Objekte erfüllt ist." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "Siebdruck auf Lötmaske Clearance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -10895,14 +10884,14 @@ msgstr "" "Spuren und Lötmaskenspuren werden eingehalten." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "Siebdruck zur Gliederung Clearance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -10911,13 +10900,13 @@ msgstr "" "Spuren und der Umriss ist erfüllt." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "Minimum Lötmaskenband" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -10927,14 +10916,14 @@ msgstr "" "Spuren und Soldermask-Merkmale sind erfüllt." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "Minimaler Ring" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -10943,17 +10932,17 @@ msgstr "" "Ein Loch in einem Pad ist getroffen." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "Minimaler akzeptabler Ringwert." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "Loch zu Loch Abstand" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." @@ -10962,17 +10951,17 @@ msgstr "" "und ein weiteres Bohrloch ist getroffen." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "Minimale zulässige Bohrergröße." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "Lochgröße" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -11002,7 +10991,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 -#: appPlugins/ToolCorners.py:1040 appPlugins/ToolCutOut.py:2699 +#: appPlugins/ToolCorners.py:1078 appPlugins/ToolCutOut.py:2699 #: appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "Bohrdurchmesser" @@ -11210,27 +11199,27 @@ msgid "Corner Markers Options" msgstr "Optionen für Eckmarkierungen" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 -#: appPlugins/ToolCorners.py:890 +#: appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "Form des Markers." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 -#: appPlugins/ToolCorners.py:894 +#: appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "Halbkreuz" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appPlugins/ToolCorners.py:904 +#: appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "Die Dicke der Linie, die die Eckmarkierung bildet." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 -#: appPlugins/ToolCorners.py:918 +#: appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "Die Länge der Linie, die die Eckmarkierung bildet." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 -#: appPlugins/ToolCorners.py:1042 +#: appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "Bohrdurchmesser" @@ -11421,7 +11410,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "Vorwärts" @@ -11431,7 +11420,7 @@ msgstr "Vorwärts" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "Rückwärts" @@ -11523,7 +11512,7 @@ msgstr "Anzahl der Zeiteinheiten, in denen die Spindel verweilen soll." #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "Postprozessor" @@ -11759,21 +11748,21 @@ msgid "Film Plugin" msgstr "plugin_tab" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 -#: appPlugins/ToolFilm.py:1308 +#: appPlugins/ToolFilm.py:1307 #, fuzzy #| msgid "Film Adjustments" msgid "Adjustments" msgstr "Filmeinstellungen" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 -#: appPlugins/ToolFilm.py:1310 +#: appPlugins/ToolFilm.py:1309 #, fuzzy #| msgid "Center point coordinates" msgid "Compensate print distortions." msgstr "Mittelpunktskoordinaten" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 -#: appPlugins/ToolFilm.py:1325 +#: appPlugins/ToolFilm.py:1323 #, fuzzy #| msgid "" #| "A value greater than 1 will stretch the film\n" @@ -11787,7 +11776,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 -#: appPlugins/ToolFilm.py:1358 appPlugins/ToolFilm.py:1419 +#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 #, fuzzy #| msgid "" #| "The reference point to be used as origin for the skew.\n" @@ -11799,25 +11788,25 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCorners.py:964 appPlugins/ToolFiducials.py:898 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5691 +#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:898 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5691 msgid "Bottom Left" msgstr "Unten links" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "Oben rechts" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 -#: appPlugins/ToolFilm.py:1384 appPlugins/ToolTransform.py:726 +#: appPlugins/ToolFilm.py:1382 appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "Neigung" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 -#: appPlugins/ToolFilm.py:1386 +#: appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -11826,12 +11815,12 @@ msgstr "" "negative Werte werden nach links verschoben." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 -#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "Spiegeln" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 -#: appPlugins/ToolFilm.py:1447 appPlugins/ToolFilm.py:1462 +#: appPlugins/ToolFilm.py:1445 appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "" "Spiegeln Sie die Filmgeometrie auf der ausgewählten Achse oder auf beiden." @@ -11845,7 +11834,7 @@ msgstr "" "Die Datei wird im SVG-Format gespeichert." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 -#: appPlugins/ToolFilm.py:1491 +#: appPlugins/ToolFilm.py:1488 #, fuzzy #| msgid "" #| "Create a convex shape surrounding the entire PCB.\n" @@ -11858,7 +11847,7 @@ msgstr "" "Wird nur verwendet, wenn der Quellobjekttyp Gerber ist." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 -#: appPlugins/ToolFilm.py:1531 +#: appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "" @@ -11871,12 +11860,12 @@ msgid "Set the film color when positive film is selected." msgstr "Stellen Sie die Filmfarbe ein, wenn Positivfilm ausgewählt ist." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 -#: appPlugins/ToolFilm.py:1542 +#: appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "Rand" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 -#: appPlugins/ToolFilm.py:1544 +#: appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11897,12 +11886,12 @@ msgstr "" "Umgebung, wenn nicht für diese Grenze." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 -#: appPlugins/ToolFilm.py:1516 +#: appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "Skalierungshub" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 -#: appPlugins/ToolFilm.py:1518 +#: appPlugins/ToolFilm.py:1515 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 " @@ -11915,27 +11904,27 @@ msgstr "" "Daher können die Feinheiten von diesem Parameter stärker beeinflusst werden." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 -#: appPlugins/ToolFilm.py:1637 +#: appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "SVG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 -#: appPlugins/ToolFilm.py:1638 +#: appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "PNG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 -#: appPlugins/ToolFilm.py:1639 +#: appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "PDF" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 -#: appPlugins/ToolFilm.py:1628 +#: appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "Filmtyp" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 -#: appPlugins/ToolFilm.py:1630 +#: appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11948,22 +11937,22 @@ msgstr "" "- 'PDF' -> portable document format" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Seitenausrichtung" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Seitengröße" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "Eine Auswahl von Standard ISO 216 Seitengrößen." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" "Der Standardwert ist 96 DPI. Ändern Sie diesen Wert, um die PNG-Datei zu " @@ -12746,7 +12735,7 @@ msgid "New Nozzle Dia" msgstr "Neuer Düsendurchmesser" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "" "Durchmesser für das neue Werkzeug, das in die Werkzeugtabelle aufgenommen " @@ -12757,17 +12746,17 @@ msgid "Z Dispense Start" msgstr "Z Dosierbeginn" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "Die Höhe (Z) bei der Lotpastendosierung." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Z-Abgabe" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "Die Höhe (Z) bei der Lotpastendosierung." @@ -12776,7 +12765,7 @@ msgid "Z Dispense Stop" msgstr "Z Abgabestopp" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "Die Höhe (Z) bei der Lotpastendosierung stoppt." @@ -12785,7 +12774,7 @@ msgid "Z Travel" msgstr "Z Reise" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12798,12 +12787,12 @@ msgid "Z Toolchange" msgstr "Z Werkzeugwechsel" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "Die Höhe (Z) für Werkzeug (Düse) ändert sich." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12812,12 +12801,12 @@ msgstr "" "Das Format ist (x, y), wobei x und y reelle Zahlen sind." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Vorschub (Geschwindigkeit) während der Bewegung auf der X-Y-Ebene." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12830,7 +12819,7 @@ msgid "Feedrate Z Dispense" msgstr "Vorschub Z Dosierung" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12843,7 +12832,7 @@ msgid "Spindle Speed FWD" msgstr "Spindeldrehzahl FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12856,7 +12845,7 @@ msgid "Dwell FWD" msgstr "Verweilzeit FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Pause nach dem Löten." @@ -12865,7 +12854,7 @@ msgid "Spindle Speed REV" msgstr "Spindeldrehzahl REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12878,7 +12867,7 @@ msgid "Dwell REV" msgstr "Verweilen REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12887,7 +12876,7 @@ msgstr "" "das Druckgleichgewicht zu ermöglichen." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "Dateien, die die GCode-Generierung steuern." @@ -13630,7 +13619,7 @@ msgid "Click on the START point." msgstr "Klicken Sie auf den START-Punkt." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Auf Benutzerwunsch storniert." @@ -13734,34 +13723,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Reset Werkzeug" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Wird die Werkzeugeinstellungen zurücksetzen." @@ -14367,9 +14356,9 @@ msgid "Squares grid fill selected." msgstr "Quadratfüllung gewählt." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -14470,7 +14459,7 @@ msgid "Copper Thieving Tool exit." msgstr "Copper Thieving Tool verlassen." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14591,7 +14580,7 @@ msgstr "" msgid "Corners" msgstr "Ecken Werkzeug" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 #, fuzzy #| msgid "Click to add next pad or right click to start." msgid "Click to add next marker or right click to finish." @@ -14599,86 +14588,87 @@ msgstr "" "Klicken Sie, um das nächste Pad hinzuzufügen, oder klicken Sie mit der " "rechten Maustaste, um zu starten." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Bitte wählen Sie mindestens einen Ort aus" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "Der Werkzeugdurchmesser ist Null." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "Excellon-Objekt mit Eckbohrern erstellt." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "Ein Gerber-Objekt mit Eckmarkierungen wurde erstellt." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 #, fuzzy #| msgid "Add Marker" msgid "Added marker" msgstr "Marker hinzufügen" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "Das Gerber-Objekt, dem Eckmarkierungen hinzugefügt werden." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Standorte" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Orte, an denen Eckmarkierungen platziert werden sollen." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "Oben rechts" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "ALLE umschalten" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." msgstr "" -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Marker hinzufügen" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Fügt der ausgewählten Gerber-Datei Eckmarkierungen hinzu." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 #, fuzzy #| msgid "Drills in Corners" msgid "Drills in Locations" msgstr "Bohrer in Ecken" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Excellon-Objekt erstellen" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Fügt Bohrlöcher in der Mitte der Markierungen hinzu." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 #, fuzzy #| msgid "Locations" msgid "Check in Locations" msgstr "Standorte" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -15973,7 +15963,7 @@ msgstr "" msgid "Film file exported to" msgstr "Film-Datei exportiert nach" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -15985,7 +15975,7 @@ msgstr "" "Die Auswahl hier bestimmt den Objekttyp\n" "im Filmobjekt-Kombinationsfeld." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -15997,11 +15987,11 @@ msgstr "" "bestimmt den Objekttyp\n" "im Kombinationsfeld Box-Objekt." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Löcher stanzen" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -16013,11 +16003,11 @@ msgstr "" "erleichtern.\n" "wenn manuell erledigt." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "Quelle" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -16027,30 +16017,30 @@ msgstr "" "- Excellon -> Ein Excellon-Lochzentrum dient als Referenz.\n" "- Pad-Mitte -> wird versuchen, die Pad-Mitte als Referenz zu verwenden." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Pad-Mitte" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "" "Entfernen Sie die Geometrie von Excellon aus dem Film, um die Löcher in den " "Pads zu erzeugen." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Lochergröße" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "Der Wert hier bestimmt, wie groß das Loch in den Pads ist." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Film speichern" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -16062,7 +16052,7 @@ msgstr "" "  FlatCAM-Objekt, speichern Sie es jedoch direkt im \n" "gewähltem Format." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -16446,7 +16436,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -17298,6 +17288,10 @@ msgstr "Optimales Werkzeug. Den Mindestabstand finden." msgid "Optimal Tool. Finished successfully." msgstr "Optimales Werkzeug. Erfolgreich beendet." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Anzahl der Dezimalstellen für gefundene Entfernungen." @@ -17698,7 +17692,7 @@ msgstr "Panel einschränken innerhalb" msgid "Panelize Object" msgstr "Panelize Objekt" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -18026,27 +18020,27 @@ msgstr "Mehrfache Geo" msgid "Metric" msgstr "Metrisch" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Überprüfen Sie die Regeln" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "Wert ist ungültig." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "TOP -> Kupfer zu Kupfer Abstand" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "UNTEN -> Kupfer zu Kupfer Abstand" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -18054,13 +18048,13 @@ msgstr "" "Für diese Regel muss mindestens ein Gerber-Objekt ausgewählt sein, aber " "keines." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" "Eines der Kupfer-Gerber-Objekte oder das Umriss-Gerber-Objekt ist ungültig." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -18068,31 +18062,31 @@ msgstr "" "Das Vorhandensein von Gerber-Objekten ist für diese Regel obligatorisch, " "jedoch nicht ausgewählt." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "Siebdruck zu siebdruck freiheit" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "TOP -> Siebdruck zu Siebdruck Abstand" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "UNTEN -> Abstand von Siebdruck zu Siebdruck" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "Eines oder mehrere der Gerber-Objekte sind ungültig." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "TOP -> Abstand von Siebdruck zu Lötmaske" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "UNTEN -> Abstand von Siebdruck zu Lötmaske" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -18100,116 +18094,133 @@ msgstr "" "Sowohl Siebdruck- als auch Lötmasken-Gerber-Objekte müssen entweder beide " "oben oder beide unten sein." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" "Eines der Siebdruck-Gerber-Objekte oder das Gliederung-Gerber-Objekt ist " "ungültig." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "TOP -> Minimum Lötmaskenband" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "UNTEN-> Minimum Lötmaskenband" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "" "Eines der Kupfer-Gerber-Objekte oder der Excellon-Objekte ist ungültig." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "Das Vorhandensein von Excellon-Objekten ist für diese Regel obligatorisch, " "es ist jedoch keine ausgewählt." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "STATUS" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "GESCHEITERT" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "BESTANDEN" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "Verstöße: Für die aktuelle Regel gibt es keine Verstöße." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Gerber-Objekte, für die Regeln überprüft werden sollen." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "Kupferareal" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "Alle Regeln" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "Siebdruck Oben" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Lötpastenmaske Gerber" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Löcher bohren" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Oberst" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "Das Top Gerber Copper-Objekt, für das Regeln überprüft werden." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Unterseite" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "Das untere Gerber Copper-Objekt, für das Regeln überprüft werden." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "SM Oberst" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "Das oberste Gerber-Lötmaskenobjekt, für das Regeln überprüft werden." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "SM unten" - -#: appPlugins/ToolRulesCheck.py:1272 -msgid "The Bottom Gerber Solder Mask object for which rules are checked." -msgstr "Das untere Gerber-Lötmaskenobjekt, für das Regeln überprüft werden." - -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Siebdruck Oben" - -#: appPlugins/ToolRulesCheck.py:1290 +#: appPlugins/ToolRulesCheck.py:1307 msgid "The Top Gerber Silkscreen object for which rules are checked." msgstr "Das oberste Gerber-Siebdruck-Objekt, für das Regeln überprüft werden." -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Siebdruck unten" +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Unterseite" -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "Das untere Gerber Copper-Objekt, für das Regeln überprüft werden." + +#: appPlugins/ToolRulesCheck.py:1355 +msgid "The Bottom Gerber Solder Mask object for which rules are checked." +msgstr "Das untere Gerber-Lötmaskenobjekt, für das Regeln überprüft werden." + +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "Das untere Gerber-Siebdruck-Objekt, für das Regeln überprüft werden." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "" "Das Gerber-Gliederungsobjekt (Ausschnitt), für das Regeln überprüft werden." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Excellon-Objekte, für die Regeln überprüft werden sollen." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -18217,11 +18228,7 @@ msgstr "" "Excellon-Objekt, für das Regeln überprüft werden sollen.\n" "Enthält die plattierten Löcher oder einen allgemeinen Excellon-Dateiinhalt." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -18229,16 +18236,7 @@ msgstr "" "Excellon-Objekt, für das Regeln überprüft werden sollen.\n" "Hält die nicht plattierten Löcher." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "Alle Regeln" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "" -"Hiermit können Sie alle unten aufgeführten Regeln aktivieren / deaktivieren." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Führen Sie die Regelprüfung durch" @@ -18341,7 +18339,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Gerber Lötpastenobjekt." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -18349,7 +18347,7 @@ msgstr "" "Toolspool aus dem der Algorithmus\n" "wählt die für die Lotpaste verwendeten aus." -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -18364,7 +18362,7 @@ msgstr "" "vorhanden\n" "Mit Lötpaste gibt die App eine Warnmeldung aus." -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." @@ -18372,7 +18370,7 @@ msgstr "" "Werkzeugdurchmesser. Dessen Wert\n" "ist die Breite der Lötpaste dispe" -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -18380,35 +18378,35 @@ msgstr "" "Fügen Sie der Werkzeugtabelle ein neues Düsenwerkzeug hinzu\n" "mit dem oben angegebenen Durchmesser." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 #, fuzzy #| msgid "Z Dispense" msgid "Dispense" msgstr "Z-Abgabe" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 #, fuzzy #| msgid "Start" msgid "Z Start" msgstr "Start" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 #, fuzzy #| msgid "Duration" msgid "Z Action" msgstr "Dauer" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 #, fuzzy #| msgid "Stop" msgid "Z Stop" msgstr "Halt" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Generieren Sie Lotpastendispensiergeometrie." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -18418,19 +18416,19 @@ msgstr "" "Der Name des Objekts muss auf enden:\n" "'_solderpaste' als Schutz." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 #, fuzzy #| msgid "Create CNCJob" msgid "CNCJob" msgstr "CNCJob erstellen" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 #, fuzzy #| msgid "Generate CNC" msgid "Generate CNCJob" msgstr "CNC generieren" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -18438,7 +18436,7 @@ msgstr "" "Generieren Sie GCode für die Lotpastendosierung\n" "auf PCB-Pads." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -18450,11 +18448,11 @@ msgstr "" "Der Name des Objekts muss auf enden:\n" "'_solderpaste' als Schutz." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "Speichern Sie GCode" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -18562,6 +18560,10 @@ msgstr "" "Kann verwendet werden, um den überlappenden Siebdruck zu entfernen\n" "über der Lötmaske." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "GEOMETRY" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -20173,6 +20175,32 @@ msgstr "" "Kein Geometriename in args. Geben Sie einen Namen ein und versuchen Sie es " "erneut." +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Gerber-Objekte, für die Regeln überprüft werden sollen." + +#~ msgid "SM Top" +#~ msgstr "SM Oberst" + +#~ msgid "SM Bottom" +#~ msgstr "SM unten" + +#~ msgid "Silk Bottom" +#~ msgstr "Siebdruck unten" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "" +#~ "Hiermit können Sie alle unten aufgeführten Regeln aktivieren / " +#~ "deaktivieren." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -20421,9 +20449,6 @@ msgstr "" #~ msgid "Fiducials Coordinates" #~ msgstr "Bezugspunktkoordinaten" -#~ msgid "Soldermask Gerber" -#~ msgstr "Lötpastenmaske Gerber" - #~ msgid "The Soldermask Gerber object." #~ msgstr "Lötpastenmaske Gerber-Objekt." diff --git a/locale/en/LC_MESSAGES/strings.mo b/locale/en/LC_MESSAGES/strings.mo index c0ac1431a204873112f69e378bcec473222b3885..10b834b6d329588e185390b16aaf08eb6f9abb60 100644 GIT binary patch delta 70887 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 CRtEO~ diff --git a/locale/en/LC_MESSAGES/strings.po b/locale/en/LC_MESSAGES/strings.po index e88587fe..f108ce28 100644 --- a/locale/en/LC_MESSAGES/strings.po +++ b/locale/en/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2021-10-04 20:55+0300\n" -"PO-Revision-Date: 2021-10-04 20:55+0300\n" +"POT-Creation-Date: 2021-10-05 02:55+0300\n" +"PO-Revision-Date: 2021-10-05 02:55+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: en\n" @@ -117,8 +117,8 @@ msgstr "Bookmarks" #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 #: appGUI/MainGUI.py:3642 appGUI/MainGUI.py:3872 -#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 +#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 #: appPlugins/ToolFilm.py:407 appPlugins/ToolFilm.py:546 #: appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 @@ -303,7 +303,7 @@ msgstr "Target" #: appPlugins/ToolMilling.py:3656 appPlugins/ToolNCC.py:4146 #: appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "Diameter" @@ -591,7 +591,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 #: appPlugins/ToolCalibration.py:794 appPlugins/ToolDrilling.py:1559 #: appPlugins/ToolDrilling.py:2459 appPlugins/ToolMilling.py:3247 -#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "Travel Z" @@ -693,7 +693,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 #: appPlugins/ToolDrilling.py:1573 appPlugins/ToolDrilling.py:2515 #: appPlugins/ToolMilling.py:3265 appPlugins/ToolMilling.py:4284 -#: appPlugins/ToolSolderPaste.py:1509 appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolSolderPaste.py:1502 appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "Spindle speed" @@ -708,8 +708,8 @@ msgstr "" "The speed of the spindle in RPM." #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "Dwell" @@ -846,7 +846,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 #: appPlugins/ToolCutOut.py:2725 appPlugins/ToolExtract.py:1351 #: appPlugins/ToolFiducials.py:992 appPlugins/ToolInvertGerber.py:269 #: appPlugins/ToolInvertGerber.py:277 appPlugins/ToolMilling.py:4039 @@ -860,7 +860,7 @@ msgstr "Margin" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 -#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:931 +#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:969 #: appPlugins/ToolFiducials.py:994 appPlugins/ToolMilling.py:4041 #: appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." @@ -1326,7 +1326,7 @@ msgstr "The spacing between drill holes when doing mouse bites." #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 -#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "Convex Shape" @@ -1445,8 +1445,8 @@ msgstr "Cancel" #: appPlugins/ToolAlignObjects.py:584 appPlugins/ToolCalculators.py:1068 #: appPlugins/ToolCalculators.py:1079 appPlugins/ToolCalibration.py:1420 #: appPlugins/ToolCalibration.py:1431 appPlugins/ToolCopperThieving.py:1807 -#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1113 -#: appPlugins/ToolCorners.py:1124 appPlugins/ToolCutOut.py:2796 +#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1151 +#: appPlugins/ToolCorners.py:1162 appPlugins/ToolCutOut.py:2796 #: appPlugins/ToolCutOut.py:2807 appPlugins/ToolDblSided.py:1147 #: appPlugins/ToolDblSided.py:1158 appPlugins/ToolDistance.py:708 #: appPlugins/ToolDistance.py:719 appPlugins/ToolDistanceMin.py:398 @@ -1454,8 +1454,8 @@ msgstr "Cancel" #: appPlugins/ToolDrilling.py:2931 appPlugins/ToolEtchCompensation.py:531 #: appPlugins/ToolEtchCompensation.py:542 appPlugins/ToolExtract.py:1421 #: appPlugins/ToolExtract.py:1432 appPlugins/ToolFiducials.py:1137 -#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1832 -#: appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 #: appPlugins/ToolImage.py:376 appPlugins/ToolInvertGerber.py:338 #: appPlugins/ToolInvertGerber.py:349 appPlugins/ToolIsolation.py:3713 @@ -1468,9 +1468,9 @@ msgstr "Cancel" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 #: appPlugins/ToolSub.py:999 appPlugins/ToolTransform.py:1071 #: appPlugins/ToolTransform.py:1082 appTool.py:300 appTool.py:311 msgid "Edited value is out of range" @@ -1483,8 +1483,8 @@ msgstr "Edited value is out of range" #: appPlugins/ToolAlignObjects.py:586 appPlugins/ToolCalculators.py:1074 #: appPlugins/ToolCalculators.py:1081 appPlugins/ToolCalibration.py:1426 #: appPlugins/ToolCalibration.py:1433 appPlugins/ToolCopperThieving.py:1813 -#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1119 -#: appPlugins/ToolCorners.py:1126 appPlugins/ToolCutOut.py:2802 +#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1157 +#: appPlugins/ToolCorners.py:1164 appPlugins/ToolCutOut.py:2802 #: appPlugins/ToolCutOut.py:2809 appPlugins/ToolDblSided.py:1153 #: appPlugins/ToolDblSided.py:1160 appPlugins/ToolDistance.py:714 #: appPlugins/ToolDistance.py:721 appPlugins/ToolDistanceMin.py:404 @@ -1492,8 +1492,8 @@ msgstr "Edited value is out of range" #: appPlugins/ToolDrilling.py:2933 appPlugins/ToolEtchCompensation.py:537 #: appPlugins/ToolEtchCompensation.py:544 appPlugins/ToolExtract.py:1427 #: appPlugins/ToolExtract.py:1434 appPlugins/ToolFiducials.py:1143 -#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1838 -#: appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1833 +#: appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 #: appPlugins/ToolImage.py:378 appPlugins/ToolInvertGerber.py:344 #: appPlugins/ToolInvertGerber.py:351 appPlugins/ToolIsolation.py:3719 @@ -1506,9 +1506,9 @@ msgstr "Edited value is out of range" #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 #: appPlugins/ToolSub.py:1001 appPlugins/ToolTransform.py:1077 #: appPlugins/ToolTransform.py:1084 appTool.py:306 appTool.py:313 msgid "Edited value is within limits." @@ -1710,9 +1710,9 @@ msgstr "Too many items for the selected spacing angle." #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 -#: appPlugins/ToolCorners.py:698 appPlugins/ToolCutOut.py:856 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 +#: appPlugins/ToolCorners.py:736 appPlugins/ToolCutOut.py:856 #: appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 #: appPlugins/ToolCutOut.py:1412 appPlugins/ToolCutOut.py:1430 @@ -1905,7 +1905,7 @@ msgstr "Excellon Editor" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 -#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:834 +#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:872 #: appPlugins/ToolCutOut.py:2215 appPlugins/ToolDblSided.py:695 #: appPlugins/ToolDrilling.py:2285 appPlugins/ToolFiducials.py:832 #: appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 @@ -1933,7 +1933,7 @@ msgstr "Name:" #: appGUI/ObjectUI.py:1435 appPlugins/ToolDrilling.py:2326 #: appPlugins/ToolIsolation.py:3189 appPlugins/ToolMilling.py:3626 #: appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "Tools Table" @@ -2051,10 +2051,10 @@ msgstr "Add an array of drills (linear or circular array)" #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 #: appPlugins/ToolNCC.py:4558 appPlugins/ToolPaint.py:2965 #: appPlugins/ToolPaint.py:3304 appPlugins/ToolPunchGerber.py:2089 @@ -2131,7 +2131,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1456 +#: appPlugins/ToolFilm.py:1454 msgid "X" msgstr "X" @@ -2144,7 +2144,7 @@ msgstr "X" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 -#: appPlugins/ToolFilm.py:1457 +#: appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "Y" @@ -2258,7 +2258,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 -#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:916 +#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:954 #: appPlugins/ToolReport.py:604 msgid "Length" msgstr "Length" @@ -2555,7 +2555,7 @@ msgstr "Skew/Shear" #: appGUI/MainGUI.py:5325 appGUI/ObjectUI.py:121 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 -#: appPlugins/ToolFilm.py:1323 appPlugins/ToolTransform.py:575 +#: appPlugins/ToolFilm.py:1321 appPlugins/ToolTransform.py:575 #: appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "Scale" @@ -2580,7 +2580,7 @@ msgstr "Buffer" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 #: appPlugins/ToolDblSided.py:871 appPlugins/ToolDblSided.py:1062 -#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "Reference" @@ -2618,7 +2618,7 @@ msgstr "Origin" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 -#: appPlugins/ToolCorners.py:984 appPlugins/ToolFiducials.py:1061 +#: appPlugins/ToolCorners.py:1022 appPlugins/ToolFiducials.py:1061 #: appPlugins/ToolFollow.py:737 appPlugins/ToolIsolation.py:3573 #: appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 @@ -2646,6 +2646,11 @@ msgstr "Minimum" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 #: appPlugins/ToolExtract.py:1236 appPlugins/ToolExtract.py:1265 #: appPlugins/ToolPunchGerber.py:2168 appPlugins/ToolPunchGerber.py:2276 +#: appPlugins/ToolRulesCheck.py:1494 appPlugins/ToolRulesCheck.py:1518 +#: appPlugins/ToolRulesCheck.py:1543 appPlugins/ToolRulesCheck.py:1568 +#: appPlugins/ToolRulesCheck.py:1605 appPlugins/ToolRulesCheck.py:1630 +#: appPlugins/ToolRulesCheck.py:1655 appPlugins/ToolRulesCheck.py:1693 +#: appPlugins/ToolRulesCheck.py:1730 appPlugins/ToolRulesCheck.py:1755 #: appPlugins/ToolTransform.py:630 appPlugins/ToolTransform.py:995 #: app_Main.py:8905 msgid "Value" @@ -2706,7 +2711,7 @@ msgstr "Link the Y entry to X entry and copy its content." #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 -#: appPlugins/ToolFilm.py:1397 appPlugins/ToolTransform.py:746 +#: appPlugins/ToolFilm.py:1395 appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "X angle" @@ -2740,7 +2745,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1407 appPlugins/ToolTransform.py:767 +#: appPlugins/ToolFilm.py:1405 appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "Y angle" @@ -2752,7 +2757,7 @@ msgstr "Skew Y" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 -#: appPlugins/ToolFilm.py:1336 appPlugins/ToolTransform.py:815 +#: appPlugins/ToolFilm.py:1334 appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "X factor" @@ -2782,7 +2787,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 -#: appPlugins/ToolFilm.py:1346 appPlugins/ToolTransform.py:835 +#: appPlugins/ToolFilm.py:1344 appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "Y factor" @@ -2865,7 +2870,7 @@ msgstr "Offset Y" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 -#: appPlugins/ToolFilm.py:1500 appPlugins/ToolInvertGerber.py:291 +#: appPlugins/ToolFilm.py:1497 appPlugins/ToolInvertGerber.py:291 #: appPlugins/ToolQRCode.py:920 appPlugins/ToolTransform.py:954 msgid "Rounded" msgstr "Rounded" @@ -3306,12 +3311,12 @@ msgstr "Zoom on selection" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 #: appPlugins/ToolSub.py:814 appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "Parameters" @@ -3487,7 +3492,7 @@ msgstr "Click on target point." #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "Working..." @@ -3764,7 +3769,7 @@ msgstr "Coordinates copied to clipboard." #: appObjects/FlatCAMGerber.py:1002 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 #: appPlugins/ToolMove.py:235 appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "Plotting" @@ -4358,6 +4363,7 @@ msgstr "Del" #: appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "Select All" @@ -4579,22 +4585,22 @@ msgstr "Will create a new, blank project" msgid "New" msgstr "New" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 -#: appPlugins/ToolFilm.py:1280 appPlugins/ToolImage.py:175 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 +#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:175 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:150 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolSolderPaste.py:1589 appPlugins/ToolSub.py:899 +#: appPlugins/ToolSolderPaste.py:1582 appPlugins/ToolSub.py:899 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "Geometry" @@ -4608,7 +4614,7 @@ msgstr "N" msgid "Will create a new, empty Geometry Object." msgstr "Will create a new, empty Geometry Object." -#: appGUI/MainGUI.py:107 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 @@ -4618,16 +4624,16 @@ msgstr "Will create a new, empty Geometry Object." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 #: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 -#: appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 +#: appPlugins/ToolFilm.py:1255 appPlugins/ToolFilm.py:1278 #: appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:144 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 -#: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 -#: defaults.py:593 +#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolRulesCheck.py:1209 +#: appPlugins/ToolSub.py:834 appPlugins/ToolTransform.py:160 +#: appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "Gerber" @@ -4640,7 +4646,7 @@ msgstr "B" msgid "Will create a new, empty Gerber Object." msgstr "Will create a new, empty Gerber Object." -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4650,11 +4656,12 @@ msgstr "Will create a new, empty Gerber Object." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 #: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 -#: appPlugins/ToolFilm.py:1583 appPlugins/ToolIsolation.py:3594 +#: appPlugins/ToolFilm.py:1580 appPlugins/ToolIsolation.py:3594 #: appPlugins/ToolMilling.py:3595 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "Excellon" @@ -4761,7 +4768,7 @@ msgstr "DXF as Gerber Object" msgid "HPGL2 as Geometry Object" msgstr "HPGL2 as Geometry Object" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "Export" @@ -5663,7 +5670,7 @@ msgid "Copper Thieving" msgstr "Copper Thieving" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 msgid "Corner Markers" msgstr "Corner Markers" @@ -5823,19 +5830,6 @@ msgstr "TCL Shell" msgid "Plot Area" msgstr "Plot Area" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 -#: appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "GERBER" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "EXCELLON" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "GEOMETRY" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "CNC-JOB" @@ -6053,7 +6047,7 @@ msgstr "" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 #: appPlugins/ToolNCC.py:1375 appPlugins/ToolPaint.py:664 -#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1291 +#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1284 #: app_Main.py:4995 msgid "New Tool" msgstr "New Tool" @@ -6431,7 +6425,7 @@ msgstr "Open Online Tutorials" msgid "Refresh Plots" msgstr "Refresh Plots" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "Delete Object" @@ -6887,14 +6881,14 @@ msgstr "" #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 -#: appPlugins/ToolFilm.py:1502 +#: appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "Resulting geometry will have rounded corners." #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 #: appPlugins/ToolNCC.py:4610 appPlugins/ToolPaint.py:3347 -#: appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "Generate Geometry" @@ -7285,7 +7279,7 @@ msgstr "Generate CNC Code with auto-levelled paths." msgid "Opens dialog to save CNC Code file." msgstr "Opens dialog to save CNC Code file." -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "Review CNC Code." @@ -7328,7 +7322,7 @@ msgstr "Align Left" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5431 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5431 #: app_Main.py:5695 msgid "Center" msgstr "Center" @@ -7537,9 +7531,6 @@ msgstr "Circle Steps" #: appGUI/preferences/excellon/ExcellonGenPrefGroupUI.py:63 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:55 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:64 -#| msgid "" -#| "The number of circle steps for Gerber \n" -#| "circular aperture linear approximation." msgid "" "The number of circle steps for \n" "linear approximation of circles." @@ -7574,7 +7565,7 @@ msgstr "" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 #: appObjects/FlatCAMObj.py:843 appPlugins/ToolLevelling.py:2219 -#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "Feedrate" @@ -7633,7 +7624,7 @@ msgstr "Travel Line Color" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 -#: appPlugins/ToolRulesCheck.py:1324 +#: appPlugins/ToolRulesCheck.py:1385 appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "Outline" @@ -8301,7 +8292,7 @@ msgstr "Orientation" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 -#: appPlugins/ToolFilm.py:1647 +#: appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -8314,14 +8305,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 -#: appPlugins/ToolFilm.py:1651 app_Main.py:8435 +#: appPlugins/ToolFilm.py:1647 app_Main.py:8435 msgid "Portrait" msgstr "Portrait" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 -#: appPlugins/ToolFilm.py:1652 app_Main.py:8437 +#: appPlugins/ToolFilm.py:1648 app_Main.py:8437 msgid "Landscape" msgstr "Landscape" @@ -8341,7 +8332,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 -#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "Axis" @@ -9600,7 +9591,7 @@ msgid "Minimal" msgstr "Minimal" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "Box Type" @@ -9709,7 +9700,7 @@ msgstr "Bounding box margin for robber bar." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "Thickness" @@ -9755,7 +9746,7 @@ msgstr "Choose which additional geometry to include, if available." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "Both" @@ -9779,9 +9770,9 @@ msgstr "Calibration Plugin" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "Parameters used for this tool." @@ -9856,23 +9847,23 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:956 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5692 +#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:994 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5692 msgid "Top Left" msgstr "Top Left" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:968 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5693 +#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:1006 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5693 msgid "Bottom Right" msgstr "Bottom Right" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 -#: appPlugins/ToolSolderPaste.py:1407 +#: appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "Tool change" @@ -10166,7 +10157,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 -#: appPlugins/ToolCorners.py:895 appPlugins/ToolFiducials.py:1035 +#: appPlugins/ToolCorners.py:933 appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "Cross" @@ -10181,14 +10172,14 @@ msgid "Line thickness" msgstr "Line thickness" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 -#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:1073 +#: appPlugins/ToolCorners.py:1040 appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "Auto" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 -#: appPlugins/ToolCorners.py:1003 appPlugins/ToolCutOut.py:2520 +#: appPlugins/ToolCorners.py:1041 appPlugins/ToolCutOut.py:2520 #: appPlugins/ToolDblSided.py:1053 appPlugins/ToolFiducials.py:1074 #: appPlugins/ToolLevelling.py:1918 appPlugins/ToolPunchGerber.py:2309 msgid "Manual" @@ -10196,7 +10187,7 @@ msgstr "Manual" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 -#: appPlugins/ToolCorners.py:995 appPlugins/ToolLevelling.py:1911 +#: appPlugins/ToolCorners.py:1033 appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "Mode" @@ -10396,7 +10387,7 @@ msgstr "Add here the text to be included in the QRCode..." #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 -#: appPlugins/ToolFilm.py:1529 appPlugins/ToolQRCode.py:897 +#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "Polarity" @@ -10413,13 +10404,13 @@ msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 -#: appPlugins/ToolFilm.py:1527 appPlugins/ToolQRCode.py:903 +#: appPlugins/ToolFilm.py:1524 appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "Negative" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 -#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:904 +#: appPlugins/ToolFilm.py:1523 appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "Positive" @@ -10479,12 +10470,12 @@ msgstr "" "of Manufacturing Rules." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "Trace Size" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "This checks if the minimum size for traces is met." @@ -10498,27 +10489,22 @@ msgstr "This checks if the minimum size for traces is met." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "Min value" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "Minimum acceptable trace size." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "Copper to Copper clearance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10533,22 +10519,22 @@ msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "Minimum acceptable clearance value." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "Copper to Outline clearance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." @@ -10557,12 +10543,12 @@ msgstr "" "features and the outline is met." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "Silk to Silk Clearance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." @@ -10571,13 +10557,13 @@ msgstr "" "features and silkscreen features is met." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "Silk to Solder Mask Clearance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -10586,14 +10572,14 @@ msgstr "" "features and soldermask features is met." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "Silk to Outline Clearance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -10602,13 +10588,13 @@ msgstr "" "features and the outline is met." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "Minimum Solder Mask Sliver" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -10617,14 +10603,14 @@ msgstr "" "features and soldermask features is met." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "Minimum Annular Ring" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -10633,17 +10619,17 @@ msgstr "" "a hole into a pad is met." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "Minimum acceptable ring value." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "Hole to Hole Clearance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." @@ -10652,17 +10638,17 @@ msgstr "" "and another drill hole is met." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "Minimum acceptable drill size." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "Hole Size" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -10690,7 +10676,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 -#: appPlugins/ToolCorners.py:1040 appPlugins/ToolCutOut.py:2699 +#: appPlugins/ToolCorners.py:1078 appPlugins/ToolCutOut.py:2699 #: appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "Drill Dia" @@ -10884,27 +10870,27 @@ msgid "Corner Markers Options" msgstr "Corner Markers Options" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 -#: appPlugins/ToolCorners.py:890 +#: appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "Shape of the marker." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 -#: appPlugins/ToolCorners.py:894 +#: appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "Semi-Cross" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appPlugins/ToolCorners.py:904 +#: appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "The thickness of the line that makes the corner marker." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 -#: appPlugins/ToolCorners.py:918 +#: appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "The length of the line that makes the corner marker." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 -#: appPlugins/ToolCorners.py:1042 +#: appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "Drill Diameter" @@ -11073,7 +11059,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "Forward" @@ -11083,7 +11069,7 @@ msgstr "Forward" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "Reverse" @@ -11175,7 +11161,7 @@ msgstr "Number of time units for spindle to dwell." #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "Preprocessor" @@ -11407,17 +11393,17 @@ msgid "Film Plugin" msgstr "Film Plugin" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 -#: appPlugins/ToolFilm.py:1308 +#: appPlugins/ToolFilm.py:1307 msgid "Adjustments" msgstr "Adjustments" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 -#: appPlugins/ToolFilm.py:1310 +#: appPlugins/ToolFilm.py:1309 msgid "Compensate print distortions." msgstr "Compensate print distortions." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 -#: appPlugins/ToolFilm.py:1325 +#: appPlugins/ToolFilm.py:1323 msgid "" "A value greater than 1 will compact the film\n" "while a value less than 1 will jolt it." @@ -11427,31 +11413,31 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 -#: appPlugins/ToolFilm.py:1358 appPlugins/ToolFilm.py:1419 +#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 msgid "The reference point to be used as origin for the adjustment." msgstr "The reference point to be used as origin for the adjustment." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCorners.py:964 appPlugins/ToolFiducials.py:898 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5691 +#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:898 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5691 msgid "Bottom Left" msgstr "Bottom Left" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "Top right" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 -#: appPlugins/ToolFilm.py:1384 appPlugins/ToolTransform.py:726 +#: appPlugins/ToolFilm.py:1382 appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "Skew" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 -#: appPlugins/ToolFilm.py:1386 +#: appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -11460,12 +11446,12 @@ msgstr "" "while negative values will skew to the left." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 -#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "Mirror" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 -#: appPlugins/ToolFilm.py:1447 appPlugins/ToolFilm.py:1462 +#: appPlugins/ToolFilm.py:1445 appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "Mirror the film geometry on the selected axis or on both." @@ -11478,7 +11464,7 @@ msgstr "" "The file is saved in SVG format." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 -#: appPlugins/ToolFilm.py:1491 +#: appPlugins/ToolFilm.py:1488 msgid "" "Create a convex shape surrounding the entire PCB.\n" "If not checked the shape is rectangular." @@ -11487,7 +11473,7 @@ msgstr "" "If not checked the shape is rectangular." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 -#: appPlugins/ToolFilm.py:1531 +#: appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "Generate a Positive black film or a Negative film." @@ -11500,12 +11486,12 @@ msgid "Set the film color when positive film is selected." msgstr "Set the film color when positive film is selected." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 -#: appPlugins/ToolFilm.py:1542 +#: appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "Border" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 -#: appPlugins/ToolFilm.py:1544 +#: appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11526,12 +11512,12 @@ msgstr "" "surroundings if not for this border." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 -#: appPlugins/ToolFilm.py:1516 +#: appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "Scale Stroke" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 -#: appPlugins/ToolFilm.py:1518 +#: appPlugins/ToolFilm.py:1515 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 " @@ -11544,27 +11530,27 @@ msgstr "" "therefore the fine features may be more affected by this parameter." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 -#: appPlugins/ToolFilm.py:1637 +#: appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "SVG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 -#: appPlugins/ToolFilm.py:1638 +#: appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "PNG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 -#: appPlugins/ToolFilm.py:1639 +#: appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "PDF" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 -#: appPlugins/ToolFilm.py:1628 +#: appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "Film Type" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 -#: appPlugins/ToolFilm.py:1630 +#: appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11577,22 +11563,22 @@ msgstr "" "- 'PDF' -> portable document format" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Page Orientation" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Page Size" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "A selection of standard ISO 216 page sizes." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "Default value is 96 DPI. Change this value to scale the PNG file." @@ -12338,7 +12324,7 @@ msgid "New Nozzle Dia" msgstr "New Nozzle Dia" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Diameter for the new tool to add in the Tool Table" @@ -12347,17 +12333,17 @@ msgid "Z Dispense Start" msgstr "Z Dispense Start" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "The height (Z) when solder paste dispensing starts." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Z Dispense" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "The height (Z) when doing solder paste dispensing." @@ -12366,7 +12352,7 @@ msgid "Z Dispense Stop" msgstr "Z Dispense Stop" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "The height (Z) when solder paste dispensing stops." @@ -12375,7 +12361,7 @@ msgid "Z Travel" msgstr "Z Travel" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12388,12 +12374,12 @@ msgid "Z Toolchange" msgstr "Z Toolchange" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "The height (Z) for tool (nozzle) change." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12402,12 +12388,12 @@ msgstr "" "The format is (x, y) where x and y are real numbers." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Feedrate (speed) while moving on the X-Y plane." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12420,7 +12406,7 @@ msgid "Feedrate Z Dispense" msgstr "Feedrate Z Dispense" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12433,7 +12419,7 @@ msgid "Spindle Speed FWD" msgstr "Spindle Speed FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12446,7 +12432,7 @@ msgid "Dwell FWD" msgstr "Dwell FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Pause after solder dispensing." @@ -12455,7 +12441,7 @@ msgid "Spindle Speed REV" msgstr "Spindle Speed REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12468,7 +12454,7 @@ msgid "Dwell REV" msgstr "Dwell REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12477,7 +12463,7 @@ msgstr "" "to allow pressure equilibrium." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "Files that control the GCode generation." @@ -13198,7 +13184,7 @@ msgid "Click on the START point." msgstr "Click on the START point." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Cancelled by user request." @@ -13301,34 +13287,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Reset Tool" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Will reset the tool parameters." @@ -13871,9 +13857,9 @@ msgid "Squares grid fill selected." msgstr "Squares grid fill selected." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -13973,7 +13959,7 @@ msgid "Copper Thieving Tool exit." msgstr "Copper Thieving Tool exit." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14086,53 +14072,54 @@ msgstr "" msgid "Corners" msgstr "Corners" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 msgid "Click to add next marker or right click to finish." msgstr "Click to add next marker or right click to finish." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Please select at least a location" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "The tool diameter is zero." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "Excellon object with corner drills created." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "A Gerber object with corner markers was created." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 msgid "Added marker" msgstr "Added marker" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "The Gerber object to which will be added corner markers." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Locations" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Locations where to place corner markers." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "Top Right" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "Toggle ALL" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." @@ -14140,32 +14127,32 @@ msgstr "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Add Marker" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Will add corner markers to the selected Gerber file." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 msgid "Drills in Locations" msgstr "Drills in Locations" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Create Excellon Object" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Will add drill holes in the center of the markers." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 msgid "Check in Locations" msgstr "Check in Locations" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -14453,29 +14440,22 @@ msgid "Generate the cutout geometry." msgstr "Generate the cutout geometry." #: appPlugins/ToolDblSided.py:299 -#| msgid "" -#| "'Point' reference is selected and 'Point' coordinates are missing. Add " -#| "them and retry." msgid "'Point' reference is selected and 'Point' coordinates are missing." msgstr "'Point' reference is selected and 'Point' coordinates are missing." #: appPlugins/ToolDblSided.py:308 -#| msgid "The reference object type is not supported." msgid "Box reference object is missing." msgstr "Box reference object is missing." #: appPlugins/ToolDblSided.py:316 -#| msgid "Geometry not supported" msgid "Not supported." msgstr "Not supported." #: appPlugins/ToolDblSided.py:322 -#| msgid "Drill Diameter" msgid "Drill diameter is missing." msgstr "Drill diameter is missing." #: appPlugins/ToolDblSided.py:329 -#| msgid "Alignment Drill Coordinates" msgid "Alignment drill coordinates are missing." msgstr "Alignment drill coordinates are missing." @@ -15398,7 +15378,7 @@ msgstr "" msgid "Film file exported to" msgstr "Film file exported to" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -15410,7 +15390,7 @@ msgstr "" "The selection here decide the type of objects that will be\n" "in the Film Object combobox." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -15422,11 +15402,11 @@ msgstr "" "the type of objects that will be\n" "in the Box Object combobox." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Punch drill holes" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -15436,11 +15416,11 @@ msgstr "" "the generated film is positive. This is done to help drilling,\n" "when done manually." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "Source" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -15450,29 +15430,29 @@ msgstr "" "- Excellon -> an Excellon holes center will serve as reference.\n" "- Pad Center -> will try to use the pads center as reference." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Pad center" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "" "Remove the geometry of Excellon from the Film to create the holes in pads." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Punch Size" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "The value here will control how big is the punch hole in the pads." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Save Film" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -15484,7 +15464,7 @@ msgstr "" " FlatCAM object, but directly save it in the\n" "selected format." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -15857,7 +15837,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -16670,6 +16650,10 @@ msgstr "Optimal Tool. Finding the minimum distance." msgid "Optimal Tool. Finished successfully." msgstr "Optimal Tool. Finished successfully." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Number of decimals kept for found distances." @@ -17062,7 +17046,7 @@ msgstr "Constrain panel within" msgid "Panelize Object" msgstr "Panelize Object" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -17378,27 +17362,27 @@ msgstr "Multi-Geo" msgid "Metric" msgstr "Metric" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Check Rules" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "Value is not valid." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "TOP -> Copper to Copper clearance" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "BOTTOM -> Copper to Copper clearance" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -17406,13 +17390,13 @@ msgstr "" "At least one Gerber object has to be selected for this rule but none is " "selected." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" "One of the copper Gerber objects or the Outline Gerber object is not valid." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -17420,31 +17404,31 @@ msgstr "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "Silk to Silk clearance" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "TOP -> Silk to Silk clearance" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "BOTTOM -> Silk to Silk clearance" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "One or more of the Gerber objects is not valid." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "TOP -> Silk to Solder Mask Clearance" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "BOTTOM -> Silk to Solder Mask Clearance" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -17452,112 +17436,123 @@ msgstr "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "TOP -> Minimum Solder Mask Sliver" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "BOTTOM -> Minimum Solder Mask Sliver" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "One of the Copper Gerber objects or the Excellon objects is not valid." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "Excellon object presence is mandatory for this rule but none is selected." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "STATUS" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "FAILED" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "PASSED" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "Violations: There are no violations for the current rule." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Gerber objects for which to check rules." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#| msgid "Copper Area" +msgid "Copper" +msgstr "Copper" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#| msgid "All Rules" +msgid "Rules" +msgstr "Rules" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#| msgid "Silk Top" +msgid "Silk" +msgstr "Silk" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Soldermask" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Holes" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Top" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "The Top Gerber Copper object for which rules are checked." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Bottom" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#| msgid "S" +msgid "SM" +msgstr "SM" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "The Bottom Gerber Copper object for which rules are checked." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "SM Top" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "The Top Gerber Solder Mask object for which rules are checked." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "SM Bottom" - -#: appPlugins/ToolRulesCheck.py:1272 -msgid "The Bottom Gerber Solder Mask object for which rules are checked." -msgstr "The Bottom Gerber Solder Mask object for which rules are checked." - -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Silk Top" - -#: appPlugins/ToolRulesCheck.py:1290 +#: appPlugins/ToolRulesCheck.py:1307 msgid "The Top Gerber Silkscreen object for which rules are checked." msgstr "The Top Gerber Silkscreen object for which rules are checked." -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Silk Bottom" +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Bottom" -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "The Bottom Gerber Copper object for which rules are checked." + +#: appPlugins/ToolRulesCheck.py:1355 +msgid "The Bottom Gerber Solder Mask object for which rules are checked." +msgstr "The Bottom Gerber Solder Mask object for which rules are checked." + +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "The Bottom Gerber Silkscreen object for which rules are checked." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "The Gerber Outline (Cutout) object for which rules are checked." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Excellon objects for which to check rules." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -17565,11 +17560,7 @@ msgstr "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -17577,15 +17568,7 @@ msgstr "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "All Rules" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "This check/uncheck all the rules below." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Run Rules Check" @@ -17678,7 +17661,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Gerber Solderpaste object." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -17686,29 +17669,29 @@ msgstr "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." +#: appPlugins/ToolSolderPaste.py:1274 +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 "" +"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." + #: appPlugins/ToolSolderPaste.py:1281 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 "" -"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." - -#: appPlugins/ToolSolderPaste.py:1288 -msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." msgstr "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -17716,27 +17699,27 @@ msgstr "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 msgid "Dispense" msgstr "Dispense" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 msgid "Z Start" msgstr "Z Start" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 msgid "Z Action" msgstr "Z Action" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 msgid "Z Stop" msgstr "Z Stop" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Generate solder paste dispensing geometry." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -17746,15 +17729,15 @@ msgstr "" "The name of the object has to end in:\n" "'_solderpaste' as a protection." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 msgid "CNCJob" msgstr "CNCJob" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "Generate CNCJob" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -17762,7 +17745,7 @@ msgstr "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -17774,11 +17757,11 @@ msgstr "" "the name of the object has to end in:\n" "'_solderpaste' as a protection." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "Save GCode" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -17875,6 +17858,10 @@ msgstr "" "Can be used to remove the overlapping silkscreen\n" "over the soldermask." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "GEOMETRY" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -19396,6 +19383,30 @@ msgstr "Origin set by offsetting all loaded objects with " msgid "No Geometry name in args. Provide a name and try again." msgstr "No Geometry name in args. Provide a name and try again." +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Gerber objects for which to check rules." + +#~ msgid "SM Top" +#~ msgstr "SM Top" + +#~ msgid "SM Bottom" +#~ msgstr "SM Bottom" + +#~ msgid "Silk Bottom" +#~ msgstr "Silk Bottom" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "This check/uncheck all the rules below." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -19627,9 +19638,6 @@ msgstr "No Geometry name in args. Provide a name and try again." #~ msgid "Fiducials Coordinates" #~ msgstr "Fiducials Coordinates" -#~ msgid "Soldermask Gerber" -#~ msgstr "Soldermask Gerber" - #~ msgid "The Soldermask Gerber object." #~ msgstr "The Soldermask Gerber object." diff --git a/locale/es/LC_MESSAGES/strings.mo b/locale/es/LC_MESSAGES/strings.mo index e26e311e648a019785d923768d253dc41c61b47a..1659c3f7b7f100788fbeadfcdcdc27557424332a 100644 GIT binary patch delta 63901 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 delta 64397 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 diff --git a/locale/es/LC_MESSAGES/strings.po b/locale/es/LC_MESSAGES/strings.po index bb14f5ba..5e98d700 100644 --- a/locale/es/LC_MESSAGES/strings.po +++ b/locale/es/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2021-10-04 20:55+0300\n" -"PO-Revision-Date: 2021-10-04 20:55+0300\n" +"POT-Creation-Date: 2021-10-05 02:55+0300\n" +"PO-Revision-Date: 2021-10-05 02:55+0300\n" "Last-Translator: Marius Stanciu - Google Translate\n" "Language-Team: \n" "Language: es\n" @@ -117,8 +117,8 @@ msgstr "Marcadores" #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 #: appGUI/MainGUI.py:3642 appGUI/MainGUI.py:3872 -#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 +#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 #: appPlugins/ToolFilm.py:407 appPlugins/ToolFilm.py:546 #: appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 @@ -321,7 +321,7 @@ msgstr "Objetivo" #: appPlugins/ToolMilling.py:3656 appPlugins/ToolNCC.py:4146 #: appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "Diámetro" @@ -609,7 +609,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 #: appPlugins/ToolCalibration.py:794 appPlugins/ToolDrilling.py:1559 #: appPlugins/ToolDrilling.py:2459 appPlugins/ToolMilling.py:3247 -#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "Viaje Z" @@ -711,7 +711,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 #: appPlugins/ToolDrilling.py:1573 appPlugins/ToolDrilling.py:2515 #: appPlugins/ToolMilling.py:3265 appPlugins/ToolMilling.py:4284 -#: appPlugins/ToolSolderPaste.py:1509 appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolSolderPaste.py:1502 appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "Eje de velocidad" @@ -726,8 +726,8 @@ msgstr "" "La velocidad del husillo en RPM." #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "Habitar" @@ -867,7 +867,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 #: appPlugins/ToolCutOut.py:2725 appPlugins/ToolExtract.py:1351 #: appPlugins/ToolFiducials.py:992 appPlugins/ToolInvertGerber.py:269 #: appPlugins/ToolInvertGerber.py:277 appPlugins/ToolMilling.py:4039 @@ -881,7 +881,7 @@ msgstr "Margen" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 -#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:931 +#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:969 #: appPlugins/ToolFiducials.py:994 appPlugins/ToolMilling.py:4041 #: appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." @@ -1351,7 +1351,7 @@ msgstr "El espacio entre los taladros al hacer 'mouse bites'." #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 -#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "Forma convexa" @@ -1473,8 +1473,8 @@ msgstr "Cancelar" #: appPlugins/ToolAlignObjects.py:584 appPlugins/ToolCalculators.py:1068 #: appPlugins/ToolCalculators.py:1079 appPlugins/ToolCalibration.py:1420 #: appPlugins/ToolCalibration.py:1431 appPlugins/ToolCopperThieving.py:1807 -#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1113 -#: appPlugins/ToolCorners.py:1124 appPlugins/ToolCutOut.py:2796 +#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1151 +#: appPlugins/ToolCorners.py:1162 appPlugins/ToolCutOut.py:2796 #: appPlugins/ToolCutOut.py:2807 appPlugins/ToolDblSided.py:1147 #: appPlugins/ToolDblSided.py:1158 appPlugins/ToolDistance.py:708 #: appPlugins/ToolDistance.py:719 appPlugins/ToolDistanceMin.py:398 @@ -1482,8 +1482,8 @@ msgstr "Cancelar" #: appPlugins/ToolDrilling.py:2931 appPlugins/ToolEtchCompensation.py:531 #: appPlugins/ToolEtchCompensation.py:542 appPlugins/ToolExtract.py:1421 #: appPlugins/ToolExtract.py:1432 appPlugins/ToolFiducials.py:1137 -#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1832 -#: appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 #: appPlugins/ToolImage.py:376 appPlugins/ToolInvertGerber.py:338 #: appPlugins/ToolInvertGerber.py:349 appPlugins/ToolIsolation.py:3713 @@ -1496,9 +1496,9 @@ msgstr "Cancelar" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 #: appPlugins/ToolSub.py:999 appPlugins/ToolTransform.py:1071 #: appPlugins/ToolTransform.py:1082 appTool.py:300 appTool.py:311 msgid "Edited value is out of range" @@ -1511,8 +1511,8 @@ msgstr "El valor editado está fuera de rango" #: appPlugins/ToolAlignObjects.py:586 appPlugins/ToolCalculators.py:1074 #: appPlugins/ToolCalculators.py:1081 appPlugins/ToolCalibration.py:1426 #: appPlugins/ToolCalibration.py:1433 appPlugins/ToolCopperThieving.py:1813 -#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1119 -#: appPlugins/ToolCorners.py:1126 appPlugins/ToolCutOut.py:2802 +#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1157 +#: appPlugins/ToolCorners.py:1164 appPlugins/ToolCutOut.py:2802 #: appPlugins/ToolCutOut.py:2809 appPlugins/ToolDblSided.py:1153 #: appPlugins/ToolDblSided.py:1160 appPlugins/ToolDistance.py:714 #: appPlugins/ToolDistance.py:721 appPlugins/ToolDistanceMin.py:404 @@ -1520,8 +1520,8 @@ msgstr "El valor editado está fuera de rango" #: appPlugins/ToolDrilling.py:2933 appPlugins/ToolEtchCompensation.py:537 #: appPlugins/ToolEtchCompensation.py:544 appPlugins/ToolExtract.py:1427 #: appPlugins/ToolExtract.py:1434 appPlugins/ToolFiducials.py:1143 -#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1838 -#: appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1833 +#: appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 #: appPlugins/ToolImage.py:378 appPlugins/ToolInvertGerber.py:344 #: appPlugins/ToolInvertGerber.py:351 appPlugins/ToolIsolation.py:3719 @@ -1534,9 +1534,9 @@ msgstr "El valor editado está fuera de rango" #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 #: appPlugins/ToolSub.py:1001 appPlugins/ToolTransform.py:1077 #: appPlugins/ToolTransform.py:1084 appTool.py:306 appTool.py:313 msgid "Edited value is within limits." @@ -1750,9 +1750,9 @@ msgstr "Demasiados elementos para el ángulo de separación seleccionado." #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 -#: appPlugins/ToolCorners.py:698 appPlugins/ToolCutOut.py:856 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 +#: appPlugins/ToolCorners.py:736 appPlugins/ToolCutOut.py:856 #: appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 #: appPlugins/ToolCutOut.py:1412 appPlugins/ToolCutOut.py:1430 @@ -1953,7 +1953,7 @@ msgstr "Excellon Editor" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 -#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:834 +#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:872 #: appPlugins/ToolCutOut.py:2215 appPlugins/ToolDblSided.py:695 #: appPlugins/ToolDrilling.py:2285 appPlugins/ToolFiducials.py:832 #: appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 @@ -1978,7 +1978,7 @@ msgstr "Nombre:" #: appGUI/ObjectUI.py:1435 appPlugins/ToolDrilling.py:2326 #: appPlugins/ToolIsolation.py:3189 appPlugins/ToolMilling.py:3626 #: appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "Tabla de herramientas" @@ -2096,10 +2096,10 @@ msgstr "Agregar una matriz de taladros (lineal o circular)" #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 #: appPlugins/ToolNCC.py:4558 appPlugins/ToolPaint.py:2965 #: appPlugins/ToolPaint.py:3304 appPlugins/ToolPunchGerber.py:2089 @@ -2176,7 +2176,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1456 +#: appPlugins/ToolFilm.py:1454 msgid "X" msgstr "X" @@ -2189,7 +2189,7 @@ msgstr "X" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 -#: appPlugins/ToolFilm.py:1457 +#: appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "Y" @@ -2303,7 +2303,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 -#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:916 +#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:954 #: appPlugins/ToolReport.py:604 msgid "Length" msgstr "Longitud" @@ -2605,7 +2605,7 @@ msgstr "Sesgo / cizalla" #: appGUI/MainGUI.py:5325 appGUI/ObjectUI.py:121 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 -#: appPlugins/ToolFilm.py:1323 appPlugins/ToolTransform.py:575 +#: appPlugins/ToolFilm.py:1321 appPlugins/ToolTransform.py:575 #: appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "Escala" @@ -2630,7 +2630,7 @@ msgstr "Buffer" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 #: appPlugins/ToolDblSided.py:871 appPlugins/ToolDblSided.py:1062 -#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "Referencia" @@ -2669,7 +2669,7 @@ msgstr "Origen" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 -#: appPlugins/ToolCorners.py:984 appPlugins/ToolFiducials.py:1061 +#: appPlugins/ToolCorners.py:1022 appPlugins/ToolFiducials.py:1061 #: appPlugins/ToolFollow.py:737 appPlugins/ToolIsolation.py:3573 #: appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 @@ -2697,6 +2697,11 @@ msgstr "Mínimo" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 #: appPlugins/ToolExtract.py:1236 appPlugins/ToolExtract.py:1265 #: appPlugins/ToolPunchGerber.py:2168 appPlugins/ToolPunchGerber.py:2276 +#: appPlugins/ToolRulesCheck.py:1494 appPlugins/ToolRulesCheck.py:1518 +#: appPlugins/ToolRulesCheck.py:1543 appPlugins/ToolRulesCheck.py:1568 +#: appPlugins/ToolRulesCheck.py:1605 appPlugins/ToolRulesCheck.py:1630 +#: appPlugins/ToolRulesCheck.py:1655 appPlugins/ToolRulesCheck.py:1693 +#: appPlugins/ToolRulesCheck.py:1730 appPlugins/ToolRulesCheck.py:1755 #: appPlugins/ToolTransform.py:630 appPlugins/ToolTransform.py:995 #: app_Main.py:8905 msgid "Value" @@ -2757,7 +2762,7 @@ msgstr "Enlace la entrada Y a la entrada X y copie su contenido." #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 -#: appPlugins/ToolFilm.py:1397 appPlugins/ToolTransform.py:746 +#: appPlugins/ToolFilm.py:1395 appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "Ángulo X" @@ -2791,7 +2796,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1407 appPlugins/ToolTransform.py:767 +#: appPlugins/ToolFilm.py:1405 appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "Ángulo Y" @@ -2803,7 +2808,7 @@ msgstr "Inclinar Y" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 -#: appPlugins/ToolFilm.py:1336 appPlugins/ToolTransform.py:815 +#: appPlugins/ToolFilm.py:1334 appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "Factor X" @@ -2833,7 +2838,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 -#: appPlugins/ToolFilm.py:1346 appPlugins/ToolTransform.py:835 +#: appPlugins/ToolFilm.py:1344 appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "Factor Y" @@ -2916,7 +2921,7 @@ msgstr "Offset Y" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 -#: appPlugins/ToolFilm.py:1500 appPlugins/ToolInvertGerber.py:291 +#: appPlugins/ToolFilm.py:1497 appPlugins/ToolInvertGerber.py:291 #: appPlugins/ToolQRCode.py:920 appPlugins/ToolTransform.py:954 msgid "Rounded" msgstr "Redondeado" @@ -3376,12 +3381,12 @@ msgstr "Selección de polígono" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 #: appPlugins/ToolSub.py:814 appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "Parámetros" @@ -3567,7 +3572,7 @@ msgstr "Haga clic en el punto de destino." #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "Trabajando..." @@ -3864,7 +3869,7 @@ msgstr "Coordenadas copiadas al portapapeles." #: appObjects/FlatCAMGerber.py:1002 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 #: appPlugins/ToolMove.py:235 appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "Trazado" @@ -4482,6 +4487,7 @@ msgstr "Del" #: appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "Seleccionar todo" @@ -4711,22 +4717,22 @@ msgstr "Creará un nuevo proyecto en blanco" msgid "New" msgstr "Nueva" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 -#: appPlugins/ToolFilm.py:1280 appPlugins/ToolImage.py:175 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 +#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:175 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:150 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolSolderPaste.py:1589 appPlugins/ToolSub.py:899 +#: appPlugins/ToolSolderPaste.py:1582 appPlugins/ToolSub.py:899 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "Geometría" @@ -4740,7 +4746,7 @@ msgstr "N" msgid "Will create a new, empty Geometry Object." msgstr "Creará un nuevo objeto vacío de geometría." -#: appGUI/MainGUI.py:107 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 @@ -4750,16 +4756,16 @@ msgstr "Creará un nuevo objeto vacío de geometría." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 #: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 -#: appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 +#: appPlugins/ToolFilm.py:1255 appPlugins/ToolFilm.py:1278 #: appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:144 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 -#: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 -#: defaults.py:593 +#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolRulesCheck.py:1209 +#: appPlugins/ToolSub.py:834 appPlugins/ToolTransform.py:160 +#: appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "Gerber" @@ -4772,7 +4778,7 @@ msgstr "B" msgid "Will create a new, empty Gerber Object." msgstr "Creará un nuevo objeto vacío de Gerber." -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4782,11 +4788,12 @@ msgstr "Creará un nuevo objeto vacío de Gerber." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 #: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 -#: appPlugins/ToolFilm.py:1583 appPlugins/ToolIsolation.py:3594 +#: appPlugins/ToolFilm.py:1580 appPlugins/ToolIsolation.py:3594 #: appPlugins/ToolMilling.py:3595 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "Excellon" @@ -4893,7 +4900,7 @@ msgstr "DXF como objeto de Gerber" msgid "HPGL2 as Geometry Object" msgstr "HPGL2 como objeto de geometría" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "Exportar" @@ -5819,7 +5826,7 @@ msgid "Copper Thieving" msgstr "Herramienta Thieving Tool" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 #, fuzzy #| msgid "Corner Markers Tool" msgid "Corner Markers" @@ -5977,19 +5984,6 @@ msgstr "TCL Shell" msgid "Plot Area" msgstr "Área de la parcela" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 -#: appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "GERBER" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "EXCELLON" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "GEOMETRÍA" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "CNC-JOB" @@ -6217,7 +6211,7 @@ msgstr "" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 #: appPlugins/ToolNCC.py:1375 appPlugins/ToolPaint.py:664 -#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1291 +#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1284 #: app_Main.py:4995 msgid "New Tool" msgstr "Nueva Herram" @@ -6614,7 +6608,7 @@ msgstr "Abrir tutoriales en online" msgid "Refresh Plots" msgstr "Actualizar parcelas" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "Eliminar objeto" @@ -7082,14 +7076,14 @@ msgstr "" #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 -#: appPlugins/ToolFilm.py:1502 +#: appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "La geometría resultante tendrá esquinas redondeadas." #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 #: appPlugins/ToolNCC.py:4610 appPlugins/ToolPaint.py:3347 -#: appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "Generar Geometría" @@ -7497,7 +7491,7 @@ msgstr "" "Abre el diálogo para guardar el código G\n" "expediente." -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "Revise el código CNC." @@ -7544,7 +7538,7 @@ msgstr "Alinear a la izquierda" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5431 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5431 #: app_Main.py:5695 msgid "Center" msgstr "Centrar" @@ -7797,7 +7791,7 @@ msgstr "" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 #: appObjects/FlatCAMObj.py:843 appPlugins/ToolLevelling.py:2219 -#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "Avance" @@ -7856,7 +7850,7 @@ msgstr "Color de Línea de Viaje" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 -#: appPlugins/ToolRulesCheck.py:1324 +#: appPlugins/ToolRulesCheck.py:1385 appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "Contorno" @@ -8537,7 +8531,7 @@ msgstr "Orientación" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 -#: appPlugins/ToolFilm.py:1647 +#: appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -8550,14 +8544,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 -#: appPlugins/ToolFilm.py:1651 app_Main.py:8435 +#: appPlugins/ToolFilm.py:1647 app_Main.py:8435 msgid "Portrait" msgstr "Retrato" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 -#: appPlugins/ToolFilm.py:1652 app_Main.py:8437 +#: appPlugins/ToolFilm.py:1648 app_Main.py:8437 msgid "Landscape" msgstr "Paisaje" @@ -8578,7 +8572,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 -#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "Eje" @@ -9893,7 +9887,7 @@ msgid "Minimal" msgstr "Mínimo" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "Tipo de caja" @@ -10004,7 +9998,7 @@ msgstr "Margen límite del recinto para Robber Bar." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "Espesor" @@ -10050,7 +10044,7 @@ msgstr "Elija qué geometría adicional incluir, si está disponible." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "Ambas" @@ -10076,9 +10070,9 @@ msgstr "Puntos de calibración" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "Parámetros utilizados para esta herramienta." @@ -10155,23 +10149,23 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:956 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5692 +#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:994 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5692 msgid "Top Left" msgstr "Arriba a la izquierda" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:968 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5693 +#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:1006 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5693 msgid "Bottom Right" msgstr "Abajo a la derecha" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 -#: appPlugins/ToolSolderPaste.py:1407 +#: appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "Cambio de herram" @@ -10480,7 +10474,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 -#: appPlugins/ToolCorners.py:895 appPlugins/ToolFiducials.py:1035 +#: appPlugins/ToolCorners.py:933 appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "Cruce" @@ -10495,14 +10489,14 @@ msgid "Line thickness" msgstr "Grosor de la línea" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 -#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:1073 +#: appPlugins/ToolCorners.py:1040 appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "Auto" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 -#: appPlugins/ToolCorners.py:1003 appPlugins/ToolCutOut.py:2520 +#: appPlugins/ToolCorners.py:1041 appPlugins/ToolCutOut.py:2520 #: appPlugins/ToolDblSided.py:1053 appPlugins/ToolFiducials.py:1074 #: appPlugins/ToolLevelling.py:1918 appPlugins/ToolPunchGerber.py:2309 msgid "Manual" @@ -10510,7 +10504,7 @@ msgstr "Manual" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 -#: appPlugins/ToolCorners.py:995 appPlugins/ToolLevelling.py:1911 +#: appPlugins/ToolCorners.py:1033 appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "Modo" @@ -10719,7 +10713,7 @@ msgstr "Agregue aquí el texto que se incluirá en el QRCode ..." #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 -#: appPlugins/ToolFilm.py:1529 appPlugins/ToolQRCode.py:897 +#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "Polaridad" @@ -10736,13 +10730,13 @@ msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 -#: appPlugins/ToolFilm.py:1527 appPlugins/ToolQRCode.py:903 +#: appPlugins/ToolFilm.py:1524 appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "Negativa" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 -#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:904 +#: appPlugins/ToolFilm.py:1523 appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "Positivo" @@ -10807,12 +10801,12 @@ msgstr "" "de las normas de fabricación." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "Tamaño de traza" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "Esto comprueba si se cumple el tamaño mínimo para las trazas." @@ -10826,27 +10820,22 @@ msgstr "Esto comprueba si se cumple el tamaño mínimo para las trazas." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "Valor mínimo" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "Tamaño de traza mínimo aceptable." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "Distancia de Cobre a Cobre" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10861,22 +10850,22 @@ msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "Valor mínimo de distancia aceptable." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "Distancia de Cobre a Contorno" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." @@ -10885,12 +10874,12 @@ msgstr "" "huellas y el esquema se cumple." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "Distancia de Serigrafía a Serigrafía" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." @@ -10899,13 +10888,13 @@ msgstr "" "huellas y huellas de serigrafía se cumplen." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "Serigrafía para Soldar Máscara Distancia" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -10914,14 +10903,14 @@ msgstr "" "Traces y soldermask traces se cumplen." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "Serigrafía para Contorno Distancia" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -10930,13 +10919,13 @@ msgstr "" "huellas y el contorno se cumple." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "Astilla de máscara de soldadura mínima" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -10945,14 +10934,14 @@ msgstr "" "rastros y rastros de máscara de soldadura se cumplen." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "Anillo anular mínimo" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -10961,17 +10950,17 @@ msgstr "" "Se encuentra un agujero en una almohadilla." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "Valor mínimo aceptable del anillo." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "Distancia entre Agujeros" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." @@ -10980,17 +10969,17 @@ msgstr "" "y se encuentra otro taladro." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "Tamaño mínimo aceptable de perforación." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "Tamaño del Agujero" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -11020,7 +11009,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 -#: appPlugins/ToolCorners.py:1040 appPlugins/ToolCutOut.py:2699 +#: appPlugins/ToolCorners.py:1078 appPlugins/ToolCutOut.py:2699 #: appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "Diá. del Taladro" @@ -11226,27 +11215,27 @@ msgid "Corner Markers Options" msgstr "Opciones de Marca. de Esquina" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 -#: appPlugins/ToolCorners.py:890 +#: appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "Forma del marcador." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 -#: appPlugins/ToolCorners.py:894 +#: appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "Semi-Cruz" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appPlugins/ToolCorners.py:904 +#: appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "El grosor de la línea que hace el marcador de esquina." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 -#: appPlugins/ToolCorners.py:918 +#: appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "La longitud de la línea que hace el marcador de esquina." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 -#: appPlugins/ToolCorners.py:1042 +#: appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "Diá del Taladro" @@ -11440,7 +11429,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "Adelante" @@ -11450,7 +11439,7 @@ msgstr "Adelante" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "Atras" @@ -11542,7 +11531,7 @@ msgstr "Número de unidades de tiempo para que el husillo permanezca." #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "Postprocesador" @@ -11779,21 +11768,21 @@ msgid "Film Plugin" msgstr "plugin_tab" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 -#: appPlugins/ToolFilm.py:1308 +#: appPlugins/ToolFilm.py:1307 #, fuzzy #| msgid "Film Adjustments" msgid "Adjustments" msgstr "Ajustes de la película" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 -#: appPlugins/ToolFilm.py:1310 +#: appPlugins/ToolFilm.py:1309 #, fuzzy #| msgid "Center point coordinates" msgid "Compensate print distortions." msgstr "Coords del punto central" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 -#: appPlugins/ToolFilm.py:1325 +#: appPlugins/ToolFilm.py:1323 #, fuzzy #| msgid "" #| "A value greater than 1 will stretch the film\n" @@ -11807,7 +11796,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 -#: appPlugins/ToolFilm.py:1358 appPlugins/ToolFilm.py:1419 +#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 #, fuzzy #| msgid "" #| "The reference point to be used as origin for the skew.\n" @@ -11819,25 +11808,25 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCorners.py:964 appPlugins/ToolFiducials.py:898 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5691 +#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:898 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5691 msgid "Bottom Left" msgstr "Abajo a la izquierda" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "Arriba a la derecha" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 -#: appPlugins/ToolFilm.py:1384 appPlugins/ToolTransform.py:726 +#: appPlugins/ToolFilm.py:1382 appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "Inclinar" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 -#: appPlugins/ToolFilm.py:1386 +#: appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -11846,12 +11835,12 @@ msgstr "" "mientras que los valores negativos se desviarán a la izquierda." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 -#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "Espejo" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 -#: appPlugins/ToolFilm.py:1447 appPlugins/ToolFilm.py:1462 +#: appPlugins/ToolFilm.py:1445 appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "Refleje la geometría de la película en el eje seleccionado o en ambos." @@ -11864,7 +11853,7 @@ msgstr "" "El archivo se guarda en formato SVG." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 -#: appPlugins/ToolFilm.py:1491 +#: appPlugins/ToolFilm.py:1488 #, fuzzy #| msgid "" #| "Create a convex shape surrounding the entire PCB.\n" @@ -11877,7 +11866,7 @@ msgstr "" "Se usa solo si el tipo de objeto de origen es Gerber." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 -#: appPlugins/ToolFilm.py:1531 +#: appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "" @@ -11891,12 +11880,12 @@ msgstr "" "Establezca el color de la película cuando se selecciona película positiva." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 -#: appPlugins/ToolFilm.py:1542 +#: appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "Frontera" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 -#: appPlugins/ToolFilm.py:1544 +#: appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11917,12 +11906,12 @@ msgstr "" "Entorno si no fuera por esta frontera." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 -#: appPlugins/ToolFilm.py:1516 +#: appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "Trazo de escala" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 -#: appPlugins/ToolFilm.py:1518 +#: appPlugins/ToolFilm.py:1515 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 " @@ -11936,27 +11925,27 @@ msgstr "" "parámetro." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 -#: appPlugins/ToolFilm.py:1637 +#: appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "SVG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 -#: appPlugins/ToolFilm.py:1638 +#: appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "PNG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 -#: appPlugins/ToolFilm.py:1639 +#: appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "PDF" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 -#: appPlugins/ToolFilm.py:1628 +#: appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "Tipo de Filme" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 -#: appPlugins/ToolFilm.py:1630 +#: appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11969,22 +11958,22 @@ msgstr "" "- 'PDF' -> formato de documento portátil" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Orient. de la página" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Tamaño de página" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "Una selección de tamaños de página estándar ISO 216." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" "El valor predeterminado es 96 DPI. Cambie este valor para escalar el archivo " @@ -12764,7 +12753,7 @@ msgid "New Nozzle Dia" msgstr "Nuevo diá de boquilla" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "" "Diámetro de la nueva herramienta para agregar en la tabla de herramientas" @@ -12774,17 +12763,17 @@ msgid "Z Dispense Start" msgstr "Inicio de dispen. Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "La altura (Z) cuando comienza la dispensación de pasta de soldadura." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Dispensación Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "La altura (Z) al dispensar pasta de soldadura." @@ -12793,7 +12782,7 @@ msgid "Z Dispense Stop" msgstr "Parada de dispen. Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "La altura (Z) cuando se detiene la dispensación de pasta de soldadura." @@ -12802,7 +12791,7 @@ msgid "Z Travel" msgstr "Viajar Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12815,12 +12804,12 @@ msgid "Z Toolchange" msgstr "Cambio de herra. Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "La altura (Z) para el cambio de herramienta (boquilla)." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12829,12 +12818,12 @@ msgstr "" "El formato es (x, y) donde x e y son números reales." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Avance (velocidad) mientras se mueve en el plano X-Y." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12847,7 +12836,7 @@ msgid "Feedrate Z Dispense" msgstr "Avance de Dispens. Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12860,7 +12849,7 @@ msgid "Spindle Speed FWD" msgstr "Veloc. del husillo FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12873,7 +12862,7 @@ msgid "Dwell FWD" msgstr "Morar FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Pausa después de la dispensación de soldadura." @@ -12882,7 +12871,7 @@ msgid "Spindle Speed REV" msgstr "Veloc. del husillo REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12895,7 +12884,7 @@ msgid "Dwell REV" msgstr "Morar REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12904,7 +12893,7 @@ msgstr "" "para permitir el equilibrio de presión." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "Archivos que controlan la generación de GCode." @@ -13647,7 +13636,7 @@ msgid "Click on the START point." msgstr "Haga clic en el punto de INICIO." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Cancelado por solicitud del usuario." @@ -13750,34 +13739,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Restablecer la Herramienta" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Restablecerá los parámetros de la herramienta." @@ -14391,9 +14380,9 @@ msgid "Squares grid fill selected." msgstr "Rellenar cuadrícula de cuadrados seleccionados." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -14495,7 +14484,7 @@ msgid "Copper Thieving Tool exit." msgstr "Salida de herramienta de Copper Thieving." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14612,7 +14601,7 @@ msgstr "" msgid "Corners" msgstr "Herramienta de Esquinas" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 #, fuzzy #| msgid "Click to add next polygon or right click to start." msgid "Click to add next marker or right click to finish." @@ -14620,86 +14609,87 @@ msgstr "" "Haga clic para agregar el siguiente polígono o haga clic derecho para " "comenzar." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Seleccione al menos una ubicación" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "El diámetro de la herramienta es cero." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "Objeto Excellon con taladros de esquina creados." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "Se creó un objeto Gerber con marcadores de esquina." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 #, fuzzy #| msgid "Add Marker" msgid "Added marker" msgstr "Agregar Marcador" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "El objeto Gerber al que se agregarán marcadores de esquina." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Localizaciones" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Lugares donde colocar marcadores de esquina." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "Arriba a la derecha" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "Alternar Todo" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." msgstr "" -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Agregar Marcador" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Agregará marcadores de esquina al archivo Gerber seleccionado." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 #, fuzzy #| msgid "Drills in Corners" msgid "Drills in Locations" msgstr "Taladros en esquinas" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Crear objeto Excellon" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Agregará taladros en el centro de los marcadores." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 #, fuzzy #| msgid "Locations" msgid "Check in Locations" msgstr "Localizaciones" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -16008,7 +15998,7 @@ msgstr "" msgid "Film file exported to" msgstr "Archivo de película exportado a" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -16020,7 +16010,7 @@ msgstr "" "La selección aquí decide el tipo de objetos que serán\n" "en el cuadro combinado de objeto de película." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -16032,11 +16022,11 @@ msgstr "" "aquí decide el tipo de objetos que serán\n" "en el cuadro combinado Objeto de caja." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Perforar Agujeros" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -16047,11 +16037,11 @@ msgstr "" "La película generada es positiva. Esto se hace para ayudar a perforar,\n" "cuando se hace manualmente." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "Fuente" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -16062,32 +16052,32 @@ msgstr "" "- Centro de almohadillas -> intentará usar el centro de almohadillas como " "referencia." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Centro de la almohadilla" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "" "Retire la geometría de Excellon de la película para crear los agujeros en " "las almohadillas." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Tamaño de perforación" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "" "El valor aquí controlará qué tan grande es el agujero de perforación en los " "pads." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Guardar película" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -16099,7 +16089,7 @@ msgstr "" "Objeto FlatCAM, pero guárdelo directamente en el\n" "formato seleccionado." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -16496,7 +16486,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -17376,6 +17366,10 @@ msgstr "Herramienta óptima. Encontrar la distancia mínima." msgid "Optimal Tool. Finished successfully." msgstr "Herramienta óptima. Terminado con éxito." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Número de decimales guardados para distancias encontradas." @@ -17777,7 +17771,7 @@ msgstr "Restrinja el panel dentro de" msgid "Panelize Object" msgstr "Panelizar objeto" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -18117,27 +18111,27 @@ msgstr "Geo. múltiple" msgid "Metric" msgstr "Métrico" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Verificar Reglas" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "El valor no es valido." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "ARRIBA -> Separación de Cobre a Cobre" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "ABAJO -> Separación de Cobre a Cobre" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -18145,14 +18139,14 @@ msgstr "" "Se debe seleccionar al menos un objeto Gerber para esta regla, pero no se " "selecciona ninguno." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" "Uno de los objetos de cobre de Gerber o el objeto de contorno de Gerber no " "es válido." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -18160,31 +18154,31 @@ msgstr "" "La presencia del objeto Contorno Gerber es obligatoria para esta regla, pero " "no está seleccionada." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "Distancia de Serigrafía a Serigrafía" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "ARRIBA -> Distancia de Serigrafía a Serigrafía" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "ABAJO -> Distancia de Serigrafía a Serigrafía" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "Uno o más de los objetos de Gerber no son válidos." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "ARRIBA -> Distancia entre la Máscara de Soldadura y la Serigrafía" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "ABAJO -> Distancia entre la Máscara de Soldadura y la Serigrafía" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -18192,122 +18186,139 @@ msgstr "" "Tanto los objetos de Serigrafía como los de Máscara de soldadura Gerber " "deben ser tanto Superior como Inferior." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" "Uno de los objetos de Serigrafía Gerber o el objeto Contorno Gerber no es " "válido." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "ARRIBA -> Astilla de máscara de soldadura mínima" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "ABAJO -> Astilla de máscara de soldadura mínima" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "Uno de los objetos de Cobre Gerber u objetos de Excellon no es válido." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "La presencia de objetos Excellon es obligatoria para esta regla, pero no se " "selecciona ninguna." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "ESTADO" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "HA FALLADO" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "PASADO" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "Infracciones: no hay infracciones para la regla actual." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Objetos de Gerber para los cuales verificar las reglas." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "Área de cobre" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "Todas las reglas" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "Top de serigrafía" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Soldermask Gerber" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Agujeros de molino" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Top" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "El objeto de cobre Top Gerber para el que se verifican las reglas." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Inferior" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "" -"El objeto de cobre de Gerber inferior para el que se verifican las reglas." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "SM Top" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "" "El objeto Máscara de soldadura de Gerber superior para el que se verifican " "las reglas." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "SM Inferior" +#: appPlugins/ToolRulesCheck.py:1307 +msgid "The Top Gerber Silkscreen object for which rules are checked." +msgstr "" +"El objeto de serigrafía Top Gerber para el que se verifican las reglas." -#: appPlugins/ToolRulesCheck.py:1272 +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Inferior" + +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "" +"El objeto de cobre de Gerber inferior para el que se verifican las reglas." + +#: appPlugins/ToolRulesCheck.py:1355 msgid "The Bottom Gerber Solder Mask object for which rules are checked." msgstr "" "El objeto de máscara de soldadura de Gerber inferior para el que se " "verifican las reglas." -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Top de serigrafía" - -#: appPlugins/ToolRulesCheck.py:1290 -msgid "The Top Gerber Silkscreen object for which rules are checked." -msgstr "" -"El objeto de serigrafía Top Gerber para el que se verifican las reglas." - -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Serigrafía Inferior" - -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "" "El objeto Serigrafía inferior de Gerber para el que se verifican las reglas." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "" "El objeto Esquema de Gerber (Recorte) para el que se verifican las reglas." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Excellon objetos para los cuales verificar las reglas." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -18315,11 +18326,7 @@ msgstr "" "Objeto Excellon para el cual verificar las reglas.\n" "Contiene los agujeros chapados o un contenido general del archivo Excellon." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -18327,15 +18334,7 @@ msgstr "" "Objeto Excellon para el cual verificar las reglas.\n" "Sostiene los agujeros no chapados." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "Todas las reglas" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "Esto marca / desmarca todas las reglas a continuación." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Ejecutar Reglas Verificar" @@ -18437,7 +18436,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Objeto de pasta de soldadura Gerber." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -18445,7 +18444,7 @@ msgstr "" "Conjunto de herramientas desde el cual el algoritmo\n" "elegirá los que se usan para dispensar pasta de soldadura." -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -18460,7 +18459,7 @@ msgstr "" "  con soldadura en pasta, la aplicación emitirá un cuadro de mensaje de " "advertencia." -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." @@ -18468,7 +18467,7 @@ msgstr "" "Diámetro de la herramienta. Es valioso\n" "es el ancho de la pasta de soldadura dispensada." -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -18476,35 +18475,35 @@ msgstr "" "Agregue una nueva herramienta de boquilla a la tabla de herramientas\n" "con el diámetro especificado anteriormente." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 #, fuzzy #| msgid "Z Dispense" msgid "Dispense" msgstr "Dispensación Z" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 #, fuzzy #| msgid "Start Z" msgid "Z Start" msgstr "Comience Z" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 #, fuzzy #| msgid "Duration" msgid "Z Action" msgstr "Duración" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 #, fuzzy #| msgid "Stop" msgid "Z Stop" msgstr "Detener" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Generar geometría de dispensación de pasta de soldadura." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -18514,17 +18513,17 @@ msgstr "" "El nombre del objeto tiene que terminar en:\n" "'_solderpaste' como protección." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 #, fuzzy #| msgid "Create CNCJob" msgid "CNCJob" msgstr "Crear CNCJob" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "Generar CNCJob" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -18532,7 +18531,7 @@ msgstr "" "Generar GCodelo para dispensar pasta de soldadura\n" "en almohadillas de PCB." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -18544,11 +18543,11 @@ msgstr "" "el nombre del objeto debe terminar en:\n" "'_solderpaste' como protección." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "Guardar GCode" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -18656,6 +18655,10 @@ msgstr "" "Se puede utilizar para eliminar la serigrafía superpuesta\n" "sobre la máscara de soldadura." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "GEOMETRÍA" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -20240,6 +20243,30 @@ msgid "No Geometry name in args. Provide a name and try again." msgstr "" "Sin nombre de geometría en args. Proporcione un nombre e intente nuevamente." +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Objetos de Gerber para los cuales verificar las reglas." + +#~ msgid "SM Top" +#~ msgstr "SM Top" + +#~ msgid "SM Bottom" +#~ msgstr "SM Inferior" + +#~ msgid "Silk Bottom" +#~ msgstr "Serigrafía Inferior" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "Esto marca / desmarca todas las reglas a continuación." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -20487,9 +20514,6 @@ msgstr "" #~ msgid "Fiducials Coordinates" #~ msgstr "Coordenadas Fiduciales" -#~ msgid "Soldermask Gerber" -#~ msgstr "Soldermask Gerber" - #~ msgid "The Soldermask Gerber object." #~ msgstr "El objeto Soldermask Gerber." diff --git a/locale/fr/LC_MESSAGES/strings.mo b/locale/fr/LC_MESSAGES/strings.mo index fa2962fbd3d4d9517c2175f2099b94b0448beaaf..2fec14f35656b3d66f0384da45e2232ab6a7cc17 100644 GIT binary patch delta 63797 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 N9vV6Ew&PFe{{i{in}q-X diff --git a/locale/fr/LC_MESSAGES/strings.po b/locale/fr/LC_MESSAGES/strings.po index b5e11659..20b97c03 100644 --- a/locale/fr/LC_MESSAGES/strings.po +++ b/locale/fr/LC_MESSAGES/strings.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2021-10-04 20:55+0300\n" -"PO-Revision-Date: 2021-10-04 20:55+0300\n" +"POT-Creation-Date: 2021-10-05 02:55+0300\n" +"PO-Revision-Date: 2021-10-05 02:55+0300\n" "Last-Translator: Olivier Cornet \n" "Language-Team: \n" "Language: fr\n" @@ -119,8 +119,8 @@ msgstr "Signets" #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 #: appGUI/MainGUI.py:3642 appGUI/MainGUI.py:3872 -#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 +#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 #: appPlugins/ToolFilm.py:407 appPlugins/ToolFilm.py:546 #: appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 @@ -321,7 +321,7 @@ msgstr "Cible" #: appPlugins/ToolMilling.py:3656 appPlugins/ToolNCC.py:4146 #: appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "Diamètre" @@ -607,7 +607,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 #: appPlugins/ToolCalibration.py:794 appPlugins/ToolDrilling.py:1559 #: appPlugins/ToolDrilling.py:2459 appPlugins/ToolMilling.py:3247 -#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "Déplacement Z" @@ -706,7 +706,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 #: appPlugins/ToolDrilling.py:1573 appPlugins/ToolDrilling.py:2515 #: appPlugins/ToolMilling.py:3265 appPlugins/ToolMilling.py:4284 -#: appPlugins/ToolSolderPaste.py:1509 appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolSolderPaste.py:1502 appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "Vitesse de broche" @@ -721,8 +721,8 @@ msgstr "" "La vitesse du moteur en tr / min." #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "Démarrage" @@ -863,7 +863,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 #: appPlugins/ToolCutOut.py:2725 appPlugins/ToolExtract.py:1351 #: appPlugins/ToolFiducials.py:992 appPlugins/ToolInvertGerber.py:269 #: appPlugins/ToolInvertGerber.py:277 appPlugins/ToolMilling.py:4039 @@ -877,7 +877,7 @@ msgstr "Marge" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 -#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:931 +#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:969 #: appPlugins/ToolFiducials.py:994 appPlugins/ToolMilling.py:4041 #: appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." @@ -1351,7 +1351,7 @@ msgstr "L'espacement entre forage pour des \"mouse bites\"." #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 -#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "Forme convexe" @@ -1473,8 +1473,8 @@ msgstr "Annuler" #: appPlugins/ToolAlignObjects.py:584 appPlugins/ToolCalculators.py:1068 #: appPlugins/ToolCalculators.py:1079 appPlugins/ToolCalibration.py:1420 #: appPlugins/ToolCalibration.py:1431 appPlugins/ToolCopperThieving.py:1807 -#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1113 -#: appPlugins/ToolCorners.py:1124 appPlugins/ToolCutOut.py:2796 +#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1151 +#: appPlugins/ToolCorners.py:1162 appPlugins/ToolCutOut.py:2796 #: appPlugins/ToolCutOut.py:2807 appPlugins/ToolDblSided.py:1147 #: appPlugins/ToolDblSided.py:1158 appPlugins/ToolDistance.py:708 #: appPlugins/ToolDistance.py:719 appPlugins/ToolDistanceMin.py:398 @@ -1482,8 +1482,8 @@ msgstr "Annuler" #: appPlugins/ToolDrilling.py:2931 appPlugins/ToolEtchCompensation.py:531 #: appPlugins/ToolEtchCompensation.py:542 appPlugins/ToolExtract.py:1421 #: appPlugins/ToolExtract.py:1432 appPlugins/ToolFiducials.py:1137 -#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1832 -#: appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 #: appPlugins/ToolImage.py:376 appPlugins/ToolInvertGerber.py:338 #: appPlugins/ToolInvertGerber.py:349 appPlugins/ToolIsolation.py:3713 @@ -1496,9 +1496,9 @@ msgstr "Annuler" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 #: appPlugins/ToolSub.py:999 appPlugins/ToolTransform.py:1071 #: appPlugins/ToolTransform.py:1082 appTool.py:300 appTool.py:311 msgid "Edited value is out of range" @@ -1511,8 +1511,8 @@ msgstr "La valeur modifiée est hors limites" #: appPlugins/ToolAlignObjects.py:586 appPlugins/ToolCalculators.py:1074 #: appPlugins/ToolCalculators.py:1081 appPlugins/ToolCalibration.py:1426 #: appPlugins/ToolCalibration.py:1433 appPlugins/ToolCopperThieving.py:1813 -#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1119 -#: appPlugins/ToolCorners.py:1126 appPlugins/ToolCutOut.py:2802 +#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1157 +#: appPlugins/ToolCorners.py:1164 appPlugins/ToolCutOut.py:2802 #: appPlugins/ToolCutOut.py:2809 appPlugins/ToolDblSided.py:1153 #: appPlugins/ToolDblSided.py:1160 appPlugins/ToolDistance.py:714 #: appPlugins/ToolDistance.py:721 appPlugins/ToolDistanceMin.py:404 @@ -1520,8 +1520,8 @@ msgstr "La valeur modifiée est hors limites" #: appPlugins/ToolDrilling.py:2933 appPlugins/ToolEtchCompensation.py:537 #: appPlugins/ToolEtchCompensation.py:544 appPlugins/ToolExtract.py:1427 #: appPlugins/ToolExtract.py:1434 appPlugins/ToolFiducials.py:1143 -#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1838 -#: appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1833 +#: appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 #: appPlugins/ToolImage.py:378 appPlugins/ToolInvertGerber.py:344 #: appPlugins/ToolInvertGerber.py:351 appPlugins/ToolIsolation.py:3719 @@ -1534,9 +1534,9 @@ msgstr "La valeur modifiée est hors limites" #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 #: appPlugins/ToolSub.py:1001 appPlugins/ToolTransform.py:1077 #: appPlugins/ToolTransform.py:1084 appTool.py:306 appTool.py:313 msgid "Edited value is within limits." @@ -1747,9 +1747,9 @@ msgstr "Trop d'éléments pour l'angle d'espacement sélectionné." #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 -#: appPlugins/ToolCorners.py:698 appPlugins/ToolCutOut.py:856 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 +#: appPlugins/ToolCorners.py:736 appPlugins/ToolCutOut.py:856 #: appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 #: appPlugins/ToolCutOut.py:1412 appPlugins/ToolCutOut.py:1430 @@ -1950,7 +1950,7 @@ msgstr "Editeur Excellon" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 -#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:834 +#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:872 #: appPlugins/ToolCutOut.py:2215 appPlugins/ToolDblSided.py:695 #: appPlugins/ToolDrilling.py:2285 appPlugins/ToolFiducials.py:832 #: appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 @@ -1975,7 +1975,7 @@ msgstr "Nom:" #: appGUI/ObjectUI.py:1435 appPlugins/ToolDrilling.py:2326 #: appPlugins/ToolIsolation.py:3189 appPlugins/ToolMilling.py:3626 #: appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "Table des outils" @@ -2093,10 +2093,10 @@ msgstr "Ajouter un tableau de trous de forage (tableau linéaire ou circulaire)" #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 #: appPlugins/ToolNCC.py:4558 appPlugins/ToolPaint.py:2965 #: appPlugins/ToolPaint.py:3304 appPlugins/ToolPunchGerber.py:2089 @@ -2173,7 +2173,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1456 +#: appPlugins/ToolFilm.py:1454 msgid "X" msgstr "X" @@ -2186,7 +2186,7 @@ msgstr "X" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 -#: appPlugins/ToolFilm.py:1457 +#: appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "Y" @@ -2300,7 +2300,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 -#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:916 +#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:954 #: appPlugins/ToolReport.py:604 msgid "Length" msgstr "Longueur" @@ -2601,7 +2601,7 @@ msgstr "Inclinaison/Cisaillement" #: appGUI/MainGUI.py:5325 appGUI/ObjectUI.py:121 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 -#: appPlugins/ToolFilm.py:1323 appPlugins/ToolTransform.py:575 +#: appPlugins/ToolFilm.py:1321 appPlugins/ToolTransform.py:575 #: appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "Mise à l'échelle" @@ -2626,7 +2626,7 @@ msgstr "Tampon" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 #: appPlugins/ToolDblSided.py:871 appPlugins/ToolDblSided.py:1062 -#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "Référence" @@ -2664,7 +2664,7 @@ msgstr "Origine" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 -#: appPlugins/ToolCorners.py:984 appPlugins/ToolFiducials.py:1061 +#: appPlugins/ToolCorners.py:1022 appPlugins/ToolFiducials.py:1061 #: appPlugins/ToolFollow.py:737 appPlugins/ToolIsolation.py:3573 #: appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 @@ -2692,6 +2692,11 @@ msgstr "Le minimum" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 #: appPlugins/ToolExtract.py:1236 appPlugins/ToolExtract.py:1265 #: appPlugins/ToolPunchGerber.py:2168 appPlugins/ToolPunchGerber.py:2276 +#: appPlugins/ToolRulesCheck.py:1494 appPlugins/ToolRulesCheck.py:1518 +#: appPlugins/ToolRulesCheck.py:1543 appPlugins/ToolRulesCheck.py:1568 +#: appPlugins/ToolRulesCheck.py:1605 appPlugins/ToolRulesCheck.py:1630 +#: appPlugins/ToolRulesCheck.py:1655 appPlugins/ToolRulesCheck.py:1693 +#: appPlugins/ToolRulesCheck.py:1730 appPlugins/ToolRulesCheck.py:1755 #: appPlugins/ToolTransform.py:630 appPlugins/ToolTransform.py:995 #: app_Main.py:8905 msgid "Value" @@ -2752,7 +2757,7 @@ msgstr "Liez l'entrée Y à l'entrée X et copiez son contenu." #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 -#: appPlugins/ToolFilm.py:1397 appPlugins/ToolTransform.py:746 +#: appPlugins/ToolFilm.py:1395 appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "Angle X" @@ -2786,7 +2791,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1407 appPlugins/ToolTransform.py:767 +#: appPlugins/ToolFilm.py:1405 appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "Angle Y" @@ -2798,7 +2803,7 @@ msgstr "Inclinaison Y" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 -#: appPlugins/ToolFilm.py:1336 appPlugins/ToolTransform.py:815 +#: appPlugins/ToolFilm.py:1334 appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "Facteur X" @@ -2828,7 +2833,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 -#: appPlugins/ToolFilm.py:1346 appPlugins/ToolTransform.py:835 +#: appPlugins/ToolFilm.py:1344 appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "Facteur Y" @@ -2911,7 +2916,7 @@ msgstr "Décalage Y" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 -#: appPlugins/ToolFilm.py:1500 appPlugins/ToolInvertGerber.py:291 +#: appPlugins/ToolFilm.py:1497 appPlugins/ToolInvertGerber.py:291 #: appPlugins/ToolQRCode.py:920 appPlugins/ToolTransform.py:954 msgid "Rounded" msgstr "Arrondi" @@ -3377,12 +3382,12 @@ msgstr "Sélection de polygone" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 #: appPlugins/ToolSub.py:814 appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "Paramètres" @@ -3568,7 +3573,7 @@ msgstr "Cliquez sur le point cible." #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "Travail..." @@ -3868,7 +3873,7 @@ msgstr "Coordonnées copiées dans le presse-papier." #: appObjects/FlatCAMGerber.py:1002 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 #: appPlugins/ToolMove.py:235 appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "Traçage" @@ -4490,6 +4495,7 @@ msgstr "Del" #: appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "Tout sélectionner" @@ -4717,22 +4723,22 @@ msgstr "Va créer un nouveau projet vierge" msgid "New" msgstr "Nouveau" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 -#: appPlugins/ToolFilm.py:1280 appPlugins/ToolImage.py:175 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 +#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:175 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:150 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolSolderPaste.py:1589 appPlugins/ToolSub.py:899 +#: appPlugins/ToolSolderPaste.py:1582 appPlugins/ToolSub.py:899 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "Géométrie" @@ -4746,7 +4752,7 @@ msgstr "N" msgid "Will create a new, empty Geometry Object." msgstr "Crée un nouvel objet de géométrie vide." -#: appGUI/MainGUI.py:107 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 @@ -4756,16 +4762,16 @@ msgstr "Crée un nouvel objet de géométrie vide." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 #: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 -#: appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 +#: appPlugins/ToolFilm.py:1255 appPlugins/ToolFilm.py:1278 #: appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:144 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 -#: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 -#: defaults.py:593 +#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolRulesCheck.py:1209 +#: appPlugins/ToolSub.py:834 appPlugins/ToolTransform.py:160 +#: appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "Gerber" @@ -4778,7 +4784,7 @@ msgstr "B" msgid "Will create a new, empty Gerber Object." msgstr "Crée un nouvel objet Gerber vide." -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4788,11 +4794,12 @@ msgstr "Crée un nouvel objet Gerber vide." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 #: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 -#: appPlugins/ToolFilm.py:1583 appPlugins/ToolIsolation.py:3594 +#: appPlugins/ToolFilm.py:1580 appPlugins/ToolIsolation.py:3594 #: appPlugins/ToolMilling.py:3595 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "Excellon" @@ -4899,7 +4906,7 @@ msgstr "DXF en tant qu'objet Gerber" msgid "HPGL2 as Geometry Object" msgstr "HPGL2 comme objet géométrique" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "Exportation" @@ -5825,7 +5832,7 @@ msgid "Copper Thieving" msgstr "Outil de Copper Thieving" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 #, fuzzy #| msgid "Corner Markers Tool" msgid "Corner Markers" @@ -5983,19 +5990,6 @@ msgstr "TCL Shell" msgid "Plot Area" msgstr "Zone de Dessin" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 -#: appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "GERBER" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "EXCELLON" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "GÉOMÉTRIE" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "CNC-JOB" @@ -6224,7 +6218,7 @@ msgstr "" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 #: appPlugins/ToolNCC.py:1375 appPlugins/ToolPaint.py:664 -#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1291 +#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1284 #: app_Main.py:4995 msgid "New Tool" msgstr "Nouvel Outil" @@ -6621,7 +6615,7 @@ msgstr "Ouvrir des tutoriels en ligne" msgid "Refresh Plots" msgstr "Actualiser les Dessins" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "Supprimer un objet" @@ -7089,14 +7083,14 @@ msgstr "" #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 -#: appPlugins/ToolFilm.py:1502 +#: appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "La géométrie résultante aura des coins arrondis." #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 #: appPlugins/ToolNCC.py:4610 appPlugins/ToolPaint.py:3347 -#: appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "Générer la Géométrie" @@ -7504,7 +7498,7 @@ msgstr "" msgid "Opens dialog to save CNC Code file." msgstr "Ouvre la boîte de dialogue pour enregistrer le Fichier GCode." -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "Examiner Code CNC." @@ -7551,7 +7545,7 @@ msgstr "Alignez à gauche" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5431 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5431 #: app_Main.py:5695 msgid "Center" msgstr "Centre" @@ -7802,7 +7796,7 @@ msgstr "" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 #: appObjects/FlatCAMObj.py:843 appPlugins/ToolLevelling.py:2219 -#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "Vitesse d'avance" @@ -7861,7 +7855,7 @@ msgstr "Couleur de la ligne de voyage" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 -#: appPlugins/ToolRulesCheck.py:1324 +#: appPlugins/ToolRulesCheck.py:1385 appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "Contour" @@ -8541,7 +8535,7 @@ msgstr "Orientation" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 -#: appPlugins/ToolFilm.py:1647 +#: appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -8554,14 +8548,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 -#: appPlugins/ToolFilm.py:1651 app_Main.py:8435 +#: appPlugins/ToolFilm.py:1647 app_Main.py:8435 msgid "Portrait" msgstr "Portrait" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 -#: appPlugins/ToolFilm.py:1652 app_Main.py:8437 +#: appPlugins/ToolFilm.py:1648 app_Main.py:8437 msgid "Landscape" msgstr "Paysage" @@ -8583,7 +8577,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 -#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "Axe" @@ -9898,7 +9892,7 @@ msgid "Minimal" msgstr "Minimal" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "Type de Box" @@ -10007,7 +10001,7 @@ msgstr "Marge de la zone de délimitation pour la Robber Bar." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "Épaisseur" @@ -10053,7 +10047,7 @@ msgstr "Choisissez la géométrie supplémentaire à inclure, si disponible." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "Tous les deux" @@ -10079,9 +10073,9 @@ msgstr "Points d'étalonnage" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "Paramètres utilisés pour cet outil." @@ -10157,23 +10151,23 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:956 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5692 +#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:994 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5692 msgid "Top Left" msgstr "En haut à gauche" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:968 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5693 +#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:1006 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5693 msgid "Bottom Right" msgstr "En bas à droite" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 -#: appPlugins/ToolSolderPaste.py:1407 +#: appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "Changement d'outil" @@ -10480,7 +10474,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 -#: appPlugins/ToolCorners.py:895 appPlugins/ToolFiducials.py:1035 +#: appPlugins/ToolCorners.py:933 appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "Croix" @@ -10495,14 +10489,14 @@ msgid "Line thickness" msgstr "Épaisseur de ligne" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 -#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:1073 +#: appPlugins/ToolCorners.py:1040 appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "Auto" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 -#: appPlugins/ToolCorners.py:1003 appPlugins/ToolCutOut.py:2520 +#: appPlugins/ToolCorners.py:1041 appPlugins/ToolCutOut.py:2520 #: appPlugins/ToolDblSided.py:1053 appPlugins/ToolFiducials.py:1074 #: appPlugins/ToolLevelling.py:1918 appPlugins/ToolPunchGerber.py:2309 msgid "Manual" @@ -10510,7 +10504,7 @@ msgstr "Manuel" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 -#: appPlugins/ToolCorners.py:995 appPlugins/ToolLevelling.py:1911 +#: appPlugins/ToolCorners.py:1033 appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "Mode" @@ -10718,7 +10712,7 @@ msgstr "Ajoutez ici le texte à inclure dans le QRCode ..." #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 -#: appPlugins/ToolFilm.py:1529 appPlugins/ToolQRCode.py:897 +#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "Polarité" @@ -10735,13 +10729,13 @@ msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 -#: appPlugins/ToolFilm.py:1527 appPlugins/ToolQRCode.py:903 +#: appPlugins/ToolFilm.py:1524 appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "Négatif" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 -#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:904 +#: appPlugins/ToolFilm.py:1523 appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "Positif" @@ -10803,12 +10797,12 @@ msgstr "" "des règles de fabrication." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "Taille de trace" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "Ceci vérifie si la taille minimale des traces est respectée." @@ -10822,27 +10816,22 @@ msgstr "Ceci vérifie si la taille minimale des traces est respectée." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "Valeur min" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "Taille de trace minimale acceptable." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "Distance de cuivre à cuivre" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10857,22 +10846,22 @@ msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "Distance minimale acceptable." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "Cuivre à la distance de contour" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." @@ -10881,12 +10870,12 @@ msgstr "" "traces et le contour est rencontré." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "Sérigraphie à sérigraphie distance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." @@ -10895,13 +10884,13 @@ msgstr "" "les fonctionnalités et les fonctions de sérigraphie sont remplies." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "Distance de sérigraphie à masque de soudure" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -10910,14 +10899,14 @@ msgstr "" "les fonctionnalités et les fonctionnalités soldermask sont remplies." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "Sérigraphie à contour distance" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -10926,13 +10915,13 @@ msgstr "" "traces et le contour est rencontré." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "Ruban de masque de soudure minimum" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -10941,14 +10930,14 @@ msgstr "" "traces et soldermask traces est rencontré." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "Anneau Minimum" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -10957,17 +10946,17 @@ msgstr "" "un trou dans un pad est rencontré." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "Valeur de sonnerie minimale acceptable." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "Distance trou à trou" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." @@ -10976,17 +10965,17 @@ msgstr "" "et un autre trou de forage est rencontré." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "Taille minimale acceptable du foret." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "Taille du trou" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -11016,7 +11005,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 -#: appPlugins/ToolCorners.py:1040 appPlugins/ToolCutOut.py:2699 +#: appPlugins/ToolCorners.py:1078 appPlugins/ToolCutOut.py:2699 #: appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "Forage Dia" @@ -11221,27 +11210,27 @@ msgid "Corner Markers Options" msgstr "Options des Marqueurs de Coin" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 -#: appPlugins/ToolCorners.py:890 +#: appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "Forme du marqueur." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 -#: appPlugins/ToolCorners.py:894 +#: appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "Semi-croisé" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appPlugins/ToolCorners.py:904 +#: appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "L'épaisseur de la ligne qui fait le marqueur de coin." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 -#: appPlugins/ToolCorners.py:918 +#: appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "La longueur de la ligne qui fait le marqueur de coin." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 -#: appPlugins/ToolCorners.py:1042 +#: appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "Diam. de forage" @@ -11434,7 +11423,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "L'avant" @@ -11444,7 +11433,7 @@ msgstr "L'avant" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "Inverse" @@ -11536,7 +11525,7 @@ msgstr "Nombre d'unités de temps pendant lesquelles la broche s'arrête." #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "Pré-réglage" @@ -11775,21 +11764,21 @@ msgid "Film Plugin" msgstr "plugin_tab" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 -#: appPlugins/ToolFilm.py:1308 +#: appPlugins/ToolFilm.py:1307 #, fuzzy #| msgid "Film Adjustments" msgid "Adjustments" msgstr "Ajustements de film" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 -#: appPlugins/ToolFilm.py:1310 +#: appPlugins/ToolFilm.py:1309 #, fuzzy #| msgid "Center point coordinates" msgid "Compensate print distortions." msgstr "Coordonnées du point central" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 -#: appPlugins/ToolFilm.py:1325 +#: appPlugins/ToolFilm.py:1323 #, fuzzy #| msgid "" #| "A value greater than 1 will stretch the film\n" @@ -11803,7 +11792,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 -#: appPlugins/ToolFilm.py:1358 appPlugins/ToolFilm.py:1419 +#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 #, fuzzy #| msgid "" #| "The reference point to be used as origin for the skew.\n" @@ -11815,25 +11804,25 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCorners.py:964 appPlugins/ToolFiducials.py:898 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5691 +#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:898 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5691 msgid "Bottom Left" msgstr "En bas à gauche" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "En haut à droite" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 -#: appPlugins/ToolFilm.py:1384 appPlugins/ToolTransform.py:726 +#: appPlugins/ToolFilm.py:1382 appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "Inclinaison" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 -#: appPlugins/ToolFilm.py:1386 +#: appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -11842,12 +11831,12 @@ msgstr "" "tandis que les valeurs négatives inclineront vers la gauche." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 -#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "Miroir" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 -#: appPlugins/ToolFilm.py:1447 appPlugins/ToolFilm.py:1462 +#: appPlugins/ToolFilm.py:1445 appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "Reflétez la géométrie du film sur l'axe sélectionné ou sur les deux." @@ -11860,7 +11849,7 @@ msgstr "" "Le fichier est enregistré au format SVG." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 -#: appPlugins/ToolFilm.py:1491 +#: appPlugins/ToolFilm.py:1488 #, fuzzy #| msgid "" #| "Create a convex shape surrounding the entire PCB.\n" @@ -11873,7 +11862,7 @@ msgstr "" "Utilisé uniquement si le type d'objet source est Gerber." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 -#: appPlugins/ToolFilm.py:1531 +#: appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "" @@ -11886,12 +11875,12 @@ msgid "Set the film color when positive film is selected." msgstr "Définissez la couleur du film lorsque le film positif est sélectionné." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 -#: appPlugins/ToolFilm.py:1542 +#: appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "Bordure" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 -#: appPlugins/ToolFilm.py:1544 +#: appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11912,12 +11901,12 @@ msgstr "" "environnement si pas pour cette frontière." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 -#: appPlugins/ToolFilm.py:1516 +#: appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "Course de l'échelle" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 -#: appPlugins/ToolFilm.py:1518 +#: appPlugins/ToolFilm.py:1515 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 " @@ -11931,27 +11920,27 @@ msgstr "" "ce paramètre." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 -#: appPlugins/ToolFilm.py:1637 +#: appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "SVG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 -#: appPlugins/ToolFilm.py:1638 +#: appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "PNG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 -#: appPlugins/ToolFilm.py:1639 +#: appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "PDF" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 -#: appPlugins/ToolFilm.py:1628 +#: appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "Type de Film" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 -#: appPlugins/ToolFilm.py:1630 +#: appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11964,22 +11953,22 @@ msgstr "" "- 'PDF' -> format de document portable" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Orientation de la page" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Taille de la page" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "Une sélection de formats de page ISO 216 standard." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" "La valeur par défaut est 96DPI. Changer cette valeur to mettre à l'échelle " @@ -12754,7 +12743,7 @@ msgid "New Nozzle Dia" msgstr "Diam Nouvelle Buse" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Diamètre du nouvel outil à ajouter dans la table des outils" @@ -12763,17 +12752,17 @@ msgid "Z Dispense Start" msgstr "Z début de la distribution" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "La hauteur (Z) au début de la distribution de la pâte à braser." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Z dispenser" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "La hauteur (Z) lors de la distribution de la pâte à braser." @@ -12782,7 +12771,7 @@ msgid "Z Dispense Stop" msgstr "Z arrêt de distribution" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "La hauteur (Z) lorsque la distribution de la pâte à braser s’arrête." @@ -12791,7 +12780,7 @@ msgid "Z Travel" msgstr "Z Voyage" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12804,12 +12793,12 @@ msgid "Z Toolchange" msgstr "Changement d'outil Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "La hauteur (Z) de l'outil (buse) change." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12818,12 +12807,12 @@ msgstr "" "Le format est (x, y) où x et y sont des nombres réels." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Avance (vitesse) en se déplaçant sur le plan X-Y." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12836,7 +12825,7 @@ msgid "Feedrate Z Dispense" msgstr "Avance Z Distribution" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12849,7 +12838,7 @@ msgid "Spindle Speed FWD" msgstr "Vitesse de Rot FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12862,7 +12851,7 @@ msgid "Dwell FWD" msgstr "Habiter AVANT" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Pause après la distribution de la brasure." @@ -12871,7 +12860,7 @@ msgid "Spindle Speed REV" msgstr "Vitesse du moteur en REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12884,7 +12873,7 @@ msgid "Dwell REV" msgstr "Habiter INVERSE" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12893,7 +12882,7 @@ msgstr "" "permettre l'équilibre de la pression." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "Fichiers qui contrôlent la génération de GCode." @@ -13633,7 +13622,7 @@ msgid "Click on the START point." msgstr "Cliquez sur le point de Départ." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Annulé par demande de l'utilisateur." @@ -13736,34 +13725,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Réinitialiser l'outil" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Réinitialise les paramètres de l'outil." @@ -14381,9 +14370,9 @@ msgid "Squares grid fill selected." msgstr "Remplissage de la grille des carrés sélectionné." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -14485,7 +14474,7 @@ msgid "Copper Thieving Tool exit." msgstr "Sortie de l'outil de Copper Thieving." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14601,7 +14590,7 @@ msgstr "" msgid "Corners" msgstr "Outil de Coins" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 #, fuzzy #| msgid "Click to add next polygon or right click to start." msgid "Click to add next marker or right click to finish." @@ -14609,86 +14598,87 @@ msgstr "" "Cliquez pour ajouter le polygone suivant ou cliquez avec le bouton droit " "pour commencer." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Veuillez sélectionner au moins un emplacement" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "Le diamètre de l'outil est nul." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "L'objet Excellon avec des forets corner a été créé." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "Un objet Gerber avec des marqueurs corner a été créé." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 #, fuzzy #| msgid "Add Marker" msgid "Added marker" msgstr "Ajouter un marqueur" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "L'objet Gerber auquel seront ajoutés des marqueurs de coin." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Locations" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Emplacements où placer les marqueurs de coin." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "En haut à droite" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "Tout basculer" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." msgstr "" -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Ajouter un marqueur" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Ajoutera des marqueurs de coin au fichier Gerber sélectionné." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 #, fuzzy #| msgid "Drills in Corners" msgid "Drills in Locations" msgstr "Forets dans les corners" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Créer un objet Excellon" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Ajoutera des trous de forage au centre des marqueurs." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 #, fuzzy #| msgid "Locations" msgid "Check in Locations" msgstr "Locations" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -15994,7 +15984,7 @@ msgstr "" msgid "Film file exported to" msgstr "Fichier de film exporté vers" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -16006,7 +15996,7 @@ msgstr "" "La sélection ici décide du type d’objets qui seront\n" "dans la liste déroulante d'objets Film." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -16018,11 +16008,11 @@ msgstr "" "sélection ici détermine le type d'objets qui seront\n" "dans la liste déroulante Objet de Box." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Percer des trous" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -16032,11 +16022,11 @@ msgstr "" "le film généré est positif. Ceci est fait pour aider au forage,\n" "lorsque cela est fait manuellement." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "La source" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -16046,30 +16036,30 @@ msgstr "" "- Excellon -> un centre Excellon trous servira de référence.\n" "- Pad centre -> essayera d'utiliser le centre des pads comme référence." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Centre pad" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "" "Supprimez la géométrie d’Excellon du film pour créer les trous dans les pads." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Taille du poinçon" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "" "La valeur ici contrôlera la taille du trou de perforation dans les pads." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Enregistrer le Film" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -16081,7 +16071,7 @@ msgstr "" "Objet FlatCAM, mais enregistrez-le directement dans le\n" "format sélectionné." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -16475,7 +16465,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -17346,6 +17336,10 @@ msgstr "Outil Optimal. Trouver la distance minimale." msgid "Optimal Tool. Finished successfully." msgstr "Outil Optimal. Terminé avec succès." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Nombre de décimales conservées pour les distances trouvées." @@ -17748,7 +17742,7 @@ msgstr "Contraindre le panneau dans" msgid "Panelize Object" msgstr "Objet Panelize" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -18089,27 +18083,27 @@ msgstr "Multi-géo" msgid "Metric" msgstr "Métrique" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Vérifiez les Règles" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "La valeur n'est pas valide." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "TOP -> Distance de cuivre à cuivre" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "EN BAS -> Distance de cuivre à cuivre" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -18117,13 +18111,13 @@ msgstr "" "Au moins un objet Gerber doit être sélectionné pour cette règle, mais aucun " "n'est sélectionné." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" "L'un des objets cuivre Gerber ou l'objet Contour Gerber n'est pas valide." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -18131,31 +18125,31 @@ msgstr "" "La présence de l’objet Gerber est obligatoire pour cette règle, mais elle " "n’est pas sélectionnée." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "Sérigraphie à distance de sérigraphie" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "TOP -> Distance de sérigraphie à sérigraphie" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "BAS -> Distance de sérigraphie à sérigraphie" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "Un ou plusieurs objets Gerber n'est pas valide." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "TOP -> Distance entre masque et masque de soudure" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "EN BAS -> Distance de sérigraphie à masque de soudure" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -18163,122 +18157,139 @@ msgstr "" "Les objets Gerber Mask de sérigraphie et de masque de soudure doivent être " "tous les deux supérieurs ou inférieurs." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" "L'un des objets Gerber en sérigraphie ou l'objet Contour Gerber n'est pas " "valide." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "TOP -> ruban de masque de soudure minimum" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "BAS-> ruban de masque de soudure minimum" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "L'un des objets Copper Gerber ou Excellon n'est pas valide." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "La présence d'objet Excellon est obligatoire pour cette règle, mais aucune " "n'est sélectionnée." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "STATUT" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "ÉCHOUÉ" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "PASSÉ" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "Violations: Il n'y a pas de violations pour la règle actuelle." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Objets Gerber pour lesquels vérifier les règles." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "Zone de cuivre" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "Toutes les règles" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "Sérigraphie Haut" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Soldermask Gerber" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Fraiser les Trous" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Haut" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "L'objet cuivre supérieur Gerber pour lequel les règles sont vérifiées." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Bas" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "" -"Objet de cuivre Gerber inférieur pour lequel les règles sont vérifiées." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "SM Top" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "" "Objet de masque de soudure Gerber supérieur pour lequel les règles sont " "vérifiées." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "SM Bas" +#: appPlugins/ToolRulesCheck.py:1307 +msgid "The Top Gerber Silkscreen object for which rules are checked." +msgstr "" +"Objet de la sérigraphie Top Gerber pour lequel les règles sont vérifiées." -#: appPlugins/ToolRulesCheck.py:1272 +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Bas" + +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "" +"Objet de cuivre Gerber inférieur pour lequel les règles sont vérifiées." + +#: appPlugins/ToolRulesCheck.py:1355 msgid "The Bottom Gerber Solder Mask object for which rules are checked." msgstr "" "Objet de masque de soudure Gerber inférieur pour lequel les règles sont " "vérifiées." -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Sérigraphie Haut" - -#: appPlugins/ToolRulesCheck.py:1290 -msgid "The Top Gerber Silkscreen object for which rules are checked." -msgstr "" -"Objet de la sérigraphie Top Gerber pour lequel les règles sont vérifiées." - -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Fond sérigraphie" - -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "" "L'objet Gerber Silkscreen inférieur pour lequel les règles sont vérifiées." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "" "Objet de contour de Gerber (découpe) pour lequel les règles sont vérifiées." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Excellon objets pour lesquels vérifier les règles." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -18286,11 +18297,7 @@ msgstr "" "Objet Excellon pour lequel vérifier les règles.\n" "Contient les trous métallisés ou le contenu général d’un fichier Excellon." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -18298,15 +18305,7 @@ msgstr "" "Objet Excellon pour lequel vérifier les règles.\n" "Maintient les trous non plaqués." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "Toutes les règles" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "Cette case à cocher / décocher toutes les règles ci-dessous." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Exécuter la Vér. des Règles" @@ -18409,7 +18408,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Objet Gerber Solder Paste." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -18417,7 +18416,7 @@ msgstr "" "Pool d'outils à partir duquel l'algorithme\n" "choisira ceux utilisés pour la distribution de la pâte à souder." -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -18432,7 +18431,7 @@ msgstr "" "  avec la pâte à souder, l'application émettra une boîte de message " "d'avertissement." -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." @@ -18440,7 +18439,7 @@ msgstr "" "Diamètre de l'outil. Sa valeur \n" "est la largeur de la pâte à braser dispencée." -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -18448,33 +18447,33 @@ msgstr "" "Ajouter un nouvel outil de buse à la table d'outils\n" "avec le diamètre spécifié ci-dessus." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 #, fuzzy #| msgid "Z Dispense" msgid "Dispense" msgstr "Z dispenser" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 #, fuzzy #| msgid "Start Z" msgid "Z Start" msgstr "Démarrer Z" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 #, fuzzy #| msgid "Location" msgid "Z Action" msgstr "Emplacement" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 msgid "Z Stop" msgstr "" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Générer la géométrie de distribution de la pâte à souder." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -18484,19 +18483,19 @@ msgstr "" "Le nom de l'objet doit se terminer par:\n" "'_solderpaste' comme protection." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 #, fuzzy #| msgid "Create CNCJob" msgid "CNCJob" msgstr "Créer un CNCJob" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 #, fuzzy #| msgid "Generate CNC" msgid "Generate CNCJob" msgstr "Générer CNC" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -18504,7 +18503,7 @@ msgstr "" "Générer GCode pour la distribution de pâte à souder\n" "sur les PCB pads." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -18516,11 +18515,11 @@ msgstr "" "le nom de l'objet doit se terminer par:\n" "'_solderpaste' comme protection." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "Enregistrer le GCode" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -18629,6 +18628,10 @@ msgstr "" "Peut être utilisé pour enlever la sérigraphie qui se chevauchent\n" "sur le masque de soudure." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "GÉOMÉTRIE" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -20212,6 +20215,30 @@ msgid "No Geometry name in args. Provide a name and try again." msgstr "" "Aucun nom de géométrie dans les arguments. Indiquez un nom et réessayez." +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Objets Gerber pour lesquels vérifier les règles." + +#~ msgid "SM Top" +#~ msgstr "SM Top" + +#~ msgid "SM Bottom" +#~ msgstr "SM Bas" + +#~ msgid "Silk Bottom" +#~ msgstr "Fond sérigraphie" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "Cette case à cocher / décocher toutes les règles ci-dessous." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -20460,9 +20487,6 @@ msgstr "" #~ msgid "Fiducials Coordinates" #~ msgstr "Coordonnées de Fiducials" -#~ msgid "Soldermask Gerber" -#~ msgstr "Soldermask Gerber" - #~ msgid "The Soldermask Gerber object." #~ msgstr "L'objet Soldermask Gerber." diff --git a/locale/it/LC_MESSAGES/strings.mo b/locale/it/LC_MESSAGES/strings.mo index cc97ae876c0f6259d75573ba3c4f6ea95d6d6e86..8dda1d6968dffadd82fd8c5c242bf7597eaee829 100644 GIT binary patch delta 70755 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

fo2TeMKlC3rjhM<~Z#H?If+G zEsL(FBa#0h+YutivkSk}vOHv*gcuK~BDnO%zX$pXG)Zq_G{R>*xgz3I5PdIwq9!S9 zr>HeNXo2$*Fe1j1wDkWFus8i?!3z71{wp@^@R9br`hfjQ$mDYh*^9BH2+ltU9@~OR*OhS%Y$YAA?ZD|QN{lD;U!q^< zPW|uS)#xP`n43v)^YDMkjyUW8he0t6^kN@?G8H_IZZ`c|1nz^=FmxkmlA^32NWNN; z8gI25J%{P4;CG!S>2HVSxGi)YJJ%DtreFByBZ7afe45ji`8l5>G^1OOItt?!Bp(PlnY6occ}a+u z^jBh67Wb-zs%z^hid}lf#j#6|-A20*Y0*_+{F#80nOjLIWw2e2t^{+Edgx{a9kbsA zAIh4_(*7ezZj8_3xSoDG=KABbK>LAH5!yv`#VFz|0e4^*&VtrJ_Z!`I<|Sv0>W8$V z)$dG<*>F@Cj#&?kqG>}(T8nm={#ugx%M#f`5vS1Yg>#snO#(@I1xKID#=Y6WjudmB zVtT-uu$P?-**{}`uodBjyUF4F|JT3jApW79D^dcVMC9p8kx^+LVg;9>_*S46Nny*K z-5q+C;1`Gaif}MCspKC_sxcRcu90onR!dzKT>d78l24Xma0+43XiMMEyKg@WWub5X6dT;~{!y*O+9I-zXOmOcH}ctt{X| zc7C$ygUW4+%~gW0CGiLXmM4a4>}glvBmEu3@V6KYJ;f=UigCJJ ztfmbCR*-Br<80j=TUky5*F}GY!p>q}-U?fSt}}B-(N|?b zl3DoWcDtUEA-Vo9sInjiK{5ct?rdjdblJ^m2;(9+)`jH>IEVhVU@O^-ZCsL-W%u5g zJ}GR)xB~W)f0;jke>i+Y!)nR@;x<%~HOB_EC^C#TuBgs7iJR?!GpolOD2IHBN z%*6SkZD~hrSD_ol{8@B6X%X?&NAh_{kP!V%65k=we0Z4gK8v#l-4L3@AHTlP=TE?W zIQr3wV>p{Ym6!~GlELU2!LZoou9<~q)!UlK;Am_f8+1Z;(ER@!0$hQ=-|g-FWS^*;t@ z5<4>7k56)9oPm;?X4}&F6}2c*Qoua7BF8}gT`oxCQM1HbF9z z{x0g44&`Zu?FL}e*cgyX2?$|1OQ$%U{k1-1R`ON@Z z^$;r{Jo7IpT(X}a9c-nsEO0s!mL<+6cCeWF_C=SM`8xQ%Mqkg(=RQzdGjS-`>M9es z7lC`)Dk8JeN{lzdr8wtdhq9P`Crheg;$S1`hFu*Jcd_I*Y)AL0Xg9GZI{no8WG7az z?Vd+~$h2o9{($}*N%mkEi}4~H@6yjj`$U3?*o`LnE7}-ZXmp#fe@2d7*xzNGjGbA- zPTZjA;BtV%w$rxglNU)Xj3vw9ZW8|>KxW!1TTvZ!3(RI0tV0`)?_Uy3#ZHop7SS$+ z#)T+Gd3Ru2NkuYOjCk`|NNyI9ioUNifn!>Ay_mQ`u-Z&KvBDM-U@JC~#yBOmZU2nT z6#V+qp5T|7xiutMV#R#2nDV>B4zw`8TExwPuOz;HZ_pSF>*L%S#T_Pw*b3s&|Hl&N zw_slwm!|*7k|@Z1`ei9V@;gjmrWhd}B?^p}EkxLMf$8Umh#w}f{<08RvIhoS4{^0) z;M`InTO|vO(7BgR;3mGo3;kl48TKeTok|kSUj~t=yqzG(MC)Aj}fuAmisv9=2 k`JGS+^962-?Kf{gV1sFXhf@dU+~YU7L*V_i-ZNeQA1HkCizHcK^gzOKuz4w;Av$7=-A+kzlNmqqzMG8gAh*CyGr9p+zCTU1% zNm9{JNuTHQI_LMt?{Us~uXA4KbJ;nVlN=L>9ju|V>RyjdPf@c+Kfl}HrBI>Qo) zhF2sKo!+%Ik*JX`EpZ9f#N5~jt78XD!#i*a-ig2Cd7Ox6@~0*4!l75DB`)X0Z?HI? zE0C7RLwnvrsq2%8(xH$ji`h9)9xuh}csX8$>DU2%VCPuB20g!fY`-pgJ(i$-0M^92 zuoiB{LHIS+z&3@`5_J;EL}DU^sx)jsBk&29#Xqn#7Ar!}u{rj`8!#X4#47k6cEk(V z4ciwD*FAzp_ybLMQUr(S&Hj&|(!czh;$!$s(IE79Cpj|Ff?Y=0NM?&Em;+tSG}lHX`Bq!%$0 z+m}g86vms;8%@IsxClGoPIQX0l?_=w4tG&Mi!E_$x$xjW&?LO9d{{Nj(A>EN9niES z1y8s?Htfd1)Zamqux5p{#Chz4)v#;D(BUL{quFSPS72j&7OUVX?1BX=r6oGyO=yI+ zqDj6Bo$}-{3eM&4XlVXJM}Ar5w8WKI9&f@XXx6U5+W0;iu`E?WM7p5YEyMh{6&>MQ z=#(5rr|uZKFPy>ZWR)wIN98dg+GOWchGXm!q)L{~+hMMv-g+R;7e0}jRG$8k0F zQ|N#e)JRJd#ii(jx1m$H2U)3!!>Ky!@8_B!yDy>_rq>GQLPJ#mGqELVIWtbQ`8n+ZN1UuxWIPT|6&Rc;F@@#Zk=$#RnZpFcG1q!9?`zh z8=^y_BhghgHr8*CCZjVjX;0?HhK123(G}6v(Wj!DqR&TnMt4W|Mc;`YihdG3j!w!l?cU`?EhBXAo2fo<@P`e})}xC?y={ejN? z=mud5?!wa47oa)xTm#m>bGVC!UU(Qyl1dHJ66LWWw!lF+2v?&W$l55hH$`*iZY+m$ z(B$2M&iTt|(!PzZicezu88l}uCMnp%E3QgQT!E#~w^bc936|><{bmKaXSzZ4>Qt-rI zqZiNzXK$63xE=GLb3O-M&kvxXUy5G096f&>dfsMqAluQ%>_oHuE%d=hq9-uv9G{_J zs4k+R$gFLa)!!mi2E# z-nOBk6k4y0X6sexTd)&4@*A-njzK&05PJSmuZTl;XrB7BPadNkR(UmZr?6YbcwXk>0ilk+aLBlBZ@MXW!AWodsIeVLtz z?f;>4;O4QAq(Sd8Z<(z=I_%i`$P*$yk=6g1hMMCbe+G%{bH9r*>D z%TdLcGrgNoQ1B}wYVEM z;0rjqZ(3p`mb)&jibdF$dgFdPC@qnA7~i3ut$zsZVf>By?>G%l4d8Q~^TynemN-cL zvw>l`t{cSq=UC#$LE$adVQ>iH477*y&=4*|L%a%2o-JrrzZvVFU_R=n(Pfwz5(bh7 zP3{8d{W8((tD-s6JQ*80q8q~i^u0eGJK#L@K_8cD{wX* zK=0G@rttO~g}#KQp;NR1D`4^s3a-o3=m>HR3(1p--k>466?a27kO^247opc}LzmfM zbopICS558V;WgbIeb6HG{GI51K0{v1$;5dIrD(`~bNF3e3w_{VtcEkuo^QwM_&!#~ z#E1}~Dws)i68fN}=&IR`-uEPW{-qV?sru57GViq?y^#KJs3(S?Fr=Wujg&qw#>#n=*; z$NF(}MBk$i%sD2^Z5}ka%A@;39W=SxqThPm&<@>#-ggQ*uxXeynO>pbC(=GNslLFb z_%nJzHP)CntcTWH#QN3fgL}sMAT(J=p}BJp8o6a?azBIan6F2V-NO3!Wpkc}TA1zD za6v=#MxD?H3_?3L1|3NfP1d=Xi7T-I?n0CEFZBGPW8=n#KBocN-WFX=ea5o>9r-XC z?Acw>WmuE?HgwPa4jW;q+rk#zA3c8|ngh?EbNvX-x2G_(5d+c4Ryx&@COuy(d+L+BeMowO?$C1 zCcmW6pThqpgyflm&8W{ubKo8H2Dv7NeW4N>nO5kHCZNmiel$`qV0-)x9YB*wA!&Q! zEb5cc>k^aG5)Zlli%_UdeKYpPZ?G+1b$jT@z1W5N>o^FnxFfto#^I(kez>4JZPoUsj=8oTjmGBAbjnIwabF7M&-W`&( zAv%IlI1ul{0r)*$gKh5#Q}HlfPyI18IsZXBQs>@q-*H&h^}mXO>-jBo{lAMQ(MPfV zW%T>#ndt9mQeBAktkc5vxuW@^MWQ966{6KKY0}lBpsmmcca10Xi{2Q$IeII)d?umG zb|#wbFQHTS7McUOr-u<=i{5`pbPc+Uw@i=U|F6*C$Pb`5`T*Vej>meb8R6@<20G$8 zXvCVJS=)PKIYa3cBa7|^~3r&3?11@G}}MK zPMBq8T4DiqLvkvQvR5SF!9kCqVfQI}&ERN4$Up$DdvFzNi{6?TV>7&SVl8GY} zeEXe6dtPu}c+J+w^3?lbJ)DM){H5rAblDz_^>gS~Z~FYu@uKMRt%#m?ZFC&Ed>3F= z*Z+D7j%*{gz@6v_{>5=vY(Y5w0J^oVz|y!CO}dZK8-9<5H0}Nnpmg~Peg@>H*^ST9^Op9?EZa^PgeNpI8 zZS=uS(G92@*1-obX|nC1;9Kedx`Q3YrC8>{w8Z`R3i{2~d2xuu2s8&Kp~*W99pO?m zC!Rp>`#c)im*Vk#Xh+^h2lDk|*1r$F@}Y2p5@?oIKttUKO~S6|+zyEClh6;0`B)v- zVio)dja2%>VfEBRlWhnZv6a{mkD|*w?-JI(Z>oT~&?Ijq6%8DF-Ae7=ha{6-soZOVJQ+L9>248i_q< z=nuvA2Z7#iA9==z+D z-f$6`j4RPq@I1Ode28vXzoHMk;<0dkAv77wq9gB)&h;=XgZIYc>#(5f|1brU=rkJ2 zQY%9TYN9>vh<2bSI#nak8{dg0<3hBftI#Cdgbw5&I?|8Pjp=)=jAwBv7Jr=eZ}#t? z;Kp+fo!d%Jq$S?KrfBk{uL|onC;FiO;bhN4Z@e0vx{c8n(EGfOcKissL7he;m$5q3 zORZ-88nUZ9pdpyt|4e@9+RI|_vACC2P=o~+f&i!t5PTxn* z`wYGQGcWBU~I^jZV#T=<9Po+TqW! z24>$Jeu6bXr(zJgLoSFej4qBYi9Ui!lV=45d%6Z!<3_Z-`)^}i1AoO#Ec#;jFlmgg|B=`XXCz}`54sg+ zeJLDhfv)p=(EZ_A?1;zE5mek6zWq9($5)~edJi-44EDj?FNak#3|*Gv&>iq@^t$A1 z3SB6?h)%^NuY{>+hGuOS^uht?c_Yzf^b%&`9(0PnLzDDxbQN6jYRIV)=qjm*PDvwl zBf18;Z!*!7f*~1%UN{9S;B557=gh_Fbk6>X=6NH2*`T5Cj;@Y==zcL64fzOk z%5FhBa7T1H8rcQd9k;&0`Y)KqpZmQTLR)-K7NaH zIo5eA+-L$Cse93p&OukfW9YuH4ej_Ltc*XR&q)^CACjj$I-;i7i-`r z-`H?74yJww`k*h+(Efz(kOe*rQ&j`a;&y0+ZbU=B0Ndk7SQCpM3X$oGCgV^vH%3M8 z#-t-zOu-(nLhCP}KSKAS9XXDd;u-V?f1~GJemG=xF*H{?qd74Hz3xl&{GZVdXM7Yo zR2&;qul*70zX^p~X)q)k(JXxpGx6hCKacKwd5(l+>V!?HkHwa_8O!6jc)aMx;p?|K z8o?P@1vjG0`ZKgc|9#B*cdm;ZjXgt0RvQg%3pATY$Mz*?POOb?M!$x4q7nEFeNdH8 zLInCohok$*By<^1MI(A|l7bIhfQD*0`jXg;ZV+$8`uk`Oe2q@cztIAphU==MA#a7= zuRHp{foO+sLhm~^Ivu@FatQ@*ycvze0rX|^E_$PH(TSZ^c3QYdD@v^!Pm7a2gt#IoKTUkG_w-M6Ng%I#v{YP%Sj8o1)9J z4Z7~TUUmn#HHlRg?YOur-%Jr=}(vsix@p9nj|ti^p%n)*Nhfre|a&JSTLosRZ=2O9b}a3bzUld1WsaC{8fp*zrIU5I`ut;Dgo1wFs?k0H6c zq4({DMrhEF$uN>JG#K*9@xW|!Up-WBVni zL;Z?qQS|zuPul){6C2Xf7q6jD_vdy=bx=K_7e$-6$^qC4{Uz8p1l!=IF-N3Ef}@q5~R- z=FD_-e_4(VaXT8JUyyO|_x}_e`QPY>a{U^Ts0eaGq6C^`CDD+UK|@_F*6X7kY7y;> zW_e#UH-?}QnG%oRiw-sOKg7u zP159E3O?w==rQ!hC($|jC7Skc$c4Pv~3qGX~L1w&X5eQ@(=dvwHI(T)s7*X=|sjSJD`_JKeGWs8Syd-*l4eX6qVR>AHCgDry zyCOYndTN;!MYF#-mc?P{els7dVlhYQi2Yc(43 zU1)^%q7Qfvuf;!bC|;92bo_br`WK@IqsP$5{+vCTo=Un4u_4PP;lLH>NQ=jMMKl8S zqHVAY^`7XI+>WmA8R(R(K(F6|mGNb?!zaI8KY=Z&|AQ?s+4R!%)H1sptI_Zf z`o4Y>z3~_E_&?~*m?u}5%kt<>))@`)B=o_vu@0_6-yI*v_EYG6GcF6s_djgp`mai% z1P6wrA)AGU@Imwj>(E?y2|MCzX!c)vdFV)9v?C4B0o;h)a3LDH#zo z+prS;fSjJlpD*0M09JDS|Br&%*d8;n7rIU-qH{PM?bt);96y1MXfyhn-H-mX`X1ea z%jOT)-H1kV9Ja-oSQ6hwbL|&QdP24<(^LO~sR&xXJvtwqf+x_>ZA0cPu@~K{(+Z@g zw%{CSM=GE>(iV+ie{=&H66<5oflNTx|2+j*|IX1C8hp@8X#Jg7KN9OdpzngS(d-4o z2#TSRs)Z(3bF?GZ#rkBlLyMwM;ce7+p{uEOA=ba4A6Y2mz-07>)6nI&5Dnd8yc$14 zldx>zFy~{@k*q=I`Y<}e97V!1y%K#VG(dO2G3eWIF&dfolN1c)r)ZX+KyUCpI>+bG z{UBG-(9tqz2Wz4cYlgnvx}z_x(dhN-(CfCw`av|8K1Mry61{)2P_Z!bn&=H1qseg% zIu%1>`_b-=Gip1#@GL|ApKtj1{O?#Z1?KZwe;WBs3(? zp(A-2AHhG+WLj7}L~1GepvTb-Y6m*!hcT5S(d;F{1B;={u?Bkop6GQ0FuUu23I&(d zG;Dy2(78T{mGR2Vu-CUh>o=hr%p&xA;TyC=iIQP?6+|P~5S`kVXmWNyBQpdY(5+a- z^*@P%8_*i8iJQ=neTALyS9H&BS}I&P2z@ONM;|Z>?a+8MhxVcmI2ezAh~~_vXva>X z8_}>1tjm}4tb19lLTha60 zL|^0YmS+8X!QptqaWt8JK|}Q~dOSy&P|uH<)HBiZTA)+V1$`ZlK)(s^N3Yw6KIp|* ze=T|dz3!tj$#A1zX>f!W(Hmc0Hq?vaYU-8oJA4nl@%C~dXLjTD)Za(9-m2w8vW-Bq ze*sp+b$A1QfOfEEh4A|Anxxv)kQsa_>L@e1{7HPRDz;%W4LH`fevJ`wHU-B=y(L#8;H*iNAt4X>k-NUs%Mw+-+q z>Qm6SR@vI=sejSXE;V*xX5qd%wbh*5UhWK@Kwd_Zy>L@y*FVPTxhmG(&dVcNtVMlF*-lsFVPxMA}Xf&q& z{C_e9J1`5q@gg+zk9Y!ZK<92Jx{**cn3ZIb2P+1pdI}k-LP^tihDge zg}u=ZO-2VWw-M{#8?2zgkw1+-_&M~3JFx`rLnHD%`rz~Ejj~@AMp^`IuYiWQKH8Bk zXv7A``c(A6i?AZDxr+5~2;Zf_IXMyi3GKl7XqLvIgL%-76hg17h<2n&tapvahoJYH zfDZ6(^sPD{JK<_3% zW9ZcVgkE=9v(V9kSdMyWWcl*vzZ87nG;~LsiS~3J8nPwm4W30qzat)h3mxepw1Z#a zU_6QDP^aecw2hKqsxD%`5>*#gApgD0q)^oOI{d=Rl6zoxHbdRrrKCmM?1zph*-GttF zY^+a4J30-$&x7bU;TkkIUXJaD&;fpfWAPWPk2ki7-~W%a387w%r8)2%8uBA(NROi< z_!hm`xngLdqa_F-gs(ewX@MzAiLv`x_mUWZQASae{?dnq`QhtLqMLVNxk zdZWGQGW#O7pT^eI6IX}p+Mq9=?&yt2#`Zh09QD~)4L9RBJdT~PM~BoFoJ>4U!44ci zJMb~u^Y76f{(??LM#nH!IneV8MJu4!H$dmM4H~Jg(QC0R^?_(k+=rgO2y40iS5jzB z!-w%ezD{98nbC%LgyY?@JXY+Sp8ET}Zs>={cJzVg&`+y>(2f-85^|+18o?^jM(C8a z_c+f_bdL>v(X1SdhVC}Br_0b0KN;)W@iFRepgD5mHQ~Bp(TQl1&Okdd58Wr0U^DzE zdSzGEzYV=8w8Mw65+1|OcuBVqncip;EkXB#t?0(IAIo6Y?qTDqgyu#MY>rFORq+Yd z!3)?BYxW4gq(=5&{kLGfEurBiPwbhV`cv%Yy+V>q$F8)0fE}<@@9=YcG+N(=?eRZs zgYEl-Pp}2(2D2Y|$t2RQ4a=_)x;(E(SJ9+vS^w23ETq9X*^P$!VDvLI34e_Bi&%pC z<$cpre-~U0^Duxf@KOBvy6`16_xcd}XV7Hcflk#fbV~Q2&-pM(!K68X&RJUjkW81L zdv_kRV@=VyY>zI_9+-*4&?%dRhI%Xd8a{%)6V9On>^vYGpNb`^KaLeK`8tKWD4fRa zIP!*IsexhLeu8HCC4<78w!vD|@53tiB38if&>QByG5iThLv*#wKj9D;Q?=ppa@ zKSx9V2f7?HhB*aE{#uQK%dR9E>Kf>JZWL`9+dIU1&*=5hA<3mp0@%$@A*-ze^1;`gCY7No^UFfJ~|vP60MF+Ij=Q3(rGvW7oa(lWlU(#h3=FE z(RE%G9bgkQ$2y`(+AB%H(Dg%mG#m~2o$-VjXoTj*_6N`rEsL&4uit^5_aXtC#*62QQJsOFbXa|yyQ1FJ2M>nB8e-(|)VYEX(;CeiZ9n$#=$6Lde``vBfc$INs zYU-l*Yl}`{FLdPBM@OKMo{VK&|I;ZrCr@E&-J+q~ht2RkbOXvgK8&&KFQ6M$-h0E1E20r=jHE!K1KQC}X!7>P+Bgy& z=t?xAd!r}sC4}yHIj4m$nF{Fld1rLw-H>EY^hQU}7wzzkXryjKLwY-U{=#_tVYDMp zq8;9hsiek3)Zarpv^qIGWcLAVPDAz?VT)~#7pTv{|8VAg;gf6T%y8ZtXbxnVm7e;S zQJKhcN-RNF&C56nFQ9MFn`ft|{u^_v@C)j-=cFf|!(`sM>4|B?ZV&dP;p+L}H`-%3 znR=cD>8XFIFdOfno^gLzW_O|Qgs0Ju%Wu$~vD5?1J@*@gH&7q8Fm!ky_NRWyqVN;% zCT!{YpF?2?2i`%aqSk}_Zs!JFaW?gti^C6xD;^48G&8U!?Z>e*=Uwq|=*SIA!Z+hG zbmZTm9qO?({GwWfov6Qo*I=Gy4wUsjkV17DK16$%{z%B`fjE!)0_=uG9}PDejV-7@ zh86Hjyc%;X4<9Z)(4@OB)?dP|)PF*!sOgF@m4mS<&*y(w7(S1`z|z$7Jr?TqaS8QN zSRb>j3`x@%`%oW@PvTBIhBrPQKHHl=5x$}qU|u5hA@<_dvx33HWmZ3taQ96))P@dn)`{&3=58dg5trK+l)styFV9lb%?EQ*aJuJ{yv71D5B!kFgN` zw=t}yLYu?qc`x(>B3d&rHo=<%cI>dBMb5ndV{qFd38q1X!{ zw5_lt^)cu#mj`epZopfx;EU<0e@;6Sk5K;s*Ws?0(o_E=bNJ5m#Fx~6#j^O}%jt=! zcplB6yq5Te7uZe2ALI=lUdFo5C1@1zZW%};)#3HPN zpW;6B_^Q{#h`&MK4aMI`PyFHfFGJy78j8M|p86jcox<_d8}13e?KYwz{1e+@yS-s* z?#HXBzluiaZ%jpQU$7NApb^*}@5jgSD6YlZ-|{}JzY_by4ZC1x4ot=7co6M*t^;8? zb-}9C7ok(J3v1zL=&HE?_ z;SJb|`U1?v5Ai`fhpv*D?}RBR{cc!}9ns}C8{NuJU~8=ZUiiImCk~|kUbM#htbZF8 zQgB(EMMu>7gLHn0^79x^QJ?%_c-;;@6mB#TO`iSe`Y(AnM5Gg5L46q3z}vAmK8?PP z(>@AQQy|*pBi4U29yEl8Hn`>pk-$?Qa{*?45#;Kah)zktW5Kq^SpS1*m_UPb`w4nM_AkN-9iq2mGuqdqAw7wX ztm^R)>gmx>usiM5z6|HzgKenqMyE3SSK*gXM?6aX{Uimm`l%CPPJfNg|2k|m6~AHG z5Q!IYIG+19{7Sz5`}D-iTvza9>SuJ~FixPp^oOv4U4AMo$NFeTZ^q|v7jEJ{<9_7z zjLFhJr6;y=VA`4R!O`I7aAMtG!iU94EXIj9{2I3CJI{tB+KQKRUH)_76Rb44rPf4u zwh?HSuR(Xhr!YHC{4K1KyD*pQe-;Hdgop4-d=yLJ7A%Q}(T(U2tcTTp59@g-=A^z6 zFU1!zFYbvRjsA!x#G(HlOC zdGIwXfbZjQ{2p^-*FVDsG!V_L8R!PJ6iRodXa)Jlgs}Jugkm8 z5iUh<@H86Y{1?K5GtnKe8rq?&(N)tOi{V4))IEopco^Leen$sV?%(h!SN~tuzZ=d% z8k~YR(GQLHa0LE{bFlZt@YeeZy>aLN!qnV?C8#fm^^KTG{he4pgC^Z&eAGMlSE5^W z8SIBm63K9284b?;dNdiIM8b~RkuoJ%Se4ZE=Mo?4t-#*>>1pew;~$i5@>`fL~BQzq8+;$ z?O2cK4Y7SBI?1%@^ z4W?kujMQg)F*GUfK$q)7=sRHpnlo>px%Mrl?tiIM!1`-UVVD= zRnZ(>xqb`%9{3#XP@OBneQrlPFasUH^JqujL^rUv zugD1h{l8CX@H_n^8p8CvArjfq4i!SPxJ<0qM3b=z`he@uWi|&%s>GYUY6%+(f-fK|0P8KgX`rPZkQxykX&t)W_^JG-8L66mF+bxk$L-TAW2ad(n*4-*7yD zcT@iiN8|Oy!jv3{zK^bwBiIAKLPuQpe;KK*dpu60{slJ1Ud2O47vVDM$xbO9toR9O}n$5soO8k@|Q3|6(Tf*Gq>a{W^MCnNY8fjr|bWgvKgtL*{AV74%}WYggQ|^tn=IP9@_U{b8J^3Y)G?kB=u*}4i>H$Iy?$H zP*1Crk$N|DLcbYD;q~}5x^-u-Yz{Hhaui$+t*{x6#WA=AS7K(BusU|3%ke0hbZ5{H zlj2pw1A1d~>Wk5A{|HUOZ_p_^jd}4;beZR@#_BQDMJafoI{JW?=nbw#m)S6M-9L(E z@gDTX`_L?Y4_&55qhCb7LC-sdx$$f?y?R^?nDm7F6jI9py;0d{`-MIFn=f4~4A4HE}3EDr4$N!05Oj7X1X|=+IdC>@5iRMHpw5N5^ zjy6FzptiAnN^GBoK6oD5vHN5FA$Cy3nEk z=<&*EvR)P2JE3#g51qoBWBpz!;D3@Br4tf6*zb-Z@0BBih~%ea?KG zfoqZ!s!*uZC4(Om{Etu2di!g_2q&P~IxYGbUPJvwtbjSXhHt@I=m*84XoSw8Nt>-( zcw1IPL*E6Bct7;M$OQ?hHXg zJsKC`UD$(&UC}ec|K4w6Xs^)z5Ase(CKmJ#7c4`2{xq6wuSDO8$B&_*JA<1sYo9Qp z?O1~P8)(jajgIgiEX;#1yEf!R`MzOitcSis8e{73|Jze=?yil_#p={wMSm!q!T(|2 z>%xO-;BC~qqU~>>BmN5gU4ItaVD^6Dft}F-^}xkAIJTcxlj~w^$Z~zSAZIjBv_Q02 zv{bZ0v>LiY)`|7T(U#Hn(Js-R(d#hvfB$D-Y`7^pDtcRVa`dj~^yr-E1JQ@0%cHB% z4QG9H9~z-;ThZ&jN0)E*q2UXuB{rabGtR+PXa}m^6y6=lHWUoa4QQywp%0vf zE~BOBm(A1YC)Xx)zc_+5@GQDNlpYq&8;Nc-x1#r(if+;K(T=Z<_2;mN|2y@!D3s*D z*Tchzv)&xuewSe<+DGDb_yW4oVN;+pMnv%8J)AKXwM%&_K(El=*wjlI=8Q(9sU-pWA;&@WA)J~YJ(>60CdDd z(Fl%5bLMvR+j0h`{`(*IQ&>d9aJNbmaBW>)WCcx+c~K#`?{-vi?1A2MuQRT=c?qSP6Ha9Xb))f5Gn56Jx`5JR|6jq>qCwkplv;#ZQedK*KGDmR*9!Kw&oH`+FAoK7l8g^k#ynxlP+QjhL z+#hRDe-It@HJf&P144gjxErRv_>P{2^l~#F`U8{8Ybg4SZQ+j zBa=I@G4+Eu7caRzBlTCTi?I&%mUm>N{!{Fe(B+tIN*F)|G}(rr**+G1@Qm0#Kej)D zSNd_ckwQ66coQq*kLdC!cxU*8DusRrv_a?iW^@iGU@LqDt6eXuYNK&N1GY`+(s zn%QWwF2T-t3eBAccZYYt)tLJCe}gDY;lO141b@Tn`0hO!slT4@ac}tIc?xIIUTj(j z^;(=m{VSY-qo#+DpT!%fXPXf^aufEZJ|4^9K{S%T%wYX*r*MIWW4QIc@PLIgGZL>; zFET6qneQ>Yo#oMGc7}gxoOo+aSe~!VWo~Idg>z{?J1--#ocdk!GZLRsFM5AQ>VLlb zC(fe1=>y@H(!PZuC$cUgBqqyci$VyCpdl)QCQn^7#8;!)Jvi3yM9+H|O|Et5a@vH3 z{#Eq+x6zS)i{9r~^ksGFgTabP3T~b4(5-kmrf!7pT(6?*cpu({pQFjxZ*fNI--aa7 zTq*ca$er5g1G=C|ISOmxGIZI#jqappF%y$H9u7NHC9F(CJM@RcIP^geqZht}_3%rq zjs=&5xon5No=0I-+=mtMcXS6Wu{3n71G>tFViTN)Y*@*}0SbO^_GQY)Enzl ze;9}0yJ+&%ek5#I*P``#=#95v3p|RWu*jn!vNN$S_0O>>)>|Gv^(No|*Z;c|26Le5 ziZDkD(UERIm*WXEBLAYxF7vTqd2|b|7VAwhwLH-+xKDI6Iz`jaDOri$=WR^=``<$p zy3z0%x{j-^3?r(K)(4;+8IC@18k&3$qB*h#eaSqFCi8*V{xLSA{$;FZJ|51ih~`vV zOxC8*kAgS4AI;XK=!4gwJK;t&t6z-A_n{w=htQ7wh>keh6Cvx1p-EUb+5^3QESh6U zv;!NSVEwzycF|zgAC3pUMjw10T@@Lt!X94$o#O`Rl-z+vWChycXVC}ki0+BU520EA zHD==9SQ3k_PKG}YYqC1*<&*Gg4(vqt_^fL}PdlR>y%DqGM6`o<%Gn>7Sun*npkX0cwiS?M|~Q)1y_D9Ohp@9@A~ga!T0pP zXz0ss4I}T4X6b$CgC4~J_z!l)>$Zid*np#{KZngR^ZAfVgRnaFwP<8MLUZRlI)xW8 zC(lo0-5wh9L<>fXN6Vtivr4SjjW&+9igt*0i(VVO0o@mFijG5*@NP`~_rK>+utyI@ zABjGJMqoV}(pS(d{~4W{|FApu*bzQZoHPUI?ooH=6CG(BpN`q;K^C>)%hP zel(awE76W@M<4VGI`VhW^Nz&!A}@xQOeHkLJ@ICoj-G!8U7mlUJ7xMyp#%BQWmy(m zV}qAi|GpHa(qMMJjD7G|d>F6Z89vLu#0=^u(1?78KIorlmY2f=FGJ5OgeGw@bcY;= zj(7pOQ$C62!plhtuEW>S8|HW=^fYg@43?w49-6)Vu_I1G*ZCXKGw6d0zZy2G|DpG* ziH5upIwe=f<9*QkCPz{*M2paotwt|+0iCmb=z~8&A9xNcVDZ;NR=2}`)JLEL*^92C z%XWp&_eSW(H3=)?3M`HLu(<30M+#TbkaKsKleTCF=At?A2)dDMK|A_htbZBn7txI= z_v_)jmRN%NKy+)q8_o7*Xz16XNxKs(y8bVJBYZG4Ku5e5^WhG3BnQz4pGSI}$nj>l zVFfhAb)rq8ZPDwmLErm>u?Z&e8GHrJwGn&hxa)r0Vt zdR~rw;qP!OqjSC!&Gy&Oh#f$)`zvgT<=zU%Z${seX;>RqVGTSI&Hi?1Z-9<;6#5R>gw62R*k1FUkbL8@A?=T$%l_y)$&h>n z-wh$}5uJnP!ftfg9Ky=@722`O-V33uf#yad^!$$K0QzG#oPsX1d(rzmg+_7*x*9%A zQpiH#0-Bv^?}tbfM3bmev?=zd-W{Eq&DaBXq01@%2jPcE1N1@7(N)w1ePDm|y2;oI zXW=!Ne4BzN7W**txH39Nwa_`d3caukdgB3Thex3!9*fTXG&K3{M}HALiO%^(G!i?b zugCWN$aDF>|3$&~|F<|AuR0Vid%&6XgU;0{^nv+53Xv#^)u~rRL);fl*72B$ z528EYHgqHU6zk$SbZRRe;X2oU6AJeDTC@X$&=F2SlWhU|^4NlQbU&8BqiBfFqa(`t zai|x-TGUJ9JJ=h|_A*Dqsu+ykZ#5=QQP@erjp4~p!hy}`T)u_w5697W!{krH1LmXW zKY}Lh8Z;MPLOcF8x(be?9sL)LJsgXPQ?&3H>Q5h`uD>5G#J8l=v=-K>xa+> zeiQ3|M6(|Y9WI2)PD5A4EOY>i@l}@3lV}8no(R8!lXp>Y zu0BRz!@r~1Ui0g)QS?KnW+j@v?_o*I`c24%@@U8EpdD+B=EOB<=!c>mxfPA@otTO9 zF}40TQZU(G2@Q$EXb8VXlkQja2HCz1^}J|k%cHBICHlZ_(P8NMQ__75rr-^RMDIXD^Z=T4PoW{)9qWhCk^G1z=>>G8iSI-ErT8P&V)z1Haxx5P zH@aNkL-&!-G4=2NzNTQ0|BfeQ`yo6qA6BEiELOsv=!TNSD!3NiAwP_M6g?XKEcyjH zMPH$-<_EN6=P>o}f1WuN{-xtKbomwgG1wZ-jZx7#Se5#E?0`qmf0SPGbVgz?^*KL< zTTEte?oJl_RnE8wEda&pIY}cxC~dIBi@1TeBYrr$ni_~m~4rjpG0@G zP3S5(gEjHeUqg~M!3xyJp^;mT&iy{DjOVctmN}aY%jSl&VZ%tG7tBICvK5=*32cI; z&V{esfmomVy6ACqY6|`qI@SbDzB{oKK8i-{B(}xczlZuANeZc#4BF#U=*E!mkMI&2 zii@ewMweglKf?%mq8+>&d*dd&9J8GdxpO6&Q{~Y})y9!{8#?kY(2vt(;lIM1)J3<% z_SgrnMVH}btc|Z?Av_zs^zU%I44PE6&{feG9eHPTBN~NvY%IEL??#{VC^D7F#0Cm3 zhtDvzv!NIMj;U3F?&aD33H99Q1B;^jMp?{?jnU=R5`Ew`*d7O93tWdr`UiAbUw$FJ z|I1M@iQ1!6Fch831!(qf!-n`F8nRsfh8tBtld&`A#Hnb9XQ3TgjCSM+bR*jw>wDty z!+0tCPvR>IhU_PFqsetKe9aa|KSTzh8`KPR#E+sco#$eGFZ!Tk(bMSt{z0!R@?SV! zBial--UXAMFq(qPZ(4K(R-?WHJ^mdU@(XCFvoS$VQ7-;}=llwEgr(4q)JG%P76;-j zSc`q)eaxhukshuqlg@wt*qx~^4dy@-H0fGnf9#IlaC1EV8k!4x(Ik2g&6(rK{S#-= z4*iBsRo09wsiZ53PHAKGx*O3CliM=*zkh0o7t!Fzwxe_RGMXg&(F?vp=k`}L691wP z%AO^3yb#*)64(^0VmTaz4&XtwqpQ%IdOo%vN>VVyC(s9+N0TW_)-0)?WVx{)^_6Id z|3M>=CtJ9#Fq#w9(Gj;rJANaYw0EHQ+lD^pHFSUhejoI@4pKh<1^@%`vW@HMRSG_w??<_5m*Q3qq+4u`ajY99PQ}um!_V> z_g}7XquS^eI~14UYBVBEE(;^P8qNBFXe7p?51x(f@Hwo9f1@3!d3ktnPpn0K3|7J? z&}I8JlK*5i1?M=CJIrAow1>sf2Q@4|c(o=v16RJ6bt!NXF)94zxqp z`3-1t-WA*Dp-H(0lRjuG1tah_8uHK4WI2hRco7ZRW%;tCUdK)FM(PvM6tDreH7Jbh1=yUhvXZ^b;e-RrpuFR6!vx{LS?L*Nlz7HMgE_C_)i$L}Uay(nrupJcI5dJJF48cWmE}PSH_xIcqxaj@p zI^TeX`gJt9j-n6x5nbo!&<9uz`p^@p$lW-S&X(=^%|oBRInK%oUE%thzq9rS_6 z&<_2Az8n5ScfM@@3lGkXy{Om6p*SDMv%#Fh%G8IK2=9c&m`?p+bO6iHfjxnjxc)a% z@NKpOUFR?3M%;^c;DpR9iB;VA7rcS`gQc>B-|=`8^@^plB<{rra31C>6FTrXnlo>s z`$OKcA>^gej?~1wuK$J$AjrC8_ zRq`W_#!ISXNqyf>M6-JxdfyGv7tjIjLEj!CT(GI}*S1zqFu0nrhdN&7@JDVLzxy)w3MMyKk7SpN*2k_(vn@Bd#> zC-kT|dV^Z%$Qq#?=z#9&-OvrG54tRGLOVJKz3yRjjvqr`znjsyek<0Gqxbm}9mu~} z$ho|V<{&O)|hr&_{&dEDi9lyfLctwM-(=|a~yW`LiFGM4-0yA+pn#3ot66S9hM%WA; zP-k=s21Z9<4eH|?vi^PWS{lsW7tvgJ1zl#Zp;Pb{mdE$dQ2&XJ;6L=bT#drFU>@{- z4bcvEj*dmIdkCGP6=?QvYQ*|?P7lTtKE?6WPoNLzb5$705VU?9nmkGL!(=gZZbOX`3Be;`T0xn12f^l&S>;p{|1cNmSp_t+KBU?*(W zEKBO2T+Kt1DR1*|UM4!y@@RW?bbw8woud8FDM^lq4dcUq(asK3^5|Rn$R*_SENZ2WM8ta{c{NMkJ2d+aSF&qu?WHf8%qaAw= z-J17eMf@B+KU?e2u>$C_tAOTC^XS#+K)R#%8H}!uN!ZN2^kE9#@Cc5@M4OQ9x1k|= z0A06_U}Jn7>*FzOhF7)?BkhGw*&uWPSoArUk5yhPY|8 zD|*3=Xts{QDL4mB#%%4w`T5X}mPOC6j^6JoG(sKF`(B53a1^@Al1ToucT;c~-G|Q6 z9CYtqial{PR>$+$3M*V4LO2SI++1vr&&T>jbm}T}2**2P59*V!8Xm;D_;&}^za6O2 zG0ah2bZ*+BAs>p)nG8G#H|6ox}Pqgx;_^R>3yt4Q@lYI&J@02U882cDEYKxvz3niQ z`e-bP3z8Ik>utuNxD{Pig|7*rx&ghx0yLzrp*{ZwOW<#4ZshM8rltnE^No-7rPz`B z=jg^%p<7^sy&C-#9nl|H3(Is58&e<5q<$;98Wy784ez3n`5~IE zN4Q^Uv;)o1j?G0Qwh8G_GVwA6=jaf+bA5xo@N}%V>>0Mw4rmVC8GQ!rz~^Yz7w#20 zRu&y;TQoWQqf;^y|KHbJ07;Q_;o1#Mn z=<+{r)#)$hzc=EZh~&vUc`UQCs(X3_9qt)6UIxSJ{@+SRhPz=I_yp>7W~|L2<34E) zi^9`&+)p$j*K;pHF_;FsYEaLEzEA~ihM4nvL+*m!LlyoNs*tqx-9q!gXuALF(ox0j zptfc()O|W0>KZSCy7mWQVfYm4jHGPfp7QokhjkEa45vX|+fSyC)6lic2%DiV3bo@) zp!4(pTj}Uf9kYpRuo&a#P?scKBX_0Qpw37=sDwSC=Ep)kFQ!60=@vj;lI2jZlAED! zrg zRnTZCyBSa`S`U-KT~KG}w#~nW0Fo^u7JAj&O#M<2bP0>!%DjUbGLQx z&*4ysw!!T1F02EiwR3N$wop4W7V36f0d*)(L)`^ep)SQ;s1^P&efak7rHcmj8j}qc zfF+>w`tPHot(pLJif=+M{B87ha1%s=ZP3Srn(q%4a0t}Orb4ZBDO6!wU?{j3>YDF| zD)bW68My_0rRcn-69#4ra#xrO%AqQhzNN7(RDvL=Yu_Jgt4Bedl_^ku>!1od2%Usb zXXcjaKS0F^(~yfzB$w>J_b`jZ&x=# zI;eunz*evmRH0X3Y4{z=uUI$tYz&5aZjATQ(P7#Rb-3Ej(mAX}k#Q zF@F5P@EFvN$M5Oh*1oiKbZv^k^sp|}mJNe?AT5Ua zNM;}G%cCoIuK?$_-8c1fzfv0B-`$~aP-i0C0QYdlgjpHKhe}u;>X6riMc^`6Mz8-* z=v+aOaiDvfgc=m!de|5wscg&Bvs51<0jIV@0#YCtb+VESfI*Rq@GH=8~f>b5%p^&)i% zYDeBdU6LPAcT4nP?j=hEe0OeYJulr8h8)tE(tq=`(G8uq9cbSP*1!xP?h?i3K|3DFyHiRp;oj5 zCWB|7o@j5O3P?ZFo*z*DEus8-L**F(m3P8O?tfjoStxXWFNb=TpMbir??N5UcTled zVMn=vlR)XSLlsgE>H*Zm#(kmUOoZ9tGN}9hI#j;bPz8M*#o=(aVzhg$VnJ0H2(_|w zPEI1usF>0r|aJZ>QW4YvYXJz|BjMG3J+FCFhYz?&&v!MK!!gO#GRKd5P?xI-Z+yy0o9A19^ zla97H8&u_$pc2-D3e*K^r30b1ZY*pL=Rg(y3+i?ZJKnV`1?5)*>aAQ;SPagECE#7C zJjo_#0o;F?oDN@hLpfG~y7mpBZm&VmIjv9y%z|3UN~j%J4>QC4Q2uYA9_8Pm4sq;> z?wLsgwXlLvJ6J<{-Ty=Al!r5*uKh!(t$Yb}$UehzF#II<{e5+qi}7Zt!k$B2f)6%M zG1)y6nV@#46x3Z(8EOG7VIb@douB`oMn{#+g<8QDs1+W7N^lfvC(ax1Lp@mDLEV<& zr?~ThPdd@_x&%LsQKq^2K&ZPQ^EB>%1bQE~J8BB$`W@}+;xDD#b zcpK_W{0FsD5oWkA)3Kon&H;633qc*eCQv)m59-p6g}U}jpbFV+^qr)mHwq7-?sxA@ z*B~CO%s4C5*88B|7fgiCsfP-vVA6D$mhsR0cBSV z>e5t&T3CIk#7&{jOgorT3HsBK<07bvH`w?9T*vq<D*3f>RkEUFNdiJMX<*uj=%*%KsObQ=By%qDUcIOjA?N}qIoo=(* z=Wbme6nfN-wuyN#731}AKfDa%ayF){;TneKuVJip?}n}G-P`gaRNy;M*ZLXMCH))f zT7QSyiO3t=Gmsa`u9%NbdOBsG4ox?xYdHk!5j)xD*Fasft2U0k(OqFt*b;qHsI5N= zbvQkn+}kl7%*L=9oC$})J22s9m%gub3Zl5W#l5C6wz_Nx^`348%mp7oZEd`5?ir~D zbq0Duosk1jm*SVP;CA;C^@nHB?}Mk{m>ur8R3GpP?>oz;5@N$Ah|5>7euf|K@Nyyc$8C zNS+clu57GrY;0_8>}2d^9Aq46oM4<`Twq)QRp18beExToj$Ul8K~;PgMuu;ouI+cI z9ci-1eg8iW>h!LKdgShfx>QeKBpA5YJ!Bc7UX*e{?LZZ%9c%#;!2Zzr`@b{jXyq$l zQMeiEf$ulwAubyFtb|P|txKPz7Ix zdeGfF=yN-v54l^F+E^6Uz@R=b;;-7E}N(uE|FE7-q zS|zB%TN^4-Yp6uMp|*Mi)FoIAwSZ%gOX2gJrK1;-8?Y!$c+%a;)rC3>&7cByfT>_V(=UQ08Lxo~^bYEg`~~V%N4oA7 z8WYMt71VrAsJoy%)S0V&o%>&v_d=nS4Kc&1P^WXX@u2ZKN)WpW`Z$q zxOYP_s3%`jm>l*q{d}k$-3!COmp8cob=$o`!D07&gsS)p)T1)srn`lSpx*tagIaMJ zsB2vb%Dx>;3Hv}5HXrI`b|p*(hu?Cas4HM)#_x=UeYXQV-%yN)|H4ss+?Q3~UH1^3 zgn{Ve-*bN$Ek8`pcstY~djNxA*8A?4+4JEN#@FEu*zZAr^E+TQ9tL<0vvtWHxgShC zdF(#geTAO{IDa7cB-8_?=+gk_&t>g}xf$ns=6M^i zT~LMngnHvq@uiz^5FEz%2Gq50_=>L&^!L98(3y$i^6LQ45ZK{w_aoFdFbm@vZvs5s zNHh%Ujmkf71DroNlH;BGNS*+*qL2CBebAJII-G5d>!B9*5$Z|V=>s2R!tpSV?*DKf z-5;YV0vj@M8|H+0Ke?{~9bsn1hoG+Adzb?j`Ru+k>JGJ2tD)u}K%IpwU)%>(O<0Wa zD5%0tLLJH||B#3L{09U9p5w5!6fpC@?t`WUR6*n6QTPf*WhXX$b+`E7H}_p}wC}w2 zLSGlw#%|^h_hY=busY+?KLecq`)Rf@{V(^4xd-}kVepBLUhUHT=N`6!P+PSC7KQtu zZkzvLRhZ$on`i(W%J?!I1#5F}=s|N2euv&rUZ((0Xs`2)$r?~EPFr9wd>@*>f4Ggx zSB3F9f7`v0*X#WG>~nAt27|(SogGOU&g;pDT}_x24hipdz5}{Ag4g*wLC>LX&ovRf z&ZpfcU@gX;NM85LY^Vi{hZ*2*8$XN0-#^qLiy7ISC;^)>?hL2Fi*Pb*{fEo1@EGGU zQM}F$Rg3ENJYn1gR)e*ox$#y)9m?x44-6mO>lqA-!U6CQObZM9Vz>@%U^)~tp;mGT zc8B+&9BRb$I)9Y<0({4~NGz}OS1_~0_Buaw`T!n6-!YEYc|K%`>vc|jeb^ZNHFy^0 zipLJZF!8<4Bi)yRj_%WPa6DVv9~NXBA)(iK-7XFFq-zgLz>!e)r{FsH6MFGmoyhC{ zB2r?nbIQXe@j6e|3h)_rRpC9DC#l!@QZ7!QSO3L>&(oNWuGL9c9wtrZb-u7@4+}8f z26brOL%k2koZRc&UbUgFWq&CBN>~q`hq`p>Qh1%$`TbB^Juszv7FIw#$nL^2y8qLq za#z+B>OS8Nb$>sBabdjFu47iH7o|2(uabkHF4ZWgOSjzg=V2MfH()pzn8syVs0C$( zx~+p?65anN>FD-*0TrlVS}*?r1&0oSgQ#=8XzFwv^28+dUw_knW@>P>06>MrX;9i|S(O;GQMzCgV<`vLWq z?q?0J^X4;LO|SC~DHaTiJ_XbnNe{E@{x3;Kw_9&m1g?d;=C7gdioCVlLpKh_X1pBg zlI?*h;4P>J)PKeVwcW#+8|qzjNvQcIFaqpv;}I~i?*GMfk~47tCWVh+WEi@Rn>Z?z zJ}nG{W#JIm4$AH|)M5JywUCr`z0RA_x=@KnLhZ;Bs0Yz{<2C5K|NpHH6A|jUD~t)F zGfrnL0IM;s1odE92LXhlO@fg}jH( z@BhSaH>gK@^d|15 zZ37j5B~;wtCfxta>D)xI6#ANao&WPOMKkx>u7|4hBGeXtw{hy`uD%M?Be)NY1ZTjQ za0yHecfdOEuIY2Na2Hk%YR4P2@VTe66$(|{!wkkjo%#h(1#Ew9q+ zn%k^9EQY>UYp-W7JJrvk&jLoI-8+ZupMfP4jC^( zU5bY`{|V~R``h?O2iGs5F^w??RN+OSz6fm#^bw{c4tk8wZaR2YTvI;c~=$9N3tKEDWc-@k_P`v}9sNFANCpiLOGe>>bPlqjz>!SPtq8^njh=8K^^Cu#5C$ znog$^iZ_ralBZ!;_hon@)QiO~7z%!cs{A|DR)*>3t}K!<2Gmx^hs9w=$WicghRIcVCXL8}syVFUd@(!WKilaajsg;3cR_ zaU1G^^vv`Ldb&H60_yM;g3izXRi>kB)Xdlx>UQf4bwAIATG@426TX6FVUb?$;TsLL z<

6cm}GFTTp(FP5%$n83^d@Ued(9x&LL59EBWnK^>+NHm(j6F>VU8!GTb>;YO%} zUqW4q_pluN3biA}`?xz$5^AMYV0PFP>cKS?Zh*V`aQ|zo+xB(e%`S&67+3G-z6$Pu zdRcu3*TIJUz0QY95e9gjFRxcaeJC|_px5~|-HU@5W0#4zI&=eIYj_3fL04d~JAMeq zGA`>I;=bBlf&Eb=8|rm_2z@@(3Zo8luXP-#oe6~PU>2xH>ulH+zJvW>v*GUHy91{% zPCCNt{9w}-s7q9Hqi1 zRQLZ3I!jT+pXwU!gK-((hNa*qSP$l#=5i`*$oLJ^p)Eh%eIHO4>h^5~6T+TQZ&)Tn z9paTx530Xx{vLFG|K~d$y}gb(!+m0vhdRYQp>CtzP>HC)xZA<3gwcRzaPW zoltR(+x$tWIG3Q}+<}}+-tm~h3*!ftiLp4B&?D!&co@D^(RUnmFf9Crob zpaMrR#(`RS5~#zN0V-Z~V=br!)rBg!9aNr9J~}#VL!biAhI${c80LrTP5%O_p!ZOP ze6#Tns6+vCnP(y#R3Xvkxo=PsLmk%2P=3j^|Hwj&T0!4BvJPRdswk^Tea36h?;vA3 zxC^HWHs285SEVKgL-eIe5+cqS`jI$bt;w8(Dq}P5O}_#0dukiV@BACVob&`tt@2Hx z;-mw*!RF5~(B;tK)BC)H1j?xsiZn8|He2axQ@CDPXL9Uw6DuCYYPXY9L=AX9H2Ei* zV*(6X;LP*F^OVVk=)D9OhJFhi1jnJzhrSa#(~xm-3P{4-S_1AM_)Er1S->9Rgu~_- zb6;ss(M#&0-%9*UG)V%VE-G>g=N4?qObo-5K%ZdnNvR`CslE_xF18m4&>ou~v{m$< zpdSm%QNTp(Bbd)3ij!ODxQH_KPFk#0`P5N&l2y6JEnxr)2i1^Ha|51Emis_C1PjvApFuL>m z*C@6S^fEz~&^}=-;r}G{{6V0CG`@x7NI|OBC!p(WEM-ahtMNZh`xD#quqC_F-{Q=} zCki@AP2%rmZZ`!1TRa=YgYG}T+HM*4D&I6n*I};OM`AG^F`r$ z^!e%kN3lgI^sp7_PxdbboTEJ?#x*OtqFtIc==r$W<7-Wz#k4LMl*6+g0i)6+bIe#D zz2?G35*fy`UEvdZ&p5NyTnU24qrI~o$iaMnOFWZeFH-0=V&!MP9&wK8_iwTHoFK>u zI&o0Ww{4vUzv5JwCK+g~i(O1sdRLCfzw~q3_0;$>{Z^Kg?_vH=CK9i%joVp{f%^Nq zRY-b*m9|o4Otc_yD!2@Nb}Ftxuvh51GL{q|VR>wMBjdc>PG!8C6=i0u|Ef6+EKjk^ zX%X4Z&g=1*W3n_{xK)1E2l_?p$8zbN}-AUOt$VYnNEzEqeS zqw)m#i%X;rrZO-tMge>;!jqX~eb9x+wjcUGXw&hjK=PgF{gTmkPUG~%$w{G-)%r>= z4#xcPD$i|#wIjLyx4Lr#?5qMX`fP#LQq*(Cfdu1SxThZlNc67vIDWj1bfhNw?u^S5 zFJ*`#_`w-Z8WLx*osn@AzW?ZXN+P}ah(_g-V-zC^AYc}f{mFPLff8ePiE&5TVN1?` z_3V6rxfNYx^Q&itEXTe93G11yUe5i}0oxkd1@e2E(`k*-B!aY{Uz7mjNI04Cc{l|g zU_~Qvnt|Ql_zc0W0sLkwjKS_q!%iRJ%|(9{`YRHydvDIy2Tn5LD1Zd=h;5o0N@XclkW-(V6UkM)-{ZE=> zBWXsVlKA@lyPH%QODm-c*__U3oYpc~jIDfN>8qfV z{GiRE9|yaS^iSgxkJU`4wZZ2Gx-t~7izLI)#m7$4nke0vH=PeRFa`a1~Rf?!z)UX1ad^iQ!H1F=s_ z<4Z!%A#5b)Y?s=zqn-8lm*(Mc38Ozq&;{juGaQX!Gj?Ma;}z&7iL9vX#scUj;a8UN zeM`hGc0j1M+mj86{wx59A!i(`>Y)llV03XxnSc`FR^+jjYI7>2Hw z6;hlP^2ZN7>9H9_e%XKg4$*8& zBN2qR@t(#ch{=3+f>fk0$!q~<8Tm5bQ;(pn|C2T3=s?c)ZlONUV+?zfv<@aEF#Jo2O_pQ$C-b{VGT*A_$Amo5ZIw;XwPyYz z{sYjBG@IoV)LuJ)Z4ubsc6Nppy20Xi4A1pXg25~%Zc(ki8`g`-=JX|-2>LgDePR)Y zAosCNO~UK8{qGsCHCx#iVy+XMj9&mnoug%B96({!u_iNoxhd)tN&kqz>6z14xh=7u9Ad7z`Fx;| zD#X6PygmQq%F8g-4rj796QyxXi%tdBMBkNhZ2Ez4I_(*{o!AZ_P&WdPWD$Ou!u)LJ z{qh$(G|w)LbRF3xNd?{ir3erPhr0ww!NeO36Dkn_8ru#eCP91J3%h==Er5a)#jb=p zND*SJ!gru0{}CeTQ05~t4o9290$pMKdsu~}1IjFxP~(5hIR^m~vVu$mUrwP_?RxWL zAf6Q11mKg3c95~8F0CWBdl`Qv<|pj;Fh7K%?!m{zn`{L-``?HHuGorNV-ORA+a!{N zBS1V>od&*!Hwbo%x%IXa8R%!Dh{X6bpq~%@b!<{oz)dUkIlA!pOYYO3M85m((Bs>z zYe=OzDIgWf(m38gr;k}jSe22`g(tyYf~00{2li9ZWnw&;v1A!V45a0twMCbmV(Q`} zNrlcY)2(xi7>D%pKMid1D-Iv2ZXY}FmC8qB$dBrI-lOx&Rcs{LX)~Gg%PR_9h))|7 zhe&#b7@?UTObeu#>MZUEO{wlP9~FI5im#{te{T@R1)0o}s1X4D*dBW;gm$=ngUV%RO=|B8KDw`s@1pyEQ{>Pb?hy z-jQd8B~{Gt%x^~Lm(mm|DGZ<5C8|X~lLcNOW zfjPB`5W%uGTFG|mJG#syU(YyzqKdJ~NQ~za>lfpL z6q$@dCWMI5k^X$_#xpm8mVzQ8>ie(7Z8b_14&^y3sF1DfAx_EZSEj%orh9Kb^RS&m zpTExQ$V%q3lDHK5wGR7_u9 z7Wc*Uk8PnEz9vU2a*jn;nb4mISD6skEX*p_SklSO2W8C1pbf=m0``BfG1(a}Cv_P5 z^WaYW4ijS)ExP3i6Pk^iXUT_9t0W!9$7s(<9vg;~t^|2Tz!tWF)96cv5OgmE_4z;S z=MyusZB|Ft91s5>eBZ(FjL(GS#yLdCFQ4da#c3J_tt}XFJ<;ihv(;W^Wg}7EW)+>R z=vvq`ABR*($zc9D~WC zI2@pDqT+3|e%b=0D6EgoXKbe9yn=v9>5srhQq$s`MVAZz7}(!J-vx%Hou)s7-8)Ue zCaE3vK(UZjUL@!V3$g+SNfO3oXI>1)SuJdN77{-x{Z$qx5&e4PD?>d+(A~#n0qjHj zOxUH2lbdZM!Zu(HC8#3>=`s<^FZ#te>z(7hz?W_)gk=9^pDafr|4bqp`jms};m zHLKOt@b#7zTAqS-s`j|P@|cXGjzu=LnsG#?CEExQjhdP>4u!syyISCgqi+N!m015W&69p4k>K8_sjAe*?#p1S-HdBa019 zqA0BG7Xc2D>?F3&X#?GO&cBNYT8{a1mgFDiV_RPa{J@N-FypuAj}t$xzCn?Xj$cYL zv6IT{V|bqAZD~I!;1bFAki5L@z-08D(AUClBjoSSdw%05>1FIrtU2iSbA|I`cLmO( z@Z8uh!ET1Gyv})g3>#Y!Z7?j$I4?$$g7kCIBvF}5ic@D>QEr08$1efAjsBPU$Tkl; zNlMcV#b*@bU)YTgu_L|%miQNwmFN#)a)7NeH><3GLm_jhXe&E{-BR;wiH+nuE8T$Y zDcWH39|`kV0SU0zchHV7PDycfVGO-N{htv0lUB|u!!UUihZ?ZH1(V%A=5nHYNm701 zvzyJ0Bk3O@Ru#;+x{WVmmxJOuk#r{Ks1I?gF@8gH_WuG&cQF`2;6XS(!*L-AuGqHA zY=r(XDaJgnYtBznZ-Sd?IVntXjwCsBSc#RDethD6C3XrH*PdceqnB)SU_<{P~+v2NXE6K%pw6iEat+B;lB=2zg zdCW$33#nJPSl9KrrCY!(y9 zFDKXtNi@@SCQd(Me+*%x`7*@&f&U!*Tj(ugR|bAbhf_Xt2)5OIVH}&wSdq#li*VdP zvKIJVrLY)gHwaxeY{!`0CX(+UUK)Jk(9Yt!(TZ$I{{ah3tB;KCF&UYll1Bu+Lx8_& ze-a?91z*Ov7~{kQ{7%b?UrFq{(~j6qEh6|lORiYIOh3bP#i4!+tO_x=)9zy9i)*VN zD-YxWN%TW7%S?Zm6(&Jn3y0YxXh49h6k8md610UBzY5)3vsa8W*q&ir7TM3E^F%sHqVu#=PDNCVaa2pv1e==l zzvBE8o4;uH2poiSc@nK+rxr6e2`0e5L5M95v}8&c%lc<5u5@j%cb)(r)NOihh|||6}udis(VYJM@pEOKWxw@#X(k`JY_# zf6I6;N!C)$9)e~MQDI90wKWHRw8^uKfRc|Cypo_p&`IK8mj<0ABD>cMpKkPzV_(kn zWngy-D9d~p>|J5~r5Lnf;s=!`#_<9{i%~>eS{LS;5@a#Xk#NMslaIv1X#b&K$hbap z6Ri*htwh_5-)#+$gv|GVP34T-fG>z8Nw1F#j$k0k%fuPl2ivY?w$<0rox~vtJM@rk zO-X;c&CQ~SniO50xqB4RAAL7;l32vafbVBZ))yPU{KTgnMf#efiA@1p2;3B9DU9-3 z0Kahn0h%%QH%(Fw24i2>3VlMLQ6yha3#1jnKNs_<>Gz=Vt4)p^B=$vHY++*F(6p@8*>?MnAF_$PJ z8^u&YKidjAqOW{v;}nsEk6;`OF5wg!PN4a4t^o%y|DJw-_?se95~K-|BO5cfG;Yl7GVs}_SA6(Ib3DO9Mr%e7s;J++bQaB1-QRe*efIzDm zj6`3WwvM3dDJUDe_}vzi4!@t+q@s{Z#EuNVQcOZ@`_eyv-yi(SqGuusNo{j{;SN3X z8LzjbUG4J3#YwWxc4Bpi)ul9DM0~ztR|EgfBx=ieApKXc2)_LApXa{qbaQ>ncr!*f zQKV!d9h|R~+v@AWV-~oEIYl72wkmTV)Tq!9j{NR-E)?noGO-(N&F7@;LUoFpVFfCd)MJS; zm9_@omMC(eOG=xMZVa)O>+8Q!R&5k2%wpTzioTa3{vgR&90Lf@5l6{l^!3aqfc`Ud zxs`{Ql(B*|b&T;l3RsKJT9Sm6@(flIuNFC1F;~n-Wj$$rd53Zf zZ7k09Y>O*le2abu5>6x0IL34F$xreF^cPz4O}bR((~}tcDWVxZzpe1=@~2hBCNq9B zh~W!h+d|o@Ls5A(9Phwq=xY%85)N~5xJr;#=>EX*1d0Ab_mTuJm=7rn@m)ZS&~O6n zJ1r-1?x;BAD7?VDWEuHA?dY5$a3v<zg@gmMUN3w=EiLrQ#t{7aj}j(o@Fvh9p)Zc$(!ii%HvD*d~*GiR}xj%`1RK25>H zh`9ipdBmwsKM6jP{d)iJmmjR;KMa=PSP`Ql>_A5PZ&_I<0Xsgo}dazeLU{d zV$=4JAwF!2ZDXQEfZg#4Dd`!cRwZ_g8j)ux{QGupx)IfsU8P#k4xl-CGw(u(m1 z*iL{qBy5bnG5rEK)wLD*ZN8z8Kzqn8jJ3Hn`0Q3Z3fsioF!aN1hZfn6{$`xt$KWxO z?Pw3Ea5YY+aq!Ds0?lFk2D_^`%w@i+t$e<%B(Ad(jyo~FSrYk=#%>2XnQbti<`lV@ z@p}qu$))p6B0)Nw8lbp9aK9|TQF0T<4fLxqf0ridPr~+Y*Rz;_SqXFpy9M;WP;7tf zXPAF^Vi#d90W4@fQ{W415uaxuh9_BFQQA<7$ps}f2sBm6aU6loHs)%hU%_}3b3JLV z(3Lj(C{}zyitH>uD^{^ulWZ&7un*smQcL&Xc-zL16LARMnwEqFaV^1fR#})rezE#Z z1i!*KGKtn>)5BejCnIw)iMJBpkg|sPz9EvQW4;S9lIuOVm&)~7%wVk&cCeKM;m`>q zF9l2?z&;X5Vv=+mEu^HvcML(jrZ0$35cU;9*iE+nNINe@3E;~>!nPRZq>xlh^rF9p zV3H5$5?NA>quWj-q_7D1T|{>e+kyD4hDp(HL|+2GP$B%Lpu1u_QZmFDyQ2GFGQ%d{ z(@$*4>svC%!2UT*;I-K9C(&hsN_wJe#LCiOACut!k+?c7wXHH7y2FesvV*^28}s`U z-(C8(je|_|qe(6h>?{R5C4poz?J>G=I9(z^agr|~U?na~ZW3fbx7BQAf0S`b#vL?3 z(qs36@lawE#P2Eve8;aU`Wxgqqc7GYG1(tVx-)SdhlV67Y=I+LahhLEe=MurN}^r( zOtaN&!%s2~zv1u!^RdufW5`j721O|E|IFVpe2|kzr_vi;I8ZwLG zZZTh){xAY`#U?4O0(O!i1fPn{VB*}xZVbM!3GPML6XuSkoM(|3Dk2j>&%P3scZOY=>dn!~7o*Zwk5;%nhJ`WWLu>BJl`{fXUGBb#U{dfwy%s4!D%grV+a}jKd zqp~|y{fRj+ZNx)c@M_b%=st%nDoC|;;v?= z7#~dMk2i!)G8U8?pG??2Aa)Zg@*#1nWoBYHZ8?VVF?dKZflRDrg<%-qrjRfsYe?X~ zEl~;j*O||QpX4zK4&e8YaeMcNT9$;U;|)_|>@3SX4z5EO$H)Avgc; zisMNFyr#7z$zANcjw4^>U{HsZ&cW^@cH8L(;$N2W8v08qB7-fgGV@!kpM|;m#0zGA zi$2;bL&bhs!GvG3;8d0*rO=hd?msIoE&3u9(j5-KcnmB+(0arfP0+=RC3P5g#%?Q# zlT!3qVhv{z8QHlr%*Vr4$J!GaXUQxQ?Lb+^wzCicZsMHU0{YOOWxfS=O_-(!OP zhps72k_Gm)MO@JqA}wgG&~+nL4hq^RUt-4BNBge`@&UycnqOjJ_=02;F}`hq@4&&d z*6hMr^pe~3UlQm)Y=7DAxHIm*$yxPY5vMoBvCgM1P zZ2^BD#Vuku*S~`qMnmD3QxuiL2CLB5w97CE-9y?n3aMwC( zl4oOFi~{{KPQMK_k9#BT>HleQo$KF1?;pb+D+6euZyZ31jBq4&!gYy-%b zUe|v%okkd^gGn)(%H&Y^(W);5D-+-|`Y`BYvs%djD?t5>=w35-oMLjDpY+l3`Gdlv zG2e%||5JABZRHyoP-QNPsENgP`U`NB)J8XmL@jaNhkgk=AZbM3FZY-qMuL^*Gl;o) z*xw~?N-MG%MP+4yrx_Q(b^-H)3DC@kq8o}RW~iXQxg23gya>JI2F7Wu?`qf~l06~l zXB3ZY#eGRAsYH=aX#b+mPBGO;eAAtB{vAQC$LO2Td|nbY!gwi3`(hY@WRik7-@tGj zMp@a~!4&WU+s@clp@p&4F2S!M^O7U@-efE}flXR`lH-#K-F7Q(4>A8?Tua62_5Uh? z-lDkf`guMQ?6vj%h)Q98X=RD)5a6p{2}h9ps3nm)h{BT*HwpHU@UI9Ls1OR0#2`=4 zNL>GKrjW8R0b)?$9h@b-2wI9&bhH(^THYcuzC;0%HLSEd_Uqt!+6LN2+Gbi)68?EXDEeiLBEx@jkaB1R?eaAU@{o`Wu|rZqT5H?Pn$rH5)`wHpcj}=YehyxcMyO5 zn9w$oJ!PfUv8~B`hY&GuqrcAhFBW_j`{vmDE)YyIC&Vr^#qlrnI|wW(93seaoaVBM zOa$AB-B{+bqbtHVI?1QwmzW*=&G@qUC&lgy{SN3P`S6)fjQjd%?;xGVmVBr&Dh_^0 z%lus&9uZ(a^XCbE816uKk7W5-X*d$^B6uF!Rpvrjoan^agIy@*$J4H`YDsEhO1%1Q z@bMTWq)ni8WuleF1o}dvia5@W9A0K zhj1hX6~{*M4jV~W6{+WMFe}(W^UFahj)YM&stt#}Ylyj`6eZb9(v`H)jN>Yy>C31} zllSN)uPm`U;wu2#g`d!O(W=qp9vrez?VkkO57RNXOxtHGZs?BygV>=q*mtw7UP1pR z0T1HW%yfS9Cd|EKP?`3K#SEvQB5uJ|JR_;NIup@tl|KnQ9EZ_XWiJc%&Bn29dRZvjpPJ!8j zi!BY6KgZ0nD?%lox%gVBn8Bm2g*w?OYNf#9oqP1?+|g5`Qee%_U4ko@3f(SwRKKoW zPzOi5xlQOqtrBJF*{Ma_RxLUNHVX<0?9sMWU^it9Y~CuUbMN3oXF{iK9gs6Hd)DAL z*~8pP>Fw64P3NHC{dK}j?-#CaiBc6SR;e6Z?NXSA;bZ@=sQ+Jm>u!Zfl0RORHf>t< z=+Q2)Osj6qTXhTU-m_g`*PhLS+RYqtCrq5+ld%Hk4~#~s{sP^iTTKc0D^08#s@6Z@ luRQJUfGHj06l>lts9ld{fkD))vRVapXVt;MX}ssV{eNm#h?W2V diff --git a/locale/it/LC_MESSAGES/strings.po b/locale/it/LC_MESSAGES/strings.po index 83ac2730..0706acb1 100644 --- a/locale/it/LC_MESSAGES/strings.po +++ b/locale/it/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2021-10-04 20:55+0300\n" -"PO-Revision-Date: 2021-10-04 20:55+0300\n" +"POT-Creation-Date: 2021-10-05 02:55+0300\n" +"PO-Revision-Date: 2021-10-05 02:55+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: it\n" @@ -117,8 +117,8 @@ msgstr "Segnalibri" #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 #: appGUI/MainGUI.py:3642 appGUI/MainGUI.py:3872 -#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 +#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 #: appPlugins/ToolFilm.py:407 appPlugins/ToolFilm.py:546 #: appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 @@ -309,7 +309,7 @@ msgstr "Destinazione" #: appPlugins/ToolMilling.py:3656 appPlugins/ToolNCC.py:4146 #: appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "Diametro" @@ -599,7 +599,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 #: appPlugins/ToolCalibration.py:794 appPlugins/ToolDrilling.py:1559 #: appPlugins/ToolDrilling.py:2459 appPlugins/ToolMilling.py:3247 -#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "Travel Z" @@ -699,7 +699,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 #: appPlugins/ToolDrilling.py:1573 appPlugins/ToolDrilling.py:2515 #: appPlugins/ToolMilling.py:3265 appPlugins/ToolMilling.py:4284 -#: appPlugins/ToolSolderPaste.py:1509 appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolSolderPaste.py:1502 appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "Velocità mandrino" @@ -714,8 +714,8 @@ msgstr "" "La velocità del mandrino in RPM." #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "Dimora" @@ -853,7 +853,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 #: appPlugins/ToolCutOut.py:2725 appPlugins/ToolExtract.py:1351 #: appPlugins/ToolFiducials.py:992 appPlugins/ToolInvertGerber.py:269 #: appPlugins/ToolInvertGerber.py:277 appPlugins/ToolMilling.py:4039 @@ -867,7 +867,7 @@ msgstr "Margine" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 -#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:931 +#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:969 #: appPlugins/ToolFiducials.py:994 appPlugins/ToolMilling.py:4041 #: appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." @@ -1337,7 +1337,7 @@ msgstr "Distanza tra fori del M-Bites." #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 -#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "Forma convessa" @@ -1456,8 +1456,8 @@ msgstr "Cancellare" #: appPlugins/ToolAlignObjects.py:584 appPlugins/ToolCalculators.py:1068 #: appPlugins/ToolCalculators.py:1079 appPlugins/ToolCalibration.py:1420 #: appPlugins/ToolCalibration.py:1431 appPlugins/ToolCopperThieving.py:1807 -#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1113 -#: appPlugins/ToolCorners.py:1124 appPlugins/ToolCutOut.py:2796 +#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1151 +#: appPlugins/ToolCorners.py:1162 appPlugins/ToolCutOut.py:2796 #: appPlugins/ToolCutOut.py:2807 appPlugins/ToolDblSided.py:1147 #: appPlugins/ToolDblSided.py:1158 appPlugins/ToolDistance.py:708 #: appPlugins/ToolDistance.py:719 appPlugins/ToolDistanceMin.py:398 @@ -1465,8 +1465,8 @@ msgstr "Cancellare" #: appPlugins/ToolDrilling.py:2931 appPlugins/ToolEtchCompensation.py:531 #: appPlugins/ToolEtchCompensation.py:542 appPlugins/ToolExtract.py:1421 #: appPlugins/ToolExtract.py:1432 appPlugins/ToolFiducials.py:1137 -#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1832 -#: appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 #: appPlugins/ToolImage.py:376 appPlugins/ToolInvertGerber.py:338 #: appPlugins/ToolInvertGerber.py:349 appPlugins/ToolIsolation.py:3713 @@ -1479,9 +1479,9 @@ msgstr "Cancellare" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 #: appPlugins/ToolSub.py:999 appPlugins/ToolTransform.py:1071 #: appPlugins/ToolTransform.py:1082 appTool.py:300 appTool.py:311 msgid "Edited value is out of range" @@ -1494,8 +1494,8 @@ msgstr "Il valore modificato è fuori range" #: appPlugins/ToolAlignObjects.py:586 appPlugins/ToolCalculators.py:1074 #: appPlugins/ToolCalculators.py:1081 appPlugins/ToolCalibration.py:1426 #: appPlugins/ToolCalibration.py:1433 appPlugins/ToolCopperThieving.py:1813 -#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1119 -#: appPlugins/ToolCorners.py:1126 appPlugins/ToolCutOut.py:2802 +#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1157 +#: appPlugins/ToolCorners.py:1164 appPlugins/ToolCutOut.py:2802 #: appPlugins/ToolCutOut.py:2809 appPlugins/ToolDblSided.py:1153 #: appPlugins/ToolDblSided.py:1160 appPlugins/ToolDistance.py:714 #: appPlugins/ToolDistance.py:721 appPlugins/ToolDistanceMin.py:404 @@ -1503,8 +1503,8 @@ msgstr "Il valore modificato è fuori range" #: appPlugins/ToolDrilling.py:2933 appPlugins/ToolEtchCompensation.py:537 #: appPlugins/ToolEtchCompensation.py:544 appPlugins/ToolExtract.py:1427 #: appPlugins/ToolExtract.py:1434 appPlugins/ToolFiducials.py:1143 -#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1838 -#: appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1833 +#: appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 #: appPlugins/ToolImage.py:378 appPlugins/ToolInvertGerber.py:344 #: appPlugins/ToolInvertGerber.py:351 appPlugins/ToolIsolation.py:3719 @@ -1517,9 +1517,9 @@ msgstr "Il valore modificato è fuori range" #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 #: appPlugins/ToolSub.py:1001 appPlugins/ToolTransform.py:1077 #: appPlugins/ToolTransform.py:1084 appTool.py:306 appTool.py:313 msgid "Edited value is within limits." @@ -1722,9 +1722,9 @@ msgstr "Troppi oggetti per l'angolo selezionato." #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 -#: appPlugins/ToolCorners.py:698 appPlugins/ToolCutOut.py:856 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 +#: appPlugins/ToolCorners.py:736 appPlugins/ToolCutOut.py:856 #: appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 #: appPlugins/ToolCutOut.py:1412 appPlugins/ToolCutOut.py:1430 @@ -1919,7 +1919,7 @@ msgstr "Editor Excellon" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 -#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:834 +#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:872 #: appPlugins/ToolCutOut.py:2215 appPlugins/ToolDblSided.py:695 #: appPlugins/ToolDrilling.py:2285 appPlugins/ToolFiducials.py:832 #: appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 @@ -1947,7 +1947,7 @@ msgstr "Nome:" #: appGUI/ObjectUI.py:1435 appPlugins/ToolDrilling.py:2326 #: appPlugins/ToolIsolation.py:3189 appPlugins/ToolMilling.py:3626 #: appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "Tabella utensili" @@ -2065,10 +2065,10 @@ msgstr "Aggiunge una matrice di fori (lineare o circolare)" #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 #: appPlugins/ToolNCC.py:4558 appPlugins/ToolPaint.py:2965 #: appPlugins/ToolPaint.py:3304 appPlugins/ToolPunchGerber.py:2089 @@ -2145,7 +2145,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1456 +#: appPlugins/ToolFilm.py:1454 msgid "X" msgstr "X" @@ -2158,7 +2158,7 @@ msgstr "X" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 -#: appPlugins/ToolFilm.py:1457 +#: appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "Y" @@ -2272,7 +2272,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 -#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:916 +#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:954 #: appPlugins/ToolReport.py:604 msgid "Length" msgstr "Lunghezza" @@ -2570,7 +2570,7 @@ msgstr "Inclina/Taglia" #: appGUI/MainGUI.py:5325 appGUI/ObjectUI.py:121 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 -#: appPlugins/ToolFilm.py:1323 appPlugins/ToolTransform.py:575 +#: appPlugins/ToolFilm.py:1321 appPlugins/ToolTransform.py:575 #: appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "Scala" @@ -2595,7 +2595,7 @@ msgstr "Buffer" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 #: appPlugins/ToolDblSided.py:871 appPlugins/ToolDblSided.py:1062 -#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "Riferimento" @@ -2632,7 +2632,7 @@ msgstr "Origine" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 -#: appPlugins/ToolCorners.py:984 appPlugins/ToolFiducials.py:1061 +#: appPlugins/ToolCorners.py:1022 appPlugins/ToolFiducials.py:1061 #: appPlugins/ToolFollow.py:737 appPlugins/ToolIsolation.py:3573 #: appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 @@ -2660,6 +2660,11 @@ msgstr "Minimo" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 #: appPlugins/ToolExtract.py:1236 appPlugins/ToolExtract.py:1265 #: appPlugins/ToolPunchGerber.py:2168 appPlugins/ToolPunchGerber.py:2276 +#: appPlugins/ToolRulesCheck.py:1494 appPlugins/ToolRulesCheck.py:1518 +#: appPlugins/ToolRulesCheck.py:1543 appPlugins/ToolRulesCheck.py:1568 +#: appPlugins/ToolRulesCheck.py:1605 appPlugins/ToolRulesCheck.py:1630 +#: appPlugins/ToolRulesCheck.py:1655 appPlugins/ToolRulesCheck.py:1693 +#: appPlugins/ToolRulesCheck.py:1730 appPlugins/ToolRulesCheck.py:1755 #: appPlugins/ToolTransform.py:630 appPlugins/ToolTransform.py:995 #: app_Main.py:8905 msgid "Value" @@ -2720,7 +2725,7 @@ msgstr "Collega il valore di Y a quello di X e copia il contenuto." #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 -#: appPlugins/ToolFilm.py:1397 appPlugins/ToolTransform.py:746 +#: appPlugins/ToolFilm.py:1395 appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "Angolo X" @@ -2754,7 +2759,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1407 appPlugins/ToolTransform.py:767 +#: appPlugins/ToolFilm.py:1405 appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "Angolo Y" @@ -2766,7 +2771,7 @@ msgstr "Inclina Y" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 -#: appPlugins/ToolFilm.py:1336 appPlugins/ToolTransform.py:815 +#: appPlugins/ToolFilm.py:1334 appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "Fattore X" @@ -2796,7 +2801,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 -#: appPlugins/ToolFilm.py:1346 appPlugins/ToolTransform.py:835 +#: appPlugins/ToolFilm.py:1344 appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "Fattore Y" @@ -2879,7 +2884,7 @@ msgstr "Offset X" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 -#: appPlugins/ToolFilm.py:1500 appPlugins/ToolInvertGerber.py:291 +#: appPlugins/ToolFilm.py:1497 appPlugins/ToolInvertGerber.py:291 #: appPlugins/ToolQRCode.py:920 appPlugins/ToolTransform.py:954 msgid "Rounded" msgstr "Arrotondato" @@ -3323,12 +3328,12 @@ msgstr "Zoom sulla selezione" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 #: appPlugins/ToolSub.py:814 appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "Parametri" @@ -3505,7 +3510,7 @@ msgstr "Fai clic sul punto target." #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "Elaborazione..." @@ -3796,7 +3801,7 @@ msgstr "Coordinate copiate negli appunti." #: appObjects/FlatCAMGerber.py:1002 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 #: appPlugins/ToolMove.py:235 appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "Sto tracciando" @@ -4394,6 +4399,7 @@ msgstr "Del" #: appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "Seleziona tutto" @@ -4616,22 +4622,22 @@ msgstr "Creerà un nuovo progetto vuoto" msgid "New" msgstr "Nuovo" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 -#: appPlugins/ToolFilm.py:1280 appPlugins/ToolImage.py:175 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 +#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:175 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:150 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolSolderPaste.py:1589 appPlugins/ToolSub.py:899 +#: appPlugins/ToolSolderPaste.py:1582 appPlugins/ToolSub.py:899 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "Geometria" @@ -4645,7 +4651,7 @@ msgstr "N" msgid "Will create a new, empty Geometry Object." msgstr "Creerà un nuovo oggetto Geometria vuoto." -#: appGUI/MainGUI.py:107 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 @@ -4655,16 +4661,16 @@ msgstr "Creerà un nuovo oggetto Geometria vuoto." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 #: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 -#: appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 +#: appPlugins/ToolFilm.py:1255 appPlugins/ToolFilm.py:1278 #: appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:144 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 -#: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 -#: defaults.py:593 +#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolRulesCheck.py:1209 +#: appPlugins/ToolSub.py:834 appPlugins/ToolTransform.py:160 +#: appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "Gerber" @@ -4677,7 +4683,7 @@ msgstr "B" msgid "Will create a new, empty Gerber Object." msgstr "Creerà un nuovo oggetto Gerber vuoto." -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4687,11 +4693,12 @@ msgstr "Creerà un nuovo oggetto Gerber vuoto." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 #: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 -#: appPlugins/ToolFilm.py:1583 appPlugins/ToolIsolation.py:3594 +#: appPlugins/ToolFilm.py:1580 appPlugins/ToolIsolation.py:3594 #: appPlugins/ToolMilling.py:3595 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "Excellon" @@ -4798,7 +4805,7 @@ msgstr "DXF come oggetto Gerber" msgid "HPGL2 as Geometry Object" msgstr "HPGL2 come oggetto Geometry" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "Esporta" @@ -5702,7 +5709,7 @@ msgid "Copper Thieving" msgstr "Copper Thieving" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 msgid "Corner Markers" msgstr "Marchiatura bordi" @@ -5862,19 +5869,6 @@ msgstr "Shell TCL" msgid "Plot Area" msgstr "Area Grafica" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 -#: appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "GERBER" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "EXCELLON" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "GEOMETRIA" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "CNC-JOB" @@ -6092,7 +6086,7 @@ msgstr "" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 #: appPlugins/ToolNCC.py:1375 appPlugins/ToolPaint.py:664 -#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1291 +#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1284 #: app_Main.py:4995 msgid "New Tool" msgstr "Nuovo utensile" @@ -6470,7 +6464,7 @@ msgstr "Apri tutorial online" msgid "Refresh Plots" msgstr "Aggiorna plot" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "Cancella oggetto" @@ -6930,14 +6924,14 @@ msgstr "" #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 -#: appPlugins/ToolFilm.py:1502 +#: appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "La geometria risultante avrà angoli arrotondati." #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 #: appPlugins/ToolNCC.py:4610 appPlugins/ToolPaint.py:3347 -#: appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "Genera geometria" @@ -7332,7 +7326,7 @@ msgstr "Genera il codice CNC per il percorso di autolivellamento." msgid "Opens dialog to save CNC Code file." msgstr "Apri la finestra di salvataggio del file CNC." -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "Controlla codice CNC." @@ -7375,7 +7369,7 @@ msgstr "Allinea a sinistra" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5431 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5431 #: app_Main.py:5695 msgid "Center" msgstr "Centro" @@ -7623,7 +7617,7 @@ msgstr "" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 #: appObjects/FlatCAMObj.py:843 appPlugins/ToolLevelling.py:2219 -#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "Avanzamento" @@ -7682,7 +7676,7 @@ msgstr "Colore linee spostamenti" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 -#: appPlugins/ToolRulesCheck.py:1324 +#: appPlugins/ToolRulesCheck.py:1385 appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "Esterno" @@ -8355,7 +8349,7 @@ msgstr "Orientamento" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 -#: appPlugins/ToolFilm.py:1647 +#: appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -8368,14 +8362,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 -#: appPlugins/ToolFilm.py:1651 app_Main.py:8435 +#: appPlugins/ToolFilm.py:1647 app_Main.py:8435 msgid "Portrait" msgstr "Verticale" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 -#: appPlugins/ToolFilm.py:1652 app_Main.py:8437 +#: appPlugins/ToolFilm.py:1648 app_Main.py:8437 msgid "Landscape" msgstr "Orizzontale" @@ -8396,7 +8390,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 -#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "Assi" @@ -9675,7 +9669,7 @@ msgid "Minimal" msgstr "Minima" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "Tipo box" @@ -9784,7 +9778,7 @@ msgstr "Margine contenitore \"rapinatore\"." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "Spessore" @@ -9830,7 +9824,7 @@ msgstr "Scegli quale geometria addizionale includere, se disponibile." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "Entrambi" @@ -9854,9 +9848,9 @@ msgstr "Plugin Calibrazione" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "Parametri usati per questo strumento." @@ -9931,23 +9925,23 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:956 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5692 +#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:994 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5692 msgid "Top Left" msgstr "Alto Destra" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:968 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5693 +#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:1006 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5693 msgid "Bottom Right" msgstr "Basso Destra" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 -#: appPlugins/ToolSolderPaste.py:1407 +#: appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "Cambio utensile" @@ -10243,7 +10237,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 -#: appPlugins/ToolCorners.py:895 appPlugins/ToolFiducials.py:1035 +#: appPlugins/ToolCorners.py:933 appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "Croce" @@ -10258,14 +10252,14 @@ msgid "Line thickness" msgstr "Spessore linea" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 -#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:1073 +#: appPlugins/ToolCorners.py:1040 appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "Auto" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 -#: appPlugins/ToolCorners.py:1003 appPlugins/ToolCutOut.py:2520 +#: appPlugins/ToolCorners.py:1041 appPlugins/ToolCutOut.py:2520 #: appPlugins/ToolDblSided.py:1053 appPlugins/ToolFiducials.py:1074 #: appPlugins/ToolLevelling.py:1918 appPlugins/ToolPunchGerber.py:2309 msgid "Manual" @@ -10273,7 +10267,7 @@ msgstr "Manuale" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 -#: appPlugins/ToolCorners.py:995 appPlugins/ToolLevelling.py:1911 +#: appPlugins/ToolCorners.py:1033 appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "Modalità" @@ -10474,7 +10468,7 @@ msgstr "Inserisci qui il testo da includere nel QRCode..." #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 -#: appPlugins/ToolFilm.py:1529 appPlugins/ToolQRCode.py:897 +#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "Polarità" @@ -10491,13 +10485,13 @@ msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 -#: appPlugins/ToolFilm.py:1527 appPlugins/ToolQRCode.py:903 +#: appPlugins/ToolFilm.py:1524 appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "Negativa" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 -#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:904 +#: appPlugins/ToolFilm.py:1523 appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "Positiva" @@ -10557,12 +10551,12 @@ msgstr "" "una serie di set di parametri del produttore." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "Dimensione traccia" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "Verifica se la dimensione minima della traccia è rispettata." @@ -10576,27 +10570,22 @@ msgstr "Verifica se la dimensione minima della traccia è rispettata." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "Valore minimo" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "Dimensione minima accettata delle tracce." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "Spaziatura rame-rame" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10611,22 +10600,22 @@ msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "Valore minimo di distanza accettata." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "Distanza rame-bordo" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." @@ -10635,12 +10624,12 @@ msgstr "" "è rispettata." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "Distanza serigrafie" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." @@ -10649,13 +10638,13 @@ msgstr "" "è rispettata." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "Distanza serigrafia-solder" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -10664,14 +10653,14 @@ msgstr "" "e solder è rispettata." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "Distanza serigrafia-bordo" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -10680,13 +10669,13 @@ msgstr "" "e bordo è rispettata." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "Distanza solder mask" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -10695,14 +10684,14 @@ msgstr "" "è rispettata." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "Anello minimo" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -10711,17 +10700,17 @@ msgstr "" "è rispettato." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "Valore minimo anello." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "Distanza foro-foro" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." @@ -10730,17 +10719,17 @@ msgstr "" "è rispettata." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "Misura minima foro." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "Dimensione foro" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -10768,7 +10757,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 -#: appPlugins/ToolCorners.py:1040 appPlugins/ToolCutOut.py:2699 +#: appPlugins/ToolCorners.py:1078 appPlugins/ToolCutOut.py:2699 #: appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "Diametro foro" @@ -10959,27 +10948,27 @@ msgid "Corner Markers Options" msgstr "Opzioni marcatori bordi" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 -#: appPlugins/ToolCorners.py:890 +#: appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "Forma del marker." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 -#: appPlugins/ToolCorners.py:894 +#: appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "Semi-Croce" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appPlugins/ToolCorners.py:904 +#: appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "Spessore delle linee create dal marcatore bordi." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 -#: appPlugins/ToolCorners.py:918 +#: appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "La lunghezza delle linee create dal marcatore bordi." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 -#: appPlugins/ToolCorners.py:1042 +#: appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "Diametro punta" @@ -11149,7 +11138,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "Avanti" @@ -11159,7 +11148,7 @@ msgstr "Avanti" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "Indietro" @@ -11251,7 +11240,7 @@ msgstr "Numero di unità di tempo in cui il mandrino deve aspettare." #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "Preprocessore" @@ -11487,17 +11476,17 @@ msgid "Film Plugin" msgstr "Plugin Film" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 -#: appPlugins/ToolFilm.py:1308 +#: appPlugins/ToolFilm.py:1307 msgid "Adjustments" msgstr "Aggiustamenti" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 -#: appPlugins/ToolFilm.py:1310 +#: appPlugins/ToolFilm.py:1309 msgid "Compensate print distortions." msgstr "Compensa distorsioni stampa." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 -#: appPlugins/ToolFilm.py:1325 +#: appPlugins/ToolFilm.py:1323 msgid "" "A value greater than 1 will compact the film\n" "while a value less than 1 will jolt it." @@ -11507,31 +11496,31 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 -#: appPlugins/ToolFilm.py:1358 appPlugins/ToolFilm.py:1419 +#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 msgid "The reference point to be used as origin for the adjustment." msgstr "Il punto di riferimento da utilizzare come origine per l'adattamento." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCorners.py:964 appPlugins/ToolFiducials.py:898 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5691 +#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:898 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5691 msgid "Bottom Left" msgstr "Basso Sinistra" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "Alto Destra" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 -#: appPlugins/ToolFilm.py:1384 appPlugins/ToolTransform.py:726 +#: appPlugins/ToolFilm.py:1382 appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "Inclina" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 -#: appPlugins/ToolFilm.py:1386 +#: appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -11540,12 +11529,12 @@ msgstr "" "mentre i valori negativi inclinano a sinistra." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 -#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "Specchia" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 -#: appPlugins/ToolFilm.py:1447 appPlugins/ToolFilm.py:1462 +#: appPlugins/ToolFilm.py:1445 appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "Specchia la geometria film sull'asse selezionato o su entrambi." @@ -11558,7 +11547,7 @@ msgstr "" "Il file è salvato in formato SVG." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 -#: appPlugins/ToolFilm.py:1491 +#: appPlugins/ToolFilm.py:1488 msgid "" "Create a convex shape surrounding the entire PCB.\n" "If not checked the shape is rectangular." @@ -11567,7 +11556,7 @@ msgstr "" "Se non selezionato la forma è rettangolare." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 -#: appPlugins/ToolFilm.py:1531 +#: appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "Genera un film nero Positivo o Negativo." @@ -11580,12 +11569,12 @@ msgid "Set the film color when positive film is selected." msgstr "Imposta il colore del film se è selezionato film positivo." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 -#: appPlugins/ToolFilm.py:1542 +#: appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "Bordo" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 -#: appPlugins/ToolFilm.py:1544 +#: appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11605,12 +11594,12 @@ msgstr "" "le aree circostanti in assenza del bordo stesso." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 -#: appPlugins/ToolFilm.py:1516 +#: appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "Scala tratto" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 -#: appPlugins/ToolFilm.py:1518 +#: appPlugins/ToolFilm.py:1515 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 " @@ -11625,27 +11614,27 @@ msgstr "" "da questo parametro." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 -#: appPlugins/ToolFilm.py:1637 +#: appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "SVG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 -#: appPlugins/ToolFilm.py:1638 +#: appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "PNG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 -#: appPlugins/ToolFilm.py:1639 +#: appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "PDF" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 -#: appPlugins/ToolFilm.py:1628 +#: appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "Tipo Film" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 -#: appPlugins/ToolFilm.py:1630 +#: appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11658,22 +11647,22 @@ msgstr "" "- 'PDF' -> Portable Document Format" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Orientamento pagina" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Dimensiona pagina" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "Una selezione di pagine standard secondo ISO 216." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" "Il valore di default è 96 DPI. Cambia il valore per riscalare il file PNG." @@ -12432,7 +12421,7 @@ msgid "New Nozzle Dia" msgstr "Nuovo diametro ugello" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Diametro del nuovo utensile ugello da aggiungere alla tabella" @@ -12441,17 +12430,17 @@ msgid "Z Dispense Start" msgstr "Z avvio erogazione" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "L'altezza (Z) quando inizia l'erogazione della pasta." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Z erogazione" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "L'altezza (Z) quando l'erogazione è in esecuzione." @@ -12460,7 +12449,7 @@ msgid "Z Dispense Stop" msgstr "Z fine erogazione" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "L'altezza (Z) quando finisce l'erogazione della pasta." @@ -12469,7 +12458,7 @@ msgid "Z Travel" msgstr "Z spostamento" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12482,12 +12471,12 @@ msgid "Z Toolchange" msgstr "Z cambio utensile" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "L'altezza (Z) per il cambio utensile (ugello)." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12496,12 +12485,12 @@ msgstr "" "Il formato è (x,y) dove x e y sono numeri reali." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Velocità avanzamento durante gli spostamenti sul piano (x,y)." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12512,7 +12501,7 @@ msgid "Feedrate Z Dispense" msgstr "Avanzamento erogazione Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12525,7 +12514,7 @@ msgid "Spindle Speed FWD" msgstr "Velocità mandrino AVANTI" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12538,7 +12527,7 @@ msgid "Dwell FWD" msgstr "Pausa AVANTI" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Pausa dopo l'erogazione del solder." @@ -12547,7 +12536,7 @@ msgid "Spindle Speed REV" msgstr "Velocità mandrino INDIETRO" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12560,7 +12549,7 @@ msgid "Dwell REV" msgstr "Pausa INDIETRO" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12569,7 +12558,7 @@ msgstr "" "per equilibrare la pressione." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "Files che controllano la generazione del GCode." @@ -13292,7 +13281,7 @@ msgid "Click on the START point." msgstr "Fai clic sul punto di PARTENZA." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Annullato su richiesta dell'utente." @@ -13395,34 +13384,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Azzera strumento" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Azzererà i parametri dello strumento." @@ -13972,9 +13961,9 @@ msgid "Squares grid fill selected." msgstr "Riempimento griglia di quadrati selezionata." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -14076,7 +14065,7 @@ msgid "Copper Thieving Tool exit." msgstr "Chiudi strumento Copper Thieving." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14189,55 +14178,56 @@ msgstr "" msgid "Corners" msgstr "Angoli" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 msgid "Click to add next marker or right click to finish." msgstr "" "Fare clic per aggiungere il marcatore successivo o fare clic con il pulsante " "destro del mouse per terminare." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Selezionare almeno una locazione" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "Il diametro del tool è zero." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "Oggetto Excellon con i fori sui bordi creato." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "L'oggetto Gerber con marker sui bordi è stato creato." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 msgid "Added marker" msgstr "Aggiungi marcatore" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "Oggetto Gerber a cui verranno aggiunti i marcatori bordi." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Locazioni" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Locazioni in cui inserire i marcatori dei bordi." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "Alto destra" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "Attiva / disattiva TUTTO" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." @@ -14245,32 +14235,32 @@ msgstr "" "Quando si sceglie il tipo manuale, i marker\n" "vengono posizionati manualmente." -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Aggiungi marcatore" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Aggiungerà marcatori bordi al file Gerber selezionato." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 msgid "Drills in Locations" msgstr "Fori in posizioni" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Creao oggetto Excellon" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Aggiungerà dei fori al centro dei markers." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 msgid "Check in Locations" msgstr "Controllo in posizioni" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -15526,7 +15516,7 @@ msgstr "" msgid "Film file exported to" msgstr "File Film esportato in" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -15538,7 +15528,7 @@ msgstr "" "La selezione decide il tipo di oggetti che saranno\n" "nella box Oggetto film." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -15550,11 +15540,11 @@ msgstr "" "decide il tipo di oggetti che saranno\n" "presenti nel box Oggetto casella." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Praticare fori" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -15564,11 +15554,11 @@ msgstr "" "il film generato è positivo. Questo viene fatto per aiutare a perforare,\n" "quando fatto manualmente." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "Sorgente" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -15578,28 +15568,28 @@ msgstr "" "- Excellon -> un centro foro Excellon fungerà da riferimento.\n" "- Pad Center -> proverà a utilizzare il centro del pad come riferimento." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Centro Pad" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "Rimuovi la geometria Excellon dal Film per creare i fori nei pad." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Dimensione punzone" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "Questo valore controllerà quanto è grande il foro nei pad." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Salva Film" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -15611,7 +15601,7 @@ msgstr "" " oggetto FlatCAM, ma lo salva direttamente nel\n" "formato selezionato." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -15986,7 +15976,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -16807,6 +16797,10 @@ msgstr "Strumento ottimale. Trovare la distanza minima." msgid "Optimal Tool. Finished successfully." msgstr "Strumento ottimale. Finito con successo." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Numero di decimali da tenere per le distanze trovate." @@ -17203,7 +17197,7 @@ msgstr "Vincola pannello all'interno" msgid "Panelize Object" msgstr "Pannellizza oggetto" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -17522,27 +17516,27 @@ msgstr "Multi-Geo" msgid "Metric" msgstr "Metrico" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Controllo regole" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "Valore non valido." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "TOP -> distanze rame-rame" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "BOTTOM -> distanze rame-rame" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -17550,13 +17544,13 @@ msgstr "" "Almeno un oggetto Gerber deve essere selezionato per questa regola ma " "nessuno è selezionato." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" "Uno degli oggetti Gerber in rame o l'oggetto Gerber del bordo non è valido." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -17564,31 +17558,31 @@ msgstr "" "La presenza dell'oggetto Contorno Gerber è obbligatoria per questa regola ma " "non è stato selezionato." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "Distanza tra serigrafie" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "TOP -> distanza tra serigrafie" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "BOTTOM -> distanza tra serigrafie" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "Uno o più oggetti gerber non sono validi." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "TOP -> distanza tra serigrafie e Solder Mask" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "BOTTOM -> distanza tra serigrafie e Solder Mask" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -17596,121 +17590,138 @@ msgstr "" "Sia gli oggetti Silk che quelli Solder Mask Gerber devono essere sia Top che " "Bottom." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "Uno degli oggetti Gerber serigrafia o bordo non è valido." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "TOP -> Segmento Minimo solder mask" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "BOTTOM -> Segmento Minimo solder mask" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "Uno degli oggetti Gerber rame o Excellon non è valido." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "La presenza dell'oggetto Excellon è obbligatoria per questa regola ma " "nessuna è selezionata." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "STATO" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "FALLITO" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "PASSATO" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "Violazioni: non ci sono violazioni per la regola attuale." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Oggetti Gerber sui quali verificare le regole." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "Area rame" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "Tutte le regole" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "Silk Top" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Gerber soldermask" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Fresatura fori" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Top" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "L'oggetto Gerber rame TOP per il quale vengono controllate le regole." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Bottom" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "" -"L'oggetto Gerber rame BOTTOM per il quale vengono controllate le regole." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "SM Top" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "" "L'oggetto Gerber SolderMask TOP per il quale vengono controllate le regole." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "SM Bottom" +#: appPlugins/ToolRulesCheck.py:1307 +msgid "The Top Gerber Silkscreen object for which rules are checked." +msgstr "" +"L'oggetto Gerber Serigrafia TOP per il quale vengono controllate le regole." -#: appPlugins/ToolRulesCheck.py:1272 +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Bottom" + +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "" +"L'oggetto Gerber rame BOTTOM per il quale vengono controllate le regole." + +#: appPlugins/ToolRulesCheck.py:1355 msgid "The Bottom Gerber Solder Mask object for which rules are checked." msgstr "" "L'oggetto Gerber SolderMask BOTTOM per il quale vengono controllate le " "regole." -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Silk Top" - -#: appPlugins/ToolRulesCheck.py:1290 -msgid "The Top Gerber Silkscreen object for which rules are checked." -msgstr "" -"L'oggetto Gerber Serigrafia TOP per il quale vengono controllate le regole." - -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Silk Bottom" - -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "" "L'oggetto Gerber Serigrafia BOTTOM per il quale vengono controllate le " "regole." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "" "L'oggetto Gerber Outline (ritaglio) per il quale vengono controllate le " "regole." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Oggetto Excellon al quale controllare le regole." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -17718,11 +17729,7 @@ msgstr "" "Oggetto Excellon per il quale verificare le regole.\n" "Contiene i fori placcati o un contenuto generale del file Excellon." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -17730,15 +17737,7 @@ msgstr "" "Oggetto Excellon per il quale verificare le regole.\n" "Contiene i fori non placcati." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "Tutte le regole" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "Abilita le regole sotto." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Esegui controllo regole" @@ -17838,7 +17837,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Oggetto gerber solderpaste." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -17846,7 +17845,7 @@ msgstr "" "Set di strumenti da cui l'algoritmo\n" "sceglierà quelli usati per l'erogazione della pasta saldante." -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -17860,7 +17859,7 @@ msgstr "" "Se non ci sono più strumenti ma ci sono ancora pad non coperti\n" " da pasta saldante, l'app mostrerà una finestra di avviso." -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." @@ -17868,7 +17867,7 @@ msgstr "" "Diametro dell'utensile. Il suo valore\n" "è la larghezza dell'erogazione della pasta salda." -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -17876,27 +17875,27 @@ msgstr "" "Aggiungi un nuovo strumento ugello alla tabella degli strumenti\n" "con il diametro sopra specificato." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 msgid "Dispense" msgstr "Dispensare" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 msgid "Z Start" msgstr "Z Inizio" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 msgid "Z Action" msgstr "Z Azione" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 msgid "Z Stop" msgstr "Z Stop" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Genera geometria di erogazione della pasta saldante." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -17906,15 +17905,15 @@ msgstr "" "Il nome dell'oggetto deve terminare con:\n" "'_solderpaste' come protezione." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 msgid "CNCJob" msgstr "CNCJob" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "Genera CNC" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -17922,7 +17921,7 @@ msgstr "" "Genera GCode per l'erogazione della pasta saldante\n" "sui pad del PCB." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -17934,11 +17933,11 @@ msgstr "" "il nome dell'oggetto deve terminare in:\n" "'_solderpaste' come protezione." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "Salva GCode" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -18036,6 +18035,10 @@ msgstr "" "Può essere usato per rimuovere la serigrafia\n" "sovrapposta al soldermask." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "GEOMETRIA" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -19581,6 +19584,30 @@ msgstr "Origine impostata spostando tutti gli oggetti caricati con " msgid "No Geometry name in args. Provide a name and try again." msgstr "Nessun nome di geometria negli argomenti. Fornisci un nome e riprova." +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Oggetti Gerber sui quali verificare le regole." + +#~ msgid "SM Top" +#~ msgstr "SM Top" + +#~ msgid "SM Bottom" +#~ msgstr "SM Bottom" + +#~ msgid "Silk Bottom" +#~ msgstr "Silk Bottom" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "Abilita le regole sotto." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -19818,9 +19845,6 @@ msgstr "Nessun nome di geometria negli argomenti. Fornisci un nome e riprova." #~ msgid "Fiducials Coordinates" #~ msgstr "Coordinate fiducial" -#~ msgid "Soldermask Gerber" -#~ msgstr "Gerber soldermask" - #~ msgid "The Soldermask Gerber object." #~ msgstr "L'oggetto gerber soldermask." diff --git a/locale/pt_BR/LC_MESSAGES/strings.mo b/locale/pt_BR/LC_MESSAGES/strings.mo index 19e1c3191daa23379496d128c45cf0887added30..bca88091a2c2cd7b866229a340459291ce16df6a 100644 GIT binary patch delta 63896 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 ZEwoiYS6}{_621X}kVe$l?nv7H{{X>B\n" "Language-Team: \n" "Language: pt_BR\n" @@ -113,8 +113,8 @@ msgstr "Favoritos" #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 #: appGUI/MainGUI.py:3642 appGUI/MainGUI.py:3872 -#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 +#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 #: appPlugins/ToolFilm.py:407 appPlugins/ToolFilm.py:546 #: appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 @@ -316,7 +316,7 @@ msgstr "Alvo" #: appPlugins/ToolMilling.py:3656 appPlugins/ToolNCC.py:4146 #: appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "Diâmetro" @@ -603,7 +603,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 #: appPlugins/ToolCalibration.py:794 appPlugins/ToolDrilling.py:1559 #: appPlugins/ToolDrilling.py:2459 appPlugins/ToolMilling.py:3247 -#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "Altura do Deslocamento" @@ -704,7 +704,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 #: appPlugins/ToolDrilling.py:1573 appPlugins/ToolDrilling.py:2515 #: appPlugins/ToolMilling.py:3265 appPlugins/ToolMilling.py:4284 -#: appPlugins/ToolSolderPaste.py:1509 appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolSolderPaste.py:1502 appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "Velocidade do Spindle" @@ -719,8 +719,8 @@ msgstr "" "Velocidade do spindle em RPM." #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "Esperar Velocidade" @@ -859,7 +859,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 #: appPlugins/ToolCutOut.py:2725 appPlugins/ToolExtract.py:1351 #: appPlugins/ToolFiducials.py:992 appPlugins/ToolInvertGerber.py:269 #: appPlugins/ToolInvertGerber.py:277 appPlugins/ToolMilling.py:4039 @@ -873,7 +873,7 @@ msgstr "Margem" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 -#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:931 +#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:969 #: appPlugins/ToolFiducials.py:994 appPlugins/ToolMilling.py:4041 #: appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." @@ -1338,7 +1338,7 @@ msgstr "O espaçamento entre os furos ao fazer M-bites (mordidas de rato)." #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 -#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "Forma Convexa" @@ -1460,8 +1460,8 @@ msgstr "Cancelar" #: appPlugins/ToolAlignObjects.py:584 appPlugins/ToolCalculators.py:1068 #: appPlugins/ToolCalculators.py:1079 appPlugins/ToolCalibration.py:1420 #: appPlugins/ToolCalibration.py:1431 appPlugins/ToolCopperThieving.py:1807 -#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1113 -#: appPlugins/ToolCorners.py:1124 appPlugins/ToolCutOut.py:2796 +#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1151 +#: appPlugins/ToolCorners.py:1162 appPlugins/ToolCutOut.py:2796 #: appPlugins/ToolCutOut.py:2807 appPlugins/ToolDblSided.py:1147 #: appPlugins/ToolDblSided.py:1158 appPlugins/ToolDistance.py:708 #: appPlugins/ToolDistance.py:719 appPlugins/ToolDistanceMin.py:398 @@ -1469,8 +1469,8 @@ msgstr "Cancelar" #: appPlugins/ToolDrilling.py:2931 appPlugins/ToolEtchCompensation.py:531 #: appPlugins/ToolEtchCompensation.py:542 appPlugins/ToolExtract.py:1421 #: appPlugins/ToolExtract.py:1432 appPlugins/ToolFiducials.py:1137 -#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1832 -#: appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 #: appPlugins/ToolImage.py:376 appPlugins/ToolInvertGerber.py:338 #: appPlugins/ToolInvertGerber.py:349 appPlugins/ToolIsolation.py:3713 @@ -1483,9 +1483,9 @@ msgstr "Cancelar" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 #: appPlugins/ToolSub.py:999 appPlugins/ToolTransform.py:1071 #: appPlugins/ToolTransform.py:1082 appTool.py:300 appTool.py:311 msgid "Edited value is out of range" @@ -1498,8 +1498,8 @@ msgstr "Valor fora da faixa" #: appPlugins/ToolAlignObjects.py:586 appPlugins/ToolCalculators.py:1074 #: appPlugins/ToolCalculators.py:1081 appPlugins/ToolCalibration.py:1426 #: appPlugins/ToolCalibration.py:1433 appPlugins/ToolCopperThieving.py:1813 -#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1119 -#: appPlugins/ToolCorners.py:1126 appPlugins/ToolCutOut.py:2802 +#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1157 +#: appPlugins/ToolCorners.py:1164 appPlugins/ToolCutOut.py:2802 #: appPlugins/ToolCutOut.py:2809 appPlugins/ToolDblSided.py:1153 #: appPlugins/ToolDblSided.py:1160 appPlugins/ToolDistance.py:714 #: appPlugins/ToolDistance.py:721 appPlugins/ToolDistanceMin.py:404 @@ -1507,8 +1507,8 @@ msgstr "Valor fora da faixa" #: appPlugins/ToolDrilling.py:2933 appPlugins/ToolEtchCompensation.py:537 #: appPlugins/ToolEtchCompensation.py:544 appPlugins/ToolExtract.py:1427 #: appPlugins/ToolExtract.py:1434 appPlugins/ToolFiducials.py:1143 -#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1838 -#: appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1833 +#: appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 #: appPlugins/ToolImage.py:378 appPlugins/ToolInvertGerber.py:344 #: appPlugins/ToolInvertGerber.py:351 appPlugins/ToolIsolation.py:3719 @@ -1521,9 +1521,9 @@ msgstr "Valor fora da faixa" #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 #: appPlugins/ToolSub.py:1001 appPlugins/ToolTransform.py:1077 #: appPlugins/ToolTransform.py:1084 appTool.py:306 appTool.py:313 msgid "Edited value is within limits." @@ -1735,9 +1735,9 @@ msgstr "Muitos itens para o ângulo de espaçamento selecionado." #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 -#: appPlugins/ToolCorners.py:698 appPlugins/ToolCutOut.py:856 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 +#: appPlugins/ToolCorners.py:736 appPlugins/ToolCutOut.py:856 #: appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 #: appPlugins/ToolCutOut.py:1412 appPlugins/ToolCutOut.py:1430 @@ -1936,7 +1936,7 @@ msgstr "Editor Excellon" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 -#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:834 +#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:872 #: appPlugins/ToolCutOut.py:2215 appPlugins/ToolDblSided.py:695 #: appPlugins/ToolDrilling.py:2285 appPlugins/ToolFiducials.py:832 #: appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 @@ -1961,7 +1961,7 @@ msgstr "Nome:" #: appGUI/ObjectUI.py:1435 appPlugins/ToolDrilling.py:2326 #: appPlugins/ToolIsolation.py:3189 appPlugins/ToolMilling.py:3626 #: appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "Tabela de Ferramentas" @@ -2079,10 +2079,10 @@ msgstr "Adiciona uma matriz de furos (matriz linear ou circular)" #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 #: appPlugins/ToolNCC.py:4558 appPlugins/ToolPaint.py:2965 #: appPlugins/ToolPaint.py:3304 appPlugins/ToolPunchGerber.py:2089 @@ -2159,7 +2159,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1456 +#: appPlugins/ToolFilm.py:1454 msgid "X" msgstr "X" @@ -2172,7 +2172,7 @@ msgstr "X" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 -#: appPlugins/ToolFilm.py:1457 +#: appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "Y" @@ -2286,7 +2286,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 -#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:916 +#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:954 #: appPlugins/ToolReport.py:604 msgid "Length" msgstr "Comprimento" @@ -2587,7 +2587,7 @@ msgstr "Inclinar" #: appGUI/MainGUI.py:5325 appGUI/ObjectUI.py:121 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 -#: appPlugins/ToolFilm.py:1323 appPlugins/ToolTransform.py:575 +#: appPlugins/ToolFilm.py:1321 appPlugins/ToolTransform.py:575 #: appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "Redimensionar" @@ -2612,7 +2612,7 @@ msgstr "Buffer" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 #: appPlugins/ToolDblSided.py:871 appPlugins/ToolDblSided.py:1062 -#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "Referência" @@ -2649,7 +2649,7 @@ msgstr "Origem" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 -#: appPlugins/ToolCorners.py:984 appPlugins/ToolFiducials.py:1061 +#: appPlugins/ToolCorners.py:1022 appPlugins/ToolFiducials.py:1061 #: appPlugins/ToolFollow.py:737 appPlugins/ToolIsolation.py:3573 #: appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 @@ -2677,6 +2677,11 @@ msgstr "Mínimo" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 #: appPlugins/ToolExtract.py:1236 appPlugins/ToolExtract.py:1265 #: appPlugins/ToolPunchGerber.py:2168 appPlugins/ToolPunchGerber.py:2276 +#: appPlugins/ToolRulesCheck.py:1494 appPlugins/ToolRulesCheck.py:1518 +#: appPlugins/ToolRulesCheck.py:1543 appPlugins/ToolRulesCheck.py:1568 +#: appPlugins/ToolRulesCheck.py:1605 appPlugins/ToolRulesCheck.py:1630 +#: appPlugins/ToolRulesCheck.py:1655 appPlugins/ToolRulesCheck.py:1693 +#: appPlugins/ToolRulesCheck.py:1730 appPlugins/ToolRulesCheck.py:1755 #: appPlugins/ToolTransform.py:630 appPlugins/ToolTransform.py:995 #: app_Main.py:8905 msgid "Value" @@ -2737,7 +2742,7 @@ msgstr "Vincula a entrada Y à entrada X e copia seu conteúdo." #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 -#: appPlugins/ToolFilm.py:1397 appPlugins/ToolTransform.py:746 +#: appPlugins/ToolFilm.py:1395 appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "Ângulo X" @@ -2771,7 +2776,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1407 appPlugins/ToolTransform.py:767 +#: appPlugins/ToolFilm.py:1405 appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "Ângulo Y" @@ -2783,7 +2788,7 @@ msgstr "Inclinar Y" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 -#: appPlugins/ToolFilm.py:1336 appPlugins/ToolTransform.py:815 +#: appPlugins/ToolFilm.py:1334 appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "Fator X" @@ -2813,7 +2818,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 -#: appPlugins/ToolFilm.py:1346 appPlugins/ToolTransform.py:835 +#: appPlugins/ToolFilm.py:1344 appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "Fator Y" @@ -2896,7 +2901,7 @@ msgstr "Deslocar Y" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 -#: appPlugins/ToolFilm.py:1500 appPlugins/ToolInvertGerber.py:291 +#: appPlugins/ToolFilm.py:1497 appPlugins/ToolInvertGerber.py:291 #: appPlugins/ToolQRCode.py:920 appPlugins/ToolTransform.py:954 msgid "Rounded" msgstr "Arredondado" @@ -3355,12 +3360,12 @@ msgstr "Seleção de Polígonos" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 #: appPlugins/ToolSub.py:814 appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "Parâmetros" @@ -3546,7 +3551,7 @@ msgstr "Clique no ponto alvo." #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "Trabalhando..." @@ -3843,7 +3848,7 @@ msgstr "Coordenadas copiadas para a área de transferência." #: appObjects/FlatCAMGerber.py:1002 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 #: appPlugins/ToolMove.py:235 appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "Plotando" @@ -4460,6 +4465,7 @@ msgstr "Del" #: appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "Selecionar Todos" @@ -4687,22 +4693,22 @@ msgstr "Criará um novo projeto em branco" msgid "New" msgstr "Novo" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 -#: appPlugins/ToolFilm.py:1280 appPlugins/ToolImage.py:175 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 +#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:175 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:150 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolSolderPaste.py:1589 appPlugins/ToolSub.py:899 +#: appPlugins/ToolSolderPaste.py:1582 appPlugins/ToolSub.py:899 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "Geometria" @@ -4716,7 +4722,7 @@ msgstr "N" msgid "Will create a new, empty Geometry Object." msgstr "Criará um novo Objeto Geometria vazio." -#: appGUI/MainGUI.py:107 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 @@ -4726,16 +4732,16 @@ msgstr "Criará um novo Objeto Geometria vazio." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 #: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 -#: appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 +#: appPlugins/ToolFilm.py:1255 appPlugins/ToolFilm.py:1278 #: appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:144 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 -#: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 -#: defaults.py:593 +#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolRulesCheck.py:1209 +#: appPlugins/ToolSub.py:834 appPlugins/ToolTransform.py:160 +#: appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "Gerber" @@ -4748,7 +4754,7 @@ msgstr "B" msgid "Will create a new, empty Gerber Object." msgstr "Criará um novo Objeto Gerber vazio." -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4758,11 +4764,12 @@ msgstr "Criará um novo Objeto Gerber vazio." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 #: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 -#: appPlugins/ToolFilm.py:1583 appPlugins/ToolIsolation.py:3594 +#: appPlugins/ToolFilm.py:1580 appPlugins/ToolIsolation.py:3594 #: appPlugins/ToolMilling.py:3595 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "Excellon" @@ -4869,7 +4876,7 @@ msgstr "DXF como Objeto Gerber" msgid "HPGL2 as Geometry Object" msgstr "HPGL2 como Objeto de Geometria" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "Exportar" @@ -5792,7 +5799,7 @@ msgid "Copper Thieving" msgstr "Ferramenta de Adição de Cobre" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 #, fuzzy #| msgid "Corner Markers Tool" msgid "Corner Markers" @@ -5950,19 +5957,6 @@ msgstr "TCL Shell" msgid "Plot Area" msgstr "Área de Gráfico" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 -#: appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "Gerber" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "Excellon" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "Geometria" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "Trabalho CNC" @@ -6190,7 +6184,7 @@ msgstr "" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 #: appPlugins/ToolNCC.py:1375 appPlugins/ToolPaint.py:664 -#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1291 +#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1284 #: app_Main.py:4995 msgid "New Tool" msgstr "Nova Ferramenta" @@ -6587,7 +6581,7 @@ msgstr "Abrir Tutoriais Online" msgid "Refresh Plots" msgstr "Atualizar Gráfico" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "Excluir Objeto" @@ -7050,14 +7044,14 @@ msgstr "" #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 -#: appPlugins/ToolFilm.py:1502 +#: appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "A geometria resultante terá cantos arredondados." #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 #: appPlugins/ToolNCC.py:4610 appPlugins/ToolPaint.py:3347 -#: appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "Gerar Geometria" @@ -7451,7 +7445,7 @@ msgstr "" msgid "Opens dialog to save CNC Code file." msgstr "Abre uma caixa de diálogo para salvar o arquivo G-Code." -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "Revisar Código CNC." @@ -7497,7 +7491,7 @@ msgstr "Esquerda" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5431 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5431 #: app_Main.py:5695 msgid "Center" msgstr "Centro" @@ -7746,7 +7740,7 @@ msgstr "" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 #: appObjects/FlatCAMObj.py:843 appPlugins/ToolLevelling.py:2219 -#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "Taxa de Avanço" @@ -7805,7 +7799,7 @@ msgstr "Cor da Linha de Viagem" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 -#: appPlugins/ToolRulesCheck.py:1324 +#: appPlugins/ToolRulesCheck.py:1385 appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "Contorno" @@ -8474,7 +8468,7 @@ msgstr "Orientação" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 -#: appPlugins/ToolFilm.py:1647 +#: appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -8487,14 +8481,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 -#: appPlugins/ToolFilm.py:1651 app_Main.py:8435 +#: appPlugins/ToolFilm.py:1647 app_Main.py:8435 msgid "Portrait" msgstr "Retrato" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 -#: appPlugins/ToolFilm.py:1652 app_Main.py:8437 +#: appPlugins/ToolFilm.py:1648 app_Main.py:8437 msgid "Landscape" msgstr "Paisagem" @@ -8515,7 +8509,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 -#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "Eixo" @@ -9810,7 +9804,7 @@ msgid "Minimal" msgstr "Mínima" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "Tipo de Caixa" @@ -9919,7 +9913,7 @@ msgstr "Margem da caixa delimitadora para Robber Bar." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "Espessura" @@ -9965,7 +9959,7 @@ msgstr "Escolha qual geometria adicional incluir, se disponível." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "Ambos" @@ -9991,9 +9985,9 @@ msgstr "Pontos de Calibração" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "Parâmetros usados para esta ferramenta." @@ -10069,23 +10063,23 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:956 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5692 +#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:994 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5692 msgid "Top Left" msgstr "Esquerda Superior" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:968 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5693 +#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:1006 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5693 msgid "Bottom Right" msgstr "Direita Inferior" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 -#: appPlugins/ToolSolderPaste.py:1407 +#: appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "Troca de Ferramentas" @@ -10392,7 +10386,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 -#: appPlugins/ToolCorners.py:895 appPlugins/ToolFiducials.py:1035 +#: appPlugins/ToolCorners.py:933 appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "Cruz" @@ -10407,14 +10401,14 @@ msgid "Line thickness" msgstr "Espessura da linha" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 -#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:1073 +#: appPlugins/ToolCorners.py:1040 appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "Auto" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 -#: appPlugins/ToolCorners.py:1003 appPlugins/ToolCutOut.py:2520 +#: appPlugins/ToolCorners.py:1041 appPlugins/ToolCutOut.py:2520 #: appPlugins/ToolDblSided.py:1053 appPlugins/ToolFiducials.py:1074 #: appPlugins/ToolLevelling.py:1918 appPlugins/ToolPunchGerber.py:2309 msgid "Manual" @@ -10422,7 +10416,7 @@ msgstr "Manual" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 -#: appPlugins/ToolCorners.py:995 appPlugins/ToolLevelling.py:1911 +#: appPlugins/ToolCorners.py:1033 appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "Modo" @@ -10628,7 +10622,7 @@ msgstr "Adicione aqui o texto a ser incluído no QRCode..." #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 -#: appPlugins/ToolFilm.py:1529 appPlugins/ToolQRCode.py:897 +#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "Polaridade" @@ -10645,13 +10639,13 @@ msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 -#: appPlugins/ToolFilm.py:1527 appPlugins/ToolQRCode.py:903 +#: appPlugins/ToolFilm.py:1524 appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "Negativo" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 -#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:904 +#: appPlugins/ToolFilm.py:1523 appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "Positivo" @@ -10714,12 +10708,12 @@ msgstr "" "das regras de fabricação." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "Tamanho do Traçado" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "Verifica se o tamanho mínimo para traçados é atendido." @@ -10733,27 +10727,22 @@ msgstr "Verifica se o tamanho mínimo para traçados é atendido." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "Valor Min" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "Mínimo tamanho de traçado aceito." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "Espaço Cobre Cobre" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10768,22 +10757,22 @@ msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "Espaço mínimo aceitável." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "Espaço Cobre Contorno" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." @@ -10792,12 +10781,12 @@ msgstr "" "e o contorno é atendido." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "Espaço Silk Silk" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." @@ -10806,13 +10795,13 @@ msgstr "" "é atendido." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "Espaço Silk Máscara de Solda" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -10821,14 +10810,14 @@ msgstr "" "e máscara de solda é atendido." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "Espaço Silk Contorno" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -10837,13 +10826,13 @@ msgstr "" "e o contorno é atendido." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "Máscara de Solda Mínima" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -10852,14 +10841,14 @@ msgstr "" "é atendido." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "Anel Anular Mínimo" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -10868,17 +10857,17 @@ msgstr "" "de um buraco em um pad é atendido." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "Valor mínimo do anel." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "Espaço Entre Furos" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." @@ -10887,17 +10876,17 @@ msgstr "" "é atendido." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "Espaço mínimo entre furos." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "Tamanho Furo" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -10927,7 +10916,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 -#: appPlugins/ToolCorners.py:1040 appPlugins/ToolCutOut.py:2699 +#: appPlugins/ToolCorners.py:1078 appPlugins/ToolCutOut.py:2699 #: appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "Diâmetro de Broca" @@ -11128,27 +11117,27 @@ msgid "Corner Markers Options" msgstr "Opções de marcadores de canto" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 -#: appPlugins/ToolCorners.py:890 +#: appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "Forma do marcador." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 -#: appPlugins/ToolCorners.py:894 +#: appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "Semi-Cruz" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appPlugins/ToolCorners.py:904 +#: appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "A espessura da linha que forma o marcador de canto." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 -#: appPlugins/ToolCorners.py:918 +#: appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "O comprimento da linha que forma o marcador de canto." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 -#: appPlugins/ToolCorners.py:1042 +#: appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "Diâmetro da Broca" @@ -11335,7 +11324,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "Crescente" @@ -11345,7 +11334,7 @@ msgstr "Crescente" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "Decrescente" @@ -11433,7 +11422,7 @@ msgstr "Número de unidades de tempo para o fuso residir." #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "Pré-processador" @@ -11667,21 +11656,21 @@ msgid "Film Plugin" msgstr "plugin_tab" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 -#: appPlugins/ToolFilm.py:1308 +#: appPlugins/ToolFilm.py:1307 #, fuzzy #| msgid "Film Adjustments" msgid "Adjustments" msgstr "Ajustes do Filme" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 -#: appPlugins/ToolFilm.py:1310 +#: appPlugins/ToolFilm.py:1309 #, fuzzy #| msgid "Center point coordinates" msgid "Compensate print distortions." msgstr "Coordenadas do ponto central" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 -#: appPlugins/ToolFilm.py:1325 +#: appPlugins/ToolFilm.py:1323 #, fuzzy #| msgid "" #| "A value greater than 1 will stretch the film\n" @@ -11695,7 +11684,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 -#: appPlugins/ToolFilm.py:1358 appPlugins/ToolFilm.py:1419 +#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 #, fuzzy #| msgid "" #| "The reference point to be used as origin for the skew.\n" @@ -11707,25 +11696,25 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCorners.py:964 appPlugins/ToolFiducials.py:898 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5691 +#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:898 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5691 msgid "Bottom Left" msgstr "Esquerda Inferior" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "Direita Superior" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 -#: appPlugins/ToolFilm.py:1384 appPlugins/ToolTransform.py:726 +#: appPlugins/ToolFilm.py:1382 appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "Inclinar" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 -#: appPlugins/ToolFilm.py:1386 +#: appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -11734,12 +11723,12 @@ msgstr "" "enquanto valores negativos inclinam para a esquerda." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 -#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "Espelhar" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 -#: appPlugins/ToolFilm.py:1447 appPlugins/ToolFilm.py:1462 +#: appPlugins/ToolFilm.py:1445 appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "Espelha a geometria do filme no eixo selecionado ou em ambos." @@ -11752,7 +11741,7 @@ msgstr "" "O arquivo é salvo no formato SVG." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 -#: appPlugins/ToolFilm.py:1491 +#: appPlugins/ToolFilm.py:1488 #, fuzzy #| msgid "" #| "Create a convex shape surrounding the entire PCB.\n" @@ -11765,7 +11754,7 @@ msgstr "" "Utilize somente se o tipo de objeto de origem for Gerber." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 -#: appPlugins/ToolFilm.py:1531 +#: appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "" @@ -11778,12 +11767,12 @@ msgid "Set the film color when positive film is selected." msgstr "Define a cor do filme, se filme positivo estiver selecionado." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 -#: appPlugins/ToolFilm.py:1542 +#: appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "Borda" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 -#: appPlugins/ToolFilm.py:1544 +#: appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11804,12 +11793,12 @@ msgstr "" "com os limites, se não for usada essa borda)." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 -#: appPlugins/ToolFilm.py:1516 +#: appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "Espessura da Linha" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 -#: appPlugins/ToolFilm.py:1518 +#: appPlugins/ToolFilm.py:1515 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 " @@ -11821,27 +11810,27 @@ msgstr "" "Os recursos mais finos podem ser afetados por esse parâmetro." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 -#: appPlugins/ToolFilm.py:1637 +#: appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "SVG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 -#: appPlugins/ToolFilm.py:1638 +#: appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "PNG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 -#: appPlugins/ToolFilm.py:1639 +#: appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "PDF" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 -#: appPlugins/ToolFilm.py:1628 +#: appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "Tipo de Filme" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 -#: appPlugins/ToolFilm.py:1630 +#: appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11854,22 +11843,22 @@ msgstr "" "- 'PDF' -> formato de documento portátil" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Orientação da Página" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Tamanho da Página" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "Uma seleção de tamanhos de página padrão ISO 216." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" "O valor padrão é 96 DPI. Altere este valor para dimensionar o arquivo PNG." @@ -12631,7 +12620,7 @@ msgid "New Nozzle Dia" msgstr "Diâmetro do Novo Bico" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "" "Diâmetro para a nova ferramenta para adicionar na Tabela de Ferramentas" @@ -12641,17 +12630,17 @@ msgid "Z Dispense Start" msgstr "Altura Inicial" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "A altura (Z) que inicia a distribuição de pasta de solda." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Altura para Distribuir" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "Altura (Z) para distribuir a pasta de solda." @@ -12660,7 +12649,7 @@ msgid "Z Dispense Stop" msgstr "Altura Final" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "Altura (Z) após a distribuição de pasta de solda." @@ -12669,7 +12658,7 @@ msgid "Z Travel" msgstr "Altura para Deslocamento" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12682,12 +12671,12 @@ msgid "Z Toolchange" msgstr "Altura Troca de Ferram." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "Altura (Z) para trocar ferramenta (bico)." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12696,12 +12685,12 @@ msgstr "" "O formato é (x, y) onde x e y são números reais." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Avanço (velocidade) para movimento no plano XY." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12714,7 +12703,7 @@ msgid "Feedrate Z Dispense" msgstr "Avanço Z Distribuição" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12727,7 +12716,7 @@ msgid "Spindle Speed FWD" msgstr "Velocidade Spindle FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12740,7 +12729,7 @@ msgid "Dwell FWD" msgstr "Espera FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Pausa após a dispensação de solda." @@ -12749,7 +12738,7 @@ msgid "Spindle Speed REV" msgstr "Velocidade Spindle REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12762,7 +12751,7 @@ msgid "Dwell REV" msgstr "Espera REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12771,7 +12760,7 @@ msgstr "" "equilíbrio de pressão." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "Arquivos que controlam a geração de G-Code." @@ -13509,7 +13498,7 @@ msgid "Click on the START point." msgstr "Clique no ponto INICIAL." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Cancelado por solicitação do usuário." @@ -13612,34 +13601,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Redefinir Ferramenta" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Redefinirá os parâmetros da ferramenta." @@ -14250,9 +14239,9 @@ msgid "Squares grid fill selected." msgstr "Preenchimento de quadrados selecionado." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -14353,7 +14342,7 @@ msgid "Copper Thieving Tool exit." msgstr "Sair da Ferramenta de Adição de Cobre." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14468,7 +14457,7 @@ msgstr "" msgid "Corners" msgstr "Ferramenta de Canto" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 #, fuzzy #| msgid "Click to add next polygon or right click to start." msgid "Click to add next marker or right click to finish." @@ -14476,86 +14465,87 @@ msgstr "" "Clique para adicionar o próximo polígono ou clique com o botão direito para " "começar." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Selecione pelo menos um local" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "O diâmetro da ferramenta é zero." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "O objeto Excellon com furos de esquina foi criado." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "O objeto Gerber com marcadores de esquina foi criado." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 #, fuzzy #| msgid "Add Marker" msgid "Added marker" msgstr "Adicionar Marcador" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "Objeto Gerber ao qual serão adicionados marcadores de canto." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Locais" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Locais onde colocar marcadores de canto." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "Direita Superior" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "Alternar TUDO" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." msgstr "" -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Adicionar Marcador" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Adicionará marcadores de canto ao arquivo Gerber selecionado." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 #, fuzzy #| msgid "Drills in Corners" msgid "Drills in Locations" msgstr "Furos em cantos" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Criar Objeto Excellon" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Irá adicionar furos no centro dos marcadores." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 #, fuzzy #| msgid "Locations" msgid "Check in Locations" msgstr "Locais" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -15850,7 +15840,7 @@ msgstr "" msgid "Film file exported to" msgstr "Arquivo filme exportado para" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -15862,7 +15852,7 @@ msgstr "" "A seleção aqui decide o tipo de objetos que estará\n" "na caixa de combinação Objeto de Filme." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -15875,11 +15865,11 @@ msgstr "" "objetos que estará\n" "na caixa de combinação Objeto Caixa." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Furar manualmente" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -15889,11 +15879,11 @@ msgstr "" "o filme gerado é positivo. Isso é feito para ajudar na perfuração,\n" "quando feito manualmente." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "Fonte" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -15903,28 +15893,28 @@ msgstr "" "- Excellon -> o centro de um furo Excellon servirá como referência.\n" "- Centro de Pad -> tentará usar o centro de pads como referência." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Centro de Pad" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "Remove a geometria do Excellon do filme para criar os furos nos pads." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Tamanho do Perfurador" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "Valor para controlar o tamanho dos furos dos pads." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Salvar Filme" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -15935,7 +15925,7 @@ msgstr "" "especificada. Não cria um novo objeto\n" "FlatCAM, mas salva-o diretamente no formato selecionado." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -16329,7 +16319,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -17200,6 +17190,10 @@ msgstr "Ferramenta Ideal. Encontrando a distância mínima." msgid "Optimal Tool. Finished successfully." msgstr "Ferramenta Ideal. Finalizado com sucesso." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "Gerber" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Número de casas decimais mantido para as distâncias encontradas." @@ -17601,7 +17595,7 @@ msgstr "Restringir painel dentro de" msgid "Panelize Object" msgstr "Criar Painel" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -17938,27 +17932,27 @@ msgstr "Geo. Múltipla" msgid "Metric" msgstr "Métrico" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Verificar Regras" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "Valor inválido." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "TOPO -> Espaço Cobre Cobre" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "BAIXO -> Espaço Cobre Cobre" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -17966,13 +17960,13 @@ msgstr "" "Pelo menos um objeto Gerber deve ser selecionado para esta regra, mas nenhum " "está selecionado." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" "Um dos objetos Gerber de cobre ou o objeto Gerber de Contorno não é válido." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -17980,31 +17974,31 @@ msgstr "" "A presença do objeto Gerber de Contorno é obrigatória para esta regra, mas " "não está selecionada." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "Espaço Silk Silk" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "TOPO -> Espaço Silk Silk" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "BAIXO -> Espaço Silk Silk" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "Um ou mais dos objetos Gerber não são válidos." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "TOPO -> Espaço Silk Máscara de Solda" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "BAIXO -> Espaço Silk Máscara de Solda" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -18012,112 +18006,129 @@ msgstr "" "Os objetos Gerber de Silkscreen e da Máscara de Solda devem estar no mesmo " "lado: superior ou inferior." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "Um dos objetos do Gerber não é válido: Silkscreen ou Contorno." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "TOPO -> Máscara de Solda Mínima" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "BAIXO -> Máscara de Solda Mínima" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "Um dos objetos não é válido: Gerber Cobre ou Excellon." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "A presença de objeto Excellon é obrigatória para esta regra, mas nenhum está " "selecionado." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "ESTADO" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "FALHOU" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "PASSOU" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "Violações: não há violações para a regra atual." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Objeto para o qual verificar regras." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "Área de Cobre" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "Todas as Regras" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "Silk Topo" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Gerber Máscara de Solda" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Furação" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Topo" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "Camada Gerber Superior para verificar regras." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Baixo" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "Camada Gerber Inferior para verificar regras." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "MS Topo" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "Máscara de Solda Superior para verificar regras." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "MS Baixo" - -#: appPlugins/ToolRulesCheck.py:1272 -msgid "The Bottom Gerber Solder Mask object for which rules are checked." -msgstr "Máscara de Solda Inferior para verificar regras." - -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Silk Topo" - -#: appPlugins/ToolRulesCheck.py:1290 +#: appPlugins/ToolRulesCheck.py:1307 msgid "The Top Gerber Silkscreen object for which rules are checked." msgstr "Silkscreen Superior para verificar regras." -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Silk Baixo" +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Baixo" -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "Camada Gerber Inferior para verificar regras." + +#: appPlugins/ToolRulesCheck.py:1355 +msgid "The Bottom Gerber Solder Mask object for which rules are checked." +msgstr "Máscara de Solda Inferior para verificar regras." + +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "Silkscreen Inferior para verificar regras." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "Objeto Gerber de Contorno (Recorte) para verificar regras." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Objetos Excellon para verificar regras." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -18125,11 +18136,7 @@ msgstr "" "Objeto Excellon para verificar regras.\n" "Contém os furos galvanizados ou um conteúdo geral do arquivo Excellon." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -18137,15 +18144,7 @@ msgstr "" "Objeto Excellon para verificar regras.\n" "Contém os furos não galvanizados." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "Todas as Regras" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "Seleciona/deseleciona todas as regras abaixo." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Avaliar Regras" @@ -18248,7 +18247,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Objeto Gerber Máscara de Solda." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -18256,7 +18255,7 @@ msgstr "" "Conjunto de ferramentas a partir do qual o algoritmo selecionará para " "distribuir pasta de solda." -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -18270,7 +18269,7 @@ msgstr "" "Se não houver mais ferramentas, mas ainda houver blocos não cobertos\n" "com pasta de solda, o aplicativo emitirá uma caixa de mensagem de aviso." -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." @@ -18278,7 +18277,7 @@ msgstr "" "Diâmetro da ferramenta. Seu valor\n" "é a largura da pasta de solda dispensada." -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -18286,35 +18285,35 @@ msgstr "" "Adiciona uma nova ferramenta de bico à tabela de ferramentas\n" "com o diâmetro especificado acima." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 #, fuzzy #| msgid "Z Dispense" msgid "Dispense" msgstr "Altura para Distribuir" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 #, fuzzy #| msgid "Start Z" msgid "Z Start" msgstr "Z Inicial" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 #, fuzzy #| msgid "Function" msgid "Z Action" msgstr "Função" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 #, fuzzy #| msgid "Stop" msgid "Z Stop" msgstr "Final" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Gerar geometria de distribuição de pasta de solda." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -18324,17 +18323,17 @@ msgstr "" "Como proteção, o nome do objeto deve terminar com: \n" "'_solderpaste'." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 #, fuzzy #| msgid "Create CNCJob" msgid "CNCJob" msgstr "Criar CNCJob" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "Gerar CNCJob" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -18342,7 +18341,7 @@ msgstr "" "Gera o G-Code para dispensar pasta de solda\n" "nos pads da PCB." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -18354,11 +18353,11 @@ msgstr "" "o nome do objeto tem que terminar com:\n" "'_solderpaste'." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "Salvar o G-Code" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -18465,6 +18464,10 @@ msgstr "" "Pode ser usado para remover a serigrafia sobreposta\n" "sobre a máscara de solda." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "Geometria" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -20044,6 +20047,30 @@ msgstr "Origem definida deslocando todos os objetos carregados com " msgid "No Geometry name in args. Provide a name and try again." msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente." +#~ msgid "EXCELLON" +#~ msgstr "Excellon" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Objeto para o qual verificar regras." + +#~ msgid "SM Top" +#~ msgstr "MS Topo" + +#~ msgid "SM Bottom" +#~ msgstr "MS Baixo" + +#~ msgid "Silk Bottom" +#~ msgstr "Silk Baixo" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "Seleciona/deseleciona todas as regras abaixo." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -20277,9 +20304,6 @@ msgstr "Nenhum nome de geometria nos argumentos. Altere e tente novamente." #~ msgid "Fiducials Coordinates" #~ msgstr "Coordenadas dos Fiduciais" -#~ msgid "Soldermask Gerber" -#~ msgstr "Gerber Máscara de Solda" - #~ msgid "The Soldermask Gerber object." #~ msgstr "Objeto Gerber de Máscara de Solda." diff --git a/locale/ro/LC_MESSAGES/strings.mo b/locale/ro/LC_MESSAGES/strings.mo index 8ebf0d41e0d85881554816eded9263995f0c934c..fb2ad24edaff99aab1acf3f397f1b286ccbdaaec 100644 GIT binary patch delta 70765 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

>MP!-y9&yhc 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 Tu5?`A)*Z2Pec? open-source vectorial format\n" @@ -11739,22 +11728,22 @@ msgstr "" "- „PDF” -> format document portabil" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Orientarea paginii" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Mărimea paginii" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "O selecție de dimensiuni standard de pagină conform ISO 216." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" "Valoarea implicită este 96 DPI. Schimbați această valoare pentru a scala " @@ -12509,7 +12498,7 @@ msgid "New Nozzle Dia" msgstr "Dia nou" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Valoarea pentru diametrul unei noi unelte" @@ -12518,17 +12507,17 @@ msgid "Z Dispense Start" msgstr "Z start dispensare" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "Înălţimea (Z) când incepe dispensarea de pastă de fludor." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Z dispensare" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "Înălţimea (Z) in timp ce se face dispensarea de pastă de fludor." @@ -12537,7 +12526,7 @@ msgid "Z Dispense Stop" msgstr "Z stop dispensare" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "Înălţimea (Z) când se opreste dispensarea de pastă de fludor." @@ -12546,7 +12535,7 @@ msgid "Z Travel" msgstr "Z deplasare" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12559,12 +12548,12 @@ msgid "Z Toolchange" msgstr "Z schimb. unealtă" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "Înălţimea (Z) când se schimbă unealta (nozzle-ul)." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12573,12 +12562,12 @@ msgstr "" "Formatul este (x,y) unde x și y sunt numere Reale." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Viteza de deplasare a uneltei când se deplasează in planul X-Y." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12590,7 +12579,7 @@ msgid "Feedrate Z Dispense" msgstr "Feedrate Z dispensare" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12603,7 +12592,7 @@ msgid "Spindle Speed FWD" msgstr "Viteza motor inainte" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12616,7 +12605,7 @@ msgid "Dwell FWD" msgstr "Pauza FWD" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Pauza dupa dispensarea de pastă de fludor." @@ -12625,7 +12614,7 @@ msgid "Spindle Speed REV" msgstr "Viteza motor inapoi" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12638,7 +12627,7 @@ msgid "Dwell REV" msgstr "Pauza REV" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12647,7 +12636,7 @@ msgstr "" "necesară pt a ajunge la un echilibru al presiunilor." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "Fişiere care controlează generarea codului G-Code." @@ -13375,7 +13364,7 @@ msgid "Click on the START point." msgstr "Click pe punctul START." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Anulat prin solicitarea utilizatorului." @@ -13480,34 +13469,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Resetați Unealta" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Va reseta parametrii uneltei." @@ -14061,9 +14050,9 @@ msgid "Squares grid fill selected." msgstr "Umplere Grila de Pătrate selectată." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -14164,7 +14153,7 @@ msgid "Copper Thieving Tool exit." msgstr "Unealta Copper Thieving terminata." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14278,55 +14267,56 @@ msgstr "" msgid "Corners" msgstr "Marcaje Colțuri" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 msgid "Click to add next marker or right click to finish." msgstr "" "Faceți clic pentru a adăuga următorul marker sau faceți clic dreapta pentru " "a termina." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Vă rugăm să selectați cel puțin o locație" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "Dimaetrul uneltei este zero." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "Obiectul Excellon conținând găurile din colțuri a fost creat ..." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "Obiectul Gerber conținând semnele din colțuri a fost creat ..." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 msgid "Added marker" msgstr "Marcaj adăugat" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "Obiect Gerber căruia i se va adăuga marcaje de colt." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Locaţii" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Locații unde să plasați markerele de colț." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "Dreapta-sus" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "Comută Toate" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." @@ -14334,32 +14324,32 @@ msgstr "" "Când se alege tipul manual, marcajele\n" "sunt așezate manual pe ecran." -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Adaugă Marcaj" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Va adăuga marcaje de colț în fișierul Gerber selectat." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 msgid "Drills in Locations" msgstr "Găuri in Locatii" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Crează un obiect Excellon" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Se vor adăuga găuri în centrul marcajelor." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 msgid "Check in Locations" msgstr "Verificați in Locații" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -15620,7 +15610,7 @@ msgstr "" msgid "Film file exported to" msgstr "Fișierul Film exportat în" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -15632,7 +15622,7 @@ msgstr "" "Selectia facuta aici controlează ce obiecte vor fi \n" "gasite in combobox-ul >Obiect Film<." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -15644,11 +15634,11 @@ msgstr "" "Selectia facuta aici controlează ce obiecte vor fi \n" "gasite in combobox-ul >Container<." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Perforează găurii" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -15659,11 +15649,11 @@ msgstr "" "găurire,\n" "când este făcută manual." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "Sursă" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -15673,30 +15663,30 @@ msgstr "" "- Excellon -> centrul găurilor Excellon va servi ca referință.\n" "- Centru Pad-> va încerca să utilizeze centrul de pad-uri ca referință." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Centru Pad" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "" "Îndepărtați geometria Excellon din film pentru a crea găurile din pad-uri." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Mărimea Perforatii" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "" "Valoarea de aici va controla cât de mare este gaura de perforare în pad-uri." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Salveaa filmul" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -15707,7 +15697,7 @@ msgstr "" "container selectat. Nu crează un obiect nou FlatCAM ci\n" "salvează pe HDD un fişier in formatul selectat." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -16087,7 +16077,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -16910,6 +16900,10 @@ msgstr "Unealta Optim. Se caută distanța minimă." msgid "Optimal Tool. Finished successfully." msgstr "Unealta Optim. Procesul s-a terminat cu succes." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Numărul de zecimale păstrate pentru distanțele găsite." @@ -17307,7 +17301,7 @@ msgstr "Mentine panelul in" msgid "Panelize Object" msgstr "Panelizează obiectul" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -17633,27 +17627,27 @@ msgstr "Geo-Multi" msgid "Metric" msgstr "Metric" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Verificați regulile" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "Valoarea nu este valabilă." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "TOP -> Distanta de la Cupru la Cupru" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "BOTTOM -> Distanta de la Cupru la Cupru" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -17661,14 +17655,14 @@ msgstr "" "Pentru această regulă trebuie selectat cel puțin un obiect Gerber, dar " "niciunul nu este selectat." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" "Unul dintre obiectele Gerber din cupru sau obiectul Gerber contur nu este " "valid." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -17676,31 +17670,31 @@ msgstr "" "Prezenta obiectului Gerber contur este obligatorie pentru această regulă, " "dar nu este selectată." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "Distanta Silk la Silk" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "TOP -> Distanta Silk la Silk" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "BOTTOM -> Distanta Silk la Silk" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "Unul sau mai multe dintre obiectele Gerber nu sunt valabile." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "TOP -> Distanta Silk la Solder mask" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "BOTTOM -> Distanta Silk la Solder mask" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -17708,120 +17702,137 @@ msgstr "" "Atât obiectele Silk cat si cele Solder Mask trebuie ori ambele TOP ori " "ambele BOTTOM." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" "Unul dintre obiectele Silk Gerber sau obiectul Contur Gerber nu este valid." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "TOP -> Distanta minima intre elementele Solder Mask" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "BOTTOM -> Distanta minima intre elementele Solder Mask" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "" "Unul dintre obiectele Gerber Cupru sau obiectele Excellon nu este valabil." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "Prezența obiectului Excellon este obligatorie pentru această regulă, dar " "niciunul nu este selectat." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "STARE" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "A EȘUAT" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "A TRECUT" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "Încălcări: nu există încălcări pentru regula actuală." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Obiecte Gerber pentru care trebuie verificate regulile." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "Aria de Cupru" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "Totate Regulile" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "Silk Top" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Gerber Soldermask" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Frezare găuri" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Top" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "Obiectul Top Gerber cupru pentru care sunt verificate regulile." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Bottom" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "Obiectul Bottom Gerber cupru pentru care sunt verificate regulile." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "SM Top" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "" "Obiectul Top (superior) Gerber Solder Mask pentru care sunt verificate " "regulile." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "SM Bottom" +#: appPlugins/ToolRulesCheck.py:1307 +msgid "The Top Gerber Silkscreen object for which rules are checked." +msgstr "Obiectul Top Gerber Silkscreen pentru care sunt verificate regulile." -#: appPlugins/ToolRulesCheck.py:1272 +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Bottom" + +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "Obiectul Bottom Gerber cupru pentru care sunt verificate regulile." + +#: appPlugins/ToolRulesCheck.py:1355 msgid "The Bottom Gerber Solder Mask object for which rules are checked." msgstr "" "Obiectul Bottom (inferior) Gerber Solder Mask pentru care sunt verificate " "regulile." -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Silk Top" - -#: appPlugins/ToolRulesCheck.py:1290 -msgid "The Top Gerber Silkscreen object for which rules are checked." -msgstr "Obiectul Top Gerber Silkscreen pentru care sunt verificate regulile." - -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Silk Bottom" - -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "" "Obiectul Bottom Gerber Silkscreen pentru care sunt verificate regulile." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "" "Obiectul Gerber Outline (decupaj) pentru care sunt verificate regulile." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Obiecte Excellon pentru care trebuie verificate regulile." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -17829,11 +17840,7 @@ msgstr "" "Obiect Excellon pentru care trebuie verificate regulile.\n" "Contine găurile placate sau un conținut general Excellon." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -17841,15 +17848,7 @@ msgstr "" "Obiect Excellon pentru care trebuie verificate regulile.\n" "Contine găurile ne-placate." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "Totate Regulile" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "Aceasta bifează/debifează toate regulile de mai jos." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Executați Verificarea regulilor" @@ -17949,7 +17948,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Obiectul Gerber Soldermask." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -17957,7 +17956,7 @@ msgstr "" "Un număr de unelte (nozzle) din care algoritmul va alege pe acelea\n" "care vor fi folosite pentru dispensarea pastei de fludor." -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -17972,7 +17971,7 @@ msgstr "" "Daca numai sunt unelte dar mai sunt inca paduri neacoperite de pastă de \n" "fludor, aplicaţia va afisa un mesaj de avertizare in Status Bar." -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." @@ -17980,7 +17979,7 @@ msgstr "" "Diametrul uneltei. Valoarea sa\n" "este lăţimea cantităţii de pastă de fludor dispensată." -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -17988,27 +17987,27 @@ msgstr "" "Adaugă o unealtă nouă tip Nozzle in Tabela de Unelte\n" "cu diametrul specificat mai sus." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 msgid "Dispense" msgstr "Dispensare" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 msgid "Z Start" msgstr "Z Start" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 msgid "Z Action" msgstr "Z Acțiune" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 msgid "Z Stop" msgstr "Z Stop" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Generează un obiect Geometrie pt dispensarea de pastă de fludor." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -18018,15 +18017,15 @@ msgstr "" "Numele obiectului trebuie să se termine obligatoriu\n" "in: '_solderpaste'." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 msgid "CNCJob" msgstr "CNCJob" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "Generează CNCJob" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -18034,7 +18033,7 @@ msgstr "" "Generează GCode pt dispensarea\n" "de pastă de fludor pe padurile PCB." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -18046,11 +18045,11 @@ msgstr "" "numele obiectului trebuie să se termine obligatoriu in:\n" "'_solderpaste'." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "Salvează GCode" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -18147,6 +18146,10 @@ msgstr "" "Poate fi utilizat pt. a indepărta silkscreen-ul\n" "care se suprapune peste soldermask." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "GEOMETRIE" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -19714,6 +19717,30 @@ msgstr "" "Nici-un nume de Geometrie in argumente. Furnizați un nume și încercați din " "nou." +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Obiecte Gerber pentru care trebuie verificate regulile." + +#~ msgid "SM Top" +#~ msgstr "SM Top" + +#~ msgid "SM Bottom" +#~ msgstr "SM Bottom" + +#~ msgid "Silk Bottom" +#~ msgstr "Silk Bottom" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "Aceasta bifează/debifează toate regulile de mai jos." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -19942,9 +19969,6 @@ msgstr "" #~ msgid "Fiducials Coordinates" #~ msgstr "Coordonatele Fiducials" -#~ msgid "Soldermask Gerber" -#~ msgstr "Gerber Soldermask" - #~ msgid "The Soldermask Gerber object." #~ msgstr "Obiectul Soldermask Gerber." diff --git a/locale/ru/LC_MESSAGES/strings.mo b/locale/ru/LC_MESSAGES/strings.mo index dc6927f2fb49ba19b99ee378b4d12dc17ff84c99..14bf9d3adc92004a6fd0617279029e7e0ff16f06 100644 GIT binary patch delta 63910 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\n" "Language-Team: \n" @@ -115,8 +115,8 @@ msgstr "Закладки" #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 #: appGUI/MainGUI.py:3642 appGUI/MainGUI.py:3872 -#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 +#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 #: appPlugins/ToolFilm.py:407 appPlugins/ToolFilm.py:546 #: appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 @@ -314,7 +314,7 @@ msgstr "Цель" #: appPlugins/ToolMilling.py:3656 appPlugins/ToolNCC.py:4146 #: appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "Диаметр" @@ -600,7 +600,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 #: appPlugins/ToolCalibration.py:794 appPlugins/ToolDrilling.py:1559 #: appPlugins/ToolDrilling.py:2459 appPlugins/ToolMilling.py:3247 -#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "Отвод по Z" @@ -704,7 +704,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 #: appPlugins/ToolDrilling.py:1573 appPlugins/ToolDrilling.py:2515 #: appPlugins/ToolMilling.py:3265 appPlugins/ToolMilling.py:4284 -#: appPlugins/ToolSolderPaste.py:1509 appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolSolderPaste.py:1502 appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "Скорость вращения шпинделя" @@ -719,8 +719,8 @@ msgstr "" "Скорость вращения шпинделя в об/мин." #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "Задержка" @@ -861,7 +861,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 #: appPlugins/ToolCutOut.py:2725 appPlugins/ToolExtract.py:1351 #: appPlugins/ToolFiducials.py:992 appPlugins/ToolInvertGerber.py:269 #: appPlugins/ToolInvertGerber.py:277 appPlugins/ToolMilling.py:4039 @@ -875,7 +875,7 @@ msgstr "Отступ" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 -#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:931 +#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:969 #: appPlugins/ToolFiducials.py:994 appPlugins/ToolMilling.py:4041 #: appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." @@ -1343,7 +1343,7 @@ msgstr "Расстояние между отверстиями сверла пр #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 -#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "Выпуклая форма" @@ -1464,8 +1464,8 @@ msgstr "Отмена" #: appPlugins/ToolAlignObjects.py:584 appPlugins/ToolCalculators.py:1068 #: appPlugins/ToolCalculators.py:1079 appPlugins/ToolCalibration.py:1420 #: appPlugins/ToolCalibration.py:1431 appPlugins/ToolCopperThieving.py:1807 -#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1113 -#: appPlugins/ToolCorners.py:1124 appPlugins/ToolCutOut.py:2796 +#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1151 +#: appPlugins/ToolCorners.py:1162 appPlugins/ToolCutOut.py:2796 #: appPlugins/ToolCutOut.py:2807 appPlugins/ToolDblSided.py:1147 #: appPlugins/ToolDblSided.py:1158 appPlugins/ToolDistance.py:708 #: appPlugins/ToolDistance.py:719 appPlugins/ToolDistanceMin.py:398 @@ -1473,8 +1473,8 @@ msgstr "Отмена" #: appPlugins/ToolDrilling.py:2931 appPlugins/ToolEtchCompensation.py:531 #: appPlugins/ToolEtchCompensation.py:542 appPlugins/ToolExtract.py:1421 #: appPlugins/ToolExtract.py:1432 appPlugins/ToolFiducials.py:1137 -#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1832 -#: appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 #: appPlugins/ToolImage.py:376 appPlugins/ToolInvertGerber.py:338 #: appPlugins/ToolInvertGerber.py:349 appPlugins/ToolIsolation.py:3713 @@ -1487,9 +1487,9 @@ msgstr "Отмена" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 #: appPlugins/ToolSub.py:999 appPlugins/ToolTransform.py:1071 #: appPlugins/ToolTransform.py:1082 appTool.py:300 appTool.py:311 msgid "Edited value is out of range" @@ -1502,8 +1502,8 @@ msgstr "Отредактированное значение находится #: appPlugins/ToolAlignObjects.py:586 appPlugins/ToolCalculators.py:1074 #: appPlugins/ToolCalculators.py:1081 appPlugins/ToolCalibration.py:1426 #: appPlugins/ToolCalibration.py:1433 appPlugins/ToolCopperThieving.py:1813 -#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1119 -#: appPlugins/ToolCorners.py:1126 appPlugins/ToolCutOut.py:2802 +#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1157 +#: appPlugins/ToolCorners.py:1164 appPlugins/ToolCutOut.py:2802 #: appPlugins/ToolCutOut.py:2809 appPlugins/ToolDblSided.py:1153 #: appPlugins/ToolDblSided.py:1160 appPlugins/ToolDistance.py:714 #: appPlugins/ToolDistance.py:721 appPlugins/ToolDistanceMin.py:404 @@ -1511,8 +1511,8 @@ msgstr "Отредактированное значение находится #: appPlugins/ToolDrilling.py:2933 appPlugins/ToolEtchCompensation.py:537 #: appPlugins/ToolEtchCompensation.py:544 appPlugins/ToolExtract.py:1427 #: appPlugins/ToolExtract.py:1434 appPlugins/ToolFiducials.py:1143 -#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1838 -#: appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1833 +#: appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 #: appPlugins/ToolImage.py:378 appPlugins/ToolInvertGerber.py:344 #: appPlugins/ToolInvertGerber.py:351 appPlugins/ToolIsolation.py:3719 @@ -1525,9 +1525,9 @@ msgstr "Отредактированное значение находится #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 #: appPlugins/ToolSub.py:1001 appPlugins/ToolTransform.py:1077 #: appPlugins/ToolTransform.py:1084 appTool.py:306 appTool.py:313 msgid "Edited value is within limits." @@ -1738,9 +1738,9 @@ msgstr "Слишком много элементов для выбранного #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 -#: appPlugins/ToolCorners.py:698 appPlugins/ToolCutOut.py:856 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 +#: appPlugins/ToolCorners.py:736 appPlugins/ToolCutOut.py:856 #: appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 #: appPlugins/ToolCutOut.py:1412 appPlugins/ToolCutOut.py:1430 @@ -1941,7 +1941,7 @@ msgstr "Редактор Excellon" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 -#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:834 +#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:872 #: appPlugins/ToolCutOut.py:2215 appPlugins/ToolDblSided.py:695 #: appPlugins/ToolDrilling.py:2285 appPlugins/ToolFiducials.py:832 #: appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 @@ -1966,7 +1966,7 @@ msgstr "Имя:" #: appGUI/ObjectUI.py:1435 appPlugins/ToolDrilling.py:2326 #: appPlugins/ToolIsolation.py:3189 appPlugins/ToolMilling.py:3626 #: appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "Таблица инструментов" @@ -2084,10 +2084,10 @@ msgstr "Добавляет массив свёрел (линейный или к #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 #: appPlugins/ToolNCC.py:4558 appPlugins/ToolPaint.py:2965 #: appPlugins/ToolPaint.py:3304 appPlugins/ToolPunchGerber.py:2089 @@ -2164,7 +2164,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1456 +#: appPlugins/ToolFilm.py:1454 msgid "X" msgstr "X" @@ -2177,7 +2177,7 @@ msgstr "X" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 -#: appPlugins/ToolFilm.py:1457 +#: appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "Y" @@ -2291,7 +2291,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 -#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:916 +#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:954 #: appPlugins/ToolReport.py:604 msgid "Length" msgstr "Длина" @@ -2591,7 +2591,7 @@ msgstr "Наклон/Сдвиг" #: appGUI/MainGUI.py:5325 appGUI/ObjectUI.py:121 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 -#: appPlugins/ToolFilm.py:1323 appPlugins/ToolTransform.py:575 +#: appPlugins/ToolFilm.py:1321 appPlugins/ToolTransform.py:575 #: appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "Масштаб" @@ -2616,7 +2616,7 @@ msgstr "Буфер" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 #: appPlugins/ToolDblSided.py:871 appPlugins/ToolDblSided.py:1062 -#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "Ссылка" @@ -2653,7 +2653,7 @@ msgstr "Источник" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 -#: appPlugins/ToolCorners.py:984 appPlugins/ToolFiducials.py:1061 +#: appPlugins/ToolCorners.py:1022 appPlugins/ToolFiducials.py:1061 #: appPlugins/ToolFollow.py:737 appPlugins/ToolIsolation.py:3573 #: appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 @@ -2681,6 +2681,11 @@ msgstr "Минимальное расстояние" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 #: appPlugins/ToolExtract.py:1236 appPlugins/ToolExtract.py:1265 #: appPlugins/ToolPunchGerber.py:2168 appPlugins/ToolPunchGerber.py:2276 +#: appPlugins/ToolRulesCheck.py:1494 appPlugins/ToolRulesCheck.py:1518 +#: appPlugins/ToolRulesCheck.py:1543 appPlugins/ToolRulesCheck.py:1568 +#: appPlugins/ToolRulesCheck.py:1605 appPlugins/ToolRulesCheck.py:1630 +#: appPlugins/ToolRulesCheck.py:1655 appPlugins/ToolRulesCheck.py:1693 +#: appPlugins/ToolRulesCheck.py:1730 appPlugins/ToolRulesCheck.py:1755 #: appPlugins/ToolTransform.py:630 appPlugins/ToolTransform.py:995 #: app_Main.py:8905 msgid "Value" @@ -2741,7 +2746,7 @@ msgstr "Соедините запись Y с записью X и скопиру #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 -#: appPlugins/ToolFilm.py:1397 appPlugins/ToolTransform.py:746 +#: appPlugins/ToolFilm.py:1395 appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "Угол наклона X" @@ -2775,7 +2780,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1407 appPlugins/ToolTransform.py:767 +#: appPlugins/ToolFilm.py:1405 appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "Угол наклона Y" @@ -2787,7 +2792,7 @@ msgstr "Наклон Y" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 -#: appPlugins/ToolFilm.py:1336 appPlugins/ToolTransform.py:815 +#: appPlugins/ToolFilm.py:1334 appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "Коэффициент X" @@ -2817,7 +2822,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 -#: appPlugins/ToolFilm.py:1346 appPlugins/ToolTransform.py:835 +#: appPlugins/ToolFilm.py:1344 appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "Коэффициент Y" @@ -2900,7 +2905,7 @@ msgstr "Смещение Y" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 -#: appPlugins/ToolFilm.py:1500 appPlugins/ToolInvertGerber.py:291 +#: appPlugins/ToolFilm.py:1497 appPlugins/ToolInvertGerber.py:291 #: appPlugins/ToolQRCode.py:920 appPlugins/ToolTransform.py:954 msgid "Rounded" msgstr "Закругленный" @@ -3360,12 +3365,12 @@ msgstr "Выбор полигона" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 #: appPlugins/ToolSub.py:814 appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "Параметры" @@ -3551,7 +3556,7 @@ msgstr "Нажмите на целевой точке." #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "Обработка…" @@ -3847,7 +3852,7 @@ msgstr "Координаты скопированы в буфер обмена." #: appObjects/FlatCAMGerber.py:1002 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 #: appPlugins/ToolMove.py:235 appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "Прорисовка" @@ -4465,6 +4470,7 @@ msgstr "Удалить" #: appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "Выбрать все" @@ -4692,22 +4698,22 @@ msgstr "Создаёт новый пустой проект" msgid "New" msgstr "Создать" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 -#: appPlugins/ToolFilm.py:1280 appPlugins/ToolImage.py:175 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 +#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:175 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:150 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolSolderPaste.py:1589 appPlugins/ToolSub.py:899 +#: appPlugins/ToolSolderPaste.py:1582 appPlugins/ToolSub.py:899 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "Geometry" @@ -4721,7 +4727,7 @@ msgstr "N" msgid "Will create a new, empty Geometry Object." msgstr "Создаёт новый объект Geometry." -#: appGUI/MainGUI.py:107 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 @@ -4731,16 +4737,16 @@ msgstr "Создаёт новый объект Geometry." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 #: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 -#: appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 +#: appPlugins/ToolFilm.py:1255 appPlugins/ToolFilm.py:1278 #: appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:144 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 -#: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 -#: defaults.py:593 +#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolRulesCheck.py:1209 +#: appPlugins/ToolSub.py:834 appPlugins/ToolTransform.py:160 +#: appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "Gerber" @@ -4753,7 +4759,7 @@ msgstr "B" msgid "Will create a new, empty Gerber Object." msgstr "Создаёт новый объект Gerber." -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4763,11 +4769,12 @@ msgstr "Создаёт новый объект Gerber." #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 #: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 -#: appPlugins/ToolFilm.py:1583 appPlugins/ToolIsolation.py:3594 +#: appPlugins/ToolFilm.py:1580 appPlugins/ToolIsolation.py:3594 #: appPlugins/ToolMilling.py:3595 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "Excellon" @@ -4874,7 +4881,7 @@ msgstr "DXF как объект Gerber" msgid "HPGL2 as Geometry Object" msgstr "HPGL2 как объект геометрии" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "Экспорт" @@ -5800,7 +5807,7 @@ msgid "Copper Thieving" msgstr "Copper Thieving" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 #, fuzzy #| msgid "Corner Markers Tool" msgid "Corner Markers" @@ -5958,19 +5965,6 @@ msgstr "Оболочка TCL" msgid "Plot Area" msgstr "Рабочая область" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 -#: appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "GERBER" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "EXCELLON" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "GEOMETRY" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "CNC-JOB" @@ -6198,7 +6192,7 @@ msgstr "" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 #: appPlugins/ToolNCC.py:1375 appPlugins/ToolPaint.py:664 -#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1291 +#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1284 #: app_Main.py:4995 msgid "New Tool" msgstr "Новый инструмент" @@ -6595,7 +6589,7 @@ msgstr "Открыть онлайн-уроки" msgid "Refresh Plots" msgstr "Обновить участки" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "Удалить объект" @@ -7064,14 +7058,14 @@ msgstr "" #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 -#: appPlugins/ToolFilm.py:1502 +#: appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "Полученная геометрия будет иметь закругленные углы." #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 #: appPlugins/ToolNCC.py:4610 appPlugins/ToolPaint.py:3347 -#: appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "Создать объект" @@ -7477,7 +7471,7 @@ msgstr "" "Открывает диалоговое окно для сохранения\n" "файла G-Code." -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "Просмотрите код ЧПУ." @@ -7522,7 +7516,7 @@ msgstr "Выравнивание по левому краю" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5431 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5431 #: app_Main.py:5695 msgid "Center" msgstr "По центру" @@ -7776,7 +7770,7 @@ msgstr "" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 #: appObjects/FlatCAMObj.py:843 appPlugins/ToolLevelling.py:2219 -#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "Скорость подачи" @@ -7836,7 +7830,7 @@ msgstr "Цвет линии передвижения" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 -#: appPlugins/ToolRulesCheck.py:1324 +#: appPlugins/ToolRulesCheck.py:1385 appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "Контур" @@ -8510,7 +8504,7 @@ msgstr "Ориентация" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 -#: appPlugins/ToolFilm.py:1647 +#: appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -8523,14 +8517,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 -#: appPlugins/ToolFilm.py:1651 app_Main.py:8435 +#: appPlugins/ToolFilm.py:1647 app_Main.py:8435 msgid "Portrait" msgstr "Портретная" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 -#: appPlugins/ToolFilm.py:1652 app_Main.py:8437 +#: appPlugins/ToolFilm.py:1648 app_Main.py:8437 msgid "Landscape" msgstr "Альбомная" @@ -8550,7 +8544,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 -#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "Оси" @@ -9848,7 +9842,7 @@ msgid "Minimal" msgstr "Минимальная" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "Тип рамки" @@ -9957,7 +9951,7 @@ msgstr "Граница рамки." #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "Толщина" @@ -10003,7 +9997,7 @@ msgstr "Выберите, какую дополнительную геометр #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "Обе" @@ -10029,9 +10023,9 @@ msgstr "Точки калибровки" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "Параметры, используемые для этого инструмента." @@ -10107,23 +10101,23 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:956 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5692 +#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:994 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5692 msgid "Top Left" msgstr "Верхний левый" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:968 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5693 +#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:1006 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5693 msgid "Bottom Right" msgstr "Нижний правый" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 -#: appPlugins/ToolSolderPaste.py:1407 +#: appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "Смена инструмента" @@ -10430,7 +10424,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 -#: appPlugins/ToolCorners.py:895 appPlugins/ToolFiducials.py:1035 +#: appPlugins/ToolCorners.py:933 appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "Крест" @@ -10445,14 +10439,14 @@ msgid "Line thickness" msgstr "Толщина линии" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 -#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:1073 +#: appPlugins/ToolCorners.py:1040 appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "Авто" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 -#: appPlugins/ToolCorners.py:1003 appPlugins/ToolCutOut.py:2520 +#: appPlugins/ToolCorners.py:1041 appPlugins/ToolCutOut.py:2520 #: appPlugins/ToolDblSided.py:1053 appPlugins/ToolFiducials.py:1074 #: appPlugins/ToolLevelling.py:1918 appPlugins/ToolPunchGerber.py:2309 msgid "Manual" @@ -10460,7 +10454,7 @@ msgstr "Вручную" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 -#: appPlugins/ToolCorners.py:995 appPlugins/ToolLevelling.py:1911 +#: appPlugins/ToolCorners.py:1033 appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "Режим" @@ -10670,7 +10664,7 @@ msgstr "Добавьте сюда текст, который будет вклю #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 -#: appPlugins/ToolFilm.py:1529 appPlugins/ToolQRCode.py:897 +#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "Полярность" @@ -10687,13 +10681,13 @@ msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 -#: appPlugins/ToolFilm.py:1527 appPlugins/ToolQRCode.py:903 +#: appPlugins/ToolFilm.py:1524 appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "Негатив" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 -#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:904 +#: appPlugins/ToolFilm.py:1523 appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "Позитив" @@ -10755,12 +10749,12 @@ msgstr "" "правил изготовления." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "Размер трассы" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "Это проверяет, соблюден ли минимальный размер трассы." @@ -10774,27 +10768,22 @@ msgstr "Это проверяет, соблюден ли минимальный #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "Минимальное значение" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "Минимальный допустимый размер трассировки." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "Зазор между медными дорожками" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10807,22 +10796,22 @@ msgstr "Проверяет, соблюдены ли минимальные за #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "Минимально допустимое значение зазора." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "Зазор между медью и контуром" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." @@ -10831,25 +10820,25 @@ msgstr "" "и контурами." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "Зазор между шелкографией" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." msgstr "Проверяет, соблюдены ли минимальные зазоры между шелкографией." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "Зазор между шелкографией и паяльной маской" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." @@ -10858,14 +10847,14 @@ msgstr "" "и паяльной маской." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "Зазор между шелкографией и контуром" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." @@ -10874,13 +10863,13 @@ msgstr "" "и контурами." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "Минимальная ширина паяльной маски" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." @@ -10889,14 +10878,14 @@ msgstr "" "и встречной паяльной маской." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "Минимальное медное кольцо" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." @@ -10905,34 +10894,34 @@ msgstr "" "отверстия в площадке." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "Минимальное допустимое значение кольца." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "Зазор между отверстиями" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." msgstr "Проверяет, есть ли минимальный зазор между отверстиями." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "Минимальный допустимый размер отверстия." #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "Размер отверстия" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -10962,7 +10951,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 -#: appPlugins/ToolCorners.py:1040 appPlugins/ToolCutOut.py:2699 +#: appPlugins/ToolCorners.py:1078 appPlugins/ToolCutOut.py:2699 #: appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "Диаметр Сверла" @@ -11166,27 +11155,27 @@ msgid "Corner Markers Options" msgstr "Параметры угловых маркеров" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 -#: appPlugins/ToolCorners.py:890 +#: appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "Форма маркера." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 -#: appPlugins/ToolCorners.py:894 +#: appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "Полукрест" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appPlugins/ToolCorners.py:904 +#: appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "Толщина линии, обозначающей угол." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 -#: appPlugins/ToolCorners.py:918 +#: appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "Длина линии, которая делает угловой маркер." #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 -#: appPlugins/ToolCorners.py:1042 +#: appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "Диаметр сверла" @@ -11380,7 +11369,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "Прямой" @@ -11390,7 +11379,7 @@ msgstr "Прямой" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "Обратный" @@ -11480,7 +11469,7 @@ msgstr "Количество единиц времени для остановк #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "Постпроцессор" @@ -11716,21 +11705,21 @@ msgid "Film Plugin" msgstr "plugin_tab" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 -#: appPlugins/ToolFilm.py:1308 +#: appPlugins/ToolFilm.py:1307 #, fuzzy #| msgid "Film Adjustments" msgid "Adjustments" msgstr "Регулировка Пленки" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 -#: appPlugins/ToolFilm.py:1310 +#: appPlugins/ToolFilm.py:1309 #, fuzzy #| msgid "Center point coordinates" msgid "Compensate print distortions." msgstr "Координаты центральной точки" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 -#: appPlugins/ToolFilm.py:1325 +#: appPlugins/ToolFilm.py:1323 #, fuzzy #| msgid "" #| "A value greater than 1 will stretch the film\n" @@ -11744,7 +11733,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 -#: appPlugins/ToolFilm.py:1358 appPlugins/ToolFilm.py:1419 +#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 #, fuzzy #| msgid "" #| "The reference point to be used as origin for the skew.\n" @@ -11756,25 +11745,25 @@ msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCorners.py:964 appPlugins/ToolFiducials.py:898 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5691 +#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:898 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5691 msgid "Bottom Left" msgstr "Нижний левый" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "Верхний правый" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 -#: appPlugins/ToolFilm.py:1384 appPlugins/ToolTransform.py:726 +#: appPlugins/ToolFilm.py:1382 appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "Наклон" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 -#: appPlugins/ToolFilm.py:1386 +#: appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." @@ -11783,12 +11772,12 @@ msgstr "" "а отрицательные значения будут смещать влево." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 -#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "Отразить" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 -#: appPlugins/ToolFilm.py:1447 appPlugins/ToolFilm.py:1462 +#: appPlugins/ToolFilm.py:1445 appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "Зеркалирование геометрии пленки на выбранной оси или на обеих." @@ -11801,7 +11790,7 @@ msgstr "" "Файл сохраняется в формате SVG." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 -#: appPlugins/ToolFilm.py:1491 +#: appPlugins/ToolFilm.py:1488 #, fuzzy #| msgid "" #| "Create a convex shape surrounding the entire PCB.\n" @@ -11814,7 +11803,7 @@ msgstr "" "Используется только в том случае, если тип исходного объекта-Gerber." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 -#: appPlugins/ToolFilm.py:1531 +#: appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "" @@ -11827,12 +11816,12 @@ msgid "Set the film color when positive film is selected." msgstr "Устанавливает цвет плёнки при режиме \"Позитив\"." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 -#: appPlugins/ToolFilm.py:1542 +#: appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "Отступ" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 -#: appPlugins/ToolFilm.py:1544 +#: appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11853,12 +11842,12 @@ msgstr "" "окружающими, если бы не эта граница." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 -#: appPlugins/ToolFilm.py:1516 +#: appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "Масштаб обводки" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 -#: appPlugins/ToolFilm.py:1518 +#: appPlugins/ToolFilm.py:1515 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 " @@ -11871,27 +11860,27 @@ msgstr "" "поэтому этот параметр может сильно влиять на мелкие объекты." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 -#: appPlugins/ToolFilm.py:1637 +#: appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "SVG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 -#: appPlugins/ToolFilm.py:1638 +#: appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "PNG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 -#: appPlugins/ToolFilm.py:1639 +#: appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "PDF" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 -#: appPlugins/ToolFilm.py:1628 +#: appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "Тип плёнки" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 -#: appPlugins/ToolFilm.py:1630 +#: appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11904,22 +11893,22 @@ msgstr "" "- 'PDF' -> формат портативного документа" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Ориентация страницы" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Размер страницы" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "Выбор стандартных размеров страниц ISO 216." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" "Значение по умолчанию - 96 точек на дюйм. Измените это значение, чтобы " @@ -12698,7 +12687,7 @@ msgid "New Nozzle Dia" msgstr "Новый диаметр сопла" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Диаметр нового инструмента, добавляемого в таблицу инструментов" @@ -12707,17 +12696,17 @@ msgid "Z Dispense Start" msgstr "Z начала нанесения" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "Высота (Z), когда начинается выдача паяльной пасты." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Z нанесения" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "Высота (Z) при выполнении дозирования паяльной пасты." @@ -12726,7 +12715,7 @@ msgid "Z Dispense Stop" msgstr "Z конца нанесения" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "Высота (Z) при остановке выдачи паяльной пасты." @@ -12735,7 +12724,7 @@ msgid "Z Travel" msgstr "Z перемещения" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12748,12 +12737,12 @@ msgid "Z Toolchange" msgstr "Z смены инструмента" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "Высота (Z) для изменения инструмента (сопла)." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12762,12 +12751,12 @@ msgstr "" "Формат (x, y), где x и y-действительные числа." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "Скорость подачи при движении по плоскости X-Y." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12780,7 +12769,7 @@ msgid "Feedrate Z Dispense" msgstr "Скорость подачи Z Диспенсер" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12793,7 +12782,7 @@ msgid "Spindle Speed FWD" msgstr "Скорость прямого вращения шпинделя" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12806,7 +12795,7 @@ msgid "Dwell FWD" msgstr "Задержка В НАЧАЛЕ" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Пауза после выдачи паяльной пасты." @@ -12815,7 +12804,7 @@ msgid "Spindle Speed REV" msgstr "Скорость обратного вращения шпинделя" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12828,7 +12817,7 @@ msgid "Dwell REV" msgstr "Задержка В КОНЦЕ" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12837,7 +12826,7 @@ msgstr "" "чтобы обеспечить равномерное выдавливание." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "Файлы контролирующие генерацию GCode." @@ -13578,7 +13567,7 @@ msgid "Click on the START point." msgstr "Нажмите на начальную точку." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Отменено по запросу пользователя." @@ -13681,34 +13670,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Сбросить настройки инструмента" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Сброс параметров инструмента." @@ -14319,9 +14308,9 @@ msgid "Squares grid fill selected." msgstr "Выбрано заполнение сеткой квадратов." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -14421,7 +14410,7 @@ msgid "Copper Thieving Tool exit." msgstr "Выход из Copper Thieving." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14537,7 +14526,7 @@ msgstr "" msgid "Corners" msgstr "Углы" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 #, fuzzy #| msgid "Click to add next polygon or right click to start." msgid "Click to add next marker or right click to finish." @@ -14545,86 +14534,87 @@ msgstr "" "Щелкните, чтобы добавить следующий многоугольник, или щелкните правой " "кнопкой мыши, чтобы начать." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Пожалуйста, выберите хотя бы место" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "Диаметр инструмента равен нулю." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "Был создан объект Excellon с угловыми сверлами." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "Был создан объект Gerber с угловыми маркерами." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 #, fuzzy #| msgid "Add Marker" msgid "Added marker" msgstr "Добавить маркер" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "Объект Gerber, к которому будут добавлены угловые маркеры." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Местоположение" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Места расположения угловых маркеров." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "Верхний правый" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "Переключить всё" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." msgstr "" -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Добавить маркер" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Добавит угловые маркеры к выбранному файлу Gerber." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 #, fuzzy #| msgid "Drills in Corners" msgid "Drills in Locations" msgstr "Сверла по углам" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Создать объект Excellon" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Добавим просверленные отверстия в центре маркеров." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 #, fuzzy #| msgid "Locations" msgid "Check in Locations" msgstr "Местоположение" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -15933,7 +15923,7 @@ msgstr "" msgid "Film file exported to" msgstr "Файл плёнки экспортируется в" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -15945,7 +15935,7 @@ msgstr "" "Выбор здесь определяет тип объектов, которые будут\n" "в выпадающем списке объектов плёнки." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -15957,11 +15947,11 @@ msgstr "" "тип объектов, которые будут\n" "в поле со списком объектов." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Перфорация отверстий" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -15971,11 +15961,11 @@ msgstr "" "если это позитив плёнки. Это сделано для облегчения сверления\n" "отверстий вручную." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "Источник" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -15986,31 +15976,31 @@ msgstr "" "- Центр площадки -> попытается использовать центр площадки в качестве " "эталона." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Центр площадки" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "" "Удаляет геометрию Excellon из пленки для создания отверстий в площадках." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Размер перфорации" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "" "Это значение контролирует, насколько большим будет отверстие для перфорации " "в площадках." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Сохранить плёнку" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -16021,7 +16011,7 @@ msgstr "" "указанной ограничительной рамки. Не создает новый\n" "  объект FlatCAM, но напрямую сохраняет её в выбранном формате." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -16422,7 +16412,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -17290,6 +17280,10 @@ msgstr "Оптимизация. Нахождение минимального р msgid "Optimal Tool. Finished successfully." msgstr "Optimal Tool. Успешно завершено." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Количество десятичных знаков, сохраненных для найденных расстояний." @@ -17696,7 +17690,7 @@ msgstr "Ограничить панель внутри" msgid "Panelize Object" msgstr "Панелизация" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -18035,27 +18029,27 @@ msgstr "Мультипроход" msgid "Metric" msgstr "Метрический" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Проверка правил" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "Значение недействительно." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "ВЕРХ -> Зазор между медными дорожками" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "НИЗ -> Зазор между медными дорожками" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -18063,12 +18057,12 @@ msgstr "" "Для этого правила должен быть выбран хотя бы один объект Gerber, но ни один " "не выбран." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "Один из Gerber объектов меди или Gerber объект контура недопустим." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -18076,31 +18070,31 @@ msgstr "" "Присутствие Gerber объекта контура является обязательным для этого правила, " "но он не выбран." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "Зазор между элементами шелкографии" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "ВЕРХ -> Зазор между элементами шелкографии" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "НИЗ -> Зазор между элементами шелкографии" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "Один или несколько объектов Gerber недопустимы." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "ВЕРХ -> Зазор между шелкографией и паяльной маской" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "НИЗ -> Зазор между шелкографией и паяльной маской" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." @@ -18108,115 +18102,132 @@ msgstr "" "Gerber объекты шелкографии или паяльной маски должны быть либо сверху, либо " "снизу." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" "Один из Gerber объектов шелкографии или Gerber объект контура недопустим." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "ВЕРХ -> Минимальная ширина паяльной маски" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "НИЗ-> Минимальная ширина паяльной маски" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "Один из объектов Copper Gerber или Excellon недопустим." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "Наличие объекта Excellon обязательно для этого правила, но ни один объект не " "выбран." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "СТАТУС" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "НЕУДАЧНО" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "УСПЕШНО ПРОЙДЕНО" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "Нарушения: нарушений по текущему правилу нет." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Объекты Gerber для проверки правил." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "Медный участок" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "Все правила" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "Шелкография Верх" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Gerber объект паяльной маски" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Фрезеровка отверстий" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Верх" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "Объект Top Gerber Copper, для которого проверяются правила." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Низ" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "Нижний Gerber объект меди, для которого проверяются правила." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "ПМ Верх" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "" "Верхний Gerber объект паяльной маски, для которого проверяются правила." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "ПМ Низ" - -#: appPlugins/ToolRulesCheck.py:1272 -msgid "The Bottom Gerber Solder Mask object for which rules are checked." -msgstr "Нижний Gerber объект паяльной маски, для которого проверяются правила." - -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Шелкография Верх" - -#: appPlugins/ToolRulesCheck.py:1290 +#: appPlugins/ToolRulesCheck.py:1307 msgid "The Top Gerber Silkscreen object for which rules are checked." msgstr "Верхний Gerber объект шелкографии, для которого проверяются правила." -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Шелкография низ" +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Низ" -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "Нижний Gerber объект меди, для которого проверяются правила." + +#: appPlugins/ToolRulesCheck.py:1355 +msgid "The Bottom Gerber Solder Mask object for which rules are checked." +msgstr "Нижний Gerber объект паяльной маски, для которого проверяются правила." + +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "Нижний Gerber объект шелкографии, для которого проверяются правила." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "" "Gerber объект контур (обрезка платы), для которого проверяются правила." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Объекты Excellon для проверки правил." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -18224,11 +18235,7 @@ msgstr "" "Объект Excellon, для которого проверяются правила.\n" "Содержит отверстия с металлизацией или общее содержимое файла Excellon." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -18236,15 +18243,7 @@ msgstr "" "Объект Excellon, для которого проверяются правила.\n" "Содержит отверстия без металлизации." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "Все правила" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "Выделение/снятие выделения всех правил ниже." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Запустить проверку" @@ -18348,7 +18347,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Объект паяльной маски." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -18356,7 +18355,7 @@ msgstr "" "Пул инструментов, из которого алгоритм\n" "выберет те, которые будут использоваться для дозирования паяльной пасты." -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -18371,7 +18370,7 @@ msgstr "" "Если больше нет инструментов, но есть еще не покрытые прокладки\n" "  с паяльной пастой приложение выдаст окно с предупреждением." -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." @@ -18379,7 +18378,7 @@ msgstr "" "Диаметр инструмента. Его ценность\n" "ширина нанесенной паяльной пасты." -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -18387,35 +18386,35 @@ msgstr "" "Добавить новый инструмент сопла в таблицу инструментов\n" "с диаметром, указанным выше." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 #, fuzzy #| msgid "Z Dispense" msgid "Dispense" msgstr "Z нанесения" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 #, fuzzy #| msgid "Start Z" msgid "Z Start" msgstr "Z начала" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 #, fuzzy #| msgid "Location" msgid "Z Action" msgstr "Местоположение" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 #, fuzzy #| msgid "Stop" msgid "Z Stop" msgstr "Конечные" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Создание геометрии дозирования паяльной пасты." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -18425,17 +18424,17 @@ msgstr "" "Название объекта должно заканчиваться на:\n" "«_solderpaste» в качестве защиты." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 #, fuzzy #| msgid "Create CNCJob" msgid "CNCJob" msgstr "Создать CNCJob" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "Создать CNCJob" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." @@ -18443,7 +18442,7 @@ msgstr "" "Создаёт GCode для дозирования паяльной пасты\n" "на печатной плате." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -18455,11 +18454,11 @@ msgstr "" "имя объекта должно заканчиваться на:\n" "«_solderpaste» в качестве защиты." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "Сохранить GCode" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -18566,6 +18565,10 @@ msgstr "" "Может использоваться для удаления перекрывающей шелкографии\n" "над паяльной маской." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "GEOMETRY" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -20130,6 +20133,30 @@ msgstr "" msgid "No Geometry name in args. Provide a name and try again." msgstr "Нет имени геометрии в аргументах. Укажите имя и попробуйте снова." +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Объекты Gerber для проверки правил." + +#~ msgid "SM Top" +#~ msgstr "ПМ Верх" + +#~ msgid "SM Bottom" +#~ msgstr "ПМ Низ" + +#~ msgid "Silk Bottom" +#~ msgstr "Шелкография низ" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "Выделение/снятие выделения всех правил ниже." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -20359,9 +20386,6 @@ msgstr "Нет имени геометрии в аргументах. Укажи #~ msgid "Fiducials Coordinates" #~ msgstr "Координаты контрольных точек" -#~ msgid "Soldermask Gerber" -#~ msgstr "Gerber объект паяльной маски" - #~ msgid "The Soldermask Gerber object." #~ msgstr "Gerber объект паяльной маски." diff --git a/locale/tr/LC_MESSAGES/strings.mo b/locale/tr/LC_MESSAGES/strings.mo index 6f7b2be85d52c3b8af491510ce330c520a9dc0b1..18982c87d71e08c9b8f549b0087be157b1fef02e 100644 GIT binary patch delta 70239 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 O-=|Yh(`;UExBmyPxd$l# delta 70789 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 open-source vectorial format\n" @@ -11657,22 +11646,22 @@ msgstr "" "- 'PDF' -> Taşınabilir belge biçimi" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "Sayfa Yönü" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "Sayfa Boyutu" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "ISO 216 standart sayfa boyutları seçimi." #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" "Varsayılan çözünürlük değeri 96'dır. \n" @@ -12409,7 +12398,7 @@ msgid "New Nozzle Dia" msgstr "Yeni Ağızlık Çapı" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "Araçlar Tablosuna eklenecek yeni nozul (ağızlık) çapı" @@ -12418,17 +12407,17 @@ msgid "Z Dispense Start" msgstr "Z Dağıtım Başlangıcı" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "Lehim pastası dağıtımı başladığında yükseklik (Z)." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "Z Dağıtımı" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "Lehim pastası dağıtımı yaparken yükseklik (Z)." @@ -12437,7 +12426,7 @@ msgid "Z Dispense Stop" msgstr "Z Dağıtım Durdurma" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "Lehim pastası dağıtımı durduğunda yükseklik (Z)." @@ -12446,7 +12435,7 @@ msgid "Z Travel" msgstr "Z Kalkış" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -12459,12 +12448,12 @@ msgid "Z Toolchange" msgstr "Z Ucu Değiştir" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "Nozulun (ağızlık) değiştirilmesi için yükseklik (Z)." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12473,12 +12462,12 @@ msgstr "" "Biçim (x, y) şeklindedir; burada x ve y, gerçek sayılardır." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "X-Y düzlemi boyunca hareket ederken ilerleme hızı." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12491,7 +12480,7 @@ msgid "Feedrate Z Dispense" msgstr "Z Dağıtım İlerleme Hızı" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12504,7 +12493,7 @@ msgid "Spindle Speed FWD" msgstr "İLERİ Dağıtıcı Hızı" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12515,7 +12504,7 @@ msgid "Dwell FWD" msgstr "İLERİ Bekleme Süresi" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "Lehim pastası verildikten sonra duraklatın." @@ -12524,7 +12513,7 @@ msgid "Spindle Speed REV" msgstr "GERİ Çekme Hızı" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12537,7 +12526,7 @@ msgid "Dwell REV" msgstr "GERİ Bekleme Süresi" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12546,7 +12535,7 @@ msgstr "" "geri çekildikten sonra duraklayın." #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "G-Kodu oluşumunu kontrol eden dosyalar." @@ -13277,7 +13266,7 @@ msgid "Click on the START point." msgstr "BAŞLANGIÇ noktasına tıklayın." #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "Kullanıcı isteği ile iptal edildi." @@ -13378,34 +13367,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "Verileri Sıfırla" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "Yapılan değişiklikleri varsayılan ayarlara döndürür." @@ -13946,9 +13935,9 @@ msgid "Squares grid fill selected." msgstr "Kare Desenli dolgu seçildi." #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -14048,7 +14037,7 @@ msgid "Copper Thieving Tool exit." msgstr "Bakır dolgu aracından çıkış." #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -14161,86 +14150,87 @@ msgstr "" msgid "Corners" msgstr "Köşe İşaretleyici" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 msgid "Click to add next marker or right click to finish." msgstr "" "Sonraki işareti eklemek için tıklayın veya sonlandırmak için sağ tıklayın." -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "Lütfen en az bir konum seçin" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "Delik genişliği sıfırdır." -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "Köşe delikleri içeren bir Excellon nesnesi oluşturuldu." -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "Köşe işaretleri olan bir Gerber nesnesi oluşturuldu." -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 msgid "Added marker" msgstr "İşaret eklendi" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "Köşe işaretleri eklenecek Gerber nesnesi." -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "Konumlar" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "Köşe işaretlerinin yerleştirileceği yerler." -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "Sağ Üst" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "TÜMÜNÜ Seç" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." msgstr "" "Elle seçildiğinde, işaretçiler çalışma alanı üzerine el ile yerleştirilir." -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "Köşe İşareti Ekle" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "Seçilen Gerber dosyasına köşe işaretleri ekler." -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 msgid "Drills in Locations" msgstr "Konumlara Delik Ekle" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "Excellon Oluştur" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "Köşe işaretlerinin ortasına matkap delikleri ekleyecektir." -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 msgid "Check in Locations" msgstr "Konumları Kontrol Et" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -15484,7 +15474,7 @@ msgstr "" msgid "Film file exported to" msgstr "Film dosyası şuraya aktarıldı" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -15495,7 +15485,7 @@ msgstr "" "Nesne türü, Gerber veya Şekil olabilir.\n" "Buradaki seçim, açılır kutu listesindeki film nesnelerinin türünü belirtir." -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -15506,11 +15496,11 @@ msgstr "" "Film türü şunlar olabilir: Gerber veya Şekil.\n" "Buradaki seçim, açılır kutu listesindeki nesnelerin türünü belirler." -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "Delik Yeri Açma Delikleri" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -15520,11 +15510,11 @@ msgstr "" "pedlerinde delikler olacaktır.\n" "Bu, deliklerin elle delinmesini kolaylaştırmak için yapılır." -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "Kaynak" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -15535,30 +15525,30 @@ msgstr "" "alınacaktır. \n" "- Ped Merkezi -> Pedlerin merkezi referans olarak kullanmaya çalışacaktır." -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "Ped Merkezi" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "Pedlerde delik oluşturmak için Excellon'un şeklini filmden çıkarın." -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "Delik Boyutu" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "" "Buradaki değer, pedlerdeki delik yeri açama\n" "deliğinin ne kadar büyük olduğunu kontrol edecektir." -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "Filmi Kaydet" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -15569,7 +15559,7 @@ msgstr "" "Yeni bir FlatCAM nesnesi oluşturmaz, ancak onu doğrudan \n" "seçilen formatta kaydeder." -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -15940,7 +15930,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -16749,6 +16739,10 @@ msgstr "En Uygun Uç. Minimum mesafe bulunuyor." msgid "Optimal Tool. Finished successfully." msgstr "En Uygun Uç. İşlem başarıyla tamamlandı." +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "Bulunan mesafeler için belirlenen ondalık basamak sayısı." @@ -17139,7 +17133,7 @@ msgstr "Paneli Sınırla" msgid "Panelize Object" msgstr "Panel Oluştur" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -17454,27 +17448,27 @@ msgstr "Çok Şekilli" msgid "Metric" msgstr "Metrik" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "Kontrol Kuralları" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "Değer geçerli değil." -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "ÜST -> Bakır Yollar Arasındaki Boşluk" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "ALT -> Bakır Yollar Arasındaki Boşluk" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." @@ -17482,13 +17476,13 @@ msgstr "" "Bu kural için en az bir Gerber nesnesi seçilmelidir, ancak şu anda seçili " "Gerber nesnesi yoktur. Gerber nesnesi seçerek tekrar deneyiniz." -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" "Gerber bakır veya Gerber plaket kesim nesnelerinden biri geçerli değil." -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." @@ -17496,144 +17490,161 @@ msgstr "" "Bu kural için Gerber plaket kesim sınırı nesnesi gerekir, ancak şu anda " "seçili değildir." -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "İpek - İpek Aralığı" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "ÜST -> İpek - İpek Aralığı" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "ALT -> İpek - İpek Aralığı" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "Gerber nesnelerinden biri veya daha fazlası geçerli değil." -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "ÜST -> İpek - Lehim Maskesi Aralığı" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "ALT -> İpek - Lehim Maskesi Aralığı" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." msgstr "" "Gerber ipek veya lehim maskesi nesneleri yukarıda veya aşağıda olmalıdır." -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" "Gerber ipek veya Gerber plaket kesim sınırı nesnelerinden biri geçerli değil." -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "ÜST -> Minimum Lehim Maskesi Aralığı" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "ALT -> Minimum Lehim Maskesi Aralığı" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "Bakır Gerber veya Excellon nesnelerinden biri geçerli değil." -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "" "Bu kural için Excellon nesnesi gereklidir, ancak hiçbir Excellon nesnesi " "seçilmedi. Excellon nesnesi seçerek tekrar deneyiniz." -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "DURUM" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "BAŞARISIZ" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "BAŞARIYLA GEÇTİ" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "İhlaller: Mevcut kural kapsamında ihlal bulunmamaktadır." -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "Kuralların kontrol edileceği Gerber nesneleri." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "Bakır Alan" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "Tüm Kurallar" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "Üst İpek" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "Gerber Lehim Maskesi" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "Delikleri Frezele" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "Üst" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "Kuralların kontrol edildiği üst Gerber bakır nesnesidir." -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "Alt" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "Kuralların kontrol edildiği alt Gerber bakır nesnesidir." - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "Üst Lehim Maskesi" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "Kuralların kontrol edildiği üst Gerber lehim maskesi nesnesidir." -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "Alt Lehim Maskesi" - -#: appPlugins/ToolRulesCheck.py:1272 -msgid "The Bottom Gerber Solder Mask object for which rules are checked." -msgstr "Kuralların kontrol edildiği alt Gerber lehim maskesi nesnesidir." - -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "Üst İpek" - -#: appPlugins/ToolRulesCheck.py:1290 +#: appPlugins/ToolRulesCheck.py:1307 msgid "The Top Gerber Silkscreen object for which rules are checked." msgstr "Kuralların kontrol edildiği üst Gerber serigrafi nesnesidir." -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "Alt İpek" +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "Alt" -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "Kuralların kontrol edildiği alt Gerber bakır nesnesidir." + +#: appPlugins/ToolRulesCheck.py:1355 +msgid "The Bottom Gerber Solder Mask object for which rules are checked." +msgstr "Kuralların kontrol edildiği alt Gerber lehim maskesi nesnesidir." + +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "Kuralların kontrol edildiği alt Gerber serigrafi nesnesidir." -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "Kuralların kontrol edildiği Gerber Anahat (plaket kesme) nesnesidir." -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "Kuralların kontrol edildiği Excellon nesneleridir." -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -17641,11 +17652,7 @@ msgstr "" "Kuralların kontrol edileceği Excellon nesnesi. \n" "Kaplamalı delikleri veya genel bir Excellon dosya içeriğini bulundurur." -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -17653,15 +17660,7 @@ msgstr "" "Kuralların kontrol edileceği Excellon nesnesi. \n" "Kaplamasız delikleri içerir." -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "Tüm Kurallar" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "Aşağıdaki tüm kuralları uygulayın vaya işaretlerini kaldırın." - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "Denetimi Çalıştır" @@ -17758,7 +17757,7 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "Gerber lehim pastası nesnesi." -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." @@ -17766,7 +17765,7 @@ msgstr "" "Algorimanın lehim pastasını dağıtmak \n" "için kullanacağı nozul (ağızlık) listesi." -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -17780,7 +17779,7 @@ msgstr "" "Daha küçük nozul yoksa, ancak hâlâ lehim pastasıyla kaplanmayan\n" "pedler varsa, ugulama bir uyarı penceresiyle mesaj verecektir." -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." @@ -17788,7 +17787,7 @@ msgstr "" "Nozul (ağızlık) genişliği. Bu değer\n" "sıkılan lehim pastasının genişliğidir." -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." @@ -17796,35 +17795,35 @@ msgstr "" "Araçlar Tablosuna yukarıda belirtilen \n" "çapta bir nozul (ağızlık) ekleyin." -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 #, fuzzy #| msgid "Z Dispense" msgid "Dispense" msgstr "Z Dağıtımı" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 #, fuzzy #| msgid "Start" msgid "Z Start" msgstr "Başlatma" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 #, fuzzy #| msgid "Function" msgid "Z Action" msgstr "Function" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 #, fuzzy #| msgid "Stop" msgid "Z Stop" msgstr "Stop" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "Lehim pastası dağıtım şekli oluşturun." -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -17834,21 +17833,21 @@ msgstr "" "Nesnenin adı koruma olarak:\n" "'_solderpaste' ile bitmelidir." -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 msgid "CNCJob" msgstr "CNC İşi" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "Generate CNCJob" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." msgstr "PCB pedlerine lehim pastası dağıtımı için GCode oluşturur." -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -17860,11 +17859,11 @@ msgstr "" "etkinleştirmek için, nesnenin adı \n" "koruma olarak '_solderpaste' ile bitmelidir." -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "G Kod'u Kaydet" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -17957,6 +17956,10 @@ msgstr "" "Lehim maskesi üzerindeki örtüşen serigrafiyi \n" "kaldırmak için kullanılabilir." +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "ŞEKİL" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -19487,6 +19490,30 @@ msgstr "Orijin, yüklenen tüm nesneleri hizalayarak ayarlanıyor " msgid "No Geometry name in args. Provide a name and try again." msgstr "Değişkenlerde Şekil ismi yok. Lütfen bir isim girin ve tekrar deneyin." +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "Kuralların kontrol edileceği Gerber nesneleri." + +#~ msgid "SM Top" +#~ msgstr "Üst Lehim Maskesi" + +#~ msgid "SM Bottom" +#~ msgstr "Alt Lehim Maskesi" + +#~ msgid "Silk Bottom" +#~ msgstr "Alt İpek" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "Aşağıdaki tüm kuralları uygulayın vaya işaretlerini kaldırın." + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -19711,9 +19738,6 @@ msgstr "Değişkenlerde Şekil ismi yok. Lütfen bir isim girin ve tekrar deneyi #~ msgid "Fiducials Coordinates" #~ msgstr "Referans İşareti Koordinatları" -#~ msgid "Soldermask Gerber" -#~ msgstr "Gerber Lehim Maskesi" - #~ msgid "The Soldermask Gerber object." #~ msgstr "Gerber lehim maskesi nesnesi." diff --git a/locale/zh/LC_MESSAGES/strings.mo b/locale/zh/LC_MESSAGES/strings.mo index 2860d28856026e2b4fade658036769ffb59b1a66..6ae869d4cd20ab15821d5ef5e9d3552e05ec49a8 100644 GIT binary patch delta 70760 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 delta 71217 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 diff --git a/locale/zh/LC_MESSAGES/strings.po b/locale/zh/LC_MESSAGES/strings.po index d0002666..a6d1a607 100644 --- a/locale/zh/LC_MESSAGES/strings.po +++ b/locale/zh/LC_MESSAGES/strings.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2021-10-04 20:56+0300\n" -"PO-Revision-Date: 2021-10-04 20:56+0300\n" +"POT-Creation-Date: 2021-10-05 02:56+0300\n" +"PO-Revision-Date: 2021-10-05 02:56+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: zh_CN\n" @@ -117,8 +117,8 @@ msgstr "书签" #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 #: appGUI/MainGUI.py:3642 appGUI/MainGUI.py:3872 -#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 +#: appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 #: appPlugins/ToolFilm.py:407 appPlugins/ToolFilm.py:546 #: appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 @@ -303,7 +303,7 @@ msgstr "目标" #: appPlugins/ToolMilling.py:3656 appPlugins/ToolNCC.py:4146 #: appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "直径" @@ -589,7 +589,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 #: appPlugins/ToolCalibration.py:794 appPlugins/ToolDrilling.py:1559 #: appPlugins/ToolDrilling.py:2459 appPlugins/ToolMilling.py:3247 -#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolMilling.py:4178 appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "Z移动" @@ -685,7 +685,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 #: appPlugins/ToolDrilling.py:1573 appPlugins/ToolDrilling.py:2515 #: appPlugins/ToolMilling.py:3265 appPlugins/ToolMilling.py:4284 -#: appPlugins/ToolSolderPaste.py:1509 appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolSolderPaste.py:1502 appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "主轴转速" @@ -700,8 +700,8 @@ msgstr "" "主轴的转速,单位为RPM。" #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "转速到达延迟" @@ -834,7 +834,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 #: appPlugins/ToolCutOut.py:2725 appPlugins/ToolExtract.py:1351 #: appPlugins/ToolFiducials.py:992 appPlugins/ToolInvertGerber.py:269 #: appPlugins/ToolInvertGerber.py:277 appPlugins/ToolMilling.py:4039 @@ -848,7 +848,7 @@ msgstr "边缘" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 -#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:931 +#: appPlugins/ToolCopperThieving.py:1342 appPlugins/ToolCorners.py:969 #: appPlugins/ToolFiducials.py:994 appPlugins/ToolMilling.py:4041 #: appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." @@ -1288,7 +1288,7 @@ msgstr "打孔连接时钻孔之间的间距。" #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 -#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolCutOut.py:2351 appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "凸形" @@ -1404,8 +1404,8 @@ msgstr "取消" #: appPlugins/ToolAlignObjects.py:584 appPlugins/ToolCalculators.py:1068 #: appPlugins/ToolCalculators.py:1079 appPlugins/ToolCalibration.py:1420 #: appPlugins/ToolCalibration.py:1431 appPlugins/ToolCopperThieving.py:1807 -#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1113 -#: appPlugins/ToolCorners.py:1124 appPlugins/ToolCutOut.py:2796 +#: appPlugins/ToolCopperThieving.py:1818 appPlugins/ToolCorners.py:1151 +#: appPlugins/ToolCorners.py:1162 appPlugins/ToolCutOut.py:2796 #: appPlugins/ToolCutOut.py:2807 appPlugins/ToolDblSided.py:1147 #: appPlugins/ToolDblSided.py:1158 appPlugins/ToolDistance.py:708 #: appPlugins/ToolDistance.py:719 appPlugins/ToolDistanceMin.py:398 @@ -1413,8 +1413,8 @@ msgstr "取消" #: appPlugins/ToolDrilling.py:2931 appPlugins/ToolEtchCompensation.py:531 #: appPlugins/ToolEtchCompensation.py:542 appPlugins/ToolExtract.py:1421 #: appPlugins/ToolExtract.py:1432 appPlugins/ToolFiducials.py:1137 -#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1832 -#: appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFiducials.py:1148 appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 #: appPlugins/ToolImage.py:376 appPlugins/ToolInvertGerber.py:338 #: appPlugins/ToolInvertGerber.py:349 appPlugins/ToolIsolation.py:3713 @@ -1427,9 +1427,9 @@ msgstr "取消" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 #: appPlugins/ToolSub.py:999 appPlugins/ToolTransform.py:1071 #: appPlugins/ToolTransform.py:1082 appTool.py:300 appTool.py:311 msgid "Edited value is out of range" @@ -1442,8 +1442,8 @@ msgstr "编辑的值超出范围" #: appPlugins/ToolAlignObjects.py:586 appPlugins/ToolCalculators.py:1074 #: appPlugins/ToolCalculators.py:1081 appPlugins/ToolCalibration.py:1426 #: appPlugins/ToolCalibration.py:1433 appPlugins/ToolCopperThieving.py:1813 -#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1119 -#: appPlugins/ToolCorners.py:1126 appPlugins/ToolCutOut.py:2802 +#: appPlugins/ToolCopperThieving.py:1820 appPlugins/ToolCorners.py:1157 +#: appPlugins/ToolCorners.py:1164 appPlugins/ToolCutOut.py:2802 #: appPlugins/ToolCutOut.py:2809 appPlugins/ToolDblSided.py:1153 #: appPlugins/ToolDblSided.py:1160 appPlugins/ToolDistance.py:714 #: appPlugins/ToolDistance.py:721 appPlugins/ToolDistanceMin.py:404 @@ -1451,8 +1451,8 @@ msgstr "编辑的值超出范围" #: appPlugins/ToolDrilling.py:2933 appPlugins/ToolEtchCompensation.py:537 #: appPlugins/ToolEtchCompensation.py:544 appPlugins/ToolExtract.py:1427 #: appPlugins/ToolExtract.py:1434 appPlugins/ToolFiducials.py:1143 -#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1838 -#: appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFiducials.py:1150 appPlugins/ToolFilm.py:1833 +#: appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 #: appPlugins/ToolImage.py:378 appPlugins/ToolInvertGerber.py:344 #: appPlugins/ToolInvertGerber.py:351 appPlugins/ToolIsolation.py:3719 @@ -1465,9 +1465,9 @@ msgstr "编辑的值超出范围" #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 #: appPlugins/ToolSub.py:1001 appPlugins/ToolTransform.py:1077 #: appPlugins/ToolTransform.py:1084 appTool.py:306 appTool.py:313 msgid "Edited value is within limits." @@ -1668,9 +1668,9 @@ msgstr "选定间距角度的项目太多。" #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 -#: appPlugins/ToolCorners.py:698 appPlugins/ToolCutOut.py:856 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 +#: appPlugins/ToolCorners.py:736 appPlugins/ToolCutOut.py:856 #: appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 #: appPlugins/ToolCutOut.py:1412 appPlugins/ToolCutOut.py:1430 @@ -1862,7 +1862,7 @@ msgstr "Excellon编辑器" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 -#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:834 +#: appGUI/ObjectUI.py:72 appPlugins/ToolCorners.py:872 #: appPlugins/ToolCutOut.py:2215 appPlugins/ToolDblSided.py:695 #: appPlugins/ToolDrilling.py:2285 appPlugins/ToolFiducials.py:832 #: appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 @@ -1890,7 +1890,7 @@ msgstr "名称:" #: appGUI/ObjectUI.py:1435 appPlugins/ToolDrilling.py:2326 #: appPlugins/ToolIsolation.py:3189 appPlugins/ToolMilling.py:3626 #: appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "刀具列表" @@ -2000,10 +2000,10 @@ msgstr "添加钻孔阵列(线性或圆形阵列)" #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 #: appPlugins/ToolNCC.py:4558 appPlugins/ToolPaint.py:2965 #: appPlugins/ToolPaint.py:3304 appPlugins/ToolPunchGerber.py:2089 @@ -2080,7 +2080,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1456 +#: appPlugins/ToolFilm.py:1454 msgid "X" msgstr "X" @@ -2093,7 +2093,7 @@ msgstr "X" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 -#: appPlugins/ToolFilm.py:1457 +#: appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "Y" @@ -2205,7 +2205,7 @@ msgstr "用于添加单个或作为阵列一部分的槽(椭圆形孔)的参 #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 -#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:916 +#: appObjects/FlatCAMObj.py:889 appPlugins/ToolCorners.py:954 #: appPlugins/ToolReport.py:604 msgid "Length" msgstr "长度" @@ -2501,7 +2501,7 @@ msgstr "倾斜/剪切" #: appGUI/MainGUI.py:5325 appGUI/ObjectUI.py:121 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 -#: appPlugins/ToolFilm.py:1323 appPlugins/ToolTransform.py:575 +#: appPlugins/ToolFilm.py:1321 appPlugins/ToolTransform.py:575 #: appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "比例" @@ -2526,7 +2526,7 @@ msgstr "缓冲区" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 #: appPlugins/ToolDblSided.py:871 appPlugins/ToolDblSided.py:1062 -#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "参考点" @@ -2563,7 +2563,7 @@ msgstr "原点" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 -#: appPlugins/ToolCorners.py:984 appPlugins/ToolFiducials.py:1061 +#: appPlugins/ToolCorners.py:1022 appPlugins/ToolFiducials.py:1061 #: appPlugins/ToolFollow.py:737 appPlugins/ToolIsolation.py:3573 #: appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 @@ -2591,6 +2591,11 @@ msgstr "最少" #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 #: appPlugins/ToolExtract.py:1236 appPlugins/ToolExtract.py:1265 #: appPlugins/ToolPunchGerber.py:2168 appPlugins/ToolPunchGerber.py:2276 +#: appPlugins/ToolRulesCheck.py:1494 appPlugins/ToolRulesCheck.py:1518 +#: appPlugins/ToolRulesCheck.py:1543 appPlugins/ToolRulesCheck.py:1568 +#: appPlugins/ToolRulesCheck.py:1605 appPlugins/ToolRulesCheck.py:1630 +#: appPlugins/ToolRulesCheck.py:1655 appPlugins/ToolRulesCheck.py:1693 +#: appPlugins/ToolRulesCheck.py:1730 appPlugins/ToolRulesCheck.py:1755 #: appPlugins/ToolTransform.py:630 appPlugins/ToolTransform.py:995 #: app_Main.py:8905 msgid "Value" @@ -2650,7 +2655,7 @@ msgstr "将Y条目链接到X条目并复制其内容。" #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 -#: appPlugins/ToolFilm.py:1397 appPlugins/ToolTransform.py:746 +#: appPlugins/ToolFilm.py:1395 appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "X角度" @@ -2683,7 +2688,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 -#: appPlugins/ToolFilm.py:1407 appPlugins/ToolTransform.py:767 +#: appPlugins/ToolFilm.py:1405 appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "Y角度" @@ -2695,7 +2700,7 @@ msgstr "倾斜Y" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 -#: appPlugins/ToolFilm.py:1336 appPlugins/ToolTransform.py:815 +#: appPlugins/ToolFilm.py:1334 appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "X倍数" @@ -2724,7 +2729,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 -#: appPlugins/ToolFilm.py:1346 appPlugins/ToolTransform.py:835 +#: appPlugins/ToolFilm.py:1344 appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "Y倍数" @@ -2806,7 +2811,7 @@ msgstr "偏移Y" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 -#: appPlugins/ToolFilm.py:1500 appPlugins/ToolInvertGerber.py:291 +#: appPlugins/ToolFilm.py:1497 appPlugins/ToolInvertGerber.py:291 #: appPlugins/ToolQRCode.py:920 appPlugins/ToolTransform.py:954 msgid "Rounded" msgstr "圆滑" @@ -3239,12 +3244,12 @@ msgstr "放大选择" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 #: appPlugins/ToolSub.py:814 appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "参数" @@ -3418,7 +3423,7 @@ msgstr "点击目标点。" #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "工作中。。。" @@ -3685,7 +3690,7 @@ msgstr "坐标复制到剪贴板。" #: appObjects/FlatCAMGerber.py:1002 appObjects/FlatCAMObj.py:266 #: appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 #: appPlugins/ToolMove.py:235 appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "绘制" @@ -4277,6 +4282,7 @@ msgstr "删除" #: appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "全部删除" @@ -4494,22 +4500,22 @@ msgstr "将创建一个新的空白项目" msgid "New" msgstr "新建" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 -#: appPlugins/ToolFilm.py:1280 appPlugins/ToolImage.py:175 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 +#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:175 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:150 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolSolderPaste.py:1589 appPlugins/ToolSub.py:899 +#: appPlugins/ToolSolderPaste.py:1582 appPlugins/ToolSub.py:899 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "Geometry" @@ -4523,7 +4529,7 @@ msgstr "N" msgid "Will create a new, empty Geometry Object." msgstr "将创建一个新的空Geometry对象。" -#: appGUI/MainGUI.py:107 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 #: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 @@ -4533,16 +4539,16 @@ msgstr "将创建一个新的空Geometry对象。" #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 #: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 -#: appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 +#: appPlugins/ToolFilm.py:1255 appPlugins/ToolFilm.py:1278 #: appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 #: appPlugins/ToolPanelize.py:144 appPlugins/ToolPanelize.py:251 #: appPlugins/ToolPanelize.py:1147 appPlugins/ToolPanelize.py:1198 -#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 -#: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 -#: defaults.py:593 +#: appPlugins/ToolPanelize.py:1309 appPlugins/ToolRulesCheck.py:1209 +#: appPlugins/ToolSub.py:834 appPlugins/ToolTransform.py:160 +#: appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "Gerber" @@ -4555,7 +4561,7 @@ msgstr "B" msgid "Will create a new, empty Gerber Object." msgstr "将创建一个新的空Gerber对象。" -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4565,11 +4571,12 @@ msgstr "将创建一个新的空Gerber对象。" #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 #: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 -#: appPlugins/ToolFilm.py:1583 appPlugins/ToolIsolation.py:3594 +#: appPlugins/ToolFilm.py:1580 appPlugins/ToolIsolation.py:3594 #: appPlugins/ToolMilling.py:3595 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "Excellon" @@ -4676,7 +4683,7 @@ msgstr "DXF作为Gerber对象" msgid "HPGL2 as Geometry Object" msgstr "HPGL2 作为Geometry对象" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "导出" @@ -5570,7 +5577,7 @@ msgid "Copper Thieving" msgstr "盗铜" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 msgid "Corner Markers" msgstr "角标记" @@ -5728,19 +5735,6 @@ msgstr "TCL控制台" msgid "Plot Area" msgstr "绘图区" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 -#: appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "GERBER" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "EXCELLON" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "GEOMETRY" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "CNC任务" @@ -5946,7 +5940,7 @@ msgstr "请选择要对其执行并集的几何图形项。" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 #: appPlugins/ToolNCC.py:1375 appPlugins/ToolPaint.py:664 -#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1291 +#: appPlugins/ToolSolderPaste.py:344 appPlugins/ToolSolderPaste.py:1284 #: app_Main.py:4995 msgid "New Tool" msgstr "新刀具" @@ -6321,7 +6315,7 @@ msgstr "打开在线教程" msgid "Refresh Plots" msgstr "刷新绘图" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "删除对象" @@ -6759,14 +6753,14 @@ msgstr "通过在具有此最小距离的所有对象周围绘制框来指定PCB #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 -#: appPlugins/ToolFilm.py:1502 +#: appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "生成的几何体将具有圆角。" #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 #: appPlugins/ToolNCC.py:4610 appPlugins/ToolPaint.py:3347 -#: appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "生成Geometry" @@ -7134,7 +7128,7 @@ msgstr "生成具有自动调平路径的CNC代码。" msgid "Opens dialog to save CNC Code file." msgstr "打开对话框以保存CNC代码文件。" -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "检查CNC代码。" @@ -7177,7 +7171,7 @@ msgstr "左对齐" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5431 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5431 #: app_Main.py:5695 msgid "Center" msgstr "中心对齐" @@ -7408,7 +7402,7 @@ msgstr "CNC代码(G代码E等)中用于X、Y、Z坐标的小数位数" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 #: appObjects/FlatCAMObj.py:843 appPlugins/ToolLevelling.py:2219 -#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolReport.py:558 appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "进给速度" @@ -7463,7 +7457,7 @@ msgstr "移动线颜色" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 #: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 -#: appPlugins/ToolRulesCheck.py:1324 +#: appPlugins/ToolRulesCheck.py:1385 appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "轮廓" @@ -8090,7 +8084,7 @@ msgstr "排列" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 -#: appPlugins/ToolFilm.py:1647 +#: appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -8103,14 +8097,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 -#: appPlugins/ToolFilm.py:1651 app_Main.py:8435 +#: appPlugins/ToolFilm.py:1647 app_Main.py:8435 msgid "Portrait" msgstr "竖排" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 -#: appPlugins/ToolFilm.py:1652 app_Main.py:8437 +#: appPlugins/ToolFilm.py:1648 app_Main.py:8437 msgid "Landscape" msgstr "横排" @@ -8130,7 +8124,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 -#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolDblSided.py:852 appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "轴" @@ -9332,7 +9326,7 @@ msgid "Minimal" msgstr "最小的" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "类型" @@ -9441,7 +9435,7 @@ msgstr "辅助阴极边界框边距。" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "厚度" @@ -9485,7 +9479,7 @@ msgstr "选择要包括的其他几何图形(如果可用)。" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "以上都是" @@ -9509,9 +9503,9 @@ msgstr "校准插件" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "用于此工具的参数。" @@ -9584,23 +9578,23 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:956 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5692 +#: appPlugins/ToolCalibration.py:879 appPlugins/ToolCorners.py:994 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5692 msgid "Top Left" msgstr "左上" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:968 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5693 +#: appPlugins/ToolCalibration.py:880 appPlugins/ToolCorners.py:1006 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5693 msgid "Bottom Right" msgstr "右下" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 -#: appPlugins/ToolSolderPaste.py:1407 +#: appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "换刀" @@ -9892,7 +9886,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 -#: appPlugins/ToolCorners.py:895 appPlugins/ToolFiducials.py:1035 +#: appPlugins/ToolCorners.py:933 appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "交叉" @@ -9907,14 +9901,14 @@ msgid "Line thickness" msgstr "线条宽度" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 -#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:1073 +#: appPlugins/ToolCorners.py:1040 appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "自动" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 -#: appPlugins/ToolCorners.py:1003 appPlugins/ToolCutOut.py:2520 +#: appPlugins/ToolCorners.py:1041 appPlugins/ToolCutOut.py:2520 #: appPlugins/ToolDblSided.py:1053 appPlugins/ToolFiducials.py:1074 #: appPlugins/ToolLevelling.py:1918 appPlugins/ToolPunchGerber.py:2309 msgid "Manual" @@ -9922,7 +9916,7 @@ msgstr "手动" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 -#: appPlugins/ToolCorners.py:995 appPlugins/ToolLevelling.py:1911 +#: appPlugins/ToolCorners.py:1033 appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "模式" @@ -10107,7 +10101,7 @@ msgstr "在此添加要包含在二维码中的文本。。。" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 -#: appPlugins/ToolFilm.py:1529 appPlugins/ToolQRCode.py:897 +#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "正负片" @@ -10123,13 +10117,13 @@ msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 -#: appPlugins/ToolFilm.py:1527 appPlugins/ToolQRCode.py:903 +#: appPlugins/ToolFilm.py:1524 appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "负片" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 -#: appPlugins/ToolFilm.py:1526 appPlugins/ToolQRCode.py:904 +#: appPlugins/ToolFilm.py:1523 appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "正片" @@ -10184,12 +10178,12 @@ msgid "" msgstr "检查Gerber文件是否在一组制造规则内的工具。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "跟踪大小" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "这将检查是否满足跟踪的最小大小。" @@ -10203,27 +10197,22 @@ msgstr "这将检查是否满足跟踪的最小大小。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "最小值" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "可接受的最小跟踪大小。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "铜线间间隙" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -10236,122 +10225,122 @@ msgstr "这检查是否满足铜特征之间的最小间隙。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "最小可接受间隙值。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "铜的轮廓间隙" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." msgstr "这检查是否满足铜特征和轮廓之间的最小间隙。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "丝印间间隙" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." msgstr "检查是否满足丝印特征和丝印特征之间的最小间隙。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "丝印与阻焊层间隙" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." msgstr "此检查是否满足丝印特征和阻焊层特征之间的最小间隙。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "丝印与轮廓间间隙" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." msgstr "这个检查是否满足丝印特征和轮廓之间的最小间隙。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "最小阻焊层" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." msgstr "这将检查是否满足阻焊特征和阻焊特征之间的最小间隙。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "最小环形环规则" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." msgstr "这将检查是否满足在焊盘上钻孔留下的最小铜环。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "最小可接受环值。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "孔间隙" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." msgstr "检查一个钻孔和另一个钻孔之间的最小间隙是否满足要求。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "可接受的最小钻孔尺寸。" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "孔尺寸" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -10375,7 +10364,7 @@ msgstr "使用对齐孔帮助创建双面PCB的工具。" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 -#: appPlugins/ToolCorners.py:1040 appPlugins/ToolCutOut.py:2699 +#: appPlugins/ToolCorners.py:1078 appPlugins/ToolCutOut.py:2699 #: appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "孔直径" @@ -10562,27 +10551,27 @@ msgid "Corner Markers Options" msgstr "角标记选项" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 -#: appPlugins/ToolCorners.py:890 +#: appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "标记的形状。" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 -#: appPlugins/ToolCorners.py:894 +#: appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "半交叉" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 -#: appPlugins/ToolCorners.py:904 +#: appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "构成标记角的线的厚度。" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 -#: appPlugins/ToolCorners.py:918 +#: appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "构成角标记的线的长度。" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 -#: appPlugins/ToolCorners.py:1042 +#: appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "钻孔直径" @@ -10739,7 +10728,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "顺序" @@ -10749,7 +10738,7 @@ msgstr "顺序" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 #: appPlugins/ToolDrilling.py:2370 appPlugins/ToolIsolation.py:3236 #: appPlugins/ToolMilling.py:3753 appPlugins/ToolNCC.py:4183 -#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolPaint.py:3052 appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "逆序" @@ -10832,7 +10821,7 @@ msgstr "主轴停留的时间单位数。" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "预处理器" @@ -11055,17 +11044,17 @@ msgid "Film Plugin" msgstr "胶片插件" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 -#: appPlugins/ToolFilm.py:1308 +#: appPlugins/ToolFilm.py:1307 msgid "Adjustments" msgstr "调整" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 -#: appPlugins/ToolFilm.py:1310 +#: appPlugins/ToolFilm.py:1309 msgid "Compensate print distortions." msgstr "补偿打印失真。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 -#: appPlugins/ToolFilm.py:1325 +#: appPlugins/ToolFilm.py:1323 msgid "" "A value greater than 1 will compact the film\n" "while a value less than 1 will jolt it." @@ -11073,43 +11062,43 @@ msgstr "大于1的值将拉伸胶片,而小于1的值将使胶片抖动。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 -#: appPlugins/ToolFilm.py:1358 appPlugins/ToolFilm.py:1419 +#: appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 msgid "The reference point to be used as origin for the adjustment." msgstr "用作调整原点的参考点。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolCorners.py:964 appPlugins/ToolFiducials.py:898 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 app_Main.py:5691 +#: appPlugins/ToolCorners.py:1002 appPlugins/ToolFiducials.py:898 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 app_Main.py:5691 msgid "Bottom Left" msgstr "左下" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 -#: appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "右上" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 -#: appPlugins/ToolFilm.py:1384 appPlugins/ToolTransform.py:726 +#: appPlugins/ToolFilm.py:1382 appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "倾斜" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 -#: appPlugins/ToolFilm.py:1386 +#: appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." msgstr "正值将向右倾斜,而负值将向左倾斜。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 -#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolDblSided.py:992 appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "镜像" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 -#: appPlugins/ToolFilm.py:1447 appPlugins/ToolFilm.py:1462 +#: appPlugins/ToolFilm.py:1445 appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "在选定的轴上或两者上几何镜像胶片。" @@ -11122,7 +11111,7 @@ msgstr "" "该文件以SVG格式保存。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 -#: appPlugins/ToolFilm.py:1491 +#: appPlugins/ToolFilm.py:1488 msgid "" "Create a convex shape surrounding the entire PCB.\n" "If not checked the shape is rectangular." @@ -11131,7 +11120,7 @@ msgstr "" "如果未选中,则形状为矩形。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 -#: appPlugins/ToolFilm.py:1531 +#: appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "生成正片黑色胶片或负片。" @@ -11144,12 +11133,12 @@ msgid "Set the film color when positive film is selected." msgstr "选择正片胶片时设置胶片颜色。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 -#: appPlugins/ToolFilm.py:1542 +#: appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "边框" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 -#: appPlugins/ToolFilm.py:1544 +#: appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -11167,12 +11156,12 @@ msgstr "" "色,如果没有此边界,可能会与周围环境混淆。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 -#: appPlugins/ToolFilm.py:1516 +#: appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "特征缩放" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 -#: appPlugins/ToolFilm.py:1518 +#: appPlugins/ToolFilm.py:1515 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 " @@ -11183,27 +11172,27 @@ msgstr "" "这意味着封装每个SVG特征的线条将更粗或更细,因此精细特征可能更受此参数的影响。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 -#: appPlugins/ToolFilm.py:1637 +#: appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "SVG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 -#: appPlugins/ToolFilm.py:1638 +#: appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "PNG" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 -#: appPlugins/ToolFilm.py:1639 +#: appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "PDF" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 -#: appPlugins/ToolFilm.py:1628 +#: appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "胶片类型" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 -#: appPlugins/ToolFilm.py:1630 +#: appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -11216,22 +11205,22 @@ msgstr "" "- 'PDF' ->便携式文件格式" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 -#: appPlugins/ToolFilm.py:1646 +#: appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "页面方向" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 -#: appPlugins/ToolFilm.py:1663 +#: appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "页面大小" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 -#: appPlugins/ToolFilm.py:1664 +#: appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "选择标准ISO 216页面大小。" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 -#: appPlugins/ToolFilm.py:1730 +#: appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "默认值为96 DPI。更改此值以缩放PNG文件。" @@ -11942,7 +11931,7 @@ msgid "New Nozzle Dia" msgstr "新喷嘴直径" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "要添加到刀具表中的新刀具的直径" @@ -11951,17 +11940,17 @@ msgid "Z Dispense Start" msgstr "锡膏挤出时初始Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "锡膏挤出时的高度Z。" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "锡膏挤出Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "锡膏挤出时的高度(Z)。" @@ -11970,7 +11959,7 @@ msgid "Z Dispense Stop" msgstr "锡膏挤出停止Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "锡膏挤出停止时的高度(Z)。" @@ -11979,7 +11968,7 @@ msgid "Z Travel" msgstr "移动Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -11990,12 +11979,12 @@ msgid "Z Toolchange" msgstr "换刀Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "刀具(喷嘴)的高度(Z)变化。" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." @@ -12004,12 +11993,12 @@ msgstr "" "格式为(x, y),其中x和y为实数。" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "在X-Y平面上移动时的进给速度(速度)。" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -12020,7 +12009,7 @@ msgid "Feedrate Z Dispense" msgstr "锡膏进料速度Z" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -12033,7 +12022,7 @@ msgid "Spindle Speed FWD" msgstr "主轴前进速度" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -12044,7 +12033,7 @@ msgid "Dwell FWD" msgstr "停止前进" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "锡膏挤出后暂停。" @@ -12053,7 +12042,7 @@ msgid "Spindle Speed REV" msgstr "主轴后退速度" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -12064,7 +12053,7 @@ msgid "Dwell REV" msgstr "停止后退" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." @@ -12073,7 +12062,7 @@ msgstr "" "使压力平衡。" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "控制G代码生成的文件。" @@ -12775,7 +12764,7 @@ msgid "Click on the START point." msgstr "单击\"开始点\"。" #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "因用户请求而取消。" @@ -12874,34 +12863,34 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 #: appPlugins/ToolFollow.py:781 appPlugins/ToolInvertGerber.py:320 #: appPlugins/ToolIsolation.py:3696 appPlugins/ToolLevelling.py:2349 #: appPlugins/ToolMilling.py:4645 appPlugins/ToolNCC.py:4627 #: appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "重置刀具" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 #: appPlugins/ToolFollow.py:784 appPlugins/ToolInvertGerber.py:323 #: appPlugins/ToolIsolation.py:3699 appPlugins/ToolLevelling.py:2352 #: appPlugins/ToolMilling.py:4648 appPlugins/ToolNCC.py:4630 #: appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "将重置刀具参数。" @@ -13419,9 +13408,9 @@ msgid "Squares grid fill selected." msgstr "选择方形栅格填充。" #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 -#: appPlugins/ToolCorners.py:623 appPlugins/ToolFiducials.py:292 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 +#: appPlugins/ToolCorners.py:648 appPlugins/ToolFiducials.py:292 #: appPlugins/ToolFiducials.py:594 appPlugins/ToolOptimal.py:223 #: appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -13521,7 +13510,7 @@ msgid "Copper Thieving Tool exit." msgstr "盗铜工具退出。" #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 @@ -13625,84 +13614,85 @@ msgstr "" msgid "Corners" msgstr "拐角" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 msgid "Click to add next marker or right click to finish." msgstr "单击以添加下一个标记或右键单击以完成。" -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 -#: appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 +#: appPlugins/ToolCorners.py:589 appPlugins/ToolCorners.py:654 +#: appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "请至少选择一个位置" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "刀具直径为零。" -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "创建了具有角钻的Excellon对象。" -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "创建了带有角点标记的Gerber对象。" -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 msgid "Added marker" msgstr "添加标记" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "将添加角点标记的Gerber对象。" -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "位置" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "放置角点标记的位置。" -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 #: app_Main.py:5694 msgid "Top Right" msgstr "右上" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "全部切换" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." msgstr "选择手动类型后,标记将手动放置在画布上。" -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "添加标记" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "将向选定的Gerber文件添加角点标记。" -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 msgid "Drills in Locations" msgstr "钻头已就位" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "创建Excellon对象" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "将在标记的中心添加钻孔。" -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 msgid "Check in Locations" msgstr "检查位置" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -14886,7 +14876,7 @@ msgstr "" msgid "Film file exported to" msgstr "胶片文件导出到" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -14897,7 +14887,7 @@ msgstr "" "对象的类型可以是:Gerber或Geometry。\n" "此处的选择决定了胶片对象组合框中对象的类型。" -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -14907,11 +14897,11 @@ msgstr "" "指定要用作胶片创建容器的对象类型。它可以是:Gerber或Geometry 此处的选择决定了" "框对象组合框中的对象类型。" -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "打孔" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" @@ -14920,11 +14910,11 @@ msgstr "" "检查时,当生成的胶片为正片时,生成的胶片将在焊盘上有孔。当手动操作时,这样做" "是为了帮助钻孔。" -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "源" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" @@ -14934,28 +14924,28 @@ msgstr "" "-Excellon->Excellon孔中心将作为参考。\n" "-焊盘中心->将尝试使用焊盘中心作为参考。" -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "焊盘中心" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "" "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "从胶片上去除Excelon的几何图形,以在焊盘上创建孔。" -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "打孔尺寸" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "此处的值将控制焊盘上的打孔大小。" -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "保存胶片" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -14965,7 +14955,7 @@ msgstr "" "在指定框内为选定对象创建胶片。不创建新的FlatCAM对象,但直接将其保存为选定格" "式。" -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object " "has pads." @@ -15315,7 +15305,7 @@ msgstr "找到保证完全隔离的工具直径。" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -16085,6 +16075,10 @@ msgstr "最优工具。寻找最小距离。" msgid "Optimal Tool. Finished successfully." msgstr "最优工具。成功完成。" +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "GERBER" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "为找到的距离保留的小数位数。" @@ -16444,7 +16438,7 @@ msgstr "将拼板约束在" msgid "Panelize Object" msgstr "拼板对象" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -16746,177 +16740,194 @@ msgstr "多几何" msgid "Metric" msgstr "公制" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "规则检查" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "值无效。" -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "顶部->铜对铜间隙" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "底部->铜对铜间隙" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "" "At least one Gerber object has to be selected for this rule but none is " "selected." msgstr "必须为此规则至少选择一个Gerber对象,但未选择任何对象。" -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "" "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "铜Gerber对象或轮廓Gerber对象之一无效。" -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "" "Outline Gerber object presence is mandatory for this rule but it is not " "selected." msgstr "轮廓Gerber对象存在对于此规则是强制性的,但未选中。" -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "丝印对丝印间隙" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "顶部->丝印对丝印间隙" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "底部->丝印对丝印间隙" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "一个或多个Gerber对象无效。" -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "顶部->丝印层对阻焊层间隙" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "底部->丝印层对阻焊层间隙" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "" "Both Silk and Solder Mask Gerber objects has to be either both Top or both " "Bottom." msgstr "丝印和阻焊层Gerber对象必须是顶部或底部。" -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "" "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "丝印Gerber对象或轮廓Gerber对象之一无效。" -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "顶部->最小阻焊层" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "底部->最小阻焊层" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "铜Gerber对象或Excellon对象之一无效。" -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "" "Excellon object presence is mandatory for this rule but none is selected." msgstr "此规则强制要求存在Excellon对象,但未选择任何对象。" -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "状态" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "失败" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "通过" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "违规:当前规则没有违规。" -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." -msgstr "要检查其规则的Gerber对象。" +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +#, fuzzy +#| msgid "Copper Area" +msgid "Copper" +msgstr "铜区域" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "All Rules" +msgid "Rules" +msgstr "全部规则" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +#, fuzzy +#| msgid "Silk Top" +msgid "Silk" +msgstr "丝印层顶部" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +#, fuzzy +#| msgid "Soldermask Gerber" +msgid "Soldermask" +msgstr "阻焊层Gerber" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +#, fuzzy +#| msgid "Mill Holes" +msgid "Holes" +msgstr "铣孔" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "顶部" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "检查规则的顶部Gerber铜对象。" -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" -msgstr "底部" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +#, fuzzy +#| msgid "S" +msgid "SM" +msgstr "S" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "检查规则的底部Gerber铜对象。" - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "阻焊层顶部" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "检查规则的顶部Gerber阻焊层对象。" -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "阻焊层底部" - -#: appPlugins/ToolRulesCheck.py:1272 -msgid "The Bottom Gerber Solder Mask object for which rules are checked." -msgstr "检查规则的底部Gerbe阻焊层对象。" - -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "丝印层顶部" - -#: appPlugins/ToolRulesCheck.py:1290 +#: appPlugins/ToolRulesCheck.py:1307 msgid "The Top Gerber Silkscreen object for which rules are checked." msgstr "检查规则的顶部Gerber丝印对象。" -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" -msgstr "丝印层底部" +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" +msgstr "底部" -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "检查规则的底部Gerber铜对象。" + +#: appPlugins/ToolRulesCheck.py:1355 +msgid "The Bottom Gerber Solder Mask object for which rules are checked." +msgstr "检查规则的底部Gerbe阻焊层对象。" + +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "检查规则的底部Gerber丝印对象。" -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "为其检查规则的Gerber轮廓(切割)对象。" -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "要检查其规则的Excellon对象。" -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "Excellon 1" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." @@ -16924,11 +16935,7 @@ msgstr "" "要检查其规则的Excellon对象。\n" "保存电镀孔或一般Excellon文件内容。" -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "Excellon 2" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." @@ -16936,15 +16943,7 @@ msgstr "" "要检查其规则的Excellon对象。\n" "固定非电镀孔。" -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "全部规则" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "此选项选中/取消选中以下所有规则。" - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "运行规则检查" @@ -17035,13 +17034,13 @@ msgstr "一个插件,可帮助使用 CNC 机器在 PCB 焊盘上分配焊膏 msgid "Gerber Solderpaste object." msgstr "Gerber锡膏对象。" -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." msgstr "算法将从中选择用于分配锡膏的工具池。" -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -17053,39 +17052,39 @@ msgstr "" "锡膏分配将从直径最大的工具开始,持续到不再有喷嘴工具为止。\n" "如果不再有工具,但仍有焊盘未覆盖锡膏,应用程序将发出警告消息框。" -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." msgstr "工具直径。其值为所分配锡膏的宽度。" -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." msgstr "将一个新的喷嘴工具添加到具有上述指定直径的刀具表中。" -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 msgid "Dispense" msgstr "分配" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 msgid "Z Start" msgstr "Z 开始" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 msgid "Z Action" msgstr "Z动作" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 msgid "Z Stop" msgstr "Z 停止" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "生成锡膏分配几何图形。" -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" @@ -17095,21 +17094,21 @@ msgstr "" "对象的名称必须以以下结尾:\n" "“_solderpaste”作为保护。" -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 msgid "CNCJob" msgstr "CNC任务" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "生成 CNCJob" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." msgstr "为PCB焊盘上的锡膏分配生成G代码。" -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -17121,11 +17120,11 @@ msgstr "" "对象的名称必须以以下结尾:\n" "“_solderpaste”作为保护。" -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "保存G代码" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -17212,6 +17211,10 @@ msgstr "" "将从目标Gerber中删除差集Gerber占用的区域。\n" "可用于去除焊锡表面的重叠丝印。" +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "GEOMETRY" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n" @@ -18688,6 +18691,30 @@ msgstr "通过使用偏移所有加载的对象来设置原点 " msgid "No Geometry name in args. Provide a name and try again." msgstr "参数中没有Geometry名称。请提供名称,然后重试。" +#~ msgid "EXCELLON" +#~ msgstr "EXCELLON" + +#~ msgid "Gerber objects for which to check rules." +#~ msgstr "要检查其规则的Gerber对象。" + +#~ msgid "SM Top" +#~ msgstr "阻焊层顶部" + +#~ msgid "SM Bottom" +#~ msgstr "阻焊层底部" + +#~ msgid "Silk Bottom" +#~ msgstr "丝印层底部" + +#~ msgid "Excellon 1" +#~ msgstr "Excellon 1" + +#~ msgid "Excellon 2" +#~ msgstr "Excellon 2" + +#~ msgid "This check/uncheck all the rules below." +#~ msgstr "此选项选中/取消选中以下所有规则。" + #~ msgid "" #~ "The number of circle steps for GCode \n" #~ "circle and arc shapes linear approximation." @@ -18888,9 +18915,6 @@ msgstr "参数中没有Geometry名称。请提供名称,然后重试。" #~ msgid "Fiducials Coordinates" #~ msgstr "基准点坐标" -#~ msgid "Soldermask Gerber" -#~ msgstr "阻焊层Gerber" - #~ msgid "The Soldermask Gerber object." #~ msgstr "阻焊层Gerber对象。" diff --git a/locale_template/strings.pot b/locale_template/strings.pot index 22d20793..88a2cfe5 100644 --- a/locale_template/strings.pot +++ b/locale_template/strings.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2021-10-04 20:54+0300\n" +"POT-Creation-Date: 2021-10-05 02:54+0300\n" "PO-Revision-Date: 2019-03-25 15:08+0200\n" "Last-Translator: \n" "Language-Team: \n" @@ -112,8 +112,8 @@ msgstr "" #: appEditors/AppGeoEditor.py:3172 appEditors/AppGeoEditor.py:5046 #: appEditors/AppGerberEditor.py:4974 appEditors/AppGerberEditor.py:7201 #: appEditors/AppTextEditor.py:262 appGUI/MainGUI.py:3419 appGUI/MainGUI.py:3642 -#: appGUI/MainGUI.py:3872 appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:510 -#: appPlugins/ToolCorners.py:605 appPlugins/ToolCutOut.py:2012 appPlugins/ToolFilm.py:407 +#: appGUI/MainGUI.py:3872 appObjects/ObjectCollection.py:127 appPlugins/ToolCorners.py:520 +#: appPlugins/ToolCorners.py:629 appPlugins/ToolCutOut.py:2012 appPlugins/ToolFilm.py:407 #: appPlugins/ToolFilm.py:546 appPlugins/ToolImage.py:148 appPlugins/ToolLevelling.py:1586 #: appPlugins/ToolMove.py:275 appPlugins/ToolPcbWizard.py:224 #: appPlugins/ToolPcbWizard.py:247 appPlugins/ToolQRCode.py:624 appPlugins/ToolQRCode.py:673 @@ -285,7 +285,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3208 appPlugins/ToolMilling.py:3656 #: appPlugins/ToolNCC.py:4146 appPlugins/ToolPaint.py:3018 appPlugins/ToolPcbWizard.py:443 #: appPlugins/ToolReport.py:443 appPlugins/ToolReport.py:509 -#: appPlugins/ToolSolderPaste.py:1275 tclCommands/TclCommandDrillcncjob.py:197 +#: appPlugins/ToolSolderPaste.py:1268 tclCommands/TclCommandDrillcncjob.py:197 msgid "Diameter" msgstr "" @@ -528,7 +528,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:126 appPlugins/ToolCalibration.py:794 #: appPlugins/ToolDrilling.py:1559 appPlugins/ToolDrilling.py:2459 #: appPlugins/ToolMilling.py:3247 appPlugins/ToolMilling.py:4178 -#: appPlugins/ToolSolderPaste.py:1345 +#: appPlugins/ToolSolderPaste.py:1338 msgid "Travel Z" msgstr "" @@ -607,8 +607,8 @@ msgstr "" #: appDatabase.py:530 appDatabase.py:1015 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:229 appPlugins/ToolDrilling.py:1573 #: appPlugins/ToolDrilling.py:2515 appPlugins/ToolMilling.py:3265 -#: appPlugins/ToolMilling.py:4284 appPlugins/ToolSolderPaste.py:1509 -#: appPlugins/ToolSolderPaste.py:1546 +#: appPlugins/ToolMilling.py:4284 appPlugins/ToolSolderPaste.py:1502 +#: appPlugins/ToolSolderPaste.py:1539 msgid "Spindle speed" msgstr "" @@ -620,8 +620,8 @@ msgid "" msgstr "" #: appDatabase.py:545 appDatabase.py:1030 appPlugins/ToolDrilling.py:2530 -#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1523 -#: appPlugins/ToolSolderPaste.py:1560 +#: appPlugins/ToolMilling.py:4299 appPlugins/ToolSolderPaste.py:1516 +#: appPlugins/ToolSolderPaste.py:1553 msgid "Dwell" msgstr "" @@ -734,7 +734,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:188 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:171 #: appPlugins/ToolCopperThieving.py:1340 appPlugins/ToolCopperThieving.py:1629 -#: appPlugins/ToolCorners.py:929 appPlugins/ToolCutOut.py:2406 appPlugins/ToolCutOut.py:2725 +#: appPlugins/ToolCorners.py:967 appPlugins/ToolCutOut.py:2406 appPlugins/ToolCutOut.py:2725 #: appPlugins/ToolExtract.py:1351 appPlugins/ToolFiducials.py:992 #: appPlugins/ToolInvertGerber.py:269 appPlugins/ToolInvertGerber.py:277 #: appPlugins/ToolMilling.py:4039 appPlugins/ToolNCC.py:4383 appPlugins/ToolNCC.py:4487 @@ -747,7 +747,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:70 #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:509 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:190 appPlugins/ToolCopperThieving.py:1342 -#: appPlugins/ToolCorners.py:931 appPlugins/ToolFiducials.py:994 +#: appPlugins/ToolCorners.py:969 appPlugins/ToolFiducials.py:994 #: appPlugins/ToolMilling.py:4041 appPlugins/ToolNCC.py:4385 appPlugins/ToolNCC.py:4489 msgid "Bounding box margin." msgstr "" @@ -1123,7 +1123,7 @@ msgstr "" #: appDatabase.py:1212 appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:59 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:189 appPlugins/ToolCutOut.py:2351 -#: appPlugins/ToolFilm.py:1489 +#: appPlugins/ToolFilm.py:1486 msgid "Convex Shape" msgstr "" @@ -1222,7 +1222,7 @@ msgstr "" #: appPlugins/ToolCalculators.py:1068 appPlugins/ToolCalculators.py:1079 #: appPlugins/ToolCalibration.py:1420 appPlugins/ToolCalibration.py:1431 #: appPlugins/ToolCopperThieving.py:1807 appPlugins/ToolCopperThieving.py:1818 -#: appPlugins/ToolCorners.py:1113 appPlugins/ToolCorners.py:1124 +#: appPlugins/ToolCorners.py:1151 appPlugins/ToolCorners.py:1162 #: appPlugins/ToolCutOut.py:2796 appPlugins/ToolCutOut.py:2807 #: appPlugins/ToolDblSided.py:1147 appPlugins/ToolDblSided.py:1158 #: appPlugins/ToolDistance.py:708 appPlugins/ToolDistance.py:719 @@ -1231,7 +1231,7 @@ msgstr "" #: appPlugins/ToolEtchCompensation.py:531 appPlugins/ToolEtchCompensation.py:542 #: appPlugins/ToolExtract.py:1421 appPlugins/ToolExtract.py:1432 #: appPlugins/ToolFiducials.py:1137 appPlugins/ToolFiducials.py:1148 -#: appPlugins/ToolFilm.py:1832 appPlugins/ToolFilm.py:1843 appPlugins/ToolFollow.py:806 +#: appPlugins/ToolFilm.py:1827 appPlugins/ToolFilm.py:1838 appPlugins/ToolFollow.py:806 #: appPlugins/ToolFollow.py:817 appPlugins/ToolImage.py:365 appPlugins/ToolImage.py:376 #: appPlugins/ToolInvertGerber.py:338 appPlugins/ToolInvertGerber.py:349 #: appPlugins/ToolIsolation.py:3713 appPlugins/ToolIsolation.py:3724 @@ -1242,9 +1242,9 @@ msgstr "" #: appPlugins/ToolPanelize.py:1432 appPlugins/ToolPcbWizard.py:532 #: appPlugins/ToolPcbWizard.py:543 appPlugins/ToolPunchGerber.py:2379 #: appPlugins/ToolPunchGerber.py:2390 appPlugins/ToolQRCode.py:1056 -#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1709 -#: appPlugins/ToolRulesCheck.py:1720 appPlugins/ToolSolderPaste.py:1721 -#: appPlugins/ToolSolderPaste.py:1732 appPlugins/ToolSub.py:988 appPlugins/ToolSub.py:999 +#: appPlugins/ToolQRCode.py:1067 appPlugins/ToolRulesCheck.py:1880 +#: appPlugins/ToolRulesCheck.py:1891 appPlugins/ToolSolderPaste.py:1714 +#: appPlugins/ToolSolderPaste.py:1725 appPlugins/ToolSub.py:988 appPlugins/ToolSub.py:999 #: appPlugins/ToolTransform.py:1071 appPlugins/ToolTransform.py:1082 appTool.py:300 #: appTool.py:311 msgid "Edited value is out of range" @@ -1257,7 +1257,7 @@ msgstr "" #: appPlugins/ToolCalculators.py:1074 appPlugins/ToolCalculators.py:1081 #: appPlugins/ToolCalibration.py:1426 appPlugins/ToolCalibration.py:1433 #: appPlugins/ToolCopperThieving.py:1813 appPlugins/ToolCopperThieving.py:1820 -#: appPlugins/ToolCorners.py:1119 appPlugins/ToolCorners.py:1126 +#: appPlugins/ToolCorners.py:1157 appPlugins/ToolCorners.py:1164 #: appPlugins/ToolCutOut.py:2802 appPlugins/ToolCutOut.py:2809 #: appPlugins/ToolDblSided.py:1153 appPlugins/ToolDblSided.py:1160 #: appPlugins/ToolDistance.py:714 appPlugins/ToolDistance.py:721 @@ -1266,7 +1266,7 @@ msgstr "" #: appPlugins/ToolEtchCompensation.py:537 appPlugins/ToolEtchCompensation.py:544 #: appPlugins/ToolExtract.py:1427 appPlugins/ToolExtract.py:1434 #: appPlugins/ToolFiducials.py:1143 appPlugins/ToolFiducials.py:1150 -#: appPlugins/ToolFilm.py:1838 appPlugins/ToolFilm.py:1845 appPlugins/ToolFollow.py:812 +#: appPlugins/ToolFilm.py:1833 appPlugins/ToolFilm.py:1840 appPlugins/ToolFollow.py:812 #: appPlugins/ToolFollow.py:819 appPlugins/ToolImage.py:371 appPlugins/ToolImage.py:378 #: appPlugins/ToolInvertGerber.py:344 appPlugins/ToolInvertGerber.py:351 #: appPlugins/ToolIsolation.py:3719 appPlugins/ToolIsolation.py:3726 @@ -1277,9 +1277,9 @@ msgstr "" #: appPlugins/ToolPanelize.py:1434 appPlugins/ToolPcbWizard.py:538 #: appPlugins/ToolPcbWizard.py:545 appPlugins/ToolPunchGerber.py:2385 #: appPlugins/ToolPunchGerber.py:2392 appPlugins/ToolQRCode.py:1062 -#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1715 -#: appPlugins/ToolRulesCheck.py:1722 appPlugins/ToolSolderPaste.py:1727 -#: appPlugins/ToolSolderPaste.py:1734 appPlugins/ToolSub.py:994 appPlugins/ToolSub.py:1001 +#: appPlugins/ToolQRCode.py:1069 appPlugins/ToolRulesCheck.py:1886 +#: appPlugins/ToolRulesCheck.py:1893 appPlugins/ToolSolderPaste.py:1720 +#: appPlugins/ToolSolderPaste.py:1727 appPlugins/ToolSub.py:994 appPlugins/ToolSub.py:1001 #: appPlugins/ToolTransform.py:1077 appPlugins/ToolTransform.py:1084 appTool.py:306 #: appTool.py:313 msgid "Edited value is within limits." @@ -1476,8 +1476,8 @@ msgstr "" #: appEditors/AppGerberEditor.py:800 appEditors/AppGerberEditor.py:3873 #: appEditors/AppGerberEditor.py:5913 appObjects/FlatCAMCNCJob.py:807 #: appPlugins/ToolCopperThieving.py:351 appPlugins/ToolCopperThieving.py:946 -#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:283 -#: appPlugins/ToolCorners.py:306 appPlugins/ToolCorners.py:595 appPlugins/ToolCorners.py:698 +#: appPlugins/ToolCopperThieving.py:1158 appPlugins/ToolCorners.py:285 +#: appPlugins/ToolCorners.py:308 appPlugins/ToolCorners.py:619 appPlugins/ToolCorners.py:736 #: appPlugins/ToolCutOut.py:856 appPlugins/ToolCutOut.py:878 appPlugins/ToolCutOut.py:1007 #: appPlugins/ToolCutOut.py:1223 appPlugins/ToolCutOut.py:1369 appPlugins/ToolCutOut.py:1412 #: appPlugins/ToolCutOut.py:1430 appPlugins/ToolCutOut.py:1444 @@ -1656,7 +1656,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4027 appEditors/AppGeoEditor.py:3446 #: appEditors/AppGerberEditor.py:6089 appEditors/appGCodeEditor.py:774 appGUI/ObjectUI.py:72 -#: appPlugins/ToolCorners.py:834 appPlugins/ToolCutOut.py:2215 +#: appPlugins/ToolCorners.py:872 appPlugins/ToolCutOut.py:2215 #: appPlugins/ToolDblSided.py:695 appPlugins/ToolDrilling.py:2285 #: appPlugins/ToolFiducials.py:832 appPlugins/ToolFilm.py:1230 appPlugins/ToolFollow.py:697 #: appPlugins/ToolIsolation.py:3155 appPlugins/ToolLevelling.py:1767 @@ -1678,7 +1678,7 @@ msgstr "" #: appGUI/ObjectUI.py:1024 appGUI/ObjectUI.py:1036 appGUI/ObjectUI.py:1435 #: appPlugins/ToolDrilling.py:2326 appPlugins/ToolIsolation.py:3189 #: appPlugins/ToolMilling.py:3626 appPlugins/ToolNCC.py:4126 appPlugins/ToolPaint.py:2999 -#: appPlugins/ToolSolderPaste.py:1258 +#: appPlugins/ToolSolderPaste.py:1251 msgid "Tools Table" msgstr "" @@ -1786,10 +1786,10 @@ msgstr "" #: appEditors/AppGerberEditor.py:6579 appGUI/ObjectUI.py:334 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:40 #: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:167 -#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:888 +#: appPlugins/ToolCopperThieving.py:1389 appPlugins/ToolCorners.py:926 #: appPlugins/ToolCutOut.py:2259 appPlugins/ToolCutOut.py:2445 #: appPlugins/ToolDblSided.py:1042 appPlugins/ToolExtract.py:1062 -#: appPlugins/ToolFilm.py:1259 appPlugins/ToolIsolation.py:3591 +#: appPlugins/ToolFilm.py:1258 appPlugins/ToolIsolation.py:3591 #: appPlugins/ToolMilling.py:3587 appPlugins/ToolNCC.py:4092 appPlugins/ToolNCC.py:4558 #: appPlugins/ToolPaint.py:2965 appPlugins/ToolPaint.py:3304 #: appPlugins/ToolPunchGerber.py:2089 appPlugins/ToolPunchGerber.py:2300 @@ -1859,7 +1859,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:211 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:270 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:140 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 appPlugins/ToolFilm.py:1456 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:157 appPlugins/ToolFilm.py:1454 msgid "X" msgstr "" @@ -1870,7 +1870,7 @@ msgstr "" #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:212 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:271 #: appGUI/preferences/gerber/GerberEditorPrefGroupUI.py:141 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 appPlugins/ToolFilm.py:1457 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:158 appPlugins/ToolFilm.py:1455 msgid "Y" msgstr "" @@ -1974,7 +1974,7 @@ msgstr "" #: appEditors/AppExcEditor.py:4354 appEditors/AppGeoEditor.py:3559 #: appGUI/preferences/excellon/ExcellonEditorPrefGroupUI.py:186 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:81 appObjects/FlatCAMObj.py:889 -#: appPlugins/ToolCorners.py:916 appPlugins/ToolReport.py:604 +#: appPlugins/ToolCorners.py:954 appPlugins/ToolReport.py:604 msgid "Length" msgstr "" @@ -2241,7 +2241,7 @@ msgstr "" #: appEditors/AppGerberEditor.py:6718 appGUI/MainGUI.py:802 appGUI/MainGUI.py:1276 #: appGUI/MainGUI.py:1761 appGUI/MainGUI.py:2565 appGUI/MainGUI.py:5325 #: appGUI/ObjectUI.py:121 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:42 -#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 appPlugins/ToolFilm.py:1323 +#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:171 appPlugins/ToolFilm.py:1321 #: appPlugins/ToolTransform.py:575 appPlugins/ToolTransform.py:797 msgid "Scale" msgstr "" @@ -2263,7 +2263,7 @@ msgstr "" #: appGUI/GUIElements.py:4000 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:82 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:42 appPlugins/ToolDblSided.py:871 -#: appPlugins/ToolDblSided.py:1062 appPlugins/ToolFilm.py:1356 appPlugins/ToolFilm.py:1417 +#: appPlugins/ToolDblSided.py:1062 appPlugins/ToolFilm.py:1354 appPlugins/ToolFilm.py:1415 #: appPlugins/ToolPanelize.py:1172 appPlugins/ToolTransform.py:614 msgid "Reference" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsISOPrefGroupUI.py:298 #: appGUI/preferences/tools/ToolsNCCPrefGroupUI.py:310 #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:257 -#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 appPlugins/ToolCorners.py:984 +#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:52 appPlugins/ToolCorners.py:1022 #: appPlugins/ToolFiducials.py:1061 appPlugins/ToolFollow.py:737 #: appPlugins/ToolIsolation.py:3573 appPlugins/ToolNCC.py:4547 appPlugins/ToolPaint.py:3284 #: appPlugins/ToolPunchGerber.py:2289 appPlugins/ToolTransform.py:624 defaults.py:592 @@ -2318,7 +2318,12 @@ msgstr "" #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:133 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:296 appPlugins/ToolExtract.py:1236 #: appPlugins/ToolExtract.py:1265 appPlugins/ToolPunchGerber.py:2168 -#: appPlugins/ToolPunchGerber.py:2276 appPlugins/ToolTransform.py:630 +#: appPlugins/ToolPunchGerber.py:2276 appPlugins/ToolRulesCheck.py:1494 +#: appPlugins/ToolRulesCheck.py:1518 appPlugins/ToolRulesCheck.py:1543 +#: appPlugins/ToolRulesCheck.py:1568 appPlugins/ToolRulesCheck.py:1605 +#: appPlugins/ToolRulesCheck.py:1630 appPlugins/ToolRulesCheck.py:1655 +#: appPlugins/ToolRulesCheck.py:1693 appPlugins/ToolRulesCheck.py:1730 +#: appPlugins/ToolRulesCheck.py:1755 appPlugins/ToolTransform.py:630 #: appPlugins/ToolTransform.py:995 app_Main.py:8905 msgid "Value" msgstr "" @@ -2368,7 +2373,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:823 appEditors/AppGerberEditor.py:6834 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:114 -#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 appPlugins/ToolFilm.py:1397 +#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:143 appPlugins/ToolFilm.py:1395 #: appPlugins/ToolTransform.py:746 msgid "X angle" msgstr "" @@ -2397,7 +2402,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:844 appEditors/AppGerberEditor.py:6855 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:123 -#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 appPlugins/ToolFilm.py:1407 +#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:157 appPlugins/ToolFilm.py:1405 #: appPlugins/ToolTransform.py:767 msgid "Y angle" msgstr "" @@ -2409,7 +2414,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:885 appEditors/AppGerberEditor.py:6896 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:62 -#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 appPlugins/ToolFilm.py:1336 +#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:194 appPlugins/ToolFilm.py:1334 #: appPlugins/ToolTransform.py:815 msgid "X factor" msgstr "" @@ -2435,7 +2440,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:905 appEditors/AppGerberEditor.py:6916 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:72 -#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 appPlugins/ToolFilm.py:1346 +#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:207 appPlugins/ToolFilm.py:1344 #: appPlugins/ToolTransform.py:835 msgid "Y factor" msgstr "" @@ -2509,7 +2514,7 @@ msgstr "" #: appGUI/ObjectUI.py:561 appGUI/preferences/tools/Tools2InvertPrefGroupUI.py:76 #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:139 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:200 -#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 appPlugins/ToolFilm.py:1500 +#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:263 appPlugins/ToolFilm.py:1497 #: appPlugins/ToolInvertGerber.py:291 appPlugins/ToolQRCode.py:920 #: appPlugins/ToolTransform.py:954 msgid "Rounded" @@ -2923,12 +2928,12 @@ msgstr "" #: appGUI/preferences/tools/ToolsSubPrefGroupUI.py:24 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:28 #: appPlugins/ToolAlignObjects.py:508 appPlugins/ToolCalibration.py:787 -#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:877 +#: appPlugins/ToolCopperThieving.py:1314 appPlugins/ToolCorners.py:915 #: appPlugins/ToolEtchCompensation.py:406 appPlugins/ToolFiducials.py:962 -#: appPlugins/ToolFilm.py:1477 appPlugins/ToolFollow.py:726 +#: appPlugins/ToolFilm.py:1475 appPlugins/ToolFollow.py:726 #: appPlugins/ToolInvertGerber.py:257 appPlugins/ToolLevelling.py:1853 #: appPlugins/ToolOptimal.py:525 appPlugins/ToolPanelize.py:1298 -#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1327 appPlugins/ToolSub.py:814 +#: appPlugins/ToolQRCode.py:821 appPlugins/ToolSolderPaste.py:1320 appPlugins/ToolSub.py:814 #: appPlugins/ToolTransform.py:602 msgid "Parameters" msgstr "" @@ -3096,7 +3101,7 @@ msgstr "" #: appEditors/AppGeoEditor.py:5696 appEditors/AppGeoEditor.py:5776 #: appEditors/AppGeoEditor.py:5842 appEditors/AppGeoEditor.py:5910 #: appPlugins/ToolCopperThieving.py:640 appPlugins/ToolFilm.py:899 -#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:659 +#: appPlugins/ToolFilm.py:1174 appPlugins/ToolRulesCheck.py:658 msgid "Working..." msgstr "" @@ -3356,7 +3361,7 @@ msgstr "" #: appObjects/FlatCAMCNCJob.py:641 appObjects/FlatCAMGerber.py:1002 #: appObjects/FlatCAMObj.py:266 appObjects/FlatCAMObj.py:297 appObjects/FlatCAMObj.py:313 #: appObjects/FlatCAMObj.py:393 appPlugins/ToolCopperThieving.py:1169 -#: appPlugins/ToolCorners.py:704 appPlugins/ToolFiducials.py:685 appPlugins/ToolMove.py:235 +#: appPlugins/ToolCorners.py:742 appPlugins/ToolFiducials.py:685 appPlugins/ToolMove.py:235 #: appPlugins/ToolQRCode.py:559 app_Main.py:5209 msgid "Plotting" msgstr "" @@ -3902,6 +3907,7 @@ msgstr "" #: appGUI/MainGUI.py:455 appGUI/MainGUI.py:590 appGUI/MainGUI.py:4811 #: appObjects/ObjectCollection.py:1157 appObjects/ObjectCollection.py:1204 #: appPlugins/ToolIsolation.py:3623 appPlugins/ToolPunchGerber.py:2316 +#: appPlugins/ToolRulesCheck.py:1199 msgid "Select All" msgstr "" @@ -4109,20 +4115,20 @@ msgstr "" msgid "New" msgstr "" -#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1673 +#: appGUI/MainGUI.py:102 appGUI/MainGUI.py:1533 appGUI/MainGUI.py:1673 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:76 #: appObjects/ObjectCollection.py:238 appPlugins/ToolCalibration.py:206 #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2256 #: appPlugins/ToolCutOut.py:2678 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1257 appPlugins/ToolFilm.py:1280 +#: appPlugins/ToolDblSided.py:940 appPlugins/ToolFilm.py:1256 appPlugins/ToolFilm.py:1279 #: appPlugins/ToolImage.py:175 appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3543 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:2689 #: appPlugins/ToolMilling.py:3594 appPlugins/ToolNCC.py:4101 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:150 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 -#: appPlugins/ToolPanelize.py:1198 appPlugins/ToolSolderPaste.py:1589 +#: appPlugins/ToolPanelize.py:1198 appPlugins/ToolSolderPaste.py:1582 #: appPlugins/ToolSub.py:899 appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:654 msgid "Geometry" msgstr "" @@ -4136,7 +4142,8 @@ msgstr "" msgid "Will create a new, empty Geometry Object." msgstr "" -#: appGUI/MainGUI.py:107 appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 +#: appGUI/MainGUI.py:107 appGUI/MainGUI.py:1513 +#: appGUI/preferences/tools/ToolsPanelizePrefGroupUI.py:94 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:74 #: appObjects/ObjectCollection.py:236 appPlugins/ToolAlignObjects.py:448 #: appPlugins/ToolAlignObjects.py:487 appPlugins/ToolCalibration.py:198 @@ -4144,13 +4151,14 @@ msgstr "" #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolCutOut.py:2255 -#: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 appPlugins/ToolFilm.py:1256 -#: appPlugins/ToolFilm.py:1279 appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 +#: appPlugins/ToolDblSided.py:725 appPlugins/ToolDblSided.py:938 appPlugins/ToolFilm.py:1255 +#: appPlugins/ToolFilm.py:1278 appPlugins/ToolImage.py:153 appPlugins/ToolImage.py:177 #: appPlugins/ToolImage.py:231 appPlugins/ToolIsolation.py:3544 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolNCC.py:4102 appPlugins/ToolNCC.py:4564 #: appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:144 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 -#: appPlugins/ToolPanelize.py:1198 appPlugins/ToolPanelize.py:1309 appPlugins/ToolSub.py:834 +#: appPlugins/ToolPanelize.py:1198 appPlugins/ToolPanelize.py:1309 +#: appPlugins/ToolRulesCheck.py:1209 appPlugins/ToolSub.py:834 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:652 defaults.py:593 msgid "Gerber" msgstr "" @@ -4164,7 +4172,7 @@ msgstr "" msgid "Will create a new, empty Gerber Object." msgstr "" -#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1677 +#: appGUI/MainGUI.py:112 appGUI/MainGUI.py:1523 appGUI/MainGUI.py:1677 #: appGUI/preferences/tools/Tools2PunchGerberPrefGroupUI.py:98 #: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:75 #: appObjects/ObjectCollection.py:237 appPlugins/ToolAlignObjects.py:449 @@ -4173,11 +4181,12 @@ msgstr "" #: appPlugins/ToolCalibration.py:1351 appPlugins/ToolCalibration.py:1368 #: appPlugins/ToolCopperThieving.py:209 appPlugins/ToolCopperThieving.py:1395 #: appPlugins/ToolCopperThieving.py:1406 appPlugins/ToolDblSided.py:725 -#: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 appPlugins/ToolFilm.py:1583 +#: appPlugins/ToolDblSided.py:939 appPlugins/ToolDblSided.py:967 appPlugins/ToolFilm.py:1580 #: appPlugins/ToolIsolation.py:3594 appPlugins/ToolMilling.py:3595 #: appPlugins/ToolNCC.py:4564 appPlugins/ToolPaint.py:3310 appPlugins/ToolPanelize.py:147 #: appPlugins/ToolPanelize.py:251 appPlugins/ToolPanelize.py:1147 #: appPlugins/ToolPunchGerber.py:2131 appPlugins/ToolPunchGerber.py:2145 +#: appPlugins/ToolRulesCheck.py:1216 appPlugins/ToolRulesCheck.py:1414 #: appPlugins/ToolTransform.py:160 appPlugins/ToolTransform.py:653 msgid "Excellon" msgstr "" @@ -4284,7 +4293,7 @@ msgstr "" msgid "HPGL2 as Geometry Object" msgstr "" -#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1618 +#: appGUI/MainGUI.py:246 appPlugins/ToolFilm.py:1615 msgid "Export" msgstr "" @@ -5156,7 +5165,7 @@ msgid "Copper Thieving" msgstr "" #: appGUI/MainGUI.py:1133 appGUI/MainGUI.py:2428 appGUI/MainGUI.py:4841 -#: appPlugins/ToolCorners.py:809 +#: appPlugins/ToolCorners.py:847 msgid "Corner Markers" msgstr "" @@ -5301,18 +5310,6 @@ msgstr "" msgid "Plot Area" msgstr "" -#: appGUI/MainGUI.py:1513 appPlugins/ToolOptimal.py:511 appPlugins/ToolRulesCheck.py:1199 -msgid "GERBER" -msgstr "" - -#: appGUI/MainGUI.py:1523 appPlugins/ToolRulesCheck.py:1337 -msgid "EXCELLON" -msgstr "" - -#: appGUI/MainGUI.py:1533 appPlugins/ToolSub.py:908 -msgid "GEOMETRY" -msgstr "" - #: appGUI/MainGUI.py:1543 msgid "CNC-JOB" msgstr "" @@ -5513,7 +5510,7 @@ msgstr "" #: appGUI/MainGUI.py:4056 appPlugins/ToolIsolation.py:903 appPlugins/ToolNCC.py:1375 #: appPlugins/ToolPaint.py:664 appPlugins/ToolSolderPaste.py:344 -#: appPlugins/ToolSolderPaste.py:1291 app_Main.py:4995 +#: appPlugins/ToolSolderPaste.py:1284 app_Main.py:4995 msgid "New Tool" msgstr "" @@ -5879,7 +5876,7 @@ msgstr "" msgid "Refresh Plots" msgstr "" -#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1714 +#: appGUI/MainGUI.py:4882 appPlugins/ToolSolderPaste.py:1707 msgid "Delete Object" msgstr "" @@ -6299,13 +6296,13 @@ msgid "" msgstr "" #: appGUI/ObjectUI.py:521 appGUI/preferences/gerber/GerberOptPrefGroupUI.py:64 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 appPlugins/ToolFilm.py:1502 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:202 appPlugins/ToolFilm.py:1499 msgid "Resulting geometry will have rounded corners." msgstr "" #: appGUI/ObjectUI.py:524 appGUI/ObjectUI.py:569 appPlugins/ToolCutOut.py:2642 #: appPlugins/ToolFollow.py:765 appPlugins/ToolIsolation.py:3663 appPlugins/ToolNCC.py:4610 -#: appPlugins/ToolPaint.py:3347 appPlugins/ToolSolderPaste.py:1599 +#: appPlugins/ToolPaint.py:3347 appPlugins/ToolSolderPaste.py:1592 msgid "Generate Geometry" msgstr "" @@ -6615,7 +6612,7 @@ msgstr "" msgid "Opens dialog to save CNC Code file." msgstr "" -#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1685 +#: appGUI/ObjectUI.py:1551 appPlugins/ToolSolderPaste.py:1678 msgid "Review CNC Code." msgstr "" @@ -6656,8 +6653,8 @@ msgid "Align Left" msgstr "" #: appGUI/ObjectUI.py:1763 appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 appPlugins/ToolFilm.py:1363 -#: appPlugins/ToolFilm.py:1424 app_Main.py:5431 app_Main.py:5695 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 appPlugins/ToolFilm.py:1361 +#: appPlugins/ToolFilm.py:1422 app_Main.py:5431 app_Main.py:5695 msgid "Center" msgstr "" @@ -6874,7 +6871,7 @@ msgstr "" #: appGUI/preferences/cncjob/CNCJobGenPrefGroupUI.py:96 #: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:155 appObjects/FlatCAMObj.py:843 #: appPlugins/ToolLevelling.py:2219 appPlugins/ToolReport.py:558 -#: appPlugins/ToolSolderPaste.py:1442 +#: appPlugins/ToolSolderPaste.py:1435 msgid "Feedrate" msgstr "" @@ -6924,7 +6921,8 @@ msgstr "" #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:148 #: appGUI/preferences/general/GeneralGUIPrefGroupUI.py:189 #: appGUI/preferences/geometry/GeometryGenPrefGroupUI.py:151 -#: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 appPlugins/ToolRulesCheck.py:1324 +#: appGUI/preferences/gerber/GerberGenPrefGroupUI.py:202 appPlugins/ToolRulesCheck.py:1385 +#: appPlugins/ToolRulesCheck.py:1400 msgid "Outline" msgstr "" @@ -7488,7 +7486,7 @@ msgid "Orientation" msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:179 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 appPlugins/ToolFilm.py:1647 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:282 appPlugins/ToolFilm.py:1643 msgid "" "Can be:\n" "- Portrait\n" @@ -7497,14 +7495,14 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:183 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:165 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 appPlugins/ToolFilm.py:1651 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:286 appPlugins/ToolFilm.py:1647 #: app_Main.py:8435 msgid "Portrait" msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:184 #: appGUI/preferences/general/GeneralAppSettingsGroupUI.py:166 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 appPlugins/ToolFilm.py:1652 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:287 appPlugins/ToolFilm.py:1648 #: app_Main.py:8437 msgid "Landscape" msgstr "" @@ -7522,7 +7520,7 @@ msgstr "" #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:225 #: appGUI/preferences/general/GeneralAPPSetGroupUI.py:286 appPlugins/ToolDblSided.py:852 -#: appPlugins/ToolFilm.py:1460 app_Main.py:8423 +#: appPlugins/ToolFilm.py:1458 app_Main.py:8423 msgid "Axis" msgstr "" @@ -8588,7 +8586,7 @@ msgid "Minimal" msgstr "" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:114 -#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1282 +#: appPlugins/ToolCopperThieving.py:1416 appPlugins/ToolFilm.py:1281 #: appPlugins/ToolPanelize.py:1205 msgid "Box Type" msgstr "" @@ -8689,7 +8687,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:290 #: appGUI/preferences/tools/Tools2ExtractPrefGroupUI.py:311 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:54 -#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:902 +#: appPlugins/ToolCopperThieving.py:1642 appPlugins/ToolCorners.py:940 #: appPlugins/ToolExtract.py:1366 msgid "Thickness" msgstr "" @@ -8733,7 +8731,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2CThievingPrefGroupUI.py:345 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:159 -#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1458 +#: appPlugins/ToolCopperThieving.py:1761 appPlugins/ToolFilm.py:1456 #: appPlugins/ToolMilling.py:3920 msgid "Both" msgstr "" @@ -8757,9 +8755,9 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:30 #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:29 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:29 -#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:878 +#: appPlugins/ToolCopperThieving.py:1315 appPlugins/ToolCorners.py:916 #: appPlugins/ToolEtchCompensation.py:407 appPlugins/ToolFiducials.py:964 -#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1329 +#: appPlugins/ToolOptimal.py:526 appPlugins/ToolSolderPaste.py:1322 msgid "Parameters used for this tool." msgstr "" @@ -8815,7 +8813,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:103 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 appPlugins/ToolCalibration.py:879 -#: appPlugins/ToolCorners.py:956 appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolCorners.py:994 appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 #: app_Main.py:5692 msgid "Top Left" msgstr "" @@ -8823,14 +8821,14 @@ msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:104 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 appPlugins/ToolCalibration.py:880 -#: appPlugins/ToolCorners.py:968 appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appPlugins/ToolCorners.py:1006 appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 #: app_Main.py:5693 msgid "Bottom Right" msgstr "" #: appGUI/preferences/tools/Tools2CalPrefGroupUI.py:113 #: appGUI/preferences/tools/ToolsDrillPrefGroupUI.py:109 -#: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 appPlugins/ToolSolderPaste.py:1407 +#: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:142 appPlugins/ToolSolderPaste.py:1400 msgid "Tool change" msgstr "" @@ -9089,7 +9087,7 @@ msgid "" msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:99 -#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 appPlugins/ToolCorners.py:895 +#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:47 appPlugins/ToolCorners.py:933 #: appPlugins/ToolFiducials.py:1035 msgid "Cross" msgstr "" @@ -9104,14 +9102,14 @@ msgstr "" msgid "Line thickness" msgstr "" -#: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 appPlugins/ToolCorners.py:1002 +#: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:132 appPlugins/ToolCorners.py:1040 #: appPlugins/ToolFiducials.py:1073 msgid "Auto" msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:133 #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:67 -#: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 appPlugins/ToolCorners.py:1003 +#: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:48 appPlugins/ToolCorners.py:1041 #: appPlugins/ToolCutOut.py:2520 appPlugins/ToolDblSided.py:1053 #: appPlugins/ToolFiducials.py:1074 appPlugins/ToolLevelling.py:1918 #: appPlugins/ToolPunchGerber.py:2309 @@ -9119,7 +9117,7 @@ msgid "Manual" msgstr "" #: appGUI/preferences/tools/Tools2FiducialsPrefGroupUI.py:135 -#: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 appPlugins/ToolCorners.py:995 +#: appGUI/preferences/tools/ToolsLevelPrefGroupUI.py:41 appPlugins/ToolCorners.py:1033 #: appPlugins/ToolLevelling.py:1911 msgid "Mode" msgstr "" @@ -9268,7 +9266,7 @@ msgid "Add here the text to be included in the QRCode..." msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:116 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 appPlugins/ToolFilm.py:1529 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:213 appPlugins/ToolFilm.py:1526 #: appPlugins/ToolQRCode.py:897 msgid "Polarity" msgstr "" @@ -9281,13 +9279,13 @@ msgid "" msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:122 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 appPlugins/ToolFilm.py:1527 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:212 appPlugins/ToolFilm.py:1524 #: appPlugins/ToolQRCode.py:903 msgid "Negative" msgstr "" #: appGUI/preferences/tools/Tools2QRCodePrefGroupUI.py:123 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 appPlugins/ToolFilm.py:1526 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:211 appPlugins/ToolFilm.py:1523 #: appPlugins/ToolQRCode.py:904 msgid "Positive" msgstr "" @@ -9335,12 +9333,12 @@ msgid "" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:36 -#: appPlugins/ToolRulesCheck.py:460 appPlugins/ToolRulesCheck.py:1403 +#: appPlugins/ToolRulesCheck.py:459 appPlugins/ToolRulesCheck.py:1487 msgid "Trace Size" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:38 -#: appPlugins/ToolRulesCheck.py:1405 +#: appPlugins/ToolRulesCheck.py:1489 msgid "This checks if the minimum size for traces is met." msgstr "" @@ -9354,27 +9352,22 @@ msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:195 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:218 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:239 -#: appPlugins/ToolRulesCheck.py:1410 appPlugins/ToolRulesCheck.py:1434 -#: appPlugins/ToolRulesCheck.py:1459 appPlugins/ToolRulesCheck.py:1484 -#: appPlugins/ToolRulesCheck.py:1509 appPlugins/ToolRulesCheck.py:1534 -#: appPlugins/ToolRulesCheck.py:1560 appPlugins/ToolRulesCheck.py:1585 -#: appPlugins/ToolRulesCheck.py:1612 appPlugins/ToolRulesCheck.py:1637 msgid "Min value" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:50 -#: appPlugins/ToolRulesCheck.py:1412 +#: appPlugins/ToolRulesCheck.py:1496 msgid "Minimum acceptable trace size." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:56 -#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:721 -#: appPlugins/ToolRulesCheck.py:1426 +#: appPlugins/ToolRulesCheck.py:690 appPlugins/ToolRulesCheck.py:720 +#: appPlugins/ToolRulesCheck.py:1510 msgid "Copper to Copper clearance" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:58 -#: appPlugins/ToolRulesCheck.py:1428 +#: appPlugins/ToolRulesCheck.py:1512 msgid "" "This checks if the minimum clearance between copper\n" "features is met." @@ -9387,122 +9380,122 @@ msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:155 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:176 #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:241 -#: appPlugins/ToolRulesCheck.py:1436 appPlugins/ToolRulesCheck.py:1461 -#: appPlugins/ToolRulesCheck.py:1486 appPlugins/ToolRulesCheck.py:1511 -#: appPlugins/ToolRulesCheck.py:1536 appPlugins/ToolRulesCheck.py:1562 -#: appPlugins/ToolRulesCheck.py:1614 +#: appPlugins/ToolRulesCheck.py:1520 appPlugins/ToolRulesCheck.py:1545 +#: appPlugins/ToolRulesCheck.py:1607 appPlugins/ToolRulesCheck.py:1632 +#: appPlugins/ToolRulesCheck.py:1657 appPlugins/ToolRulesCheck.py:1695 +#: appPlugins/ToolRulesCheck.py:1732 msgid "Minimum acceptable clearance value." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:77 -#: appPlugins/ToolRulesCheck.py:751 appPlugins/ToolRulesCheck.py:757 -#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:777 -#: appPlugins/ToolRulesCheck.py:1451 +#: appPlugins/ToolRulesCheck.py:750 appPlugins/ToolRulesCheck.py:756 +#: appPlugins/ToolRulesCheck.py:769 appPlugins/ToolRulesCheck.py:776 +#: appPlugins/ToolRulesCheck.py:1535 msgid "Copper to Outline clearance" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:79 -#: appPlugins/ToolRulesCheck.py:1453 +#: appPlugins/ToolRulesCheck.py:1537 msgid "" "This checks if the minimum clearance between copper\n" "features and the outline is met." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:98 -#: appPlugins/ToolRulesCheck.py:1476 +#: appPlugins/ToolRulesCheck.py:1597 msgid "Silk to Silk Clearance" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:100 -#: appPlugins/ToolRulesCheck.py:1478 +#: appPlugins/ToolRulesCheck.py:1599 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and silkscreen features is met." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:119 -#: appPlugins/ToolRulesCheck.py:860 appPlugins/ToolRulesCheck.py:866 -#: appPlugins/ToolRulesCheck.py:884 appPlugins/ToolRulesCheck.py:1501 +#: appPlugins/ToolRulesCheck.py:859 appPlugins/ToolRulesCheck.py:865 +#: appPlugins/ToolRulesCheck.py:883 appPlugins/ToolRulesCheck.py:1622 msgid "Silk to Solder Mask Clearance" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:121 -#: appPlugins/ToolRulesCheck.py:1503 +#: appPlugins/ToolRulesCheck.py:1624 msgid "" "This checks if the minimum clearance between silkscreen\n" "features and soldermask features is met." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:140 -#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:920 -#: appPlugins/ToolRulesCheck.py:934 appPlugins/ToolRulesCheck.py:941 -#: appPlugins/ToolRulesCheck.py:1526 +#: appPlugins/ToolRulesCheck.py:913 appPlugins/ToolRulesCheck.py:919 +#: appPlugins/ToolRulesCheck.py:933 appPlugins/ToolRulesCheck.py:940 +#: appPlugins/ToolRulesCheck.py:1647 msgid "Silk to Outline Clearance" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:142 -#: appPlugins/ToolRulesCheck.py:1528 +#: appPlugins/ToolRulesCheck.py:1649 msgid "" "This checks if the minimum clearance between silk\n" "features and the outline is met." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:161 -#: appPlugins/ToolRulesCheck.py:952 appPlugins/ToolRulesCheck.py:979 -#: appPlugins/ToolRulesCheck.py:1551 +#: appPlugins/ToolRulesCheck.py:951 appPlugins/ToolRulesCheck.py:978 +#: appPlugins/ToolRulesCheck.py:1684 msgid "Minimum Solder Mask Sliver" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:163 -#: appPlugins/ToolRulesCheck.py:1553 +#: appPlugins/ToolRulesCheck.py:1686 msgid "" "This checks if the minimum clearance between soldermask\n" "features and soldermask features is met." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:182 -#: appPlugins/ToolRulesCheck.py:1017 appPlugins/ToolRulesCheck.py:1023 -#: appPlugins/ToolRulesCheck.py:1039 appPlugins/ToolRulesCheck.py:1046 -#: appPlugins/ToolRulesCheck.py:1577 +#: appPlugins/ToolRulesCheck.py:1016 appPlugins/ToolRulesCheck.py:1022 +#: appPlugins/ToolRulesCheck.py:1038 appPlugins/ToolRulesCheck.py:1045 +#: appPlugins/ToolRulesCheck.py:1560 msgid "Minimum Annular Ring" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:184 -#: appPlugins/ToolRulesCheck.py:1579 +#: appPlugins/ToolRulesCheck.py:1562 msgid "" "This checks if the minimum copper ring left by drilling\n" "a hole into a pad is met." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:197 -#: appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1570 msgid "Minimum acceptable ring value." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:205 -#: appPlugins/ToolRulesCheck.py:404 appPlugins/ToolRulesCheck.py:1604 +#: appPlugins/ToolRulesCheck.py:403 appPlugins/ToolRulesCheck.py:1722 msgid "Hole to Hole Clearance" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:207 -#: appPlugins/ToolRulesCheck.py:1606 +#: appPlugins/ToolRulesCheck.py:1724 msgid "" "This checks if the minimum clearance between a drill hole\n" "and another drill hole is met." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:220 -#: appPlugins/ToolRulesCheck.py:1639 +#: appPlugins/ToolRulesCheck.py:1757 msgid "Minimum acceptable drill size." msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:226 -#: appPlugins/ToolRulesCheck.py:378 appPlugins/ToolRulesCheck.py:1629 +#: appPlugins/ToolRulesCheck.py:377 appPlugins/ToolRulesCheck.py:1747 msgid "Hole Size" msgstr "" #: appGUI/preferences/tools/Tools2RulesCheckPrefGroupUI.py:228 -#: appPlugins/ToolRulesCheck.py:1631 +#: appPlugins/ToolRulesCheck.py:1749 msgid "" "This checks if the drill holes\n" "sizes are above the threshold." @@ -9524,7 +9517,7 @@ msgstr "" #: appGUI/preferences/tools/Tools2sidedPrefGroupUI.py:47 #: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:94 -#: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 appPlugins/ToolCorners.py:1040 +#: appGUI/preferences/tools/ToolsCutoutPrefGroupUI.py:282 appPlugins/ToolCorners.py:1078 #: appPlugins/ToolCutOut.py:2699 appPlugins/ToolDblSided.py:1026 msgid "Drill Dia" msgstr "" @@ -9685,23 +9678,23 @@ msgstr "" msgid "Corner Markers Options" msgstr "" -#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 appPlugins/ToolCorners.py:890 +#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:42 appPlugins/ToolCorners.py:928 msgid "Shape of the marker." msgstr "" -#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 appPlugins/ToolCorners.py:894 +#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:46 appPlugins/ToolCorners.py:932 msgid "Semi-Cross" msgstr "" -#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 appPlugins/ToolCorners.py:904 +#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:56 appPlugins/ToolCorners.py:942 msgid "The thickness of the line that makes the corner marker." msgstr "" -#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 appPlugins/ToolCorners.py:918 +#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:83 appPlugins/ToolCorners.py:956 msgid "The length of the line that makes the corner marker." msgstr "" -#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 appPlugins/ToolCorners.py:1042 +#: appGUI/preferences/tools/ToolsCornersPrefGroupUI.py:96 appPlugins/ToolCorners.py:1080 msgid "Drill Diameter" msgstr "" @@ -9828,7 +9821,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 appPlugins/ToolDrilling.py:2370 #: appPlugins/ToolIsolation.py:3236 appPlugins/ToolMilling.py:3753 #: appPlugins/ToolNCC.py:4183 appPlugins/ToolPaint.py:3052 -#: appPlugins/ToolSolderPaste.py:1495 +#: appPlugins/ToolSolderPaste.py:1488 msgid "Forward" msgstr "" @@ -9838,7 +9831,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsPaintPrefGroupUI.py:67 appPlugins/ToolDrilling.py:2370 #: appPlugins/ToolIsolation.py:3236 appPlugins/ToolMilling.py:3753 #: appPlugins/ToolNCC.py:4183 appPlugins/ToolPaint.py:3052 -#: appPlugins/ToolSolderPaste.py:1533 +#: appPlugins/ToolSolderPaste.py:1526 msgid "Reverse" msgstr "" @@ -9918,7 +9911,7 @@ msgstr "" #: appGUI/preferences/tools/ToolsMillPrefGroupUI.py:266 #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:237 #: appPlugins/ToolDrilling.py:2760 appPlugins/ToolMilling.py:4456 -#: appPlugins/ToolSolderPaste.py:1577 +#: appPlugins/ToolSolderPaste.py:1570 msgid "Preprocessor" msgstr "" @@ -10114,58 +10107,58 @@ msgstr "" msgid "Film Plugin" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 appPlugins/ToolFilm.py:1308 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:28 appPlugins/ToolFilm.py:1307 msgid "Adjustments" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 appPlugins/ToolFilm.py:1310 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:30 appPlugins/ToolFilm.py:1309 msgid "Compensate print distortions." msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 appPlugins/ToolFilm.py:1325 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:44 appPlugins/ToolFilm.py:1323 msgid "" "A value greater than 1 will compact the film\n" "while a value less than 1 will jolt it." msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:84 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 appPlugins/ToolFilm.py:1358 -#: appPlugins/ToolFilm.py:1419 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:135 appPlugins/ToolFilm.py:1356 +#: appPlugins/ToolFilm.py:1417 msgid "The reference point to be used as origin for the adjustment." msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 appPlugins/ToolCorners.py:964 -#: appPlugins/ToolFiducials.py:898 appPlugins/ToolFilm.py:1363 appPlugins/ToolFilm.py:1424 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 appPlugins/ToolCorners.py:1002 +#: appPlugins/ToolFiducials.py:898 appPlugins/ToolFilm.py:1361 appPlugins/ToolFilm.py:1422 #: app_Main.py:5691 msgid "Bottom Left" msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:89 -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 appPlugins/ToolFilm.py:1363 -#: appPlugins/ToolFilm.py:1424 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:140 appPlugins/ToolFilm.py:1361 +#: appPlugins/ToolFilm.py:1422 msgid "Top right" msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:95 -#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 appPlugins/ToolFilm.py:1384 +#: appGUI/preferences/tools/ToolsTransformPrefGroupUI.py:118 appPlugins/ToolFilm.py:1382 #: appPlugins/ToolTransform.py:726 msgid "Skew" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 appPlugins/ToolFilm.py:1386 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:97 appPlugins/ToolFilm.py:1384 msgid "" "Positive values will skew to the right\n" "while negative values will skew to the left." msgstr "" #: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:146 appPlugins/ToolDblSided.py:992 -#: appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolFilm.py:1443 msgid "Mirror" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 appPlugins/ToolFilm.py:1447 -#: appPlugins/ToolFilm.py:1462 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:148 appPlugins/ToolFilm.py:1445 +#: appPlugins/ToolFilm.py:1460 msgid "Mirror the film geometry on the selected axis or on both." msgstr "" @@ -10175,13 +10168,13 @@ msgid "" "The file is saved in SVG format." msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 appPlugins/ToolFilm.py:1491 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:191 appPlugins/ToolFilm.py:1488 msgid "" "Create a convex shape surrounding the entire PCB.\n" "If not checked the shape is rectangular." msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 appPlugins/ToolFilm.py:1531 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:215 appPlugins/ToolFilm.py:1528 msgid "Generate a Positive black film or a Negative film." msgstr "" @@ -10193,11 +10186,11 @@ msgstr "" msgid "Set the film color when positive film is selected." msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 appPlugins/ToolFilm.py:1542 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:236 appPlugins/ToolFilm.py:1539 msgid "Border" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 appPlugins/ToolFilm.py:1544 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:238 appPlugins/ToolFilm.py:1541 msgid "" "Specify a border around the object.\n" "Only for negative film.\n" @@ -10209,34 +10202,34 @@ msgid "" "surroundings if not for this border." msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 appPlugins/ToolFilm.py:1516 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:256 appPlugins/ToolFilm.py:1513 msgid "Scale Stroke" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 appPlugins/ToolFilm.py:1518 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:258 appPlugins/ToolFilm.py:1515 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 "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 appPlugins/ToolFilm.py:1637 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:265 appPlugins/ToolFilm.py:1633 msgid "SVG" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 appPlugins/ToolFilm.py:1638 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:266 appPlugins/ToolFilm.py:1634 msgid "PNG" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 appPlugins/ToolFilm.py:1639 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:267 appPlugins/ToolFilm.py:1635 msgid "PDF" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 appPlugins/ToolFilm.py:1628 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:270 appPlugins/ToolFilm.py:1624 msgid "Film Type" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 appPlugins/ToolFilm.py:1630 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:272 appPlugins/ToolFilm.py:1626 msgid "" "The file type of the saved film. Can be:\n" "- 'SVG' -> open-source vectorial format\n" @@ -10244,19 +10237,19 @@ msgid "" "- 'PDF' -> portable document format" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 appPlugins/ToolFilm.py:1646 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:281 appPlugins/ToolFilm.py:1642 msgid "Page Orientation" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 appPlugins/ToolFilm.py:1663 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:294 appPlugins/ToolFilm.py:1658 msgid "Page Size" msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 appPlugins/ToolFilm.py:1664 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:295 appPlugins/ToolFilm.py:1659 msgid "A selection of standard ISO 216 page sizes." msgstr "" -#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 appPlugins/ToolFilm.py:1730 +#: appGUI/preferences/tools/ToolsFilmPrefGroupUI.py:362 appPlugins/ToolFilm.py:1725 msgid "Default value is 96 DPI. Change this value to scale the PNG file." msgstr "" @@ -10818,7 +10811,7 @@ msgid "New Nozzle Dia" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:56 -#: appPlugins/ToolSolderPaste.py:1293 +#: appPlugins/ToolSolderPaste.py:1286 msgid "Diameter for the new tool to add in the Tool Table" msgstr "" @@ -10827,17 +10820,17 @@ msgid "Z Dispense Start" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:74 -#: appPlugins/ToolSolderPaste.py:1373 +#: appPlugins/ToolSolderPaste.py:1366 msgid "The height (Z) when solder paste dispensing starts." msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:85 -#: appPlugins/ToolSolderPaste.py:1484 +#: appPlugins/ToolSolderPaste.py:1477 msgid "Z Dispense" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:87 -#: appPlugins/ToolSolderPaste.py:1386 +#: appPlugins/ToolSolderPaste.py:1379 msgid "The height (Z) when doing solder paste dispensing." msgstr "" @@ -10846,7 +10839,7 @@ msgid "Z Dispense Stop" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:100 -#: appPlugins/ToolSolderPaste.py:1399 +#: appPlugins/ToolSolderPaste.py:1392 msgid "The height (Z) when solder paste dispensing stops." msgstr "" @@ -10855,7 +10848,7 @@ msgid "Z Travel" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:113 -#: appPlugins/ToolSolderPaste.py:1347 +#: appPlugins/ToolSolderPaste.py:1340 msgid "" "The height (Z) for travel between pads\n" "(without dispensing solder paste)." @@ -10866,24 +10859,24 @@ msgid "Z Toolchange" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:127 -#: appPlugins/ToolSolderPaste.py:1434 +#: appPlugins/ToolSolderPaste.py:1427 msgid "The height (Z) for tool (nozzle) change." msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:136 -#: appPlugins/ToolSolderPaste.py:1420 +#: appPlugins/ToolSolderPaste.py:1413 msgid "" "The X,Y location for tool (nozzle) change.\n" "The format is (x, y) where x and y are real numbers." msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:150 -#: appPlugins/ToolSolderPaste.py:1459 +#: appPlugins/ToolSolderPaste.py:1452 msgid "Feedrate (speed) while moving on the X-Y plane." msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:163 -#: appPlugins/ToolSolderPaste.py:1472 +#: appPlugins/ToolSolderPaste.py:1465 msgid "" "Feedrate (speed) while moving vertically\n" "(on Z plane)." @@ -10894,7 +10887,7 @@ msgid "Feedrate Z Dispense" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:177 -#: appPlugins/ToolSolderPaste.py:1486 +#: appPlugins/ToolSolderPaste.py:1479 msgid "" "Feedrate (speed) while moving up vertically\n" "to Dispense position (on Z plane)." @@ -10905,7 +10898,7 @@ msgid "Spindle Speed FWD" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:190 -#: appPlugins/ToolSolderPaste.py:1511 +#: appPlugins/ToolSolderPaste.py:1504 msgid "" "The dispenser speed while pushing solder paste\n" "through the dispenser nozzle." @@ -10916,7 +10909,7 @@ msgid "Dwell FWD" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:204 -#: appPlugins/ToolSolderPaste.py:1525 +#: appPlugins/ToolSolderPaste.py:1518 msgid "Pause after solder dispensing." msgstr "" @@ -10925,7 +10918,7 @@ msgid "Spindle Speed REV" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:216 -#: appPlugins/ToolSolderPaste.py:1548 +#: appPlugins/ToolSolderPaste.py:1541 msgid "" "The dispenser speed while retracting solder paste\n" "through the dispenser nozzle." @@ -10936,14 +10929,14 @@ msgid "Dwell REV" msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:230 -#: appPlugins/ToolSolderPaste.py:1562 +#: appPlugins/ToolSolderPaste.py:1555 msgid "" "Pause after solder paste dispenser retracted,\n" "to allow pressure equilibrium." msgstr "" #: appGUI/preferences/tools/ToolsSolderpastePrefGroupUI.py:239 -#: appPlugins/ToolSolderPaste.py:1579 +#: appPlugins/ToolSolderPaste.py:1572 msgid "Files that control the GCode generation." msgstr "" @@ -11607,7 +11600,7 @@ msgid "Click on the START point." msgstr "" #: appPlugins/ToolAlignObjects.py:276 appPlugins/ToolCalibration.py:311 -#: appPlugins/ToolCorners.py:740 appPlugins/ToolDblSided.py:464 +#: appPlugins/ToolCorners.py:778 appPlugins/ToolDblSided.py:464 #: appPlugins/ToolFiducials.py:752 msgid "Cancelled by user request." msgstr "" @@ -11692,32 +11685,32 @@ msgstr "" #: appPlugins/ToolAlignObjects.py:555 appPlugins/ToolCalculators.py:1050 #: appPlugins/ToolCalibration.py:1403 appPlugins/ToolCopperThieving.py:1789 -#: appPlugins/ToolCorners.py:1095 appPlugins/ToolCutOut.py:2753 +#: appPlugins/ToolCorners.py:1133 appPlugins/ToolCutOut.py:2753 #: appPlugins/ToolDblSided.py:1127 appPlugins/ToolDrilling.py:2903 #: appPlugins/ToolEtchCompensation.py:513 appPlugins/ToolExtract.py:1400 -#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1763 appPlugins/ToolFollow.py:781 +#: appPlugins/ToolFiducials.py:1119 appPlugins/ToolFilm.py:1758 appPlugins/ToolFollow.py:781 #: appPlugins/ToolInvertGerber.py:320 appPlugins/ToolIsolation.py:3696 #: appPlugins/ToolLevelling.py:2349 appPlugins/ToolMilling.py:4645 #: appPlugins/ToolNCC.py:4627 appPlugins/ToolOptimal.py:716 appPlugins/ToolPaint.py:3363 #: appPlugins/ToolPanelize.py:1396 appPlugins/ToolPunchGerber.py:2350 -#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1672 -#: appPlugins/ToolSolderPaste.py:1699 appPlugins/ToolSub.py:970 +#: appPlugins/ToolQRCode.py:1038 appPlugins/ToolRulesCheck.py:1794 +#: appPlugins/ToolSolderPaste.py:1692 appPlugins/ToolSub.py:970 #: appPlugins/ToolTransform.py:1027 msgid "Reset Tool" msgstr "" #: appPlugins/ToolAlignObjects.py:558 appPlugins/ToolCalculators.py:1053 #: appPlugins/ToolCalibration.py:1406 appPlugins/ToolCopperThieving.py:1792 -#: appPlugins/ToolCorners.py:1098 appPlugins/ToolCutOut.py:2756 +#: appPlugins/ToolCorners.py:1136 appPlugins/ToolCutOut.py:2756 #: appPlugins/ToolDblSided.py:1130 appPlugins/ToolDrilling.py:2906 #: appPlugins/ToolEtchCompensation.py:516 appPlugins/ToolExtract.py:1403 -#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1766 appPlugins/ToolFollow.py:784 +#: appPlugins/ToolFiducials.py:1122 appPlugins/ToolFilm.py:1761 appPlugins/ToolFollow.py:784 #: appPlugins/ToolInvertGerber.py:323 appPlugins/ToolIsolation.py:3699 #: appPlugins/ToolLevelling.py:2352 appPlugins/ToolMilling.py:4648 #: appPlugins/ToolNCC.py:4630 appPlugins/ToolOptimal.py:719 appPlugins/ToolPaint.py:3366 #: appPlugins/ToolPanelize.py:1399 appPlugins/ToolPunchGerber.py:2353 -#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1675 -#: appPlugins/ToolSolderPaste.py:1702 appPlugins/ToolSub.py:973 +#: appPlugins/ToolQRCode.py:1041 appPlugins/ToolRulesCheck.py:1797 +#: appPlugins/ToolSolderPaste.py:1695 appPlugins/ToolSub.py:973 #: appPlugins/ToolTransform.py:1030 msgid "Will reset the tool parameters." msgstr "" @@ -12213,8 +12206,8 @@ msgid "Squares grid fill selected." msgstr "" #: appPlugins/ToolCopperThieving.py:274 appPlugins/ToolCopperThieving.py:372 -#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:264 -#: appPlugins/ToolCorners.py:299 appPlugins/ToolCorners.py:528 appPlugins/ToolCorners.py:623 +#: appPlugins/ToolCopperThieving.py:986 appPlugins/ToolCorners.py:266 +#: appPlugins/ToolCorners.py:301 appPlugins/ToolCorners.py:538 appPlugins/ToolCorners.py:648 #: appPlugins/ToolFiducials.py:292 appPlugins/ToolFiducials.py:594 #: appPlugins/ToolOptimal.py:223 appPlugins/ToolQRCode.py:244 msgid "There is no Gerber object loaded ..." @@ -12310,7 +12303,7 @@ msgid "Copper Thieving Tool exit." msgstr "" #: appPlugins/ToolCopperThieving.py:1294 appPlugins/ToolCopperThieving.py:1683 -#: appPlugins/ToolCorners.py:857 appPlugins/ToolCutOut.py:2224 +#: appPlugins/ToolCorners.py:895 appPlugins/ToolCutOut.py:2224 #: appPlugins/ToolDblSided.py:707 appPlugins/ToolDrilling.py:2297 #: appPlugins/ToolEtchCompensation.py:330 appPlugins/ToolExtract.py:969 #: appPlugins/ToolFiducials.py:853 appPlugins/ToolFilm.py:1242 appPlugins/ToolFollow.py:708 @@ -12398,82 +12391,83 @@ msgstr "" msgid "Corners" msgstr "" -#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:801 +#: appPlugins/ToolCorners.py:244 appPlugins/ToolCorners.py:839 msgid "Click to add next marker or right click to finish." msgstr "" -#: appPlugins/ToolCorners.py:327 appPlugins/ToolCorners.py:533 appPlugins/ToolCorners.py:628 +#: appPlugins/ToolCorners.py:331 appPlugins/ToolCorners.py:544 appPlugins/ToolCorners.py:589 +#: appPlugins/ToolCorners.py:654 appPlugins/ToolCorners.py:699 msgid "Please select at least a location" msgstr "" -#: appPlugins/ToolCorners.py:510 appPlugins/ToolCorners.py:605 +#: appPlugins/ToolCorners.py:520 appPlugins/ToolCorners.py:629 msgid "The tool diameter is zero." msgstr "" -#: appPlugins/ToolCorners.py:597 appPlugins/ToolCorners.py:700 +#: appPlugins/ToolCorners.py:621 appPlugins/ToolCorners.py:738 msgid "Excellon object with corner drills created." msgstr "" -#: appPlugins/ToolCorners.py:744 +#: appPlugins/ToolCorners.py:782 msgid "A Gerber object with corner markers was created." msgstr "" -#: appPlugins/ToolCorners.py:800 +#: appPlugins/ToolCorners.py:838 msgid "Added marker" msgstr "" -#: appPlugins/ToolCorners.py:858 +#: appPlugins/ToolCorners.py:896 msgid "The Gerber object to which will be added corner markers." msgstr "" -#: appPlugins/ToolCorners.py:944 +#: appPlugins/ToolCorners.py:982 msgid "Locations" msgstr "" -#: appPlugins/ToolCorners.py:945 +#: appPlugins/ToolCorners.py:983 msgid "Locations where to place corner markers." msgstr "" -#: appPlugins/ToolCorners.py:960 appPlugins/ToolFiducials.py:910 app_Main.py:5694 +#: appPlugins/ToolCorners.py:998 appPlugins/ToolFiducials.py:910 app_Main.py:5694 msgid "Top Right" msgstr "" -#: appPlugins/ToolCorners.py:977 +#: appPlugins/ToolCorners.py:1015 msgid "Toggle ALL" msgstr "" -#: appPlugins/ToolCorners.py:997 +#: appPlugins/ToolCorners.py:1035 msgid "" "When the manual type is chosen, the markers\n" "are manually placed on canvas." msgstr "" -#: appPlugins/ToolCorners.py:1012 +#: appPlugins/ToolCorners.py:1050 msgid "Add Marker" msgstr "" -#: appPlugins/ToolCorners.py:1015 +#: appPlugins/ToolCorners.py:1053 msgid "Will add corner markers to the selected Gerber file." msgstr "" -#: appPlugins/ToolCorners.py:1029 +#: appPlugins/ToolCorners.py:1067 msgid "Drills in Locations" msgstr "" -#: appPlugins/ToolCorners.py:1055 appPlugins/ToolCorners.py:1076 +#: appPlugins/ToolCorners.py:1093 appPlugins/ToolCorners.py:1114 #: appPlugins/ToolDblSided.py:1109 msgid "Create Excellon Object" msgstr "" -#: appPlugins/ToolCorners.py:1058 +#: appPlugins/ToolCorners.py:1096 msgid "Will add drill holes in the center of the markers." msgstr "" -#: appPlugins/ToolCorners.py:1072 +#: appPlugins/ToolCorners.py:1110 msgid "Check in Locations" msgstr "" -#: appPlugins/ToolCorners.py:1079 +#: appPlugins/ToolCorners.py:1117 msgid "" "Will create an Excellon object using a special preprocessor.\n" "The spindle will not start and the mounted probe will move to\n" @@ -13530,7 +13524,7 @@ msgstr "" msgid "Film file exported to" msgstr "" -#: appPlugins/ToolFilm.py:1261 +#: appPlugins/ToolFilm.py:1260 msgid "" "Specify the type of object for which to create the film.\n" "The object can be of type: Gerber or Geometry.\n" @@ -13538,7 +13532,7 @@ msgid "" "in the Film Object combobox." msgstr "" -#: appPlugins/ToolFilm.py:1284 +#: appPlugins/ToolFilm.py:1283 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 " @@ -13546,49 +13540,49 @@ msgid "" "in the Box Object combobox." msgstr "" -#: appPlugins/ToolFilm.py:1560 +#: appPlugins/ToolFilm.py:1557 msgid "Punch drill holes" msgstr "" -#: appPlugins/ToolFilm.py:1561 +#: appPlugins/ToolFilm.py:1558 msgid "" "When checked the generated film will have holes in pads when\n" "the generated film is positive. This is done to help drilling,\n" "when done manually." msgstr "" -#: appPlugins/ToolFilm.py:1577 +#: appPlugins/ToolFilm.py:1574 msgid "Source" msgstr "" -#: appPlugins/ToolFilm.py:1579 +#: appPlugins/ToolFilm.py:1576 msgid "" "The punch hole source can be:\n" "- Excellon -> an Excellon holes center will serve as reference.\n" "- Pad Center -> will try to use the pads center as reference." msgstr "" -#: appPlugins/ToolFilm.py:1584 +#: appPlugins/ToolFilm.py:1581 msgid "Pad center" msgstr "" -#: appPlugins/ToolFilm.py:1591 +#: appPlugins/ToolFilm.py:1588 msgid "Remove the geometry of Excellon from the Film to create the holes in pads." msgstr "" -#: appPlugins/ToolFilm.py:1602 +#: appPlugins/ToolFilm.py:1599 msgid "Punch Size" msgstr "" -#: appPlugins/ToolFilm.py:1603 +#: appPlugins/ToolFilm.py:1600 msgid "The value here will control how big is the punch hole in the pads." msgstr "" -#: appPlugins/ToolFilm.py:1744 +#: appPlugins/ToolFilm.py:1739 msgid "Save Film" msgstr "" -#: appPlugins/ToolFilm.py:1747 +#: appPlugins/ToolFilm.py:1742 msgid "" "Create a Film for the selected object, within\n" "the specified box. Does not create a new \n" @@ -13596,7 +13590,7 @@ msgid "" "selected format." msgstr "" -#: appPlugins/ToolFilm.py:1827 +#: appPlugins/ToolFilm.py:1822 msgid "" "Using the Pad center does not work on Geometry objects. Only a Gerber object has pads." msgstr "" @@ -13898,7 +13892,7 @@ msgstr "" #: appPlugins/ToolIsolation.py:3318 appPlugins/ToolMilling.py:3866 #: appPlugins/ToolNCC.py:4273 appPlugins/ToolPaint.py:3125 -#: appPlugins/ToolSolderPaste.py:1310 +#: appPlugins/ToolSolderPaste.py:1303 msgid "" "Delete a selection of tools in the Tool Table\n" "by first selecting a row in the Tool Table." @@ -14594,6 +14588,10 @@ msgstr "" msgid "Optimal Tool. Finished successfully." msgstr "" +#: appPlugins/ToolOptimal.py:511 +msgid "GERBER" +msgstr "" + #: appPlugins/ToolOptimal.py:537 msgid "Number of decimals kept for found distances." msgstr "" @@ -14918,7 +14916,7 @@ msgstr "" msgid "Panelize Object" msgstr "" -#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1657 +#: appPlugins/ToolPanelize.py:1381 appPlugins/ToolRulesCheck.py:1775 msgid "" "Panelize the specified object around the specified box.\n" "In other words it creates multiple copies of the source object,\n" @@ -15204,192 +15202,185 @@ msgstr "" msgid "Metric" msgstr "" -#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1177 +#: appPlugins/ToolRulesCheck.py:119 appPlugins/ToolRulesCheck.py:1176 msgid "Check Rules" msgstr "" -#: appPlugins/ToolRulesCheck.py:692 appPlugins/ToolRulesCheck.py:752 -#: appPlugins/ToolRulesCheck.py:789 appPlugins/ToolRulesCheck.py:861 -#: appPlugins/ToolRulesCheck.py:915 appPlugins/ToolRulesCheck.py:953 -#: appPlugins/ToolRulesCheck.py:1018 +#: appPlugins/ToolRulesCheck.py:691 appPlugins/ToolRulesCheck.py:751 +#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:860 +#: appPlugins/ToolRulesCheck.py:914 appPlugins/ToolRulesCheck.py:952 +#: appPlugins/ToolRulesCheck.py:1017 msgid "Value is not valid." msgstr "" -#: appPlugins/ToolRulesCheck.py:706 +#: appPlugins/ToolRulesCheck.py:705 msgid "TOP -> Copper to Copper clearance" msgstr "" -#: appPlugins/ToolRulesCheck.py:717 +#: appPlugins/ToolRulesCheck.py:716 msgid "BOTTOM -> Copper to Copper clearance" msgstr "" -#: appPlugins/ToolRulesCheck.py:722 appPlugins/ToolRulesCheck.py:816 -#: appPlugins/ToolRulesCheck.py:980 +#: appPlugins/ToolRulesCheck.py:721 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:979 msgid "At least one Gerber object has to be selected for this rule but none is selected." msgstr "" -#: appPlugins/ToolRulesCheck.py:758 +#: appPlugins/ToolRulesCheck.py:757 msgid "One of the copper Gerber objects or the Outline Gerber object is not valid." msgstr "" -#: appPlugins/ToolRulesCheck.py:771 appPlugins/ToolRulesCheck.py:935 +#: appPlugins/ToolRulesCheck.py:770 appPlugins/ToolRulesCheck.py:934 msgid "Outline Gerber object presence is mandatory for this rule but it is not selected." msgstr "" -#: appPlugins/ToolRulesCheck.py:788 appPlugins/ToolRulesCheck.py:815 +#: appPlugins/ToolRulesCheck.py:787 appPlugins/ToolRulesCheck.py:814 msgid "Silk to Silk clearance" msgstr "" -#: appPlugins/ToolRulesCheck.py:801 +#: appPlugins/ToolRulesCheck.py:800 msgid "TOP -> Silk to Silk clearance" msgstr "" -#: appPlugins/ToolRulesCheck.py:811 +#: appPlugins/ToolRulesCheck.py:810 msgid "BOTTOM -> Silk to Silk clearance" msgstr "" -#: appPlugins/ToolRulesCheck.py:867 +#: appPlugins/ToolRulesCheck.py:866 msgid "One or more of the Gerber objects is not valid." msgstr "" -#: appPlugins/ToolRulesCheck.py:875 +#: appPlugins/ToolRulesCheck.py:874 msgid "TOP -> Silk to Solder Mask Clearance" msgstr "" -#: appPlugins/ToolRulesCheck.py:881 +#: appPlugins/ToolRulesCheck.py:880 msgid "BOTTOM -> Silk to Solder Mask Clearance" msgstr "" -#: appPlugins/ToolRulesCheck.py:885 +#: appPlugins/ToolRulesCheck.py:884 msgid "Both Silk and Solder Mask Gerber objects has to be either both Top or both Bottom." msgstr "" -#: appPlugins/ToolRulesCheck.py:921 +#: appPlugins/ToolRulesCheck.py:920 msgid "One of the Silk Gerber objects or the Outline Gerber object is not valid." msgstr "" -#: appPlugins/ToolRulesCheck.py:965 +#: appPlugins/ToolRulesCheck.py:964 msgid "TOP -> Minimum Solder Mask Sliver" msgstr "" -#: appPlugins/ToolRulesCheck.py:975 +#: appPlugins/ToolRulesCheck.py:974 msgid "BOTTOM -> Minimum Solder Mask Sliver" msgstr "" -#: appPlugins/ToolRulesCheck.py:1024 +#: appPlugins/ToolRulesCheck.py:1023 msgid "One of the Copper Gerber objects or the Excellon objects is not valid." msgstr "" -#: appPlugins/ToolRulesCheck.py:1040 +#: appPlugins/ToolRulesCheck.py:1039 msgid "Excellon object presence is mandatory for this rule but none is selected." msgstr "" -#: appPlugins/ToolRulesCheck.py:1118 appPlugins/ToolRulesCheck.py:1131 -#: appPlugins/ToolRulesCheck.py:1142 appPlugins/ToolRulesCheck.py:1155 +#: appPlugins/ToolRulesCheck.py:1117 appPlugins/ToolRulesCheck.py:1130 +#: appPlugins/ToolRulesCheck.py:1141 appPlugins/ToolRulesCheck.py:1154 msgid "STATUS" msgstr "" -#: appPlugins/ToolRulesCheck.py:1121 appPlugins/ToolRulesCheck.py:1145 +#: appPlugins/ToolRulesCheck.py:1120 appPlugins/ToolRulesCheck.py:1144 msgid "FAILED" msgstr "" -#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 +#: appPlugins/ToolRulesCheck.py:1133 appPlugins/ToolRulesCheck.py:1157 msgid "PASSED" msgstr "" -#: appPlugins/ToolRulesCheck.py:1135 appPlugins/ToolRulesCheck.py:1159 +#: appPlugins/ToolRulesCheck.py:1134 appPlugins/ToolRulesCheck.py:1158 msgid "Violations: There are no violations for the current rule." msgstr "" -#: appPlugins/ToolRulesCheck.py:1201 -msgid "Gerber objects for which to check rules." +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1269 +#: appPlugins/ToolRulesCheck.py:1335 appPlugins/ToolRulesCheck.py:1477 +msgid "Copper" msgstr "" -#: appPlugins/ToolRulesCheck.py:1216 +#: appPlugins/ToolRulesCheck.py:1223 appPlugins/ToolRulesCheck.py:1230 +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1244 +#: appPlugins/ToolRulesCheck.py:1477 appPlugins/ToolRulesCheck.py:1587 +#: appPlugins/ToolRulesCheck.py:1674 appPlugins/ToolRulesCheck.py:1712 +msgid "Rules" +msgstr "" + +#: appPlugins/ToolRulesCheck.py:1230 appPlugins/ToolRulesCheck.py:1305 +#: appPlugins/ToolRulesCheck.py:1371 appPlugins/ToolRulesCheck.py:1587 +msgid "Silk" +msgstr "" + +#: appPlugins/ToolRulesCheck.py:1237 appPlugins/ToolRulesCheck.py:1674 +msgid "Soldermask" +msgstr "" + +#: appPlugins/ToolRulesCheck.py:1244 appPlugins/ToolRulesCheck.py:1712 +msgid "Holes" +msgstr "" + +#: appPlugins/ToolRulesCheck.py:1253 msgid "Top" msgstr "" -#: appPlugins/ToolRulesCheck.py:1218 +#: appPlugins/ToolRulesCheck.py:1271 msgid "The Top Gerber Copper object for which rules are checked." msgstr "" -#: appPlugins/ToolRulesCheck.py:1234 -msgid "Bottom" +#: appPlugins/ToolRulesCheck.py:1287 appPlugins/ToolRulesCheck.py:1353 +msgid "SM" msgstr "" -#: appPlugins/ToolRulesCheck.py:1236 -msgid "The Bottom Gerber Copper object for which rules are checked." -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1252 -msgid "SM Top" -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1254 +#: appPlugins/ToolRulesCheck.py:1289 msgid "The Top Gerber Solder Mask object for which rules are checked." msgstr "" -#: appPlugins/ToolRulesCheck.py:1270 -msgid "SM Bottom" -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1272 -msgid "The Bottom Gerber Solder Mask object for which rules are checked." -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1288 -msgid "Silk Top" -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1290 +#: appPlugins/ToolRulesCheck.py:1307 msgid "The Top Gerber Silkscreen object for which rules are checked." msgstr "" -#: appPlugins/ToolRulesCheck.py:1306 -msgid "Silk Bottom" +#: appPlugins/ToolRulesCheck.py:1319 +msgid "Bottom" msgstr "" -#: appPlugins/ToolRulesCheck.py:1308 +#: appPlugins/ToolRulesCheck.py:1337 +msgid "The Bottom Gerber Copper object for which rules are checked." +msgstr "" + +#: appPlugins/ToolRulesCheck.py:1355 +msgid "The Bottom Gerber Solder Mask object for which rules are checked." +msgstr "" + +#: appPlugins/ToolRulesCheck.py:1373 msgid "The Bottom Gerber Silkscreen object for which rules are checked." msgstr "" -#: appPlugins/ToolRulesCheck.py:1326 +#: appPlugins/ToolRulesCheck.py:1402 msgid "The Gerber Outline (Cutout) object for which rules are checked." msgstr "" -#: appPlugins/ToolRulesCheck.py:1339 +#: appPlugins/ToolRulesCheck.py:1416 msgid "Excellon objects for which to check rules." msgstr "" -#: appPlugins/ToolRulesCheck.py:1351 -msgid "Excellon 1" -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1353 +#: appPlugins/ToolRulesCheck.py:1435 msgid "" "Excellon object for which to check rules.\n" "Holds the plated holes or a general Excellon file content." msgstr "" -#: appPlugins/ToolRulesCheck.py:1370 -msgid "Excellon 2" -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1372 +#: appPlugins/ToolRulesCheck.py:1454 msgid "" "Excellon object for which to check rules.\n" "Holds the non-plated holes." msgstr "" -#: appPlugins/ToolRulesCheck.py:1385 -msgid "All Rules" -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1387 -msgid "This check/uncheck all the rules below." -msgstr "" - -#: appPlugins/ToolRulesCheck.py:1654 +#: appPlugins/ToolRulesCheck.py:1772 msgid "Run Rules Check" msgstr "" @@ -15478,13 +15469,13 @@ msgstr "" msgid "Gerber Solderpaste object." msgstr "" -#: appPlugins/ToolSolderPaste.py:1260 +#: appPlugins/ToolSolderPaste.py:1253 msgid "" "Tools pool from which the algorithm\n" "will pick the ones used for dispensing solder paste." msgstr "" -#: appPlugins/ToolSolderPaste.py:1281 +#: appPlugins/ToolSolderPaste.py:1274 msgid "" "This is the Tool Number.\n" "The solder dispensing will start with the tool with the biggest \n" @@ -15493,60 +15484,60 @@ msgid "" " with solder paste, the app will issue a warning message box." msgstr "" -#: appPlugins/ToolSolderPaste.py:1288 +#: appPlugins/ToolSolderPaste.py:1281 msgid "" "Tool Diameter. Its value\n" "is the width of the solder paste dispensed." msgstr "" -#: appPlugins/ToolSolderPaste.py:1303 +#: appPlugins/ToolSolderPaste.py:1296 msgid "" "Add a new nozzle tool to the Tool Table\n" "with the diameter specified above." msgstr "" -#: appPlugins/ToolSolderPaste.py:1356 +#: appPlugins/ToolSolderPaste.py:1349 msgid "Dispense" msgstr "" -#: appPlugins/ToolSolderPaste.py:1371 +#: appPlugins/ToolSolderPaste.py:1364 msgid "Z Start" msgstr "" -#: appPlugins/ToolSolderPaste.py:1384 +#: appPlugins/ToolSolderPaste.py:1377 msgid "Z Action" msgstr "" -#: appPlugins/ToolSolderPaste.py:1397 +#: appPlugins/ToolSolderPaste.py:1390 msgid "Z Stop" msgstr "" -#: appPlugins/ToolSolderPaste.py:1603 +#: appPlugins/ToolSolderPaste.py:1596 msgid "Generate solder paste dispensing geometry." msgstr "" -#: appPlugins/ToolSolderPaste.py:1621 +#: appPlugins/ToolSolderPaste.py:1614 msgid "" "Geometry Solder Paste object.\n" "The name of the object has to end in:\n" "'_solderpaste' as a protection." msgstr "" -#: appPlugins/ToolSolderPaste.py:1630 +#: appPlugins/ToolSolderPaste.py:1623 msgid "CNCJob" msgstr "" -#: appPlugins/ToolSolderPaste.py:1640 +#: appPlugins/ToolSolderPaste.py:1633 msgid "Generate CNCJob" msgstr "" -#: appPlugins/ToolSolderPaste.py:1643 +#: appPlugins/ToolSolderPaste.py:1636 msgid "" "Generate GCode for Solder Paste dispensing\n" "on PCB pads." msgstr "" -#: appPlugins/ToolSolderPaste.py:1662 +#: appPlugins/ToolSolderPaste.py:1655 msgid "" "CNCJob Solder paste object.\n" "In order to enable the GCode save section,\n" @@ -15554,11 +15545,11 @@ msgid "" "'_solderpaste' as a protection." msgstr "" -#: appPlugins/ToolSolderPaste.py:1671 +#: appPlugins/ToolSolderPaste.py:1664 msgid "Save GCode" msgstr "" -#: appPlugins/ToolSolderPaste.py:1674 +#: appPlugins/ToolSolderPaste.py:1667 msgid "" "Save the generated GCode for Solder Paste dispensing\n" "on PCB pads, to a file." @@ -15640,6 +15631,10 @@ msgid "" "over the soldermask." msgstr "" +#: appPlugins/ToolSub.py:908 +msgid "GEOMETRY" +msgstr "" + #: appPlugins/ToolSub.py:914 msgid "" "Geometry object from which to subtract\n"